#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 180 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: "ICGS" 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 448 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 270 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 311 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 741 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_ = "ICGS" |
|
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: