35 #ifndef NEKTAR_LIB_MULTIREGIONS_PRECONDITIONERBLOCK_H
36 #define NEKTAR_LIB_MULTIREGIONS_PRECONDITIONERBLOCK_H
46 namespace MultiRegions
49 typedef boost::shared_ptr<PreconditionerBlock>
57 const boost::shared_ptr<GlobalLinSys> &plinsys,
58 const boost::shared_ptr<AssemblyMap>
71 const boost::shared_ptr<GlobalLinSys> &plinsys,
virtual void v_BuildPreconditioner()
virtual void v_DoPreconditioner(const Array< OneD, NekDouble > &pInput, Array< OneD, NekDouble > &pOutput)
Apply preconditioner to pInput and store the result in pOutput.
static boost::shared_ptr< DataType > AllocateSharedPtr()
Allocate a shared pointer from the memory pool.
boost::shared_ptr< AssemblyMap > AssemblyMapSharedPtr
PreconditionerType m_preconType
static std::string className
Name of class.
DNekBlkMatSharedPtr m_blkMat
#define MULTI_REGIONS_EXPORT
boost::shared_ptr< Preconditioner > PreconditionerSharedPtr
virtual ~PreconditionerBlock()
void BlockPreconditionerHDG(void)
Construct a block preconditioner for the hybridized discontinuous Galerkin system.
static PreconditionerSharedPtr create(const boost::shared_ptr< GlobalLinSys > &plinsys, const boost::shared_ptr< AssemblyMap > &pLocToGloMap)
Creates an instance of this class.
boost::shared_ptr< AssemblyMap > m_locToGloMap
virtual void v_InitObject()
boost::shared_ptr< PreconditionerBlock > PreconditionerBlockSharedPtr
boost::shared_ptr< DNekBlkMat > DNekBlkMatSharedPtr
void BlockPreconditionerCG(void)
Construct a block preconditioner from for the continuous Galerkin system.
const boost::weak_ptr< GlobalLinSys > m_linsys
PreconditionerBlock(const boost::shared_ptr< GlobalLinSys > &plinsys, const AssemblyMapSharedPtr &pLocToGloMap)