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

Public Member Functions

float outlet_setpoint (self, float mdot, FlowConditions flow)
float pressure_drop (self, float mdot, FlowConditions flow)
bool is_saturated (self, float mdot, FlowConditions flow)
Public Member Functions inherited from feedtwin.comps.regulator.Regulator
float commanded_setpoint (self, FlowConditions flow)
float supply_effect (self, FlowConditions flow)
float lockup_pressure (self, FlowConditions|None flow=None)
float|None seat_capacity (self, FlowConditions flow, float xT=XT_TYPICAL)
float|None pinned_flow (self, float dp_available, FlowConditions flow)
dict[str, object] seat_model (self, float xT=XT_TYPICAL)
float total_dp (self, float mdot, FlowConditions flow)
float|None flow_ceiling (self, FlowConditions flow)
bool is_choked (self, float dp_available, FlowConditions flow)
dict[str, float] diagnostics (self, float mdot, FlowConditions flow)
list[Violation] check (self)
list[Violation] envelope_violations (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 static_head (self, FlowConditions flow)
float signal (self, FlowConditions flow, str name, float default=1.0)
bool isolates (self, Mapping[str, float]|None signals=None)
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)

Additional Inherited Members

Public Attributes inherited from feedtwin.comps.base.HydraulicComponent
 instance = instance
 p = instance.si_params()
 opt = dict(instance.options)
Static Public Attributes inherited from feedtwin.comps.base.HydraulicComponent
str inlet_port = "inlet"
str outlet_port = "outlet"
bool symmetric = False
 conditions_provider = None
Protected Member Functions inherited from feedtwin.comps.regulator.Regulator
GasCv|None _gas_seat (self, FlowConditions flow)
float _seat_dp (self, float magnitude, FlowConditions flow)
float _creep (self, float magnitude)
float _rated_multiple (self, float mdot)

Detailed Description

Perfect setpoint, unlimited capacity. For sanity checks and first passes.

Kept as a *named model* rather than a regulator with zero coefficients so
that a report can distinguish "we chose not to model droop" from "nobody
filled in the droop". Those look identical in the numbers and are very
different in what they mean.

Definition at line 632 of file regulator.py.

Member Function Documentation

◆ is_saturated()

bool feedtwin.comps.regulator.IdealRegulator.is_saturated ( self,
float mdot,
FlowConditions flow )
Whether the regulator has run out of authority at this operating point.

True means the outlet is being set by the seat rather than by the
setpoint -- the regulator is wide open and no longer regulating. Worth
surfacing loudly: the pressure it reports is still a real number, and it
is no longer the number anybody designed for.

Reimplemented from feedtwin.comps.regulator.Regulator.

Definition at line 647 of file regulator.py.

◆ outlet_setpoint()

float feedtwin.comps.regulator.IdealRegulator.outlet_setpoint ( self,
float mdot,
FlowConditions flow )
The pressure this regulator is trying to hold right now [Pa].

Reimplemented from feedtwin.comps.regulator.Regulator.

Definition at line 641 of file regulator.py.

References feedtwin.comps.regulator.Regulator.commanded_setpoint().

◆ pressure_drop()

float feedtwin.comps.regulator.IdealRegulator.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.regulator.Regulator.

Definition at line 644 of file regulator.py.

References feedtwin.comps.regulator.Regulator.commanded_setpoint(), and max.


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