44. Custom hydrodynamic mesh

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

44.1. Tutorial overview

This tutorial covers:

  • Acceptable mesh formats
  • Good meshing practices
  • Using a custom hydrodynamic mesh feature
  • Creating a subsurface mooring
  • Difference between hydrodynamic and visualization meshes
alternate text

Fig. 44.1 Custom mesh with mooring line

44.2. Acceptable mesh format

Note

  • The RigidBodyCustomMesh feature in ProteusDS will behave much like the cylinder feature but has the ability to model a much more complex geometry.
  • All custom meshes used in ProteusDS must be in polygonal mesh format.
  • ProteusDS accepts several 3D shape files. Most common are: .3ds and .obj. Most 3D CAD packages can import/output these types of files. Most .obj files have an associated material (.mtl) file that describes the visual aspects of the polygons.
  • Common 3D CAD packages include Blender, Rhinoceros 3D, and Wings3D.

44.3. Good meshing practices

Note

  • When creating a custom mesh for use in ProteusDS it is important to have a reasonable amount of polygons on each surface. Too many polygons can cause the simulation to slow down due to the increase in computations and too few can cause unrealistic behavior due to an approximation over the large polygon.
  • ProteusDS requires each polygon normal vector to point outwards from the entire mesh.
  • A degenerate polygon will not cause an error but a warning will be issued and it is recommended that any degenerate polygon be fixed.
  • More tips on proper meshing practices can be found in the ProteusDS User Manual.

44.4. Using a custom mesh in PST

  • Create a new RigidBody DObject and create a RigidBodyCustomMesh feature.
  • Make sure the supplied hydrodynamic mesh files are in the project directory (nomad hydromesh.obj, nomad hydromesh.mtl)

Note

  • Update the $CustomMeshFile property in the custom mesh feature to the nomad hydromesh.obj file stored in the project directory.
  • Reference the custom mesh feature in the RigidBody input file by adding the $CustomMesh property. Use the name of the feature and place the feature frame coincident with the RigidBody frame.
  • Set the RigidBody state to have a position of 1 m along the z axis with respect to the global reference frame. By design the custom mesh will rest with the frame origin above the water surface, this displacement will prevent the RigidBody from falling into the water at the beginning of the simulation.
  • Give the Nomad buoy RigidBody the following properties:
// Mass properties
$Ix 31e3
$Iy 95e3
$Iz 72e3
$Ixy -125
$Ixz 3.3e4
$Iyz -25
$DefineInertiaAboutCG 1
$CGPosition -2.62 0 -1.57
$Mass 9000

// Numerical
$Kinematic 0

$CustomMesh rigidBodyCustomMesh 0 0 1 0 0 0

Note

  • By adjusting the $CGPosition property, the RigidBody center of gravity can be moved relative to the RigidBody frame.
  • Run a 1 second simulation and view the results in PostPDS to ensure the custom mesh file is correctly imported.

44.5. Connecting a mooring cable

  • Create a new cable DObject with synthetic cable properties from any previous tutorial.
  • Create a point connection for the RigidBody DObject and the Cable DObject.
  • Connect node 0 of the cable to (-4,0,0) relative to the RigidBody local coordinate frame by using the $DCableFollowerLocation property in the RigidBody/Cable connection. This connects the cable 4 m in the negative x direction away from the RigidBody local origin.
  • The state for the cable should be defined as (-4,0,-1) for node 0, and (10,0,50) for node N. Use a length of 55 m and 10 elements.

44.6. Running the simulation and visualizing in PostPDS

  • Set the length of simulation to be 30 seconds and run the solver.
  • View the results in PostPDS. Be sure to right click on the custom mesh object and select Display Mesh Edges to view the custom polygonal mesh used.