FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
Actuator.h
1#pragma once
2
75#include <fhsim/simobject/SimObject.h>
76#include <string>
77
78class Actuator : public SimObject
79{
80public:
81 Actuator(std::string simObjectName, ISimObjectCreator* creator);
82
83 ~Actuator();
84 void OdeFcn(const double dT, const double* const adX, double* const adXDot) const;
85
91 bool HasJacobians() const override;
92 void OdeJacobian(double T, const double* X, double* J, int nStates) override;
93 int GetJacobianSparsity(int nStates, int* rowPtr, int* colIdx) override;
95
96 const double* OutLength(const double T, const double* const X);
97 const double* OutPower(const double T, const double* const X);
98 const double* OutEnergy(const double T, const double* const X);
99
100protected:
101 ISignalPort* m_InSpeedRef;
102 ISignalPort* m_InForce;
103 int m_IStateLength;
104 int m_IStateEnergy;
105
106 double m_minForce;
107 double m_maxForce;
108 double m_minSpeed;
109 double m_maxSpeed;
110 double m_minLength;
111 double m_maxLength;
112
113 mutable double m_power;
114};
Definition Actuator.h:79