Commit d5fe8857 authored by julient31's avatar julient31
Browse files

Commit JT 100518

- correction torque ewald_dipole
- idem ewald_dipole_spin to check
parent a745a0ae
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -458,7 +458,7 @@ void EwaldDipole::compute(int eflag, int vflag)

      // compute field for torque calculation

      partial2 = exprl*sfacrl_all[k] - expim*sfacim_all[k];
      partial2 = exprl*sfacrl_all[k] + expim*sfacim_all[k];
      tk[i][0] += partial2*eg[k][0];
      tk[i][1] += partial2*eg[k][1];
      tk[i][2] += partial2*eg[k][2];
@@ -493,9 +493,9 @@ void EwaldDipole::compute(int eflag, int vflag)
    f[i][0] += muscale * ek[i][0];
    f[i][1] += muscale * ek[i][1];
    if (slabflag != 2) f[i][2] += muscale * ek[i][2];
    t[i][0] += -mu[i][1]*tk[i][2] + mu[i][2]*tk[i][1];
    t[i][1] += -mu[i][2]*tk[i][0] + mu[i][0]*tk[i][2];
    if (slabflag != 2) t[i][2] += -mu[i][0]*tk[i][1] + mu[i][1]*tk[i][0];
    t[i][0] -= muscale * (mu[i][1]*tk[i][2] - mu[i][2]*tk[i][1]);
    t[i][1] -= muscale * (mu[i][2]*tk[i][0] - mu[i][0]*tk[i][2]);
    if (slabflag != 2) t[i][2] -= muscale * (mu[i][0]*tk[i][1] - mu[i][1]*tk[i][0]);
  }

  // sum global energy across Kspace vevs and add in volume-dependent term
+1 −4
Original line number Diff line number Diff line
@@ -434,7 +434,7 @@ void EwaldDipoleSpin::compute(int eflag, int vflag)

      // compute field for torque calculation

      partial2 = exprl*sfacrl_all[k] - expim*sfacim_all[k];
      partial2 = exprl*sfacrl_all[k] + expim*sfacim_all[k];
      tk[i][0] += partial2*eg[k][0];
      tk[i][1] += partial2*eg[k][1];
      tk[i][2] += partial2*eg[k][2];
@@ -479,9 +479,6 @@ void EwaldDipoleSpin::compute(int eflag, int vflag)
    if (slabflag != 2) fm_long[i][2] += spscale2 * tk[i][3];
  }
  
  //printf("test f_l: %g %g %g \n",f[0][0],f[0][1],f[0][2]);
  //printf("test fm_l: %g %g %g \n",fm_long[0][0],fm_long[0][1],fm_long[0][2]);
  
  // sum global energy across Kspace vevs and add in volume-dependent term
  // taking the re-part of struct_fact_i x struct_fact_j
  // substracting self energy and scaling