Loading...
Searching...
No Matches
Functions
ITHACAPOD Namespace Reference

namespace for the computation of the POD, it exploits bot the method of snapshots and SVD. More...

Functions

void weightedGramSchmidt (Eigen::MatrixXd &matrix, Eigen::VectorXd &weights)
 Weighted Gram-Schmidt orthogonalization.
 
template<class Type , template< class > class PatchField, class GeoMesh >
void getNestedSnapshotMatrix (PtrList< GeometricField< Type, PatchField, GeoMesh > > &snapshots, PtrList< GeometricField< Type, PatchField, GeoMesh > > &modes, word fieldName, label Npar, label NnestedOut)
 Nested-POD approach.
 
template void getNestedSnapshotMatrix (PtrList< volScalarField > &snapshots, PtrList< volScalarField > &ModesGlobal, word fieldName, label Npar, label NnestedOut)
 
template void getNestedSnapshotMatrix (PtrList< volVectorField > &snapshots, PtrList< volVectorField > &ModesGlobal, word fieldName, label Npar, label NnestedOut)
 
template<class Type , template< class > class PatchField, class GeoMesh >
void 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 void getModes (PtrList< volVectorField > &snapshots, PtrList< volVectorField > &modes, word fieldName, bool podex, bool supex, bool sup, label nmodes, bool correctBC)
 
template void getModes (PtrList< volScalarField > &snapshots, PtrList< volScalarField > &modes, word fieldName, bool podex, bool supex, bool sup, label nmodes, bool correctBC)
 
template void getModes (PtrList< surfaceScalarField > &snapshots, PtrList< surfaceScalarField > &modes, word fieldName, bool podex, bool supex, bool sup, label nmodes, bool correctBC)
 
template<class Type , template< class > class PatchField, class GeoMesh >
void 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.
 
template void getWeightedModes (PtrList< volScalarField > &snapshots, PtrList< volScalarField > &modes, word fieldName, bool podex, bool supex, bool sup, label nmodes, bool correctBC)
 
template void getWeightedModes (PtrList< volVectorField > &snapshots, PtrList< volVectorField > &modes, word fieldName, bool podex, bool supex, bool sup, label nmodes, bool correctBC)
 
template<class Type , template< class > class PatchField, class GeoMesh >
void 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 void getModesSVD (PtrList< volScalarField > &snapshots, PtrList< volScalarField > &modes, word fieldName, bool podex, bool supex, bool sup, label nmodes, bool correctBC)
 
template void getModesSVD (PtrList< volVectorField > &snapshots, PtrList< volVectorField > &modes, word fieldName, bool podex, bool supex, bool sup, label nmodes, bool correctBC)
 
template<>
Eigen::MatrixXd corMatrix (PtrList< volScalarField > &snapshots)
 Construct the Correlation Matrix for Scalar Field.
 
template<>
Eigen::MatrixXd corMatrix (PtrList< volVectorField > &snapshots)
 Construct the Correlation Matrix for Vector Field.
 
template<>
Eigen::MatrixXd corMatrix (List< Eigen::SparseMatrix< double > > &snapshots)
 Construct the Correlation Matrix for Vector Field.
 
template<>
Eigen::MatrixXd corMatrix (List< Eigen::VectorXd > &snapshots)
 Construct the Correlation Matrix for Vector Field.
 
template<class Type , template< class > class PatchField, class GeoMesh >
void exportBases (PtrList< GeometricField< Type, PatchField, GeoMesh > > &s, PtrList< GeometricField< Type, PatchField, GeoMesh > > &bases, word fieldName, bool sup)
 Export the Bases.
 
template void exportBases (PtrList< volVectorField > &s, PtrList< volVectorField > &bases, word fieldName, bool sup)
 
template void exportBases (PtrList< volScalarField > &s, PtrList< volScalarField > &bases, word fieldName, bool sup)
 
void exportEigenvalues (scalarField Eigenvalues, fileName name, bool sup=0)
 Exports the eigenvalues as a txt file.
 
void exportcumEigenvalues (scalarField cumEigenvalues, fileName name, bool sup=0)
 Export the cumulative eigenvalues as a txt file.
 
std::tuple< List< Eigen::SparseMatrix< double > >, List< Eigen::VectorXd > > 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.
 
void GrammSchmidt (Eigen::MatrixXd &Matrix)
 Performs GrammSchmidt orthonormalization on an Eigen Matrix.
 
template<class Type , template< class > class PatchField, class GeoMesh >
void getModes (PtrList< GeometricField< Type, PatchField, GeoMesh > > &snapshots, PtrList< GeometricField< Type, PatchField, GeoMesh > > &modes, PtrList< volScalarField > &Volumes, word fieldName, bool podex, bool supex, bool sup, label nmodes, bool correctBC)
 
template void getModes (PtrList< volScalarField > &snapshots, PtrList< volScalarField > &modes, PtrList< volScalarField > &Volumes, word fieldName, bool podex, bool supex, bool sup, label nmodes, bool correctBC)
 
template void getModes (PtrList< volVectorField > &snapshots, PtrList< volVectorField > &modes, PtrList< volScalarField > &Volumes, word fieldName, bool podex, bool supex, bool sup, label nmodes, bool correctBC)
 
template<typename type_matrix >
std::tuple< List< Eigen::SparseMatrix< double > >, List< Eigen::VectorXd > > 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.
 
template std::tuple< List< Eigen::SparseMatrix< double > >, List< Eigen::VectorXd > > DEIMmodes (PtrList< fvScalarMatrix > &MatrixList, label nmodesA, label nmodesB, word MatrixName)
 
template std::tuple< List< Eigen::SparseMatrix< double > >, List< Eigen::VectorXd > > DEIMmodes (PtrList< fvVectorMatrix > &MatrixList, label nmodesA, label nmodesB, word MatrixName)
 
template<class Type , template< class > class PatchField, class GeoMesh >
PtrList< GeometricField< Type, PatchField, GeoMesh > > DEIMmodes (PtrList< GeometricField< Type, PatchField, GeoMesh > > &SnapShotsMatrix, label nmodes, word FunctionName, word FieldName)
 Get the DEIM modes for a generic non linear function.
 
template<class Field_type , class Field_type_2 >
void getModes (PtrList< Field_type > &snapshots, PtrList< Field_type > &modes, PtrList< Field_type_2 > &fields2, word fieldName, bool podex, bool supex, bool sup, label nmodes, bool correctBC)
 
template void getModes (PtrList< surfaceScalarField > &snapshots, PtrList< surfaceScalarField > &modes, PtrList< volVectorField > &fields2, word fieldName, bool podex, bool supex, bool sup, label nmodes, bool correctBC)
 
template void getModes (PtrList< volScalarField > &snapshots, PtrList< volScalarField > &modes, PtrList< volVectorField > &fields2, word fieldName, bool podex, bool supex, bool sup, label nmodes, bool correctBC)
 
template PtrList< volScalarField > DEIMmodes (PtrList< volScalarField > &SnapShotsMatrix, label nmodes, word FunctionName, word FieldName)
 
template PtrList< volVectorField > DEIMmodes (PtrList< volVectorField > &SnapShotsMatrix, label nmodes, word FunctionName, word FieldName)
 
template<class Field_type >
Eigen::MatrixXd 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 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 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

namespace for the computation of the POD, it exploits bot the method of snapshots and SVD.

Function Documentation

◆ corMatrix() [1/5]

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.

Parameters
[in]snapshotsList of snapshots.
Template Parameters
Field_typeType of the input list you are passing, it can be: PtrList<volVectorField>, PtrList<volScalarField>, List<Eigen::SparseMatrix<double>>, List<Eigen::VectorXd>.
Returns
the Eigen::MatrixXd correlation matrix.

◆ corMatrix() [2/5]

template<>
Eigen::MatrixXd ITHACAPOD::corMatrix ( List< Eigen::SparseMatrix< double > > & snapshots)

Construct the Correlation Matrix for Vector Field.

Definition at line 623 of file ITHACAPOD.C.

◆ corMatrix() [3/5]

template<>
Eigen::MatrixXd ITHACAPOD::corMatrix ( List< Eigen::VectorXd > & snapshots)

Construct the Correlation Matrix for Vector Field.

Definition at line 658 of file ITHACAPOD.C.

◆ corMatrix() [4/5]

template<>
Eigen::MatrixXd ITHACAPOD::corMatrix ( PtrList< volScalarField > & snapshots)

Construct the Correlation Matrix for Scalar Field.

Definition at line 568 of file ITHACAPOD.C.

◆ corMatrix() [5/5]

template<>
Eigen::MatrixXd ITHACAPOD::corMatrix ( PtrList< volVectorField > & snapshots)

Construct the Correlation Matrix for Vector Field.

Definition at line 596 of file ITHACAPOD.C.

◆ DEIMmodes() [1/7]

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.

Parameters
AList of matrices for the lhs
bList of vectors for the rhs
[in]nmodesAThe number of modes
[in]nmodesBThe nmodes b
[in]MatrixNameThe matrix name, used to save the matrix
[in]MatrixListThe matrix list as a list of pointers
Template Parameters
Thetype of matrix, can be fvScalarMatrix or fvVectorMatrix
Returns
It returns a tuple containing the list of modes for the matrix and the list of modes for the source term
Examples
08DEIM.C.

Definition at line 784 of file ITHACAPOD.C.

◆ DEIMmodes() [2/7]

template std::tuple< List< Eigen::SparseMatrix< double > >, List< Eigen::VectorXd > > ITHACAPOD::DEIMmodes ( PtrList< fvScalarMatrix > & MatrixList,
label nmodesA,
label nmodesB,
word MatrixName )

◆ DEIMmodes() [3/7]

template std::tuple< List< Eigen::SparseMatrix< double > >, List< Eigen::VectorXd > > ITHACAPOD::DEIMmodes ( PtrList< fvVectorMatrix > & MatrixList,
label nmodesA,
label nmodesB,
word MatrixName )

◆ DEIMmodes() [4/7]

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.

Parameters
[in]SnapShotsMatrixThe snapshots matrix
[in]nmodesThe number of modes
[in]FunctionNameThe function name
Template Parameters
Typetemplated object for the snapshots matrix type
Returns
Type the POD modes

Definition at line 1347 of file ITHACAPOD.C.

◆ DEIMmodes() [5/7]

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.

Parameters
[in]MatrixListThe matrix list as a list of pointers
[in]nmodesAThe number of modes for A
[in]nmodesBThe number of modes for B
[in]MatrixNameThe matrix name, used to save the matrix
Template Parameters
type_matrixThe type of matrix, can be fvScalarMatrix or fvVectorMatrix
Returns
It returns a tuple containing the list of modes for the matrix and the list of modes for the source term

Definition at line 1164 of file ITHACAPOD.C.

◆ DEIMmodes() [6/7]

template PtrList< volScalarField > ITHACAPOD::DEIMmodes ( PtrList< volScalarField > & SnapShotsMatrix,
label nmodes,
word FunctionName,
word FieldName )

◆ DEIMmodes() [7/7]

template PtrList< volVectorField > ITHACAPOD::DEIMmodes ( PtrList< volVectorField > & SnapShotsMatrix,
label nmodes,
word FunctionName,
word FieldName )

◆ exportBases() [1/3]

template<class Type , template< class > class PatchField, class GeoMesh >
void ITHACAPOD::exportBases ( PtrList< GeometricField< Type, PatchField, GeoMesh > > & snapshots,
PtrList< GeometricField< Type, PatchField, GeoMesh > > & bases,
word fieldName,
bool sup = 0 )

Export the Bases.

Exports the basis for an OpenFOAM GeometricField into the ITHACAOutput/POD or ITHACAOutput/supremizer.

Parameters
snapshotsThe snapshots
[in]basesa PtrList of GeometricField where the bases are stored.
[in]fieldNameThe field name
[in]supa boolean variable 1 if you want to export the supremizer bases (in ITHACAOutput/supremizer) 0 elsewhere (Default is 0).
[in]sa PtrList of GeometricField where the snapshots associated with the bases are stored.
Template Parameters
Typevector or scalar.
PatchFieldfvPatchField or fvsPatchField.
GeoMeshvolMesh or surfaceMesh.

Definition at line 687 of file ITHACAPOD.C.

◆ exportBases() [2/3]

template void ITHACAPOD::exportBases ( PtrList< volScalarField > & s,
PtrList< volScalarField > & bases,
word fieldName,
bool sup )

◆ exportBases() [3/3]

template void ITHACAPOD::exportBases ( PtrList< volVectorField > & s,
PtrList< volVectorField > & bases,
word fieldName,
bool sup )

◆ exportcumEigenvalues()

void ITHACAPOD::exportcumEigenvalues ( scalarField cumEigenvalues,
fileName name,
bool sup = 0 )

Export the cumulative eigenvalues as a txt file.

Parameters
[in]cumEigenvaluesa scalarField of cumEigenvalues.
[in]namea fileName to indicate the name of the txt file.
[in]supIf 1, it exports the cumEigenValues in "ITHACAOutput/supremizer". If 0, no actions (Default is 0).

Definition at line 753 of file ITHACAPOD.C.

◆ exportEigenvalues()

void ITHACAPOD::exportEigenvalues ( scalarField Eigenvalues,
fileName name,
bool sup = 0 )

Exports the eigenvalues as a txt file.

Parameters
[in]Eigenvaluesa scalarField of eigenvalues.
[in]namea fileName to indicate the name of the txt file.
[in]supIf 1, it exports the eigenValues in "ITHACAOutput/supremizer". If 0, no actions (Default is 0).

Definition at line 724 of file ITHACAPOD.C.

◆ getModes() [1/12]

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,
bool sup,
label nmodes,
bool correctBC )

Definition at line 1547 of file ITHACAPOD.C.

◆ getModes() [2/12]

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.

Parameters
snapshotsThe snapshots of which we want to create the modes
modesThe modes of the snapshots
fields2The fields that we want to use for the eigenvalue decomposition
[in]fieldNameThe field name
[in]podexboolean variable 1 if the modes have been already computed and stored (in this case the function is reading them) 0 elsewhere.
[in]supexboolean variable 1 if the supremizer modes have been already computed and stored (in this case the function is reading them) 0 elsewhere.
[in]supboolean variable 1 if you want to compute the supremizer modes 0 elsewhere.
[in]nmodeslabel variable to set the number of modes to be stored, if set to 0 the maximum number of modes will computed.
Template Parameters
Field_typeType of field snapshots
Field_type_2Type of the other fields

◆ getModes() [3/12]

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,
bool sup,
label nmodes,
bool correctBC )

Definition at line 1002 of file ITHACAPOD.C.

◆ getModes() [4/12]

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.

Parameters
[in]snapshotsList of snapshots.
[out]modesA PtrList where modes are stored (it must be passed empty).
VolumesThe volumes
[in]fieldNameThe field name
[in]podexIf 1, the functions read the stored mode. If 0, the function computes the modes and stores them.
[in]supexIf 1, the functions read the stored supremizer mode. If 0, the function computes and stores them.
[in]supIf 1 it computes the supremizer modes.
[in]nmodesNumber of modes to be stored. If 0, the maximum number of modes will computed.
Template Parameters
Typevector or scalar.
PatchFieldfvPatchField or fvsPatchField.
GeoMeshvolMesh or surfaceMesh.

◆ getModes() [5/12]

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.

Parameters
[in]snapshotsList of snapshots.
[out]modesA PtrList where modes are stored (it must be passed empty).
[in]fieldNameThe field name
[in]podexIf 1, the functions read the stored mode. If 0, the function computes the modes and stores them.
[in]supexIf 1, the functions read the stored supremizer mode. If 0, the function computes and stores them.
[in]supIf 1 it computes the supremizer modes.
[in]nmodesNumber of modes to be stored. If 0, the maximum number of modes will computed.
Template Parameters
Typevector or scalar.
PatchFieldfvPatchField or fvsPatchField.
GeoMeshvolMesh or surfaceMesh.
Examples
02thermalBlock.C, 03steadyNS.C, 04unsteadyNS.C, 06POD_RBF.C, 09DEIM_ROM.C, 10UnsteadyBBEnclosed.C, 11UnsteadyBBOpen.C, 17YJunction.C, 19UnsteadyNSExplicit.C, and 20incrementalPOD.C.

Definition at line 93 of file ITHACAPOD.C.

◆ getModes() [6/12]

template void ITHACAPOD::getModes ( PtrList< surfaceScalarField > & snapshots,
PtrList< surfaceScalarField > & modes,
PtrList< volVectorField > & fields2,
word fieldName,
bool podex,
bool supex,
bool sup,
label nmodes,
bool correctBC )

◆ getModes() [7/12]

template void ITHACAPOD::getModes ( PtrList< surfaceScalarField > & snapshots,
PtrList< surfaceScalarField > & modes,
word fieldName,
bool podex,
bool supex,
bool sup,
label nmodes,
bool correctBC )

◆ getModes() [8/12]

template void ITHACAPOD::getModes ( PtrList< volScalarField > & snapshots,
PtrList< volScalarField > & modes,
PtrList< volScalarField > & Volumes,
word fieldName,
bool podex,
bool supex,
bool sup,
label nmodes,
bool correctBC )

◆ getModes() [9/12]

template void ITHACAPOD::getModes ( PtrList< volScalarField > & snapshots,
PtrList< volScalarField > & modes,
PtrList< volVectorField > & fields2,
word fieldName,
bool podex,
bool supex,
bool sup,
label nmodes,
bool correctBC )

◆ getModes() [10/12]

template void ITHACAPOD::getModes ( PtrList< volScalarField > & snapshots,
PtrList< volScalarField > & modes,
word fieldName,
bool podex,
bool supex,
bool sup,
label nmodes,
bool correctBC )

◆ getModes() [11/12]

template void ITHACAPOD::getModes ( PtrList< volVectorField > & snapshots,
PtrList< volVectorField > & modes,
PtrList< volScalarField > & Volumes,
word fieldName,
bool podex,
bool supex,
bool sup,
label nmodes,
bool correctBC )

◆ getModes() [12/12]

template void ITHACAPOD::getModes ( PtrList< volVectorField > & snapshots,
PtrList< volVectorField > & modes,
word fieldName,
bool podex,
bool supex,
bool sup,
label nmodes,
bool correctBC )

◆ getModesSVD() [1/3]

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.

Parameters
[in]snapshotsList of snapshots.
[out]modesA PtrList where modes are stored (it must be passed empty).
[in]fieldNameThe file name
[in]podexIf 1, the functions read the stored mode. If 0, the function computes the modes and stores them.
[in]supexIf 1, the functions read the stored supremizer mode. If 0, the function computes and stores them.
[in]supIf 1 it computes the supremizer modes.
[in]nmodesNumber of modes to be stored. If 0, the maximum number of modes will computed.
Template Parameters
Typevector or scalar.
PatchFieldfvPatchField or fvsPatchField.
GeoMeshvolMesh or surfaceMesh.

Definition at line 471 of file ITHACAPOD.C.

◆ getModesSVD() [2/3]

template void ITHACAPOD::getModesSVD ( PtrList< volScalarField > & snapshots,
PtrList< volScalarField > & modes,
word fieldName,
bool podex,
bool supex,
bool sup,
label nmodes,
bool correctBC )

◆ getModesSVD() [3/3]

template void ITHACAPOD::getModesSVD ( PtrList< volVectorField > & snapshots,
PtrList< volVectorField > & modes,
word fieldName,
bool podex,
bool supex,
bool sup,
label nmodes,
bool correctBC )

◆ getNestedSnapshotMatrix() [1/3]

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.

Computes the nested snapshot matrix and weighted bases for a vector field

Parameters
[in]snapshotsList of snapshots.
modesThe modes
[in]fieldNameThe field name
[in]NparNumber of parameters
[in]NnestedOutNumber of weighted modes to be stored for the assembly of the nested matrix
[out]UModesGlobalList of snapshots where modes are stored (it must be passed empty).
Template Parameters
Typevector or scalar.
PatchFieldfvPatchField or fvsPatchField.
GeoMeshvolMesh or surfaceMesh.

Definition at line 41 of file ITHACAPOD.C.

◆ getNestedSnapshotMatrix() [2/3]

template void ITHACAPOD::getNestedSnapshotMatrix ( PtrList< volScalarField > & snapshots,
PtrList< volScalarField > & ModesGlobal,
word fieldName,
label Npar,
label NnestedOut )

◆ getNestedSnapshotMatrix() [3/3]

template void ITHACAPOD::getNestedSnapshotMatrix ( PtrList< volVectorField > & snapshots,
PtrList< volVectorField > & ModesGlobal,
word fieldName,
label Npar,
label NnestedOut )

◆ getWeightedModes() [1/3]

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.

Parameters
[in]snapshotsList of snapshots.
[out]modesA PtrList where modes are stored (it must be passed empty).
[in]fieldNameThe field name
[in]podexIf 1, the functions read the stored mode. If 0, the function computes the modes and stores them.
[in]supexIf 1, the functions read the stored supremizer mode. If 0, the function computes and stores them.
[in]supIf 1, it computes the supremizer modes.
[in]nmodesNumber of modes to be stored. If 0, the maximum number of modes will computed.
Template Parameters
Typevector or scalar.
PatchFieldfvPatchField or fvsPatchField.
GeoMeshvolMesh or surfaceMesh.

Definition at line 328 of file ITHACAPOD.C.

◆ getWeightedModes() [2/3]

template void ITHACAPOD::getWeightedModes ( PtrList< volScalarField > & snapshots,
PtrList< volScalarField > & modes,
word fieldName,
bool podex,
bool supex,
bool sup,
label nmodes,
bool correctBC )

◆ getWeightedModes() [3/3]

template void ITHACAPOD::getWeightedModes ( PtrList< volVectorField > & snapshots,
PtrList< volVectorField > & modes,
word fieldName,
bool podex,
bool supex,
bool sup,
label nmodes,
bool correctBC )

◆ GrammSchmidt()

void ITHACAPOD::GrammSchmidt ( Eigen::MatrixXd & Matrix)

Performs GrammSchmidt orthonormalization on an Eigen Matrix.

Parameters
[out]MatrixThe matrix

Definition at line 981 of file ITHACAPOD.C.

◆ weightedGramSchmidt()

void ITHACAPOD::weightedGramSchmidt ( Eigen::MatrixXd & matrix,
Eigen::VectorXd & weights )

Weighted Gram-Schmidt orthogonalization.

Parameters
[in]matrixMatrix to be orthogonalized
[in]weightsVector of weights

Definition at line 190 of file incrementalPOD.H.