Nektar++
|
Encapsulates the artificial diffusion used in shock capture. More...
#include <ArtificialDiffusion.h>
Public Member Functions | |
virtual | ~ArtificialDiffusion () |
void | DoArtificialDiffusion (const Array< OneD, const Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray) |
Apply the artificial diffusion. More... | |
void | GetArtificialViscosity (const Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, NekDouble > &mu) |
Calculate the artificial viscosity. More... | |
Protected Member Functions | |
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_GetArtificialViscosity (const Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, NekDouble > &mu)=0 |
Protected Attributes | |
LibUtilities::SessionReaderSharedPtr | m_session |
Session reader. More... | |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_fields |
Array of fields. More... | |
VariableConverterSharedPtr | m_varConv |
Auxiliary object to convert variables. More... | |
SolverUtils::DiffusionSharedPtr | m_diffusion |
LDG Diffusion operator. More... | |
NekDouble | m_FacL |
Parameters. More... | |
NekDouble | m_FacH |
NekDouble | m_hFactor |
NekDouble | m_C1 |
NekDouble | m_C2 |
NekDouble | m_mu0 |
NekDouble | m_Skappa |
NekDouble | m_Kappa |
Encapsulates the artificial diffusion used in shock capture.
Definition at line 69 of file ArtificialDiffusion.h.
|
inlinevirtual |
Definition at line 72 of file ArtificialDiffusion.h.
|
protected |
Constructor.
Definition at line 52 of file ArtificialDiffusion.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::LibUtilities::NekFactory< tKey, tBase, >::CreateInstance(), GetArtificialViscosity(), Nektar::SolverUtils::GetDiffusionFactory(), m_C1, m_C2, m_diffusion, m_FacH, m_FacL, m_fields, m_hFactor, m_Kappa, m_mu0, m_session, m_Skappa, and m_varConv.
void Nektar::ArtificialDiffusion::DoArtificialDiffusion | ( | const Array< OneD, const Array< OneD, NekDouble > > & | inarray, |
Array< OneD, Array< OneD, NekDouble > > & | outarray | ||
) |
Apply the artificial diffusion.
Definition at line 82 of file ArtificialDiffusion.cpp.
References v_DoArtificialDiffusion().
void Nektar::ArtificialDiffusion::GetArtificialViscosity | ( | const Array< OneD, Array< OneD, NekDouble > > & | physfield, |
Array< OneD, NekDouble > & | mu | ||
) |
Calculate the artificial viscosity.
Definition at line 121 of file ArtificialDiffusion.cpp.
References v_GetArtificialViscosity().
Referenced by ArtificialDiffusion().
|
protectedvirtual |
Reimplemented in Nektar::SmoothShockCapture.
Definition at line 92 of file ArtificialDiffusion.cpp.
References m_diffusion, m_fields, and Vmath::Vadd().
Referenced by DoArtificialDiffusion().
|
protectedpure virtual |
Implemented in Nektar::SmoothShockCapture, and Nektar::NonSmoothShockCapture.
Referenced by GetArtificialViscosity().
|
protected |
Definition at line 98 of file ArtificialDiffusion.h.
Referenced by ArtificialDiffusion(), and Nektar::SmoothShockCapture::GetForcingTerm().
|
protected |
Definition at line 99 of file ArtificialDiffusion.h.
Referenced by ArtificialDiffusion(), and Nektar::SmoothShockCapture::v_DoArtificialDiffusion().
|
protected |
LDG Diffusion operator.
Definition at line 92 of file ArtificialDiffusion.h.
Referenced by ArtificialDiffusion(), Nektar::SmoothShockCapture::v_DoArtificialDiffusion(), and v_DoArtificialDiffusion().
|
protected |
Definition at line 96 of file ArtificialDiffusion.h.
Referenced by ArtificialDiffusion(), and Nektar::SmoothShockCapture::v_GetArtificialViscosity().
|
protected |
Parameters.
Definition at line 95 of file ArtificialDiffusion.h.
Referenced by ArtificialDiffusion(), and Nektar::SmoothShockCapture::v_GetArtificialViscosity().
|
protected |
Array of fields.
Definition at line 88 of file ArtificialDiffusion.h.
Referenced by ArtificialDiffusion(), Nektar::SmoothShockCapture::GetForcingTerm(), Nektar::SmoothShockCapture::SmoothShockCapture(), Nektar::SmoothShockCapture::v_DoArtificialDiffusion(), v_DoArtificialDiffusion(), Nektar::NonSmoothShockCapture::v_GetArtificialViscosity(), and Nektar::SmoothShockCapture::v_GetArtificialViscosity().
|
protected |
Definition at line 97 of file ArtificialDiffusion.h.
Referenced by ArtificialDiffusion(), and Nektar::SmoothShockCapture::GetForcingTerm().
|
protected |
Definition at line 102 of file ArtificialDiffusion.h.
Referenced by ArtificialDiffusion(), and Nektar::NonSmoothShockCapture::v_GetArtificialViscosity().
|
protected |
Definition at line 100 of file ArtificialDiffusion.h.
Referenced by ArtificialDiffusion(), Nektar::NonSmoothShockCapture::v_GetArtificialViscosity(), and Nektar::SmoothShockCapture::v_GetArtificialViscosity().
|
protected |
Session reader.
Definition at line 86 of file ArtificialDiffusion.h.
Referenced by ArtificialDiffusion().
|
protected |
Definition at line 101 of file ArtificialDiffusion.h.
Referenced by ArtificialDiffusion(), and Nektar::NonSmoothShockCapture::v_GetArtificialViscosity().
|
protected |
Auxiliary object to convert variables.
Definition at line 90 of file ArtificialDiffusion.h.
Referenced by ArtificialDiffusion(), Nektar::SmoothShockCapture::GetForcingTerm(), Nektar::SmoothShockCapture::v_DoArtificialDiffusion(), Nektar::NonSmoothShockCapture::v_GetArtificialViscosity(), and Nektar::SmoothShockCapture::v_GetArtificialViscosity().