fastga_he.models.performances.op_mission_vector.op_mission_vector module

class fastga_he.models.performances.op_mission_vector.op_mission_vector.OperationalMissionVectorSuper(**kwargs)[source]

Bases: Group

Set the solvers to nonlinear and linear block Gauss–Seidel by default.

initialize()[source]

Perform any one-time initialization run at instantiation.

setup()[source]

Build this group.

This method should be overidden by your Group’s method. The reason for using this method to add subsystem is to save memory and setup time when using your Group while running under MPI. This avoids the creation of systems that will not be used in the current process.

You may call ‘add_subsystem’ to add systems to this group. You may also issue connections, and set the linear and nonlinear solvers for this group level. You cannot safely change anything on children systems; use the ‘configure’ method instead.

Available attributes:

name pathname comm options

class fastga_he.models.performances.op_mission_vector.op_mission_vector.OperationalMissionVector(**kwargs)[source]

Bases: Group

Computes and potentially save operational mission based on options.

Set the solvers to nonlinear and linear block Gauss–Seidel by default.

initialize()[source]

Perform any one-time initialization run at instantiation.

setup()[source]

Build this group.

This method should be overidden by your Group’s method. The reason for using this method to add subsystem is to save memory and setup time when using your Group while running under MPI. This avoids the creation of systems that will not be used in the current process.

You may call ‘add_subsystem’ to add systems to this group. You may also issue connections, and set the linear and nonlinear solvers for this group level. You cannot safely change anything on children systems; use the ‘configure’ method instead.

Available attributes:

name pathname comm options

guess_nonlinear(inputs, outputs, residuals, discrete_inputs=None, discrete_outputs=None)[source]

Against my better judgement, I will do the guess_nonlinear at the top most component because for some reasons the guess nonlinear function are first executed from the bottom-most component to the topmost component. Additionally, the variables I’d need ( MTOW to get thrust through assumed finesse, cruise TAS for speed) are inputs of component only in the initialization and high level mission component. Consequently we will do everything here. But I’m not happy about it.

set_initial_guess_fuel_consumed(outputs)[source]

Provides and sets educated guess of the variation of fuel consumed during the flight. It is a mere initial guess, the end results will still be accurate.

Parameters:

outputs – OpenMDAO vector containing the value of outputs (and thus their initial guesses)

set_initial_guess_mass(inputs, outputs)[source]

Provides and sets educated guess of the variation of mass during the flight. It is a mere initial guess, the end results will still be accurate.

Parameters:
  • inputs – OpenMDAO vector containing the value of inputs

  • outputs – OpenMDAO vector containing the value of outputs (and thus their initial guesses)

set_initial_guess_thrust(inputs, outputs)[source]

Provides and sets educated guess of the thrust required during the flight. It is a mere initial guess, the end results will still be accurate.

Parameters:
  • inputs – OpenMDAO vector containing the value of inputs

  • outputs – OpenMDAO vector containing the value of outputs (and thus their initial guesses)

set_initial_guess_alpha(outputs)[source]

Provides and sets educated guess of the aoa required during the flight. It is a mere initial guess, the end results will still be accurate.

Parameters:

outputs – OpenMDAO vector containing the value of outputs (and thus their initial guesses)

set_initial_guess_delta_m(outputs)[source]

Provides and sets educated guess of the elevator deflection required during the flight. It is a mere initial guess, the end results will still be accurate.

Parameters:

outputs – OpenMDAO vector containing the value of outputs (and thus their initial guesses)

set_initial_guess_speed(inputs, outputs)[source]

Provides and sets educated guess of the true airspeed during the flight. It is a mere initial guess, the end results will still be computed.

Parameters:
  • inputs – OpenMDAO vector containing the value of inputs

  • outputs – OpenMDAO vector containing the value of outputs (and thus their initial guesses)

set_initial_guess_taxi_thrust(inputs, outputs)[source]

Provides and sets educated guess of the thrust required during taxi. Is actually more than an initial guess.

Parameters:
  • inputs – OpenMDAO vector containing the value of inputs

  • outputs – OpenMDAO vector containing the value of outputs (and thus their initial guesses)

set_initial_guess_speed_econ(inputs, outputs)[source]

Provides and sets educated guess of the speed for energy consumption. Is actually more than an initial guess. Needs to be run after the initialization of TAS

Parameters:
  • inputs – OpenMDAO vector containing the value of inputs

  • outputs – OpenMDAO vector containing the value of outputs (and thus their initial guesses)

set_initial_guess_thrust_econ(outputs)[source]

Provides and sets educated guess of the thrust for energy consumption. Is actually more than an initial guess. Needs to be run after the initialization of thrust mission and taxi thrust

Parameters:

outputs – OpenMDAO vector containing the value of outputs (and thus their initial guesses)

set_initial_guess_altitude(inputs, outputs)[source]

Provides and sets educated guess of the altitude during flight.

Parameters:
  • inputs – OpenMDAO vector containing the value of inputs

  • outputs – OpenMDAO vector containing the value of outputs (and thus their initial guesses)

set_initial_guess_density(outputs)[source]

Provides and sets educated guess of the density during flight.

Parameters:

outputs – OpenMDAO vector containing the value of outputs (and thus their initial guesses)

set_initial_guess_temperature(outputs)[source]

Provides and sets educated guess of the exterior temperature during flight.

Parameters:

outputs – OpenMDAO vector containing the value of outputs (and thus their initial guesses)

set_initial_guess_energies(outputs)[source]

Provides and sets educated guess of the energy consumed during flight, whether it is under the form of fuel or unconsumable energy. Actually, it is only an improvement in the sense that if we do all fuel, unconsumable will be set at zero and vice-versa. Doesn’t do much for hybrid.

Parameters:

outputs – OpenMDAO vector containing the value of outputs (and thus their initial guesses)

set_initial_guess_energy_consumed(outputs)[source]

Provides and sets educated guess of the variation of energy consumed during the flight. It is a mere initial guess, the end results will still be accurate.

Parameters:

outputs – OpenMDAO vector containing the value of outputs (and thus their initial guesses)

static is_service_active(service_id: str) bool[source]
configure()[source]

Configure this group to assign children settings.

This method may optionally be overidden by your Group’s method.

You may only use this method to change settings on your children subsystems. This includes setting solvers in cases where you want to override the defaults.

You can assume that the full hierarchy below your level has been instantiated and has already called its own configure methods.

Available attributes:

name pathname comm options system hieararchy with attribute access

fastga_he.models.performances.op_mission_vector.op_mission_vector.get_propulsive_power(propulsor_names: list, thrust_distributor: ndarray, thrust: ndarray, true_airspeed: ndarray) dict[source]

Returns a dictionary containing the propulsive power, at each point of the flight, that the propulsor will have to produce. Is based on the thrust distributor but unfortunately, since this function is ran BEFORE any subsystems, we must do the computation twice.

Parameters:
  • propulsor_names – names of the propulsor inside the propulsion chain

  • thrust_distributor – array containing the percent repartition of the thrust among each

propulsor :param thrust: aircraft level thrust, in N ? (I don’t see how to check it) :param true_airspeed: true airspeed, in m/s ?