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 using thrust_rate (when False) or thrust (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 between thrust_rate and thrust (if both are provided, thrust_rate will be used)

  • if thrust_is_regulated is True or False (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 and thrust should be provided and have the same shape as thrust_is_regulated:code:. The method will consider for each element which input will be used according to thrust_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)

length()float[source]

Computes engine length from MTO thrust and maximum Mach.

Model from [Ray99], p.74

Returns

engine length (in m)

nacelle_diameter()float[source]

Computes nacelle diameter from MTO thrust and bypass ratio.

Model of engine diameter from [Ray99], p.235. Nacelle diameter is considered 10% greater ([kro01])

Returns

nacelle diameter (in m)