KASKADE 7 development version
Classes | Typedefs | Functions
Kaskade::MultiGridSolver_Detail Namespace Reference

Classes

class  MultiLevelStack
 
class  ParentalNodes
 Finds the parent nodes and their interpolation weight for each node in the grid. usage eg.: ParentalNodes<Grid> parentalNodes( gridManager.grid() );. More...
 

Typedefs

template<class Scalar , int n, class Allocator >
using BlockVector = Dune::BlockVector< Dune::FieldVector< Scalar, n >, Allocator >
 

Functions

template<class Scalar , int n, bool resetSolution = false>
void axpy (Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > const &P, Dune::BlockVector< Dune::FieldVector< Scalar, n > > const &x, Dune::BlockVector< Dune::FieldVector< Scalar, n > > &y, Scalar alpha=1.0)
 Compute \( y = \alpha Px+y \). If resetSolution=true computes \( y = \alpha Px \). More...
 
template<class Scalar , int n, bool resetSolution = false>
void atxpy (Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > const &P, Dune::BlockVector< Dune::FieldVector< Scalar, n > > const &x, Dune::BlockVector< Dune::FieldVector< Scalar, n > > &y, Scalar alpha=1.0)
 Compute \( y = \alpha P^T x+y \). If resetSolution=true computes \( y = \alpha P^T x \). More...
 
template<class Scalar , int n>
void applyProlongation (Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > const &P, Dune::BlockVector< Dune::FieldVector< Scalar, n > > const &x, Dune::BlockVector< Dune::FieldVector< Scalar, n > > &y)
 
template<class Scalar , int n>
void applyTransposedProlongation (Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > const &P, Dune::BlockVector< Dune::FieldVector< Scalar, n > > const &x, Dune::BlockVector< Dune::FieldVector< Scalar, n > > &y)
 
template<class Grid , class Scalar = double>
std::vector< Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > > computeProlongations (const Grid &grd)
 Compute prolongation matrices between consecutive grid levels. More...
 

Typedef Documentation

◆ BlockVector

template<class Scalar , int n, class Allocator >
using Kaskade::MultiGridSolver_Detail::BlockVector = typedef Dune::BlockVector<Dune::FieldVector<Scalar,n>,Allocator>

Definition at line 42 of file multiGridSolver.hh.

Function Documentation

◆ applyProlongation()

template<class Scalar , int n>
void Kaskade::MultiGridSolver_Detail::applyProlongation ( Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > const &  P,
Dune::BlockVector< Dune::FieldVector< Scalar, n > > const &  x,
Dune::BlockVector< Dune::FieldVector< Scalar, n > > &  y 
)

Definition at line 83 of file multiGridSolver.hh.

◆ applyTransposedProlongation()

template<class Scalar , int n>
void Kaskade::MultiGridSolver_Detail::applyTransposedProlongation ( Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > const &  P,
Dune::BlockVector< Dune::FieldVector< Scalar, n > > const &  x,
Dune::BlockVector< Dune::FieldVector< Scalar, n > > &  y 
)

Definition at line 91 of file multiGridSolver.hh.

◆ atxpy()

template<class Scalar , int n, bool resetSolution = false>
void Kaskade::MultiGridSolver_Detail::atxpy ( Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > const &  P,
Dune::BlockVector< Dune::FieldVector< Scalar, n > > const &  x,
Dune::BlockVector< Dune::FieldVector< Scalar, n > > &  y,
Scalar  alpha = 1.0 
)

Compute \( y = \alpha P^T x+y \). If resetSolution=true computes \( y = \alpha P^T x \).

Definition at line 65 of file multiGridSolver.hh.

◆ axpy()

template<class Scalar , int n, bool resetSolution = false>
void Kaskade::MultiGridSolver_Detail::axpy ( Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > const &  P,
Dune::BlockVector< Dune::FieldVector< Scalar, n > > const &  x,
Dune::BlockVector< Dune::FieldVector< Scalar, n > > &  y,
Scalar  alpha = 1.0 
)

Compute \( y = \alpha Px+y \). If resetSolution=true computes \( y = \alpha Px \).

Definition at line 46 of file multiGridSolver.hh.

Referenced by Kaskade::NumaVector< Entry >::axpy(), Kaskade::CoarseningDetail::ProjectCoefficients< Projectors >::operator()(), and Kaskade::Sdc< Vector >::setInitialValue().

◆ computeProlongations()

template<class Grid , class Scalar = double>
std::vector< Dune::BCRSMatrix< Dune::FieldMatrix< Scalar, 1, 1 > > > Kaskade::MultiGridSolver_Detail::computeProlongations ( const Grid &  grd)

Compute prolongation matrices between consecutive grid levels.

Definition at line 240 of file multiGridSolver.hh.