/home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/common/quadrature/quadrature_provider.hh Source File#
|
DiFfRG
|
quadrature_provider.hh
Go to the documentation of this file.
27 template <typename NT = double> MatsubaraQuadrature<NT> &get_matsubara_quadrature(const NT T, const NT E)
55 template <typename NT = double> using StorageType = std::map<double, std::map<double, MatsubaraQuadrature<NT>>>;
56 template <typename NT = double> using SubStorageType = std::map<double, MatsubaraQuadrature<NT>>;
59 template <typename NT = double> using EnergyIterator = typename StorageType<NT>::mapped_type::iterator;
87 template <typename NT = double> Quadrature<NT> &get_quadrature(const size_t order, const QuadratureType type)
110 template <typename NT = double> using StorageType = std::map<QuadratureType, std::map<size_t, Quadrature<NT>>>;
114 template <typename NT = double> using OrderIterator = typename StorageType<NT>::mapped_type::iterator;
175 return matsubara_storage.get_matsubara_quadrature<NT>(T, typical_E).template nodes<MemorySpace>();
187 return matsubara_storage.get_matsubara_quadrature<NT>(T, typical_E).template weights<MemorySpace>();
A quadrature rule for (bosonic) Matsubara frequencies, based on the method of Monien [1]....
Definition matsubara.hh:25
A class that provides quadrature points and weights, in host and device memory. The quadrature points...
Definition quadrature_provider.hh:137
NT matsubara_T(const NT T, const NT typical_E)
Get the effective temperature for the Matsubara zero-mode weight. Returns 0 for vacuum (T=0) quadratu...
Definition quadrature_provider.hh:194
QuadratureProvider()
internal::QuadratureStorage quadrature_storage
Definition quadrature_provider.hh:201
auto matsubara_weights(const NT T, const NT typical_E)
Get the quadrature weights for a quadrature of size quadrature_size.
Definition quadrature_provider.hh:185
auto nodes(const size_t order, const QuadratureType type=QuadratureType::legendre)
Get the quadrature points for a quadrature of size quadrature_size.
Definition quadrature_provider.hh:149
auto matsubara_nodes(const NT T, const NT typical_E)
Get the quadrature points for a quadrature of size quadrature_size.
Definition quadrature_provider.hh:173
QuadratureProvider(const JSONValue &json)
internal::MatsubaraStorage matsubara_storage
Definition quadrature_provider.hh:200
auto weights(const size_t order, const QuadratureType type=QuadratureType::legendre)
Get the quadrature weights for a quadrature of size quadrature_size.
Definition quadrature_provider.hh:161
Definition quadrature.hh:56
A class that stores Matsubara quadrature points and weights for a given T, E. Its main purpose is to ...
Definition quadrature_provider.hh:21
EnergyIterator< double > find_E_d(const double E, TemperatureIterator< double > T_it)
void set_min_matsubara_size(const int value)
void set_vacuum_quad_size(const int size)
void set_matsubara_precision_factor(const int value)
StorageType< double > quadratures_d
Definition quadrature_provider.hh:67
void set_verbosity(int v)
EnergyIterator< float > find_E_f(const float E, TemperatureIterator< float > T_it)
int matsubara_precision_factor
Definition quadrature_provider.hh:72
void set_max_matsubara_size(const int value)
int min_matsubara_size
Definition quadrature_provider.hh:73
int vacuum_quad_size
Definition quadrature_provider.hh:71
MatsubaraQuadrature< NT > & get_matsubara_quadrature(const NT T, const NT E)
Return the MatsubaraQuadrature object for a given T, E.
Definition quadrature_provider.hh:27
TemperatureIterator< double > find_T_d(const double T)
std::map< double, MatsubaraQuadrature< NT > > SubStorageType
Definition quadrature_provider.hh:56
MatsubaraQuadrature< float > & get_matsubara_quadrature_f(const float T, const float E)
typename StorageType< NT >::mapped_type::iterator EnergyIterator
Definition quadrature_provider.hh:59
typename StorageType< NT >::iterator TemperatureIterator
Definition quadrature_provider.hh:58
TemperatureIterator< float > find_T_f(const float T)
int max_matsubara_size
Definition quadrature_provider.hh:74
MatsubaraQuadrature< double > & get_matsubara_quadrature_d(const double T, const double E)
StorageType< float > quadratures_f
Definition quadrature_provider.hh:68
std::map< double, std::map< double, MatsubaraQuadrature< NT > > > StorageType
Definition quadrature_provider.hh:55
A class that stores Quadrature points and weights for a given type and order Its main purpose is to a...
Definition quadrature_provider.hh:85
typename StorageType< NT >::mapped_type::iterator OrderIterator
Definition quadrature_provider.hh:114
Quadrature< NT > & get_quadrature(const size_t order, const QuadratureType type)
Definition quadrature_provider.hh:87
TypeIterator< float > find_type_f(const QuadratureType type)
std::map< size_t, Quadrature< NT > > SubStorageType
Definition quadrature_provider.hh:111
TypeIterator< double > find_type_d(const QuadratureType type)
typename StorageType< NT >::iterator TypeIterator
Definition quadrature_provider.hh:113
OrderIterator< double > find_order_d(const size_t order, TypeIterator< double > type_it)
StorageType< float > quadratures_f
Definition quadrature_provider.hh:123
Quadrature< double > & get_quadrature_d(const size_t order, const QuadratureType type)
std::map< QuadratureType, std::map< size_t, Quadrature< NT > > > StorageType
Definition quadrature_provider.hh:110
OrderIterator< float > find_order_f(const size_t order, TypeIterator< float > type_it)
StorageType< double > quadratures_d
Definition quadrature_provider.hh:122
Quadrature< float > & get_quadrature_f(const size_t order, const QuadratureType type)
void set_verbosity(int v)
Definition complex_math.hh:10
Definition quadrature.hh:44
Generated by