Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Blade Pitch Angle Stuck Fault Simulation Issue #2524

Open
dorsamgh opened this issue Nov 18, 2024 · 1 comment
Open

Blade Pitch Angle Stuck Fault Simulation Issue #2524

dorsamgh opened this issue Nov 18, 2024 · 1 comment

Comments

@dorsamgh
Copy link

Hello,
I hope you’re doing well. I am currently working on implementing a fault in the pitch angle control system. The fault scenario involves Blade 1’s pitch angle being fixed at its exact value at 400 seconds and remaining stuck in that position. To achieve this, I attempted to modify the relevant source code in ServoDyn, specifically the UserSubs.f90 file and the PitchCntrl subroutine, as shown in the attached image. Additionally, I’ve also included the pitch control settings from the ServoDyn module for reference.

However, when I run the simulation on the 15 MW semi-submersible turbine model, I am not getting the expected results.
I intended for the Blade 1 pitch angle to behave exactly like the normal operation curve during the first 400 seconds, but it does not. I kindly ask for your guidance in resolving this issue.

Thank you very much for your help!
image
image
image

@jjonkman
Copy link
Collaborator

Dear @dorsamgh,

I see a few problems with your approach:

  • The IEA Wind 15-MW RWT OpenFAST model makes use of the ROSCO controller, which would be called by setting PCMode = 5, but you have disabled the ROSCO pitch controller by setting PCMode = 3. If you want to use ROSCO up until the fault, you'll have to modify ROSCO directly, not UserSubs.f90.
  • The simulation time (ZTime) may not reach exactly 400 s (depending on the time step, DT). I would use some tolerance based on DT in the calculation.
  • Your FixedPitch variable is a local variable that you have not marked with the SAVE attribute, so, its value won't be saved between calls to your routine.

Best regards,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants