UMaine 15 MW Reference Coupled Analysis

Hi,

I am a new user of OpenFAST, I downloaded the software and the test cases are working without any problem. I wanted to work on the IEA 15 MW 240 RWT UMaine Semi Submersible model. For now, I just wanted to run the model in default configuration just to see the outputs and to be sure that model is running well. However, I am getting the following error message,

OpenFAST input file heading:
IEA 15 MW offshore reference model on UMaine VolturnUS-S semi-submersible floating platform

Running ElastoDyn.
Running AeroDyn.

FAST_InitializeAll:AD_Init:ParsePrimaryFileInfo:ParseLoVar:

A fatal error occurred when parsing data from
“.../IEA-15-240-RWT/IEA-15-240-RWT_AeroDyn15.dat”.
The variable “Buoyancy” was not found on line #13.

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

Aborting OpenFAST.

Can you please help me with solving this error? If I understood correctly, there is a problem regarding aerodynamic and hydrodynamic data.

Best regards,
Engin

Hi @Engin.Taze,

It looks like you are running a newer version of OpenFAST than the model you are running is formatted for. You’ll need to upgrade the input files for the version of OpenFAST you are using or downgrade to a version of OpenFAST the input files are formatted for. See the documentation of input file changes with each version of OpenFAST for more information: 4.1.2. API changes between versions — OpenFAST v3.4.1 documentation.

Best regards,

Hi,

Thank you for the fast reply! I tried to update the datafiles but I ended up getting more and more errors. So, I downloaded the OpenFAST v.3.3/0 which should be compatible with the model according to their description on the GitHub page. Now, I am getting the errors that I attached below for the monopile and semi-submersible fst files. I didn’t change any values, I am simply trying to run the default inputs. I am using Windows 10.

Can you please guide me?

Best regards,
Engin

Dear @Engin.Taze,

It looks like you are trying to use a ROSCO controller library that is not compatible with Windows. A *.so (shared object) file only usable for Linux. On Windows, you should use a *.dll (dynamic link library) file. You can find that for the IEA Wind 15-MW reference wind turbine here: IEA-15-240-RWT/OpenFAST/IEA-15-240-RWT/ServoData at master · IEAWindTask37/IEA-15-240-RWT · GitHub. You’ll have to change the DLL_FileName in the ServoDyn input file to point to this file.

Best regards,

Dear @Jason.Jonkman,

Thank you! Now it works and OpenFAST terminated normally. However, I am getting some warnings and I am not sure what is wrong.


OpenFAST-v3.3.0
Compile Info:

  • Compiler: Intel(R) Fortran Compiler 1900
  • Architecture: 64 bit
  • Precision: single
  • OpenMP: No
  • Date: Nov 02 2022
  • Time: 14:07:06
    Execution Info:
  • Date: 03/01/2023
  • Time: 12:28:37-0500

OpenFAST input file heading:
IEA 15 MW offshore reference model on UMaine VolturnUS-S semi-submersible floating platform

Running ElastoDyn.
Running AeroDyn.
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 1, blade 1)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 2, blade 1)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 4, blade 1)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 5, blade 1)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 1, blade 2)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 2, blade 2)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 4, blade 2)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 5, blade 2)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 1, blade 3)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 2, blade 3)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 4, blade 3)
Warning: Turning off Unsteady Aerodynamics because C_nalpha is 0. (node 5, blade 3)
Running InflowWind.
Running HydroDyn.
WARNING: The requested output channel is invalid: WavesF1xi
WARNING: The requested output channel is invalid: WavesF1zi
WARNING: The requested output channel is invalid: WavesM1yi
WARNING: The requested output channel is invalid: WavesF2xi
WARNING: The requested output channel is invalid: WavesF2zi
WARNING: The requested output channel is invalid: WavesM2yi
WARNING: The requested output channel is invalid: WavesF2xi
WARNING: The requested output channel is invalid: WavesF2yi
WARNING: The requested output channel is invalid: WavesF2zi
WARNING: The requested output channel is invalid: WavesM2xi
WARNING: The requested output channel is invalid: WavesM2yi
WARNING: The requested output channel is invalid: WavesM2zi
Generating incident wave kinematics and current time history.
Calculating second order difference frequency wave kinematics.
Calculating second order sum frequency wave kinematics.
Reading in WAMIT output with root name “.\HydroData/IEA-15-240-RWT-UMaineSemi”.
Computing radiation impulse response functions and wave diffraction forces.
Calculating second order difference-frequency force using the full quadratic transfer function.
Running MoorDyn (v2.a27, 2022-07-20).
This is an alpha version of MoorDyn-F v2, with significant input file changes from v1.
Copyright: (C) 2021 National Renewable Energy Laboratory, (C) 2019 Matt Hall
Parsing MoorDyn input file: .\IEA-15-240-RWT-UMaineSemi_MoorDyn.dat
Warning: invalid output specifier FX. Must start with L, C, R, or B
Warning: invalid output specifier FY. Must start with L, C, R, or B
Warning: invalid output specifier FZ. Must start with L, C, R, or B
Created mooring system: 3 lines, 6 points, 0 rods, 0 bodies.
Finalizing initial conditions using dynamic relaxation.
t=60 FairTen 1: 2.43287E+06, 2.44526E+06, 2.43537E+06
Fairlead tensions did not converge within TMaxIC=60 seconds.
MoorDyn initialization completed.
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows).
Using legacy Bladed DLL interface.

FAST_InitializeAll:HydroDyn_Init:HydroDynInput_ProcessInitData: A requested output channel is
invalid


Running ROSCO-v2.6.0
A wind turbine controller framework for public use in the scientific field
Developed in collaboration: National Renewable Energy Laboratory
Delft University of Technology, The Netherlands

Generator speed: 7.6 RPM, Pitch angle: 1.0 deg, Power: 0.0 kW, Est. wind Speed: 10.0 m/s

FAST_Solution:CalcOutputs_And_SolveForInputs:SolveOption2:AD_CalcOutput:RotCalcOutput:BEMT_CalcOut
put(node 3, blade 3):UA_CalcOutput:UA_BlendSteady:Temporarily turning off UA due to high angle of
attack or low relative velocity. This warning will not be repeated though the condition may
persist.

FAST_Solution:CalcOutputs_And_SolveForInputs:SolveOption2:AD_CalcOutput:RotCalcOutput:BEMT_CalcOut
put(node 50, blade 2):UA_CalcOutput:Mach number exceeds 0.3. Theory is invalid. This warning will
not be repeated though the condition may persist.
Generator speed: 5.6 RPM, Pitch angle: 0.0 deg, Power: 8326.2 kW, Est. wind Speed: 8.2 m/s

Total Real Time: 9.024 seconds
Total CPU Time: 8.4531 seconds
Simulation CPU Time: 3.0469 seconds
Simulated Time: 10 seconds
Time Ratio (Sim/CPU): 3.2821

OpenFAST terminated normally.

Especially “The requested output channel is invalid.” warning, is this about the version as well?

Best regards,

Engin

Also, another general question about OpenFAST, I couldn’t find anything regarding parallel computation in OpenFAST. Would you recommend writing a Python script for the parallel computing customized for the user’s workstation (number of cores/threads) or is there an option in the software that allows us to set the properties for parallel computation within input data or .fst files?

I apologize for taking too much of your time. Thank you for the support, OpenFAST is a new environment for me.

Best regards,
Engin

Dear @Engin.Taze,

It looks like your OpenFAST simulation is now running without fatal error–the warnings you are receiving now are not fatal and OpenFAST is completing normally.

Regarding the requested output channel warning, these HydroDyn output channel names were changed in OpenFAST v2.6 and the old names are no longer valid in newer versions. Please see the documentation here for the most up-to-date output channel names: https://openfast.readthedocs.io/en/main/_downloads/3f19498a5dc774461e022b671ff01ec6/OutListParameters.xlsx.

Regarding your parallelization question, a similar question was asked and answered here: Questions about Parallel Computing.

Best regards,

Hi @Engin.Taze,

It was nice to meet you at UMERC this past week. I have looked through this thread, as well as the linked post about parallelization. Were you looking to run multiple simulations in parallel, or were you hoping to parallelize a single run?

Best,

Hannah

Hi @Hannah.Ross,

It was nice to meet you, too! I was actually looking for both. However, the more important one is running multiple simulations. Let’s assume that we have 1000 DLCs to simulate on a FOWT, and maybe 50 threads on our workstation. Is the only way to simulate these load cases is to create a script that opens 50 command windows, runs one case (and assign each terminal to an individual thread), and stores the results? Are there any documentation or resources for the high-performance computing applications of OpenFAST?

Best,

Engin

@Engin.Taze, there is another post here that might be helpful: Mulit-Process environment for FastV8 - #10 by Puyi.Yang. Running a single simulation in parallel is limited and cannot be done for a full OpenFAST simulation (only for OLAF and FAST.Farm). Running multiple simulations however is certainly possible. I am tagging my colleague @Will.Wiley, who can give you better guidance on this.

Hi @Engin.Taze,

Yes using some external script to generate and run your DLCs on separate cores is the way to do this.

Thanks, Will

@Hannah.Ross, thank you so much for taking the time to help me with this!

@Will.Wiley, I understand, thank you! Do you have any examples of this? I went through the workshops folder of the OpenFAST but couldn’t find any information. I am doing exactly that, but I am not 100% sure if what I do is the correct way of doing it.

Hi @Engin.Taze, there are lots of ways you could do this, depending on your system and what you like to work with.

I personally run load cases in parallel on linux often using bash (& and wait). This site gives some guidance for the syntax: https://www.cyberciti.biz/faq/how-to-run-command-or-code-in-parallel-in-bash-shell-under-linux-or-unix/.

This can also be done with python (which could also be useful for setting up the inputs for the load cases). Here is an example of a python script that runs the regression tests: https://github.com/OpenFAST/openfast/blob/main/reg_tests/manualRegressionTest.py. The subprocess module in python allows you to run external programs in parallel.

Dear @Engin.Taze,

I would just add that the topic of scripting so that you can run many OpenFAST simulations for performing a loads analysis has been discussed several times on this forum and in the OpenFAST GitHub repository, including:

Best regards,

Hi @Will.Wiley and @Jason.Jonkman ,

Thank you for your support and your patience. I am going to check the links that you have provided.

Best regards,
-Engin