FAST8 Linearization
Moderator: Bonnie.Jonkman

 Posts: 5428
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: FAST8 Linearization
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 shapesif so, for the full system (blade coupled to tower) or in isolation (blade only and tower only)?
Best regards,
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 shapesif so, for the full system (blade coupled to tower) or in isolation (blade only and tower only)?
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 23
 Joined: Wed Jul 25, 2018 3:00 pm
 Organization: western university
 Location: canada
Re: FAST8 Linearization
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
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

 Posts: 5428
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: FAST8 Linearization
Dear Charlie,
FAST does not currently support visualization of the fullsystem mode shapes. The CampbellDiagram.xls spreadsheet that you've nodoubt used to interpret the linearization output (after MBC3) is what we've used historically to interpret the fullsystem modes (i.e. to identify the contribution of each DOF to each fullsystem mode). That said, we will soon be initiating a project to add visualization functionality of the fullsystem 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_2*x^2 + C_3*x^3 + C_4*x^4 + C_5*x^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,
FAST does not currently support visualization of the fullsystem mode shapes. The CampbellDiagram.xls spreadsheet that you've nodoubt used to interpret the linearization output (after MBC3) is what we've used historically to interpret the fullsystem modes (i.e. to identify the contribution of each DOF to each fullsystem mode). That said, we will soon be initiating a project to add visualization functionality of the fullsystem 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_2*x^2 + C_3*x^3 + C_4*x^4 + C_5*x^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,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 23
 Joined: Wed Jul 25, 2018 3:00 pm
 Organization: western university
 Location: canada
Re: FAST8 Linearization
Dear Dr. Jonkman,
That really helps me a lot for my concern, thanks your informative reply!
Best regards,
Charlie
That really helps me a lot for my concern, thanks your informative reply!
Best regards,
Charlie

 Posts: 1
 Joined: Thu May 23, 2019 1:55 am
 Organization: Hohai.University
 Location: ChinaBeijing
Re: FAST8 Linearization
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
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

 Posts: 5428
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: FAST8 Linearization
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 modulelevel 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,
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 modulelevel 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,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 26
 Joined: Wed Apr 03, 2019 1:40 am
 Organization: Harbin Engineering University
 Location: China
Re: FAST8 Linearization
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,
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,

 Posts: 5428
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: FAST8 Linearization
Dear Zhe.Zhang,
I would encourage you to read the paper that describes how the linearization capability was added to FAST v8: https://www.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 OpenFASTsee the following paper: https://www.nrel.gov/docs/fy19osti/71865.pdf. This feature is in the final stages of being included in a public release.
Best regards,
I would encourage you to read the paper that describes how the linearization capability was added to FAST v8: https://www.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 OpenFASTsee the following paper: https://www.nrel.gov/docs/fy19osti/71865.pdf. This feature is in the final stages of being included in a public release.
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 12
 Joined: Thu Oct 19, 2017 1:01 am
 Organization: University of Denver
 Location: Denver
Re: FAST8 Linearization
Jason.Jonkman wrote:Dear Taha,
I don't see that you've used the corrected findBladeTriplets.m file that I reported above. You can find the corrected file at this deeplink: https://github.com/oldNWTC/MBC/blob/ma ... Triplets.m. The use of this correct filed should produce correct results.
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

 Posts: 5428
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: FAST8 Linearization
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 (https://github.com/OpenFAST/matlabtool ... Triplets.m), the length function is used in place of the size function, i.e., size(chkStr) > length(chkStr).
Best regards,
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 (https://github.com/OpenFAST/matlabtool ... Triplets.m), the length function is used in place of the size function, i.e., size(chkStr) > length(chkStr).
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 7
 Joined: Fri Jul 17, 2020 7:07 am
 Organization: General Electric
 Location: United States
Re: FAST8 Linearization
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?
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?

 Posts: 5428
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: FAST8 Linearization
Dear Martin,
I generally agree that the eigenvalues of a linear secondorder system form complex conjugate pairs. This is summarized a bit in my post dated Aug 20, 2020 in the following forum topic: viewtopic.php?f=4&t=1982&p=15239. Of course, you won't have the complex eigenvalue pair if you have rigidbody modes (whereby omega_n = 0) or an overly damped system (ABS(zeta) >= 1), where the imaginary part is zero.
And I also agree that an OpenFAST linearization analysis will produce a linear model that should generate such eigenvalues. I gather you are seeing that for the surge and sway modes, but not other modes? Can you clarify what you are seeing?
Note that if HydroDyn states are included in the OpenFAST linearization, then these states don't include second time derivatives. This is explained a bit in our DeepWind 2019 paper: https://iopscience.iop.org/article/10.1 ... 012022/pdf.
Best regards,
I generally agree that the eigenvalues of a linear secondorder system form complex conjugate pairs. This is summarized a bit in my post dated Aug 20, 2020 in the following forum topic: viewtopic.php?f=4&t=1982&p=15239. Of course, you won't have the complex eigenvalue pair if you have rigidbody modes (whereby omega_n = 0) or an overly damped system (ABS(zeta) >= 1), where the imaginary part is zero.
And I also agree that an OpenFAST linearization analysis will produce a linear model that should generate such eigenvalues. I gather you are seeing that for the surge and sway modes, but not other modes? Can you clarify what you are seeing?
Note that if HydroDyn states are included in the OpenFAST linearization, then these states don't include second time derivatives. This is explained a bit in our DeepWind 2019 paper: https://iopscience.iop.org/article/10.1 ... 012022/pdf.
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov

 Posts: 7
 Joined: Fri Jul 17, 2020 7:07 am
 Organization: General Electric
 Location: United States
Re: FAST8 Linearization
Jason,
For the linearizations I am working with, I am seeing that the platform states corresponding to the displacements have a natural frequency of 0, which as you said above can be attributed to the rigid body modes used in this version of OpenFAST. The tower 1st foreaft bending and 1st tower side to side bending displacement states form a complex conjugate eigen value pair. Similar trends are observed for 2nd foreaft and side to side tower displacement states. However, looking at their corresponding derivative states the eigenvalues are completely different for the platform and similar to that of tower derivative states. They do not form complex conjugate pairs among themselves or relative to their displacement states.
So in my process to compute natural frequencies and damping ratios, the result I get varies from the displacement state to the derivative state. And this is perplexing that there could possibly be a different natural frequency and damping ratio for the 1st tower foreaft bending as computed from either of the two states, and similarly across other components as well.
For the linearizations I am working with, I am seeing that the platform states corresponding to the displacements have a natural frequency of 0, which as you said above can be attributed to the rigid body modes used in this version of OpenFAST. The tower 1st foreaft bending and 1st tower side to side bending displacement states form a complex conjugate eigen value pair. Similar trends are observed for 2nd foreaft and side to side tower displacement states. However, looking at their corresponding derivative states the eigenvalues are completely different for the platform and similar to that of tower derivative states. They do not form complex conjugate pairs among themselves or relative to their displacement states.
So in my process to compute natural frequencies and damping ratios, the result I get varies from the displacement state to the derivative state. And this is perplexing that there could possibly be a different natural frequency and damping ratio for the 1st tower foreaft bending as computed from either of the two states, and similarly across other components as well.

 Posts: 5428
 Joined: Thu Nov 03, 2005 4:38 pm
 Location: Boulder, CO
 Contact:
Re: FAST8 Linearization
Dear Martin,
Just a couple comments:
Best regards,
Just a couple comments:
 I would not expect the floating platform modes to be rigidbody modes with zero frequency unless you don't have proper hydrostatic or mooring restoring set.
 I would expect the complex conjugate pair to be between a DOF and its first derivative, not between different DOFs, although the first foreaft and sideside modes are likely to have similar natural frequencies. If you are not seeing this, I think I'd need to see the eigensolution to understand what you are referring to.
Best regards,
Jason Jonkman, Ph.D.
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Senior Engineer  National Wind Technology Center (NWTC)
National Renewable Energy Laboratory (NREL)
15013 Denver West Parkway  Golden, CO 80401
+1 (303) 384 – 7026  Fax: +1 (303) 384 – 6901
nwtc.nrel.gov
Who is online
Users browsing this forum: No registered users and 1 guest