diff --git a/src/CalcByLOBPCG.c b/src/CalcByLOBPCG.c index b2616869..3f43fccb 100644 --- a/src/CalcByLOBPCG.c +++ b/src/CalcByLOBPCG.c @@ -650,12 +650,14 @@ int CalcByLOBPCG( switch (X->Bind.Def.iCalcModel) { case HubbardGC: case SpinGC: - case KondoGC: case SpinlessFermionGC: initial_mode = 1; // 1 -> random initial vector break; case Hubbard: case Kondo: + case KondoGC: + case tJ: + case tJGC: case Spin: case SpinlessFermion: diff --git a/src/CalcByLanczos.c b/src/CalcByLanczos.c index 63a99088..ab601f89 100644 --- a/src/CalcByLanczos.c +++ b/src/CalcByLanczos.c @@ -69,12 +69,14 @@ int CalcByLanczos( switch(X->Bind.Def.iCalcModel){ case HubbardGC: case SpinGC: - case KondoGC: case SpinlessFermionGC: initial_mode = 1; // 1 -> random initial vector break; case Hubbard: case Kondo: + case KondoGC: + case tJ: + case tJGC: case Spin: case SpinlessFermion: diff --git a/src/CalcSpectrum.c b/src/CalcSpectrum.c index e6d59226..55a251c2 100644 --- a/src/CalcSpectrum.c +++ b/src/CalcSpectrum.c @@ -455,9 +455,12 @@ int MakeExcitedList( case HubbardGC: break; case HubbardNConserved: - case KondoGC: case Hubbard: case Kondo: + case KondoGC: + case tJ: + case tJNConserved: + case tJGC: *iFlgListModifed = TRUE; break; case Spin: @@ -466,13 +469,16 @@ int MakeExcitedList( } } else if (X->Def.NPairExcitationOperator > 0) { switch (X->Def.iCalcModel) { - case HubbardGC: case SpinGC: case HubbardNConserved: - break; + case HubbardGC: case KondoGC: + case tJNConserved: + case tJGC: + break; case Hubbard: case Kondo: + case tJ: case Spin: if (X->Def.PairExcitationOperator[0][1] != X->Def.PairExcitationOperator[0][3]) { *iFlgListModifed = TRUE; @@ -519,6 +525,8 @@ int MakeExcitedList( case HubbardGC: break; case HubbardNConserved: + case KondoNConserved:/*To be confirmed*/ + case tJNConserved:/*To be confirmed*/ if (X->Def.SingleExcitationOperator[0][2] == 1) { //cis X->Def.Ne = X->Def.NeMPI + 1; } @@ -526,9 +534,11 @@ int MakeExcitedList( X->Def.Ne = X->Def.NeMPI - 1; } break; - case KondoGC: case Hubbard: case Kondo: + case KondoGC: + case tJ: + case tJGC: if (X->Def.SingleExcitationOperator[0][2] == 1) { //cis X->Def.Ne = X->Def.NeMPI + 1; if (X->Def.SingleExcitationOperator[0][1] == 0) {//up @@ -557,13 +567,17 @@ int MakeExcitedList( } else if (X->Def.NPairExcitationOperator > 0) { X->Def.Ne=X->Def.NeMPI; switch (X->Def.iCalcModel) { - case HubbardGC: case SpinGC: case HubbardNConserved: + case HubbardGC: + case KondoNConserved:/*To be confirmed*/ + case tJNConserved:/*To be confirmed*/ break; - case KondoGC: case Hubbard: case Kondo: + case KondoGC: + case tJ: + case tJGC: if (X->Def.PairExcitationOperator[0][1] != X->Def.PairExcitationOperator[0][3]) { if (X->Def.PairExcitationOperator[0][1] == 0) {//up X->Def.Nup = X->Def.NupOrg + 1; diff --git a/src/CheckMPI.c b/src/CheckMPI.c index f4c09520..bda32c9e 100644 --- a/src/CheckMPI.c +++ b/src/CheckMPI.c @@ -41,6 +41,9 @@ int CheckMPI(struct BindStruct *X/**< [inout] */) case Kondo: case KondoNConserved: case KondoGC: + case tJ: + case tJNConserved: + case tJGC: /**@brief
  • For Hubbard & Kondo @@ -79,6 +82,7 @@ int CheckMPI(struct BindStruct *X/**< [inout] */) switch (X->Def.iCalcModel) /*2 (inner)*/ { case Hubbard: + case tJ: /**@brief
  • For canonical Hubbard DefineList::Nup, DefineList::Ndown, and DefineList::Ne should be @@ -106,6 +110,8 @@ int CheckMPI(struct BindStruct *X/**< [inout] */) break;/*case Hubbard:*/ case HubbardNConserved: + case tJNConserved: + case tJGC:/*is this correct?*/ /**@brief
  • For N-conserved canonical Hubbard DefineList::Ne should be differerent in each PE.
  • @@ -319,11 +325,15 @@ void CheckMPI_Summary(struct BindStruct *X/**< [inout] */) { fprintf(stdoutMPI, " Site Bit\n"); for (isite = 0; isite < X->Def.Nsite; isite++) { switch (X->Def.iCalcModel) { - case HubbardGC: case Hubbard: case HubbardNConserved: + case HubbardGC: case Kondo: + case KondoNConserved: case KondoGC: + case tJ: + case tJNConserved: + case tJGC: fprintf(stdoutMPI, " %4d %4d\n", isite, 4); break; @@ -347,11 +357,15 @@ void CheckMPI_Summary(struct BindStruct *X/**< [inout] */) { fprintf(stdoutMPI, " Site Bit\n"); for (isite = X->Def.Nsite; isite < X->Def.NsiteMPI; isite++) { switch (X->Def.iCalcModel) { - case HubbardGC: case Hubbard: case HubbardNConserved: + case HubbardGC: case Kondo: + case KondoNConserved: case KondoGC: + case tJ: + case tJNConserved: + case tJGC: fprintf(stdoutMPI, " %4d %4d\n", isite, 4); break; @@ -405,11 +419,15 @@ void CheckMPI_Summary(struct BindStruct *X/**< [inout] */) { as a binary (excepting general spin) format. */ switch (X->Def.iCalcModel) { - case HubbardGC: /****************************************************/ case Hubbard: case HubbardNConserved: + case HubbardGC: /****************************************************/ case Kondo: + case KondoNConserved: case KondoGC: + case tJ: + case tJNConserved: + case tJGC: SmallDim = iproc; for (isite = X->Def.Nsite; isite < X->Def.NsiteMPI; isite++) { @@ -467,11 +485,15 @@ void CheckMPI_Summary(struct BindStruct *X/**< [inout] */) { affected by the number of processes. */ switch (X->Def.iCalcModel) { - case HubbardGC: /****************************************************/ case Hubbard: case HubbardNConserved: + case HubbardGC: /****************************************************/ case Kondo: + case KondoNConserved: case KondoGC: + case tJ: + case tJNConserved: + case tJGC: X->Def.Tpow[2 * X->Def.Nsite] = 1; for (isite = 2 * X->Def.Nsite + 1; isite < 2 * X->Def.NsiteMPI; isite++) diff --git a/src/PairEx.c b/src/PairEx.c index 5d64e29b..6b872e4a 100644 --- a/src/PairEx.c +++ b/src/PairEx.c @@ -76,9 +76,11 @@ int GetPairExcitedState iret=GetPairExcitedStateHubbardGC(X, tmp_v0, tmp_v1); break; - case KondoGC: case Hubbard: case Kondo: + case KondoGC: + case tJ: + case tJGC: iret=GetPairExcitedStateHubbard(X, tmp_v0, tmp_v1); break; diff --git a/src/SingleEx.c b/src/SingleEx.c index 4f79d340..ea56d0bb 100644 --- a/src/SingleEx.c +++ b/src/SingleEx.c @@ -41,9 +41,11 @@ int GetSingleExcitedState( iret = GetSingleExcitedStateHubbardGC(X, tmp_v0, tmp_v1); break; - case KondoGC: case Hubbard: case Kondo: + case KondoGC: + case tJ: + case tJGC: iret = GetSingleExcitedStateHubbard(X, tmp_v0, tmp_v1); break; diff --git a/src/bitcalc.c b/src/bitcalc.c index dd1e1c16..89527c74 100644 --- a/src/bitcalc.c +++ b/src/bitcalc.c @@ -85,12 +85,15 @@ int GetSplitBitByModel( { int tmpNsite=Nsite; switch(iCalcModel){ + case Hubbard: case HubbardGC: - case KondoGC: case HubbardNConserved: - case Hubbard: case Kondo: case KondoNConserved: + case KondoGC: + case tJ: + case tJNConserved: + case tJGC: tmpNsite *= 2; break; case Spin: diff --git a/src/check.c b/src/check.c index 7339e87b..e6ec045b 100644 --- a/src/check.c +++ b/src/check.c @@ -273,6 +273,9 @@ int check(struct BindStruct *X){ case Kondo: case KondoNConserved: case KondoGC: + case tJ: + case tJNConserved: + case tJGC: case Spin: X->Check.max_mem = 5.5 * X->Check.idim_max * 8.0 / (pow(10, 9)); break; @@ -289,6 +292,9 @@ int check(struct BindStruct *X){ case Kondo: case KondoNConserved: case KondoGC: + case tJ: + case tJNConserved: + case tJGC: case Spin: X->Check.max_mem = (6 * X->Def.k_exct + 2) * X->Check.idim_max * 16.0 / (pow(10, 9)); break; @@ -306,6 +312,9 @@ int check(struct BindStruct *X){ case Kondo: case KondoNConserved: case KondoGC: + case tJ: + case tJNConserved: + case tJGC: case Spin: if (X->Def.iFlgCalcSpec != CALCSPEC_NOT) { X->Check.max_mem = (2) * X->Check.idim_max * 16.0 / (pow(10, 9)); diff --git a/src/diagonalcalc.c b/src/diagonalcalc.c index 008e49d8..31612fa6 100644 --- a/src/diagonalcalc.c +++ b/src/diagonalcalc.c @@ -278,10 +278,11 @@ int SetDiagonalCoulombIntra switch (X->Def.iCalcModel) { case HubbardGC: - case KondoGC: case Hubbard: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: is1_up = X->Def.Tpow[2 * isite1 - 2]; is1_down = X->Def.Tpow[2 * isite1 - 1]; @@ -327,10 +328,11 @@ int SetDiagonalCoulombIntra } break; - case KondoGC: case Hubbard: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: is1_up = X->Def.Tpow[2*isite1-2]; is1_down = X->Def.Tpow[2*isite1-1]; is=is1_up+is1_down; @@ -395,11 +397,12 @@ int SetDiagonalChemi switch (X->Def.iCalcModel) { - case HubbardGC: - case KondoGC: case Hubbard: + case HubbardGC: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: if (spin == 0) { is1 = X->Def.Tpow[2 * isite1 - 2]; @@ -463,10 +466,11 @@ firstprivate(i_max, dtmp_V) private(j) list_Diagonal[j]+=num1*dtmp_V; } break; - case KondoGC: case Hubbard: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: if(spin==0){ is1 = X->Def.Tpow[2*isite1-2]; }else{ @@ -582,11 +586,12 @@ int SetDiagonalCoulombInter switch (X->Def.iCalcModel) { - case HubbardGC: - case KondoGC: case Hubbard: + case HubbardGC: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: is1_up = X->Def.Tpow[2 * isite1 - 2]; is1_down = X->Def.Tpow[2 * isite1 - 1]; @@ -633,10 +638,11 @@ int SetDiagonalCoulombInter switch(X->Def.iCalcModel){ case HubbardGC: - case KondoGC: case Hubbard: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: is1_up = X->Def.Tpow[2 * isite1 - 2]; is1_down = X->Def.Tpow[2 * isite1 - 1]; is2_up = X->Def.Tpow[2 * isite2 - 2]; @@ -676,10 +682,11 @@ private(num1, ibit1_up, ibit1_down, j) break;/*case HubbardGC*/ - case KondoGC: case Hubbard: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: #pragma omp parallel for default(none) shared(list_1, list_Diagonal) \ firstprivate(i_max, dtmp_V, is1_up, is1_down, num2) \ @@ -736,10 +743,11 @@ private(num1, ibit1_up, ibit1_down, j) list_Diagonal[j]+=num1*num2*dtmp_V; } break; - case KondoGC: case Hubbard: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: is1_up = X->Def.Tpow[2*isite1-2]; is1_down = X->Def.Tpow[2*isite1-1]; is2_up = X->Def.Tpow[2*isite2-2]; @@ -827,11 +835,12 @@ int SetDiagonalHund switch (X->Def.iCalcModel) { - case HubbardGC: - case KondoGC: case Hubbard: + case HubbardGC: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: is1_up = X->Def.Tpow[2 * isite1 - 2]; is1_down = X->Def.Tpow[2 * isite1 - 1]; @@ -917,10 +926,11 @@ private(num1_up, num1_down, ibit1_up, ibit1_down, j) } break;/*case HubbardGC:*/ - case KondoGC: case Hubbard: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: is1_up = X->Def.Tpow[2 * isite1 - 2]; is1_down = X->Def.Tpow[2 * isite1 - 1]; @@ -1042,10 +1052,11 @@ firstprivate(i_max, dtmp_V, is1_up) private(j, ibit1_up) list_Diagonal[j]+=dtmp_V*(num1_up*num2_up+num1_down*num2_down); } break; - case KondoGC: case Hubbard: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: is1_up = X->Def.Tpow[2*isite1-2]; is1_down = X->Def.Tpow[2*isite1-1]; is2_up = X->Def.Tpow[2*isite2-2]; @@ -1163,11 +1174,12 @@ int SetDiagonalInterAll switch (X->Def.iCalcModel) { - case HubbardGC: - case KondoGC: case Hubbard: + case HubbardGC: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: is1_spin = X->Def.Tpow[2 * isite1 - 2 + isigma1]; is2_spin = X->Def.Tpow[2 * isite2 - 2 + isigma2]; @@ -1247,10 +1259,11 @@ firstprivate(i_max, dtmp_V, is1_spin, num2) private(num1, ibit1_spin, j) } break;/*case HubbardGC:*/ - case KondoGC: case Hubbard: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: is1_spin = X->Def.Tpow[2 * isite1 - 2 + isigma1]; is2_spin = X->Def.Tpow[2 * isite2 - 2 + isigma2]; @@ -1352,10 +1365,11 @@ firstprivate(i_max, dtmp_V, isite1, isigma1, X) private(j, num1) list_Diagonal[j]+=num1*num2*dtmp_V; } break; - case KondoGC: case Hubbard: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: is1_spin = X->Def.Tpow[2*isite1-2+isigma1]; is2_spin = X->Def.Tpow[2*isite2-2+isigma2]; @@ -1490,11 +1504,12 @@ int SetDiagonalTEInterAll( switch (X->Def.iCalcModel) { - case HubbardGC: - case KondoGC: case Hubbard: + case HubbardGC: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: is1_spin = X->Def.Tpow[2 * isite1 - 2 + isigma1]; is2_spin = X->Def.Tpow[2 * isite2 - 2 + isigma2]; num1 = 0; @@ -1564,10 +1579,11 @@ firstprivate(i_max, dtmp_V) private(j) } break;/*case HubbardGC:*/ - case KondoGC: case Hubbard: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: is1_spin = X->Def.Tpow[2 * isite1 - 2 + isigma1]; is2_spin = X->Def.Tpow[2 * isite2 - 2 + isigma2]; @@ -1680,10 +1696,11 @@ firstprivate(i_max, dtmp_V, isite1, isigma1, X) private(j, num1) dam_pr += dtmp_V * num1*num2*conj(tmp_v1[j]) * tmp_v1[j]; } break; - case KondoGC: case Hubbard: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: is1_spin = X->Def.Tpow[2*isite1-2+isigma1]; is2_spin = X->Def.Tpow[2*isite2-2+isigma2]; @@ -1804,11 +1821,12 @@ int SetDiagonalTEChemi( switch (X->Def.iCalcModel) { - case HubbardGC: - case KondoGC: case Hubbard: + case HubbardGC: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: if (spin == 0) { is1 = X->Def.Tpow[2 * isite1 - 2]; @@ -1868,10 +1886,11 @@ firstprivate(i_max, dtmp_V) private(j) dam_pr += dtmp_V * num1*conj(tmp_v1[j]) * tmp_v1[j]; } break; - case KondoGC: case Hubbard: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: if(spin==0){ is1 = X->Def.Tpow[2*isite1-2]; }else{ @@ -1985,11 +2004,12 @@ int SetDiagonalTETransfer switch (X->Def.iCalcModel) { - case HubbardGC: - case KondoGC: case Hubbard: + case HubbardGC: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: if (spin == 0) { is1 = X->Def.Tpow[2 * isite1 - 2]; } @@ -2045,10 +2065,11 @@ int SetDiagonalTETransfer } break; - case KondoGC: case Hubbard: case Kondo: - case KondoNConserved: + case KondoGC: + case tJ: + case tJGC: if (spin == 0) { is1 = X->Def.Tpow[2 * isite1 - 2]; } else { diff --git a/src/expec_cisajs.c b/src/expec_cisajs.c index c2b2f789..22b089bd 100644 --- a/src/expec_cisajs.c +++ b/src/expec_cisajs.c @@ -133,9 +133,11 @@ int expec_cisajs(struct BindStruct *X,double complex *vec){ } break; - case KondoGC: case Hubbard: case Kondo: + case KondoGC: + case tJ: + case tJGC: if(expec_cisajs_Hubbard(X, vec, &fp)!=0){ return -1; } diff --git a/src/expec_cisajscktaltdc.c b/src/expec_cisajscktaltdc.c index 2b760349..2aec9a7b 100644 --- a/src/expec_cisajscktaltdc.c +++ b/src/expec_cisajscktaltdc.c @@ -180,8 +180,6 @@ int expec_cisajscktaltdc fp_4 = fp; } - - switch(X->Def.iCalcModel){ case HubbardGC: if(expec_cisajscktalt_HubbardGC(X, vec, &fp)!=0){ @@ -189,9 +187,11 @@ int expec_cisajscktaltdc } break; - case KondoGC: case Hubbard: case Kondo: + case KondoGC: + case tJ: + case tJGC: if(expec_cisajscktalt_Hubbard(X, vec, &fp)!=0){ return -1; } diff --git a/src/expec_energy_flct.c b/src/expec_energy_flct.c index d022d250..eec53003 100644 --- a/src/expec_energy_flct.c +++ b/src/expec_energy_flct.c @@ -86,9 +86,11 @@ int expec_energy_flct(struct BindStruct *X){ case HubbardGC: expec_energy_flct_HubbardGC(X); break; - case KondoGC: case Hubbard: case Kondo: + case KondoGC: + case tJ: + case tJGC: expec_energy_flct_Hubbard(X); break; diff --git a/src/expec_totalspin.c b/src/expec_totalspin.c index d7dd5c3f..aca66e20 100644 --- a/src/expec_totalspin.c +++ b/src/expec_totalspin.c @@ -61,12 +61,14 @@ int expec_totalspin case SpinGC: totalspin_SpinGC(X,vec); break; - case Hubbard: - case Kondo: + case Hubbard: + case Kondo: + case KondoGC: + case tJ: + case tJGC: totalspin_Hubbard(X,vec); break; case HubbardGC: - case KondoGC: totalspin_HubbardGC(X,vec); break; default: diff --git a/src/makeHam.c b/src/makeHam.c index d492bce1..24fad5c9 100644 --- a/src/makeHam.c +++ b/src/makeHam.c @@ -210,9 +210,11 @@ int makeHam(struct BindStruct *X) { } } break; - case KondoGC: case Hubbard: case Kondo: + case KondoGC: + case tJ: + case tJGC: //Transfer for (i = 0; i < X->Def.EDNTransfer / 2; i++) { for (ihermite = 0; ihermite < 2; ihermite++) { diff --git a/src/mltply.c b/src/mltply.c index bd72ef1d..2f851a80 100644 --- a/src/mltply.c +++ b/src/mltply.c @@ -108,9 +108,11 @@ int mltply(struct BindStruct *X, double complex *tmp_v0,double complex *tmp_v1) mltplyHubbardGC(X, tmp_v0, tmp_v1); break; - case KondoGC: case Hubbard: case Kondo: + case KondoGC: + case tJ: + case tJGC: mltplyHubbard(X, tmp_v0, tmp_v1); break; diff --git a/src/output.c b/src/output.c index 64b027fe..4b2e4923 100644 --- a/src/output.c +++ b/src/output.c @@ -36,11 +36,13 @@ int output(struct BindStruct *X) { case Spin: case Hubbard: case Kondo: + case tJ: sprintf(sdt, cFileNamePhys_FullDiag, X->Def.CDataFileHead, X->Def.Nup, X->Def.Ndown); break; case SpinGC: case HubbardGC: case KondoGC: + case tJGC: sprintf(sdt, cFileNamePhys_FullDiag_GC, X->Def.CDataFileHead); break; default: diff --git a/src/output_list.c b/src/output_list.c index da3f8550..504bae85 100644 --- a/src/output_list.c +++ b/src/output_list.c @@ -48,6 +48,8 @@ int output_list(struct BindStruct *X){ switch(X->Def.iCalcModel){ case HubbardGC: case Hubbard: + case tJGC: + case tJ: case Spin: case SpinGC: sprintf(sdt, cFileNameListModel, X->Def.Nsite,X->Def.Nup,X->Def.Ndown); diff --git a/src/readdef.c b/src/readdef.c index 5fc5169b..14c7b4ad 100644 --- a/src/readdef.c +++ b/src/readdef.c @@ -848,6 +848,7 @@ int ReadDefFileNInt( switch(X->iCalcModel){ case Spin: case Hubbard: + case tJ: case Kondo: case SpinlessFermion: @@ -870,13 +871,20 @@ int ReadDefFileNInt( X->Nup/=2; X->Ndown/=2; }else{ - if(X->iCalcModel == Hubbard){ + if(X->iCalcModel == Hubbard ){ X->Ne=X->NCond; if(X->Ne <1){ fprintf(stdoutMPI, "Ncond is incorrect.\n"); return(-1); } X->iCalcModel=HubbardNConserved; + }else if(X->iCalcModel == tJ ){ + X->Ne=X->NCond; + if(X->Ne <1){ + fprintf(stdoutMPI, "Ncond is incorrect.\n"); + return(-1); + } + X->iCalcModel=tJNConserved; }else if(X->iCalcModel == Kondo){ X->Ne=X->NCond + X->NLocSpn; if(X->Ne <1){ @@ -936,6 +944,7 @@ int ReadDefFileNInt( case SpinGC: case KondoGC: case HubbardGC: + case tJGC: case SpinlessFermionGC: if(iReadNCond == TRUE || X->iFlgSzConserved ==TRUE){ fprintf(stdoutMPI, "\n Warning: For GC, both Ncond and 2Sz should not be defined.\n"); @@ -2483,9 +2492,13 @@ int GetDiagonalInterAll switch(iCalcModel){ case Hubbard: case HubbardNConserved: + case HubbardGC: case Kondo: + case KondoNConserved: case KondoGC: - case HubbardGC: + case tJ: + case tJNConserved: + case tJGC: if(isigma1 == isigma2 && isigma3 == isigma4){ for(tmp_i=0; tmp_i<8; tmp_i++){ InterAllOffDiagonal[icnt_offdiagonal][tmp_i]=InterAll[i][tmp_i]; @@ -2734,6 +2747,9 @@ int CheckLocSpin case Hubbard: case HubbardNConserved: case HubbardGC: + case tJ: + case tJNConserved: + case tJGC: case SpinlessFermion: case SpinlessFermionGC: for(i=0; iNsite; i++){ diff --git a/src/sz.c b/src/sz.c index 75b48aa9..4f0111bf 100644 --- a/src/sz.c +++ b/src/sz.c @@ -422,13 +422,16 @@ int sz( TimeKeeper(X, cFileNameSzTimeKeep, cOMPSzFinish, "a"); TimeKeeper(X, cFileNameTimeKeep, cOMPSzFinish, "a"); } - + /* NConserved -> Normal */ if(X->Def.iFlgCalcSpec == CALCSPEC_NOT){ - if(X->Def.iCalcModel==HubbardNConserved){ - X->Def.iCalcModel=Hubbard; + if(X->Def.iCalcModel == HubbardNConserved){ + X->Def.iCalcModel = Hubbard; + } + if(X->Def.iCalcModel == KondoNConserved){ + X->Def.iCalcModel = Kondo; } - if(X->Def.iCalcModel==KondoNConserved){ - X->Def.iCalcModel=Hubbard; + if(X->Def.iCalcModel == tJNConserved){ + X->Def.iCalcModel = tJ; } } diff --git a/src/time.c b/src/time.c index f40e28b4..1bb2b3a1 100644 --- a/src/time.c +++ b/src/time.c @@ -194,6 +194,8 @@ void OutputTimer(struct BindStruct *X) { break; case Hubbard: + case tJ: + case tJGC: StampTime(fp," Hubbard", 300); StampTime(fp," trans in Hubbard", 310); StampTime(fp," double", 311); diff --git a/src/xsetmem.c b/src/xsetmem.c index 7478b303..6b54ca58 100644 --- a/src/xsetmem.c +++ b/src/xsetmem.c @@ -296,6 +296,9 @@ int setmem_large case Kondo: case KondoNConserved: case KondoGC: + case tJ: + case tJNConserved: + case tJGC: if (X->Def.iFlgGeneralSpin == FALSE) { if (X->Def.iCalcModel == Spin && X->Def.Nsite % 2 == 1) { X->Large.SizeOflist_2_1 = X->Check.sdim * 2 + 2;