Object: AdaptiveROM

under AdaptiveROM { ... }
    GeometryPrefix = geometryprefix-str;
    UnbalancedPrefix = unbalancedprefix-str;
    SupermeshPrefix = supermeshprefix-str;
    InnerProductFilename = innerproductfilename-str;
    ComputeAROM = computearom-flag;
    ComputeUnbalanced = computeunbalanced-flag;
    ComputeL2 = computel2-flag;
    RecomputeL2 = recomputel2-flag;
    ComputeSupermesh = computesupermesh-flag;
    ComputeSubmesh = computesubmesh-flag;
    SubtractRefStateBeforeL2 = subtractrefstatebeforel2-flag;
    UseSupermesh = usesupermesh-flag;
    ApproxType = approxtype-id;
    BasisComputation = basiscomputation-id;
    NumLoadedMeshes = numloadedmeshes-int;
    ReferenceMesh = referencemesh-int;
    ShiftSnaps = shiftsnaps-int;
}

with

geometryprefix-str []:
This entry specifies the prefix name for all of the files describing the connectivity, geometry, decomposition, CPU map, and distance-to-the-wall which are output by Aero-F during an AMR simulation or any simulation which outputs binary files on multiple meshes. To read the mesh files of a particular mesh, the corrrect suffix number is automatically appended at runtime to the filenames in Domain::readMesh.

unbalancedprefix-str []:
This entry specifies the directory on disk where unbalanced snapshots are stored. The prefix for the files is taken from the end of GeometryPrefix, with the directory path updated at runtime with NonlinearRomAdaptive::changeGeometryPrefix.

supermeshprefix-str []:
This entry specifies the directory on disk where interpolated supermesh snapshots are stored. The prefix for the files is taken from the end of GeometryPrefix, with the directory path updated at runtime with NonlinearRomAdaptive::changeGeometryPrefix.

computearom-flag [False]:
This flag activates the modifications to the code relevant for PMOR with AMR-generated snapshots, and should be turned on in this case whenever Problem.Type is set to any of the ROM-related types.

True
PMOR-AMR framework is activated.

False
Conventional PMOR with a static mesh.

computeunbalanced-flag [False]:
This flag activates mesh unbalancing of the meshes associated with the snapshots. Due to AMR load balancing in the HDM, the snapshots have different domain decompositions. This can make the L2 inner product computation expensive. The option allows for enforcing the same domain decomposition on all snapshots a posteriori.

True
All meshes and associated snapshots are repartitioned to the domain decomposition of the mesh with index ReferenceMesh.

False
No repartitioning performed.

computel2-flag [True]:
This flag controls the computation of the inner product matrix between snapshots.

True
The inner product matrix is computed.

False
The inner product matrix is read from InnerProductFilename.

RecomputeL2-flag [False]:
This is an alternative to ShiftSnaps. It recomputes the inner product matrix on the interpolated snapshots, rather than the original snapshots.

True
The inner product matrix is recomputed.

False
The inner product matrix of the original snapshots is utilized.

computesupermesh-flag [False]:
This flag activates the construction of supermeshes, the interpolation of snapshots onto supermeshes, and their output to disk.

True
The snapshots are interpolated onto supermeshes and outputted.

False
The snapshots are not interpolated onto supermeshes.

computesubmesh-flag [False]:
If ComputeL2 = True, this flag activates the more computationally efficient inner product matrix computation based on the discrete dot product of snapshots restricted to the global submesh.

True
The inner product matrix is computed with the submesh.

False
The inner product matrix is computed with the L2 inner product.

subtractrefstatebeforel2-flag [False]:
This flag activates the subtraction of a reference state (the first snapshot) from all snapshots. The motivation for this is to improve the condition number of the inner product matrix computed with the referenced snapshots. Due to AMR, this subtraction requires interpolating the reference state onto the global supermesh. Due to load balancing (see ComputeUnbalanced), MPI data exchange is then required to perform the subtraction.

True
The reference state is subtracted from all snapshots before the inner product matrix is computed.

False
The reference state is not subtracted from all snapshots before the inner product matrix is computed.

usesupermesh-flag [True]:
This flag controls whether the snapshots interpolated onto the supermeshes are used, or if only the inner product matrix is utilized for the POD.

True
POD-related quantities such as the basis and reference state are output to disk using the snapshots interpolated onto the supermesh.

False
Only the eigendecomposition of the inner product matrix is output to disk. For example, the basis is output only in terms of snapshot coefficients.

approxtype-id [State]:
Controls which state variables are used for the L2 inner product.

Velocity
The velocity magnitude at each mesh node is utilized.

Pressure
The pressure at each mesh node is utilized.

Density
The density at each mesh node is utilized.

State
The full state at each mesh node is utilized.

basiscomputation-id [IPM]:
Controls the method of basis construction used in the PMOR-AMR framework.

IPM
The eigendecomposition of the inner product matrix is utilized. This is not recommended when ComputeSubmesh = True.

SVD
The SVD of the interpolated snapshots within each snapshot cluster is utilized.

RBM
The reduced basis method is utilized, where the basis is set to the full-rank counterpart of the snapshot matrix, determined with the QR decomposition.

numloadedmeshes-int [2]:
Number of meshes that can be loaded at once for the L2 inner product computation. Setting this higher will reduce the computation time of the inner product, but will require more runtime memory. This value must be at least 2.

referencemesh-int [1]:
Mesh index corresponding to the mesh which is used for mesh unbalancing.

shiftsnaps-int [0]:
This should be set to the number of smoothing iterations done when interpolating the AMR-generated snapshots, which is determined by Output.NonlinearROM.Frequency. The inner product matrix is shifted by this number of indices, and therefore is reduced in dimension by this number of indices as well.