MueLu Version of the Day
Loading...
Searching...
No Matches
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

Classes

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

Private Types

typedef Teuchos::ScalarTraits< SC > STS
 
typedef STS::magnitudeType MagnitudeType
 

Set/Get Methods.

template<class S2 , class LO2 , class GO2 , class N2 >
class Hierarchy
 
Xpetra::global_size_t GetMaxCoarseSize () const
 
bool GetImplicitTranspose () const
 
bool GetFuseProlongationAndUpdate () const
 
void SetMaxCoarseSize (Xpetra::global_size_t maxCoarseSize)
 
void SetPRrebalance (bool doPRrebalance)
 
void SetImplicitTranspose (const bool &implicit)
 
void SetFuseProlongationAndUpdate (const bool &fuse)
 
void AddLevel (const RCP< Level > &level)
 Add a level at the end of the hierarchy.
 
void AddNewLevel ()
 Add a new level at the end of the hierarchy.
 
RCP< Level > & GetLevel (const int levelID=0)
 Retrieve a certain level from hierarchy.
 
int GetNumLevels () const
 
int GetGlobalNumLevels () const
 
MagnitudeType GetRate () const
 
double GetOperatorComplexity () const
 
double GetSmootherComplexity () const
 
void CheckLevel (Level &level, int levelID)
 Helper function.
 
void SetMatvecParams (RCP< ParameterList > matvecParams)
 
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.
 
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.
 
void ExpertClear ()
 
CycleType GetCycle () const
 Returns multigrid cycle type (supports VCYCLE and WCYCLE)
 
void SetCycle (CycleType Cycle)
 Supports VCYCLE and WCYCLE types.
 
void SetCycleStartLevel (int cycleStart)
 
void SetProlongatorScalingFactor (double scalingFactor)
 Specify damping factor alpha such that x = x + alpha*P*c, where c is the coarse grid correction.
 
ConvergenceStatus Iterate (const MultiVector &B, MultiVector &X, ConvData conv=ConvData(), bool InitialGuessIsZero=false, LO startLevel=0)
 Apply the multigrid preconditioner.
 
void Write (const LO &start=-1, const LO &end=-1, const std::string &suffix="")
 Print matrices in the multigrid hierarchy to file.
 
static CycleType GetDefaultCycle ()
 
static int GetDefaultCycleStartLevel ()
 
static bool GetDefaultImplicitTranspose ()
 
static bool GetDefaultFuseProlongationAndUpdate ()
 
static Xpetra::global_size_t GetDefaultMaxCoarseSize ()
 
static int GetDefaultMaxLevels ()
 
static bool GetDefaultPRrebalance ()
 
int LastLevelID () const
 
void DumpCurrentGraph (int level) const
 

Overridden from Teuchos::Describable

Array< RCP< Level > > Levels_
 Container for Level objects.
 
Xpetra::global_size_t maxCoarseSize_
 
bool implicitTranspose_
 
bool fuseProlongationAndUpdate_
 
bool doPRrebalance_
 
bool isPreconditioner_
 Hierarchy may be used in a standalone mode, or as a preconditioner.
 
CycleType Cycle_
 V- or W-cycle.
 
int WCycleStartLevel_
 Level at which to start W-cycle.
 
double scalingFactor_
 Scaling factor to be applied to coarse grid correction.
 
Xpetra::UnderlyingLib lib_
 Epetra/Tpetra mode.
 
std::string description_ = ""
 cache description to avoid recreating in each call to description() - use ResetDescription() to force recreation in Setup, SetupRe, etc.
 
bool isDumpingEnabled_
 Graph dumping.
 
int dumpLevel_
 
std::string dumpFile_
 
MagnitudeType rate_
 Convergece rate.
 
Array< RCP< const FactoryManagerBase > > levelManagers_
 Level managers used during the Setup.
 
int sizeOfAllocatedLevelMultiVectors_
 Caching (Multi)Vectors used in Hierarchy::Iterate()
 
Array< RCP< MultiVector > > residual_
 
Array< RCP< MultiVector > > coarseRhs_
 
Array< RCP< MultiVector > > coarseX_
 
Array< RCP< MultiVector > > coarseImport_
 
Array< RCP< MultiVector > > coarseExport_
 
Array< RCP< MultiVector > > correction_
 
std::string description () const
 Return a simple one-line description of this object.
 
void describe (Teuchos::FancyOStream &out, const VerbLevel verbLevel=Default) const
 Print the Hierarchy with some verbosity level to a FancyOStream object.
 
void describe (Teuchos::FancyOStream &out, const Teuchos::EVerbosityLevel verbLevel=Teuchos::VERB_HIGH) const
 
void print (std::ostream &out=std::cout, const VerbLevel verbLevel=(MueLu::Parameters|MueLu::Statistics0)) const
 Hierarchy::print is local hierarchy function, thus the statistics can be different from global ones.
 
void IsPreconditioner (const bool flag)
 
void EnableGraphDumping (const std::string &filename, int levelID=1)
 
void setlib (Xpetra::UnderlyingLib inlib)
 
Xpetra::UnderlyingLib lib ()
 
void ResetDescription ()
 force recreation of cached description_ next time description() is called:
 
void AllocateLevelMultiVectors (int numvecs, bool forceMapCheck=false)
 
void DeleteLevelMultiVectors ()
 
 Hierarchy (const Hierarchy &h)
 Copy constructor is not implemented.
 
bool IsCalculationOfResidualRequired (const LO startLevel, const ConvData &conv) const
 Decide if the residual needs to be computed.
 
ConvergenceStatus IsConverged (const Teuchos::Array< MagnitudeType > &residualNorm, const MagnitudeType convergenceTolerance) const
 Decide if the multigrid iteration is converged.
 
void PrintResidualHistory (const LO iteration, const Teuchos::Array< MagnitudeType > &residualNorm) const
 Print residualNorm for this iteration to the screen.
 
ConvergenceStatus ComputeResidualAndPrintHistory (const Operator &A, const MultiVector &X, const MultiVector &B, const LO iteration, const LO startLevel, const ConvData &conv, MagnitudeType &previousResidualNorm)
 Compute the residual norm and print it depending on the verbosity level.
 
void ReplaceCoordinateMap (Level &level)
 
const RCP< const FactoryManagerBase > & GetLevelManager (const int levelID) const
 

Constructors/Destructors

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

Permanent storage

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

Additional Inherited Members

- 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.
 
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.
 
- 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::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 103 of file MueLu_Hierarchy_decl.hpp.

Member Typedef Documentation

◆ STS

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
typedef Teuchos::ScalarTraits<SC> MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::STS
private

Definition at line 107 of file MueLu_Hierarchy_decl.hpp.

◆ MagnitudeType

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
typedef STS::magnitudeType MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::MagnitudeType
private

Definition at line 108 of file MueLu_Hierarchy_decl.hpp.

Constructor & Destructor Documentation

◆ Hierarchy() [1/5]

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.

◆ Hierarchy() [2/5]

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 93 of file MueLu_Hierarchy_def.hpp.

◆ Hierarchy() [3/5]

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

Constructor.

Definition at line 101 of file MueLu_Hierarchy_def.hpp.

◆ Hierarchy() [4/5]

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 117 of file MueLu_Hierarchy_def.hpp.

◆ ~Hierarchy()

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

Destructor.

Definition at line 138 of file MueLu_Hierarchy_decl.hpp.

◆ Hierarchy() [5/5]

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Hierarchy ( const Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node > & h)
private

Copy constructor is not implemented.

Member Function Documentation

◆ GetDefaultCycle()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static CycleType MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetDefaultCycle ( )
inlinestatic

Definition at line 146 of file MueLu_Hierarchy_decl.hpp.

◆ GetDefaultCycleStartLevel()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static int MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetDefaultCycleStartLevel ( )
inlinestatic

Definition at line 147 of file MueLu_Hierarchy_decl.hpp.

◆ GetDefaultImplicitTranspose()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetDefaultImplicitTranspose ( )
inlinestatic

Definition at line 148 of file MueLu_Hierarchy_decl.hpp.

◆ GetDefaultFuseProlongationAndUpdate()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetDefaultFuseProlongationAndUpdate ( )
inlinestatic

Definition at line 149 of file MueLu_Hierarchy_decl.hpp.

◆ GetDefaultMaxCoarseSize()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static Xpetra::global_size_t MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetDefaultMaxCoarseSize ( )
inlinestatic

Definition at line 150 of file MueLu_Hierarchy_decl.hpp.

◆ GetDefaultMaxLevels()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static int MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetDefaultMaxLevels ( )
inlinestatic

Definition at line 151 of file MueLu_Hierarchy_decl.hpp.

◆ GetDefaultPRrebalance()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
static bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetDefaultPRrebalance ( )
inlinestatic

Definition at line 152 of file MueLu_Hierarchy_decl.hpp.

◆ GetMaxCoarseSize()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Xpetra::global_size_t MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetMaxCoarseSize ( ) const
inline

Definition at line 154 of file MueLu_Hierarchy_decl.hpp.

◆ GetImplicitTranspose()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetImplicitTranspose ( ) const
inline

Definition at line 155 of file MueLu_Hierarchy_decl.hpp.

◆ GetFuseProlongationAndUpdate()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetFuseProlongationAndUpdate ( ) const
inline

Definition at line 156 of file MueLu_Hierarchy_decl.hpp.

◆ SetMaxCoarseSize()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetMaxCoarseSize ( Xpetra::global_size_t maxCoarseSize)
inline

Definition at line 158 of file MueLu_Hierarchy_decl.hpp.

◆ SetPRrebalance()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetPRrebalance ( bool doPRrebalance)
inline

Definition at line 159 of file MueLu_Hierarchy_decl.hpp.

◆ SetImplicitTranspose()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetImplicitTranspose ( const bool & implicit)
inline

Definition at line 160 of file MueLu_Hierarchy_decl.hpp.

◆ SetFuseProlongationAndUpdate()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetFuseProlongationAndUpdate ( const bool & fuse)
inline

Definition at line 161 of file MueLu_Hierarchy_decl.hpp.

◆ LastLevelID()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
int MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::LastLevelID ( ) const
inlineprivate

Definition at line 171 of file MueLu_Hierarchy_decl.hpp.

◆ DumpCurrentGraph()

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

Definition at line 1407 of file MueLu_Hierarchy_def.hpp.

◆ AddLevel()

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 125 of file MueLu_Hierarchy_def.hpp.

◆ AddNewLevel()

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 142 of file MueLu_Hierarchy_def.hpp.

◆ GetLevel()

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 149 of file MueLu_Hierarchy_def.hpp.

◆ GetNumLevels()

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

Definition at line 156 of file MueLu_Hierarchy_def.hpp.

◆ GetGlobalNumLevels()

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

Definition at line 161 of file MueLu_Hierarchy_def.hpp.

◆ GetRate()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
MagnitudeType MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetRate ( ) const
inline

Definition at line 188 of file MueLu_Hierarchy_decl.hpp.

◆ GetOperatorComplexity()

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

Definition at line 173 of file MueLu_Hierarchy_def.hpp.

◆ GetSmootherComplexity()

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

Definition at line 196 of file MueLu_Hierarchy_def.hpp.

◆ CheckLevel()

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 236 of file MueLu_Hierarchy_def.hpp.

◆ SetMatvecParams()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetMatvecParams ( RCP< ParameterList > matvecParams)

Definition at line 246 of file MueLu_Hierarchy_def.hpp.

◆ Setup() [1/2]

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.

Parameters
coarseLevelIDID of the level to be built.
fineLevelManagerdefines how to build missing data of the fineLevel (example: aggregates)
coarseLevelManagerdefines how to build the level
nextLevelManagerdefines 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 290 of file MueLu_Hierarchy_def.hpp.

◆ Setup() [2/2]

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 599 of file MueLu_Hierarchy_def.hpp.

◆ SetupRe()

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

Definition at line 559 of file MueLu_Hierarchy_def.hpp.

◆ Clear()

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 671 of file MueLu_Hierarchy_def.hpp.

◆ ExpertClear()

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

Definition at line 680 of file MueLu_Hierarchy_def.hpp.

◆ GetCycle()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
CycleType MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetCycle ( ) const
inline

Returns multigrid cycle type (supports VCYCLE and WCYCLE)

Definition at line 252 of file MueLu_Hierarchy_decl.hpp.

◆ SetCycle()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetCycle ( CycleType Cycle)
inline

Supports VCYCLE and WCYCLE types.

Definition at line 255 of file MueLu_Hierarchy_decl.hpp.

◆ SetCycleStartLevel()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetCycleStartLevel ( int cycleStart)
inline

Definition at line 257 of file MueLu_Hierarchy_decl.hpp.

◆ SetProlongatorScalingFactor()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
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 260 of file MueLu_Hierarchy_decl.hpp.

◆ Iterate()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
ConvergenceStatus 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 892 of file MueLu_Hierarchy_def.hpp.

◆ Write()

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 1165 of file MueLu_Hierarchy_def.hpp.

◆ Keep()

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 1194 of file MueLu_Hierarchy_def.hpp.

◆ Delete()

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 1200 of file MueLu_Hierarchy_def.hpp.

◆ AddKeepFlag()

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 1206 of file MueLu_Hierarchy_def.hpp.

◆ RemoveKeepFlag()

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 1212 of file MueLu_Hierarchy_def.hpp.

◆ description()

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 1218 of file MueLu_Hierarchy_def.hpp.

◆ describe() [1/2]

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 1235 of file MueLu_Hierarchy_def.hpp.

◆ describe() [2/2]

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

Definition at line 1230 of file MueLu_Hierarchy_def.hpp.

◆ print()

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

Hierarchy::print is local hierarchy function, thus the statistics can be different from global ones.

Definition at line 1395 of file MueLu_Hierarchy_def.hpp.

◆ IsPreconditioner()

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 1402 of file MueLu_Hierarchy_def.hpp.

◆ EnableGraphDumping()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::EnableGraphDumping ( const std::string & filename,
int levelID = 1 )
inline

Definition at line 332 of file MueLu_Hierarchy_decl.hpp.

◆ setlib()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::setlib ( Xpetra::UnderlyingLib inlib)
inline

Definition at line 338 of file MueLu_Hierarchy_decl.hpp.

◆ lib()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Xpetra::UnderlyingLib MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::lib ( )
inline

Definition at line 339 of file MueLu_Hierarchy_decl.hpp.

◆ ResetDescription()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ResetDescription ( )
inline

force recreation of cached description_ next time description() is called:

Definition at line 342 of file MueLu_Hierarchy_decl.hpp.

◆ AllocateLevelMultiVectors()

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

Definition at line 1532 of file MueLu_Hierarchy_def.hpp.

◆ DeleteLevelMultiVectors()

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

Definition at line 1610 of file MueLu_Hierarchy_def.hpp.

◆ GetLevelManager()

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
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.

◆ IsCalculationOfResidualRequired()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::IsCalculationOfResidualRequired ( const LO startLevel,
const ConvData & conv ) const
private

Decide if the residual needs to be computed.

Definition at line 1623 of file MueLu_Hierarchy_def.hpp.

◆ IsConverged()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
ConvergenceStatus MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::IsConverged ( const Teuchos::Array< MagnitudeType > & residualNorm,
const MagnitudeType convergenceTolerance ) const
private

Decide if the multigrid iteration is converged.

We judge convergence by comparing the current residualNorm to the user given convergenceTolerance and then return the appropriate ConvergenceStatus

Definition at line 1631 of file MueLu_Hierarchy_def.hpp.

◆ PrintResidualHistory()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::PrintResidualHistory ( const LO iteration,
const Teuchos::Array< MagnitudeType > & residualNorm ) const
private

Print residualNorm for this iteration to the screen.

Definition at line 1654 of file MueLu_Hierarchy_def.hpp.

◆ ComputeResidualAndPrintHistory()

template<class Scalar , class LocalOrdinal , class GlobalOrdinal , class Node >
ConvergenceStatus MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ComputeResidualAndPrintHistory ( const Operator & A,
const MultiVector & X,
const MultiVector & B,
const LO iteration,
const LO startLevel,
const ConvData & conv,
MagnitudeType & previousResidualNorm )
private

Compute the residual norm and print it depending on the verbosity level.

Definition at line 1666 of file MueLu_Hierarchy_def.hpp.

◆ ReplaceCoordinateMap()

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

We replace coordinates GIDs to make them consistent with matrix GIDs, even if user does not do that. Ideally, though, we should completely remove any notion of coordinate GIDs, and deal only with LIDs, assuming that they are consistent with matrix block IDs

Definition at line 1458 of file MueLu_Hierarchy_def.hpp.

Friends And Related Symbol Documentation

◆ Hierarchy

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
template<class S2 , class LO2 , class GO2 , class N2 >
friend class Hierarchy
friend

Definition at line 168 of file MueLu_Hierarchy_decl.hpp.

Member Data Documentation

◆ Levels_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Array<RCP<Level> > MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Levels_
private

Container for Level objects.

Definition at line 381 of file MueLu_Hierarchy_decl.hpp.

◆ maxCoarseSize_

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

Minimum size of a matrix on any level. If we fall below that, we stop the coarsening

Definition at line 391 of file MueLu_Hierarchy_decl.hpp.

◆ implicitTranspose_

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

Potential speed up of the setup by skipping R construction, and using transpose matrix-matrix product for RAP

Definition at line 395 of file MueLu_Hierarchy_decl.hpp.

◆ fuseProlongationAndUpdate_

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

Potential speed up of the solve by fusing prolongation and update steps. This can lead to more iterations to round-off error accumulation.

Definition at line 399 of file MueLu_Hierarchy_decl.hpp.

◆ doPRrebalance_

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

Potential speed up of the setup by skipping rebalancing of P and R, and doing extra import during solve

Definition at line 403 of file MueLu_Hierarchy_decl.hpp.

◆ isPreconditioner_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isPreconditioner_
private

Hierarchy may be used in a standalone mode, or as a preconditioner.

Definition at line 406 of file MueLu_Hierarchy_decl.hpp.

◆ Cycle_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
CycleType MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Cycle_
private

V- or W-cycle.

Definition at line 409 of file MueLu_Hierarchy_decl.hpp.

◆ WCycleStartLevel_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
int MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::WCycleStartLevel_
private

Level at which to start W-cycle.

Definition at line 412 of file MueLu_Hierarchy_decl.hpp.

◆ scalingFactor_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
double MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::scalingFactor_
private

Scaling factor to be applied to coarse grid correction.

Definition at line 415 of file MueLu_Hierarchy_decl.hpp.

◆ lib_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Xpetra::UnderlyingLib MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::lib_
private

Epetra/Tpetra mode.

Definition at line 418 of file MueLu_Hierarchy_decl.hpp.

◆ description_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
std::string MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::description_ = ""
mutableprivate

cache description to avoid recreating in each call to description() - use ResetDescription() to force recreation in Setup, SetupRe, etc.

Definition at line 421 of file MueLu_Hierarchy_decl.hpp.

◆ isDumpingEnabled_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
bool MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::isDumpingEnabled_
private

Graph dumping.

If enabled, we dump the graph on a specified level into a specified file

Definition at line 428 of file MueLu_Hierarchy_decl.hpp.

◆ dumpLevel_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
int MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::dumpLevel_
private

Definition at line 430 of file MueLu_Hierarchy_decl.hpp.

◆ dumpFile_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
std::string MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::dumpFile_
private

Definition at line 431 of file MueLu_Hierarchy_decl.hpp.

◆ rate_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
MagnitudeType MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::rate_
private

Convergece rate.

Definition at line 434 of file MueLu_Hierarchy_decl.hpp.

◆ levelManagers_

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

Level managers used during the Setup.

Definition at line 437 of file MueLu_Hierarchy_decl.hpp.

◆ sizeOfAllocatedLevelMultiVectors_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
int MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::sizeOfAllocatedLevelMultiVectors_
private

Caching (Multi)Vectors used in Hierarchy::Iterate()

Definition at line 440 of file MueLu_Hierarchy_decl.hpp.

◆ residual_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Array<RCP<MultiVector> > MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::residual_
private

Definition at line 441 of file MueLu_Hierarchy_decl.hpp.

◆ coarseRhs_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Array<RCP<MultiVector> > MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::coarseRhs_
private

Definition at line 441 of file MueLu_Hierarchy_decl.hpp.

◆ coarseX_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Array<RCP<MultiVector> > MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::coarseX_
private

Definition at line 441 of file MueLu_Hierarchy_decl.hpp.

◆ coarseImport_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Array<RCP<MultiVector> > MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::coarseImport_
private

Definition at line 441 of file MueLu_Hierarchy_decl.hpp.

◆ coarseExport_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Array<RCP<MultiVector> > MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::coarseExport_
private

Definition at line 441 of file MueLu_Hierarchy_decl.hpp.

◆ correction_

template<class Scalar = DefaultScalar, class LocalOrdinal = DefaultLocalOrdinal, class GlobalOrdinal = DefaultGlobalOrdinal, class Node = DefaultNode>
Array<RCP<MultiVector> > MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::correction_
private

Definition at line 441 of file MueLu_Hierarchy_decl.hpp.


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