MueLu
Version of the Day
|
Class that accepts ML-style parameters and builds a MueLu preconditioner. This interpreter uses the same default values as ML. This allows to compare ML/MueLu results. More...
#include <MueLu_MLParameterListInterpreter_decl.hpp>
Private Attributes | |
int | nullspaceDim_ |
nullspace can be embedded in the ML parameter list More... | |
double * | nullspace_ |
double * | xcoord_ |
coordinates can be embedded in the ML parameter list More... | |
double * | ycoord_ |
double * | zcoord_ |
std::vector< RCP< FactoryBase > > | TransferFacts_ |
Constructors/Destructors. | |
MLParameterListInterpreter () | |
Constructor. More... | |
MLParameterListInterpreter (Teuchos::ParameterList ¶mList, Teuchos::RCP< const Teuchos::Comm< int > > comm=Teuchos::null, std::vector< RCP< FactoryBase > > factoryList=std::vector< RCP< FactoryBase > >(0)) | |
MLParameterListInterpreter (const std::string &xmlFileName, std::vector< RCP< FactoryBase > > factoryList=std::vector< RCP< FactoryBase > >(0)) | |
virtual | ~MLParameterListInterpreter () |
Destructor. More... | |
void | SetParameterList (const Teuchos::ParameterList ¶mList) |
virtual void | SetupHierarchy (Hierarchy &H) const |
Setup Hierarchy object. More... | |
static helper functions translating parameter list to factories | |
static helper functions that also can be used from outside for translating ML parameters into MueLu objects | |
static RCP< SmootherFactory > | GetSmootherFactory (const Teuchos::ParameterList ¶mList, const RCP< FactoryBase > &AFact=Teuchos::null) |
Read smoother options and build the corresponding smoother factory. More... | |
Handling of additional user-specific transfer factories | |
void | AddTransferFactory (const RCP< FactoryBase > &factory) |
Add transfer factory in the end of list of transfer factories for RAPFactory. More... | |
size_t | NumTransferFactories () const |
Returns number of transfer factories. More... | |
int | blksize_ |
Matrix configuration storage. More... | |
virtual void | SetupOperator (Operator &Op) const |
Setup Operator object. More... | |
Additional Inherited Members | |
Public Types inherited from MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
typedef std::map< std::string, RCP< const FactoryBase > > | FactoryMap |
Public Member Functions inherited from MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
HierarchyManager (int numDesiredLevel=MasterList::getDefault< int >("max levels")) | |
virtual | ~HierarchyManager () |
void | AddFactoryManager (int startLevel, int numDesiredLevel, RCP< FactoryManagerBase > manager) |
RCP< FactoryManagerBase > | GetFactoryManager (int levelID) const |
size_t | getNumFactoryManagers () const |
returns number of factory managers stored in levelManagers_ vector. More... | |
void | CheckConfig () |
virtual RCP< Hierarchy > | CreateHierarchy () const |
Create an empty Hierarchy object. More... | |
virtual RCP< Hierarchy > | CreateHierarchy (const std::string &label) const |
Create a labeled empty Hierarchy object. More... | |
Public Member Functions inherited from MueLu::HierarchyFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
virtual | ~HierarchyFactory () |
Destructor. 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) |
Static Public Member Functions inherited from MueLu::VerboseObject | |
static void | SetMueLuOStream (const Teuchos::RCP< Teuchos::FancyOStream > &mueluOStream) |
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::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
virtual void | SetupExtra (Hierarchy &) const |
Setup extra data. More... | |
Teuchos::RCP< FactoryManagerBase > | LvlMngr (int levelID, int lastLevelID) 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::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
int | numDesiredLevel_ |
Xpetra::global_size_t | maxCoarseSize_ |
MsgType | verbosity_ |
bool | doPRrebalance_ |
bool | implicitTranspose_ |
int | graphOutputLevel_ |
Teuchos::Array< int > | matricesToPrint_ |
Teuchos::Array< int > | prolongatorsToPrint_ |
Teuchos::Array< int > | restrictorsToPrint_ |
Teuchos::Array< int > | nullspaceToPrint_ |
Teuchos::Array< int > | coordinatesToPrint_ |
Teuchos::Array< int > | elementToNodeMapsToPrint_ |
std::map< int, std::vector < keep_pair > > | keep_ |
Class that accepts ML-style parameters and builds a MueLu preconditioner. This interpreter uses the same default values as ML. This allows to compare ML/MueLu results.
The parameter list is validated only if the package ML is available and parameter "ML validate parameter list" is true. TODO: A warning is issued if ML is not available
Definition at line 125 of file MueLu_MLParameterListInterpreter_decl.hpp.
|
inline |
Constructor.
Definition at line 134 of file MueLu_MLParameterListInterpreter_decl.hpp.
MueLu::MLParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MLParameterListInterpreter | ( | Teuchos::ParameterList & | paramList, |
Teuchos::RCP< const Teuchos::Comm< int > > | comm = Teuchos::null , |
||
std::vector< RCP< FactoryBase > > | factoryList = std::vector<RCP<FactoryBase> >(0) |
||
) |
Constructor.
paramList,: | parameter list with ML parameters | |
[in] | comm | (RCP<Teuchos::Comm<int> >): Optional RCP of a Teuchos communicator (default: Teuchos::null) |
factoryList,: | vector with RCP of FactoryBase objects |
The factories in factoryList allow the user to add user-specific factories to the MueLu Hierarchy. The idea is to be able to add some factories that write out some debug information etc. which are not handled by the ML Parameter List itself. See information about the RAPFactory::AddTransferFactory method, too!
Definition at line 125 of file MueLu_MLParameterListInterpreter_def.hpp.
MueLu::MLParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MLParameterListInterpreter | ( | const std::string & | xmlFileName, |
std::vector< RCP< FactoryBase > > | factoryList = std::vector<RCP<FactoryBase> >(0) |
||
) |
Constructor.
xmlFileName,: | file name for XML file with ML parameters |
factoryList,: | vector with RCP of FactoryBase objects |
The factories in factoryList allow the user to add user-specific factories to the MueLu Hierarchy. The idea is to be able to add some factories that write out some debug information etc. which are not handled by the ML Parameter List itself. See information about the RAPFactory::AddTransferFactory method, too!
Definition at line 144 of file MueLu_MLParameterListInterpreter_def.hpp.
|
inlinevirtual |
Destructor.
Definition at line 156 of file MueLu_MLParameterListInterpreter_decl.hpp.
void MueLu::MLParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetParameterList | ( | const Teuchos::ParameterList & | paramList | ) |
Definition at line 150 of file MueLu_MLParameterListInterpreter_def.hpp.
|
virtual |
Setup Hierarchy object.
Reimplemented from MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 551 of file MueLu_MLParameterListInterpreter_def.hpp.
|
static |
Read smoother options and build the corresponding smoother factory.
Definition at line 616 of file MueLu_MLParameterListInterpreter_def.hpp.
void MueLu::MLParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::AddTransferFactory | ( | const RCP< FactoryBase > & | factory | ) |
Add transfer factory in the end of list of transfer factories for RAPFactory.
This allows the user to add user-specific factories to the MueLu Hierarchy. The idea is to be able to add some factories that write out some debug information etc. which are not handled by the ML Parameter List itself. See information about the RAPFactory::AddTransferFactory method, too!
Definition at line 752 of file MueLu_MLParameterListInterpreter_def.hpp.
size_t MueLu::MLParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::NumTransferFactories | ( | ) | const |
Returns number of transfer factories.
Definition at line 759 of file MueLu_MLParameterListInterpreter_def.hpp.
|
privatevirtual |
Setup Operator object.
Reimplemented from MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 764 of file MueLu_MLParameterListInterpreter_def.hpp.
|
private |
nullspace can be embedded in the ML parameter list
Definition at line 203 of file MueLu_MLParameterListInterpreter_decl.hpp.
|
private |
Definition at line 204 of file MueLu_MLParameterListInterpreter_decl.hpp.
|
private |
coordinates can be embedded in the ML parameter list
Definition at line 207 of file MueLu_MLParameterListInterpreter_decl.hpp.
|
private |
Definition at line 208 of file MueLu_MLParameterListInterpreter_decl.hpp.
|
private |
Definition at line 209 of file MueLu_MLParameterListInterpreter_decl.hpp.
|
private |
list of user-defined transfer Factories We use this vector to add some special user-given factories to the Hierarchy (RAPFactory) This way the user can extend the standard functionality of the MLParameterListInterpreter beyond the capabibilities of ML.
Definition at line 215 of file MueLu_MLParameterListInterpreter_decl.hpp.
|
private |
Matrix configuration storage.
Definition at line 223 of file MueLu_MLParameterListInterpreter_decl.hpp.