Description

The AMIWeights function object computes the min/max/average weights of arbitrary mesh interface (AMI) patches, and optionally reports into a text file or writes VTK surfaces of the sum of the weights and mask fields for arbitrarily coupled mesh interface (ACMI) patches.

The motivation for the AMIWeights is to monitor the AMI interpolation weights as cases that employ cyclic AMI patches are sensitive to the quality of these weights, e.g. zero AMI interpolation weights likely lead to a simulation crash.

Output statistics per AMI include:

  • patch names
  • whether the patch is parallel-distributed
  • minimum and maximum sum of weights (should be 1 for a perfect match)
  • minimum and maximum interpolation stencil sizes

Operands

Operand Type Location
input - -
output file dat $POST/<file>
output field vtp $POST/<AMINames>_{src,tgt}.vtp

where $POST=$FOAM_CASE/postProcessing/<FO>/<time>.

Usage

Example of the AMIWeights function object by using functions sub-dictionary in system/controlDict file:

AMIWeights1
{
    // Mandatory entries (unmodifiable)
    type            AMIWeights;
    libs            (fieldFunctionObjects);

    // Mandatory entries (runtime modifiable)
    writeFields     false;

    // Optional (inherited) entries
    writePrecision  8;
    writeToFile     true;
    useUserTime     true;
    region          region0;
    enabled         true;
    log             true;
    timeStart       0;
    timeEnd         1000;
    executeControl  timeStep;
    executeInterval 1;
    writeControl    timeStep;
    writeInterval   1;
}

where the entries mean:

Property Description Type Required Default
type Type name: AMIWeights word yes -
libs Library name: fieldFunctionObjects word yes -
writeFields Write weights as VTK fields bool yes -

The inherited entries are elaborated in:

Example by using the postProcess utility:

postProcess -func AMIWeights

Stored properties

Reduced data

The following data are stored by the function object, and can be used by other function objects:

  • <patch-name>:src : source patch name
  • <patch-name>:tgt : target patch name
  • <patch-name>:src:min(weight) : source patch minimum weight
  • <patch-name>:src:max(weight) : source patch maximum weight
  • <patch-name>:src:ave(weight) : source patch average weight
  • <patch-name>:src:min(address) : source patch minimum stencil size
  • <patch-name>:src:max(address) : source patch maximum stencil size
  • <patch-name>:src:ave(address) : source patch average stencil size
  • <patch-name>:tgt:min(weight) : target patch minimum weight
  • <patch-name>:tgt:max(weight) : target patch maximum weight
  • <patch-name>:tgt:ave(weight) : target patch average weight
  • <patch-name>:tgt:min(address) : target patch minimum stencil size
  • <patch-name>:tgt:max(address) : target patch maximum stencil size
  • <patch-name>:tgt:ave(address) : target patch average stencil size

Further information

Tutorial:

Source code:

API:

History:

  • Introduced in version v1812