HΦ
3.2.0
|
Functions for spin Hamiltonian + MPI. More...
#include "mpi.h"
#include "Common.h"
#include "mltplyCommon.h"
#include "bitcalc.h"
#include "wrapperMPI.h"
#include "mltplyMPISpin.h"
#include "mltplyMPISpinCore.h"
Go to the source code of this file.
Functions | |
void | child_general_int_spin_MPIdouble (unsigned long int i_int, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
Exchange term in Spin model When both site1 and site2 are in the inter process region. More... | |
double complex | X_child_general_int_spin_MPIdouble (int org_isite1, int org_ispin1, int org_ispin2, int org_isite3, int org_ispin3, int org_ispin4, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
Exchange term in Spin model When both site1 and site2 are in the inter process region. More... | |
double complex | X_child_general_int_spin_TotalS_MPIdouble (int org_isite1, int org_isite3, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
Exchange term in Spin model When both site1 and site2 are in the inter process region. More... | |
void | child_general_int_spin_MPIsingle (unsigned long int i_int, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
Exchange term in Spin model When only site2 is in the inter process region. More... | |
double complex | X_child_general_int_spin_MPIsingle (int org_isite1, int org_ispin1, int org_ispin2, int org_isite3, int org_ispin3, int org_ispin4, double complex tmp_J, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
void | GC_child_general_int_spin_MPIdouble (unsigned long int i_int, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
General interaction term in the Spin model + GC When both site1 and site2 are in the inter process region. More... | |
void | GC_child_general_int_spin_MPIsingle (unsigned long int i_int, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
General interaction term in the Spin model + GC When both site1 and site2 are in the inter process region. More... | |
void | GC_child_general_int_GeneralSpin_MPIdouble (unsigned long int i_int, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
General interaction term in the Spin model + GC When both site1 and site2 are in the inter process region. More... | |
void | GC_child_general_int_GeneralSpin_MPIsingle (unsigned long int i_int, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
General interaction term in the Spin model + GC When both site1 and site2 are in the inter process region. More... | |
void | child_general_int_GeneralSpin_MPIdouble (unsigned long int i_int, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
General interaction term in the Spin model + GC When both site1 and site2 are in the inter process region. More... | |
void | child_general_int_GeneralSpin_MPIsingle (unsigned long int i_int, struct BindStruct *X, double complex *tmp_v0, double complex *tmp_v1) |
General interaction term in the Spin model + GC When both site1 and site2 are in the inter process region. More... | |
Functions for spin Hamiltonian + MPI.
Definition in file mltplyMPISpin.c.
void child_general_int_GeneralSpin_MPIdouble | ( | unsigned long int | i_int, |
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
General interaction term in the Spin model + GC When both site1 and site2 are in the inter process region.
[in] | i_int | Interaction ID |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 466 of file mltplyMPISpin.c.
References BindStruct::Def, DefineList::InterAll_OffDiagonal, BindStruct::Large, DefineList::ParaInterAll_OffDiagonal, LargeList::prdct, and X_child_CisAitCjuAjv_GeneralSpin_MPIdouble().
Referenced by mltplyGeneralSpin().
void child_general_int_GeneralSpin_MPIsingle | ( | unsigned long int | i_int, |
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
General interaction term in the Spin model + GC When both site1 and site2 are in the inter process region.
[in] | i_int | Interaction ID |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 486 of file mltplyMPISpin.c.
References BindStruct::Def, DefineList::InterAll_OffDiagonal, BindStruct::Large, DefineList::ParaInterAll_OffDiagonal, LargeList::prdct, and X_child_CisAitCjuAjv_GeneralSpin_MPIsingle().
Referenced by mltplyGeneralSpin().
void child_general_int_spin_MPIdouble | ( | unsigned long int | i_int, |
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
Exchange term in Spin model When both site1 and site2 are in the inter process region.
Add \(\langle v_1| H_{\rm this} | v_1 \rangle\) to LargeList::prdct
[in] | i_int | Interaction ID |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 35 of file mltplyMPISpin.c.
References BindStruct::Def, DefineList::InterAll_OffDiagonal, BindStruct::Large, DefineList::ParaInterAll_OffDiagonal, LargeList::prdct, and X_child_general_int_spin_MPIdouble().
Referenced by mltplyHalfSpin().
void child_general_int_spin_MPIsingle | ( | unsigned long int | i_int, |
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
Exchange term in Spin model When only site2 is in the inter process region.
Add \(\langle v_1| H_{\rm this} | v_1 \rangle\) to LargeList::prdct
[in] | i_int | Interaction ID |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 196 of file mltplyMPISpin.c.
References BindStruct::Def, DefineList::InterAll_OffDiagonal, BindStruct::Large, DefineList::ParaInterAll_OffDiagonal, LargeList::prdct, and X_child_general_int_spin_MPIsingle().
Referenced by mltplyHalfSpin().
void GC_child_general_int_GeneralSpin_MPIdouble | ( | unsigned long int | i_int, |
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
General interaction term in the Spin model + GC When both site1 and site2 are in the inter process region.
[in] | i_int | Interaction ID |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 388 of file mltplyMPISpin.c.
References BindStruct::Def, DefineList::InterAll_OffDiagonal, BindStruct::Large, DefineList::ParaInterAll_OffDiagonal, LargeList::prdct, X_GC_child_CisAisCjuAjv_GeneralSpin_MPIdouble(), X_GC_child_CisAitCjuAju_GeneralSpin_MPIdouble(), and X_GC_child_CisAitCjuAjv_GeneralSpin_MPIdouble().
Referenced by mltplyGeneralSpinGC().
void GC_child_general_int_GeneralSpin_MPIsingle | ( | unsigned long int | i_int, |
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
General interaction term in the Spin model + GC When both site1 and site2 are in the inter process region.
[in] | i_int | Interaction ID |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 427 of file mltplyMPISpin.c.
References BindStruct::Def, DefineList::InterAll_OffDiagonal, BindStruct::Large, DefineList::ParaInterAll_OffDiagonal, LargeList::prdct, X_GC_child_CisAisCjuAjv_GeneralSpin_MPIsingle(), X_GC_child_CisAitCjuAju_GeneralSpin_MPIsingle(), and X_GC_child_CisAitCjuAjv_GeneralSpin_MPIsingle().
Referenced by mltplyGeneralSpinGC().
void GC_child_general_int_spin_MPIdouble | ( | unsigned long int | i_int, |
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
General interaction term in the Spin model + GC When both site1 and site2 are in the inter process region.
[in] | i_int | Interaction ID |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 342 of file mltplyMPISpin.c.
References BindStruct::Def, GC_child_CisAisCjuAjv_spin_MPIdouble(), GC_child_CisAitCiuAiv_spin_MPIdouble(), GC_child_CisAitCjuAju_spin_MPIdouble(), and DefineList::InterAll_OffDiagonal.
Referenced by mltplyHalfSpinGC().
void GC_child_general_int_spin_MPIsingle | ( | unsigned long int | i_int, |
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
General interaction term in the Spin model + GC When both site1 and site2 are in the inter process region.
[in] | i_int | Interaction ID |
[in,out] | X | |
[out] | tmp_v0 | Result v0 = H v1 |
[in] | tmp_v1 | v0 = H v1 |
Definition at line 365 of file mltplyMPISpin.c.
References BindStruct::Def, GC_child_CisAisCjuAjv_spin_MPIsingle(), GC_child_CisAitCiuAiv_spin_MPIsingle(), GC_child_CisAitCjuAju_spin_MPIsingle(), and DefineList::InterAll_OffDiagonal.
Referenced by mltplyHalfSpinGC().
double complex X_child_general_int_spin_MPIdouble | ( | int | org_isite1, |
int | org_ispin1, | ||
int | org_ispin2, | ||
int | org_isite3, | ||
int | org_ispin3, | ||
int | org_ispin4, | ||
double complex | tmp_J, | ||
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
Exchange term in Spin model When both site1 and site2 are in the inter process region.
[in] | org_isite1 | Site 1 |
[in] | org_ispin1 | Spin 1 |
[in] | org_ispin2 | Spin 2 |
[in] | org_isite3 | Site 3 |
[in] | org_ispin3 | Spin 3 |
[in] | org_ispin4 | Spin 4 |
[in] | tmp_J | Copupling constatnt |
[in,out] | X | |
[in,out] | tmp_v0 | \({\bf v}_0=H {\bf v}_1\) |
[in] | tmp_v1 | Vector to be producted |
Definition at line 61 of file mltplyMPISpin.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::Tpow, and v1buf.
Referenced by child_general_int_spin_MPIdouble(), expec_cisajscktalt_SpinHalf(), and mltplyHalfSpin().
double complex X_child_general_int_spin_MPIsingle | ( | int | org_isite1, |
int | org_ispin1, | ||
int | org_ispin2, | ||
int | org_isite3, | ||
int | org_ispin3, | ||
int | org_ispin4, | ||
double complex | tmp_J, | ||
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
[in] | org_isite1 | Site 1 |
[in] | org_ispin1 | Spin 1 |
[in] | org_ispin2 | Spin 2 |
[in] | org_isite3 | Site 3 |
[in] | org_ispin3 | Spin 3 |
[in] | org_ispin4 | Spin 4 |
[in] | tmp_J | Copupling constatnt |
[in,out] | X | |
[in,out] | tmp_v0 | \({\bf v}_0=H {\bf v}_1\) |
[in] | tmp_v1 | Vector to be producted |
Definition at line 222 of file mltplyMPISpin.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::Tpow, and v1buf.
Referenced by child_general_int_spin_MPIsingle(), expec_cisajscktalt_SpinHalf(), mltplyHalfSpin(), and totalspin_Spin().
double complex X_child_general_int_spin_TotalS_MPIdouble | ( | int | org_isite1, |
int | org_isite3, | ||
struct BindStruct * | X, | ||
double complex * | tmp_v0, | ||
double complex * | tmp_v1 | ||
) |
Exchange term in Spin model When both site1 and site2 are in the inter process region.
[in] | org_isite1 | site 1 |
[in] | org_isite3 | site 3 |
[in,out] | X | |
[in,out] | tmp_v0 | \({\bf v}_0=H {\bf v}_1\) |
[in] | tmp_v1 | Vector to be producted |
Definition at line 140 of file mltplyMPISpin.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, myrank, DefineList::Tpow, and v1buf.
Referenced by totalspin_Spin().