Discontinuous Galerkin Library
#include "dg/algorithm.h"
|
Typedefs | |
template<class MPIContainer > | |
using | dg::get_mpi_view_type |
Functions | |
template<class real_type , class MPITopology > | |
MPI_Vector< thrust::host_vector< real_type > > | dg::global2local (const thrust::host_vector< real_type > &global, const MPITopology &g) |
Take the relevant local part of a global vector. | |
template<class real_type , size_t Nd> | |
dg::IHMatrix_t< real_type > | dg::create::backproject (const aRealTopology< real_type, Nd > &g) |
Create a matrix \( PI\) that projects values to an equidistant grid. | |
template<class real_type , size_t Nd> | |
dg::IHMatrix_t< real_type > | dg::create::inv_backproject (const aRealTopology< real_type, Nd > &g) |
Create a matrix \( (PI)^{-1}\) that transforms values from an equidistant grid back to a dg grid. | |
template<class SharedContainer , class real_type > | |
void | dg::split (SharedContainer &in, std::vector< View< SharedContainer > > &out, const aRealTopology3d< real_type > &grid) |
Split a vector into planes along the last dimension (fast version) | |
template<class SharedContainer , class real_type > | |
std::vector< View< SharedContainer > > | dg::split (SharedContainer &in, const aRealTopology3d< real_type > &grid) |
Split a vector into planes along the last dimension (construct version) | |
template<class Container , class host_vector , class Topology > | |
void | dg::assign3dfrom2d (const host_vector &in2d, Container &out, const Topology &grid) |
Construct a 3d vector given a 2d host vector. | |
template<class MPIContainer , class real_type > | |
void | dg::split (MPIContainer &in, std::vector< get_mpi_view_type< MPIContainer > > &out, const aRealMPITopology3d< real_type > &grid) |
MPI Version of split (fast version) | |
template<class MPIContainer , class real_type > | |
std::vector< get_mpi_view_type< MPIContainer > > | dg::split (MPIContainer &in, const aRealMPITopology3d< real_type > &grid) |
MPI Version of split (construct version) | |
template<class real_type > | |
dg::IHMatrix_t< real_type > | dg::create::backscatter (const RealGrid1d< real_type > &g) |
Create a matrix \( B_{eq} F\) that interpolates values to an equidistant grid ready for visualisation. | |
template<class real_type > | |
dg::IHMatrix_t< real_type > | dg::create::backscatter (const aRealTopology2d< real_type > &g) |
Create a matrix \( B_{eq} F\) that interpolates values to an equidistant grid ready for visualisation. | |
template<class real_type > | |
dg::IHMatrix_t< real_type > | dg::create::backscatter (const aRealTopology3d< real_type > &g) |
Create a matrix \( B_{eq} F\) that interpolates values to an equidistant grid ready for visualisation. | |
template<class real_type > | |
dg::IHMatrix_t< real_type > | dg::create::inv_backscatter (const RealGrid1d< real_type > &g) |
Create a matrix \( (B_{eq} F)^{-1}\) that transforms values from an equidistant grid back to a dg grid. | |
template<class real_type > | |
dg::IHMatrix_t< real_type > | dg::create::inv_backscatter (const aRealTopology2d< real_type > &g) |
Create a matrix \( (B_{eq} F)^{-1}\) that transforms values from an equidistant grid back to a dg grid. | |
template<class real_type > | |
dg::IHMatrix_t< real_type > | dg::create::inv_backscatter (const aRealTopology3d< real_type > &g) |
Create a matrix \( (B_{eq} F)^{-1}\) that transforms values from an equidistant grid back to a dg grid. | |
using dg::get_mpi_view_type |
void dg::assign3dfrom2d | ( | const host_vector & | in2d, |
Container & | out, | ||
const Topology & | grid ) |
Construct a 3d vector given a 2d host vector.
A shortcut for
in2d | the 2d input |
out | output (memory will be allocated) |
grid | provide dimensions in 3rd and first two dimensions |
dg::IHMatrix_t< real_type > dg::create::backproject | ( | const aRealTopology< real_type, Nd > & | g | ) |
Create a matrix \( PI\) that projects values to an equidistant grid.
Same as dg::create::transformation( g_equidist, g)
g | The grid on which to operate |
dg::IHMatrix_t< real_type > dg::create::backscatter | ( | const aRealTopology2d< real_type > & | g | ) |
Create a matrix \( B_{eq} F\) that interpolates values to an equidistant grid ready for visualisation.
Useful if you want to visualize a dg-formatted vector.
g | The grid on which to operate |
dg::IHMatrix_t< real_type > dg::create::backscatter | ( | const aRealTopology3d< real_type > & | g | ) |
Create a matrix \( B_{eq} F\) that interpolates values to an equidistant grid ready for visualisation.
Useful if you want to visualize a dg-formatted vector.
g | The grid on which to operate |
dg::IHMatrix_t< real_type > dg::create::backscatter | ( | const RealGrid1d< real_type > & | g | ) |
Create a matrix \( B_{eq} F\) that interpolates values to an equidistant grid ready for visualisation.
Useful if you want to visualize a dg-formatted vector.
g | The grid on which to operate |
MPI_Vector< thrust::host_vector< real_type > > dg::global2local | ( | const thrust::host_vector< real_type > & | global, |
const MPITopology & | g ) |
Take the relevant local part of a global vector.
global | a vector the size of the global grid |
g | the assumed topology |
dg::IHMatrix_t< real_type > dg::create::inv_backproject | ( | const aRealTopology< real_type, Nd > & | g | ) |
Create a matrix \( (PI)^{-1}\) that transforms values from an equidistant grid back to a dg grid.
Same as dg::create::transformation( g, g_equidist)
g | The grid on which to operate |
dg::IHMatrix_t< real_type > dg::create::inv_backscatter | ( | const aRealTopology2d< real_type > & | g | ) |
Create a matrix \( (B_{eq} F)^{-1}\) that transforms values from an equidistant grid back to a dg grid.
The inverse of dg::create::backscatter
g | The grid on which to operate |
dg::IHMatrix_t< real_type > dg::create::inv_backscatter | ( | const aRealTopology3d< real_type > & | g | ) |
Create a matrix \( (B_{eq} F)^{-1}\) that transforms values from an equidistant grid back to a dg grid.
The inverse of dg::create::backscatter
g | The grid on which to operate |
dg::IHMatrix_t< real_type > dg::create::inv_backscatter | ( | const RealGrid1d< real_type > & | g | ) |
Create a matrix \( (B_{eq} F)^{-1}\) that transforms values from an equidistant grid back to a dg grid.
The inverse of dg::create::backscatter
g | The grid on which to operate |
std::vector< get_mpi_view_type< MPIContainer > > dg::split | ( | MPIContainer & | in, |
const aRealMPITopology3d< real_type > & | grid ) |
MPI Version of split (construct version)
may take longer due to the many calls to MPI group creation functions
in | contiguous 3d vector (must be of size grid.size() ) |
grid | provide dimensions in 3rd and first two dimensions |
out
contains grid.nz()*grid.Nz()
2d vector views of 2d size on output MPIContainer | An MPI_Vector of a SharedContainer |
void dg::split | ( | MPIContainer & | in, |
std::vector< get_mpi_view_type< MPIContainer > > & | out, | ||
const aRealMPITopology3d< real_type > & | grid ) |
MPI Version of split (fast version)
out
must hold a 2d Cartesian MPI_Communicator congruent (same process group) or ident (same process group, same context) with the communicator in grid
out
in | contiguous 3d vector (must be of size grid.size() ) |
out | contains grid.nz()*grid.Nz() 2d vector views of 2d size on output |
grid | provide dimensions in 3rd and first two dimensions |
MPIContainer | An MPI_Vector of a SharedContainer |
std::vector< View< SharedContainer > > dg::split | ( | SharedContainer & | in, |
const aRealTopology3d< real_type > & | grid ) |
Split a vector into planes along the last dimension (construct version)
in | contiguous 3d vector (must be of size grid.size() ) |
grid | provide dimensions in 3rd and first two dimensions |
out
contains grid.nz()*grid.Nz()
2d vector views of 2d size on output SharedContainer | TensorTraits exists for this class and the tensor_category derives from SharedVectorTag |
void dg::split | ( | SharedContainer & | in, |
std::vector< View< SharedContainer > > & | out, | ||
const aRealTopology3d< real_type > & | grid ) |
Split a vector into planes along the last dimension (fast version)
in | contiguous 3d vector (must be of size grid.size() ) |
out | contains grid.nz()*grid.Nz() 2d vector views of 2d size on output |
grid | provide dimensions in 3rd and first two dimensions |
SharedContainer | TensorTraits exists for this class and the tensor_category derives from SharedVectorTag |