|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Public Member Functions | |
| float | pressure (self) |
| float | fraction (self) |
| None | advance (self, float dt, *, float mdot_out, float stirring=1.0, float mdot_in=0.0, float enthalpy_in=0.0) |
Public Attributes | |
| state | |
Static Public Attributes | |
| bool | filling = False |
| bool | venting = False |
| float | target = from_psig(4500.0) |
| float | fill_seconds = 9.7 |
| float | fill_supply_T = FILL_SUPPLY_T |
| bool | charged = False |
| float | peak = 0.0 |
| float | added_kg = 0.0 |
| float | dumped_kg = 0.0 |
| float | fixed_kg = 0.0 |
| float | mawp = 0.0 |
Protected Member Functions | |
| VesselState | _air (self, VesselState state) |
| VesselState | _at_atmosphere (self, VesselState stepped) |
A pressurant bottle: filled from GSE, then blowing down. Starts **empty**, like everything else on the stand. A COPV that is already at 4500 psi when the app opens is the same lie as a tank that is already full: it skips the step where somebody has to decide to do it.
|
protected |
The bottle holding an atmosphere at the gas's own temperature (the wall's, for a state with no gas to read one from).
Definition at line 2192 of file core.py.
References engine.layerx.diag.start.Element.volume(), engine.pipeline.config_schemas.ChamberConfig.volume, engine.pipeline.config_schemas.ChamberGeometryConfig.volume, feedtwin.engine.chamber.Chamber.volume, feedtwin.vessels.geometry.Head.volume(), and feedtwin.vessels.volume.GasVolume.volume.
Referenced by _at_atmosphere(), and advance().
|
protected |
``stepped``, or an atmosphere at the gas's own temperature if it went below one: a bottle open to the air does not go under it. The energy is restated with the mass, as :meth:`TankSim._settled` does. Floored at the wall's density with the energy left as it was, every floored step put gas back with none of its heat, the gas cooled, and a COPV dumped at an abort read 14.4 psia.
Definition at line 2205 of file core.py.
References _air().
Referenced by advance().
| None feedtwin.session.core.BottleSim.advance | ( | self, | |
| float | dt, | ||
| * | , | ||
| float | mdot_out, | ||
| float | stirring = 1.0, | ||
| float | mdot_in = 0.0, | ||
| float | enthalpy_in = 0.0 ) |
``mdot_in`` is gas the drawing itself delivers (a cart drawn on the GSE page, charging through its own valves); zero for a bottle whose GSE is not drawn, which is charged by ``filling`` instead.
Definition at line 2108 of file core.py.
References _air(), _at_atmosphere(), added_kg, feedtwin.session.core.TankSim.added_kg, charged, dumped_kg, fill_seconds, feedtwin.session.core.TankSim.fill_seconds, fill_supply_T, feedtwin.session.core.Setup.fill_supply_T, filling, feedtwin.session.core.TankSim.filling, fixed_kg, feedtwin.session.core.TankSim.fixed_kg, max, min, peak, feedtwin.session.burn.BurnTrace.pressure, pressure(), feedtwin.session.core.TankSim.pressure, feedtwin.session.core.TankSim.pressure(), feedtwin.session.network_trace.NetworkTrace.pressure, feedtwin.solve.network.Node.pressure, fsw::calibration::CalibrationPoint.pressure, anonymous_namespace{idle_e2e.cpp}::Beat.state, anonymous_namespace{idle_e2e.cpp}::World.state, battery_t.state, state, feedtwin.session.core.TankSim.state, gnss_core_t.state, gnss_frame_parser_t.state, SensorHotfire::CoreState.state, Valve.state, world_t.state, target, venting, engine.layerx.diag.start.Element.volume(), engine.pipeline.config_schemas.ChamberConfig.volume, engine.pipeline.config_schemas.ChamberGeometryConfig.volume, feedtwin.engine.chamber.Chamber.volume, feedtwin.vessels.geometry.Head.volume(), and feedtwin.vessels.volume.GasVolume.volume.
| float feedtwin.session.core.BottleSim.fraction | ( | self | ) |
How full, against the target it is being filled to.
Definition at line 2104 of file core.py.
References max, min, feedtwin.session.burn.BurnTrace.pressure, pressure(), feedtwin.session.core.TankSim.pressure, feedtwin.session.core.TankSim.pressure(), feedtwin.session.network_trace.NetworkTrace.pressure, feedtwin.solve.network.Node.pressure, fsw::calibration::CalibrationPoint.pressure, and target.
| float feedtwin.session.core.BottleSim.pressure | ( | self | ) |
Definition at line 2100 of file core.py.
Referenced by advance(), fraction(), feedtwin.vessels.tank.Tank.outlet_pressure(), feedtwin.vessels.tank.Tank.pressurant_for_expulsion(), and feedtwin.vessels.tank.Tank.rates().
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
| feedtwin.session.core.BottleSim.state |
Definition at line 2101 of file core.py.
Referenced by feedtwin.session.core.Session._burnout_check(), feedtwin.session.core.Session._fire_notes(), feedtwin.session.core.Session._integrate(), feedtwin.session.core.Session._loading(), feedtwin.session.core.Session._notes(), feedtwin.session.core.Session._supply_press(), advance(), feedtwin.session.network_trace.NetworkTrace.append(), feedtwin.session.core.Session.command_state(), feedtwin.session.core.Session.prime(), feedtwin.session.network_trace.NetworkTrace.record(), engine.control.robust_ddp.controller.RobustDDPController.reset(), feedtwin.session.core.Session.signals(), engine.control.robust_ddp.controller.RobustDDPController.step(), test_robust_ddp_actuation.TestActuation.test_compute_actuation_binary(), test_robust_ddp_actuation.TestActuation.test_compute_actuation_clamping(), test_robust_ddp_actuation.TestActuation.test_compute_actuation_pwm(), test_robust_ddp_safety_filter.TestSafetyFilter.test_filter_action_clamping(), test_robust_ddp_safety_filter.TestSafetyFilter.test_filter_action_safe(), test_robust_ddp_safety_filter.TestSafetyFilter.test_filter_action_unsafe_mr(), test_robust_ddp_safety_filter.TestSafetyFilter.test_filter_action_unsafe_ullage(), and test_robust_ddp_safety_filter.TestSafetyFilter.test_find_best_safe_action().
|
static |
Definition at line 2078 of file core.py.
Referenced by advance(), and fraction().
|
static |