|
| static Model * | createSquareLattice (std::initializer_list< int > size, std::initializer_list< bool > periodic, std::complex< double > t) |
| |
| static Model * | createHexagonalLattice (std::initializer_list< int > size, std::initializer_list< bool > periodic, std::complex< double > t) |
| |
| static Model * | createModel (const StateSet &stateSet, const AbstractOperator &o=DefaultOperator()) |
| |
| static Model * | createModel (const StateSet &stateSet, const StateTreeNode &stateTreeNode, const AbstractOperator &o=DefaultOperator()) |
| |
| static Model * | createModel (const UnitCell &unitCell, std::initializer_list< int > size, std::initializer_list< bool > periodic, const bool *includedCells=NULL, const AbstractOperator &o=DefaultOperator()) |
| |
| static void | addSquareGeometry (Model *model, std::initializer_list< int > size) |
| |
| static void | addHexagonalGeometry (Model *model, std::initializer_list< int > size) |
| |
| static Model * | merge (std::initializer_list< Model * > models) |
| |
| void TBTK::Util::ModelFactory::addHexagonalGeometry |
( |
Model * |
model, |
|
|
std::initializer_list< int > |
size |
|
) |
| |
|
static |
Add geometry information to hexagonal lattice.
| void TBTK::Util::ModelFactory::addSquareGeometry |
( |
Model * |
model, |
|
|
std::initializer_list< int > |
size |
|
) |
| |
|
static |
Add geometry information to square lattice.
| Model * TBTK::Util::ModelFactory::createHexagonalLattice |
( |
std::initializer_list< int > |
size, |
|
|
std::initializer_list< bool > |
periodic, |
|
|
std::complex< double > |
t |
|
) |
| |
|
static |
Create hexagonal lattice with two spins per site and nearest neighbor hopping amplitude t. Unit cell conatins four atom such that the final lattice is rectangualrly shaped.
- Parameters
-
| size | List of ranges. {10, 20}, creates a hexagonal lattice with rectangular dimension 10x20. |
| periodic | Specifies whether given dimension should have periodic boundary conditions or not. |
| t | Nearest neighbor hopping amplitude. |
| static Model* TBTK::Util::ModelFactory::createModel |
( |
const UnitCell & |
unitCell, |
|
|
std::initializer_list< int > |
size, |
|
|
std::initializer_list< bool > |
periodic, |
|
|
const bool * |
includedCells = NULL, |
|
|
const AbstractOperator & |
o = DefaultOperator() |
|
) |
| |
|
static |
Create a model from a UnitCell.
- Parameters
-
| unitCell | Unit cell to repeat. |
| size | Number of unit cells in the final lattice. For example {SIZE_X, SIZE_Y, SIZE_Z} results in a model consisting of SIZE_XxSIZE_YxSIZE_Z unit cells. |
| periodic | Specifies whether a given dimension should have periodic boundary conditions or not. |
| includedCells | a boolean array indicating which unit cells to include in the final lattice. The array should be one dimensional with the layout includeedCell[x*SIZE_Y*SIZE_Z + y*SIZE_Z + z] (TBTK conventional layout with trailing indices most closly packed). If NULL is passed, every unit cell is included. |
| o | Operator to calculate matrix elements for. |
| Model * TBTK::Util::ModelFactory::createSquareLattice |
( |
std::initializer_list< int > |
size, |
|
|
std::initializer_list< bool > |
periodic, |
|
|
std::complex< double > |
t |
|
) |
| |
|
static |
Create square lattice with two spins per site and nearest neighbor hopping amplitude t.
- Parameters
-
| size | List of ranges. {10}, {10, 20}, {10, 20, 30} creates a square lattice of size 10, 10x20, and 10x20x30, respectively. |
| periodic | Specifies whether given dimension should have periodic boundary conditions or not. |
| t | Nearest neighbor hopping amplitude. |
| Model * TBTK::Util::ModelFactory::merge |
( |
std::initializer_list< Model * > |
models | ) |
|
|
static |
The documentation for this class was generated from the following files: