QuadratureIntegrator< dim, NT, KERNEL, ExecutionSpace > Class Template Reference#
|
DiFfRG
Discretization Framework for functional Renormalization Group flows
|
DiFfRG::QuadratureIntegrator< dim, NT, KERNEL, ExecutionSpace > Class Template Reference
This class performs numerical integration over a d-dimensional hypercube using quadrature rules. More...
#include <quadrature_integrator.hh>
Inheritance diagram for DiFfRG::QuadratureIntegrator< 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. | |
Protected Attributes | |
| 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 = 0 |
| 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 = false |
Protected Attributes inherited from DiFfRG::AbstractIntegrator | |
| NodeDistribution | node_distribution |
Detailed Description
template<int dim, typename NT, typename KERNEL, typename ExecutionSpace>
requires (dim > 0)
class DiFfRG::QuadratureIntegrator< dim, NT, KERNEL, ExecutionSpace >
requires (dim > 0)
class DiFfRG::QuadratureIntegrator< dim, NT, KERNEL, ExecutionSpace >
This class performs numerical integration over a d-dimensional hypercube using quadrature rules.
- Template Parameters
-
dim The dimension of the hypercube, which can be between 1 and 5. 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.
Member Typedef Documentation
◆ ctype
| using DiFfRG::QuadratureIntegrator< 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
| using DiFfRG::QuadratureIntegrator< dim, NT, KERNEL, ExecutionSpace >::execution_space = ExecutionSpace |
Execution space to be used for the integration, e.g. GPU_exec, TBB_exec.
Constructor & Destructor Documentation
◆ QuadratureIntegrator()
|
inline |
Member Function Documentation
◆ get() [1/3]
template<typename OT , typename... T>
requires (!std::is_same_v<OT, NT> && is_valid_kernel<NT, KERNEL, ctype, dim, T...>)
requires (!std::is_same_v<OT, NT> && is_valid_kernel<NT, KERNEL, ctype, dim, T...>)
|
inline |
◆ get() [2/3]
|
inline |
◆ get() [3/3]
template<typename OT , typename... T>
requires (!std::is_same_v<OT, NT> && is_valid_kernel<NT, KERNEL, ctype, dim, T...>)
requires (!std::is_same_v<OT, NT> && is_valid_kernel<NT, KERNEL, ctype, dim, T...>)
|
inline |
◆ map() [1/2]
|
inline |
◆ map() [2/2]
template<typename Coordinates , typename... Args>
|
inline |
◆ map_dist()
template<typename Coordinates , typename... Args>
|
inline |
◆ set_grid_extents()
|
inline |
Member Data Documentation
◆ grid_extents
|
protected |
◆ grid_scale
|
protected |
◆ grid_size
|
protected |
◆ grid_start
|
protected |
◆ m_cache
|
mutableprotected |
◆ m_cache_extents
|
mutableprotected |
◆ m_dest_device
|
mutableprotected |
◆ m_dest_device_size
|
mutableprotected |
◆ m_result_host
|
mutableprotected |
◆ m_result_view
|
mutableprotected |
◆ m_result_views_initialized
|
mutableprotected |
◆ nodes
|
protected |
◆ quadrature_provider
|
protected |
◆ space
|
protected |
◆ weights
|
protected |
The documentation for this class was generated from the following file:
- /__w/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/physics/integration/quadrature_integrator.hh
Generated by
Public Member Functions inherited from