gemseo / problems / sobieski

core_mission module

SSBJ Mission computation

class gemseo.problems.sobieski.core_mission.SobieskiMission(sobieski_base)[source]

Bases: object

Class defining mission analysis for Sobieski problem and related method to the mission problem such as disciplines computation, constraints, reference optimum

Constructor

DTYPE_COMPLEX = 'complex128'
DTYPE_DOUBLE = 'float64'
blackbox_mission(x_shared, y_14, y_24, y_34)[source]

THIS SECTION COMPUTES THE A/C RANGE from Breguet’s law

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_14 (numpy array) –

    shared variables coming from blackbox_structure:

    • y_14[0]: total aircraft weight

    • y_14[1]: fuel weight

  • y_24 (numpy array) – shared variables coming from blackbox_aerodynamics (lift/drag ratio)

  • y_34 (numpy array) – shared variables coming from blackbox_propulsion (SFC)

Returns

y_4: range value

Return type

numpy array

compute_dlnweightratio_dwf(y_14)[source]

Computation of partial derivative of log of weight ratio wrt fuel weight

Parameters

y_14 (numpy array) –

shared variables coming from blackbox_structure:

  • y_14[0]: total aircraft weight

  • y_14[1]: fuel weight

Returns

d(ln(weight ratio)/d(fuel weight)

Return type

numpy array

compute_dlnweightratio_dwt(y_14)[source]

Computation of partial derivative of log of weight ratio wrt total weight

Parameters

y_14 (numpy array) –

shared variables coming from blackbox_structure:

  • y_14[0]: total aircraft weight

  • y_14[1]: fuel weight

Returns

d(ln(weight ratio)/d(total weight)

Return type

numpy array

compute_drange_dfuelweight(x_shared, y_14, y_24, y_34, sqrt_theta)[source]

Computation of range derivative wrt fuel weight

Parameters
  • x_shared (numpy array) – shared design variable vector

  • y_14 (numpy array) – shared variables coming from blackbox_structure

  • y_24 (numpy array) – shared variables coming from blackbox_aerodynamics

  • y_34 (numpy array) – shared variables coming from blackbox_propulsion

  • sqrt_theta (numpy array) – square root of air temperature

Returns

d(range) / d(fuel weight)

Return type

numpy array

compute_drange_dtotalweight(x_shared, y_14, y_24, y_34, sqrt_theta)[source]

Computation of range derivative wrt total weight

Parameters
  • x_shared (numpy array) – shared design variable vector

  • y_14 (numpy array) – shared variables coming from blackbox_structure

  • y_24 (numpy array) – shared variables coming from blackbox_aerodynamics

  • y_34 (numpy array) – shared variables coming from blackbox_propulsion

  • sqrt_theta (numpy array) – square root of air temperature

Returns

d(range) / d(total weight)

Return type

numpy array

compute_dtheta_dh(x_shared)[source]

Computation of air temperature and its derivative wrt altitude

Parameters

x_shared (numpy array) – shared design variable vector

Returns

square root of air temperature, dtheta_dh

Return type

numpy array

static compute_dweightratio_dwf(y_14)[source]

Computation of partial derivative of weight ratio wrt fuel weight

Parameters

y_14 (numpy array) –

shared variables coming from blackbox_structure:

  • y_14[0]: total aircraft weight

  • y_14[1]: fuel weight

Returns

dweightratio_dfuelweight

Return type

numpy array

static compute_dweightratio_dwt(y_14)[source]

Computation of derivative of weight ratio wrt total weight

Parameters

y_14 (numpy array) –

shared variables coming from blackbox_structure:

  • y_14[0]: total aircraft weight

  • y_14[1]: fuel weight

Returns

dweightratio_dtotalweight

Return type

numpy array

compute_range(x_shared, y_14, y_24, y_34)[source]

Computation of range from Breguet formula

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_14 (numpy array) –

    shared variables coming from blackbox_structure:

    • y_14[0]: total aircraft weight

    • y_14[1]: fuel weight

  • y_24 (numpy array) – shared variables coming from blackbox_aerodynamics (lift/drag ratio)

  • y_34 (numpy array) – shared variables coming from blackbox_propulsion (SFC)

Returns

range value

Return type

numpy array

compute_sqrt_theta(x_shared)[source]

Computation of air temperature a

Parameters

x_shared (numpy array) – shared design variable vector

Returns

square root of air temperature

Return type

numpy array

static compute_weight_ratio(y_14)[source]

Computation of weight ratio of Breguet formula

Parameters

y_14 (numpy array) –

shared variables coming from blackbox_structure

  • y_14[0]: total aircraft weight

  • y_14[1]: fuel weight

Returns

Wt / (Wt -Wf)

Return type

numpy array

derive_blackbox_mission(x_shared, y_14, y_24, y_34)[source]

THIS SECTION COMPUTES THE A/C RANGE from Breguet’s law

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_14 (numpy array) –

    shared variables coming from blackbox_structure:

    • y_14[0]: total aircraft weight

    • y_14[1]: fuel weight

  • y_24 – shared variables coming from blackbox_aerodynamics (lift/drag ratio)

  • y_34 (numpy array) – shared variables coming from blackbox_propulsion (SFC)

Returns

jacobian matrix of partial derivatives

Return type

dict(dict(ndarray))