# 7.31. Mpmd Coupling

Scope

  Aria Region

Summary

  Allows specification of a coupling with an external application in MPMD mode

    begin Mpmd Coupling Value

       Coupling Type {=} {aero | radiation}

       begin Aero Coupling Value
       end

       begin Radiation Coupling Value
       end

    end Mpmd Coupling Value

## 7.31.1. Line Commands

###### Coupling Type

Syntax

  Coupling Type {=} {aero | radiation}

Summary

  Set the MPMD coupling type. Valid values are AERO and RADIATION

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | {aero | radiation} | –

## 7.31.2. Aero Coupling

Summary

  Allows specification of interface location and properties for coupling with an Aero application.

    begin Aero Coupling Value

       Coupling Surfaces {=} Value...

       Implicit Absolute Norm2 Solution Update Tolerance {=} Value [With {dof_amax | dof_rms} Scaling]

       Implicit Norm Inf Solution Update Tolerance {=} Value [With {dof_amax | dof_rms} Scaling]

       Implicit Receive Field Relaxation {=} Value

       Implicit Rms Solution Update Tolerance {=} Value [With {dof_amax | dof_rms} Scaling]

       Implicit Send Field Relaxation {=} Value

       Max Number Iterations {=} Value

       Maximum Transfer Clipping Distance {=} Value

       Patch Reconstruction {=} {cubic_bspline | gregory | none}

       Receive Field {=} Value [Smooth Smoothing Iterations Iterations]

       Receive Global {=} Value

       Send Field {=} Value

       Send Global {=} Value

       Time Step Mode {=} {aero_subcycle | implicit | negotiate_minimum | thermal_subcycle}

       Transfer Type {=} {conservative | geometric}

       Unconverged Implicit Steps {=} {accept | reject}

       begin Implicit Tolerances
       end

       begin Transfer Value
       end

    end Aero Coupling Value

### 7.31.2.1. Line Commands

###### Coupling Surfaces

Syntax

  Coupling Surfaces {=} Value…

Summary

  Select the surfaces that are coupled to the aero code.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | string… | –

###### Implicit Absolute Norm2 Solution Update Tolerance

Syntax

  Implicit Absolute Norm2 Solution Update Tolerance {=} Value [With {dof_amax | dof_rms} Scaling]

Summary

  Specify the absolute L_2 tolerance for mpmd coupled solution update delta.

Description

  Specify the convergence tolerance for iterating the mpmd subdomains in terms of an absolute nodal L2 norm on the solution field delta. Optionally specify a scaling to normalize delta by before checking against tolerance.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | real | 1.798e+308

###### Implicit Norm Inf Solution Update Tolerance

Syntax

  Implicit Norm Inf Solution Update Tolerance {=} Value [With {dof_amax | dof_rms} Scaling]

Summary

  Specify the L_inf tolerance for mpmd coupled solution update delta.

Description

  Specify the convergence tolerance for iterating the mpmd subdomains in terms of an L_Inf norm on the solution field delta. Optionally specify a scaling to normalize delta by before checking against tolerance.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | real | 1.798e+308

###### Implicit Receive Field Relaxation

Syntax

  Implicit Receive Field Relaxation {=} Value

Summary

  Add relaxation to fields received from coupled app for implicit iterations 2+

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | real | 1

###### Implicit Rms Solution Update Tolerance

Syntax

  Implicit Rms Solution Update Tolerance {=} Value [With {dof_amax | dof_rms} Scaling]

Summary

  Specify the RMS tolerance for mpmd coupled solution update delta.

Description

  Specify the convergence tolerance for iterating the mpmd subdomains in terms of the RMS on the solution field delta. Optionally specify a scaling to normalize delta by before checking against tolerance.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | real | 1.798e+308

###### Implicit Send Field Relaxation

Syntax

  Implicit Send Field Relaxation {=} Value

Summary

  Add relaxation to fields sent to coupled app for implicit iterations 2+

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | real | 1

###### Max Number Iterations

Syntax

  Max Number Iterations {=} Value

Summary

  Specify the maximum number of iterations for mpmd coupled simulations.

Description

  Aria will stop iterating and accept the solution after the specified number of iterations

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | integer | 10

###### Maximum Transfer Clipping Distance

Syntax

  Maximum Transfer Clipping Distance {=} Value

Summary

  Specify the maximum transfer clipping distance. Default will be set to the maximum element length scale of the coupling surface. Any transfer exceeding this clipping distance will throw a fatal error.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | real | 1.798e+308

###### Patch Reconstruction

Syntax

  Patch Reconstruction {=} {cubic_bspline | gregory | none}

Summary

  Higher-order reconstruction of patch coordinates

Description

  `NONE`

  > Interpolate coordinate field using standard finite element basis functions

  `GREGORY`

  > Use Gregory patch reconstruction to smooth surface; useful when sending mesh is significantly coarser than receiving mesh. Only applicable to sending the coordinate fields.

  `CUBIC_BSPLINE`

  > Use a cubic B-spline patch reconstruction (which is continuous) to smooth the surface; useful when sending mesh is significantly coarser than receiving mesh.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | {cubic_bspline | gregory | none} | –

###### Receive Field

Syntax

  Receive Field {=} Value [Smooth Smoothing Iterations Iterations]

Summary

  Name of a field to receive from the aero code with optional smoothing.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | string | –
Smoothing Iterations | integer | –

###### Receive Global

Syntax

  Receive Global {=} Value

Summary

  Name of a global variable to receive from the aero code.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | string | –

###### Send Field

Syntax

  Send Field {=} Value

Summary

  Name of a field to send to the aero code.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | string | –

###### Send Global

Syntax

  Send Global {=} Value

Summary

  Name of a global variable to send to the aero code.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | string | –

###### Time Step Mode

Syntax

  Time Step Mode {=} {aero_subcycle | implicit | negotiate_minimum | thermal_subcycle}

Summary

  Specify the coupled time stepping behavior.

Description

  AERO_SUBCYCLE - Aria chooses its time step and the aero code subcycles until that duration is simulated THERMAL_SUBCYCLE - Aero code chooses its time step and Aria subcycles until that duration is simulated NEGOTIATE_MINIMUM - Both codes compute a candidate time step and advance at the lower of the two IMPLICIT - Both codes negotiate a minimum time step and then iterate the individual app subdomains in a given time step until both apps are converged

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | {aero_subcycle | implicit | negotiate_minimum | thermal_subcycle} | –

###### Transfer Type

Syntax

  Transfer Type {=} {conservative | geometric}

Summary

  Geometric or conservative transfers

Description

  This features toggles between an interpolated or geometric based transfer and a conservative scheme that relies on a middle mesh.

  `GEOMETRIC`

  > Use the standard STK transfer which is based on interpolating elemental quantities to desired locations via finite element basis functions

  `CONSERVATIVE`

  > Construct a middle mesh that is a superset of both transfer meshes in order to facilitate a conservative transfer

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | {conservative | geometric} | –

###### Unconverged Implicit Steps

Syntax

  Unconverged Implicit Steps {=} {accept | reject}

Summary

  Specify if unconverged implicit steps should be accepted (default) or rejected.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | {accept | reject} | –

### 7.31.2.2. Implicit Tolerances

    begin Implicit Tolerances

       Absolute Norm2 Tolerance For Field {=} Value [With {dof_amax | dof_rms} Scaling]

       Default Absolute Norm2 Tolerance {=} Value [With {dof_amax | dof_rms} Scaling]

       Default Norm Inf Tolerance {=} Value [With {dof_amax | dof_rms} Scaling]

       Default Rms Tolerance {=} Value [With {dof_amax | dof_rms} Scaling]

       Norm Inf Tolerance For Field {=} Value [With {dof_amax | dof_rms} Scaling]

       Rms Tolerance For Field {=} Value [With {dof_amax | dof_rms} Scaling]

    end Implicit Tolerances

#### 7.31.2.2.1. Line Commands

###### Absolute Norm2 Tolerance For

Syntax

  Absolute Norm2 Tolerance For Field {=} Value [With {dof_amax | dof_rms} Scaling]

Summary

  Specify the absolute L_2 tolerance for the given field for mpmd coupled solution update delta.

Description

  Specify the convergence tolerance for iterating the mpmd subdomains in terms of an absolute nodal L2 norm on the solution field delta. Optionally specify a scaling to normalize delta by before checking against tolerance.

Parameter | Value | Default
--- | --- | ---
Field | string | –
{=} | {= | are | is} | –
Value | real | 1.798e+308

###### Default Absolute Norm2 Tolerance

Syntax

  Default Absolute Norm2 Tolerance {=} Value [With {dof_amax | dof_rms} Scaling]

Summary

  Specify the default absolute L_2 tolerance for mpmd coupled solution update delta.

Description

  Specify the convergence tolerance for iterating the mpmd subdomains in terms of an absolute nodal L2 norm on the solution field delta. Optionally specify a scaling to normalize delta by before checking against tolerance.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | real | 1.798e+308

###### Default Norm Inf Tolerance

Syntax

  Default Norm Inf Tolerance {=} Value [With {dof_amax | dof_rms} Scaling]

Summary

  Specify the default L_inf tolerance for mpmd coupled solution update delta.

Description

  Specify the convergence tolerance for iterating the mpmd subdomains in terms of an L_Inf norm on the solution field delta. Optionally specify a scaling to normalize delta by before checking against tolerance.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | real | 1.798e+308

###### Default Rms Tolerance

Syntax

  Default Rms Tolerance {=} Value [With {dof_amax | dof_rms} Scaling]

Summary

  Specify the default RMS tolerance for mpmd coupled solution update delta.

Description

  Specify the convergence tolerance for iterating the mpmd subdomains in terms of the RMS on the solution field delta. Optionally specify a scaling to normalize delta by before checking against tolerance.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | real | 1.798e+308

###### Norm Inf Tolerance For

Syntax

  Norm Inf Tolerance For Field {=} Value [With {dof_amax | dof_rms} Scaling]

Summary

  Specify the L_inf tolerance for the given field for mpmd coupled solution update delta.

Description

  Specify the convergence tolerance for iterating the mpmd subdomains in terms of an L_Inf norm on the solution field delta. Optionally specify a scaling to normalize delta by before checking against tolerance.

Parameter | Value | Default
--- | --- | ---
Field | string | –
{=} | {= | are | is} | –
Value | real | 1.798e+308

###### Rms Tolerance For

Syntax

  Rms Tolerance For Field {=} Value [With {dof_amax | dof_rms} Scaling]

Summary

  Specify the RMS tolerance for the given field for mpmd coupled solution update delta.

Description

  Specify the convergence tolerance for iterating the mpmd subdomains in terms of the RMS on the solution field delta. Optionally specify a scaling to normalize delta by before checking against tolerance.

Parameter | Value | Default
--- | --- | ---
Field | string | –
{=} | {= | are | is} | –
Value | real | 1.798e+308

### 7.31.2.3. Transfer

    begin Transfer Value

       Implicit Receive Field Relaxation {=} Value

       Implicit Send Field Relaxation {=} Value

       Patch Reconstruction {=} {cubic_bspline | gregory | none}

       Receive Field {=} Value [Smooth Smoothing Iterations Iterations]

       Receive Global {=} Value

       Send Field {=} Value

       Send Global {=} Value

       Transfer Type {=} {conservative | geometric}

    end Transfer Value

#### 7.31.2.3.1. Line Commands

###### Implicit Receive Field Relaxation

Syntax

  Implicit Receive Field Relaxation {=} Value

Summary

  Add relaxation to fields received from coupled app for implicit iterations 2+

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | real | 1

###### Implicit Send Field Relaxation

Syntax

  Implicit Send Field Relaxation {=} Value

Summary

  Add relaxation to fields sent to coupled app for implicit iterations 2+

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | real | 1

###### Patch Reconstruction

Syntax

  Patch Reconstruction {=} {cubic_bspline | gregory | none}

Summary

  Higher-order reconstruction of patch coordinates

Description

  `NONE`

  > Interpolate coordinate field using standard finite element basis functions

  `GREGORY`

  > Use Gregory patch reconstruction to smooth surface; useful when sending mesh is significantly coarser than receiving mesh. Only applicable to sending the coordinate fields.

  `CUBIC_BSPLINE`

  > Use a cubic B-spline patch reconstruction (which is continuous) to smooth the surface; useful when sending mesh is significantly coarser than receiving mesh.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | {cubic_bspline | gregory | none} | –

###### Receive Field

Syntax

  Receive Field {=} Value [Smooth Smoothing Iterations Iterations]

Summary

  Name of a field to receive from the aero code with optional smoothing.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | string | –
Smoothing Iterations | integer | –

###### Receive Global

Syntax

  Receive Global {=} Value

Summary

  Name of a global variable to receive from the aero code.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | string | –

###### Send Field

Syntax

  Send Field {=} Value

Summary

  Name of a field to send to the aero code.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | string | –

###### Send Global

Syntax

  Send Global {=} Value

Summary

  Name of a global variable to send to the aero code.

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | string | –

###### Transfer Type

Syntax

  Transfer Type {=} {conservative | geometric}

Summary

  Geometric or conservative transfers

Description

  This features toggles between an interpolated or geometric based transfer and a conservative scheme that relies on a middle mesh.

  `GEOMETRIC`

  > Use the standard STK transfer which is based on interpolating elemental quantities to desired locations via finite element basis functions

  `CONSERVATIVE`

  > Construct a middle mesh that is a superset of both transfer meshes in order to facilitate a conservative transfer

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | {conservative | geometric} | –

## 7.31.3. Radiation Coupling

Summary

  Specification of parameters for MPMD radiation

    begin Radiation Coupling Value

       Iterations Per Radiation Solve {=} Value

       Time Steps Per Radiation Solve {=} Value

    end Radiation Coupling Value

### 7.31.3.1. Line Commands

###### Iterations Per Radiation Solve

Syntax

  Iterations Per Radiation Solve {=} Value

Summary

  Set the number of non-linear iterations between each radiation solve

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | integer | –

###### Time Steps Per Radiation Solve

Syntax

  Time Steps Per Radiation Solve {=} Value

Summary

  Set the number of time steps between each radiation solve

Parameter | Value | Default
--- | --- | ---
{=} | {= | are | is} | –
Value | integer | –