TBTK
TBTK::SelfEnergyCalculator Class Reference

Public Types

enum  EnergyType { Real, Imaginary, Complex }
 

Public Member Functions

 SelfEnergyCalculator (const RPA::MomentumSpaceContext &momentumSpaceContext, unsigned int numWorkers)
 
 ~SelfEnergyCalculator ()
 
const RPA::MomentumSpaceContextgetMomentumSpaceContext () const
 
void init ()
 
void setNumSummationEnergies (unsigned int numSummationEnergies)
 
void setSelfEnergyEnergies (const std::vector< std::complex< double >> &selfEnergyEnergies)
 
std::vector< std::complex< double > > calculateSelfEnergy (const std::vector< double > &k, const std::vector< int > &orbitalIndices)
 
std::vector< std::complex< double > > calculateSelfEnergySelfConsistently (unsigned int numMatsubaraFrequencies)
 
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 saveSusceptibilities (const std::string &filename) const
 
void loadSusceptibilities (const std::string &filename)
 
 SelfEnergyCalculator (const MomentumSpaceContext &momentumSpaceContext, unsigned int numWorkers)
 
 ~SelfEnergyCalculator ()
 
const MomentumSpaceContextgetMomentumSpaceContext () const
 
void init ()
 
void setNumSummationEnergies (unsigned int numSummationEnergies)
 
void setSelfEnergyEnergyType (EnergyType energyType)
 
EnergyType getSelfEnergyEnergyType () const
 
void setSelfEnergyEnergies (const std::vector< std::complex< double >> &selfEnergyEnergies)
 
std::vector< std::complex< double > > calculateSelfEnergy (const std::vector< double > &k, const std::vector< int > &orbitalIndices)
 
std::vector< std::complex< double > > calculateSelfEnergySelfConsistently (unsigned int numMatsubaraFrequencies)
 
std::vector< std::complex< double > > calculateSelfEnergyVertex (const std::vector< double > &k, const std::vector< int > &orbitalIndices, unsigned int worker)
 
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 saveSusceptibilities (const std::string &filename) const
 
void loadSusceptibilities (const std::string &filename)
 

Member Enumeration Documentation

◆ EnergyType

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

◆ SelfEnergyCalculator() [1/2]

TBTK::SelfEnergyCalculator::SelfEnergyCalculator ( const RPA::MomentumSpaceContext momentumSpaceContext,
unsigned int  numWorkers 
)

Constructor.

◆ ~SelfEnergyCalculator() [1/2]

TBTK::SelfEnergyCalculator::~SelfEnergyCalculator ( )

Destructor.

◆ SelfEnergyCalculator() [2/2]

TBTK::SelfEnergyCalculator::SelfEnergyCalculator ( const MomentumSpaceContext momentumSpaceContext,
unsigned int  numWorkers 
)

Constructor.

◆ ~SelfEnergyCalculator() [2/2]

TBTK::SelfEnergyCalculator::~SelfEnergyCalculator ( )

Destructor.

Member Function Documentation

◆ calculateSelfEnergy() [1/2]

std::vector<std::complex<double> > TBTK::SelfEnergyCalculator::calculateSelfEnergy ( const std::vector< double > &  k,
const std::vector< int > &  orbitalIndices 
)

Calculate self-energy.

◆ calculateSelfEnergy() [2/2]

std::vector<std::complex<double> > TBTK::SelfEnergyCalculator::calculateSelfEnergy ( const std::vector< double > &  k,
const std::vector< int > &  orbitalIndices 
)

Calculate self-energy.

◆ calculateSelfEnergySelfConsistently() [1/2]

std::vector<std::complex<double> > TBTK::SelfEnergyCalculator::calculateSelfEnergySelfConsistently ( unsigned int  numMatsubaraFrequencies)

Calculate self-energy self-consistently.

◆ calculateSelfEnergySelfConsistently() [2/2]

std::vector<std::complex<double> > TBTK::SelfEnergyCalculator::calculateSelfEnergySelfConsistently ( unsigned int  numMatsubaraFrequencies)

Calculate self-energy self-consistently.

◆ calculateSelfEnergyVertex()

std::vector<std::complex<double> > TBTK::SelfEnergyCalculator::calculateSelfEnergyVertex ( const std::vector< double > &  k,
const std::vector< int > &  orbitalIndices,
unsigned int  worker 
)

Calculate self-energy vertex.

◆ getMomentumSpaceContext() [1/2]

const MomentumSpaceContext & TBTK::SelfEnergyCalculator::getMomentumSpaceContext ( ) const
inline

Get momentum cpsace context.

◆ getMomentumSpaceContext() [2/2]

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

Get momentum cpsace context.

◆ getSelfEnergyEnergyType()

SelfEnergyCalculator::EnergyType TBTK::SelfEnergyCalculator::getSelfEnergyEnergyType ( ) const
inline

Get self-energy energy type.

◆ init() [1/2]

void TBTK::SelfEnergyCalculator::init ( )

Initialize the SelfEnergyCalculator.

◆ init() [2/2]

void TBTK::SelfEnergyCalculator::init ( )

Initialize the SelfEnergyCalculator.

◆ loadSusceptibilities() [1/2]

void TBTK::SelfEnergyCalculator::loadSusceptibilities ( const std::string &  filename)
inline

Load susceptibilities.

◆ loadSusceptibilities() [2/2]

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

Load susceptibilities.

◆ saveSusceptibilities() [1/2]

void TBTK::SelfEnergyCalculator::saveSusceptibilities ( const std::string &  filename) const
inline

Precompute susceptibilities. Save susceptibilities.

◆ saveSusceptibilities() [2/2]

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

Precompute susceptibilities. Save susceptibilities.

◆ setJ() [1/2]

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

Set J.

◆ setJ() [2/2]

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

Set J.

◆ setJp() [1/2]

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

Set Jp.

◆ setJp() [2/2]

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

Set Jp.

◆ setNumSummationEnergies() [1/2]

void TBTK::SelfEnergyCalculator::setNumSummationEnergies ( unsigned int  numSummationEnergies)
inline

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

◆ setNumSummationEnergies() [2/2]

void TBTK::SelfEnergyCalculator::setNumSummationEnergies ( unsigned int  numSummationEnergies)

Set number of energies.

◆ setSelfEnergyEnergies() [1/2]

void TBTK::SelfEnergyCalculator::setSelfEnergyEnergies ( const std::vector< std::complex< double >> &  selfEnergyEnergies)
inline

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

◆ setSelfEnergyEnergies() [2/2]

void TBTK::SelfEnergyCalculator::setSelfEnergyEnergies ( const std::vector< std::complex< double >> &  selfEnergyEnergies)

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

◆ setSelfEnergyEnergyType()

void TBTK::SelfEnergyCalculator::setSelfEnergyEnergyType ( EnergyType  energyType)
inline

Set self-energy energy type.

◆ setU() [1/2]

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

Set U.

◆ setU() [2/2]

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

Set U.

◆ setUp() [1/2]

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

Set Up.

◆ setUp() [2/2]

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

Set Up.


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