TBTK
|
Need a break? Support the development by playing Polarity Puzzles |
Square lattice model. More...
#include <SquareLattice.h>
Public Member Functions | |
SquareLattice (const Index &size, const std::vector< std::complex< double >> ¶meters) | |
Public Member Functions inherited from TBTK::Model | |
Model () | |
Model (const std::vector< unsigned int > &capacity) | |
Model (const Model &model) | |
Model (Model &&model) | |
Model (const std::string &serialization, Mode mode) | |
virtual | ~Model () |
Model & | operator= (const Model &rhs) |
Model & | operator= (Model &&rhs) |
void | add (HoppingAmplitude ha) |
void | addModel (const Model &model, const Index &subsytemIndex) |
int | getBasisIndex (const Index &index) const |
int | getBasisSize () const |
void | generateHoppingAmplitudeSet (const HoppingAmplitude::AmplitudeCallback &hoppingAmplitudeCallback) |
void | generateOverlapAmplitudeSet (const OverlapAmplitude::AmplitudeCallback &overlapAmplitudeCallback) |
void | construct () |
bool | getIsConstructed () |
void | setTemperature (double temperature) |
double | getTemperature () const |
void | setChemicalPotential (double chemicalPotential) |
double | getChemicalPotential () const |
void | setStatistics (Statistics statistics) |
Statistics | getStatistics () const |
const BasisStateSet & | getBasisStateSet () const |
const HoppingAmplitudeSet & | getHoppingAmplitudeSet () const |
const SourceAmplitudeSet & | getSourceAmplitudeSet () const |
const OverlapAmplitudeSet & | getOverlapAmplitudeSet () const |
Geometry & | getGeometry () |
const Geometry & | getGeometry () const |
void | createManyParticleContext () |
ManyParticleContext * | getManyParticleContext () |
void | setFilter (const AbstractHoppingAmplitudeFilter &hoppingAmplitudeFilter) |
void | setFilter (const AbstractIndexFilter &indexFilter) |
Model & | operator<< (const AbstractState &basisState) |
Model & | operator<< (const HoppingAmplitude &hoppingAmplitude) |
Model & | operator<< (const std::tuple< HoppingAmplitude, HoppingAmplitude > &hoppingAmplitudes) |
Model & | operator<< (const HoppingAmplitudeList &hoppingAmplitudeList) |
Model & | operator<< (const SourceAmplitude &sourceAmplitude) |
Model & | operator<< (const OverlapAmplitude &overlapAmplitudeSet) |
virtual std::string | toString () const |
std::string | serialize (Mode mode) const |
Public Member Functions inherited from TBTK::Serializable | |
template<> | |
std::string | serialize (const bool &data, Mode mode) |
template<> | |
std::string | serialize (const double &data, Mode mode) |
template<> | |
std::string | serialize (const std::complex< double > &data, Mode mode) |
template<> | |
std::string | serialize (const int &data, Mode mode) |
template<> | |
std::string | serialize (const unsigned int &data, Mode mode) |
template<> | |
std::string | serialize (const SpinMatrix &data, Mode mode) |
template<> | |
std::string | serialize (const Statistics &data, Mode mode) |
template<> | |
std::string | serialize (const std::vector< std::complex< double >> &data, Mode mode) |
template<> | |
int | deserialize (const std::string &serialization, Mode mode) |
Public Member Functions inherited from TBTK::Communicator | |
Communicator (bool verbose) | |
void | setVerbose (bool verbose) |
bool | getVerbose () const |
Additional Inherited Members | |
Public Types inherited from TBTK::Serializable | |
enum | Mode { Debug, Binary, XML, JSON } |
Static Public Member Functions inherited from TBTK::Serializable | |
static bool | hasID (const std::string &serialization, Mode mode) |
static std::string | getID (const std::string &serialization, Mode mode) |
static std::string | extractComponent (const std::string &serialization, const std::string &containerID, const std::string &componentID, const std::string &componentName, Mode mode) |
Static Public Member Functions inherited from TBTK::Communicator | |
static void | setGlobalVerbose (bool globalVerbose) |
static bool | getGlobalVerbose () |
Static Protected Member Functions inherited from TBTK::Serializable | |
static bool | validate (const std::string &serialization, const std::string &id, Mode mode) |
static std::string | getContent (const std::string &serialization, Mode mode) |
static std::vector< std::string > | split (const std::string &content, Mode mode) |
template<typename DataType > | |
static std::enable_if<!std::is_pointer< DataType >::value, std::string >::type | serialize (const DataType &data, Mode mode) |
template<typename DataType > | |
static std::enable_if< std::is_pointer< DataType >::value, std::string >::type | serialize (const DataType &data, Mode mode) |
template<typename DataType > | |
static DataType | deserialize (const std::string &serialization, Mode mode) |
static std::string | extract (const std::string &serialization, Mode mode, std::string component) |
Square lattice model.
The Square lattice allows for nearest-neighbor or next nearest-neighbor Models on a square lattice to be set up easily. A Model with the side lengths SIZE_X and SIZE_Y is created as follows.
Here U is the on-site potential, t is the nearest neighbor hopping amplitude, and tp is an optional next-nearest neighbor hopping amplitude.
It is also possible to create a spinful model by adding a IDX_SPIN flag as follows.
The resulting Model has not yet been constructed, which means that it is possible to add further HoppingAmplitudes to it. Before using it, remember to call
TBTK::Models::SquareLattice::SquareLattice | ( | const Index & | size, |
const std::vector< std::complex< double >> & | parameters | ||
) |
Constructs a square lattice.
size | The size of the lattice. One Subindex can have the value IDX_SPIN to indicate a spin Subindex. Must have two components (plus one if IDX_SPIN is included). |
parameters | The Model parameters. Must have two components, where the first component is the on-site term, and the second is the nearest neighbor hopping amplitude. |