Discontinuous Galerkin Library
#include "dg/algorithm.h"
fast_interpolation.h File Reference

A matrix type for fast interpolations/projections. More...

#include <thrust/host_vector.h>
#include "dg/backend/memory.h"
#include "dg/backend/typedefs.h"
#include "dg/enums.h"
#include "dg/blas.h"
#include "grid.h"
#include "interpolation.h"
#include "projection.h"
#include "mpi_grid.h"

Go to the source code of this file.

Classes

struct  dg::MultiMatrix< MatrixType, ContainerType >
 Struct that applies given matrices one after the other. More...
 

Namespaces

namespace  dg
 This is the namespace for all functions and classes defined and used by the discontinuous Galerkin library.
 
namespace  dg::create
 Contains functions used for matrix creation.
 

Functions

template<class real_type >
dg::HMatrix_t< real_type > dg::create::fast_interpolation (const RealGrid1d< real_type > &t, unsigned multiplyn, unsigned multiplyNx)
 Create interpolation matrix for integer multipliers. More...
 
template<class real_type >
dg::HMatrix_t< real_type > dg::create::fast_projection (const RealGrid1d< real_type > &t, unsigned dividen, unsigned divideNx)
 Create projecton matrix for integer dividers. More...
 
template<class real_type >
dg::HMatrix_t< real_type > dg::create::fast_transform (dg::Operator< real_type > opx, const RealGrid1d< real_type > &t)
 Create a block-diagonal matrix. More...
 
template<class real_type >
dg::HMatrix_t< real_type > dg::create::fast_interpolation (enum coo3d direction, const aRealTopology2d< real_type > &t, unsigned multiplyn, unsigned multiplyNx)
 Create interpolation matrix for integer multipliers. More...
 
template<class real_type >
dg::HMatrix_t< real_type > dg::create::fast_projection (enum coo3d direction, const aRealTopology2d< real_type > &t, unsigned dividen, unsigned divideNx)
 Create projecton matrix for integer dividers. More...
 
template<class real_type >
dg::HMatrix_t< real_type > dg::create::fast_transform (enum coo3d direction, dg::Operator< real_type > opx, const aRealTopology2d< real_type > &t)
 Create a block-diagonal matrix. More...
 
template<class real_type >
dg::HMatrix_t< real_type > dg::create::fast_interpolation (enum coo3d direction, const aRealTopology3d< real_type > &t, unsigned multiplyn, unsigned multiplyNx)
 Create interpolation matrix for integer multipliers. More...
 
template<class real_type >
dg::HMatrix_t< real_type > dg::create::fast_projection (enum coo3d direction, const aRealTopology3d< real_type > &t, unsigned dividen, unsigned divideNx)
 Create projecton matrix for integer dividers. More...
 
template<class real_type >
dg::HMatrix_t< real_type > dg::create::fast_transform (enum coo3d direction, dg::Operator< real_type > opx, const aRealTopology3d< real_type > &t)
 Create a block-diagonal matrix. More...
 
template<class real_type >
dg::MHMatrix_t< real_type > dg::create::fast_interpolation (enum coo3d direction, const aRealMPITopology2d< real_type > &t, unsigned multiplyn, unsigned multiplyNx)
 Create interpolation matrix for integer multipliers. More...
 
template<class real_type >
dg::MHMatrix_t< real_type > dg::create::fast_projection (enum coo3d direction, const aRealMPITopology2d< real_type > &t, unsigned dividen, unsigned divideNx)
 Create projecton matrix for integer dividers. More...
 
template<class real_type >
MHMatrix_t< real_type > dg::create::fast_transform (enum coo3d direction, dg::Operator< real_type > opx, const aRealMPITopology2d< real_type > &t)
 Create a block-diagonal matrix. More...
 
template<class real_type >
dg::MHMatrix_t< real_type > dg::create::fast_interpolation (enum coo3d direction, const aRealMPITopology3d< real_type > &t, unsigned multiplyn, unsigned multiplyNx)
 Create interpolation matrix for integer multipliers. More...
 
template<class real_type >
dg::MHMatrix_t< real_type > dg::create::fast_projection (enum coo3d direction, const aRealMPITopology3d< real_type > &t, unsigned dividen, unsigned divideNx)
 Create projecton matrix for integer dividers. More...
 
template<class real_type >
MHMatrix_t< real_type > dg::create::fast_transform (enum coo3d direction, dg::Operator< real_type > opx, const aRealMPITopology3d< real_type > &t)
 Create a block-diagonal matrix. More...
 
template<class Topology >
auto dg::create::fast_interpolation (const Topology &t, unsigned multiplyn, unsigned multiplyNx, unsigned multiplyNy)
 Create interpolation matrix for integer multipliers. More...
 
template<class Topology >
auto dg::create::fast_projection (const Topology &t, unsigned dividen, unsigned divideNx, unsigned divideNy)
 Create projecton matrix for integer dividers. More...
 
template<class Topology >
auto dg::create::fast_transform (dg::Operator< typename Topology::value_type > opx, dg::Operator< typename Topology::value_type > opy, const Topology &t)
 Create a block-diagonal matrix. More...
 
template<class real_type >
thrust::host_vector< real_type > dg::forward_transform (const thrust::host_vector< real_type > &in, const aRealTopology2d< real_type > &g)
 Transform a vector from dg::xspace (nodal values) to dg::lspace (modal values) More...
 

Detailed Description

A matrix type for fast interpolations/projections.