NREL / ROSCO

A Reference Open Source Controller for Wind Turbines
https://rosco.readthedocs.io/en/latest/
Apache License 2.0
116 stars 93 forks source link

Consult about ROSCO related issues #119

Closed Francis599 closed 2 years ago

Francis599 commented 2 years ago

Dear all, When I run 5MW_Land_Simulink.fst in the file " ROSCO-main\Test_Cases\5MW_Land_Simulink", it often occures fatal errors like "Invalid numerical input" or "Invalid logical input". I dout if the ROSCO_2.4 only refers to OPENFAST_2.4? Because I use OPENFAST_3.1 but I only find the latest version ROSCO_2.4 on this web.

nikhar-abbas commented 2 years ago

@Francis599, the specific OpenFAST version should not matter in this case.

Are you running the model through MATLAB/Simulink, or calling OpenFAST from the command line. If you are calling OpenFAST from the command line, please use runFAST.m from ROSCO's MATLAB toolbox to simulate the turbine instead: https://github.com/NREL/ROSCO/tree/main/Matlab_Toolbox

Otherwise, could you please provide more information about the error? It is hard to diagnose with such little information.

Francis599 commented 2 years ago

Thank you very much! The latest ROSCO controller version is 2.4.0, is this corresponding to Openfast? Because I used the script runfast.m to call ROSCO-main\Matlab_Toolbox\Simulink \ROSCO.mdl to run 5MW_Land_Simulink. Error reported by S-function 'FAST_SFunc' in 'ROSCO/FAST Nonlinear Wind Turbine/ S-function ': FAST_InitializeAll:FAST_Init:FAST_ReadPrimaryFile:Invalid numerical input for file "E:\working Space \ OpenFast_3.1_github \ rosco-main \Test_Cases\5MW_Land_Simulink\ 5MW_land_simulink. FST "occurred while trying to read MHK. ". After I correct it , there is much more errors like "FAST_InitializeALL:ED_Init:ED_ReadInput:ReadPrimaryFile: Invalid logical input for file".../NREL-5MW/NRELOddshrBsline5MWOnshore_ElastoDyn.dat" occurred while trying to read FlapDOF1"". image I'm at a loss to answer this question because I've changed so much that I doubt it's right. In fact, I know there is a problem with the format of the sample file, but it needs to be modified a lot, so I would like to ask you whether the version of ROSCO needs to correspond with OPENFAST.

Also, I received the latest reply from Jason Jonkman. "The sample OpenFAST Models supplied with The ROSCO Toolbox are not formatted for OpenFAST V3.1, at least not yet. You must use input files that are compatible with the version of OpenFAST you are running. Input files Compatible with OpenFAST V3.1 are available in the OpenFAST R-test: https://github.com/OpenFAST/r-test/releases. (Hopefully the OpenFAST models supplied with ROSCO will be updated soon.) See the API documentation in the online OpenFAST readthedocs site for more information on input file changes between The company releases of OpenFAST: https://openfast.readthedocs.io/en/main/source/user/api_change.html."

@Francis599, the specific OpenFAST version should not matter in this case.

Are you running the model through MATLAB/Simulink, or calling OpenFAST from the command line. If you are calling OpenFAST from the command line, please use runFAST.m from ROSCO's MATLAB toolbox to simulate the turbine instead: https://github.com/NREL/ROSCO/tree/main/Matlab_Toolbox

Otherwise, could you please provide more information about the error? It is hard to diagnose with such little information.

dzalkind commented 2 years ago

Hi @Francis599,

The main branch of ROSCO has OpenFAST 3.0.0 Test_Cases/ and the develop branch has v3.1.0. We will be merging develop into main and releasing sometime this week. ROSCO does not require any specific version of OpenFAST at this time, but, as Jason said, you need properly formatted input files for the different versions of OpenFAST.

This might be what you are looking for: https://github.com/NREL/ROSCO/tree/develop/Test_Cases/IEA-15-240-RWT-UMaineSemi

Dan

Chueh-Cherng-Jer commented 2 years ago

Dear all. When I run the IEA-15-240-RWT-UMaineSemi, it link to the simulink. But it comes up with the error. Do you have a solution ? image

dzalkind commented 2 years ago

Hi,

OpenFAST needs to output the channels that Simulink reads from OutList. I pushed a small fix here: https://github.com/NREL/ROSCO/pull/135

Chueh-Cherng-Jer commented 2 years ago

Thank for you answering me! This question is solved, but there is another problem! It means that the input port number and output port number is different! image

dzalkind commented 2 years ago

Hmm, the OpenFAST Sfunction is looking for more inputs than your ROSCO Simulink model is providing it. I'm not sure I can help you because it depends on your particular OpenFAST version. Are you using cable or other structural controllers? I believe I fixed this model so it works with OpenFAST 3.1.0 without any additional inputs, but you can look at the examples here and tinker with your ROSCO Simulink model near the SFunction so it matches what the OpenFAST example has.

dzalkind commented 2 years ago

It seems like this is not an issue in ROSCO, but is more of a discussion of setting up OpenFAST with Simulink. I would be happy to continue the thread on a discussion page.