Nektar++
|
#include <DiffusionLDG.h>
Static Public Member Functions | |
static DiffusionSharedPtr | create (std::string diffType) |
Static Public Attributes | |
static std::string | type |
Protected Member Functions | |
DiffusionLDG () | |
virtual void | v_InitObject (LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields) |
virtual void | v_Diffuse (const int nConvective, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray) |
virtual void | v_NumFluxforScalar (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &ufield, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > &uflux) |
virtual void | v_WeakPenaltyforScalar (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const int var, const Array< OneD, const NekDouble > &ufield, Array< OneD, NekDouble > &penaltyflux) |
virtual void | v_NumFluxforVector (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &ufield, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > &qfield, Array< OneD, Array< OneD, NekDouble > > &qflux) |
virtual void | v_WeakPenaltyforVector (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const int var, const int dir, const Array< OneD, const NekDouble > &qfield, Array< OneD, NekDouble > &penaltyflux, NekDouble C11) |
Protected Member Functions inherited from Nektar::SolverUtils::Diffusion | |
virtual void | v_SetHomoDerivs (Array< OneD, Array< OneD, NekDouble > > &deriv) |
virtual Array< OneD, Array < OneD, Array< OneD, NekDouble > > > & | v_GetFluxTensor () |
Protected Attributes | |
std::string | m_shockCaptureType |
Array< OneD, Array< OneD, NekDouble > > | m_traceNormals |
LibUtilities::SessionReaderSharedPtr | m_session |
Protected Attributes inherited from Nektar::SolverUtils::Diffusion | |
DiffusionFluxVecCB | m_fluxVector |
DiffusionFluxVecCBNS | m_fluxVectorNS |
RiemannSolverSharedPtr | m_riemann |
DiffusionArtificialDiffusion | m_ArtificialDiffusionVector |
Additional Inherited Members | |
Public Member Functions inherited from Nektar::SolverUtils::Diffusion | |
SOLVER_UTILS_EXPORT void | InitObject (LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields) |
SOLVER_UTILS_EXPORT void | Diffuse (const int nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray) |
SOLVER_UTILS_EXPORT void | FluxVec (Array< OneD, Array< OneD, Array< OneD, NekDouble > > > &fluxvector) |
template<typename FuncPointerT , typename ObjectPointerT > | |
void | SetFluxVector (FuncPointerT func, ObjectPointerT obj) |
void | SetFluxVectorVec (DiffusionFluxVecCB fluxVector) |
template<typename FuncPointerT , typename ObjectPointerT > | |
void | SetFluxVectorNS (FuncPointerT func, ObjectPointerT obj) |
template<typename FuncPointerT , typename ObjectPointerT > | |
void | SetArtificialDiffusionVector (FuncPointerT func, ObjectPointerT obj) |
void | SetFluxVectorNS (DiffusionFluxVecCBNS fluxVector) |
void | SetRiemannSolver (RiemannSolverSharedPtr riemann) |
void | SetHomoDerivs (Array< OneD, Array< OneD, NekDouble > > &deriv) |
virtual Array< OneD, Array < OneD, Array< OneD, NekDouble > > > & | GetFluxTensor () |
Definition at line 45 of file DiffusionLDG.h.
|
protected |
|
inlinestatic |
Definition at line 48 of file DiffusionLDG.h.
References DiffusionLDG().
|
protectedvirtual |
Implements Nektar::SolverUtils::Diffusion.
Definition at line 73 of file DiffusionLDG.cpp.
References Nektar::SolverUtils::Diffusion::m_ArtificialDiffusionVector, m_shockCaptureType, Vmath::Neg(), v_NumFluxforScalar(), v_NumFluxforVector(), Vmath::Vadd(), Vmath::Vcopy(), and Vmath::Vmul().
|
protectedvirtual |
Reimplemented from Nektar::SolverUtils::Diffusion.
Definition at line 51 of file DiffusionLDG.cpp.
References m_session, m_shockCaptureType, and m_traceNormals.
|
protectedvirtual |
Definition at line 222 of file DiffusionLDG.cpp.
References m_traceNormals, Vmath::Svtvp(), v_WeakPenaltyforScalar(), and Vmath::Vmul().
Referenced by v_Diffuse().
|
protectedvirtual |
Definition at line 358 of file DiffusionLDG.cpp.
References m_traceNormals, Vmath::Smul(), Vmath::Svtvp(), v_WeakPenaltyforVector(), Vmath::Vadd(), Vmath::Vmul(), and Vmath::Vsub().
Referenced by v_Diffuse().
|
protectedvirtual |
Definition at line 299 of file DiffusionLDG.cpp.
References Nektar::SpatialDomains::eDirichlet, Nektar::SpatialDomains::eNeumann, and Vmath::Vcopy().
Referenced by v_NumFluxforScalar().
|
protectedvirtual |
Diffusion: Imposing weak boundary condition for q with flux uflux = g_D on Dirichlet boundary condition uflux = u_Fwd on Neumann boundary condition
Definition at line 471 of file DiffusionLDG.cpp.
References Nektar::SpatialDomains::eDirichlet, Nektar::SpatialDomains::eNeumann, m_traceNormals, and Vmath::Vmul().
Referenced by v_NumFluxforVector().
|
protected |
Definition at line 61 of file DiffusionLDG.h.
Referenced by v_InitObject().
|
protected |
Definition at line 58 of file DiffusionLDG.h.
Referenced by v_Diffuse(), and v_InitObject().
Definition at line 60 of file DiffusionLDG.h.
Referenced by v_InitObject(), v_NumFluxforScalar(), v_NumFluxforVector(), and v_WeakPenaltyforVector().
|
static |
Definition at line 53 of file DiffusionLDG.h.