TBTK
TBTK::PropertyExtractor::BlockDiagonalizer Class Reference

#include <BlockDiagonalizer.h>

Inheritance diagram for TBTK::PropertyExtractor::BlockDiagonalizer:
TBTK::PropertyExtractor::PropertyExtractor

Public Member Functions

 BlockDiagonalizer (Solver::BlockDiagonalizer &bSolver)
 
virtual ~BlockDiagonalizer ()
 
Property::EigenValues getEigenValues ()
 
double getEigenValue (int state) const
 
double getEigenValue (const Index &blockIndex, int state) const
 
const std::complex< double > getAmplitude (int state, const Index &index)
 
const std::complex< double > getAmplitude (const Index &blockIndex, int state, const Index &intraBlockIndex) const
 
Property::WaveFunctions calculateWaveFunctions (std::initializer_list< Index > patterns, std::initializer_list< int > states)
 
virtual Property::DOS calculateDOS ()
 
virtual std::complex< double > calculateExpectationValue (Index to, Index from)
 
virtual Property::Density calculateDensity (std::initializer_list< Index > patterns)
 
virtual Property::Magnetization calculateMagnetization (std::initializer_list< Index > patterns)
 
virtual Property::LDOS calculateLDOS (std::initializer_list< Index > patterns)
 
virtual Property::SpinPolarizedLDOS calculateSpinPolarizedLDOS (std::initializer_list< Index > patterns)
 
virtual double calculateEntropy ()
 
- Public Member Functions inherited from TBTK::PropertyExtractor::PropertyExtractor
 PropertyExtractor ()
 
virtual ~PropertyExtractor ()
 
virtual void setEnergyWindow (double lowerBound, double upperBound, int energyResolution)
 
virtual Property::Density calculateDensity (Index pattern, Index ranges)
 
virtual Property::Magnetization calculateMagnetization (Index pattern, Index ranges)
 
virtual Property::LDOS calculateLDOS (Index pattern, Index ranges)
 
virtual Property::SpinPolarizedLDOS calculateSpinPolarizedLDOS (Index pattern, Index ranges)
 

Additional Inherited Members

- Protected Member Functions inherited from TBTK::PropertyExtractor::PropertyExtractor
void calculate (void(*callback)(PropertyExtractor *cb_this, void *memory, const Index &index, int offset), void *memory, Index pattern, const Index &ranges, int currentOffset, int offsetMultiplier)
 
template<typename DataType >
void calculate (void(*callback)(PropertyExtractor *cb_this, void *memory, const Index &index, int offset), const IndexTree &allIndices, const IndexTree &memoryLayout, Property::AbstractProperty< DataType > &abstractProperty, int *spinIndexHint=nullptr)
 
void ensureCompliantRanges (const Index &pattern, Index &ranges)
 
void getLoopRanges (const Index &pattern, const Index &ranges, int *lDimensions, int **lRanges)
 
IndexTree generateIndexTree (std::initializer_list< Index > patterns, const HoppingAmplitudeSet &hoppingAmplitudeSet, bool keepSumationWildcards, bool keepSpinWildcards)
 
- Protected Attributes inherited from TBTK::PropertyExtractor::PropertyExtractor
int energyResolution
 
double lowerBound
 
double upperBound
 
void * hint
 
- Static Protected Attributes inherited from TBTK::PropertyExtractor::PropertyExtractor
static constexpr int ENERGY_RESOLUTION = 1000
 
static constexpr double LOWER_BOUND = -1.
 
static constexpr double UPPER_BOUND = 1.
 

Detailed Description

The PropertyExtractor extracts common physical properties such as DOS, Density, LDOS, etc. from a BlockDiagonalizer. These can then be written to file using the FileWriter.

Constructor & Destructor Documentation

TBTK::PropertyExtractor::BlockDiagonalizer::BlockDiagonalizer ( Solver::BlockDiagonalizer bSolver)

Constructor.

virtual TBTK::PropertyExtractor::BlockDiagonalizer::~BlockDiagonalizer ( )
virtual

Destructor.

Member Function Documentation

virtual Property::Density TBTK::PropertyExtractor::BlockDiagonalizer::calculateDensity ( std::initializer_list< Index patterns)
virtual
virtual Property::DOS TBTK::PropertyExtractor::BlockDiagonalizer::calculateDOS ( )
virtual

Calculate Green's function. Overrides PropertyExtractor::calculateDOS().

Reimplemented from TBTK::PropertyExtractor::PropertyExtractor.

virtual double TBTK::PropertyExtractor::BlockDiagonalizer::calculateEntropy ( )
virtual
virtual std::complex<double> TBTK::PropertyExtractor::BlockDiagonalizer::calculateExpectationValue ( Index  to,
Index  from 
)
virtual

Calculate expectation value.

Reimplemented from TBTK::PropertyExtractor::PropertyExtractor.

virtual Property::LDOS TBTK::PropertyExtractor::BlockDiagonalizer::calculateLDOS ( std::initializer_list< Index patterns)
virtual
virtual Property::Magnetization TBTK::PropertyExtractor::BlockDiagonalizer::calculateMagnetization ( std::initializer_list< Index patterns)
virtual
virtual Property::SpinPolarizedLDOS TBTK::PropertyExtractor::BlockDiagonalizer::calculateSpinPolarizedLDOS ( std::initializer_list< Index patterns)
virtual
Property::WaveFunctions TBTK::PropertyExtractor::BlockDiagonalizer::calculateWaveFunctions ( std::initializer_list< Index patterns,
std::initializer_list< int >  states 
)

Calculate wave function.

const std::complex< double > TBTK::PropertyExtractor::BlockDiagonalizer::getAmplitude ( int  state,
const Index index 
)
inline

Get amplitude for given eigenvector \(n\) and physical index \(x\): \(\Psi_{n}(x)\).

Parameters
stateEigenstate number \(n\)
indexPhysical index \(x\).
const std::complex< double > TBTK::PropertyExtractor::BlockDiagonalizer::getAmplitude ( const Index blockIndex,
int  state,
const Index intraBlockIndex 
) const
inline

Get amplitude.

double TBTK::PropertyExtractor::BlockDiagonalizer::getEigenValue ( int  state) const
inline

Get eigenvalue.

double TBTK::PropertyExtractor::BlockDiagonalizer::getEigenValue ( const Index blockIndex,
int  state 
) const
inline

Get eigenvalue.

Property::EigenValues TBTK::PropertyExtractor::BlockDiagonalizer::getEigenValues ( )

Legacy. Experimental. Extracts a tabulated version of the HoppingAmplitudeSet. Get eigenvalues.


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