DiFfRG
Loading...
Searching...
No Matches
DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL > Class Template Reference

#include <integrator_finiteTq0_cpu.hh>

Public Types

using ctype = typename get_type::ctype<NT>
 

Public Member Functions

 IntegratorFiniteTq0TBB (QuadratureProvider &quadrature_provider, const std::array< uint, 1 > grid_sizes, const ctype x_extent, const JSONValue &json)
 
 IntegratorFiniteTq0TBB (QuadratureProvider &quadrature_provider, const std::array< uint, 1 > _grid_sizes, const ctype x_extent, const ctype T, const uint max_block_size=0)
 
void set_T (const ctype T, const ctype E=0)
 Set the temperature and typical energy scale of the integrator and recompute the Matsubara quadrature rule.
 
void set_E (const ctype E)
 Set the typical energy scale of the integrator and recompute the Matsubara quadrature rule.
 
 IntegratorFiniteTq0TBB (const IntegratorFiniteTq0TBB &other)
 
template<typename... T>
NT get (const ctype k, const T &...t)
 
template<typename... T>
std::future< NT > request (const ctype k, const T &...t)
 

Private Attributes

QuadratureProviderquadrature_provider
 
std::array< uint, 2 > grid_sizes
 
const ctype x_extent
 
ctype m_T
 
ctype m_E
 
bool manual_E
 
const ctypeptr_x_quadrature_p
 
const ctypeptr_x_quadrature_w
 
const ctypeptr_matsubara_quadrature_p
 
const ctypeptr_matsubara_quadrature_w
 

Member Typedef Documentation

◆ ctype

template<int d, typename NT , typename KERNEL >
using DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::ctype = typename get_type::ctype<NT>

Constructor & Destructor Documentation

◆ IntegratorFiniteTq0TBB() [1/3]

template<int d, typename NT , typename KERNEL >
DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::IntegratorFiniteTq0TBB ( QuadratureProvider & quadrature_provider,
const std::array< uint, 1 > grid_sizes,
const ctype x_extent,
const JSONValue & json )
inline

◆ IntegratorFiniteTq0TBB() [2/3]

template<int d, typename NT , typename KERNEL >
DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::IntegratorFiniteTq0TBB ( QuadratureProvider & quadrature_provider,
const std::array< uint, 1 > _grid_sizes,
const ctype x_extent,
const ctype T,
const uint max_block_size = 0 )
inline

◆ IntegratorFiniteTq0TBB() [3/3]

template<int d, typename NT , typename KERNEL >
DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::IntegratorFiniteTq0TBB ( const IntegratorFiniteTq0TBB< d, NT, KERNEL > & other)
inline

Member Function Documentation

◆ get()

template<int d, typename NT , typename KERNEL >
template<typename... T>
NT DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::get ( const ctype k,
const T &... t )
inline

◆ request()

template<int d, typename NT , typename KERNEL >
template<typename... T>
std::future< NT > DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::request ( const ctype k,
const T &... t )
inline

◆ set_E()

template<int d, typename NT , typename KERNEL >
void DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::set_E ( const ctype E)
inline

Set the typical energy scale of the integrator and recompute the Matsubara quadrature rule.

Parameters
EThe typical energy scale.

◆ set_T()

template<int d, typename NT , typename KERNEL >
void DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::set_T ( const ctype T,
const ctype E = 0 )
inline

Set the temperature and typical energy scale of the integrator and recompute the Matsubara quadrature rule.

Parameters
TThe temperature.
EA typical energy scale, which determines the number of nodes in the quadrature rule.

Member Data Documentation

◆ grid_sizes

template<int d, typename NT , typename KERNEL >
std::array<uint, 2> DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::grid_sizes
private

◆ m_E

template<int d, typename NT , typename KERNEL >
ctype DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::m_E
private

◆ m_T

template<int d, typename NT , typename KERNEL >
ctype DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::m_T
private

◆ manual_E

template<int d, typename NT , typename KERNEL >
bool DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::manual_E
private

◆ ptr_matsubara_quadrature_p

template<int d, typename NT , typename KERNEL >
const ctype* DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::ptr_matsubara_quadrature_p
private

◆ ptr_matsubara_quadrature_w

template<int d, typename NT , typename KERNEL >
const ctype* DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::ptr_matsubara_quadrature_w
private

◆ ptr_x_quadrature_p

template<int d, typename NT , typename KERNEL >
const ctype* DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::ptr_x_quadrature_p
private

◆ ptr_x_quadrature_w

template<int d, typename NT , typename KERNEL >
const ctype* DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::ptr_x_quadrature_w
private

◆ quadrature_provider

template<int d, typename NT , typename KERNEL >
QuadratureProvider& DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::quadrature_provider
private

◆ x_extent

template<int d, typename NT , typename KERNEL >
const ctype DiFfRG::IntegratorFiniteTq0TBB< d, NT, KERNEL >::x_extent
private

The documentation for this class was generated from the following file: