Anomalous response when modeling a tower in SubDyn

Thank you for all your help.

I am attempting to create a semi-submersible floating wind tower in SubDyn. Case 4 shown in the attached figure is my final goal.Case 1 through Case 3 were successful, but only Case 4 shows an abnormal response and the analysis is terminated. For Case 4, I simply changed the SubDyn Nmodes from 0 to 21 from Case 3. I would like to know why this change causes such a response and what I can do about it.

The analysis results in the attached figure are for a case where the floating body is just floating in the sea without wind and waves acting on it; Case1 to Case3 have a response corresponding to the natural period of the heave, but Case4 has the floating body sinking.

I found the following discussion helpful when modeling the tower in SubDyn. Specifically, I set ElastDyn’s TwFADOF1 to TwSSDOF2 to False and
TowerBsHt and PtfmRefzt are 0.01 m lower than TowerHt; SubDyn’s IJointID is referenced to the same height JointID as PtfmRefzt; AeroDyn15’s TwrElev is also referenced to ElastDyn’s tower height of ElastDyn’s tower.

Dear @Yosuke.Matsumoto,

Can you clarify other parameters of your Case 4 solve, such as DT, NumCrctn, DT_UJac, and UJacScalFact in the OpenFAST primary (.fst) input file, and SDdeltaT, SttcSolve, and GuyanLoadCorrection in SubDyn?

Best regards,

Thanks for getting back to me.

.fst
0.005 DT
2 InterpOrder
5 NumCrctn
2.0 DT_UJac -
60000000 UJacSclFact
1 CompElast
0 CompInflow
2 CompAero
0 CompServo
1 CompHydro
1 CompSub
3 CompMooring
0 CompIce
0 MHK

ElastDyn
False FlapDOF1
False FlapDOF2
False EdgeDOF
False TeetDOF
False DrTrDOF
False GenDOF
False YawDOF
False TwFADOF1
False TwFADOF2
False TwSSDOF1
False TwSSDOF2
True PtfmSgDOF
True PtfmSwDOF
True PtfmHvDOF
True PtfmRDOF
True PtfmPDOF
True PtfmYDOF

SubDyn
“DEFAULT” SDdeltaT
3 IntMethod
True SttcSolve
True GuyanLoadCorrection
3 FEMMod -
1 NDiv -
True CBMod -
21 Nmodes -
0.20 JDampings -
0 GuyanDampMod

MoorDyn
0.0001 dtM
3.0e6 kbot
3.0e5 cbot
1.0 dtIC
60.0 TmaxIC
4.0 CdScaleIC
0.001 threshIC

Is there any other information you need?

Dear @Yosuke.Matsumoto,

All of these settings look reasonable to me except UJacSclFact (which looks large relative the full system mass in kg, although I don’t know the details of your system) and NumCrct (I’m not sure why this value is so large).

Your result shows your model sinking; do you get the same problem if you only have the PtfmHvDOF enabled in ElastoDyn, or is the heave motion caused by coupling to other platform DOFs?

Have you examined the 21 Craig Bampton modes you’ve enabled in SubDyn, e.g., through Emmanuel Branlard’s mode shape visualizer: Mode shape visualization? Are the modes what you expect them to be?

Best regards,

Thank you for your response.

I think the reason why the UJacSclFact is so large is because the model I am considering is a concrete floating structure with a 15 MW wind turbine, I have entered a value equivalent to the weight including RNA, tower, floating structure and ballast. Is this idea OK?

The reason for the larger NumCrctn is that I thought it would improve the convergence of the solution. I don’t think this had any effect in this study.As for the value of NumCrctn, I always wonder how many is appropriate.I have the impression that when floating bodies are modeled as elastic bodies in SubDyn, the analysis often crashes when NumCrctn=1 is used.

If I set only PtfmHvDOF to True and the others to False, I get the expected heave response.

I checked CBmodes.json and FEMmodes.json, and CBmodes.json had a strange mode where the top of the tower seemed to be fixed, while FEMmodes.json’s seemed to be in normal mode. However, I am not sure of the difference between CBmodes and FEMmodes. Until I compared these two files this time, I thought the results of these files were the same. Could you please tell me what you mean by these files?

I would like to attach CBmodes.json and FEMmodes.json but I don’t know how to attach the txt file. Can I attach the txt to this forum?

Dear @Yosuke.Matsumoto,

I agree that UJacSclFact should be set equal to the approximate total weight of the floating wind system; it sounds like you have set it correctly for your case.

There is an interplay between time step size (DT) and number of corrections (NumCrtcn). Most models we have with SubDyn enabled only have NumCrtcn = 1 with an appropriate DT. In this case, increasing DT would then mandate more corrections.

Considering your system does not sink with only the platform heave DOF enabled, I would question whether your model is hydro-statically stable when other platform DOFs are enabled.

The modal reduction in SubDyn involves the calculation of 6 Guyan modes and the remaining Craig-Bampton modes. For a floating support structure, the 6 Guyan modes should be the 6 rigid-body modes, which are controlled through 6 platform DOFs in ElastoDyn and the Craig-Bampton modes are the internal elastic modes considering the interface joint fixed (because the motion of the interface joint is controlled by the 6 platform DOFs / rigid body Guyan modes), which are controlled within SubDyn. Considering this, do the Craig-Bampton modes appear to be reasonable?

The FEM modes represent the modal reduction where the interface joint is considered free, but these modes are not used internally within SubDyn.

This forum limits the types of files that can be attached. To share a .json file, you can either change the file extension to a type that is supported, or share a link to an external repository like Google Drive or GitHub.

Best regards,

Due to company security, I was unable to share the file on Google Drive, etc. I tried changing the json to a jpg or other extension and uploading it, but that didn’t work either. At the risk of being very redundant, may I paste the resulting text data directly here?

The CBmodes, as you described, have the tower top fixed and the structure below deformed. This mode is not what I expected. Does the fact that this mode is used in your calculations mean that you are not correctly calculating the vibration mode of the tower?
The mode I was expecting is the mode seen in FEMmodes and the vibration mode that causes the top of the tower to shake a lot when calculated with Bmodes.

To confirm the sensitivity of the DOF, the following case study was performed: with roll and pitch enabled, the analysis failed with the result that the floating body sank.

What can be done to improve this?

Also, in the case with heave and pitch DOF set to True, the analysis succeeds, but the pitch oscillates at short intervals of about 5 seconds. The original natural period of the pitch was about 23 seconds.

Dear @Yosuke.Matsumoto,

I’m not sure the contents of a .json file would share well in the forum, but you could try.

The modes with the tower top fixed is what SubDyn uses internally, so, these are the modes that matter for the solution. I’m mostly asking if the eigensolution is producing a reasonable solution or if there are clear signs of an ill-conditioned model.

I can certainly understand why disabling surge would impact the pitch period because surge and pitch are often coupled. Your table implies that roll and pitch must both be enabled for failure, but you didn’t run every combination. Is the system stable for 2D motion with surge, heave, and pitch enabled? How about sway, heave, and roll?

Best regards,

Two 2D conditions were analyzed: case 135 with Surge, Heave, and Pitch enabled, and case 234 with Sway, Heave, and Roll enabled.

The results of the two 2D analyses were successful. The response is also good. What do you think?

I don’t know why the calculation is successful for the 2D condition but fails for the 3D condition with Roll and Pitch enabled. Please let me know if you can help.I want to perform a 3D analysis with 6 degrees of freedom enabled, with the tower modeled in SubDyn.

The frequencies and vibration modes in CBmodes.json and FEMmodes.json are fine results in my opinion. I tried to paste the results here, but it seems I exceeded the character limit and failed to paste.

Dear @Yosuke.Matsumoto,

Does your model run as expected with all platform DOFs enabled except yaw?

Best regards,

Set DOF to True except Yaw and set Yaw to False.
Analysis failed; Heave response sunk.

Dear @Yosuke.Matsumoto,

According to your description, the numerical model seems to work as expected when you are using Nmodes = 0 in SubDyn, but it sinks when using Nmodes = 21. I guess the system is facing a numerical instability that results in such behavior. Could you include a smaller number of internal modes (e.g., Nmodes = 2) to check if the system works as expected (e.g., it floats and the rigid body motion described by the platform displacements is consistent)?

For reference, the internal modes (Nmodes in SubDyn) should capture the low frequency response of the system (e.g., up to 2 Hz in the coupled system). It may be that 6 internal modes are enough to cover that frequency range (it depends on the system that you analyzing). Initially, you defined Nmodes = 21. Is that an arbitrary number or you selected 21 for an specific reason?

As a final note, increasing the damping for the internal modes from JDampings = 0.2 to 1 may be beneficial.

I hope that helps!

Thanks for the reply.

The parsing was successful when Nmodes = 1.
If Nmodes = 2 or greater, the analysis failed.
I tried JDampings = 1 and 10. No effect was seen in either case.

The reason I chose Nmodes = 21 is because I set DT_Out = 0.1 and I thought I needed to consider vibration modes down to about 10 Hz.
This is the first time I have heard that 2Hz is acceptable. Does this correspond to the natural frequency of the tower?

Dear @Yosuke.Matsumoto,

We generally recommend you consider Craig-Bampton modes up to a natural frequency that could reasonably get excited by wind or waves. Wave loading generally occurs at low frequency (no higher than 2 Hz). The tower could be excited through wind interacting with the rotor, and so consideration up to 6P or 9P where 1P is the rotational speed of the rotor in rev/s may be important. What is that for your system? What are the Craig-Bampton natural frequencies of your system for modes 1, 2, and 21, and 22?

Best regards,

The minimum rotor speed is 5.0 rpm and the maximum rotor speed is 7.56 rpm. using IEA 15MW reference wind turbine.

C-B frequencies and main mode diagrams are attached.

Dear @Yosuke.Matsumoto,

The frequencies of the first few of your Craig-Bampton modes are quite low, but I suppose that is because your floater is quite massive relative to the tower stiffness.

Capturing 9P for a rotor speed of 7.56 goes is 1.1.34 Hz, which rises to 1.512 Hz for 12P. So, Roger’s recommendation of 2 Hz sounds sufficient, which limit you to needing at most 6 Craig-Bampton modes.

Best regards,

It is good for me that nmode is allowed to be 6. Because with nmode=6, dt can be about 10 times larger than the current setting of 0.005, as shown in the following message.

SubDyn recommended dt: 0.06012 - Current dt: 0.00500 - Max frequency: 0.832

Now if only we could get the calculation to work with Roll and Pitch degrees of freedom enabled.