|
MueLu Version of the Day
|
Provides methods to build a multigrid hierarchy and apply multigrid cycles. More...
#include <MueLu_Hierarchy_decl.hpp>
Classes | |
| struct | ConvData |
| Data struct for defining stopping criteria of multigrid iteration. More... | |
Private Types | |
| using | FactoryBase = MueLu::FactoryBase |
| using | Level = MueLu::Level |
| 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 | SetPRViaCopyrebalance (bool doPRViaCopyrebalance) |
| 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 | doPRViaCopyrebalance_ |
| 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 | |
| virtual | ~BaseClass () |
| Destructor. | |
| 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 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 () |
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 99 of file MueLu_Hierarchy_decl.hpp.
|
private |
|
private |
|
private |
Definition at line 103 of file MueLu_Hierarchy_decl.hpp.
|
private |
Definition at line 104 of file MueLu_Hierarchy_decl.hpp.
| MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Hierarchy | ( | ) |
Default constructor.
Definition at line 80 of file MueLu_Hierarchy_def.hpp.
| MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Hierarchy | ( | const std::string & | label | ) |
Constructor that labels the hierarchy.
Definition at line 91 of file MueLu_Hierarchy_def.hpp.
| MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Hierarchy | ( | const RCP< Matrix > & | A | ) |
Constructor.
Definition at line 99 of file MueLu_Hierarchy_def.hpp.
| 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.
|
inlinevirtual |
Destructor.
Definition at line 134 of file MueLu_Hierarchy_decl.hpp.
|
private |
Copy constructor is not implemented.
|
inlinestatic |
Definition at line 142 of file MueLu_Hierarchy_decl.hpp.
|
inlinestatic |
Definition at line 143 of file MueLu_Hierarchy_decl.hpp.
|
inlinestatic |
Definition at line 144 of file MueLu_Hierarchy_decl.hpp.
|
inlinestatic |
Definition at line 145 of file MueLu_Hierarchy_decl.hpp.
|
inlinestatic |
Definition at line 146 of file MueLu_Hierarchy_decl.hpp.
|
inlinestatic |
Definition at line 147 of file MueLu_Hierarchy_decl.hpp.
|
inlinestatic |
Definition at line 148 of file MueLu_Hierarchy_decl.hpp.
|
inline |
Definition at line 150 of file MueLu_Hierarchy_decl.hpp.
|
inline |
Definition at line 151 of file MueLu_Hierarchy_decl.hpp.
|
inline |
Definition at line 152 of file MueLu_Hierarchy_decl.hpp.
|
inline |
Definition at line 154 of file MueLu_Hierarchy_decl.hpp.
|
inline |
Definition at line 155 of file MueLu_Hierarchy_decl.hpp.
|
inline |
Definition at line 156 of file MueLu_Hierarchy_decl.hpp.
|
inline |
Definition at line 157 of file MueLu_Hierarchy_decl.hpp.
|
inline |
Definition at line 158 of file MueLu_Hierarchy_decl.hpp.
|
inlineprivate |
Definition at line 168 of file MueLu_Hierarchy_decl.hpp.
|
private |
Definition at line 1405 of file MueLu_Hierarchy_def.hpp.
| 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.
| 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.
| 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.
| int MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetNumLevels | ( | ) | const |
Definition at line 154 of file MueLu_Hierarchy_def.hpp.
| int MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetGlobalNumLevels | ( | ) | const |
Definition at line 159 of file MueLu_Hierarchy_def.hpp.
|
inline |
Definition at line 185 of file MueLu_Hierarchy_decl.hpp.
| double MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetOperatorComplexity | ( | ) | const |
Definition at line 171 of file MueLu_Hierarchy_def.hpp.
| double MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::GetSmootherComplexity | ( | ) | const |
Definition at line 194 of file MueLu_Hierarchy_def.hpp.
| void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::CheckLevel | ( | Level & | level, |
| int | levelID ) |
Helper function.
Definition at line 234 of file MueLu_Hierarchy_def.hpp.
| void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetMatvecParams | ( | RCP< ParameterList > | matvecParams | ) |
Definition at line 244 of file MueLu_Hierarchy_def.hpp.
| 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.
| coarseLevelID | ID of the level to be built. |
| fineLevelManager | defines how to build missing data of the fineLevel (example: aggregates) |
| coarseLevelManager | defines how to build the level |
| 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:
Pre-condition: FineLevel:
Post-condition: FineLevel:
Definition at line 288 of file MueLu_Hierarchy_def.hpp.
| void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Setup | ( | const FactoryManagerBase & | manager = FactoryManager(), |
| int | startLevel = 0, | ||
| int | numDesiredLevels = GetDefaultMaxLevels() ) |
Definition at line 597 of file MueLu_Hierarchy_def.hpp.
| void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::SetupRe | ( | ) |
Definition at line 557 of file MueLu_Hierarchy_def.hpp.
| void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::Clear | ( | int | startLevel = 0 | ) |
Clear impermanent data from previous setup.
Definition at line 669 of file MueLu_Hierarchy_def.hpp.
| void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::ExpertClear | ( | ) |
Definition at line 678 of file MueLu_Hierarchy_def.hpp.
|
inline |
Returns multigrid cycle type (supports VCYCLE and WCYCLE).
Definition at line 249 of file MueLu_Hierarchy_decl.hpp.
|
inline |
Supports VCYCLE and WCYCLE types.
Definition at line 252 of file MueLu_Hierarchy_decl.hpp.
|
inline |
Definition at line 254 of file MueLu_Hierarchy_decl.hpp.
|
inline |
Specify damping factor alpha such that x = x + alpha*P*c, where c is the coarse grid correction.
Definition at line 257 of file MueLu_Hierarchy_decl.hpp.
| 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.
| B | right-hand side of linear problem |
| X | initial and final (approximate) solution of linear problem |
| ConvData | struct which stores convergence criteria (maximum number of multigrid iterations or stopping tolerance) |
| InitialGuessIsZero | Indicates whether the initial guess is zero |
| startLevel | index of starting level to build multigrid hierarchy (default = 0) |
Definition at line 890 of file MueLu_Hierarchy_def.hpp.
| 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.
| [in] | start | start level |
| [in] | end | end 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 1163 of file MueLu_Hierarchy_def.hpp.
| 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 1192 of file MueLu_Hierarchy_def.hpp.
| 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 1198 of file MueLu_Hierarchy_def.hpp.
| 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 1204 of file MueLu_Hierarchy_def.hpp.
| 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 1210 of file MueLu_Hierarchy_def.hpp.
|
virtual |
Return a simple one-line description of this object.
Reimplemented from MueLu::Describable.
Definition at line 1216 of file MueLu_Hierarchy_def.hpp.
|
virtual |
Print the Hierarchy with some verbosity level to a FancyOStream object.
| [in] | out | The Teuchos::FancyOstream. |
| [in] | verbLevel | Controls amount of output. |
Reimplemented from MueLu::Describable.
Definition at line 1233 of file MueLu_Hierarchy_def.hpp.
| void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::describe | ( | Teuchos::FancyOStream & | out, |
| const Teuchos::EVerbosityLevel | verbLevel = Teuchos::VERB_HIGH ) const |
Definition at line 1228 of file MueLu_Hierarchy_def.hpp.
| 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 1393 of file MueLu_Hierarchy_def.hpp.
| 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 1400 of file MueLu_Hierarchy_def.hpp.
|
inline |
Definition at line 329 of file MueLu_Hierarchy_decl.hpp.
|
inline |
Definition at line 335 of file MueLu_Hierarchy_decl.hpp.
|
inline |
Definition at line 336 of file MueLu_Hierarchy_decl.hpp.
|
inline |
force recreation of cached description_ next time description() is called:
Definition at line 339 of file MueLu_Hierarchy_decl.hpp.
| void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::AllocateLevelMultiVectors | ( | int | numvecs, |
| bool | forceMapCheck = false ) |
Definition at line 1530 of file MueLu_Hierarchy_def.hpp.
| void MueLu::Hierarchy< Scalar, LocalOrdinal, GlobalOrdinal, Node >::DeleteLevelMultiVectors | ( | ) |
Definition at line 1608 of file MueLu_Hierarchy_def.hpp.
|
inlineprotected |
Definition at line 347 of file MueLu_Hierarchy_decl.hpp.
|
private |
Decide if the residual needs to be computed.
Definition at line 1621 of file MueLu_Hierarchy_def.hpp.
|
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 1629 of file MueLu_Hierarchy_def.hpp.
|
private |
Print residualNorm for this iteration to the screen.
Definition at line 1652 of file MueLu_Hierarchy_def.hpp.
|
private |
Compute the residual norm and print it depending on the verbosity level.
Definition at line 1664 of file MueLu_Hierarchy_def.hpp.
|
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 1456 of file MueLu_Hierarchy_def.hpp.
|
friend |
Definition at line 165 of file MueLu_Hierarchy_decl.hpp.
|
private |
Container for Level objects.
Definition at line 378 of file MueLu_Hierarchy_decl.hpp.
|
private |
Minimum size of a matrix on any level. If we fall below that, we stop the coarsening
Definition at line 388 of file MueLu_Hierarchy_decl.hpp.
|
private |
Potential speed up of the setup by skipping R construction, and using transpose matrix-matrix product for RAP
Definition at line 392 of file MueLu_Hierarchy_decl.hpp.
|
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 396 of file MueLu_Hierarchy_decl.hpp.
|
private |
Potential speed up of the setup by skipping rebalancing of P and R, and doing extra import during solve
Definition at line 400 of file MueLu_Hierarchy_decl.hpp.
|
private |
Definition at line 401 of file MueLu_Hierarchy_decl.hpp.
|
private |
Hierarchy may be used in a standalone mode, or as a preconditioner.
Definition at line 404 of file MueLu_Hierarchy_decl.hpp.
|
private |
V- or W-cycle.
Definition at line 407 of file MueLu_Hierarchy_decl.hpp.
|
private |
Level at which to start W-cycle.
Definition at line 410 of file MueLu_Hierarchy_decl.hpp.
|
private |
Scaling factor to be applied to coarse grid correction.
Definition at line 413 of file MueLu_Hierarchy_decl.hpp.
|
private |
Epetra/Tpetra mode.
Definition at line 416 of file MueLu_Hierarchy_decl.hpp.
|
mutableprivate |
cache description to avoid recreating in each call to description() - use ResetDescription() to force recreation in Setup, SetupRe, etc.
Definition at line 419 of file MueLu_Hierarchy_decl.hpp.
|
private |
Graph dumping.
If enabled, we dump the graph on a specified level into a specified file
Definition at line 426 of file MueLu_Hierarchy_decl.hpp.
|
private |
Definition at line 428 of file MueLu_Hierarchy_decl.hpp.
|
private |
Definition at line 429 of file MueLu_Hierarchy_decl.hpp.
|
private |
Convergece rate.
Definition at line 432 of file MueLu_Hierarchy_decl.hpp.
|
private |
Level managers used during the Setup.
Definition at line 435 of file MueLu_Hierarchy_decl.hpp.
|
private |
Caching (Multi)Vectors used in Hierarchy::Iterate().
Definition at line 438 of file MueLu_Hierarchy_decl.hpp.
|
private |
Definition at line 439 of file MueLu_Hierarchy_decl.hpp.
|
private |
Definition at line 439 of file MueLu_Hierarchy_decl.hpp.
|
private |
Definition at line 439 of file MueLu_Hierarchy_decl.hpp.
|
private |
Definition at line 439 of file MueLu_Hierarchy_decl.hpp.
|
private |
Definition at line 439 of file MueLu_Hierarchy_decl.hpp.
|
private |
Definition at line 439 of file MueLu_Hierarchy_decl.hpp.