Aerostructural Scenario

The ScenarioAeroStructural is for static fluid structure interaction problems. The primary physics modules required for this problem are:

  1. The aerodynamics which computes forces given the displaced aerodynamic surface coordinates.

  2. The structures which computes structural displacements given the loads at structural nodes.

  3. The displacement transfer which projects the structural displacements to the aerodynamic surface mesh

  4. 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

N2: Basic

N2: in_MultipointParallel

N2: in_MultipointParallel with geometry_builder