Onshore wind turbine: modeling of nonlinear foundation

Dear community,

I’m running some simulations of an onshore wind turbine, using OpenFAST v3.1.0. I’ve been successful in the simulations considering the tower fixed at the bottom. The next step include the nonlinear behavior of the foundation. I did some research (particularly in this forum) and I found out that NREL is developing a new module called SoilDyn to deal with the kind of scenarios. Does anyone know when it will be released? Or does anyone know how can I deal with the nonlinear behavior of the foundation using OpenFAST?

Thank you and best regards,
Mário

Dear @Mario.Sobrinho,

Regarding SoilDyn, you can find the pull request here: SoilDyn -- soil dynamics module by andrew-platt · Pull Request #986 · OpenFAST/openfast · GitHub. As you can see, there are still a few items (specifically documentation and examples) that need to be completed before this code is merged and released. Hopefully that will happen in the next couple of months.

Can you clarify how you intend to capture the foundation nonlinearities? SoilDyn’s main feature is to support an interface to the REDWIN dynamic library, which is basically a super-element for capturing the nonlinear hysteretics of the soil-structure interaction. Other simplified methods, such as p-y curves are not yet implemented within SoilDyn, although there is a placeholder for that.

Best regards,

Dear Jason,

Thank you for your answer.

First I want to include the effect of a monotonic load, considering two or three linear branches as illustrated in the figure below.
1

After, I would like to increase the complexity by include the following behaviour:
image

How can this be integrated, considering the dynamic behaviour of the turbine is still not clear for me.

Best regards,
Mário

Dear @Mario.Sobrinho,

Implementation of these nonlinear moment-rotation curves would require customization of the SoilDyn source code. If you expect to implement the nonlinearities quasi-statically, i.e., without hysteresis (that is, the moment depends only on the instantaneous rotation, not the time history of past rotation), the implementation is likely quite straightforward. Implementation with hysteresis (that is, the instantaneous moments depends on the time history of past rotation) would require that you add states into the module, which would add complexity.

Best regards,

1 Like

Dear Mario,

In case this helps, note that SoilDyn and SubDyn allow the user to account for a linear stiffness matrix. As commented by Jason, the only nonlinear stiffness capability at the moment would be by means of the REDWIN dynamic library within SoilDyn.

I hope that helps.

2 Likes

Dear Jason and Roger,

Thank you for your answers. Very much appreciated.
The input file for soildyn is already available? I searched in github but I could not find anything.

Thank you.
Mário Sobrinho

Dear @Mario.Sobrinho,

Adding a sample case (including adding a sample SoilDyn input file) is one of the last items needed to complete the SoilDyn pull request, as mentioned in the PR. (Adding documentation is also needed.) I would suggest posting your question in the PR to see if a sample input file can be shared before the PR is complete.

Best regards,

Dear @Mario.Sobrinho,

I shared with Andy Platt the model that was used in the OC6 phase II project. I know Andy is working on the Pull Request in GitHub.

You can find an example of input file that we used during OC6 phase II project here:

------- SoilDyn v1.0 INPUT FILE ------------------------------------------------------------------------------
Example SoilDyn input file for stiffness matrix in the seabed.
--------------------------------------------------------------------------------------------------------------
      False                Echo           - Echo input data to <RootName>.ech (flag)
      "default"            DT             - Communication interval (s) (or "default")
      1                    CalcOption     - Calculation option  {1: Stiffness / Damping matrices, 2: P-Y curves [unavailable], 3: coupled REDWIN DLL}
================== Parameters for Stiffness / Damping matrices [used only for CalcOption = 1] ================
   0 0 -30                   Location (X,Y,Z)     - the location of interface point (only one point allowed)
Stiffness matrix (6x6)
   6.336198E9   0.0000e+00   0.0000e+00   0.0000e+00  -5.015421E10  0.0000e+00
   0.0000e+00   6.336198E9   0.0000e+00   5.015421E10  0.0000e+00   0.0000e+00
   0.0000e+00   0.0000e+00   1.119691E10  0.0000e+00   0.0000e+00   0.0000e+00
   0.0000e+00   5.015421E10  0.0000e+00   8.111942E11  0.0000e+00   0.0000e+00
  -5.015421E10  0.0000e+00   0.0000e+00   0.0000e+00   8.111942E11  0.0000e+00
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   2.552673E11
Damping ratio matrix (6x6)
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00
================== Parameters for P-Y curves [used only for CalcOption = 2] ==================================
      1                    PY_numPts      - Number of PY input points on separate lines below (must match number of P-Y curves in PY_inputFile)
---- Location (x,y,z) ------- Point InputFile -------------
   0 0 0                    "UnusedFile" 
================== REDWIN interface for DLL [used only for CalcOption = 3] ===================================
      2                          DLL_model      - Model used in DLL {1: , 2: , 3: }
"unused"                         DLL_FileName   - Name/location of the dynamic library {.dll [Windows] or .so [Linux]} in the REDWIN-DLL format (-) [used only with DLL Interface]. 
      0                          DLL_NumPoints  - Number of interface points (specify location in global coordinates -- points must correspond to SubDyn mesh points) (-) [used only with DLL Interface]
---- Location (X,Y,Z) ------- PropsFile ------------- LDispFile ------------     
====================== OUTPUT ==================================================
      False                SumPrint       - Print summary data to <RootName>.SlD.sum (flag)
                           OutList        - The next line(s) contains a list of output parameters.  See OutListParameters.xlsx for a listing of available output channels, (-)
Sld1TDxg	    Point 1, x-displacement in global coordinate system [m].  
Sld1TDyg	    Point 1, y-displacement in global coordinate system [m]. 
Sld1RDxg	    Point 1, Rx-angular displacement in global coordinate system [deg]. 
Sld1RDyg	    Point 1, Ry-angular displacement in global coordinate system [deg].
Sld1RDzg	    Point 1, Rz-angular displacement in global coordinate system [deg]. 
-Sld1Fxg		Point 1, force in global X axis [kN].  
-Sld1Fyg		Point 1, force in global Y axis [kN]. 
-Sld1Fzg		Point 1, force in global Z axis [kN]. 
-Sld1Mxg		Point 1, moment Mx in global coordinate system [kNm]. 
-Sld1Myg		Point 1, moment My in global coordinate system [kNm]. 
-Sld1Mzg		Point 1, moment Mz in global coordinate system [kNm].
END of input file (the word "END" must appear in the first 3 columns of this last OutList line)
---------------------------------------------------------------------------------------

The SoilDyn input file in this case accounts for a linear 6x6 stiffness matrix located at the seabed (30 m below the mean sea level). The file also includes some useful sensors.

Note that maybe the format of this file slightly changes before it’s publicly released.

I hope that helps!

Roger

Dear Roger,

Thank you for the shared information.
If I understand correctly the procedure, I need to use the SubDyn to be able to run the SoilDyn. For this simple case, considering the calcOption = 1 (use of the stiffness matrix), the OpenFAST insert the soil stiffness matrix in the SubDyn node corresponding to the base reaction node.
I ran an example where I considered only one member with two nodes with the node 2 being the base reaction. However I’m not getting any reactions at the base. Do you know the reason why?

In the ElastoDyn main file, if I activate the DOF highlighted in gray bellow, I get the below error.
image

Please, find below the SubDyn that I’m using:

----------- SubDyn v1.01.x MultiMember Support Structure Input File ------------
Example of cantilever beam.
-------------------------- SIMULATION CONTROL  ---------------------------------
False            Echo        - Echo input data to "<rootname>.SD.ech" (flag)
"DEFAULT"        SDdeltaT    - Local Integration Step. If "default", the glue-code integration step will be used.
             4   IntMethod   - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2].
True             SttcSolve   - Solve dynamics about static equilibrium point
False            ExtraMoment
-------------------- 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.000, 0.00      RayleighDamp - TUNED to get zeta=0.01 at f=0.83, Mass and stiffness proportional damping  coefficients (Rayleigh Damping) [only if GuyanDampMod=1]
             6   GuyanDampSize  - Guyan damping matrix (6x6) [only if GuyanDampMod=2] ! TUNED to get zeta=0.01 at f=0.83
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 	
  (-)               (m)                    (m)                    (m)      (-) 		 (-) 		(-) 	  (-) 		  (Nm/rad) 	
   1              0.00000                0.00000                0.00000  	1 		 0.0 		0.0 	  0.0 			0.0 	
   2              0.00000                0.00000               -3.00000  	1 		 0.0 		0.0 	  0.0 			0.0 	
------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node ---------------------
             1   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)
   2          0           0           0            0          0            0
------- 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
  (-)         (-)         (-)          (-)           (-)          (-)        (-)
   1           1           2            1             1            1
------------------ 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)
   1           210E9         8.0769E10          7850             1              0.05
------------------ 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 
  (-)         (N)         (kg/m)        (N) 
----------------------- RIGID LINK PROPERTIES ------------------------------------
             1   NRigidPropSets - Number of rigid link properties
PropSetID   MatDens   
  (-)       (kg/m)
   2          0
---------------------- 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--------------------------
             0   NCmass      - Number of joints with concentrated masses; Global Coordinate System
CMJointID       JMass            JMXX             JMYY             JMZZ
  (-)            (kg)          (kg*m^2)         (kg*m^2)         (kg*m^2)
---------------------------- OUTPUT: SUMMARY & OUTFILE ------------------------------
True             SumPrint    - 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)
True             OutCOSM     - Output cosine matrices with the selected output member forces (flag)
False            OutAll      - [T/F] Output all members' end forces 
             1   OutSwtch    - [1/2/3] Output requested channels to: 1=<rootname>.SD.out;  2=<rootname>.out (generated by FAST);  3=both files.
True             TabDelim    - Generate a tab-delimited output in the <rootname>.SD.out file
           100   OutDec      - Decimation of output in the <rootname>.SD.out file
"ES11.4e2"       OutFmt      - Output format for numerical results in the <rootname>.SD.out file
"A11"            OutSFmt     - Output format for header strings in the <rootname>.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    2
------------------------- SSOutList: The next line(s) contains a list of output parameters that will be output in <rootname>.SD.out or <rootname>.out. ------ 
"M1N2MKye"            - 1st Member, 1st node cnt (node 2 in the system): static components of Y bending moment
END of output channels and end of file. (the word "END" must appear in the first 3 columns of this line)

Dear @Mario.Sobrinho,

Just a few comments:

  1. When SubDyn is enabled, you should enable all 6 platform DOFs in ElastoDyn, which control the Guyan modes of SubDyn. When the platform DOFs in ElastoDyn are disabled, the loads/motions of the wind turbine are not coupled to the substructure dynamics in SubDyn, which is undesirable.
  2. If enabling the platform DOFs in ElastoDyn causes the warnings and errors are you reporting, this is likely the result of a numerical instability. Dropping the time step (DT in the OpenFAST primary *.fst input file) will likely help.
  3. I’m not sure if you changed the SoilDyn input file that Roger provided, but it is odd to me that the bottom joint in SubDyn is at (X,Y,Z) = (0,0-3) m while the the soil stiffness and damping in SubDyn are specified at (0,0-30) m.
  4. There is little point using CalcOption = 1 in SoilDyn when SubDyn is enabled because it is easier to specify a linear stiffness matrix directly in SubDyn via the SSIfile. SoilDyn is most useful if you want to consider foundation nonlinearities.

Best regards,

Dear Jason,

Thank you for your answer.
Reducing the time step solved the issue, thank you.
For the SoilDyn and SubDyn, I’m using the same coordinates (0,0,-3).
Answering to your last comment, yes, for linear analysis, specify the stiffness matrix directly in SubDyn would be the best solution, however my idea is to use the SoilDyn starting from a very simple example and adding complexity :slightly_smiling_face:

Best regards,
Mário

1 Like

Dear Jason, dear Roger,

Still fighting with the WTG modeling :slight_smile:
I’m using the REDWIN DLL files, considering the model 1, since I only have the curve moment-rotation (suggestion from REDWIN team). To be able to run the OpenFAST, I remove, in the source code, the limitation to use only the model 2. As far as I understood, that limitation is related with lack of test results, is that correct? But, only by removing that limitation, is the code ready to work with the model 1?

In any case, after compiling the code, it was able to run with REDWIN model 1. However, I get always the same rotation at the tower base, despite the change on the curve moment-rotation that I give as input in the SoilDyn. I do not understand why.
In ElastoDyn I have the following DoF:

---------------------- DEGREES OF FREEDOM --------------------------------------
True          FlapDOF1    - First flapwise blade mode DOF (flag)
True          FlapDOF2    - Second flapwise blade mode DOF (flag)
True          EdgeDOF     - First edgewise blade mode DOF (flag)
True          TeetDOF     - Rotor-teeter DOF (flag) [unused for 3 blades]
True          DrTrDOF     - Drivetrain rotational-flexibility DOF (flag)
True          GenDOF      - Generator DOF (flag)
False         YawDOF      - Yaw DOF (flag)
True          TwFADOF1    - First fore-aft tower bending-mode DOF (flag)
True          TwFADOF2    - Second fore-aft tower bending-mode DOF (flag)
True          TwSSDOF1    - First side-to-side tower bending-mode DOF (flag)
True          TwSSDOF2    - Second side-to-side tower bending-mode DOF (flag)
False         PtfmSgDOF   - Platform horizontal surge translation DOF (flag)
False         PtfmSwDOF   - Platform horizontal sway translation DOF (flag)
False         PtfmHvDOF   - Platform vertical heave translation DOF (flag)
True          PtfmRDOF    - Platform roll tilt rotation DOF (flag)
True          PtfmPDOF    - Platform pitch tilt rotation DOF (flag)
False         PtfmYDOF    - Platform yaw rotation DOF (flag)

I assume that I only have to “free” the DoF PtfmR and PtfmP, right?

Also, I’m not sure if the problem is related with the SubDyn input file that I’m using. In that sense, I kindly ask you if you can provide me feedback on the file below:

----------- SubDyn v1.01.x MultiMember Support Structure Input File ------------
Foundation simulation.
-------------------------- SIMULATION CONTROL  ---------------------------------
False            Echo        - Echo input data to "<rootname>.SD.ech" (flag)
"DEFAULT"        SDdeltaT    - Local Integration Step. If "default", the glue-code integration step will be used.
             4   IntMethod   - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2].
True             SttcSolve   - Solve dynamics about static equilibrium point
True             GuyanLoadCorrection - Include extra moment from lever arm at interface in interface reactions. R. Bergua: This accounts for the gravity being applied over the deflected structure.
-------------------- 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
False            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.000, 0.00      RayleighDamp - TUNED to get zeta=0.01 at f=0.83, Mass and stiffness proportional damping  coefficients (Rayleigh Damping) [only if GuyanDampMod=1]
             6   GuyanDampSize  - Guyan damping matrix (6x6) [only if GuyanDampMod=2] ! TUNED to get zeta=0.01 at f=0.83
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 	
  (-)               (m)                    (m)                    (m)      (-) 		 (-) 		(-) 	  (-) 		  (Nm/rad) 	
   1              0.00000                0.00000                0.00000  	1 		 0.0 		0.0 	  0.0 			0.0 	
   2              0.00000                0.00000               -3.0000  	4 		 1.0 		1.0 	  0.0 			0.0 	
------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node ---------------------
             1   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)
   2          1           1           1            0          0            1   
------- 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
  (-)         (-)         (-)          (-)           (-)          (-)        (-)
   1           1           2            1             1            1
------------------ 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)
  1  		  4.2E10		  1.75E10		   1375			     5		         0.1
------------------ 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 
  (-)         (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--------------------------
             0   NCmass      - Number of joints with concentrated masses; Global Coordinate System
CMJointID       JMass            JMXX             JMYY             JMZZ
  (-)            (kg)          (kg*m^2)         (kg*m^2)         (kg*m^2)
---------------------------- OUTPUT: SUMMARY & OUTFILE ------------------------------
True             SumPrint    - 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)
True             OutCOSM     - Output cosine matrices with the selected output member forces (flag)
False            OutAll      - [T/F] Output all members' end forces 
             1   OutSwtch    - [1/2/3] Output requested channels to: 1=<rootname>.SD.out;  2=<rootname>.out (generated by FAST);  3=both files.
True             TabDelim    - Generate a tab-delimited output in the <rootname>.SD.out file
           100   OutDec      - Decimation of output in the <rootname>.SD.out file
"ES11.4e2"       OutFmt      - Output format for numerical results in the <rootname>.SD.out file
"A11"            OutSFmt     - Output format for header strings in the <rootname>.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    2
------------------------- SSOutList: The next line(s) contains a list of output parameters that will be output in <rootname>.SD.out or <rootname>.out. ------ 
END of output channels and end of file. (the word "END" must appear in the first 3 columns of this line)

Once again, thank you for your support.

Best regards,
Mário

Dear @Mario.Sobrinho,

Regarding SoilDyn’s support for REDWIN model 1, I’m actually not sure. Perhaps Roger Bergua or Andy Platt can comment on that.

I am surprised, though, by your choice of ElastoDyn platform and SubDyn reaction node DOFs. The platform DOFs in ElastoDyn represent the motion of the transition piece, which interfaces to SubDyn. When SubDyn is enabled, it is almost always the case that all six platform DOFs should be enabled to ensure a proper load-motion coupling between ElastoDyn and SubDyn. So, I would expect PtfmSgDOF = PtfmSwDOF = PtfmHvDOF = PtfmRDOF = PtfmPDOF = PtfmYDOF = TRUE in ElastoDyn. For a similar reason when SoilDyn and SubDyn are enabled, it is almost always the case that all six SubDyn reaction node DOFs should be enabled to ensure a proper load-motion coupling between SubDyn and SoilDyn. So, I would expect that you’d use JointType = 1 and RctTDXss = RctTDYss = RctTDZss = RctRDXss = RctRDYss = RctRDZss = 0 for JointID = 2 in SubDyn.

Best regards,

Dear @Mario.Sobrinho,

During the OC6 phase II project I tried to use the REDWIN model 1 within SoilDyn to account for p-y curves along a monopile. I know that at the time, I was unable to make it work. In your case it’s a bit different because you only have one interface point instead of several ones. Hopefully Andy Platt will be able to give you more visibility about the current limitations for REDWIN model 1.

Regarding the model settings, I agree with Jason. You should define as True all the Platform degrees of freedom. Note that this “Platform” location should be defined in the ElastoDyn input file (PtfmRefzt) at the interface between ElastoDyn and SubDyn. By defining one degree of freedom as False you would be effectively constraining that direction.

Something quite tricky is that you are also defining the joint 2 in SubDyn with a type (4). This type (4) corresponds to a spherical joint. I would probably define it as cantilever beam (1).

Let us know if with the changes in the platform (ElastoDyn) and the cantilever beam (SubDyn), you are getting the expected behavior.

I hope that helps!

Roger

Dear Jason, dear Roger,

Thank you for your answers.
I released all the constraints in the platform side (ElastoDyn) by setting them to True. I did the same in the SubDyn, node 2 RctTDXss = RctTDYss = RctTDZss = RctRDXss = RctRDYss = RctRDZss = 0
With those changes I’m not able to run the model. I get the following error:


I tested to run by lowering the step: 0.0001 DT - Recommended module time step (s) but still not run.

One note: the stiffness matrix provided by SoilDyn only contains K55 (please, see image below), that’s why I decided, previously, to lock the DOF’s to be able to run the model.
By unlocking all the DOF’s, the OpenFAST aborts, as shown before.
1

Do you any suggestions to overcome this issue?

Thank you.

Best regards,
Mário

Dear @Mario.Sobrinho,

Does your model run as expected when you have all of the ElastoDyn platform DOFs enabled but a fully constrained reaction joint in SubDyn (such that the effect of SoilDyn is disabled), i.e., JointType = 1 and RctTDXss = RctTDYss = RctTDZss = RctRDXss = RctRDYss = RctRDZss = 1 for JointID = 2 in SubDyn? If so, I would guess the issue is with the SoilDyn-SubDyn coupling

Regarding the latter, is your SoilDyn model constraining anything but the pitch DOF? If not, you’d likely need to use JointType = 1 and RctTDXss = RctTDYss = RctTDZss = RctRDXss = RctRDZss = 1, with RctRDYss = 0 for JointID = 2 in SubDyn.

Best regards,

Answering to your first question, yes, the model runs well by enabling all DOF’s in ElastoDyn, constraining totally JointID=2 as below:

------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node ---------------------
             1   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   SSIfile ![Global Coordinate System] 
  (-)       (flag)      (flag)      (flag)      (flag)      (flag)      (flag)    (string)
   2          1           1           1            1          1            1  

For the second question, the SoylDyn is only constraining the pitch DOF (K55, I presume). By doing what you stated, is runs until ~10secs and after that, aborts with this “GetSmllRotAngs()” message as before.

Below, I attached the ElastoDyn input file to kindly ask you if there is some inconsistency with the data:

---------------------- SIMULATION CONTROL --------------------------------------
False         Echo        - Echo input data to "<RootName>.ech" (flag)
          3   Method      - Integration method: {1: RK4, 2: AB4, or 3: ABM4} (-)
"DEFAULT"     DT          - Integration time step (s)
---------------------- DEGREES OF FREEDOM --------------------------------------
True          FlapDOF1    - First flapwise blade mode DOF (flag)
True          FlapDOF2    - Second flapwise blade mode DOF (flag)
True          EdgeDOF     - First edgewise blade mode DOF (flag)
True          TeetDOF     - Rotor-teeter DOF (flag) [unused for 3 blades]
True          DrTrDOF     - Drivetrain rotational-flexibility DOF (flag)
True          GenDOF      - Generator DOF (flag)
False         YawDOF      - Yaw DOF (flag)
True          TwFADOF1    - First fore-aft tower bending-mode DOF (flag)
True          TwFADOF2    - Second fore-aft tower bending-mode DOF (flag)
True          TwSSDOF1    - First side-to-side tower bending-mode DOF (flag)
True          TwSSDOF2    - Second side-to-side tower bending-mode DOF (flag)
True         PtfmSgDOF   - Platform horizontal surge translation DOF (flag)
True         PtfmSwDOF   - Platform horizontal sway translation DOF (flag)
True         PtfmHvDOF   - Platform vertical heave translation DOF (flag)
True         PtfmRDOF    - Platform roll tilt rotation DOF (flag)
True         PtfmPDOF    - Platform pitch tilt rotation DOF (flag)
True         PtfmYDOF    - Platform yaw rotation DOF (flag)
---------------------- INITIAL CONDITIONS --------------------------------------
          0   OoPDefl     - Initial out-of-plane blade-tip displacement (meters)
          0   IPDefl      - Initial in-plane blade-tip deflection (meters)
          0   BlPitch(1)  - Blade 1 initial pitch (degrees)
          0   BlPitch(2)  - Blade 2 initial pitch (degrees)
          0   BlPitch(3)  - Blade 3 initial pitch (degrees) [unused for 2 blades]
          0   TeetDefl    - Initial or fixed teeter angle (degrees) [unused for 3 blades]
          0   Azimuth     - Initial azimuth angle for blade 1 (degrees)
          5   RotSpeed    - Initial or fixed rotor speed (rpm)
          0   NacYaw      - Initial or fixed nacelle-yaw angle (degrees)
          0   TTDspFA     - Initial fore-aft tower-top displacement (meters)
          0   TTDspSS     - Initial side-to-side tower-top displacement (meters)
          0   PtfmSurge   - Initial or fixed horizontal surge translational displacement of platform (meters)
          0   PtfmSway    - Initial or fixed horizontal sway translational displacement of platform (meters)
          0   PtfmHeave   - Initial or fixed vertical heave translational displacement of platform (meters)
          0   PtfmRoll    - Initial or fixed roll tilt rotational displacement of platform (degrees)
          0   PtfmPitch   - Initial or fixed pitch tilt rotational displacement of platform (degrees)
          0   PtfmYaw     - Initial or fixed yaw rotational displacement of platform (degrees)
---------------------- TURBINE CONFIGURATION -----------------------------------
          3   NumBl       - Number of blades (-)
      50.00   TipRad      - The distance from the rotor apex to the blade tip (meters)
        1.0   HubRad      - The distance from the rotor apex to the blade root (meters)
       -2.5   PreCone(1)  - Blade 1 cone angle (degrees)
       -2.5   PreCone(2)  - Blade 2 cone angle (degrees)
       -2.5   PreCone(3)  - Blade 3 cone angle (degrees) [unused for 2 blades]
      1.108   HubCM       - Distance from rotor apex to hub mass [positive downwind] (meters)
          0   UndSling    - Undersling length [distance from teeter pin to the rotor apex] (meters) [unused for 3 blades]
          0   Delta3      - Delta-3 angle for teetering rotors (degrees) [unused for 3 blades]
          0   AzimB1Up    - Azimuth value to use for I/O when blade 1 points up (degrees)
      -5.32   OverHang    - Distance from yaw axis to rotor apex [3 blades] or teeter pin [2 blades] (meters)
      1.912   ShftGagL    - Distance from rotor apex [3 blades] or teeter pin [2 blades] to shaft strain gages [positive for upwind rotors] (meters)
         -5   ShftTilt    - Rotor shaft tilt angle (degrees)
      0.625   NacCMxn     - Downwind distance from the tower-top to the nacelle CM (meters)
      0.157   NacCMyn     - Lateral  distance from the tower-top to the nacelle CM (meters)
       1.39   NacCMzn     - Vertical distance from the tower-top to the nacelle CM (meters)
   -3.09528   NcIMUxn     - Downwind distance from the tower-top to the nacelle IMU (meters)
          0   NcIMUyn     - Lateral  distance from the tower-top to the nacelle IMU (meters)
    2.23336   NcIMUzn     - Vertical distance from the tower-top to the nacelle IMU (meters)
    1.96256   Twr2Shft    - Vertical distance from the tower-top to the rotor shaft (meters)
       93.3   TowerHt     - Height of tower above ground level [onshore] or MSL [offshore] (meters)
          0   TowerBsHt   - Height of tower base above ground level [onshore] or MSL [offshore] (meters)
          0   PtfmCMxt    - Downwind distance from the ground level [onshore] or MSL [offshore] to the platform CM (meters)
          0   PtfmCMyt    - Lateral distance from the ground level [onshore] or MSL [offshore] to the platform CM (meters)
          0   PtfmCMzt    - Vertical distance from the ground level [onshore] or MSL [offshore] to the platform CM (meters)
          0   PtfmRefzt   - Vertical distance from the ground level [onshore] or MSL [offshore] to the platform reference point (meters)
---------------------- MASS AND INERTIA ----------------------------------------
          0   TipMass(1)  - Tip-brake mass, blade 1 (kg)
          0   TipMass(2)  - Tip-brake mass, blade 2 (kg)
          0   TipMass(3)  - Tip-brake mass, blade 3 (kg) [unused for 2 blades]
      40769   HubMass     - Hub mass (kg)
     234829   HubIner     - Hub inertia about rotor axis [3 blades] or teeter axis [2 blades] (kg m^2)
    534.116   GenIner     - Generator inertia about HSS (kg m^2)
      68108   NacMass     - Nacelle mass (kg)
   2.53E+06   NacYIner    - Nacelle inertia about yaw axis (kg m^2)
          0   YawBrMass   - Yaw bearing mass (kg)
          0   PtfmMass    - Platform mass (kg)
          0   PtfmRIner   - Platform inertia for roll tilt rotation about the platform CM (kg m^2)
          0   PtfmPIner   - Platform inertia for pitch tilt rotation about the platform CM (kg m^2)
          0   PtfmYIner   - Platform inertia for yaw rotation about the platform CM (kg m^2)
---------------------- BLADE ---------------------------------------------------
         17   BldNodes    - Number of blade nodes (per blade) used for analysis (-)
"V100_GlobalScale_Blade.dat"    BldFile(1)  - Name of file containing properties for blade 1 (quoted string)
"V100_GlobalScale_Blade.dat"    BldFile(2)  - Name of file containing properties for blade 2 (quoted string)
"V100_GlobalScale_Blade.dat"    BldFile(3)  - Name of file containing properties for blade 3 (quoted string) [unused for 2 blades]
---------------------- ROTOR-TEETER --------------------------------------------
          0   TeetMod     - Rotor-teeter spring/damper model {0: none, 1: standard, 2: user-defined from routine UserTeet} (switch) [unused for 3 blades]
          0   TeetDmpP    - Rotor-teeter damper position (degrees) [used only for 2 blades and when TeetMod=1]
          0   TeetDmp     - Rotor-teeter damping constant (N-m/(rad/s)) [used only for 2 blades and when TeetMod=1]
          0   TeetCDmp    - Rotor-teeter rate-independent Coulomb-damping moment (N-m) [used only for 2 blades and when TeetMod=1]
          0   TeetSStP    - Rotor-teeter soft-stop position (degrees) [used only for 2 blades and when TeetMod=1]
          0   TeetHStP    - Rotor-teeter hard-stop position (degrees) [used only for 2 blades and when TeetMod=1]
          0   TeetSSSp    - Rotor-teeter soft-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1]
          0   TeetHSSp    - Rotor-teeter hard-stop linear-spring constant (N-m/rad) [used only for 2 blades and when TeetMod=1]
---------------------- DRIVETRAIN ----------------------------------------------
         100  GBoxEff     - Gearbox efficiency (%)
         112.8  GBRatio     - Gearbox ratio (-)
 8.67637E+08  DTTorSpr    - Drivetrain torsional spring (N-m/rad)
   3.215E+06  DTTorDmp    - Drivetrain torsional damper (N-m/(rad/s))
---------------------- FURLING -------------------------------------------------
False         Furling     - Read in additional model properties for furling turbine (flag) [must currently be FALSE)
"unused"      FurlFile    - Name of file containing furling properties (quoted string) [unused when Furling=False]
---------------------- TOWER ---------------------------------------------------
         52   TwrNodes    - Number of tower nodes used for analysis (-)
"V100_ElastoDyn_Tower.dat"    TwrFile     - Name of file containing tower properties (quoted string)
---------------------- OUTPUT --------------------------------------------------
False         SumPrint    - Print summary data to "<RootName>.sum" (flag)
          1   OutFile     - Switch to determine where output will be placed: {1: in module output file only; 2: in glue code output file only; 3: both} (currently unused)
True          TabDelim    - Use tab delimiters in text tabular output file? (flag) (currently unused)
"ES10.3E2"    OutFmt      - Format used for text tabular output (except time).  Resulting field should be 10 characters. (quoted string) (currently unused)
          0   TStart      - Time to begin tabular output (s) (currently unused)
          1   DecFact     - Decimation factor for tabular output {1: output every time step} (-) (currently unused)
          1   NTwGages    - Number of tower nodes that have strain gages for output [0 to 9] (-)
          1   TwrGagNd    - List of tower nodes that have strain gages [1 to TwrNodes] (-) [unused if NTwGages=0]
          1   NBlGages    - Number of blade nodes that have strain gages for output [0 to 9] (-)
          4   BldGagNd    - List of blade nodes that have strain gages [1 to BldNodes] (-) [unused if NBlGages=0]
              OutList     - The next line(s) contains a list of output parameters.  See OutListParameters.xlsx for a listing of available output channels, (-)
"TwrBsMyt"
"PtfmRDyi"
"TwHt1RDyt"
"GenSpeed"
END of input file (the word "END" must appear in the first 3 columns of this last OutList line)
---------------------------------------------------------------------------------------

Dear @Mario.Sobrinho,

Can you also share your SubDyn and SoilDyn input files? Now that you’ve disabled all but the pitch DOF in SubDyn, it sounds like the model runs longer now. Does reducing the time step extend the length of the simulation?

Best regards,

Dear Jason,

Please, find below the SubDyn and SoilDyn input file:

----------- SubDyn v1.01.x MultiMember Support Structure Input File ------------
SubDyn model 1 verification for Spider Float. New SubDyn template Emmanuel.
-------------------------- SIMULATION CONTROL  ---------------------------------
False            Echo        - Echo input data to "<rootname>.SD.ech" (flag)
"DEFAULT"        SDdeltaT    - Local Integration Step. If "default", the glue-code integration step will be used.
             4   IntMethod   - Integration Method [1/2/3/4 = RK4/AB4/ABM4/AM2].
True             SttcSolve   - Solve dynamics about static equilibrium point
True             GuyanLoadCorrection - Include extra moment from lever arm at interface in interface reactions. R. Bergua: This accounts for the gravity being applied over the deflected structure.
-------------------- 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]. Roger comment: Damping matrix applied at the Transition Piece. 
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 (-). Roger comments: JointType: (1): cantilever beam, (2) universal joint, (3) revolute joint, (4) spherical joint. 
JointID          JointXss               JointYss               JointZss          JointType     JointDirX   JointDirY     JointDirZ    JointStiff    JointDamp   ![Coordinates of Member joints in SS-Coordinate System]
  (-)               (m)                    (m)                    (m)               (-)           (-)         (-)           (-)        (Nm/rad)     (N/rad.s)
   1                 0                      0                      0                 1			   0		   0			 0			   0			0
   2                 0                      0                     -0.2               1		   	   0	       0		     1		       0  		    0    ! Revolute joint        
------------------- BASE REACTION JOINTS: 1/0 for Locked/Free DOF @ each Reaction Node ---------------------
             1   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   SSIfile ![Global Coordinate System] 
  (-)       (flag)      (flag)      (flag)      (flag)      (flag)      (flag)    (string)
   2          1           1           1            1          0            1  
------- 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   
  (-)       (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            1             1            1                			          
------------------ 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
PropSetID     YoungE          ShearG          MatDens          XsecD           XsecT
  (-)         (N/m2)          (N/m2)          (kg/m3)           (m)             (m)
   1  		  4.2E10		  1.75E10		   1375			    5.1		         0.01
------------------ 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--------------------------
             0   NCmass      - Number of joints with concentrated masses; Global Coordinate System
CMJointID       JMass            JMXX             JMYY             JMZZ          JMXY        JMXZ         JMYZ        MCGX      MCGY        MCGZ 
  (-)            (kg)          (kg*m^2)         (kg*m^2)         (kg*m^2)      (kg*m^2)    (kg*m^2)     (kg*m^2)       (m)      (m)          (m) 
---------------------------- OUTPUT: SUMMARY & OUTFILE ------------------------------
True             SumPrint    - Output a Summary File (flag).
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.
             1   OutSwtch    - [1/2/3] Output requested channels to: 1=<rootname>.SD.out;  2=<rootname>.out (generated by FAST);  3=both files.
True             TabDelim    - Generate a tab-delimited output in the <rootname>.SD.out file
             1   OutDec      - Decimation of output in the <rootname>.SD.out file
"ES11.4e2"       OutFmt      - Output format for numerical results in the <rootname>.SD.out file
"A11"            OutSFmt     - Output format for header strings in the <rootname>.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                        
------------------------- SSOutList: The next line(s) contains a list of output parameters that will be output in <rootname>.SD.out or <rootname>.out. ------
END of output channels and end of file. (the word "END" must appear in the first 3 columns of this line)
------- SoilDyn v1.0 INPUT FILE ------------------------------------------------------------------------------
Example SoilDyn input file for stiffness matrix in the seabed.
--------------------------------------------------------------------------------------------------------------
      False                Echo           - Echo input data to <RootName>.ech (flag)
      "default"            DT             - Communication interval (s) (or "default")
      3                    CalcOption     - Calculation option  {1: Stiffness / Damping matrices, 2: P-Y curves [unavailable], 3: coupled REDWIN DLL}
================== Parameters for Stiffness / Damping matrices [used only for CalcOption = 1] ================
   0 0 0                   Location (X,Y,Z)     - the location of interface point (only one point allowed)
Stiffness matrix (6x6)
   6.336198E9   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00
   0.0000e+00   6.336198E9   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00
   0.0000e+00   0.0000e+00   1.119691E10  0.0000e+00   0.0000e+00   0.0000e+00
   0.0000e+00   0.0000e+00   0.0000e+00   8.111942E11  0.0000e+00   0.0000e+00
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   8.111942E11  0.0000e+00
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   2.552673E11
Damping ratio matrix (6x6)
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00
   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00   0.0000e+00
================== Parameters for P-Y curves [used only for CalcOption = 2] ==================================
      1                    PY_numPts      - Number of PY input points on separate lines below (must match number of P-Y curves in PY_inputFile)
---- Location (x,y,z) ------- Point InputFile -------------
   0 0 0                    "UnusedFile" 
================== REDWIN interface for DLL [used only for CalcOption = 3] ===================================
      1                          DLL_model      - Model used in DLL {1: , 2: , 3: }
"C:\Users\up201809160\Tese\01. EDPR\01. ModelacaoWTG\01. SerradelRei\01. Current\11. SoilDyn_Model1\00. Test\09 - SoilDyn\REDWINmodel1.dll"                         DLL_FileName   - Name/location of the dynamic library {.dll [Windows] or .so [Linux]} in the REDWIN-DLL format (-) [used only with DLL Interface]. 
     1                           DLL_NumPoints  - Number of interface points (specify location in global coordinates -- points must correspond to SubDyn mesh points) (-) [used only with DLL Interface]
----- Location (X,Y,Z) ------- PropsFile ------------- LDispFile ------------ 
0 0 -0.2       					"Props.txt"			"LoadDisplacement.txt"
====================== OUTPUT ==================================================
      False                SumPrint       - Print summary data to <RootName>.SlD.sum (flag)
                           OutList        - The next line(s) contains a list of output parameters.  See OutListParameters.xlsx for a listing of available output channels, (-)
END of input file (the word "END" must appear in the first 3 columns of this last OutList line)
---------------------------------------------------------------------------------------

Below you can also find the curve moment-rotation that I’m using as input in the SoilDyn:

REDWINmodel 1 Input File. Valid for REDWINmodel1-2.0. 11-Nov-2018.
----- Number of data points in each curve -----------------------------------------------------------------
33		N 	- Number of rows in the load - displacement curve
----- Data points for load-displacement curve -------------------------------------------------------------
Load 		Displacement
0	0
0	0
14.168875	1.03932E-05
4062.418875	0.003063992
8110.668875	0.006184746
12158.91888	0.009336814
16207.16888	0.012492345
20255.41888	0.015648144
24303.66888	0.018803675
28351.91888	0.021959474
32400.16888	0.025114992
36448.41888	0.028270564
40496.66888	0.031426162
44544.91888	0.034587064
48593.16888	0.037827926
52641.41888	0.041259157
56689.66888	0.044970217
60737.91888	0.04905137
64786.16888	0.053588716
68834.41888	0.058690745
72882.66888	0.064122918
76930.91888	0.07060892
80979.16888	0.078926002
85027.41888	0.087253744
89075.66888	0.098503171
93123.91888	0.110153535
97172.16888	0.125912539
101220.4189	0.143685423
105268.6689	0.165485401
109316.9189	0.191880767
113365.1689	0.22563551
117413.4189	0.268273763
121461.6689	0.319102315

By decreasing the time step from 0.001 to 0.0001 didn’t help. It aborts at the same time.

Thank you.

Best regards,
Mário

Dear @Mario.Sobrinho,

Does the pitch (Yss) rotation at SubDyn JointID = 2 (at -0.2m below the ground) simply increase over time, or is the pitch motion unstable? If the former, my guess is that the SoilDyn is not functioning because of the use of DLL_model = 1. But Andy Platt will have to confirm why DLL_model = 1 is unavailable by default.

Best regards,