TBTK
TBTK::Solver::TimeEvolver Class Reference

Time evloves a ground state. More...

#include <TimeEvolver.h>

Inheritance diagram for TBTK::Solver::TimeEvolver:
TBTK::Solver::Solver

Public Member Functions

 TimeEvolver ()
 
virtual ~TimeEvolver ()
 
void run ()
 
void setCallback (bool(*callback)(TimeEvolver *timeEvolver))
 
void setMaxSCIterations (int maxIterations)
 
void setNumTimeSteps (int numTimeSteps)
 
void setTimeStep (double dt)
 
void setNumberOfParticles (int numberOfParticles)
 
int getNumberOfParticles ()
 
void fixParticleNumber (bool particleNumberIsFixed)
 
double getOccupancy (int state)
 
DiagonalizergetDiagonalizer ()
 
double getEigenValue (int state)
 
- Public Member Functions inherited from TBTK::Solver::Solver
 Solver ()
 
virtual ~Solver ()
 
virtual void setModel (Model &model)
 
ModelgetModel ()
 
const ModelgetModel () const
 

Detailed Description

Time evloves a ground state.

Constructor & Destructor Documentation

◆ TimeEvolver()

TBTK::Solver::TimeEvolver::TimeEvolver ( )

Constructor.

◆ ~TimeEvolver()

virtual TBTK::Solver::TimeEvolver::~TimeEvolver ( )
virtual

Destructor.

Member Function Documentation

◆ fixParticleNumber()

void TBTK::Solver::TimeEvolver::fixParticleNumber ( bool  particleNumberIsFixed)
inline

Fix particle number. If set to true, the number of particles remain the same throughout the calculation.

◆ getDiagonalizer()

Diagonalizer * TBTK::Solver::TimeEvolver::getDiagonalizer ( )
inline

Get the Diagonalizer, which contains the eigenvectors, energies, etc.

◆ getEigenValue()

double TBTK::Solver::TimeEvolver::getEigenValue ( int  state)
inline

Get eigenvalue.

◆ getNumberOfParticles()

int TBTK::Solver::TimeEvolver::getNumberOfParticles ( )
inline

Get number of particles.

◆ getOccupancy()

double TBTK::Solver::TimeEvolver::getOccupancy ( int  state)
inline

Get occupancy of state.

◆ run()

void TBTK::Solver::TimeEvolver::run ( )

Run calculation. First self-consistently finds the ground state, and then time evolves the state. The callback set by setCallback is called at each iteration of both the self-consistent loop and time stepping loop.

◆ setCallback()

void TBTK::Solver::TimeEvolver::setCallback ( bool(*)(TimeEvolver *timeEvolver)  callback)
inline

Set callback used to update the Hamiltonian.

◆ setMaxSCIterations()

void TBTK::Solver::TimeEvolver::setMaxSCIterations ( int  maxIterations)
inline

Set max iterations for the self-consistent loop.

◆ setNumberOfParticles()

void TBTK::Solver::TimeEvolver::setNumberOfParticles ( int  numberOfParticles)
inline

Set number of particles.

Parameters
Numberof occupied particles. If set to a negative number, the number of particles is determined by the Fermi level. For fixed particle number the Fermi level at the first time step sets the number of paticles, for non-fixed particle number the Fermi level determines the number of particles in each time step.

◆ setNumTimeSteps()

void TBTK::Solver::TimeEvolver::setNumTimeSteps ( int  numTimeSteps)
inline

Set number of time steps for time evolution.

◆ setTimeStep()

void TBTK::Solver::TimeEvolver::setTimeStep ( double  dt)
inline

Set length of time step used for time evolution.


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