MueLu Version of the Day
Loading...
Searching...
No Matches
MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

#include <MueLu_HierarchyManager_decl.hpp>

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

Public Types

typedef std::map< std::string, RCP< const FactoryBase > > FactoryMap
 

Public Member Functions

 HierarchyManager (int numDesiredLevel=MasterList::getDefault< int >("max levels"))
 Constructor.
 
virtual ~HierarchyManager ()=default
 Destructor.
 
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.
 
void CheckConfig ()
 
virtual RCP< HierarchyCreateHierarchy () const
 Create an empty Hierarchy object.
 
virtual RCP< HierarchyCreateHierarchy (const std::string &label) const
 Create a labeled empty Hierarchy object.
 
virtual void SetupHierarchy (Hierarchy &H) const
 Setup Hierarchy object.
 
void SetNumDesiredLevel (int numDesiredLevel)
 Set the number of desired levels.
 
int GetNumDesiredLevel ()
 Get the number of desired levels.
 
- Public Member Functions inherited from MueLu::HierarchyFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >
virtual ~HierarchyFactory ()
 Destructor.
 
- Public Member Functions inherited from MueLu::BaseClass
virtual ~BaseClass ()
 Destructor.
 
- Public Member Functions inherited from MueLu::VerboseObject
 VerboseObject ()
 
virtual ~VerboseObject ()
 Destructor.
 
VerbLevel GetVerbLevel () const
 Get the verbosity level.
 
void SetVerbLevel (const VerbLevel verbLevel)
 Set the verbosity level of this object.
 
int GetProcRankVerbose () const
 Get proc rank used for printing. Do not use this information for any other purpose.
 
int SetProcRankVerbose (int procRank) const
 Set proc rank used for printing.
 
bool IsPrint (MsgType type, int thisProcRankOnly=-1) const
 Find out whether we need to print out information for a specific message type.
 
Teuchos::FancyOStream & GetOStream (MsgType type, int thisProcRankOnly=0) const
 Get an output stream for outputting the input message type.
 
Teuchos::FancyOStream & GetBlackHole () const
 
- Public Member Functions inherited from MueLu::Describable
virtual ~Describable ()
 Destructor.
 
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.
 
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.
 
virtual std::string ShortClassName () const
 Return the class name of the object, without template parameters and without namespace.
 

Protected Member Functions

virtual void SetupOperator (Operator &) const
 Setup Matrix object.
 
virtual void SetupExtra (Hierarchy &) const
 Setup extra data.
 
Teuchos::RCP< FactoryManagerBaseLvlMngr (int levelID, int lastLevelID) const
 

Private Types

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

Private Member Functions

void ExportDataSetKeepFlags (Hierarchy &H, const Teuchos::Array< int > &data, const std::string &name) const
 
void ExportDataSetKeepFlagsNextLevel (Hierarchy &H, const Teuchos::Array< int > &data, const std::string &name) const
 
void ExportDataSetKeepFlagsAll (Hierarchy &H, const std::string &name) const
 
template<class T >
void WriteData (Hierarchy &H, const Teuchos::Array< int > &data, const std::string &name) const
 
void WriteDataAggregates (Hierarchy &H, const Teuchos::Array< int > &data, const std::string &name) const
 
template<class T >
void WriteDataFC (Hierarchy &H, const Teuchos::Array< int > &data, const std::string &name, const std::string &ofname) const
 
template<class T >
void WriteFieldContainer (const std::string &fileName, T &fcont, const Map &colMap) const
 

Private Attributes

Array< RCP< FactoryManagerBase > > levelManagers_
 

Additional Inherited Members

- Static Public Member Functions inherited from MueLu::VerboseObject
static void SetDefaultVerbLevel (const VerbLevel defaultVerbLevel)
 Set the default (global) verbosity level.
 
static VerbLevel GetDefaultVerbLevel ()
 Get the default (global) verbosity level.
 
static void SetMueLuOStream (const Teuchos::RCP< Teuchos::FancyOStream > &mueluOStream)
 
static void SetMueLuOFileStream (const std::string &filename)
 
static Teuchos::RCP< Teuchos::FancyOStream > GetMueLuOStream ()
 

Detailed Description

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
class MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Definition at line 46 of file MueLu_HierarchyManager_decl.hpp.

Member Typedef Documentation

◆ keep_pair

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
typedef std::pair<std::string, const FactoryBase*> MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::keep_pair
private

Definition at line 49 of file MueLu_HierarchyManager_decl.hpp.

◆ FactoryMap

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
typedef std::map<std::string, RCP<const FactoryBase> > MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::FactoryMap

Definition at line 87 of file MueLu_HierarchyManager_decl.hpp.

Constructor & Destructor Documentation

◆ HierarchyManager()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::HierarchyManager ( int  numDesiredLevel = MasterList::getDefault<int>("max levels"))

Constructor.

Definition at line 39 of file MueLu_HierarchyManager_def.hpp.

◆ ~HierarchyManager()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
virtual MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~HierarchyManager ( )
virtualdefault

Destructor.

Member Function Documentation

◆ AddFactoryManager()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::AddFactoryManager ( int  startLevel,
int  numDesiredLevel,
RCP< FactoryManagerBase manager 
)

Definition at line 52 of file MueLu_HierarchyManager_def.hpp.

◆ GetFactoryManager()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< FactoryManagerBase > MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetFactoryManager ( int  levelID) const

Definition at line 62 of file MueLu_HierarchyManager_def.hpp.

◆ getNumFactoryManagers()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
size_t MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::getNumFactoryManagers ( ) const

returns number of factory managers stored in levelManagers_ vector.

Definition at line 68 of file MueLu_HierarchyManager_def.hpp.

◆ CheckConfig()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CheckConfig ( )

Definition at line 73 of file MueLu_HierarchyManager_def.hpp.

◆ CreateHierarchy() [1/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CreateHierarchy ( ) const
virtual

◆ CreateHierarchy() [2/2]

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node > > MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CreateHierarchy ( const std::string &  label) const
virtual

Create a labeled empty Hierarchy object.

Implements MueLu::HierarchyFactory< Scalar, LocalOrdinal, GlobalOrdinal, Node >.

Definition at line 84 of file MueLu_HierarchyManager_def.hpp.

◆ SetupHierarchy()

◆ SetNumDesiredLevel()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
void MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetNumDesiredLevel ( int  numDesiredLevel)
inline

Set the number of desired levels.

Definition at line 80 of file MueLu_HierarchyManager_decl.hpp.

◆ GetNumDesiredLevel()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
int MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetNumDesiredLevel ( )
inline

Get the number of desired levels.

Definition at line 83 of file MueLu_HierarchyManager_decl.hpp.

◆ SetupOperator()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
virtual void MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetupOperator ( Operator &  ) const
inlineprotectedvirtual

◆ SetupExtra()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
virtual void MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetupExtra ( Hierarchy ) const
inlineprotectedvirtual

Setup extra data.

Definition at line 95 of file MueLu_HierarchyManager_decl.hpp.

◆ LvlMngr()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
Teuchos::RCP< FactoryManagerBase > MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::LvlMngr ( int  levelID,
int  lastLevelID 
) const
protected

Definition at line 266 of file MueLu_HierarchyManager_def.hpp.

◆ ExportDataSetKeepFlags()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExportDataSetKeepFlags ( Hierarchy H,
const Teuchos::Array< int > &  data,
const std::string &  name 
) const
private

Definition at line 284 of file MueLu_HierarchyManager_def.hpp.

◆ ExportDataSetKeepFlagsNextLevel()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExportDataSetKeepFlagsNextLevel ( Hierarchy H,
const Teuchos::Array< int > &  data,
const std::string &  name 
) const
private

Definition at line 295 of file MueLu_HierarchyManager_def.hpp.

◆ ExportDataSetKeepFlagsAll()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExportDataSetKeepFlagsAll ( Hierarchy H,
const std::string &  name 
) const
private

Definition at line 306 of file MueLu_HierarchyManager_def.hpp.

◆ WriteData()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
template<class T >
void MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::WriteData ( Hierarchy H,
const Teuchos::Array< int > &  data,
const std::string &  name 
) const
private

Definition at line 316 of file MueLu_HierarchyManager_def.hpp.

◆ WriteDataAggregates()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::WriteDataAggregates ( Hierarchy H,
const Teuchos::Array< int > &  data,
const std::string &  name 
) const
private

Definition at line 344 of file MueLu_HierarchyManager_def.hpp.

◆ WriteDataFC()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
template<class T >
void MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::WriteDataFC ( Hierarchy H,
const Teuchos::Array< int > &  data,
const std::string &  name,
const std::string &  ofname 
) const
private

Definition at line 369 of file MueLu_HierarchyManager_def.hpp.

◆ WriteFieldContainer()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
template<class T >
void MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::WriteFieldContainer ( const std::string &  fileName,
T &  fcont,
const Map &  colMap 
) const
private

Definition at line 390 of file MueLu_HierarchyManager_def.hpp.

Member Data Documentation

◆ numDesiredLevel_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
int MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::numDesiredLevel_
mutableprotected

@group Hierarchy parameters

Definition at line 105 of file MueLu_HierarchyManager_decl.hpp.

◆ maxCoarseSize_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Xpetra::global_size_t MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::maxCoarseSize_
protected

Definition at line 106 of file MueLu_HierarchyManager_decl.hpp.

◆ verbosity_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
MsgType MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::verbosity_
protected

Definition at line 107 of file MueLu_HierarchyManager_decl.hpp.

◆ doPRrebalance_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
bool MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::doPRrebalance_
protected

Definition at line 109 of file MueLu_HierarchyManager_decl.hpp.

◆ doPRViaCopyrebalance_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
bool MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::doPRViaCopyrebalance_
protected

Definition at line 110 of file MueLu_HierarchyManager_decl.hpp.

◆ implicitTranspose_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
bool MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::implicitTranspose_
protected

Definition at line 111 of file MueLu_HierarchyManager_decl.hpp.

◆ fuseProlongationAndUpdate_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
bool MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::fuseProlongationAndUpdate_
protected

Definition at line 112 of file MueLu_HierarchyManager_decl.hpp.

◆ suppressNullspaceDimensionCheck_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
bool MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::suppressNullspaceDimensionCheck_
protected

Flag to indicate whether the check of the nullspace dimension is suppressed.

By default, we do not suppress such a check, as it acts as a safety mechanism. Yet, certain scenarios deliberately use nullspaces with less nullspace vectors than NumPDEs. Therefore, the user can suppress this check. Then, the error message is converted to a warning.

Definition at line 120 of file MueLu_HierarchyManager_decl.hpp.

◆ sizeOfMultiVectors_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
int MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::sizeOfMultiVectors_
protected

Definition at line 122 of file MueLu_HierarchyManager_decl.hpp.

◆ graphOutputLevel_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
int MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::graphOutputLevel_
protected

-2 = no output, -1 = all levels

Definition at line 125 of file MueLu_HierarchyManager_decl.hpp.

◆ nullspaceToPrint_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Teuchos::Array<int> MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::nullspaceToPrint_
protected

Lists of entities to be exported (or saved)

Definition at line 129 of file MueLu_HierarchyManager_decl.hpp.

◆ coordinatesToPrint_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Teuchos::Array<int> MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::coordinatesToPrint_
protected

Definition at line 130 of file MueLu_HierarchyManager_decl.hpp.

◆ materialToPrint_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Teuchos::Array<int> MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::materialToPrint_
protected

Definition at line 131 of file MueLu_HierarchyManager_decl.hpp.

◆ aggregatesToPrint_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Teuchos::Array<int> MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::aggregatesToPrint_
protected

Definition at line 132 of file MueLu_HierarchyManager_decl.hpp.

◆ elementToNodeMapsToPrint_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Teuchos::Array<int> MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::elementToNodeMapsToPrint_
protected

Definition at line 133 of file MueLu_HierarchyManager_decl.hpp.

◆ dataToKeep_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Teuchos::Array<std::string> MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::dataToKeep_
protected

Definition at line 136 of file MueLu_HierarchyManager_decl.hpp.

◆ matricesToPrint_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
std::map<std::string, Teuchos::Array<int> > MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::matricesToPrint_
protected

Definition at line 139 of file MueLu_HierarchyManager_decl.hpp.

◆ matvecParams_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Teuchos::RCP<Teuchos::ParameterList> MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::matvecParams_
protected

Definition at line 141 of file MueLu_HierarchyManager_decl.hpp.

◆ keep_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
std::map<int, std::vector<keep_pair> > MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::keep_
protected

Definition at line 143 of file MueLu_HierarchyManager_decl.hpp.

◆ levelManagers_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Array<RCP<FactoryManagerBase> > MueLu::HierarchyManager< Scalar, LocalOrdinal, GlobalOrdinal, Node >::levelManagers_
private

Definition at line 168 of file MueLu_HierarchyManager_decl.hpp.


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