FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
CoRiBoDynamics::DoorAndClumpWakeBodies Class Reference

#include <DoorAndClumpWakeBodies.h>

+ Inheritance diagram for CoRiBoDynamics::DoorAndClumpWakeBodies:
+ Collaboration diagram for CoRiBoDynamics::DoorAndClumpWakeBodies:

Public Member Functions

 DoorAndClumpWakeBodies (EnvironmentForces &forces)
 
int NumBodies () const override
 The number of doors plus the number of clump weights.
 
environment::wake::WakeCastState Body (const double *X, int body) const override
 The centre and velocity of the body's element [m], [m/s], NED.
 
double BodyRadius (int body) const override
 √(L·W/π) for a door, √(2rL/π) for a clump weight [m].
 
environment::wake::SourceLoad BodyLoad (const double *X, int body, const double bodyVel[3], const double waterVel[3]) const override
 

Detailed Description

The doors, then the clump weights, of an EnvironmentForces as the bodies of an IndexedWakeCastingObject.

The owner of the EnvironmentForces (a TrawlCable without the TrawlCable parameter, a RundDorg) hands it to its BodyWake (BodyWakeKind::SourceSet) in PreOdeFcn. The bodies are those of the EnvironmentForces (EnvironmentForces::NumBodies, DoorOfBody, ClumpOfBody); a body's centre and velocity are those of its rigid element (a door's plate, not its weight body). Each body's source is a disc of the body's projected area: radius √(L·W/π) for a door, √(2rL/π) for a clump weight (owner ruling O9a). Its load is the hydrodynamic part of the body's water law (trawl_cable_water::DoorHydrodynamicForce, ClumpWeightHydrodynamicForce: no weight and buoyancy) at the caster's inflow, without waves, and the momentum deficit M = F·ê_U/(½ρ|U|²) of that force along the relative flow U, so a door's lift casts nothing; ρ the laws' kRhoWater, solidity 0.

The bodies are read when the caster asks, so a door added after the owner registered its BodyWake (by a TrawlCable that joins the solver in a later FinalSetup) is a body from the first update on. Every function is double only, has no side effects and never throws.

Constructor & Destructor Documentation

◆ DoorAndClumpWakeBodies()

CoRiBoDynamics::DoorAndClumpWakeBodies::DoorAndClumpWakeBodies ( EnvironmentForces &  forces)
explicit
Parameters
forcesThe doors and clump weights; it must outlive this object.

Member Function Documentation

◆ BodyLoad()

environment::wake::SourceLoad CoRiBoDynamics::DoorAndClumpWakeBodies::BodyLoad ( const double *  X,
int  body,
const double  bodyVel[3],
const double  waterVel[3] 
) const
override

The hydrodynamic force of the body's law at the inflow, its momentum deficit along the relative flow, the area π r² and solidity 0.

Parameters
[in]XThe state vector: the body's angular velocity and orientation.
[in]bodyThe body.
[in]bodyVelThe body's filtered velocity [m/s], NED.
[in]waterVelThe water velocity at the body, no waves [m/s], NED.
Returns
The load; M = 0 without relative flow.

The documentation for this class was generated from the following file: