Aerostructural Scenario¶
The ScenarioAeroStructural
is for static fluid structure interaction problems.
The primary physics modules required for this problem are:
The aerodynamics which computes forces given the displaced aerodynamic surface coordinates.
The structures which computes structural displacements given the loads at structural nodes.
The displacement transfer which projects the structural displacements to the aerodynamic surface mesh
The load transfer which computes the loads on the structure from the aerodynamic output.
MPhys will add a GeoDisp
subsystem to compute the displaced aerodynamic coordinates given the undeformed surface coordinates and the displacements.
Builder Requirements¶
Load and Displacement Transfer Builder¶
Because the load and displacement transfers are typically tied together by the principle of virtual work, but are not adjacent in the coupling loop,
the load and displacement Builder’s get_coupling_group_subsystem()
function must return both the displacement transfer and load transfer subsystems as a tuple.
Structural Solver Builder¶
The structural solver builder must implement the get_ndof
method in order for the displacement transfer to know if it needs to slice the displacements from the full structural state vector.
For example, the structural state vector for linear shell elements includes linearized rotation degrees of freedom at each node in addition to the translational displacements.
Default Solvers¶
The default solvers are NonlinearBlockGS and LinearBlockGS with use_aitken=True
.
Options¶
Option |
Default |
Acceptable Values |
Acceptable Types |
Description |
---|---|---|---|---|
aero_builder |
Required |
N/A |
N/A |
The MPhys builder for the aerodynamic solver |
assembled_jac_type |
csc |
[‘csc’, ‘dense’] |
N/A |
Linear solver(s) in this group or implicit component, if using an assembled jacobian, will use this type. |
auto_order |
False |
[True, False] |
[‘bool’] |
If True the order of subsystems is determined automatically based on the dependency graph. It will not break or reorder cycles. |
coupling_group_type |
full_coupling |
N/A |
N/A |
Limited flexibility for coupling group type to accomodate flutter about jig shape or DLM where coupling group can be skipped: [“full_coupling”, “aerodynamics_only”, None] |
derivs_method |
N/A |
[‘jax’, ‘cs’, ‘fd’, None] |
N/A |
The method to use for computing derivatives |
geometry_builder |
N/A |
N/A |
N/A |
The optional MPhys builder for the geometry |
in_MultipointParallel |
False |
N/A |
N/A |
Set to True if adding this scenario inside a MultipointParallel Group. |
ldxfer_builder |
Required |
N/A |
N/A |
The MPhys builder for the load and displacement transfer |
post_coupling_order |
[‘ldxfer’, ‘aero’, ‘struct’] |
N/A |
N/A |
The order of the post coupling subsystems |
pre_coupling_order |
[‘aero’, ‘struct’, ‘ldxfer’] |
N/A |
N/A |
The order of the pre coupling subsystems |
run_directory |
N/A |
[‘str’] |
Path in which to execute subsystems in this scenario group. The default of empty string will not change the directory. |
|
struct_builder |
Required |
N/A |
N/A |
The MPhys builder for the structural solver |