45 namespace MultiRegions
51 string PreconditionerLinearWithBlock::className =
53 "FullLinearSpaceWithBlock", PreconditionerLinearWithBlock::create,
54 "Full Linear space and block preconditioning");
63 PreconditionerLinearWithBlock::PreconditionerLinearWithBlock(
64 const std::shared_ptr<GlobalLinSys> &plinsys,
96 int nGlobal = pInput.size();
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
tBaseSharedPtr CreateInstance(tKey idKey, tParam... args)
Create an instance of the class referred to by idKey.
const std::weak_ptr< GlobalLinSys > m_linsys
std::weak_ptr< AssemblyMap > m_locToGloMap
virtual void v_BuildPreconditioner() override
virtual void v_InitObject() override
virtual void v_DoPreconditioner(const Array< OneD, NekDouble > &pInput, Array< OneD, NekDouble > &pOutput) override
Apply a preconditioner to the conjugate gradient method.
PreconditionerSharedPtr m_linSpacePrecon
PreconditionerSharedPtr m_blockPrecon
PreconFactory & GetPreconFactory()
std::shared_ptr< AssemblyMap > AssemblyMapSharedPtr
The above copyright notice and this permission notice shall be included.