Nektar++
|
#include <DiffusionLDGNS.h>
Static Public Member Functions | |
static DiffusionSharedPtr | create (std::string diffType) |
Static Public Attributes | |
static std::string | type |
Private Member Functions | |
void | NumericalFluxO1 (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, TensorOfArray3D< NekDouble > &numericalFluxO1, const Array< OneD, Array< OneD, NekDouble > > &pFwd, const Array< OneD, Array< OneD, NekDouble > > &pBwd) |
Builds the numerical flux for the 1st order derivatives. More... | |
void | ApplyBCsO1 (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, const Array< OneD, Array< OneD, NekDouble > > &pFwd, const Array< OneD, Array< OneD, NekDouble > > &pBwd, Array< OneD, Array< OneD, NekDouble > > &flux01) |
Imposes appropriate bcs for the 1st order derivatives. More... | |
void | NumericalFluxO2 (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, TensorOfArray3D< NekDouble > &qfield, Array< OneD, Array< OneD, NekDouble > > &qflux, const Array< OneD, Array< OneD, NekDouble > > &pFwd, const Array< OneD, Array< OneD, NekDouble > > &pBwd) |
Build the numerical flux for the 2nd order derivatives. More... | |
void | ApplyBCsO2 (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) |
Imposes appropriate bcs for the 2nd order derivatives. More... | |
Definition at line 47 of file DiffusionLDGNS.h.
|
protected |
|
private |
Imposes appropriate bcs for the 1st order derivatives.
Definition at line 432 of file DiffusionLDGNS.cpp.
References Nektar::SpatialDomains::eDirichlet, Nektar::SpatialDomains::eNeumann, Nektar::SpatialDomains::ePeriodic, m_eos, Nektar::SolverUtils::Diffusion::m_gridVelocityTrace, m_traceNormals, m_Twall, Vmath::Smul(), Vmath::Vadd(), Vmath::Vcopy(), Vmath::Vdiv(), Vmath::Vmul(), Vmath::Vvtvp(), and Vmath::Zero().
Referenced by NumericalFluxO1().
|
private |
Imposes appropriate bcs for the 2nd order derivatives.
Definition at line 755 of file DiffusionLDGNS.cpp.
References ASSERTL0, Nektar::SpatialDomains::eDirichlet, Nektar::SpatialDomains::eNeumann, Nektar::SpatialDomains::ePeriodic, m_spaceDim, m_traceNormals, Vmath::Vmul(), and Vmath::Zero().
Referenced by NumericalFluxO2().
|
inlinestatic |
Definition at line 50 of file DiffusionLDGNS.h.
References DiffusionLDGNS().
|
private |
Builds the numerical flux for the 1st order derivatives.
Definition at line 394 of file DiffusionLDGNS.cpp.
References ApplyBCsO1(), m_spaceDim, m_traceNormals, and Vmath::Vmul().
Referenced by v_DiffuseCalcDerivative().
|
private |
Build the numerical flux for the 2nd order derivatives.
Definition at line 692 of file DiffusionLDGNS.cpp.
References ApplyBCsO2(), Nektar::SolverUtils::Diffusion::m_fluxPenaltyNS, m_traceNormals, m_traceOneOverH, Vmath::Vadd(), Vmath::Vcopy(), Vmath::Vmul(), and Vmath::Vvtvp().
Referenced by v_DiffuseTraceFlux().
|
overrideprotectedvirtual |
Calculate weak DG Diffusion in the LDG form for the Navier-Stokes (NS) equations:
\( \langle\psi, \hat{u}\cdot n\rangle - \langle\nabla\psi \cdot u\rangle \langle\phi, \hat{q}\cdot n\rangle - (\nabla \phi \cdot q) \rangle \)
The equations that need a diffusion operator are those related with the velocities and with the energy.
Implements Nektar::SolverUtils::Diffusion.
Definition at line 212 of file DiffusionLDGNS.cpp.
References v_DiffuseCoeffs().
|
overrideprotectedvirtual |
Diffusion Flux, calculate the physical derivatives.
Reimplemented from Nektar::SolverUtils::Diffusion.
Definition at line 317 of file DiffusionLDGNS.cpp.
References m_diffDim, m_homoDerivs, m_spaceDim, Vmath::Neg(), and NumericalFluxO1().
|
overrideprotectedvirtual |
Reimplemented from Nektar::SolverUtils::Diffusion.
Definition at line 233 of file DiffusionLDGNS.cpp.
References Nektar::SolverUtils::Diffusion::DiffuseCalcDerivative(), Nektar::SolverUtils::Diffusion::DiffuseTraceFlux(), Nektar::SolverUtils::Diffusion::DiffuseVolumeFlux(), m_spaceDim, m_traceNormals, m_viscTensor, and Vmath::Neg().
Referenced by v_Diffuse().
|
overrideprotectedvirtual |
Diffusion term Trace Flux.
Reimplemented from Nektar::SolverUtils::Diffusion.
Definition at line 377 of file DiffusionLDGNS.cpp.
References NumericalFluxO2().
|
overrideprotectedvirtual |
Diffusion Volume Flux.
Reimplemented from Nektar::SolverUtils::Diffusion.
Definition at line 368 of file DiffusionLDGNS.cpp.
References Nektar::SolverUtils::Diffusion::m_fluxVectorNS.
|
inlineoverrideprotectedvirtual |
Reimplemented from Nektar::SolverUtils::Diffusion.
Definition at line 129 of file DiffusionLDGNS.h.
References m_viscTensor.
|
overrideprotectedvirtual |
Implements Nektar::SolverUtils::Diffusion.
Definition at line 53 of file DiffusionLDGNS.cpp.
References ASSERTL0, Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::SpatialDomains::ePeriodic, Vmath::Fill(), Nektar::GetEquationOfStateFactory(), Nektar::LocalRegions::Expansion1D::GetGeom1D(), m_C11, m_diffDim, m_eos, Nektar::SolverUtils::Diffusion::m_gridVelocityTrace, m_session, m_spaceDim, m_traceNormals, m_traceOneOverH, m_traceVel, m_Twall, Vmath::Sdiv(), Vmath::Svtsvtp(), and Vmath::Vcopy().
|
inlineoverrideprotectedvirtual |
Reimplemented from Nektar::SolverUtils::Diffusion.
Definition at line 124 of file DiffusionLDGNS.h.
References m_homoDerivs.
|
protected |
Penalty coefficient for LDGNS.
Definition at line 61 of file DiffusionLDGNS.h.
Referenced by v_InitObject().
|
protected |
Definition at line 79 of file DiffusionLDGNS.h.
Referenced by v_DiffuseCalcDerivative(), and v_InitObject().
|
protected |
Equation of system for computing temperature.
Definition at line 72 of file DiffusionLDGNS.h.
Referenced by ApplyBCsO1(), and v_InitObject().
Definition at line 76 of file DiffusionLDGNS.h.
Referenced by v_DiffuseCalcDerivative(), and v_SetHomoDerivs().
|
protected |
Definition at line 68 of file DiffusionLDGNS.h.
Referenced by v_InitObject().
|
protected |
Definition at line 78 of file DiffusionLDGNS.h.
Referenced by ApplyBCsO2(), NumericalFluxO1(), v_DiffuseCalcDerivative(), v_DiffuseCoeffs(), and v_InitObject().
Definition at line 67 of file DiffusionLDGNS.h.
Referenced by ApplyBCsO1(), ApplyBCsO2(), NumericalFluxO1(), NumericalFluxO2(), v_DiffuseCoeffs(), and v_InitObject().
h scaling for penalty term
Definition at line 64 of file DiffusionLDGNS.h.
Referenced by NumericalFluxO2(), and v_InitObject().
Definition at line 66 of file DiffusionLDGNS.h.
Referenced by v_InitObject().
|
protected |
Definition at line 69 of file DiffusionLDGNS.h.
Referenced by ApplyBCsO1(), and v_InitObject().
|
protected |
Definition at line 74 of file DiffusionLDGNS.h.
Referenced by v_DiffuseCoeffs(), and v_GetFluxTensor().
|
static |
Definition at line 55 of file DiffusionLDGNS.h.