17#ifndef PACKAGES_MUELU_SRC_MUECENTRAL_MUELU_TOPRAPFACTORY_DEF_HPP_
18#define PACKAGES_MUELU_SRC_MUECENTRAL_MUELU_TOPRAPFACTORY_DEF_HPP_
28template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
34template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
40template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
43template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
50template <
class Scalar,
class LocalOrdinal,
class GlobalOrdinal,
class Node>
53 RCP<Operator> oP = coarseLevel.
Get<RCP<Operator> >(
"P",
PFact_.get());
56 if (oP == Teuchos::null)
return;
57 RCP<Matrix> P = rcp_dynamic_cast<Matrix>(oP);
67 RCP<Operator> oR = coarseLevel.
Get<RCP<Operator> >(
"R",
RFact_.get());
68 RCP<Matrix> R = rcp_dynamic_cast<Matrix>(oR);
78 RCP<Operator> oA = coarseLevel.
Get<RCP<Operator> >(
"A",
AcFact_.get());
79 RCP<Matrix> A = rcp_dynamic_cast<Matrix>(oA);
const RCP< const FactoryBase > GetFactory(const std::string &varName) const
Default implementation of FactoryAcceptor::GetFactory().
Class that holds all level-specific information.
void DeclareInput(const std::string &ename, const FactoryBase *factory, const FactoryBase *requestedBy=NoFactory::get())
Callback from FactoryBase::CallDeclareInput() and FactoryBase::DeclareInput().
void RemoveKeepFlag(const std::string &ename, const FactoryBase *factory, KeepType keep=MueLu::All)
void AddKeepFlag(const std::string &ename, const FactoryBase *factory=NoFactory::get(), KeepType keep=MueLu::Keep)
T & Get(const std::string &ename, const FactoryBase *factory=NoFactory::get())
Get data without decrementing associated storage counter (i.e., read-only access)....
void Set(const std::string &ename, const T &entry, const FactoryBase *factory=NoFactory::get())
static const RCP< const NoFactory > getRCP()
Static Get() functions.
static const NoFactory * get()
void DeclareInput(Level &fineLevel, Level &coarseLevel) const
Input.
void Build(Level &fineLevel, Level &coarseLevel) const
Build an object with this factory.
RCP< const FactoryBase > AcFact_
TopRAPFactory(RCP< const FactoryManagerBase > parentFactoryManager)
RCP< const FactoryBase > RFact_
RCP< const FactoryBase > PFact_
Namespace for MueLu classes and methods.
@ Final
Keep data only for this run. Used to keep data useful for Hierarchy::Iterate(). Data will be deleted ...
@ UserData
User data are always kept. This flag is set automatically when Level::Set("data", data) is used....