TBTK
BandDiagramGenerator.h
Go to the documentation of this file.
1 /* Copyright 2017 Kristofer Bj√∂rnson
2  *
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
23 #ifndef COM_DAFER45_TBTK_BAND_DIAGRAM_GENERATOR
24 #define COM_DAFER45_TBTK_BAND_DIAGRAM_GENERATOR
25 
26 #include "TBTK/ReciprocalLattice.h"
27 
28 #include <initializer_list>
29 #include <vector>
30 
31 namespace TBTK{
32 
34 public:
37 
39  void setReciprocalLattice(const ReciprocalLattice &reciprocalLattice);
40 
42  std::vector<std::vector<double>> generateBandDiagram(
43  std::initializer_list<std::initializer_list<double>> kPoints,
44  unsigned int resolution,
45  std::initializer_list<std::initializer_list<double>> nestingVectors = {}
46  ) const;
47 private:
49  const ReciprocalLattice *reciprocalLattice;
50 };
51 
53  const ReciprocalLattice &reciprocalLattice
54 ){
55  this->reciprocalLattice = &reciprocalLattice;
56 }
57 
58 }; //End of namespace TBTK
59 
60 #endif
A ReciprocalLattice allows for the creation of a momentum space Model from a UnitCells.
Definition: ReciprocalLattice.h:67
void setReciprocalLattice(const ReciprocalLattice &reciprocalLattice)
Definition: BandDiagramGenerator.h:52
Definition: BandDiagramGenerator.h:33
std::vector< std::vector< double > > generateBandDiagram(std::initializer_list< std::initializer_list< double >> kPoints, unsigned int resolution, std::initializer_list< std::initializer_list< double >> nestingVectors={}) const
Definition: ModelFactory.h:35