Nektar++
|
Non Smooth artificial diffusion for shock capture for compressible flow problems. More...
#include <NonSmoothShockCapture.h>
Static Public Member Functions | |
static ArtificialDiffusionSharedPtr | create (const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const int spacedim) |
Creates an instance of this class. More... | |
Static Public Attributes | |
static std::string | className |
Name of the class. More... | |
Protected Member Functions | |
virtual void | v_GetArtificialViscosity (const Array< OneD, Array< OneD, NekDouble >> &physfield, Array< OneD, NekDouble > &mu) override |
![]() | |
ArtificialDiffusion (const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const int spacedim) | |
Constructor. More... | |
virtual void | v_DoArtificialDiffusion (const Array< OneD, const Array< OneD, NekDouble >> &inarray, Array< OneD, Array< OneD, NekDouble >> &outarray) |
virtual void | v_DoArtificialDiffusionCoeff (const Array< OneD, const Array< OneD, NekDouble >> &inarray, Array< OneD, Array< OneD, NekDouble >> &outarray) |
void | GetFluxVector (const Array< OneD, Array< OneD, NekDouble >> &inarray, const Array< OneD, Array< OneD, Array< OneD, NekDouble >>> &qfield, Array< OneD, Array< OneD, Array< OneD, NekDouble >>> &viscousTensor) |
Return the flux vector for the artificial viscosity operator. More... | |
Private Member Functions | |
NonSmoothShockCapture (const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const int spacedim) | |
virtual | ~NonSmoothShockCapture (void) |
Private Attributes | |
int | m_offset |
Parameters. More... | |
Friends | |
class | MemoryManager< NonSmoothShockCapture > |
Non Smooth artificial diffusion for shock capture for compressible flow problems.
Definition at line 47 of file NonSmoothShockCapture.h.
|
private |
Definition at line 47 of file NonSmoothShockCapture.cpp.
References Nektar::ArtificialDiffusion::m_fields, m_offset, Nektar::ArtificialDiffusion::m_session, and Nektar::ArtificialDiffusion::m_varConv.
|
inlineprivatevirtual |
Definition at line 78 of file NonSmoothShockCapture.h.
|
inlinestatic |
Creates an instance of this class.
Definition at line 53 of file NonSmoothShockCapture.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), and CellMLToNektar.cellml_metadata::p.
|
overrideprotectedvirtual |
Implements Nektar::ArtificialDiffusion.
Definition at line 58 of file NonSmoothShockCapture.cpp.
References Nektar::ArtificialDiffusion::m_fields, Nektar::ArtificialDiffusion::m_mu0, m_offset, Nektar::ArtificialDiffusion::m_varConv, Vmath::Smul(), Vmath::Vadd(), and Vmath::Vmax().
|
friend |
Definition at line 1 of file NonSmoothShockCapture.h.
|
static |
Name of the class.
Definition at line 65 of file NonSmoothShockCapture.h.
|
private |
Parameters.
Definition at line 81 of file NonSmoothShockCapture.h.
Referenced by NonSmoothShockCapture(), and v_GetArtificialViscosity().