HPhi++  3.1.0
SingleEx.cpp
Go to the documentation of this file.
1 /* HPhi - Quantum Lattice Model Simulator */
2 /* Copyright (C) 2015 The University of Tokyo */
3 
4 /* This program is free software: you can redistribute it and/or modify */
5 /* it under the terms of the GNU General Public License as published by */
6 /* the Free Software Foundation, either version 3 of the License, or */
7 /* (at your option) any later version. */
8 
9 /* This program is distributed in the hope that it will be useful, */
10 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
11 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
12 /* GNU General Public License for more details. */
13 
14 /* You should have received a copy of the GNU General Public License */
15 /* along with this program. If not, see <http://www.gnu.org/licenses/>. */
19 #include "bitcalc.hpp"
20 #include "SingleEx.hpp"
21 #include "SingleExHubbard.hpp"
31  struct BindStruct *X,
32  int nstate,
33  std::complex<double> **tmp_v0,
34  std::complex<double> **tmp_v1,
35  int iEx
36 ) {
37  int iret = 0;
38  //tmp_v0
39  if (X->Def.NSingleExcitationOperator == 0) return TRUE;
40 
41  switch (X->Def.iCalcModel) {
42  case HubbardGC:
43  iret = GetSingleExcitedStateHubbardGC(X, nstate, tmp_v0, tmp_v1, iEx);
44  break;
45 
46  case KondoGC:
47  case Hubbard:
48  case Kondo:
49  iret = GetSingleExcitedStateHubbard(X, nstate, tmp_v0, tmp_v1, iEx);
50  break;
51 
52  case Spin:
53  case SpinGC:
54  iret = FALSE;
55  break;
56 
57  default:
58  iret = FALSE;
59  break;
60  }/*switch (X->Def.iCalcModel)*/
61  return iret;
62 }/*int GetSingleExcitedState*/
struct DefineList Def
Definision of system (Hamiltonian) etc.
Definition: struct.hpp:395
int * NSingleExcitationOperator
Number of single excitaion operator for spectrum.
Definition: struct.hpp:183
int GetSingleExcitedStateHubbardGC(struct BindStruct *X, int nstate, std::complex< double > **tmp_v0, std::complex< double > **tmp_v1, int iEx)
Calculation of Single excited state for Hubbard Grand canonical system.
Bind.
Definition: struct.hpp:394
int GetSingleExcitedStateHubbard(struct BindStruct *X, int nstate, std::complex< double > **tmp_v0, std::complex< double > **tmp_v1, int iEx)
Calculation of Single excited state for Hubbard canonical system.
int GetSingleExcitedState(struct BindStruct *X, int nstate, std::complex< double > **tmp_v0, std::complex< double > **tmp_v1, int iEx)
Calculation of single excited state Target System: Hubbard, Kondo.
Definition: SingleEx.cpp:30
int iCalcModel
Switch for model. 0:Hubbard, 1:Spin, 2:Kondo, 3:HubbardGC, 4:SpinGC, 5:KondoGC, 6:HubbardNConserved.
Definition: struct.hpp:200