gemseo.problems.mdo.sobieski.core.structure module#

Structure discipline for the Sobieski's SSBJ use case.

class SobieskiStructure(sobieski_base)[source]#

Bases: SobieskiDiscipline

Structure discipline for the Sobieski's SSBJ use case.

Parameters:

sobieski_base (SobieskiBase) -- The Sobieski base.

execute(x_shared, y_21, y_31, x_1, true_cstr=False, c_0=None, c_1=None, c_2=None)[source]#

Compute the structural outputs and the structural constraints.

Parameters:
  • x_shared (ndarray) -- The values of the shared design variables, where x_shared[0] is the thickness-to-chord ratio, x_shared[1] is the altitude, x_shared[2] is the Mach number, x_shared[3] is the aspect ratio, x_shared[4] is the wing sweep and x_shared[5] is the wing surface area.

  • y_21 (ndarray) -- The lift coefficient.

  • y_31 (ndarray) -- The engine weight.

  • x_1 (ndarray) -- The wing taper ratio x_1[0] and the wingbox x-sectional area x_1[1].

  • true_cstr (bool) --

    If True, return the value of the constraint outputs. Otherwise, return the distance to the corresponding constraint thresholds.

    By default it is set to False.

  • c_0 (ndarray | None) -- The minimum fuel weight. If None, use SobieskiBase.constants().

  • c_1 (ndarray | None) -- The miscellaneous weight. If None, use SobieskiBase.constants().

  • c_2 (ndarray | None) -- The maximum load factor. If None, use SobieskiBase.constants().

Returns:

The structural outputs and the structural constraints.

Return type:

tuple[ndarray, ndarray, ndarray, ndarray, ndarray]

linearize(x_shared, y_21, y_31, x_1, true_cstr=False, c_0=None, c_1=None, c_2=None)[source]#

Derive the structural outputs and the structural constraints.

Parameters:
  • x_shared (ndarray) -- The values of the shared design variables, where x_shared[0] is the thickness-to-chord ratio, x_shared[1] is the altitude, x_shared[2] is the Mach number, x_shared[3] is the aspect ratio, x_shared[4] is the wing sweep and x_shared[5] is the wing surface area.

  • y_21 (ndarray) -- The lift coefficient.

  • y_31 (ndarray) -- The engine weight.

  • x_1 (ndarray) -- The wing taper ratio x_1[0] and the wingbox x-sectional area x_1[1].

  • true_cstr (bool) --

    If True, return the value of the constraint outputs. Otherwise, return the distance to the corresponding constraint thresholds.

    By default it is set to False.

  • c_0 (float | None) -- The minimum fuel weight. If None, use SobieskiBase.constants().

  • c_1 (float | None) -- The miscellaneous weight. If None, use SobieskiBase.constants().

  • c_2 (float | None) -- The maximum load factor. If None, use SobieskiBase.constants().

Returns:

The derivatives of the structural outputs and the structural constraints.

Return type:

dict[str, dict[str, ndarray]]

STRESS_LIMIT = 1.09#
TWIST_LOWER_LIMIT = 0.8#
TWIST_UPPER_LIMIT = 1.04#