gemseo / problems / sobieski

core_structure module

SSBJ Structure computations

Classes:

SobieskiStructure(sobieski_base)

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:

DTYPE_COMPLEX

DTYPE_DOUBLE

STRESS_LIMIT

TWIST_LOWER_LIMIT

TWIST_UPPER_LIMIT

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