Majoranapp
A C++ library for studying MZM in non-interacting systems
ChemicalTerm.hpp
Go to the documentation of this file.
1 #ifndef SPINLESSFILLER_CHEMICALTERM_HPP
2 #define SPINLESSFILLER_CHEMICALTERM_HPP
3 
4 #include "../Hamiltonian.hpp"
5 #include "../EnumGamma.hpp"
6 #include "../SpinfullFiller/ChemicalTerm.hpp"
7 
8 namespace Spinless
9 {
10 
24 {
25 public:
34  template <class T>
35  static void Fill(Hamiltonian<T> &ham, double mu, int i)
36  {
37  ham.InsertBlock(Gamma::UpPlus, i, Gamma::UpMinus, i, -0.5 * mu);
38  //ham.InsertBlock(Gamma::DownPlus, i, Gamma::DownMinus, i, -0.5 * mu);
39  }
40 
41  static const std::string name;
42  static constexpr size_t locality{1};
43 };
44 
46 
47 } // namespace Spinless
48 
49 #endif
Definition: ChemicalTerm.hpp:8
Hamiltonian class for counting MZM in non-interacting systems.
Definition: Hamiltonian.hpp:13
chemical potential term
Definition: ChemicalTerm.hpp:23
static void Fill(Hamiltonian< T > &ham, double mu, int i)
Filler.
Definition: ChemicalTerm.hpp:35
static const std::string name
Definition: ChemicalTerm.hpp:40
static constexpr size_t locality
Definition: ChemicalTerm.hpp:42
static const std::string name
Definition: ChemicalTerm.hpp:41
void InsertBlock(Gamma gammai, int i, Gamma gammaj, int j, double value)
insert block: value * gamma_i^alpha gamma_j^beta
Definition: Hamiltonian.hpp:59