gemseo / problems / sobieski / core

propulsion module¶

Propulsion discipline for the Sobieski’s SSBJ use case.

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

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