Hi @Irene.Berdugo,
Sometimes when using SubDyn for offshore floating systems, we have some numerical instabilities in the solver This is something that we have to address.
I looked at the Test 25 that you are working on and I could make it work with some workarounds. The solution is not the most elegant, but it seems to work.
First, I had to include one correction iteration (NumCrctn = 1
in the OpenFAST input file [*.fst]). I also changed the time step to 0.01 seconds. So, you should change DT = 0.01
and DT_Out = 0.01
or use default
in the *.fst file and also RdtnDT = 0.01
in the HydroDyn input file.
Finally, the worst change is that I had to disable the Yaw DOF: PtfmYDOF = False
in the ElastoDyn input file. That’s less than ideal. I know…
Then I created one beam that behaves as rigid and the corresponding lumped mass and inertia for the platform in SubDyn. See the SubDyn input file below:
----------- SubDyn v1.01.x MultiMember Support Structure Input File ------------
Rigid floater modeled in SubDyn instead of ElastoDyn. R. Bergua: 20230127.
-------------------------- SIMULATION CONTROL ---------------------------------
False Echo - Echo input data to “.SD.ech” (flag)
“DEFAULT” SDdeltaT - Local Integration Step. If “default”, the glue-code integration step will be used.
3 IntMethod - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2].
False SttcSolve - Solve dynamics about static equilibrium point.
True ExtraMoment - Include extra moment from lever arm at interface in interface reactions.
-------------------- FEA and CRAIG-BAMPTON PARAMETERS---------------------------
3 FEMMod - FEM switch: element model in the FEM. [1= Euler-Bernoulli(E-B); 2=Tapered E-B (unavailable); 3= 2-node Timoshenko; 4= 2-node tapered Timoshenko (unavailable)]
1 NDiv - Number of sub-elements per member
True CBMod - [T/F] If True perform C-B reduction, else full FEM dofs will be retained. If True, select Nmodes to retain in C-B reduced system.
0 Nmodes - Number of internal modes to retain (ignored if CBMod=False). If Nmodes=0 → Guyan Reduction.
1 JDampings - Damping Ratios for each retained mode (% of critical) If Nmodes>0, list Nmodes structural damping ratios for each retained mode (% of critical), or a single damping ratio to be applied to all retained modes. (last entered value will be used for all remaining modes).
0 GuyanDampMod - Guyan damping [0=none, 1=Rayleigh Damping, 2= user specified 6x6 matrix]
0, 0 RayleighDamp - Mass and stiffness proportional damping coefficients (Rayleigh Damping) [only if GuyanDampMod=1].
6 GuyanDampSize - Guyan damping matrix (6x6) [only if GuyanDampMod=2].
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
---- STRUCTURE JOINTS: joints connect structure members (~Hydrodyn Input File)—
2 NJoints - Number of joints (-)
JointID JointXss JointYss JointZss JointType JointDirX JointDirY JointDirZ JointStiff JointDamp Roger comments: JointType: (1): cantilever beam, (2) universal joint, (3) revolute joint, (4) spherical joint.
(-) (m) (m) (m) (-) (-) (-) (-) (Nm/rad) (Nm/rad.s)
1 0.00 0.00 10 1 0 0 0 0 0 # Connection between SubDyn and ElastoDyn. Tower base location.
2 0.00 0.00 -8.6588 1 0 0 0 0 0 # Platform center of mass.
------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node ---------------------
0 NReact - Number of Joints with reaction forces; be sure to remove all rigid motion DOFs of the structure (else det([K])=[0])
RJointID RctTDXss RctTDYss RctTDZss RctRDXss RctRDYss RctRDZss [Global Coordinate System]
(-) (flag) (flag) (flag) (flag) (flag) (flag)
------- INTERFACE JOINTS: 1/0 for Locked (to the TP)/Free DOF @each Interface Joint (only Locked-to-TP implemented thus far (=rigid TP)) ---------
1 NInterf - Number of interface joints locked to the Transition Piece (TP): be sure to remove all rigid motion dofs
IJointID ItfTDXss ItfTDYss ItfTDZss ItfRDXss ItfRDYss ItfRDZss [Global Coordinate System]
(-) (flag) (flag) (flag) (flag) (flag) (flag)
1 1 1 1 1 1 1
----------------------------------- MEMBERS --------------------------------------
1 NMembers - Number of frame members
MemberID MJointID1 MJointID2 MPropSetID1 MPropSetID2 MType COSMID Roger comments: MType: (1): beam, (2) pre-tensioned cable, (3) rigid connection.
(-) (-) (-) (-) (-) (-) (-)
1 1 2 10 10 1 # Beam between tower base (MJointID1 = 1) and the platform center of mass (MJointID = 2). Properties of the beam (MPropSetID1 = MPropSetID1 = 10), defined below.
------------------ MEMBER X-SECTION PROPERTY data 1/2 [isotropic material for now: use this table for circular-tubular elements] ------------------------
1 NPropSets - Number of structurally unique x-sections (i.e. how many groups of X-sectional properties are utilized throughout all of the members)
PropSetID YoungE ShearG MatDens XsecD XsecT
(-) (N/m2) (N/m2) (kg/m3) (m) (m)
10 210E9 8.077E10 1 1 0.1 # Dummy beam linking tower base and platform center of mass. This beam in reality behaves as rigid because we use SttcSolve = False and NModes = 0. Small mass associated to this dummy beam.
------------------ MEMBER X-SECTION PROPERTY data 2/2 [isotropic material for now: use this table if any section other than circular, however provide COSM(i,j) below] ------------------------
0 NXPropSets - Number of structurally unique non-circular x-sections (if 0 the following table is ignored)
PropSetID YoungE ShearG MatDens XsecA XsecAsx XsecAsy XsecJxx XsecJyy XsecJ0
(-) (N/m2) (N/m2) (kg/m3) (m2) (m2) (m2) (m4) (m4) (m4)
-------------------------- CABLE PROPERTIES -------------------------------------
0 NCablePropSets - Number of cable cable properties
PropSetID EA MatDens T0 CtrlChannel
(-) (N) (kg/m) (N) (-)
----------------------- RIGID LINK PROPERTIES ------------------------------------
0 NRigidPropSets - Number of rigid link properties
PropSetID MatDens
(-) (kg/m)
---------------------- MEMBER COSINE MATRICES COSM(i,j) ------------------------
0 NCOSMs - Number of unique cosine matrices (i.e., of unique member alignments including principal axis rotations); ignored if NXPropSets=0 or 9999 in any element below
COSMID COSM11 COSM12 COSM13 COSM21 COSM22 COSM23 COSM31 COSM32 COSM33
(-) (-) (-) (-) (-) (-) (-) (-) (-) (-)
------------------------ JOINT ADDITIONAL CONCENTRATED MASSES--------------------------
1 NCmass - Number of joints with concentrated masses; Global Coordinate System
CMJointID JMass JMXX JMYY JMZZ JMXY JMXZ JMYZ MCGX MCGY MCGZ
(-) (kg) (kgm^2) (kgm^2) (kgm^2) (kgm^2) (kgm^2) (kgm^2) (m) (m) (m)
2 3.85218E+06 2.56193E+09 2.56193E+09 4.24265E+09 0 0 0 0 0 0 # Platform mass and inertia.
---------------------------- OUTPUT: SUMMARY & OUTFILE ----------------------------
False SSSum - Output a Summary File (flag).It contains: matrices K,M and C-B reduced M_BB, M-BM, K_BB, K_MM(OMG^2), PHI_R, PHI_L. It can also contain COSMs if requested.
0 OutCBModes - Output Guyan and Craig-Bampton modes {0: No output, 1: JSON output}, (flag)
0 OutFEMModes - Output first 30 FEM modes {0: No output, 1: JSON output} (flag)
False OutCOSM - Output cosine matrices with the selected output member forces (flag)
False OutAll - [T/F] Output all members’ end forces. Roger: It also outputs the full system matrices.
2 OutSwtch - [1/2/3] Output requested channels to: 1=.SD.out; 2=.out (generated by FAST); 3=both files.
True TabDelim - Generate a tab-delimited output in the .SD.out file
1 OutDec - Decimation of output in the .SD.out file
“ES11.4e2” OutFmt - Output format for numerical results in the .SD.out file
“A11” OutSFmt - Output format for header strings in the .SD.out file
------------------------- MEMBER OUTPUT LIST ------------------------------------------
1 NMOutputs - Number of members whose forces/displacements/velocities/accelerations will be output (-) [Must be <= 9].
MemberID NOutCnt NodeCnt [NOutCnt=how many nodes to get output for [< 10]; NodeCnt are local ordinal numbers from the start of the member, and must be >=1 and <= NDiv+1] If NMOutputs=0 leave blank as well.
(-) (-) (-)
1 1 2 # Platform center of mass location
------------------------- SSOutList: The next line(s) contains a list of output parameters that will be output in .SD.out or .out. ------
“M1N1TDXss,M1N1TDYss,M1N1TDZss” - Platform center of mass displacements (in global coordinate system)
END of output channels and end of file. (the word “END” must appear in the first 3 columns of this line)
With this I was able to run the system with the platform in SubDyn. Below you can see the comparison between running with the platform in ElastoDyn and SubDyn:
I hope it helps!
Roger