TBTK::ElectronFluctuationVertexCalculator Class Reference

Public Types

enum  EnergyType { Real, Imaginary, Complex }

Public Member Functions

 ElectronFluctuationVertexCalculator (const MomentumSpaceContext &momentumSpaceContext)
 ~ElectronFluctuationVertexCalculator ()
ElectronFluctuationVertexCalculatorcreateSlave ()
const MomentumSpaceContextgetMomentumSpaceContext () const
void setEnergyType (EnergyType energyType)
EnergyType getEnergyType () const
void setEnergies (const std::vector< std::complex< double >> &energies)
void setEnergiesAreInversionSymmetric (bool energiesAreInversionSymmetric)
bool getEnergiesAreInversionSymmetric () const
std::vector< std::complex< double > > calculateSelfEnergyVertex (const std::vector< double > &k, const std::vector< int > &orbitalIndices)
void setU (std::complex< double > U)
void setUp (std::complex< double > Up)
void setJ (std::complex< double > J)
void setJp (std::complex< double > Jp)
void generateInteractionAmplitudes ()
void saveSusceptibilities (const std::string &filename) const
void loadSusceptibilities (const std::string &filename)

Member Enumeration Documentation

Enum class for indicating whether the energy is an arbitrary comlex number, or if it is restricted to the real or imaginary axis.

Constructor & Destructor Documentation

TBTK::ElectronFluctuationVertexCalculator::ElectronFluctuationVertexCalculator ( const MomentumSpaceContext momentumSpaceContext)


TBTK::ElectronFluctuationVertexCalculator::~ElectronFluctuationVertexCalculator ( )


Member Function Documentation

std::vector<std::complex<double> > TBTK::ElectronFluctuationVertexCalculator::calculateSelfEnergyVertex ( const std::vector< double > &  k,
const std::vector< int > &  orbitalIndices 

Calculate self-energy vertex.

ElectronFluctuationVertexCalculator* TBTK::ElectronFluctuationVertexCalculator::createSlave ( )

Create slave ElectronFluctuationVertexCalculator. The slave reuses internal lookup tables used to speed up the calculations and should not be used after the generating master have been destructed.

void TBTK::ElectronFluctuationVertexCalculator::generateInteractionAmplitudes ( )

Generate interaction amplitudes. Can be called multiple times and will only regenerate the interaction amplitudes when needed.

bool TBTK::ElectronFluctuationVertexCalculator::getEnergiesAreInversionSymmetric ( ) const

Get wheter the energies are inversion symmetric.

ElectronFluctuationVertexCalculator::EnergyType TBTK::ElectronFluctuationVertexCalculator::getEnergyType ( ) const

Get energy type.

const MomentumSpaceContext & TBTK::ElectronFluctuationVertexCalculator::getMomentumSpaceContext ( ) const

Get momentum cpsace context.

void TBTK::ElectronFluctuationVertexCalculator::loadSusceptibilities ( const std::string &  filename)

Load susceptibilities.

void TBTK::ElectronFluctuationVertexCalculator::saveSusceptibilities ( const std::string &  filename) const

Save susceptibilities.

void TBTK::ElectronFluctuationVertexCalculator::setEnergies ( const std::vector< std::complex< double >> &  energies)

Set the energies for which the self-energy should be calculated.

void TBTK::ElectronFluctuationVertexCalculator::setEnergiesAreInversionSymmetric ( bool  energiesAreInversionSymmetric)

Set to true if the energies can be assumed to be inversion symmetric in the complex plane.

Important note: Only set this to true if the energies passed to setEnergies() are on the form (-E_n, -E_{n-1}, ..., E_{n-1}, E_{n}. Setting this flag to true without fullfilling this condition will result in undefined behavior.

void TBTK::ElectronFluctuationVertexCalculator::setEnergyType ( EnergyType  energyType)

Set self-energy energy type.

void TBTK::ElectronFluctuationVertexCalculator::setJ ( std::complex< double >  J)

Set J.

void TBTK::ElectronFluctuationVertexCalculator::setJp ( std::complex< double >  Jp)

Set Jp.

void TBTK::ElectronFluctuationVertexCalculator::setU ( std::complex< double >  U)

Set U.

void TBTK::ElectronFluctuationVertexCalculator::setUp ( std::complex< double >  Up)

Set Up.

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