fastoad_cs25.models.propulsion.fuel_propulsion.rubber_engine.rubber_engine module
Parametric turbofan engine.
- class fastoad_cs25.models.propulsion.fuel_propulsion.rubber_engine.rubber_engine.RubberEngine(bypass_ratio: float, overall_pressure_ratio: float, turbine_inlet_temperature: float, mto_thrust: float, maximum_mach: float, design_altitude: float, delta_t4_climb: float = -50, delta_t4_cruise: float = -100, k_sfc_sl: float = 1.0, k_sfc_cr: float = 1.0)[source]
Bases:
AbstractFuelPropulsionParametric turbofan engine.
It computes engine characteristics using analytical model from following sources:
[kro01]2001. URL: https://web.archive.org/web/20010307121417/http://adg.stanford.edu/aa241/propulsion/nacelledesign.html.
[Ray99] (1,2)Daniel P. Raymer. Aircraft Design: A Conceptual Approach, Third edition. AIAA (American Institute of Aeronautics & Astronautics), 1999. ISBN 1563473437.
[Rou02]Elodie Roux. Modèles Moteurs... Réacteurs double flux civils et réacteurs militaires à faible taux de dilution avec Post-Combustion. INSA-SupAéro-ONÉRA, 2002. URL: http://elodieroux.com/ReportFiles/ModelesMoteurVersionPublique.pdf.
[Rou05] (1,2,3)Elodie Roux. Pour une approche analytique de la Dynamique du Vol. PhD thesis, SupAéro, 2005. URL: http://depozit.isae.fr/theses/2005/2005_Roux_Elodie.pdf.
- Parameters:
bypass_ratio
overall_pressure_ratio
turbine_inlet_temperature – (unit=K) also noted T4
mto_thrust – (unit=N) Maximum TakeOff thrust, i.e. maximum thrust on ground at speed 0, also noted F0
maximum_mach
design_altitude – (unit=m)
delta_t4_climb – (unit=K) difference between T4 during climb and design T4
delta_t4_cruise – (unit=K) difference between T4 during cruise and design T4
k_sfc_sl – SFC correction at sea level and below
k_sfc_cr – SFC correction at 43000ft and above in cruise
- compute_flight_points(flight_points: FlightPoint | DataFrame)[source]
Computes Specific Fuel Consumption according to provided conditions.
See
FlightPointfor available fields that may be used for computation. If a DataFrame instance is provided, it is expected that its columns match field names of FlightPoint (actually, the DataFrame instance should be generated from a list of FlightPoint instances).Note
About thrust_is_regulated, thrust_rate and thrust
thrust_is_regulatedtells if a flight point should be computed usingthrust_rate(when False) orthrust(when True) as input. This way, the method can be used in a vectorized mode, where each point can be set to respect a thrust order or a thrust rate order.if
thrust_is_regulatedis not defined, the considered input will be the defined one betweenthrust_rateandthrust(if both are provided,thrust_ratewill be used)if
thrust_is_regulatedisTrueorFalse(i.e., not a sequence), the considered input will be taken accordingly, and should of course be defined.if there are several flight points,
thrust_is_regulatedis a sequence or array,thrust_rateandthrustshould be provided and have the same shape asthrust_is_regulated:code:. The method will consider for each element which input will be used according tothrust_is_regulated.
- Parameters:
flight_points – FlightPoint or DataFrame instance
- Returns:
None (inputs are updated in-place)
- compute_flight_points_from_dt4(mach: float | Sequence, altitude: float | Sequence, delta_t4: float | Sequence, isa_offset: float | Sequence = 0, thrust_is_regulated: bool | Sequence | None = None, thrust_rate: float | Sequence | None = None, thrust: float | Sequence | None = None) Tuple[float | Sequence, float | Sequence, float | Sequence][source]
Same as
compute_flight_points()except that delta_t4 is used directly instead of specifying flight engine_setting.- Parameters:
mach – Mach number
altitude – (unit=m) altitude w.r.t. to sea level
delta_t4 – (unit=K) difference between operational and design values of turbine inlet temperature in K
isa_offset – (unit=degK) temperature difference from isa conditions
thrust_is_regulated – tells if thrust_rate or thrust should be used (works element-wise)
thrust_rate – thrust rate (unit=none)
thrust – required thrust (unit=N)
- Returns:
SFC (in kg/s/N), thrust rate, thrust (in N)
- sfc_at_max_thrust(atmosphere: Atmosphere, mach: float | Sequence[float]) ndarray[source]
Computation of Specific Fuel Consumption at maximum thrust.
Uses model described in [Rou05], p.41.
- Parameters:
atmosphere – Atmosphere instance at intended altitude
mach – Mach number(s)
- Returns:
SFC (in kg/s/N)
- sfc_ratio(altitude: float | Sequence[float], thrust_rate: float | Sequence[float], mach: float | Sequence[float] = 0.8) ndarray[source]
Computation of ratio \(\frac{SFC(F)}{SFC(Fmax)}\), given altitude and thrust_rate \(\frac{F}{Fmax}\).
Uses a patched version of model described in [Rou02], p.85.
Warning: this model is very limited
- Parameters:
altitude
thrust_rate
mach – only used for logger checks as model is made for Mach~0.8
- Returns:
SFC ratio
- max_thrust(atmosphere: Atmosphere, mach: float | Sequence[float], delta_t4: float | Sequence[float]) ndarray[source]
Computation of maximum thrust.
Uses model described in [Rou05], p.57-58
- Parameters:
atmosphere – Atmosphere instance at intended altitude (should be <=20km)
mach – Mach number(s) (should be between 0.05 and 1.0)
delta_t4 – (unit=K) difference between operational and design values of turbine inlet temperature in K
- Returns:
maximum thrust (in N)
- installed_weight() float[source]
Computes weight of installed engine, depending on MTO thrust (F0).
Uses model described in [Rou05], p.74
- Returns:
installed weight (in kg)