Class in Zendir.Classes | Inherits from PhysicalObject
Declaration
class FuelValve;Description
Represents a fuel valve with two physical ports: inlet (local +Z) and outlet (local -Z). Each port may host a or , supporting source–consumer in either orientation and source–source transfer within a spacecraft. The valve actuates toward a commanded position at a configurable angular velocity. For cross-spacecraft fuel transfer and vent-to-space behavior, use .
Properties
| Declared | Description |
|---|---|
| ActuationAngularVelocity | The current actuation angular velocity in radians per second.This value is reset to the maximum actuation angular velocity at the start of each simulation tick,but may be reduced by error models such as the buildup error model to simulate degraded performance.The valve moves through a pi/2 radian (90 degree) arc from closed to fully open. |
| CommandedPercentOpen | The commanded (target) fraction open, ranging from 0 (fully closed) to 1 (fully open).The valve actuates toward this target value at the current actuation angular velocity.Set this value using SetOpen(), SetClose(), or SetState() methods, or directly for immediateposition commands during cycling operations. |
| CumulativeTransferredMass | Cumulative mass that has flowed through this valve since creation, in kilograms.Accumulated by the solver each tick based on . |
| DefaultCyclingFrequency | The default cycling frequency in Hz (full cycles per second) used when startingcontinuous cycling with the StartCycling() method. One cycle consists of a completeopen-close sequence. |
| EffectiveFlowRate | The effective flow rate currently passing through this valve in kilograms per second.This value is calculated and set by the FuelSystem each simulation tick based on valve position,maximum flow rate, and port constraints. This is a read-only output. |
| IsBidirectional | When true, the valve allows flow in both directions (inlet to outlet and outlet to inlet).When false (default), the valve operates in directional mode where flow only passes fromthe inlet port to the outlet port. Bidirectional mode is useful for transfer systems whereflow direction depends on tank fill levels or active pumping direction. |
| IsCycling | Indicates whether the valve is currently executing a cycling sequence.When true, the valve alternates between opening and closing at the configured frequency.This is a read-only output that reflects the current cycling state. |
| MaxActuationAngularVelocity | The maximum actuation angular velocity of the valve in radians per second.The valve mechanism moves through a pi/2 radian (90 degree) arc from closed to fully open.A value of pi/2 rad/s means the valve can travel its full range of motion in exactly 1 second.This sets the upper limit for actuation speed; actual speed may be reduced by error models. |
| MaxFlowRate | The maximum flow rate through the valve when fully open, in kilograms per second.This represents the valve’s rated capacity and limits the actual flow rate regardless ofupstream supply or downstream demand. The effective flow rate is scaled by the valve’scurrent PercentOpen value. |
| MaxPercentOpen | The upper bound of the valve’s range of motion, ranging from 0 to 1.This value may be decreased by error models such as the buildup error model to simulatethe valve becoming stuck or having restricted movement. Default is 1 (fully openable). |
| MinPercentOpen | The lower bound of the valve’s range of motion, ranging from 0 to 1.This value may be increased by error models such as the buildup error model to simulatethe valve becoming stuck or having restricted movement. Default is 0 (fully closeable). |
| Out_FuelFlowMsg | Flow-state telemetry for this valve. |
| Out_ValveStatusMsg | Per-tick valve status (position, actuation, and flow). |
| PercentOpen | The current actual fraction the valve is open, ranging from 0 (fully closed) to 1 (fully open).This value is driven by the actuation logic each simulation tick, moving toward the commandedpercent open value at the current actuation angular velocity. This is a read-only output thatreflects the valve’s physical state. |
| Inherited | Description |
|---|---|
| Behaviours | A collection of behaviours attached to this object. |
| CenterOfMassB_B | The 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_B | The 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_B | The 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_L | The 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_B | The 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. |
| Children | A collection of children attached to this object. |
| DCM_BN | The rotational DCM matrix between the body frame (B) at the top of this component chain and the inertial frame (N). |
| DCM_LB | The rotational DCM matrix between the component frame of this object (L) relative to the body frame (B). |
| DCM_LN | The DCM rotational matrix of the component relative to the inertial origin (N) of the world. |
| DCM_LP | The DCM matrix of the component in the parent’s frame (P), taken from the Component Transform (PL). |
| IsEnabled | Is true if the object is currently enabled. |
| LocalForward | The direction of the transform frame’s forward vector, which is along the Y axis. |
| LocalRight | The direction of the transform frame’s right vector, which is along the X axis. |
| LocalUp | The direction of the transform frame’s up vector, which is along the Z axis. |
| Mass | The component mass defined in the object. This is independent of any parent or children objects and exists inisolation. |
| MassDot | The component mass time-derivative defined in the object. This is independent of any parent or children objectsand exists in isolation. |
| Models | A collection of models attached to this object. |
| MomentOfInertia_LB | The 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_B | The 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_LB | The 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_B | The derivative of the moment of inertia of the component, represented in the body frame (B). This is independentand exists in isolation. |
| Name | The display name or tag of this object. |
| Out_ComponentMassMsg | The 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_TransformMsg | This defines the base transform message that stores the state of the transform of this object. |
| Parent | The 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_N | The position of the body (the root parent B) in the inertial frame relative to the inertial point (N). |
| Position_LB_B | The 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_N | The position of the inertial world space. This position is derived from the world’s transform (N). |
| Position_LP_P | The position of the object relative to the parented object (P). If there is no parent object, then this will bein the inertial frame. |
| Root | The 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. |
| 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. |
Methods
| Declared | Description |
|---|---|
| AddInletConsumer | Adds a to the inlet port without clearing existing connections.Supports multiple connections per port for parallel flow configurations. |
| AddInletInterconnect | Adds a to the inlet port without clearing existing connections.Supports multiple connections per port for parallel flow configurations. |
| AddInletPump | Adds a downstream side to the inlet port without clearing existing connections.Supports multiple connections per port for parallel flow configurations. |
| AddInletSource | Adds a to the inlet port without clearing existing connections.Supports multiple connections per port for parallel flow configurations. |
| AddOutletConsumer | Adds a to the outlet port without clearing existing connections.Supports multiple connections per port for parallel flow configurations. |
| AddOutletInterconnect | Adds a to the outlet port without clearing existing connections.Supports multiple connections per port for parallel flow configurations. |
| AddOutletPump | Adds a upstream side to the outlet port without clearing existing connections.Supports multiple connections per port for parallel flow configurations. |
| AddOutletSource | Adds a to the outlet port without clearing existing connections.Supports multiple connections per port for parallel flow configurations. |
| ConnectConsumer | Connects this valve to gate fuel flow between a fuel source and a fuel consumer(inlet = source, outlet = consumer). Shorthand for and. |
| ConnectInletConsumer | Connects a to the inlet port (local +Z).Clears any existing connections on the inlet port first. |
| ConnectInletInterconnect | Connects a to the inlet port (local +Z).Clears any existing connections on the inlet port first. |
| ConnectInletPump | Connects a downstream side to the inlet port (local +Z).Fuel leaves the pump downstream and enters this valve’s inlet.Clears any existing connections on the inlet port first. |
| ConnectInletSource | Connects a to the inlet port (local +Z).Clears any existing connections on the inlet port first. |
| ConnectOutletConsumer | Connects a to the outlet port (local -Z).Clears any existing connections on the outlet port first. |
| ConnectOutletInterconnect | Connects a to the outlet port (local -Z).Clears any existing connections on the outlet port first. |
| ConnectOutletPump | Connects a upstream side to the outlet port (local -Z).Fuel leaves this valve’s outlet and enters the pump upstream.Clears any existing connections on the outlet port first. |
| ConnectOutletSource | Connects a to the outlet port (local -Z).Clears any existing connections on the outlet port first. |
| ConnectSource | Connects this valve between two fuel sources (inlet = first source, outlet = second).Shorthand for and . |
| Disconnect | Clears the inlet port (source, consumer, and pump). |
| DisconnectInlet | Clears the inlet port (source, consumer, and pump). |
| DisconnectOutlet | Clears the outlet port (source, consumer, and pump). |
| SetClose | Commands the valve to close fully by setting the commanded position to 0% open (closed).The valve will actuate toward the fully closed position at the configured angular velocity,or jump immediately if instantaneous mode is specified. |
| SetOpen | Commands the valve to open fully by setting the commanded position to 100% open.The valve will actuate toward the fully open position at the configured angular velocity,or jump immediately if instantaneous mode is specified. |
| SetState | Commands the valve to a specific open fraction between 0 (closed) and 1 (fully open).The input value is clamped to the valid range of 0 to 1. The valve will actuate towardthe commanded position at the configured angular velocity, or jump immediately ifinstantaneous mode is specified. |
| StartCustomCycling | Begins a cycling sequence with a specified number of cycles and frequency.This allows precise control over the cycling operation for clearing impurity buildup.Each cycle consists of one full open-close sequence. The cycling stops automaticallywhen the specified number of cycles is completed. |
| StartCycling | Begins continuous cycling that rapidly opens and closes the valve indefinitely.Uses the DefaultCyclingFrequency property for the cycling frequency. This operation iscommonly used by satellite operators to clear impurity buildup in the valve mechanism.The cycling continues until StopCycling() is called. A cycle count of -1 indicatescontinuous (infinite) cycling mode. |
| StopCycling | Cancels any active cycling sequence, stopping the valve at its current position.This resets all cycling-related state variables including the cycle count, frequency,and timer. The valve will remain at its current position after cycling stops. |
| Inherited | Description |
|---|---|
| AddObject | Returns a new simulation object with the specified type. |
| Attach | Attempts to attach this object to a new parent. This will only work if the current object is no parented to anyother object. |
| ContainsModelWithID | Returns true if an attached model satisfies the specified ID. |
| ContainsModelWithType | Returns true if an attached model satisfies the specified type. |
| Detach | This 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. |
| FindBehavioursWithType | Returns all attached behaviours that satisfies the specified type. |
| FindBehaviourWithID | Returns an attached behaviour that satisfies the specified ID. |
| FindBehaviourWithType | Returns an attached behaviour that satisfies the specified type. |
| FindChildrenWithType | Returns all attached children that satisfies the specified type. |
| FindChildWithID | Returns an attached child that satisfies the specified ID. |
| FindChildWithType | Returns an attached child that satisfies the specified type. |
| FindModelsWithType | Returns all attached models that satisfies the specified type. |
| FindModelWithID | Returns an attached model that satisfies the specified ID. |
| FindModelWithType | Returns an attached model that satisfies the specified type. |
| FindParentWithID | Returns an attached parent that satisfies the specified ID. |
| FindParentWithType | Returns an attached parent that satisfies the specified type. |
| FindRootWithID | Returns a root object that satisfies the specified ID. |
| FindRootWithType | Returns a root object that satisfies the specified type. |
| GetModel | Returns 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. |
| GetWorldTransform | Returns 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. |
| ReadBodyTransform | This method will reset the dirty flag on the mass so that it has been read successfully and is valid. |
| SetWorldTransform | [DEPRECATED] THIS FUNCTION WILL BE REMOVED AND SHOULD NOT BE USED. |
| UpdateMassProperties | Updates the mass properties of the current physical object at a particular time. |