FAST.Farm controller

Dear Jason,

Recently, I designed a two-turbines wind farm with FAST.Farm to study the wake effect. In the wind farm, I used 5MW_OC4Semi_WSt_WavesWN.fst wind turbine model, and I designed the pitch controller and torque controller in the Simulink for each turbine. But when I ran the FAST.Farm through CMD, it threw out an error, I can’t use the controllers which are designed by the Simulink. It means I can’t tune the PCMODE and VSContrl to 4. If I want to use the controllers designed by Simulink in the FAST.Farm, what should I do? If I cannot, how can I design the pitch and torque controller for each turbine?

Best regards.

Dear Zhiheng.Liu

That is correct; FAST.Farm does not currently support an interface to Simulink. You’ll have to implement control in one of the other control options available (built-in, user-defined from a SUBROUTINE, user-defined from a DISCON dynamic library).

Best regards,

Dear Jason,

I want to use the DISCON dynamic library to design my controller, I found the DISCON_OC3Hywind.dll in the ServoData folder(I think it is the controller for the turbine). If I want to modify the DISCON_OC3Hywind.dll, what software do I need?

I tuned PCMODE and VSContrl to 5 and used DISCON_OC3Hywind.dll as the dynamic library. And I found there is a BLADED INTERFACE TORQUE-SPEED LOOK-UP TABLE below, so I wrote down the relationship of speed and torque like (about 1200 lines)

. But the CMD threw out an error:, could you tell me where the error is?

Best regards.

Dear Zhiheng.Liu,

To modify the DISCON_OC3Hywind controller, you’ll need to modify the DISCON_OC3Hywind.f90 source file and you’ll need a Fortran compiler to build the corresponding dynamic library (.dll).

You must set DLL_NumTrq equal to the number of rows in your torque-speed table for ServoDyn to be able to read the input file properly. However, the DISCON_OC3Hywind controller does not make use of this torque-speed look up table. The torque-speed look-up table in ServoDyn simply mimics similar functionality in Bladed and is useful only if the DISCON controller you are using makes use of this torque-speed look-up table data.

As an alternative to modifying the DISCON_OC3Hywind controller, you may want to consider developing your DISCON controller through ROSCO: github.com/NREL/ROSCO.

Best regards,

Dear Jason,

I followed the steps of compiling the ROSCO and wanted to produce the DISCON.IN file by running tune_ROSCO.py. But I met an error in pycharm:

I already downloaded the WISDEM in github, but I could not find a program called wisdem.ccblade._bem in the wisdem folder. So, how can I solve this error?

Best regard.

Hi Zhiheng.Liu,
It looks like WISDEM may not have been properly installed. I recommend following the full ROSCO installation steps here:
rosco-toolbox.readthedocs.io/en … co-toolbox

Best,
Nikhar

Dear Jason,

  1. I followed the instructions to install the ROSCO and it can run in the FAST.Farm now. But I found its performance very poor. When I used ROSCO as the variable speed controller (the wind speed is 10m/s and the turbulence intensity is 0), the power of the wind turbine is not stable, it fluctuated. When I tuned the zeta_vs=1.0 and omega_vs=0.1, the power figure is 1.0.JPG. When I tuned the zeta_vs=0.1 and omega_vs=0.1, the power figure is

    . I want to get the stable power value in steady wind condition. So how can I tune the ROSCO to make the power stable?

  2. I found the BLADED INTERFACE TORQUE-SPEED LOOK-UP TABLE in the ServoDyn.dat. So if I want to use this table, what should I do?

Best regards,
Zhiheng

Hi Zhiheng,
To be clear - are you simulating a steady wind field in below-rated conditions? It is difficult to understand what exactly this power plot should look at right now. What does the rotor-disk averaged wind speed look like (RtVAvgxh)? It appears that the controller might be responding to an external disturbance and this wind speed may not be constant.

Otherwise, have two suggestions: first, the damping is set to be fairly high for the torque controller on the NREL 5MW, I suggest setting zeta_vs=0.7 and omega_vs=0.15. Additionally, you can simply set VS_ControlMode=0 or 1 to use the k\omega^2 law in below rated operation, and constant torque or constant power (respectively) in above-rated operation. This will remove the need to tune the generator torque controller.

Best,
Nikhar

Dear Nikhar,

Thanks for answering my question. I checked the RtVAvgxh in the .out file, the value is shown below.
rotor wind speed.JPG
And I found it is not a constant. I used the steady wind conditions in my FAST.Farm simulation, the parameters are shown below.


I think it is the reason why the power curve fluctuated. If I want to make the value of the RtVAvgxh constant, what should I do?

best regards,
Zhiheng

Dear Zhiheng.Liu,

I would guess RtVAvgxh is not constant because you have structural degrees of freedom enabled (e.g., blade, and tower flexibility) and you are seeing vibrations during the start up transient, which I would think would diminish a bit over time. From your plot (based on the sudden drops in RtVAvgxh), I would also guess that you have the tower potential flow model enabled causing oscillations every time a blade passes near the tower. Can you confirm?

Best regards,

1 Like

Dear Jason,

Here is the figure of AeroDyn15.dat:


The TwrPotent set to 1.

best regards,
Zhiheng