Implementation of a parametrized full order steady NS problem and preparation of the the reduced matrices for the online solve. More...
#include <steadyNS.H>
Public Member Functions | |
| steadyNS () | |
| Null constructor. | |
| steadyNS (int argc, char *argv[]) | |
| Construct with argc and argv. | |
| ~steadyNS () | |
| void | truthSolve (List< scalar > mu_now) |
| Perform a truthsolve. | |
| void | solvesupremizer (word type="snapshots") |
| solve the supremizer either with the use of the pressure snaphots or the pressure modes | |
| void | liftSolve () |
| Perform a lift solve. | |
| void | projectPPE (fileName folder, label NUmodes, label NPmodes, label NSUPmodes=0) |
| Project using the Poisson Equation for pressure. | |
| void | projectSUP (fileName folder, label NUmodes, label NPmodes, label NSUPmodes) |
| Project using a supremizer approach. | |
| void | discretizeThenProject (fileName folder, label NUmodes, label NPmodes, label NSUPmodes=0) |
| Project using the Discretize-then-project approach. | |
| Eigen::MatrixXd | diffusive_term (label NUmodes, label NPmodes, label NSUPmodes) |
| Diffusive Term. | |
| Eigen::MatrixXd | diffusive_term_sym (label NUmodes, label NPmodes, label NSUPmodes) |
| Symetric diffusive Term. | |
| Eigen::MatrixXd | pressure_gradient_term (label NUmodes, label NPmodes, label NSUPmodes) |
| Gradient of pressure. | |
| List< Eigen::MatrixXd > | convective_term (label NUmodes, label NPmodes, label NSUPmodes) |
| Convective Term. | |
| Eigen::MatrixXd | mass_term (label NUmodes, label NPmodes, label NSUPmodes) |
| Mass Term. | |
| Eigen::MatrixXd | divergence_term (label NUmodes, label NPmodes, label NSUPmodes) |
| Divergence Term (supremizer approach) | |
| List< Eigen::MatrixXd > | div_momentum (label NUmodes, label NPmodes) |
| Divergence of convective term (PPE approach) | |
| Eigen::Tensor< double, 3 > | divMomentum (label NUmodes, label NPmodes) |
| Divergence of convective term (PPE approach) | |
| Eigen::Tensor< double, 3 > | divMomentum_cache (label NUmodes, label NPmodes) |
| Divergence of convective term (PPE approach) using the cached procedure. | |
| Eigen::MatrixXd | laplacian_pressure (label NPmodes) |
| Laplacian of pressure term (PPE approach) | |
| Eigen::MatrixXd | convective_background (label NUmodes, volVectorField vls) |
| Large Scale / Background Advection. | |
| Eigen::MatrixXd | divergent_convective_background (label NPmodes, label NUmodes, volVectorField vls) |
| Divergent of Large Scale / Background Advection. | |
| Eigen::MatrixXd | pressure_BC1 (label NPmodes, label NUmodes) |
| Term N° 1 given by the additional boundary condition using a PPE approach. | |
| List< Eigen::MatrixXd > | pressure_BC2 (label NPmodes, label NUmodes) |
| Term N° 2 given by the additional boundary condition using a PPE approach. | |
| Eigen::Tensor< double, 3 > | pressureBC2 (label NPmodes, label NUmodes) |
| Term N° 2 given by the additional boundary condition using a PPE approach. | |
| Eigen::MatrixXd | pressure_BC3 (label NPmodes, label NUmodes) |
| Term N° 3 given by the additional boundary condition using a PPE approach. | |
| Eigen::MatrixXd | pressure_BC4 (label NPmodes, label NUmodes) |
| Term N° 4 given by the additional boundary condition using a PPE approach for time-dependent BCs. | |
| List< Eigen::MatrixXd > | bcVelocityVec (label NUmodes, label NSUPmodes) |
| Boundary integral modes on boundary used by the penaly method. | |
| List< Eigen::MatrixXd > | bcVelocityMat (label NUmodes, label NSUPmodes) |
| Boundary integral modes on boundary used by the penaly method. | |
| Eigen::MatrixXd | diffusive_term_flux_method (label NUmodes, label NPmodes, label NSUPmodes) |
| Diffusive Flux Method. | |
| List< Eigen::MatrixXd > | boundary_vector_diffusion (label NUmodes, label NPmodes, label NSUPmodes) |
| Boundary vector diffusion term. | |
| List< Eigen::MatrixXd > | boundary_vector_convection (label NUmodes, label NPmodes, label NSUPmodes) |
| Boundary vector convection term. | |
| Eigen::Tensor< double, 3 > | convective_term_flux_tens (label NUmodes, label NPmodes, label NSUPmodes) |
| Convective Term. | |
| List< Eigen::MatrixXd > | pressure_gradient_term_linsys_div (label NPmodes) |
| Laplacian of pressure Linear System - Divergence term. | |
| List< Eigen::MatrixXd > | pressure_gradient_term_linsys_diff (label NPmodes) |
| Laplacian of pressure Linear System - Diffusion term. | |
| List< Eigen::MatrixXd > | pressure_gradient_term_linsys_conv (label NPmodes) |
| Laplacian of pressure Linear System - Convection term. | |
| Eigen::MatrixXd | diffusive_term_consistent (label NUmodes, label NPmodes, label NSUPmodes) |
| Diffusion Term (consistent flux method) | |
| List< Eigen::MatrixXd > | boundary_vector_diffusion_consistent (label NUmodes, label NSUPmodes) |
| Boundary vector diffusion term (consistent flux method) | |
| List< Eigen::MatrixXd > | boundary_vector_convection_consistent (label NUmodes, label NSUPmodes) |
| Boundary vector convection term - Consistent Flux Method. | |
| Eigen::MatrixXd | mass_matrix_newtime_consistent (label NUmodes, label NPmodes, label NSUPmodes) |
| Mass Matrix new time step (consistent flux method) | |
| Eigen::MatrixXd | mass_matrix_oldtime_consistent (label NUmodes, label NPmodes, label NSUPmodes) |
| Mass Matrix old time step (consistent flux method) | |
| Eigen::MatrixXd | pressure_gradient_term_consistent (label NUmodes, label NPmodes, label NSUPmodes) |
| Pressure Gradient Term (consistent flux method) | |
| Eigen::Tensor< double, 3 > | convective_term_consistent_tens (label NUmodes, label NPmodes, label NSUPmodes) |
| Convective Term (consistent flux method) | |
| void | change_viscosity (double mu) |
| Function to change the viscosity. | |
| void | forcesMatrices (label NUmodes, label NPmodes, label NSUPmodes) |
| Compute lift and drag matrices. | |
| void | forcesMatrices (label nModes) |
| Compute lift and drag matrices offline matrices for the case of same number of velocity and pressure modes. | |
| void | reconstructLiftAndDrag (const Eigen::MatrixXd &velCoeffs, const Eigen::MatrixXd &pressureCoeffs, fileName folder) |
| Method to reconstruct the forces using velocity and pressure coefficients. | |
| Eigen::Tensor< double, 3 > | convective_term_tens (label NUmodes, label NPmodes, label NSUPmodes) |
| Export convective term as a tensor. | |
| Eigen::Tensor< double, 3 > | convective_term_tens_cache (label NUmodes, label NPmodes, label NSUPmodes) |
| Export convective term as a tensor using the cached procedure. | |
| void | restart () |
| set U and P back to the values into the 0 folder | |
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 | |
| ITHACAparameters * | para |
| PtrList< volScalarField > | Pfield |
| List of pointers used to form the pressure snapshots matrix. | |
| PtrList< volVectorField > | Ufield |
| List of pointers used to form the velocity snapshots matrix. | |
| PtrList< volVectorField > | supfield |
| List of pointers used to form the supremizer snapshots matrix. | |
| PtrList< surfaceScalarField > | Phifield |
| List of pointers used to form the flux snapshots matrix. | |
| volScalarModes | Pmodes |
| List of pointers used to form the pressure modes. | |
| volVectorModes | Umodes |
| List of pointers used to form the velocity modes. | |
| volVectorModes | supmodes |
| List of pointers used to form the supremizer modes. | |
| surfaceScalarModes | Phimodes |
| List of pointers used to form the flux modes. | |
| PtrList< volVectorField > | liftfield |
| List of pointers used to form the list of lifting functions. | |
| PtrList< volScalarField > | liftfieldP |
| List of pointer used to form the list of lifting functions for the pressure. | |
| PtrList< volVectorField > | Uomfield |
| List of pointers used to form the homogeneous velocity snapshots. | |
| volVectorModes | L_U_SUPmodes |
| List of pointers containing the total number of lift, supremizer and velocity modes. | |
| surfaceScalarModes | L_PHImodes |
| List of pointers containing the total number of flux modes. | |
| scalar | tolerance |
| Tolerance for the residual of the stationary problems, there is the same tolerance for velocity and pressure. | |
| scalar | maxIter |
| Number of maximum iterations to be done for the computation of the truth solution. | |
| label | NUmodesOut |
| Number of velocity modes to be calculated. | |
| label | NPmodesOut |
| Number of pressure modes to be calculated. | |
| label | NSUPmodesOut |
| Number of supremizer modes to be calculated. | |
| label | NNutModesOut |
| Number of nut modes to be calculated. | |
| label | NUmodes |
| Number of velocity modes used for the projection. | |
| label | NPmodes |
| Number of pressure modes used for the projection. | |
| label | NSUPmodes |
| Number of supremizer modes used for the projection. | |
| label | NNutModes |
| Number of nut modes used for the projection. | |
| Eigen::MatrixXd | tauMatrix |
| Viscous forces. | |
| Eigen::MatrixXd | nMatrix |
| Pressure forces. | |
| List< Eigen::MatrixXd > | bcVelVec |
| Boundary term for penalty method - vector. | |
| List< Eigen::MatrixXd > | bcVelMat |
| Boundary term for penalty method - matrix. | |
| Eigen::MatrixXd | BP_matrix |
| Diffusion term for flux method PPE. | |
| List< Eigen::MatrixXd > | RD_matrix |
| Boundary term for diffusion term. | |
| List< Eigen::MatrixXd > | RC_matrix |
| Boundary vector for convection term. | |
| List< Eigen::MatrixXd > | SD_matrix |
| Boundary term for diffusion term - Consistent Flux Method. | |
| List< Eigen::MatrixXd > | SC_matrix |
| Boundary term for convection term - Consistent Flux Method. | |
| Eigen::Tensor< double, 3 > | Cf_tensor |
| Convection term for flux method. | |
| Eigen::Tensor< double, 3 > | Ci_tensor |
| Convection term - Consistent Flux Method. | |
| List< Eigen::MatrixXd > | LinSysDiv |
| Projection Peqn onto Pressure modes - Divergence term. | |
| List< Eigen::MatrixXd > | LinSysDiff |
| Projection Peqn onto Pressure modes - Diffusion term. | |
| List< Eigen::MatrixXd > | LinSysConv |
| Projection Peqn onto Pressure modes - Convection term. | |
| bool | supex |
| Boolean variable to check the existence of the supremizer modes. | |
| autoPtr< volScalarField > | _p |
| Pressure field. | |
| autoPtr< volVectorField > | _U |
| Velocity field. | |
| autoPtr< volScalarField > | _p0 |
| Initial Pressure field (for restart purposes) | |
| autoPtr< volVectorField > | _U0 |
| Initial Velocity field (for restart purposes) | |
| autoPtr< volVectorField > | Uinl |
| Initial dummy field with all Dirichlet boundary conditions. | |
| autoPtr< dimensionedScalar > | dt_dummy |
| Dummy time step including unit. | |
| autoPtr< dimensionedScalar > | nu_dummy |
| Dummy viscocity including unit. | |
| autoPtr< fvMesh > | _mesh |
| Mesh. | |
| autoPtr< simpleControl > | _simple |
| simpleControl | |
| autoPtr< fv::options > | _fvOptions |
| fvOptions | |
| autoPtr< Time > | _runTime |
| Time. | |
| autoPtr< surfaceScalarField > | _phi |
| Flux. | |
| autoPtr< surfaceScalarField > | _phi0 |
| Initial Flux (for restart purposes) | |
| autoPtr< incompressible::turbulenceModel > | turbulence |
| Turbulence model. | |
| autoPtr< singlePhaseTransportModel > | _laminarTransport |
| Laminar transport (used by turbulence model) | |
| autoPtr< IOMRFZoneList > | _MRF |
| MRF variable. | |
| label | pRefCell |
| Reference pressure cell. | |
| scalar | pRefValue |
| Reference pressure value. | |
| scalar | cumulativeContErr = 0 |
| continuity error | |
| word | bcMethod |
| Boundary Method. | |
| word | fluxMethod |
| Flux Method. | |
Reduced Matrices | |
| Eigen::MatrixXd | B_matrix |
| Diffusion term. | |
| Eigen::MatrixXd | M_matrix |
| Mass Matrix. | |
| Eigen::MatrixXd | K_matrix |
| Gradient of pressure matrix. | |
| List< Eigen::MatrixXd > | C_matrix |
| Non linear term. | |
| Eigen::Tensor< double, 3 > | C_tensor |
| Diffusion term. | |
| Eigen::MatrixXd | P_matrix |
| Div of velocity. | |
| Eigen::MatrixXd | L_matrix |
| Convective background / Large scale advection term. | |
| Eigen::MatrixXd | L_D_matrix |
| Divergent convective background / Large scale advection term. | |
| Eigen::MatrixXd | D_matrix |
| Laplacian term PPE. | |
| List< Eigen::MatrixXd > | G_matrix |
| Divergence of momentum PPE. | |
| Eigen::Tensor< double, 3 > | gTensor |
| Divergence of momentum PPE. | |
| Eigen::MatrixXd | BC1_matrix |
| PPE BC1. | |
| List< Eigen::MatrixXd > | BC2_matrix |
| PPE BC2. | |
| Eigen::Tensor< double, 3 > | bc2Tensor |
| PPE BC2. | |
| Eigen::MatrixXd | BC3_matrix |
| PPE BC3. | |
| Eigen::MatrixXd | BC4_matrix |
| PPE BC4. | |
| Eigen::MatrixXd | W_matrix |
| Mass Matrix New Time Step - Consistent Flux Method. | |
| Eigen::MatrixXd | I_matrix |
| Mass Matrix Old Time Step - Consistent Flux Method. | |
| Eigen::MatrixXd | DF_matrix |
| Diffusion Term - Consistent Flux Method. | |
| Eigen::MatrixXd | KF_matrix |
| Pressure Gradient Term - Consistent Flux Method. | |
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 |
Implementation of a parametrized full order steady NS problem and preparation of the the reduced matrices for the online solve.
In this class are implemented the methods for the offline solve of a steady NS problem and the for the generation of the reduced matrices for subsequent online solve, this class is a son of the reduction problem class
Definition at line 69 of file steadyNS.H.
| steadyNS::steadyNS | ( | ) |
| steadyNS::steadyNS | ( | int | argc, |
| char * | argv[] ) |
Construct with argc and argv.
Definition at line 42 of file steadyNS.C.
|
inline |
Definition at line 80 of file steadyNS.H.
| List< Eigen::MatrixXd > steadyNS::bcVelocityMat | ( | label | NUmodes, |
| label | NSUPmodes ) |
Boundary integral modes on boundary used by the penaly method.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1519 of file steadyNS.C.
| List< Eigen::MatrixXd > steadyNS::bcVelocityVec | ( | label | NUmodes, |
| label | NSUPmodes ) |
Boundary integral modes on boundary used by the penaly method.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1487 of file steadyNS.C.
| List< Eigen::MatrixXd > steadyNS::boundary_vector_convection | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Boundary vector convection term.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1630 of file steadyNS.C.
| List< Eigen::MatrixXd > steadyNS::boundary_vector_convection_consistent | ( | label | NUmodes, |
| label | NSUPmodes ) |
Boundary vector convection term - Consistent Flux Method.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1980 of file steadyNS.C.
| List< Eigen::MatrixXd > steadyNS::boundary_vector_diffusion | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Boundary vector diffusion term.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1584 of file steadyNS.C.
| List< Eigen::MatrixXd > steadyNS::boundary_vector_diffusion_consistent | ( | label | NUmodes, |
| label | NSUPmodes ) |
Boundary vector diffusion term (consistent flux method)
| [in] | NUmodes | The number of velocity modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1946 of file steadyNS.C.
| void steadyNS::change_viscosity | ( | double | mu | ) |
Function to change the viscosity.
| [in] | mu | viscosity (scalar) |
Definition at line 2038 of file steadyNS.C.
| Eigen::MatrixXd steadyNS::convective_background | ( | label | NUmodes, |
| volVectorField | vls ) |
Large Scale / Background Advection.
| [in] | NUmodes | The number of velocity modes. |
| [in] | vls | Additional advecting field |
Definition at line 1251 of file steadyNS.C.
| List< Eigen::MatrixXd > steadyNS::convective_term | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Convective Term.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 962 of file steadyNS.C.
| Eigen::Tensor< double, 3 > steadyNS::convective_term_consistent_tens | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Convective Term (consistent flux method)
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1912 of file steadyNS.C.
| Eigen::Tensor< double, 3 > steadyNS::convective_term_flux_tens | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Convective Term.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1676 of file steadyNS.C.
| Eigen::Tensor< double, 3 > steadyNS::convective_term_tens | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Export convective term as a tensor.
| [in] | NUmodes | The N of velocity modes |
| [in] | NPmodes | The N of pressure modes |
| [in] | NSUPmodes | The N of supremizer modes |
Definition at line 997 of file steadyNS.C.
| Eigen::Tensor< double, 3 > steadyNS::convective_term_tens_cache | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Export convective term as a tensor using the cached procedure.
| [in] | NUmodes | The N of velocity modes |
| [in] | NPmodes | The N of pressure modes |
| [in] | NSUPmodes | The N of supremizer modes |
Definition at line 1038 of file steadyNS.C.
| Eigen::MatrixXd steadyNS::diffusive_term | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Diffusive Term.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 883 of file steadyNS.C.
| Eigen::MatrixXd steadyNS::diffusive_term_consistent | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Diffusion Term (consistent flux method)
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1851 of file steadyNS.C.
| Eigen::MatrixXd steadyNS::diffusive_term_flux_method | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Diffusive Flux Method.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1556 of file steadyNS.C.
| Eigen::MatrixXd steadyNS::diffusive_term_sym | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Symetric diffusive Term.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 909 of file steadyNS.C.
| void steadyNS::discretizeThenProject | ( | fileName | folder, |
| label | NUmodes, | ||
| label | NPmodes, | ||
| label | NSUPmodes = 0 ) |
Project using the Discretize-then-project approach.
| [in] | folder | The folder used to save the reduced matrices. |
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes, 0 by default and it must remain always zero. |
Definition at line 709 of file steadyNS.C.
| List< Eigen::MatrixXd > steadyNS::div_momentum | ( | label | NUmodes, |
| label | NPmodes ) |
Divergence of convective term (PPE approach)
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
Definition at line 1138 of file steadyNS.C.
| Eigen::MatrixXd steadyNS::divergence_term | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Divergence Term (supremizer approach)
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1110 of file steadyNS.C.
| Eigen::MatrixXd steadyNS::divergent_convective_background | ( | label | NPmodes, |
| label | NUmodes, | ||
| volVectorField | vls ) |
Divergent of Large Scale / Background Advection.
| [in] | NPmodes | The number of pressure modes. |
| [in] | NUmodes | The number of velocity modes. |
| [in] | vls | Additional advecting field |
Definition at line 1268 of file steadyNS.C.
| Eigen::Tensor< double, 3 > steadyNS::divMomentum | ( | label | NUmodes, |
| label | NPmodes ) |
Divergence of convective term (PPE approach)
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
Definition at line 1174 of file steadyNS.C.
| Eigen::Tensor< double, 3 > steadyNS::divMomentum_cache | ( | label | NUmodes, |
| label | NPmodes ) |
Divergence of convective term (PPE approach) using the cached procedure.
Divergence of convective term (PPE approach)
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
Definition at line 1205 of file steadyNS.C.
| void steadyNS::forcesMatrices | ( | label | nModes | ) |
Compute lift and drag matrices offline matrices for the case of same number of velocity and pressure modes.
| [in] | nModes | The number of modes used in the online stage for all reduced variables |
Definition at line 2139 of file steadyNS.C.
| void steadyNS::forcesMatrices | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Compute lift and drag matrices.
| [in] | NUmodes | The N of velocity modes |
| [in] | NPmodes | The N of pressure modes |
| [in] | NSUPmodes | The N of supremizer modes |
Definition at line 2051 of file steadyNS.C.
| Eigen::MatrixXd steadyNS::laplacian_pressure | ( | label | NPmodes | ) |
Laplacian of pressure term (PPE approach)
| [in] | NPmodes | The number of pressure modes. |
Definition at line 1286 of file steadyNS.C.
| void steadyNS::liftSolve | ( | ) |
| Eigen::MatrixXd steadyNS::mass_matrix_newtime_consistent | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Mass Matrix new time step (consistent flux method)
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 2014 of file steadyNS.C.
| Eigen::MatrixXd steadyNS::mass_matrix_oldtime_consistent | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Mass Matrix old time step (consistent flux method)
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1822 of file steadyNS.C.
| Eigen::MatrixXd steadyNS::mass_term | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Mass Term.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1084 of file steadyNS.C.
| Eigen::MatrixXd steadyNS::pressure_BC1 | ( | label | NPmodes, |
| label | NUmodes ) |
Term N° 1 given by the additional boundary condition using a PPE approach.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
Definition at line 1309 of file steadyNS.C.
| List< Eigen::MatrixXd > steadyNS::pressure_BC2 | ( | label | NPmodes, |
| label | NUmodes ) |
Term N° 2 given by the additional boundary condition using a PPE approach.
| [in] | NPmodes | The number of pressure modes. |
| [in] | NUmodes | The number of velocity modes. |
Definition at line 1343 of file steadyNS.C.
| Eigen::MatrixXd steadyNS::pressure_BC3 | ( | label | NPmodes, |
| label | NUmodes ) |
Term N° 3 given by the additional boundary condition using a PPE approach.
| [in] | NPmodes | The number of pressure modes. |
| [in] | NUmodes | The number of velocity modes. |
Definition at line 1420 of file steadyNS.C.
| Eigen::MatrixXd steadyNS::pressure_BC4 | ( | label | NPmodes, |
| label | NUmodes ) |
Term N° 4 given by the additional boundary condition using a PPE approach for time-dependent BCs.
| [in] | NPmodes | The number of pressure modes. |
| [in] | NUmodes | The number of velocity modes. |
Definition at line 1452 of file steadyNS.C.
| Eigen::MatrixXd steadyNS::pressure_gradient_term | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Gradient of pressure.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 935 of file steadyNS.C.
| Eigen::MatrixXd steadyNS::pressure_gradient_term_consistent | ( | label | NUmodes, |
| label | NPmodes, | ||
| label | NSUPmodes ) |
Pressure Gradient Term (consistent flux method)
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1883 of file steadyNS.C.
| List< Eigen::MatrixXd > steadyNS::pressure_gradient_term_linsys_conv | ( | label | NPmodes | ) |
Laplacian of pressure Linear System - Convection term.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1752 of file steadyNS.C.
| List< Eigen::MatrixXd > steadyNS::pressure_gradient_term_linsys_diff | ( | label | NPmodes | ) |
Laplacian of pressure Linear System - Diffusion term.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1787 of file steadyNS.C.
| List< Eigen::MatrixXd > steadyNS::pressure_gradient_term_linsys_div | ( | label | NPmodes | ) |
Laplacian of pressure Linear System - Divergence term.
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 1720 of file steadyNS.C.
| Eigen::Tensor< double, 3 > steadyNS::pressureBC2 | ( | label | NPmodes, |
| label | NUmodes ) |
Term N° 2 given by the additional boundary condition using a PPE approach.
| [in] | NPmodes | The n pmodes |
| [in] | NUmodes | The n umodes |
Definition at line 1380 of file steadyNS.C.
| void steadyNS::projectPPE | ( | fileName | folder, |
| label | NUmodes, | ||
| label | NPmodes, | ||
| label | NSUPmodes = 0 ) |
Project using the Poisson Equation for pressure.
| [in] | folder | The folder used to save the reduced matrices. |
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes, 0 by default and it must remain always zero. |
Definition at line 354 of file steadyNS.C.
| void steadyNS::projectSUP | ( | fileName | folder, |
| label | NUmodes, | ||
| label | NPmodes, | ||
| label | NSUPmodes ) |
Project using a supremizer approach.
| [in] | folder | The folder used to save the reduced matrices. |
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
Definition at line 556 of file steadyNS.C.
| void steadyNS::reconstructLiftAndDrag | ( | const Eigen::MatrixXd & | velCoeffs, |
| const Eigen::MatrixXd & | pressureCoeffs, | ||
| fileName | folder ) |
Method to reconstruct the forces using velocity and pressure coefficients.
| [in] | velCoeffs | The velocity coefficients matrix |
| [in] | pressureCoeffs | The pressure coefficients matrix |
| [in] | folder | The folder where to output the forces matrices |
Definition at line 2227 of file steadyNS.C.
| void steadyNS::restart | ( | ) |
set U and P back to the values into the 0 folder
Definition at line 2277 of file steadyNS.C.
| void steadyNS::solvesupremizer | ( | word | type = "snapshots" | ) |
solve the supremizer either with the use of the pressure snaphots or the pressure modes
| [in] | type | The type of the supremizer approach, either done on the pressure snapshots or on pressure modes. |
Definition at line 137 of file steadyNS.C.
| void steadyNS::truthSolve | ( | List< scalar > | mu_now | ) |
Perform a truthsolve.
| [in] | mu_now | The actual value of the parameter for this truthSolve. Used only to construct mu_interp matrix which is written out in the Offline folder, also for par file in the Parameters folder. |
Definition at line 97 of file steadyNS.C.
| autoPtr<fv::options> steadyNS::_fvOptions |
| autoPtr<singlePhaseTransportModel> steadyNS::_laminarTransport |
Laminar transport (used by turbulence model)
Definition at line 311 of file steadyNS.H.
|
mutable |
Mesh.
Definition at line 290 of file steadyNS.H.
| autoPtr<IOMRFZoneList> steadyNS::_MRF |
| autoPtr<volScalarField> steadyNS::_p |
Pressure field.
Definition at line 269 of file steadyNS.H.
| autoPtr<volScalarField> steadyNS::_p0 |
Initial Pressure field (for restart purposes)
Definition at line 275 of file steadyNS.H.
| autoPtr<surfaceScalarField> steadyNS::_phi |
Flux.
Definition at line 302 of file steadyNS.H.
| autoPtr<surfaceScalarField> steadyNS::_phi0 |
Initial Flux (for restart purposes)
Definition at line 305 of file steadyNS.H.
| autoPtr<Time> steadyNS::_runTime |
Time.
Definition at line 299 of file steadyNS.H.
| autoPtr<simpleControl> steadyNS::_simple |
| autoPtr<volVectorField> steadyNS::_U |
Velocity field.
Definition at line 272 of file steadyNS.H.
| autoPtr<volVectorField> steadyNS::_U0 |
Initial Velocity field (for restart purposes)
Definition at line 278 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::B_matrix |
Diffusion term.
Definition at line 160 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::BC1_matrix |
PPE BC1.
Definition at line 191 of file steadyNS.H.
| List<Eigen::MatrixXd> steadyNS::BC2_matrix |
PPE BC2.
Definition at line 194 of file steadyNS.H.
| Eigen::Tensor<double, 3 > steadyNS::bc2Tensor |
PPE BC2.
Definition at line 197 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::BC3_matrix |
PPE BC3.
Definition at line 200 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::BC4_matrix |
PPE BC4.
Definition at line 203 of file steadyNS.H.
| word steadyNS::bcMethod |
| List<Eigen::MatrixXd> steadyNS::bcVelMat |
Boundary term for penalty method - matrix.
Definition at line 230 of file steadyNS.H.
| List<Eigen::MatrixXd> steadyNS::bcVelVec |
Boundary term for penalty method - vector.
Definition at line 227 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::BP_matrix |
Diffusion term for flux method PPE.
Definition at line 233 of file steadyNS.H.
| List<Eigen::MatrixXd> steadyNS::C_matrix |
Non linear term.
Definition at line 169 of file steadyNS.H.
| Eigen::Tensor<double, 3 > steadyNS::C_tensor |
Diffusion term.
Definition at line 170 of file steadyNS.H.
| Eigen::Tensor<double, 3 > steadyNS::Cf_tensor |
Convection term for flux method.
Definition at line 248 of file steadyNS.H.
| Eigen::Tensor<double, 3 > steadyNS::Ci_tensor |
Convection term - Consistent Flux Method.
Definition at line 251 of file steadyNS.H.
| scalar steadyNS::cumulativeContErr = 0 |
continuity error
Definition at line 323 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::D_matrix |
Laplacian term PPE.
Definition at line 182 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::DF_matrix |
Diffusion Term - Consistent Flux Method.
Definition at line 212 of file steadyNS.H.
| autoPtr<dimensionedScalar> steadyNS::dt_dummy |
Dummy time step including unit.
Definition at line 284 of file steadyNS.H.
| word steadyNS::fluxMethod |
| List<Eigen::MatrixXd> steadyNS::G_matrix |
Divergence of momentum PPE.
Definition at line 185 of file steadyNS.H.
| Eigen::Tensor<double, 3 > steadyNS::gTensor |
Divergence of momentum PPE.
Definition at line 188 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::I_matrix |
Mass Matrix Old Time Step - Consistent Flux Method.
Definition at line 209 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::K_matrix |
Gradient of pressure matrix.
Definition at line 166 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::KF_matrix |
Pressure Gradient Term - Consistent Flux Method.
Definition at line 215 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::L_D_matrix |
Divergent convective background / Large scale advection term.
Definition at line 179 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::L_matrix |
Convective background / Large scale advection term.
Definition at line 176 of file steadyNS.H.
| surfaceScalarModes steadyNS::L_PHImodes |
List of pointers containing the total number of flux modes.
Definition at line 122 of file steadyNS.H.
| volVectorModes steadyNS::L_U_SUPmodes |
List of pointers containing the total number of lift, supremizer and velocity modes.
Definition at line 119 of file steadyNS.H.
| PtrList<volVectorField> steadyNS::liftfield |
List of pointers used to form the list of lifting functions.
Definition at line 110 of file steadyNS.H.
| PtrList<volScalarField> steadyNS::liftfieldP |
List of pointer used to form the list of lifting functions for the pressure.
Definition at line 113 of file steadyNS.H.
| List<Eigen::MatrixXd> steadyNS::LinSysConv |
Projection Peqn onto Pressure modes - Convection term.
Definition at line 260 of file steadyNS.H.
| List<Eigen::MatrixXd> steadyNS::LinSysDiff |
Projection Peqn onto Pressure modes - Diffusion term.
Definition at line 257 of file steadyNS.H.
| List<Eigen::MatrixXd> steadyNS::LinSysDiv |
Projection Peqn onto Pressure modes - Divergence term.
Definition at line 254 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::M_matrix |
Mass Matrix.
Definition at line 163 of file steadyNS.H.
| scalar steadyNS::maxIter |
Number of maximum iterations to be done for the computation of the truth solution.
Definition at line 128 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::nMatrix |
Pressure forces.
Definition at line 224 of file steadyNS.H.
| label steadyNS::NNutModes |
Number of nut modes used for the projection.
Definition at line 152 of file steadyNS.H.
| label steadyNS::NNutModesOut |
Number of nut modes to be calculated.
Definition at line 140 of file steadyNS.H.
| label steadyNS::NPmodes |
Number of pressure modes used for the projection.
Definition at line 146 of file steadyNS.H.
| label steadyNS::NPmodesOut |
Number of pressure modes to be calculated.
Definition at line 134 of file steadyNS.H.
| label steadyNS::NSUPmodes |
Number of supremizer modes used for the projection.
Definition at line 149 of file steadyNS.H.
| label steadyNS::NSUPmodesOut |
Number of supremizer modes to be calculated.
Definition at line 137 of file steadyNS.H.
| autoPtr<dimensionedScalar> steadyNS::nu_dummy |
Dummy viscocity including unit.
Definition at line 287 of file steadyNS.H.
| label steadyNS::NUmodes |
Number of velocity modes used for the projection.
Definition at line 143 of file steadyNS.H.
| label steadyNS::NUmodesOut |
Number of velocity modes to be calculated.
Definition at line 131 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::P_matrix |
Div of velocity.
Definition at line 173 of file steadyNS.H.
| ITHACAparameters* steadyNS::para |
Definition at line 82 of file steadyNS.H.
| PtrList<volScalarField> steadyNS::Pfield |
List of pointers used to form the pressure snapshots matrix.
Definition at line 86 of file steadyNS.H.
| PtrList<surfaceScalarField> steadyNS::Phifield |
List of pointers used to form the flux snapshots matrix.
Definition at line 95 of file steadyNS.H.
| surfaceScalarModes steadyNS::Phimodes |
List of pointers used to form the flux modes.
Definition at line 107 of file steadyNS.H.
| volScalarModes steadyNS::Pmodes |
List of pointers used to form the pressure modes.
Definition at line 98 of file steadyNS.H.
| label steadyNS::pRefCell |
Reference pressure cell.
Definition at line 317 of file steadyNS.H.
| scalar steadyNS::pRefValue |
Reference pressure value.
Definition at line 320 of file steadyNS.H.
| List<Eigen::MatrixXd> steadyNS::RC_matrix |
Boundary vector for convection term.
Definition at line 239 of file steadyNS.H.
| List<Eigen::MatrixXd> steadyNS::RD_matrix |
Boundary term for diffusion term.
Definition at line 236 of file steadyNS.H.
| List<Eigen::MatrixXd> steadyNS::SC_matrix |
Boundary term for convection term - Consistent Flux Method.
Definition at line 245 of file steadyNS.H.
| List<Eigen::MatrixXd> steadyNS::SD_matrix |
Boundary term for diffusion term - Consistent Flux Method.
Definition at line 242 of file steadyNS.H.
| bool steadyNS::supex |
Boolean variable to check the existence of the supremizer modes.
Definition at line 265 of file steadyNS.H.
| PtrList<volVectorField> steadyNS::supfield |
List of pointers used to form the supremizer snapshots matrix.
Definition at line 92 of file steadyNS.H.
| volVectorModes steadyNS::supmodes |
List of pointers used to form the supremizer modes.
Definition at line 104 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::tauMatrix |
Viscous forces.
Definition at line 221 of file steadyNS.H.
| scalar steadyNS::tolerance |
Tolerance for the residual of the stationary problems, there is the same tolerance for velocity and pressure.
Definition at line 125 of file steadyNS.H.
| autoPtr<incompressible::turbulenceModel> steadyNS::turbulence |
Turbulence model.
Definition at line 308 of file steadyNS.H.
| PtrList<volVectorField> steadyNS::Ufield |
List of pointers used to form the velocity snapshots matrix.
Definition at line 89 of file steadyNS.H.
| autoPtr<volVectorField> steadyNS::Uinl |
Initial dummy field with all Dirichlet boundary conditions.
Definition at line 281 of file steadyNS.H.
| volVectorModes steadyNS::Umodes |
List of pointers used to form the velocity modes.
Definition at line 101 of file steadyNS.H.
| PtrList<volVectorField> steadyNS::Uomfield |
List of pointers used to form the homogeneous velocity snapshots.
Definition at line 116 of file steadyNS.H.
| Eigen::MatrixXd steadyNS::W_matrix |
Mass Matrix New Time Step - Consistent Flux Method.
Definition at line 206 of file steadyNS.H.
1.13.2