HΦ
3.2.0
|
Functions for Hubbard Hamiltonian + MPI. More...
#include "mpi.h"
#include "Common.h"
#include "bitcalc.h"
#include "wrapperMPI.h"
#include "mltplyCommon.h"
#include "mltplyMPIHubbard.h"
Go to the source code of this file.
Functions | |
void | GC_child_general_hopp_MPIdouble (unsigned long int itrans, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
Hopping term in Hubbard + GC When both site1 and site2 are in the inter process region. More... | |
double complex | X_GC_child_general_hopp_MPIdouble (int org_isite1, int org_ispin1, int org_isite2, int org_ispin2, double complex tmp_trans, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
Hopping term in Hubbard + GC When both site1 and site2 are in the inter process region. More... | |
double complex | X_child_CisAjt_MPIdouble (int org_isite1, int org_ispin1, int org_isite2, int org_ispin2, double complex tmp_trans, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1, double complex *v1buf, long unsigned int *list_1_org, long unsigned int *list_1buf_org, long unsigned int *list_2_1_target, long unsigned int *list_2_2_target) |
Hopping term in Hubbard + MPI When both site1 and site2 are in the inter process region. More... | |
void | GC_child_general_hopp_MPIsingle (unsigned long int itrans, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
Hopping term in Hubbard + GC When only site2 is in the inter process region. More... | |
double complex | X_GC_child_general_hopp_MPIsingle (int org_isite1, int org_ispin1, int org_isite2, int org_ispin2, double complex tmp_trans, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
Hopping term in Hubbard + GC When only site2 is in the inter process region. More... | |
void | child_general_hopp_MPIdouble (unsigned long int itrans, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
Hopping term in Hubbard (Kondo) + Canonical ensemble When both site1 and site2 are in the inter process region. More... | |
double complex | X_child_general_hopp_MPIdouble (int org_isite1, int org_ispin1, int org_isite2, int org_ispin2, double complex tmp_trans, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
Hopping term in Hubbard (Kondo) + Canonical ensemble When both site1 and site2 are in the inter process region. More... | |
void | child_general_hopp_MPIsingle (unsigned long int itrans, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
Hopping term in Hubbard (Kondo) + Canonical ensemble When only site2 is in the inter process region. More... | |
double complex | X_child_general_hopp_MPIsingle (int org_isite1, int org_ispin1, int org_isite2, int org_ispin2, double complex tmp_trans, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
Hopping term in Hubbard (Kondo) + Canonical ensemble When only site2 is in the inter process region. More... | |
double complex | X_child_CisAjt_MPIsingle (int org_isite1, int org_ispin1, int org_isite2, int org_ispin2, double complex tmp_trans, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1, double complex *v1buf, long unsigned int *list_1_org, long unsigned int *list_1buf_org, long unsigned int *list_2_1_target, long unsigned int *list_2_2_target) |
Hopping term in Hubbard (Kondo) + Canonical ensemble When only site2 is in the inter process region. More... | |
Functions for Hubbard Hamiltonian + MPI.
Definition in file mltplyMPIHubbard.c.
void child_general_hopp_MPIdouble | ( | unsigned long int | itrans, |
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
Hopping term in Hubbard (Kondo) + Canonical ensemble When both site1 and site2 are in the inter process region.
[in] | itrans | Transfer ID |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 334 of file mltplyMPIHubbard.c.
References BindStruct::Def, DefineList::EDGeneralTransfer, DefineList::EDParaGeneralTransfer, BindStruct::Large, LargeList::prdct, and X_child_general_hopp_MPIdouble().
Referenced by mltplyHubbard().
void child_general_hopp_MPIsingle | ( | unsigned long int | itrans, |
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
Hopping term in Hubbard (Kondo) + Canonical ensemble When only site2 is in the inter process region.
[in] | itrans | Transfer ID |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 439 of file mltplyMPIHubbard.c.
References BindStruct::Def, DefineList::EDGeneralTransfer, DefineList::EDParaGeneralTransfer, BindStruct::Large, LargeList::prdct, and X_child_general_hopp_MPIsingle().
Referenced by mltplyHubbard().
void GC_child_general_hopp_MPIdouble | ( | unsigned long int | itrans, |
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
Hopping term in Hubbard + GC When both site1 and site2 are in the inter process region.
[in] | itrans | Transfer ID |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 33 of file mltplyMPIHubbard.c.
References BindStruct::Def, DefineList::EDGeneralTransfer, DefineList::EDParaGeneralTransfer, BindStruct::Large, LargeList::prdct, and X_GC_child_general_hopp_MPIdouble().
Referenced by mltplyHubbardGC().
void GC_child_general_hopp_MPIsingle | ( | unsigned long int | itrans, |
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
Hopping term in Hubbard + GC When only site2 is in the inter process region.
[in] | itrans | Transfer ID |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 211 of file mltplyMPIHubbard.c.
References BindStruct::Def, DefineList::EDGeneralTransfer, DefineList::EDParaGeneralTransfer, BindStruct::Large, LargeList::prdct, and X_GC_child_general_hopp_MPIsingle().
Referenced by mltplyHubbardGC().
double complex X_child_CisAjt_MPIdouble | ( | int | org_isite1, |
int | org_ispin1, | ||
int | org_isite2, | ||
int | org_ispin2, | ||
double complex | tmp_trans, | ||
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1, | ||
double complex * | v1buf, | ||
long unsigned int * | list_1_org, | ||
long unsigned int * | list_1buf_org, | ||
long unsigned int * | list_2_1_target, | ||
long unsigned int * | list_2_2_target | ||
) |
Hopping term in Hubbard + MPI When both site1 and site2 are in the inter process region.
[in] | org_isite1 | \(i_1\) of \(c_{i_1 \sigma_1}^\dagger c_{i_2 \sigma_2}\) |
[in] | org_ispin1 | \(\sigma_1\) of \(c_{i_1 \sigma_1}^\dagger c_{i_2 \sigma_2}\) |
[in] | org_isite2 | \(i_2\) of \(c_{i_1 \sigma_1}^\dagger c_{i_2 \sigma_2}\) |
[in] | org_ispin2 | \(\sigma_2\) of \(c_{i_1 \sigma_1}^\dagger c_{i_2 \sigma_2}\) |
[in] | tmp_trans | Transfer \(t\) |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
[in] | v1buf | |
[in] | list_1_org | |
[in] | list_1buf_org | |
[in] | list_2_1_target | |
[in] | list_2_2_target |
Definition at line 130 of file mltplyMPIHubbard.c.
References BindStruct::Check, BindStruct::Def, exitMPI(), GetOffComp(), CheckList::idim_maxOrg, LargeList::ihfbit, LargeList::ilft, LargeList::irght, BindStruct::Large, LargeList::mode, myrank, SgnBit(), and DefineList::Tpow.
Referenced by GetPairExcitedStateHubbard().
double complex X_child_CisAjt_MPIsingle | ( | int | org_isite1, |
int | org_ispin1, | ||
int | org_isite2, | ||
int | org_ispin2, | ||
double complex | tmp_trans, | ||
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1, | ||
double complex * | v1buf, | ||
long unsigned int * | list_1_org, | ||
long unsigned int * | list_1buf_org, | ||
long unsigned int * | list_2_1_target, | ||
long unsigned int * | list_2_2_target | ||
) |
Hopping term in Hubbard (Kondo) + Canonical ensemble When only site2 is in the inter process region.
[in] | org_isite1 | Site 1 |
[in] | org_ispin1 | Spin 1 |
[in] | org_isite2 | Site 2 |
[in] | org_ispin2 | Spin 2 |
[in] | tmp_trans | Hopping integral |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
[in] | v1buf | Buffer for sendrecv of wavefunction |
[in] | list_1_org | Similler to list_1 |
[in] | list_1buf_org | Similler to list_1buf |
[in] | list_2_1_target | ??? |
[in] | list_2_2_target | ??? |
Definition at line 572 of file mltplyMPIHubbard.c.
References BindStruct::Check, BindStruct::Def, exitMPI(), GetOffComp(), CheckList::idim_maxOrg, LargeList::ihfbit, LargeList::ilft, LargeList::irght, BindStruct::Large, LargeList::mode, myrank, DefineList::Nsite, SgnBit(), and DefineList::Tpow.
Referenced by GetPairExcitedStateHubbard().
double complex X_child_general_hopp_MPIdouble | ( | int | org_isite1, |
int | org_ispin1, | ||
int | org_isite2, | ||
int | org_ispin2, | ||
double complex | tmp_trans, | ||
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
Hopping term in Hubbard (Kondo) + Canonical ensemble When both site1 and site2 are in the inter process region.
[in] | org_isite1 | Site 1 |
[in] | org_ispin1 | Spin 1 |
[in] | org_isite2 | Site 2 |
[in] | org_ispin2 | Spin 2 |
[in] | tmp_trans | Hopping integral |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 355 of file mltplyMPIHubbard.c.
References BindStruct::Check, BindStruct::Def, exitMPI(), GetOffComp(), CheckList::idim_max, LargeList::ihfbit, LargeList::ilft, LargeList::irght, BindStruct::Large, list_1, list_1buf, list_2_1, list_2_2, LargeList::mode, myrank, SgnBit(), DefineList::Tpow, and v1buf.
Referenced by child_general_hopp_MPIdouble(), expec_cisajs_Hubbard(), and GetPairExcitedStateHubbard().
double complex X_child_general_hopp_MPIsingle | ( | int | org_isite1, |
int | org_ispin1, | ||
int | org_isite2, | ||
int | org_ispin2, | ||
double complex | tmp_trans, | ||
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
Hopping term in Hubbard (Kondo) + Canonical ensemble When only site2 is in the inter process region.
[in] | org_isite1 | Site 1 |
[in] | org_ispin1 | Spin 1 |
[in] | org_isite2 | Site 2 |
[in] | org_ispin2 | Spin 2 |
[in] | tmp_trans | Hopping integral |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 460 of file mltplyMPIHubbard.c.
References BindStruct::Check, BindStruct::Def, exitMPI(), GetOffComp(), CheckList::idim_max, LargeList::ihfbit, LargeList::ilft, LargeList::irght, BindStruct::Large, list_1, list_1buf, list_2_1, list_2_2, LargeList::mode, myrank, DefineList::Nsite, SgnBit(), DefineList::Tpow, and v1buf.
Referenced by child_general_hopp_MPIsingle(), expec_cisajs_Hubbard(), and GetPairExcitedStateHubbard().
double complex X_GC_child_general_hopp_MPIdouble | ( | int | org_isite1, |
int | org_ispin1, | ||
int | org_isite2, | ||
int | org_ispin2, | ||
double complex | tmp_trans, | ||
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
Hopping term in Hubbard + GC When both site1 and site2 are in the inter process region.
[in] | org_isite1 | \(i_1\) of \(c_{i_1 \sigma_1}^\dagger c_{i_2 \sigma_2}\) |
[in] | org_ispin1 | \(\sigma_1\) of \(c_{i_1 \sigma_1}^\dagger c_{i_2 \sigma_2}\) |
[in] | org_isite2 | \(i_2\) of \(c_{i_1 \sigma_1}^\dagger c_{i_2 \sigma_2}\) |
[in] | org_ispin2 | \(\sigma_2\) of \(c_{i_1 \sigma_1}^\dagger c_{i_2 \sigma_2}\) |
[in] | tmp_trans | Transfer \(t\) |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 54 of file mltplyMPIHubbard.c.
References BindStruct::Check, BindStruct::Def, exitMPI(), CheckList::idim_max, BindStruct::Large, LargeList::mode, myrank, SgnBit(), DefineList::Tpow, and v1buf.
Referenced by expec_cisajs_HubbardGC(), GC_child_general_hopp_MPIdouble(), GetPairExcitedStateHubbardGC(), and X_GC_child_CisAjt_Hubbard_MPI().
double complex X_GC_child_general_hopp_MPIsingle | ( | int | org_isite1, |
int | org_ispin1, | ||
int | org_isite2, | ||
int | org_ispin2, | ||
double complex | tmp_trans, | ||
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
Hopping term in Hubbard + GC When only site2 is in the inter process region.
[in] | org_isite1 | Site 1 |
[in] | org_ispin1 | Spin 1 |
[in] | org_isite2 | Site 2 |
[in] | org_ispin2 | Spin 2 |
[in] | tmp_trans | Hopping integral |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 233 of file mltplyMPIHubbard.c.
References BindStruct::Check, BindStruct::Def, exitMPI(), CheckList::idim_max, BindStruct::Large, LargeList::mode, myrank, DefineList::Nsite, SgnBit(), DefineList::Tpow, and v1buf.
Referenced by expec_cisajs_HubbardGC(), GC_child_general_hopp_MPIsingle(), GetPairExcitedStateHubbardGC(), and X_GC_child_CisAjt_Hubbard_MPI().