OpenFAST / openfast

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

How to reduce tower oscillation? #1573

Closed 77528 closed 1 year ago

77528 commented 1 year ago

Hi all: I currently model PMSG-VSG using FAST on Simulink. But I notice that the tower vibrates a lot, as shown in Figure1. I hope to be able to get your guidance on this issue and what might be causing it. Best regards, Henning Figure

jjonkman commented 1 year ago

Dear @77528,

I'm not sure what you are plotting, but my first question is you are setting proper initial conditions in your model, e.g., are you setting the initial rotor speed and blade-pitch angles in ElastoDyn to match their expected (mean) value conditioned on the wind hub-height wind speed you are simulating?

Best regards,

77528 commented 1 year ago

Dear @jjonkman, Thanks for your reply. Sorry I didn't make it clear. This plot shows moment at the bottom of the tower in x direction. I changed initial rotor speed, but it didn't work. The wind speed is 9.5m/s and the codes show as following: `------- ELASTODYN v1.03.* 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) 3 Method - Integration method: {1: RK4, 2: AB4, or 3: ABM4} (-) "DEFAULT" DT - Integration time step (s) ---------------------- ENVIRONMENTAL CONDITION --------------------------------- 9.80665 Gravity - Gravitational acceleration (m/s^2) ---------------------- DEGREES OF FREEDOM -------------------------------------- True FlapDOF1 - First flapwise blade mode DOF (flag) False FlapDOF2 - Second flapwise blade mode DOF (flag) False EdgeDOF - First edgewise blade mode DOF (flag) False TeetDOF - Rotor-teeter DOF (flag) [unused for 3 blades] True DrTrDOF - Drivetrain rotational-flexibility DOF (flag) True GenDOF - Generator DOF (flag) False YawDOF - Yaw DOF (flag) True TwFADOF1 - First fore-aft tower bending-mode DOF (flag) False TwFADOF2 - Second fore-aft tower bending-mode DOF (flag) True TwSSDOF1 - First side-to-side tower bending-mode DOF (flag) False TwSSDOF2 - Second side-to-side tower bending-mode DOF (flag) False PtfmSgDOF - Platform horizontal surge translation DOF (flag) False PtfmSwDOF - Platform horizontal sway translation DOF (flag) False PtfmHvDOF - Platform vertical heave translation DOF (flag) False PtfmRDOF - Platform roll tilt rotation DOF (flag) False PtfmPDOF - Platform pitch tilt rotation DOF (flag) False PtfmYDOF - Platform yaw rotation DOF (flag) ---------------------- INITIAL CONDITIONS -------------------------------------- 0.1 OoPDefl - Initial out-of-plane blade-tip displacement (meters) 0.1 IPDefl - Initial in-plane blade-tip deflection (meters) 0 BlPitch(1) - Blade 1 initial pitch (degrees) 0 BlPitch(2) - Blade 2 initial pitch (degrees) 0 BlPitch(3) - Blade 3 initial pitch (degrees) [unused for 2 blades] 0 TeetDefl - Initial or fixed teeter angle (degrees) [unused for 3 blades] 0 Azimuth - Initial azimuth angle for blade 1 (degrees) 8 RotSpeed - Initial or fixed rotor speed (rpm) 0.1 NacYaw - Initial or fixed nacelle-yaw angle (degrees) 0.1 TTDspFA - Initial fore-aft tower-top displacement (meters) 0 TTDspSS - Initial side-to-side tower-top displacement (meters) 0 PtfmSurge - Initial or fixed horizontal surge translational displacement of platform (meters) 0 PtfmSway - Initial or fixed horizontal sway translational displacement of platform (meters) 0 PtfmHeave - Initial or fixed vertical heave translational displacement of platform (meters) 0 PtfmRoll - Initial or fixed roll tilt rotational displacement of platform (degrees) 0 PtfmPitch - Initial or fixed pitch tilt rotational displacement of platform (degrees) 0 PtfmYaw - Initial or fixed yaw rotational displacement of platform (degrees) ---------------------- TURBINE CONFIGURATION ----------------------------------- 3 NumBl - Number of blades (-) 63 TipRad - The distance from the rotor apex to the blade tip (meters) 1.5 HubRad - The distance from the rotor apex to the blade root (meters) -2.5 PreCone(1) - Blade 1 cone angle (degrees) -2.5 PreCone(2) - Blade 2 cone angle (degrees) -2.5 PreCone(3) - Blade 3 cone angle (degrees) [unused for 2 blades] 0 HubCM - Distance from rotor apex to hub mass [positive downwind] (meters) 0 UndSling - Undersling length [distance from teeter pin to the rotor apex] (meters) [unused for 3 blades] 0 Delta3 - Delta-3 angle for teetering rotors (degrees) [unused for 3 blades] 0 AzimB1Up - Azimuth value to use for I/O when blade 1 points up (degrees) -5.0191 OverHang - Distance from yaw axis to rotor apex [3 blades] or teeter pin [2 blades] (meters) 1.912 ShftGagL - Distance from rotor apex [3 blades] or teeter pin [2 blades] to shaft strain gages [positive for upwind rotors] (meters) -5 ShftTilt - Rotor shaft tilt angle (degrees) 1.9 NacCMxn - Downwind distance from the tower-top to the nacelle CM (meters) 0 NacCMyn - Lateral distance from the tower-top to the nacelle CM (meters) 1.75 NacCMzn - Vertical distance from the tower-top to the nacelle CM (meters) -3.09528 NcIMUxn - Downwind distance from the tower-top to the nacelle IMU (meters) 0 NcIMUyn - Lateral distance from the tower-top to the nacelle IMU (meters) 2.23336 NcIMUzn - Vertical distance from the tower-top to the nacelle IMU (meters) 1.96256 Twr2Shft - Vertical distance from the tower-top to the rotor shaft (meters) 87.6 TowerHt - Height of tower above ground level [onshore] or MSL [offshore] (meters) 0 TowerBsHt - Height of tower base above ground level [onshore] or MSL [offshore] (meters) 0 PtfmCMxt - Downwind distance from the ground level [onshore] or MSL [offshore] to the platform CM (meters) 0 PtfmCMyt - Lateral distance from the ground level [onshore] or MSL [offshore] to the platform CM (meters) 0 PtfmCMzt - Vertical distance from the ground level [onshore] or MSL [offshore] to the platform CM (meters) 0 PtfmRefzt - Vertical distance from the ground level [onshore] or MSL [offshore] to the platform reference point (meters) ---------------------- MASS AND INERTIA ---------------------------------------- 0 TipMass(1) - Tip-brake mass, blade 1 (kg) 0 TipMass(2) - Tip-brake mass, blade 2 (kg) 0 TipMass(3) - Tip-brake mass, blade 3 (kg) [unused for 2 blades] 56780 HubMass - Hub mass (kg) 115926 HubIner - Hub inertia about rotor axis [3 blades] or teeter axis [2 blades] (kg m^2) 2e+05 GenIner - Generator inertia about HSS (kg m^2) 240000 NacMass - Nacelle mass (kg) 2.60789E+06 NacYIner - Nacelle inertia about yaw axis (kg m^2) 0 YawBrMass - Yaw bearing mass (kg) 0 PtfmMass - Platform mass (kg) 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) ---------------------- BLADE --------------------------------------------------- 17 BldNodes - Number of blade nodes (per blade) used for analysis (-) "NRELOffshrBsline5MW_Blade.dat" BldFile(1) - Name of file containing properties for blade 1 (quoted string) "NRELOffshrBsline5MW_Blade.dat" BldFile(2) - Name of file containing properties for blade 2 (quoted string) "NRELOffshrBsline5MW_Blade.dat" BldFile(3) - Name of file containing properties for blade 3 (quoted string) [unused for 2 blades] ---------------------- ROTOR-TEETER -------------------------------------------- 0 TeetMod - Rotor-teeter spring/damper model {0: none, 1: standard, 2: user-defined from routine UserTeet} (switch) [unused for 3 blades] 0 TeetDmpP - Rotor-teeter damper position (degrees) [used only for 2 blades and when TeetMod=1] 0 TeetDmp - Rotor-teeter damping constant (N-m/(rad/s)) [used only for 2 blades and when TeetMod=1] 0 TeetCDmp - Rotor-teeter rate-independent Coulomb-damping moment (N-m) [used only for 2 blades and when TeetMod=1] 0 TeetSStP - Rotor-teeter soft-stop position (degrees) [used only for 2 blades and when TeetMod=1] 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] ---------------------- DRIVETRAIN ---------------------------------------------- 100 GBoxEff - Gearbox efficiency (%) 1 GBRatio - Gearbox ratio (-) 8.67637E+08 DTTorSpr - Drivetrain torsional spring (N-m/rad) 6.215E+06 DTTorDmp - Drivetrain torsional damper (N-m/(rad/s)) ---------------------- FURLING ------------------------------------------------- False Furling - Read in additional model properties for furling turbine (flag) [must currently be FALSE) "unused" FurlFile - Name of file containing furling properties (quoted string) [unused when Furling=False] ---------------------- TOWER --------------------------------------------------- 20 TwrNodes - Number of tower nodes used for analysis (-) "NRELOffshrBsline5MW_Onshore_ElastoDyn_Tower.dat" TwrFile - Name of file containing tower properties (quoted string) ---------------------- OUTPUT -------------------------------------------------- True SumPrint - Print summary data to ".sum" (flag) 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) 0 TStart - Time to begin tabular output (s) (currently unused) 1 DecFact - Decimation factor for tabular output {1: output every time step} (-) (currently unused) 0 NTwGages - Number of tower nodes that have strain gages for output [0 to 9] (-) 10, 19, 28 TwrGagNd - List of tower nodes that have strain gages [1 to TwrNodes] (-) [unused if NTwGages=0] 0 NBlGages - Number of blade nodes that have strain gages for output [0 to 9] (-) 0 BldGagNd - List of blade nodes that have strain gages [1 to BldNodes] (-) [unused if NBlGages=0] OutList - The next line(s) contains a list of output parameters. See OutListParameters.xlsx for a listing of available output channels, (-) "RotSpeed" - Low-speed shaft and high-speed shaft speeds "GenSpeed" - Low-speed shaft and high-speed shaft speeds "RotTorq" - Rotor torque and low-speed shaft 0- and 90-bending moments at the main bearing "BldPitch2" - Blade 2 pitch angle "IPDefl1" - IP blade 1,2 tip deflections "IPDefl2" - IP blade 1,2 tip deflections "TwstDefl1" - Blade torsional tip twist deflections "TwstDefl2" - Blade torsional tip twist deflections "TwstDefl3" - Blade torsional tip twist deflections "RootMxb2" - Blade 2 root moments "RootMyb2" - Blade 2 root moments "RotPwr" - Rotor (mechanical) torque & power and generator (electrical) power TipALxb1 Blade 1 local flapwise tip acceleration (absolute) TipALyb1 Blade 1 local edgewise tip acceleration (absolute) YawBrTAxp Tower-top / yaw bearing fore-aft (translational) acceleration (absolute) YawBrTAyp Tower-top / yaw bearing side-to-side (translational) acceleration (absolute) RootMxc1 Blade 1 in-plane moment (i.e., the moment caused by in-plane forces) at the blade root RootMyc1 Blade 1 out-of-plane moment (i.e., the moment caused by out-of-plane forces) at the blade root TwrBsMxt Tower base roll (or side-to-side) moment (i.e., the moment caused by side-to-side forces) TwrBsMyt Tower base pitching (or fore-aft) moment (i.e., the moment caused by fore-aft forces) HSShftTq END of input file (the word "END" must appear in the first 3 columns of this last OutList line)

Best regards,

jjonkman commented 1 year ago

Dear @77528,

At 9.5 m/s for the NREL 5-MW baseline wind turbine, I would expect an initial rotor speed (RotSpeed) closer to 10.9 rpm would be better.

I also see that you set an initial nacelle-yaw angle (NacYaw) of 0.1 deg, which seems a bit odd (especially if you have not also set YawNeut in ServoDyn accordingly). Perhaps you meant to set an initial tower-top deflection of 0.1 m? And I'm not sure where you obtained the initial conditions for blade out-of-plane and in-plane deflection.

Regardless, to reduce the initial start-up transient as much as possible, you could set initial conditions of all deflections based on their expected (mean) values for the wind speed you are simulating.

Best regards,

77528 commented 1 year ago

Dear @jjonkman I change some initial conditions again(RotSpeed=10.9 rpm, NacYaw=0 deg, blade out-of-plane and in-plane deflection=0 Figure1 figure2 ). Although the initial start-up transient is reduced in some extent, the vibration at the bottom of the tower in x direction is still sustanable, as shown in Figure 1. And I find tower top accelaration in x direction is normal, as shown in Figure 2. I guess the problem is tower damping is low or VSG control parameters are designed to be improper. Best regards,

jjonkman commented 1 year ago

Dear @77528,

Again, to reduce the initial start-up transient as much as possible, you could set initial conditions of RotSpeed and all deflections based on their expected (mean) values for the wind speed you are simulating. Otherwise, it is typical to neglect the start-up transient before post-processing the results.

Best regards,

77528 commented 1 year ago

Dear @jjonkman

Thanks for your reply. Got the solution by changing the initial conditions and control parameters on Simulink, thanks!

Best regards!