|
enum | Algorithm { Lindhard = 0,
Matsubara = 1
} |
|
enum | EnergyType { Real,
Imaginary,
Complex
} |
|
| SusceptibilityCalculator (Algorithm algorithm, const RPA::MomentumSpaceContext &momentumSpaceContext, int *kPlusQLookupTable) |
|
bool | getIsMaster () const |
|
int * | getKPlusQLookupTable () |
|
const int * | getKPlusQLookupTable () const |
|
Index | getSusceptibilityResultIndex (const Index &kIndex, const std::vector< int > &orbitalIndices) const |
|
const IndexedDataTree< SerializableVector< std::complex< double > > > & | getSusceptibilityTree () const |
|
template<bool useKPlusQLookupTable> |
int | getKPlusQLinearIndex (unsigned int meshIndex, const std::vector< double > &k, int kLinearIndex) const |
|
void | cacheSusceptibility (const std::vector< std::complex< double >> &result, const std::vector< double > &k, const std::vector< int > &orbitalIndices, const Index &kIndex, const Index &resultIndex) |
|
void | clearCache () |
|
template<> |
int | getKPlusQLinearIndex (unsigned int meshIndex, const std::vector< double > &k, int kLinearIndex) const |
|
template<> |
int | getKPlusQLinearIndex (unsigned int meshIndex, const std::vector< double > &k, int kLinearIndex) const |
|
◆ LindhardSusceptibilityCalculator()
TBTK::LindhardSusceptibilityCalculator::LindhardSusceptibilityCalculator |
( |
const RPA::MomentumSpaceContext & |
momentumSpaceContext | ) |
|
◆ ~LindhardSusceptibilityCalculator()
virtual TBTK::LindhardSusceptibilityCalculator::~LindhardSusceptibilityCalculator |
( |
| ) |
|
|
virtual |
◆ calculateSusceptibility() [1/2]
virtual std::complex<double> TBTK::LindhardSusceptibilityCalculator::calculateSusceptibility |
( |
const std::vector< double > & |
k, |
|
|
const std::vector< int > & |
orbitalIndices, |
|
|
std::complex< double > |
energy |
|
) |
| |
|
virtual |
◆ calculateSusceptibility() [2/2]
virtual std::vector<std::complex<double> > TBTK::LindhardSusceptibilityCalculator::calculateSusceptibility |
( |
const DualIndex & |
kDual, |
|
|
const std::vector< int > & |
orbitalIndices |
|
) |
| |
|
virtual |
◆ createSlave()
Create slave SusceptibilityCalcuator. The slave reuses internal lookup tables used to speed up the calculations and should not be used after the generating master have been destructed.
Implements TBTK::SusceptibilityCalculator.
◆ getSusceptibilityIsSafeFromPoles()
bool TBTK::LindhardSusceptibilityCalculator::getSusceptibilityIsSafeFromPoles |
( |
| ) |
const |
|
inline |
Get whether the susceptibility is known to only be evaluated at points away from poles.
◆ precompute()
void TBTK::LindhardSusceptibilityCalculator::precompute |
( |
unsigned int |
numWorkers = 129 | ) |
|
Precompute susceptibilities. Will calculate the susceptibility for all values using a parallel algorithm. Can speed up calculations if most of the susceptibilities are needed.
◆ setSusceptibilityIsSafeFromPoles()
void TBTK::LindhardSusceptibilityCalculator::setSusceptibilityIsSafeFromPoles |
( |
bool |
susceptibilityIsSafeFromPoles | ) |
|
|
inline |
Set to true if the susceptibility is known to only be evaluated at points away from poles.
The documentation for this class was generated from the following file: