14 failureModeRPMError = 0,
17 failureModePitchMalfunction,
18 failureModeAzimuthLock,
19 failureModeAzimuthMalfunction,
20 failureModeFeedbackPitchFreeze,
21 failureModeFeedbackRPMFreeze,
22 failureModeFeedbackAzimuthFreeze,
23 failureModeFeedbackThrustFreeze,
27 PropulsorActuator(
const std::string& simObjectName,ISimObjectCreator*
const creator);
29 virtual void OdeFcn(
const double T,
const double*
const X,
double*
const XDot)
const;
31 void InitialConditionSetup(
const double T,
const double *
const currentIC,
double*
const updatedIC, ISimObjectCreator*
const creator);
32 const double * RPM(
const double T,
const double *
const X);
33 const double * RPMMotor(
const double T,
const double *
const X);
34 const double * Pitch(
const double T,
const double *
const X);
35 const double * PD(
const double T,
const double *
const X);
36 const double * ConsumedPower(
const double T,
const double *
const X);
38 const double * RPM_FB(
const double T,
const double *
const X);
39 const double * Thrust_FB(
const double T,
const double *
const X);
40 const double * Pitch_FB(
const double T,
const double *
const X);
42 const double * ForceBody2(
const double T,
const double *
const X);
43 const double * TorqueBody2(
const double T,
const double *
const X);
46 virtual const double * Angle_FB(
const double T,
const double *
const X);
47 virtual const double * Angle(
const double T,
const double *
const X);
53 ISignalPort *m_inRPMLimits;
54 ISignalPort *m_inPitchLimits;
55 ISignalPort *m_inAngleLimits;
56 ISignalPort *m_inShaftTorque;
57 ISignalPort *m_inAvailablePower;
59 double m_pitchMaxChangeRate;
60 double m_RPMMaxChangeRate;
61 double m_aziMaxChangeRate;
63 int m_indexMotorPitch;
64 int m_indexPropulsorRPM;
66 ISignalPort *m_inFailureMode;
67 ISignalPort *m_inCommendedRPM;
68 ISignalPort *m_inCommandedPitch;
71 double m_azimuthLoss[2];
73 mutable bool m_failureModeRPMError;
74 mutable bool m_failureModeRPMLock;
75 mutable bool m_failureModePitchLock;
76 mutable bool m_failureModePitchMalfunction;
77 mutable bool m_failureModeAzimuthLock;
78 mutable bool m_failureModeAzimuthMalfunction;
79 mutable bool m_failureModeFeedbackPitchFreeze;
80 mutable bool m_failureModeFeedbackRPMFreeze;
81 mutable bool m_failureModeFeedbackAzimuthFreeze;
82 mutable bool m_failureModeFeedbackThrustFreeze;
84 mutable double m_maxAngle;
85 mutable double m_minAngle;
86 mutable double m_maxRPM;
87 mutable double m_minRPM;
88 mutable double m_maxPitch;
89 mutable double m_minPitch;
93 double m_angularMotorMalfunctionRate;
96 double m_actualMotorRPM;
100 double m_consumedPower;
101 double m_timeConstantPitch;
102 double m_timeConstantRPM;
104 double m_actualRPMFeedback;
105 double m_actualThrustFeedback;
106 double m_actualPitchFeedback;
107 double m_actualAngleFeedback;
109 double m_forceParentBody[3];
110 double m_torqueParentBody[3];