46 namespace MultiRegions
52 string PreconditionerLinearWithBlock::className
54 "FullLinearSpaceWithBlock",
55 PreconditionerLinearWithBlock::create,
56 "Full Linear space and block preconditioning");
65 PreconditionerLinearWithBlock::PreconditionerLinearWithBlock(
66 const boost::shared_ptr<GlobalLinSys> &plinsys,
98 int nGlobal = pInput.num_elements();
108 m_linSpacePrecon->DoPreconditionerWithNonVertOutput(pInput, pOutput,OutputBlock);
boost::shared_ptr< AssemblyMap > m_locToGloMap
tBaseSharedPtr CreateInstance(tKey idKey BOOST_PP_COMMA_IF(MAX_PARAM) BOOST_PP_ENUM_BINARY_PARAMS(MAX_PARAM, tParam, x))
Create an instance of the class referred to by idKey.
boost::shared_ptr< AssemblyMap > AssemblyMapSharedPtr
PreconFactory & GetPreconFactory()
PreconditionerSharedPtr m_linSpacePrecon
virtual void v_DoPreconditioner(const Array< OneD, NekDouble > &pInput, Array< OneD, NekDouble > &pOutput)
Apply a preconditioner to the conjugate gradient method.
const boost::weak_ptr< GlobalLinSys > m_linsys
PreconditionerSharedPtr m_blockPrecon
virtual void v_InitObject()
virtual void v_BuildPreconditioner()
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, tDescription pDesc="")
Register a class with the factory.