HSS brake implementation within a DLL

Hi,

I currently use a Bladed-type DLL file to control the variable speed generator of a turbine (setting VSContrl = 5), which proved successful, and I wish I could use the DLL to control the behavior of the HSS brake (setting HSSBrMode = 5), and using Record 36 in the avrSwap array to trigger the brake.

However, in my case, setting avrSwap(36) to any value between 0 and 1 (included) at a particular time step does not have any effect on the simulation.

  1. What is the proper way to use this avrSwap(36) variable ? I couldn’t figure it out by myself, as no example is given in any DISCON.f90 file I could find.
    I thought this variable was used the same way HSSBrFrac is used (i.e. at each time step, avrSwap(36) = x, x being the fraction of the HSSBrTqF maximum braking torque applied to the HSS), but reading in the BladedInterface.F90 file, I found that an error was returned by subroutine Retrieve_avrSWAP if avrSwap(36) does not equal 0 or 1, which made me confused.

  2. If we use avrSwap(36) as HSSBrFrac, does it mean that we can set it back to 0 at a subsequent time step, allowing us to restart the turbine ?

Best regards,

Quentin Péron

Dear Quentin,

Here are my answers to your questions:

  1. Bladed requires that avrSWAP(36) be set to 0 or 1. We’ve implemented the same requirement in the ServoDyn interface to the Bladed-style DLL controller.

  2. Yes, that is certainly possible.

Best regards,

Hi,

As far as I get it, the avrSwap(36) only activates or deactivates the brake. But this means the defined braking torque is applied instantly. I tried to use the avrSwap(107) to define a ramp up of the braking torque. But it doesn’t worked, as the Record 107 is not read by the subroutine Retrieve_avrSWAP in BladedInterface.f90.

Is there an alternative way to ramp the braking torque, when the brake is activated by the DISCON.dll (HSSBrMode=5)?

Best Regards,
Marvin Goetzke

Dear Marvin,

I’m not sure which version of FAST you are using, but the use of record 107 in routine BladedDLLInterface.f90/Retrieve_avrSWAP() was added in OpenFAST v2.

Best regards,

Hi Jason,

Thanks for the quick response. I actually used OpenFAST v1 until now. I will check it with the latest version. Is avrSWAP[107] now always used, when the Brake is activated by the DLL? Or do I need to change avrSWAP[36] as well?

Best Regards,
Marvin Goetzke

Dear Marvin,

You’ll need to set both avrSWAP(36) and avrSWAP(107) appropriately.

Best regards,