Question about Seismic

Dear @Jason.Jonkman
I have another question about the Example file about OC4-Jckt , the .fst file as follows:


The SubDyn is “1” , so if I want to simulate the seismic load I need how to do ? Before, I set the SubDyn=2 using ExtPtfm module and define the motion of platform. So for Jacket offshore wind turbine how to simulate the seismic situation?
Best regards.

Dear @Jack.Hardy,

The process discussed above to use an external platform MCKF (ExtPtfm module through CompSub = 2) works for a land-based wind turbine with a mono tower implemented in ElastoDyn, but cannot be combined with a jacket model in SubDyn.

If you want to represent a jacket in ExtPtfm, you’ll need to represent it as a super element, but you’ll need an external solver to generate that super element. NREL has not developed guidance on that.

Best regards,

Dear @Jason.Jonkman ,
So you mean there is no any approach to achieve the simulation? How about modify the source code?
Best regards.

Dear @Jason.Jonkman
I‘m also trying to achieve the TMD in simulink and simulation in the conbination of OpenFAST and simulink . You said that I need to change the source code of the S-Function before. Now I have some steps to achieve it ? But I don’t sure it’s right? The steps are following:

  1. change the source code to add the interface of damper in simulink
  2. change the source code to add the logic to implement the control force

The steps are right? maybe something lost.
Best regards.

Dear @Jason.Jonkman
I read a little about the source code. I think I need to do that:

1.Add the inputs for the simulink

change the value ‘53’ and ‘51’ to be ‘54’ and ‘52’ , and if I want to implement 3D-force maybe it to be’56’ and ‘54’?


But how to change there ,add a ‘parameter = InputAry(52)’?

Maybe there also need to add something?

  1. The SUBROUTINE SrvD_SetExternalInputs function of FAST_Solver.f90 transfers the damper data from the FAST interface to the control module ServoDyn and ServoDyn to ElastoDyn. But I don’t know how to do it?
  2. I need you to tell me the other works how to do for achieving the external force from simulink implementing the tower or nacelle
    Best regards.
    Hardy

Dear @Jack.Hardy,

Regarding simulation of an offshore jacket with seismic excitation, as I said, you could use an external solver to generate the super element. But this is not something that NREL has done before, so, we have no guidance to provide.

Can you clarify what you are trying to add to Simulink? Is the existing Structural Control (StC) capability of OpenFAST, including modeling of TMDs, not sufficient for your needs?

Are you trying to enable active StC control through Simulink, StC_CMODE = 4? See the related questions on OpenFAST issues: Add the control TMD to Simulink with S-function · Issue #761 · OpenFAST/openfast · GitHub and How to implement active control of TMD in Simulink · Issue #2323 · OpenFAST/openfast · GitHub.

Best regards,

Dear @Jason.Jonkman ,
I want to try to enable some damper except TMD and TCLD, them are TMDI , MR and SA-TMD and so on, the force them implementing depend on the feedback of tower top acceleration , velocity or displacement. And i also want to combine them and Machine Learning.
I think it run by simulink is a good chioce.
I read the #2323,


Andrew-platt said we can imitate how the cable controls pass to Simulink.
In fact I think the damper like a external force to implement on the wind turbine.

You said use NumAdditionalInputs can complete the external active force.
So I want to ask you .if I want to layout dampers in multiple locations at tower and nacelle, the methods of Andrew-platt and you which is more appropriate?
Best regards.
Hardy

Dear @Jason.Jonkman
Oh, Jonkman I have to admit I too hurry to achieve the function above. It’s bad! So i want to understand the source code of OpenFAST slowly ,particularly the ServoDyn and ElastoDyn and FAST-Simulink .
Does there have any docs about studying the source code?
Best regards.
Hardy

Dear @Jack.Hardy,

The FAST S-Function input NumAdditionalInputs would allow you to add additional inputs without changing the S-Function, but regardless, you’d still have to change the OpenFAST source code to map those inputs to variables useful within OpenFAST, along the lines of what @Andy.Platt described.

Regarding the source code, the NWTC Programmers Handbook (https://openfast.readthedocs.io/en/main/_downloads/2a9110b5e2a2b531c7dc05ea1fc86b89/NWTC_Programmers_Handbook.pdf) provides an overview of the programing guidelines for the FAST (now OpenFAST) modularization framework. While this handbook was written for FAST v8 and some syntax and minor details have changed in OpenFAST, most content is still relevant.

The Developer Documentation on readthedocs provides OpenFAST-specific guidance, including working with GitHub: 5. Developer Documentation — OpenFAST v3.5.4 documentation.

While ServoDyn and the FAST-Simulink interface are relatively small sections of code that should not be hard to understand, understanding ElastoDyn would require knowledge of its underlying theory, which is documented here: 4.2.7. ElastoDyn Users Guide and Theory Manual — OpenFAST v3.5.4 documentation.

Best regards,

Dear @Jason.Jonkman
Thanks for your advice.I’m trying to analyze the TMD in X direction.But I feel puzzle about the Stc:


I don’t know what the 'stop spring X stiffness ’ and ‘stop spring X damping’ mean? And how to define the value?
Best regards.
Hardy

Dear @Jack.Hardy,

I can’t suggest specific values to use for the stop spring stiffness and damping, but these represent linear spring and damping constants that only engage after a certain displacement is exceeded, as documented here: 4.2.12.2. Theory Manual for the Tuned Mass Damper Module in OpenFAST — OpenFAST v3.5.4 documentation.

Best regards,

Dear @Jason.Jonkman
Thanks. And I want to find the definition of the OC4 5MW jacket ,where it can be find?
Best regards.

Dear @Jack.Hardy,

See the OC4 Phase 1 repository on Google Drive for all of the information relevant to this Phase of OC4, including the definition of the jacket model: Phase I Jacket - Google Drive.

Best regards,

Dear @Jason.Jonkman
I think I have asked you this question so many times, But it’s still puzzle for me .
For the Jacket wind turbine , can I implement the seismic load through change the source code?
If I can , it only be changed the Ptfm motion in the ElastDyn code?
Best regards.
Hardy

Dear @Jack.Hardy,

OpenFAST does not currently have the capability to simulate seismic excitation of wind turbine atop a jacket foundation, unless you’ve implemented the jacket as a super-element with seismic excitation through ExtPtfm. But, again, NREL has not provided documentation on how to generate such super elements. The approach described above for defining forces through ExtPtfm that lead to a desired platform acceleration cannot be applied when modeling a jacket in SubDyn, because OpenFAST does not allow you to enable both ExtPtfm and SubDyn.

You can always change the OpenFAST source code, but NREL cannot provide detailed guidance for you on developments that we have not already implemented ourselves.

Best regards,