Modeling Flexibility of Large Floating Platforms with SubDyn

Hi everyone,

I’m trying to model the flexibility of large floating platforms, such as the IEA 22MW, using SubDyn. I’m struggling a bit with the initial step: creating the members and joints.

I simplified the geometry by removing the “horizontal braces” and keeping only the main column, peripheral columns, and pontoons. I defined all the joints and members, but I’m getting an error related to unwanted rigid-body modes (see attached image). There are exactly 14 “[info] Negative values…” messages.

I tried adding elements that connect the pontoons to the bottom of the columns, which reduced the number of error messages (see image).

However, I don’t fully understand the physical meaning behind this, as there’s nothing physically connecting these two elements unless I add a “virtual” internal element inside the columns to create a link —like in the image where I created a member between nodes 10 and 3.

I also tried increasing the Nmodes value to see if it would help, but no luck.

---- STRUCTURE JOINTS: joints connect structure members (~Hydrodyn Input File)---
	14  NJoints     - Number of joints (-)
  JointID    JointXss    JointYss    JointZss    JointType   JointDirX   JointDirY   JointDirZ  JointStiff    ![Coordinates of Member joints in SS-Coordinate System][JointType={1:cantilever, 2:universal joint, 3:revolute joint, 4:spherical joint}]
    (-)         (m)         (m)         (m)         (-)         (-)         (-)         (-)      (Nm/rad)  
     1          0.0         0.0        -25.0           1          0.0         0.0         0.0         0.0   
	 2          0.0         0.0       15          1          0.0         0.0         0.0         	0.0    
     3        -65.0         0.0       -25.0          1          0.0         0.0         0.0         0.0    
     4        -65.0         0.0        15.0          1          0.0         0.0         0.0         0.0    
     5         32.5        56.29165   -25.0          1          0.0         0.0         0.0         0.0    
     6         32.5        56.29165    15.0          1          0.0         0.0         0.0         0.0    
     7         32.5       -56.29165   -25.0          1          0.0         0.0         0.0         0.0    
     8         32.5       -56.29165    15.0          1          0.0         0.0         0.0         0.0    
    9         -6.0         0.0       -17.0          1          0.0         0.0         0.0         0.0    
    10        -58.75        0.0       -17.0          1          0.0         0.0         0.0         0.0    
    11          3.0         5.196152  -17.0          1          0.0         0.0         0.0         0.0    
    12         29.375      50.878992  -17.0          1          0.0         0.0         0.0         0.0    
    13          3.0        -5.196152  -17.0          1          0.0         0.0         0.0         0.0    
    14        29.375     -50.878992  -17.0          1          0.0         0.0         0.0         0.0    
------------------- 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     SSIfile   ! [Global Coordinate System]
    (-)       (flag)      (flag)      (flag)      (flag)      (flag)      (flag)     (string)               
------- 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)   
    2           1           1           1           1           1           1     
----------------------------------- MEMBERS --------------------------------------
13             NMembers    - Number of frame members
 MemberID   MJointID1   MJointID2   MPropSetID1   MPropSetID2  MType   COSMID   ![MType={1:beam circ., 2:cable, 3:rigid, 4:beam arb.}. COMSID={-1:none}]
  (-)         (-)         (-)          (-)           (-)        (-)    (-)
     1           1           2           4           4           1     -1   ! Main column
     2           3           4           1			 1           1     -1	! Base Column 1
     3           5           6           1           1           1     -1	! Base Column 2
     4           7           8           1           1           1     -1	! Base Column 3
	 5			 9			 10			 2			 2			 1	   -1	! Delta Pontoon, Lower 1
	 6			 11			12			 2			 2			 1	   -1	! Delta Pontoon, Lower 2		 
	 7			 13			14			 2			 2			 1	   -1	! Delta Pontoon, Lower 3
	 8			10			3			1			1			1		-1	! T-junction Pontoon 1
	 9			12          8			1			1			1		-1  ! T-junction Pontoon 2
	 10			14			7			1			1			1		-1	! T-junction Pontoon 3
	 11			9			1			1			1			1		-1				
	 12			11          1			1			1			1		-1
	 13			13			1			1			1			1		-1

If any of you have encountered similar issues, I’d be very curious to know how you resolved them.

Best Regards

Dear @Tom.Salic,

You need to ensure there are no rigid-bodies in your SubDyn model by ensuring that there is a path through members (without non-negligible stiffness) and other nodes/joints such that each joint has a path to the interface joint. For the situation you show between joint 3 and 10, I could imagine adding a fictitious beam (with high stiffness) or rigid-link element between joint 10 and 3, or between joint 10 and a node/joint at the intersection of the members ending at joints 10 and 3.

Best regards,