|
Nektar++
|
#include <DiffusionLDGNS.h>


Static Public Member Functions | |
| static DiffusionSharedPtr | create (std::string diffType) |
Static Public Attributes | |
| static std::string | type |
Protected Member Functions | |
| DiffusionLDGNS () | |
| 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) |
| Calculate weak DG Diffusion in the LDG form for the Navier-Stokes (NS) equations: | |
| virtual void | v_NumericalFluxO1 (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > &numericalFluxO1) |
| Builds the numerical flux for the 1st order derivatives. | |
| virtual void | v_WeakPenaltyO1 (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &penaltyfluxO1) |
| Imposes appropriate bcs for the 1st order derivatives. | |
| virtual void | v_NumericalFluxO2 (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) |
| Build the numerical flux for the 2nd order derivatives. | |
| virtual void | v_WeakPenaltyO2 (const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const int var, const int dir, const Array< OneD, const NekDouble > &qfield, Array< OneD, NekDouble > &penaltyflux) |
| Imposes appropriate bcs for the 2nd order derivatives. | |
| virtual void | v_SetHomoDerivs (Array< OneD, Array< OneD, NekDouble > > &deriv) |
| virtual Array< OneD, Array < OneD, Array< OneD, NekDouble > > > & | v_GetFluxTensor () |
Protected Attributes | |
| Array< OneD, Array< OneD, NekDouble > > | m_traceVel |
| Array< OneD, Array< OneD, NekDouble > > | m_traceNormals |
| LibUtilities::SessionReaderSharedPtr | m_session |
| NekDouble | m_gamma |
| NekDouble | m_gasConstant |
| NekDouble | m_Twall |
| std::string | m_ViscosityType |
| NekDouble | m_mu |
| NekDouble | m_thermalConductivity |
| NekDouble | m_rhoInf |
| NekDouble | m_pInf |
| Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_viscTensor |
| Array< OneD, Array< OneD, NekDouble > > | m_homoDerivs |
| int | m_spaceDim |
| int | m_diffDim |
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 DiffusionLDGNS.h.
|
protected |
|
inlinestatic |
Definition at line 48 of file DiffusionLDGNS.h.
References DiffusionLDGNS().
|
protectedvirtual |
Calculate weak DG Diffusion in the LDG form for the Navier-Stokes (NS) equations:

The equations that need a diffusion operator are those related with the velocities and with the energy.
Implements Nektar::SolverUtils::Diffusion.
Definition at line 105 of file DiffusionLDGNS.cpp.
References m_diffDim, Nektar::SolverUtils::Diffusion::m_fluxVectorNS, m_homoDerivs, m_spaceDim, m_viscTensor, Vmath::Neg(), v_NumericalFluxO1(), v_NumericalFluxO2(), and Vmath::Vadd().
|
inlineprotectedvirtual |
Reimplemented from Nektar::SolverUtils::Diffusion.
Definition at line 117 of file DiffusionLDGNS.h.
References m_viscTensor.
|
protectedvirtual |
Reimplemented from Nektar::SolverUtils::Diffusion.
Definition at line 53 of file DiffusionLDGNS.cpp.
References m_diffDim, m_gamma, m_gasConstant, m_mu, m_pInf, m_rhoInf, m_session, m_spaceDim, m_thermalConductivity, m_traceNormals, m_traceVel, m_Twall, and m_ViscosityType.
|
protectedvirtual |
Builds the numerical flux for the 1st order derivatives.
Definition at line 218 of file DiffusionLDGNS.cpp.
References m_spaceDim, m_traceNormals, Vmath::Svtvp(), v_WeakPenaltyO1(), and Vmath::Vmul().
Referenced by v_Diffuse().
|
protectedvirtual |
Build the numerical flux for the 2nd order derivatives.
Definition at line 472 of file DiffusionLDGNS.cpp.
References m_traceNormals, Vmath::Svtvp(), v_WeakPenaltyO2(), Vmath::Vadd(), and Vmath::Vmul().
Referenced by v_Diffuse().
|
inlineprotectedvirtual |
Reimplemented from Nektar::SolverUtils::Diffusion.
Definition at line 111 of file DiffusionLDGNS.h.
References m_homoDerivs.
|
protectedvirtual |
Imposes appropriate bcs for the 1st order derivatives.
Definition at line 274 of file DiffusionLDGNS.cpp.
References Nektar::SpatialDomains::eDirichlet, Nektar::SpatialDomains::eNeumann, Nektar::SpatialDomains::eWallViscous, m_gamma, m_gasConstant, m_Twall, Vmath::Smul(), Vmath::Vadd(), Vmath::Vcopy(), Vmath::Vdiv(), Vmath::Vmul(), Vmath::Vsub(), and Vmath::Zero().
Referenced by v_NumericalFluxO1().
|
protectedvirtual |
Imposes appropriate bcs for the 2nd order derivatives.
Definition at line 534 of file DiffusionLDGNS.cpp.
References ASSERTL0, Nektar::SpatialDomains::eDirichlet, Nektar::SpatialDomains::eNeumann, m_traceNormals, and Vmath::Vmul().
Referenced by v_NumericalFluxO2().
|
protected |
Definition at line 75 of file DiffusionLDGNS.h.
Referenced by v_Diffuse(), and v_InitObject().
|
protected |
Definition at line 61 of file DiffusionLDGNS.h.
Referenced by v_InitObject(), and v_WeakPenaltyO1().
|
protected |
Definition at line 62 of file DiffusionLDGNS.h.
Referenced by v_InitObject(), and v_WeakPenaltyO1().
Definition at line 72 of file DiffusionLDGNS.h.
Referenced by v_Diffuse(), and v_SetHomoDerivs().
|
protected |
Definition at line 65 of file DiffusionLDGNS.h.
Referenced by v_InitObject().
|
protected |
Definition at line 68 of file DiffusionLDGNS.h.
Referenced by v_InitObject().
|
protected |
Definition at line 67 of file DiffusionLDGNS.h.
Referenced by v_InitObject().
|
protected |
Definition at line 60 of file DiffusionLDGNS.h.
Referenced by v_InitObject().
|
protected |
Definition at line 74 of file DiffusionLDGNS.h.
Referenced by v_Diffuse(), v_InitObject(), and v_NumericalFluxO1().
|
protected |
Definition at line 66 of file DiffusionLDGNS.h.
Referenced by v_InitObject().
Definition at line 59 of file DiffusionLDGNS.h.
Referenced by v_InitObject(), v_NumericalFluxO1(), v_NumericalFluxO2(), and v_WeakPenaltyO2().
Definition at line 58 of file DiffusionLDGNS.h.
Referenced by v_InitObject().
|
protected |
Definition at line 63 of file DiffusionLDGNS.h.
Referenced by v_InitObject(), and v_WeakPenaltyO1().
|
protected |
Definition at line 64 of file DiffusionLDGNS.h.
Referenced by v_InitObject().
|
protected |
Definition at line 70 of file DiffusionLDGNS.h.
Referenced by v_Diffuse(), and v_GetFluxTensor().
|
static |
Definition at line 53 of file DiffusionLDGNS.h.
1.8.1.2