HΦ
3.2.0
|
File for calculating two-body green's functions. More...
#include "mltply.h"
#include "mltplyCommon.h"
#include "FileIO.h"
#include "bitcalc.h"
#include "expec_cisajscktaltdc.h"
#include "mltplySpinCore.h"
#include "mltplyHubbardCore.h"
#include "wrapperMPI.h"
#include "mltplyMPISpin.h"
#include "mltplyMPISpinCore.h"
#include "mltplyMPIHubbardCore.h"
Go to the source code of this file.
Functions | |
int | expec_cisajscktalt_HubbardGC (struct BindStruct *X, double complex *vec, FILE **_fp) |
Child function to calculate two-body green's functions for Hubbard GC model. More... | |
int | expec_cisajscktalt_Hubbard (struct BindStruct *X, double complex *vec, FILE **_fp) |
Child function to calculate two-body green's functions for Hubbard model. More... | |
int | expec_cisajscktalt_Spin (struct BindStruct *X, double complex *vec, FILE **_fp) |
Parent function to calculate two-body green's functions for Spin model. More... | |
int | expec_cisajscktalt_SpinHalf (struct BindStruct *X, double complex *vec, FILE **_fp) |
Child function to calculate two-body green's functions for 1/2 Spin model. More... | |
int | expec_cisajscktalt_SpinGeneral (struct BindStruct *X, double complex *vec, FILE **_fp) |
Child function to calculate two-body green's functions for General Spin model. More... | |
int | expec_cisajscktalt_SpinGC (struct BindStruct *X, double complex *vec, FILE **_fp) |
Parent function to calculate two-body green's functions for Spin GC model. More... | |
int | expec_cisajscktalt_SpinGCHalf (struct BindStruct *X, double complex *vec, FILE **_fp) |
Child function to calculate two-body green's functions for 1/2 Spin GC model. More... | |
int | expec_cisajscktalt_SpinGCGeneral (struct BindStruct *X, double complex *vec, FILE **_fp) |
Child function to calculate two-body green's functions for General Spin GC model. More... | |
int | Rearray_Interactions (int i, long unsigned int *org_isite1, long unsigned int *org_isite2, long unsigned int *org_isite3, long unsigned int *org_isite4, long unsigned int *org_sigma1, long unsigned int *org_sigma2, long unsigned int *org_sigma3, long unsigned int *org_sigma4, double complex *tmp_V, struct BindStruct *X) |
Rearray interactions. More... | |
int | expec_cisajscktaltdc (struct BindStruct *X, double complex *vec) |
Parent function to calculate two-body green's functions. More... | |
File for calculating two-body green's functions.
add function to treat the case of general spin
Definition in file expec_cisajscktaltdc.c.
int expec_cisajscktalt_Hubbard | ( | struct BindStruct * | X, |
double complex * | vec, | ||
FILE ** | _fp | ||
) |
Child function to calculate two-body green's functions for Hubbard model.
X | [in] data list for calculation |
vec | [in] eigenvectors |
_fp | [in] output file name |
0 | normally finished |
-1 | abnormally finished |
Definition at line 430 of file expec_cisajscktaltdc.c.
References LargeList::A_spin, LargeList::B_spin, CheckPE(), child_CisAisCisAis_element(), child_CisAisCjtAku_element(), child_CisAjtCkuAku_element(), child_CisAjtCkuAlv_element(), child_general_int_GetInfo(), DefineList::CisAjtCkuAlvDC, BindStruct::Def, LargeList::i_max, DefineList::iFlgSzConserved, LargeList::is1_spin, LargeList::is2_spin, LargeList::is3_spin, LargeList::is4_spin, LargeList::isA_spin, LargeList::isB_spin, BindStruct::Large, DefineList::NCisAjtCkuAlvDC, DefineList::OrgTpow, SumMPI_dc(), TRUE, X_child_CisAisCjtAjt_Hubbard_MPI(), X_child_CisAisCjtAku_Hubbard_MPI(), X_child_CisAjtCkuAku_Hubbard_MPI(), and X_child_CisAjtCkuAlv_Hubbard_MPI().
Referenced by expec_cisajscktaltdc().
int expec_cisajscktalt_HubbardGC | ( | struct BindStruct * | X, |
double complex * | vec, | ||
FILE ** | _fp | ||
) |
Child function to calculate two-body green's functions for Hubbard GC model.
X | [in] data list for calculation |
vec | [in] eigenvectors |
_fp | [in] output file name |
0 | normally finished |
-1 | abnormally finished |
Definition at line 312 of file expec_cisajscktaltdc.c.
References LargeList::A_spin, LargeList::B_spin, CheckPE(), child_general_int_GetInfo(), DefineList::CisAjtCkuAlvDC, BindStruct::Def, GC_child_CisAisCisAis_element(), GC_child_CisAisCjtAku_element(), GC_child_CisAjtCkuAku_element(), GC_child_CisAjtCkuAlv_element(), LargeList::i_max, LargeList::is1_spin, LargeList::is2_spin, LargeList::is3_spin, LargeList::is4_spin, LargeList::isA_spin, LargeList::isB_spin, BindStruct::Large, DefineList::NCisAjtCkuAlvDC, DefineList::OrgTpow, SumMPI_dc(), TRUE, X_GC_child_CisAisCjtAjt_Hubbard_MPI(), X_GC_child_CisAisCjtAku_Hubbard_MPI(), X_GC_child_CisAjtCkuAku_Hubbard_MPI(), and X_GC_child_CisAjtCkuAlv_Hubbard_MPI().
Referenced by expec_cisajscktaltdc().
int expec_cisajscktalt_Spin | ( | struct BindStruct * | X, |
double complex * | vec, | ||
FILE ** | _fp | ||
) |
Parent function to calculate two-body green's functions for Spin model.
X | [in] data list for calculation |
vec | [in] eigenvectors |
_fp | [in] output file name |
0 | normally finished |
-1 | abnormally finished |
Definition at line 551 of file expec_cisajscktaltdc.c.
References BindStruct::Def, expec_cisajscktalt_SpinGeneral(), expec_cisajscktalt_SpinHalf(), FALSE, and DefineList::iFlgGeneralSpin.
Referenced by expec_cisajscktaltdc().
int expec_cisajscktalt_SpinGC | ( | struct BindStruct * | X, |
double complex * | vec, | ||
FILE ** | _fp | ||
) |
Parent function to calculate two-body green's functions for Spin GC model.
X | [in] data list for calculation |
vec | [in] eigenvectors |
_fp | [in] output file name |
0 | normally finished |
-1 | abnormally finished |
Definition at line 820 of file expec_cisajscktaltdc.c.
References BindStruct::Def, expec_cisajscktalt_SpinGCGeneral(), expec_cisajscktalt_SpinGCHalf(), FALSE, and DefineList::iFlgGeneralSpin.
Referenced by expec_cisajscktaltdc().
int expec_cisajscktalt_SpinGCGeneral | ( | struct BindStruct * | X, |
double complex * | vec, | ||
FILE ** | _fp | ||
) |
Child function to calculate two-body green's functions for General Spin GC model.
X | [in] data list for calculation |
vec | [in] eigenvectors |
_fp | [in] output file name |
0 | normally finished |
-1 | abnormally finished |
Definition at line 951 of file expec_cisajscktaltdc.c.
References BitCheckGeneral(), BindStruct::Check, DefineList::CisAjtCkuAlvDC, BindStruct::Def, FALSE, GetOffCompGeneralSpin(), CheckList::idim_max, BindStruct::Large, LargeList::mode, DefineList::NCisAjtCkuAlvDC, DefineList::Nsite, Rearray_Interactions(), DefineList::SiteToBit, SumMPI_dc(), DefineList::Tpow, X_GC_child_CisAisCjuAju_GeneralSpin_MPIdouble(), X_GC_child_CisAisCjuAju_GeneralSpin_MPIsingle(), X_GC_child_CisAisCjuAjv_GeneralSpin_MPIdouble(), X_GC_child_CisAisCjuAjv_GeneralSpin_MPIsingle(), X_GC_child_CisAitCjuAju_GeneralSpin_MPIdouble(), X_GC_child_CisAitCjuAju_GeneralSpin_MPIsingle(), X_GC_child_CisAitCjuAjv_GeneralSpin_MPIdouble(), and X_GC_child_CisAitCjuAjv_GeneralSpin_MPIsingle().
Referenced by expec_cisajscktalt_SpinGC().
int expec_cisajscktalt_SpinGCHalf | ( | struct BindStruct * | X, |
double complex * | vec, | ||
FILE ** | _fp | ||
) |
Child function to calculate two-body green's functions for 1/2 Spin GC model.
X | [in] data list for calculation |
vec | [in] eigenvectors |
_fp | [in] output file name |
0 | normally finished |
-1 | abnormally finished |
Definition at line 840 of file expec_cisajscktaltdc.c.
References BindStruct::Check, DefineList::CisAjtCkuAlvDC, BindStruct::Def, GC_child_CisAisCisAis_spin_element(), GC_child_CisAisCitAiu_spin_element(), GC_child_CisAitCiuAiu_spin_element(), GC_child_CisAitCiuAiv_spin_element(), CheckList::idim_max, DefineList::NCisAjtCkuAlvDC, DefineList::Nsite, Rearray_Interactions(), SumMPI_dc(), DefineList::Tpow, X_GC_child_CisAis_spin_MPIdouble(), X_GC_child_CisAisCjuAju_spin_MPIdouble(), X_GC_child_CisAisCjuAju_spin_MPIsingle(), X_GC_child_CisAisCjuAjv_spin_MPIdouble(), X_GC_child_CisAisCjuAjv_spin_MPIsingle(), X_GC_child_CisAitCiuAiv_spin_MPIdouble(), X_GC_child_CisAitCiuAiv_spin_MPIsingle(), X_GC_child_CisAitCjuAju_spin_MPIdouble(), and X_GC_child_CisAitCjuAju_spin_MPIsingle().
Referenced by expec_cisajscktalt_SpinGC().
int expec_cisajscktalt_SpinGeneral | ( | struct BindStruct * | X, |
double complex * | vec, | ||
FILE ** | _fp | ||
) |
Child function to calculate two-body green's functions for General Spin model.
X | [in] data list for calculation |
vec | [in] eigenvectors |
_fp | [in] output file name |
0 | normally finished |
-1 | abnormally finished |
Definition at line 703 of file expec_cisajscktaltdc.c.
References BitCheckGeneral(), BindStruct::Check, DefineList::CisAjtCkuAlvDC, ConvertToList1GeneralSpin(), BindStruct::Def, FALSE, GetLocal2Sz(), GetOffCompGeneralSpin(), CheckList::idim_max, BindStruct::Large, list_1, LargeList::mode, DefineList::NCisAjtCkuAlvDC, DefineList::Nsite, Rearray_Interactions(), CheckList::sdim, DefineList::SiteToBit, SumMPI_dc(), DefineList::Tpow, X_child_CisAisCjuAju_GeneralSpin_MPIdouble(), X_child_CisAisCjuAju_GeneralSpin_MPIsingle(), X_child_CisAitCjuAjv_GeneralSpin_MPIdouble(), and X_child_CisAitCjuAjv_GeneralSpin_MPIsingle().
Referenced by expec_cisajscktalt_Spin().
int expec_cisajscktalt_SpinHalf | ( | struct BindStruct * | X, |
double complex * | vec, | ||
FILE ** | _fp | ||
) |
Child function to calculate two-body green's functions for 1/2 Spin model.
X | [in] data list for calculation |
vec | [in] eigenvectors |
_fp | [in] output file name |
0 | normally finished |
-1 | abnormally finished |
Definition at line 571 of file expec_cisajscktaltdc.c.
References BindStruct::Check, child_CisAisCisAis_spin_element(), DefineList::CisAjtCkuAlvDC, BindStruct::Def, CheckList::idim_max, BindStruct::Large, LargeList::mode, myrank, DefineList::NCisAjtCkuAlvDC, DefineList::Nsite, Rearray_Interactions(), SumMPI_dc(), DefineList::Tpow, X_child_exchange_spin_element(), X_child_general_int_spin_MPIdouble(), X_child_general_int_spin_MPIsingle(), X_Spin_CisAis(), and X_SpinGC_CisAis().
Referenced by expec_cisajscktalt_Spin().
int expec_cisajscktaltdc | ( | struct BindStruct * | X, |
double complex * | vec | ||
) |
Parent function to calculate two-body green's functions.
X | [in] data list for calculation |
vec | [in] eigenvectors |
0 | normally finished |
-1 | abnormally finished |
add function to treat the case of general spin
Definition at line 85 of file expec_cisajscktaltdc.c.
References cCGExpecTwoBodyGFinish, cCGExpecTwoBodyGStart, DefineList::CDataFileHead, cFileName2BGreen_CG, cFileName2BGreen_FullDiag, cFileName2BGreen_Lanczos, cFileName2BGreen_TE, cFileName2BGreen_TPQ, cFileNameTimeKeep, childfopenMPI(), cLanczosExpecTwoBodyGFinish, cLanczosExpecTwoBodyGStart, cLogCGExpecTwoBodyGFinish, cLogLanczosExpecTwoBodyGFinish, cLogLanczosExpecTwoBodyGStart, cTEExpecTwoBodyGFinish, cTEExpecTwoBodyGStart, cTPQExpecTwoBodyGFinish, cTPQExpecTwoBodyGStart, D_FileNameMax, BindStruct::Def, PhysList::eigen_num, expec_cisajscktalt_Hubbard(), expec_cisajscktalt_HubbardGC(), expec_cisajscktalt_Spin(), expec_cisajscktalt_SpinGC(), GetSplitBitByModel(), DefineList::iCalcModel, DefineList::iCalcType, DefineList::irand, DefineList::istep, BindStruct::Large, LargeList::mode, DefineList::NCisAjtCkuAlvDC, DefineList::Nsite, BindStruct::Phys, DefineList::St, stdoutMPI, TimeKeeper(), TimeKeeperWithRandAndStep(), and TimeKeeperWithStep().
Referenced by CalcByLanczos(), CalcByTEM(), CalcByTPQ(), and phys().
int Rearray_Interactions | ( | int | i, |
long unsigned int * | org_isite1, | ||
long unsigned int * | org_isite2, | ||
long unsigned int * | org_isite3, | ||
long unsigned int * | org_isite4, | ||
long unsigned int * | org_sigma1, | ||
long unsigned int * | org_sigma2, | ||
long unsigned int * | org_sigma3, | ||
long unsigned int * | org_sigma4, | ||
double complex * | tmp_V, | ||
struct BindStruct * | X | ||
) |
Rearray interactions.
i | |
org_isite1 | a site number on the site 1. |
org_isite2 | a site number on the site 2. |
org_isite3 | a site number on the site 3. |
org_isite4 | a site number on the site 4. |
org_sigma1 | a spin index on the site 1. |
org_sigma2 | a spin index on the site 2. |
org_sigma3 | a spin index on the site 3. |
org_sigma4 | a spin index on the site 4. |
tmp_V | a value of interaction |
X | data list for calculation |
Definition at line 223 of file expec_cisajscktaltdc.c.
References DefineList::CisAjtCkuAlvDC, and BindStruct::Def.
Referenced by expec_cisajscktalt_SpinGCGeneral(), expec_cisajscktalt_SpinGCHalf(), expec_cisajscktalt_SpinGeneral(), and expec_cisajscktalt_SpinHalf().