23 #ifndef COM_DAFER45_TBTK_MODEL_FACTORY 24 #define COM_DAFER45_TBTK_MODEL_FACTORY 32 #include <initializer_list> 51 std::initializer_list<int> size,
52 std::initializer_list<bool> periodic,
53 std::complex<double> t
68 std::initializer_list<int> size,
69 std::initializer_list<bool> periodic,
70 std::complex<double> t
103 std::initializer_list<int> size,
104 std::initializer_list<bool> periodic,
105 const bool *includedCells = NULL,
112 std::initializer_list<int> size
118 std::initializer_list<int> size
123 std::initializer_list<Model*> models
127 static void createSquareLattice1D(
129 std::initializer_list<int> size,
130 std::initializer_list<bool> periodic,
131 std::complex<double> t
135 static void createSquareLattice2D(
137 std::initializer_list<int> size,
138 std::initializer_list<bool> periodic,
139 std::complex<double> t
143 static void createSquareLattice3D(
145 std::initializer_list<int> size,
146 std::initializer_list<bool> periodic,
147 std::complex<double> t
151 static Model* createModel1D(
153 std::initializer_list<int> size,
154 std::initializer_list<bool> periodic,
155 const bool *includedCells,
160 static Model* createModel2D(
162 std::initializer_list<int> size,
163 std::initializer_list<bool> periodic,
164 const bool *includedCells,
169 static Model* createModel3D(
171 std::initializer_list<int> size,
172 std::initializer_list<bool> periodic,
173 const bool *includedCells,
178 static void addSquareGeometry1D(
180 std::initializer_list<int> size
184 static void addSquareGeometry2D(
186 std::initializer_list<int> size
190 static void addSquareGeometry3D(
192 std::initializer_list<int> size
Tree structure for quick access of multiple States.
Definition: StateTreeNode.h:38
Unit cell that act as container of States.
static void addHexagonalGeometry(Model *model, std::initializer_list< int > size)
Definition: ModelFactory.cpp:342
static Model * createSquareLattice(std::initializer_list< int > size, std::initializer_list< bool > periodic, std::complex< double > t)
Definition: ModelFactory.cpp:32
static Model * merge(std::initializer_list< Model * > models)
Definition: ModelFactory.cpp:370
Definition: ModelFactory.h:38
static Model * createHexagonalLattice(std::initializer_list< int > size, std::initializer_list< bool > periodic, std::complex< double > t)
Definition: ModelFactory.cpp:67
Definition: AbstractOperator.h:30
static Model * createModel(const StateSet &stateSet, const AbstractOperator &o=DefaultOperator())
Definition: ModelFactory.cpp:111
Definition: UnitCell.h:30
Definition: AbstractOperator.h:26
static void addSquareGeometry(Model *model, std::initializer_list< int > size)
Definition: ModelFactory.cpp:319
Definition: DefaultOperator.h:30
Definition: StateSet.h:30
Contains geometric inforamtion about a model.