Block-Structured AMR Software Framework
Loading...
Searching...
No Matches
amrex::JacobiSmoother< T > Class Template Reference

Weighted-Jacobi smoother for AlgVector/SpMatrix linear systems. More...

#include <AMReX_Smoother_MV.H>

Public Member Functions

 JacobiSmoother (SpMatrix< T > const *a_A)
 Construct a weighted-Jacobi smoother that operates on a_A.
 
int setNumIters (int a_niters)
 Update how many Jacobi sweeps to perform per apply.
 
void operator() (AlgVector< T > &xvec, AlgVector< T > const &bvec, bool with_initial_guess=false)
 Apply the smoother to solve approximately for xvec.
 

Detailed Description

template<typename T>
class amrex::JacobiSmoother< T >

Weighted-Jacobi smoother for AlgVector/SpMatrix linear systems.

Encapsulates a configurable number of damped Jacobi sweeps that operate on the diagonal extracted from a supplied sparse matrix.

Constructor & Destructor Documentation

◆ JacobiSmoother()

template<typename T >
amrex::JacobiSmoother< T >::JacobiSmoother ( SpMatrix< T > const *  a_A)
inlineexplicit

Construct a weighted-Jacobi smoother that operates on a_A.

Parameters
a_ASparse matrix supplying diagonal entries and SpMV.

Member Function Documentation

◆ operator()()

template<typename T >
void amrex::JacobiSmoother< T >::operator() ( AlgVector< T > &  xvec,
AlgVector< T > const &  bvec,
bool  with_initial_guess = false 
)
inline

Apply the smoother to solve approximately for xvec.

Parameters
xvecSolution vector updated in place.
bvecRHS vector.
with_initial_guessTrue if xvec already holds an initial guess.

◆ setNumIters()

template<typename T >
int amrex::JacobiSmoother< T >::setNumIters ( int  a_niters)
inline

Update how many Jacobi sweeps to perform per apply.

Parameters
a_nitersDesired number of smoothing iterations.
Returns
Previous iteration count.

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