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
668 stars 452 forks source link

How to run FAST v7/v8 and OpenFAST #268

Closed gilcastroh closed 4 years ago

gilcastroh commented 5 years ago

Greetings,

It took me a while to figure out how to run OpenFAST (or FAST v7 and v8) and get it to process input files. Maybe it’s somewhere I could not find or I just missed, but anyway I hope to make it easier for new users to learn it, so here’s a mixture of the info I found and my own trials. If it’s actually simpler than what I say or if I express myself too casually, feel free to correct me.

FAST v7 and v8 can be downloaded from the NREL website and are ready to use as I will describe (without the need to be compiled). OpenFAST, however, needs to be installed according to one of the methods in https://openfast.readthedocs.io/en/master/source/install/install_vs_windows.html. I did it with Visual Studio 2017 on Windows, with Intel® Parallel Studio XE 2019 Cluster as the Fortran compiler. In case it doesn’t work, check https://github.com/OpenFAST/openfast/issues/219 for an issue I had. Feel free to ask for more details about certain steps if you need them.

To run FAST v7 on an input file (*.fst extension), copy that file to the main folder, where the FAST.exe file is” (or instead copy FAST.exe to where the file is). On your computer’s command prompt, navigate to that folder and type “FAST Test01.fst” (file named “Test01.fst”). There are sample files on the “CertTest” folder.

As for FAST v8, the “CertTest” folder still exists, but the executable is now on the “bin” folder. Actually, there are 4 options for the executable: “FAST_Win32”, “FAST_Win32d”, “FAST_x64” and “FAST_x64d”. You need the input file and one of these executables in the same folder, but you also need one of the “MAP” files from the same “bin” folder: “MAP_Win32.dll” if you run one of the “Win32” executables, or “MAP_x64.dll” if you choose one of the “x64” executables. Having done this, navigate the command prompt to that folder and write “FAST_Win32 Test01.fst” (the name of executable used and the name of the input file).

For OpenFAST, upon installation, the precedure is still similar, only the executables (“openfast_Win32” and “openfast_x64”) and the “MAP” files (“MAP_Win32.dll” and “MAP_x64.dll”) are located in “build\bin”. Also, the folder with sample input files is now called “r-test” and available at https://github.com/OpenFAST/r-test.

With either 3 of these, a successful simulation will end with the message “OpenFAST terminated normally” (or similar) displayed on the command prompt.

Good day.

jjonkman commented 3 years ago

Dear @Akheelakk,

You haven't said what change you want to make. I recommended either making the wind field bigger (which would be specified within TurbSim) or modifying the tower aerodynamic analysis nodes (which would be specified within AeroDyn v15). See their respective documentation for detailed information.

Best regards,

Akheelakk commented 3 years ago

Dear @jjonkman, Apologies for the lack of clarity. In fact, I want to make the wind field bigger.

Thank you very much

Akheelakk commented 3 years ago

Dear Sir, With an assumption that you meant to increase GridHeight, I changed the GridHeight from 145 to 155. This time, it showed another error. Time: 0 of 1000 seconds.

FAST_Solution0:CalcOutputs_And_SolveForInputs:SolveOption2:SrvD_CalcOutput:Running 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. Includes modifications for the Hywind spar. Time: 8 of 1000 seconds. Estimated final completion at 19:28:51. Warning: Turning off Unsteady Aerodynamics due to high angle of attack (45.039 deg). BladeNode = Time: 10 of 1000 seconds. Estimated final completion at 19:28:51. Warning: Turning off Unsteady Aerodynamics due to high angle of attack (45.072 deg). BladeNode = Time: 65 of 1000 seconds. Estimated final completion at 19:29:43.

FAST_Solution:FAST_AdvanceStates:SolveOption2c_Inp2AD_SrvD:InflowWind_CalcOutput:CalcOutput:IfW_TS FFWind_CalcOutput [position=(-5, 0, 90) in wind-file coordinates]: Error: FF wind array was exhausted at 65.65 seconds (trying to access data at 72.108 seconds).

FAST encountered an error at simulation time 65.638 of 1000 seconds. Simulation error level: FATAL ERROR

Aborting OpenFAST.

PLEASE DO MENTION WHETHER MY ASSUMPTION WAS CORRECT OR NOT WHEN YOU MAKE A RESPONSE TO THE POST

jjonkman commented 3 years ago

Dear @Akheelakk,

Yes, GridHeight is what you needed to change. Now it looks like your TurbSim simulation is not long enough; it should be at least as long (or longer) than the OpenFAST simulation you want to run--in your case, 1000 s.

Best regards,

Akheelakk commented 3 years ago

Dear Sir, It again aborted abruptly.

FAST_Solution0:CalcOutputs_And_SolveForInputs:SolveOption2:SrvD_CalcOutput:Running 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. Includes modifications for the Hywind spar. Time: 65 of 1000 seconds. Estimated final completion at 19:55:02.

FAST_Solution:FAST_AdvanceStates:SolveOption2c_Inp2AD_SrvD:InflowWind_CalcOutput:CalcOutput:IfW_TS FFWind_CalcOutput [position=(-5, 0, 90) in wind-file coordinates]: Error: FF wind array was exhausted at 65.65 seconds (trying to access data at 72.108 seconds).

FAST encountered an error at simulation time 65.638 of 1000 seconds. Simulation error level: FATAL ERROR

Aborting OpenFAST.

bjonkman commented 3 years ago

Did you actually change the length (time) of the TurbSim file? Please use the example file I pointed to earlier and adjust UsableTime and AnalysisTime accordingly. You can read about those values in the TurbSim documentation: https://drive.google.com/drive/folders/1b_RNvhJ8qDgRJHJFkAIJpUCXY1t9IxtH

Akheelakk commented 3 years ago

Thank you @bjonkman , Earlier I made the change in Analysis time. Let me try by changing Usabletime also

Akheelakk commented 3 years ago

Dear all, Can someone help me know why I received the following warning "Warning: Turning off Unsteady Aerodynamics due to high angle of attack (67.784 deg). BladeNode = 5, Blade = 1"

Thank you

andrew-platt commented 3 years ago

@Akheelakk there is some information about this and other similar questions on the forum: https://wind.nrel.gov/forum/wind/viewtopic.php?t=2496

Akheelakk commented 3 years ago

Hey, I got an issue while running OpenFAST. Can someone help me to fix it.

FAST_Solution:FAST_AdvanceStates:B1:BD_GA2:BD_DynamicSolutionGA2:Solution does not converge after the maximum number of iterations FAST_AdvanceStates:B2:BD_GA2:BD_DynamicSolutionGA2:Solution does not converge after the maximum number of iterations

Thanks

andrew-platt commented 3 years ago

Hi @Akheelakk,

What timestep are you using? BeamDyn requires a very small timestep on the order of 0.001 seconds to converge correctly.

Akheelakk commented 3 years ago

Hi @andrew-platt , I chose default. Let me try with 0.001. Thank you

Akheelakk commented 3 years ago

Hi @andrew-platt , This is what it is showing now. FAST_Solution:FAST_AdvanceStates:B2:BD_GA2:BD_DynamicSolutionGA2:Solution does not converge after the maximum number of iterations FAST_AdvanceStates:AD_UpdateStates:BEMT_UpdateStates(node 5, blade 1):BEMT_UnCoupledSolve:There is no valid value of phi for these operating conditions: Vx = 42.049, Vy = -728.27, rlocal = 11.885, theta = 0.22587, geometric phi = 3.0839. This warning will not be repeated though the condition may persist. (See GeomPhi output channel.)

andrew-platt commented 3 years ago

Did you set the timestep in the main .fst input file to 0.001, or in the BeamDyn input file? Are you running a standard regression test or have you modified your turbine design in any way?

Akheelakk commented 3 years ago

I set the time in BeamDyn alone. In .fst , it is 0.0125. I am running the regression test by changing environmental conditions (wind spectrum, wave spectrum, etc..)

andrew-platt commented 3 years ago

You will need to change the timestep in the main .fst file to 0.001 s. The coupling at the blade root to the hub is very stiff and all frequency content at that coupling must be resolved. Since ElastoDyn handles the hub and drivetrain, and BeamDyn only handles single blades (1 instance of BeamDyn for each blade), the overall coupling timestep set in the .fst file must be reduced so no frequency content is lost.

Akheelakk commented 3 years ago

Hello sir, Once I made the above change, it showed FAST_InitializeAll:HydroDyn_Init:The value of RdtnDT is not equal to the glue code timestep. This is not allowed in the current version of HydroDyn. So I made RdtnDT = 0.001. Now I am getting FAST_InitializeAll:HydroDyn_Init:Waves_Init:VariousWaves_Init:Cannot allocate array WaveVelC0V. VariousWaves_Init:Cannot allocate array WaveAccC0Hxi. VariousWaves_Init:Cannot allocate array WaveAccC0Hyi. VariousWaves_Init:Cannot allocate array WaveAccC0V. VariousWaves_Init:Cannot allocate array WaveDynP0B. VariousWaves_Init:Cannot allocate array WaveVel0Hxi. VariousWaves_Init:Cannot allocate array WaveVel0Hyi. VariousWaves_Init:Cannot allocate array WaveVel0V. VariousWaves_Init:Cannot allocate array WaveAcc0Hxi. VariousWaves_Init:Cannot allocate array WaveAcc0Hyi. VariousWaves_Init:Cannot allocate array WaveAcc0V. VariousWaves_Init:Cannot allocate array InitOut%WaveDynP. VariousWaves_Init:Cannot allocate array InitOut%WaveVel. VariousWaves_Init:Cannot allocate array InitOut%WaveAcc. VariousWaves_Init:Cannot allocate array InitOut%PWaveDynP0. VariousWaves_Init:Cannot allocate array InitOut%PWaveVel0. VariousWaves_Init:Cannot allocate array InitOut%PWaveAcc0. VariousWaves_Init:Cannot allocate array InitOut%node

andrew-platt commented 3 years ago

It looks like you ran out of memory on your computer. How much memory do you have?

What value of WaveDT do you have set in the HydroDyn input file? That timestep you can safely set to 0.25 seconds (this does not need to match the .fst timestep -- this is the glue code timestep).

The RdtnDT timestep needs to match the HydroDyn timestep (WaveDT) -- the warning message there is not particularly clear when it states 'glue code timestep'. Set the RdtnDT to "default".

To clarify, the radiation module considers HydroDyn to be its glue code, so it is looking for the WaveDT value as the glue code value. However this is a bit confusing since we generally refer to the .fst timestep as the glue code timestep. Our apologies for the confusion. We will update that warning to be a bit more clear.

Akheelakk commented 3 years ago

Sir, Can I know what exactly is meant by glue code time step. Because its showing "The value of RdtnDT is not equal to the glue code timestep" when I change RdtnDt

Akheelakk commented 3 years ago

Sir, I am using 4 GB RAM Laptop. Is it not sufficient

Akheelakk commented 3 years ago

Hello sir, Its showing "Turning off Unsteady Aerodynamics due to high angle of attack. The simulation is also very slow. I hope it is due to setting timestep to low value.

andrew-platt commented 3 years ago

Depending on the simulation, 4 GB could be a little small depending on what other programs are using memory.

What value for WaveDT do you have set in the HydroDyn input file? HydroDyn is very memory intensive so you want to set WaveDT as large as possible without losing any of the physics. This will reduce the memory requirements of HydroDyn waves. For a JONSWAP or Pierson-Mosowitz wave spectrum, a WaveDT = 0.25 will give you a 2 Hz frequency resolution, which is more than enough frequency content (https://wikiwaves.org/Ocean-Wave_Spectra).

Another thing to reduce would be the value of WaveTMax. You can also reduce this to reduce the memory required.

The wind files used by InflowWind can use a significant amount of memory.

The small timestep required by BeamDyn will make the simulation very slow.

Akheelakk commented 3 years ago

Ok sir, Now I am running with WaveDT = 0.25

cjp606 commented 3 years ago

Hello everyone, When running the OpenFAST V2.3.0 and other versions of openFAST, it has some errors .Can someone help me? as followings: 图片

Akheelakk commented 3 years ago

Hello @cjp606 , I think you can solve this problem by specifying the location DISCON.dll file correctly.

cjp606 commented 3 years ago

Hello @Akheelakk , The r-rest files are download at https://github.com/OpenFAST/r-test/tree/v2.3.0 ,I run one of them directly. So I don't know how to specify the location DISCON.dll file, so can you give me an example or introduce that how to specify the location DISCON.dll file ?

Thank you

Akheelakk commented 3 years ago

Open openfast_v2.3.0_binaries/DISCON_DLLS/64bit/ .dll file. If your system specification is 32bit choose Win32 in DISCON_DLLS

cjp606 commented 3 years ago

Hello @Akheelakk ,

Thank you for your help, I have solved this problem.

Best regards

Akheelakk commented 3 years ago

Hello everyone, Is it not possible to linearize OC3 Hywind. I am getting an error as below,

FAST_InitializeAll:FAST_Init:ValidateInputData:Linearization is not implemented for the HydroDyn module. ValidateInputData:Linearization is not implemented for any of the mooring modules.

FAST encountered an error during module initialization. Simulation error level: FATAL ERROR

Aborting OpenFAST.

Thanks in advance

Akheelakk commented 3 years ago

Hello everyone, I am not able to access NWTC portal. I don't know if this is the suitable platform to inform.

Akheelakk commented 3 years ago

Hello everyone, I chose AFAero = 2, UAMod = 3 to set up unsteady aerodynamics. But when I run the program, it shows, "Turning of Unsteady aerodynamics". I set the UACutOut = DEFAULT. I am using the precompiled binaries. Do I need to recompile it again. If so, Kindly guide me to do it. Thanks in advance

jjonkman commented 3 years ago

Dear @Akheelakk,

The linearization functionality for floating offshore wind turbines was recently released in OpenFAST v2.4. This functionality was not available in OpenFAST v2.3, so, you'll need to upgrade to v2.4 if you wish to linearize OpenFAST models with HydroDyn and MAP++ enabled.

The old NWTC Information Portal is being replaced with a new website--see: https://www.nrel.gov/wind/nwtc.html. But the new website is still under development (not all links and downloads are currently available).

What does the warning message say is the reason for "turning off unsteady aerodynamics"?

Best regards,

Akheelakk commented 3 years ago

Dear sir, The warning message during shows that high angle of attack is the reason for "turning off unsteady aerodynamics"

Thanks

jjonkman commented 3 years ago

Dear @Akheelakk,

The default value of UACutOut is 45 degrees, which is quite high. If your angle of attack exceeds 45 degrees at any blade station near the beginning of the simulation, I would guess that the model initial conditions are not set properly. In general, I would recommend setting the initial rotor speed and initial blade-pitch angles to their expected (mean) values for the given mean wind speed you are simulating.

Best regards,

Akheelakk commented 3 years ago

Dear all, Can someone help me to fix the below mentioned issue: FAST_InitializeAll:InitModuleMappings:ED_2_SrvD_TowerMotion:MeshMapCreate:CreateMotionMap_L2_to_P: CreateMapping_ProjectToLine2:Node 1 does not project onto any line2 element.

FAST encountered an error during module initialization. Simulation error level: FATAL ERROR

Aborting OpenFAST.

jjonkman commented 3 years ago

Dear @Akheelakk,

I gather from a related post on our forum (https://wind.nrel.gov/forum/wind/viewtopic.php?f=4&t=2521) that you are adding tower-based TMD to your model. The line2 to point mesh-mapping error you are getting would come about if you try to locate the tower-based TMD below the tower base or above the tower top.

Best regards,

Akheelakk commented 3 years ago

Thank you sir

Akheelakk commented 3 years ago

Hello, I am getting a warning as follows:

Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. BladeNode = 1, Blade = 1
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. BladeNode = 2, Blade = 1
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. BladeNode = 3, Blade = 1
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. BladeNode = 4, Blade = 1
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. BladeNode = 1, Blade = 2
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. BladeNode = 2, Blade = 2
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. BladeNode = 3, Blade = 2
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. BladeNode = 4, Blade = 2
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. BladeNode = 1, Blade = 3
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. BladeNode = 2, Blade = 3
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. BladeNode = 3, Blade = 3
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. BladeNode = 4, Blade = 3
Running InflowWind.

**As I have mentioned I my earlier posts, I received similar warning (Turning off Unsteady Aerodynamics), But In that case it was due to high angle of attack. I could fix that issue by setting initial rotor speed a non zero value. What could be the possible reason for the current warning?

I need a few more clarifications: What is meant by regression test? Can someone suggest paper or textbooks regarding obtaining response spectrum for a floating offshore wind turbine**

jjonkman commented 3 years ago

Dear @Akheelakk,

Regarding the "C_nalpha is 0" warnings, you can ignore these. The unsteady airfoil aerodynamics model of AeroDyn is not valid when the slope of the normal force coefficient curve (C_nalpha) is zero. This happens, e.g., for a cylindrical cross section with no lift.

We use the term regression test (or r-test) to refer to the sample models used to test the compiled source code, i.e., to ensure that given input file(s) produce the expected output file(s). The OpenFAST r-test is available in a repository distinct from the source code--see: https://github.com/OpenFAST/r-test. OpenFAST also has some unit tests, which are tests performed at the subroutine level.

By "response spectrum", I assume you mean computing the power spectral density (PSD) from the time series output. Post-processing scripts, e.g., MCrunch, can compute those for you.

Best regards,

Akheelakk commented 3 years ago

Thank you Sir.

On Fri, Oct 30, 2020 at 10:55 PM jjonkman notifications@github.com wrote:

Dear @Akheelakk https://github.com/Akheelakk,

Regarding the "C_nalpha is 0" warnings, you can ignore these. The unsteady airfoil aerodynamics model of AeroDyn is not valid when the slope of the normal force coefficient curve (C_nalpha) is zero. This happens, e.g., for a cylindrical cross section with no lift.

We use the term regression test (or r-test) to refer to the sample models used to test the compiled source code, i.e., to ensure that given input file(s) produce the expected output file(s). The OpenFAST r-test is available in a repository distinct from the source code--see: https://github.com/OpenFAST/r-test. OpenFAST also has some unit tests, which are tests performed at the subroutine level.

By "response spectrum", I assume you mean computing the power spectral density (PSD) from the time series output. Post-processing scripts, e.g., MCrunch, can compute those for you.

Best regards,

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/OpenFAST/openfast/issues/268#issuecomment-719688930, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQCIY5LK37PUX4I74HSDM4DSNLZJRANCNFSM4HEDZ3EQ .

Akheelakk commented 3 years ago

Hello all, I faced an issue while running OpenFAST. I tried to simulate a load case (wind speed = 15, Turbulence Intensity = 0.16 (From TurbSum, Kaimal Spectrum) wave ht = 5, Spectral period = 16), then the command window showed a warning as below FAST_Solution:CalcOutputs_And_SolveForInputs:SolveOption2:AD_CalcOutput:BEMT_CalcOutput(node 19, blade 1):Compute_UA_AirfoilCoefs:UA_CalcOutput:Mach number exceeds 0.3. Theory is invalid. This warning will not be repeated though the condition may persist. Then I tried to simulate with TMD in nacelle alone (TMD_X only) with the default values in the "NRELOffshrBsline5MW_ServoDyn_TMD" file. Then OpenFAST aborted with the below comment FAST_Solution:FAST_AdvanceStates:SolveOption2c_Inp2AD_SrvD:InflowWind_CalcOutput:CalcOutput:IfW_TS FFWind_CalcOutput [position=(17.443, -0.38439, 4.9915) in wind-file coordinates]: FF wind array boundaries violated. Grid too small in Z direction (height (Z=4.9915 m) is below the grid and no tower points are defined).` What is the reason for aborting when TMD was incorporated. Also let me know if the simulation without TMD was wrong

Thanks

jjonkman commented 3 years ago

Dear @Akheelakk,

Your first question seems very similar to one asked recently on the forum (https://wind.nrel.gov/forum/wind/viewtopic.php?f=4&t=2193), which I assume was also asked by you and which I answered there.

Regarding your second question, at least it sounds like enabling the TMD is impacting your simulation results (unlike what was reported on the forum). My guess is the addition of the TMD is causing enough motion that an aerodynamic analysis node has left the wind domain. Are the motions of the wind turbine what you expect them to be before the error is triggered (rather than some sort unexpectedly large motion)? If so, the solution would be to increase the size of the wind domain or define tower points in TurbSim, as indicated by the error message. If the motion is unexpectedly large, then you'll need to identify what is causing that and fix it.

Best regards,

Akheelakk commented 3 years ago

Dear Sir, The wind domain was set as GridHeight = 155.00, GridWidth = 140. When I changed grid height to 160, TurbSim aborted.

jjonkman commented 3 years ago

Dear @Akheelakk,

You haven't provided enough information to guess what the problem is. What inputs have you set in TurbSim and what error you are getting?

Best regards,

Akheelakk commented 3 years ago

Dear sir, TurbSim input file contains 160.00 GridHeight
140.00 GridWidth "20" IECturbc 07 URef
Apart from these, CTEventPath was also give. All other values were unaltered

The error message received is as follows ` Using NWTC Subroutine Library (v1.04.01, 21-Feb-2012).

Running TurbSim (v1.06.00, 21-Sep-2012).

Reading the input file "TurbSim.inp". RanLux luxury level set by RLuxGo : 3 p = 223 RanLux initialized by RLuxGo from Seeds 2318573 0 0 A default value will be used for the wind profile type. A default value will be used for the power law exponent. A default value will be used for the roughness length.

WARNING: A coherent turbulence time step file cannot be generated with the IECKAI model.

You have requested that the following file(s) be generated: TurbSim.bts (an AeroDyn/TurbSim full-field wind file) TurbSim.wnd (an AeroDyn/BLADED full-field wnd file) The lowest grid point (0 m) must be above the ground. Adjust the appropriate values in the input file.

Aborting TurbSim.

`

bjonkman commented 3 years ago

You should also indicate where the center of your TurbSim grid is defined. (i.e., what is HubHt set to?) The TurbSim documentation explains how the grids are defined; you should read that section to help you fix the error regarding the lowest grid point location.

Also, there is no need to have coherent turbulent structures, so set WrACT=false

Akheelakk commented 3 years ago

Hello maam, Hub height = 90m

bjonkman commented 3 years ago

The TurbSim documentation: https://drive.google.com/drive/folders/1b_RNvhJ8qDgRJHJFkAIJpUCXY1t9IxtH. See figure 5.

jjonkman commented 3 years ago

Dear @Akheelakk,

The problem is that you've defined grid points down to ground level TurbSim will not allow you to place nodes on the ground. Specifying GridHeight slightly smaller than 160 m will solve the problem.

Best regards,

enrjcutl commented 3 years ago

Hello,

I am having trouble accessing postprocessors from https://www.nrel.gov/wind/nwtc.html. There does not seem to be any links to any of the archives nor do the links in the user manuals work. Has the location for the Matlab-based scripts been relocated?

Kind regards, Josh