36#ifndef NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_NEK_LINSYS_ITERAT_H
37#define NEKTAR_LIB_UTILITIES_LINEAR_ALGEBRA_NEK_LINSYS_ITERAT_H
150 [[maybe_unused]]
const int nDir,
152 [[maybe_unused]]
int &iter)
154 ASSERTL0(
false,
"v_DoIterate is NOT defined.");
#define ASSERTL0(condition, msg)
#define LIB_UTILITIES_EXPORT
Provides a generic Factory class.
void SetErrorCheckInterval(const unsigned int in)
void SetNekLinSysMaxIterations(const unsigned int in)
~NekLinSysIter() override=default
void v_InitObject() override
virtual void v_DoIterate(const int nGlobal, const Array< OneD, NekDouble > &rhs, Array< OneD, NekDouble > &x, const int nDir, NekDouble &err, int &iter)
int m_NekLinSysMaxIterations
void Set_Rhs_Magnitude(const Array< OneD, NekDouble > &pIn)
void ConvergenceCheck(const Array< OneD, const NekDouble > &Residual)
static NekLinSysIterSharedPtr CreateInstance(const LibUtilities::SessionReaderSharedPtr &pSession, const LibUtilities::CommSharedPtr &vRowComm, const int nDimen, const NekSysKey &pKey)
void SetUniversalUniqueMap()
void SetNekLinSysTolerance(const NekDouble in)
int GetNekLinSysTolerance()
NekDouble m_NekLinSysTolerance
void DoIterate(const int nGlobal, const Array< OneD, NekDouble > &rhs, Array< OneD, NekDouble > &x, const int nDir, NekDouble &err, int &iter)
Array< OneD, int > m_map
Global to universal unique map.
General purpose memory allocation routines with the ability to allocate from thread specific memory p...
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
std::shared_ptr< NekLinSysIter > NekLinSysIterSharedPtr
LibUtilities::NekFactory< std::string, NekLinSysIter, const LibUtilities::SessionReaderSharedPtr &, const LibUtilities::CommSharedPtr &, const int, const NekSysKey & > NekLinSysIterFactory
std::shared_ptr< SessionReader > SessionReaderSharedPtr
NekLinSysIterFactory & GetNekLinSysIterFactory()
std::shared_ptr< Comm > CommSharedPtr
Pointer to a Communicator object.