OpenFAST / openfast

Main repository for the NREL-supported OpenFAST whole-turbine and FAST.Farm wind farm simulation codes.
http://openfast.readthedocs.io
Apache License 2.0
648 stars 448 forks source link

Running OLAF #737

Closed KatrijnChys closed 2 years ago

KatrijnChys commented 3 years ago

Hello

When I try to run OLAF I get following error:

FAST_Solution:FAST_AdvanceStates:B1:BD_GA2:BD_BoundaryGA2:ExtractRelativeRotation:BD_CrvExtractCrv :BD_CheckRotMat:Passed invalid rotation matrix FAST_AdvanceStates:B2:BD_GA2:BD_BoundaryGA2:ExtractRelativeRotation:BD_CrvExtractCrv:BD_CheckRotMa t:Passed invalid rotation matrix FAST_AdvanceStates:B3:BD_GA2:BD_BoundaryGA2:ExtractRelativeRotation:BD_CrvExtractCrv:BD_CheckRotMa t:Passed invalid rotation matrix

Everything works fine when I run BEM. I changed WakeMod to 3, AFAeroMod to 1 and I added the OLAF input file. Do I need to add another file or change another parameter?

Kind regards Katrijn Chys

andrew-platt commented 3 years ago

The errors you are seeing are from the structural code BeamDyn that is used in your model. I'm really puzzled why BeamDyn would run fine with BEM but fail badly with OLAF. One possible thought is that the loads coming from OLAF are dramatically different at some point. @ebranlard, do you have any thoughts on differences in startup transient loads from OLAF?

A few other questions:

KatrijnChys commented 3 years ago

Version 2.5.0 5MW onshore model from reg_test

I get the error before the simulation starts. `


OpenFAST

Copyright (C) 2021 National Renewable Energy Laboratory Copyright (C) 2021 Envision Energy USA LTD

This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY. See the "LICENSE" file distributed with this software for details.


OpenFAST-v2.5.0-dirty Compile Info:

OpenFAST input file heading: FAST Certification Test #26: NREL 5.0 MW Baseline Wind Turbine (Onshore)

Running ElastoDyn. Nodal outputs section of ElastoDyn input file not found or improperly formatted. Running BeamDyn. Nodal outputs section of BeamDyn input file not found or improperly formatted. Running BeamDyn. Nodal outputs section of BeamDyn input file not found or improperly formatted. Running BeamDyn. Nodal outputs section of BeamDyn input file not found or improperly formatted. Running AeroDyn. Nodal output section of AeroDyn input file not found or improperly formatted. Running FVW.

FAST_Solution0:CalcOutputs_And_SolveForInputs:SolveOption2:SrvD_CalcOutput:DLL_controller_call:Run ning with torque and pitch control of the NREL offshore 5MW baseline wind turbine from DISCON.dll as written by J. Jonkman of NREL/NWTC for use in the IEA Annex XXIII OC3 studies.

FAST_Solution:FAST_AdvanceStates:B1:BD_GA2:BD_BoundaryGA2:ExtractRelativeRotation:BD_CrvExtractCrv :BD_CheckRotMat:Passed invalid rotation matrix FAST_AdvanceStates:B2:BD_GA2:BD_BoundaryGA2:ExtractRelativeRotation:BD_CrvExtractCrv:BD_CheckRotMa t:Passed invalid rotation matrix FAST_AdvanceStates:B3:BD_GA2:BD_BoundaryGA2:ExtractRelativeRotation:BD_CrvExtractCrv:BD_CheckRotMa t:Passed invalid rotation matrix

FAST encountered an error at simulation time 0 of 100 seconds. Simulation error level: FATAL ERROR

Aborting OpenFAST. `

jjonkman commented 3 years ago

Dear @KatrijnChys,

If you switch from modeling the blades with BeamDyn (CompElast = 2) to modeling the blades with ElastoDyn (CompElast = 1), how does the simulation perform?

Best regards,

KatrijnChys commented 3 years ago

Olaf runs when I change CompElast to 1 but everything in the output file is indicated as NaN.

image

andrew-platt commented 3 years ago

That seems like a pretty clear indication that either there is a setup error (possibly with the OLAF input files), or OLAF is not initializing something correctly. BeamDyn is particularly sensitive to getting NaN's from the ElastoDyn calculations for the hub, so it isn't surprising that BeamDyn wouldn't run.

Can you attach the OLAF input files you are using?

jjonkman commented 3 years ago

I would also add that it is difficult to know what has happened because the output does not begin until 50-s into the simulation. I would suggest setting TStart = 0 s to debug.

KatrijnChys commented 3 years ago

This is the input file Elliptic_OLAF.txt

I changed the TStart to 0s and ran again. Now I only get the values for 0s.

ebranlard commented 3 years ago

It's probably related to the regularization. I think your OLAF file is based on the elliptic wing case, which attempts to match a theoretical result and does not use regularization (values of 0). As a first try, you can set RegDeterMethod=1. It will try to setup the parameters for you, but this is still in beta. You'll still need to update the size of the near wake and far wake.

You can find some guidelines on how to setup the important parameters of OLAF here: https://ebranlard-openfast.readthedocs.io/en/f-weis_olaf/source/user/aerodyn-olaf/RunningOLAF.html#guidelines (this will soon be part of the dev documentation of OpenFAST).

I hope this will solve your issues. Keep us in touch!

ebranlard commented 3 years ago

I should also add, that when using OLAF with BeamDyn, you might want to change the time step of OLAF to a multiple of the glue code time step, so that it's something more manageable like 0.1 or 0.01 depending on your RPM (see the guidelines above).

OLAF will then overcycle. This is a beta feature as well, but it should work.

KatrijnChys commented 3 years ago

Using the guidelines, I calculated that I needed a time step of 0,08 sec. This gave an error. I adjusted the time step to 0,03 sec and recalculated the other values. When I run it with a time step of 0,03 sec for 80 sec it takes 14 hours, but the output values are OK.

Thank you for your help, kind regards Katrijn Chys