|
| | Integrator_p2_4D_2ang (QuadratureProvider &quadrature_provider, const JSONValue &json) |
| |
| | Integrator_p2_4D_2ang (QuadratureProvider &quadrature_provider, const std::array< size_t, 3 > grid_size, ctype x_extent=2.) |
| |
| void | set_x_extent (ctype x_extent) |
| |
| void | set_k (ctype k) |
| |
| | QuadratureIntegrator (QuadratureProvider &quadrature_provider, const std::array< size_t, dim > &_grid_size, const std::array< ctype, dim > &grid_min, const std::array< ctype, dim > &grid_max, const std::array< QuadratureType, dim > &quadrature_type) |
| |
| void | set_grid_extents (const std::array< ctype, dim > &grid_min, const std::array< ctype, dim > &grid_max) |
| |
| void | get (NT &dest, const T &...t) const |
| |
| void | get (OT &dest, const T &...t) const |
| |
| void | get (ExecutionSpace &space, OT &dest, const T &...t) const |
| |
| void | map (ExecutionSpace &space, const view_type integral_view, const Coordinates &coordinates, const Args &...args) |
| |
| auto | map (NT *dest, const Coordinates &coordinates, const Args &...args) |
| |
| auto | map_dist (NT *dest, const Coordinates &coordinates, const Args &...args) |
| |
| void | set_node_distribution (const NodeDistribution &distribution) |
| |
| const NodeDistribution & | get_node_distribution () const |
| |
| void | set_load_balancer (IntegrationLoadBalancer &load_balancer) |
| |
|
| device::array< size_t, dim > | grid_size |
| |
| ExecutionSpace | space |
| |
| QuadratureProvider & | quadrature_provider |
| |
| device::array< device::array< ctype, dim >, 2 > | grid_extents |
| |
| device::array< ctype, dim > | grid_start |
| |
| device::array< ctype, dim > | grid_scale |
| |
| device::array< Kokkos::View< const ctype *, typename ExecutionSpace::memory_space >, dim > | nodes |
| |
| device::array< Kokkos::View< const ctype *, typename ExecutionSpace::memory_space >, dim > | weights |
| |
| KokkosNDView< 1+dim, NT, ExecutionSpace > | m_cache |
| |
| device::array< size_t, 1+dim > | m_cache_extents |
| |
| Kokkos::View< NT *, ExecutionSpace > | m_dest_device |
| |
| size_t | m_dest_device_size |
| |
| Kokkos::View< NT, typename ExecutionSpace::memory_space > | m_result_view |
| |
| Kokkos::View< NT, typenameExecutionSpace::memory_space >::host_mirror_type | m_result_host |
| |
| bool | m_result_views_initialized |
| |
| NodeDistribution | node_distribution |
| |
template<int dim, typename NT, typename KERNEL, typename ExecutionSpace>
requires (dim == 4)
class DiFfRG::Integrator_p2_4D_2ang< dim, NT, KERNEL, ExecutionSpace >
Integrator_p2_4D_2ang integrates a kernel \(K(p,\cos_1,\cos_2,\ldots)\) depending on the radial momentum \(p\) and two angles on \([0,\pi]\) as $$ \frac{2\pi}{(2\pi)^{d}} \,\int_0^\pi d\cos_1\,\int_0^\pi d\cos_2\,\int_0^\infty dp^2 p^{d-2} K(p,\cos_1,\cos_2,\ldots) $$ in \(d=4\) dimensions.
- Template Parameters
-
| NT | numerical type of the result |
| KERNEL | kernel to be integrated, which must provide the static methods kernel and constant |
| ExecutionSpace | can be any execution space, e.g. GPU_exec, TBB_exec, or Threads_exec. |