FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
Sphere of sorts
+ Collaboration diagram for Sphere of sorts:

Spheres that can be connected to other simObjects.

The sphere's inertia is its mass plus the added mass of a sphere in unbounded fluid, 0.5 Rho V, where V is the volume of the sphere, also near and above the surface. Its buoyancy is that of its spherical cap below the wave surface over its centre (owner ruling R66; the waves are not evaluated where the sphere is deeper than MaxWaveElevation plus its radius), and in waves it takes the Froude-Krylov and added-mass excitation (1 + 0.5) Rho V_wet a_w, a_w the water particle acceleration at its centre (owner ruling R67; DNV-RP-C205 (2021) Table A-2), so a neutrally buoyant sphere follows the water.

With CastWake set the sphere casts a lumped wake for the other objects (environment::wake::BodyWake and environment::sphere_hydro::SphereCaster, ADR 0006, MARE-0127): at each rebuild, in PreOdeFcn, its drag at the current-only free stream U (no waves) gives the momentum deficit M = F·ê_U/(½ρ|U|²), its frontal area is πD²/4 (D = SphereD) and the source sits at the rear face, D/2 downstream of the centre. The sphere reads its own flow without its own field. The lumped wake starts as a step at the rear face (x_start = 0): another SimObject that crosses the rear-face plane sees a jump in its inflow, which can collapse the step size or fail the Newton iteration of an implicit integrator such as BDF (MARE-0152). Without CastWake nothing changes.

The sphere needs an Environment SimObject in the configuration for its current, waves and wakes: without one FinalSetup reports a setup error (as Net/Disk does).

Example configuration excerpt

<Lib
LibName = "marine_elements"
SimObject = "Net/Sphere"
Name = "S"
Rho = "1025"
SphereD = "0.1"
SphereMass = "1000"
D = "0.01"
/>

Input Ports

Name Width Description
Force 3 Force acting on the sphere.

Output Ports

Name Width Description
Position 3 Position of the sphere.
Velocity 3 Velocity of the sphere.

Configuration parameters

Name Width Description
Rho 1 ...
SphereD 1 Diameter of the sphere.
SphereMass 1 Mass of the sphere, without the added mass, which is added.
D 1 Diameter of a cable attached to the sphere.
SphereMesh 1 The visualization mesh (geometry) of the Sphere, specified by its filename (Default: fhSphere.mesh).
SphereMaterial 1 The visualization material of the Sphere, specified by its name (Default: firebrick2).
CastWake 1 Register and build the lumped wake; the other wake parameters (Wake*, ExternalWakeUpdate) are listed in fhsim_environment's doc/user/wake-parameters.md. (Default: false)

Initial conditions

Name Width Description
Position 3 Position of the sphere.
Velocity 3 Velocity of the sphere.

Full example file

<Contents>
<OBJECTS>
<Lib
LibName ="marine_elements"
SimObject ="Net/Sphere"
Name ="S"
Rho = "1025"
SphereD = "1"
SphereMass = "536.7"
D = "0.01"
/>
<Lib
LibName="environment"
SimObject="Environment"
Name="Environment"
Waves.Model="Component"
Waves.NumWaves="0"
Bathymetry.Depth="500"
Current.Model = "Constant"
Current.Vector = "1,0,0"
/>
<Lib
LibName = "marine_elements"
SimObject = "RbCable/6DofCable"
Name = "C"
Length = "6"
numElements = "3"
Alpha = "0.5"
Beta = "0.5"
Epsilon = "1e-6"
Weight = "200"
Radius = "0.005"
Damping_Tangential = "0.01"
Damping_Normal = "1.2"
/>
</OBJECTS>
<INTERCONNECTIONS>
<Connection
S.Force= "0,0,0"
C.posA = "0,0,0"
C.posB = "S.Position"
C.velA = "0,0,0"
C.velB = "0,0,0"
/>
</INTERCONNECTIONS>
<INITIALIZATION>
<InitialCondition
S.Position = "0.1,0.1,5.9"
S.Velocity = "0,0,0"
/>
</INITIALIZATION>
<SIMULATION>
<Timing TStart="0" TEnd="30"/>
<Integrator Method="RK45_i" NumCores="1" LogStates="1" UseRSSNorm="0">
<StepControl StepMax="0.002" StepMin="0.00000001" AbsTol="1e-3" RelTol="1e-3"/>
</Integrator>
<!-- TODO migrate_v3: FileOutput="objects:all" -> configure via <OBSERVERS> section -->
</SIMULATION>
</Contents>

This SimObject is referred to as Net/Sphere