|
Nektar++
|
Advection for the adjoint form of the linearised Navier-Stokes equations. More...
#include <AdjointAdvection.h>
Static Public Member Functions | |
| static SolverUtils::AdvectionSharedPtr | create (std::string) |
| Creates an instance of this class. | |
Static Public Member Functions inherited from Nektar::LinearisedAdvection | |
| static SolverUtils::AdvectionSharedPtr | create (std::string) |
| Creates an instance of this class. | |
Static Public Attributes | |
| static std::string | className |
| Name of class. | |
Static Public Attributes inherited from Nektar::LinearisedAdvection | |
| static std::string | className |
| Name of class. | |
Protected Member Functions | |
| AdjointAdvection () | |
| ~AdjointAdvection () override=default | |
| 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, const NekDouble &time, const Array< OneD, Array< OneD, NekDouble > > &pFwd=NullNekDoubleArrayOfArray, const Array< OneD, Array< OneD, NekDouble > > &pBwd=NullNekDoubleArrayOfArray) override |
| Advects a vector field. | |
Protected Member Functions inherited from Nektar::LinearisedAdvection | |
| LinearisedAdvection () | |
| ~LinearisedAdvection () override=default | |
| void | v_InitObject (LibUtilities::SessionReaderSharedPtr pSession, Array< OneD, MultiRegions::ExpListSharedPtr > pFields) override |
| Initialises the advection object. | |
| 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, const NekDouble &time, const Array< OneD, Array< OneD, NekDouble > > &pFwd=NullNekDoubleArrayOfArray, const Array< OneD, Array< OneD, NekDouble > > &pBwd=NullNekDoubleArrayOfArray) override |
| Advects a vector field. | |
| void | v_SetBaseFlow (const Array< OneD, Array< OneD, NekDouble > > &inarray, const Array< OneD, MultiRegions::ExpListSharedPtr > &fields) override |
| Overrides the base flow used during linearised advection. | |
| void | ImportFldBase (std::string pInfile, Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, int slice) |
| void | UpdateBase (const Array< OneD, const NekDouble > &inarray, Array< OneD, NekDouble > &outarray, const NekDouble time) |
| void | UpdateGradBase (const int var, const MultiRegions::ExpListSharedPtr &field) |
| DNekBlkMatSharedPtr | GetFloquetBlockMatrix (FloquetMatType mattype, bool UseContCoeffs=false) const |
| void | DFT (const std::string file, Array< OneD, MultiRegions::ExpListSharedPtr > &pFields) |
Protected Member Functions inherited from Nektar::SolverUtils::Advection | |
| virtual SOLVER_UTILS_EXPORT | ~Advection ()=default |
Friends | |
| class | MemoryManager< AdjointAdvection > |
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) |
Protected Attributes inherited from Nektar::LinearisedAdvection | |
| LibUtilities::SessionReaderSharedPtr | m_session |
| int | m_spacedim |
| int | m_expdim |
| Array< OneD, Array< OneD, NekDouble > > | m_baseflow |
| Storage for base flow. | |
| Array< OneD, Array< OneD, NekDouble > > | m_gradBase |
| int | m_start |
| number of slices | |
| int | m_skip |
| int | m_slices |
| NekDouble | m_period |
| period length | |
| int | m_isperiodic |
| int | m_interporder |
| Array< OneD, Array< OneD, NekDouble > > | m_interp |
| interpolation vector | |
| LibUtilities::NektarFFTSharedPtr | m_FFT |
| auxiliary variables | |
| Array< OneD, NekDouble > | m_tmpIN |
| Array< OneD, NekDouble > | m_tmpOUT |
| bool | m_useFFTW |
| bool | m_singleMode |
| flag to determine if use single mode or not | |
| bool | m_halfMode |
| flag to determine if use half mode or not | |
| bool | m_multipleModes |
| flag to determine if use multiple mode or not | |
| FloquetBlockMatrixMapShPtr | m_FloquetBlockMat |
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. | |
Advection for the adjoint form of the linearised Navier-Stokes equations.
Definition at line 44 of file AdjointAdvection.h.
|
protected |
Definition at line 47 of file AdjointAdvection.cpp.
|
overrideprotecteddefault |
|
inlinestatic |
Creates an instance of this class.
Definition at line 50 of file AdjointAdvection.h.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr().
|
overrideprotectedvirtual |
Advects a vector field.
Implements Nektar::SolverUtils::Advection.
Definition at line 51 of file AdjointAdvection.cpp.
References ASSERTL1, Nektar::LinearisedAdvection::m_baseflow, Nektar::LinearisedAdvection::m_gradBase, Nektar::LinearisedAdvection::m_halfMode, Nektar::LinearisedAdvection::m_interp, Nektar::LinearisedAdvection::m_multipleModes, Nektar::LinearisedAdvection::m_period, Nektar::LinearisedAdvection::m_singleMode, Nektar::LinearisedAdvection::m_slices, Nektar::LinearisedAdvection::m_spacedim, Vmath::Neg(), Nektar::LinearisedAdvection::UpdateBase(), Nektar::LinearisedAdvection::UpdateGradBase(), Vmath::Vmul(), and Vmath::Vvtvp().
|
friend |
Definition at line 1 of file AdjointAdvection.h.
|
static |
Name of class.
Definition at line 56 of file AdjointAdvection.h.