|
MueLu
Version of the Day
|
Prolongator factory that replicates 'Psubblock' matrix to create new prolongator suitable for PDE systems. More...
#include <MueLu_ReplicatePFactory_decl.hpp>
Public Member Functions | |
| RCP< const ParameterList > | GetValidParameterList () const |
| Return a const parameter list of valid parameters that setParameterList() will accept. More... | |
Public Member Functions inherited from MueLu::PFactory | |
| PFactory () | |
| Constructor. More... | |
| virtual | ~PFactory () |
| Destructor. More... | |
| void | setRestrictionMode (bool bRestrictionMode=false) |
| bool | isRestrictionModeSet () |
| returns restrictionMode flag More... | |
Public Member Functions inherited from MueLu::TwoLevelFactoryBase | |
| TwoLevelFactoryBase () | |
| Constructor. More... | |
| virtual | ~TwoLevelFactoryBase () |
| Destructor. More... | |
| virtual void | CallDeclareInput (Level &requestedLevel) const |
| virtual void | CallBuild (Level &requestedLevel) const |
Public Member Functions inherited from MueLu::Factory | |
| void | EnableMultipleCallCheck () const |
| void | DisableMultipleCallCheck () const |
| void | ResetDebugData () const |
| Factory () | |
| Constructor. More... | |
| virtual | ~Factory () |
| Destructor. More... | |
| virtual void | SetFactory (const std::string &varName, const RCP< const FactoryBase > &factory) |
| Configuration. More... | |
| const RCP< const FactoryBase > | GetFactory (const std::string &varName) const |
| Default implementation of FactoryAcceptor::GetFactory() More... | |
| RCP< ParameterList > | RemoveFactoriesFromList (const ParameterList &list) const |
Public Member Functions inherited from MueLu::FactoryBase | |
| FactoryBase () | |
| Constructor. More... | |
| virtual | ~FactoryBase () |
| Destructor. More... | |
| int | GetID () const |
| return unique factory id More... | |
Public Member Functions inherited from MueLu::BaseClass | |
| virtual | ~BaseClass () |
| Destructor. More... | |
Public Member Functions inherited from MueLu::VerboseObject | |
| VerbLevel | GetVerbLevel () const |
| Get the verbosity level. More... | |
| void | SetVerbLevel (const VerbLevel verbLevel) |
| Set the verbosity level of this object. More... | |
| int | GetProcRankVerbose () const |
| Get proc rank used for printing. Do not use this information for any other purpose. More... | |
| int | SetProcRankVerbose (int procRank) const |
| Set proc rank used for printing. More... | |
| bool | IsPrint (MsgType type, int thisProcRankOnly=-1) const |
| Find out whether we need to print out information for a specific message type. More... | |
| Teuchos::FancyOStream & | GetOStream (MsgType type, int thisProcRankOnly=0) const |
| Get an output stream for outputting the input message type. More... | |
| Teuchos::FancyOStream & | GetBlackHole () const |
| VerboseObject () | |
| virtual | ~VerboseObject () |
| Destructor. More... | |
Public Member Functions inherited from Teuchos::VerboseObject< VerboseObject > | |
| VerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) | |
| virtual const VerboseObject & | setVerbLevel (const EVerbosityLevel verbLevel) const |
| virtual const VerboseObject & | setOverridingVerbLevel (const EVerbosityLevel verbLevel) const |
| virtual EVerbosityLevel | getVerbLevel () const |
| TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT RCP< const ParameterList > | getValidVerboseObjectSublist () |
| TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | setupVerboseObjectSublist (ParameterList *paramList) |
| TEUCHOSPARAMETERLIST_LIB_DLL_EXPORT void | readVerboseObjectSublist (ParameterList *paramList, RCP< FancyOStream > *oStream, EVerbosityLevel *verbLevel) |
| void | readVerboseObjectSublist (ParameterList *paramList, VerboseObject< ObjectType > *verboseObject) |
Public Member Functions inherited from Teuchos::VerboseObjectBase | |
| virtual | ~VerboseObjectBase () |
| VerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) | |
| virtual const VerboseObjectBase & | setOStream (const RCP< FancyOStream > &oStream) const |
| virtual const VerboseObjectBase & | setOverridingOStream (const RCP< FancyOStream > &oStream) const |
| virtual VerboseObjectBase & | setLinePrefix (const std::string &linePrefix) |
| virtual RCP< FancyOStream > | getOStream () const |
| virtual RCP< FancyOStream > | getOverridingOStream () const |
| virtual std::string | getLinePrefix () const |
| virtual OSTab | getOSTab (const int tabs=1, const std::string &linePrefix="") const |
Public Member Functions inherited from MueLu::Describable | |
| virtual | ~Describable () |
| Destructor. More... | |
| virtual std::string | ShortClassName () const |
| Return the class name of the object, without template parameters and without namespace. More... | |
| virtual void | describe (Teuchos::FancyOStream &out_arg, const VerbLevel verbLevel=Default) const |
| virtual std::string | description () const |
| Return a simple one-line description of this object. More... | |
| void | describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::Describable::verbLevel_default) const |
| Print the object with some verbosity level to an FancyOStream object. More... | |
Public Member Functions inherited from Teuchos::Describable | |
| void | describe (std::ostream &out, const EVerbosityLevel verbLevel=verbLevel_default) const |
| LabeledObject () | |
| virtual | ~LabeledObject () |
| virtual void | setObjectLabel (const std::string &objectLabel) |
| virtual std::string | getObjectLabel () const |
| DescribableStreamManipulatorState | describe (const Describable &describable, const EVerbosityLevel verbLevel=Describable::verbLevel_default) |
| std::ostream & | operator<< (std::ostream &os, const DescribableStreamManipulatorState &d) |
Public Member Functions inherited from MueLu::FactoryAcceptor | |
| virtual | ~FactoryAcceptor () |
Public Member Functions inherited from MueLu::ParameterListAcceptorImpl | |
| ParameterListAcceptorImpl () | |
| virtual | ~ParameterListAcceptorImpl ()=default |
| virtual void | SetParameterList (const Teuchos::ParameterList ¶mList) |
| Set parameters from a parameter list and return with default values. More... | |
| virtual const Teuchos::ParameterList & | GetParameterList () const |
| virtual const Teuchos::ParameterList & | GetParameterListWithoutValidation () const |
| void | SetParameter (const std::string &name, const ParameterEntry &entry) |
| Set a parameter directly as a ParameterEntry. More... | |
| const ParameterEntry & | GetParameter (const std::string &name) const |
| Retrieves a const entry with the name name. More... | |
| virtual void | GetDocumentation (std::ostream &os) const |
Public Member Functions inherited from MueLu::ParameterListAcceptor | |
| ParameterListAcceptor () | |
| virtual | ~ParameterListAcceptor ()=default |
Private Attributes | |
| int | numPDEs_ |
Friends | |
| class | MueLuTests::ReplicatePFactoryTester< Scalar, LocalOrdinal, GlobalOrdinal, Node > |
Constructors/Destructors. | |
| ReplicatePFactory () | |
| Constructor. More... | |
| virtual | ~ReplicatePFactory () |
| Destructor. More... | |
| void | DeclareInput (Level &fineLevel, Level &coarseLevel) const |
| Input. More... | |
Build methods. | |
| void | Build (Level &fineLevel, Level &coarseLevel) const |
| Build an object with this factory. More... | |
| void | BuildP (Level &fineLevel, Level &coarseLevel) const |
| Abstract Build method. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from MueLu::Factory | |
| static void | EnableTimerSync () |
| static void | DisableTimerSync () |
| static void | EnableMultipleCheckGlobally () |
| static void | DisableMultipleCheckGlobally () |
Static Public Member Functions inherited from MueLu::VerboseObject | |
| static void | SetMueLuOStream (const Teuchos::RCP< Teuchos::FancyOStream > &mueluOStream) |
| static void | SetMueLuOFileStream (const std::string &filename) |
| static Teuchos::RCP < Teuchos::FancyOStream > | GetMueLuOStream () |
| static void | SetDefaultVerbLevel (const VerbLevel defaultVerbLevel) |
| Set the default (global) verbosity level. More... | |
| static VerbLevel | GetDefaultVerbLevel () |
| Get the default (global) verbosity level. More... | |
Static Public Member Functions inherited from Teuchos::VerboseObject< VerboseObject > | |
| static void | setDefaultVerbLevel (const EVerbosityLevel defaultVerbLevel) |
| static EVerbosityLevel | getDefaultVerbLevel () |
Static Public Member Functions inherited from Teuchos::VerboseObjectBase | |
| static void | setDefaultOStream (const RCP< FancyOStream > &defaultOStream) |
| static RCP< FancyOStream > | getDefaultOStream () |
Static Public Attributes inherited from Teuchos::Describable | |
| static const EVerbosityLevel | verbLevel_default |
Protected Member Functions inherited from MueLu::Factory | |
| void | Input (Level &level, const std::string &varName) const |
| void | Input (Level &level, const std::string &varName, const std::string &varParamName) const |
| template<class T > | |
| T | Get (Level &level, const std::string &varName) const |
| template<class T > | |
| T | Get (Level &level, const std::string &varName, const std::string &varParamName) const |
| template<class T > | |
| void | Set (Level &level, const std::string &varName, const T &data) const |
| template<class T > | |
| bool | IsType (Level &level, const std::string &varName) const |
| bool | IsAvailable (Level &level, const std::string &varName) const |
Protected Member Functions inherited from Teuchos::VerboseObject< VerboseObject > | |
| void | initializeVerboseObject (const EVerbosityLevel verbLevel=VERB_DEFAULT, const RCP< FancyOStream > &oStream=Teuchos::null) |
Protected Member Functions inherited from Teuchos::VerboseObjectBase | |
| void | initializeVerboseObjectBase (const RCP< FancyOStream > &oStream=Teuchos::null) |
| virtual void | informUpdatedVerbosityState () const |
Protected Attributes inherited from MueLu::PFactory | |
| bool | restrictionMode_ |
Static Protected Attributes inherited from MueLu::Factory | |
| static bool | timerSync_ = false |
Prolongator factory that replicates 'Psubblock' matrix to create new prolongator suitable for PDE systems.
Takes a previously generated prolongator for a scalar PDE and effectively makes a block diagonal prolongator by replicating it "replicate: npdes" times so that it can be used with a PDE system. A normal use case would be to run an existing MueLu multigrid algorithm on a scalar PDE to generate a hierarchy. Then use something like
MueLu::HierarchyUtils<SC,LO,GO,NO>::CopyBetweenHierarchies(*scalarHierarchy,*systemHierarchy, "P", "Psubblock", "RCP<Matrix>");
to copy it to the new hierarchy. This new hierarchy would then have <Parameter name="multigrid algorithm" type="string" value="replicate"> in its parameter list to then invoke RepliatePFactory. Currently, this is used in src/Operators/MueLu_Maxwell1_def.hpp with an example in test/maxwell.
| Parameter | type | default | master.xml | validated | requested | description |
|---|---|---|---|---|---|---|
| replicate: npdes | int | 1 | * | * | Specifies the number of Psubblock copies to make | |
| Psubblock | Matrix | Matrix that will be replicated |
The * in the master.xml column denotes that the parameter is defined in the master.xml file.
The * in the validated column means that the parameter is declared in the list of valid input parameters (see ReplicateCoarsenPFactory::GetValidParameters).
The * in the requested column states that the data is requested as input with all dependencies (see ReplicateCoarsenPFactory::DeclareInput).
After ReplicatePFactory::Build the following data is available (if requested)
| Parameter | generated by | description |
|---|---|---|
| P | ReplicatePFactory | Prolongator |
Definition at line 75 of file MueLu_ReplicatePFactory_decl.hpp.
|
inline |
Constructor.
Definition at line 86 of file MueLu_ReplicatePFactory_decl.hpp.
|
inlinevirtual |
Destructor.
Definition at line 89 of file MueLu_ReplicatePFactory_decl.hpp.
|
virtual |
Return a const parameter list of valid parameters that setParameterList() will accept.
Also define the default values of parameters according to the input parameter list.
Reimplemented from MueLu::Factory.
Definition at line 37 of file MueLu_ReplicatePFactory_def.hpp.
|
virtual |
Input.
Implements MueLu::TwoLevelFactoryBase.
Definition at line 46 of file MueLu_ReplicatePFactory_def.hpp.
|
virtual |
Build an object with this factory.
Implements MueLu::TwoLevelFactoryBase.
Definition at line 51 of file MueLu_ReplicatePFactory_def.hpp.
|
virtual |
Abstract Build method.
Implements MueLu::PFactory.
Definition at line 57 of file MueLu_ReplicatePFactory_def.hpp.
|
friend |
Definition at line 80 of file MueLu_ReplicatePFactory_decl.hpp.
|
private |
Definition at line 110 of file MueLu_ReplicatePFactory_decl.hpp.