FAST8 Linearization

Dear Jason,

I unterstand what do you mean. my Generator is a permanent Magnet.

I have changed the Generator subroutine in UserSubs.f90 and UserVSCont_KP.f90. when I set GenModel to 3 in the ServoDync Input file and I run the time series Simulation, it gives me the expected results.

In case of Linearization I cann’t set GenModel to 3 only 1 or 2. so what do you mean is that I have to Change in the FAST source code in order to do the linearization?

Best Regards
Taha

Dear Taha,

I mean that if you want to linearize FAST with ServoDyn with GenModel different from 1 or 2 will require that you modify the source code and recompile FAST.

Best regards,

Dear Jason,

Thank you for your Response, I have a question regarding running my Controller with bladded and with FAST. I have run my DLL PID Controller one time with FAST and one time with bladded. I have found that the rotational Speed with fast are more better ( smooth Response after the start up time ) but with bladded it shows small continious oscillations after the start up period.

Could you please give a reason behind this, if you have?

Best Regards

Dear Taha,

Sorry, but I can’t comment on that.

Best regards,

Dear Dr. Jonkman,

My work is to perform the dynamic response analysis using FAST, but before that, I want to check the natural frequency of the built wind turbine in FAST. So I wanna use the Linearization module to do this analysis. I run the Test14 which is used for linearization analysis for WP 1.5MW using version of FAST v8. While I have read the user’s manual and Readme for v8, also the output file after the linearization and post-processing MATLAB scripts, and some posts about linearization (not all of them as there are too much). I still have some questions for inquiring you:

  1. After running Test14.m and MBC3.m MATLAB script, I get the results of DampedFrequencies, DampedFreqs_Hz, NaturalFrequencies, NaturalFreqs_Hz,DecrementRate,DampRatios,MagnitudeModes,PhaseModes_deg etc. But I don not know what these values mean. For example, I get the 16 frequency values in the MBC_DampedFrequencyHz, but it is not clear about which frequency is for blade or for tower. Can you explain a little for me? Or is there document about explaining its calculated results?

  2. I find that in Test14.fst except Elast module is on, the other moulde such as inflow, Aero and Servo modules are off. And the initial conditions of wind turbine in ElastoDyn is still. So, my concern is if I would like to get the natural frequency of whole system in still condition, I can also only contain ElastoDyn moudle for the linearization analysis, right?

Looking forward to your reply.

Best regards,
Charlie

Dear Charlie,

The CampbellDiagram.xls workbook sorts the eigenvalues and eigenvectors by frequency and highlights the dominant components of each mode to aid in interpretation of the modes. This has been discussed several times on this forum e.g. see: Campbell Diagram & MBC3 output relation - #2 by Jason.Jonkman.

I’m not sure I understand your second question, but you only need to enable the ElastoDyn module if all you want to do is calculate the wind turbine natural frequencies in standstill without aerodynamics.

Best regards,

Dear Dr. Jonkman,

Very appreciate your helpful info.
Now I can get the natural frequencies of the blade, tower etc. based on the posts you introduce me. Then I come with another question. For instance, now I can get the natural frequencies of my tower from the pre-processor “Mode” with the value of f1tower=0.3483(Hz) and f2tower=3.245 (Hz). Right now I can also obtain these values from the MBC post-processor with the value of f1tower=0.344(Hz) and f2tower=3.056 (Hz). Among these, the values from two results for f1st are pretty close, but the f2nd show some difference. So, my question is the result from which tool(Mode or MBC) is right?

Best regards,
Charlie

Dear Charlie,

The natural frequencies calculated from the FAST linearization analysis + MBC3 should be consistent with the time-domain solution of FAST. The Modes preprocessor does a reasonable job at calculating the mode shapes and natural frequencies for the blades, but tends to be inaccurate for the tower because of the importance of the rotational inertia of the rotor-nacelle-assembly on the tower mode shapes, which Modes does not account for. This is why we recommend that BModes be used in place of Modes for calculating tower mode shapes.

Best regards,

Dear Dr. Jonkman,

Thanks your prompt reply and answer which are quite helpful for me. Following your reply I further have one concern: How can I get the mode shapes of blade and tower, to be exactly, if I wanna plot the mode shapes for blade and tower, how should I do?

Best regards,
Charlie

Dear Charlie,

Can you clarify your question? Are you trying to calculate the blade and tower mode shapes from mass and stiffness for use in FAST? Or do you already have a FAST model and you want to visualize the mode shapes–if so, for the full system (blade coupled to tower) or in isolation (blade only and tower only)?

Best regards,

Dear Dr. Jonkman,

Sorry for my unclear wording. Here, I already have completed the modelling in FAST as well as got the blade and tower natural frequencies though the linearization analysis discussed previously. I wanna plot the full system mode shapes, as well as the isolated blade or tower mode shapes. As I want to compare and have a look the difference of tower and blade mode shapes with and without the system couple. Hope I make the question clear.

Best regards,
Charlie

Dear Charlie,

FAST does not currently support visualization of the full-system mode shapes. The CampbellDiagram.xls spreadsheet that you’ve no-doubt used to interpret the linearization output (after MBC3) is what we’ve used historically to interpret the full-system modes (i.e. to identify the contribution of each DOF to each full-system mode). That said, we will soon be initiating a project to add visualization functionality of the full-system modes in collaboration with Envision Energy through an extension of the current FAST visualization functionality (involving VTK files).

For the isolated blade and tower modes, the mode shapes are inputs to the ElastoDyn module in the form of polynomial coefficients. You can visualize the mode shape by plotting the polynomial i.e.

y(x) = C_2x^2 + C_3x^3 + C_4x^4 + C_5x^5 + C_6*x^6

where x is the normalized distance along the blade or tower (0 <= x <= 1) and y(x) is the normalized mode shape (normalized so that y(1) = 1).

Best regards,

Dear Dr. Jonkman,

That really helps me a lot for my concern, thanks your informative reply!

Best regards,
Charlie

Dear Jason!
When LinInputs = 1, it can get nine inputs.How can I reduce the number of input variables?In addition,How to get the value of the input variable as a change of time.
Could you help me please ?

Kind regards,
Yu.Zhao

Dear Yu.Zhao,

In FAST v8 and OpenFAST, you can choose in the linearization process to include no inputs (LinInputs=0), the standard set of 9 inputs (LinInputs=1), or all module-level inputs (LinInputs=2). If you only want some of the 9 inputs, simply ignore the columns associated with the inputs you don’t want.

I’m not sure I understand your second question regarding the inputs changing with time. Are you asking about the linearization functionality or something else?

Best regards,

Dear Jason,
I have used FAST and MBC3 to calculate the coefficient matrix of the state space equation. My matlab foundation is relatively poor, so I would like to ask how to build this model using matlab. Can you provide a code example?
Best regards,

Dear Zhe.Zhang,

I would encourage you to read the paper that describes how the linearization capability was added to FAST v8: nrel.gov/docs/fy17osti/67015.pdf. The examples in this paper should hopefully explain the process.

I’m not sure if you are specifically interested in the wave disturbance mentioned in the paper excerpt you posted, but this has recently been added to OpenFAST–see the following paper: nrel.gov/docs/fy19osti/71865.pdf. This feature is in the final stages of being included in a public release.

Best regards,

Dear Jason,

Just find a bug at line 12 of findBladeTriplets, where 1:size(chkStr,2) should be used. Otherwise, the number of outputs in rotating frame will be zero.

Regards,
Xiao

Dear Xiao,

You quoted a rather old forum response. My guess is how MATLAB handles cell arrays has changed a bit. This used to work with size(chkStr). Regardless, in the current version of the findBladeTriplets.m file in MBC3 (github.com/OpenFAST/matlab-tool … Triplets.m), the length function is used in place of the size function, i.e., size(chkStr) → length(chkStr).

Best regards,

Jason,

I am currently linearizing a turbine model and expect that the state and its time derivative will have poles in the form of a complex conjugate (i.e. the pole for the deflection state and the pole for the time derivative state will have identical real values but imaginary values reflected across the real axis). However, for the linearization’s I have produced (this is a floating platform) I am not seeing this trend, but I am seeing complex conjugate polls for surge and sway displacement states. Am I confused on my underlying theory, expecting that the displacement and its corresponding time derivative state should be complex conjugate eigenvalues, or is it possible that the method OpenFAST uses to perform linearizations (numeric perturbation) could result in less than analytically accurate LTI systems?