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

Classes

class  RateLimitedFIR
 A FIR filter fed at a fixed period, whatever the step length. More...
 

Public Member Functions

 TrawlGeometryController (const std::string &simObjectName, ISimObjectCreator *const creator)
 
void OdeFcn (const double T, const double *const X, double *const XDot) const override
 
void InitialConditionSetup (const double T, const double *const currentIC, double *const updatedIC, ISimObjectCreator *const creator) override
 
void AcceptedStep (const double T, const double *const X) override
 

Protected Member Functions

std::array< double, 2 > MeanWingPosition (const double T, const double *const X) const
 The mean horizontal wing position of all nets.
 
std::vector< double > WarpsTooLong (const double T, const double *const X) const
 How much too long each warp is, from the starboard lead of each net along the direction of travel [m].
 
double BottomContactError () const
 The bottom contact error of the last accepted step, as an equivalent warp length [m].
 
const double * OutWarpLength (const double T, const double *const X, const int index)
 
const double * OutNetWidth (const double T, const double *const X, const int index)
 
const double * OutMinBottomContact (const double T, const double *const X)
 

Protected Attributes

std::vector< ISignalPort * > m_inNetPortPos
 
std::vector< ISignalPort * > m_inNetStbPos
 
std::vector< ISignalPort * > m_inBottomContact
 
ISignalPort * m_inWarpLength = nullptr
 
ISignalPort * m_inExternalEnable = nullptr
 
std::unique_ptr< RateLimitedFIR > m_bottomContactFilter
 
int m_numNets
 
int m_numWarps
 
int m_numBottomContactMeasurements
 
bool m_controlBottomContact
 
double m_initialWarpLength = 0.0
 
double m_minBottomContactGoal
 
double m_sinkTimeConstant
 
double m_controllerMaxSpeedDepth
 
double m_controllerMaxSpeedGeometry
 
double m_controllerConstant
 
double m_controllerDamping
 
int m_indexStateWarpLength
 
bool m_hasLastStep = false
 
double m_lastTime = 0.0
 
double m_minBottomContact = 0.0
 
double m_lastBottomContactError = 0.0
 
double m_bottomContactErrorRate = 0.0
 Between the last two filter updates [m/s].
 
double m_lastBottomContactUpdate = 0.0
 
bool m_hasBottomContactUpdate = false
 
std::vector< double > m_lastWarpTooLong
 
bool m_hasTravelReference = false
 
std::array< double, 2 > m_travelReference = {0.0, 0.0}
 The mean wing position the travel is measured from.
 
std::array< double, 2 > m_travelDirection = {0.0, 0.0}
 Unit vector, or zero before the first 1 m of travel.
 
double m_outNetWidth = 0.0
 

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