TBTK
TBTK::Solver::RPASusceptibility Class Reference
Inheritance diagram for TBTK::Solver::RPASusceptibility:
TBTK::Solver::Susceptibility TBTK::Solver::Solver

Public Member Functions

 RPASusceptibility (const MomentumSpaceContext &momentumSpaceContext, const Property::Susceptibility &susceptibility)
 
const Property::SusceptibilitygetBareSusceptibility () const
 
RPASusceptibilitycreateSlave ()
 
void setInteractionAmplitudes (const std::vector< InteractionAmplitude > &interactionAmplitudes)
 
virtual std::vector< std::complex< double > > calculateSusceptibility (const Index &index, const std::vector< std::complex< double >> &energies)
 
IndexedDataTree< std::vector< std::complex< double > > > calculateRPASusceptibility (const Index &index)
 
IndexedDataTree< std::vector< std::complex< double > > > calculateChargeRPASusceptibility (const Index &index)
 
IndexedDataTree< std::vector< std::complex< double > > > calculateSpinRPASusceptibility (const Index &index)
 
void setU (std::complex< double > U)
 
void setUp (std::complex< double > Up)
 
void setJ (std::complex< double > J)
 
void setJp (std::complex< double > Jp)
 
- Public Member Functions inherited from TBTK::Solver::Susceptibility
 Susceptibility (Algorithm algorithm, const MomentumSpaceContext &momentumSpaceContext)
 
virtual ~Susceptibility ()
 
const MomentumSpaceContextgetMomentumSpaceContext () const
 
void generateKPlusQLookupTable ()
 
Algorithm getAlgorithm () const
 
void setEnergiesAreInversionSymmetric (bool energiesAreInversionSymmetric)
 
bool getEnergiesAreInversionSymmetric () const
 
- Public Member Functions inherited from TBTK::Solver::Solver
 Solver ()
 
virtual ~Solver ()
 
virtual void setModel (Model &model)
 
ModelgetModel ()
 
const ModelgetModel () const
 

Additional Inherited Members

- Public Types inherited from TBTK::Solver::Susceptibility
enum  Algorithm { Lindhard = 0, Matsubara = 1, RPA = 2 }
 
- Protected Member Functions inherited from TBTK::Solver::Susceptibility
 Susceptibility (Algorithm algorithm, const MomentumSpaceContext &momentumSpaceContext, int *kPlusQLookupTable)
 
bool getIsMaster () const
 
int * getKPlusQLookupTable ()
 
const int * getKPlusQLookupTable () const
 
template<bool useKPlusQLookupTable>
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
 
template<>
int getKPlusQLinearIndex (unsigned int meshIndex, const std::vector< double > &k, int kLinearIndex) const
 

Constructor & Destructor Documentation

TBTK::Solver::RPASusceptibility::RPASusceptibility ( const MomentumSpaceContext momentumSpaceContext,
const Property::Susceptibility susceptibility 
)

Constructor.

Member Function Documentation

IndexedDataTree< std::vector<std::complex<double> > > TBTK::Solver::RPASusceptibility::calculateChargeRPASusceptibility ( const Index index)

Calculate charge RPA Susceptibility.

IndexedDataTree< std::vector<std::complex<double> > > TBTK::Solver::RPASusceptibility::calculateRPASusceptibility ( const Index index)

Calculate RPA Susceptibility.

IndexedDataTree< std::vector<std::complex<double> > > TBTK::Solver::RPASusceptibility::calculateSpinRPASusceptibility ( const Index index)

Calculate spin RPA Susceptibility.

std::vector< std::complex< double > > TBTK::Solver::RPASusceptibility::calculateSusceptibility ( const Index index,
const std::vector< std::complex< double >> &  energies 
)
inlinevirtual

Calculate Susceptibility (not supported, but prints error message).

Implements TBTK::Solver::Susceptibility.

RPASusceptibility* TBTK::Solver::RPASusceptibility::createSlave ( )
virtual

Create slave RPASusceptibilityCalcuator. 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::Solver::Susceptibility.

const Property::Susceptibility & TBTK::Solver::RPASusceptibility::getBareSusceptibility ( ) const
inline

Get the bare susceptibility.

void TBTK::Solver::RPASusceptibility::setInteractionAmplitudes ( const std::vector< InteractionAmplitude > &  interactionAmplitudes)
inline

Set interaction amplitudes.

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

Set J.

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

Set Jp.

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

Set U.

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

Set Up.


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