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 ()=default |
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 |
typedef std::map< std::string, RCP< const FactoryBase > > | FactoryMap |
Public Member Functions inherited from MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
maxCoarseSize_ (MasterList::getDefault< int >("coarse: max size")) | |
verbosity_ (Medium) | |
doPRrebalance_ (MasterList::getDefault< bool >("repartition: rebalance P and R")) | |
doPRViaCopyrebalance_ (MasterList::getDefault< bool >("repartition: explicit via new copy rebalance P and R")) | |
implicitTranspose_ (MasterList::getDefault< bool >("transpose: use implicit")) | |
fuseProlongationAndUpdate_ (MasterList::getDefault< bool >("fuse prolongation and update")) | |
suppressNullspaceDimensionCheck_ (MasterList::getDefault< bool >("nullspace: suppress dimension check")) | |
sizeOfMultiVectors_ (MasterList::getDefault< int >("number of vectors")) | |
graphOutputLevel_ (-2) | |
virtual | ~HierarchyManager ()=default |
Destructor. More... | |
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 () |
HierarchyManager (int numDesiredLevel=MasterList::getDefault< int >("max levels")) | |
Constructor. More... | |
virtual | ~HierarchyManager ()=default |
Destructor. More... | |
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... | |
void | SetNumDesiredLevel (int numDesiredLevel) |
Set the number of desired levels. More... | |
int | GetNumDesiredLevel () |
Get the number of desired levels. More... | |
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 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 () |
Public Attributes inherited from MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node > | |
__pad0__: numDesiredLevel_(numDesiredLevel) | |
Constructor. More... | |
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 |
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 | doPRViaCopyrebalance_ |
bool | implicitTranspose_ |
bool | fuseProlongationAndUpdate_ |
bool | suppressNullspaceDimensionCheck_ |
Flag to indicate whether the check of the nullspace dimension is suppressed. More... | |
int | sizeOfMultiVectors_ |
int | graphOutputLevel_ |
-2 = no output, -1 = all levels More... | |
Teuchos::Array< int > | nullspaceToPrint_ |
Lists of entities to be exported (or saved) More... | |
Teuchos::Array< int > | coordinatesToPrint_ |
Teuchos::Array< int > | aggregatesToPrint_ |
Teuchos::Array< int > | elementToNodeMapsToPrint_ |
Teuchos::Array< std::string > | dataToKeep_ |
std::map< std::string, Teuchos::Array< int > > | matricesToPrint_ |
Teuchos::RCP < Teuchos::ParameterList > | matvecParams_ |
std::map< int, std::vector < keep_pair > > | keep_ |
Teuchos::Array< std::string > | dataToSave_ |
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 95 of file MueLu_MLParameterListInterpreter_decl.hpp.
|
inline |
Constructor.
Definition at line 104 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 84 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 106 of file MueLu_MLParameterListInterpreter_def.hpp.
|
virtualdefault |
Destructor.
void MueLu::MLParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetParameterList | ( | const Teuchos::ParameterList & | paramList | ) |
Definition at line 115 of file MueLu_MLParameterListInterpreter_def.hpp.
|
virtual |
Setup Hierarchy object.
Reimplemented from MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 458 of file MueLu_MLParameterListInterpreter_def.hpp.
|
static |
Read smoother options and build the corresponding smoother factory.
Definition at line 523 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 693 of file MueLu_MLParameterListInterpreter_def.hpp.
size_t MueLu::MLParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::NumTransferFactories | ( | ) | const |
Returns number of transfer factories.
Definition at line 700 of file MueLu_MLParameterListInterpreter_def.hpp.
|
privatevirtual |
Setup Operator object.
Reimplemented from MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >.
Definition at line 705 of file MueLu_MLParameterListInterpreter_def.hpp.
|
private |
nullspace can be embedded in the ML parameter list
Definition at line 173 of file MueLu_MLParameterListInterpreter_decl.hpp.
|
private |
Definition at line 174 of file MueLu_MLParameterListInterpreter_decl.hpp.
|
private |
coordinates can be embedded in the ML parameter list
Definition at line 177 of file MueLu_MLParameterListInterpreter_decl.hpp.
|
private |
Definition at line 178 of file MueLu_MLParameterListInterpreter_decl.hpp.
|
private |
Definition at line 179 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 185 of file MueLu_MLParameterListInterpreter_decl.hpp.
|
private |
Matrix configuration storage.
Definition at line 193 of file MueLu_MLParameterListInterpreter_decl.hpp.