Implementation of a parametrized full order Burgers and preparation of the the reduced matrices for the online solve. More...
#include <Burgers.H>
Public Member Functions | |
| Burgers () | |
| Null constructor. | |
| Burgers (int argc, char *argv[]) | |
| Construct with argc and argv. | |
| ~Burgers () | |
| void | truthSolve (word folder="./ITHACAoutput/Offline/") |
| truthsolve | |
| void | restart () |
| Function to restart the fields of the Burgers problem. | |
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 Member Functions inherited from UnsteadyProblem | |
| UnsteadyProblem () | |
| void | setTimes (Time &timeObject) |
| bool | checkWrite (Time &timeObject) |
| Function to check if the solution must be exported. | |
Public Attributes | |
| ITHACAparameters * | para |
| PtrList< volVectorField > | Ufield |
| List of pointers used to form the velocity snapshots matrix. | |
| volVectorModes | Umodes |
| List of pointers used to form the velocity modes. | |
| autoPtr< volVectorField > | _U |
| Velocity field. | |
| autoPtr< volVectorField > | _U0 |
| Initial Velocity field (for restart purposes) | |
| autoPtr< fvMesh > | _mesh |
| Mesh. | |
| autoPtr< Time > | _runTime |
| Time. | |
| autoPtr< surfaceScalarField > | _phi |
| Flux. | |
| autoPtr< surfaceScalarField > | _phi0 |
| Initial Flux (for restart purposes) | |
| autoPtr< IOdictionary > | _transportProperties |
| autoPtr< dimensionedScalar > | _nu |
| autoPtr< fv::options > | _fvOptions |
| fvOptions | |
| autoPtr< simpleControl > | _simple |
| simpleControl | |
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 |
Public Attributes inherited from UnsteadyProblem | |
| scalar | startTime |
| Start Time (initial time to start storing the snapshots) | |
| scalar | finalTime |
| Final time (final time of the simulation and consequently of the acquisition of the snapshots) | |
| scalar | timeStep |
| Time step of the simulation. | |
| scalar | writeEvery = timeStep |
| Time step of the writing procedure. | |
| scalar | nextWrite |
| Auxiliary variable to store the next writing instant. | |
Implementation of a parametrized full order Burgers and preparation of the the reduced matrices for the online solve.
In this class are implemented the methods for the offline solve of a burgers problem and the for the generation of the reduced matrices for subsequent online solve, this class is a son of the reduction problem class
| Burgers::Burgers | ( | int | argc, |
| char * | argv[] ) |
| void Burgers::restart | ( | ) |
| void Burgers::truthSolve | ( | word | folder = "./ITHACAoutput/Offline/" | ) |
| autoPtr<surfaceScalarField> Burgers::_phi0 |
| autoPtr<volVectorField> Burgers::_U0 |
| ITHACAparameters* Burgers::para |
| PtrList<volVectorField> Burgers::Ufield |
| volVectorModes Burgers::Umodes |
1.13.2