|
| | Integrator_p2_1ang (QuadratureProvider &quadrature_provider, const ConfigTree &config) |
| |
| | Integrator_p2_1ang (QuadratureProvider &quadrature_provider, const std::array< size_t, 2 > 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) |
| |
| size_t | quadrature_volume () const |
| | Points evaluated per external grid point. Half of the scheduler's cost score.
|
| |
| auto | map_dist (NT *dest, const Coordinates &coordinates, const Args &...args) |
| |
| | AbstractIntegrator () |
| |
| KOKKOS_FORCEINLINE_FUNCTION size_t | integrator_id () const |
| | Stable, rank-independent identity of this integrator.
|
| |
|
| 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< ctype *, typename ExecutionSpace::memory_space > | m_positions |
| |
| std::string | m_positions_key |
| |
| Kokkos::View< NT *, ExecutionSpace > | m_dest_device |
| |
| size_t | m_dest_device_size |
| |
| Kokkos::View< NT *, PinnedHost_memory > | m_dest_pinned |
| |
| size_t | m_dest_pinned_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 |
| |
| size_t | m_integrator_id |
| |
template<int dim, typename NT, typename KERNEL, typename ExecutionSpace>
class DiFfRG::Integrator_p2_1ang< dim, NT, KERNEL, ExecutionSpace >
Integrator_p2_1ang integrates a kernel \(K(p,\cos,\ldots)\) depending on the radial momentum \(p\) and the cosine of the single polar angle between the loop and external momentum as $$ \frac{S_{d-1}}{(2\pi)^{d}}\,\int_{-1}^1 dc\,(1-c^2)^{\frac{d-3}{2}}\,\int_0^\infty dp\, p^{d-1} K(p,c,\ldots) $$ in \(d\) dimensions, where \(S_{d-1}\) is the solid angle of the \((d-2)\)-sphere remaining after the polar angle is singled out. The zonal measure \((1-c^2)^{(d-3)/2}\) is supplied exactly by a Gauss-Jacobi angular quadrature, so it does not appear in the kernel.
- Template Parameters
-
| dim | dimension of the momentum space, i.e. $d$ in the above equation |
| 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 KokkosHost_exec. |