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 (int argc, char *argv[])
 Construct with argc and argv.
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.
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

Definition at line 114 of file 09DEIM_ROM.C.

Constructor & Destructor Documentation

◆ DEIMLaplacian()

DEIMLaplacian::DEIMLaplacian ( int argc,
char * argv[] )
inlineexplicit

Definition at line 117 of file 09DEIM_ROM.C.

Member Function Documentation

◆ OfflineSolve()

void DEIMLaplacian::OfflineSolve ( Eigen::MatrixXd par,
word Folder )
inline

Definition at line 159 of file 09DEIM_ROM.C.

◆ OnlineSolve()

void DEIMLaplacian::OnlineSolve ( Eigen::MatrixXd par_new,
word Folder )
inline

Definition at line 232 of file 09DEIM_ROM.C.

◆ OnlineSolveFull()

void DEIMLaplacian::OnlineSolveFull ( Eigen::MatrixXd par,
word Folder )
inline

Definition at line 178 of file 09DEIM_ROM.C.

◆ PODDEIM() [1/2]

void DEIMLaplacian::PODDEIM ( )
inline

Definition at line 200 of file 09DEIM_ROM.C.

◆ PODDEIM() [2/2]

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

Definition at line 205 of file 09DEIM_ROM.C.

Member Data Documentation

◆ DEIMmatrice

DEIM_function* DEIMLaplacian::DEIMmatrice

Definition at line 146 of file 09DEIM_ROM.C.

◆ Mlist

PtrList<fvScalarMatrix> DEIMLaplacian::Mlist

Definition at line 147 of file 09DEIM_ROM.C.

◆ ModesTEig

Eigen::MatrixXd DEIMLaplacian::ModesTEig

Definition at line 148 of file 09DEIM_ROM.C.

◆ NmodesDEIMA

int DEIMLaplacian::NmodesDEIMA

Definition at line 153 of file 09DEIM_ROM.C.

◆ NmodesDEIMB

int DEIMLaplacian::NmodesDEIMB

Definition at line 154 of file 09DEIM_ROM.C.

◆ NTmodes

int DEIMLaplacian::NTmodes

Definition at line 152 of file 09DEIM_ROM.C.

◆ nu

volScalarField& DEIMLaplacian::nu

Definition at line 141 of file 09DEIM_ROM.C.

◆ ReducedMatricesA

std::vector<Eigen::MatrixXd> DEIMLaplacian::ReducedMatricesA

Definition at line 149 of file 09DEIM_ROM.C.

◆ ReducedVectorsB

std::vector<Eigen::MatrixXd> DEIMLaplacian::ReducedVectorsB

Definition at line 150 of file 09DEIM_ROM.C.

◆ S

volScalarField& DEIMLaplacian::S

Definition at line 142 of file 09DEIM_ROM.C.

◆ T

volScalarField& DEIMLaplacian::T

Definition at line 143 of file 09DEIM_ROM.C.

◆ time_full

double DEIMLaplacian::time_full

Definition at line 156 of file 09DEIM_ROM.C.

◆ time_rom

double DEIMLaplacian::time_rom

Definition at line 157 of file 09DEIM_ROM.C.


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