#include <BelosPCPGSolMgr.hpp>
|
int | ARRQR (int numVecs, int numOrthVecs, const Teuchos::SerialDenseMatrix< int, ScalarType > &D) |
|
|
Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > | problem_ |
|
Teuchos::RCP< OutputManager< ScalarType > > | printer_ |
|
Teuchos::RCP< std::ostream > | outputStream_ |
|
Teuchos::RCP< StatusTest< ScalarType, MV, OP > > | sTest_ |
|
Teuchos::RCP< StatusTestMaxIters< ScalarType, MV, OP > > | maxIterTest_ |
|
Teuchos::RCP< StatusTestGenResNorm< ScalarType, MV, OP > > | convTest_ |
|
Teuchos::RCP< StatusTestOutput< ScalarType, MV, OP > > | outputTest_ |
|
Teuchos::RCP< MatOrthoManager< ScalarType, MV, OP > > | ortho_ |
|
Teuchos::RCP< Teuchos::ParameterList > | params_ |
|
MagnitudeType | convtol_ |
| Convergence tolerance (read from parameter list). More...
|
|
MagnitudeType | orthoKappa_ |
| Orthogonalization parameter (read from parameter list). More...
|
|
MagnitudeType | achievedTol_ |
| Tolerance achieved by the last solve() invocation. More...
|
|
int | numIters_ |
| Number of iterations taken by the last solve() invocation. More...
|
|
int | maxIters_ |
| Maximum iteration count (read from parameter list). More...
|
|
int | deflatedBlocks_ |
|
int | savedBlocks_ |
|
int | verbosity_ |
|
int | outputStyle_ |
|
int | outputFreq_ |
|
std::string | orthoType_ |
|
Teuchos::RCP< MV > | U_ |
|
Teuchos::RCP< MV > | C_ |
|
Teuchos::RCP< MV > | R_ |
|
int | dimU_ |
|
std::string | label_ |
|
Teuchos::RCP< Teuchos::Time > | timerSolve_ |
|
bool | isSet_ |
|
|
void | setProblem (const Teuchos::RCP< LinearProblem< ScalarType, MV, OP > > &problem) |
| Set the linear problem that needs to be solved. More...
|
|
void | setParameters (const Teuchos::RCP< Teuchos::ParameterList > ¶ms) |
| Set the parameters the solver manager should use to solve the linear problem. More...
|
|
|
void | reset (const ResetType type) |
| Performs a reset of the solver manager specified by the ResetType . This informs the solver manager that the solver should prepare for the next call to solve by resetting certain elements of the iterative solver strategy. More...
|
|
|
ReturnType | solve () |
| The method either solves the problem or decides to quit. On each call, a (possibly null) seed space is used to accelerate convergence. More...
|
|
|
std::string | description () const |
| Method to return description of the PCPG solver manager. More...
|
|
template<class ScalarType, class MV, class OP>
class Belos::PCPGSolMgr< ScalarType, MV, OP, true >
Definition at line 183 of file BelosPCPGSolMgr.hpp.
◆ MVT
template<class ScalarType , class MV , class OP >
◆ OPT
template<class ScalarType , class MV , class OP >
◆ SCT
template<class ScalarType , class MV , class OP >
◆ MagnitudeType
template<class ScalarType , class MV , class OP >
◆ MT
template<class ScalarType , class MV , class OP >
◆ PCPGSolMgr() [1/2]
template<class ScalarType , class MV , class OP >
◆ PCPGSolMgr() [2/2]
template<class ScalarType , class MV , class OP >
Basic constructor for PCPGSolMgr. The constructor accepts a LinearProblem to be solved and a parameter list of these options:
- "Num Deflated Blocks" - a
int
specifying the number of blocks deflated from the linear system. Default: 2 The parameter distinguishes PCPG from CG.
- "Num Saved Blocks" - a
int
specifying the maximum number of blocks saved from old Krylov bases. Default: 16 The parameter distinguishes PCPG from CG.
- "Block Size" - an
int
specifying the block size to be used by the underlying block conjugate-gradient solver. In PCPC block size = one. Many parameters are meaningless in the unit block size case. Default: 1
- "Adaptive Block Size" - a
bool
specifying whether the block size can be modified throughout the solve. Default: true Meaningless with unit block size
- "Maximum Iterations" - an
int
specifying the maximum number of iterations the underlying solver is allowed to perform. Default: 1000
- "Convergence Tolerance" - a
MagnitudeType
specifying the level that residual norms must reach to decide convergence. Default: 1e-8.
- "Orthogonalization" - a
string
specifying the desired orthogonalization: DGKS, ICGS, IMGS. Default: "DGKS" Meaningless with unit block size
- "Orthogonalization Constant" - a
MagnitudeType
used by DGKS orthogonalization to determine whether another step of classical Gram-Schmidt is necessary. Default: -1 (use DGKS default) Meaningless with unit block size
- "Verbosity" - a sum of MsgType specifying the verbosity. Default: Belos::Errors
- "Output Style" - a OutputType specifying the style of output. Default: Belos::General
- "Output Stream" - a reference-counted pointer to the output stream where all solver output is sent. Default: Teuchos::rcp(&std::cout,false)
- "Output Frequency" - an
int
specifying how often convergence information should be outputted. Default: -1 (never)
- "Show Maximum Residual Norm Only" - a
bool
specifying whether that only the maximum relative residual norm is printed if convergence information is printed. Default: false Meaningless with unit block size
- "Timer Label" - a
std::string
to use as a prefix for the timer labels. Default: "Belos"
Definition at line 445 of file BelosPCPGSolMgr.hpp.
◆ ~PCPGSolMgr()
template<class ScalarType , class MV , class OP >
◆ clone()
template<class ScalarType , class MV , class OP >
◆ getProblem()
template<class ScalarType , class MV , class OP >
◆ getValidParameters()
template<class ScalarType , class MV , class OP >
Teuchos::RCP< const Teuchos::ParameterList > Belos::PCPGSolMgr< ScalarType, MV, OP, true >::getValidParameters |
( |
| ) |
const |
|
virtual |
◆ getCurrentParameters()
template<class ScalarType , class MV , class OP >
Teuchos::RCP<const Teuchos::ParameterList> Belos::PCPGSolMgr< ScalarType, MV, OP, true >::getCurrentParameters |
( |
| ) |
const |
|
inlinevirtual |
◆ getTimers()
template<class ScalarType , class MV , class OP >
Teuchos::Array<Teuchos::RCP<Teuchos::Time> > Belos::PCPGSolMgr< ScalarType, MV, OP, true >::getTimers |
( |
| ) |
const |
|
inline |
Return the timers for this object.
The timers are ordered as follows:
Definition at line 273 of file BelosPCPGSolMgr.hpp.
◆ achievedTol()
template<class ScalarType , class MV , class OP >
◆ getNumIters()
template<class ScalarType , class MV , class OP >
◆ isLOADetected()
template<class ScalarType , class MV , class OP >
◆ setProblem()
template<class ScalarType , class MV , class OP >
◆ setParameters()
template<class ScalarType , class MV , class OP >
void Belos::PCPGSolMgr< ScalarType, MV, OP, true >::setParameters |
( |
const Teuchos::RCP< Teuchos::ParameterList > & |
params | ) |
|
|
virtual |
◆ reset()
template<class ScalarType , class MV , class OP >
Performs a reset of the solver manager specified by the ResetType
. This informs the solver manager that the solver should prepare for the next call to solve by resetting certain elements of the iterative solver strategy.
Implements Belos::SolverManager< ScalarType, MV, OP >.
Definition at line 314 of file BelosPCPGSolMgr.hpp.
◆ solve()
template<class ScalarType , class MV , class OP >
The method either solves the problem or decides to quit. On each call, a (possibly null) seed space is used to accelerate convergence.
The method calls PCPGIter::iterate(), which will return either because a specially constructed status test evaluates to Passed or an exception is thrown. The first Krylov vectors are appended to the seed space.
A return from PCPGIter::iterate() signifies one of the following scenarios:
- the maximum number of restarts has been exceeded. In this scenario, the current solutions to the linear system will be placed in the linear problem and return Unconverged.
- global convergence has been met. In this case, the current solutions to the linear system will be placed in the linear problem and the solver manager will return Converged
- Returns
- ReturnType specifying:
- Converged: the linear problem was solved to the specification required by the solver manager.
- Unconverged: the linear problem was not solved to the specification desired by the solver manager.
Implements Belos::SolverManager< ScalarType, MV, OP >.
Definition at line 769 of file BelosPCPGSolMgr.hpp.
◆ description()
template<class ScalarType , class MV , class OP >
◆ ARRQR()
template<class ScalarType , class MV , class OP >
int Belos::PCPGSolMgr< ScalarType, MV, OP, true >::ARRQR |
( |
int |
numVecs, |
|
|
int |
numOrthVecs, |
|
|
const Teuchos::SerialDenseMatrix< int, ScalarType > & |
D |
|
) |
| |
|
private |
◆ problem_
template<class ScalarType , class MV , class OP >
◆ printer_
template<class ScalarType , class MV , class OP >
◆ outputStream_
template<class ScalarType , class MV , class OP >
Teuchos::RCP<std::ostream> Belos::PCPGSolMgr< ScalarType, MV, OP, true >::outputStream_ |
|
private |
◆ sTest_
template<class ScalarType , class MV , class OP >
◆ maxIterTest_
template<class ScalarType , class MV , class OP >
◆ convTest_
template<class ScalarType , class MV , class OP >
◆ outputTest_
template<class ScalarType , class MV , class OP >
◆ ortho_
template<class ScalarType , class MV , class OP >
◆ params_
template<class ScalarType , class MV , class OP >
Teuchos::RCP<Teuchos::ParameterList> Belos::PCPGSolMgr< ScalarType, MV, OP, true >::params_ |
|
private |
◆ maxIters_default_
template<class ScalarType , class MV , class OP >
constexpr int Belos::PCPGSolMgr< ScalarType, MV, OP, true >::maxIters_default_ = 1000 |
|
staticprivate |
◆ deflatedBlocks_default_
template<class ScalarType , class MV , class OP >
constexpr int Belos::PCPGSolMgr< ScalarType, MV, OP, true >::deflatedBlocks_default_ = 2 |
|
staticprivate |
◆ savedBlocks_default_
template<class ScalarType , class MV , class OP >
constexpr int Belos::PCPGSolMgr< ScalarType, MV, OP, true >::savedBlocks_default_ = 16 |
|
staticprivate |
◆ verbosity_default_
template<class ScalarType , class MV , class OP >
◆ outputStyle_default_
template<class ScalarType , class MV , class OP >
◆ outputFreq_default_
template<class ScalarType , class MV , class OP >
constexpr int Belos::PCPGSolMgr< ScalarType, MV, OP, true >::outputFreq_default_ = -1 |
|
staticprivate |
◆ label_default_
template<class ScalarType , class MV , class OP >
constexpr const char* Belos::PCPGSolMgr< ScalarType, MV, OP, true >::label_default_ = "Belos" |
|
staticprivate |
◆ orthoType_default_
template<class ScalarType , class MV , class OP >
constexpr const char* Belos::PCPGSolMgr< ScalarType, MV, OP, true >::orthoType_default_ = "DGKS" |
|
staticprivate |
◆ outputStream_default_
template<class ScalarType , class MV , class OP >
constexpr std::ostream* Belos::PCPGSolMgr< ScalarType, MV, OP, true >::outputStream_default_ = &std::cout |
|
staticprivate |
◆ convtol_
template<class ScalarType , class MV , class OP >
◆ orthoKappa_
template<class ScalarType , class MV , class OP >
◆ achievedTol_
template<class ScalarType , class MV , class OP >
◆ numIters_
template<class ScalarType , class MV , class OP >
◆ maxIters_
template<class ScalarType , class MV , class OP >
◆ deflatedBlocks_
template<class ScalarType , class MV , class OP >
◆ savedBlocks_
template<class ScalarType , class MV , class OP >
◆ verbosity_
template<class ScalarType , class MV , class OP >
◆ outputStyle_
template<class ScalarType , class MV , class OP >
◆ outputFreq_
template<class ScalarType , class MV , class OP >
◆ orthoType_
template<class ScalarType , class MV , class OP >
◆ U_
template<class ScalarType , class MV , class OP >
◆ C_
template<class ScalarType , class MV , class OP >
◆ R_
template<class ScalarType , class MV , class OP >
◆ dimU_
template<class ScalarType , class MV , class OP >
◆ label_
template<class ScalarType , class MV , class OP >
◆ timerSolve_
template<class ScalarType , class MV , class OP >
Teuchos::RCP<Teuchos::Time> Belos::PCPGSolMgr< ScalarType, MV, OP, true >::timerSolve_ |
|
private |
◆ isSet_
template<class ScalarType , class MV , class OP >
The documentation for this class was generated from the following file: