gemseo / problems / sobieski / core

structure module

Structure discipline for the Sobieski’s SSBJ use case.

class gemseo.problems.sobieski.core.structure.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]]

DTYPE_COMPLEX = 'complex128'
DTYPE_DOUBLE = 'float64'
STRESS_LIMIT = 1.09
TWIST_LOWER_LIMIT = 0.8
TWIST_UPPER_LIMIT = 1.04
property constants
property dtype
property math