MueLu  Version of the Day
MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

#include <MueLu_ParameterListInterpreter_decl.hpp>

Inheritance diagram for MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >:
MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node > MueLu::HierarchyFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node > MueLu::BaseClass MueLu::VerboseObject MueLu::Describable

Public Member Functions

void SetParameterList (const Teuchos::ParameterList &paramList)
 Set parameter list for Parameter list interpreter. More...
 
void SetupHierarchy (Hierarchy &H) const
 Call the SetupHierarchy routine from the HiearchyManager object. More...
 
- 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< FactoryManagerBaseGetFactoryManager (int levelID) const
 
size_t getNumFactoryManagers () const
 returns number of factory managers stored in levelManagers_ vector. More...
 
void CheckConfig ()
 
virtual RCP< HierarchyCreateHierarchy () const
 Create an 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 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...
 

Private Types

typedef std::pair< std::string, const FactoryBase * > keep_pair
 

Private Member Functions

virtual void SetupOperator (Operator &A) const
 Setup Operator object. More...
 

Private Attributes

int blockSize_
 block size of matrix (fixed block size) More...
 
CycleType Cycle_
 multigrid cycle type (V-cycle or W-cycle) More...
 
GlobalOrdinal dofOffset_
 global offset variable describing offset of DOFs in operator More...
 

Constructors/Destructors

 ParameterListInterpreter ()
 Empty constructor. More...
 
 ParameterListInterpreter (Teuchos::ParameterList &paramList, Teuchos::RCP< const Teuchos::Comm< int > > comm=Teuchos::null, Teuchos::RCP< FactoryFactory > factFact=Teuchos::null, Teuchos::RCP< FacadeClassFactory > facadeFact=Teuchos::null)
 Constructor that accepts a user-provided ParameterList. More...
 
 ParameterListInterpreter (const std::string &xmlFileName, const Teuchos::Comm< int > &comm, Teuchos::RCP< FactoryFactory > factFact=Teuchos::null, Teuchos::RCP< FacadeClassFactory > facadeFact=Teuchos::null)
 Constructor that reads parameters from an XML file. More...
 
virtual ~ParameterListInterpreter ()
 Destructor. More...
 
bool changedPRrebalance_
 Easy interpreter stuff. More...
 
bool changedImplicitTranspose_
 
bool useCoordinates_
 
void SetEasyParameterList (const Teuchos::ParameterList &paramList)
 
void Validate (const Teuchos::ParameterList &paramList) const
 
void UpdateFactoryManager (Teuchos::ParameterList &paramList, const Teuchos::ParameterList &defaultList, FactoryManager &manager, int levelID, std::vector< keep_pair > &keeps) const
 
typedef std::map< std::string, RCP< const FactoryBase > > FactoryMap
 
typedef std::map< std::string, RCP< FactoryManagerBase > > FactoryManagerMap
 
Teuchos::RCP< FactoryFactoryfactFact_
 Internal factory for factories. More...
 
Teuchos::RCP< MueLu::FacadeClassFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node > > facadeFact_
 FacadeClass factory. More...
 
void SetFactoryParameterList (const Teuchos::ParameterList &paramList)
 Factory interpreter stuff. More...
 
void BuildFactoryMap (const Teuchos::ParameterList &paramList, const FactoryMap &factoryMapIn, FactoryMap &factoryMapOut, FactoryManagerMap &factoryManagers) const
 

Additional Inherited Members

- Public Types inherited from MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >
typedef std::map< std::string, RCP< const FactoryBase > > FactoryMap
 
- Static Public Member Functions inherited from MueLu::VerboseObject
static void SetDefaultOStream (const Teuchos::RCP< Teuchos::FancyOStream > &defaultOStream)
 
static Teuchos::RCP< Teuchos::FancyOStream > GetDefaultOStream ()
 
static void SetDefaultVerbLevel (const VerbLevel defaultVerbLevel)
 Set the default (global) verbosity level. More...
 
static VerbLevel GetDefaultVerbLevel ()
 Get the default (global) verbosity level. More...
 
- Protected Member Functions inherited from MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >
virtual void SetupExtra (Hierarchy &H) const
 Setup extra data. More...
 
Teuchos::RCP< FactoryManagerBaseLvlMngr (int levelID, int lastLevelID) 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_
 
std::map< int, std::vector< keep_pair > > keep_
 

Detailed Description

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
class MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Definition at line 104 of file MueLu_ParameterListInterpreter_decl.hpp.

Member Typedef Documentation

◆ keep_pair

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
typedef std::pair<std::string, const FactoryBase*> MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::keep_pair
private

Definition at line 108 of file MueLu_ParameterListInterpreter_decl.hpp.

◆ FactoryMap

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
typedef std::map<std::string, RCP<const FactoryBase> > MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::FactoryMap
private

Definition at line 211 of file MueLu_ParameterListInterpreter_decl.hpp.

◆ FactoryManagerMap

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
typedef std::map<std::string, RCP<FactoryManagerBase> > MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::FactoryManagerMap
private

Definition at line 212 of file MueLu_ParameterListInterpreter_decl.hpp.

Constructor & Destructor Documentation

◆ ParameterListInterpreter() [1/3]

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ParameterListInterpreter ( )
inlineprotected

Empty constructor.

Constructor for derived classes

Definition at line 119 of file MueLu_ParameterListInterpreter_decl.hpp.

◆ ParameterListInterpreter() [2/3]

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ParameterListInterpreter ( Teuchos::ParameterList &  paramList,
Teuchos::RCP< const Teuchos::Comm< int > >  comm = Teuchos::null,
Teuchos::RCP< FactoryFactory factFact = Teuchos::null,
Teuchos::RCP< FacadeClassFactory facadeFact = Teuchos::null 
)

Constructor that accepts a user-provided ParameterList.

Constructor for parameter list interpreter which directly interprets Teuchos::ParameterLists

The parameter list can be either in the easy parameter list format or in the factory driven parameter list format.

Parameters
[in]paramList(Teuchos::ParameterList): ParameterList containing the MueLu parameters
[in]comm(RCP<Teuchos::Comm<int> >): Optional RCP of a Teuchos communicator (default: Teuchos::null)
[in]factFact(RCP<FactoryFactory>): Optional parameter allowing to define user-specific factory interpreters for user-specific extensions of the XML interface. (default: Teuchos::null)
[in]facadeFact(RCP<FacadeFactory>): Optional parameter containing a FacadeFactory class. The user can register its own facade classes in the FacadeFactory and provide it to the ParameterListInterpreter. (default: Teuchos::null, means, only standard FacadeClass that come with MueLu are available)

◆ ParameterListInterpreter() [3/3]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ParameterListInterpreter ( const std::string &  xmlFileName,
const Teuchos::Comm< int > &  comm,
Teuchos::RCP< FactoryFactory factFact = Teuchos::null,
Teuchos::RCP< FacadeClassFactory facadeFact = Teuchos::null 
)

Constructor that reads parameters from an XML file.

XML options are converted to ParameterList entries by Teuchos.

Parameters
[in]xmlFileName(std::string): XML file to read
[in]comm(Teuchos::Comm<int>): Teuchos communicator
[in]factFact(RCP<FactoryFactory>): Optional parameter allowing to define user-specific factory interpreters for user-specific extensions of the XML interface. (default: Teuchos::null)
[in]facadeFact(RCP<FacadeFactory>): Optional parameter containing a FacadeFactory class. The user can register its own facade classes in the FacadeFactory and provide it to the ParameterListInterpreter. (default: Teuchos::null, means, only standard FacadeClass that come with MueLu are available)

Definition at line 144 of file MueLu_ParameterListInterpreter_def.hpp.

◆ ~ParameterListInterpreter()

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
virtual MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~ParameterListInterpreter ( )
inlinevirtual

Destructor.

Definition at line 152 of file MueLu_ParameterListInterpreter_decl.hpp.

Member Function Documentation

◆ SetParameterList()

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
void MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetParameterList ( const Teuchos::ParameterList &  paramList)

Set parameter list for Parameter list interpreter.

The routine checks whether it is a parameter list in the easy parameter format or the more advanced factory-based parameter format and calls the corresponding interpreter routine.

When finished, the parameter list is set that will used by the hierarchy build phase.

This method includes validation and some pre-parsing of the list for:

  • verbosity level
  • data to export
  • cycle type
  • max coarse size
  • max levels
  • number of equations
Parameters
[in]paramListParameterList containing the MueLu parameters.

Definition at line 156 of file MueLu_ParameterListInterpreter_def.hpp.

◆ SetupHierarchy()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetupHierarchy ( Hierarchy H) const
virtual

Call the SetupHierarchy routine from the HiearchyManager object.

Reimplemented from MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 1500 of file MueLu_ParameterListInterpreter_def.hpp.

◆ SetupOperator()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetupOperator ( Operator &  A) const
privatevirtual

Setup Operator object.

Reimplemented from MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 1484 of file MueLu_ParameterListInterpreter_def.hpp.

◆ SetEasyParameterList()

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
void MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetEasyParameterList ( const Teuchos::ParameterList &  paramList)
private

Definition at line 231 of file MueLu_ParameterListInterpreter_def.hpp.

◆ Validate()

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
void MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Validate ( const Teuchos::ParameterList &  paramList) const
private

Definition at line 1184 of file MueLu_ParameterListInterpreter_def.hpp.

◆ UpdateFactoryManager()

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
void MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::UpdateFactoryManager ( Teuchos::ParameterList &  paramList,
const Teuchos::ParameterList &  defaultList,
FactoryManager manager,
int  levelID,
std::vector< keep_pair > &  keeps 
) const
private

Definition at line 416 of file MueLu_ParameterListInterpreter_def.hpp.

◆ SetFactoryParameterList()

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
void MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetFactoryParameterList ( const Teuchos::ParameterList &  paramList)
private

Factory interpreter stuff.

Definition at line 1262 of file MueLu_ParameterListInterpreter_def.hpp.

◆ BuildFactoryMap()

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
void MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::BuildFactoryMap ( const Teuchos::ParameterList &  paramList,
const FactoryMap factoryMapIn,
FactoryMap factoryMapOut,
FactoryManagerMap factoryManagers 
) const
private

Definition at line 1438 of file MueLu_ParameterListInterpreter_def.hpp.

Member Data Documentation

◆ blockSize_

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
int MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::blockSize_
private

block size of matrix (fixed block size)

Definition at line 181 of file MueLu_ParameterListInterpreter_decl.hpp.

◆ Cycle_

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
CycleType MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Cycle_
private

multigrid cycle type (V-cycle or W-cycle)

Definition at line 182 of file MueLu_ParameterListInterpreter_decl.hpp.

◆ dofOffset_

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
GlobalOrdinal MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::dofOffset_
private

global offset variable describing offset of DOFs in operator

Definition at line 183 of file MueLu_ParameterListInterpreter_decl.hpp.

◆ changedPRrebalance_

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
bool MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::changedPRrebalance_
private

Easy interpreter stuff.

Definition at line 188 of file MueLu_ParameterListInterpreter_decl.hpp.

◆ changedImplicitTranspose_

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
bool MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::changedImplicitTranspose_
private

Definition at line 189 of file MueLu_ParameterListInterpreter_decl.hpp.

◆ useCoordinates_

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
bool MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::useCoordinates_
private

Definition at line 197 of file MueLu_ParameterListInterpreter_decl.hpp.

◆ factFact_

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
Teuchos::RCP<FactoryFactory> MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::factFact_
private

Internal factory for factories.

Definition at line 217 of file MueLu_ParameterListInterpreter_decl.hpp.

◆ facadeFact_

template<class Scalar = double, class LocalOrdinal = int, class GlobalOrdinal = LocalOrdinal, class Node = KokkosClassic::DefaultNode::DefaultNodeType>
Teuchos::RCP<MueLu::FacadeClassFactory<Scalar, LocalOrdinal, GlobalOrdinal, Node> > MueLu::ParameterListInterpreter< Scalar, LocalOrdinal, GlobalOrdinal, Node >::facadeFact_
private

FacadeClass factory.

Definition at line 220 of file MueLu_ParameterListInterpreter_decl.hpp.


The documentation for this class was generated from the following files: