Base class for interpolators that implement prolongation and restriction as linear operators constructed by the make_operators
virtual function.
More...
#include <interpolator.hpp>
|
| InterpolatorBase (size_t n_levels) |
|
| InterpolatorBase () |
| Construct a new Interpolator Base object.
|
|
virtual void | make_operators (size_t n_h_dofs, size_t n_H_dofs, size_t level)=0 |
| Construct P and R matrices based on dofs and level information.
|
|
Eigen::Matrix< EleType, -1, 1 > | prolongation (const Eigen::Matrix< EleType, -1, 1 > &v, size_t level) |
| Prolongation operator on v and updating result inplace.
|
|
Eigen::Matrix< EleType, -1, 1 > | restriction (const Eigen::Matrix< EleType, -1, 1 > &v, size_t level) |
| Restriction operator on v .
|
|
const Eigen::SparseMatrix< EleType > & | get_P (size_t level) const |
|
const Eigen::SparseMatrix< EleType > & | get_R (size_t level) const |
|
void | set_level_to_P (size_t level, Eigen::SparseMatrix< EleType > &P) |
|
void | set_level_to_R (size_t level, Eigen::SparseMatrix< EleType > &R) |
|
|
std::vector< Eigen::SparseMatrix< EleType > > | level_to_P |
|
std::vector< Eigen::SparseMatrix< EleType > > | level_to_R |
|
template<class EleType>
class AMG::InterpolatorBase< EleType >
Base class for interpolators that implement prolongation and restriction as linear operators constructed by the make_operators
virtual function.
- Template Parameters
-
◆ InterpolatorBase() [1/2]
◆ InterpolatorBase() [2/2]
Construct a new Interpolator Base object.
No a-priori knowledge about number of levels in multigrid.
◆ get_P()
◆ get_R()
◆ make_operators()
template<class EleType >
virtual void AMG::InterpolatorBase< EleType >::make_operators |
( |
size_t | n_h_dofs, |
|
|
size_t | n_H_dofs, |
|
|
size_t | level ) |
|
pure virtual |
Construct P and R matrices based on dofs and level information.
- Parameters
-
n_h_dofs | Number of dofs in the finer level. |
n_H_dofs | Number of dofs in the coarser level. |
level | Current level. |
Implemented in AMG::LinearInterpolator< EleType >.
◆ prolongation()
template<class EleType >
Eigen::Matrix< EleType, -1, 1 > AMG::InterpolatorBase< EleType >::prolongation |
( |
const Eigen::Matrix< EleType, -1, 1 > & | v, |
|
|
size_t | level ) |
|
inline |
Prolongation operator on v
and updating result
inplace.
- Parameters
-
◆ restriction()
template<class EleType >
Eigen::Matrix< EleType, -1, 1 > AMG::InterpolatorBase< EleType >::restriction |
( |
const Eigen::Matrix< EleType, -1, 1 > & | v, |
|
|
size_t | level ) |
|
inline |
Restriction operator on v
.
- Parameters
-
◆ set_level_to_P()
template<class EleType >
void AMG::InterpolatorBase< EleType >::set_level_to_P |
( |
size_t | level, |
|
|
Eigen::SparseMatrix< EleType > & | P ) |
|
inline |
◆ set_level_to_R()
template<class EleType >
void AMG::InterpolatorBase< EleType >::set_level_to_R |
( |
size_t | level, |
|
|
Eigen::SparseMatrix< EleType > & | R ) |
|
inline |
◆ level_to_P
◆ level_to_R
The documentation for this class was generated from the following file: