Loading...
Searching...
No Matches
tutorialIPOD Class Reference

Class where the tutorial number 20 is implemented. More...

Inheritance diagram for tutorialIPOD:
laplacianProblem reductionProblem

Public Member Functions

 tutorialIPOD (int argc, char *argv[])
 
void offlineSolve (word folder="./ITHACAoutput/Offline/")
 It perform an offline Solve.
 
void SetSource ()
 Define the source term function.
 
void compute_nu ()
 Compute the diffusivity in each subdomain.
 
void assemble_operator ()
 Construct the operator_list where each term of the affine decomposition is stored.
 
volScalarField solveFull (double _mu)
 Performs a full order solution for a uniform value of mu.
 
- 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 & T
 [tutorialIPOD] Temperature field
 
volScalarField & nu
 Diffusivity field.
 
volScalarField & S
 Source term field.
 
- 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

Class where the tutorial number 20 is implemented.

It is a child of the laplacianProblem class and some of its functions are overridden to be adapted to the specific case.

Examples
20incrementalPOD.C.

Definition at line 46 of file 20incrementalPOD.C.

Constructor & Destructor Documentation

◆ tutorialIPOD()

tutorialIPOD::tutorialIPOD ( int argc,
char * argv[] )
inlineexplicit
Examples
20incrementalPOD.C.

Definition at line 49 of file 20incrementalPOD.C.

Member Function Documentation

◆ assemble_operator()

void tutorialIPOD::assemble_operator ( )
inline

Construct the operator_list where each term of the affine decomposition is stored.

Examples
20incrementalPOD.C.

Definition at line 157 of file 20incrementalPOD.C.

◆ compute_nu()

void tutorialIPOD::compute_nu ( )
inline

Compute the diffusivity in each subdomain.

Examples
20incrementalPOD.C.

Definition at line 106 of file 20incrementalPOD.C.

◆ offlineSolve()

void tutorialIPOD::offlineSolve ( word folder = "./ITHACAoutput/Offline/")
inline

It perform an offline Solve.

Examples
20incrementalPOD.C.

Definition at line 65 of file 20incrementalPOD.C.

◆ SetSource()

void tutorialIPOD::SetSource ( )
inline

Define the source term function.

Examples
20incrementalPOD.C.

Definition at line 94 of file 20incrementalPOD.C.

◆ solveFull()

volScalarField tutorialIPOD::solveFull ( double _mu)
inline

Performs a full order solution for a uniform value of mu.

Examples
20incrementalPOD.C.

Definition at line 166 of file 20incrementalPOD.C.

Member Data Documentation

◆ nu

volScalarField& tutorialIPOD::nu

Diffusivity field.

Examples
20incrementalPOD.C.

Definition at line 60 of file 20incrementalPOD.C.

◆ S

volScalarField& tutorialIPOD::S

Source term field.

Examples
20incrementalPOD.C.

Definition at line 62 of file 20incrementalPOD.C.

◆ T

volScalarField& tutorialIPOD::T

[tutorialIPOD] Temperature field

Examples
20incrementalPOD.C.

Definition at line 58 of file 20incrementalPOD.C.


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