Object: ConstructReducedMesh

This section details the offline procedures related to construction of a hyperreduced nonlinear ROM. In the case where NonlinearRomFilesystem.NumClusters $>1$ (i.e. a local subspace approximation is employed), AERO-F constructs a single reduced mesh applicable for all clusters rather than constructing a unique reduced mesh for each local affine subspace. The user is reminded that following this step, it is required to preprocess the relevant XPost outputs using SOWER to use as inputs for an online hyperreduced ROM simulation. These typically include the reduced mesh geometry, as well as the state basis, state basis reference, wall distance, and potentially GNAT matrix files corresponding to the reduced mesh.

under ConstructReducedMesh { ... }
    GenerateTrainingData = generatetraining-flag;
    ComputeReducedMesh = computereducedmesh-flag;
    UseInputSamplingSolution = useinptsamplesol-flag;
    Type = type-id;
    IncludeAllLiftDragFaces = includeallliftdragfaces-flag;
    IncludeAllPeriodicFaces = includeallperiodicfaces-flag;
    StackedTraining = stackedtraining-flag;
    MinimumDimensionStateBasis = mindimensionstatebasis-int;
    MaximumDimensionStateBasis = maxdimensionstatebasis-int;
    MaximumEnergyStateBasis = maxenergystatebasis-real;
    MinimumDimensionResidualBasis = mindimensionresidualbasis-int;
    MaximumDimensionResidualBasis = maxdimensionresidualbasis-int;
    MaximumEnergyResidualBasis = maxenergyresidualbasis-real;
    under SamplingWeighting { ... }
    under GappyPOD { ... }
}

with

generatetraining-flag [False]:

This flag control whether to generate training data and write it to disk to be used to construct a reduced mesh in a future run.

True
Training data is generated from the state snapshots specified in Input.MeshSamplingSnapshotData and written to disk. When constructing a parametric ROM, it is recommended to use this flag to generate all training data prior to a run with ComputeReducedMesh = True, such that the residual for each set of state snapshots is evaluated at it's respective parameter instance.

False
Training data is not generated and written to disk.

computereducedmesh-flag [False]:
This flag controls whether to construct a reduced mesh for hyperreduced ROM computations.

True
Reduced mesh computations are performed on training data specified in Input.TrainingData. If no file is specified in Input.TrainingData, then the hyperreduction training data is also generated and stored in memory.

False
Reduced mesh computations are not performed.

useinpsamplesol-flag [False]:
This flag controls whether to use a user-specified mesh sampling solution to construct a reduced mesh for hyperreduced ROM computations. This is only relevant when when ComputeReducedMesh = True.

True
The sample nodes specified in Input.InputSampleNodes are used for construction of the reduced mesh. In this case, the mesh sampling algorithm is not performed and no training data generation is necessary. If Type = SamplingWeighting, Input.InputSampleWeights must also be specified.

False
A user-specified sampling solution is not used for construction of the reduced mesh, and the mesh sampling algorithm is performed. If Input.InputSampleNodes is specified, the nodes are used to hot-start the mesh sampling algorithm to accelerate convergence.

type-id [SamplingWeighting]:
This flag controls whether to construct a reduced mesh for hyperreduced ROMs based on the gappy POD, that is those using the GNAT or least-squares collocation hyperreduction methods, or whether to preprocess for the ECSW hyperreduction method.

SamplingWeighting
Run hyperreduction preprocessing for the ECSW hyperreduction method.

GappyPOD
Construct a reduced mesh and perform hyperreduction preprocessing for GNAT or least-squares collocation hyperreduction methods.

includeallliftdragfaces-flag [False]:
When true, this flag specifies to include in the reduced mesh all faces involved in the computation of lift and drag so that no additional postprocessing step is required to compute these quantities following a hyperreduced ROM simulation.

True
Augment the reduced mesh with all lift and drag faces.

False
Do not augment the reduced mesh with all lift and drag faces.

includeallperiodicfaces-flag [False]:
Similar to the IncludeAllLiftDragFaces keyword, this flag specifies whether to include in the reduced mesh all faces on periodic boundaries. It is useful for testing the construction of a reduced mesh for a problem involving periodic boundary conditions.

True
Augment the reduced mesh with all faces on periodic boundaries.

False
Do not augment the reduced mesh with all faces on periodic boundaries.

stackedtraining-flag [False]:
This flag controls the formulation of the hyperreduction approximation. By default, when StackedTraining = False, AERO-F computes the hyperreduced approximation of the quantity $W^T(M\dot{u}+f(u))$. However, in certain cases, it can be desired to modify this formulation.

On
In this case, the hyperreduced approximation is split and the quantities $W^T M \dot{u}$ and $W^T f(u)$ are separately approximated. This can be more accurate and also doubles the amount of training data.

Off
In this case, the standard formulation $W^T(M\dot{u}+f(u))$ is used.

SpatialOnly
In this case, only the term $W^T f(u)$ is used for training the hyperreduced approximation. This can be useful for steady-state problems when the online ROM seeks to solve $W^T f(u) = 0$ directly.

mindimensionstatebasis-int [1]:
Minimum dimension of the state ROB to use for hyperreduction training computations.

maxdimensionstatebasis-int [–]:
Maximum dimension of the state ROB to use for hyperreduction training computations.

maxenergystatebasis-real [1.0]:
Singular value energy threshold tolerance for specifying the size of the state ROB to use for hyperreduction training computations.

mindimensionresidualbasis-int [1]:
Minimum dimension of the residual ROB to use for hyperreduction training computations. This is only used when Type = GappyPOD.

maxdimensionresidualbasis-int [–]:
Maximum dimension of the residual ROB to use for hyperreduction training computations. This is only used when Type = GappyPOD.

maxenergyresidualbasis-real [1.0]:
Singular value energy threshold tolerance for specifying the size of the residual ROB to use for hyperreduction training computations. This is only used when Type = GappyPOD.

SamplingWeighting:
Specify the parameters required when sampling the high-dimensional mesh using the ECSW method.

GappyPOD:
Specify the parameters required when sampling the high-dimensional mesh using a gappy POD approach.



Subsections