Integrator_p2< dim, NT, KERNEL, ExecutionSpace > Class Template Reference#
|
DiFfRG
|
DiFfRG::Integrator_p2< dim, NT, KERNEL, ExecutionSpace > Class Template Reference
Integrator_p2 integrates a kernel \(K(p,\ldots)\) depending on the radial momentum \(p\) as $$ \frac{S_d}{(2\pi)^{d}}\,\int_0^\infty dp^2 p^{d-2} K(p, \ldots) $$ where \(S_d\) is the solid angle in $d$ dimensions. More...
#include <integrator_p2.hh>
Inheritance diagram for DiFfRG::Integrator_p2< dim, NT, KERNEL, ExecutionSpace >:
Public Types | |
| using | ctype = typename get_type::ctype<NT> |
| Numerical type to be used for integration tasks e.g. the argument or possible jacobians. | |
| using | execution_space = ExecutionSpace |
| Execution space to be used for the integration, e.g. GPU_exec, TBB_exec. | |
Public Types inherited from DiFfRG::QuadratureIntegrator< 1, NT, internal::Transform_p2< dim, NT, KERNEL >, ExecutionSpace > | |
| using | ctype |
| Numerical type to be used for integration tasks e.g. the argument or possible jacobians. | |
| using | execution_space |
| Execution space to be used for the integration, e.g. GPU_exec, TBB_exec. | |
Public Member Functions | |
| Integrator_p2 (QuadratureProvider &quadrature_provider, const JSONValue &json) | |
| Integrator_p2 (QuadratureProvider &quadrature_provider, const std::array< size_t, 1 > grid_size, ctype x_extent=2.) | |
| void | set_x_extent (ctype x_extent) |
| void | set_k (ctype k) |
Public Member Functions inherited from DiFfRG::QuadratureIntegrator< 1, NT, internal::Transform_p2< dim, NT, KERNEL >, ExecutionSpace > | |
| 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) |
Public Member Functions inherited from DiFfRG::AbstractIntegrator | |
| void | set_node_distribution (const NodeDistribution &distribution) |
| const NodeDistribution & | get_node_distribution () const |
| void | set_load_balancer (IntegrationLoadBalancer &load_balancer) |
Private Types | |
| using | Base = QuadratureIntegrator<1, NT, internal::Transform_p2<dim, NT, KERNEL>, ExecutionSpace> |
Private Attributes | |
| ctype | x_extent |
| ctype | k |
Additional Inherited Members | |
Protected Attributes inherited from DiFfRG::QuadratureIntegrator< 1, NT, internal::Transform_p2< dim, NT, KERNEL >, ExecutionSpace > | |
| 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 |
Protected Attributes inherited from DiFfRG::AbstractIntegrator | |
| NodeDistribution | node_distribution |
Detailed Description
template<int dim, typename NT, typename KERNEL, typename ExecutionSpace>
class DiFfRG::Integrator_p2< dim, NT, KERNEL, ExecutionSpace >
class DiFfRG::Integrator_p2< dim, NT, KERNEL, ExecutionSpace >
Integrator_p2 integrates a kernel \(K(p,\ldots)\) depending on the radial momentum \(p\) as $$ \frac{S_d}{(2\pi)^{d}}\,\int_0^\infty dp^2 p^{d-2} K(p, \ldots) $$ where \(S_d\) is the solid angle in $d$ dimensions.
- 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 kernelandconstantExecutionSpace can be any execution space, e.g. GPU_exec, TBB_exec, or Threads_exec.
Member Typedef Documentation
◆ Base
template<int dim, typename NT , typename KERNEL , typename ExecutionSpace >
|
private |
◆ ctype
template<int dim, typename NT , typename KERNEL , typename ExecutionSpace >
| using DiFfRG::Integrator_p2< dim, NT, KERNEL, ExecutionSpace >::ctype = typename get_type::ctype<NT> |
Numerical type to be used for integration tasks e.g. the argument or possible jacobians.
◆ execution_space
template<int dim, typename NT , typename KERNEL , typename ExecutionSpace >
| using DiFfRG::Integrator_p2< dim, NT, KERNEL, ExecutionSpace >::execution_space = ExecutionSpace |
Execution space to be used for the integration, e.g. GPU_exec, TBB_exec.
Constructor & Destructor Documentation
◆ Integrator_p2() [1/2]
template<int dim, typename NT , typename KERNEL , typename ExecutionSpace >
|
inline |
◆ Integrator_p2() [2/2]
template<int dim, typename NT , typename KERNEL , typename ExecutionSpace >
|
inline |
Member Function Documentation
◆ set_k()
template<int dim, typename NT , typename KERNEL , typename ExecutionSpace >
|
inline |
◆ set_x_extent()
template<int dim, typename NT , typename KERNEL , typename ExecutionSpace >
|
inline |
Member Data Documentation
◆ k
template<int dim, typename NT , typename KERNEL , typename ExecutionSpace >
|
private |
◆ x_extent
template<int dim, typename NT , typename KERNEL , typename ExecutionSpace >
|
private |
The documentation for this class was generated from the following file:
- /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/physics/integration/vacuum/integrator_p2.hh
Generated by
Public Types inherited from