A LocalConnection with an RPM, pitch and azimuth actuator: first order lags with rate limits, limits on the commands, an available power limit and failure modes.
Configuration parameters
| Name | Width | Description |
| MaxAngle | 1 | Largest azimuth angle command in radians. Default 40 degrees (40*pi/180). Not used with OscMode |
| MinAngle | 1 | Smallest azimuth angle command in radians. Default -40 degrees. Not used with OscMode |
| MaxChangeRateAzimuth | 1 | Largest azimuth rate in radians per second. Default 15 degrees per second |
| MaxRPM | 1 | Largest RPM command. Default 200. Not used with OscMode |
| MinRPM | 1 | Smallest RPM command. Default -200. Not used with OscMode |
| MaxPitch | 1 | Largest pitch command in radians. Default 1.5. Not used with OscMode |
| MinPitch | 1 | Smallest pitch command in radians. Default -1.5. Not used with OscMode |
| OscMode | 1 | The limits on the commands come from input ports (RPMLimits, PitchLimits, AngleLimits) instead of MaxRPM and the other parameters. Default false |
| TorqueLimit | 1 | Limit on the absolute shaft torque: above it the RPM stops moving away from 0. Default 100e12 (no limit). Unit not stated in the code |
| MaxChangeRatePitch | 1 | Largest pitch rate in radians per second. Default 5 degrees per second |
| MaxChangeRateRPM | 1 | Largest RPM rate in RPM per second. Default 20 |
| GearRatio | 1 | Ratio of the RPMMotor output to the RPM output. Default 2 |
| AngularMotorMalfunctionRate | 1 | Azimuth rate in radians per second with the azimuth malfunction mode on. Default 2 |
| TimeConstantPitch | 1 | Time constant of the pitch lag. Default 20. Unit not stated in the code |
| TimeConstantRPM | 1 | Time constant of the RPM lag. Default 5. Unit not stated in the code |
| MountingAngles | 3 | Fixed angles added to the AngularState rotation of LocalConnection. Default 0 |
Input ports (in addition to those of Ship::LocalConnection)
| Name | Width | Description |
| CommandedRPM | 1 | RPM command. Limited to MinRPM and MaxRPM |
| CommandedPitch | 1 | Pitch command in radians. Limited to MinPitch and MaxPitch |
| AvailablePower | 1 | Available power. When the consumed power is larger, the RPM target is the RPM where they are equal |
| ShaftTorque | 1 | Shaft torque of the propulsor |
| FailureMode | 10 | One value per failure mode in the order below. A value other than 0 turns the mode on |
| RPMLimits | 2 | Smallest and largest RPM. Only with OscMode |
| PitchLimits | 2 | Smallest and largest pitch. Only with OscMode |
| AngleLimits | 2 | Smallest and largest azimuth angle. Only with OscMode |
Output ports (in addition to those of Ship::LocalConnection)
| Name | Width | Description |
| RPM | 1 | Propulsor RPM (state RPM) |
| RPMMotor | 1 | RPM times GearRatio |
| Pitch | 1 | Pitch angle (state Pitch) |
| PD | 1 | Pitch to diameter ratio: 0.7 pi tan(Pitch) |
| Angle | 1 | Azimuth angle in radians |
| RPM_FB | 1 | RPM feedback. Held when the RPM feedback freeze mode is on |
| Thrust_FB | 1 | Norm of ForceNED as feedback. Held when the thrust feedback freeze mode is on |
| Pitch_FB | 1 | Pitch feedback. Held when the pitch feedback freeze mode is on |
| Angle_FB | 1 | Azimuth angle feedback. Held when the azimuth feedback freeze mode is on |
| ForceBody2 | 3 | ForceNED rotated into the body frame of the parent |
| TorqueBody2 | 3 | TorqueNED rotated into the body frame of the parent |
| ConsumedPower | 1 | ShaftTorque times RPM/60 times 2 pi |
States (in addition to those of Ship::LocalConnection)
| Name | Width | Description |
| Pitch | 1 | Pitch angle. Initial value 0 |
| RPM | 1 | Propulsor RPM. Initial value 0 |
The input FailureMode has one value per mode (RPM error, RPM lock, pitch lock, pitch malfunction, azimuth lock, azimuth malfunction, and the feedback freezes of pitch, RPM, azimuth and thrust). A value other than 0 turns the mode on. The modes are read once per accepted step, not in the trial steps of the integrator, so a mode takes effect at the first accepted step that sees it. A frozen feedback holds the value of the state at that step.