Nektar++
|
#include <Diffusion3DHomogeneous1D.h>
Static Public Member Functions | |
static DiffusionSharedPtr | create (std::string diffType) |
Static Public Attributes | |
static std::string | type [] |
Protected Member Functions | |
Diffusion3DHomogeneous1D (std::string diffType) | |
Diffusion3DHomogeneous1D uses the 2D WeakDG approach to compute the diffusion term looping on the planes in the z direction and adding the flux in z direction at the end. More... | |
virtual void | v_InitObject (LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields) |
Initiliase Diffusion3DHomogeneous1D objects and store them before starting the time-stepping. More... | |
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 WeakDG Diffusion for the linear problems using an LDG interface flux and the the flux in the third direction. More... | |
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 | |
LibUtilities::TranspositionSharedPtr | m_trans |
std::string | m_diffType |
SolverUtils::DiffusionSharedPtr | m_planeDiff |
NekDouble | m_homoLen |
int | m_numPoints |
int | m_numPointsPlane |
int | m_numPlanes |
int | m_planeCounter |
Array< OneD, unsigned int > | m_planes |
Array< OneD, unsigned int > | m_planePos |
Array< OneD, Array< OneD, NekDouble > > | m_homoDerivStore |
Array< OneD, Array< OneD, Array< OneD, NekDouble > > > | m_homoDerivPlane |
Array< OneD, Array< OneD, NekDouble > > | m_inarrayPlane |
Array< OneD, Array< OneD, NekDouble > > | m_outarrayPlane |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_fieldsPlane |
Array< OneD, Array< OneD, NekDouble > > | m_advVelPlane |
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 46 of file Diffusion3DHomogeneous1D.h.
|
protected |
Diffusion3DHomogeneous1D uses the 2D WeakDG approach to compute the diffusion term looping on the planes in the z direction and adding the flux in z direction at the end.
Definition at line 76 of file Diffusion3DHomogeneous1D.cpp.
References Nektar::LibUtilities::NekFactory< tKey, tBase, >::CreateInstance(), Nektar::SolverUtils::GetDiffusionFactory(), and m_planeDiff.
Referenced by create().
|
inlinestatic |
Definition at line 49 of file Diffusion3DHomogeneous1D.h.
References Diffusion3DHomogeneous1D().
|
protectedvirtual |
Calculate WeakDG Diffusion for the linear problems using an LDG interface flux and the the flux in the third direction.
Implements Nektar::SolverUtils::Diffusion.
Definition at line 187 of file Diffusion3DHomogeneous1D.cpp.
References m_fieldsPlane, Nektar::SolverUtils::Diffusion::m_fluxVectorNS, m_homoDerivPlane, m_homoDerivStore, m_homoLen, m_inarrayPlane, m_numPlanes, m_numPoints, m_numPointsPlane, m_outarrayPlane, m_planeDiff, m_planePos, m_trans, Vmath::Smul(), Vmath::Vadd(), Vmath::Vcopy(), and Vmath::Vsub().
|
protectedvirtual |
Initiliase Diffusion3DHomogeneous1D objects and store them before starting the time-stepping.
pSession | Pointer to session reader. |
pFields | Pointer to fields. |
Reimplemented from Nektar::SolverUtils::Diffusion.
Definition at line 91 of file Diffusion3DHomogeneous1D.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::SolverUtils::HomoRSScalar::Exec(), Nektar::iterator, m_fieldsPlane, Nektar::SolverUtils::Diffusion::m_fluxVectorNS, m_homoDerivPlane, m_homoDerivStore, m_homoLen, m_inarrayPlane, m_numPlanes, m_numPoints, m_numPointsPlane, m_outarrayPlane, m_planeCounter, m_planeDiff, m_planePos, m_planes, Nektar::SolverUtils::Diffusion::m_riemann, and m_trans.
|
protected |
Definition at line 74 of file Diffusion3DHomogeneous1D.h.
|
protected |
Definition at line 60 of file Diffusion3DHomogeneous1D.h.
|
protected |
Definition at line 73 of file Diffusion3DHomogeneous1D.h.
Referenced by v_Diffuse(), and v_InitObject().
|
protected |
Definition at line 70 of file Diffusion3DHomogeneous1D.h.
Referenced by v_Diffuse(), and v_InitObject().
|
protected |
Definition at line 69 of file Diffusion3DHomogeneous1D.h.
Referenced by v_Diffuse(), and v_InitObject().
|
protected |
Definition at line 62 of file Diffusion3DHomogeneous1D.h.
Referenced by v_Diffuse(), and v_InitObject().
|
protected |
Definition at line 71 of file Diffusion3DHomogeneous1D.h.
Referenced by v_Diffuse(), and v_InitObject().
|
protected |
Definition at line 65 of file Diffusion3DHomogeneous1D.h.
Referenced by v_Diffuse(), and v_InitObject().
|
protected |
Definition at line 63 of file Diffusion3DHomogeneous1D.h.
Referenced by v_Diffuse(), and v_InitObject().
|
protected |
Definition at line 64 of file Diffusion3DHomogeneous1D.h.
Referenced by v_Diffuse(), and v_InitObject().
|
protected |
Definition at line 72 of file Diffusion3DHomogeneous1D.h.
Referenced by v_Diffuse(), and v_InitObject().
|
protected |
Definition at line 66 of file Diffusion3DHomogeneous1D.h.
Referenced by v_InitObject().
|
protected |
Definition at line 61 of file Diffusion3DHomogeneous1D.h.
Referenced by Diffusion3DHomogeneous1D(), v_Diffuse(), and v_InitObject().
Definition at line 68 of file Diffusion3DHomogeneous1D.h.
Referenced by v_Diffuse(), and v_InitObject().
Definition at line 67 of file Diffusion3DHomogeneous1D.h.
Referenced by v_InitObject().
|
protected |
Definition at line 59 of file Diffusion3DHomogeneous1D.h.
Referenced by v_Diffuse(), and v_InitObject().
|
static |
Definition at line 54 of file Diffusion3DHomogeneous1D.h.