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

The controller doesn't work in SIMA software #284

Open
ChaojunYan opened this issue Nov 21, 2023 · 19 comments
Open

The controller doesn't work in SIMA software #284

ChaojunYan opened this issue Nov 21, 2023 · 19 comments
Assignees

Comments

@ChaojunYan
Copy link

no matter the ROSCO controller version, it doesn't work in SIMA software, e.g., in rate wind speed, the blade pitch is around 3.4°. I tried to modify the DISCON file, change the ROSCO version, and import the DISCON and .dll files from GitHub or FAST, but they are all failed, the blade pitch, and rotor speed all not the same as the documentation (IEA-15-240-RWT_tabular.xlsx).
PS: If I fix the blade pitch to the right value corresponding to the wind speed, the rotor speed and thrust are all right, so I believe the blade foils are all right.

@dzalkind
Copy link
Collaborator

Hi,

Can you explain a bit more what your setup is like and what behavior you are expecting to see? We are not familiar with the SIMA software and how ROSCO interacts with it. I would also recommend contacting SIMA for support. I would be happy to also be included so we can better support ROSCO with SIMA. My email is dzalkind (at) nrel (dot) gov.

To debug your issue further, you can use a LoggingLevel of 3 in the DISCON input. Please use the latest version of ROSCO (v2.8.0). ROSCO will output a .dbg3 file that outputs the avrSWAP. The avrSWAP is part of the standard Bladed interface for controllers. In avrSWAP(48) the blade pitch command is sent to the modeling software. Sensor signals from the modeling software are read here. Verifying the avrSWAP entry for GenSpeed may also help.

I hope this helps.

Best, Dan

@ChaojunYan
Copy link
Author

Dear Dan,
Thanks for your time!
The attachments are my detailed question description and controller input files.
sima controller question.zip

@dzalkind
Copy link
Collaborator

For the floating turbine you are using, blade pitch is not 0 unless you disable peak shaving with PS_Mode of 0. However, it is not recommended to disable peak shaving for this model. A more detailed description of this controller can be found here.

Generally, it looks like the pitch angle command is being sent to SIMA without issue. Reviewing the avrSWAP entries would confirm this.

@dzalkind
Copy link
Collaborator

Also, I heard from a SIMA developer that the wind speed estimator doesn't always work with SIMA. Try disabling the WSE with WE_Mode of 0.

@dzalkind
Copy link
Collaborator

Alternatively, the develop branch of ROSCO should address this issue, but you will need to compile from source and update your DISCON inputs.

@ChaojunYan
Copy link
Author

Hy, I'm sorry bother you again, I tired to disabling the WSE with WE_Mode of 0, it still not works. I was wondering which controller version was employed in the NREL report (IEA Wind TCP Task 37 Definition of the IEA Wind 15-Megawatt Offshore Reference Wind Turbine Technical Report) to get this blade pitch controll results?
image002
In the ROSCO v2.6 controller, the MINIMUM PITCH SATURATION in IN file is given as the curve below. As I understand, this curve is responsible for the minimum pitch angle in the analysis. Then when the wind speed is 10m/s, the pitch angle cannot go down to 0 deg.
Image_2023-12-06_15-28-02
And I tried with ROSCO v2.8 still can not get the same blade pitch results as the report.
So, could you pls tell me which controller version could get that results, thanks a lot!

@dzalkind
Copy link
Collaborator

dzalkind commented Dec 6, 2023

I'm not sure exactly which version of the controller was used in the report. We recommend using the latest version of ROSCO and test updates regularly on the IEA-15MW with the VolturnUS platform.

Please share the results you are seeing so we can help you debug the issue. At 10 m/s, the minimum pitch should be saturated at 1-2 degrees. You can disable that with PS_Mode of 0 in the DISCON.

@ChaojunYan
Copy link
Author

Thanks for your reply! The below is my short test results, from 5 m/s to 12 m/s stationary wind, and rate wind 10.59m/s turbulent wind.
For ROSCO V2.8, WE_mode=0, the results are as below:
image
1701935505485
For ROSCO V2.8, WE_mode=0 and PS_mode=0, the results are as below:
image
image
For turbulent wind of 10.59m/s, the results are as below:
image

@dzalkind
Copy link
Collaborator

dzalkind commented Dec 7, 2023

What issue in these results are you trying to resolve? The results in your last plot look as expected. Perhaps the SIMA inputs have more turbulence? The rotor average wind speed might highlight this difference.

@ChaojunYan
Copy link
Author

Thanks for your reply!

  1. My stationary rate wind of 10.59 m/s results are as below, the results still have little difference but acceptable, how can i improve this?
    image
  2. I used the same turbulence wind input file in sima and fast, the blade pitch controll not well, the wind speed quite the same actually.
    image
    image

@dzalkind
Copy link
Collaborator

Are you using the same turbsim grid in both simulators? Does SIMA use a full-field turbulence like OpenFAST or does it take the turbulence and apply it uniformly across the rotor disk?

You can use the dbg2 files generated by ROSCO to debug this further. They are generated when LoggingLevel = 2 in the DISCON. You will see WE_Vw (the wind speed estimate) and PC_MinPit (the minimum pitch saturation limit) there. PC_MinPit is a function of WE_Vw that you can fine-tune in the peak shaving section of the DISCON. I suspect there are slight offsets in WE_Vw that you will need to account for to match the response. The inputs to the WSE are in the dbg files. They are WE_*. Ideally, given the same inputs, the WSE should produce the same output (WE_Vw) regardless of the simulator. However, if you disable the WSE with WE_Mode of 0, the WSE is just a filtered hub height wind speed.

@ChaojunYan
Copy link
Author

Thanks for your reply, I used the same turbsim grid in both simulators. I didn't find the notes for the turbulence field in Sima, but I think SIMA also use full-field turbulence like OpenFAST.
Following your suggestion, I ran two conditions.
For WE_Mode=2, the results of dbg2 files are as below, wind speed estimator not work in Sima indeed.
image
image
For WE_Mode=0, the results of dbg2 files are as below, there are slight offsets in WE_Vw indeed, what is the reason for this? Can you help me answer it. And why does PC_MinPit seem to not change over time in Sima, regardless of WE_ Is MODE 0 or 2.
image
image

@dzalkind
Copy link
Collaborator

Can you confirm that the DISCON inputs are identical? There should be a mapping from B to C in your plots. There may be another setting interfering with the peak shaving.

@ChaojunYan
Copy link
Author

Yes, I used the same DISCON inputs

@dzalkind
Copy link
Collaborator

This doesn't really make sense to me. PC_MinPit is determined here and here.

Could you share the exact DISCON.IN files used in each set up and the .dbg2 files generated by each set up?

@ChaojunYan
Copy link
Author

Thanks for your reply, the attachment is my detail discon.in and .dbg2 files, and the .docx is my test between sima and fast using two rosco controll version, seems wind speed greater than rate speed, controll works differents.
DISCON.IN & dbg2.zip

@dzalkind
Copy link
Collaborator

The dbg2 files are not included in this zip file. Can you please include them for both OpenFAST and SIMA?

@dzalkind
Copy link
Collaborator

In the meantime, please also try this file:
DISCON-UMaineSemi.IN.txt

In your attachment, it looks like the issue with the minimum pitch is resolved.

@ChaojunYan
Copy link
Author

fast.zip
sima.zip
Thanks, the minimum pitch much imporved, but the still not very well when wind speed greater than rate speed

@dzalkind dzalkind self-assigned this May 10, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants