|
|
| 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.
|
| |
|
Partial analytical Jacobian. Covered:
- the kinematics, complete (BodyKinematics6Dof): pos_dot against the quaternion and localVel, the quaternion's derivative against the quaternion (with the norm correction) and omega
- localVel linear damping diagonal
- omega linear damping diagonal, plus the out-of-bound rotational hydrodynamic damping of the plate-door law (plate_door::RateDampingDerivative) at the current alpha and beta
- the Coriolis-centripetal terms of rigid_body::OmegaTermsWrench (R100, R107), the water velocity held fixed The remaining hydrodynamic force derivatives, gravity orientation and bottom contact are omitted. Subclasses that add bottom contact (e.g. ToTrawlDoor) must override HasJacobians() to return false.
|
|
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 |
| |
|
|
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 |
| |
| virtual void | AddExternalForces (double T, const double *X, const hydro_body::FlowFrame &frame, hydro_body::Wrench &wrench) const |
| | Adds the warp and bridle forces of the input ports at their fastening points.
|
| |
|
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 | AddBottomForces (const hydro_body::FlowFrame &frame, hydro_body::Wrench &wrench) const |
| | Adds the bottom contact. The base door has none.
|
| |
| 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) |
| |
|
|
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.
|
| |