|
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) |
|
◆ addHexagonalGeometry()
static void TBTK::ModelFactory::addHexagonalGeometry |
( |
Model * |
model, |
|
|
std::initializer_list< int > |
size |
|
) |
| |
|
static |
Add geometry information to hexagonal lattice.
◆ addSquareGeometry()
static void TBTK::ModelFactory::addSquareGeometry |
( |
Model * |
model, |
|
|
std::initializer_list< int > |
size |
|
) |
| |
|
static |
Add geometry information to square lattice.
◆ createHexagonalLattice()
static Model* TBTK::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. |
◆ createModel() [1/3]
◆ createModel() [2/3]
◆ createModel() [3/3]
static Model* TBTK::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. |
◆ createSquareLattice()
static Model* TBTK::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. |
◆ merge()
static Model* TBTK::ModelFactory::merge |
( |
std::initializer_list< Model *> |
models | ) |
|
|
static |
The documentation for this class was generated from the following file:
- /home/kristofer.bjornson/SecondQuantizationCom/TBTK/Lib/include/Builders/TBTK/ModelFactory.h