diff --git a/data/NREL5MW/onshore/InflowWind.dat b/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_InflowWind_Steady8mps.dat similarity index 77% rename from data/NREL5MW/onshore/InflowWind.dat rename to data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_InflowWind_Steady8mps.dat index e46a5cc..3ab9b34 100644 --- a/data/NREL5MW/onshore/InflowWind.dat +++ b/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_InflowWind_Steady8mps.dat @@ -5,6 +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] 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) @@ -47,6 +48,19 @@ False TowerFile - Have tower file (.twr) (flag) ignored when WindTy 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) +================== 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) + 30 PulseSpacing - Distance between range gates (m) (used when SensorType = 3) + 0 NumBeam - Number of lidar measurement beams (0-5)(used when SensorType = 1) + -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) + 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 + 1 ConsiderHubMotion - Flag whether to consider the hub motion's impact on Lidar measurements ====================== OUTPUT ================================================== False SumPrint - Print summary data to .IfW.sum (flag) OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) diff --git a/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_ServoDyn_StC.dat b/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_ServoDyn_StC.dat index 40fd14a..50688d7 100644 --- a/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_ServoDyn_StC.dat +++ b/data/NREL5MW/5MW_Baseline/NRELOffshrBsline5MW_ServoDyn_StC.dat @@ -3,7 +3,7 @@ Input file for tuned mass damper, module by Matt Lackner, Meghan Glade, and Semy ---------------------- SIMULATION CONTROL -------------------------------------- True Echo - Echo input data to .ech (flag) ---------------------- StC DEGREES OF FREEDOM ---------------------------------- - 2 StC_DOF_MODE - DOF mode (switch) {0: No StC or TLCD DOF; 1: StC_X_DOF, StC_Y_DOF, and/or StC_Z_DOF (three independent StC DOFs); 2: StC_XY_DOF (Omni-Directional StC); 3: TLCD; 4: Prescribed force/moment time series} + 2 StC_DOF_MODE - DOF mode (switch) {0: No StC or TLCD DOF; 1: StC_X_DOF, StC_Y_DOF, and/or StC_Z_DOF (three independent StC DOFs); 2: StC_XY_DOF (Omni-Directional StC); 3: TLCD; 4: Prescribed force/moment time series; 5: Force determined by external DLL} true StC_X_DOF - DOF on or off for StC X (flag) [Used only when StC_DOF_MODE=1] true StC_Y_DOF - DOF on or off for StC Y (flag) [Used only when StC_DOF_MODE=1] FALSE StC_Z_DOF - DOF on or off for StC Z (flag) [Used only when StC_DOF_MODE=1] diff --git a/data/NREL5MW/5MW_Land_Lin_BladeOnly/Main.1.lin b/data/NREL5MW/5MW_Land_Lin_BladeOnly/Main.1.lin index b984b1a..bff9943 100644 --- a/data/NREL5MW/5MW_Land_Lin_BladeOnly/Main.1.lin +++ b/data/NREL5MW/5MW_Land_Lin_BladeOnly/Main.1.lin @@ -1,8 +1,8 @@ -Linearized model: Predictions were generated on 19-Sep-2022 at 11:07:03 using OpenFAST, compiled as a 64-bit application using double precision at commit v3.2.0-dirty +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 linked with NWTC Subroutine Library; ElastoDyn -Description from the FAST input file: NREL Wind Turbine Modeling Workshop Simulation +Description from the FAST input file: NREL Wind Turbine - linearization for blades only, in vaccuum Simulation information: Simulation time: 0.0000 s @@ -101,7 +101,7 @@ C: 18 x 6 -1.867E+00 -1.735E+00 9.127E+00 -4.196E-03 -2.425E-03 7.085E-03 1.102E+03 -1.830E+04 -3.552E+03 2.476E+00 -2.557E+01 -2.758E+00 5.636E+03 4.914E+03 -2.406E+04 1.267E+01 6.866E+00 -1.868E+01 - 2.712E+01 -4.451E+02 -1.111E+02 6.096E-02 -6.220E-01 -8.622E-02 + 2.712E+01 -4.451E+02 -1.111E+02 6.096E-02 -6.220E-01 -8.621E-02 D: 18 x 4 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00 diff --git a/data/NREL5MW/5MW_Land_Lin_Rotating/AeroDyn.dat b/data/NREL5MW/5MW_Land_Lin_Rotating/AeroDyn.dat index 7cf6d60..d0bd676 100644 --- a/data/NREL5MW/5MW_Land_Lin_Rotating/AeroDyn.dat +++ b/data/NREL5MW/5MW_Land_Lin_Rotating/AeroDyn.dat @@ -10,6 +10,7 @@ False Echo - Echo the input to ".AD.ech"? (flag 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] ====== Environmental Conditions =================================================================== @@ -36,6 +37,8 @@ False TIDrag - Include the drag term in the tangential-induc ====== 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] ====== 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 (-) @@ -57,22 +60,31 @@ True UseBlCm - Include aerodynamic pitching moment in calcul "../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] -====== Tower Influence and Aerodynamics ============================================================= [used only when TwrPotent/=0, TwrShadow/=0, or TwrAero=True] - 12 NumTwrNds - Number of tower nodes used in the analysis (-) [used only when TwrPotent/=0, TwrShadow/=0, or TwrAero=True] -TwrElev TwrDiam TwrCd TwrTI -(m) (m) (-) (-) -0.0000000E+00 6.0000000E+00 1.0000000E+00 1.0000000E-01 -8.5261000E+00 5.7870000E+00 1.0000000E+00 1.0000000E-01 -1.7053000E+01 5.5740000E+00 1.0000000E+00 1.0000000E-01 -2.5579000E+01 5.3610000E+00 1.0000000E+00 1.0000000E-01 -3.4105000E+01 5.1480000E+00 1.0000000E+00 1.0000000E-01 -4.2633000E+01 4.9350000E+00 1.0000000E+00 1.0000000E-01 -5.1158000E+01 4.7220000E+00 1.0000000E+00 1.0000000E-01 -5.9685000E+01 4.5090000E+00 1.0000000E+00 1.0000000E-01 -6.8211000E+01 4.2960000E+00 1.0000000E+00 1.0000000E-01 -7.6738000E+01 4.0830000E+00 1.0000000E+00 1.0000000E-01 -8.5268000E+01 3.8700000E+00 1.0000000E+00 1.0000000E-01 -8.7600000E+01 3.8700000E+00 1.0000000E+00 1.0000000E-01 +====== 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) +====== 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) +====== Tail fin Aerodynamics ======================================================================== +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 ====== 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] (-) diff --git a/data/NREL5MW/5MW_Land_Lin_Rotating/InflowWind.dat b/data/NREL5MW/5MW_Land_Lin_Rotating/InflowWind.dat index 0397895..eb74f99 100644 --- a/data/NREL5MW/5MW_Land_Lin_Rotating/InflowWind.dat +++ b/data/NREL5MW/5MW_Land_Lin_Rotating/InflowWind.dat @@ -5,20 +5,21 @@ 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] 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) 90 WindVziList - List of coordinates in the inertial Z direction (m) ================== Parameters for Steady Wind Conditions [used only for WindType = 1] ========================= - 8 HWindSpeed - Horizontal windspeed (m/s) - 90 RefHt - Reference height for horizontal wind speed (m) + 8 HWindSpeed - Horizontal wind speed (m/s) + 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. (-) - 90 RefHt_Uni - Reference height for horizontal wind speed (m) +"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] ============== -"unused" FileName_BTS - Name of the Full field wind file to use (.bts) +"unused" FileName_BTS - Name of the Full field wind file to use (.bts) ================== Parameters for Binary Bladed-style Full-Field files [used only for WindType = 4 or WindType = 7] ========= "unused" FileNameRoot - WindType=4: Rootname of the full-field wind file to use (.wnd, .sum); WindType=7: name of the intermediate file with wind scaling values False TowerFile - Have tower file (.twr) (flag) ignored when WindType = 7 @@ -46,7 +47,20 @@ 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) + 30 PulseSpacing - Distance between range gates (m) (used when SensorType = 3) + 0 NumBeam - Number of lidar measurement beams (0-5)(used when SensorType = 1) + -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) + 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 + 1 ConsiderHubMotion - Flag whether to consider the hub motion's impact on Lidar measurements ====================== OUTPUT ================================================== False SumPrint - Print summary data to .IfW.sum (flag) OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) diff --git a/data/NREL5MW/5MW_Land_Lin_Templates/AeroDyn.dat b/data/NREL5MW/5MW_Land_Lin_Templates/AeroDyn.dat index 620a553..49a45d3 100644 --- a/data/NREL5MW/5MW_Land_Lin_Templates/AeroDyn.dat +++ b/data/NREL5MW/5MW_Land_Lin_Templates/AeroDyn.dat @@ -10,6 +10,7 @@ False Echo - Echo the input to ".AD.ech"? (flag 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] ====== Environmental Conditions =================================================================== @@ -59,22 +60,31 @@ True UseBlCm - Include aerodynamic pitching moment in calcul "../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] -====== Tower Influence and Aerodynamics ============================================================= [used only when TwrPotent/=0, TwrShadow/=0, or TwrAero=True] - 12 NumTwrNds - Number of tower nodes used in the analysis (-) [used only when TwrPotent/=0, TwrShadow/=0, or TwrAero=True] -TwrElev TwrDiam TwrCd TwrTI -(m) (m) (-) (-) -0.0000000E+00 6.0000000E+00 1.0000000E+00 0.1 -8.5261000E+00 5.7870000E+00 1.0000000E+00 0.1 -1.7053000E+01 5.5740000E+00 1.0000000E+00 0.1 -2.5579000E+01 5.3610000E+00 1.0000000E+00 0.1 -3.4105000E+01 5.1480000E+00 1.0000000E+00 0.1 -4.2633000E+01 4.9350000E+00 1.0000000E+00 0.1 -5.1158000E+01 4.7220000E+00 1.0000000E+00 0.1 -5.9685000E+01 4.5090000E+00 1.0000000E+00 0.1 -6.8211000E+01 4.2960000E+00 1.0000000E+00 0.1 -7.6738000E+01 4.0830000E+00 1.0000000E+00 0.1 -8.5268000E+01 3.8700000E+00 1.0000000E+00 0.1 -8.7600000E+01 3.8700000E+00 1.0000000E+00 0.1 +====== 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) +====== 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) +====== Tail fin Aerodynamics ======================================================================== +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 ====== 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] (-) diff --git a/data/NREL5MW/5MW_Land_Lin_Templates/InflowWind.dat b/data/NREL5MW/5MW_Land_Lin_Templates/InflowWind.dat index 3a4ca09..3ab9b34 100644 --- a/data/NREL5MW/5MW_Land_Lin_Templates/InflowWind.dat +++ b/data/NREL5MW/5MW_Land_Lin_Templates/InflowWind.dat @@ -1,20 +1,21 @@ ------- InflowWind INPUT FILE ------------------------------------------------------------------------- -InflowWind input file steady wind with no shear +Steady 8 m/s winds with no shear for FAST CertTests #20 and #25 --------------------------------------------------------------------------------------------------------------- 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] 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) 90 WindVziList - List of coordinates in the inertial Z direction (m) ================== Parameters for Steady Wind Conditions [used only for WindType = 1] ========================= - 8 HWindSpeed - Horizontal windspeed (m/s) + 8 HWindSpeed - Horizontal wind speed (m/s) 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] ============== @@ -23,9 +24,9 @@ False Echo - Echo input data to .ech (flag) "unused" FileNameRoot - WindType=4: Rootname of the full-field wind file to use (.wnd, .sum); WindType=7: name of the intermediate file with wind scaling values False TowerFile - Have tower file (.twr) (flag) ignored when WindType = 7 ================== Parameters for HAWC-format binary files [Only used with WindType = 5] ===================== -"unused" FileName_u - name of the file containing the u-component fluctuating wind (.bin) -"unused" FileName_v - name of the file containing the v-component fluctuating wind (.bin) -"unused" FileName_w - name of the file containing the w-component fluctuating wind (.bin) +"wasp\Output\basic_5u.bin" FileName_u - name of the file containing the u-component fluctuating wind (.bin) +"wasp\Output\basic_5v.bin" FileName_v - name of the file containing the v-component fluctuating wind (.bin) +"wasp\Output\basic_5w.bin" FileName_w - name of the file containing the w-component fluctuating wind (.bin) 64 nx - number of grids in the x direction (in the 3 files above) (-) 32 ny - number of grids in the y direction (in the 3 files above) (-) 32 nz - number of grids in the z direction (in the 3 files above) (-) @@ -46,7 +47,20 @@ 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) + 30 PulseSpacing - Distance between range gates (m) (used when SensorType = 3) + 0 NumBeam - Number of lidar measurement beams (0-5)(used when SensorType = 1) + -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) + 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 + 1 ConsiderHubMotion - Flag whether to consider the hub motion's impact on Lidar measurements ====================== OUTPUT ================================================== False SumPrint - Print summary data to .IfW.sum (flag) OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) diff --git a/data/NREL5MW/5MW_Land_Lin_Templates/ServoDyn.dat b/data/NREL5MW/5MW_Land_Lin_Templates/ServoDyn.dat index e2cffed..ddbe74c 100644 --- a/data/NREL5MW/5MW_Land_Lin_Templates/ServoDyn.dat +++ b/data/NREL5MW/5MW_Land_Lin_Templates/ServoDyn.dat @@ -98,7 +98,7 @@ false DLL_Ramp - Whether a linear ramp should be used between DLL_DT GenSpd_TLU GenTrq_TLU (rpm) (Nm) ---------------------- OUTPUT -------------------------------------------------- -True SumPrint - Print summary data to .sum (flag) (currently unused) +False SumPrint - Print summary data to .sum (flag) (currently unused) 1 OutFile - Switch to determine where output will be placed: {1: in module output file only; 2: in glue code output file only; 3: both} (currently unused) True TabDelim - Use tab delimiters in text tabular output file? (flag) (currently unused) "ES10.3E2" OutFmt - Format used for text tabular output (except time). Resulting field should be 10 characters. (quoted string) (currently unused) diff --git a/data/NREL5MW/Main_Onshore.fst b/data/NREL5MW/Main_Onshore.fst index 85b0e85..a7df7a8 100644 --- a/data/NREL5MW/Main_Onshore.fst +++ b/data/NREL5MW/Main_Onshore.fst @@ -34,7 +34,7 @@ False Echo - Echo input data to .ech (flag) "unused" BDBldFile(1) - Name of file containing BeamDyn input parameters for blade 1 (quoted string) "unused" BDBldFile(2) - Name of file containing BeamDyn input parameters for blade 2 (quoted string) "unused" BDBldFile(3) - Name of file containing BeamDyn input parameters for blade 3 (quoted string) -"onshore/InflowWind.dat" InflowFile - Name of file containing inflow wind input parameters (quoted string) +"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" HydroFile - Name of file containing hydrodynamic input parameters (quoted string) diff --git a/data/NREL5MW/Main_Onshore_OF2_BD.fst b/data/NREL5MW/Main_Onshore_OF2_BD.fst index 61c6c6d..6b48c90 100644 --- a/data/NREL5MW/Main_Onshore_OF2_BD.fst +++ b/data/NREL5MW/Main_Onshore_OF2_BD.fst @@ -34,7 +34,7 @@ False Echo - Echo input data to .ech (flag) "5MW_Baseline/NRELOffshrBsline5MW_BeamDyn.dat" BDBldFile(1) - Name of file containing BeamDyn input parameters for blade 1 (quoted string) "5MW_Baseline/NRELOffshrBsline5MW_BeamDyn.dat" BDBldFile(2) - Name of file containing BeamDyn input parameters for blade 2 (quoted string) "5MW_Baseline/NRELOffshrBsline5MW_BeamDyn.dat" BDBldFile(3) - Name of file containing BeamDyn input parameters for blade 3 (quoted string) -"onshore/InflowWind.dat" InflowFile - Name of file containing inflow wind input parameters (quoted string) +"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" HydroFile - Name of file containing hydrodynamic input parameters (quoted string) diff --git a/pyFAST/linearization/examples/README.md b/pyFAST/linearization/examples/README.md index 1b9fd67..dd76b04 100644 --- a/pyFAST/linearization/examples/README.md +++ b/pyFAST/linearization/examples/README.md @@ -13,4 +13,3 @@ Examples using higher-level functions: - `runCampbell.py`: Generates a Campbell diagram; write OpenFAST input files, run openfast, postprocess the linearization files, and generate the Campbell diagram plot. Requires an openfast executable. -- `runLinTurbine.py`: (advanced) Example to run a set of OpenFAST simulations with linearizations. Requires an OpenFAST exe. diff --git a/pyFAST/linearization/examples/ex3a_MultiLinFile_Campbell.py b/pyFAST/linearization/examples/ex3a_MultiLinFile_Campbell.py index 20d8099..6694a4f 100644 --- a/pyFAST/linearization/examples/ex3a_MultiLinFile_Campbell.py +++ b/pyFAST/linearization/examples/ex3a_MultiLinFile_Campbell.py @@ -49,7 +49,7 @@ # --- Step 5b: Run FAST with VIZ files to generate VTKs import pyFAST.case_generation.runner as runner simDir = os.path.dirname(fstFiles[0]) -fastExe = '../../../data/openfast3.3_x64s.exe' +fastExe = os.path.join(scriptDir, '../../../data/openfast.exe') ### Option 1 write a batch file and run it # batchfile = runner.writeBatch(os.path.join(simDir,'_RUNViz.bat'), vizFiles, fastExe=fastExe, flags='-VTKLin') # runner.runBatch(batchfile) diff --git a/pyFAST/linearization/examples/runCampbell.py b/pyFAST/linearization/examples/runCampbell.py index 11c7935..0f08415 100644 --- a/pyFAST/linearization/examples/runCampbell.py +++ b/pyFAST/linearization/examples/runCampbell.py @@ -40,18 +40,18 @@ def campbell_example(writeFSTfiles=True, runFAST=True, postproLin=True): # --- Step 1: Write OpenFAST inputs files for each operating points baseDict = {'DT':0.01} # Example of how inputs can be overriden (see case_gen.py templateReplace) - FSTfilenames = lin.writeLinearizationFiles(templateFstFile, simulationFolder, operatingPointsFile, nPerPeriod=nPerPeriod, baseDict=baseDict) + fstFiles = lin.writeLinearizationFiles(templateFstFile, simulationFolder, operatingPointsFile, nPerPeriod=nPerPeriod, baseDict=baseDict) # Create a batch script (optional) - runner.writeBatch(os.path.join(simulationFolder,'_RUN_ALL.bat'), FSTfilenames, fastExe=fastExe) + runner.writeBatch(os.path.join(simulationFolder,'_RUN_ALL.bat'), fstFiles, fastExe=fastExe) # --- Step 2: run OpenFAST if runFAST: - runner.run_fastfiles(FSTfilenames, fastExe=fastExe, parallel=True, showOutputs=True, nCores=4) + runner.run_fastfiles(fstFiles, fastExe=fastExe, parallel=True, showOutputs=True, nCores=4) # --- Step 3: Run MBC, identify Modes, generate CSV files, and binary modes if postproLin: - OP, Freq, Damp, _, _, modeID_file = lin.postproCampbell(FSTfilenames, writeModes=True, verbose=True) + OP, Freq, Damp, _, _, modeID_file = lin.postproCampbell(fstFiles, writeModes=True, verbose=True) # Edit the modeID file manually to identify the modes print('[TODO] Edit this file manually: ',modeID_file) @@ -70,7 +70,6 @@ def campbell_example(writeFSTfiles=True, runFAST=True, postproLin=True): # --- Step 5b: Run FAST with VIZ files to generate VTKs simDir = os.path.dirname(fstFiles[0]) - fastExe = '../../../data/openfast3.3_x64s.exe' ### Option 1 write a batch file and run it # batchfile = runner.writeBatch(os.path.join(simDir,'_RUNViz.bat'), vizFiles, fastExe=fastExe, flags='-VTKLin') # runner.runBatch(batchfile) diff --git a/pyFAST/linearization/examples/runLinTurbine.py b/pyFAST/linearization/examples/runLinTurbine.py deleted file mode 100644 index c581471..0000000 --- a/pyFAST/linearization/examples/runLinTurbine.py +++ /dev/null @@ -1,113 +0,0 @@ -""" Example to run a set of OpenFAST simulations with linearizations. -NOTE: for a more streamlined process to generate a Cmpbell diagram look at the example runCampbell.py - -This script uses a reference directory which contains a reference input file (templateFstFile) -1) The reference directory is copied to a working directory (`simulationFolder`). -2) All the fast input files are generated in this directory based on a list of dictionaries (`PARAMS`). -For each dictionary in this list: - - The keys are "path" to a input parameter, e.g. `EDFile|RotSpeed` or `TMax`. - These should correspond to the variables used in the FAST inputs files. - - The values are the values corresponding to this parameter -For instance: - PARAMS[0]['DT'] = 0.01 - PARAMS[0]['EDFile|RotSpeed'] = 5 - PARAMS[0]['InflowFile|HWindSpeed'] = 10 - -3) The simulations are run, successively distributed on `nCores` CPUs. - -4) The linearization file are postprocessed using MBC and the frequencies written to screen - -""" -import numpy as np -import pandas as pd -import os -import pyFAST.linearization.linearization as lin -import pyFAST.case_generation.case_gen as case_gen -import pyFAST.case_generation.runner as runner -import scipy as sp - -import matplotlib.pyplot as plt - -def run_linearization(): - # --- Parameters for this script - simulationFolder = '../../../data/NREL5MW/_5MW_Land_Lin_Trim2/' # Output folder for input files and linearization (will be created) - templateFstFile = '../../../data/NREL5MW/5MW_Land_Lin_Templates/Main_5MW_Land_Lin.fst' # Main file, used as a template - fastExe = '../../../data/openfast2.5_x64.exe' # Path to a FAST exe (and dll) - - # --- Defining the parametric study (list of dictionnaries with keys as FAST parameters) - WS = [14,16,18] - BaseDict = {'TMax': 600} - # Set some default options - BaseDict = case_gen.paramsLinearTrim(BaseDict) # Run linear trim case - print(BaseDict) - PARAMS=[] - for i,wsp in enumerate(WS): - p=BaseDict.copy() - p['CompServo'] = 1 - p['InflowFile|HWindSpeed'] = wsp - p['InflowFile|WindType'] = 1 # Setting steady wind - - # Set DOFs - p['EDFile|GenDOF'] = 'True' - p['EDFile|FlapDOF1'] = 'True' - p['EDFile|TwFADOF1'] = 'True' - - # NREL-5MW rated generator speed, torque, control params - p['ServoFile|VS_RtGnSp'] = 1173 * .9 - p['ServoFile|VS_RtTq'] = 47402 - p['ServoFile|VS_Rgn2K'] = 0.0226 - p['ServoFile|VS_SlPc'] = 10. - - # Trim solution will converge to this rotor speed - p['EDFile|RotSpeed'] = 12.1 - - # Set number of linearizations - p['CalcSteady'] = True - p['NLinTimes'] = 12 - p['OutFmt'] = '"ES20.12E3"' # Important for decent resolution - p['LinInputs'] = 0 - p['LinOutputs'] = 0 - p['TrimCase'] = 3 - p['TrimGain'] = 0.001 - - p['__name__']='{:03d}_ws{:04.1f}'.format(i,p['InflowFile|HWindSpeed']) - PARAMS.append(p) - i=i+1 - # --- Generating all files in a output directory - refDir = os.path.dirname(templateFstFile) - main_file = os.path.basename(templateFstFile) - fastfiles=case_gen.templateReplace(PARAMS, refDir, outputDir=simulationFolder, removeRefSubFiles=True, main_file=main_file) - print(fastfiles) - - # --- Creating a batch script just in case - runner.writeBatch(os.path.join(simulationFolder,'_RUN_ALL.bat'),fastfiles,fastExe=fastExe) - # --- Running the simulations - runner.run_fastfiles(fastfiles, fastExe=fastExe, parallel=True, showOutputs=True, nCores=1) - - # --- Simple Postprocessing - # (averaging each signal over the last period for each simulation) - #outFiles = [os.path.splitext(f)[0]+'.outb' for f in fastfiles] - # avg_results = postpro.averagePostPro(outFiles, avgMethod='periods', avgParam=1, ColMap = {'WS_[m/s]':'Wind1VelX_[m/s]'},ColSort='WS_[m/s]') - # avg_results.drop('Time_[s]',axis=1, inplace=True) - - return fastfiles - - - -if __name__ == '__main__': - - # 1. Run linearizations - fastfiles = run_linearization() - # 2. Do MBC - #MBC = lin.run_pyMBC(fastfiles) - MBC = lin.getMBCOPs(fastfiles) - - # Check natural frequencies against matlab - for mbc in MBC: - eigs = sp.linalg.eig(mbc['AvgA'])[0] - nat_freq_hz = (np.abs(eigs)/2/np.pi) - nat_freq_hz.sort() - print('Natural Freqs. (hz): {}'.format(nat_freq_hz)) - -if __name__=='__test__': - pass # this example needs an openfast binary