STAR
Cal STAR — firmware, DAQ server, and engine design
Loading...
Searching...
No Matches
feedtwin.comps.manifold.ManifoldBranch Class Reference
Inheritance diagram for feedtwin.comps.manifold.ManifoldBranch:
[legend]
Collaboration diagram for feedtwin.comps.manifold.ManifoldBranch:
[legend]

Public Member Functions

None __init__ (self, ComponentInstance instance, ManifoldPort port)
float pressure_drop (self, float mdot, FlowConditions flow)
float static_head (self, FlowConditions flow)
dict[str, float] diagnostics (self, float mdot, FlowConditions flow)
Public Member Functions inherited from feedtwin.comps.base.HydraulicComponent
None __init__ (self, ComponentInstance instance)
str id (self)
str type (self)
float total_dp (self, float mdot, FlowConditions flow)
float signal (self, FlowConditions flow, str name, float default=1.0)
bool isolates (self, Mapping[str, float]|None signals=None)
float|None flow_ceiling (self, FlowConditions flow)
float|None pinned_flow (self, float dp_available, FlowConditions flow)
bool is_choked (self, float dp_available, FlowConditions flow)
list[Violation] check (self)
int n_residuals (self)
Sequence[float] residuals (self, EvalContext ctx)
Mapping[str, float] outputs (self, EvalContext ctx)
FlowConditions conditions (self, PortState port, Mapping[str, float] signals)
str __repr__ (self)

Public Attributes

 port = port
Public Attributes inherited from feedtwin.comps.base.HydraulicComponent
 instance = instance
 p = instance.si_params()
 opt = dict(instance.options)

Additional Inherited Members

Static Public Attributes inherited from feedtwin.comps.base.HydraulicComponent
str inlet_port = "inlet"
str outlet_port = "outlet"
bool symmetric = False
 conditions_provider = None

Detailed Description

The path from a manifold plenum out through one port.

Built by :func:`expand_manifold` rather than declared directly, because a
manifold is one symbol on a drawing and several branches in a solve. That
asymmetry is the whole point of an assembly.

Definition at line 118 of file manifold.py.

Constructor & Destructor Documentation

◆ __init__()

None feedtwin.comps.manifold.ManifoldBranch.__init__ ( self,
ComponentInstance instance,
ManifoldPort port )

Definition at line 126 of file manifold.py.

References __init__().

Referenced by __init__().

Member Function Documentation

◆ diagnostics()

dict[str, float] feedtwin.comps.manifold.ManifoldBranch.diagnostics ( self,
float mdot,
FlowConditions flow )

◆ pressure_drop()

float feedtwin.comps.manifold.ManifoldBranch.pressure_drop ( self,
float mdot,
FlowConditions flow )
Flow-dependent pressure loss [Pa]. Always non-negative.

A *loss*: it opposes the flow, so it lowers the downstream pressure
whichever way the fluid is going. Reverse flow is each component's own
business -- symmetric for a pipe, very much not for a check valve.

Anything that does **not** depend on the direction of flow belongs in
:meth:`static_head`, not here. See that method for why the distinction
is load-bearing rather than tidy.

Reimplemented from feedtwin.comps.base.HydraulicComponent.

Definition at line 130 of file manifold.py.

References actuator_testing_gui.SensorReceiver.port, combined_gui.UDPReceiver.port, emmc_log_t.port, port, gui.Reader.port, idle_t.port, lc_calibration_gui.LCPlotWindow.port, lc_calibration_gui.UDPReceiver.port, pt_multi_gui.PTPlotWindow.port, pt_multi_gui.UDPReceiver.port, self_test_t.port, sense_testing_gui.UDPReceiver.port, solenoid_characterization_gui.UDPReceiver.port, and StarOTA::Config.port.

◆ static_head()

float feedtwin.comps.manifold.ManifoldBranch.static_head ( self,
FlowConditions flow )
Flow-independent pressure change [Pa], signed. Zero for most things.

Elevation is the case that matters: ``rho g dz`` is set by where the
ends of a pipe are, and does not care which way the fluid is going. A
loss reverses sign with the flow; a static head does not.

Conflating the two is silently wrong exactly when it is hardest to
notice -- a network where a branch reverses, which is any recirculation
loop, any vent path, and most transients. Getting it wrong puts the
answer out by ``2 rho g dz`` on that branch, with everything still
converging and conserving mass.

Reimplemented from feedtwin.comps.base.HydraulicComponent.

Definition at line 136 of file manifold.py.

References actuator_testing_gui.SensorReceiver.port, combined_gui.UDPReceiver.port, emmc_log_t.port, port, gui.Reader.port, idle_t.port, lc_calibration_gui.LCPlotWindow.port, lc_calibration_gui.UDPReceiver.port, pt_multi_gui.PTPlotWindow.port, pt_multi_gui.UDPReceiver.port, self_test_t.port, sense_testing_gui.UDPReceiver.port, solenoid_characterization_gui.UDPReceiver.port, and StarOTA::Config.port.

Member Data Documentation

◆ port


The documentation for this class was generated from the following file: