From 243d5bf0c63291243fdae18b963909b61ffaa4bf Mon Sep 17 00:00:00 2001 From: Emmanuel Branlard Date: Fri, 11 Oct 2024 11:36:23 -0400 Subject: [PATCH 1/2] Data: updates related to openfast 4.0 --- .../NRELOffshrBsline5MW_AeroDyn_blade.dat | 44 ++--- .../NRELOffshrBsline5MW_BeamDyn.dat | 10 +- .../NRELOffshrBsline5MW_Blade.dat | 2 +- ...LOffshrBsline5MW_InflowWind_Steady8mps.dat | 10 +- .../5MW_Land_Lin_BladeOnly/ElastoDyn.dat | 10 +- .../NREL5MW/5MW_Land_Lin_BladeOnly/Main.1.lin | 2 +- data/NREL5MW/5MW_Land_Lin_BladeOnly/Main.fst | 2 + data/NREL5MW/5MW_Land_Lin_Rotating/.gitignore | 1 + .../NREL5MW/5MW_Land_Lin_Rotating/AeroDyn.dat | 176 +++++++++-------- .../5MW_Land_Lin_Rotating/ElastoDyn.dat | 10 +- data/NREL5MW/5MW_Land_Lin_Rotating/Main.fst | 6 +- .../5MW_Land_Lin_Templates/AeroDyn.dat | 178 ++++++++++-------- .../5MW_Land_Lin_Templates/ElastoDyn.dat | 8 + data/NREL5MW/5MW_Land_Lin_Templates/Main.fst | 4 +- data/NREL5MW/Main_Onshore.fst | 6 +- data/NREL5MW/Main_Onshore_OF2_BD.fst | 6 +- data/NREL5MW/onshore/AeroDyn.dat | 175 +++++++++-------- data/NREL5MW/onshore/ElastoDyn.dat | 8 + data/NREL5MW/runAll.py | 13 ++ openfast_toolbox/case_generation/case_gen.py | 6 +- openfast_toolbox/case_generation/runner.py | 2 + openfast_toolbox/converters/doc/Makefile | 2 +- .../converters/openfastToHawc2.py | 6 +- .../converters/versions/aerodyn.py | 43 ++++- .../linearization/linearization.py | 7 +- 25 files changed, 440 insertions(+), 297 deletions(-) create mode 100644 data/NREL5MW/runAll.py diff --git a/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat b/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat index 9d54102..c20a62e 100644 --- a/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat +++ b/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat @@ -2,27 +2,27 @@ NREL 5.0 MW offshore baseline aerodynamic blade input properties; note that we need to add the aerodynamic center to this file ====== Blade Properties ================================================================= 19 NumBlNds - Number of blade nodes used in the analysis (-) - BlSpn BlCrvAC BlSwpAC BlCrvAng BlTwist BlChord BlAFID - (m) (m) (m) (deg) (deg) (m) (-) -0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 1.3308000E+01 3.5420000E+00 1 -1.3667000E+00 -8.1531745E-04 -3.4468858E-03 0.0000000E+00 1.3308000E+01 3.5420000E+00 1 -4.1000000E+00 -2.4839790E-02 -1.0501421E-01 0.0000000E+00 1.3308000E+01 3.8540000E+00 1 -6.8333000E+00 -5.9469375E-02 -2.5141635E-01 0.0000000E+00 1.3308000E+01 4.1670000E+00 2 -1.0250000E+01 -1.0909141E-01 -4.6120149E-01 0.0000000E+00 1.3308000E+01 4.5570000E+00 3 -1.4350000E+01 -1.1573354E-01 -5.6986665E-01 0.0000000E+00 1.1480000E+01 4.6520000E+00 4 -1.8450000E+01 -9.8316709E-02 -5.4850833E-01 0.0000000E+00 1.0162000E+01 4.4580000E+00 4 -2.2550000E+01 -8.3186967E-02 -5.2457001E-01 0.0000000E+00 9.0110000E+00 4.2490000E+00 5 -2.6650000E+01 -6.7933232E-02 -4.9624675E-01 0.0000000E+00 7.7950000E+00 4.0070000E+00 6 -3.0750000E+01 -5.3393159E-02 -4.6544755E-01 0.0000000E+00 6.5440000E+00 3.7480000E+00 6 -3.4850000E+01 -4.0899260E-02 -4.3583519E-01 0.0000000E+00 5.3610000E+00 3.5020000E+00 7 -3.8950000E+01 -2.9722933E-02 -4.0591323E-01 0.0000000E+00 4.1880000E+00 3.2560000E+00 7 -4.3050000E+01 -2.0511081E-02 -3.7569051E-01 0.0000000E+00 3.1250000E+00 3.0100000E+00 8 -4.7150000E+01 -1.3980013E-02 -3.4521705E-01 0.0000000E+00 2.3190000E+00 2.7640000E+00 8 -5.1250000E+01 -8.3819737E-03 -3.1463837E-01 0.0000000E+00 1.5260000E+00 2.5180000E+00 8 -5.4666700E+01 -4.3546914E-03 -2.8909220E-01 0.0000000E+00 8.6300000E-01 2.3130000E+00 8 -5.7400000E+01 -1.6838383E-03 -2.6074456E-01 0.0000000E+00 3.7000000E-01 2.0860000E+00 8 -6.0133300E+01 -3.2815226E-04 -1.7737470E-01 0.0000000E+00 1.0600000E-01 1.4190000E+00 8 -6.1499900E+01 -3.2815226E-04 -1.7737470E-01 0.0000000E+00 1.0600000E-01 1.4190000E+00 8 + BlSpn BlCrvAC BlSwpAC BlCrvAng BlTwist BlChord BlAFID BlCb BlCenBn BlCenBt + (m) (m) (m) (deg) (deg) (m) (-) (-) (m) (m) +0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 1.3308000E+01 3.5420000E+00 1 0.0 0.0 0.0 +1.3667000E+00 -8.1531745E-04 -3.4468858E-03 0.0000000E+00 1.3308000E+01 3.5420000E+00 1 0.0 0.0 0.0 +4.1000000E+00 -2.4839790E-02 -1.0501421E-01 0.0000000E+00 1.3308000E+01 3.8540000E+00 1 0.0 0.0 0.0 +6.8333000E+00 -5.9469375E-02 -2.5141635E-01 0.0000000E+00 1.3308000E+01 4.1670000E+00 2 0.0 0.0 0.0 +1.0250000E+01 -1.0909141E-01 -4.6120149E-01 0.0000000E+00 1.3308000E+01 4.5570000E+00 3 0.0 0.0 0.0 +1.4350000E+01 -1.1573354E-01 -5.6986665E-01 0.0000000E+00 1.1480000E+01 4.6520000E+00 4 0.0 0.0 0.0 +1.8450000E+01 -9.8316709E-02 -5.4850833E-01 0.0000000E+00 1.0162000E+01 4.4580000E+00 4 0.0 0.0 0.0 +2.2550000E+01 -8.3186967E-02 -5.2457001E-01 0.0000000E+00 9.0110000E+00 4.2490000E+00 5 0.0 0.0 0.0 +2.6650000E+01 -6.7933232E-02 -4.9624675E-01 0.0000000E+00 7.7950000E+00 4.0070000E+00 6 0.0 0.0 0.0 +3.0750000E+01 -5.3393159E-02 -4.6544755E-01 0.0000000E+00 6.5440000E+00 3.7480000E+00 6 0.0 0.0 0.0 +3.4850000E+01 -4.0899260E-02 -4.3583519E-01 0.0000000E+00 5.3610000E+00 3.5020000E+00 7 0.0 0.0 0.0 +3.8950000E+01 -2.9722933E-02 -4.0591323E-01 0.0000000E+00 4.1880000E+00 3.2560000E+00 7 0.0 0.0 0.0 +4.3050000E+01 -2.0511081E-02 -3.7569051E-01 0.0000000E+00 3.1250000E+00 3.0100000E+00 8 0.0 0.0 0.0 +4.7150000E+01 -1.3980013E-02 -3.4521705E-01 0.0000000E+00 2.3190000E+00 2.7640000E+00 8 0.0 0.0 0.0 +5.1250000E+01 -8.3819737E-03 -3.1463837E-01 0.0000000E+00 1.5260000E+00 2.5180000E+00 8 0.0 0.0 0.0 +5.4666700E+01 -4.3546914E-03 -2.8909220E-01 0.0000000E+00 8.6300000E-01 2.3130000E+00 8 0.0 0.0 0.0 +5.7400000E+01 -1.6838383E-03 -2.6074456E-01 0.0000000E+00 3.7000000E-01 2.0860000E+00 8 0.0 0.0 0.0 +6.0133300E+01 -3.2815226E-04 -1.7737470E-01 0.0000000E+00 1.0600000E-01 1.4190000E+00 8 0.0 0.0 0.0 +6.1499900E+01 -3.2815226E-04 -1.7737470E-01 0.0000000E+00 1.0600000E-01 1.4190000E+00 8 0.0 0.0 0.0 !bjj: because of precision in the BD-AD coupling, 61.5m didn't work, so I changed it to 61.4999m -6.1500000E+01 -3.2815226E-04 -1.7737470E-01 0.0000000E+00 1.0600000E-01 1.4190000E+00 8 +6.1500000E+01 -3.2815226E-04 -1.7737470E-01 0.0000000E+00 1.0600000E-01 1.4190000E+00 8 0.0 0.0 0.0 diff --git a/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_BeamDyn.dat b/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_BeamDyn.dat index 2f8ab74..81e5eda 100644 --- a/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_BeamDyn.dat +++ b/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_BeamDyn.dat @@ -78,7 +78,7 @@ True RotStates - Orient states in the rotating frame during line ---------------------- PITCH ACTUATOR PARAMETERS ------------------------------- False UsePitchAct - Whether a pitch actuator should be used (flag) 200 PitchJ - Pitch actuator inertia (kg-m^2) [used only when UsePitchAct is true] - 2E+07 PitchK - Pitch actuator stiffness (kg-m^2/s^2) [used only when UsePitchAct is true] + 20000000 PitchK - Pitch actuator stiffness (kg-m^2/s^2) [used only when UsePitchAct is true] 500000 PitchC - Pitch actuator damping (kg-m^2/s) [used only when UsePitchAct is true] ---------------------- OUTPUTS ------------------------------------------------- True SumPrint - Print summary data to ".sum" (flag) @@ -90,5 +90,9 @@ True SumPrint - Print summary data to ".sum" (flag) "RootMxr, RootMyr, RootMzr" "TipTDxr, TipTDyr, TipTDzr" "TipRDxr, TipRDyr, TipRDzr" -END of input file (the word "END" must appear in the first 3 columns of this last OutList line) ---------------------------------------------------------------------------------------- +END of OutList section (the word "END" must appear in the first 3 columns of the last OutList line) +====== Outputs for all blade stations (same ending as above for B1N1.... =========================== (optional section) +"All" BldNd_BlOutNd - Future feature will allow selecting a portion of the nodes to output. Not implemented yet. (-) + OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) +END (the word "END" must appear in the first 3 columns of this last OutList line in the optional nodal output section) +-------------------------------------------------------------------------------- diff --git a/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_Blade.dat b/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_Blade.dat index cf5aa25..af2cb59 100644 --- a/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_Blade.dat +++ b/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_Blade.dat @@ -8,7 +8,7 @@ NREL 5.0 MW offshore baseline blade input properties. ---------------------- BLADE ADJUSTMENT FACTORS -------------------------------- 1 FlStTunr(1) - Blade flapwise modal stiffness tuner, 1st mode (-) 1 FlStTunr(2) - Blade flapwise modal stiffness tuner, 2nd mode (-) - 1.04536 AdjBlMs - Factor to adjust blade mass density (-) !bjj: value for AD14=1.04536; value for AD15=1.057344 (it would be nice to enter the requested blade mass instead of a factor here) + 1.04536 AdjBlMs - Factor to adjust blade mass density (-) !bjj: value for AD14=1.04536; value for AeroDyn=1.057344 (it would be nice to enter the requested blade mass instead of a factor here) 1 AdjFlSt - Factor to adjust blade flap stiffness (-) 1 AdjEdSt - Factor to adjust blade edge stiffness (-) ---------------------- DISTRIBUTED BLADE PROPERTIES ---------------------------- diff --git a/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_InflowWind_Steady8mps.dat b/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_InflowWind_Steady8mps.dat index 3ab9b34..9a29a4e 100644 --- a/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_InflowWind_Steady8mps.dat +++ b/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_InflowWind_Steady8mps.dat @@ -5,7 +5,7 @@ False Echo - Echo input data to .ech (flag) 1 WindType - switch for wind file type (1=steady; 2=uniform; 3=binary TurbSim FF; 4=binary Bladed-style FF; 5=HAWC format; 6=User defined; 7=native Bladed FF) 0 PropagationDir - Direction of wind propagation (meteorological rotation from aligned with X (positive rotates towards -Y) -- degrees) (not used for native Bladed format WindType=7) 0 VFlowAng - Upflow angle (degrees) (not used for native Bladed format WindType=7) - False VelInterpCubic - Use cubic interpolation for velocity in time (false=linear, true=cubic) [Used with WindType=2,3,4,5,7] +False VelInterpCubic - Use cubic interpolation for velocity in time (false=linear, true=cubic) [Used with WindType=2,3,4,5,7] 1 NWindVel - Number of points to output the wind velocity (0 to 9) 0 WindVxiList - List of coordinates in the inertial X direction (m) 0 WindVyiList - List of coordinates in the inertial Y direction (m) @@ -15,7 +15,7 @@ False Echo - Echo input data to .ech (flag) 90 RefHt - Reference height for horizontal wind speed (m) 0 PLExp - Power law exponent (-) ================== Parameters for Uniform wind file [used only for WindType = 2] ============================ -"unused" Filename_Uni - Filename of time series data for uniform wind field. (-) +"unused" FileName_Uni - Filename of time series data for uniform wind field. (-) 90 RefHt_Uni - Reference height for horizontal wind speed (m) 125.88 RefLength - Reference length for linear horizontal and vertical sheer (-) ================== Parameters for Binary TurbSim Full-Field files [used only for WindType = 3] ============== @@ -47,7 +47,7 @@ False TowerFile - Have tower file (.twr) (flag) ignored when WindTy 2 WindProfile - Wind profile type (0=constant;1=logarithmic,2=power law) 0 PLExp_Hawc - Power law exponent (-) (used for PL wind profile type only) 0.03 Z0 - Surface roughness length (m) (used for LG wind profile type only) - 0 XOffset - Initial offset in +x direction (shift of wind box) + 0 XOffset - Initial offset in +x direction (shift of wind box) ================== LIDAR Parameters =========================================================================== 0 SensorType - Switch for lidar configuration (0 = None, 1 = Single Point Beam(s), 2 = Continuous, 3 = Pulsed) 0 NumPulseGate - Number of lidar measurement gates (used when SensorType = 3) @@ -56,10 +56,10 @@ False TowerFile - Have tower file (.twr) (flag) ignored when WindTy -200 FocalDistanceX - Focal distance co-ordinates of the lidar beam in the x direction (relative to hub height) (only first coordinate used for SensorType 2 and 3) (m) 0 FocalDistanceY - Focal distance co-ordinates of the lidar beam in the y direction (relative to hub height) (only first coordinate used for SensorType 2 and 3) (m) 0 FocalDistanceZ - Focal distance co-ordinates of the lidar beam in the z direction (relative to hub height) (only first coordinate used for SensorType 2 and 3) (m) -0.0 0.0 0.0 RotorApexOffsetPos - Offset of the lidar from hub height (m) + 0, 0, 0 RotorApexOffsetPos - Offset of the lidar from hub height (m) 17 URefLid - Reference average wind speed for the lidar[m/s] 0.25 MeasurementInterval - Time between each measurement [s] - False LidRadialVel - TRUE => return radial component, FALSE => return 'x' direction estimate +False LidRadialVel - TRUE => return radial component, FALSE => return 'x' direction estimate 1 ConsiderHubMotion - Flag whether to consider the hub motion's impact on Lidar measurements ====================== OUTPUT ================================================== False SumPrint - Print summary data to .IfW.sum (flag) diff --git a/data/NREL5MW/5MW_Land_Lin_BladeOnly/ElastoDyn.dat b/data/NREL5MW/5MW_Land_Lin_BladeOnly/ElastoDyn.dat index b60c72d..512877c 100644 --- a/data/NREL5MW/5MW_Land_Lin_BladeOnly/ElastoDyn.dat +++ b/data/NREL5MW/5MW_Land_Lin_BladeOnly/ElastoDyn.dat @@ -1,4 +1,4 @@ -------- ELASTODYN v3.2 INPUT FILE ---------------------------------------------- +------- ELASTODYN for OpenFAST INPUT FILE ------------------------------------------- NREL 5.0 MW Baseline Wind Turbine for Use in Offshore Analysis. Properties from Dutch Offshore Wind Energy Converter (DOWEC) 6MW Pre-Design (10046_009.pdf) and REpower 5M 5MW (5m_uk.pdf) ---------------------- SIMULATION CONTROL -------------------------------------- False Echo - Echo input data to ".ech" (flag) @@ -81,6 +81,9 @@ False PtfmYDOF - Platform yaw rotation DOF (flag) 0 PtfmRIner - Platform inertia for roll tilt rotation about the platform CM (kg m^2) 0 PtfmPIner - Platform inertia for pitch tilt rotation about the platform CM (kg m^2) 0 PtfmYIner - Platform inertia for yaw rotation about the platform CM (kg m^2) +0 PtfmXYIner - Platform xy moment of inertia about the platform CM (=-int(xydm)) (kg m^2) + 0 PtfmYZIner - Platform yz moment of inertia about the platform CM (=-int(yzdm)) (kg m^2) + 0 PtfmXZIner - Platform xz moment of inertia about the platform CM (=-int(xzdm)) (kg m^2) ---------------------- BLADE --------------------------------------------------- 17 BldNodes - Number of blade nodes (per blade) used for analysis (-) "../5MW_Baseline/NRELOffshrBsline5MW_Blade.dat" BldFile(1) - Name of file containing properties for blade 1 (quoted string) @@ -95,6 +98,11 @@ False PtfmYDOF - Platform yaw rotation DOF (flag) 0 TeetHStP - Rotor-teeter hard-stop position (degrees) [used only for 2 blades and when TeetMod=1] 0 TeetSSSp - Rotor-teeter soft-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1] 0 TeetHSSp - Rotor-teeter hard-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1] +---------------------- YAW-FRICTION -------------------------------------------- + 0 YawFrctMod - Yaw-friction model {0: none, 1: friction without Fz term at the yaw bearing, 2: friction includes Fz term at yaw bearing, 3: user defined model} (switch) + 300 M_CSmax - Maximum Coulomb friction torque (N-m)[mu_s*D_eff when YawFrctMod=1 and Fz*mu_s*D_eff when YawFrctMod=2] + 40 M_CD - Dynamic friction moment at null yaw rate (N-m) [mu_d*D_eff when YawFrctMod=1 and Fz*mu_d*D_eff when YawFrctMod=2] + 0 sig_v - Viscous friction coefficient (N-m/(rad/s)) ---------------------- DRIVETRAIN ---------------------------------------------- 100 GBoxEff - Gearbox efficiency (%) 97 GBRatio - Gearbox ratio (-) diff --git a/data/NREL5MW/5MW_Land_Lin_BladeOnly/Main.1.lin b/data/NREL5MW/5MW_Land_Lin_BladeOnly/Main.1.lin index bff9943..a88b70d 100644 --- a/data/NREL5MW/5MW_Land_Lin_BladeOnly/Main.1.lin +++ b/data/NREL5MW/5MW_Land_Lin_BladeOnly/Main.1.lin @@ -1,5 +1,5 @@ -Linearized model: Predictions were generated on 20-Oct-2023 at 14:04:02 using OpenFAST, compiled as a 64-bit application using single precision at commit v3.5.1-dirty +Linearized model: Predictions were generated on 11-Oct-2024 at 11:25:07 using OpenFAST, compiled on Oct 11 2024 at 10:57:47 as a 64-bit application using single precision at commit v3.5.3-1907-g7fc29308-dirty linked with NWTC Subroutine Library; ElastoDyn Description from the FAST input file: NREL Wind Turbine - linearization for blades only, in vaccuum diff --git a/data/NREL5MW/5MW_Land_Lin_BladeOnly/Main.fst b/data/NREL5MW/5MW_Land_Lin_BladeOnly/Main.fst index e4a1070..081e35a 100644 --- a/data/NREL5MW/5MW_Land_Lin_BladeOnly/Main.fst +++ b/data/NREL5MW/5MW_Land_Lin_BladeOnly/Main.fst @@ -14,6 +14,7 @@ NREL Wind Turbine - linearization for blades only, in vaccuum 0 CompInflow - Compute inflow wind velocities (switch) {0=still air; 1=InflowWind; 2=external from OpenFOAM} 0 CompAero - Compute aerodynamic loads (switch) {0=None; 1=AeroDyn v14; 2=AeroDyn v15} 0 CompServo - Compute control and electrical-drive dynamics (switch) {0=None; 1=ServoDyn} + 0 CompSeaSt - Compute sea state information (switch) {0=None; 1=SeaState} 0 CompHydro - Compute hydrodynamic loads (switch) {0=None; 1=HydroDyn} 0 CompSub - Compute sub-structural dynamics (switch) {0=None; 1=SubDyn; 2=External Platform MCKF} 0 CompMooring - Compute mooring system (switch) {0=None; 1=MAP++; 2=FEAMooring; 3=MoorDyn; 4=OrcaFlex} @@ -37,6 +38,7 @@ NREL Wind Turbine - linearization for blades only, in vaccuum "unused" InflowFile - Name of file containing inflow wind input parameters (quoted string) "unused" AeroFile - Name of file containing aerodynamic input parameters (quoted string) "unused" ServoFile - Name of file containing control and electrical-drive input parameters (quoted string) +"unused" SeaStFile - Name of file containing sea state input parameters (quoted string) "unused" HydroFile - Name of file containing hydrodynamic input parameters (quoted string) "unused" SubFile - Name of file containing sub-structural input parameters (quoted string) "unused" MooringFile - Name of file containing mooring system input parameters (quoted string) diff --git a/data/NREL5MW/5MW_Land_Lin_Rotating/.gitignore b/data/NREL5MW/5MW_Land_Lin_Rotating/.gitignore index 31adf5a..dce6a98 100644 --- a/data/NREL5MW/5MW_Land_Lin_Rotating/.gitignore +++ b/data/NREL5MW/5MW_Land_Lin_Rotating/.gitignore @@ -2,4 +2,5 @@ vtk *.chkp *.pyPostMBC *.viz +*.lin Campbell_* diff --git a/data/NREL5MW/5MW_Land_Lin_Rotating/AeroDyn.dat b/data/NREL5MW/5MW_Land_Lin_Rotating/AeroDyn.dat index d0bd676..3a16c67 100644 --- a/data/NREL5MW/5MW_Land_Lin_Rotating/AeroDyn.dat +++ b/data/NREL5MW/5MW_Land_Lin_Rotating/AeroDyn.dat @@ -1,53 +1,65 @@ -------- AERODYN v15 for OpenFAST INPUT FILE ----------------------------------------------- +------- AERODYN INPUT FILE -------------------------------------------------------------------------- NREL 5.0 MW offshore baseline aerodynamic input properties. ====== General Options ============================================================================ -False Echo - Echo the input to ".AD.ech"? (flag) -"default" DTAero - Time interval for aerodynamic calculations {or "default"} (s) - 1 WakeMod - Type of wake/induction model (switch) {0=none, 1=BEMT, 2=DBEMT, 3=OLAF} [WakeMod cannot be 2 or 3 when linearizing] - 1 AFAeroMod - Type of blade airfoil aerodynamics model (switch) {1=steady model, 2=Beddoes-Leishman unsteady model} [AFAeroMod must be 1 when linearizing] - 0 TwrPotent - Type tower influence on wind based on potential flow around the tower (switch) {0=none, 1=baseline potential flow, 2=potential flow with Bak correction} - 0 TwrShadow - Calculate tower influence on wind based on downstream tower shadow (switch) {0=none, 1=Powles model, 2=Eames model} -False TwrAero - Calculate tower aerodynamic loads? (flag) -True FrozenWake - Assume frozen wake during linearization? (flag) [used only when WakeMod=1 and when linearizing] -False CavitCheck - Perform cavitation check? (flag) [AFAeroMod must be 1 when CavitCheck=true] -False Buoyancy - Include buoyancy effects? (flag) -False CompAA - Flag to compute AeroAcoustics calculation [used only when WakeMod = 1 or 2] -"unused" AA_InputFile - AeroAcoustics input file [used only when CompAA=true] +False Echo - Echo the input to ".AD.ech"? (flag) +"default" DTAero - Time interval for aerodynamic calculations {or "default"} (s) +1 Wake_Mod - Wake/induction model (switch) {0=none, 1=BEMT, 3=OLAF} [Wake_Mod cannot be 2 or 3 when linearizing] +0 TwrPotent - Type tower influence on wind based on potential flow around the tower (switch) {0=none, 1=baseline potential flow, 2=potential flow with Bak correction} +0 TwrShadow - Calculate tower influence on wind based on downstream tower shadow (switch) {0=none, 1=Powles model, 2=Eames model} +False TwrAero - Calculate tower aerodynamic loads? (flag) +False CavitCheck - Perform cavitation check? (flag) [UA_Mod must be 0 when CavitCheck=true] +False Buoyancy - Include buoyancy effects? (flag) +False NacelleDrag - Include Nacelle Drag effects? (flag) +False CompAA - Flag to compute AeroAcoustics calculation [used only when Wake_Mod = 1 or 2] +"unused" AA_InputFile - AeroAcoustics input file [used only when CompAA=true] ====== Environmental Conditions =================================================================== -"default" AirDens - Air density (kg/m^3) -"default" KinVisc - Kinematic viscosity of working fluid (m^2/s) -"default" SpdSound - Speed of sound in working fluid (m/s) -"default" Patm - Atmospheric pressure (Pa) [used only when CavitCheck=True] -"default" Pvap - Vapour pressure of working fluid (Pa) [used only when CavitCheck=True] -====== Blade-Element/Momentum Theory Options ====================================================== [unused when WakeMod=0 or 3] - 2 SkewMod - Type of skewed-wake correction model (switch) {1=uncoupled, 2=Pitt/Peters, 3=coupled} [unused when WakeMod=0 or 3] -"default" SkewModFactor - Constant used in Pitt/Peters skewed wake model {or "default" is 15/32*pi} (-) [used only when SkewMod=2; unused when WakeMod=0 or 3] -True TipLoss - Use the Prandtl tip-loss model? (flag) [unused when WakeMod=0 or 3] -True HubLoss - Use the Prandtl hub-loss model? (flag) [unused when WakeMod=0 or 3] -True TanInd - Include tangential induction in BEMT calculations? (flag) [unused when WakeMod=0 or 3] -False AIDrag - Include the drag term in the axial-induction calculation? (flag) [unused when WakeMod=0 or 3] -False TIDrag - Include the drag term in the tangential-induction calculation? (flag) [unused when WakeMod=0,3 or TanInd=FALSE] -"Default" IndToler - Convergence tolerance for BEMT nonlinear solve residual equation {or "default"} (-) [unused when WakeMod=0 or 3] - 100 MaxIter - Maximum number of iteration steps (-) [unused when WakeMod=0] -====== Dynamic Blade-Element/Momentum Theory Options ============================================== [used only when WakeMod=2] - 2 DBEMT_Mod - Type of dynamic BEMT (DBEMT) model {1=constant tau1, 2=time-dependent tau1} (-) [used only when WakeMod=2] - 4 tau1_const - Time constant for DBEMT (s) [used only when WakeMod=2 and DBEMT_Mod=1] -====== OLAF -- cOnvecting LAgrangian Filaments (Free Vortex Wake) Theory Options ================== [used only when WakeMod=3] -"unused" OLAFInputFileName - Input file for OLAF [used only when WakeMod=3] -====== Beddoes-Leishman Unsteady Airfoil Aerodynamics Options ===================================== [used only when AFAeroMod=2] - 3 UAMod - Unsteady Aero Model Switch (switch) {1=Baseline model (Original), 2=Gonzalez’s variant (changes in Cn,Cc,Cm), 3=Minemma/Pierce variant (changes in Cc and Cm)} [used only when AFAeroMod=2] -True FLookup - Flag to indicate whether a lookup for f' will be calculated (TRUE) or whether best-fit exponential equations will be used (FALSE); if FALSE S1-S4 must be provided in airfoil input files (flag) [used only when AFAeroMod=2] -0.15 UAStartRad - Starting radius for dynamic stall (fraction of rotor radius) [used only when AFAeroMod=2] -1.0 UAEndRad - Ending radius for dynamic stall (fraction of rotor radius) [used only when AFAeroMod=2] +"default" AirDens - Air density (kg/m^3) +"default" KinVisc - Kinematic viscosity of working fluid (m^2/s) +"default" SpdSound - Speed of sound in working fluid (m/s) +"default" Patm - Atmospheric pressure (Pa) [used only when CavitCheck=True] +"default" Pvap - Vapour pressure of working fluid (Pa) [used only when CavitCheck=True] +====== Blade-Element/Momentum Theory Options ====================================================== [unused when Wake_Mod=0 or 3, except for BEM_Mod] +1 BEM_Mod - BEM model {1=legacy NoSweepPitchTwist, 2=polar} (switch) [used for all Wake_Mod to determine output coordinate system] +--- Skew correction +1 Skew_Mod - Skew model {0=No skew model, -1=Remove non-normal component for linearization, 1=skew model active} +False SkewMomCorr - Turn the skew momentum correction on or off [used only when Skew_Mod=1] +default SkewRedistr_Mod - Type of skewed-wake correction model (switch) {0=no redistribution, 1=Glauert/Pitt/Peters, default=1} [used only when Skew_Mod=1] +"default" SkewRedistrFactor - Constant used in Pitt/Peters skewed wake model {or "default" is 15/32*pi} (-) [used only when Skew_Mod=1 and SkewRedistr_Mod=1] +--- BEM algorithm +True TipLoss - Use the Prandtl tip-loss model? (flag) [unused when Wake_Mod=0 or 3] +True HubLoss - Use the Prandtl hub-loss model? (flag) [unused when Wake_Mod=0 or 3] +True TanInd - Include tangential induction in BEMT calculations? (flag) [unused when Wake_Mod=0 or 3] +False AIDrag - Include the drag term in the axial-induction calculation? (flag) [unused when Wake_Mod=0 or 3] +False TIDrag - Include the drag term in the tangential-induction calculation? (flag) [unused when Wake_Mod=0,3 or TanInd=FALSE] +"Default" IndToler - Convergence tolerance for BEMT nonlinear solve residual equation {or "default"} (-) [unused when Wake_Mod=0 or 3] +100 MaxIter - Maximum number of iteration steps (-) [unused when Wake_Mod=0] +--- Shear correction +False SectAvg - Use sector averaging (flag) +1 SectAvgWeighting - Weighting function for sector average {1=Uniform, default=1} within a sector centered on the blade (switch) [used only when SectAvg=True] +default SectAvgNPoints - Number of points per sectors (-) {default=5} [used only when SectAvg=True] +default SectAvgPsiBwd - Backward azimuth relative to blade where the sector starts (<=0) {default=-60} (deg) [used only when SectAvg=True] +default SectAvgPsiFwd - Forward azimuth relative to blade where the sector ends (>=0) {default=60} (deg) [used only when SectAvg=True] +--- Dynamic wake/inflow +-1 DBEMT_Mod - Type of dynamic BEMT (DBEMT) model {0=No Dynamic Wake, -1=Frozen Wake for linearization, 1:constant tau1, 2=time-dependent tau1, 3=constant tau1 with continuous formulation} (-) +4 tau1_const - Time constant for DBEMT (s) [used only when DBEMT_Mod=1 or 3] +====== OLAF -- cOnvecting LAgrangian Filaments (Free Vortex Wake) Theory Options ================== [used only when Wake_Mod=3] +"unused" OLAFInputFileName - Input file for OLAF [used only when Wake_Mod=3] +====== Unsteady Airfoil Aerodynamics Options ==================================================== +False AoA34 - Sample the angle of attack (AoA) at the 3/4 chord or the AC point {default=True} [always used] +0 UA_Mod - Unsteady Aero Model Switch (switch) {0=Quasi-steady (no UA), 2=B-L Gonzalez, 3=B-L Minnema/Pierce, 4=B-L HGM 4-states, 5=B-L HGM+vortex 5 states, 6=Oye, 7=Boeing-Vertol} +True FLookup - Flag to indicate whether a lookup for f' will be calculated (TRUE) or whether best-fit exponential equations will be used (FALSE); if FALSE S1-S4 must be provided in airfoil input files (flag) [used only when UA_Mod>0] +3 IntegrationMethod - Switch to indicate which integration method UA uses (1=RK4, 2=AB4, 3=ABM4, 4=BDF2) +0.15 UAStartRad - Starting radius for dynamic stall (fraction of rotor radius) [used only when UA_Mod>0] +1.0 UAEndRad - Ending radius for dynamic stall (fraction of rotor radius) [used only when UA_Mod>0] ====== Airfoil Information ========================================================================= - 1 AFTabMod - Interpolation method for multiple airfoil tables {1=1D interpolation on AoA (first table only); 2=2D interpolation on AoA and Re; 3=2D interpolation on AoA and UserProp} (-) - 1 InCol_Alfa - The column in the airfoil tables that contains the angle of attack (-) - 2 InCol_Cl - The column in the airfoil tables that contains the lift coefficient (-) - 3 InCol_Cd - The column in the airfoil tables that contains the drag coefficient (-) - 4 InCol_Cm - The column in the airfoil tables that contains the pitching-moment coefficient; use zero if there is no Cm column (-) - 0 InCol_Cpmin - The column in the airfoil tables that contains the Cpmin coefficient; use zero if there is no Cpmin column (-) - 8 NumAFfiles - Number of airfoil files used (-) -"../5MW_Baseline/Airfoils/Cylinder1.dat" AFNames - Airfoil file names (NumAFfiles lines) (quoted strings) +1 AFTabMod - Interpolation method for multiple airfoil tables {1=1D interpolation on AoA (first table only); 2=2D interpolation on AoA and Re; 3=2D interpolation on AoA and UserProp} (-) +1 InCol_Alfa - The column in the airfoil tables that contains the angle of attack (-) +2 InCol_Cl - The column in the airfoil tables that contains the lift coefficient (-) +3 InCol_Cd - The column in the airfoil tables that contains the drag coefficient (-) +4 InCol_Cm - The column in the airfoil tables that contains the pitching-moment coefficient; use zero if there is no Cm column (-) +0 InCol_Cpmin - The column in the airfoil tables that contains the Cpmin coefficient; use zero if there is no Cpmin column (-) +8 NumAFfiles - Number of airfoil files used (-) +"../5MW_Baseline/Airfoils/Cylinder1.dat" AFNames - Airfoil file names (NumAFfiles lines) (quoted strings) "../5MW_Baseline/Airfoils/Cylinder2.dat" "../5MW_Baseline/Airfoils/DU40_A17.dat" "../5MW_Baseline/Airfoils/DU35_A17.dat" @@ -56,49 +68,53 @@ True FLookup - Flag to indicate whether a lookup for f' will "../5MW_Baseline/Airfoils/DU21_A17.dat" "../5MW_Baseline/Airfoils/NACA64_A17.dat" ====== Rotor/Blade Properties ===================================================================== -True UseBlCm - Include aerodynamic pitching moment in calculations? (flag) -"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(1) - Name of file containing distributed aerodynamic properties for Blade #1 (-) -"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(2) - Name of file containing distributed aerodynamic properties for Blade #2 (-) [unused if NumBl < 2] -"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(3) - Name of file containing distributed aerodynamic properties for Blade #3 (-) [unused if NumBl < 3] +True UseBlCm - Include aerodynamic pitching moment in calculations? (flag) +"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(1) - Name of file containing distributed aerodynamic properties for Blade #1 (-) +"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(2) - Name of file containing distributed aerodynamic properties for Blade #2 (-) [unused if NumBl < 2] +"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(3) - Name of file containing distributed aerodynamic properties for Blade #3 (-) [unused if NumBl < 3] ====== Hub Properties ============================================================================== [used only when Buoyancy=True] -0.0 VolHub - Hub volume (m^3) -0.0 HubCenBx - Hub center of buoyancy x direction offset (m) +0.0 VolHub - Hub volume (m^3) +0.0 HubCenBx - Hub center of buoyancy x direction offset (m) ====== Nacelle Properties ========================================================================== [used only when Buoyancy=True] -0.0 VolNac - Nacelle volume (m^3) -0,0,0 NacCenB - Position of nacelle center of buoyancy from yaw bearing in nacelle coordinates (m) +0.0 VolNac - Nacelle volume (m^3) +0, 0, 0 NacCenB - Position of nacelle center of buoyancy from yaw bearing in nacelle coordinates (m) +0, 0, 0 NacArea - Projected area of the nacelle in X, Y, Z in the nacelle coordinate system (m^2) +0, 0, 0 NacCd - Drag coefficient for the nacelle areas defined above (-) +0, 0, 0 NacDragAC - Position of aerodynamic center of nacelle drag in nacelle coordinates (m) ====== Tail fin Aerodynamics ======================================================================== -False TFinAero - Calculate tail fin aerodynamics model (flag) -"unused" TFinFile - Input file for tail fin aerodynamics [used only when TFinAero=True] +False TFinAero - Calculate tail fin aerodynamics model (flag) +"unused" TFinFile - Input file for tail fin aerodynamics [used only when TFinAero=True] ====== Tower Influence and Aerodynamics ============================================================ [used only when TwrPotent/=0, TwrShadow/=0, TwrAero=True, or Buoyancy=True] - 12 NumTwrNds - Number of tower nodes used in the analysis (-) [used only when TwrPotent/=0, TwrShadow/=0, TwrAero=True, or Buoyancy=True] -TwrElev TwrDiam TwrCd TwrTI TwrCb !TwrTI used only with TwrShadow=2, TwrCb used only with Buoyancy=True -(m) (m) (-) (-) (-) -0.0000000E+00 6.0000000E+00 1.0000000E+00 1.0000000E-01 0.0 -8.5261000E+00 5.7870000E+00 1.0000000E+00 1.0000000E-01 0.0 -1.7053000E+01 5.5740000E+00 1.0000000E+00 1.0000000E-01 0.0 -2.5579000E+01 5.3610000E+00 1.0000000E+00 1.0000000E-01 0.0 -3.4105000E+01 5.1480000E+00 1.0000000E+00 1.0000000E-01 0.0 -4.2633000E+01 4.9350000E+00 1.0000000E+00 1.0000000E-01 0.0 -5.1158000E+01 4.7220000E+00 1.0000000E+00 1.0000000E-01 0.0 -5.9685000E+01 4.5090000E+00 1.0000000E+00 1.0000000E-01 0.0 -6.8211000E+01 4.2960000E+00 1.0000000E+00 1.0000000E-01 0.0 -7.6738000E+01 4.0830000E+00 1.0000000E+00 1.0000000E-01 0.0 -8.5268000E+01 3.8700000E+00 1.0000000E+00 1.0000000E-01 0.0 -8.7600000E+01 3.8700000E+00 1.0000000E+00 1.0000000E-01 0.0 +12 NumTwrNds - Number of tower nodes used in the analysis (-) [used only when TwrPotent/=0, TwrShadow/=0, TwrAero=True, or Buoyancy=True] +TwrElev TwrDiam TwrCd TwrTI TwrCb !TwrTI used only with TwrShadow=2, TwrCb used only with Buoyancy=True +(m) (m) (-) (-) (-) +0.0000000E+00 6.0000000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +8.5261000E+00 5.7870000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +1.7053000E+01 5.5740000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +2.5579000E+01 5.3610000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +3.4105000E+01 5.1480000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +4.2633000E+01 4.9350000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +5.1158000E+01 4.7220000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +5.9685000E+01 4.5090000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +6.8211000E+01 4.2960000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +7.6738000E+01 4.0830000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +8.5268000E+01 3.8700000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +8.7600000E+01 3.8700000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 ====== Outputs ==================================================================================== -False SumPrint - Generate a summary file listing input options and interpolated properties to ".AD.sum"? (flag) - 0 NBlOuts - Number of blade node outputs [0 - 9] (-) - 1 BlOutNd - Blade nodes whose values will be output (-) - 0 NTwOuts - Number of tower node outputs [0 - 9] (-) - 1 TwOutNd - Tower nodes whose values will be output (-) - OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) +False SumPrint - Generate a summary file listing input options and interpolated properties to ".AD.sum"? (flag) +0 NBlOuts - Number of blade node outputs [0 - 9] (-) +1 BlOutNd - Blade nodes whose values will be output (-) +0 NTwOuts - Number of tower node outputs [0 - 9] (-) +1 TwOutNd - Tower nodes whose values will be output (-) + OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) "RtAeroPwr" "RtAeroCp" "RtAeroCt" END of input file (the word "END" must appear in the first 3 columns of this last OutList line) ====== Outputs for all blade stations (same ending as above for B1N1.... =========================== [optional section] - 0 BldNd_BladesOut - Number of blades to output all node information at. Up to number of blades on turbine. (-) - "All" BldNd_BlOutNd - Future feature will allow selecting a portion of the nodes to output. Not implemented yet. (-) - OutListAD - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) +0 BldNd_BladesOut - Number of blades to output all node information at. Up to number of blades on turbine. (-) +"All" BldNd_BlOutNd - Future feature will allow selecting a portion of the nodes to output. Not implemented yet. (-) + OutListAD_Nodal - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) + END of input file (the word "END" must appear in the first 3 columns of this last OutList line) --------------------------------------------------------------------------------------- diff --git a/data/NREL5MW/5MW_Land_Lin_Rotating/ElastoDyn.dat b/data/NREL5MW/5MW_Land_Lin_Rotating/ElastoDyn.dat index afb19c1..1dbaae2 100644 --- a/data/NREL5MW/5MW_Land_Lin_Rotating/ElastoDyn.dat +++ b/data/NREL5MW/5MW_Land_Lin_Rotating/ElastoDyn.dat @@ -81,6 +81,9 @@ False PtfmYDOF - Platform yaw rotation DOF (flag) 0 PtfmRIner - Platform inertia for roll tilt rotation about the platform CM (kg m^2) 0 PtfmPIner - Platform inertia for pitch tilt rotation about the platform CM (kg m^2) 0 PtfmYIner - Platform inertia for yaw rotation about the platform CM (kg m^2) + 0 PtfmXYIner - Platform xy moment of inertia about the platform CM (=-int(xydm)) (kg m^2) + 0 PtfmYZIner - Platform yz moment of inertia about the platform CM (=-int(yzdm)) (kg m^2) + 0 PtfmXZIner - Platform xz moment of inertia about the platform CM (=-int(xzdm)) (kg m^2) ---------------------- BLADE --------------------------------------------------- 17 BldNodes - Number of blade nodes (per blade) used for analysis (-) "../5MW_Baseline/NRELOffshrBsline5MW_Blade.dat" BldFile(1) - Name of file containing properties for blade 1 (quoted string) @@ -95,6 +98,11 @@ False PtfmYDOF - Platform yaw rotation DOF (flag) 0 TeetHStP - Rotor-teeter hard-stop position (degrees) [used only for 2 blades and when TeetMod=1] 0 TeetSSSp - Rotor-teeter soft-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1] 0 TeetHSSp - Rotor-teeter hard-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1] +---------------------- YAW-FRICTION -------------------------------------------- + 0 YawFrctMod - Yaw-friction model {0: none, 1: friction without Fz term at the yaw bearing, 2: friction includes Fz term at yaw bearing, 3: user defined model} (switch) + 0 M_CSmax - Maximum Coulomb friction torque (N-m)[mu_s*D_eff when YawFrctMod=1 and Fz*mu_s*D_eff when YawFrctMod=2] + 0 M_CD - Dynamic friction moment at null yaw rate (N-m) [mu_d*D_eff when YawFrctMod=1 and Fz*mu_d*D_eff when YawFrctMod=2] + 0 sig_v - Viscous friction coefficient (N-m/(rad/s)) ---------------------- DRIVETRAIN ---------------------------------------------- 100 GBoxEff - Gearbox efficiency (%) 97 GBRatio - Gearbox ratio (-) @@ -142,4 +150,4 @@ END of input file (the word "END" must appear in the first 3 columns of this las 99 BldNd_BlOutNd - Blade nodes on each blade (currently unused) OutListED - The next line(s) contains a list of output parameters. See OutListParameters.xlsx, ElastoDyn_Nodes tab for a listing of available output channels, (-) END of input file (the word "END" must appear in the first 3 columns of this last OutList line) ---------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------- \ No newline at end of file diff --git a/data/NREL5MW/5MW_Land_Lin_Rotating/Main.fst b/data/NREL5MW/5MW_Land_Lin_Rotating/Main.fst index 18f3dff..f98db2e 100644 --- a/data/NREL5MW/5MW_Land_Lin_Rotating/Main.fst +++ b/data/NREL5MW/5MW_Land_Lin_Rotating/Main.fst @@ -1,4 +1,4 @@ -------- OpenFAST v3.2 INPUT FILE ----------------------------------------------- +------- OpenFAST EXAMPLE INPUT FILE ------------------------------------------- NREL Wind Turbine - linearization using trim solution for a rotational speed of 9 RPM ---------------------- SIMULATION CONTROL -------------------------------------- False Echo - Echo input data to .ech (flag) @@ -14,8 +14,9 @@ NREL Wind Turbine - linearization using trim solution for a rotational speed of 1 CompInflow - Compute inflow wind velocities (switch) {0=still air; 1=InflowWind; 2=external from OpenFOAM} 2 CompAero - Compute aerodynamic loads (switch) {0=None; 1=AeroDyn v14; 2=AeroDyn v15} 1 CompServo - Compute control and electrical-drive dynamics (switch) {0=None; 1=ServoDyn} + 0 CompSeaSt - Compute sea state information (switch) {0=None; 1=SeaState} 0 CompHydro - Compute hydrodynamic loads (switch) {0=None; 1=HydroDyn} - 0 CompSub - Compute sub-structural dynamics (switch) {0=None; 1=SubDyn; 2=External Platform MCKF} + 0 CompSub - Compute sub-structural dynamics (switch) {0=None; 1=SubDyn} 0 CompMooring - Compute mooring system (switch) {0=None; 1=MAP++; 2=FEAMooring; 3=MoorDyn; 4=OrcaFlex} 0 CompIce - Compute ice loads (switch) {0=None; 1=IceFloe; 2=IceDyn} 0 MHK - MHK turbine type (switch) {0=Not an MHK turbine; 1=Fixed MHK turbine; 2=Floating MHK turbine} @@ -37,6 +38,7 @@ NREL Wind Turbine - linearization using trim solution for a rotational speed of "InflowWind.dat" InflowFile - Name of file containing inflow wind input parameters (quoted string) "AeroDyn.dat" AeroFile - Name of file containing aerodynamic input parameters (quoted string) "ServoDyn.dat" ServoFile - Name of file containing control and electrical-drive input parameters (quoted string) +"unused" SeaStFile - Name of file containing sea state input parameters (quoted string) "unused" HydroFile - Name of file containing hydrodynamic input parameters (quoted string) "unused" SubFile - Name of file containing sub-structural input parameters (quoted string) "unused" MooringFile - Name of file containing mooring system input parameters (quoted string) diff --git a/data/NREL5MW/5MW_Land_Lin_Templates/AeroDyn.dat b/data/NREL5MW/5MW_Land_Lin_Templates/AeroDyn.dat index 49a45d3..3a16c67 100644 --- a/data/NREL5MW/5MW_Land_Lin_Templates/AeroDyn.dat +++ b/data/NREL5MW/5MW_Land_Lin_Templates/AeroDyn.dat @@ -1,53 +1,65 @@ -------- AERODYN v15 for OpenFAST INPUT FILE ----------------------------------------------- +------- AERODYN INPUT FILE -------------------------------------------------------------------------- NREL 5.0 MW offshore baseline aerodynamic input properties. ====== General Options ============================================================================ -False Echo - Echo the input to ".AD.ech"? (flag) -"default" DTAero - Time interval for aerodynamic calculations {or "default"} (s) - 1 WakeMod - Type of wake/induction model (switch) {0=none, 1=BEMT, 2=DBEMT, 3=OLAF} [WakeMod cannot be 2 or 3 when linearizing] - 1 AFAeroMod - Type of blade airfoil aerodynamics model (switch) {1=steady model, 2=Beddoes-Leishman unsteady model} [AFAeroMod must be 1 when linearizing] - 0 TwrPotent - Type tower influence on wind based on potential flow around the tower (switch) {0=none, 1=baseline potential flow, 2=potential flow with Bak correction} - 0 TwrShadow - Calculate tower influence on wind based on downstream tower shadow (switch) {0=none, 1=Powles model, 2=Eames model} -False TwrAero - Calculate tower aerodynamic loads? (flag) -True FrozenWake - Assume frozen wake during linearization? (flag) [used only when WakeMod=1 and when linearizing] -False CavitCheck - Perform cavitation check? (flag) [AFAeroMod must be 1 when CavitCheck=true] -False Buoyancy - Include buoyancy effects? (flag) -False CompAA - Flag to compute AeroAcoustics calculation [used only when WakeMod = 1 or 2] -"unused" AA_InputFile - AeroAcoustics input file [used only when CompAA=true] +False Echo - Echo the input to ".AD.ech"? (flag) +"default" DTAero - Time interval for aerodynamic calculations {or "default"} (s) +1 Wake_Mod - Wake/induction model (switch) {0=none, 1=BEMT, 3=OLAF} [Wake_Mod cannot be 2 or 3 when linearizing] +0 TwrPotent - Type tower influence on wind based on potential flow around the tower (switch) {0=none, 1=baseline potential flow, 2=potential flow with Bak correction} +0 TwrShadow - Calculate tower influence on wind based on downstream tower shadow (switch) {0=none, 1=Powles model, 2=Eames model} +False TwrAero - Calculate tower aerodynamic loads? (flag) +False CavitCheck - Perform cavitation check? (flag) [UA_Mod must be 0 when CavitCheck=true] +False Buoyancy - Include buoyancy effects? (flag) +False NacelleDrag - Include Nacelle Drag effects? (flag) +False CompAA - Flag to compute AeroAcoustics calculation [used only when Wake_Mod = 1 or 2] +"unused" AA_InputFile - AeroAcoustics input file [used only when CompAA=true] ====== Environmental Conditions =================================================================== -"default" AirDens - Air density (kg/m^3) -"default" KinVisc - Kinematic viscosity of working fluid (m^2/s) -"default" SpdSound - Speed of sound in working fluid (m/s) -"default" Patm - Atmospheric pressure (Pa) [used only when CavitCheck=True] -"default" Pvap - Vapour pressure of working fluid (Pa) [used only when CavitCheck=True] -====== Blade-Element/Momentum Theory Options ====================================================== [unused when WakeMod=0 or 3] - 2 SkewMod - Type of skewed-wake correction model (switch) {1=uncoupled, 2=Pitt/Peters, 3=coupled} [unused when WakeMod=0 or 3] -"default" SkewModFactor - Constant used in Pitt/Peters skewed wake model {or "default" is 15/32*pi} (-) [used only when SkewMod=2; unused when WakeMod=0 or 3] -True TipLoss - Use the Prandtl tip-loss model? (flag) [unused when WakeMod=0 or 3] -True HubLoss - Use the Prandtl hub-loss model? (flag) [unused when WakeMod=0 or 3] -True TanInd - Include tangential induction in BEMT calculations? (flag) [unused when WakeMod=0 or 3] -False AIDrag - Include the drag term in the axial-induction calculation? (flag) [unused when WakeMod=0 or 3] -False TIDrag - Include the drag term in the tangential-induction calculation? (flag) [unused when WakeMod=0,3 or TanInd=FALSE] -"Default" IndToler - Convergence tolerance for BEMT nonlinear solve residual equation {or "default"} (-) [unused when WakeMod=0 or 3] - 100 MaxIter - Maximum number of iteration steps (-) [unused when WakeMod=0] -====== Dynamic Blade-Element/Momentum Theory Options ============================================== [used only when WakeMod=2] - 2 DBEMT_Mod - Type of dynamic BEMT (DBEMT) model {1=constant tau1, 2=time-dependent tau1, 3=constant tau1 with continuous formulation} (-) [used only when WakeMod=2] - 4 tau1_const - Time constant for DBEMT (s) [used only when WakeMod=2 and DBEMT_Mod=1 or 3] -====== OLAF -- cOnvecting LAgrangian Filaments (Free Vortex Wake) Theory Options ================== [used only when WakeMod=3] -"unused" OLAFInputFileName - Input file for OLAF [used only when WakeMod=3] -====== Beddoes-Leishman Unsteady Airfoil Aerodynamics Options ===================================== [used only when AFAeroMod=2] - 3 UAMod - Unsteady Aero Model Switch (switch) {2=B-L Gonzalez, 3=B-L Minnema/Pierce, 4=B-L HGM 4-states, 5=B-L 5 states, 6=Oye, 7=Boeing-Vertol} [used only when AFAeroMod=2] -True FLookup - Flag to indicate whether a lookup for f' will be calculated (TRUE) or whether best-fit exponential equations will be used (FALSE); if FALSE S1-S4 must be provided in airfoil input files (flag) [used only when AFAeroMod=2] -0.15 UAStartRad - Starting radius for dynamic stall (fraction of rotor radius) [used only when AFAeroMod=2] -1.0 UAEndRad - Ending radius for dynamic stall (fraction of rotor radius) [used only when AFAeroMod=2] +"default" AirDens - Air density (kg/m^3) +"default" KinVisc - Kinematic viscosity of working fluid (m^2/s) +"default" SpdSound - Speed of sound in working fluid (m/s) +"default" Patm - Atmospheric pressure (Pa) [used only when CavitCheck=True] +"default" Pvap - Vapour pressure of working fluid (Pa) [used only when CavitCheck=True] +====== Blade-Element/Momentum Theory Options ====================================================== [unused when Wake_Mod=0 or 3, except for BEM_Mod] +1 BEM_Mod - BEM model {1=legacy NoSweepPitchTwist, 2=polar} (switch) [used for all Wake_Mod to determine output coordinate system] +--- Skew correction +1 Skew_Mod - Skew model {0=No skew model, -1=Remove non-normal component for linearization, 1=skew model active} +False SkewMomCorr - Turn the skew momentum correction on or off [used only when Skew_Mod=1] +default SkewRedistr_Mod - Type of skewed-wake correction model (switch) {0=no redistribution, 1=Glauert/Pitt/Peters, default=1} [used only when Skew_Mod=1] +"default" SkewRedistrFactor - Constant used in Pitt/Peters skewed wake model {or "default" is 15/32*pi} (-) [used only when Skew_Mod=1 and SkewRedistr_Mod=1] +--- BEM algorithm +True TipLoss - Use the Prandtl tip-loss model? (flag) [unused when Wake_Mod=0 or 3] +True HubLoss - Use the Prandtl hub-loss model? (flag) [unused when Wake_Mod=0 or 3] +True TanInd - Include tangential induction in BEMT calculations? (flag) [unused when Wake_Mod=0 or 3] +False AIDrag - Include the drag term in the axial-induction calculation? (flag) [unused when Wake_Mod=0 or 3] +False TIDrag - Include the drag term in the tangential-induction calculation? (flag) [unused when Wake_Mod=0,3 or TanInd=FALSE] +"Default" IndToler - Convergence tolerance for BEMT nonlinear solve residual equation {or "default"} (-) [unused when Wake_Mod=0 or 3] +100 MaxIter - Maximum number of iteration steps (-) [unused when Wake_Mod=0] +--- Shear correction +False SectAvg - Use sector averaging (flag) +1 SectAvgWeighting - Weighting function for sector average {1=Uniform, default=1} within a sector centered on the blade (switch) [used only when SectAvg=True] +default SectAvgNPoints - Number of points per sectors (-) {default=5} [used only when SectAvg=True] +default SectAvgPsiBwd - Backward azimuth relative to blade where the sector starts (<=0) {default=-60} (deg) [used only when SectAvg=True] +default SectAvgPsiFwd - Forward azimuth relative to blade where the sector ends (>=0) {default=60} (deg) [used only when SectAvg=True] +--- Dynamic wake/inflow +-1 DBEMT_Mod - Type of dynamic BEMT (DBEMT) model {0=No Dynamic Wake, -1=Frozen Wake for linearization, 1:constant tau1, 2=time-dependent tau1, 3=constant tau1 with continuous formulation} (-) +4 tau1_const - Time constant for DBEMT (s) [used only when DBEMT_Mod=1 or 3] +====== OLAF -- cOnvecting LAgrangian Filaments (Free Vortex Wake) Theory Options ================== [used only when Wake_Mod=3] +"unused" OLAFInputFileName - Input file for OLAF [used only when Wake_Mod=3] +====== Unsteady Airfoil Aerodynamics Options ==================================================== +False AoA34 - Sample the angle of attack (AoA) at the 3/4 chord or the AC point {default=True} [always used] +0 UA_Mod - Unsteady Aero Model Switch (switch) {0=Quasi-steady (no UA), 2=B-L Gonzalez, 3=B-L Minnema/Pierce, 4=B-L HGM 4-states, 5=B-L HGM+vortex 5 states, 6=Oye, 7=Boeing-Vertol} +True FLookup - Flag to indicate whether a lookup for f' will be calculated (TRUE) or whether best-fit exponential equations will be used (FALSE); if FALSE S1-S4 must be provided in airfoil input files (flag) [used only when UA_Mod>0] +3 IntegrationMethod - Switch to indicate which integration method UA uses (1=RK4, 2=AB4, 3=ABM4, 4=BDF2) +0.15 UAStartRad - Starting radius for dynamic stall (fraction of rotor radius) [used only when UA_Mod>0] +1.0 UAEndRad - Ending radius for dynamic stall (fraction of rotor radius) [used only when UA_Mod>0] ====== Airfoil Information ========================================================================= - 1 AFTabMod - Interpolation method for multiple airfoil tables {1=1D interpolation on AoA (first table only); 2=2D interpolation on AoA and Re; 3=2D interpolation on AoA and UserProp} (-) - 1 InCol_Alfa - The column in the airfoil tables that contains the angle of attack (-) - 2 InCol_Cl - The column in the airfoil tables that contains the lift coefficient (-) - 3 InCol_Cd - The column in the airfoil tables that contains the drag coefficient (-) - 4 InCol_Cm - The column in the airfoil tables that contains the pitching-moment coefficient; use zero if there is no Cm column (-) - 0 InCol_Cpmin - The column in the airfoil tables that contains the Cpmin coefficient; use zero if there is no Cpmin column (-) - 8 NumAFfiles - Number of airfoil files used (-) -"../5MW_Baseline/Airfoils/Cylinder1.dat" AFNames - Airfoil file names (NumAFfiles lines) (quoted strings) +1 AFTabMod - Interpolation method for multiple airfoil tables {1=1D interpolation on AoA (first table only); 2=2D interpolation on AoA and Re; 3=2D interpolation on AoA and UserProp} (-) +1 InCol_Alfa - The column in the airfoil tables that contains the angle of attack (-) +2 InCol_Cl - The column in the airfoil tables that contains the lift coefficient (-) +3 InCol_Cd - The column in the airfoil tables that contains the drag coefficient (-) +4 InCol_Cm - The column in the airfoil tables that contains the pitching-moment coefficient; use zero if there is no Cm column (-) +0 InCol_Cpmin - The column in the airfoil tables that contains the Cpmin coefficient; use zero if there is no Cpmin column (-) +8 NumAFfiles - Number of airfoil files used (-) +"../5MW_Baseline/Airfoils/Cylinder1.dat" AFNames - Airfoil file names (NumAFfiles lines) (quoted strings) "../5MW_Baseline/Airfoils/Cylinder2.dat" "../5MW_Baseline/Airfoils/DU40_A17.dat" "../5MW_Baseline/Airfoils/DU35_A17.dat" @@ -56,49 +68,53 @@ True FLookup - Flag to indicate whether a lookup for f' will "../5MW_Baseline/Airfoils/DU21_A17.dat" "../5MW_Baseline/Airfoils/NACA64_A17.dat" ====== Rotor/Blade Properties ===================================================================== -True UseBlCm - Include aerodynamic pitching moment in calculations? (flag) -"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(1) - Name of file containing distributed aerodynamic properties for Blade #1 (-) -"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(2) - Name of file containing distributed aerodynamic properties for Blade #2 (-) [unused if NumBl < 2] -"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(3) - Name of file containing distributed aerodynamic properties for Blade #3 (-) [unused if NumBl < 3] +True UseBlCm - Include aerodynamic pitching moment in calculations? (flag) +"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(1) - Name of file containing distributed aerodynamic properties for Blade #1 (-) +"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(2) - Name of file containing distributed aerodynamic properties for Blade #2 (-) [unused if NumBl < 2] +"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(3) - Name of file containing distributed aerodynamic properties for Blade #3 (-) [unused if NumBl < 3] ====== Hub Properties ============================================================================== [used only when Buoyancy=True] -0.0 VolHub - Hub volume (m^3) -0.0 HubCenBx - Hub center of buoyancy x direction offset (m) +0.0 VolHub - Hub volume (m^3) +0.0 HubCenBx - Hub center of buoyancy x direction offset (m) ====== Nacelle Properties ========================================================================== [used only when Buoyancy=True] -0.0 VolNac - Nacelle volume (m^3) -0,0,0 NacCenB - Position of nacelle center of buoyancy from yaw bearing in nacelle coordinates (m) +0.0 VolNac - Nacelle volume (m^3) +0, 0, 0 NacCenB - Position of nacelle center of buoyancy from yaw bearing in nacelle coordinates (m) +0, 0, 0 NacArea - Projected area of the nacelle in X, Y, Z in the nacelle coordinate system (m^2) +0, 0, 0 NacCd - Drag coefficient for the nacelle areas defined above (-) +0, 0, 0 NacDragAC - Position of aerodynamic center of nacelle drag in nacelle coordinates (m) ====== Tail fin Aerodynamics ======================================================================== -False TFinAero - Calculate tail fin aerodynamics model (flag) -"unused" TFinFile - Input file for tail fin aerodynamics [used only when TFinAero=True] +False TFinAero - Calculate tail fin aerodynamics model (flag) +"unused" TFinFile - Input file for tail fin aerodynamics [used only when TFinAero=True] ====== Tower Influence and Aerodynamics ============================================================ [used only when TwrPotent/=0, TwrShadow/=0, TwrAero=True, or Buoyancy=True] - 12 NumTwrNds - Number of tower nodes used in the analysis (-) [used only when TwrPotent/=0, TwrShadow/=0, TwrAero=True, or Buoyancy=True] -TwrElev TwrDiam TwrCd TwrTI TwrCb !TwrTI used only with TwrShadow=2, TwrCb used only with Buoyancy=True -(m) (m) (-) (-) (-) -0.0000000E+00 6.0000000E+00 1.0000000E+00 1.0000000E-01 0.0 -8.5261000E+00 5.7870000E+00 1.0000000E+00 1.0000000E-01 0.0 -1.7053000E+01 5.5740000E+00 1.0000000E+00 1.0000000E-01 0.0 -2.5579000E+01 5.3610000E+00 1.0000000E+00 1.0000000E-01 0.0 -3.4105000E+01 5.1480000E+00 1.0000000E+00 1.0000000E-01 0.0 -4.2633000E+01 4.9350000E+00 1.0000000E+00 1.0000000E-01 0.0 -5.1158000E+01 4.7220000E+00 1.0000000E+00 1.0000000E-01 0.0 -5.9685000E+01 4.5090000E+00 1.0000000E+00 1.0000000E-01 0.0 -6.8211000E+01 4.2960000E+00 1.0000000E+00 1.0000000E-01 0.0 -7.6738000E+01 4.0830000E+00 1.0000000E+00 1.0000000E-01 0.0 -8.5268000E+01 3.8700000E+00 1.0000000E+00 1.0000000E-01 0.0 -8.7600000E+01 3.8700000E+00 1.0000000E+00 1.0000000E-01 0.0 +12 NumTwrNds - Number of tower nodes used in the analysis (-) [used only when TwrPotent/=0, TwrShadow/=0, TwrAero=True, or Buoyancy=True] +TwrElev TwrDiam TwrCd TwrTI TwrCb !TwrTI used only with TwrShadow=2, TwrCb used only with Buoyancy=True +(m) (m) (-) (-) (-) +0.0000000E+00 6.0000000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +8.5261000E+00 5.7870000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +1.7053000E+01 5.5740000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +2.5579000E+01 5.3610000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +3.4105000E+01 5.1480000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +4.2633000E+01 4.9350000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +5.1158000E+01 4.7220000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +5.9685000E+01 4.5090000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +6.8211000E+01 4.2960000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +7.6738000E+01 4.0830000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +8.5268000E+01 3.8700000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +8.7600000E+01 3.8700000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 ====== Outputs ==================================================================================== -False SumPrint - Generate a summary file listing input options and interpolated properties to ".AD.sum"? (flag) - 0 NBlOuts - Number of blade node outputs [0 - 9] (-) - 1 BlOutNd - Blade nodes whose values will be output (-) - 0 NTwOuts - Number of tower node outputs [0 - 9] (-) - 1 TwOutNd - Tower nodes whose values will be output (-) - OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) +False SumPrint - Generate a summary file listing input options and interpolated properties to ".AD.sum"? (flag) +0 NBlOuts - Number of blade node outputs [0 - 9] (-) +1 BlOutNd - Blade nodes whose values will be output (-) +0 NTwOuts - Number of tower node outputs [0 - 9] (-) +1 TwOutNd - Tower nodes whose values will be output (-) + OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) "RtAeroPwr" "RtAeroCp" "RtAeroCt" END of input file (the word "END" must appear in the first 3 columns of this last OutList line) ====== Outputs for all blade stations (same ending as above for B1N1.... =========================== [optional section] - 0 BldNd_BladesOut - Number of blades to output all node information at. Up to number of blades on turbine. (-) - "All" BldNd_BlOutNd - Future feature will allow selecting a portion of the nodes to output. Not implemented yet. (-) - OutListAD - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) +0 BldNd_BladesOut - Number of blades to output all node information at. Up to number of blades on turbine. (-) +"All" BldNd_BlOutNd - Future feature will allow selecting a portion of the nodes to output. Not implemented yet. (-) + OutListAD_Nodal - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) + END of input file (the word "END" must appear in the first 3 columns of this last OutList line) ---------------------------------------------------------------------------------------- \ No newline at end of file +--------------------------------------------------------------------------------------- diff --git a/data/NREL5MW/5MW_Land_Lin_Templates/ElastoDyn.dat b/data/NREL5MW/5MW_Land_Lin_Templates/ElastoDyn.dat index 49dbdb9..9ce2183 100644 --- a/data/NREL5MW/5MW_Land_Lin_Templates/ElastoDyn.dat +++ b/data/NREL5MW/5MW_Land_Lin_Templates/ElastoDyn.dat @@ -81,6 +81,9 @@ False PtfmYDOF - Platform yaw rotation DOF (flag) 0 PtfmRIner - Platform inertia for roll tilt rotation about the platform CM (kg m^2) 0 PtfmPIner - Platform inertia for pitch tilt rotation about the platform CM (kg m^2) 0 PtfmYIner - Platform inertia for yaw rotation about the platform CM (kg m^2) + 0 PtfmXYIner - Platform xy moment of inertia about the platform CM (=-int(xydm)) (kg m^2) + 0 PtfmYZIner - Platform yz moment of inertia about the platform CM (=-int(yzdm)) (kg m^2) + 0 PtfmXZIner - Platform xz moment of inertia about the platform CM (=-int(xzdm)) (kg m^2) ---------------------- BLADE --------------------------------------------------- 17 BldNodes - Number of blade nodes (per blade) used for analysis (-) "../5MW_Baseline/NRELOffshrBsline5MW_Blade.dat" BldFile(1) - Name of file containing properties for blade 1 (quoted string) @@ -95,6 +98,11 @@ False PtfmYDOF - Platform yaw rotation DOF (flag) 0 TeetHStP - Rotor-teeter hard-stop position (degrees) [used only for 2 blades and when TeetMod=1] 0 TeetSSSp - Rotor-teeter soft-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1] 0 TeetHSSp - Rotor-teeter hard-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1] +---------------------- YAW-FRICTION -------------------------------------------- + 0 YawFrctMod - Yaw-friction model {0: none, 1: friction without Fz term at the yaw bearing, 2: friction includes Fz term at yaw bearing, 3: user defined model} (switch) + 0 M_CSmax - Maximum Coulomb friction torque (N-m)[mu_s*D_eff when YawFrctMod=1 and Fz*mu_s*D_eff when YawFrctMod=2] + 0 M_CD - Dynamic friction moment at null yaw rate (N-m) [mu_d*D_eff when YawFrctMod=1 and Fz*mu_d*D_eff when YawFrctMod=2] + 0 sig_v - Viscous friction coefficient (N-m/(rad/s)) ---------------------- DRIVETRAIN ---------------------------------------------- 100 GBoxEff - Gearbox efficiency (%) 97 GBRatio - Gearbox ratio (-) diff --git a/data/NREL5MW/5MW_Land_Lin_Templates/Main.fst b/data/NREL5MW/5MW_Land_Lin_Templates/Main.fst index 995a126..80dc881 100644 --- a/data/NREL5MW/5MW_Land_Lin_Templates/Main.fst +++ b/data/NREL5MW/5MW_Land_Lin_Templates/Main.fst @@ -1,4 +1,4 @@ -------- OpenFAST v3.2 INPUT FILE ----------------------------------------------- +------- OpenFAST EXAMPLE INPUT FILE ------------------------------------------- NREL Wind Turbine Modeling Workshop Simulation ---------------------- SIMULATION CONTROL -------------------------------------- False Echo - Echo input data to .ech (flag) @@ -14,6 +14,7 @@ NREL Wind Turbine Modeling Workshop Simulation 1 CompInflow - Compute inflow wind velocities (switch) {0=still air; 1=InflowWind; 2=external from OpenFOAM} 2 CompAero - Compute aerodynamic loads (switch) {0=None; 1=AeroDyn v14; 2=AeroDyn v15} 0 CompServo - Compute control and electrical-drive dynamics (switch) {0=None; 1=ServoDyn} + 0 CompSeaSt - Compute sea state information (switch) {0=None; 1=SeaState} 0 CompHydro - Compute hydrodynamic loads (switch) {0=None; 1=HydroDyn} 0 CompSub - Compute sub-structural dynamics (switch) {0=None; 1=SubDyn; 2=External Platform MCKF} 0 CompMooring - Compute mooring system (switch) {0=None; 1=MAP++; 2=FEAMooring; 3=MoorDyn; 4=OrcaFlex} @@ -37,6 +38,7 @@ NREL Wind Turbine Modeling Workshop Simulation "InflowWind.dat" InflowFile - Name of file containing inflow wind input parameters (quoted string) "AeroDyn.dat" AeroFile - Name of file containing aerodynamic input parameters (quoted string) "ServoDyn.dat" ServoFile - Name of file containing control and electrical-drive input parameters (quoted string) +"unused" SeaStFile - Name of file containing sea state input parameters (quoted string) "unused" HydroFile - Name of file containing hydrodynamic input parameters (quoted string) "unused" SubFile - Name of file containing sub-structural input parameters (quoted string) "unused" MooringFile - Name of file containing mooring system input parameters (quoted string) diff --git a/data/NREL5MW/Main_Onshore.fst b/data/NREL5MW/Main_Onshore.fst index a7df7a8..e087559 100644 --- a/data/NREL5MW/Main_Onshore.fst +++ b/data/NREL5MW/Main_Onshore.fst @@ -1,4 +1,4 @@ -------- FAST v8.16.* INPUT FILE ------------------------------------------------ +------- OpenFAST EXAMPLE INPUT FILE ------------------------------------------- NREL 5.0 MW Baseline Wind Turbine Onshore ---------------------- SIMULATION CONTROL -------------------------------------- False Echo - Echo input data to .ech (flag) @@ -14,11 +14,12 @@ False Echo - Echo input data to .ech (flag) 1 CompInflow - Compute inflow wind velocities (switch) {0=still air; 1=InflowWind; 2=external from OpenFOAM} 2 CompAero - Compute aerodynamic loads (switch) {0=None; 1=AeroDyn v14; 2=AeroDyn v15} 1 CompServo - Compute control and electrical-drive dynamics (switch) {0=None; 1=ServoDyn} + 0 CompSeaSt - Compute sea state information (switch) {0=None; 1=SeaState} 0 CompHydro - Compute hydrodynamic loads (switch) {0=None; 1=HydroDyn} 0 CompSub - Compute sub-structural dynamics (switch) {0=None; 1=SubDyn} 0 CompMooring - Compute mooring system (switch) {0=None; 1=MAP++; 2=FEAMooring; 3=MoorDyn; 4=OrcaFlex} 0 CompIce - Compute ice loads (switch) {0=None; 1=IceFloe; 2=IceDyn} -0 MHK - MHK turbine type (switch) {0=Not an MHK turbine; 1=Fixed MHK turbine; 2=Floating MHK turbine} + 0 MHK - MHK turbine type (switch) {0=Not an MHK turbine; 1=Fixed MHK turbine; 2=Floating MHK turbine} ---------------------- ENVIRONMENTAL CONDITIONS -------------------------------- 9.80665 Gravity - Gravitational acceleration (m/s^2) 1.225 AirDens - Air density (kg/m^3) @@ -37,6 +38,7 @@ False Echo - Echo input data to .ech (flag) "5MW_Baseline/NRELOffshrBsline5MW_InflowWind_Steady8mps.dat" InflowFile - Name of file containing inflow wind input parameters (quoted string) "onshore/AeroDyn.dat" AeroFile - Name of file containing aerodynamic input parameters (quoted string) "onshore/ServoDyn_Simple.dat" ServoFile - Name of file containing control and electrical-drive input parameters (quoted string) +"unused" SeaStFile - Name of file containing sea state input parameters (quoted string) "unused" HydroFile - Name of file containing hydrodynamic input parameters (quoted string) "unused" SubFile - Name of file containing sub-structural input parameters (quoted string) "unused" MooringFile - Name of file containing mooring system input parameters (quoted string) diff --git a/data/NREL5MW/Main_Onshore_OF2_BD.fst b/data/NREL5MW/Main_Onshore_OF2_BD.fst index 6b48c90..d66400c 100644 --- a/data/NREL5MW/Main_Onshore_OF2_BD.fst +++ b/data/NREL5MW/Main_Onshore_OF2_BD.fst @@ -1,4 +1,4 @@ -------- FAST v8.16.* INPUT FILE ------------------------------------------------ +------- OpenFAST EXAMPLE INPUT FILE ------------------------------------------- NREL 5.0 MW Baseline Wind Turbine Onshore ---------------------- SIMULATION CONTROL -------------------------------------- False Echo - Echo input data to .ech (flag) @@ -14,11 +14,12 @@ False Echo - Echo input data to .ech (flag) 1 CompInflow - Compute inflow wind velocities (switch) {0=still air; 1=InflowWind; 2=external from OpenFOAM} 2 CompAero - Compute aerodynamic loads (switch) {0=None; 1=AeroDyn v14; 2=AeroDyn v15} 1 CompServo - Compute control and electrical-drive dynamics (switch) {0=None; 1=ServoDyn} + 0 CompSeaSt - Compute sea state information (switch) {0=None; 1=SeaState} 0 CompHydro - Compute hydrodynamic loads (switch) {0=None; 1=HydroDyn} 0 CompSub - Compute sub-structural dynamics (switch) {0=None; 1=SubDyn} 0 CompMooring - Compute mooring system (switch) {0=None; 1=MAP++; 2=FEAMooring; 3=MoorDyn; 4=OrcaFlex} 0 CompIce - Compute ice loads (switch) {0=None; 1=IceFloe; 2=IceDyn} -0 MHK - MHK turbine type (switch) {0=Not an MHK turbine; 1=Fixed MHK turbine; 2=Floating MHK turbine} + 0 MHK - MHK turbine type (switch) {0=Not an MHK turbine; 1=Fixed MHK turbine; 2=Floating MHK turbine} ---------------------- ENVIRONMENTAL CONDITIONS -------------------------------- 9.80665 Gravity - Gravitational acceleration (m/s^2) 1.225 AirDens - Air density (kg/m^3) @@ -37,6 +38,7 @@ False Echo - Echo input data to .ech (flag) "5MW_Baseline/NRELOffshrBsline5MW_InflowWind_Steady8mps.dat" InflowFile - Name of file containing inflow wind input parameters (quoted string) "onshore/AeroDyn.dat" AeroFile - Name of file containing aerodynamic input parameters (quoted string) "onshore/ServoDyn_Simple.dat" ServoFile - Name of file containing control and electrical-drive input parameters (quoted string) +"unused" SeaStFile - Name of file containing sea state input parameters (quoted string) "unused" HydroFile - Name of file containing hydrodynamic input parameters (quoted string) "unused" SubFile - Name of file containing sub-structural input parameters (quoted string) "unused" MooringFile - Name of file containing mooring system input parameters (quoted string) diff --git a/data/NREL5MW/onshore/AeroDyn.dat b/data/NREL5MW/onshore/AeroDyn.dat index 0a1b2a9..6f7724d 100644 --- a/data/NREL5MW/onshore/AeroDyn.dat +++ b/data/NREL5MW/onshore/AeroDyn.dat @@ -1,53 +1,65 @@ -------- AERODYN v15 for OpenFAST INPUT FILE ----------------------------------------------- +------- AERODYN INPUT FILE -------------------------------------------------------------------------- NREL 5.0 MW offshore baseline aerodynamic input properties. ====== General Options ============================================================================ -False Echo - Echo the input to ".AD.ech"? (flag) -"default" DTAero - Time interval for aerodynamic calculations {or "default"} (s) - 2 WakeMod - Type of wake/induction model (switch) {0=none, 1=BEMT, 2=DBEMT, 3=OLAF} [WakeMod cannot be 2 or 3 when linearizing] - 2 AFAeroMod - Type of blade airfoil aerodynamics model (switch) {1=steady model, 2=Beddoes-Leishman unsteady model} [AFAeroMod must be 1 when linearizing] - 1 TwrPotent - Type tower influence on wind based on potential flow around the tower (switch) {0=none, 1=baseline potential flow, 2=potential flow with Bak correction} - 0 TwrShadow - Calculate tower influence on wind based on downstream tower shadow (switch) {0=none, 1=Powles model, 2=Eames model} -True TwrAero - Calculate tower aerodynamic loads? (flag) -False FrozenWake - Assume frozen wake during linearization? (flag) [used only when WakeMod=1 and when linearizing] -False CavitCheck - Perform cavitation check? (flag) [AFAeroMod must be 1 when CavitCheck=true] -False Buoyancy - Include buoyancy effects? (flag) -False CompAA - Flag to compute AeroAcoustics calculation [used only when WakeMod = 1 or 2] -"unused" AA_InputFile - AeroAcoustics input file [used only when CompAA=true] +False Echo - Echo the input to ".AD.ech"? (flag) +"default" DTAero - Time interval for aerodynamic calculations {or "default"} (s) +1 Wake_Mod - Wake/induction model (switch) {0=none, 1=BEMT, 3=OLAF} [Wake_Mod cannot be 2 or 3 when linearizing] +1 TwrPotent - Type tower influence on wind based on potential flow around the tower (switch) {0=none, 1=baseline potential flow, 2=potential flow with Bak correction} +0 TwrShadow - Calculate tower influence on wind based on downstream tower shadow (switch) {0=none, 1=Powles model, 2=Eames model} +True TwrAero - Calculate tower aerodynamic loads? (flag) +False CavitCheck - Perform cavitation check? (flag) [UA_Mod must be 0 when CavitCheck=true] +False Buoyancy - Include buoyancy effects? (flag) +False NacelleDrag - Include Nacelle Drag effects? (flag) +False CompAA - Flag to compute AeroAcoustics calculation [used only when Wake_Mod = 1 or 2] +"unused" AA_InputFile - AeroAcoustics input file [used only when CompAA=true] ====== Environmental Conditions =================================================================== -"default" AirDens - Air density (kg/m^3) -"default" KinVisc - Kinematic viscosity of working fluid (m^2/s) -"default" SpdSound - Speed of sound in working fluid (m/s) -"default" Patm - Atmospheric pressure (Pa) [used only when CavitCheck=True] -"default" Pvap - Vapour pressure of working fluid (Pa) [used only when CavitCheck=True] -====== Blade-Element/Momentum Theory Options ====================================================== [unused when WakeMod=0 or 3] - 2 SkewMod - Type of skewed-wake correction model (switch) {1=uncoupled, 2=Pitt/Peters, 3=coupled} [unused when WakeMod=0 or 3] -"default" SkewModFactor - Constant used in Pitt/Peters skewed wake model {or "default" is 15/32*pi} (-) [used only when SkewMod=2; unused when WakeMod=0 or 3] -True TipLoss - Use the Prandtl tip-loss model? (flag) [unused when WakeMod=0 or 3] -True HubLoss - Use the Prandtl hub-loss model? (flag) [unused when WakeMod=0 or 3] -True TanInd - Include tangential induction in BEMT calculations? (flag) [unused when WakeMod=0 or 3] -True AIDrag - Include the drag term in the axial-induction calculation? (flag) [unused when WakeMod=0 or 3] -True TIDrag - Include the drag term in the tangential-induction calculation? (flag) [unused when WakeMod=0,3 or TanInd=FALSE] -"Default" IndToler - Convergence tolerance for BEMT nonlinear solve residual equation {or "default"} (-) [unused when WakeMod=0 or 3] - 100 MaxIter - Maximum number of iteration steps (-) [unused when WakeMod=0] -====== Dynamic Blade-Element/Momentum Theory Options ============================================== [used only when WakeMod=2] - 2 DBEMT_Mod - Type of dynamic BEMT (DBEMT) model {1=constant tau1, 2=time-dependent tau1, 3=constant tau1 with continuous formulation} (-) [used only when WakeMod=2] - 4 tau1_const - Time constant for DBEMT (s) [used only when WakeMod=2 and DBEMT_Mod=1 or 3] -====== OLAF -- cOnvecting LAgrangian Filaments (Free Vortex Wake) Theory Options ================== [used only when WakeMod=3] -"unused" OLAFInputFileName - Input file for OLAF [used only when WakeMod=3] -====== Beddoes-Leishman Unsteady Airfoil Aerodynamics Options ===================================== [used only when AFAeroMod=2] - 3 UAMod - Unsteady Aero Model Switch (switch) {2=B-L Gonzalez, 3=B-L Minnema/Pierce, 4=B-L HGM 4-states, 5=B-L 5 states, 6=Oye, 7=Boeing-Vertol} [used only when AFAeroMod=2] -True FLookup - Flag to indicate whether a lookup for f' will be calculated (TRUE) or whether best-fit exponential equations will be used (FALSE); if FALSE S1-S4 must be provided in airfoil input files (flag) [used only when AFAeroMod=2] -0.15 UAStartRad - Starting radius for dynamic stall (fraction of rotor radius) [used only when AFAeroMod=2] -1.0 UAEndRad - Ending radius for dynamic stall (fraction of rotor radius) [used only when AFAeroMod=2] +"default" AirDens - Air density (kg/m^3) +"default" KinVisc - Kinematic viscosity of working fluid (m^2/s) +"default" SpdSound - Speed of sound in working fluid (m/s) +"default" Patm - Atmospheric pressure (Pa) [used only when CavitCheck=True] +"default" Pvap - Vapour pressure of working fluid (Pa) [used only when CavitCheck=True] +====== Blade-Element/Momentum Theory Options ====================================================== [unused when Wake_Mod=0 or 3, except for BEM_Mod] +1 BEM_Mod - BEM model {1=legacy NoSweepPitchTwist, 2=polar} (switch) [used for all Wake_Mod to determine output coordinate system] +--- Skew correction +1 Skew_Mod - Skew model {0=No skew model, -1=Remove non-normal component for linearization, 1=skew model active} +False SkewMomCorr - Turn the skew momentum correction on or off [used only when Skew_Mod=1] +default SkewRedistr_Mod - Type of skewed-wake correction model (switch) {0=no redistribution, 1=Glauert/Pitt/Peters, default=1} [used only when Skew_Mod=1] +"default" SkewRedistrFactor - Constant used in Pitt/Peters skewed wake model {or "default" is 15/32*pi} (-) [used only when Skew_Mod=1 and SkewRedistr_Mod=1] +--- BEM algorithm +True TipLoss - Use the Prandtl tip-loss model? (flag) [unused when Wake_Mod=0 or 3] +True HubLoss - Use the Prandtl hub-loss model? (flag) [unused when Wake_Mod=0 or 3] +True TanInd - Include tangential induction in BEMT calculations? (flag) [unused when Wake_Mod=0 or 3] +True AIDrag - Include the drag term in the axial-induction calculation? (flag) [unused when Wake_Mod=0 or 3] +True TIDrag - Include the drag term in the tangential-induction calculation? (flag) [unused when Wake_Mod=0,3 or TanInd=FALSE] +"Default" IndToler - Convergence tolerance for BEMT nonlinear solve residual equation {or "default"} (-) [unused when Wake_Mod=0 or 3] +100 MaxIter - Maximum number of iteration steps (-) [unused when Wake_Mod=0] +--- Shear correction +False SectAvg - Use sector averaging (flag) +1 SectAvgWeighting - Weighting function for sector average {1=Uniform, default=1} within a sector centered on the blade (switch) [used only when SectAvg=True] +default SectAvgNPoints - Number of points per sectors (-) {default=5} [used only when SectAvg=True] +default SectAvgPsiBwd - Backward azimuth relative to blade where the sector starts (<=0) {default=-60} (deg) [used only when SectAvg=True] +default SectAvgPsiFwd - Forward azimuth relative to blade where the sector ends (>=0) {default=60} (deg) [used only when SectAvg=True] +--- Dynamic wake/inflow +2 DBEMT_Mod - Type of dynamic BEMT (DBEMT) model {0=No Dynamic Wake, -1=Frozen Wake for linearization, 1:constant tau1, 2=time-dependent tau1, 3=constant tau1 with continuous formulation} (-) +4 tau1_const - Time constant for DBEMT (s) [used only when DBEMT_Mod=1 or 3] +====== OLAF -- cOnvecting LAgrangian Filaments (Free Vortex Wake) Theory Options ================== [used only when Wake_Mod=3] +"unused" OLAFInputFileName - Input file for OLAF [used only when Wake_Mod=3] +====== Unsteady Airfoil Aerodynamics Options ==================================================== +True AoA34 - Sample the angle of attack (AoA) at the 3/4 chord or the AC point {default=True} [always used] +3 UA_Mod - Unsteady Aero Model Switch (switch) {0=Quasi-steady (no UA), 2=B-L Gonzalez, 3=B-L Minnema/Pierce, 4=B-L HGM 4-states, 5=B-L HGM+vortex 5 states, 6=Oye, 7=Boeing-Vertol} +True FLookup - Flag to indicate whether a lookup for f' will be calculated (TRUE) or whether best-fit exponential equations will be used (FALSE); if FALSE S1-S4 must be provided in airfoil input files (flag) [used only when UA_Mod>0] +3 IntegrationMethod - Switch to indicate which integration method UA uses (1=RK4, 2=AB4, 3=ABM4, 4=BDF2) +0.15 UAStartRad - Starting radius for dynamic stall (fraction of rotor radius) [used only when UA_Mod>0] +1.0 UAEndRad - Ending radius for dynamic stall (fraction of rotor radius) [used only when UA_Mod>0] ====== Airfoil Information ========================================================================= - 1 AFTabMod - Interpolation method for multiple airfoil tables {1=1D interpolation on AoA (first table only); 2=2D interpolation on AoA and Re; 3=2D interpolation on AoA and UserProp} (-) - 1 InCol_Alfa - The column in the airfoil tables that contains the angle of attack (-) - 2 InCol_Cl - The column in the airfoil tables that contains the lift coefficient (-) - 3 InCol_Cd - The column in the airfoil tables that contains the drag coefficient (-) - 4 InCol_Cm - The column in the airfoil tables that contains the pitching-moment coefficient; use zero if there is no Cm column (-) - 0 InCol_Cpmin - The column in the airfoil tables that contains the Cpmin coefficient; use zero if there is no Cpmin column (-) - 8 NumAFfiles - Number of airfoil files used (-) -"../5MW_Baseline/Airfoils/Cylinder1.dat" AFNames - Airfoil file names (NumAFfiles lines) (quoted strings) +1 AFTabMod - Interpolation method for multiple airfoil tables {1=1D interpolation on AoA (first table only); 2=2D interpolation on AoA and Re; 3=2D interpolation on AoA and UserProp} (-) +1 InCol_Alfa - The column in the airfoil tables that contains the angle of attack (-) +2 InCol_Cl - The column in the airfoil tables that contains the lift coefficient (-) +3 InCol_Cd - The column in the airfoil tables that contains the drag coefficient (-) +4 InCol_Cm - The column in the airfoil tables that contains the pitching-moment coefficient; use zero if there is no Cm column (-) +0 InCol_Cpmin - The column in the airfoil tables that contains the Cpmin coefficient; use zero if there is no Cpmin column (-) +8 NumAFfiles - Number of airfoil files used (-) +"../5MW_Baseline/Airfoils/Cylinder1.dat" AFNames - Airfoil file names (NumAFfiles lines) (quoted strings) "../5MW_Baseline/Airfoils/Cylinder2.dat" "../5MW_Baseline/Airfoils/DU40_A17.dat" "../5MW_Baseline/Airfoils/DU35_A17.dat" @@ -56,42 +68,45 @@ True FLookup - Flag to indicate whether a lookup for f' will "../5MW_Baseline/Airfoils/DU21_A17.dat" "../5MW_Baseline/Airfoils/NACA64_A17.dat" ====== Rotor/Blade Properties ===================================================================== -True UseBlCm - Include aerodynamic pitching moment in calculations? (flag) -"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(1) - Name of file containing distributed aerodynamic properties for Blade #1 (-) -"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(2) - Name of file containing distributed aerodynamic properties for Blade #2 (-) [unused if NumBl < 2] -"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(3) - Name of file containing distributed aerodynamic properties for Blade #3 (-) [unused if NumBl < 3] +True UseBlCm - Include aerodynamic pitching moment in calculations? (flag) +"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(1) - Name of file containing distributed aerodynamic properties for Blade #1 (-) +"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(2) - Name of file containing distributed aerodynamic properties for Blade #2 (-) [unused if NumBl < 2] +"../5MW_Baseline/NRELOffshrBsline5MW_AeroDyn_blade.dat" ADBlFile(3) - Name of file containing distributed aerodynamic properties for Blade #3 (-) [unused if NumBl < 3] ====== Hub Properties ============================================================================== [used only when Buoyancy=True] -0.0 VolHub - Hub volume (m^3) -0.0 HubCenBx - Hub center of buoyancy x direction offset (m) +0.0 VolHub - Hub volume (m^3) +0.0 HubCenBx - Hub center of buoyancy x direction offset (m) ====== Nacelle Properties ========================================================================== [used only when Buoyancy=True] -0.0 VolNac - Nacelle volume (m^3) -0,0,0 NacCenB - Position of nacelle center of buoyancy from yaw bearing in nacelle coordinates (m) +0.0 VolNac - Nacelle volume (m^3) +0, 0, 0 NacCenB - Position of nacelle center of buoyancy from yaw bearing in nacelle coordinates (m) +0, 0, 0 NacArea - Projected area of the nacelle in X, Y, Z in the nacelle coordinate system (m^2) +0, 0, 0 NacCd - Drag coefficient for the nacelle areas defined above (-) +0, 0, 0 NacDragAC - Position of aerodynamic center of nacelle drag in nacelle coordinates (m) ====== Tail fin Aerodynamics ======================================================================== -False TFinAero - Calculate tail fin aerodynamics model (flag) -"unused" TFinFile - Input file for tail fin aerodynamics [used only when TFinAero=True] +False TFinAero - Calculate tail fin aerodynamics model (flag) +"unused" TFinFile - Input file for tail fin aerodynamics [used only when TFinAero=True] ====== Tower Influence and Aerodynamics ============================================================ [used only when TwrPotent/=0, TwrShadow/=0, TwrAero=True, or Buoyancy=True] - 12 NumTwrNds - Number of tower nodes used in the analysis (-) [used only when TwrPotent/=0, TwrShadow/=0, TwrAero=True, or Buoyancy=True] -TwrElev TwrDiam TwrCd TwrTI TwrCb !TwrTI used only with TwrShadow=2, TwrCb used only with Buoyancy=True -(m) (m) (-) (-) (-) -0.0000000E+00 6.0000000E+00 1.0000000E+00 1.0000000E-01 0.0 -8.5261000E+00 5.7870000E+00 1.0000000E+00 1.0000000E-01 0.0 -1.7053000E+01 5.5740000E+00 1.0000000E+00 1.0000000E-01 0.0 -2.5579000E+01 5.3610000E+00 1.0000000E+00 1.0000000E-01 0.0 -3.4105000E+01 5.1480000E+00 1.0000000E+00 1.0000000E-01 0.0 -4.2633000E+01 4.9350000E+00 1.0000000E+00 1.0000000E-01 0.0 -5.1158000E+01 4.7220000E+00 1.0000000E+00 1.0000000E-01 0.0 -5.9685000E+01 4.5090000E+00 1.0000000E+00 1.0000000E-01 0.0 -6.8211000E+01 4.2960000E+00 1.0000000E+00 1.0000000E-01 0.0 -7.6738000E+01 4.0830000E+00 1.0000000E+00 1.0000000E-01 0.0 -8.5268000E+01 3.8700000E+00 1.0000000E+00 1.0000000E-01 0.0 -8.7600000E+01 3.8700000E+00 1.0000000E+00 1.0000000E-01 0.0 +12 NumTwrNds - Number of tower nodes used in the analysis (-) [used only when TwrPotent/=0, TwrShadow/=0, TwrAero=True, or Buoyancy=True] +TwrElev TwrDiam TwrCd TwrTI TwrCb !TwrTI used only with TwrShadow=2, TwrCb used only with Buoyancy=True +(m) (m) (-) (-) (-) +0.0000000E+00 6.0000000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +8.5261000E+00 5.7870000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +1.7053000E+01 5.5740000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +2.5579000E+01 5.3610000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +3.4105000E+01 5.1480000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +4.2633000E+01 4.9350000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +5.1158000E+01 4.7220000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +5.9685000E+01 4.5090000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +6.8211000E+01 4.2960000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +7.6738000E+01 4.0830000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +8.5268000E+01 3.8700000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 +8.7600000E+01 3.8700000E+00 1.0000000E+00 1.0000000E-01 0.0000000E+00 ====== Outputs ==================================================================================== -False SumPrint - Generate a summary file listing input options and interpolated properties to ".AD.sum"? (flag) - 0 NBlOuts - Number of blade node outputs [0 - 9] (-) - 1, BlOutNd - Blade nodes whose values will be output (-) - 0 NTwOuts - Number of tower node outputs [0 - 9] (-) - 1, TwOutNd - Tower nodes whose values will be output (-) - OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) +False SumPrint - Generate a summary file listing input options and interpolated properties to ".AD.sum"? (flag) +0 NBlOuts - Number of blade node outputs [0 - 9] (-) +1, BlOutNd - Blade nodes whose values will be output (-) +0 NTwOuts - Number of tower node outputs [0 - 9] (-) +1, TwOutNd - Tower nodes whose values will be output (-) + OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) RtSpeed RtTSR RtVAvgxh @@ -112,9 +127,9 @@ RtFldCt B1N3Clrnc, B2N3Clrnc, B3N3Clrnc END of input file (the word "END" must appear in the first 3 columns of this last OutList line) ====== Outputs for all blade stations (same ending as above for B1N1.... =========================== [optional section] - 1 BldNd_BladesOut - Number of blades to output all node information at. Up to number of blades on turbine. (-) - "All" BldNd_BlOutNd - Future feature will allow selecting a portion of the nodes to output. Not implemented yet. (-) - OutListAD - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) +1 BldNd_BladesOut - Number of blades to output all node information at. Up to number of blades on turbine. (-) +"All" BldNd_BlOutNd - Future feature will allow selecting a portion of the nodes to output. Not implemented yet. (-) + OutListAD_Nodal - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) "Fx" "Fy" "alpha" diff --git a/data/NREL5MW/onshore/ElastoDyn.dat b/data/NREL5MW/onshore/ElastoDyn.dat index ac40595..29421e7 100644 --- a/data/NREL5MW/onshore/ElastoDyn.dat +++ b/data/NREL5MW/onshore/ElastoDyn.dat @@ -81,6 +81,9 @@ False PtfmYDOF - Platform yaw rotation DOF (flag) 4.22923E+09 PtfmRIner - Platform inertia for roll tilt rotation about the platform CM (kg m^2) 4.22923E+09 PtfmPIner - Platform inertia for pitch tilt rotation about the platform CM (kg m^2) 1.6423E+08 PtfmYIner - Platform inertia for yaw rotation about the platform CM (kg m^2) + 0 PtfmXYIner - Platform xy moment of inertia about the platform CM (=-int(xydm)) (kg m^2) + 0 PtfmYZIner - Platform yz moment of inertia about the platform CM (=-int(yzdm)) (kg m^2) + 0 PtfmXZIner - Platform xz moment of inertia about the platform CM (=-int(xzdm)) (kg m^2) ---------------------- BLADE --------------------------------------------------- 17 BldNodes - Number of blade nodes (per blade) used for analysis (-) "../5MW_Baseline/NRELOffshrBsline5MW_Blade.dat" BldFile(1) - Name of file containing properties for blade 1 (quoted string) @@ -95,6 +98,11 @@ False PtfmYDOF - Platform yaw rotation DOF (flag) 0 TeetHStP - Rotor-teeter hard-stop position (degrees) [used only for 2 blades and when TeetMod=1] 0 TeetSSSp - Rotor-teeter soft-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1] 0 TeetHSSp - Rotor-teeter hard-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1] +---------------------- YAW-FRICTION -------------------------------------------- + 0 YawFrctMod - Yaw-friction model {0: none, 1: friction without Fz term at the yaw bearing, 2: friction includes Fz term at yaw bearing, 3: user defined model} (switch) + 300 M_CSmax - Maximum Coulomb friction torque (N-m)[mu_s*D_eff when YawFrctMod=1 and Fz*mu_s*D_eff when YawFrctMod=2] + 40 M_CD - Dynamic friction moment at null yaw rate (N-m) [mu_d*D_eff when YawFrctMod=1 and Fz*mu_d*D_eff when YawFrctMod=2] + 0 sig_v - Viscous friction coefficient (N-m/(rad/s)) ---------------------- DRIVETRAIN ---------------------------------------------- 100 GBoxEff - Gearbox efficiency (%) 97 GBRatio - Gearbox ratio (-) diff --git a/data/NREL5MW/runAll.py b/data/NREL5MW/runAll.py new file mode 100644 index 0000000..9cddd7c --- /dev/null +++ b/data/NREL5MW/runAll.py @@ -0,0 +1,13 @@ +import os +from openfast_toolbox.case_generation.runner import * + + +if __name__=='__main__': + EXE = './openfast.exe' + files = ['./Main_Onshore.fst', './Main_Onshore_OF2_BD.fst', '5MW_Land_Lin_BladeOnly/Main.fst', '5MW_Land_Lin_Rotating/Main.fst'] + run_cmds(files, EXE, parallel=True, showOutputs=True, nCores=4, showCommand=True) + + #for f in files: + # parentDir = os.path.dirname(f) + # removeFASTOuputs(f) + diff --git a/openfast_toolbox/case_generation/case_gen.py b/openfast_toolbox/case_generation/case_gen.py index 88aabf6..881e0bd 100644 --- a/openfast_toolbox/case_generation/case_gen.py +++ b/openfast_toolbox/case_generation/case_gen.py @@ -360,8 +360,8 @@ def removeFASTOuputs(workDir): # --------------------------------------------------------------------------------{ def paramsSteadyAero(p=None): p = dict() if p is None else p - p['AeroFile|AFAeroMod']=1 # remove dynamic effects dynamic - p['AeroFile|WakeMod']=1 # remove dynamic inflow dynamic + p['AeroFile|UA_Mod']=0 # remove ua + p['AeroFile|DBEMT_Mod']=0 # remove dynamic inflow dynamic p['AeroFile|TwrPotent']=0 # remove tower shadow p['AeroFile|TwrAero']=False # remove tower shadow @@ -496,7 +496,7 @@ def paramsLinearTrim(p=None): p['LinOutMod'] = False p['OutFmt'] = '"ES20.12E3"' # Important for decent resolution - p['AeroFile|AFAeroMod'] = 1 + p['AeroFile|UA_Mod'] = 0 p['AeroFile|CavitCheck'] = 'False' p['AeroFile|CompAA'] = 'False' diff --git a/openfast_toolbox/case_generation/runner.py b/openfast_toolbox/case_generation/runner.py index df7ed10..5ca6ffa 100644 --- a/openfast_toolbox/case_generation/runner.py +++ b/openfast_toolbox/case_generation/runner.py @@ -311,6 +311,8 @@ def removeFASTOuputs(workDir): os.remove(f) for f in glob.glob(os.path.join(workDir,'*.sum')): os.remove(f) + for f in glob.glob(os.path.join(workDir,'*.sum.yaml')): + os.remove(f) if __name__=='__main__': run_cmds(['main1.fst','main2.fst'], './Openfast.exe', parallel=True, showOutputs=False, nCores=4, showCommand=True) diff --git a/openfast_toolbox/converters/doc/Makefile b/openfast_toolbox/converters/doc/Makefile index 94452d9..92fb168 100644 --- a/openfast_toolbox/converters/doc/Makefile +++ b/openfast_toolbox/converters/doc/Makefile @@ -14,7 +14,7 @@ ifdef OS # Windows specific # INKSCAPE="C:/Program Files/Inkscape/inkscape.exe" RM=del - MV=move /Y +# MV=move /Y SLASH="\\" endif diff --git a/openfast_toolbox/converters/openfastToHawc2.py b/openfast_toolbox/converters/openfastToHawc2.py index 393bed8..95a5863 100644 --- a/openfast_toolbox/converters/openfastToHawc2.py +++ b/openfast_toolbox/converters/openfastToHawc2.py @@ -285,13 +285,13 @@ def FAST2Hawc2(fstIn, htcTemplate, htcOut, OPfile=None, TwrFAFreq=0.1, TwrSSFreq sec.pc_filename = pc_filename sec.ae_filename = ae_filename sec.induction_method - sec.induction_method = AD['WakeMod'] + sec.induction_method = AD['Wake_Mod'] sec.tiploss_method = 1 if AD['TipLoss'] else 0 sec.aerosections = Bld['BldAeroNodes'].shape[0] - if AD['AFAeroMod']==2: + if AD['UA_Mod']>0: sec.dynstall_method= 2 - if AD['UAMod']==6: + if AD['UA_Mod']==6: sec.dynstall_method= 1 else: sec.dynstall_method = 0 diff --git a/openfast_toolbox/converters/versions/aerodyn.py b/openfast_toolbox/converters/versions/aerodyn.py index fcd001a..92cc2bc 100644 --- a/openfast_toolbox/converters/versions/aerodyn.py +++ b/openfast_toolbox/converters/versions/aerodyn.py @@ -73,12 +73,16 @@ def ad30_to_ad40(fileold, filenew=None, verbose=True, overwrite=False): f.data[0]['value'] = '------- AERODYN INPUT FILE --------------------------------------------------------------------------' # f.data[1]['isComment'] = True # f.data[1]['value'] = (str(f.data[1]['value']) +' '+ str(f.data[1]['label']) + ' '+ str(f.data[1]['descr'])).strip() - f.insertKeyValAfter('DTAero', 'Wake_Mod', Wake_Mod, 'Wake/induction model (switch) {0=none, 1=BEMT, 3=OLAF} [WakeMod cannot be 2 or 3 when linearizing]') + f.insertKeyValAfter('DTAero', 'Wake_Mod', Wake_Mod, 'Wake/induction model (switch) {0=none, 1=BEMT, 3=OLAF} [Wake_Mod cannot be 2 or 3 when linearizing]') + i = f.getID('CavitCheck') + f.data[i]['descr']= 'Perform cavitation check? (flag) [UA_Mod must be 0 when CavitCheck=true]' + i = f.getID('Buoyancy') + f.insertKeyVal(i+1, 'NacelleDrag', False, 'Include Nacelle Drag effects? (flag)') #i = f.getID('Pvap') # NOTE might not exist for old files.. i = f.getID('TipLoss')-2 f.pop(i+1) # Remove 'BEMT comment' - f.insertComment(i+1,'====== Blade-Element/Momentum Theory Options ====================================================== [unused when WakeMod=0 or 3, except for BEM_Mod]') + f.insertComment(i+1,'====== Blade-Element/Momentum Theory Options ====================================================== [unused when Wake_Mod=0 or 3, except for BEM_Mod]') f.insertKeyVal (i+2, 'BEM_Mod', BEM_Mod, 'BEM model {1=legacy NoSweepPitchTwist, 2=polar} (switch) [used for all Wake_Mod to determine output coordinate system]') f.insertComment(i+3, '--- Skew correction') f.insertKeyVal (i+4, 'Skew_Mod' , Skew_Mod ,'Skew model {0=No skew model, -1=Remove non-normal component for linearization, 1=skew model active}') @@ -100,11 +104,42 @@ def ad30_to_ad40(fileold, filenew=None, verbose=True, overwrite=False): f.data[f.getID('tau1_const')]['descr']= 'Time constant for DBEMT (s) [used only when DBEMT_Mod=1 or 3]' #i = f.getID('OLAFInputFileName') - i = f.getID('FLookup')-2 + i = f.getID('FLookup') + f.data[i]['descr'] = "Flag to indicate whether a lookup for f' will be calculated (TRUE) or whether best-fit exponential equations will be used (FALSE); if FALSE S1-S4 must be provided in airfoil input files (flag) [used only when UA_Mod>0]" + try: + i2 = f.getID('IntegrationMethod') + except: + f.insertKeyVal(i+1, 'IntegrationMethod', 3, "Switch to indicate which integration method UA uses (1=RK4, 2=AB4, 3=ABM4, 4=BDF2)") + + i = i-2 f.pop(i+1) # Remove 'BEDDOES comment' f.insertComment(i+1, '====== Unsteady Airfoil Aerodynamics Options ====================================================') f.insertKeyVal (i+2, 'AoA34' , AoA34, 'Sample the angle of attack (AoA) at the 3/4 chord or the AC point {default=True} [always used]') f.insertKeyVal (i+3, 'UA_Mod', UA_Mod, 'Unsteady Aero Model Switch (switch) {0=Quasi-steady (no UA), 2=B-L Gonzalez, 3=B-L Minnema/Pierce, 4=B-L HGM 4-states, 5=B-L HGM+vortex 5 states, 6=Oye, 7=Boeing-Vertol}') + + + + missing=[] + try: + i = f.getID('UAStartRad') + f.data[i]['descr'] = "Starting radius for dynamic stall (fraction of rotor radius) [used only when UA_Mod>0]" + except KeyError: + missing.append('UAStartRad') + try: + i = f.getID('UAEndRad') + f.data[i]['descr'] = "Ending radius for dynamic stall (fraction of rotor radius) [used only when UA_Mod>0]" + except KeyError: + missing.append('UAEndRad') + + i = f.getID('NacCenB') + f.insertKeyVal(i+1,'NacArea', [0, 0, 0], "Projected area of the nacelle in X, Y, Z in the nacelle coordinate system (m^2)") + f.insertKeyVal(i+2,'NacCd' , [0, 0, 0], "Drag coefficient for the nacelle areas defined above (-)") + f.insertKeyVal(i+3,'NacDragAC', [0, 0, 0], "Position of aerodynamic center of nacelle drag in nacelle coordinates (m)") + + + for i in range(len(f.data)): + f.data[i]['descr'] = f.data[i]['descr'].replace('WakeMod', 'Wake_Mod') + if verbose: print(' -------------- New AeroDyn inputs (with new meaning):') print('Wake_Mod : {}'.format(Wake_Mod )) @@ -126,6 +161,8 @@ def ad30_to_ad40(fileold, filenew=None, verbose=True, overwrite=False): print('DBEMT_Mod {}'.format(DBEMTMod)) print('UAMod: {}'.format(UAMod)) print('-----------------------------------------------------') + if len(missing)>0: + print('[WARN] Missing variables '+missing) # --- Write new file f.write(filenew) diff --git a/openfast_toolbox/linearization/linearization.py b/openfast_toolbox/linearization/linearization.py index b8726cd..cecf548 100644 --- a/openfast_toolbox/linearization/linearization.py +++ b/openfast_toolbox/linearization/linearization.py @@ -254,7 +254,7 @@ def writeLinearizationFiles(main_fst, workDir, operatingPointsFile, print('[WARN] Deactivating VTK vizualization since not available in this version of OpenFAST') if AD is not None: - if AD['WakeMod']==2 and AD['DBEMT_Mod'] in [1,3]: + if AD['Wake_Mod']==1 and AD['DBEMT_Mod'] in [1,3]: if 'a_bar_[-]' not in OP.keys(): print('[WARN] Axial induction `a` not present in Operating point file, but DBEMT needs `tau1_constant`. Provide this column, or make sure your value of `tau1_const` is valid') @@ -355,14 +355,11 @@ def writeLinearizationFiles(main_fst, workDir, operatingPointsFile, linDict['WrVTK'] = 0 # --- Aero options if fst['CompAero']>0: - if AD['WakeMod']==2 and AD['DBEMT_Mod'] in [1,3]: + if AD['Wake_Mod']==1 and AD['DBEMT_Mod'] in [1,3]: if 'a_bar_[-]' in OP.keys(): a_bar= op['a_bar_[-]'] linDict['AeroFile|tau1_const'] = np.around(1.1/(1-1.3*min(a_bar,0.5))*BladeLen/ws, 3) print('>>> setting tau_1 to ', linDict['AeroFile|tau1_const']) - # linDict['AeroFile|WakeMod'] = 1 # Needed for linearization - # linDict['AeroFile|AFAeroMod'] = 1 # Needed for linearization - # linDict['AeroFile|FrozenWake'] = True # Needed for linearization # --- Inflow options if fst['CompInflow']>0: linDict['InflowFile|WindType'] = 1 From 7ec9a37198c0239fc58ffe882de58838c3639bab Mon Sep 17 00:00:00 2001 From: Emmanuel Branlard Date: Fri, 11 Oct 2024 12:39:08 -0400 Subject: [PATCH 2/2] Setup: using find_packages() --- README.md | 2 +- setup.py | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 1244cc3..312b568 100644 --- a/README.md +++ b/README.md @@ -13,7 +13,7 @@ This repository intends to provide simple scripts to help OpenFAST users setup m git clone http://github.com/OpenFAST/openfast_toolbox cd openfast_toolbox python -m pip install -e . -pytest +python -m unittest discover ``` diff --git a/setup.py b/setup.py index 10d01dd..f1afcef 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ import os -from setuptools import setup +from setuptools import setup, find_packages ROOT = os.path.abspath(os.path.dirname(__file__)) @@ -28,7 +28,7 @@ "Programming Language :: Python :: 3.7", "Topic :: Software Development :: Version Control :: Git", ], - packages=["openfast_toolbox"], + packages=find_packages(), python_requires=">=3.6", install_requires=[ "matplotlib", @@ -41,7 +41,7 @@ "xarray", # for netcdf files "pytest", ], - test_suite="pytest", - tests_require=["pytest"], - entry_points={"console_scripts": ["openfast_toolbox = openfast_toolbox.__main__:main"]}, +# test_suite="pytest", +# tests_require=["pytest"], +# entry_points={"console_scripts": ["openfast_toolbox = openfast_toolbox.__main__:main"]}, )