48. ABA connection

The identification tag for this tutorial is PDS-ABI. Pregenerated input files for this tutorial are found in the folder named PDS-ABI in the provided tutorial input files.

48.1. Tutorial overview

This tutorial covers:

  • ABA connections
  • Prismatic ABA Joints
  • ABA joint features
alternate text

Fig. 48.1 Monopile ABA

alternate text

Fig. 48.2 Monopile ABA layout

48.2. Setting up as monopile simulation

  • Create a new project in PST.
  • Ensure water depth to 17 m.
  • Create a new RigidBody. This object will represent a pile fixed in place.
  • Create a cylinder feature for the new RigidBody. Set the cylinder length to 20 m and diameter to 1 m.
  • To fix the RigidBody in space, set $Kinematic 1 in the input file. This setting indicates all forces will be ignored and a constant velocity will be maintained.

Note

  • By default, the RigidBody origin will be located at the center of the cylinder.
  • Add the cylinder to the RigidBody and shift the RigidBody origin to the bottom of the cylinder with $Cylinder rigidBodyCylinder 0 0 -10 0 0 0.

Note

  • The cylinder has now been shifted in the negative z-direction by half a length within the RigidBody coordinate frame.
  • Set the state of the RigidBody so it is on the seabed, using 17 m depth. Set the initial position to (0,0,17) m and initial velocity and orientation angles to 0.

Note

  • By design, the mass properties are set such that the pile will be neutrally buoyant when 85% submerged.
  • Set the pile properties as shown below:
// Mass properties
$Ix 1e6
$Iy 1e6
$Iz 1e6
$Ixy 0
$Ixz 0
$Iyz 0
$DefineInertiaAboutCG 1
$CGPosition 0 0 -3
$Mass 1.4e4

// Numerical
$Kinematic 1

$Cylinder rigidBodyCylinder 0 0 -10 0 0 0
  • Create a second RigidBody. This is the float and will follow the motion of the ocean waves.
  • Create a cylinder feature for the float RigidBody. Set the cylinder length to 4 m and diameter to 5 m.

Note

  • By design, the float will be 50% submerged in calm conditions.
// Mass properties
$Ix 4e4
$Iy 4e4
$Iz 4e4
$Ixy 0
$Ixz 0
$Iyz 0
$DefineInertiaAboutCG 0
$CGPosition 0 0 0
$Mass 4e4

// Numerical
$Kinematic 0

$Cylinder rigidBodyCylinder2 0 0 0 0 0 0
  • Reference the appropriate cylinder feature in each RigidBody input file.

Note

  • The state of the second RigidBody will be determined by the ABA joint and will be discussed in the next section.

48.3. Creating an ABA joint

Note

  • Rigid mechanical systems can be modeled using the Articulated Body Algorithm (ABA). This is realized in ProteusDS using the ABA connection. ABA connections can be prismatic, revolute, cylindrical, planar, spherical, or universal. Each joint type has different degrees of freedom.
  • Each joint degree of freedom can have stiffness, damping, endstops, and other properties.
  • The rigid bodies are kinematically constrained to each other by the joint. A joint reference frame position and orientation must be specified relative to each RigidBody frame in the connection. The deflection of the joint indicates how these joint reference frames have moved apart from one another.
  • In this simulation a prismatic ABA connection will be used. This linear motion joint allows the float to follow ocean surface motion in heave as the waves pass. The float will be fixed to the pile cylinder using a prismatic ABA connection.
  • Create a connection with the pile cylinder as the master object and the floating cylinder as the follower object. Chose the ABA connection type.

Note

  • By design, the pile will be the master. In the connection section, the $MasterConnectionLocation flag determines the joint frame connection position relative to the master object RigidBody local coordinate frame. Since the pile RigidBody frame is located at the bottom of a 20 m long cylinder, the connection location is set to (0,0,-17) m to place the connection at the top of the pile adjacent to the float.
  • Set $MasterConnectionLocation 0 0 -17 0 0 0.

Note

  • The joint connection location on the float is coincident with the RigidBody frame.
  • Leave $FollowerConnectionLocation 0 0 0 0 0 0.
  • Set $Joint 0 to specify a prismatic joint.

Note

  • The $FollowerJointAxis property determines what axis of the joint reference frame is used for the joint degree of freedom.
  • Set the property to 2 for the joint frame z axis.

Note

  • An ABA connection joint feature is automatically created called jointProperties.
  • Navigate to the feature section in the Library and select the new ABA feature.

Note

  • The state of the follower float RigidBody is defined in terms of its joint position and velocity.
  • Select the ABA option when defining the state of the float.

Note

  • Because a prismatic joint has one degree of linear freedom, an initial velocity and position must be specified.
  • These can both be set to 0.
  • Activate ocean waves in the simulation to show the float rising and falling with the ocean surface. An Airy wave with the following properties will show the heave motion of the float clearly.
$WaveType 1
$WaveHeading 0
$WavePeriod 8
$WaveHeight 2

48.4. Running the simulation

  • Run the simulation for 50 seconds and visualize the results in PostPDS.

Note

  • Note the float only moves in the heave degree of freedom and that the pile is fixed.
  • The float may have some initial transient motion, but eventually converges to follow the ocean waves.
  • No RigidBody to RigidBody contact is modeled in ProteusDS. This makes it easy to simplify advanced joints and allow modeling with basic shapes as opposed to advanced pieces.

48.5. Changing ABA connection properties

  • Remove the $Kinematic flag from the pile, change the water depth to 50 m, and re-run the simulation.

Note

  • Notice the large heave motion of the pile. This can be reduced by applying specific ABA connection properties.
  • Apply an endstop location of 5 m to the ABA connection by setting $EJoint 5.
  • Apply a joint damping of 1e3 by setting $CJoint 1e3.
  • Apply a joint endstop stiffness and damping of 1e6 and 1e6 by using the $KEJoint and $CEJoint properties.
  • Rerun the simulation and observe the effect these values have on the system.