|
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. | |
Static Public Attributes | |
| static std::string | className |
| Name of the class. | |
Protected Member Functions | |
| void | v_GetArtificialViscosity (const Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, NekDouble > &mu) override |
Protected Member Functions inherited from Nektar::ArtificialDiffusion | |
| ArtificialDiffusion (const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const int spacedim) | |
| Constructor. | |
| virtual | ~ArtificialDiffusion ()=default |
| 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. | |
Private Member Functions | |
| NonSmoothShockCapture (const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const int spacedim) | |
| ~NonSmoothShockCapture (void) override=default | |
Private Attributes | |
| int | m_offset |
| Parameters. | |
Friends | |
| class | MemoryManager< NonSmoothShockCapture > |
Additional Inherited Members | |
Public Member Functions inherited from Nektar::ArtificialDiffusion | |
| void | DoArtificialDiffusion (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray) |
| Apply the artificial diffusion. | |
| void | DoArtificialDiffusionCoeff (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray) |
| Apply the artificial diffusion the outarray is in coeff space. | |
| void | GetArtificialViscosity (const Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, NekDouble > &mu) |
| Calculate the artificial viscosity. | |
Protected Attributes inherited from Nektar::ArtificialDiffusion | |
| LibUtilities::SessionReaderSharedPtr | m_session |
| Session reader. | |
| Array< OneD, MultiRegions::ExpListSharedPtr > | m_fields |
| Array of fields. | |
| VariableConverterSharedPtr | m_varConv |
| Auxiliary object to convert variables. | |
| SolverUtils::DiffusionSharedPtr | m_diffusion |
| LDG Diffusion operator. | |
| NekDouble | m_mu0 |
| Constant scaling. | |
Non Smooth artificial diffusion for shock capture for compressible flow problems.
Definition at line 47 of file NonSmoothShockCapture.h.
|
private |
Definition at line 45 of file NonSmoothShockCapture.cpp.
References Nektar::ArtificialDiffusion::m_fields, m_offset, Nektar::ArtificialDiffusion::m_session, and Nektar::ArtificialDiffusion::m_varConv.
|
overrideprivatedefault |
|
inlinestatic |
Creates an instance of this class.
Definition at line 53 of file NonSmoothShockCapture.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
|
overrideprotectedvirtual |
Implements Nektar::ArtificialDiffusion.
Definition at line 60 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().