|
Nektar++
|
Defines a callback function which evaluates the flux vector. More...
#include <Advection.h>

Public Member Functions | |
| SOLVER_UTILS_EXPORT void | InitObject (LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields) |
| 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) |
| template<typename FuncPointerT , typename ObjectPointerT > | |
| void | SetFluxVector (FuncPointerT func, ObjectPointerT obj) |
| Set the flux vector callback function. | |
| void | SetRiemannSolver (RiemannSolverSharedPtr riemann) |
| Set a Riemann solver object for this advection object. | |
| void | SetFluxVector (AdvectionFluxVecCB fluxVector) |
| Set the flux vector callback function. | |
Protected Member Functions | |
| virtual void | v_InitObject (LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields) |
| virtual void | v_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)=0 |
Protected Attributes | |
| AdvectionFluxVecCB | m_fluxVector |
| Callback function to the flux vector (set when advection is in conservative form). | |
| RiemannSolverSharedPtr | m_riemann |
| Riemann solver for DG-type schemes. | |
| int | m_spaceDim |
| Storage for space dimension. Used for homogeneous extension. | |
Defines a callback function which evaluates the flux vector.
An abstract base class encapsulating the concept of advection of a vector field.
Subclasses override the Advection::v_InitObject function to initialise the object and the Advection::v_Advect function to evaluate the advection of the vector field.
Definition at line 68 of file Advection.h.
| void Nektar::SolverUtils::Advection::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 | ||
| ) |
Definition at line 57 of file Advection.cpp.
References v_Advect().
| void Nektar::SolverUtils::Advection::InitObject | ( | LibUtilities::SessionReaderSharedPtr | pSession, |
| Array< OneD, MultiRegions::ExpListSharedPtr > | pFields | ||
| ) |
Definition at line 50 of file Advection.cpp.
References v_InitObject().
|
inline |
Set the flux vector callback function.
This routine is a utility function to avoid the explicit use of boost::bind. A function and object can be passed to this function instead.
Definition at line 90 of file Advection.h.
References m_fluxVector.
|
inline |
Set the flux vector callback function.
| fluxVector | The callback function to override. |
Definition at line 110 of file Advection.h.
References m_fluxVector.
|
inline |
Set a Riemann solver object for this advection object.
| riemann | The RiemannSolver object. |
Definition at line 100 of file Advection.h.
References m_riemann.
|
protectedpure virtual |
Implemented in Nektar::SolverUtils::AdvectionFR, Nektar::SolverUtils::Advection3DHomogeneous1D, Nektar::SolverUtils::AdvectionNonConservative, and Nektar::SolverUtils::AdvectionWeakDG.
Referenced by Advect().
|
protectedvirtual |
Reimplemented in Nektar::SolverUtils::AdvectionFR, Nektar::SolverUtils::Advection3DHomogeneous1D, Nektar::SolverUtils::AdvectionNonConservative, and Nektar::SolverUtils::AdvectionWeakDG.
Definition at line 67 of file Advection.cpp.
References ASSERTL0, and m_spaceDim.
Referenced by InitObject().
|
protected |
Callback function to the flux vector (set when advection is in conservative form).
Definition at line 129 of file Advection.h.
Referenced by SetFluxVector(), Nektar::SolverUtils::AdvectionWeakDG::v_Advect(), Nektar::SolverUtils::Advection3DHomogeneous1D::v_Advect(), and Nektar::SolverUtils::AdvectionFR::v_Advect().
|
protected |
Riemann solver for DG-type schemes.
Definition at line 131 of file Advection.h.
Referenced by SetRiemannSolver(), Nektar::SolverUtils::AdvectionWeakDG::v_Advect(), Nektar::SolverUtils::AdvectionFR::v_Advect(), and Nektar::SolverUtils::Advection3DHomogeneous1D::v_InitObject().
|
protected |
Storage for space dimension. Used for homogeneous extension.
Definition at line 133 of file Advection.h.
Referenced by Nektar::SolverUtils::AdvectionWeakDG::v_Advect(), Nektar::SolverUtils::AdvectionFR::v_Advect(), and v_InitObject().
1.8.1.2