fastga.models.loops.wing_area_component.wing_area_loop_geom_adv module

Computation of wing area update and constraints based on the amount of fuel in the wing with advanced computation of the maximum fuel weight.

class fastga.models.loops.wing_area_component.wing_area_loop_geom_adv.UpdateMFW(**kwargs)[source]

Bases: openmdao.core.group.Group

Computes the MFW for a given value of the wing area by reusing only necessary components

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

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.loops.wing_area_component.wing_area_loop_geom_adv.DistanceToMFWForUpdate(**kwargs)[source]

Bases: openmdao.core.implicitcomponent.ImplicitComponent

ImplicitComponent that readjust the value of the wing area depending on how far from the target (fuel for sizing mission) the MFW is.

Store some bound methods so we can detect runtime overrides.

setup()[source]

Declare inputs and outputs.

Available attributes:

name pathname comm options

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

Compute residuals given inputs and outputs.

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].

  • residuals (Vector) – Unscaled, dimensional residuals written to via residuals[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.

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

Compute sub-jacobian parts and any applicable matrix factorizations.

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].

  • jacobian (Jacobian) – Sub-jac components written to jacobian[output_name, input_name].

  • 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.

class fastga.models.loops.wing_area_component.wing_area_loop_geom_adv.UpdateWingAreaGeomAdvanced(**kwargs)[source]

Bases: openmdao.core.group.Group

Group that iterates on the wing area to find the value which equates the max fuel weight to the fuel necessary for the mission.

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

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.loops.wing_area_component.wing_area_loop_geom_adv.DistanceToMFWForConstraint(**kwargs)[source]

Bases: openmdao.core.explicitcomponent.ExplicitComponent

Computation of the distance to the geometric constraints which translates as additional fuel capacity.

Store some bound methods so we can detect runtime overrides.

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.

compute_partials(inputs, partials, discrete_inputs=None)[source]

Compute sub-jacobian parts. The model is assumed to be in an unscaled state.

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

  • partials (Jacobian) – Sub-jac components written to partials[output_name, input_name]..

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

class fastga.models.loops.wing_area_component.wing_area_loop_geom_adv.ConstraintWingAreaGeomAdvanced(**kwargs)[source]

Bases: openmdao.core.group.Group

Computes the difference between what the wing can store in terms of fuel and the fuel needed for the mission to check if the constraints is respected using an advanced geometric computation of the fuel inside the wing.

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

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