fastoad.models.propulsion.fuel_propulsion.rubber_engine.rubber_engine module¶
Parametric turbofan engine.
- class fastoad.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)[source]¶
Bases:
fastoad.model_base.propulsion.AbstractFuelPropulsion
Parametric 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
- compute_flight_points(flight_points: Union[fastoad.model_base.flight_point.FlightPoint, pandas.core.frame.DataFrame])[source]¶
Computes Specific Fuel Consumption according to provided conditions.
See
FlightPoint
for 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_regulated
tells 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_regulated
is not defined, the considered input will be the defined one betweenthrust_rate
andthrust
(if both are provided,thrust_rate
will be used)if
thrust_is_regulated
isTrue
orFalse
(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_regulated
is a sequence or array,thrust_rate
andthrust
should 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 DataFram instance
- Returns
None (inputs are updated in-place)
- compute_flight_points_from_dt4(mach: Union[float, Sequence], altitude: Union[float, Sequence], delta_t4: Union[float, Sequence], thrust_is_regulated: Optional[Union[bool, Sequence]] = None, thrust_rate: Optional[Union[float, Sequence]] = None, thrust: Optional[Union[float, Sequence]] = None) → Tuple[Union[float, Sequence], Union[float, Sequence], Union[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
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: fastoad.model_base.atmosphere.Atmosphere, mach: Union[float, Sequence[float]]) → numpy.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: Union[float, Sequence[float]], thrust_rate: Union[float, Sequence[float]], mach: Union[float, Sequence[float]] = 0.8) → numpy.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: fastoad.model_base.atmosphere.Atmosphere, mach: Union[float, Sequence[float]], delta_t4: Union[float, Sequence[float]]) → numpy.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)