core_structure module¶
SSBJ Structure computations¶
Classes:
|
Class defining structural analysis for Sobieski problem and related method to the sructural problem such as disciplines computation, constraints, reference optimum. |
- 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
Attributes:
Methods:
blackbox_structure
(x_shared, y_21, y_31, x_1)This function calculates the weight of the aircraft by structure and adds them to obtain a total aircraft weight.
compute_dfuelwing_dar
(x_shared)Compute fuel wing weight.
compute_dfuelwing_dsref
(x_shared)Compute fuel wing weight.
compute_dfuelwing_dtoverc
(x_shared)Compute fuel wing weight.
compute_fuelwing_weight
(x_shared)Compute fuel wing weight.
compute_weight_ratio
(y_1)Computation of weight ratio of Breguet formula.
compute_wing_twist
(x_shared, x_1, y_21)Compute the wing twist (a.k.a.
compute_wing_weight
(x_shared, x_1, y_21[, ...])Compute wing weight.
derive_blackbox_structure
(x_shared, y_21, ...)Compute jacobian matrix of structural analysis y_1 is the vector of structural outputs and g_1 are the structural constraints:
derive_constraints
(jacobian, x_shared, x_1, y_21)Compute derivative structural constraints from a polynomial approximation.
derive_poly_structure
(jacobian, x_shared, ...)Compute derivatives of structural variables from a polynomial approximation.
poly_structure
(x_shared, x_1, y_21, y_31)Compute structural variables from a polynomial approximation.
poly_structure_constraints
(x_shared, x_1, y_21)Compute structural constraints from a polynomial approximation.
- 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)
By default it is set to 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_twist(x_shared, x_1, y_21)[source]¶
Compute the wing twist (a.k.a. theta, y_12[1], y_1[2]).
- Parameters
x_shared (ndarray) – shared design variables
x_1 (ndarray) – structure design variable
y_21 (ndarray) – coupling variable from aerodynamics
- Returns
the wing twist
- Return type
float
- 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)
By default it is set to 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)
By default it is set to 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)
By default it is set to 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