Discontinuous Galerkin Library
#include "dg/algorithm.h"
|
Functions | |
template<class real_type > | |
dg::IHMatrix_t< real_type > | dg::create::window_stencil (unsigned window_size, const RealGrid1d< real_type > &g, dg::bc bcx) |
A 1d centered window stencil. More... | |
template<class real_type > | |
dg::IHMatrix_t< real_type > | dg::create::limiter_stencil (const RealGrid1d< real_type > &g, dg::bc bound) |
A stencil for the dg Slope limiter. More... | |
template<class real_type > | |
dg::IHMatrix_t< real_type > | dg::create::window_stencil (std::array< int, 2 > window_size, const aRealTopology2d< real_type > &g, dg::bc bcx, dg::bc bcy) |
A 2d centered window stencil. More... | |
template<class real_type > | |
dg::IHMatrix_t< real_type > | dg::create::limiter_stencil (enum coo3d direction, const aRealTopology2d< real_type > &g, dg::bc bound) |
A stencil for the dg Slope limiter. More... | |
template<class real_type > | |
dg::IHMatrix_t< real_type > | dg::create::limiter_stencil (enum coo3d direction, const aRealTopology3d< real_type > &g, dg::bc bound) |
A stencil for the dg Slope limiter. More... | |
template<class real_type > | |
dg::IHMatrix_t< real_type > | dg::create::window_stencil (std::array< int, 2 > window_size, const aRealTopology3d< real_type > &g, dg::bc bcx, dg::bc bcy) |
A 2d centered window stencil. More... | |
template<class real_type > | |
dg::MIHMatrix_t< real_type > | dg::create::window_stencil (std::array< int, 2 > window_size, const aRealMPITopology2d< real_type > &g, dg::bc bcx, dg::bc bcy) |
A 2d centered window stencil. More... | |
template<class real_type > | |
dg::MIHMatrix_t< real_type > | dg::create::window_stencil (std::array< int, 2 > window_size, const aRealMPITopology3d< real_type > &g, dg::bc bcx, dg::bc bcy) |
A 2d centered window stencil. More... | |
template<class real_type > | |
dg::MIHMatrix_t< real_type > | dg::create::limiter_stencil (enum coo3d direction, const aRealMPITopology2d< real_type > &g, dg::bc bound) |
A stencil for the dg Slope limiter. More... | |
template<class real_type > | |
dg::MIHMatrix_t< real_type > | dg::create::limiter_stencil (enum coo3d direction, const aRealMPITopology3d< real_type > &g, dg::bc bound) |
A stencil for the dg Slope limiter. More... | |
dg::IHMatrix_t< real_type > dg::create::limiter_stencil | ( | const RealGrid1d< real_type > & | g, |
dg::bc | bound | ||
) |
A stencil for the dg Slope limiter.
This stencil is specifically made to implement a dg slope limiter
g | the grid, grid.n() must be greater than 0 |
bound | Determine what to do at the boundary. For Neumann conditions the boundary points are simply duplicated, For Dirichlet they are duplicated as well and the values are multiplied with -1 |
real_type | The value type of the matrix |
dg::MIHMatrix_t< real_type > dg::create::limiter_stencil | ( | enum coo3d | direction, |
const aRealMPITopology2d< real_type > & | g, | ||
dg::bc | bound | ||
) |
A stencil for the dg Slope limiter.
This stencil is specifically made to implement a dg slope limiter
g | the grid, grid.n() must be greater than 0 |
bound | Determine what to do at the boundary. For Neumann conditions the boundary points are simply duplicated, For Dirichlet they are duplicated as well and the values are multiplied with -1 |
real_type | The value type of the matrix |
direction | The limiter acts on only 1 direction at a time |
dg::MIHMatrix_t< real_type > dg::create::limiter_stencil | ( | enum coo3d | direction, |
const aRealMPITopology3d< real_type > & | g, | ||
dg::bc | bound | ||
) |
A stencil for the dg Slope limiter.
This stencil is specifically made to implement a dg slope limiter
g | the grid, grid.n() must be greater than 0 |
bound | Determine what to do at the boundary. For Neumann conditions the boundary points are simply duplicated, For Dirichlet they are duplicated as well and the values are multiplied with -1 |
real_type | The value type of the matrix |
direction | The limiter acts on only 1 direction at a time |
dg::IHMatrix_t< real_type > dg::create::limiter_stencil | ( | enum coo3d | direction, |
const aRealTopology2d< real_type > & | g, | ||
dg::bc | bound | ||
) |
A stencil for the dg Slope limiter.
This stencil is specifically made to implement a dg slope limiter
g | the grid, grid.n() must be greater than 0 |
bound | Determine what to do at the boundary. For Neumann conditions the boundary points are simply duplicated, For Dirichlet they are duplicated as well and the values are multiplied with -1 |
real_type | The value type of the matrix |
direction | The limiter acts on only 1 direction at a time |
dg::IHMatrix_t< real_type > dg::create::limiter_stencil | ( | enum coo3d | direction, |
const aRealTopology3d< real_type > & | g, | ||
dg::bc | bound | ||
) |
A stencil for the dg Slope limiter.
This stencil is specifically made to implement a dg slope limiter
g | the grid, grid.n() must be greater than 0 |
bound | Determine what to do at the boundary. For Neumann conditions the boundary points are simply duplicated, For Dirichlet they are duplicated as well and the values are multiplied with -1 |
real_type | The value type of the matrix |
direction | The limiter acts on only 1 direction at a time |
dg::MIHMatrix_t< real_type > dg::create::window_stencil | ( | std::array< int, 2 > | window_size, |
const aRealMPITopology2d< real_type > & | g, | ||
dg::bc | bcx, | ||
dg::bc | bcy | ||
) |
A 2d centered window stencil.
Create a CSR Matrix containing a centered fixed sized window on each row as the tensor product of two 1d stencils.
window_size | The number of points involved in the window in each dimension. First entry is x-dimension, 2nd is y-dimension. If even, the number of points left is 1 higher than right. |
g | the grid |
bcx | Determine what to do at the x-boundary. For Neumann conditions the boundary points are simply duplicated, For Dirichlet they are duplicated as well and the values are set to -1 instead of 1. |
bcy | Determine what to do at the y-boundary. For Neumann conditions the boundary points are simply duplicated, For Dirichlet they are duplicated as well and the values are set to -1 instead of 1. |
window_size[0]*window_size[1]
entries per row, each with value 1 real_type | The value type of the matrix |
dg::blas2::stencil
dg::MIHMatrix_t< real_type > dg::create::window_stencil | ( | std::array< int, 2 > | window_size, |
const aRealMPITopology3d< real_type > & | g, | ||
dg::bc | bcx, | ||
dg::bc | bcy | ||
) |
A 2d centered window stencil.
Create a CSR Matrix containing a centered fixed sized window on each row as the tensor product of two 1d stencils and the identity in the third dimension
window_size | The number of points involved in the window in each dimension. First entry is x-dimension, 2nd is y-dimension. If even, the number of points left is 1 higher than right. |
g | the grid |
bcx | Determine what to do at the x-boundary. For Neumann conditions the boundary points are simply duplicated, For Dirichlet they are duplicated as well and the values are set to -1 instead of 1. |
bcy | Determine what to do at the y-boundary. For Neumann conditions the boundary points are simply duplicated, For Dirichlet they are duplicated as well and the values are set to -1 instead of 1. |
window_size[0]*window_size[1]
entries per row, each with value 1 real_type | The value type of the matrix |
dg::blas2::stencil
dg::IHMatrix_t< real_type > dg::create::window_stencil | ( | std::array< int, 2 > | window_size, |
const aRealTopology2d< real_type > & | g, | ||
dg::bc | bcx, | ||
dg::bc | bcy | ||
) |
A 2d centered window stencil.
Create a CSR Matrix containing a centered fixed sized window on each row as the tensor product of two 1d stencils.
window_size | The number of points involved in the window in each dimension. First entry is x-dimension, 2nd is y-dimension. If even, the number of points left is 1 higher than right. |
g | the grid |
bcx | Determine what to do at the x-boundary. For Neumann conditions the boundary points are simply duplicated, For Dirichlet they are duplicated as well and the values are set to -1 instead of 1. |
bcy | Determine what to do at the y-boundary. For Neumann conditions the boundary points are simply duplicated, For Dirichlet they are duplicated as well and the values are set to -1 instead of 1. |
window_size[0]*window_size[1]
entries per row, each with value 1 real_type | The value type of the matrix |
dg::blas2::stencil
dg::IHMatrix_t< real_type > dg::create::window_stencil | ( | std::array< int, 2 > | window_size, |
const aRealTopology3d< real_type > & | g, | ||
dg::bc | bcx, | ||
dg::bc | bcy | ||
) |
A 2d centered window stencil.
Create a CSR Matrix containing a centered fixed sized window on each row as the tensor product of two 1d stencils and the identity in the third dimension
window_size | The number of points involved in the window in each dimension. First entry is x-dimension, 2nd is y-dimension. If even, the number of points left is 1 higher than right. |
g | the grid |
bcx | Determine what to do at the x-boundary. For Neumann conditions the boundary points are simply duplicated, For Dirichlet they are duplicated as well and the values are set to -1 instead of 1. |
bcy | Determine what to do at the y-boundary. For Neumann conditions the boundary points are simply duplicated, For Dirichlet they are duplicated as well and the values are set to -1 instead of 1. |
window_size[0]*window_size[1]
entries per row, each with value 1 real_type | The value type of the matrix |
dg::blas2::stencil
dg::IHMatrix_t< real_type > dg::create::window_stencil | ( | unsigned | window_size, |
const RealGrid1d< real_type > & | g, | ||
dg::bc | bcx | ||
) |
A 1d centered window stencil.
Create a CSR Matrix containing a centered fixed sized window on each row.
window_size | The number of points involved in the window. If even, the number of points left is 1 higher than right. |
g | the grid |
bcx | Determine what to do at the boundary. For Neumann conditions the boundary points are simply duplicated, For Dirichlet they are duplicated as well and the values are set to -1 instead of 1. |
window_size
entries per row, each with value 1 real_type | The value type of the matrix |
dg::blas2::stencil