Object: NonlinearRomOnline

This object is relevant for any online nonlinear ROM simulations as well as during postprocessing for a hyperreduced nonlinear ROM simulation.

under NonlinearRomOnline {
    Projection = projection-id;
    SystemApproximation = systemapproximation-id;
    LeastSquaresSolver = leastsquaressolver-id;
    MinimumDimension = mindimension-int;
    MaximumDimension = maxdimension-int;
    MaximumEnergy = maxenergy-real;
    FreezeJacobian = freezejacobian-flag;
    MatrixStorageImplementation = matrixstorage-flag;
    FastDistanceComparisons = fastdistance-flag;
}

with

projection-id [LeastSquaresPetrovGalerkin]:
Controls the type of projection to be used when construction the ROM equations from the associated high-dimensional model.

LeastSquaresPetrovGalerkin
In this case, the least-squares Petrov-Galerkin projection is used. It is the recommended option for all simulations.

Galerkin In this case, the Galerkin projection with left ROB $W = V$ is used to construct the ROM.

systemapproximation-id [None]:
This flag controls the hyperreduction of the associated ROM.

None
In this case, no hyperreduction method is employed. Thus, the resulting nonlinear ROM simulation cannot be expected to deliver substantial speedups relative to the high-dimensional model.

ECSW
The ECSW hyperreduction method is employed. In this case, it is expected that during the offline phase, NonlinearRomPreprocessing.ConstructReducedMesh.Type was set to SamplingWeighting.

Collocation
The least-squares collocation hyperreduction method is employed. In this case, it is expected that during the offline phase, NonlinearRomPreprocessing.ConstructReducedMesh.Type was set to GappyPOD.

GNAT
The GNAT hyperreduction method is employed. In this case, it is expected that during the offline phase, NonlinearRomPreprocessing.ConstructReducedMesh.Type was set to GappyPOD with NonlinearRomPreprocessing.ConstructReducedMesh.GappyPOD.PerformGNATPrepro = True. Moreover, for this option, the filename NonlinearRomFileSystem.Files.GNATMatrix must be specified.

leastsquaressolver-id [QR]:
Controls which algorithm is used to solve the least-squares problem arising at each Gauss-Newton iteration, or equivalently how to construct the reduced Newton iterations.

QR
The least-squares solution is obtained using a QR factorization approach. This option requires compilation with the ScaLAPACK libraries, and is only applicable when Projection = LeastSquaresPetrovGalerkin.

NormalEquations
The normal equations are used to solve each arising least-squares problem. This option is equally applicable if Projection = LeastSquaresPetrovGalerkin or Galerkin.

mindimension-int [1]:
Minimum dimension of the state ROB to use for relative projection error computations.

maxdimension-int [–]:
Maximum dimension of the state ROB to use for relative projection error computations.

maxenergy-real [1.0]:
Singular value energy threshold tolerance for specifying the size of the state ROB to use for relative projection error computations.

freezejacobian-flag [False]:
For further improvement of computational performance, the Jacobian matrix can be computed once at the beginning of each computational time-step and reused for all Newton iterations associated with that time-step. This means products of the form $W^T J V$ (or their hyperreduced approximation) can be assembled only once for each time-step.

True
Compute the Jacobian at the beginning of each computational time-step and reuse it for all Newton iterations associated with that time-step, automatically avoiding recomputing matrix products involving the Jacobian and delivering a reduction in computational cost at the expense of some accuracy loss due to using a defect Jacobian.

False
Recompute the Jacobian matrix at each Newton iteration of each computational time-step. This is the most accurate approach.

matrixstorage-flag [New]:
This flag controls the underlying storage architecture of an ROB.

New
This triggers the new architecture for storing an ROB. It is not possible to be used with the option Time.Implicit.MatrixVectorProduct = FiniteDifference, however is suggested for all other options to provide faster computations. In addition, when Time.Implicit.MatrixVectorProduct = Exact, it is suggested to turn on Time.Implicit.ExactImplementation = New.

Old
This triggers the old storage of an ROB and is the only option when Time.Implicit.MatrixVectorProduct = FiniteDifference.

fastdistance-flag [On]:
This flag is relevant only when a local subspace approximation is used, that is NonlinearRomFilesystem.NumClusters $>1$. It controls whether to use pre-computed quantities for to perform fast distance comparisons and fast projections. These quantities are expected to have been pre-computed during the preprocessing stage by specifying NonlinearRomPreprocessing.ComputeROB.PreprocessForProjections = True.

On
Use pre-computed quantities for fast distance comparisons and fast projections.

Off
Do not use pre-computed quantities for fast distance comparisons and fast projections. This option is only available for online nonlinear ROM simulations without hyperreduction, that is when SystemApproximation = None.