Public Member Functions | |
Eigen::VectorXd | onlineCoeffs (volScalarField &S, Eigen::MatrixXd mu) |
HyperReduction (label n_modes, label n_nodes, Eigen::VectorXi initialSeeds, word problemName, SnapshotsLists &&...snapshotsLists) | |
Construct HyperReduction class, interpolation-based. | |
HyperReduction (label n_modes, label n_nodes, unsigned int vectorial_dim, label n_cells, Eigen::VectorXi initialSeeds, word problemName) | |
Construct HyperReduction class. | |
Public Member Functions inherited from HyperReduction< PtrList< volVectorField > &, PtrList< volScalarField > & > | |
HyperReduction (label n_modes, label n_nodes, Eigen::VectorXi initialSeeds, word problemName, SnapshotsLists &&...snapshotsLists) | |
Construct HyperReduction class, interpolation-based. | |
HyperReduction (label n_modes, label n_nodes, unsigned int vectorial_dim, label n_cells, Eigen::VectorXi initialSeeds, word problemName) | |
Construct HyperReduction class. | |
void | offlineGappyDEIM (Eigen::MatrixXd &snapshotsModes, Eigen::VectorXd &normalizingWeights) |
Methods implemented: 'GappyDEIM' from "DEIM, Chaturantabut, Saifon, and Danny C. Sorensen. "Nonlinear model reduction via discrete empirical interpolation. | |
void | offlineGappyDEIM (Eigen::MatrixXd &snapshotsModes, Eigen::VectorXd &normalizingWeights, word folderMethodName) |
void | offlineECP (Eigen::MatrixXd &snapshotsModes, Eigen::VectorXd &normalizingWeights) |
Methods implemented: 'ECP' from "ECP, Hernandez, Joaquin Alberto, Manuel Alejandro Caicedo, and Alex Ferrer. "Dimensional hyper-reduction of nonlinear finite element models via empirical cubature. | |
void | offlineECP (Eigen::MatrixXd &snapshotsModes, Eigen::VectorXd &normalizingWeights, word folderMethodName) |
void | initSeeds (Eigen::VectorXd mp_not_mask, std::set< label > nodePointsSet) |
TODO. | |
void | computeLS (Eigen::MatrixXd &J, Eigen::MatrixXd &JWhole, Eigen::VectorXd &b, Eigen::VectorXd &q) |
TODO. | |
void | getModesSVD (SnapshotsListTuple &SnapshotsListTuple, Eigen::MatrixXd &modesSVD, Eigen::VectorXd &fieldWeights, bool saveModesFlag=false) |
TODO. | |
void | getModesSVD (SnapshotsListTuple &snapshotsListTuple, Eigen::MatrixXd &modesSVD, Eigen::VectorXd &fieldWeights, Eigen::MatrixXd &modesSVDBoundary, Eigen::VectorXd &fieldWeightsBoundary, bool saveModesFlag) |
TODO. | |
void | updateNodes (Eigen::SparseMatrix< double > &P, label &ind_max, Eigen::VectorXd &mp_not_mask) |
TODO. | |
void | stackSnapshots (SnapshotsList sList, Eigen::MatrixXd &snapshotsMatrix, Eigen::VectorXd &fieldWeights) |
TODO. | |
void | stackSnapshotsBoundary (SnapshotsList sList, List< Eigen::MatrixXd > &snapshotsMatrixBoundary, List< Eigen::VectorXd > &fieldWeightsBoundary) |
TODO. | |
void | saveModes (SnapshotsList sList, Eigen::MatrixXd &snapshotsMatrix, unsigned int &rowIndex, unsigned int &modeIndex, word folder) |
TODO. | |
void | saveModes (SnapshotsList sList, Eigen::MatrixXd &snapshotsMatrix, Eigen::MatrixXd &snapshotsMatrixBoundary, unsigned int &rowIndex, unsigned int &rowIndexBoundary, unsigned int &modeIndex, word folder) |
TODO. | |
void | stackNames (SnapshotsList sList) |
TODO. | |
void | stackDimensions (SnapshotsList sList) |
TODO. | |
void | sumDimensions (double sum, SnapshotsList sList) |
TODO. | |
void | evaluatePinv (Eigen::SparseMatrix< double > &Projector, Eigen::MatrixXd &Modes, Eigen::VectorXd &fieldWeights) |
Compute the pseudo-inverse of the matrix M restricted with the projector P. | |
void | evaluateWPU (Eigen::SparseMatrix< double > &Projector, Eigen::MatrixXd &Modes, Eigen::VectorXd &fieldWeights, Eigen::VectorXd &quadratureWeights) |
Compute the pseudo-inverse of the matrix M restricted with the projector P. | |
void | generateSubmesh (label layers, const fvMesh &mesh) |
Compute the submesh common to all fields in SnapshotsLists. | |
List< label > | global2local (List< label > &points, fvMeshSubset &submesh) |
Get local indices in the submesh from indices in the global ones. | |
autoPtr< FieldType > | interpolateField (const FieldType &field) |
TODO. | |
constexpr unsigned int | get_field_dim () |
TODO. | |
constexpr unsigned int | compute_vectorial_dim (LastList x) |
TODO. | |
constexpr unsigned int | compute_vectorial_dim (List &&head, RemainingLists &&...tail) |
TODO. | |
void | eigen2fields (Eigen::VectorXd &eFields, FieldsArgs &&... oFields) |
TODO. | |
void | initReshapeMat (Eigen::SparseMatrix< double > &reshapeMat) |
TODO. | |
void | createMasks (bool offlineStage=true) |
TODO. | |
void | getSnapMatrix (Eigen::MatrixXd &snapMatrix, Eigen::VectorXd &fieldWeights) |
TODO. | |
void | getSnapMatrix (Eigen::MatrixXd &snapMatrix, Eigen::VectorXd &fieldWeights, List< Eigen::MatrixXd > &snapMatrixBoundary, List< Eigen::VectorXd > &fieldWeightsBoundary) |
TODO. | |
Static Public Member Functions | |
static std::pair< volVectorField, volScalarField > | evaluate_expression (volVectorField &V, volScalarField &S, Eigen::MatrixXd mu) |
static Eigen::VectorXd | evaluate_expression (volScalarField &S, Eigen::MatrixXd mu, List< label > nodesList) |
Static Public Member Functions inherited from HyperReduction< PtrList< volVectorField > &, PtrList< volScalarField > & > | |
static double | s_optimality (Eigen::MatrixXd &A) |
TODO. | |
Additional Inherited Members | |
Public Types inherited from HyperReduction< PtrList< volVectorField > &, PtrList< volScalarField > & > | |
using | SnapshotsListTuple |
using | FieldsTuple |
using | NthFieldListType |
using | NthFieldType |
Public Attributes inherited from HyperReduction< PtrList< volVectorField > &, PtrList< volScalarField > & > | |
word | methodName |
unsigned int | vectorial_dim |
unsigned int | sumFieldsDim |
ITHACAparameters * | para |
label | n_boundary_patches |
List< label > | n_boundary_cells_list |
label | n_boundary_cells |
label | n_modes |
The maximum number of modes to be considered. | |
label | n_nodes |
The maximum number of modes to be considered. | |
label | n_snapshots |
The length of the snapshots lists. | |
Eigen::VectorXi | initialSeeds |
Eigen::VectorXi | nodes |
word | problemName |
The name of the non-linear function e.g. HR_method/residual. | |
SnapshotsListTuple | snapshotsListTuple |
The snapshots matrix containing the nonlinear function or operator. | |
List< word > | fieldNames |
Names of the fields. | |
List< unsigned int > | fieldDims |
Dimensions of the fields. | |
label | n_cells |
Int Number of Cells;. | |
label | n_cellsSubfields |
Int Number of Cells in submeshes;. | |
autoPtr< IOList< label > > | nodePoints |
Nodes in the case of the a nonlinear function. | |
autoPtr< IOList< labelList > > | totalNodePoints |
List of label lists of the nodes and corresponding surrounding nodes. | |
autoPtr< IOList< label > > | uniqueNodePoints |
List of the unique indices of the nodes that define the submesh. | |
word | folderProblem |
Folder for the HR problem. | |
word | folderMethod |
Folder for the selected HR method. | |
List< label > | localNodePoints |
Indices of the local node points in the subMesh. | |
Eigen::MatrixXd | basisMatrix |
Orthonormal basis of HR. | |
Eigen::VectorXd | normalizingWeights |
Eigen::MatrixXd | renormalizedBasisMatrix |
Renormalized basis of HR. | |
Eigen::MatrixXd | pinvPU |
Eigen::MatrixXd | wPU |
Eigen::VectorXd | eigenValueseig |
Eigen::SparseMatrix< double > | P |
The P matrix of the HyperReduction method. The nodes are ordered in the order of insertion during the greedy procedure. The components related to the same node follow immediately. | |
Eigen::SparseMatrix< double > | field2submesh |
Eigen::SparseMatrix< double > | submesh2nodes |
Eigen::VectorXi | submesh2nodesMask |
Eigen::VectorXd | quadratureWeights |
Quadrature weights. Ordered in the same order of matrix P. | |
autoPtr< fvMeshSubset > | submesh |
Submesh of the HyperReduction method. | |
autoPtr< volVectorField > | submesh_field |
Submeshes. | |
Eigen::MatrixXd | MatrixOnline |
Online Matrix. | |
Static Public Attributes inherited from HyperReduction< PtrList< volVectorField > &, PtrList< volScalarField > & > | |
static constexpr auto | n_fields |
Definition at line 132 of file 24HyperReduction.C.
|
inlinestatic |
Definition at line 156 of file 24HyperReduction.C.
|
inlinestatic |
Definition at line 136 of file 24HyperReduction.C.
HyperReduction< SnapshotsLists >::HyperReduction | ( | label | n_modes, |
label | n_nodes, | ||
Eigen::VectorXi | initialSeeds, | ||
word | problemName, | ||
SnapshotsLists &&... | snapshotsLists ) |
Construct HyperReduction class, interpolation-based.
SnapshotsLists
is a variadic argument of PtrLists of fields e.g. for incompressible Navier-Stokes PtrList<volVectorField>, PtrList<volScalarField> for velocity and pressure.
[in] | hrMethod | the chosen HR method |
[in] | n_modes | dimension of the HR basis |
[in] | n_nodes | number of nodes |
[in] | initialSeeds | initial nodes |
[in] | problemName | name of the function to be hyper-reduced |
[in] | snapshotsLists | lists of fields |
Definition at line 76 of file hyperReduction.templates.H.
HyperReduction< SnapshotsLists >::HyperReduction | ( | label | n_modes, |
label | n_nodes, | ||
unsigned int | vectorial_dim, | ||
label | n_cells, | ||
Eigen::VectorXi | initialSeeds, | ||
word | problemName ) |
Construct HyperReduction class.
[in] | n_modes | Dimension of the HR basis |
[in] | n_nodes | Number of nodes |
[in] | vectorial_dim | Field dimension (1 for volScalarField 3 for volVectorField) |
[in] | n_cells | Number of cells |
[in] | initialSeeds | Initial nodes |
[in] | problemName | Name of the function to be hyper-reduced |
Definition at line 92 of file hyperReduction.templates.H.
|
inline |
Definition at line 177 of file 24HyperReduction.C.