core_structure module¶
SSBJ Structure computations¶
-
class
gemseo.problems.sobieski.core_structure.
SobieskiStructure
(sobieski_base)[source]¶ Bases:
object
Class defining structural analysis for Sobieski problem and related method to the sructural problem such as disciplines computation, constraints, reference optimum
Constructor
- Parameters
sobieski_base (SobieskiBase) – Sobieski problem
-
DTYPE_COMPLEX
= 'complex128'¶
-
DTYPE_DOUBLE
= 'float64'¶
-
STRESS_LIMIT
= 1.09¶
-
TWIST_LOWER_LIMIT
= 0.8¶
-
TWIST_UPPER_LIMIT
= 1.04¶
-
blackbox_structure
(x_shared, y_21, y_31, x_1, true_cstr=False)[source]¶ This function calculates the weight of the aircraft by structure and adds them to obtain a total aircraft weight.
- Parameters
x_shared (ndarray) –
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_21 (ndarray) – lift
y_31 (ndarray) – engine weight
x_1 (ndarray) –
weight design variables:
x_1[0]: wing taper ratio
x_1[1]: wingbox x-sectional area as poly. funct
true_cstr – Default value = False)
- Returns
g_1,y_1, y_11, y_12, y_14:
g_1: vector of constraints for weight analysis
g_1[0] to g_1[4]: stress on wing
g_1[5]: wing twist as constraint
y_1: weight analysis outputs
y_1[0]: total aircraft weight
y_1[1]: fuel weight
y_1[2]: wing twist
- y_12: shared variables used for aero computations
(blackbox_aerodynamics)
y_12[0]: total aircraft weight
y_12[1]: wing twist
- y_14: shared variables used for range computation
(BlackBoxMission)
y_14[0]: total aircraft weight
y_14[1]: fuel weight
- Return type
ndarray, ndarray, ndarray, ndarray
-
static
compute_dfuelwing_dar
(x_shared)[source]¶ Compute fuel wing weight
- Parameters
x_shared (ndarray) – system design variables
- Returns
fuel wing weight
- Return type
ndarray
-
compute_dfuelwing_dsref
(x_shared)[source]¶ Compute fuel wing weight
- Parameters
x_shared (ndarray) – system design variables
- Returns
fuel wing weight
- Return type
ndarray
-
compute_dfuelwing_dtoverc
(x_shared)[source]¶ Compute fuel wing weight
- Parameters
x_shared (ndarray) – system design variables
- Returns
fuel wing weight
- Return type
ndarray
-
compute_fuelwing_weight
(x_shared)[source]¶ Compute fuel wing weight
- Parameters
x_shared (ndarray) – system design variables
- Returns
fuel wing weight
- Return type
ndarray
-
static
compute_weight_ratio
(y_1)[source]¶ Computation of weight ratio of Breguet formula
- Parameters
y_1 (ndarray) – shared variables coming from blackbox_structure - y_1[0]: total aircraft weight - y_1[1]: fuel weight
- Returns
Wt / (Wt -Wf)
- Return type
ndarray
-
compute_wing_weight
(x_shared, x_1, y_21, linearize=False)[source]¶ Compute wing weight
- Parameters
x_shared (ndarray) – system design variables
y_21 (ndarray) – coupling variables from aerodynamics
x_1 (ndarray) – local design variables
linearize – Default value = False)
- Returns
wing weight, wing_weight_coeff, value of poly. function
- Return type
ndarray
-
derive_blackbox_structure
(x_shared, y_21, y_31, x_1, true_cstr=False)[source]¶ Compute jacobian matrix of structural analysis y_1 is the vector of structural outputs and g_1 are the structural constraints:
y_1[0]: total aircraft weight
y_1[1]: fuel weight
y_1[2]: wing twist
- Parameters
x_shared (ndarray) – shared design variable vector
y_21 (ndarray) – coupling variable from aerodynamics (lift)
y_31 (ndarray) – coupling variable from propulsion (Engine weight)
x_1 (ndarray) –
structure design variable vector
x_1[0]: wing taper ratio
x_1[1]: wingbox x-sectional area as poly. funct
true_cstr – Default value = False)
- Returns
jacobian : Jacobian matrix
- Return type
dict(dict(ndarray))
-
derive_constraints
(jacobian, x_shared, x_1, y_21, true_cstr=False)[source]¶ Compute derivative structural constraints from a polynomial approximation
- Parameters
jacobian (dict(dict(ndarray))) – Jacobian matrix
x_shared (ndarray) – shared design variable vector
x_1 (ndarray) –
structure design variable vector:
x_1[0]: wing taper ratio
x_1[1]: wingbox x-sectional area as poly. funct
y_21 (ndarray) – coupling variable from aerodynamics
true_cstr – Default value = False)
- Returns
updated Jacobian matrix J
- Return type
dict(dict(ndarray))
-
derive_poly_structure
(jacobian, x_shared, x_1, y_21, y_31)[source]¶ Compute derivatives of structural variables from a polynomial approximation
- Parameters
jacobian (dict(dict(ndarray))) – jacobian matrix
x_shared (ndarray) – shared design variable vector
x_1 (ndarray) –
structure design variable vector:
x_1[0]: wing taper ratio
x_1[1]: wingbox x-sectional area as poly. funct
y_21 (ndarray) – coupling variable from aerodynamics
y_31 (ndarray) – coupling variable from propulsion
- Returns
updated jacobian matrix
- Return type
dict(dict(ndarray))
-
poly_structure
(x_shared, x_1, y_21, y_31)[source]¶ Compute structural variables from a polynomial approximation
- Parameters
x_shared (ndarray) – shared design variable vector
x_1 (ndarray) –
structure design variable vector:
x_1[0]: wing taper ratio
x_1[1]: wingbox x-sectional area as poly. funct
y_21 (ndarray) – coupling variable from aerodynamics
y_31 (ndarray) – coupling variable from propulsion: engine weight
- Returns
y_1, g_1: structural variables and structural constraints:
y_1[0]: total aircraft weight
y_1[1]: fuel weight
y_1[2]: wing twist
- Return type
ndarray, ndarray
-
poly_structure_constraints
(x_shared, x_1, y_21)[source]¶ Compute structural constraints from a polynomial approximation
- Parameters
x_shared (ndarray) – shared design variable vector
x_1 (ndarray) –
structure design variable vector:
x_1[0]: wing taper ratio
x_1[1]: wingbox x-sectional area as poly. funct
y_21 (ndarray) – coupling variable from aerodynamics
- Returns
g_1: structural constraints
- Return type
ndarray