core_propulsion module¶
SSBJ Propulsion computations¶
-
class
gemseo.problems.sobieski.core_propulsion.SobieskiPropulsion(sobieski_base)[source]¶ Bases:
objectClass defining propulsion analysis for Sobieski problem and related method to the propulsion problem such as disciplines computation, constraints, reference optimum
Constructor
-
DTYPE_COMPLEX= 'complex128'¶
-
DTYPE_DOUBLE= 'float64'¶
-
ESF_LOWER_LIMIT= 0.5¶
-
ESF_UPPER_LIMIT= 1.5¶
-
TEMPERATURE_LIMIT= 1.02¶
-
blackbox_propulsion(x_shared, y_23, x_3, true_cstr=False)[source]¶ This function calculates fuel comsumption, engine weight and engine scale factor
- Parameters
x_shared (numpy array) –
shared design variable vector:
x_shared[0]: thickness/chord ratio
x_shared[1]: altitude
x_shared[2]: Mach
x_shared[3]: aspect ratio
x_shared[4]: wing sweep
x_shared[5]: wing surface area
y_23 (numpy array) – shared variables coming from blackbox_aerodynamics (drag)
x_3 (numpy array) – power/propulsion design variable (throttle setting)
true_cstr – Default value = False)
- Returns
y_3, y_34, y_31, y_32, g_3:
y_3: output variables for propulsion analysis
y_3[0]: SFC
y_3[1]: engine weight
y_3[2]: engine scale factor
y_34: shared variable for BlackBoxMission (SFC)
y_31: shared variable for blackbox_structure (engine weight)
y_32: shared variable for blackbox_aerodynamics (esf)
g_3: propulsion constraints
g_3[0]: engine scale factor constraint
g_3[1]: engine temperature
g_3[2]: throttle setting constraint
- Return type
numpy array, numpy array, numpy array, numpy array, numpy array
-
compute_dengineweight_dvar(esf, desf_dx)[source]¶ Computes derivative of engine weight wrt to a variable(drag or throttle)
- Parameters
esf (float) – ESF
desf_dx (numpy array) – partial derivative of ESF wrt to input variable
- Returns
derivative of engine weight wrt a variable (drag or throttle)
- Return type
numpy array
-
compute_desf_ddrag(adim_throttle)[source]¶ Compute derivative of ESF wrt aero drag
- Parameters
adim_throttle (numpy array) – local design variables
- Returns
derivative of ESF wrt drag
- Return type
numpy array
-
compute_desf_dthrottle(drag, adim_throttle)[source]¶ Compute derivative of ESF wrt aero drag
- Parameters
drag (numpy array) – coupling design variables
adim_throttle (numpy array) – local design variables
- Returns
derivative of ESF wrt drag
- Return type
numpy array
-
compute_dim_throttle(adim_throttle)[source]¶ Compute a dimensioned value of throttle from adim value
- Parameters
adim_throttle (numpy array) – local design vector
- Returns
throttle
- Return type
numpy array
-
compute_dsfc_dh(x_shared, adim_throttle)[source]¶ Compute derivative of sfc constraint wrt altitude
- Parameters
x_shared (numpy array) – global design vector
adim_throttle (numpy array) – local design vector
- Returns
dsfc_dh
- Return type
numpy array
-
compute_dsfc_dmach(x_shared, adim_throttle)[source]¶ Compute derivative of sfc constraint wrt Mach number
- Parameters
x_shared (numpy array) – global design vector
adim_throttle (numpy array) – local design vector
- Returns
dsfc_dmach
- Return type
numpy array
-
compute_dsfc_dthrottle(x_shared, adim_throttle)[source]¶ Compute derivative of sfc constraint wrt throttle
- Parameters
x_shared (numpy array) – global design vector
adim_throttle (numpy array) – local design vector
- Returns
dsfc_dthrottle
- Return type
numpy array
-
compute_dthrcons_dh(x_shared, adim_throttle)[source]¶ Compute derivative of throttle constraint wrt altitude
- Parameters
x_shared (numpy array) – global design vector
adim_throttle (numpy array) – local design vector
- Returns
dthrottle_constraint_dh
- Return type
numpy array
-
compute_dthrconst_dmach(x_shared, adim_throttle)[source]¶ Compute derivative of throttle constraint wrt Mach number
- Parameters
x_shared (numpy array) – global design vector
adim_throttle (numpy array) – local design vector
- Returns
dthrottle_constraint_dmach
- Return type
numpy array
-
compute_dthrconst_dthrottle(x_shared)[source]¶ Compute derivative of throttle constraint wrt throttle
- Parameters
x_shared (numpy array) – global design vector
- Returns
dthrottle_constraint_dthrottle
- Return type
numpy array
-
compute_engine_weight(esf)[source]¶ Compute engine weight
- Parameters
esf – engine scale factor
- Returns
engine weight
- Return type
numpy array
-
compute_esf(drag, adim_throttle)[source]¶ Compute engine scale factor
- Parameters
drag (float) – drag
adim_throttle (float) – throttle (not dimensioned)
- Returns
Engine Scale Factor
- Return type
numpy array
-
compute_sfc(x_shared, adim_throttle)[source]¶ Compute Specific Fuel Consumption (SFC) from global design variables (M, h,) and local design variable (throttle) by polynomial function
- Parameters
x_shared (numpy array) – global design vector
adim_throttle (numpy array) – local design vector
- Returns
sfc
- Return type
numpy array
-
compute_temp(x_shared, x_3)[source]¶ Compute engine temperature
- Parameters
x_3 (numpy array) – local design vector
x_shared (numpy array) – global design vector
- Returns
engine temperature
- Return type
numpy array
-
compute_throttle_constraint(x_shared, adim_throttle)[source]¶ Compute throttle constraint (M, h,) and local design variable (throttle) by polynomial function
- Parameters
x_shared (numpy array) – global design vector
adim_throttle (numpy array) – local design vector
- Returns
throttle constraint as throttle / throttle_ua - 1.0
- Return type
numpy array
-
compute_throttle_ua(x_shared)[source]¶ Compute throttle upper limit from global design variables (M, h,)
- Parameters
x_shared (numpy array) – global design vector
- Returns
throttle_uA
- Return type
numpy array
-
derive_blackbox_propulsion(x_shared, y_23, x_3, true_cstr=False)[source]¶ Compute jacobian matrix of propulsion analysis
- Parameters
x_shared (numpy array) –
shared design variable vector:
x_shared[0]: thickness/chord ratio
x_shared[1]: altitude
x_shared[2]: Mach
x_shared[3]: aspect ratio
x_shared[4]: wing sweep
x_shared[5]: wing surface area
y_23 (numpy array) – shared variables coming from blackbox_aerodynamics (drag)
x_3 (numpy array) – power/propulsion design variable (throttle setting)
true_cstr – Default value = False)
- Returns
jacobian : Jacobian matrix
- Return type
dict(dict(ndarray))
-