FAST: Model linearization

Hello!

Thank you for your information Aina.

I used a different approach for the calculation of system movements in frequency domain.

Instead adding the linearized properties of the turbine in a diffraction/radiation hydrodynamic code, I add the hydrodynamic properties (added mass and wave damping) and mooring properties (stiffness matrix) in FAST and use the linearization process around steady-state position.

As a results, I obtained as FAST output a linearized representation of the system in term of inertia M_res, damping L_res and stiffness K_res:

M_res = System inertia + added mass

L_res = aerodynamic damping + radiation damping

K_res = K_a + K_wt + K_wp + K_h + K_m

K_wt and K_wp depend on the acceleration. Calculating this term by taking into account the whole loads on the system permit to have the right acceleration.

Using these matrices and excitation force F_ex (calculated with a diffraction/radiation code), we can calculate the RAOs of the system:

-w^2( M_res(w) + iw L_res(w) + K_res(w) ) X = F_ex(w)

w is the wave frequency. X is the vector of Platform DOFs.

I think this method has advantages. The linearized properties of the turbine (included in FAST output matrices) are calculated for each wave frequency. As in time domain calculation, aerodynamic properties will depend on wave frequency.

I compared this approach with a time domain approach. There is a very good agreement between time and frequency domain calculation, even for pitch motion.

This frequency domain approach also allows to calculate natural frequencies and modes of motion of the system by resolving equation for the free motions.

I hope this information may be useful. I may send more information by email if someone is interested.

With best regards

Maxime PHILIPPE
Ph.D candidate
Laboratoire de Mécanique des Fluides
Ecole Centrale Nantes
Nantes, France

Dear Maxime,

Thanks for your response.

However, I am unclear how your method works. FAST with AeroDyn and HydroDy do not currently allow you to linearize the solution with incident waves, so, how do you linearize at a given wave or platform frequency? Also, HydroDyn uses as input frequency-dependent hydrodynamic added mass and damping, however, FAST does not allow you to choose the frequency to linearize about. (During linearization, HydroDyn currently outputs the infinite-frequency limit of the added mass and neglects the radiation damping.) So, how can you obtain frequency-dependent M_res, L_res, and K_res from FAST?

The approach I originally suggested–and the approach Aina confirmed works well–is the approach I suggest you use.

Best regards,

Dear Jason,

It was maybe not clear in my last post that I didn’t use Hydrodyn for these calculation. Instead I use a user-defined platform load model.

The linearization is done for system periodic oscillating motion around steady-state position at frequency w_l .

Added mass mu( w_l ) and wave damping lambda( w_l ) are chosen at the frequency w_l of the oscillating motion. These matrices are input of the Platform load model.

Radiation loads are defined for the periodic oscillating motion:
Frad = -mu( w_l ) XDD - lambda( w_l ) XD

Added mass mu( w_l ) and wave damping lambda( w_l ) are output in M_res and L_res during linearization process.

The linearized representation of the system is obtained for periodic oscillating motion at this frequency w_l . The linearization is done for each studied frequency.

I hope this information help to understand my last post.

With best regards,

Maxime Philippe

Dear Maxime,

Thank you for clarifying. I know see you how you obtain the added mass and radiation damping at the frequency you desire.

But I am still not completely clear on your approach. Here are a few additional questions:

*How do you force the system to oscillate with periodic motion during the linearization process?
*The rotor rotation already produces periodicity, so, how do you resolve the fact that you now having two periods (rotor rotation and platform oscillation)?
*When the model is linearized, is the linear model periodic or do you only seek constant-coefficent (averaged) matrices at each frequency?

Best regards,

Dear Jason,

Thank you for your interest and questions.

Actually I don’t force the system oscillation during linearization. I think you are suggesting that I could linearize the system for the different positions of the oscillating movement of the platform.

Considering the small motion assumption, I linearize the system for the steady state position, wich is the mean position.

The linearization uses the standard FAST linearization by perturbation process. The Assumption of an oscillating motion at w_l allows to calculate radiation forces as -mu( w_l ) XDD - lambda( w_l ) XD. It implies the linear representation is valuable only at w_l.

For periodicity of rotor rotation, I output the linearized model at different azimuth steps and then I average the output matrices.

Period of rotor is smaller than wave period. It allows to consider average properties over rotor azimuth during oscillating motion.

With best regards,

Maxime PHILIPPE

Dear Maxime,

Thanks for clarifying again. I now understand that you’ve only linearized the platform at its mean (steady state) position.

I’ve summarized my understanding of what you’ve done in the steps below. Please correct me if my understanding is incorrect.

  1. In the user platform routine, UserPtfmLd, you’ve specified a 6x6 hydrodynamic (radiation) added mass matrix, a 6x6 hydrodynamic (radiation) damping matrix, a 6x6 restoring matrix that includes contributions from hydrostatics and moorings, and a 6x1 force that includes the mooring and buoyancy loads when the platform is undisplaced. The added mass and damping matrices you’ve chosen come from WAMIT at a given frequency.
  2. You use the linearization capability of FAST to trim to a steady-state condition and then linearize the model about this condition to get the 6x6 mass, damping, and stiffness matrices of the full system, including turbine and platform weight and aerodynamics.
  3. You repeat steps 1-2 for each frequency from WAMIT that you wish to linearize about.

If my understanding is correct, you are not applying a force in UserPtfmLd that will actually lead to a periodic oscillation of the system at the frequency at which you specified the WAMIT data (that is, the FAST model does not include the hydrodynamic wave excitation (diffraction) term, F_ex(w)). Instead, you’ve trimmed to a steady-state condition excited only by aerodynamic loads (that will be periodic with the period of the rotor, which you chose to average out afterwards). That is, while the specified hydrodynamic matrices depend on wave frequency, the linearized system will not be oscillating at that frequency. So, the aerodynamic loads won’t depend on the wave/oscillation frequency as I thought you said in your post on Jan 10.

Regardless, if the steady state solution you obtain through the trim solution is accurate, I suspect the linearized model should be accurate too. It would interesting to compare your approach with the approach I originally suggested. I suspect they’d produce very similar results.

Best regards,

Dear Jason,

I think we are now in agreement. I also think it would be interesting to compare the two approaches. I might try oneday.

Thank you again.

With best regards,

Maxime PHILIPPE

Dear Jason,

I intend to linearize test01.fst about an operating point. I used the following settings:

VSContrl=0;
GenModel=1 or 2;
the feature flags are true except YawDOF and CompNoise;
GenDOF=True;
NacYaw=0;
BlPitch and BlPitchF= -1.

I found when wind speed is more than 10 m/s, the linearization doesn’t converge. I changed RotSpeed for several times, but it didn’t converge at all.
I’d like to know what the problem is and how I can obtain a linearized model considering GenDOF =True.

regards

Dear Hamid Reza,

Which TrimCase are you using? (TrimCase is found in the linearization input file of FAST v7.)

Best regards,

Dear Jason

I had already used TrimCase=2 (find generator torque) that the convergence wasn’t met. Then, I chose TrimCase=3. In this condition, both the generator torque and blade pitch angle are changed. The convergence is met with a positive pitch angle (test01 is a downwind turbine!). I am waiting your response impatiently.

best regards

Dear Hamid Reza,

I’ve answered a similar question in the following forum topic: Linearisation Trim (particularly my post dated Jan 16, 2013).

In your case, increasing the wind speed is lowering the TSR, resulting in TrimCase 2 going unstable.

Best regards,

Hello,

I am linearizing the NREL 5MW onshore wind turbine and comparing the Bode diagrams taking into account different vibration modes. In the figure shown below (generator rotational velocity as output and electromagnetical torque as input) the diagrams are the following:

  • Orange: First fore-aft tower bending-mode and drivetrain rotational-flexibility DOF ON
  • Purple: First fore-aft tower bending-mode, drivetrain rotational-flexibility and first flapwise blade mode DOF ON
  • Yellow: First fore-aft tower bending-mode, drivetrain rotational-flexibility and first edgewise blade mode DOF ON

However, the stationary value of the three dyagrams is not the same, which is pretty strange. Have I linearized wrongly or is this difference normal?

Thank you in advance.

Regards,

Iñaki

Dear Jason,
I am modeling a new TLP substructure in FAST with the NREL 5MW wind turbine on it. For this purpose one of the changes I need to do is to change the modes of vibration of the tower. The tool I use for the calculation of the new modes of the tower is BModes. The only missing parameter I have to get the modes of vibration with BModes is the mooring stiffness matrix “mooring_K”. My idea is to take the mooring model available for the TLP from Denis Matha and suit the length of the mooring in the platform file to get the mooring_K matrix for BModes in my particular mooring design.

I want first to check if the linearization I do is correctly done, in order to perform the same calculation with same parameters for the TLP of Denis Matha, suited to my particular design. For this purpose I took the OC3 Hywind model from your server and with FASTV7 (modified for OC3 project) did the linearization. In the .fst file I set AnalMode=2, PCMode=0, YCMode=0, and other parameters as the manual of FAST prescribes for a linearization. I disable in .fst file all the DOFs. In _Aerodyne.ipt I set StallMod=STEADY and InfModel=EQUIL. In the _Linear.dat file I set CalcStdy=False and MdlOrder=2 and I let all the other original settings. I set in _Platform_OC3Hywind.dat all the platform DOFs flags as true and keep all the original description of the moorings and the platform.

With the described settings I get some of the linear restoring parameters which do not match with the provided values in the OC3 Hywind report 47535 in page 18. Examples of this mismatch are C33, C44, C55 and C66, but elements C11=C22 and C51 match perfectly. The values I get for these matrix elements are: C33=3.449E+05 (Instead of 0.1194E+05); C44=C55=1.480E+09(Instead of 0.3111E+09); C66=1.099E+08 (instead of 0.1156E+08).
By the way the values used in BModes model for the C44=C55=6.89468E+09 differ from the values of the paper 0.3111E+09, I am not sure about why but nevertheless I follow your paper for the comparisons.

Could you please tell me which inputs are wrong in my linearization in order to get the same values as you do in 47535, page 18 or how can I approach the values you provide in the paper?. I suspect it could be related to the subject of effective stiffness that I get different values than yours, maybe my system is under displacement when the linearization occurs.?
I attach my linearization file with my .fst file

Thank you in advance

---------------------------------------
Laín Nieto Gómez
PhD Student in the UPV/EHU University of the Basque Country
Escuela Técnica Superior de Ingenieros de Bilbao
Departamento de matemática aplicada
Spain
lnieto001@ikasle.ehu.eus

NRELOffshrBsline5MW_Linear_97.txt (2.1 KB)
Test97.txt (22.5 KB)

Dear Lain,

You are getting C66 = 1.099E8 Nm/rad because the OC3-Hywind model includes an additional yaw spring, i.e. C66 = 98,340,000 Nm/rad + 11,560,000 Nm/rad. The reason you are not getting the correct values for C33, C44, and C55 from your FAST v7 linearization is because of the influence of the hydrostatic stiffness and system weight (gravitational restoring) terms. The procedure for deriving the linear 6x6 stiffness matrix associated with the mooring system (without the hydrostatic and weight terms) from FAST v7 is explained in my Oct 30, 2012 post in the following forum topic: Questions about the HydroDyn Module.

BModes does not include the influence of system weight on the modal calculation. Body weight is important for the pitch and roll restoring of deep-drafted floating platforms, such as spar buoys. As such, The “OC3Hywind.bmi” model uses an adjustment to the (4,4) and (5,5) elements of the mooring system stiffness to augment the overall restoring in pitch and roll.

I hope that helps.

Best regards,

Dear Jason,

first of all thank you for the quick reply and for the work you are doing in the forum, with the software development and the investigation.
I used as described in the post viewtopic.php?f=4&t=732 the zero valued hydrostatic and hydrodynamic matrices. I get now the matrix I attach as “K – Stiff” where the difference with the matrix of the paper 47535 are negligible in C66, and a 5% difference remains in the C44=C55 as you describe in your answer in order to take account of the mass of the spar buoy. I now get as you can see in the attached file a difference of around 20% in C15 and C24. 4 new parameters appear which are maybe not negligible and do not appear in “OC3Hywind.bmi” Cij matrix.

My question is if still I am doing something wrong in my calculation or it is well done. If it is well done then C26, C35, C46 and C64 are negligible and the difference in C15 and C24 has not much influence in the modal calculation. If it is badly done then there is/are remaining parameter/s I did not check in my calculation which I fear. In this last case I already checked the azimuth influence being negligible for the calculation and other more tests but I run out of ideas maybe you can help with some.

---------------------------------------
Laín Nieto Gómez
PhD Student in the UPV/EHU University of the Basque Country
Escuela Técnica Superior de Ingenieros de Bilbao
Departamento de matemática aplicada
Spain
lnieto001@ikasle.ehu.eus

K_Matrix.txt (2.32 KB)

Dear Lain,

Did you follow all of the steps from the forum post I linked above (Questions about the HydroDyn Module)? If you did, I would expect that you’d match the 6x6 stiffness matrix of the mooring system from NREL/TP-500-47535 exactly. The resulting matrix would not include the body-weight terms.

Best regards,

Dear Jason,

Could I please know are there any example models of linearization (or detailed steps on how to use) for finding out the natural frequencies and modeshapes of the system corresponding to wind and wave loads (Aerodyn and Hydrodyn). I am using OpenFAST v3.0.

Thanks,
Satish J

Dear Satish,

I would not expect the natural frequencies to depend directly on wind and wave loads, although mean loading can effect the steady-state operating point and/or rotor speed, which can effect the natural frequencies.

This test of the NREL 5-MW baseline turbine atop the OC4-DeepCWind semisubmersible is the floating linearization test that we have made available: github.com/OpenFAST/r-test/tree … emi_Linear.

And there is general guidance for generating a Campbell diagram here and visualizing the mode shapes here: github.com/OpenFAST/matlab-toolbox.

Best regards,

Dear Jason,

Thanks for your reply.

Are there any documentations for linearisation in OpenFAST (Steps to follow) and on how to use Campbell diagram matlab script and visualizing the mode shapes.

Thanks,
Satish J

Dear Satish,

The last link in my prior post provides the guidance that we’ve developed.

Best regards,