34 #ifndef NEKTAR_LIB_MULTIREGIONS_PRECONDITIONERLINEARWITHDIAG_H 35 #define NEKTAR_LIB_MULTIREGIONS_PRECONDITIONERLINEARWITHDIAG_H 45 namespace MultiRegions
55 const std::shared_ptr<GlobalLinSys> &plinsys,
56 const std::shared_ptr<AssemblyMap>
68 const std::shared_ptr<GlobalLinSys> &plinsys,
PreconditionerLinearWithDiag(const std::shared_ptr< GlobalLinSys > &plinsys, const AssemblyMapSharedPtr &pLocToGloMap)
virtual ~PreconditionerLinearWithDiag()
PreconditionerSharedPtr m_diagonalPrecon
virtual void v_InitObject()
virtual void v_BuildPreconditioner()
#define MULTI_REGIONS_EXPORT
std::shared_ptr< AssemblyMap > AssemblyMapSharedPtr
static PreconditionerSharedPtr create(const std::shared_ptr< GlobalLinSys > &plinsys, const std::shared_ptr< AssemblyMap > &pLocToGloMap)
Creates an instance of this class.
static std::shared_ptr< DataType > AllocateSharedPtr(const Args &...args)
Allocate a shared pointer from the memory pool.
std::shared_ptr< PreconditionerLinearWithDiag > PreconditionerLinearWithDiagSharedPtr
PreconditionerSharedPtr m_linSpacePrecon
std::shared_ptr< Preconditioner > PreconditionerSharedPtr
virtual void v_DoPreconditioner(const Array< OneD, NekDouble > &pInput, Array< OneD, NekDouble > &pOutput)
Apply a preconditioner to the conjugate gradient method.
static std::string className
Name of class.