fastga.models.performances.mission.dynamic_equilibrium module

FAST - Copyright (c) 2016 ONERA ISAE.

class fastga.models.performances.mission.dynamic_equilibrium.DynamicEquilibrium(**kwargs)[source]

Bases: openmdao.core.explicitcomponent.ExplicitComponent

Compute the derivatives and associated lift-drag-thrust decomposition depending if DP model is included or not.

Store some bound methods so we can detect runtime overrides.

initialize()[source]

Perform any one-time initialization run at instantiation.

setup()[source]

Declare inputs and outputs.

Available attributes:

name pathname comm options

dynamic_equilibrium(inputs, gamma: float, q: float, dvx_dt: float, dvz_dt: float, mass: float, flap_condition: str, previous_step: tuple, low_speed: bool = False, x_cg=None)[source]

Method that finds the regulated thrust and aircraft to air angle to obtain dynamic equilibrium

Parameters
  • inputs – inputs derived from aero and mass models

  • gamma – path angle (in rad.) equal to climb rate c=dh/dt over air speed V,

sin(gamma)=c/V :param q: dynamic pressure q=1/2*rho*V² :param dvx_dt: acceleration linear to air speed :param dvz_dt: acceleration perpendicular to air speed :param mass: current mass of the flying aircraft (taking into account propulsion consumption if needed) :param flap_condition: can refer either to “takeoff” or “landing” if high-lift contribution should be considered :param previous_step: give previous step equilibrium if known to accelerate the calculation :param low_speed: define which aerodynamic models should be used (either low speed or high speed) :param x_cg: x position of the center of gravity of the aircraft, if not given, computed based on fuel in tank

static found_cl_repartition(inputs, load_factor: float, mass: float, q: float, delta_cm: float, low_speed: bool = False, x_cg: Optional[float] = None)[source]

Method that founds the lift equilibrium with regard to the global moment

Parameters
  • inputs – inputs derived from aero and mass models

  • load_factor – load factor applied to the

aircraft expressed as a ratio of g :param mass: current aircraft mass :param q: dynamic pressure q=1/2*rho*V² :param delta_cm: DP induced cm to be added to the moment equilibrium :param low_speed: define which aerodynamic models should be used (either low speed or high speed) :param x_cg: x_cg position of the aircraft, can be specified. If not specified, computed based on current fuel in the aircraft

save_csv()[source]

Method to save mission point to .csv file for further post-processing

equation_outer(x, inputs, gamma: float, q: float, dvx_dt: float, dvz_dt: float, mass: float, flap_condition: str, low_speed: bool = False, x_cg=None)[source]
compute_flight_point_drag(flight_point: Optional[fastoad.model_base.flight_point.FlightPoint] = None, equilibrium_result: Optional[tuple] = None, wing_area: Optional[float] = None)[source]

Method to extract the drag coefficient from the equilibrium results and add it to the flight point. Also computes the total drag of the aircraft

Parameters
  • equilibrium_result – result vector of dynamic equilibrium

  • wing_area – reference surface of the aircraft

  • flight_point – the flight_point to add

add_flight_point(flight_point: Optional[fastoad.model_base.flight_point.FlightPoint] = None, equilibrium_result: Optional[tuple] = None)[source]

Method to add single flight_point to a list of flight_point and treats equilibrium_result at the same time.

Parameters
  • equilibrium_result – result vector of dynamic equilibrium

  • flight_point – the flight_point to add

complete_flight_point(flight_point: fastoad.model_base.flight_point.FlightPoint, mach=None, v_cas=None, v_tas=None, climb_rate=0.0)[source]

Method to complete velocity fields in flight_point. Uses ONE of [v_cas, v_tas, mach] velocity to set the others. Order of priority is as presented in the list.

Parameters
  • flight_point – the flight point to complete

  • mach – the mach number

  • v_cas – the calibrated airspeed

  • v_tas – the true airspeed

  • climb_rate – the climb rate in m/s used to compute gamma (can be negative).