Nektar++
|
#include <NavierStokesImplicitCFE.h>
Public Types | |
typedef std::function< void(const Array< OneD, NekDouble > &, const NekDouble &, const Array< OneD, NekDouble > &, DNekMatSharedPtr &)> | GetdFlux_dDeriv |
Static Public Member Functions | |
static SolverUtils::EquationSystemSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) |
Static Public Member Functions inherited from Nektar::NavierStokesCFE | |
static SolverUtils::EquationSystemSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) |
Static Public Attributes | |
static std::string | className |
Static Public Attributes inherited from Nektar::NavierStokesCFE | |
static std::string | className |
Static Public Attributes inherited from Nektar::SolverUtils::UnsteadySystem | |
static std::string | cmdSetStartTime |
static std::string | cmdSetStartChkNum |
Protected Member Functions | |
NavierStokesImplicitCFE (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) | |
void | v_InitObject (bool DeclareFields=true) override |
Initialization object for CompressibleFlowSystem class. More... | |
void | v_DoDiffusionCoeff (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const Array< OneD, const Array< OneD, NekDouble > > &pFwd, const Array< OneD, const Array< OneD, NekDouble > > &pBwd) override |
void | v_DoDiffusion (const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const Array< OneD, Array< OneD, NekDouble > > &pFwd, const Array< OneD, Array< OneD, NekDouble > > &pBwd) final |
void | v_MinusDiffusionFluxJacPoint (const int nConvectiveFields, const int nElmtPnt, const Array< OneD, const Array< OneD, NekDouble > > &locVars, const TensorOfArray3D< NekDouble > &locDerv, const Array< OneD, NekDouble > &locmu, const Array< OneD, NekDouble > &locDmuDT, const Array< OneD, NekDouble > &normals, DNekMatSharedPtr &wspMat, Array< OneD, Array< OneD, NekDouble > > &PntJacArray) override |
void | v_GetFluxDerivJacDirctn (const MultiRegions::ExpListSharedPtr &explist, const Array< OneD, const Array< OneD, NekDouble > > &normals, const int nDervDir, const Array< OneD, const Array< OneD, NekDouble > > &inarray, TensorOfArray5D< NekDouble > &ElmtJacArray, const int nFluxDir) override |
void | v_GetFluxDerivJacDirctnElmt (const int nConvectiveFields, const int nElmtPnt, const int nDervDir, const Array< OneD, const Array< OneD, NekDouble > > &locVars, const Array< OneD, NekDouble > &locmu, const Array< OneD, const Array< OneD, NekDouble > > &locnormal, DNekMatSharedPtr &wspMat, Array< OneD, Array< OneD, NekDouble > > &PntJacArray) override |
void | v_GetFluxDerivJacDirctn (const MultiRegions::ExpListSharedPtr &explist, const Array< OneD, const Array< OneD, NekDouble > > &normals, const int nDervDir, const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, DNekMatSharedPtr > > &ElmtJac) override |
virtual void | v_GetDiffusionFluxJacPoint (const Array< OneD, NekDouble > &conservVar, const Array< OneD, const Array< OneD, NekDouble > > &conseDeriv, const NekDouble mu, const NekDouble DmuDT, const Array< OneD, NekDouble > &normals, DNekMatSharedPtr &fluxJac) |
void | v_CalcPhysDeriv (const Array< OneD, const Array< OneD, NekDouble > > &inarray, TensorOfArray3D< NekDouble > &qfield) override |
void | v_CalcMuDmuDT (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, NekDouble > &mu, Array< OneD, NekDouble > &DmuDT) override |
void | GetdFlux_dQx_2D (const Array< OneD, NekDouble > &normals, const NekDouble &mu, const Array< OneD, NekDouble > &U, DNekMatSharedPtr &OutputMatrix) |
return part of viscous Jacobian: More... | |
void | GetdFlux_dQy_2D (const Array< OneD, NekDouble > &normals, const NekDouble &mu, const Array< OneD, NekDouble > &U, DNekMatSharedPtr &OutputMatrix) |
return part of viscous Jacobian: More... | |
void | GetdFlux_dQx_3D (const Array< OneD, NekDouble > &normals, const NekDouble &mu, const Array< OneD, NekDouble > &U, DNekMatSharedPtr &OutputMatrix) |
return part of viscous Jacobian derived with Qx=[drho_dx,drhou_dx,drhov_dx,drhow_dx,drhoE_dx] Input: normals:Point normals U=[rho,rhou,rhov,rhow,rhoE] dir: means whether derive with Qx=[drho_dx,drhou_dx,drhov_dx,drhow_dx,drhoE_dx] Output: 3D 4*5 Matrix (flux about rho is zero) OutputMatrix(dir=0)= dF_dQx; More... | |
void | GetdFlux_dQy_3D (const Array< OneD, NekDouble > &normals, const NekDouble &mu, const Array< OneD, NekDouble > &U, DNekMatSharedPtr &OutputMatrix) |
return part of viscous Jacobian derived with Qy=[drho_dy,drhou_dy,drhov_dy,drhow_dy,drhoE_dy] Input: normals:Point normals U=[rho,rhou,rhov,rhow,rhoE] dir: means whether derive with Qy=[drho_dy,drhou_dy,drhov_dy,drhow_dy,drhoE_dy] Output: 3D 4*5 Matrix (flux about rho is zero) OutputMatrix(dir=1)= dF_dQy; More... | |
void | GetdFlux_dQz_3D (const Array< OneD, NekDouble > &normals, const NekDouble &mu, const Array< OneD, NekDouble > &U, DNekMatSharedPtr &OutputMatrix) |
return part of viscous Jacobian derived with Qz=[drho_dz,drhou_dz,drhov_dz,drhow_dz,drhoE_dz] Input: normals:Point normals U=[rho,rhou,rhov,rhow,rhoE] dir: means whether derive with Qz=[drho_dz,drhou_dz,drhov_dz,drhow_dz,drhoE_dz] Output: 3D 4*5 Matrix (flux about rho is zero) OutputMatrix(dir=2)= dF_dQz; More... | |
void | GetdFlux_dU_2D (const Array< OneD, NekDouble > &normals, const NekDouble mu, const NekDouble dmu_dT, const Array< OneD, NekDouble > &U, const Array< OneD, const Array< OneD, NekDouble > > &qfield, DNekMatSharedPtr &OutputMatrix) |
return part of viscous Jacobian Input: normals:Point normals mu: dynamicviscosity dmu_dT: mu's derivative with T using Sutherland's law U=[rho,rhou,rhov,rhoE] Output: 3*4 Matrix (the flux about rho is zero) OutputMatrix dFLux_dU, the matrix sign is consistent with SIPG More... | |
void | GetdFlux_dU_3D (const Array< OneD, NekDouble > &normals, const NekDouble mu, const NekDouble dmu_dT, const Array< OneD, NekDouble > &U, const Array< OneD, const Array< OneD, NekDouble > > &qfield, DNekMatSharedPtr &OutputMatrix) |
return part of viscous Jacobian Input: normals:Point normals mu: dynamicviscosity dmu_dT: mu's derivative with T using Sutherland's law U=[rho,rhou,rhov,rhow,rhoE] Output: 4*5 Matrix (the flux about rho is zero) OutputMatrix dFLux_dU, the matrix sign is consistent with SIPG More... | |
bool | v_SupportsShockCaptType (const std::string type) const final |
Protected Member Functions inherited from Nektar::NavierStokesCFE | |
NavierStokesCFE (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) | |
void | GetViscousFluxVectorConservVar (const size_t nDim, const Array< OneD, Array< OneD, NekDouble > > &inarray, const TensorOfArray3D< NekDouble > &qfields, TensorOfArray3D< NekDouble > &outarray, Array< OneD, int > &nonZeroIndex=NullInt1DArray, const Array< OneD, Array< OneD, NekDouble > > &normal=NullNekDoubleArrayOfArray) |
void | GetViscousSymmtrFluxConservVar (const size_t nSpaceDim, const Array< OneD, Array< OneD, NekDouble > > &inaverg, const Array< OneD, Array< OneD, NekDouble > > &inarray, TensorOfArray3D< NekDouble > &outarray, Array< OneD, int > &nonZeroIndex, const Array< OneD, Array< OneD, NekDouble > > &normals) |
Calculate and return the Symmetric flux in IP method. More... | |
void | SpecialBndTreat (Array< OneD, Array< OneD, NekDouble > > &consvar) |
For very special treatment. For general boundaries it does nothing But for WallViscous and WallAdiabatic, special treatment is needed because they get the same Bwd value, special treatment is needed for boundary treatment of diffusion flux Note: This special treatment could be removed by seperating WallViscous and WallAdiabatic into two different classes. More... | |
void | GetArtificialViscosity (const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, NekDouble > &muav) |
void | CalcViscosity (const Array< OneD, const Array< OneD, NekDouble > > &inaverg, Array< OneD, NekDouble > &mu) |
void | InitObject_Explicit () |
void | v_InitObject (bool DeclareField=true) override |
Initialization object for CompressibleFlowSystem class. More... | |
void | v_DoDiffusion (const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const Array< OneD, Array< OneD, NekDouble > > &pFwd, const Array< OneD, Array< OneD, NekDouble > > &pBwd) override |
virtual void | v_GetViscousFluxVector (const Array< OneD, const Array< OneD, NekDouble > > &physfield, TensorOfArray3D< NekDouble > &derivatives, TensorOfArray3D< NekDouble > &viscousTensor) |
Return the flux vector for the LDG diffusion problem. More... | |
virtual void | v_GetViscousFluxVectorDeAlias (const Array< OneD, const Array< OneD, NekDouble > > &physfield, TensorOfArray3D< NekDouble > &derivatives, TensorOfArray3D< NekDouble > &viscousTensor) |
Return the flux vector for the LDG diffusion problem. More... | |
void | GetPhysicalAV (const Array< OneD, const Array< OneD, NekDouble > > &physfield) |
void | Ducros (Array< OneD, NekDouble > &field) |
void | C0Smooth (Array< OneD, NekDouble > &field) |
virtual void | v_GetFluxPenalty (const Array< OneD, const Array< OneD, NekDouble > > &uFwd, const Array< OneD, const Array< OneD, NekDouble > > &uBwd, Array< OneD, Array< OneD, NekDouble > > &penaltyCoeff) |
Return the penalty vector for the LDGNS diffusion problem. More... | |
void | GetViscosityAndThermalCondFromTemp (const Array< OneD, NekDouble > &temperature, Array< OneD, NekDouble > &mu, Array< OneD, NekDouble > &thermalCond) |
Update viscosity todo: add artificial viscosity here. More... | |
void | GetDivCurlSquared (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &cnsVar, Array< OneD, NekDouble > &div, Array< OneD, NekDouble > &curlSquare, const Array< OneD, Array< OneD, NekDouble > > &cnsVarFwd, const Array< OneD, Array< OneD, NekDouble > > &cnsVarBwd) |
Get divergence and curl squared. More... | |
void | GetDivCurlFromDvelT (const TensorOfArray3D< NekDouble > &pVarDer, Array< OneD, NekDouble > &div, Array< OneD, NekDouble > &curlSquare) |
Get divergence and curl from velocity derivative tensor. More... | |
void | v_ExtraFldOutput (std::vector< Array< OneD, NekDouble > > &fieldcoeffs, std::vector< std::string > &variables) override |
template<class T , typename = typename std::enable_if< std::is_floating_point<T>::value || tinysimd::is_vector_floating_point<T>::value>::type> | |
void | GetViscosityAndThermalCondFromTempKernel (const T &temperature, T &mu, T &thermalCond) |
template<class T , typename = typename std::enable_if< std::is_floating_point<T>::value || tinysimd::is_vector_floating_point<T>::value>::type> | |
void | GetViscosityFromTempKernel (const T &temperature, T &mu) |
template<class T , typename = typename std::enable_if< std::is_floating_point<T>::value || tinysimd::is_vector_floating_point<T>::value>::type> | |
void | GetViscousFluxBilinearFormKernel (const unsigned short nDim, const unsigned short FluxDirection, const unsigned short DerivDirection, const T *inaverg, const T *injumpp, const T &mu, T *outarray) |
Calculate diffusion flux using the Jacobian form. More... | |
template<bool IS_TRACE> | |
void | GetViscousFluxVectorConservVar (const size_t nDim, const Array< OneD, Array< OneD, NekDouble > > &inarray, const TensorOfArray3D< NekDouble > &qfields, TensorOfArray3D< NekDouble > &outarray, Array< OneD, int > &nonZeroIndex, const Array< OneD, Array< OneD, NekDouble > > &normal) |
Return the flux vector for the IP diffusion problem, based on conservative variables. More... | |
bool | v_SupportsShockCaptType (const std::string type) const override |
Protected Member Functions inherited from Nektar::CompressibleFlowSystem | |
CompressibleFlowSystem (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) | |
void | v_InitObject (bool DeclareFields=true) override |
Initialization object for CompressibleFlowSystem class. More... | |
void | v_GetPressure (const Array< OneD, const Array< OneD, NekDouble > > &physfield, Array< OneD, NekDouble > &pressure) override |
void | v_GetDensity (const Array< OneD, const Array< OneD, NekDouble > > &physfield, Array< OneD, NekDouble > &density) override |
bool | v_HasConstantDensity () override |
void | v_GetVelocity (const Array< OneD, const Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &velocity) override |
void | v_ALEInitObject (int spaceDim, Array< OneD, MultiRegions::ExpListSharedPtr > &fields) override |
void | InitialiseParameters () |
Load CFS parameters from the session file. More... | |
void | InitAdvection () |
Create advection and diffusion objects for CFS. More... | |
void | DoOdeRhs (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
Compute the right-hand side. More... | |
void | DoOdeProjection (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
Compute the projection and call the method for imposing the boundary conditions in case of discontinuous projection. More... | |
void | DoAdvection (const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time, const Array< OneD, Array< OneD, NekDouble > > &pFwd, const Array< OneD, Array< OneD, NekDouble > > &pBwd) |
Compute the advection terms for the right-hand side. More... | |
void | DoDiffusion (const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const Array< OneD, Array< OneD, NekDouble > > &pFwd, const Array< OneD, Array< OneD, NekDouble > > &pBwd) |
Add the diffusions terms to the right-hand side. More... | |
void | GetFluxVector (const Array< OneD, const Array< OneD, NekDouble > > &physfield, TensorOfArray3D< NekDouble > &flux) |
Return the flux vector for the compressible Euler equations. More... | |
void | GetFluxVectorDeAlias (const Array< OneD, const Array< OneD, NekDouble > > &physfield, TensorOfArray3D< NekDouble > &flux) |
Return the flux vector for the compressible Euler equations by using the de-aliasing technique. More... | |
void | SetBoundaryConditions (Array< OneD, Array< OneD, NekDouble > > &physarray, NekDouble time) |
void | SetBoundaryConditionsBwdWeight () |
Set up a weight on physical boundaries for boundary condition applications. More... | |
void | GetElmtTimeStep (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, NekDouble > &tstep) |
Calculate the maximum timestep on each element subject to CFL restrictions. More... | |
NekDouble | v_GetTimeStep (const Array< OneD, const Array< OneD, NekDouble > > &inarray) override |
Calculate the maximum timestep subject to CFL restrictions. More... | |
void | v_GenerateSummary (SolverUtils::SummaryList &s) override |
Print a summary of time stepping parameters. More... | |
void | v_SetInitialConditions (NekDouble initialtime=0.0, bool dumpInitialConditions=true, const int domain=0) override |
Set up logic for residual calculation. More... | |
void | v_EvaluateExactSolution (unsigned int field, Array< OneD, NekDouble > &outfield, const NekDouble time=0.0) override |
NekDouble | GetGamma () |
const Array< OneD, const Array< OneD, NekDouble > > & | GetVecLocs () |
const Array< OneD, const Array< OneD, NekDouble > > & | GetNormals () |
MultiRegions::ExpListSharedPtr | v_GetPressure () override |
void | v_ExtraFldOutput (std::vector< Array< OneD, NekDouble > > &fieldcoeffs, std::vector< std::string > &variables) override |
virtual void | v_DoDiffusion (const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const Array< OneD, Array< OneD, NekDouble > > &pFwd, const Array< OneD, Array< OneD, NekDouble > > &pBwd)=0 |
Array< OneD, NekDouble > | v_GetMaxStdVelocity (const NekDouble SpeedSoundFactor) override |
Compute the advection velocity in the standard space for each element of the expansion. More... | |
void | v_SteadyStateResidual (int step, Array< OneD, NekDouble > &L2) override |
virtual bool | v_SupportsShockCaptType (const std::string type) const =0 |
Protected Member Functions inherited from Nektar::SolverUtils::AdvectionSystem | |
SOLVER_UTILS_EXPORT bool | v_PostIntegrate (int step) override |
virtual SOLVER_UTILS_EXPORT Array< OneD, NekDouble > | v_GetMaxStdVelocity (const NekDouble SpeedSoundFactor=1.0) |
Protected Member Functions inherited from Nektar::SolverUtils::UnsteadySystem | |
SOLVER_UTILS_EXPORT | UnsteadySystem (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) |
Initialises UnsteadySystem class members. More... | |
SOLVER_UTILS_EXPORT void | v_InitObject (bool DeclareField=true) override |
Init object for UnsteadySystem class. More... | |
SOLVER_UTILS_EXPORT void | v_DoSolve () override |
Solves an unsteady problem. More... | |
virtual SOLVER_UTILS_EXPORT void | v_PrintStatusInformation (const int step, const NekDouble cpuTime) |
Print Status Information. More... | |
virtual SOLVER_UTILS_EXPORT void | v_PrintSummaryStatistics (const NekDouble intTime) |
Print Summary Statistics. More... | |
SOLVER_UTILS_EXPORT void | v_DoInitialise (bool dumpInitialConditions=true) override |
Sets up initial conditions. More... | |
SOLVER_UTILS_EXPORT void | v_GenerateSummary (SummaryList &s) override |
Print a summary of time stepping parameters. More... | |
virtual SOLVER_UTILS_EXPORT NekDouble | v_GetTimeStep (const Array< OneD, const Array< OneD, NekDouble > > &inarray) |
Return the timestep to be used for the next step in the time-marching loop. More... | |
virtual SOLVER_UTILS_EXPORT bool | v_PreIntegrate (int step) |
virtual SOLVER_UTILS_EXPORT bool | v_PostIntegrate (int step) |
virtual SOLVER_UTILS_EXPORT bool | v_RequireFwdTrans () |
virtual SOLVER_UTILS_EXPORT void | v_SteadyStateResidual (int step, Array< OneD, NekDouble > &L2) |
virtual SOLVER_UTILS_EXPORT bool | v_UpdateTimeStepCheck () |
SOLVER_UTILS_EXPORT NekDouble | MaxTimeStepEstimator () |
Get the maximum timestep estimator for cfl control. More... | |
SOLVER_UTILS_EXPORT void | CheckForRestartTime (NekDouble &time, int &nchk) |
SOLVER_UTILS_EXPORT void | SVVVarDiffCoeff (const Array< OneD, Array< OneD, NekDouble > > vel, StdRegions::VarCoeffMap &varCoeffMap) |
Evaluate the SVV diffusion coefficient according to Moura's paper where it should proportional to h time velocity. More... | |
SOLVER_UTILS_EXPORT void | DoDummyProjection (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
Perform dummy projection. More... | |
Protected Member Functions inherited from Nektar::SolverUtils::EquationSystem | |
SOLVER_UTILS_EXPORT | EquationSystem (const LibUtilities::SessionReaderSharedPtr &pSession, const SpatialDomains::MeshGraphSharedPtr &pGraph) |
Initialises EquationSystem class members. More... | |
virtual SOLVER_UTILS_EXPORT void | v_InitObject (bool DeclareFeld=true) |
Initialisation object for EquationSystem. More... | |
virtual SOLVER_UTILS_EXPORT void | v_DoInitialise (bool dumpInitialConditions=true) |
Virtual function for initialisation implementation. More... | |
virtual SOLVER_UTILS_EXPORT void | v_DoSolve () |
Virtual function for solve implementation. More... | |
virtual SOLVER_UTILS_EXPORT NekDouble | v_LinfError (unsigned int field, const Array< OneD, NekDouble > &exactsoln=NullNekDouble1DArray) |
Virtual function for the L_inf error computation between fields and a given exact solution. More... | |
virtual SOLVER_UTILS_EXPORT NekDouble | v_L2Error (unsigned int field, const Array< OneD, NekDouble > &exactsoln=NullNekDouble1DArray, bool Normalised=false) |
Virtual function for the L_2 error computation between fields and a given exact solution. More... | |
virtual SOLVER_UTILS_EXPORT void | v_TransCoeffToPhys () |
Virtual function for transformation to physical space. More... | |
virtual SOLVER_UTILS_EXPORT void | v_TransPhysToCoeff () |
Virtual function for transformation to coefficient space. More... | |
virtual SOLVER_UTILS_EXPORT void | v_GenerateSummary (SummaryList &l) |
Virtual function for generating summary information. More... | |
virtual SOLVER_UTILS_EXPORT void | v_SetInitialConditions (NekDouble initialtime=0.0, bool dumpInitialConditions=true, const int domain=0) |
virtual SOLVER_UTILS_EXPORT void | v_EvaluateExactSolution (unsigned int field, Array< OneD, NekDouble > &outfield, const NekDouble time) |
virtual SOLVER_UTILS_EXPORT void | v_Output (void) |
virtual SOLVER_UTILS_EXPORT MultiRegions::ExpListSharedPtr | v_GetPressure (void) |
virtual SOLVER_UTILS_EXPORT bool | v_NegatedOp (void) |
Virtual function to identify if operator is negated in DoSolve. More... | |
virtual SOLVER_UTILS_EXPORT void | v_ExtraFldOutput (std::vector< Array< OneD, NekDouble > > &fieldcoeffs, std::vector< std::string > &variables) |
Protected Member Functions inherited from Nektar::SolverUtils::FluidInterface | |
virtual SOLVER_UTILS_EXPORT void | v_GetVelocity (const Array< OneD, const Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, NekDouble > > &velocity)=0 |
virtual SOLVER_UTILS_EXPORT bool | v_HasConstantDensity ()=0 |
virtual SOLVER_UTILS_EXPORT void | v_GetDensity (const Array< OneD, const Array< OneD, NekDouble > > &physfield, Array< OneD, NekDouble > &density)=0 |
virtual SOLVER_UTILS_EXPORT void | v_GetPressure (const Array< OneD, const Array< OneD, NekDouble > > &physfield, Array< OneD, NekDouble > &pressure)=0 |
virtual SOLVER_UTILS_EXPORT void | v_SetMovingFrameVelocities (const Array< OneD, NekDouble > &vFrameVels, const int step) |
virtual SOLVER_UTILS_EXPORT bool | v_GetMovingFrameVelocities (Array< OneD, NekDouble > &vFrameVels, const int step) |
virtual SOLVER_UTILS_EXPORT void | v_SetMovingFrameDisp (const Array< OneD, NekDouble > &vFrameDisp, const int step) |
virtual SOLVER_UTILS_EXPORT void | v_SetMovingFramePivot (const Array< OneD, NekDouble > &vFramePivot) |
virtual SOLVER_UTILS_EXPORT bool | v_GetMovingFrameDisp (Array< OneD, NekDouble > &vFrameDisp, const int step) |
virtual SOLVER_UTILS_EXPORT void | v_SetAeroForce (Array< OneD, NekDouble > forces) |
virtual SOLVER_UTILS_EXPORT void | v_GetAeroForce (Array< OneD, NekDouble > forces) |
Protected Member Functions inherited from Nektar::CFSImplicit | |
void | v_InitObject (bool DeclareFields=true) override |
Initialization object for CFSImplicit class. More... | |
void | InitialiseNonlinSysSolver () |
void | v_DoSolve () override |
Solves an unsteady problem. More... | |
void | v_PrintStatusInformation (const int step, const NekDouble cpuTime) override |
Print Status Information. More... | |
void | v_PrintSummaryStatistics (const NekDouble intTime) override |
Print Summary Statistics. More... | |
void | v_ALEInitObject (int spaceDim, Array< OneD, MultiRegions::ExpListSharedPtr > &fields) override |
void | NonlinSysEvaluatorCoeff1D (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out, const bool &flag) |
void | NonlinSysEvaluatorCoeff (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &out, const bool &flag) |
void | DoOdeImplicitRhs (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
void | DoOdeRhsCoeff (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time) |
Compute the right-hand side. More... | |
void | DoAdvectionCoeff (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble time, const Array< OneD, const Array< OneD, NekDouble > > &pFwd, const Array< OneD, const Array< OneD, NekDouble > > &pBwd) |
Compute the advection terms for the right-hand side. More... | |
void | DoDiffusionCoeff (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const Array< OneD, const Array< OneD, NekDouble > > &pFwd, const Array< OneD, const Array< OneD, NekDouble > > &pBwd) |
Add the diffusions terms to the right-hand side Similar to DoDiffusion() but with outarray in coefficient space. More... | |
void | DoImplicitSolve (const Array< OneD, const Array< OneD, NekDouble > > &inpnts, Array< OneD, Array< OneD, NekDouble > > &outpnt, const NekDouble time, const NekDouble lambda) |
void | DoImplicitSolveCoeff (const Array< OneD, const Array< OneD, NekDouble > > &inpnts, const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out, const NekDouble time, const NekDouble lambda) |
void | MatrixMultiplyMatrixFreeCoeff (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &out, const bool ¢ralDifferenceFlag) |
void | CalcRefValues (const Array< OneD, const NekDouble > &inarray) |
void | PreconCoeff (const Array< OneD, NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const bool &flag) |
template<typename DataType , typename TypeNekBlkMatSharedPtr > | |
void | AddMatNSBlkDiagVol (const Array< OneD, const Array< OneD, NekDouble > > &inarray, const Array< OneD, const TensorOfArray2D< NekDouble > > &qfield, Array< OneD, Array< OneD, TypeNekBlkMatSharedPtr > > &gmtxarray, TensorOfArray4D< DataType > &StdMatDataDBB, TensorOfArray5D< DataType > &StdMatDataDBDB) |
template<typename DataType > | |
void | CalcVolJacStdMat (TensorOfArray4D< DataType > &StdMatDataDBB, TensorOfArray5D< DataType > &StdMatDataDBDB) |
template<typename DataType , typename TypeNekBlkMatSharedPtr > | |
void | AddMatNSBlkDiagBnd (const Array< OneD, const Array< OneD, NekDouble > > &inarray, TensorOfArray3D< NekDouble > &qfield, TensorOfArray2D< TypeNekBlkMatSharedPtr > &gmtxarray, Array< OneD, TypeNekBlkMatSharedPtr > &TraceJac, Array< OneD, TypeNekBlkMatSharedPtr > &TraceJacDeriv, Array< OneD, Array< OneD, DataType > > &TraceJacDerivSign, TensorOfArray5D< DataType > &TraceIPSymJacArray) |
template<typename DataType , typename TypeNekBlkMatSharedPtr > | |
void | ElmtVarInvMtrx (Array< OneD, Array< OneD, TypeNekBlkMatSharedPtr > > &gmtxarray, TypeNekBlkMatSharedPtr &gmtVar, const DataType &tmpDatatype) |
template<typename DataType , typename TypeNekBlkMatSharedPtr > | |
void | GetTraceJac (const Array< OneD, const Array< OneD, NekDouble > > &inarray, TensorOfArray3D< NekDouble > &qfield, Array< OneD, TypeNekBlkMatSharedPtr > &TraceJac, Array< OneD, TypeNekBlkMatSharedPtr > &TraceJacDeriv, Array< OneD, Array< OneD, DataType > > &TraceJacDerivSign, TensorOfArray5D< DataType > &TraceIPSymJacArray) |
template<typename DataType , typename TypeNekBlkMatSharedPtr > | |
void | NumCalcRiemFluxJac (const int nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, const Array< OneD, NekDouble > > &AdvVel, const Array< OneD, const Array< OneD, NekDouble > > &inarray, TensorOfArray3D< NekDouble > &qfield, const NekDouble &time, const Array< OneD, const Array< OneD, NekDouble > > &Fwd, const Array< OneD, const Array< OneD, NekDouble > > &Bwd, TypeNekBlkMatSharedPtr &FJac, TypeNekBlkMatSharedPtr &BJac, TensorOfArray5D< DataType > &TraceIPSymJacArray) |
void | PointFluxJacobianPoint (const Array< OneD, NekDouble > &Fwd, const Array< OneD, NekDouble > &normals, DNekMatSharedPtr &FJac, const NekDouble efix, const NekDouble fsw) |
template<typename DataType , typename TypeNekBlkMatSharedPtr > | |
void | TranSamesizeBlkDiagMatIntoArray (const TypeNekBlkMatSharedPtr &BlkMat, TensorOfArray3D< DataType > &MatArray) |
template<typename DataType , typename TypeNekBlkMatSharedPtr > | |
void | TransTraceJacMatToArray (const Array< OneD, TypeNekBlkMatSharedPtr > &TraceJac, TensorOfArray4D< DataType > &TraceJacDerivArray) |
template<typename DataType , typename TypeNekBlkMatSharedPtr > | |
void | Fill2DArrayOfBlkDiagonalMat (Array< OneD, Array< OneD, TypeNekBlkMatSharedPtr > > &gmtxarray, const DataType valu) |
template<typename DataType , typename TypeNekBlkMatSharedPtr > | |
void | Fill1DArrayOfBlkDiagonalMat (Array< OneD, TypeNekBlkMatSharedPtr > &gmtxarray, const DataType valu) |
void | AllocateNekBlkMatDig (SNekBlkMatSharedPtr &mat, const Array< OneD, unsigned int > nrow, const Array< OneD, unsigned int > ncol) |
void | CalcPreconMatBRJCoeff (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, SNekBlkMatSharedPtr > > &gmtxarray, SNekBlkMatSharedPtr &gmtVar, Array< OneD, SNekBlkMatSharedPtr > &TraceJac, Array< OneD, SNekBlkMatSharedPtr > &TraceJacDeriv, Array< OneD, Array< OneD, NekSingle > > &TraceJacDerivSign, TensorOfArray4D< NekSingle > &TraceJacArray, TensorOfArray4D< NekSingle > &TraceJacDerivArray, TensorOfArray5D< NekSingle > &TraceIPSymJacArray) |
template<typename DataType , typename TypeNekBlkMatSharedPtr > | |
void | MultiplyElmtInvMassPlusSource (Array< OneD, Array< OneD, TypeNekBlkMatSharedPtr > > &gmtxarray, const NekDouble dtlamda) |
void | GetFluxVectorJacDirElmt (const int nConvectiveFields, const int nElmtPnt, const Array< OneD, const Array< OneD, NekDouble > > &locVars, const Array< OneD, NekDouble > &normals, DNekMatSharedPtr &wspMat, Array< OneD, Array< OneD, NekDouble > > &PntJacArray) |
void | GetFluxVectorJacPoint (const int nConvectiveFields, const Array< OneD, NekDouble > &conservVar, const Array< OneD, NekDouble > &normals, DNekMatSharedPtr &fluxJac) |
void | CalcTraceNumericalFlux (const int nConvectiveFields, const int nDim, const int nPts, const int nTracePts, const NekDouble PenaltyFactor2, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, const Array< OneD, NekDouble > > &AdvVel, const Array< OneD, const Array< OneD, NekDouble > > &inarray, const NekDouble time, TensorOfArray3D< NekDouble > &qfield, const Array< OneD, const Array< OneD, NekDouble > > &vFwd, const Array< OneD, const Array< OneD, NekDouble > > &vBwd, const Array< OneD, const TensorOfArray2D< NekDouble > > &qFwd, const Array< OneD, const TensorOfArray2D< NekDouble > > &qBwd, const Array< OneD, NekDouble > &MuVarTrace, Array< OneD, int > &nonZeroIndex, Array< OneD, Array< OneD, NekDouble > > &traceflux) |
void | MinusDiffusionFluxJacPoint (const int nConvectiveFields, const int nElmtPnt, const Array< OneD, const Array< OneD, NekDouble > > &locVars, const TensorOfArray3D< NekDouble > &locDerv, const Array< OneD, NekDouble > &locmu, const Array< OneD, NekDouble > &locDmuDT, const Array< OneD, NekDouble > &normals, DNekMatSharedPtr &wspMat, Array< OneD, Array< OneD, NekDouble > > &PntJacArray) |
void | GetFluxDerivJacDirctn (const MultiRegions::ExpListSharedPtr &explist, const Array< OneD, const Array< OneD, NekDouble > > &normals, const int nDervDir, const Array< OneD, const Array< OneD, NekDouble > > &inarray, TensorOfArray5D< NekDouble > &ElmtJacArray, const int nFluxDir) |
void | GetFluxDerivJacDirctnElmt (const int nConvectiveFields, const int nElmtPnt, const int nDervDir, const Array< OneD, const Array< OneD, NekDouble > > &locVars, const Array< OneD, NekDouble > &locmu, const Array< OneD, const Array< OneD, NekDouble > > &locnormal, DNekMatSharedPtr &wspMat, Array< OneD, Array< OneD, NekDouble > > &PntJacArray) |
void | GetFluxDerivJacDirctn (const MultiRegions::ExpListSharedPtr &explist, const Array< OneD, const Array< OneD, NekDouble > > &normals, const int nDervDir, const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, DNekMatSharedPtr > > &ElmtJac) |
void | CalcPhysDeriv (const Array< OneD, const Array< OneD, NekDouble > > &inarray, TensorOfArray3D< NekDouble > &qfield) |
void | CalcMuDmuDT (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, NekDouble > &mu, Array< OneD, NekDouble > &DmuDT) |
virtual void | v_DoDiffusionCoeff (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const Array< OneD, const Array< OneD, NekDouble > > &pFwd, const Array< OneD, const Array< OneD, NekDouble > > &pBwd) |
virtual void | v_CalcMuDmuDT (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, NekDouble > &mu, Array< OneD, NekDouble > &DmuDT) |
virtual void | v_CalcPhysDeriv (const Array< OneD, const Array< OneD, NekDouble > > &inarray, TensorOfArray3D< NekDouble > &qfield) |
virtual void | v_MinusDiffusionFluxJacPoint (const int nConvectiveFields, const int nElmtPnt, const Array< OneD, const Array< OneD, NekDouble > > &locVars, const TensorOfArray3D< NekDouble > &locDerv, const Array< OneD, NekDouble > &locmu, const Array< OneD, NekDouble > &locDmuDT, const Array< OneD, NekDouble > &normals, DNekMatSharedPtr &wspMat, Array< OneD, Array< OneD, NekDouble > > &PntJacArray) |
virtual void | v_GetFluxDerivJacDirctn (const MultiRegions::ExpListSharedPtr &explist, const Array< OneD, const Array< OneD, NekDouble > > &normals, const int nDervDir, const Array< OneD, const Array< OneD, NekDouble > > &inarray, TensorOfArray5D< NekDouble > &ElmtJacArray, const int nFluxDir) |
virtual void | v_GetFluxDerivJacDirctnElmt (const int nConvectiveFields, const int nElmtPnt, const int nDervDir, const Array< OneD, const Array< OneD, NekDouble > > &locVars, const Array< OneD, NekDouble > &locmu, const Array< OneD, const Array< OneD, NekDouble > > &locnormal, DNekMatSharedPtr &wspMat, Array< OneD, Array< OneD, NekDouble > > &PntJacArray) |
virtual void | v_GetFluxDerivJacDirctn (const MultiRegions::ExpListSharedPtr &explist, const Array< OneD, const Array< OneD, NekDouble > > &normals, const int nDervDir, const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, DNekMatSharedPtr > > &ElmtJac) |
bool | v_UpdateTimeStepCheck () override |
Protected Attributes | |
Array< OneD, GetdFlux_dDeriv > | m_GetdFlux_dDeriv_Array |
Protected Attributes inherited from Nektar::NavierStokesCFE | |
std::string | m_ViscosityType |
bool | m_is_mu_variable {false} |
flag to switch between constant viscosity and Sutherland an enum could be added for more options More... | |
bool | m_is_diffIP {false} |
flag to switch between IP and LDG an enum could be added for more options More... | |
bool | m_is_shockCaptPhys {false} |
flag for shock capturing switch on/off an enum could be added for more options More... | |
NekDouble | m_Cp |
NekDouble | m_Cv |
NekDouble | m_Prandtl |
std::string | m_physicalSensorType |
std::string | m_smoothing |
MultiRegions::ContFieldSharedPtr | m_C0ProjectExp |
EquationOfStateSharedPtr | m_eos |
Equation of system for computing temperature. More... | |
NekDouble | m_Twall |
NekDouble | m_muRef |
NekDouble | m_thermalConductivityRef |
Protected Attributes inherited from Nektar::CompressibleFlowSystem | |
SolverUtils::DiffusionSharedPtr | m_diffusion |
ArtificialDiffusionSharedPtr | m_artificialDiffusion |
Array< OneD, Array< OneD, NekDouble > > | m_vecLocs |
NekDouble | m_gamma |
std::string | m_shockCaptureType |
NekDouble | m_filterAlpha |
NekDouble | m_filterExponent |
NekDouble | m_filterCutoff |
bool | m_useFiltering |
bool | m_useLocalTimeStep |
Array< OneD, NekDouble > | m_muav |
Array< OneD, NekDouble > | m_muavTrace |
VariableConverterSharedPtr | m_varConv |
std::vector< CFSBndCondSharedPtr > | m_bndConds |
NekDouble | m_bndEvaluateTime |
std::vector< SolverUtils::ForcingSharedPtr > | m_forcing |
Protected Attributes inherited from Nektar::SolverUtils::AdvectionSystem | |
SolverUtils::AdvectionSharedPtr | m_advObject |
Advection term. More... | |
Protected Attributes inherited from Nektar::SolverUtils::UnsteadySystem | |
LibUtilities::TimeIntegrationSchemeSharedPtr | m_intScheme |
Wrapper to the time integration scheme. More... | |
LibUtilities::TimeIntegrationSchemeOperators | m_ode |
The time integration scheme operators to use. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_previousSolution |
Storage for previous solution for steady-state check. More... | |
std::vector< int > | m_intVariables |
NekDouble | m_cflSafetyFactor |
CFL safety factor (comprise between 0 to 1). More... | |
NekDouble | m_CFLGrowth |
CFL growth rate. More... | |
NekDouble | m_CFLEnd |
Maximun cfl in cfl growth. More... | |
int | m_abortSteps |
Number of steps between checks for abort conditions. More... | |
bool | m_explicitDiffusion |
Indicates if explicit or implicit treatment of diffusion is used. More... | |
bool | m_explicitAdvection |
Indicates if explicit or implicit treatment of advection is used. More... | |
bool | m_explicitReaction |
Indicates if explicit or implicit treatment of reaction is used. More... | |
int | m_steadyStateSteps |
Check for steady state at step interval. More... | |
NekDouble | m_steadyStateTol |
Tolerance to which steady state should be evaluated at. More... | |
int | m_filtersInfosteps |
Number of time steps between outputting filters information. More... | |
std::vector< std::pair< std::string, FilterSharedPtr > > | m_filters |
bool | m_homoInitialFwd |
Flag to determine if simulation should start in homogeneous forward transformed state. More... | |
std::ofstream | m_errFile |
NekDouble | m_epsilon |
Diffusion coefficient. More... | |
Protected Attributes inherited from Nektar::SolverUtils::EquationSystem | |
LibUtilities::CommSharedPtr | m_comm |
Communicator. More... | |
bool | m_verbose |
LibUtilities::SessionReaderSharedPtr | m_session |
The session reader. More... | |
std::map< std::string, SolverUtils::SessionFunctionSharedPtr > | m_sessionFunctions |
Map of known SessionFunctions. More... | |
LibUtilities::FieldIOSharedPtr | m_fld |
Field input/output. More... | |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_fields |
Array holding all dependent variables. More... | |
SpatialDomains::BoundaryConditionsSharedPtr | m_boundaryConditions |
Pointer to boundary conditions object. More... | |
SpatialDomains::MeshGraphSharedPtr | m_graph |
Pointer to graph defining mesh. More... | |
std::string | m_sessionName |
Name of the session. More... | |
NekDouble | m_time |
Current time of simulation. More... | |
int | m_initialStep |
Number of the step where the simulation should begin. More... | |
NekDouble | m_fintime |
Finish time of the simulation. More... | |
NekDouble | m_timestep |
Time step size. More... | |
NekDouble | m_lambda |
Lambda constant in real system if one required. More... | |
NekDouble | m_checktime |
Time between checkpoints. More... | |
NekDouble | m_lastCheckTime |
NekDouble | m_TimeIncrementFactor |
int | m_nchk |
Number of checkpoints written so far. More... | |
int | m_steps |
Number of steps to take. More... | |
int | m_checksteps |
Number of steps between checkpoints. More... | |
int | m_infosteps |
Number of time steps between outputting status information. More... | |
int | m_iterPIT = 0 |
Number of parallel-in-time time iteration. More... | |
int | m_windowPIT = 0 |
Index of windows for parallel-in-time time iteration. More... | |
int | m_spacedim |
Spatial dimension (>= expansion dim). More... | |
int | m_expdim |
Expansion dimension. More... | |
bool | m_singleMode |
Flag to determine if single homogeneous mode is used. More... | |
bool | m_halfMode |
Flag to determine if half homogeneous mode is used. More... | |
bool | m_multipleModes |
Flag to determine if use multiple homogenenous modes are used. More... | |
bool | m_useFFT |
Flag to determine if FFT is used for homogeneous transform. More... | |
bool | m_homogen_dealiasing |
Flag to determine if dealiasing is used for homogeneous simulations. More... | |
bool | m_specHP_dealiasing |
Flag to determine if dealisising is usde for the Spectral/hp element discretisation. More... | |
enum MultiRegions::ProjectionType | m_projectionType |
Type of projection; e.g continuous or discontinuous. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_traceNormals |
Array holding trace normals for DG simulations in the forwards direction. More... | |
Array< OneD, bool > | m_checkIfSystemSingular |
Flag to indicate if the fields should be checked for singularity. More... | |
LibUtilities::FieldMetaDataMap | m_fieldMetaDataMap |
Map to identify relevant solver info to dump in output fields. More... | |
Array< OneD, NekDouble > | m_movingFrameData |
Moving reference frame status in the inertial frame X, Y, Z, Theta_x, Theta_y, Theta_z, U, V, W, Omega_x, Omega_y, Omega_z, A_x, A_y, A_z, DOmega_x, DOmega_y, DOmega_z, pivot_x, pivot_y, pivot_z. More... | |
std::vector< std::string > | m_strFrameData |
variable name in m_movingFrameData More... | |
int | m_NumQuadPointsError |
Number of Quadrature points used to work out the error. More... | |
enum HomogeneousType | m_HomogeneousType |
NekDouble | m_LhomX |
physical length in X direction (if homogeneous) More... | |
NekDouble | m_LhomY |
physical length in Y direction (if homogeneous) More... | |
NekDouble | m_LhomZ |
physical length in Z direction (if homogeneous) More... | |
int | m_npointsX |
number of points in X direction (if homogeneous) More... | |
int | m_npointsY |
number of points in Y direction (if homogeneous) More... | |
int | m_npointsZ |
number of points in Z direction (if homogeneous) More... | |
int | m_HomoDirec |
number of homogenous directions More... | |
Protected Attributes inherited from Nektar::SolverUtils::ALEHelper | |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_fieldsALE |
Array< OneD, Array< OneD, NekDouble > > | m_gridVelocity |
Array< OneD, Array< OneD, NekDouble > > | m_gridVelocityTrace |
std::vector< ALEBaseShPtr > | m_ALEs |
bool | m_ALESolver = false |
bool | m_ImplicitALESolver = false |
NekDouble | m_prevStageTime = 0.0 |
int | m_spaceDim |
Protected Attributes inherited from Nektar::CFSImplicit | |
bool | m_viscousJacFlag |
bool | m_advectionJacFlag |
bool | m_flagImplicitItsStatistics |
int | m_nPadding = 1 |
int | m_TotNewtonIts = 0 |
int | m_TotLinIts = 0 |
int | m_TotImpStages = 0 |
Array< OneD, NekDouble > | m_magnitdEstimat |
Estimate the magnitude of each conserved varibles. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_solutionPhys |
NekDouble | m_TimeIntegLambda = 0.0 |
coefff of spacial derivatives(rhs or m_F in GLM) in calculating the residual of the whole equation(used in unsteady time integrations) More... | |
NekDouble | m_inArrayNorm = -1.0 |
NekDouble | m_jacobiFreeEps |
TensorOfArray4D< NekSingle > | m_stdSMatDataDBB |
TensorOfArray5D< NekSingle > | m_stdSMatDataDBDB |
LibUtilities::NekNonlinSysIterSharedPtr | m_nonlinsol |
PreconCfsSharedPtr | m_preconCfs |
bool | m_updateShockCaptPhys {true} |
Friends | |
class | MemoryManager< NavierStokesImplicitCFE > |
Additional Inherited Members | |
Protected Types inherited from Nektar::SolverUtils::EquationSystem | |
enum | HomogeneousType { eHomogeneous1D , eHomogeneous2D , eHomogeneous3D , eNotHomogeneous } |
Parameter for homogeneous expansions. More... | |
Static Protected Attributes inherited from Nektar::SolverUtils::EquationSystem | |
static std::string | equationSystemTypeLookupIds [] |
static std::string | projectionTypeLookupIds [] |
Definition at line 50 of file NavierStokesImplicitCFE.h.
typedef std::function<void( const Array<OneD, NekDouble> &, const NekDouble &, const Array<OneD, NekDouble> &, DNekMatSharedPtr &)> Nektar::NavierStokesImplicitCFE::GetdFlux_dDeriv |
Definition at line 75 of file NavierStokesImplicitCFE.h.
|
overridedefault |
|
protected |
Definition at line 46 of file NavierStokesImplicitCFE.cpp.
|
inlinestatic |
Definition at line 57 of file NavierStokesImplicitCFE.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
|
protected |
return part of viscous Jacobian:
Definition at line 224 of file NavierStokesImplicitCFE.cpp.
References Nektar::CompressibleFlowSystem::m_gamma, and Nektar::NavierStokesCFE::m_Prandtl.
Referenced by v_InitObject().
|
protected |
return part of viscous Jacobian derived with Qx=[drho_dx,drhou_dx,drhov_dx,drhow_dx,drhoE_dx] Input: normals:Point normals U=[rho,rhou,rhov,rhow,rhoE] dir: means whether derive with Qx=[drho_dx,drhou_dx,drhov_dx,drhow_dx,drhoE_dx] Output: 3D 4*5 Matrix (flux about rho is zero) OutputMatrix(dir=0)= dF_dQx;
Definition at line 342 of file NavierStokesImplicitCFE.cpp.
References Nektar::CompressibleFlowSystem::m_gamma, Nektar::NavierStokesCFE::m_Prandtl, and Nektar::UnitTests::w().
Referenced by v_InitObject().
|
protected |
return part of viscous Jacobian:
Definition at line 282 of file NavierStokesImplicitCFE.cpp.
References Nektar::CompressibleFlowSystem::m_gamma, and Nektar::NavierStokesCFE::m_Prandtl.
Referenced by v_InitObject().
|
protected |
return part of viscous Jacobian derived with Qy=[drho_dy,drhou_dy,drhov_dy,drhow_dy,drhoE_dy] Input: normals:Point normals U=[rho,rhou,rhov,rhow,rhoE] dir: means whether derive with Qy=[drho_dy,drhou_dy,drhov_dy,drhow_dy,drhoE_dy] Output: 3D 4*5 Matrix (flux about rho is zero) OutputMatrix(dir=1)= dF_dQy;
Definition at line 415 of file NavierStokesImplicitCFE.cpp.
References Nektar::CompressibleFlowSystem::m_gamma, Nektar::NavierStokesCFE::m_Prandtl, and Nektar::UnitTests::w().
Referenced by v_InitObject().
|
protected |
return part of viscous Jacobian derived with Qz=[drho_dz,drhou_dz,drhov_dz,drhow_dz,drhoE_dz] Input: normals:Point normals U=[rho,rhou,rhov,rhow,rhoE] dir: means whether derive with Qz=[drho_dz,drhou_dz,drhov_dz,drhow_dz,drhoE_dz] Output: 3D 4*5 Matrix (flux about rho is zero) OutputMatrix(dir=2)= dF_dQz;
Definition at line 490 of file NavierStokesImplicitCFE.cpp.
References Nektar::CompressibleFlowSystem::m_gamma, Nektar::NavierStokesCFE::m_Prandtl, and Nektar::UnitTests::w().
Referenced by v_InitObject().
|
protected |
return part of viscous Jacobian Input: normals:Point normals mu: dynamicviscosity dmu_dT: mu's derivative with T using Sutherland's law U=[rho,rhou,rhov,rhoE] Output: 3*4 Matrix (the flux about rho is zero) OutputMatrix dFLux_dU, the matrix sign is consistent with SIPG
Definition at line 562 of file NavierStokesImplicitCFE.cpp.
References Nektar::NavierStokesCFE::m_Cv, Nektar::CompressibleFlowSystem::m_gamma, and Nektar::NavierStokesCFE::m_Prandtl.
Referenced by v_GetDiffusionFluxJacPoint().
|
protected |
return part of viscous Jacobian Input: normals:Point normals mu: dynamicviscosity dmu_dT: mu's derivative with T using Sutherland's law U=[rho,rhou,rhov,rhow,rhoE] Output: 4*5 Matrix (the flux about rho is zero) OutputMatrix dFLux_dU, the matrix sign is consistent with SIPG
Definition at line 730 of file NavierStokesImplicitCFE.cpp.
References Nektar::NavierStokesCFE::m_Cv, Nektar::CompressibleFlowSystem::m_gamma, Nektar::NavierStokesCFE::m_Prandtl, and Nektar::UnitTests::w().
Referenced by v_GetDiffusionFluxJacPoint().
|
overrideprotectedvirtual |
Reimplemented from Nektar::CFSImplicit.
Definition at line 1334 of file NavierStokesImplicitCFE.cpp.
References Nektar::NavierStokesCFE::GetViscosityAndThermalCondFromTemp(), Nektar::CompressibleFlowSystem::m_varConv, Nektar::NavierStokesCFE::m_ViscosityType, and Vmath::Zero().
|
overrideprotectedvirtual |
Reimplemented from Nektar::CFSImplicit.
Definition at line 1290 of file NavierStokesImplicitCFE.cpp.
References ASSERTL1, Nektar::SolverUtils::EquationSystem::GetTotPoints(), Nektar::CompressibleFlowSystem::m_diffusion, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::NavierStokesCFE::m_is_diffIP, and Nektar::SolverUtils::EquationSystem::m_spacedim.
|
inlinefinalprotectedvirtual |
Reimplemented from Nektar::NavierStokesCFE.
Definition at line 92 of file NavierStokesImplicitCFE.h.
References Nektar::ErrorUtil::efatal, and NEKERROR.
|
overrideprotectedvirtual |
Reimplemented from Nektar::CFSImplicit.
Definition at line 103 of file NavierStokesImplicitCFE.cpp.
References ASSERTL1, Nektar::ErrorUtil::efatal, Nektar::NavierStokesCFE::GetDivCurlSquared(), Nektar::SolverUtils::EquationSystem::GetNcoeffs(), Nektar::SolverUtils::EquationSystem::GetNpoints(), Nektar::SolverUtils::EquationSystem::GetTraceTotPoints(), Nektar::CompressibleFlowSystem::m_artificialDiffusion, Nektar::CompressibleFlowSystem::m_bndEvaluateTime, Nektar::CompressibleFlowSystem::m_diffusion, Nektar::SolverUtils::EquationSystem::m_fields, Nektar::NavierStokesCFE::m_is_diffIP, Nektar::NavierStokesCFE::m_is_shockCaptPhys, Nektar::CFSImplicit::m_updateShockCaptPhys, Nektar::CompressibleFlowSystem::m_varConv, NEKERROR, Nektar::NullNekDoubleArrayOfArray, and Vmath::Vadd().
|
protectedvirtual |
Definition at line 1048 of file NavierStokesImplicitCFE.cpp.
References Nektar::ErrorUtil::efatal, GetdFlux_dU_2D(), GetdFlux_dU_3D(), Nektar::SolverUtils::EquationSystem::m_spacedim, and NEKERROR.
Referenced by v_MinusDiffusionFluxJacPoint().
|
overrideprotectedvirtual |
Reimplemented from Nektar::CFSImplicit.
Definition at line 1192 of file NavierStokesImplicitCFE.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Vmath::Fill(), Nektar::NavierStokesCFE::GetViscosityAndThermalCondFromTemp(), m_GetdFlux_dDeriv_Array, Nektar::SolverUtils::EquationSystem::m_graph, Nektar::CompressibleFlowSystem::m_varConv, and Vmath::Vcopy().
|
overrideprotectedvirtual |
Reimplemented from Nektar::CFSImplicit.
Definition at line 1070 of file NavierStokesImplicitCFE.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::NavierStokesCFE::GetViscosityAndThermalCondFromTemp(), m_GetdFlux_dDeriv_Array, Nektar::SolverUtils::EquationSystem::m_graph, and Nektar::CompressibleFlowSystem::m_varConv.
|
overrideprotectedvirtual |
Reimplemented from Nektar::CFSImplicit.
Definition at line 1149 of file NavierStokesImplicitCFE.cpp.
References m_GetdFlux_dDeriv_Array, Nektar::SolverUtils::EquationSystem::m_graph, Vmath::Vcopy(), and Vmath::Zero().
|
overrideprotectedvirtual |
Initialization object for CompressibleFlowSystem class.
Reimplemented from Nektar::CFSImplicit.
Definition at line 58 of file NavierStokesImplicitCFE.cpp.
References GetdFlux_dQx_2D(), GetdFlux_dQx_3D(), GetdFlux_dQy_2D(), GetdFlux_dQy_3D(), GetdFlux_dQz_3D(), Nektar::NavierStokesCFE::InitObject_Explicit(), m_GetdFlux_dDeriv_Array, Nektar::SolverUtils::EquationSystem::m_spacedim, and Nektar::CFSImplicit::v_InitObject().
|
overrideprotectedvirtual |
Reimplemented from Nektar::CFSImplicit.
Definition at line 993 of file NavierStokesImplicitCFE.cpp.
References Nektar::SolverUtils::EquationSystem::m_graph, v_GetDiffusionFluxJacPoint(), and Vmath::Vsub().
|
finalprotectedvirtual |
Reimplemented from Nektar::NavierStokesCFE.
Definition at line 1361 of file NavierStokesImplicitCFE.cpp.
|
friend |
Definition at line 1 of file NavierStokesImplicitCFE.h.
|
static |
Definition at line 68 of file NavierStokesImplicitCFE.h.
|
protected |
Definition at line 78 of file NavierStokesImplicitCFE.h.
Referenced by v_GetFluxDerivJacDirctn(), v_GetFluxDerivJacDirctnElmt(), and v_InitObject().