1.11.1
CCC
 
Loading...
Searching...
No Matches
gstlrn::MultiGridSolver Class Reference

#include <MultiGridSolver.hpp>

Inheritance diagram for gstlrn::MultiGridSolver:
gstlrn::APreconditioner

Public Member Functions

 MultiGridSolver (double ratiochebmin=0.1, double ratiochebmax=1.1, size_t smoothIter=4)
 
 MultiGridSolver (const MultiGridSolver &other)=delete
 
 MultiGridSolver (MultiGridSolver &&other) noexcept=default
 
MultiGridSolveroperator= (const MultiGridSolver &other)=delete
 
MultiGridSolveroperator= (MultiGridSolver &&other)=default
 
virtual ~MultiGridSolver ()=default
 
MultiGridSolvercompute (const ALinearOp &)
 
void prepare (size_t niterPower=20)
 
 getMaxEigenValues () const
 
const ALinearOpgetOperator (size_t lvl) const
 
const std::vector< std::unique_ptr< const ALinearOp > > & getOperators () const
 
size_t getNLevels () const
 
void display () const
 
template<typename Rhs >
Rhs solve (const Rhs &b) const
 
MultiGridSolveranalyzePattern (const ALinearOp &)
 
MultiGridSolverfactorize (const ALinearOp &)
 
void addLevel (std::unique_ptr< const ALinearOp > &&op, std::unique_ptr< const IProj > &&transferOp)
 
void setCoarseSolver (const MatrixSparse &mat)
 
void applyLevel (constvect rhs, vect x, size_t lvl) const
 
 vCycle (const 1 &rhs, const 1 &u, size_t lvl) const
 
- Public Member Functions inherited from gstlrn::APreconditioner
 APreconditioner ()
 
virtual ~APreconditioner ()=default
 
Eigen::ComputationInfo info () const
 

Constructor & Destructor Documentation

◆ MultiGridSolver() [1/3]

gstlrn::MultiGridSolver::MultiGridSolver ( double  ratiochebmin = 0.1,
double  ratiochebmax = 1.1,
size_t  smoothIter = 4 
)

◆ MultiGridSolver() [2/3]

gstlrn::MultiGridSolver::MultiGridSolver ( const MultiGridSolver other)
delete

◆ MultiGridSolver() [3/3]

gstlrn::MultiGridSolver::MultiGridSolver ( MultiGridSolver &&  other)
defaultnoexcept

◆ ~MultiGridSolver()

virtual gstlrn::MultiGridSolver::~MultiGridSolver ( )
virtualdefault

Member Function Documentation

◆ addLevel()

void gstlrn::MultiGridSolver::addLevel ( std::unique_ptr< const ALinearOp > &&  op,
std::unique_ptr< const IProj > &&  transferOp 
)

◆ analyzePattern()

MultiGridSolver & gstlrn::MultiGridSolver::analyzePattern ( const ALinearOp )
inline

◆ applyLevel()

void gstlrn::MultiGridSolver::applyLevel ( constvect  rhs,
vect  x,
size_t  lvl 
) const

◆ compute()

MultiGridSolver & gstlrn::MultiGridSolver::compute ( const ALinearOp )
inline

◆ display()

void gstlrn::MultiGridSolver::display ( ) const

◆ factorize()

MultiGridSolver & gstlrn::MultiGridSolver::factorize ( const ALinearOp )
inline

◆ getMaxEigenValues()

gstlrn::MultiGridSolver::getMaxEigenValues ( ) const
inline

◆ getNLevels()

size_t gstlrn::MultiGridSolver::getNLevels ( ) const
inline

◆ getOperator()

const ALinearOp & gstlrn::MultiGridSolver::getOperator ( size_t  lvl) const
inline

◆ getOperators()

const std::vector< std::unique_ptr< const ALinearOp > > & gstlrn::MultiGridSolver::getOperators ( ) const
inline

◆ operator=() [1/2]

MultiGridSolver & gstlrn::MultiGridSolver::operator= ( const MultiGridSolver other)
delete

◆ operator=() [2/2]

MultiGridSolver & gstlrn::MultiGridSolver::operator= ( MultiGridSolver &&  other)
default

◆ prepare()

void gstlrn::MultiGridSolver::prepare ( size_t  niterPower = 20)

◆ setCoarseSolver()

void gstlrn::MultiGridSolver::setCoarseSolver ( const MatrixSparse mat)

◆ solve()

template<typename Rhs >
Rhs gstlrn::MultiGridSolver::solve ( const Rhs &  b) const
inline

◆ vCycle()

gstlrn::MultiGridSolver::vCycle ( const 1 &  rhs,
const 1 &  u,
size_t  lvl 
) const

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