Forum

Important Notice for New User Registrations

To combat an increasing number of spam and bot registrations, we now manually approve all new user registrations. While this may cause a delay until your account is approved, this step is essential to ensure the quality and security of this forum.

To help us verify your registration as legitimate, please use a clear name as user name or an official email address (such as a work, university, or similar address). If you’re concerned that we may not recognize your registration as non-spam, feel free to email us at with a request to approve your username.

Please or Register to create posts and topics.

The structural model diverged when a bladed-type controller was added

Page 1 of 3Next

Hello,
I’m writing to you today because I’m facing a problem that I can’t explain. I’m working on a wind turbine and I’m trying to add the controller to the model. This controller is in bladed format and includes a text file defining the parameters and a .dll. When I created the structural model the simulation ran perfectly well before adding the controller, when I added the controller the simulation crashed with the message ‘The structural model diverged’ at the end of the ramp-up. I’ve tried running the calculation with/without waves and with non-turbulent/turbulent wind, but it makes no difference.
Do you have any idea what the problem might be?
Thanks in advance!

Hello,

after the ramp-up time is finished the turbine controller kicks in. So the issue you are seeing is most probably coming from the controller library. Its hard to say whats causing this without any further information. You can try to change the ramp-up rpm, or try to reduce the timestep size.

If possible you can also upload your project file here and I could have a look at the issue.

BR,

David

hsaf38 has reacted to this post.
hsaf38

Hello David,

Thank you very much for your reply. Unfortunately, I can’t give any more details about the work in progress. I’m going to try the proposed solutions. Is there an example of a turbine file including a bladed controller and input parameters? Does swaparray via the DISCON function work or is there a specific format?

Thank you in advance for your reply,

Best regards

Hi,

you can try out the IEA 15MW VolturnUS-S model from the Downloads page.

This turbine runs with NREL’s ROSCO controller which is based on the BLADED interface.

The BLADED interface uses the swap array via the DISCON call.

BR,

David

Hello,

Thank you for your reply. I have fixed the problem, which concerned the conventions adopted for the input file,

Best regards

Hello,

I encountered the same issue. Could you please provide some suggestions? Thank you very much.

Best regards

Hello,

to identify the issue a bit more information would be helpful:

  • Which version of QBlade are you using?
  • Are you using the ROSCO controller? If so, which parameter file are you using?
  • Can you share you project file to help us reproduce the issue?

BR,

David

Hello David,

I thought I solved the problem but it is not the case. I tried several things, changing the ramping-up, the parameters of the controller, encoding in ASCII instead of UTF-8 for the .in file nothing worked. It seems like the call to the DISCON function makes the structural model diverge for some reasons. Is there any mandatory structural parameters for a simulation with a controller that are not needed for non-servo simulation ?

I can answer the questions concerning my case if that helps.

  • I am using the v2.0.7, I can try another version
  • I am not using the ROSCO controller but an homemade one.
  • I can’t give you the project file

Thank you in advance for your answer,

Best regards,

Hugo

Hello again,

I just tried with the Linux version of the software and this time I get an error message when I am trying to create a simulation with the controller saying that the .dll file is not in the ControllerFiles directory whereas it is. I upload a screen of the message. I also checked that the controller is in 64-bits.

Thank you in advance,

Best regards,

Hugo

Uploaded files:
  • You need to login to have access to uploads.

Hi Hugo,

thanks for clarifying that you are using your own custom controller.

In this case I would suspect that the divergence of the structural model could be caused by the signals that are send by your controller to the turbine.

The controller is called the first time during the first timestep after the ramp-up part of the simulation has concluded. If the simulation instantly diverges this could be caused by the signals that are returned by the controller. If the simulation diverges immediately, this could be due to the nature of the signals returned by the controller. For instance, applying the generator torque to the turbine model without a gradual increase from zero torque leads to an impulsive load applied on the model, causing the structural model to diverge. It is important to ensure that the values passed back to the turbine are ramped up smoothly to prevent impulsive loads (torque) or abrupt motions (pitch, yaw) from destabilizing the simulation.

You can check what your controller is passing to the turbine in the SIL interface. Calling the function “advanceController_at_num(double *vars, int num)” returns the controller exchange array in the vars variable. This also allows you to modify (e.g. smooth) the values before they are passed back to the turbine (by calling “setControlVars_at_num(double *vars, int num = 0)” .

Regarding the error message about the missing library: Did you recompile the controller library to an .so shared object file for Linux and still get this message? If so, and you are still encountering this issue, please provide more details so we can troubleshoot further.

BR,

David

Page 1 of 3Next

Scroll to Top