Class where the tutorial number 20 is implemented. More...
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 | |
ITHACAparallel * | paral |
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 |
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.
Definition at line 46 of file 20incrementalPOD.C.
|
inlineexplicit |
Definition at line 49 of file 20incrementalPOD.C.
|
inline |
Construct the operator_list where each term of the affine decomposition is stored.
Definition at line 157 of file 20incrementalPOD.C.
|
inline |
Compute the diffusivity in each subdomain.
Definition at line 106 of file 20incrementalPOD.C.
|
inline |
It perform an offline Solve.
Definition at line 65 of file 20incrementalPOD.C.
|
inline |
Define the source term function.
Definition at line 94 of file 20incrementalPOD.C.
|
inline |
Performs a full order solution for a uniform value of mu.
Definition at line 166 of file 20incrementalPOD.C.
volScalarField& tutorialIPOD::nu |
volScalarField& tutorialIPOD::S |
volScalarField& tutorialIPOD::T |
[tutorialIPOD] Temperature field
Definition at line 58 of file 20incrementalPOD.C.