DiFfRG
|
A class that stores Matsubara quadrature points and weights for a given T, E. Its main purpose is to avoid recomputing the quadrature points and weights for each Matsubara integrator and provide a search algorithm to find previously computed Matsubara quadratures. More...
#include <quadrature_provider.hh>
Public Member Functions | |
template<typename NT = double> | |
MatsubaraQuadrature< NT > & | get_matsubara_quadrature (const NT T, const NT E) |
Return the MatsubaraQuadrature object for a given T, E. | |
void | set_verbosity (int v) |
void | set_vacuum_quad_size (const int size) |
void | set_min_matsubara_size (const int value) |
void | set_add_matsubara_size (const int value) |
Private Types | |
template<typename NT = double> | |
using | StorageType = std::map<double, std::map<double, MatsubaraQuadrature<NT>>> |
template<typename NT = double> | |
using | SubStorageType = std::map<double, MatsubaraQuadrature<NT>> |
template<typename NT = double> | |
using | TemperatureIterator = typename StorageType<NT>::iterator |
template<typename NT = double> | |
using | EnergyIterator = typename StorageType<NT>::mapped_type::iterator |
Private Member Functions | |
MatsubaraQuadrature< double > & | get_matsubara_quadrature_d (const double T, const double E) |
MatsubaraQuadrature< float > & | get_matsubara_quadrature_f (const float T, const float E) |
TemperatureIterator< double > | find_T_d (const double T) |
TemperatureIterator< float > | find_T_f (const float T) |
EnergyIterator< double > | find_E_d (const double E, TemperatureIterator< double > T_it) |
EnergyIterator< float > | find_E_f (const float E, TemperatureIterator< float > T_it) |
Private Attributes | |
StorageType< double > | quadratures_d |
StorageType< float > | quadratures_f |
int | verbosity = 0 |
int | vacuum_quad_size = 48 |
int | add_matsubara_size = 0 |
int | min_matsubara_size = 32 |
std::mutex | m_mutex |
A class that stores Matsubara quadrature points and weights for a given T, E. Its main purpose is to avoid recomputing the quadrature points and weights for each Matsubara integrator and provide a search algorithm to find previously computed Matsubara quadratures.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inline |
Return the MatsubaraQuadrature object for a given T, E.
|
private |
|
private |
void DiFfRG::internal::MatsubaraStorage::set_add_matsubara_size | ( | const int | value | ) |
void DiFfRG::internal::MatsubaraStorage::set_min_matsubara_size | ( | const int | value | ) |
void DiFfRG::internal::MatsubaraStorage::set_vacuum_quad_size | ( | const int | size | ) |
void DiFfRG::internal::MatsubaraStorage::set_verbosity | ( | int | v | ) |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |