AlgebraicMultigrid 0.1
C++ algebraic multigrid.
Loading...
Searching...
No Matches
AMG::LinearInterpolator< EleType > Class Template Reference

Interface for linear interpolation. More...

#include <interpolator.hpp>

Inheritance diagram for AMG::LinearInterpolator< EleType >:
AMG::InterpolatorBase< EleType >

Public Member Functions

void make_operators (size_t n_h_dofs, size_t n_H_dofs, size_t level)
 Construct P and R matrices based on dofs and level information.
 
- Public Member Functions inherited from AMG::InterpolatorBase< EleType >
 InterpolatorBase (size_t n_levels)
 
 InterpolatorBase ()
 Construct a new Interpolator Base object.
 
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)
 

Private Attributes

const size_t n_elements_per_columns = 3
 

Detailed Description

template<class EleType>
class AMG::LinearInterpolator< EleType >

Interface for linear interpolation.

References:

[1] : Briggs2000. "Introduction to Algebraic Multigrid, 2ed.". Chapter 3.

Template Parameters
EleType

Member Function Documentation

◆ make_operators()

template<class EleType >
void AMG::LinearInterpolator< EleType >::make_operators ( size_t n_h_dofs,
size_t n_H_dofs,
size_t level )
inlinevirtual

Construct P and R matrices based on dofs and level information.

Parameters
n_h_dofsNumber of dofs in the finer level.
n_H_dofsNumber of dofs in the coarser level.
levelCurrent level.

Implements AMG::InterpolatorBase< EleType >.

Member Data Documentation

◆ n_elements_per_columns

template<class EleType >
const size_t AMG::LinearInterpolator< EleType >::n_elements_per_columns = 3
private

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