Implementation of a parametrized full order unsteady NS problem and preparation of the reduced matrices for the online solve. More...
#include <UnsteadyNSTurb.H>
Public Member Functions | |
| UnsteadyNSTurb (int argc, char *argv[]) | |
| UnsteadyNSTurb (const Parameters *myParameters) | |
| Eigen::MatrixXd | pressurePPE_L (label NPmodes) |
| Eigen::MatrixXd | continuity_matrix (label NUmodes, label NSUPmodes, label NPmodes) |
| Eigen::MatrixXd | btTurbulence (label NUmodes, label NSUPmodes) |
| bt added matrix for the turbulence treatement | |
| Eigen::Tensor< double, 3 > | turbulenceTensor1 (label NUmodes, label NSUPmodes, label nNutModes) |
| ct1 added tensor for the turbulence treatement | |
| Eigen::Tensor< double, 3 > | turbulenceTensor2 (label NUmodes, label NSUPmodes, label nNutModes) |
| ct2 added tensor for the turbulence treatement | |
| Eigen::Tensor< double, 3 > | turbulencePPETensor1 (label NUmodes, label NSUPmodes, label NPmodes, label nNutModes) |
| ct1PPE added tensor for the turbulence treatement in the PPE method | |
| Eigen::Tensor< double, 3 > | turbulencePPETensor2 (label NUmodes, label NSUPmodes, label NPmodes, label nNutModes) |
| ct2PPE added tensor for the turbulence treatement in the PPE method | |
| Eigen::Tensor< double, 3 > | turbulenceAveTensor1 (label NUmodes, label NSUPmodes) |
| ct1Ave added tensor for approximation of the averaged part of the eddy viscosity | |
| Eigen::Tensor< double, 3 > | turbulenceAveTensor2 (label NUmodes, label NSUPmodes) |
| ct2Ave added tensor for approximation of the averaged part of the eddy viscosity | |
| Eigen::Tensor< double, 3 > | turbulencePPEAveTensor1 (label NUmodes, label NSUPmodes, label NPmodes) |
| ct1PPEAve added tensor for approximation of the averaged part of the eddy viscosity with the usage of the PPE approach | |
| Eigen::Tensor< double, 3 > | turbulencePPEAveTensor2 (label NUmodes, label NSUPmodes, label NPmodes) |
| ct2PPEAve added tensor for approximation of the averaged part of the eddy viscosity with the usage of the PPE approach | |
| Eigen::Tensor< double, 3 > | turbulenceFluctTensor1 (label NUmodes, label NSUPmodes) |
| ct1Fluct added tensor for approximation of the fluctuating part of the eddy viscosity | |
| Eigen::Tensor< double, 3 > | turbulenceFluctTensor2 (label NUmodes, label NSUPmodes) |
| ct2Fluct added tensor for approximation of the fluctuating part of the eddy viscosity | |
| Eigen::Tensor< double, 3 > | turbulencePPEFluctTensor1 (label NUmodes, label NSUPmodes, label NPmodes) |
| ct1PPEFluct added tensor for approximation of the fluctuating part of the eddy viscosity with the usage of the PPE approach | |
| Eigen::Tensor< double, 3 > | turbulencePPEFluctTensor2 (label NUmodes, label NSUPmodes, label NPmodes) |
| ct2PPEFluct added tensor for approximation of the fluctuating part of the eddy viscosity with the usage of the PPE approach | |
| void | truthSolve (List< scalar > mu_now, std::string &offlinepath) |
| Perform a truthsolve. | |
| void | projectSUP (fileName folder, label NUmodes, label NPmodes, label NSUPmodes, label nNutModes, bool rbfInterp=true) |
| Project using a supremizer approach. | |
| void | projectPPE (fileName folder, label NUmodes, label NPmodes, label NSUPmodes, label nNutModes, bool rbfInterp=true) |
| Project using the Poisson Equation for pressure. | |
| List< Eigen::MatrixXd > | velDerivativeCoeff (Eigen::MatrixXd A, Eigen::MatrixXd G, Eigen::VectorXd initSnapInd, Eigen::VectorXd timeSnap) |
| A method to compute the two matrices needed for the RBF interpolation by combining the velocity L2 projection coefficients and their time derivatives. | |
| List< Eigen::MatrixXd > | velParCoeff (Eigen::MatrixXd A, Eigen::MatrixXd G) |
| A method to compute the two matrices needed for the RBF interpolation by combining the parameter samples values with the velocity L2 projection coefficients. | |
| List< Eigen::MatrixXd > | velParDerivativeCoeff (Eigen::MatrixXd A, Eigen::MatrixXd G, Eigen::VectorXd initSnapInd, Eigen::VectorXd timeSnap) |
| A method to compute the two matrices needed for the RBF interpolation by combining the parameter value and the velocity L2 projection coefficients and their time derivatives. | |
| Eigen::MatrixXd | velParDerivativeCoeff (Eigen::MatrixXd A, Eigen::VectorXd par, double timeSnap) |
| A method to compute the matrix of the combination of the parameter sample value and the matrix of velocity projection coefficients together with their time derivatives based on the backward scheme. | |
| void | computeNonLinearSnapshot_at_time (const word &snap_time, volVectorField &Smag, std::optional< PtrList< volVectorField > > modesU=std::nullopt) |
| Compute non linear Snapshot at a given time. | |
| volVectorField | initSmagFunction () |
| Initialize Smagorinsky term with values at time 0. | |
| volScalarField | initSmagPhiFunction (const volScalarField template_field_phi) |
| Initialize Smagorinsky term of a tracer phi with values at time 0. | |
| volVectorField | computeSmagTerm_at_time (const word &snap_time, std::optional< PtrList< volVectorField > > modesU=std::nullopt) |
| Compute Smagorinsky Snapshot at a given time. | |
| volScalarField | computeSmagTermPhi_at_time (const word &snap_time, const volScalarField template_field_phi) |
| Compute Smagorinsky Snapshot of a tracer phi at a given time. | |
| volVectorField | computeSmagTerm_fromU (const volVectorField &snapshotj) |
| Compute Smagorinsky Snapshot for a given velocity field U. | |
| volScalarField | computeSmagTermPhi_fromUPhi (const volVectorField &snapshotj, const volScalarField &phij) |
| Compute Smagorinsky Snapshot for given velocity field U and tracer phi. | |
| volVectorField | computeSmagTermPhi_fromUPhi (const volVectorField &snapshotj, const volVectorField &phij) |
| Compute Smagorinsky Snapshot for a given velocity field U (=computeSmagTerm_fromU). | |
| void | computeNonLinearSnapshot_at_time (const word &snap_time, volScalarField &phi, volVectorField &modeU) |
| Compute non linear Snapshot at a given time. | |
| void | computeNonLinearSnapshot_at_time (const word &snap_time, volVectorField &phi, volVectorField &modeU) |
| volScalarField | initProjSmagFunction () |
| Initialize projFullStressFunction with values at time 0. | |
| volScalarField | computeProjSmagTerm_at_time_fromMode (const word &snap_time, const volVectorField &mode) |
| Compute projFullStressFunction snapshot at a given time projected on the given mode. | |
| void | computeProjSmagTerm_fromSmag_fromMode (volScalarField &phi, const volVectorField &Smag, const volVectorField &mode) |
| Compute projFullStressFunction given the Smagorinsky term and the velocity mode. | |
| void | computeProjSmagTerm_fromSmag_fromMode (volScalarField phi, const volScalarField &Smag, const volVectorField &mode) |
| void | computeProjSmagTerm_fromSmag_fromMode (volVectorField phi, const volVectorField &Smag, const volVectorField &mode) |
| void | computeNonLinearSnapshot_at_time (const word &snap_time, volScalarField &phi, volVectorField &modeU_proj, volVectorField &modeU_grad) |
| Compute non linear Snapshot at a given time. | |
| void | computeNonLinearSnapshot_at_time (const word &snap_time, volVectorField &phi, volVectorField &modeU_proj, volVectorField &modeU_grad) |
| volScalarField | initProjSmagFromNutFunction () |
| Initialize projSmagFromNut with values at time 0. | |
| volScalarField | computeProjSmagFromNut_at_time_fromModes (const word &snap_time, const volVectorField &modeU_proj, const volVectorField &modeU_grad) |
| Compute projSmagFromNut snapshot at a given time from 2 velocity modes. | |
| void | computeProjSmagFromNut_fromNut_fromModes (volScalarField &phi, const volScalarField &Nut, const volVectorField &modeU_proj, const volVectorField &modeU_grad) |
| Compute projSmagFromNut given Nut and 2 velocity modes. | |
| void | computeProjSmagFromNut_fromNut_fromModes (volVectorField &phi, const volVectorField &Nut, const volVectorField &modeU_proj, const volVectorField &modeU_grad) |
| void | computeProjSmagFromNut_fromNut_fromModes (volScalarField &phi, const volVectorField &Nut, const volVectorField &modeU_proj, const volVectorField &modeU_grad) |
| void | computeNonLinearSnapshot_at_time (const word &snap_time, volScalarField &nut, std::optional< PtrList< volVectorField > > modesU=std::nullopt) |
| Compute non linear Snapshot at a given time. | |
| volScalarField | initNutFunction () |
| Initialize Nut term with values at time 0. | |
| volScalarField | computeNut_at_time (const word &snap_time, std::optional< PtrList< volVectorField > > modesU=std::nullopt) |
| Compute non linear Snapshot at a given time. | |
| volScalarField | computeNut_fromU (const volVectorField &snapshotj) |
| Compute turbulent viscosity Snapshot for a given velocity field U. | |
| volScalarField | computeNut_fromS (const volTensorField &S) |
| Compute turbulent viscosity Snapshot for a given tensor Field S. | |
| Public Member Functions inherited from unsteadyNS | |
| unsteadyNS () | |
| Construct Null. | |
| unsteadyNS (int argc, char *argv[]) | |
| Construct with argc and argv. | |
| void | truthSolve (List< scalar > mu_now, fileName folder="./ITHACAoutput/Offline/") |
| Perform a truthsolve. | |
| Public Member Functions inherited from steadyNS | |
| steadyNS () | |
| Null constructor. | |
| steadyNS (int argc, char *argv[]) | |
| Construct with argc and argv. | |
| 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. | |
| 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 | |
| void | setTimes (Time &timeObject) |
| bool | checkWrite (Time &timeObject) |
| Function to check if the solution must be exported. | |
Static Public Member Functions | |
| template<typename T> | |
| static volScalarField | diffusion (const T &coefDiff, const volScalarField &phi) |
| Compute diffusion term for a given scalar field phi. | |
| template<typename T> | |
| static volVectorField | diffusion (const T &coefDiff, const volVectorField &u) |
| Compute diffusion term for a given vector field u. | |
| static volScalarField | projDiffusionIBP (const volScalarField &coefDiff, const volVectorField &u, const volVectorField &v) |
| Compute projected diffusion term with the integration by parts (IBP) equation for a given vector field u. | |
| static volTensorField | computeS_fromU (const volVectorField &snapshotj) |
| Compute S deformation tensor for a given vector field U. | |
| static volVectorField | computeS_fromU (const volScalarField &phij) |
| Compute gradient for a given scalar field Phi. | |
Public Attributes | |
| PtrList< volScalarField > | nutFields |
| List of snapshots for the solution for eddy viscosity. | |
| volScalarModes | nutModes |
| List of POD modes for eddy viscosity. | |
| PtrList< volScalarField > | nutAve |
| List of for eddy viscosity time-averaged fields. | |
| int | nNutAvgModes |
| int | nNutFluctModes |
| int | nphiNutAvg |
| int | nphiNutFluct |
| PtrList< volScalarField > | nutAvgModes |
| PtrList< volScalarField > | nutFluctModes |
| PtrList< volScalarField > | nutAvgFields |
| PtrList< volScalarField > | nutFluctFields |
| List< SPLINTER::RBFSpline * > | rbfSplinesNutAvg |
| List< SPLINTER::RBFSpline * > | rbfSplinesNutFluct |
| List< SPLINTER::DataTable * > | samplesNutAvg |
| List< SPLINTER::DataTable * > | samplesNutFluct |
| std::vector< SPLINTER::RBFSpline * > | rbfSplines |
| std::vector< SPLINTER::DataTable * > | samples |
| Create a Rbf splines for interpolation. | |
| Eigen::MatrixXd | btMatrix |
| Turbulent viscosity term. | |
| Eigen::MatrixXd | L_vector |
| Eigen::MatrixXd | z |
| Time-parameter combined matrix. | |
| Eigen::Tensor< double, 3 > | ct1Tensor |
| Turbulent viscosity tensor. | |
| Eigen::Tensor< double, 3 > | ct1AveTensor |
| Turbulent average viscosity tensor for the splitting approach. | |
| Eigen::Tensor< double, 3 > | ct1PPETensor |
| Turbulent viscosity tensor in the PPE equation. | |
| Eigen::Tensor< double, 3 > | ct1PPEAveTensor |
| Turbulent average viscosity tensor for the splitting approach in the PPE equation. | |
| Eigen::Tensor< double, 3 > | ct2Tensor |
| Turbulent viscosity tensor. | |
| Eigen::Tensor< double, 3 > | ct2AveTensor |
| Turbulent average viscosity tensor for the splitting approach. | |
| Eigen::Tensor< double, 3 > | ct2PPETensor |
| Turbulent viscosity tensor in the PPE equation. | |
| Eigen::Tensor< double, 3 > | ct2PPEAveTensor |
| Turbulent average viscosity tensor for the splitting approach in the PPE equation. | |
| Eigen::Tensor< double, 3 > | ct1FluctTensor |
| Turbulent fluctuation viscosity tensor for the splitting approach. | |
| Eigen::Tensor< double, 3 > | ct1PPEFluctTensor |
| Turbulent fluctuation viscosity tensor for the splitting approach in the PPE equation. | |
| Eigen::Tensor< double, 3 > | ct2FluctTensor |
| Turbulent fluctuation viscosity tensor for the splitting approach. | |
| Eigen::Tensor< double, 3 > | ct2PPEFluctTensor |
| Turbulent fluctuation viscosity tensor for the splitting approach in the PPE equation. | |
| Eigen::Tensor< double, 3 > | cTotalTensor |
| Turbulent total viscosity tensor. | |
| Eigen::Tensor< double, 3 > | cTotalAveTensor |
| Turbulent total average viscosity tensor for the splitting approach. | |
| Eigen::MatrixXd | P_matrix |
| Eigen::Tensor< double, 3 > | cTotalPPETensor |
| Turbulent total viscosity tensor in the PPE equation. | |
| Eigen::Tensor< double, 3 > | cTotalPPEAveTensor |
| Turbulent total average viscosity tensor for the splitting approach in the PPE equation. | |
| Eigen::Tensor< double, 3 > | cTotalFluctTensor |
| Eigen::Tensor< double, 3 > | cTotalPPEFluctTensor |
| Eigen::MatrixXd | bTotalMatrix |
| Total B Matrix. | |
| Eigen::MatrixXd | coeffL2 |
| The matrix of L2 projection coefficients for the eddy viscosity. | |
| Eigen::MatrixXd | velRBF |
| Velocity coefficients for RBF interpolation. | |
| Eigen::VectorXd | radii |
| RBF shape parameters vector. | |
| double | e = 1.0 |
| RBF functions radius. | |
| label | nNutModes |
| Number of viscoisty modes used for the projection. | |
| label | interChoice = 1 |
| Interpolation independent variable choice. | |
| autoPtr< volScalarField > | _nut |
| Eddy viscosity field. | |
| autoPtr< surfaceVectorField > | _Uf |
| Face velocity field. | |
| label | _pRefCell |
| Pressure reference cell. | |
| scalar | _pRefValue |
| Pressure reference value. | |
| Public Attributes inherited from unsteadyNS | |
| autoPtr< pimpleControl > | _pimple |
| pimpleControl | |
| autoPtr< incompressible::turbulenceModel > | turbulence |
| Turbulence model. | |
| bool | adjustTimeStep |
| adjustTimeStep | |
| scalar | maxCo |
| maxCourant | |
| scalar | maxDeltaT |
| maxDeltaT | |
| label | counter2 = 1 |
| word | method |
| word | timedepbcMethod |
| Time-dependent Boundary Method. | |
| Eigen::MatrixXd | timeBCoff |
| word | timeDerivativeSchemeOrder |
| Public Attributes inherited from steadyNS | |
| 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. | |
| 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 |
| 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 unsteady NS problem and preparation of the reduced matrices for the online solve.
In this class are implemented the methods for the offline solve of a unsteady NS problem and for the generation of the reduced matrices for subsequent online solve. This class is a son of the unsteadyNS class.
Definition at line 76 of file UnsteadyNSTurb.H.
| UnsteadyNSTurb::UnsteadyNSTurb | ( | ) |
Definition at line 40 of file UnsteadyNSTurb.C.
| UnsteadyNSTurb::UnsteadyNSTurb | ( | int | argc, |
| char * | argv[] ) |
Definition at line 42 of file UnsteadyNSTurb.C.
| UnsteadyNSTurb::UnsteadyNSTurb | ( | const Parameters * | myParameters | ) |
Definition at line 98 of file UnsteadyNSTurb.C.
| Eigen::MatrixXd UnsteadyNSTurb::btTurbulence | ( | label | NUmodes, |
| label | NSUPmodes ) |
bt added matrix for the turbulence treatement
Definition at line 612 of file UnsteadyNSTurb.C.
| void UnsteadyNSTurb::computeNonLinearSnapshot_at_time | ( | const word & | snap_time, |
| volScalarField & | nut, | ||
| std::optional< PtrList< volVectorField > > | modesU = std::nullopt ) |
Compute non linear Snapshot at a given time.
Overloaded function depending on the type of the second argument If volScalarField then it computes the turbulent viscosity term
| [in] | index | label defining concerned time step |
| [in,out] | nut | volScalarField in wich the turbulent viscosity term will be computed |
| [in] | modesU | PtrList<volVectorField>, optional, if given then compute nut from reduced velocity |
Definition at line 2476 of file UnsteadyNSTurb.C.
| void UnsteadyNSTurb::computeNonLinearSnapshot_at_time | ( | const word & | snap_time, |
| volScalarField & | phi, | ||
| volVectorField & | modeU ) |
Compute non linear Snapshot at a given time.
computes the projection of the Smagorinsky term on the velocity mode given in the third argument Other definitions to enable calling the function from a templatized class
| [in] | index | label defining concerned time step |
| [in,out] | phi | volScalarField in wich the projected Smagorinsky term will be computed |
| [in] | modeU | volVectorField containing a velocity mode to project the Smagorinsky term |
| [in] | modeU_grad | volVectorField containing a velocity mode to compute the symmetric gradient for Smag |
Definition at line 2380 of file UnsteadyNSTurb.C.
| void UnsteadyNSTurb::computeNonLinearSnapshot_at_time | ( | const word & | snap_time, |
| volScalarField & | phi, | ||
| volVectorField & | modeU_proj, | ||
| volVectorField & | modeU_grad ) |
Compute non linear Snapshot at a given time.
Computes the projection on a velocity mode of the Smagorinsky term computed from a nut snapshot and a velocity mode for the symmetric gradient. Other definitions to enable calling the function from a templatized class
| [in] | index | label defining concerned time step |
| [in,out] | phi | volScalarField in wich the projected Smagorinsky term will be computed |
| [in] | modeU_proj | volVectorField containing the field on which the Smagorinsky term is projected |
| [in] | modeU_grad | volVectorField containing a velocity mode to compute the symmetric gradient for Smag |
Definition at line 2424 of file UnsteadyNSTurb.C.
|
inline |
Definition at line 623 of file UnsteadyNSTurb.H.
|
inline |
Definition at line 691 of file UnsteadyNSTurb.H.
| void UnsteadyNSTurb::computeNonLinearSnapshot_at_time | ( | const word & | snap_time, |
| volVectorField & | Smag, | ||
| std::optional< PtrList< volVectorField > > | modesU = std::nullopt ) |
Compute non linear Snapshot at a given time.
Overloaded function depending on the type of the second argument If volVectorField then it computes the Smagorinsky term
| [in] | index | label defining concerned time step |
| [in,out] | Smag | volVectorField in wich the Smagorinsky term will be computed |
| [in] | modesU | PtrList<volVectorField>, (optional) if given then compute Smag from reduced velocity |
Definition at line 2284 of file UnsteadyNSTurb.C.
| volScalarField UnsteadyNSTurb::computeNut_at_time | ( | const word & | snap_time, |
| std::optional< PtrList< volVectorField > > | modesU = std::nullopt ) |
Compute non linear Snapshot at a given time.
Overloaded function depending on the type of the second argument If volScalarField then it computes the turbulent viscosity term
| [in] | index | label defining concerned time step |
| [in] | modesU | PtrList<volVectorField>, optional, if given then compute nut from reduced velocity |
Definition at line 2506 of file UnsteadyNSTurb.C.
| volScalarField UnsteadyNSTurb::computeNut_fromS | ( | const volTensorField & | S | ) |
Compute turbulent viscosity Snapshot for a given tensor Field S.
| [in] | S | volTensorField S = 0.5*(gradV+gradV^t) |
Definition at line 2527 of file UnsteadyNSTurb.C.
| volScalarField UnsteadyNSTurb::computeNut_fromU | ( | const volVectorField & | snapshotj | ) |
Compute turbulent viscosity Snapshot for a given velocity field U.
| [in] | snapshotj | volVectorField of snapshot U |
Definition at line 2521 of file UnsteadyNSTurb.C.
| volScalarField UnsteadyNSTurb::computeProjSmagFromNut_at_time_fromModes | ( | const word & | snap_time, |
| const volVectorField & | modeU_proj, | ||
| const volVectorField & | modeU_grad ) |
Compute projSmagFromNut snapshot at a given time from 2 velocity modes.
Other definitions to enable calling the function from a templatized class
| [in] | index | label defining concerned time step |
| [in] | modeU_proj | volVectorField containing the field on which the Smagorinsky term is projected |
| [in] | modeU_grad | volVectorField containing a velocity mode to compute the symmetric gradient for Smag |
Definition at line 2440 of file UnsteadyNSTurb.C.
| void UnsteadyNSTurb::computeProjSmagFromNut_fromNut_fromModes | ( | volScalarField & | phi, |
| const volScalarField & | Nut, | ||
| const volVectorField & | modeU_proj, | ||
| const volVectorField & | modeU_grad ) |
Compute projSmagFromNut given Nut and 2 velocity modes.
Other definitions to enable calling the function from a templatized class
| [in,out] | phi | volScalarField storing the result |
| [in] | Smag | volVectorField containing the Smagorinsky term |
| [in] | modeU_proj | volVectorField containing the field on which the Smagorinsky term is projected |
| [in] | modeU_grad | volVectorField containing a velocity mode to compute the symmetric gradient for Smag |
Definition at line 2457 of file UnsteadyNSTurb.C.
|
inline |
Definition at line 739 of file UnsteadyNSTurb.H.
|
inline |
Definition at line 732 of file UnsteadyNSTurb.H.
| volScalarField UnsteadyNSTurb::computeProjSmagTerm_at_time_fromMode | ( | const word & | snap_time, |
| const volVectorField & | mode ) |
Compute projFullStressFunction snapshot at a given time projected on the given mode.
| [in] | index | label defining concerned time step |
| [in] | mode | volVectorField containing the field on which the Smagorinsky term is projected |
Definition at line 2396 of file UnsteadyNSTurb.C.
| void UnsteadyNSTurb::computeProjSmagTerm_fromSmag_fromMode | ( | volScalarField & | phi, |
| const volVectorField & | Smag, | ||
| const volVectorField & | mode ) |
Compute projFullStressFunction given the Smagorinsky term and the velocity mode.
Other definitions to enable calling the function from a templatized class
| [in,out] | phi | volScalarField |
| [in] | Smag | volVectorField containing the Smagorinsky term |
| [in] | mode | volVectorField containing the field on which the Smagorinsky term is projected |
Definition at line 2413 of file UnsteadyNSTurb.C.
|
inline |
Definition at line 658 of file UnsteadyNSTurb.H.
|
inline |
Definition at line 664 of file UnsteadyNSTurb.H.
|
static |
Compute gradient for a given scalar field Phi.
| [in] | phij | volScalarField (omega or k) |
Definition at line 2604 of file UnsteadyNSTurb.C.
|
static |
Compute S deformation tensor for a given vector field U.
| [in] | snapshotj | volVectorField U |
Definition at line 2598 of file UnsteadyNSTurb.C.
| volVectorField UnsteadyNSTurb::computeSmagTerm_at_time | ( | const word & | snap_time, |
| std::optional< PtrList< volVectorField > > | modesU = std::nullopt ) |
Compute Smagorinsky Snapshot at a given time.
| [in] | index | label defining concerned time step term will be computed |
| [in] | modesU | PtrList<volVectorField> (optional) storing the velocity modes, if given then compute Smag from reduced velocity |
Definition at line 2313 of file UnsteadyNSTurb.C.
| volVectorField UnsteadyNSTurb::computeSmagTerm_fromU | ( | const volVectorField & | snapshotj | ) |
Compute Smagorinsky Snapshot for a given velocity field U.
| [in] | snapshotj | volVectorField of snapshot U |
Definition at line 2339 of file UnsteadyNSTurb.C.
| volScalarField UnsteadyNSTurb::computeSmagTermPhi_at_time | ( | const word & | snap_time, |
| const volScalarField | template_field_phi ) |
Compute Smagorinsky Snapshot of a tracer phi at a given time.
| [in] | index | label defining concerned time step term will be computed |
| [in] | template_field_phi | volScalarField, template field of the tracer |
Definition at line 2329 of file UnsteadyNSTurb.C.
| volScalarField UnsteadyNSTurb::computeSmagTermPhi_fromUPhi | ( | const volVectorField & | snapshotj, |
| const volScalarField & | phij ) |
Compute Smagorinsky Snapshot for given velocity field U and tracer phi.
| [in] | snapshotj | volVectorField of snapshot U |
| [in] | phij | volScalarField of snapshot phi |
Definition at line 2346 of file UnsteadyNSTurb.C.
| volVectorField UnsteadyNSTurb::computeSmagTermPhi_fromUPhi | ( | const volVectorField & | snapshotj, |
| const volVectorField & | phij ) |
Compute Smagorinsky Snapshot for a given velocity field U (=computeSmagTerm_fromU).
| [in] | snapshotj | volVectorField of snapshot U |
| [in] | phij | volScalarField of snapshot phi (unsused, assumed to be = U) |
Definition at line 2370 of file UnsteadyNSTurb.C.
| Eigen::MatrixXd UnsteadyNSTurb::continuity_matrix | ( | label | NUmodes, |
| label | NSUPmodes, | ||
| label | NPmodes ) |
Definition at line 640 of file UnsteadyNSTurb.C.
|
static |
Compute diffusion term for a given scalar field phi.
| [in] | coefDiff | volScalarField or volTensorField of diffusion coefficient or matrix |
| [in] | phi | volScalarField of snapshot phi |
Definition at line 2354 of file UnsteadyNSTurb.C.
|
static |
Compute diffusion term for a given vector field u.
| [in] | coefDiff | volScalarField or volTensorField of diffusion coefficient or matrix |
| [in] | u | volVectorField of snapshot u |
Definition at line 2362 of file UnsteadyNSTurb.C.
| volScalarField UnsteadyNSTurb::initNutFunction | ( | ) |
Initialize Nut term with values at time 0.
Nut is provided by OpenFOAM, but for homogeneity purposes it is initialized the same way as Smagorinsky term
Definition at line 2501 of file UnsteadyNSTurb.C.
| volScalarField UnsteadyNSTurb::initProjSmagFromNutFunction | ( | ) |
Initialize projSmagFromNut with values at time 0.
Definition at line 2435 of file UnsteadyNSTurb.C.
| volScalarField UnsteadyNSTurb::initProjSmagFunction | ( | ) |
Initialize projFullStressFunction with values at time 0.
Definition at line 2390 of file UnsteadyNSTurb.C.
| volVectorField UnsteadyNSTurb::initSmagFunction | ( | ) |
Initialize Smagorinsky term with values at time 0.
Smagorinsky at time 0 is not provided by OpenFOAM, it is required to compute this quantity
Definition at line 2302 of file UnsteadyNSTurb.C.
| volScalarField UnsteadyNSTurb::initSmagPhiFunction | ( | const volScalarField | template_field_phi | ) |
Initialize Smagorinsky term of a tracer phi with values at time 0.
Smagorinsky of a tracer phi at time 0 is not provided by OpenFOAM, it is required to compute this quantity
Definition at line 2308 of file UnsteadyNSTurb.C.
| Eigen::MatrixXd UnsteadyNSTurb::pressurePPE_L | ( | label | NPmodes | ) |
Definition at line 668 of file UnsteadyNSTurb.C.
|
static |
Compute projected diffusion term with the integration by parts (IBP) equation for a given vector field u.
| [in] | coefDiff | volScalarField of diffusion coefficient |
| [in] | u | volVectorField of velocity for the diffusion |
| [in] | v | volVectorField of velocity mode for the projection |
Definition at line 2463 of file UnsteadyNSTurb.C.
| void UnsteadyNSTurb::projectPPE | ( | fileName | folder, |
| label | NUmodes, | ||
| label | NPmodes, | ||
| label | NSUPmodes, | ||
| label | nNutModes, | ||
| bool | rbfInterp = true ) |
Project using the Poisson Equation for pressure.
| [in] | folder | The folder name |
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes which will be set to zero. |
| [in] | nNutModes | The number of eddy viscosity modes. |
| [in] | rbfInterp | A boolean variable that determines whether to carry out the RBF interpolation or not |
Definition at line 1269 of file UnsteadyNSTurb.C.
| void UnsteadyNSTurb::projectSUP | ( | fileName | folder, |
| label | NUmodes, | ||
| label | NPmodes, | ||
| label | NSUPmodes, | ||
| label | nNutModes, | ||
| bool | rbfInterp = true ) |
Project using a supremizer approach.
| [in] | folder | The folder name |
| [in] | NUmodes | The number of velocity modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
| [in] | nNutModes | The number of eddy viscosity modes. |
| [in] | rbfInterp | A boolean variable that determines whether to carry out the RBF interpolation or not |
Definition at line 712 of file UnsteadyNSTurb.C.
| void UnsteadyNSTurb::truthSolve | ( | List< scalar > | mu_now, |
| std::string & | offlinepath ) |
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. |
| [in] | offlinepath | Path where solution should be stored |
Definition at line 105 of file UnsteadyNSTurb.C.
| Eigen::Tensor< double, 3 > UnsteadyNSTurb::turbulenceAveTensor1 | ( | label | NUmodes, |
| label | NSUPmodes ) |
ct1Ave added tensor for approximation of the averaged part of the eddy viscosity
Definition at line 229 of file UnsteadyNSTurb.C.
| Eigen::Tensor< double, 3 > UnsteadyNSTurb::turbulenceAveTensor2 | ( | label | NUmodes, |
| label | NSUPmodes ) |
ct2Ave added tensor for approximation of the averaged part of the eddy viscosity
Definition at line 438 of file UnsteadyNSTurb.C.
| Eigen::Tensor< double, 3 > UnsteadyNSTurb::turbulenceFluctTensor1 | ( | label | NUmodes, |
| label | NSUPmodes ) |
ct1Fluct added tensor for approximation of the fluctuating part of the eddy viscosity
Definition at line 263 of file UnsteadyNSTurb.C.
| Eigen::Tensor< double, 3 > UnsteadyNSTurb::turbulenceFluctTensor2 | ( | label | NUmodes, |
| label | NSUPmodes ) |
ct2Fluct added tensor for approximation of the fluctuating part of the eddy viscosity
Definition at line 472 of file UnsteadyNSTurb.C.
| Eigen::Tensor< double, 3 > UnsteadyNSTurb::turbulencePPEAveTensor1 | ( | label | NUmodes, |
| label | NSUPmodes, | ||
| label | NPmodes ) |
ct1PPEAve added tensor for approximation of the averaged part of the eddy viscosity with the usage of the PPE approach
| [in] | NUmodes | The number of velocity modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
| [in] | NPmodes | The number of pressure modes. |
Definition at line 332 of file UnsteadyNSTurb.C.
| Eigen::Tensor< double, 3 > UnsteadyNSTurb::turbulencePPEAveTensor2 | ( | label | NUmodes, |
| label | NSUPmodes, | ||
| label | NPmodes ) |
ct2PPEAve added tensor for approximation of the averaged part of the eddy viscosity with the usage of the PPE approach
| [in] | NUmodes | The number of velocity modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
| [in] | NPmodes | The number of pressure modes. |
Definition at line 541 of file UnsteadyNSTurb.C.
| Eigen::Tensor< double, 3 > UnsteadyNSTurb::turbulencePPEFluctTensor1 | ( | label | NUmodes, |
| label | NSUPmodes, | ||
| label | NPmodes ) |
ct1PPEFluct added tensor for approximation of the fluctuating part of the eddy viscosity with the usage of the PPE approach
| [in] | NUmodes | The number of velocity modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
| [in] | NPmodes | The number of pressure modes. |
Definition at line 368 of file UnsteadyNSTurb.C.
| Eigen::Tensor< double, 3 > UnsteadyNSTurb::turbulencePPEFluctTensor2 | ( | label | NUmodes, |
| label | NSUPmodes, | ||
| label | NPmodes ) |
ct2PPEFluct added tensor for approximation of the fluctuating part of the eddy viscosity with the usage of the PPE approach
| [in] | NUmodes | The number of velocity modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
| [in] | NPmodes | The number of pressure modes. |
Definition at line 577 of file UnsteadyNSTurb.C.
| Eigen::Tensor< double, 3 > UnsteadyNSTurb::turbulencePPETensor1 | ( | label | NUmodes, |
| label | NSUPmodes, | ||
| label | NPmodes, | ||
| label | nNutModes ) |
ct1PPE added tensor for the turbulence treatement in the PPE method
| [in] | NUmodes | The number of velocity modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | nNutModes | The number of eddy viscosity modes. |
Definition at line 297 of file UnsteadyNSTurb.C.
| Eigen::Tensor< double, 3 > UnsteadyNSTurb::turbulencePPETensor2 | ( | label | NUmodes, |
| label | NSUPmodes, | ||
| label | NPmodes, | ||
| label | nNutModes ) |
ct2PPE added tensor for the turbulence treatement in the PPE method
| [in] | NUmodes | The number of velocity modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
| [in] | NPmodes | The number of pressure modes. |
| [in] | nNutModes | The number of eddy viscosity modes. |
Definition at line 506 of file UnsteadyNSTurb.C.
| Eigen::Tensor< double, 3 > UnsteadyNSTurb::turbulenceTensor1 | ( | label | NUmodes, |
| label | NSUPmodes, | ||
| label | nNutModes ) |
ct1 added tensor for the turbulence treatement
| [in] | NUmodes | The number of velocity modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
| [in] | nNutModes | The number of eddy viscosity modes. |
Definition at line 195 of file UnsteadyNSTurb.C.
| Eigen::Tensor< double, 3 > UnsteadyNSTurb::turbulenceTensor2 | ( | label | NUmodes, |
| label | NSUPmodes, | ||
| label | nNutModes ) |
ct2 added tensor for the turbulence treatement
| [in] | NUmodes | The number of velocity modes. |
| [in] | NSUPmodes | The number of supremizer modes. |
| [in] | nNutModes | The number of eddy viscosity modes. |
Definition at line 404 of file UnsteadyNSTurb.C.
| List< Eigen::MatrixXd > UnsteadyNSTurb::velDerivativeCoeff | ( | Eigen::MatrixXd | A, |
| Eigen::MatrixXd | G, | ||
| Eigen::VectorXd | initSnapInd, | ||
| Eigen::VectorXd | timeSnap ) |
A method to compute the two matrices needed for the RBF interpolation by combining the velocity L2 projection coefficients and their time derivatives.
| [in] | A | The velocity L2 projection coefficients |
| [in] | G | The eddy viscoisty L2 projection coefficients |
| [in] | initSnapInd | The initial snapshots indices for the different parameter samples |
| [in] | timeSnap | The time rate at which snapshots were taken for the different parameter samples |
Definition at line 2100 of file UnsteadyNSTurb.C.
| List< Eigen::MatrixXd > UnsteadyNSTurb::velParCoeff | ( | Eigen::MatrixXd | A, |
| Eigen::MatrixXd | G ) |
A method to compute the two matrices needed for the RBF interpolation by combining the parameter samples values with the velocity L2 projection coefficients.
| [in] | A | The velocity L2 projection coefficients |
| [in] | G | The eddy viscoisty L2 projection coefficients |
Definition at line 2136 of file UnsteadyNSTurb.C.
| List< Eigen::MatrixXd > UnsteadyNSTurb::velParDerivativeCoeff | ( | Eigen::MatrixXd | A, |
| Eigen::MatrixXd | G, | ||
| Eigen::VectorXd | initSnapInd, | ||
| Eigen::VectorXd | timeSnap ) |
A method to compute the two matrices needed for the RBF interpolation by combining the parameter value and the velocity L2 projection coefficients and their time derivatives.
| [in] | A | The velocity L2 projection coefficients |
| [in] | G | The eddy viscoisty L2 projection coefficients |
| [in] | initSnapInd | The initial snapshots indices for the different parameter samples |
| [in] | timeSnap | The time rate at which snapshots were taken for the different parameter samples |
Definition at line 2150 of file UnsteadyNSTurb.C.
| Eigen::MatrixXd UnsteadyNSTurb::velParDerivativeCoeff | ( | Eigen::MatrixXd | A, |
| Eigen::VectorXd | par, | ||
| double | timeSnap ) |
A method to compute the matrix of the combination of the parameter sample value and the matrix of velocity projection coefficients together with their time derivatives based on the backward scheme.
| [in] | A | The velocity L2 projection coefficients |
| [in] | par | The parameter vector corresponding to the matrix A |
| [in] | timeSnap | The time rate at which snapshots are taken in matrix A |
Definition at line 2257 of file UnsteadyNSTurb.C.
| autoPtr<volScalarField> UnsteadyNSTurb::_nut |
Eddy viscosity field.
Definition at line 212 of file UnsteadyNSTurb.H.
| label UnsteadyNSTurb::_pRefCell |
Pressure reference cell.
Definition at line 218 of file UnsteadyNSTurb.H.
| scalar UnsteadyNSTurb::_pRefValue |
Pressure reference value.
Definition at line 221 of file UnsteadyNSTurb.H.
| autoPtr<surfaceVectorField> UnsteadyNSTurb::_Uf |
Face velocity field.
Definition at line 215 of file UnsteadyNSTurb.H.
| Eigen::MatrixXd UnsteadyNSTurb::btMatrix |
Turbulent viscosity term.
Definition at line 122 of file UnsteadyNSTurb.H.
| Eigen::MatrixXd UnsteadyNSTurb::bTotalMatrix |
Total B Matrix.
Definition at line 191 of file UnsteadyNSTurb.H.
| Eigen::MatrixXd UnsteadyNSTurb::coeffL2 |
The matrix of L2 projection coefficients for the eddy viscosity.
Definition at line 194 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::ct1AveTensor |
Turbulent average viscosity tensor for the splitting approach.
Definition at line 137 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::ct1FluctTensor |
Turbulent fluctuation viscosity tensor for the splitting approach.
Definition at line 158 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::ct1PPEAveTensor |
Turbulent average viscosity tensor for the splitting approach in the PPE equation.
Definition at line 143 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::ct1PPEFluctTensor |
Turbulent fluctuation viscosity tensor for the splitting approach in the PPE equation.
Definition at line 161 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::ct1PPETensor |
Turbulent viscosity tensor in the PPE equation.
Definition at line 140 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::ct1Tensor |
Turbulent viscosity tensor.
Definition at line 134 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::ct2AveTensor |
Turbulent average viscosity tensor for the splitting approach.
Definition at line 149 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::ct2FluctTensor |
Turbulent fluctuation viscosity tensor for the splitting approach.
Definition at line 164 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::ct2PPEAveTensor |
Turbulent average viscosity tensor for the splitting approach in the PPE equation.
Definition at line 155 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::ct2PPEFluctTensor |
Turbulent fluctuation viscosity tensor for the splitting approach in the PPE equation.
Definition at line 167 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::ct2PPETensor |
Turbulent viscosity tensor in the PPE equation.
Definition at line 152 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::ct2Tensor |
Turbulent viscosity tensor.
Definition at line 146 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::cTotalAveTensor |
Turbulent total average viscosity tensor for the splitting approach.
Definition at line 173 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::cTotalFluctTensor |
Definition at line 187 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::cTotalPPEAveTensor |
Turbulent total average viscosity tensor for the splitting approach in the PPE equation.
Definition at line 185 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::cTotalPPEFluctTensor |
Definition at line 188 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::cTotalPPETensor |
Turbulent total viscosity tensor in the PPE equation.
Definition at line 182 of file UnsteadyNSTurb.H.
| Eigen::Tensor<double, 3> UnsteadyNSTurb::cTotalTensor |
Turbulent total viscosity tensor.
Definition at line 170 of file UnsteadyNSTurb.H.
| double UnsteadyNSTurb::e = 1.0 |
RBF functions radius.
Definition at line 203 of file UnsteadyNSTurb.H.
| label UnsteadyNSTurb::interChoice = 1 |
Interpolation independent variable choice.
Definition at line 209 of file UnsteadyNSTurb.H.
| Eigen::MatrixXd UnsteadyNSTurb::L_vector |
Definition at line 125 of file UnsteadyNSTurb.H.
| int UnsteadyNSTurb::nNutAvgModes |
Definition at line 99 of file UnsteadyNSTurb.H.
| int UnsteadyNSTurb::nNutFluctModes |
Definition at line 100 of file UnsteadyNSTurb.H.
| label UnsteadyNSTurb::nNutModes |
Number of viscoisty modes used for the projection.
Definition at line 206 of file UnsteadyNSTurb.H.
| int UnsteadyNSTurb::nphiNutAvg |
Definition at line 101 of file UnsteadyNSTurb.H.
| int UnsteadyNSTurb::nphiNutFluct |
Definition at line 102 of file UnsteadyNSTurb.H.
| PtrList<volScalarField> UnsteadyNSTurb::nutAve |
List of for eddy viscosity time-averaged fields.
Definition at line 96 of file UnsteadyNSTurb.H.
| PtrList<volScalarField> UnsteadyNSTurb::nutAvgFields |
Definition at line 106 of file UnsteadyNSTurb.H.
| PtrList<volScalarField> UnsteadyNSTurb::nutAvgModes |
Definition at line 104 of file UnsteadyNSTurb.H.
| PtrList<volScalarField> UnsteadyNSTurb::nutFields |
List of snapshots for the solution for eddy viscosity.
Definition at line 90 of file UnsteadyNSTurb.H.
| PtrList<volScalarField> UnsteadyNSTurb::nutFluctFields |
Definition at line 107 of file UnsteadyNSTurb.H.
| PtrList<volScalarField> UnsteadyNSTurb::nutFluctModes |
Definition at line 105 of file UnsteadyNSTurb.H.
| volScalarModes UnsteadyNSTurb::nutModes |
List of POD modes for eddy viscosity.
Definition at line 93 of file UnsteadyNSTurb.H.
| Eigen::MatrixXd UnsteadyNSTurb::P_matrix |
Definition at line 177 of file UnsteadyNSTurb.H.
| Eigen::VectorXd UnsteadyNSTurb::radii |
RBF shape parameters vector.
Definition at line 200 of file UnsteadyNSTurb.H.
| std::vector<SPLINTER::RBFSpline*> UnsteadyNSTurb::rbfSplines |
Definition at line 116 of file UnsteadyNSTurb.H.
| List<SPLINTER::RBFSpline*> UnsteadyNSTurb::rbfSplinesNutAvg |
Definition at line 109 of file UnsteadyNSTurb.H.
| List<SPLINTER::RBFSpline*> UnsteadyNSTurb::rbfSplinesNutFluct |
Definition at line 110 of file UnsteadyNSTurb.H.
| std::vector<SPLINTER::DataTable*> UnsteadyNSTurb::samples |
Create a Rbf splines for interpolation.
Definition at line 119 of file UnsteadyNSTurb.H.
| List<SPLINTER::DataTable*> UnsteadyNSTurb::samplesNutAvg |
Definition at line 112 of file UnsteadyNSTurb.H.
| List<SPLINTER::DataTable*> UnsteadyNSTurb::samplesNutFluct |
Definition at line 113 of file UnsteadyNSTurb.H.
| Eigen::MatrixXd UnsteadyNSTurb::velRBF |
Velocity coefficients for RBF interpolation.
Definition at line 197 of file UnsteadyNSTurb.H.
| Eigen::MatrixXd UnsteadyNSTurb::z |
Time-parameter combined matrix.
Definition at line 131 of file UnsteadyNSTurb.H.
1.16.1