45 namespace MultiRegions
51 string PreconditionerLinearWithDiag::className
53 "FullLinearSpaceWithDiagonal",
54 PreconditionerLinearWithDiag::create,
55 "Full linear space and diagonal preconditioning");
64 PreconditionerLinearWithDiag::PreconditionerLinearWithDiag(
65 const std::shared_ptr<GlobalLinSys> &plinsys,
104 m_linSpacePrecon->DoPreconditionerWithNonVertOutput(pInput, pOutput,OutputDiag);
PreconditionerSharedPtr m_diagonalPrecon
const std::weak_ptr< GlobalLinSys > m_linsys
virtual void v_InitObject()
virtual void v_BuildPreconditioner()
PreconFactory & GetPreconFactory()
std::shared_ptr< AssemblyMap > AssemblyMapSharedPtr
tBaseSharedPtr CreateInstance(tKey idKey, tParam... args)
Create an instance of the class referred to by idKey.
PreconditionerSharedPtr m_linSpacePrecon
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
virtual void v_DoPreconditioner(const Array< OneD, NekDouble > &pInput, Array< OneD, NekDouble > &pOutput)
Apply a preconditioner to the conjugate gradient method.
std::weak_ptr< AssemblyMap > m_locToGloMap