Hello,
I was wondering if there is a simple way in OpenFAST to approximately set the damping ratio for the full system modes?
I have found that when I set TwrFADmp and TwrSSDmp to 1% and do a decay test (AeroDyn and ServoDyn switched off), I get more like 0.1% of critical damping in the first mode. I understand now from the very helpful discussion in the forum topic below that this is because these damping ratios apply to just the isolated tower. With this is mind, would anyone recommend a workflow/calculation for setting the damping of the first and second FA and SS modes to ~1% damping? My current method is to carry out decay tests and change TwrFADmp and TwrSSDmp to get the decay curves for the first and second modes right.
[url]Natural frequency and damping ratio calculation]
Thanks,
James
Dear James,
Your understanding is correct.
While you could use free-decay simulations, I think it would probably be easiest to specify the damping levels of various components to get the desired level of full-system modes through linearization analyses. That is, use the linearization functionality of OpenFAST together with eigenanalysis (through the MBC scripts) to determine the contribution of each DOF to each full-system mode. Then, you’ll know which component-level damping(s) will likely have the largest influence on the full-system modes (e.g., if the 1st tower fore-aft bending DOF is the most dominant contribution for a given full-system mode, then TwFADmp(1) will likely have the most influence on the damping level of that full-system mode). This is especially true for coupled full-system modes that involve contributions from multiple modules (e.g., ElastoDyn and SubDyn)
I would also expect the damping contributions to scale mostly linearly, so, if the damping of the full-system tower 1st fore-aft mode is 50% less than you want it to be and it is dominated by the 1st tower fore-aft bending DOF of ElastoDyn, doubling TwFADmp(1) will likely get you close to the damping level you want.
Best regards,
Thanks Jason for your reply.
I have taken your advice and tried running the linearisation.
I have found that some of my modes have negative damping, which confuses my slightly as I have only positive damping specified for the tower, blades and subdyn (guyan matrix), and I have AeroDyn turned off and I am linearising with a stationary rotor in a vacuum therefore I do not see where this negative damping could come from. I am trying to increase the damping in the tower, blades and subdyn to bring these negative damping modes positive, but it seems it may be impossible to achieve this. Do you have any suggestions about where this negative damping could be coming from or how I can go about bringing it positive?
Thanks very much!
James
ElastoDyn DOFs:
False 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]
False DrTrDOF - Drivetrain rotational-flexibility DOF (flag)
False GenDOF - Generator DOF (flag)
False YawDOF - Yaw DOF (flag)
True TwFADOF1 - First fore-aft tower bending-mode DOF (flag)
True TwFADOF2 - Second fore-aft tower bending-mode DOF (flag)
True TwSSDOF1 - First side-to-side tower bending-mode DOF (flag)
True TwSSDOF2 - Second side-to-side tower bending-mode DOF (flag)
True PtfmSgDOF - Platform horizontal surge translation DOF (flag)
True PtfmSwDOF - Platform horizontal sway translation DOF (flag)
True PtfmHvDOF - Platform vertical heave translation DOF (flag)
True PtfmRDOF - Platform roll tilt rotation DOF (flag)
True PtfmPDOF - Platform pitch tilt rotation DOF (flag)
True PtfmYDOF - Platform yaw rotation DOF (flag)
Campbell_summary.txt:
— OP %d - WS %.1f - RPM %.2f
1 ; 0.249 ; 0.0235 ; ED 1st tower SS - ED Platform roll tilt rotation DOF - ED Platform horizontal sway translation DOF -
2 ; 0.250 ; 0.0263 ; ED 1st tower FA - ED Platform pitch tilt rotation DOF - ED Platform horizontal surge translation DOF -
3 ; 0.894 ; 0.0270 ; ED 2nd tower SS -
4 ; 0.923 ; 0.0221 ; ED 2nd tower FA -
5 ; 1.796 ; -0.0266 ; ED Platform yaw rotation DOF - ED Platform roll tilt rotation DOF - ED 1st tower SS - ED 2nd tower SS - ED Platform horizontal sway translation DOF - NoMax -
6 ; 1.947 ; -0.0687 ; ED Platform vertical heave translation DOF - ED Platform pitch tilt rotation DOF - ED 1st tower FA - ED 2nd tower FA - ED Platform horizontal surge translation DOF - NoMax -
7 ; 2.709 ; 0.3608 ; ED Platform yaw rotation DOF -
8 ; 6.292 ; 0.8238 ; ED Platform yaw rotation DOF - ED Platform roll tilt rotation DOF - ED 2nd tower SS - ED 1st tower SS - ED Platform horizontal sway translation DOF - NoMax -
9 ; 8.571 ; 0.0114 ; ED Platform vertical heave translation DOF -
Dear James,
Can you confirm that the model is in static equilibrium before you linearize? If that is not the case, the linearized system may not be representative and the eigensolution may be misleading.
Also, I have not really played around with this Campbell_summary.txt file before. I believe Emmanuel Branlard of NREL developed this script to help automate the modal identification, but this script is only in draft form and the modal descriptions do not yet support models with SubDyn enabled. That is, the descriptions may not be that useful for models with SubDyn enabled.
Best regards,
Thanks Jason,
The models were in a static equilibrium of sorts - it was run at time=0 with no initial displacements and only ElastoDyn and SubDyn on.
From a bit more debugging, it seems that I get negative damping in these modes when I have a large difference between TwrFADmp(1) and TwrFADmp(2), and then couple with SubDyn.
I can get the same negative damping on some modes when I take the r-test example 5MW_OC3Mnpl_DLL_WTurb_WavesIrr and run linearisation at time=0, with only limited elastodyn and subdyn Dofs on and with a large difference between 1st and 2nd mode damping - see changes in inputs below.
I realise that this gives unrealistic damping for the first mode for this NREL 5MW model, but I require this difference between TwrFADmp(1) and (2) in my model to get the full system mode damping to be close to 1%.
Could you please explain why having this difference between TwrFADmp(1) and (2) + coupling with Subdyn can result in negative damping in full system modes?
---------------------- LINEARIZATION -------------------------------------------
True Linearize - Linearization analysis (flag)
False CalcSteady - Calculate a steady-state periodic operating point before linearization? [unused if Linearize=False] (flag)
3 TrimCase - Controller parameter to be trimmed {1:yaw; 2:torque; 3:pitch} [used only if CalcSteady=True] (-)
0.001 TrimTol - Tolerance for the rotational speed convergence [used only if CalcSteady=True] (-)
0.01 TrimGain - Proportional gain for the rotational speed error (>0) [used only if CalcSteady=True] (rad/(rad/s) for yaw or pitch; Nm/(rad/s) for torque)
0 Twr_Kdmp - Damping factor for the tower [used only if CalcSteady=True] (N/(m/s))
0 Bld_Kdmp - Damping factor for the blades [used only if CalcSteady=True] (N/(m/s))
1 NLinTimes - Number of times to linearize (-) [>=1] [unused if Linearize=False]
0 LinTimes - List of times at which to linearize (s) [1 to NLinTimes] [used only when Linearize=True and CalcSteady=False]
20.0 TwrFADmp(1) - Tower 1st fore-aft mode structural damping ratio (%)
0.1 TwrFADmp(2) - Tower 2nd fore-aft mode structural damping ratio (%)
20.0 TwrSSDmp(1) - Tower 1st side-to-side mode structural damping ratio (%)
0.1 TwrSSDmp(2) - Tower 2nd side-to-side mode structural damping ratio (%)
---------------------- DEGREES OF FREEDOM --------------------------------------
False 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]
False DrTrDOF - Drivetrain rotational-flexibility DOF (flag)
False GenDOF - Generator DOF (flag)
False YawDOF - Yaw DOF (flag)
True TwFADOF1 - First fore-aft tower bending-mode DOF (flag)
True TwFADOF2 - Second fore-aft tower bending-mode DOF (flag)
True TwSSDOF1 - First side-to-side tower bending-mode DOF (flag)
True TwSSDOF2 - Second side-to-side tower bending-mode DOF (flag)
True PtfmSgDOF - Platform horizontal surge translation DOF (flag)
True 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)
— OP %d - WS %.1f - RPM %.2f
1 ; 0.333 ; 0.0583 ; ED 1st tower SS -
2 ; 0.337 ; 0.0588 ; ED 1st tower FA -
3 ; 1.980 ; -0.0007 ; ED 2nd tower SS -
4 ; 2.351 ; -0.0013 ; ED 2nd tower FA -
5 ; 6.626 ; 0.0126 ; ED Platform horizontal sway translation DOF -
6 ; 6.785 ; 0.0168 ; ED Platform horizontal surge translation DOF -
Dear James,
Based on your explanation, your model is likely not in static equilibrium. You may want to see if linearizing about a static-equilibrium condition influences the behavior your are seeing.
Regarding the impact of the TwrFADmp(1) and TwrFADmp(2) on the stability of the solution, I’m not sure. But I’m curious if what is happening is that the damping matrix in the linearized full system is no longer positive semidefinite when introducing such large differences in these tower damping terms. A damping matrix that is not positive semidefinite can result in unstable behavior of multi-DOF systems.
Best regards,