HPhi++
3.1.0
|
File for calculating two-body green's functions. More...
#include "mltply.hpp"
#include "mltplyCommon.hpp"
#include "FileIO.hpp"
#include "bitcalc.hpp"
#include "expec_cisajscktaltdc.hpp"
#include "mltplySpinCore.hpp"
#include "mltplyHubbardCore.hpp"
#include "wrapperMPI.hpp"
#include "mltplyMPISpin.hpp"
#include "mltplyMPISpinCore.hpp"
#include "mltplyMPIHubbardCore.hpp"
#include "common/setmemory.hpp"
Go to the source code of this file.
Functions | |
int | Rearray_Interactions (int i, long int *org_isite1, long int *org_isite2, long int *org_isite3, long int *org_isite4, long int *org_sigma1, long int *org_sigma2, long int *org_sigma3, long int *org_sigma4, std::complex< double > *tmp_V, struct BindStruct *X) |
Rearray interactions. More... | |
int | expec_cisajscktalt_HubbardGC (struct BindStruct *X, int nstate, std::complex< double > **Xvec, std::complex< double > **vec, std::complex< double > **prod) |
Child function to calculate two-body green's functions for Hubbard GC model. More... | |
int | expec_cisajscktalt_Hubbard (struct BindStruct *X, int nstate, std::complex< double > **Xvec, std::complex< double > **vec, std::complex< double > **prod) |
Child function to calculate two-body green's functions for Hubbard model. More... | |
int | expec_cisajscktalt_SpinHalf (struct BindStruct *X, int nstate, std::complex< double > **Xvec, std::complex< double > **vec, std::complex< double > **prod) |
Child function to calculate two-body green's functions for 1/2 Spin model. More... | |
int | expec_cisajscktalt_SpinGeneral (struct BindStruct *X, int nstate, std::complex< double > **Xvec, std::complex< double > **vec, std::complex< double > **prod) |
Child function to calculate two-body green's functions for General Spin model. More... | |
int | expec_cisajscktalt_SpinGCHalf (struct BindStruct *X, int nstate, std::complex< double > **Xvec, std::complex< double > **vec, std::complex< double > **prod) |
Child function to calculate two-body green's functions for 1/2 Spin GC model. More... | |
int | expec_cisajscktalt_SpinGCGeneral (struct BindStruct *X, int nstate, std::complex< double > **Xvec, std::complex< double > **vec, std::complex< double > **prod) |
Child function to calculate two-body green's functions for General Spin GC model. More... | |
int | expec_cisajscktalt_Spin (struct BindStruct *X, int nstate, std::complex< double > **Xvec, std::complex< double > **vec, std::complex< double > **prod) |
Parent function to calculate two-body green's functions for Spin model. More... | |
int | expec_cisajscktalt_SpinGC (struct BindStruct *X, int nstate, std::complex< double > **Xvec, std::complex< double > **vec, std::complex< double > **prod) |
Parent function to calculate two-body green's functions for Spin GC model. More... | |
int | expec_cisajscktaltdc (struct BindStruct *X, int nstate, std::complex< double > **Xvec, std::complex< double > **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.cpp.
int expec_cisajscktalt_Hubbard | ( | struct BindStruct * | X, |
int | nstate, | ||
std::complex< double > ** | Xvec, | ||
std::complex< double > ** | vec, | ||
std::complex< double > ** | prod | ||
) |
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 258 of file expec_cisajscktaltdc.cpp.
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, MultiVecProdMPI(), DefineList::NCisAjtCkuAlvDC, DefineList::OrgTpow, X_child_CisAisCjtAjt_Hubbard_MPI(), X_child_CisAisCjtAku_Hubbard_MPI(), X_child_CisAjtCkuAku_Hubbard_MPI(), X_child_CisAjtCkuAlv_Hubbard_MPI(), and zclear().
Referenced by expec_cisajscktaltdc().
int expec_cisajscktalt_HubbardGC | ( | struct BindStruct * | X, |
int | nstate, | ||
std::complex< double > ** | Xvec, | ||
std::complex< double > ** | vec, | ||
std::complex< double > ** | prod | ||
) |
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 145 of file expec_cisajscktaltdc.cpp.
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(), I(), LargeList::i_max, LargeList::is1_spin, LargeList::is2_spin, LargeList::is3_spin, LargeList::is4_spin, LargeList::isA_spin, LargeList::isB_spin, BindStruct::Large, MultiVecProdMPI(), DefineList::NCisAjtCkuAlvDC, DefineList::OrgTpow, X_GC_child_CisAisCjtAjt_Hubbard_MPI(), X_GC_child_CisAisCjtAku_Hubbard_MPI(), X_GC_child_CisAjtCkuAku_Hubbard_MPI(), X_GC_child_CisAjtCkuAlv_Hubbard_MPI(), and zclear().
Referenced by expec_cisajscktaltdc().
int expec_cisajscktalt_Spin | ( | struct BindStruct * | X, |
int | nstate, | ||
std::complex< double > ** | Xvec, | ||
std::complex< double > ** | vec, | ||
std::complex< double > ** | prod | ||
) |
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 884 of file expec_cisajscktaltdc.cpp.
References BindStruct::Def, expec_cisajscktalt_SpinGeneral(), expec_cisajscktalt_SpinHalf(), and DefineList::iFlgGeneralSpin.
Referenced by expec_cisajscktaltdc().
int expec_cisajscktalt_SpinGC | ( | struct BindStruct * | X, |
int | nstate, | ||
std::complex< double > ** | Xvec, | ||
std::complex< double > ** | vec, | ||
std::complex< double > ** | prod | ||
) |
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 910 of file expec_cisajscktaltdc.cpp.
References BindStruct::Def, expec_cisajscktalt_SpinGCGeneral(), expec_cisajscktalt_SpinGCHalf(), expec_cisajscktaltdc(), and DefineList::iFlgGeneralSpin.
Referenced by expec_cisajscktaltdc().
int expec_cisajscktalt_SpinGCGeneral | ( | struct BindStruct * | X, |
int | nstate, | ||
std::complex< double > ** | Xvec, | ||
std::complex< double > ** | vec, | ||
std::complex< double > ** | prod | ||
) |
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 742 of file expec_cisajscktaltdc.cpp.
References BitCheckGeneral(), BindStruct::Check, BindStruct::Def, GetOffCompGeneralSpin(), CheckList::idim_max, BindStruct::Large, LargeList::mode, MultiVecProdMPI(), DefineList::NCisAjtCkuAlvDC, DefineList::Nsite, Rearray_Interactions(), DefineList::SiteToBit, 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(), X_GC_child_CisAitCjuAjv_GeneralSpin_MPIsingle(), and zclear().
Referenced by expec_cisajscktalt_SpinGC().
int expec_cisajscktalt_SpinGCHalf | ( | struct BindStruct * | X, |
int | nstate, | ||
std::complex< double > ** | Xvec, | ||
std::complex< double > ** | vec, | ||
std::complex< double > ** | prod | ||
) |
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 616 of file expec_cisajscktaltdc.cpp.
References BindStruct::Check, 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, MultiVecProdMPI(), DefineList::NCisAjtCkuAlvDC, DefineList::Nsite, Rearray_Interactions(), 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(), X_GC_child_CisAitCjuAju_spin_MPIsingle(), and zclear().
Referenced by expec_cisajscktalt_SpinGC().
int expec_cisajscktalt_SpinGeneral | ( | struct BindStruct * | X, |
int | nstate, | ||
std::complex< double > ** | Xvec, | ||
std::complex< double > ** | vec, | ||
std::complex< double > ** | prod | ||
) |
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 503 of file expec_cisajscktaltdc.cpp.
References BitCheckGeneral(), BindStruct::Check, DefineList::CisAjtCkuAlvDC, ConvertToList1GeneralSpin(), BindStruct::Def, GetLocal2Sz(), GetOffCompGeneralSpin(), CheckList::idim_max, BindStruct::Large, list_1, LargeList::mode, MultiVecProdMPI(), DefineList::NCisAjtCkuAlvDC, DefineList::Nsite, Rearray_Interactions(), CheckList::sdim, DefineList::SiteToBit, DefineList::Tpow, X_child_CisAisCjuAju_GeneralSpin_MPIdouble(), X_child_CisAisCjuAju_GeneralSpin_MPIsingle(), X_child_CisAitCjuAjv_GeneralSpin_MPIdouble(), X_child_CisAitCjuAjv_GeneralSpin_MPIsingle(), and zclear().
Referenced by expec_cisajscktalt_Spin().
int expec_cisajscktalt_SpinHalf | ( | struct BindStruct * | X, |
int | nstate, | ||
std::complex< double > ** | Xvec, | ||
std::complex< double > ** | vec, | ||
std::complex< double > ** | prod | ||
) |
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 383 of file expec_cisajscktaltdc.cpp.
References BindStruct::Check, child_CisAisCisAis_spin_element(), BindStruct::Def, CheckList::idim_max, BindStruct::Large, LargeList::mode, MultiVecProdMPI(), myrank, DefineList::NCisAjtCkuAlvDC, DefineList::Nsite, Rearray_Interactions(), DefineList::Tpow, X_child_exchange_spin_element(), X_child_general_int_spin_MPIdouble(), X_child_general_int_spin_MPIsingle(), X_Spin_CisAis(), X_SpinGC_CisAis(), zaxpy_long(), and zclear().
Referenced by expec_cisajscktalt_Spin().
int expec_cisajscktaltdc | ( | struct BindStruct * | X, |
int | nstate, | ||
std::complex< double > ** | Xvec, | ||
std::complex< double > ** | 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 944 of file expec_cisajscktaltdc.cpp.
References DefineList::CDataFileHead, childfopenMPI(), DefineList::CisAjtCkuAlvDC, BindStruct::Def, expec_cisajscktalt_Hubbard(), expec_cisajscktalt_HubbardGC(), expec_cisajscktalt_Spin(), expec_cisajscktalt_SpinGC(), GetSplitBitByModel(), DefineList::iCalcModel, DefineList::iCalcType, DefineList::istep, BindStruct::Large, LargeList::mode, DefineList::NCisAjtCkuAlvDC, DefineList::Nsite, TimeKeeperWithRandAndStep(), and TimeKeeperWithStep().
Referenced by CalcByTEM(), CalcByTPQ(), expec_cisajscktalt_SpinGC(), and phys().
int Rearray_Interactions | ( | int | i, |
long int * | org_isite1, | ||
long int * | org_isite2, | ||
long int * | org_isite3, | ||
long int * | org_isite4, | ||
long int * | org_sigma1, | ||
long int * | org_sigma2, | ||
long int * | org_sigma3, | ||
long int * | org_sigma4, | ||
std::complex< double > * | 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 57 of file expec_cisajscktaltdc.cpp.
Referenced by expec_cisajscktalt_SpinGCGeneral(), expec_cisajscktalt_SpinGCHalf(), expec_cisajscktalt_SpinGeneral(), and expec_cisajscktalt_SpinHalf().