Loading...
Searching...
No Matches
ITHACAPOD.H File Reference

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.
 

Detailed Description

Header file of the ITHACAPOD class.

Definition in file ITHACAPOD.H.