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: