MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node > Class Template Reference

Provides methods to build a multigrid hierarchy and apply multigrid cycles. More...

#include <MueLu_Hierarchy_decl.hpp>

Inheritance diagram for MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >:
MueLu::BaseClass MueLu::VerboseObject MueLu::Describable Teuchos::VerboseObject< VerboseObject > Teuchos::Describable Teuchos::VerboseObjectBase Teuchos::LabeledObject

Classes

struct  ConvData
 Data struct for defining stopping criteria of multigrid iteration. More...
 

Public Member Functions

void AddLevel (const RCP< Level > &level)
 Add a level at the end of the hierarchy. More...
 
void AddNewLevel ()
 Add a new level at the end of the hierarchy. More...
 
RCP< Level > & GetLevel (const int levelID=0)
 Retrieve a certain level from hierarchy. More...
 
int GetNumLevels () const
 
int GetGlobalNumLevels () const
 
MagnitudeType GetRate () const
 
double GetOperatorComplexity () const
 
double GetSmootherComplexity () const
 
void CheckLevel (Level &level, int levelID)
 Helper function. More...
 
bool Setup (int coarseLevelID, const RCP< const FactoryManagerBase > fineLevelManager, const RCP< const FactoryManagerBase > coarseLevelManager, const RCP< const FactoryManagerBase > nextLevelManager=Teuchos::null)
 Multi-level setup phase: build a new level of the hierarchy. More...
 
void Setup (const FactoryManagerBase &manager=FactoryManager(), int startLevel=0, int numDesiredLevels=GetDefaultMaxLevels())
 
void SetupRe ()
 
void Clear (int startLevel=0)
 Clear impermanent data from previous setup. More...
 
void ExpertClear ()
 
CycleType GetCycle () const
 Returns multigrid cycle type (supports VCYCLE and WCYCLE) More...
 
void SetCycle (CycleType Cycle)
 Supports VCYCLE and WCYCLE types. More...
 
void SetProlongatorScalingFactor (double scalingFactor)
 Specify damping factor alpha such that x = x + alpha*P*c, where c is the coarse grid correction. More...
 
ReturnType Iterate (const MultiVector &B, MultiVector &X, ConvData conv=ConvData(), bool InitialGuessIsZero=false, LO startLevel=0)
 Apply the multigrid preconditioner. More...
 
void Write (const LO &start=-1, const LO &end=-1, const std::string &suffix="")
 Print matrices in the multigrid hierarchy to file. More...
 
void EnableGraphDumping (const std::string &filename, int levelID=1)
 
void setlib (Xpetra::UnderlyingLib inlib)
 
Xpetra::UnderlyingLib lib ()
 
void ResetDescription ()
 
void AllocateLevelMultiVectors (int numvecs)
 
void DeleteLevelMultiVectors ()
 
- 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::FancyOStreamGetOStream (MsgType type, int thisProcRankOnly=0) const
 Get an output stream for outputting the input message type. More...
 
Teuchos::FancyOStreamGetBlackHole () 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 VerboseObjectsetVerbLevel (const EVerbosityLevel verbLevel) const
 
virtual const VerboseObjectsetOverridingVerbLevel (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 VerboseObjectBasesetOStream (const RCP< FancyOStream > &oStream) const
 
virtual const VerboseObjectBasesetOverridingOStream (const RCP< FancyOStream > &oStream) const
 
virtual VerboseObjectBasesetLinePrefix (const std::string &linePrefix)
 
virtual RCP< FancyOStreamgetOStream () const
 
virtual RCP< FancyOStreamgetOverridingOStream () 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...
 
- 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)
 

Protected Member Functions

const RCP< const
FactoryManagerBase > & 
GetLevelManager (const int levelID) 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
 

Private Types

typedef Teuchos::ScalarTraits< SCSTS
 
typedef STS::magnitudeType MagnitudeType
 

Private Member Functions

int LastLevelID () const
 
void DumpCurrentGraph () const
 
 Hierarchy (const Hierarchy &h)
 Copy constructor is not implemented. More...
 
void ReplaceCoordinateMap (Level &level)
 

Private Attributes

Array< RCP< Level > > Levels_
 Container for Level objects. More...
 
Xpetra::global_size_t maxCoarseSize_
 
bool implicitTranspose_
 
bool doPRrebalance_
 
bool isPreconditioner_
 
CycleType Cycle_
 
double scalingFactor_
 
Xpetra::UnderlyingLib lib_
 
std::string description_ = ""
 
bool isDumpingEnabled_
 Graph dumping. More...
 
int dumpLevel_
 
std::string dumpFile_
 
MagnitudeType rate_
 Convergece rate. More...
 
Array< RCP< const
FactoryManagerBase > > 
levelManagers_
 
int sizeOfAllocatedLevelMultiVectors_
 
Array< RCP< MultiVector > > residual_
 
Array< RCP< MultiVector > > coarseRhs_
 
Array< RCP< MultiVector > > coarseX_
 
Array< RCP< MultiVector > > coarseImport_
 
Array< RCP< MultiVector > > coarseExport_
 
Array< RCP< MultiVector > > correction_
 

Friends

template<class S2 , class LO2 , class GO2 , class N2 >
class Hierarchy
 

Constructors/Destructors

 Hierarchy ()
 Default constructor. More...
 
 Hierarchy (const std::string &label)
 Constructor that labels the hierarchy. More...
 
 Hierarchy (const RCP< Matrix > &A)
 Constructor. More...
 
 Hierarchy (const RCP< Matrix > &A, const std::string &label)
 Constructor. More...
 
virtual ~Hierarchy ()
 Destructor. More...
 

Set/Get Methods.

Xpetra::global_size_t GetMaxCoarseSize () const
 
bool GetImplicitTranspose () const
 
void SetMaxCoarseSize (Xpetra::global_size_t maxCoarseSize)
 
void SetPRrebalance (bool doPRrebalance)
 
void SetImplicitTranspose (const bool &implicit)
 
static CycleType GetDefaultCycle ()
 
static bool GetDefaultImplicitTranspose ()
 
static Xpetra::global_size_t GetDefaultMaxCoarseSize ()
 
static int GetDefaultMaxLevels ()
 
static bool GetDefaultPRrebalance ()
 

Permanent storage

void Keep (const std::string &ename, const FactoryBase *factory=NoFactory::get())
 Call Level::Keep(ename, factory) for each level of the Hierarchy. More...
 
void Delete (const std::string &ename, const FactoryBase *factory=NoFactory::get())
 Call Level::Delete(ename, factory) for each level of the Hierarchy. More...
 
void AddKeepFlag (const std::string &ename, const FactoryBase *factory=NoFactory::get(), KeepType keep=MueLu::Keep)
 Call Level::AddKeepFlag for each level of the Hierarchy. More...
 
void RemoveKeepFlag (const std::string &ename, const FactoryBase *factory, KeepType keep=MueLu::All)
 Call Level::RemoveKeepFlag for each level of the Hierarchy. More...
 

Overridden from Teuchos::Describable

std::string description () const
 Return a simple one-line description of this object. More...
 
void describe (Teuchos::FancyOStream &out, const VerbLevel verbLevel=Default) const
 Print the Hierarchy with some verbosity level to a FancyOStream object. More...
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::VERB_HIGH) const
 Print the object with some verbosity level to an FancyOStream object. More...
 
void print (std::ostream &out=std::cout, const VerbLevel verbLevel=(MueLu::Parameters|MueLu::Statistics0)) const
 
void IsPreconditioner (const bool flag)
 

Additional Inherited Members

- 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< FancyOStreamgetDefaultOStream ()
 
- Static Public Attributes inherited from Teuchos::Describable
static const EVerbosityLevel verbLevel_default
 

Detailed Description

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
class MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >

Provides methods to build a multigrid hierarchy and apply multigrid cycles.

Allows users to manually populate operators at different levels within a multigrid method and push them into the hierarchy via SetLevel() and/or to supply factories for automatically generating prolongators, restrictors, and coarse level discretizations. Additionally, this class contains an apply method that supports V and W cycles.

Definition at line 104 of file MueLu_Hierarchy_decl.hpp.

Member Typedef Documentation

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
typedef Teuchos::ScalarTraits<SC> MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::STS
private

Definition at line 108 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
typedef STS::magnitudeType MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MagnitudeType
private

Definition at line 109 of file MueLu_Hierarchy_decl.hpp.

Constructor & Destructor Documentation

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Hierarchy ( )

Default constructor.

Definition at line 82 of file MueLu_Hierarchy_def.hpp.

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

Constructor that labels the hierarchy.

Definition at line 92 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Hierarchy ( const RCP< Matrix > &  A)

Constructor.

Definition at line 100 of file MueLu_Hierarchy_def.hpp.

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

Constructor.

Definition at line 115 of file MueLu_Hierarchy_def.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
virtual MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::~Hierarchy ( )
inlinevirtual

Destructor.

Definition at line 139 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Hierarchy ( const Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node > &  h)
private

Copy constructor is not implemented.

Member Function Documentation

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
static CycleType MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetDefaultCycle ( )
inlinestatic

Definition at line 147 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
static bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetDefaultImplicitTranspose ( )
inlinestatic

Definition at line 148 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
static Xpetra::global_size_t MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetDefaultMaxCoarseSize ( )
inlinestatic

Definition at line 149 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
static int MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetDefaultMaxLevels ( )
inlinestatic

Definition at line 150 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
static bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetDefaultPRrebalance ( )
inlinestatic

Definition at line 151 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Xpetra::global_size_t MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetMaxCoarseSize ( ) const
inline

Definition at line 153 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetImplicitTranspose ( ) const
inline

Definition at line 154 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetMaxCoarseSize ( Xpetra::global_size_t  maxCoarseSize)
inline

Definition at line 156 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetPRrebalance ( bool  doPRrebalance)
inline

Definition at line 157 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetImplicitTranspose ( const bool &  implicit)
inline

Definition at line 158 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
int MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::LastLevelID ( ) const
inlineprivate

Definition at line 168 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::DumpCurrentGraph ( ) const
private

Definition at line 1337 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::AddLevel ( const RCP< Level > &  level)

Add a level at the end of the hierarchy.

Definition at line 123 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::AddNewLevel ( )

Add a new level at the end of the hierarchy.

Definition at line 140 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
RCP< Level > & MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetLevel ( const int  levelID = 0)

Retrieve a certain level from hierarchy.

Definition at line 147 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
int MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetNumLevels ( ) const

Definition at line 154 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
int MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetGlobalNumLevels ( ) const

Definition at line 159 of file MueLu_Hierarchy_def.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
MagnitudeType MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetRate ( ) const
inline

Definition at line 185 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
double MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetOperatorComplexity ( ) const

Definition at line 171 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
double MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetSmootherComplexity ( ) const

Definition at line 194 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CheckLevel ( Level level,
int  levelID 
)

Helper function.

Definition at line 234 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Setup ( int  coarseLevelID,
const RCP< const FactoryManagerBase fineLevelManager,
const RCP< const FactoryManagerBase coarseLevelManager,
const RCP< const FactoryManagerBase nextLevelManager = Teuchos::null 
)

Multi-level setup phase: build a new level of the hierarchy.

This method is aimed to be used in a loop building the hierarchy level by level. See Hierarchy::Setup(manager, startLevel, numDesiredLevels) for an example of usage.

@param coarseLevelID ID of the level to be built.
@param fineLevelManager defines how to build missing data of the fineLevel (example: aggregates)
@param coarseLevelManager defines how to build the level
@param nextLevelManager defines how the next coarse level will be built. This is used to post corresponding request before building the coarse level to keep useful data.

CoarseLevel is considered to be the last level if:

  • input parameter isLastLevel == true or
  • Ac->getRowMap()->getGlobalNumElements() <= maxCoarseSize_ Method return true if CoarseLevel is the last level.

Pre-condition: FineLevel:

  • must have kept useful data (TODO: not tested yet)
  • must be Teuchos::null when Setup is called for finest level (Setup then automatically calls Request for "Smoother" and "CoarseSolver") CoarseLevel:
  • already allocated (using Hierarchy::AddLevel())
  • requests already posted (exception: for finest level (=fineLevelManager==null) requests are called within setup routine) NextLevel:
  • do not need to be allocate but could (FIXME: will be deleted if lastlevel...).
  • should be null when Setup is called for last level

Post-condition: FineLevel:

  • temporary data have been used and released (this condition is not tested) CoarseLevel:
  • built, requests have been used
  • if it is the last level (due to input parameter isLastLevel or getGlobalNumElements() <= maxCoarseSize_), then the coarse solver factory of the factory manager have been used instead of the smoother factory. NextLevel: If input parameter isLastLevel == false:
  • have been allocated
  • requests already posted.

Definition at line 246 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Setup ( const FactoryManagerBase manager = FactoryManager(),
int  startLevel = 0,
int  numDesiredLevels = GetDefaultMaxLevels() 
)

Definition at line 522 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetupRe ( )

Definition at line 482 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Clear ( int  startLevel = 0)

Clear impermanent data from previous setup.

Definition at line 594 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExpertClear ( )

Definition at line 603 of file MueLu_Hierarchy_def.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
CycleType MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetCycle ( ) const
inline

Returns multigrid cycle type (supports VCYCLE and WCYCLE)

Definition at line 247 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetCycle ( CycleType  Cycle)
inline

Supports VCYCLE and WCYCLE types.

Definition at line 250 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetProlongatorScalingFactor ( double  scalingFactor)
inline

Specify damping factor alpha such that x = x + alpha*P*c, where c is the coarse grid correction.

Definition at line 253 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
ReturnType MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Iterate ( const MultiVector &  B,
MultiVector &  X,
ConvData  conv = ConvData(),
bool  InitialGuessIsZero = false,
LO  startLevel = 0 
)

Apply the multigrid preconditioner.

In theory, more general cycle types than just V- and W-cycles are possible. However, the enumerated type CycleType would have to be extended.

Parameters
Bright-hand side of linear problem
Xinitial and final (approximate) solution of linear problem
ConvDatastruct which stores convergence criteria (maximum number of multigrid iterations or stopping tolerance)
InitialGuessIsZeroIndicates whether the initial guess is zero
startLevelindex of starting level to build multigrid hierarchy (default = 0)

Definition at line 815 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Write ( const LO start = -1,
const LO end = -1,
const std::string &  suffix = "" 
)

Print matrices in the multigrid hierarchy to file.

Parameters
[in]startstart level
[in]endend level

Default behavior is to print system and transfer matrices from the entire hierarchy. Files are named "A_0.m", "P_1.m", "R_1.m", etc, and are in matrix market coordinate format.

Definition at line 1118 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Keep ( const std::string &  ename,
const FactoryBase factory = NoFactory::get() 
)

Call Level::Keep(ename, factory) for each level of the Hierarchy.

Definition at line 1147 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Delete ( const std::string &  ename,
const FactoryBase factory = NoFactory::get() 
)

Call Level::Delete(ename, factory) for each level of the Hierarchy.

Definition at line 1153 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::AddKeepFlag ( const std::string &  ename,
const FactoryBase factory = NoFactory::get(),
KeepType  keep = MueLu::Keep 
)

Call Level::AddKeepFlag for each level of the Hierarchy.

Definition at line 1159 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::RemoveKeepFlag ( const std::string &  ename,
const FactoryBase factory,
KeepType  keep = MueLu::All 
)

Call Level::RemoveKeepFlag for each level of the Hierarchy.

Definition at line 1165 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
std::string MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::description ( ) const
virtual

Return a simple one-line description of this object.

Reimplemented from MueLu::Describable.

Definition at line 1171 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::describe ( Teuchos::FancyOStream out,
const VerbLevel  verbLevel = Default 
) const
virtual

Print the Hierarchy with some verbosity level to a FancyOStream object.

Parameters
[in]outThe Teuchos::FancyOstream.
[in]verbLevelControls amount of output.

Reimplemented from MueLu::Describable.

Definition at line 1188 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::describe ( Teuchos::FancyOStream out,
const Teuchos::EVerbosityLevel  verbLevel = Teuchos::VERB_HIGH 
) const
virtual

Print the object with some verbosity level to an FancyOStream object.

Reimplemented from MueLu::Describable.

Definition at line 1183 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::print ( std::ostream &  out = std::cout,
const VerbLevel  verbLevel = (MueLu::Parameters | MueLu::Statistics0) 
) const

Definition at line 1325 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::IsPreconditioner ( const bool  flag)

Indicate whether the multigrid method is a preconditioner or a solver.

This is used in conjunction with the verbosity level to determine whether the residuals can be printed.

Definition at line 1332 of file MueLu_Hierarchy_def.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::EnableGraphDumping ( const std::string &  filename,
int  levelID = 1 
)
inline

Definition at line 325 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::setlib ( Xpetra::UnderlyingLib  inlib)
inline

Definition at line 338 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Xpetra::UnderlyingLib MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::lib ( )
inline

Definition at line 339 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ResetDescription ( )
inline

Definition at line 342 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::AllocateLevelMultiVectors ( int  numvecs)

Definition at line 1470 of file MueLu_Hierarchy_def.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::DeleteLevelMultiVectors ( )

Definition at line 1530 of file MueLu_Hierarchy_def.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
const RCP<const FactoryManagerBase>& MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetLevelManager ( const int  levelID) const
inlineprotected

Definition at line 350 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ReplaceCoordinateMap ( Level level)
private

Definition at line 1397 of file MueLu_Hierarchy_def.hpp.

Friends And Related Function Documentation

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
template<class S2 , class LO2 , class GO2 , class N2 >
friend class Hierarchy
friend

Definition at line 165 of file MueLu_Hierarchy_decl.hpp.

Member Data Documentation

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Array<RCP<Level> > MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Levels_
private

Container for Level objects.

Definition at line 359 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Xpetra::global_size_t MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::maxCoarseSize_
private

Definition at line 369 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::implicitTranspose_
private

Definition at line 373 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::doPRrebalance_
private

Definition at line 377 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isPreconditioner_
private

Definition at line 380 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
CycleType MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Cycle_
private

Definition at line 383 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
double MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::scalingFactor_
private

Definition at line 386 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Xpetra::UnderlyingLib MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::lib_
private

Definition at line 389 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
std::string MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::description_ = ""
mutableprivate

Definition at line 392 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isDumpingEnabled_
private

Graph dumping.

Definition at line 396 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
int MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::dumpLevel_
private

Definition at line 397 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
std::string MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::dumpFile_
private

Definition at line 398 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
MagnitudeType MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::rate_
private

Convergece rate.

Definition at line 401 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Array<RCP<const FactoryManagerBase> > MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::levelManagers_
private

Definition at line 404 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
int MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::sizeOfAllocatedLevelMultiVectors_
private

Definition at line 407 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Array<RCP<MultiVector> > MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::residual_
private

Definition at line 408 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Array<RCP<MultiVector> > MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::coarseRhs_
private

Definition at line 408 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Array<RCP<MultiVector> > MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::coarseX_
private

Definition at line 408 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Array<RCP<MultiVector> > MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::coarseImport_
private

Definition at line 408 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Array<RCP<MultiVector> > MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::coarseExport_
private

Definition at line 408 of file MueLu_Hierarchy_decl.hpp.

template<class Scalar = Xpetra::Operator<>::scalar_type, class LocalOrdinal = typename Xpetra::Operator<Scalar>::local_ordinal_type, class GlobalOrdinal = typename Xpetra::Operator<Scalar, LocalOrdinal>::global_ordinal_type, class Node = typename Xpetra::Operator<Scalar, LocalOrdinal, GlobalOrdinal>::node_type>
Array<RCP<MultiVector> > MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::correction_
private

Definition at line 408 of file MueLu_Hierarchy_decl.hpp.


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