core_propulsion module¶
SSBJ Propulsion computations¶
-
class
gemseo.problems.sobieski.core_propulsion.
SobieskiPropulsion
(sobieski_base)[source]¶ Bases:
object
Class 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))
-