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 138 of file 24HyperReduction.C.
|
inlinestatic |
Definition at line 164 of file 24HyperReduction.C.
|
inlinestatic |
Definition at line 143 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 78 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 94 of file hyperReduction.templates.H.
|
inline |
Definition at line 189 of file 24HyperReduction.C.
1.13.2