Class in Zendir.Classes | Inherits from MotorElectricalControlled

Declaration

class FuelPump;

Description

Represents a fuel pump component that drives fuel flow between two fuel sources in a spacecraft fuel system. The pump inherits from MotorElectricalControlled to enable realistic power consumption modeling when connected to the Electrical Power System (EPS). This allows simulation of pump behavior under varying electrical conditions. When connected to a PowerBus, the pump uses the actual motor speed computed from the EPS solve to determine flow rate. When not connected to a PowerBus, the pump operates in standalone mode using SpeedInput directly. When ≥ 0, flow scales as (effective speed / MaxSpeed) and is clamped to MaxSpeed; when MaxSpeed is negative, flow scales against SpeedInput and SpeedInput is not capped. The pump can be enabled/disabled and connected/disconnected from fuel sources during simulation.


Properties

DeclaredDescription
AllowFlowWhenDisabledWhen false (default), a disabled pump blocks all flow through it.When true, a disabled pump allows passive (gravity/pressure) flow as a pass-through.
CumulativeTransferredMassCumulative mass transferred through this pump since creation or the last .
EffectiveFlowRateThe effective flow rate currently being delivered by the pump in kilograms per second.This is a read-only output calculated each simulation tick based on motor speed,maximum flow rate, and efficiency factor. The value is zero when the pump is disabled,disconnected, or when motor conditions prevent operation.
EfficiencyThe pump efficiency factor ranging from 0 to 1 (0% to 100%).This factor directly multiplies the calculated flow rate to account formechanical losses, fluid resistance, and other real-world inefficiencies.A value of 1.0 represents an ideal pump with no losses.
IsBidirectionalWhen true, the pump allows flow in both directions (upstream to downstream and vice versa).When false (default), the pump only allows flow from upstream to downstream when enabled.Bidirectional mode is useful for transfer systems where flow direction may reverse.
IsPumpEnabledIndicates whether the pump is enabled for operation.When false, the pump will not transfer fuel regardless of motor state.Use the Enable() and Disable() methods to control this state programmatically.
MaxFlowRateThe maximum flow rate the pump can deliver when operating at full speed.This represents the pump’s rated capacity under ideal conditions.The actual flow rate depends on motor speed relative towhen ≥ 0, otherwise .
Out_FuelFlowMsgFlow-state telemetry for this pump path (filled by the FuelSystem solver).
Out_PumpStatusMsgPer-tick pump status (speed, enable state, and delivered flow).
InheritedDescription
ArmatureCurrentArmature current flowing through the motor
ArmatureInductanceArmature inductance of the motor
ArmatureResistanceArmature resistance of the motor
BackEmfBack-EMF voltage
BehavioursA collection of behaviours attached to this object.
CenterOfMassB_BThe center of mass of the component in respect to the body frame (B) of the component. This is isolated from anychildren and exists in isolation.
CenterOfMassDot_LB_BThe center of mass time-derivative of the component within its own local coordinates. This does not include anyof the sub-components and exists in isolation.
CenterOfMassDotB_BThe center of mass time-derivative of the component relative to the body frame (B). This does not include any ofthe sub-components and exists in isolation.
CenterOfMassL_LThe center of mass of the component within its own local coordinates. This does not include any of thesub-components and exists in isolation.
CenterOfMassPrime_LB_BThe center of mass general-derivative of the component within its own local coordinates. This does not includeany of the sub-components and exists in isolation.
CenterOfMassPrimeB_B[m/s] The center of mass general-derivative of the component relative to the body frame (B). This does notinclude any of the sub-components and exists in isolation.
ChildrenA collection of children attached to this object.
CurrentCurrent through this component, in amperes, derived fromandusing the same convention as (series current whenthe two match; otherwise the split used for grounded nodes and current limiters).When is unavailable, this is zero.
DCM_BNThe rotational DCM matrix between the body frame (B) at the top of this component chain and the inertial frame (N).
DCM_LBThe rotational DCM matrix between the component frame of this object (L) relative to the body frame (B).
DCM_LNThe DCM rotational matrix of the component relative to the inertial origin (N) of the world.
DCM_LPThe DCM matrix of the component in the parent’s frame (P), taken from the Component Transform (PL).
In_ControlElectricalSignalMsgOptional PWM control signal input. When connected, motor speed is duty cycle × full-scale speed( when ≥ 0, otherwise ). When null, uses directly.
IsEnabledIs true if the object is currently enabled.
KeBack-EMF constant (voltage per rad/s)
KtTorque constant (Nm per Ampere)
LocalForwardThe direction of the transform frame’s forward vector, which is along the Y axis.
LocalRightThe direction of the transform frame’s right vector, which is along the X axis.
LocalUpThe direction of the transform frame’s up vector, which is along the Z axis.
MassThe component mass defined in the object. This is independent of any parent or children objects and exists inisolation.
MassDotThe component mass time-derivative defined in the object. This is independent of any parent or children objectsand exists in isolation.
MaxSpeedMaximum motor speed in rad/s at 100% PWM duty. When ≥ 0, caps and defines full-scale speed; −1 disables the cap.
MaxSpeedRPMMaximum motor speed in RPM.
ModelsA collection of models attached to this object.
MomentOfInertia_LBThe moment of inertia of the component, measured at the local center of mass, represented with its own localcoordinates. This does not include any of the sub-components and exists in isolation.
MomentOfInertiaB_BThe moment of inertia of this component, measured in the body frame relative to the parented body. This isindependent of any children and exists in isolation.
MomentOfInertiaPrime_LBThe derivative of the moment of inertia of the component, measured at the local center of mass, represented withits own local coordinates. This does not include any of the sub-components and exists in isolation.
MomentOfInertiaPrimeB_BThe derivative of the moment of inertia of the component, represented in the body frame (B). This is independentand exists in isolation.
NameThe display name or tag of this object.
NetPowerNet power contribution of this component to the bus. Passive componentsdissipate power, so NetPower is non-positive. This is derived directly fromthe voltages and currents at the In/Out terminals of the underlying.
OpenCircuitA flag if the power node is currently open and no power willbe transferred to the next component.
Out_ComponentMassMsgThe component mass message defines the set of mass properties and states of the system within this componentlocally. This is independent of any parent or children properties or objects.
Out_MotorMsgThe motor message containing output data (speed, torque, current, back-EMF)
Out_TransformMsgThis defines the base transform message that stores the state of the transform of this object.
ParentThe currently attached parent object (if any).
Position[m] The position of the object relative to the parent or to world origin, if no parent exists.
Position_BN_NThe position of the body (the root parent B) in the inertial frame relative to the inertial point (N).
Position_LB_BThe position of the component relative to the root object of this hierarchy. This is in the inertial frame and ifthe component is the root object, then there will be no position.
Position_LN_NThe position of the inertial world space. This position is derived from the world’s transform (N).
Position_LP_PThe position of the object relative to the parented object (P). If there is no parent object, then this will bein the inertial frame.
PowerModelThe power model of this power component that is createdby this component.
PreviousCurrentPrevious armature current for inductor history
ResistanceThe Resistance of the node.
RootThe root object in the parent chain.
Rotation[-] The rotation of the object relative to the parent or to the world origin, if no parent exists.
SpeedCurrent motor speed in rad/s
SpeedInputMotor speed input in rad/s (user-defined operating point).Used when no PWM control signal is connected. Clamped to ± when ≥ 0.
SpeedInputRPMMotor speed input in RPM.
SpeedRPMCurrent motor speed in RPM (convenience)
Thermal[TEMPORARY] A reference to the thermal model that is attached to this object. This will allow the object to havethermal properties and be able to be used in thermal simulations.
TorqueElectromagneticElectromagnetic torque produced by the motor
TorqueShaftShaft torque available after friction losses
ViscousFrictionViscous friction coefficient
VoltageVoltage across this component (between its In and Out terminals), in volts.This is the same quantity as on— a single number suitable for EPS summaries withoutreferring to terminal naming.When is unavailable, this is zero.

Methods

DeclaredDescription
ConnectConnects the pump between two fuel sources to establish a fuel transfer path.The upstream source is where fuel is drawn from, and the downstream source is wherefuel is delivered to.
ConnectDownstreamConsumerConnects a fuel consumer directly to the pump’s downstream (discharge) side.This enables pump-to-consumer topologies without an intermediate fuel source.
ConnectDownstreamInterconnectConnects a fuel interconnect to the pump’s downstream (discharge) side.This enables pump-to-interconnect topologies for cross-spacecraft transfer.
ConnectDownstreamValveConnects a valve to the pump’s downstream (discharge) side.The valve’s inlet port bonds to this pump’s downstream.
ConnectUpstreamInterconnectConnects a fuel interconnect to the pump’s upstream (intake) side.
ConnectUpstreamValveConnects a valve to the pump’s upstream (intake) side.The valve’s outlet port bonds to this pump’s upstream.
DisableDisables the pump, stopping all flow.
DisconnectDisconnects the pump from its fuel sources and valves.
DisconnectDownstreamConsumerDisconnects a fuel consumer from the pump’s downstream side.
DisconnectDownstreamInterconnectDisconnects a fuel interconnect from the pump’s downstream side.
DisconnectDownstreamValveDisconnects the downstream valve from this pump.
DisconnectUpstreamInterconnectDisconnects a fuel interconnect from the pump’s upstream side.
DisconnectUpstreamValveDisconnects the upstream valve from this pump.
EnableEnables the pump for operation.
GetPumpFlowRateCalculates the current pump flow rate based on motor speed and efficiency settings.The flow rate calculation depends on whether the pump is connected to the Electrical Power System.When connected to a PowerBus, the pump uses the actual motor speed from EPS solve and requiressignificant armature current to operate (open switches result in zero flow). When not connectedto a PowerBus, the pump operates in standalone mode using the back-EMF speed directly.When ≥ 0, flow scales as (effective speed / MaxSpeed);otherwise flow scales as (effective speed / ).
GetPumpFlowRateAtSimulationTimeSame as but uses an explicit simulation time for optional CSV flow-rate profiles.
GetScheduledMaxFlowRateMaximum pump flow rate at the given time after applying an optional CSV schedule; otherwise .
InitialiseFlowRateProfileLoads a CSV time series for scheduled max flow rate. Column 0 is time (s); selects the rate column.
ResetTransferStatisticsClears cumulative transfer accounting for training scenarios.
InheritedDescription
AddObjectReturns a new simulation object with the specified type.
AttachAttempts to attach this object to a new parent. This will only work if the current object is no parented to anyother object.
ConfigurePowerConfigures the power interface to its default state, which will include updatingthe variables of any SPICE power components to the correct state.
ContainsModelWithIDReturns true if an attached model satisfies the specified ID.
ContainsModelWithTypeReturns true if an attached model satisfies the specified type.
DetachThis is an action to detach the current object from its parent, if it exists and move it to another object or tojust exist within the simulation.
FindBehavioursWithTypeReturns all attached behaviours that satisfies the specified type.
FindBehaviourWithIDReturns an attached behaviour that satisfies the specified ID.
FindBehaviourWithTypeReturns an attached behaviour that satisfies the specified type.
FindChildrenWithTypeReturns all attached children that satisfies the specified type.
FindChildWithIDReturns an attached child that satisfies the specified ID.
FindChildWithTypeReturns an attached child that satisfies the specified type.
FindModelsWithTypeReturns all attached models that satisfies the specified type.
FindModelWithIDReturns an attached model that satisfies the specified ID.
FindModelWithTypeReturns an attached model that satisfies the specified type.
FindParentWithIDReturns an attached parent that satisfies the specified ID.
FindParentWithTypeReturns an attached parent that satisfies the specified type.
FindRootWithIDReturns a root object that satisfies the specified ID.
FindRootWithTypeReturns a root object that satisfies the specified type.
GetModelReturns a valid assigned model with the specified type.
GetWorldForward[DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED.
GetWorldRight[DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED.
GetWorldTransformReturns the world transform of the object which is relative to the parent. If no parent exists, this will be thetransform of the object in world space.
GetWorldUp[DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED.
ReadBodyTransformThis method will reset the dirty flag on the mass so that it has been read successfully and is valid.
ResetPowerResets the power interface to its default state, which will include removingany SPICE power references associated to the current interface.
SetWorldTransform[DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED.
UpdateMassPropertiesUpdates the mass properties of the current physical object at a particular time.