|
| | 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
|