core_propulsion module¶
SSBJ Propulsion computations¶
Classes:
|
Class defining propulsion analysis for Sobieski problem and related method to the propulsion problem such as disciplines computation, constraints, reference optimum. |
- 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.
Attributes:
Methods:
blackbox_propulsion
(x_shared, y_23, x_3[, ...])This function calculates fuel comsumption, engine weight and engine scale factor.
compute_dengineweight_dvar
(esf, desf_dx)Computes derivative of engine weight wrt to a variable(drag or throttle)
compute_desf_ddrag
(adim_throttle)Compute derivative of ESF wrt aero drag.
compute_desf_dthrottle
(drag, adim_throttle)Compute derivative of ESF wrt aero drag.
compute_dim_throttle
(adim_throttle)Compute a dimensioned value of throttle from adim value.
compute_dsfc_dh
(x_shared, adim_throttle)Compute derivative of sfc constraint wrt altitude.
compute_dsfc_dmach
(x_shared, adim_throttle)Compute derivative of sfc constraint wrt Mach number.
compute_dsfc_dthrottle
(x_shared, adim_throttle)Compute derivative of sfc constraint wrt throttle.
compute_dthrcons_dh
(x_shared, adim_throttle)Compute derivative of throttle constraint wrt altitude.
compute_dthrconst_dmach
(x_shared, adim_throttle)Compute derivative of throttle constraint wrt Mach number.
compute_dthrconst_dthrottle
(x_shared)Compute derivative of throttle constraint wrt throttle.
Compute engine weight.
compute_esf
(drag, adim_throttle)Compute engine scale factor.
compute_sfc
(x_shared, adim_throttle)Compute Specific Fuel Consumption (SFC) from global design variables (M, h,) and local design variable (throttle) by polynomial function.
compute_temp
(x_shared, x_3)Compute engine temperature.
compute_throttle_constraint
(x_shared, ...)Compute throttle constraint (M, h,) and local design variable (throttle) by polynomial function.
compute_throttle_ua
(x_shared)Compute throttle upper limit from global design variables (M, h,)
derive_blackbox_propulsion
(x_shared, y_23, x_3)Compute jacobian matrix of propulsion analysis.
- 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)
By default it is set to 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)
By default it is set to False.
- Returns
jacobian : Jacobian matrix
- Return type
dict(dict(ndarray))