|
| NestedGrids () |
| Allocate nothing, Call construct method before usage.
|
|
template<class ... ContainerParams> |
| NestedGrids (const Geometry &grid, const unsigned stages, ContainerParams &&...ps) |
| Construct the grids and the interpolation/projection operators.
|
|
template<class ... Params> |
void | construct (Params &&...ps) |
| Perfect forward parameters to one of the constructors.
|
|
template<class ContainerType0 > |
void | project (const ContainerType0 &src, std::vector< ContainerType0 > &out) const |
| Project vector to all involved grids.
|
|
template<class ContainerType0 > |
std::vector< ContainerType0 > | project (const ContainerType0 &src) const |
| Project vector to all involved grids (allocate memory version)
|
|
const Container & | copyable () const |
| Return an object of same size as the object used for construction on the finest grid.
|
|
unsigned | stages () const |
|
unsigned | num_stages () const |
|
const Geometry & | grid (unsigned stage) const |
| return the grid at given stage
|
|
const MultiMatrix< Matrix, Container > & | interpolation (unsigned stage) const |
| return the interpolation matrix at given stage
|
|
const MultiMatrix< Matrix, Container > & | projection (unsigned stage) const |
| return the projection matrix at given stage
|
|
Container & | x (unsigned stage) |
|
const Container & | x (unsigned stage) const |
|
Container & | r (unsigned stage) |
|
const Container & | r (unsigned stage) const |
|
Container & | b (unsigned stage) |
|
const Container & | b (unsigned stage) const |
|
Container & | w (unsigned stage) |
|
const Container & | w (unsigned stage) const |
|
template<class Geometry, class
Matrix, class
Container>
struct dg::NestedGrids< Geometry, Matrix, Container >
Hold nested grids and provide dg fast interpolation and projection matrices.
- Template Parameters
-
Geometry | A type that is or derives from one of the abstract geometry base classes ( aGeometry2d , aGeometry3d , aMPIGeometry2d , ...). Geometry determines which Matrix and Container types can be used: |
Matrix | A class for which the dg::blas2::symv functions are callable in connection with the Container class and to which the return type of dg::create::dx() can be converted using dg::blas2::transfer . The Matrix type can be one of:
|
Container | A data container class for which the blas1 functionality is overloaded and to which the return type of blas1::subroutine() can be converted using dg::assign . We assume that Container is copyable/assignable and has a swap member function. In connection with Geometry this is one of
|