18 #include "HPhiTrans.h"    20 #include "wrapperMPI.h"    61   for (i = 0; i < 
X->Def.EDNTransfer; i++) {
    63     for (k = 0; k < cnt_trans; k++) {
    64       if (
X->Def.EDGeneralTransfer[i][1] == 
X->Def.EDGeneralTransfer[k][1]
    65           && 
X->Def.EDGeneralTransfer[i][3] == 
X->Def.EDGeneralTransfer[k][3]) {
    66         if (
X->Def.EDGeneralTransfer[i][0] == 
X->Def.EDGeneralTransfer[k][0]
    67             && 
X->Def.EDGeneralTransfer[i][2] == 
X->Def.EDGeneralTransfer[k][2]) {
    70           fprintf(fp_err, 
cErrDoubleCounting, 
X->Def.EDGeneralTransfer[k][0], 
X->Def.EDGeneralTransfer[k][2],
    71                   X->Def.EDGeneralTransfer[k][1], 
X->Def.EDGeneralTransfer[k][3]);
   102   int isigma1, isigma2;
   104   const int Mode = (int) (
X->Def.ParaLaser[0]);
   105   const double Avp = 
X->Def.ParaLaser[1];
   106   const double omega = 
X->Def.ParaLaser[2];
   107   const double time_d = 
X->Def.ParaLaser[3];
   108   const double time_c = 
X->Def.ParaLaser[4];
   109   const int Lx = (int) (
X->Def.ParaLaser[5]);
   110   const int Ly = (int) (
X->Def.ParaLaser[6]);
   111   const double dirX = 
X->Def.ParaLaser[7];
   112   const double dirY = 
X->Def.ParaLaser[8];
   113   const double dt = time - time_c;
   114   const double dt2 = time - (time_c + time_d);
   115   const double td = time_c / 3.0;
   121     VecPot = Avp * cos(omega * dt) * exp(-dt * dt / (2.0 * time_d * time_d));
   122   } 
else if (Mode == 1) {
   123     VecPot = Avp * sin(omega * dt);
   124   } 
else if (Mode == 2) {
   126   } 
else if (Mode == 3) {
   127     VecPot = Avp * exp(-time_d * dt);
   128   } 
else if (Mode == 4) {
   131     } 
else if (dt < time_d) {
   132       VecPot = Avp * cos(omega * dt) * (dt / time_d);
   134       VecPot = Avp * cos(omega * dt);
   136   } 
else if (Mode == 5) {
   139     } 
else if (time < time_c) {
   140       VecPot = Avp * cos(omega * dt) * exp(-dt * dt / (2.0 * td * td));
   141     } 
else if (time < time_c + time_d) {
   142       VecPot = Avp * cos(omega * dt);
   144       VecPot = Avp * cos(omega * dt) * exp(-dt2 * dt2 / (2.0 * td * td));
   148   for (i = 0; i < 
X->Def.EDNTransfer; i++) {
   149     ri_x = 
X->Def.EDGeneralTransfer[i][0] % Lx;
   150     rj_x = 
X->Def.EDGeneralTransfer[i][2] % Lx;
   151     ri_y = 
X->Def.EDGeneralTransfer[i][0] / Lx;
   152     rj_y = 
X->Def.EDGeneralTransfer[i][2] / Lx;
   153     if (ri_x - rj_x > 1) {
   155     } 
else if (ri_x - rj_x < -1) {
   158     if (ri_y - rj_y > 1) {
   160     } 
else if (ri_y - rj_y < -1) {
   163     dir = dirX * (ri_x - rj_x) + dirY * (ri_y - rj_y);
   165     X->Def.EDParaGeneralTransfer[i] = 
X->Def.ParaGeneralTransfer[i] * cexp(-I * VecPot * dir);
   191   int isigma1, isigma2;
   193   const int Mode = (int) (
X->Def.ParaLaser[0]);
   194   const double Avp = 
X->Def.ParaLaser[1];
   195   const double omega = 
X->Def.ParaLaser[2];
   196   const double time_d = 
X->Def.ParaLaser[3];
   197   const double time_c = 
X->Def.ParaLaser[4];
   198   const int Lx = (int) (
X->Def.ParaLaser[5]);
   199   const int Ly = (int) (
X->Def.ParaLaser[6]);
   200   const double dirX = 
X->Def.ParaLaser[7];
   201   const double dirY = 
X->Def.ParaLaser[8];
   202   const double dt = time - time_c;
   210     } 
else if (dt < time_d) {
   211       Bessel = j0(Avp * dt / time_d);
   217   for (i = 0; i < 
X->Def.EDNTransfer; i++) {
   218     ri_x = 
X->Def.EDGeneralTransfer[i][0] % Lx;
   219     rj_x = 
X->Def.EDGeneralTransfer[i][2] % Lx;
   220     ri_y = 
X->Def.EDGeneralTransfer[i][0] / Lx;
   221     rj_y = 
X->Def.EDGeneralTransfer[i][2] / Lx;
   222     if (ri_x - rj_x > 1) {
   224     } 
else if (ri_x - rj_x < -1) {
   227     if (ri_y - rj_y > 1) {
   229     } 
else if (ri_y - rj_y < -1) {
   232     dir = dirX * (ri_x - rj_x) + dirY * (ri_y - rj_y);
   234     X->Def.EDParaGeneralTransfer[i] = 
X->Def.ParaGeneralTransfer[i] * Bessel;
 char * cErrTransfer
Error Message in HPhiTrans.c. 
int TransferWithPeierls(struct BindStruct *X, const double time)
Function of getting transfer with peierls. 
int childfopenMPI(const char *_cPathChild, const char *_cmode, FILE **_fp)
Only the root process open file in output/ directory. 
char * cErrDoubleCounting
int TransferForQuench(struct BindStruct *X, const double time)
Function of getting transfer for quench. 
const char * cFileNameWarningOnTransfer
int HPhiTrans(struct BindStruct *X)
Function of checking transfers not to count the same type of operators. .