core_aerodynamics module¶
SSBJ Aerodynamics computation¶
-
class
gemseo.problems.sobieski.core_aerodynamics.
SobieskiAerodynamics
(sobieski_base)[source]¶ Bases:
object
Class defining aerodynamical analysis for Sobieski problem and related method to the aerodynamical problem such as disciplines computation, constraints, reference optimum
Constructor
-
DTYPE_COMPLEX
= 'complex128'¶
-
DTYPE_DOUBLE
= 'float64'¶
-
PRESSURE_GRADIENT_LIMIT
= 1.04¶
-
blackbox_aerodynamics
(x_shared, y_12, y_32, x_2, true_cstr=False)[source]¶ This function calculates drag and lift to drag ratio of A/C.
- 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_12 (numpy array) –
shared variables coming from blackbox_structure:
y_12[0]: total aircraft weight
y_12[1]: wing twist
y_32 (numpy array) –
shared variables coming from blackbox_propulsion:
y_32[0]: engine scale factor
x_2 (numpy array) –
aero. design variable:
x_2[0]: friction coeff
true_cstr – Default value = False)
- Returns
y_2, y_21, y_23, y_24, g_2
y_2: aero. analysis outputs
y_2[0]: lift
y_2[1]: drag
y_2[2]: lift/drag ratio
y_21: shared variable for blackbox_structure (lift)
y_23: shared variable for blackbox_propulsion (drag)
y_24: shared variable for BlackBoxMission (lift/drag ratio)
g_2: aero constraint (pressure gradient)
- Return type
numpy array, numpy array, numpy array, numpy array, numpy array
-
compute_adim_coeff
(force, sref, mach, altitude)[source]¶ Compute adim. force coeff from force (lift or drag)
- Parameters
force (float) – Force
sref (float) – reference surface
mach (float) – Mach number
altitude (float) – altitude
- Returns
force coefficient: Cl or Cd according to input force
- Return type
float
-
compute_cd
(x_shared, lift_coeff, fo1, fo2)[source]¶ Computation of total drag coefficient
- Parameters
x_shared (numpy array) – global design variables
lift_coeff (numpy array) – lift coefficient
fo1 (numpy array) – coefficient for engine size
fo2 (numpy array) – coefficient for twist influence on drag
- Returns
drag_coefficient : drag coefficient
- Return type
numpy array
-
compute_cd_min
(x_shared, fo1)[source]¶ Computation of a 2D minimum drag coefficient
- Parameters
x_shared (numpy array) – global design variables
fo1 (numpy array) – coefficient for engine size
- Returns
CDmin : drag coefficient
- Return type
numpy array
-
compute_cl
(x_shared, y_12)[source]¶ Computation of lift coefficient
- Parameters
x_shared (numpy array) – global design variables
y_12 (numpy array) – coupling variable from weight analysis
- Returns
lift coefficient Cl
- Return type
numpy array
-
compute_dadimcf_dcf
(x_2)[source]¶ Computation of a derivative of adim friction coeff of polynomial wrt friction coeff
- Parameters
x_2 (numpy array) – local design variables
- Returns
derivative of adim friction coeff of polynomial wrt friction coeff
- Return type
numpy array
-
compute_dadimesf_desf
(y_32)[source]¶ Computation of a derivative of adim ESF of polynomial wrt ESF
- Parameters
y_32 (numpy array) – coupling variable from propulsion analysis
- Returns
derivative of adim ESF of polynomial wrt ESF
- Return type
numpy array
-
compute_dadimtaper_dtaper
(x_shared)[source]¶ Computation of a derivative of adim taper-ratio of polynomial wrt taper-ratio
- Parameters
x_shared (numpy array) – global design variables
- Returns
derivative of adim taper-ratio of polynomial wrt taper-ratio
- Return type
numpy array
-
compute_dadimtwist_dtwist
(y_12)[source]¶ Computation of a derivative of adim twist of polynomial wrt twist
- Parameters
y_12 (numpy array) – coupling variable from weight analysis
- Returns
derivative of adim twist of polynomial wrt twist
- Return type
numpy array
-
compute_dcd_dmach
(x_shared, y_12, fo2)[source]¶ Computation of derivative of drag coefficient wrt Mach
- Parameters
x_shared (numpy array) – global design variables
y_12 (numpy array) – coupling variable from weight analysis
fo2 (numpy array) – coefficient for twist influence on drag
- Returns
dcd_dmach
- Return type
numpy array
-
compute_dcd_dsref
(x_shared, y_12, fo2)[source]¶ Computation of derivative of drag coefficient wrt sweep
- Parameters
x_shared (numpy array) – global design variables
y_12 (numpy array) – lift coefficient
fo2 (numpy array) – coefficient for twist influence on drag
- Returns
dCd/dsweep
- Return type
numpy array
-
compute_dcd_dsweep
(x_shared, lift_coeff, fo2)[source]¶ Computation of derivative of drag coefficient wrt sweep
- Parameters
x_shared (numpy array) – global design variables
lift_coeff (numpy array) – lift coefficient
fo2 (numpy array) – coefficient for twist influence on drag
- Returns
dCd/dsweep
- Return type
numpy array
-
static
compute_dcdmin_dsweep
(x_shared)[source]¶ Computation of derivative of 2D minimum drag coefficient wrt sweep
- Parameters
x_shared (numpy array) – global design variables
- Returns
dCDmin_dsweep
- Return type
numpy array
-
compute_dcl_dh
(x_shared, y_12)[source]¶ Computation of derivative of lift coefficient wrt altitude
- Parameters
x_shared (numpy array) – global design variables
y_12 (numpy array) – coupling variable from weight analysis
- Returns
derivative of lift coefficient wrt altitude
- Return type
numpy array
-
compute_dcl_dmach
(x_shared, y_12)[source]¶ Computation of derivative of lift coefficient wrt reference surface
- Parameters
x_shared (numpy array) – global design variables
y_12 (numpy array) – coupling variable from weight analysis
- Returns
derivative of lift coefficient wrt reference surface
- Return type
numpy array
-
compute_dcl_dsref
(x_shared, y_12)[source]¶ Computation of derivative of lift coefficient wrt Mach number
- Parameters
x_shared (numpy array) – global design variables
y_12 (numpy array) – coupling variable from weight analysis
- Returns
derivative of lift coefficient wrt Mach number
- Return type
numpy array
-
static
compute_dk_aero_dmach
(x_shared)[source]¶ Computation of a derivative of k_aero wrt Mach
- Parameters
x_shared (numpy array) – global design variables
- Returns
dk_aero_dmach
- Return type
numpy array
-
static
compute_dk_aero_dsweep
(x_shared)[source]¶ Computation of a derivative of k_aero wrt sweep
- Parameters
x_shared (numpy array) – global design variables
- Returns
dk_aero_dsweep
- Return type
numpy array
-
compute_drag
(drag_coeff, x_shared)[source]¶ Computation of drag from drag coefficient
- Parameters
drag_coeff (numpy array) – lift coefficient
x_shared (numpy array) – global design variables
- Returns
drag as a force
- Return type
numpy array
-
compute_drho_dh_dv_dh
(mach, altitude)[source]¶ Compute derivative of velocity and density wrt altitude
- Parameters
mach (float) – Mach number
altitude (float) – altitude
- Returns
drho_dh, dv_dh
- Return type
float
-
compute_drhov2_dh
(x_shared)[source]¶ Computation of derivative of rhoV**2 wrt altitude
- Parameters
x_shared (numpy array) – global design variables
- Returns
drhov2_dh (derivative of rhoV**2 wrt altitude)
- Return type
numpy array
-
compute_drhov2_dmach
(x_shared)[source]¶ Computation of derivative of rhoV**2 wrt Mach
- Parameters
x_shared (numpy array) – global design variables
- Returns
drhov2_dmach (derivative of rhoV**2 wrt Mach)
- Return type
numpy array
-
compute_dv_dmach
(altitude)[source]¶ Computation of derivative of velocity wrt Mach
- Parameters
altitude (numpy array) – altitude
- Returns
drhov2_dmach (derivative of rhoV**2 wrt Mach)
- Return type
numpy array
-
compute_force
(adim_coeff, sref, mach, altitude)[source]¶ Compute force (lift or drag) from adim coeff
- Parameters
adim_coeff (float) – force coefficient
sref (float) – reference surface
mach (float) – Mach number
altitude (float) – altitude
- Returns
force: lift or drag
- Return type
float
-
compute_k_aero
(x_shared)[source]¶ Computation of a induced drag coefficient (related to lift)
- Parameters
x_shared (numpy array) – global design variables
- Returns
k_aero
- Return type
numpy array
-
compute_rho_v
(mach, altitude)[source]¶ From given Mach number and altitude, compute velocity and density
- Parameters
mach (float) – Mach number
altitude (float) – altitude
- Returns
rho, velocity : density and velocity
- Return type
float
-
compute_rhov2
(x_shared)[source]¶ Computation of rho * velocity * velocity (2*dynamic pressure)
- Parameters
x_shared (numpy array) – global design variables
- Returns
rho * velocity * velocity
- Return type
numpy array
-
derive_blackbox_aerodynamics
(x_shared, y_12, y_32, x_2)[source]¶ This function calculates drag and lift to drag ratio of A/C.
- 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_12 (numpy array) –
shared variables coming from blackbox_structure:
y_12[0]: total aircraft weight
y_12[1]: wing twist
y_32 (numpy array) –
shared variables coming from blackbox_propulsion:
y_32[0]: engine scale factor
x_2 (numpy array) –
aero. design variable:
x_2[0]: friction coeff
- Returns
jacobian matrix of partial derivatives
- Return type
dict(dict(ndarray))
-