gemseo / problems / sobieski

core_mission module

SSBJ Mission computation

Classes:

SobieskiMission(sobieski_base)

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

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.

Attributes:

DTYPE_COMPLEX

DTYPE_DOUBLE

Methods:

blackbox_mission(x_shared, y_14, y_24, y_34)

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

compute_dlnweightratio_dwf(y_14)

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

compute_dlnweightratio_dwt(y_14)

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

compute_drange_dfuelweight(x_shared, y_14, ...)

Computation of range derivative wrt fuel weight.

compute_drange_dtotalweight(x_shared, y_14, ...)

Computation of range derivative wrt total weight.

compute_dtheta_dh(x_shared)

Computation of air temperature and its derivative wrt altitude.

compute_dweightratio_dwf(y_14)

Computation of partial derivative of weight ratio wrt fuel weight.

compute_dweightratio_dwt(y_14)

Computation of derivative of weight ratio wrt total weight.

compute_range(x_shared, y_14, y_24, y_34)

Computation of range from Breguet formula.

compute_sqrt_theta(x_shared)

Computation of air temperature a.

compute_weight_ratio(y_14)

Computation of weight ratio of Breguet formula.

derive_blackbox_mission(x_shared, y_14, ...)

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

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))