FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
TrawlDoorWarpControl Class Reference
+ Inheritance diagram for TrawlDoorWarpControl:
+ Collaboration diagram for TrawlDoorWarpControl:

Classes

struct  Crowfoot
 The crowfoot at (T, X): the collecting point in the door frame and the control line tension. More...
 

Public Member Functions

 TrawlDoorWarpControl (std::string simObjectName, ISimObjectCreator *creator)
 
const double * OutControlLineTension (const double T, const double *const X)
 Output port returning the tension in the control line.
 
const double * OutCollectingPoint (const double T, const double *const X)
 Output port returning the global position of the collecting point.
 
- Public Member Functions inherited from ToTrawlDoor
 ToTrawlDoor (std::string simObjectName, ISimObjectCreator *creator)
 The constructor sets the pointer to the output object and the parser object.
 
const double * OutRoll (const double dT, const double *const adX)
 Output port returning the roll angle of the trawl door.
 
const double * OutPitch (const double dT, const double *const adX)
 
const double * OutAngleOfAttack (const double dT, const double *const adX)
 
const double * OutHydroLoad (const double dT, const double *const adX)
 Output port returning the hydrodynamic load on the door: NED force then NED moment about the door origin.
 
const double * OutSeabedLoad (const double dT, const double *const adX)
 Output port returning the seabed load on the door: NED force then NED moment about the door origin.
 
- Public Member Functions inherited from TrawlDoorBase
 TrawlDoorBase (std::string simObjectName, ISimObjectCreator *creator)
 The constructor sets the pointer to the output object and the parser object.
 
virtual void OdeFcn (const double dT, const double *const adX, double *const adXDot) const override
 Calculates the state derivatives.
 
void PreOdeFcn (double T, const double *X) override
 Rebuilds the door's wake when due (CastWake) and takes the other objects' wakes at the door.
 
bool HasJacobians () const override
 
void OdeJacobian (double T, const double *X, double *J, int nStates) override
 
int GetJacobianSparsity (int nStates, int *rowPtr, int *colIdx) override
 

Protected Member Functions

Crowfoot SolveCrowfoot (const double T, const double *const X) const
 
void AddExternalForces (double T, const double *X, const hydro_body::FlowFrame &frame, hydro_body::Wrench &wrench) const override
 Applies the warp force at the collecting point, the bridle forces as the base class.
 
- Protected Member Functions inherited from ToTrawlDoor
void FinalSetup (const double dT, const double *const adX, ISimObjectCreator *const creator)
 Resolves the SeafloorForces resource after the base class has resolved the environment.
 
void AddBottomForces (const hydro_body::FlowFrame &frame, hydro_body::Wrench &wrench) const override
 Adds the seabed load of the evaluator to the trawl door, in the body frame.
 
environment::seabed::ContactLoad< double > SeabedLoadOf (const hydro_body::FlowFrame &frame) const
 The seabed load of the door in the pose and with the velocity of frame: NED, moment about the door origin.
 
bool HasJacobians () const override
 
- Protected Member Functions inherited from TrawlDoorBase
void HydroForceAt (const double *X, const double relVel_n[3], double force_n[3]) const
 plate_door::SteadyLoad at the velocity relVel_n relative to the water (NED) and the attitude and rates of the global state X; the force in NED.
 
void OutOfBoundRotationalDamping (const hydro_body::FlowFrame &frame, double damping[3]) const
 The derivative of the out-of-bound rotational damping moments against the angular rate, at frame.
 
hydro_body::Wrench SumLoads (double T, const double *X, const hydro_body::FlowFrame &frame, plate_door::Inflow &inflow) const
 
void AddInternalForces (double T, const hydro_body::FlowFrame &frame, hydro_body::Wrench &wrench) const
 Adds gravity at COG and the buoyancy of the wet part of the plate (R66, FISH-0092).
 
hydro_body::Wrench WaterLoad (double T, const double *X, const hydro_body::FlowFrame &frame) const
 
plate_door::Inflow AddHydroForces (const hydro_body::FlowFrame &frame, hydro_body::Wrench &wrench) const
 
virtual void AddInflowDependentForces (double T, const double *X, const plate_door::Inflow &inflow, hydro_body::Wrench &wrench) const
 Adds forces that depend on the plate-door inflow of this state. The base door has none.
 
void AddDampingForces (const hydro_body::FlowFrame &frame, hydro_body::Wrench &wrench) const
 Adds the linear damping, a numerical stabiliser on the door's own velocity and rates (R75, FISH-0091).
 
virtual void AddOwnDerivatives (double T, const double *X, const plate_door::Inflow &inflow, double *XDot) const
 Writes the derivatives of a subclass's own states, after the 13 of m_body. The base door has none.
 
virtual void CalcOutput (const double dT, const double *const adX)
 
void CalcOutputCommon (const double dT, const double *const adX) const
 
void FinalSetup (const double dT, const double *const adX, ISimObjectCreator *const creator)
 
const double * OutPos1 (const double dT, const double *const adX)
 
const double * OutPos3 (const double dT, const double *const adX)
 
const double * OutPos2 (const double dT, const double *const adX)
 
const double * OutVel1 (const double dT, const double *const adX)
 
const double * OutVel3 (const double dT, const double *const adX)
 
const double * OutVel2 (const double dT, const double *const adX)
 

Protected Attributes

double m_controlLinePos_d [3]
 Control line fastening point, door frame.
 
double m_warpBaseLineLength
 Length of the base line from WarpPos [m].
 
double m_outControlLineTension = 0
 Value of the ControlLineTension port.
 
double m_outCollectingPoint [3] = {0, 0, 0}
 Value of the CollectingPoint port.
 
ISignalPort * m_inControlLineLength
 
- Protected Attributes inherited from ToTrawlDoor
ISimObjectCreator * m_creator = nullptr
 
environment::SeafloorForcesInterface * m_seafloorForces = nullptr
 The shared "SeafloorForces", from FinalSetup.
 
double m_shoeWidth
 Width of the shoe [m], from ShoeWidth.
 
double m_outHydroLoad [6] = {0, 0, 0, 0, 0, 0}
 Output port HydroLoad.
 
double m_outSeabedLoad [6] = {0, 0, 0, 0, 0, 0}
 Output port SeabedLoad.
 
double m_roll
 
double m_pitch
 
- Protected Attributes inherited from TrawlDoorBase
bool m_isPort
 Is this a port trawl door?
 
double m_cOG [3]
 The trawl door center of gravity.
 
double m_area
 The trawldoor area.
 
double m_height
 
double m_length
 
double m_aR
 
double m_curvature
 
double m_mass
 The mass of the object.
 
double m_mdCornerPos_body [4][3]
 
double m_rhoDoor
 The density of the trawl door material.
 
plate_door::Door m_law
 The door's constants for the plate-door law (Area, AR, Rho, IsPort, MaxLiftCoeff, DragCoeffAtMaxLift).
 
double m_warpPos_d [3]
 
double m_lBPos_d [3]
 
double m_uBPos_d [3]
 
double m_rhoWater
 The density of the surrounding fluid.
 
double m_force_warp [3]
 A pointer to the Warp force.
 
double m_force_LB [3]
 A pointer to the force.
 
double m_force_UB [3]
 A pointer to the input force.
 
ICommonComputation * m_commonCalc
 Calculations necessary for more than one output port.
 
environment::EnvironmentProvider * m_environment = nullptr
 m_flow's Environment, from FinalSetup.
 
DoorCaster m_caster
 The door for its wake; declared before m_flow, which keeps a pointer to it.
 
environment::wake::BodyFlowInteraction m_flow
 The wake the door casts and receives.
 
ISignalPort * m_inWarp_F
 The cable length input port.
 
ISignalPort * m_inLB_F
 The cable length input port.
 
ISignalPort * m_inUB_F
 The cable length input port.
 
double m_outPos1 [3]
 
double m_outPos3 [3]
 
double m_outPos2 [3]
 
double m_outVel1 [3]
 
double m_outVel3 [3]
 
double m_outVel2 [3]
 
HydroBody m_body
 The states Pos, Quater, LocalVel and Omega, the inertia (R70) and the derivatives.
 
unsigned long m_IStatePos
 
unsigned long m_IStateQuater
 
unsigned long m_IStateLocalVel
 
unsigned long m_IStateOmega
 
unsigned long m_IStateHydroForce
 
double m_outAlpha
 
plate_door::Inflow m_lastInflow {}
 The inflow of the last OdeFcn, for the render only (the billboard label); never read by the dynamics.
 

Member Function Documentation

◆ AddExternalForces()

void TrawlDoorWarpControl::AddExternalForces ( double  T,
const double *  X,
const hydro_body::FlowFrame &  frame,
hydro_body::Wrench &  wrench 
) const
overrideprotectedvirtual

Reimplemented from TrawlDoorBase.


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