A class that provides quadrature points and weights, in host and device memory. The quadrature points and weights are computed either the GSL quadratures or the MatsubaraQuadrature class. This avoids recomputing the quadrature points and weights for each integrator.
More...
#include <quadrature_provider.hh>
|
| QuadratureProvider () |
|
| QuadratureProvider (const JSONValue &json) |
|
template<typename NT = double> |
const std::vector< NT > & | get_points (const size_t order, const QuadratureType type=QuadratureType::legendre) |
| Get the quadrature points for a quadrature of size quadrature_size.
|
|
template<typename NT = double> |
const std::vector< NT > & | get_weights (const size_t order, const QuadratureType type=QuadratureType::legendre) |
| Get the quadrature weights for a quadrature of size quadrature_size.
|
|
template<typename NT = double> |
const std::vector< NT > & | get_matsubara_points (const NT T, const NT typical_E) |
| Get the quadrature points for a quadrature of size quadrature_size.
|
|
template<typename NT = double> |
const std::vector< NT > & | get_matsubara_weights (const NT T, const NT typical_E) |
| Get the quadrature weights for a quadrature of size quadrature_size.
|
|
template<typename NT = double> |
const NT * | get_device_points (const size_t order, const int device=0, const QuadratureType type=QuadratureType::legendre) |
| Get the device-side quadrature points for a quadrature of size quadrature_size.
|
|
template<typename NT = double> |
const NT * | get_device_weights (const size_t order, const int device=0, const QuadratureType type=QuadratureType::legendre) |
| Get the device-side quadrature weights for a quadrature of size quadrature_size.
|
|
template<typename NT = double> |
const NT * | get_device_matsubara_points (const NT T, const NT typical_E, const int device=0) |
| Get the device-side quadrature points for a quadrature of size quadrature_size.
|
|
template<typename NT = double> |
const NT * | get_device_matsubara_weights (const NT T, const NT typical_E, const int device=0) |
| Get the device-side quadrature weights for a quadrature of size quadrature_size.
|
|
A class that provides quadrature points and weights, in host and device memory. The quadrature points and weights are computed either the GSL quadratures or the MatsubaraQuadrature class. This avoids recomputing the quadrature points and weights for each integrator.
◆ QuadratureProvider() [1/2]
DiFfRG::QuadratureProvider::QuadratureProvider |
( |
| ) |
|
◆ QuadratureProvider() [2/2]
DiFfRG::QuadratureProvider::QuadratureProvider |
( |
const JSONValue & | json | ) |
|
◆ get_device_matsubara_points()
template<typename NT = double>
const NT * DiFfRG::QuadratureProvider::get_device_matsubara_points |
( |
const NT | T, |
|
|
const NT | typical_E, |
|
|
const int | device = 0 ) |
|
inline |
Get the device-side quadrature points for a quadrature of size quadrature_size.
- Parameters
-
quadrature_size | Size of the quadrature. |
- Returns
- const double*
◆ get_device_matsubara_weights()
template<typename NT = double>
const NT * DiFfRG::QuadratureProvider::get_device_matsubara_weights |
( |
const NT | T, |
|
|
const NT | typical_E, |
|
|
const int | device = 0 ) |
|
inline |
Get the device-side quadrature weights for a quadrature of size quadrature_size.
- Parameters
-
quadrature_size | Size of the quadrature. |
- Returns
- const double*
◆ get_device_points()
template<typename NT = double>
Get the device-side quadrature points for a quadrature of size quadrature_size.
- Parameters
-
quadrature_size | Size of the quadrature. |
- Returns
- const double*
◆ get_device_weights()
template<typename NT = double>
Get the device-side quadrature weights for a quadrature of size quadrature_size.
- Parameters
-
quadrature_size | Size of the quadrature. |
- Returns
- const double*
◆ get_matsubara_points()
template<typename NT = double>
const std::vector< NT > & DiFfRG::QuadratureProvider::get_matsubara_points |
( |
const NT | T, |
|
|
const NT | typical_E ) |
|
inline |
Get the quadrature points for a quadrature of size quadrature_size.
- Parameters
-
quadrature_size | Size of the quadrature. |
- Returns
- const std::vector<double>&
◆ get_matsubara_weights()
template<typename NT = double>
const std::vector< NT > & DiFfRG::QuadratureProvider::get_matsubara_weights |
( |
const NT | T, |
|
|
const NT | typical_E ) |
|
inline |
Get the quadrature weights for a quadrature of size quadrature_size.
- Parameters
-
quadrature_size | Size of the quadrature. |
- Returns
- const std::vector<double>&
◆ get_points()
template<typename NT = double>
Get the quadrature points for a quadrature of size quadrature_size.
- Parameters
-
quadrature_size | Size of the quadrature. |
- Returns
- const std::vector<double>&
◆ get_weights()
template<typename NT = double>
Get the quadrature weights for a quadrature of size quadrature_size.
- Parameters
-
quadrature_size | Size of the quadrature. |
- Returns
- const std::vector<double>&
◆ matsubara_storage
◆ quadrature_storage
◆ verbosity
int DiFfRG::QuadratureProvider::verbosity |
|
private |
The documentation for this class was generated from the following file: