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

Classes

struct  Loads
 The forces and controller errors at one time and state. More...
 

Public Member Functions

 TrawlDoorControlledLift (const std::string &simObjectName, ISimObjectCreator *creator)
 
void OdeFcn (const double T, const double *const X, double *const XDot) const override
 
void FinalSetup (const double T, const double *const X, ISimObjectCreator *const creator) override
 
void AcceptedStep (const double T, const double *const X) override
 

Protected Types

enum class  WeightModel { Controlled , Mass }
 What sets the door's weight in water. More...
 

Protected Member Functions

 TrawlDoorControlledLift (const std::string &simObjectName, ISimObjectCreator *creator, WeightModel weightModel)
 
double Mass (const double *const X) const
 The mass at X [kg]: the mass state, or the fixed mass.
 
Loads ComputeLoads (const double T, const double *const X) const
 The loads at (T, X).
 
const double * OutPos (const double T, const double *const X, const int index)
 
const double * OutVel (const double T, const double *const X, const int index)
 
const double * OutLift (const double T, const double *const X)
 
const double * OutDrag (const double T, const double *const X)
 
const double * OutWeight (const double T, const double *const X)
 
const double * OutBottomContact (const double T, const double *const X)
 

Protected Attributes

WeightModel m_weightModel
 What sets the weight.
 
bool m_isPort
 Is this the port door?
 
bool m_useWidthMeasurement
 Is Distance a measured width, rather than a reference position?
 
double m_mass
 The mass [kg], with WeightModel::Controlled.
 
double m_massMin
 The smallest mass [kg], with WeightModel::Mass.
 
double m_massMax
 The largest mass [kg], with WeightModel::Mass.
 
double m_liftDragRatio
 Lift divided by drag.
 
double m_size
 The diameter of the contact sphere [m].
 
environment::SeafloorForcesInterface * m_seafloorForces = nullptr
 
environment::EnvironmentProvider * m_environment = nullptr
 
std::vector< ISignalPort * > m_inForces
 
ISignalPort * m_inDistanceGoal
 
ISignalPort * m_inDistance
 
ISignalPort * m_inBottomForceGoal = nullptr
 With WeightModel::Controlled.
 
ISignalPort * m_inMassGoal = nullptr
 With WeightModel::Mass.
 
int m_IStatePos
 
int m_IStateVel
 
int m_IStateIntegratedSpreadError
 
int m_IStateIntegratedBottomForceError = -1
 With WeightModel::Controlled.
 
int m_IStateMass = -1
 With WeightModel::Mass.
 
PidWithExternalState m_distanceController
 Lift from the spread error.
 
PidWithExternalState m_weightController
 Weight from the bottom force error.
 
double m_outLift = 0.0
 
double m_outDrag = 0.0
 
double m_outWeight = 0.0
 
double m_outBottomContact = 0.0
 

Member Enumeration Documentation

◆ WeightModel

enum class TrawlDoorControlledLift::WeightModel
strongprotected
Enumerator
Controlled 

A PID controller on the bottom force error (this class).

Mass 

A mass state that follows MassGoal (Trawl/TrawlDoorControlledLiftAndMass).


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