Nektar++
|
#include <NavierStokesAdvection.h>
Public Member Functions | |
void | SetSpecHPDealiasing (bool value) |
![]() | |
virtual SOLVER_UTILS_EXPORT | ~Advection () |
SOLVER_UTILS_EXPORT void | InitObject (LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields) |
Interface function to initialise the advection object. More... | |
SOLVER_UTILS_EXPORT void | Advect (const int nConvectiveFields, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields, const Array< OneD, Array< OneD, NekDouble > > &advVel, const Array< OneD, Array< OneD, NekDouble > > &inarray, Array< OneD, Array< OneD, NekDouble > > &outarray, const NekDouble &time, const Array< OneD, Array< OneD, NekDouble > > &pFwd=NullNekDoubleArrayofArray, const Array< OneD, Array< OneD, NekDouble > > &pBwd=NullNekDoubleArrayofArray) |
Interface function to advect the vector field. More... | |
template<typename FuncPointerT , typename ObjectPointerT > | |
void | SetFluxVector (FuncPointerT func, ObjectPointerT obj) |
Set the flux vector callback function. More... | |
void | SetRiemannSolver (RiemannSolverSharedPtr riemann) |
Set a Riemann solver object for this advection object. More... | |
void | SetFluxVector (AdvectionFluxVecCB fluxVector) |
Set the flux vector callback function. More... | |
void | SetBaseFlow (const Array< OneD, Array< OneD, NekDouble > > &inarray, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields) |
Set the base flow used for linearised advection objects. More... | |
Static Public Member Functions | |
static SolverUtils::AdvectionSharedPtr | create (std::string) |
Creates an instance of this class. More... | |
Static Public Attributes | |
static std::string | className = SolverUtils::GetAdvectionFactory().RegisterCreatorFunction("Convective", NavierStokesAdvection::create) |
Name of class. More... | |
static std::string | className2 = SolverUtils::GetAdvectionFactory().RegisterCreatorFunction("NonConservative", NavierStokesAdvection::create) |
Static Protected Attributes | |
static std::string | navierStokesAdvectionTypeLookupIds [] |
Private Attributes | |
MultiRegions::CoeffState | m_CoeffState |
bool | m_specHP_dealiasing |
bool | m_homogen_dealiasing |
bool | m_SingleMode |
bool | m_HalfMode |
Friends | |
class | MemoryManager< NavierStokesAdvection > |
Additional Inherited Members | |
![]() | |
AdvectionFluxVecCB | m_fluxVector |
Callback function to the flux vector (set when advection is in conservative form). More... | |
RiemannSolverSharedPtr | m_riemann |
Riemann solver for DG-type schemes. More... | |
int | m_spaceDim |
Storage for space dimension. Used for homogeneous extension. More... | |
Definition at line 44 of file NavierStokesAdvection.h.
|
protected |
Constructor. Creates ...
Definition at line 58 of file NavierStokesAdvection.cpp.
Referenced by SetSpecHPDealiasing().
|
protectedvirtual |
Definition at line 65 of file NavierStokesAdvection.cpp.
Referenced by SetSpecHPDealiasing().
|
inlinestatic |
Creates an instance of this class.
Definition at line 51 of file NavierStokesAdvection.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
|
inline |
Definition at line 59 of file NavierStokesAdvection.h.
References m_specHP_dealiasing, NavierStokesAdvection(), Nektar::NullNekDoubleArrayofArray, v_Advect(), v_InitObject(), and ~NavierStokesAdvection().
|
protectedvirtual |
Advects a vector field.
Implements Nektar::SolverUtils::Advection.
Definition at line 85 of file NavierStokesAdvection.cpp.
References ASSERTL0, ASSERTL1, Nektar::MultiRegions::DirCartesianMap, Nektar::MultiRegions::e3DH1D, Nektar::MultiRegions::e3DH2D, m_CoeffState, m_HalfMode, m_homogen_dealiasing, m_SingleMode, m_specHP_dealiasing, Vmath::Neg(), Vmath::Vmul(), and Vmath::Vvtvp().
Referenced by SetSpecHPDealiasing().
|
protectedvirtual |
Initialises the advection object.
This function should be overridden in derived classes to initialise the specific advection data members. However, this base class function should be called as the first statement of the overridden function to ensure the base class is correctly initialised in order.
pSession | Session information. |
pFields | Expansion lists for scalar fields. |
Reimplemented from Nektar::SolverUtils::Advection.
Definition at line 70 of file NavierStokesAdvection.cpp.
References Nektar::MultiRegions::eLocal, m_CoeffState, m_HalfMode, m_homogen_dealiasing, m_SingleMode, m_specHP_dealiasing, and Nektar::SolverUtils::Advection::v_InitObject().
Referenced by SetSpecHPDealiasing().
|
friend |
Definition at line 48 of file NavierStokesAdvection.h.
|
static |
Name of class.
Definition at line 56 of file NavierStokesAdvection.h.
|
static |
Definition at line 57 of file NavierStokesAdvection.h.
|
private |
Definition at line 87 of file NavierStokesAdvection.h.
Referenced by v_Advect(), and v_InitObject().
|
private |
Definition at line 91 of file NavierStokesAdvection.h.
Referenced by v_Advect(), and v_InitObject().
|
private |
Definition at line 89 of file NavierStokesAdvection.h.
Referenced by v_Advect(), and v_InitObject().
|
private |
Definition at line 90 of file NavierStokesAdvection.h.
Referenced by v_Advect(), and v_InitObject().
|
private |
Definition at line 88 of file NavierStokesAdvection.h.
Referenced by SetSpecHPDealiasing(), v_Advect(), and v_InitObject().
|
staticprotected |
Definition at line 84 of file NavierStokesAdvection.h.