gemseo / problems / sobieski / core

Show inherited members

propulsion module

Propulsion discipline for the Sobieski’s SSBJ use case.

class gemseo.problems.sobieski.core.propulsion.SobieskiPropulsion(sobieski_base)[source]

Bases: SobieskiDiscipline

Propulsion discipline for the Sobieski’s SSBJ use case.

Parameters:

sobieski_base (SobieskiBase) – The Sobieski base.

execute(x_shared, y_23, x_3, true_cstr=False, c_3=None)[source]

Compute the fuel consumption, engine weight and engine scale factor.

Parameters:
  • x_shared (ndarray) – The values of the shared design variables, where x_shared[0] is the thickness/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_23 (ndarray) – The drag coefficient.

  • x_3 (ndarray) – The throttle.

  • 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_3 (float | None) – The reference engine weight. If None, use SobieskiBase.constants().

Returns:

  • y_3: The outputs of the propulsion analysis:
    • y_3[0]: the specific fuel consumption,

    • y_3[1]: the engine weight,

    • y_3[2]: the engine scale factor,

  • g_3: The propulsion outputs to be constrained:
    • g_3[0]: the engine scale factor,

    • g_3[1]: the engine temperature,

    • g_3[2]: the throttle setting.

Return type:

The propulsion outputs

linearize(x_shared, y_23, x_3, true_cstr=False, c_3=None)[source]

Derive the fuel consumption, engine weight and engine scale factor.

Parameters:
  • x_shared (ndarray) – The values of the shared design variables, where x_shared[0] is the thickness/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_23 (ndarray) – The drag coefficient.

  • x_3 (ndarray) – The throttle.

  • 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_3 (float | None) – The reference engine weight. If None, use SobieskiBase.constants().

Returns:

The Jacobian of the discipline.

Return type:

dict[str, dict[str, ndarray]]

ESF_LOWER_LIMIT = 0.5
ESF_UPPER_LIMIT = 1.5
TEMPERATURE_LIMIT = 1.02