Nektar++
|
#include <DiffusionLDG.h>
Static Public Member Functions | |
static DiffusionSharedPtr | create (std::string diffType) |
Static Public Attributes | |
static std::string | type |
Private Member Functions | |
void | NumFluxforScalar (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &ufield, TensorOfArray3D< NekDouble > &uflux, const Array< OneD, Array< OneD, NekDouble > > &pFwd, const Array< OneD, Array< OneD, NekDouble > > &pBwd) |
void | ApplyScalarBCs (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const std::size_t var, const Array< OneD, const NekDouble > &ufield, const Array< OneD, const NekDouble > &Fwd, const Array< OneD, const NekDouble > &Bwd, Array< OneD, NekDouble > &penaltyflux) |
void | NumFluxforVector (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &ufield, TensorOfArray3D< NekDouble > &qfield, Array< OneD, Array< OneD, NekDouble > > &qflux) |
Build the numerical flux for the 2nd order derivatives todo: add variable coeff and h dependence to penalty term. More... | |
void | ApplyVectorBCs (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const std::size_t var, const std::size_t dir, const Array< OneD, const NekDouble > &qfield, const Array< OneD, const NekDouble > &qFwd, const Array< OneD, const NekDouble > &qBwd, Array< OneD, NekDouble > &penaltyflux) |
Private Attributes | |
std::string | m_shockCaptureType |
NekDouble | m_C11 |
Coefficient of penalty term. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_traceNormals |
LibUtilities::SessionReaderSharedPtr | m_session |
Definition at line 42 of file DiffusionLDG.h.
|
protected |
|
private |
Definition at line 284 of file DiffusionLDG.cpp.
References Nektar::SpatialDomains::eDirichlet, Nektar::SpatialDomains::eNeumann, Nektar::SpatialDomains::ePeriodic, and Vmath::Vcopy().
Referenced by NumFluxforScalar().
|
private |
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 427 of file DiffusionLDG.cpp.
References Nektar::SpatialDomains::eDirichlet, Nektar::SpatialDomains::eNeumann, Nektar::SpatialDomains::ePeriodic, m_traceNormals, Vmath::Vmul(), and Vmath::Zero().
Referenced by NumFluxforVector().
|
inlinestatic |
Definition at line 45 of file DiffusionLDG.h.
References DiffusionLDG().
|
private |
Definition at line 235 of file DiffusionLDG.cpp.
References ApplyScalarBCs(), m_traceNormals, Nektar::NullNekDoubleArrayOfArray, Vmath::Vcopy(), and Vmath::Vmul().
Referenced by v_DiffuseCalcDerivative().
|
private |
Build the numerical flux for the 2nd order derivatives todo: add variable coeff and h dependence to penalty term.
Definition at line 366 of file DiffusionLDG.cpp.
References ApplyVectorBCs(), m_C11, m_traceNormals, Vmath::Smul(), Vmath::Vadd(), Vmath::Vcopy(), Vmath::Vmul(), and Vmath::Vsub().
Referenced by v_DiffuseTraceFlux().
|
overrideprotectedvirtual |
Implements Nektar::SolverUtils::Diffusion.
Definition at line 74 of file DiffusionLDG.cpp.
References v_DiffuseCoeffs().
|
overrideprotectedvirtual |
Diffusion Flux, calculate the physical derivatives.
Reimplemented from Nektar::SolverUtils::Diffusion.
Definition at line 174 of file DiffusionLDG.cpp.
References Vmath::Neg(), and NumFluxforScalar().
|
overrideprotectedvirtual |
Reimplemented from Nektar::SolverUtils::Diffusion.
Definition at line 99 of file DiffusionLDG.cpp.
References Nektar::SolverUtils::Diffusion::DiffuseCalcDerivative(), Nektar::SolverUtils::Diffusion::DiffuseTraceFlux(), Nektar::SolverUtils::Diffusion::DiffuseVolumeFlux(), m_traceNormals, and Vmath::Neg().
Referenced by v_Diffuse().
|
overrideprotectedvirtual |
Diffusion term Trace Flux.
Reimplemented from Nektar::SolverUtils::Diffusion.
Definition at line 222 of file DiffusionLDG.cpp.
References NumFluxforVector().
|
overrideprotectedvirtual |
Diffusion Volume Flux.
Reimplemented from Nektar::SolverUtils::Diffusion.
Definition at line 213 of file DiffusionLDG.cpp.
References Nektar::SolverUtils::Diffusion::m_fluxVector.
|
overrideprotectedvirtual |
Implements Nektar::SolverUtils::Diffusion.
Definition at line 51 of file DiffusionLDG.cpp.
References m_C11, m_session, m_shockCaptureType, and m_traceNormals.
|
private |
Coefficient of penalty term.
Definition at line 102 of file DiffusionLDG.h.
Referenced by NumFluxforVector(), and v_InitObject().
|
private |
Definition at line 105 of file DiffusionLDG.h.
Referenced by v_InitObject().
|
private |
Definition at line 99 of file DiffusionLDG.h.
Referenced by v_InitObject().
Definition at line 104 of file DiffusionLDG.h.
Referenced by ApplyVectorBCs(), NumFluxforScalar(), NumFluxforVector(), v_DiffuseCoeffs(), and v_InitObject().
|
static |
Definition at line 50 of file DiffusionLDG.h.