Discontinuous Galerkin Library
#include "dg/algorithm.h"
multigrid.h File Reference
#include "backend/exceptions.h"
#include "backend/memory.h"
#include "topology/fast_interpolation.h"
#include "topology/interpolation.h"
#include "blas.h"
#include "pcg.h"
#include "chebyshev.h"
#include "eve.h"
#include "backend/timer.h"
#include "topology/mpi_projection.h"

Go to the source code of this file.

Classes

struct  dg::NestedGrids< Geometry, Matrix, Container >
 Hold nested grids and provide dg fast interpolation and projection matrices. More...
 
struct  dg::MultigridCG2d< Geometry, Matrix, Container >
 Solve. More...
 

Namespaces

namespace  dg
 This is the namespace for all functions and classes defined and used by the discontinuous Galerkin library.
 

Functions

template<class MatrixType0 , class ContainerType0 , class ContainerType1 , class MatrixType1 , class NestedGrids >
void dg::nested_iterations (std::vector< MatrixType0 > &ops, ContainerType0 &x, const ContainerType1 &b, std::vector< MatrixType1 > &inverse_ops, NestedGrids &nested_grids)
 Full approximation nested iterations. More...
 
template<class NestedGrids , class MatrixType0 , class MatrixType1 , class MatrixType2 >
void dg::multigrid_cycle (std::vector< MatrixType0 > &ops, std::vector< MatrixType1 > &inverse_ops_down, std::vector< MatrixType2 > &inverse_ops_up, NestedGrids &nested_grids, unsigned gamma, unsigned p)
 EXPERIMENTAL Full approximation multigrid cycle. More...
 
template<class MatrixType0 , class MatrixType1 , class MatrixType2 , class NestedGrids , class ContainerType0 , class ContainerType1 >
void dg::full_multigrid (std::vector< MatrixType0 > &ops, ContainerType0 &x, const ContainerType1 &b, std::vector< MatrixType1 > &inverse_ops_down, std::vector< MatrixType2 > &inverse_ops_up, NestedGrids &nested_grids, unsigned gamma, unsigned mu)
 EXPERIMENTAL One Full multigrid cycle. More...
 
template<class NestedGrids , class MatrixType0 , class MatrixType1 , class MatrixType2 , class ContainerType0 , class ContainerType1 , class ContainerType2 >
void dg::fmg_solve (std::vector< MatrixType0 > &ops, ContainerType0 &x, const ContainerType1 &b, std::vector< MatrixType1 > &inverse_ops_down, std::vector< MatrixType2 > &inverse_ops_up, NestedGrids &nested_grids, const ContainerType2 &weights, double eps, unsigned gamma)
 EXPERIMENTAL Full multigrid cycles. More...