|
Nektar++
|
#include <Advection3DHomogeneous1D.h>
Static Public Member Functions | |
| static AdvectionSharedPtr | create (std::string advType) |
Static Public Attributes | |
| static std::string | type [] |
Protected Member Functions | |
| Advection3DHomogeneous1D (std::string advType) | |
| void | v_InitObject (LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields) override |
| Initiliase Advection3DHomogeneous1D objects and store them before starting the time-stepping. | |
| void | v_Advect (const int nConvField, 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) override |
| Compute the advection operator for a given input inarray and put the result in outarray. | |
Protected Member Functions inherited from Nektar::SolverUtils::Advection | |
| virtual SOLVER_UTILS_EXPORT | ~Advection ()=default |
| virtual SOLVER_UTILS_EXPORT void | v_SetBaseFlow (const Array< OneD, Array< OneD, NekDouble > > &inarray, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields) |
| Overrides the base flow used during linearised advection. | |
Protected Attributes | |
| std::string | m_advType |
Protected Attributes inherited from Nektar::SolverUtils::Advection | |
| 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. | |
Private Member Functions | |
| void | ModifiedFluxVector (const Array< OneD, Array< OneD, NekDouble > > &physfield, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > &flux) |
Private Attributes | |
| SolverUtils::AdvectionSharedPtr | m_planeAdv |
| 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, Array< OneD, NekDouble > > > | m_fluxVecStore |
| 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 |
| Array< OneD, Array< OneD, Array< OneD, Array< OneD, NekDouble > > > > | m_fluxVecPlane |
Additional Inherited Members | |
Public Member Functions inherited from Nektar::SolverUtils::Advection | |
| SOLVER_UTILS_EXPORT void | InitObject (LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields) |
| Interface function to initialise the advection object. | |
| 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. | |
| 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. | |
| void | SetBaseFlow (const Array< OneD, Array< OneD, NekDouble > > &inarray, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields) |
| Set the base flow used for linearised advection objects. | |
| template<typename DataType , typename TypeNekBlkMatSharedPtr > | |
| SOLVER_UTILS_EXPORT void | AddTraceJacToMat (const int nConvectiveFields, const int nSpaceDim, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, TypeNekBlkMatSharedPtr > &TracePntJacCons, Array< OneD, Array< OneD, TypeNekBlkMatSharedPtr > > &gmtxarray, const Array< OneD, TypeNekBlkMatSharedPtr > &TracePntJacGrad, const Array< OneD, Array< OneD, DataType > > &TracePntJacGradSign) |
| template<typename DataType , typename TypeNekBlkMatSharedPtr > | |
| void | CalcJacobTraceInteg (const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const int m, const int n, const Array< OneD, const TypeNekBlkMatSharedPtr > &PntJac, const Array< OneD, const Array< OneD, DataType > > &PntJacSign, Array< OneD, DNekMatSharedPtr > &TraceJacFwd, Array< OneD, DNekMatSharedPtr > &TraceJacBwd) |
| template<typename DataType , typename TypeNekBlkMatSharedPtr > | |
| void | AddTraceJacToMat (const int nConvectiveFields, const int nSpaceDim, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, TypeNekBlkMatSharedPtr > &TracePntJacCons, Array< OneD, Array< OneD, TypeNekBlkMatSharedPtr > > &gmtxarray, const Array< OneD, TypeNekBlkMatSharedPtr > &TracePntJacGrad, const Array< OneD, Array< OneD, DataType > > &TracePntJacGradSign) |
Definition at line 45 of file Advection3DHomogeneous1D.h.
|
protected |
Definition at line 63 of file Advection3DHomogeneous1D.cpp.
References Nektar::LibUtilities::NekFactory< tKey, tBase, tParam >::CreateInstance(), Nektar::SolverUtils::GetAdvectionFactory(), and m_planeAdv.
|
inlinestatic |
Definition at line 48 of file Advection3DHomogeneous1D.h.
|
private |
Definition at line 234 of file Advection3DHomogeneous1D.cpp.
References m_fluxVecPlane, m_numPlanes, and m_planeCounter.
Referenced by v_InitObject().
|
overrideprotectedvirtual |
Compute the advection operator for a given input inarray and put the result in outarray.
| nConvectiveFields | Number of fields to advect. |
| fields | Pointer to fields. |
| advVel | Advection velocities. |
| inarray | Input which will be advected. |
| outarray | Computed advection. |
Implements Nektar::SolverUtils::Advection.
Definition at line 178 of file Advection3DHomogeneous1D.cpp.
References m_advVelPlane, m_fieldsPlane, m_fluxVecStore, Nektar::SolverUtils::Advection::m_fluxVector, m_inarrayPlane, m_numPlanes, m_numPoints, m_numPointsPlane, m_outarrayPlane, m_planeAdv, m_planePos, and Vmath::Vadd().
|
overrideprotectedvirtual |
Initiliase Advection3DHomogeneous1D objects and store them before starting the time-stepping.
| pSession | Pointer to session reader. |
| pFields | Pointer to fields. |
Reimplemented from Nektar::SolverUtils::Advection.
Definition at line 79 of file Advection3DHomogeneous1D.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), Nektar::SolverUtils::HomoRSScalar::Exec(), Nektar::SolverUtils::HomoRSVector::Exec(), m_advVelPlane, m_fieldsPlane, m_fluxVecPlane, m_fluxVecStore, m_inarrayPlane, m_numPlanes, m_numPoints, m_numPointsPlane, m_outarrayPlane, m_planeAdv, m_planeCounter, m_planePos, m_planes, Nektar::SolverUtils::Advection::m_riemann, and ModifiedFluxVector().
|
protected |
Definition at line 57 of file Advection3DHomogeneous1D.h.
|
private |
Definition at line 86 of file Advection3DHomogeneous1D.h.
Referenced by v_Advect(), and v_InitObject().
|
private |
Definition at line 85 of file Advection3DHomogeneous1D.h.
Referenced by v_Advect(), and v_InitObject().
|
private |
Definition at line 88 of file Advection3DHomogeneous1D.h.
Referenced by ModifiedFluxVector(), and v_InitObject().
|
private |
Definition at line 82 of file Advection3DHomogeneous1D.h.
Referenced by v_Advect(), and v_InitObject().
|
private |
Definition at line 83 of file Advection3DHomogeneous1D.h.
Referenced by v_Advect(), and v_InitObject().
|
private |
Definition at line 78 of file Advection3DHomogeneous1D.h.
Referenced by ModifiedFluxVector(), v_Advect(), and v_InitObject().
|
private |
Definition at line 76 of file Advection3DHomogeneous1D.h.
Referenced by v_Advect(), and v_InitObject().
|
private |
Definition at line 77 of file Advection3DHomogeneous1D.h.
Referenced by v_Advect(), and v_InitObject().
|
private |
Definition at line 84 of file Advection3DHomogeneous1D.h.
Referenced by v_Advect(), and v_InitObject().
|
private |
Definition at line 75 of file Advection3DHomogeneous1D.h.
Referenced by Advection3DHomogeneous1D(), v_Advect(), and v_InitObject().
|
private |
Definition at line 79 of file Advection3DHomogeneous1D.h.
Referenced by ModifiedFluxVector(), and v_InitObject().
Definition at line 81 of file Advection3DHomogeneous1D.h.
Referenced by v_Advect(), and v_InitObject().
Definition at line 80 of file Advection3DHomogeneous1D.h.
Referenced by v_InitObject().
|
static |
Definition at line 52 of file Advection3DHomogeneous1D.h.