34 #ifndef NEKTAR_LIB_MULTIREGIONS_PRECONDITIONERDIAGONAL_H 35 #define NEKTAR_LIB_MULTIREGIONS_PRECONDITIONERDIAGONAL_H 44 namespace MultiRegions
54 const std::shared_ptr<GlobalLinSys> &plinsys,
55 const std::shared_ptr<AssemblyMap> &pLocToGloMap)
67 const std::shared_ptr<GlobalLinSys> &plinsys,
92 static std::string
def;
103 const std::shared_ptr<GlobalLinSys> &plinsys,
104 const std::shared_ptr<AssemblyMap>
116 const std::shared_ptr<GlobalLinSys> &plinsys,
static PreconditionerSharedPtr create(const std::shared_ptr< GlobalLinSys > &plinsys, const std::shared_ptr< AssemblyMap > &pLocToGloMap)
Creates an instance of this class.
virtual void v_DoPreconditioner(const Array< OneD, NekDouble > &pInput, Array< OneD, NekDouble > &pOutput)
Apply a preconditioner to the conjugate gradient method.
#define MULTI_REGIONS_EXPORT
void StaticCondDiagonalPreconditionerSum(void)
std::shared_ptr< PreconditionerDiagonal > PreconditionerDiagonalSharedPtr
std::shared_ptr< AssemblyMap > AssemblyMapSharedPtr
virtual void v_InitObject()
static PreconditionerSharedPtr create(const std::shared_ptr< GlobalLinSys > &plinsys, const std::shared_ptr< AssemblyMap > &pLocToGloMap)
Creates an instance of this class.
virtual ~PreconditionerDiagonal()
static std::string lookupIds[]
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
Array< OneD, NekDouble > m_diagonals
std::shared_ptr< PreconditionerNull > PreconditionerNullSharedPtr
void DiagonalPreconditionerSum(void)
PreconditionerDiagonal(const std::shared_ptr< GlobalLinSys > &plinsys, const AssemblyMapSharedPtr &pLocToGloMap)
static std::string className
Name of class.
std::shared_ptr< Preconditioner > PreconditionerSharedPtr
virtual ~PreconditionerNull()
static std::string className
Name of class.
virtual void v_BuildPreconditioner()