|
Grid 0.7.0
|
#include <AdefMrhs.h>
Public Member Functions | |
| TwoLevelADEF2mrhs (RealD tol, Integer maxit, LinearOperatorBase< Field > &FineLinop, LinearFunction< Field > &Smoother, LinearFunction< CoarseField > &CoarseSolverMrhs, LinearFunction< CoarseField > &CoarseSolverPreciseMrhs, MultiRHSBlockProject< Field > &Projector, MultiRHSDeflation< CoarseField > &Deflator, GridBase *_coarsemrhsgrid) | |
| virtual void | Vstart (std::vector< Field > &x, std::vector< Field > &src) |
| virtual void | PcgM1 (std::vector< Field > &in, std::vector< Field > &out) |
| virtual void | operator() (std::vector< Field > &src, std::vector< Field > &x) |
| void | ThinQRfact (Eigen::MatrixXcd &m_zz, Eigen::MatrixXcd &C, Eigen::MatrixXcd &Cinv, std::vector< Field > &Q, std::vector< Field > &MQ, const std::vector< Field > &Z, const std::vector< Field > &MZ) |
| virtual void | SolvePrecBlockCG (std::vector< Field > &src, std::vector< Field > &X) |
| virtual void | SolveSingleSystem (std::vector< Field > &src, std::vector< Field > &x) |
| virtual void | PcgM2 (const Field &in, Field &out) |
| virtual RealD | PcgM3 (const Field &p, Field &mmp) |
Data Fields | |
| GridBase * | coarsegrid |
| GridBase * | coarsegridmrhs |
| LinearFunction< CoarseField > & | _CoarseSolverMrhs |
| LinearFunction< CoarseField > & | _CoarseSolverPreciseMrhs |
| MultiRHSBlockProject< Field > & | _Projector |
| MultiRHSDeflation< CoarseField > & | _Deflator |
| RealD | Tolerance |
| Integer | MaxIterations |
| GridBase * | grid |
| LinearOperatorBase< Field > & | _FineLinop |
| LinearFunction< Field > & | _Smoother |
| MultiRHSBlockCGLinalg< Field > | _BlockCGLinalg |
| GridStopWatch | ProjectTimer |
| GridStopWatch | PromoteTimer |
| GridStopWatch | DeflateTimer |
| GridStopWatch | CoarseTimer |
| GridStopWatch | FineTimer |
| GridStopWatch | SmoothTimer |
| GridStopWatch | InsertTimer |
Definition at line 592 of file AdefMrhs.h.
|
inline |
Definition at line 603 of file AdefMrhs.h.
References _CoarseSolverMrhs, _CoarseSolverPreciseMrhs, _Deflator, _Projector, MultiRHSBlockProject< Field >::coarse_grid, coarsegrid, coarsegridmrhs, and TwoLevelCGmrhs< Field >::TwoLevelCGmrhs().
|
inlinevirtual |
Implements TwoLevelCGmrhs< Field >.
Definition at line 623 of file AdefMrhs.h.
References _CoarseSolverPreciseMrhs, MultiRHSBlockProject< Field >::blockProject(), MultiRHSBlockProject< Field >::blockPromote(), MultiRHSDeflation< Field >::DeflateSources(), ExtractSliceFast(), and InsertSliceFast().
|
inlinevirtual |
Implements TwoLevelCGmrhs< Field >.
Definition at line 657 of file AdefMrhs.h.
References _CoarseSolverMrhs, TwoLevelCGmrhs< Field >::_FineLinop, TwoLevelCGmrhs< Field >::_Smoother, axpy(), MultiRHSBlockProject< Field >::blockProject(), MultiRHSBlockProject< Field >::blockPromote(), TwoLevelCGmrhs< Field >::CoarseTimer, MultiRHSDeflation< Field >::DeflateSources(), TwoLevelCGmrhs< Field >::DeflateTimer, ExtractSliceFast(), TwoLevelCGmrhs< Field >::FineTimer, TwoLevelCGmrhs< Field >::grid, InsertSliceFast(), TwoLevelCGmrhs< Field >::InsertTimer, TwoLevelCGmrhs< Field >::ProjectTimer, TwoLevelCGmrhs< Field >::PromoteTimer, and TwoLevelCGmrhs< Field >::SmoothTimer.
|
inlinevirtualinherited |
Definition at line 93 of file AdefMrhs.h.
References SolvePrecBlockCG().
|
inlineinherited |
Definition at line 118 of file AdefMrhs.h.
References _BlockCGLinalg, and usecond().
Referenced by SolvePrecBlockCG().
|
inlinevirtualinherited |
Definition at line 146 of file AdefMrhs.h.
References _BlockCGLinalg, _FineLinop, axpy(), CoarseTimer, DeflateTimer, GridStopWatch::Elapsed(), FineTimer, grid, GridLogMessage, InsertTimer, MaxIterations, norm2(), PcgM1(), ProjectTimer, PromoteTimer, real(), SmoothTimer, sqrt(), GridStopWatch::Start(), GridStopWatch::Stop(), ThinQRfact(), Tolerance, and Vstart().
Referenced by operator()().
|
inlinevirtualinherited |
Definition at line 388 of file AdefMrhs.h.
References _FineLinop, axpy(), axpy_norm(), CoarseTimer, DeflateTimer, GridStopWatch::Elapsed(), FineTimer, grid, GridLogMessage, innerProduct(), InsertTimer, MaxIterations, norm2(), PcgM1(), PcgM3(), ProjectTimer, PromoteTimer, real(), SmoothTimer, sqrt(), GridStopWatch::Start(), GridStopWatch::Stop(), Tolerance, and Vstart().
|
inlinevirtualinherited |
Definition at line 577 of file AdefMrhs.h.
|
inlinevirtualinherited |
Definition at line 581 of file AdefMrhs.h.
References _FineLinop, innerProduct(), and real().
Referenced by SolveSingleSystem().
| GridBase* TwoLevelADEF2mrhs< Field, CoarseField >::coarsegrid |
Definition at line 595 of file AdefMrhs.h.
Referenced by TwoLevelADEF2mrhs().
| GridBase* TwoLevelADEF2mrhs< Field, CoarseField >::coarsegridmrhs |
Definition at line 596 of file AdefMrhs.h.
Referenced by TwoLevelADEF2mrhs().
| LinearFunction<CoarseField>& TwoLevelADEF2mrhs< Field, CoarseField >::_CoarseSolverMrhs |
Definition at line 597 of file AdefMrhs.h.
Referenced by PcgM1(), and TwoLevelADEF2mrhs().
| LinearFunction<CoarseField>& TwoLevelADEF2mrhs< Field, CoarseField >::_CoarseSolverPreciseMrhs |
Definition at line 598 of file AdefMrhs.h.
Referenced by TwoLevelADEF2mrhs(), and Vstart().
| MultiRHSBlockProject<Field>& TwoLevelADEF2mrhs< Field, CoarseField >::_Projector |
Definition at line 599 of file AdefMrhs.h.
Referenced by TwoLevelADEF2mrhs().
| MultiRHSDeflation<CoarseField>& TwoLevelADEF2mrhs< Field, CoarseField >::_Deflator |
Definition at line 600 of file AdefMrhs.h.
Referenced by TwoLevelADEF2mrhs().
|
inherited |
Definition at line 49 of file AdefMrhs.h.
Referenced by SolvePrecBlockCG(), SolveSingleSystem(), and TwoLevelCGmrhs().
|
inherited |
Definition at line 50 of file AdefMrhs.h.
Referenced by SolvePrecBlockCG(), SolveSingleSystem(), and TwoLevelCGmrhs().
|
inherited |
Definition at line 51 of file AdefMrhs.h.
Referenced by TwoLevelADEF2mrhs< Field, CoarseField >::PcgM1(), SolvePrecBlockCG(), SolveSingleSystem(), and TwoLevelCGmrhs().
|
inherited |
Definition at line 54 of file AdefMrhs.h.
Referenced by TwoLevelADEF2mrhs< Field, CoarseField >::PcgM1(), PcgM3(), SolvePrecBlockCG(), SolveSingleSystem(), and TwoLevelCGmrhs().
|
inherited |
Definition at line 55 of file AdefMrhs.h.
Referenced by TwoLevelADEF2mrhs< Field, CoarseField >::PcgM1(), and TwoLevelCGmrhs().
|
inherited |
Definition at line 56 of file AdefMrhs.h.
Referenced by SolvePrecBlockCG(), and ThinQRfact().
|
inherited |
Definition at line 58 of file AdefMrhs.h.
Referenced by TwoLevelADEF2mrhs< Field, CoarseField >::PcgM1(), SolvePrecBlockCG(), and SolveSingleSystem().
|
inherited |
Definition at line 59 of file AdefMrhs.h.
Referenced by TwoLevelADEF2mrhs< Field, CoarseField >::PcgM1(), SolvePrecBlockCG(), and SolveSingleSystem().
|
inherited |
Definition at line 60 of file AdefMrhs.h.
Referenced by TwoLevelADEF2mrhs< Field, CoarseField >::PcgM1(), SolvePrecBlockCG(), and SolveSingleSystem().
|
inherited |
Definition at line 61 of file AdefMrhs.h.
Referenced by TwoLevelADEF2mrhs< Field, CoarseField >::PcgM1(), SolvePrecBlockCG(), and SolveSingleSystem().
|
inherited |
Definition at line 62 of file AdefMrhs.h.
Referenced by TwoLevelADEF2mrhs< Field, CoarseField >::PcgM1(), SolvePrecBlockCG(), and SolveSingleSystem().
|
inherited |
Definition at line 63 of file AdefMrhs.h.
Referenced by TwoLevelADEF2mrhs< Field, CoarseField >::PcgM1(), SolvePrecBlockCG(), and SolveSingleSystem().
|
inherited |
Definition at line 64 of file AdefMrhs.h.
Referenced by TwoLevelADEF2mrhs< Field, CoarseField >::PcgM1(), SolvePrecBlockCG(), and SolveSingleSystem().