Loading...
Searching...
No Matches
DEIMLaplacian Class Reference
Inheritance diagram for DEIMLaplacian:
laplacianProblem reductionProblem

Public Member Functions

 DEIMLaplacian (int argc, char *argv[])
 
void OfflineSolve (Eigen::MatrixXd par, word Folder)
 
void OnlineSolveFull (Eigen::MatrixXd par, word Folder)
 
void PODDEIM ()
 
void PODDEIM (int NmodesT, int NmodesDEIMA, int NmodesDEIMB)
 
void OnlineSolve (Eigen::MatrixXd par_new, word Folder)
 
- Public Member Functions inherited from laplacianProblem
 laplacianProblem ()
 
 laplacianProblem (int argc, char *argv[])
 Construct with argc and argv.
 
 ~laplacianProblem ()
 
void truthSolve (List< scalar > mu_now, word folder="./ITHACAoutput/Offline/")
 Perform a truthsolve.
 
void project (label Nmodes)
 Perform a projection onto the POD modes.
 
- Public Member Functions inherited from reductionProblem
 reductionProblem ()
 Construct Null.
 
 ~reductionProblem ()
 
void setParameters ()
 Set Parameters Problems.
 
void genRandPar ()
 Generate Random Numbers.
 
void genRandPar (label tsize)
 Generate Random Numbers given the dimension of the training set.
 
void genEquiPar ()
 Generate Equidistributed Numbers.
 
void truthSolve ()
 Perform a TruthSolve.
 
void assignBC (volVectorField &s, label BC_ind, Vector< double > &value)
 Assign Boundary Condition to a volVectorField.
 
void assignBC (volScalarField &s, label BC_ind, double &value)
 Assign Boundary Condition to a volScalarField.
 
void reconstructFromMatrix (PtrList< volVectorField > &rec_field2, PtrList< volVectorField > &modes, label Nmodes, Eigen::MatrixXd coeff_matrix)
 Exact reconstruction using a certain number of modes for vector list of fields and the projection coefficients (volVectorField)
 
void reconstructFromMatrix (PtrList< volScalarField > &rec_field2, PtrList< volScalarField > &modes, label Nmodes, Eigen::MatrixXd coeff_matrix)
 Exact reconstruction using a certain number of modes for vector list of fields and the projection coefficients (volScalarField)
 
template<typename T , typename G >
void assignIF (T &s, G &value)
 Assign internal field condition.
 
template<typename T >
void computeLift (T &Lfield, T &liftfield, T &omfield)
 Homogenize the snapshot matrix, it works with PtrList of volVectorField and volScalarField.
 
template<typename T >
void computeLiftT (T &Lfield, T &liftfield, T &omfield)
 Virtual function to compute the lifting function.
 
void liftSolve ()
 Virtual function to compute the lifting function for scalar field.
 
void liftSolveT ()
 
void project ()
 General projection operation.
 
void writeMu (List< scalar > mu_now)
 Write out a list of scalar corresponding to the parameters used in the truthSolve.
 
std::vector< SPLINTER::RBFSpline > getCoeffManifoldRBF (PtrList< volVectorField > snapshots, PtrList< volVectorField > &modes, word rbfBasis="GAUSSIAN")
 Constructs the parameters-coefficients manifold for vector fields, based on RBF-spline model.
 
std::vector< SPLINTER::RBFSpline > getCoeffManifoldRBF (PtrList< volScalarField > snapshots, PtrList< volScalarField > &modes, word rbfBasis="GAUSSIAN")
 Constructs the parameters-coefficients manifold for scalar fields, based on RBF-spline model.
 
std::vector< SPLINTER::BSpline > getCoeffManifoldSPL (PtrList< volVectorField > snapshots, PtrList< volVectorField > &modes, label splDeg=3)
 Constructs the parameters-coefficients manifold for vector fields, based on the B-spline model.
 
std::vector< SPLINTER::BSpline > getCoeffManifoldSPL (PtrList< volScalarField > snapshots, PtrList< volScalarField > &modes, label splDeg=3)
 Constructs the parameters-coefficients manifold for scalar fields, based on the B-spline model.
 

Public Attributes

volScalarField & nu
 
volScalarField & S
 
volScalarField & T
 
DEIM_functionDEIMmatrice
 
PtrList< fvScalarMatrix > Mlist
 
Eigen::MatrixXd ModesTEig
 
std::vector< Eigen::MatrixXd > ReducedMatricesA
 
std::vector< Eigen::MatrixXd > ReducedVectorsB
 
int NTmodes
 
int NmodesDEIMA
 
int NmodesDEIMB
 
double time_full
 
double time_rom
 
- Public Attributes inherited from laplacianProblem
PtrList< volScalarField > Tfield
 List of snapshots for the solution.
 
PtrList< volScalarField > Tonline
 List of snapshots for the solution.
 
volScalarModes Tmodes
 List of POD modes.
 
PtrList< fvScalarMatrix > operator_list
 List of operators.
 
List< scalar > theta
 Theta (coefficients of the affine expansion)
 
PtrList< volScalarField > nu_list
 Nu (diffusivity)
 
label NTmodes
 Number of modes reduced problem.
 
List< Eigen::MatrixXd > A_matrices
 A matrices.
 
Eigen::MatrixXd source
 Source vector.
 
autoPtr< volScalarField > _T
 Temperature field.
 
autoPtr< volScalarField > _S
 Source Term.
 
autoPtr< volScalarField > _nu
 Diffusivity.
 
autoPtr< fvMesh > _mesh
 Mesh.
 
autoPtr< Time > _runTime
 Time.
 
- Public Attributes inherited from reductionProblem
label Pnumber
 Number of parameters.
 
label Tnumber
 Dimension of the training set (used only when gerating parameters without input)
 
Eigen::MatrixXd mu
 Row matrix of parameters.
 
Eigen::MatrixXd mu_range
 Range of the parameter spaces.
 
Eigen::MatrixXd mu_samples
 Matrix of parameters to be used for PODI, where each row corresponds to a sample point. In this matrix the time dimension is regarded as a parameter for unsteady problems.
 
double mu_cur
 Current value of the parameter.
 
bool podex
 Boolean variable, it is 1 if the POD has already been computed, else 0.
 
bool offline
 Boolean variable, it is 1 if the Offline phase has already been computed, else 0.
 
IOdictionary * ITHACAdict
 dictionary to store input output infos
 
autoPtr< argList > _args
 argList
 
ITHACAparallelparal
 parallel handling
 
label folderN = 1
 Counter to save intermediate steps in the correct folder, for unsteady and some stationary cases.
 
label counter = 1
 Counter used for the output of the full order solutions.
 
Eigen::MatrixXi inletIndex
 Matrix that contains informations about the inlet boundaries.
 
Eigen::MatrixXi inletPatch
 Matrix that contains informations about the inlet boundaries without specifing the direction Rows = Number of parametrized boundary conditions
Cols = 1
Example:
example.inletIndex.resize(2, 1);
example.inletIndex(0, 0) = 0;
example.inletIndex(1, 0) = 1;
Means that there are two parametrized boundary conditions of which the first row is of patch 0 and the second row of patch 1.
 
Eigen::MatrixXi inletIndexT
 

Detailed Description

Examples
09DEIM_ROM.C.

Definition at line 114 of file 09DEIM_ROM.C.

Constructor & Destructor Documentation

◆ DEIMLaplacian()

DEIMLaplacian::DEIMLaplacian ( int argc,
char * argv[] )
inlineexplicit
Examples
09DEIM_ROM.C.

Definition at line 117 of file 09DEIM_ROM.C.

Member Function Documentation

◆ OfflineSolve()

void DEIMLaplacian::OfflineSolve ( Eigen::MatrixXd par,
word Folder )
inline
Examples
09DEIM_ROM.C.

Definition at line 159 of file 09DEIM_ROM.C.

◆ OnlineSolve()

void DEIMLaplacian::OnlineSolve ( Eigen::MatrixXd par_new,
word Folder )
inline
Examples
09DEIM_ROM.C.

Definition at line 231 of file 09DEIM_ROM.C.

◆ OnlineSolveFull()

void DEIMLaplacian::OnlineSolveFull ( Eigen::MatrixXd par,
word Folder )
inline
Examples
09DEIM_ROM.C.

Definition at line 178 of file 09DEIM_ROM.C.

◆ PODDEIM() [1/2]

void DEIMLaplacian::PODDEIM ( )
inline
Examples
09DEIM_ROM.C.

Definition at line 199 of file 09DEIM_ROM.C.

◆ PODDEIM() [2/2]

void DEIMLaplacian::PODDEIM ( int NmodesT,
int NmodesDEIMA,
int NmodesDEIMB )
inline

Definition at line 204 of file 09DEIM_ROM.C.

Member Data Documentation

◆ DEIMmatrice

DEIM_function* DEIMLaplacian::DEIMmatrice
Examples
09DEIM_ROM.C.

Definition at line 146 of file 09DEIM_ROM.C.

◆ Mlist

PtrList<fvScalarMatrix> DEIMLaplacian::Mlist
Examples
09DEIM_ROM.C.

Definition at line 147 of file 09DEIM_ROM.C.

◆ ModesTEig

Eigen::MatrixXd DEIMLaplacian::ModesTEig
Examples
09DEIM_ROM.C.

Definition at line 148 of file 09DEIM_ROM.C.

◆ NmodesDEIMA

int DEIMLaplacian::NmodesDEIMA
Examples
09DEIM_ROM.C.

Definition at line 153 of file 09DEIM_ROM.C.

◆ NmodesDEIMB

int DEIMLaplacian::NmodesDEIMB
Examples
09DEIM_ROM.C.

Definition at line 154 of file 09DEIM_ROM.C.

◆ NTmodes

int DEIMLaplacian::NTmodes
Examples
09DEIM_ROM.C.

Definition at line 152 of file 09DEIM_ROM.C.

◆ nu

volScalarField& DEIMLaplacian::nu
Examples
09DEIM_ROM.C.

Definition at line 141 of file 09DEIM_ROM.C.

◆ ReducedMatricesA

std::vector<Eigen::MatrixXd> DEIMLaplacian::ReducedMatricesA
Examples
09DEIM_ROM.C.

Definition at line 149 of file 09DEIM_ROM.C.

◆ ReducedVectorsB

std::vector<Eigen::MatrixXd> DEIMLaplacian::ReducedVectorsB
Examples
09DEIM_ROM.C.

Definition at line 150 of file 09DEIM_ROM.C.

◆ S

volScalarField& DEIMLaplacian::S
Examples
09DEIM_ROM.C.

Definition at line 142 of file 09DEIM_ROM.C.

◆ T

volScalarField& DEIMLaplacian::T
Examples
09DEIM_ROM.C.

Definition at line 143 of file 09DEIM_ROM.C.

◆ time_full

double DEIMLaplacian::time_full
Examples
09DEIM_ROM.C.

Definition at line 156 of file 09DEIM_ROM.C.

◆ time_rom

double DEIMLaplacian::time_rom
Examples
09DEIM_ROM.C.

Definition at line 157 of file 09DEIM_ROM.C.


The documentation for this class was generated from the following file: