35 #ifndef NEKTAR_SOLVERS_COMPRESSIBLEFLOWSOLVER_ARTIFICIALDIFFUSION_NONSMOOTH 36 #define NEKTAR_SOLVERS_COMPRESSIBLEFLOWSOLVER_ARTIFICIALDIFFUSION_NONSMOOTH
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
static ArtificialDiffusionSharedPtr create(const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const int spacedim)
Creates an instance of this class.
virtual ~NonSmoothShockCapture(void)
std::shared_ptr< ArtificialDiffusion > ArtificialDiffusionSharedPtr
A shared pointer to a artificial diffusion object.
static std::string className
Name of the class.
virtual void v_GetArtificialViscosity(const Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, NekDouble > &mu)
Encapsulates the artificial diffusion used in shock capture.
Non Smooth artificial diffusion for shock capture for compressible flow problems. ...
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
NonSmoothShockCapture(const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const int spacedim)
std::shared_ptr< SessionReader > SessionReaderSharedPtr