gemseo.problems.mdo.aerostructure.aerostructure module#
The aerostructure MDO problem.
The aerostructure module implements all Discipline
included in the Aerostructure problem:
where
and
- class Aerodynamics[source]#
Bases:
Discipline
The aerodynamics discipline of the aerostructure use case.
Evaluate:
[drag, forces, lift] = f(sweep, thick_airfoils, displ)
.- static compute_drag(sweep, thick_airfoils, displ)[source]#
Compute the coupling.
\(drag=0.1*((sweep/360)^2 + 200 + thick\_airfoils^2 - thick\_airfoils - 4*displ)\)
- Parameters:
sweep -- The sweep.
thick_airfoils -- The thickness of the airfoils.
displ -- The displacement.
- Returns:
The drag.
- Return type:
- static compute_forces(sweep, thick_airfoils, displ)[source]#
Compute the coupling forces.
\(forces=10*sweep + 0.2*thick\_airfoils-0.2*displ\)
- Parameters:
sweep -- The sweep.
thick_airfoils -- The thickness of the airfoils.
displ -- The displacement.
- Returns:
The forces.
- static compute_lift(sweep, thick_airfoils, displ)[source]#
Compute the lift.
\(lift=(sweep + 0.2*thick\_airfoils-2.*displ)/3000.\).
- Parameters:
sweep -- The sweep.
thick_airfoils -- The thickness of the airfoils.
displ -- The displacement.
- Returns:
The lift.
- execution_statistics: ExecutionStatistics#
The execution statistics of the process.
- execution_status: ExecutionStatus#
The execution status of the process.
- jac: JacobianData#
The Jacobian matrices of the outputs.
The structure is
{output_name: {input_name: jacobian_matrix}}
.
- class Mission(r_val=0.5, lift_val=0.5)[source]#
Bases:
Discipline
The mission discipline of the aerostructure use case.
Compute the objective and the constraints.
Initialize self. See help(type(self)) for accurate signature.
- Parameters:
- static c_lift(lift, lift_val=0.5)[source]#
Compute the lift constraint: \(lift-0.5\).
- Parameters:
lift -- The lift.
lift_val (float) --
The threshold for the lift constraint.
By default it is set to 0.5.
- Returns:
The value of the lift constraint.
- static c_rf(reserve_fact, rf_val=0.5)[source]#
Compute the reserve factor constraint: \(rf-0.5\).
- Parameters:
reserve_fact -- The reserve factor.
rf_val (float) --
The threshold for the reserve factor constraint.
By default it is set to 0.5.
- Returns:
The value of the reserve factor constraint.
- static compute_range(lift, mass, drag)[source]#
Compute the objective function: \(range=8.10^{11}*lift/(mass*drag)\).
- Parameters:
lift -- The lift.
mass -- The mass.
drag -- The drag.
- Returns:
The range.
- Return type:
- execution_statistics: ExecutionStatistics#
The execution statistics of the process.
- execution_status: ExecutionStatus#
The execution status of the process.
- jac: JacobianData#
The Jacobian matrices of the outputs.
The structure is
{output_name: {input_name: jacobian_matrix}}
.
- class Structure[source]#
Bases:
Discipline
The structure discipline of the aerostructure use case.
Evaluate:
[mass, rf, displ] = f(sweep, thick_panels, forces)
.- static compute_displ(sweep, thick_panels, forces)[source]#
Compute the coupling.
\(displ=2*sweep + 3*thick\_panels - 2.*forces\)
- Parameters:
sweep -- The sweep.
thick_panels -- The thickness of the panels.
forces -- The forces.
- Returns:
The displacement.
- static compute_mass(sweep, thick_panels, forces)[source]#
Compute the mass.
\(mass=4000*(sweep/360)^3 + 200000 + 100*thick\_panels + 200.0*forces\).
- Parameters:
sweep -- The sweep.
thick_panels -- The thickness of the panels.
forces -- The forces.
- Returns:
The mass.
- static compute_rf(sweep, thick_panels, forces)[source]#
Compute the coupling.
\(rf=-3*sweep - 6*thick\_panels + 0.1*forces + 55\)
- Parameters:
sweep -- The sweep.
thick_panels -- The thickness of the panels.
forces -- The forces.
- Returns:
The reserve factor.
- execution_statistics: ExecutionStatistics#
The execution statistics of the process.
- execution_status: ExecutionStatus#
The execution status of the process.
- jac: JacobianData#
The Jacobian matrices of the outputs.
The structure is
{output_name: {input_name: jacobian_matrix}}
.