|
STAR
Cal STAR — firmware, DAQ server, and engine design
|
Functions | |
| float | vertical_apogee_agl (Sequence[float] time_s, Sequence[float] thrust_n, Sequence[float] mdot_kg_s, float m0_kg, *, float area_m2=0.0, Optional[DragCurves] drag=None, float elevation_m=0.0, Optional[float] reference_pressure_pa=None, float nozzle_exit_area_m2=0.0, float dt_burn=0.01, float dt_coast=0.05) |
| float | required_impulse (float target_apogee_agl_m, float m_dry_kg, float m_prop_kg, float burn_time_s, *, Optional[Sequence[float]] time_s=None, Optional[Sequence[float]] mdot_kg_s=None, Optional[Sequence[float]] thrust_n=None, **object flight) |
Variables | |
| float | G0 = 9.80665 |
Vertical point-mass flight: apogee of a thrust curve, and the impulse a target apogee needs. dv/dt = (F(t) + (p_ref - p(z)) A_e - 1/2 rho(z) v|v| Cd(M) A) / m - g, dm/dt = -mdot(t) integrated through the burn and the coast to v = 0, in the 1976 ISA from the pad elevation, with the same Cd(M) the RocketPy flight uses (engine/pipeline/vehicle_drag). With Cd = 0, constant mdot and constant exhaust velocity it is Sutton & Biblarz's vertical flight without drag (ch. 4): u_p = c ln R - g t_p, h_p = c t_p [1 - ln R / (R - 1)] - g t_p^2 / 2, apogee h_p + u_p^2 / 2g. The required impulse keeps the propellant mass, the burn time and the shape of the mass flow and scales the thrust (the effective exhaust velocity) until the apogee is the target: I = c m_p. It is the check Layer 2 makes on a pressure schedule, cheap enough to sit inside its objective. Fixed-step RK4 (10 ms burn, 50 ms coast) with the apogee interpolated in the last step.
| float engine.pipeline.flight_1dof.required_impulse | ( | float | target_apogee_agl_m, |
| float | m_dry_kg, | ||
| float | m_prop_kg, | ||
| float | burn_time_s, | ||
| * | , | ||
| Optional[Sequence[float]] | time_s = None, | ||
| Optional[Sequence[float]] | mdot_kg_s = None, | ||
| Optional[Sequence[float]] | thrust_n = None, | ||
| **object | flight ) |
Total impulse [N s] that puts this vehicle at the target apogee, holding m_prop, the burn time and the mass-flow shape, and scaling the thrust shape (flat mdot and constant exhaust velocity when no history is given). ``flight`` goes to vertical_apogee_agl (drag, area, pad).
Definition at line 91 of file flight_1dof.py.
References max, and vertical_apogee_agl().
| float engine.pipeline.flight_1dof.vertical_apogee_agl | ( | Sequence[float] | time_s, |
| Sequence[float] | thrust_n, | ||
| Sequence[float] | mdot_kg_s, | ||
| float | m0_kg, | ||
| * | , | ||
| float | area_m2 = 0.0, | ||
| Optional[DragCurves] | drag = None, | ||
| float | elevation_m = 0.0, | ||
| Optional[float] | reference_pressure_pa = None, | ||
| float | nozzle_exit_area_m2 = 0.0, | ||
| float | dt_burn = 0.01, | ||
| float | dt_coast = 0.05 ) |
Apogee above the pad [m] of a vertical flight on this thrust and mass-flow history.
Definition at line 28 of file flight_1dof.py.
Referenced by required_impulse().
| float engine.pipeline.flight_1dof.G0 = 9.80665 |
Definition at line 25 of file flight_1dof.py.