fastoad.models.weight.mass_breakdown.mass_breakdown module

Main components for mass breakdown.

class fastoad.models.weight.mass_breakdown.mass_breakdown.AirframeWeight(**kwargs)[source]

Bases: openmdao.core.group.Group

Computes mass of airframe.

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

Parameters

**kwargs (dict) – dict of arguments available here and in all descendants of this Group.

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 fastoad.models.weight.mass_breakdown.mass_breakdown.FurnitureWeight(**kwargs)[source]

Bases: openmdao.core.group.Group

Computes mass of furniture.

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

Parameters

**kwargs (dict) – dict of arguments available here and in all descendants of this Group.

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 fastoad.models.weight.mass_breakdown.mass_breakdown.MTOWComputation(output_name=None, input_names=None, vec_size=1, length=1, val=1.0, scaling_factors=None, **kwargs)[source]

Bases: openmdao.components.add_subtract_comp.AddSubtractComp

Computes MTOW from OWE, design payload and consumed fuel in sizing mission.

Allow user to create an addition/subtracton system with one-liner.

Parameters
  • output_name (str) – (required) name of the result variable in this component’s namespace.

  • input_names (iterable of str) – (required) names of the input variables for this system

  • vec_size (int) – Length of the first dimension of the input and output vectors (i.e number of rows, or vector length for a 1D vector) Default is 1

  • length (int) – Length of the second dimension of the input and ouptut vectors (i.e. number of columns) Default is 1 which results in input/output vectors of size (vec_size,)

  • scaling_factors (iterable of numeric) – Scaling factors to apply to each input. Use [1,1,…] for addition, [1,-1,…] for subtraction Must be same length as input_names Default is None which results in a scaling factor of 1 on each input (element-wise addition)

  • val (float or list or tuple or ndarray) – The initial value of the variable being added in user-defined units. Default is 1.0.

  • **kwargs (str) – Any other arguments to pass to the addition system (same as add_output method for ExplicitComponent) Examples include units (str or None), desc (str)

setup()[source]

Declare inputs and outputs.

Available attributes:

name pathname comm options

class fastoad.models.weight.mass_breakdown.mass_breakdown.MassBreakdown(**kwargs)[source]

Bases: openmdao.core.group.Group

Computes analytically the mass of each part of the aircraft, and the resulting sum, the Overall Weight Empty (OWE).

Some models depend on MZFW (Max Zero Fuel Weight), MLW (Max Landing Weight) and MTOW (Max TakeOff Weight), which depend on OWE.

This model cycles for having consistent OWE, MZFW and MLW.

Options: - payload_from_npax: If True (default), payload masses will be computed from NPAX, if False

design payload mass and maximum payload mass must be provided.

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

Parameters

**kwargs (dict) – dict of arguments available here and in all descendants of this Group.

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 fastoad.models.weight.mass_breakdown.mass_breakdown.OperatingWeightEmpty(**kwargs)[source]

Bases: openmdao.core.group.Group

Operating Empty Weight (OEW) estimation.

This group aggregates weight from all components of the aircraft.

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

Parameters

**kwargs (dict) – dict of arguments available here and in all descendants of this Group.

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 fastoad.models.weight.mass_breakdown.mass_breakdown.PropulsionWeight(**kwargs)[source]

Bases: openmdao.core.group.Group

Computes mass of propulsion.

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

Parameters

**kwargs (dict) – dict of arguments available here and in all descendants of this Group.

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 fastoad.models.weight.mass_breakdown.mass_breakdown.SystemsWeight(**kwargs)[source]

Bases: openmdao.core.group.Group

Computes mass of systems.

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

Parameters

**kwargs (dict) – dict of arguments available here and in all descendants of this Group.

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