fastoad.models.weight.mass_breakdown.mass_breakdown module

Main components for mass breakdown.

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

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