Header file of the ITHACAPOD class. More...
#include "fvCFD.H"
#include "ITHACAutilities.H"
#include "ITHACAstream.H"
#include "ITHACAparameters.H"
#include "Foam2Eigen.H"
#include "EigenFunctions.H"
#include <Spectra/GenEigsSolver.h>
#include <Spectra/SymEigsSolver.h>
#include <Eigen/Eigen>
#include <unsupported/Eigen/SparseExtra>
Go to the source code of this file.
Namespaces | |
namespace | ITHACAPOD |
namespace for the computation of the POD, it exploits bot the method of snapshots and SVD. | |
Functions | |
template<class Type , template< class > class PatchField, class GeoMesh > | |
void | ITHACAPOD::getModes (PtrList< GeometricField< Type, PatchField, GeoMesh > > &snapshots, PtrList< GeometricField< Type, PatchField, GeoMesh > > &modes, word fieldName, bool podex, bool supex=0, bool sup=0, label nmodes=0, bool correctBC=true) |
Computes the bases or reads them for a field. | |
template<class Type , template< class > class PatchField, class GeoMesh > | |
void | ITHACAPOD::getModesSVD (PtrList< GeometricField< Type, PatchField, GeoMesh > > &snapshots, PtrList< GeometricField< Type, PatchField, GeoMesh > > &modes, word fieldName, bool podex, bool supex=0, bool sup=0, label nmodes=0, bool correctBC=true) |
Gets the bases for a scalar field using SVD instead of the method of snapshots. | |
template<class Type , template< class > class PatchField, class GeoMesh > | |
void | ITHACAPOD::getNestedSnapshotMatrix (PtrList< GeometricField< Type, PatchField, GeoMesh > > &snapshots, PtrList< GeometricField< Type, PatchField, GeoMesh > > &modes, word fieldName, label Npar, label NnestedOut) |
Nested-POD approach. | |
template<class Type , template< class > class PatchField, class GeoMesh > | |
void | ITHACAPOD::getWeightedModes (PtrList< GeometricField< Type, PatchField, GeoMesh > > &snapshots, PtrList< GeometricField< Type, PatchField, GeoMesh > > &modes, word fieldName, bool podex, bool supex=0, bool sup=0, label nmodes=0, bool correctBC=true) |
Computes the weighted bases (using the nested-pod approach) or read them for a vector field. | |
void | ITHACAPOD::GrammSchmidt (Eigen::MatrixXd &Matrix) |
Performs GrammSchmidt orthonormalization on an Eigen Matrix. | |
template<class Field_type > | |
Eigen::MatrixXd | ITHACAPOD::corMatrix (Field_type &snapshots) |
Computes the correlation matrix given a vector field snapshot Matrix using different norms depending on the input snapshots. | |
template<class Type , template< class > class PatchField, class GeoMesh > | |
void | ITHACAPOD::exportBases (PtrList< GeometricField< Type, PatchField, GeoMesh > > &s, PtrList< GeometricField< Type, PatchField, GeoMesh > > &bases, word fieldName, bool sup) |
Export the Bases. | |
void | ITHACAPOD::exportEigenvalues (scalarField Eigenvalues, fileName name, bool sup=0) |
Exports the eigenvalues as a txt file. | |
void | ITHACAPOD::exportcumEigenvalues (scalarField cumEigenvalues, fileName name, bool sup=0) |
Export the cumulative eigenvalues as a txt file. | |
template<class Type , template< class > class PatchField, class GeoMesh > | |
PtrList< GeometricField< Type, PatchField, GeoMesh > > | ITHACAPOD::DEIMmodes (PtrList< GeometricField< Type, PatchField, GeoMesh > > &SnapShotsMatrix, label nmodes, word FunctionName, word FieldName) |
Get the DEIM modes for a generic non linear function. | |
template<typename type_matrix > | |
std::tuple< List< Eigen::SparseMatrix< double > >, List< Eigen::VectorXd > > | ITHACAPOD::DEIMmodes (PtrList< type_matrix > &MatrixList, label nmodesA, label nmodesB, word MatrixName="Matrix") |
Get the DEIM modes for a generic non-parametrized matrix coming from a differential operator function. | |
std::tuple< List< Eigen::SparseMatrix< double > >, List< Eigen::VectorXd > > | ITHACAPOD::DEIMmodes (List< Eigen::SparseMatrix< double > > &A, List< Eigen::VectorXd > &b, label nmodesA, label nmodesB, word MatrixName="Matrix") |
Get the DEIM modes for a generic non a parametrized matrix coming from a differential operator function. | |
template<class Type , template< class > class PatchField, class GeoMesh > | |
void | ITHACAPOD::getModes (PtrList< GeometricField< Type, PatchField, GeoMesh > > &snapshots, PtrList< GeometricField< Type, PatchField, GeoMesh > > &modes, PtrList< volScalarField > &Volumes, word fieldName, bool podex, bool supex=0, bool sup=0, label nmodes=0) |
Gets the modes. | |
template<class Field_type , class Field_type_2 > | |
void | ITHACAPOD::getModes (PtrList< Field_type > &snapshots, PtrList< Field_type > &modes, PtrList< Field_type_2 > &fields2, word fieldName, bool podex, bool supex=0, bool sup=0, label nmodes=0) |
Gets Modes based on eigenvalue decomposition of another Field. | |
Header file of the ITHACAPOD class.
Definition in file ITHACAPOD.H.