aerostructure module¶
The aerostructure MDO problem.
The aerostructure module implements all MDODiscipline
included in the Aerostructure problem:
where
and
- class gemseo.problems.aerostructure.aerostructure.Aerodynamics[source]
Bases:
MDODiscipline
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.
- cache: AbstractCache | None
The cache containing one or several executions of the discipline according to the cache policy.
- data_processor: DataProcessor
A tool to pre- and post-process discipline data.
- exec_for_lin: bool
Whether the last execution was due to a linearization.
- input_grammar: BaseGrammar
The input grammar.
- jac: MutableMapping[str, MutableMapping[str, ndarray | csr_array | JacobianOperator]]
The Jacobians of the outputs wrt inputs.
The structure is
{output: {input: matrix}}
.
- name: str
The name of the discipline.
- output_grammar: BaseGrammar
The output grammar.
- re_exec_policy: ReExecutionPolicy
The policy to re-execute the same discipline.
- residual_variables: dict[str, str]
The output variables mapping to their inputs, to be considered as residuals; they shall be equal to zero.
- run_solves_residuals: bool
Whether the run method shall solve the residuals.
- class gemseo.problems.aerostructure.aerostructure.Mission(r_val=0.5, lift_val=0.5)[source]
Bases:
MDODiscipline
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:
- cache: AbstractCache | None
The cache containing one or several executions of the discipline according to the cache policy.
- data_processor: DataProcessor
A tool to pre- and post-process discipline data.
- exec_for_lin: bool
Whether the last execution was due to a linearization.
- input_grammar: BaseGrammar
The input grammar.
- jac: MutableMapping[str, MutableMapping[str, ndarray | csr_array | JacobianOperator]]
The Jacobians of the outputs wrt inputs.
The structure is
{output: {input: matrix}}
.
- name: str
The name of the discipline.
- output_grammar: BaseGrammar
The output grammar.
- re_exec_policy: ReExecutionPolicy
The policy to re-execute the same discipline.
- residual_variables: dict[str, str]
The output variables mapping to their inputs, to be considered as residuals; they shall be equal to zero.
- run_solves_residuals: bool
Whether the run method shall solve the residuals.
- class gemseo.problems.aerostructure.aerostructure.Structure[source]
Bases:
MDODiscipline
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.
- cache: AbstractCache | None
The cache containing one or several executions of the discipline according to the cache policy.
- data_processor: DataProcessor
A tool to pre- and post-process discipline data.
- exec_for_lin: bool
Whether the last execution was due to a linearization.
- input_grammar: BaseGrammar
The input grammar.
- jac: MutableMapping[str, MutableMapping[str, ndarray | csr_array | JacobianOperator]]
The Jacobians of the outputs wrt inputs.
The structure is
{output: {input: matrix}}
.
- name: str
The name of the discipline.
- output_grammar: BaseGrammar
The output grammar.
- re_exec_policy: ReExecutionPolicy
The policy to re-execute the same discipline.
- residual_variables: dict[str, str]
The output variables mapping to their inputs, to be considered as residuals; they shall be equal to zero.
- run_solves_residuals: bool
Whether the run method shall solve the residuals.
- gemseo.problems.aerostructure.aerostructure.get_inputs(*names)[source]
Generate initial solution.
- Parameters:
*names (str) – The names of the variables.
- Returns:
An initial design solution.