fastga.models.aerodynamics.components.compute_vn module

Estimation of speed/load factors for aircraft design.

class fastga.models.aerodynamics.components.compute_vn.ComputeVNAndVH(**kwargs)[source]

Bases: openmdao.core.group.Group

Group containing the computation of the V_h and the V-n diagram

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.models.aerodynamics.components.compute_vn.ComputeVh(**kwargs)[source]

Bases: openmdao.core.explicitcomponent.ExplicitComponent

Computes the maximum level velocity of the aircraft at sea level

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

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

Compute outputs given inputs. The model is assumed to be in an unscaled state.

Parameters
  • inputs (Vector) – Unscaled, dimensional input variables read via inputs[key].

  • outputs (Vector) – Unscaled, dimensional output variables read via outputs[key].

  • discrete_inputs (dict or None) – If not None, dict containing discrete input values.

  • discrete_outputs (dict or None) – If not None, dict containing discrete output values.

max_speed(inputs, altitude, mass)[source]
delta_axial_load(air_speed, inputs, altitude, mass)[source]
class fastga.models.aerodynamics.components.compute_vn.ComputeVN(**kwargs)[source]

Bases: openmdao.core.explicitcomponent.ExplicitComponent

Computes the load diagram of the aircraft.

Based on the methodology presented in [Ros85a] adapted with the certifications of [EAS] and [Int18], available at : - https://www.easa.europa.eu/sites/default/files/dfu/CS-23%20Amendment%204.pdf - https://www.astm.org/Standards/F3116.htm

Store some bound methods so we can detect runtime overrides.

setup()[source]

Declare inputs and outputs.

Available attributes:

name pathname comm options

check_config(logger)[source]

Perform optional error checks.

Parameters

logger (object) – The object that manages logging output.

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

Compute outputs given inputs. The model is assumed to be in an unscaled state.

Parameters
  • inputs (Vector) – Unscaled, dimensional input variables read via inputs[key].

  • outputs (Vector) – Unscaled, dimensional output variables read via outputs[key].

  • discrete_inputs (dict or None) – If not None, dict containing discrete input values.

  • discrete_outputs (dict or None) – If not None, dict containing discrete output values.

flight_domain(inputs, mass, altitude, design_vc, design_n_ps=0.0, design_n_ng=0.0)[source]

Function that computes the flight domain of the aircraft represented in the inputs for a given mass, altitude, cruise equivalent airspeed and design load factors

@param inputs: a dictionary containing the properties of the aircraft @param mass: the mass for which we want to compute the flight domain @param altitude: the altitude at which we want to compute the flight domain @param design_vc: the cruise equivalent airspeed @param design_n_ps: the positive design load factor, will replace the maneuver load factor if higher than it @param design_n_ng: the negative design load factor, will replace the maneuver load factor if lower than it @return velocity_array: an array containing the characteristic speeds necessary to draw the flight domain stored as [Vs_1g_ps, Vs_1g_ng, V_a_ps (maneuver diagram), V_a_ng (maneuver diagram), V_a_ps (gust, 0 if same as maneuver), V_a_ng (gust, 0 if same as maneuver), V_c, V_c, V_c, V_d, V_d, V_d, V_d, V_ne, V_no, V_mg (for commuter), Vs_1g_fe, V_a_fe, V_fe] @return load_factor_array: an array containing the load factors necessary to draw the flight domain stored as [1.0, -1.0, n_lim_ps (maneuver diagram), n_lim_ng (maneuver diagram), n_a_ps (gust, 0 if same as maneuver), n_a_ng (gust, 0 if same as maneuver), n_lim_ng, n_c_ps (maneuver or gust, whichever is greatest), n_c_ng ( maneuver or gust, whichever is greatest), n_lim_ps, 0.0, n_d_ps (maneuver or gust, whichever is greatest), n_d_ng (maneuver or gust, whichever is greatest), 0.0, 0.0, n_v_mg, 1.0, n_fe, n_fe] @return conditions: an array containing the conditions at which the diagram was computed