diff --git a/src/SPIN/compute_spin.cpp b/src/SPIN/compute_spin.cpp index 1f808eb1bd..9cd7f5473e 100644 --- a/src/SPIN/compute_spin.cpp +++ b/src/SPIN/compute_spin.cpp @@ -104,7 +104,7 @@ void ComputeSpin::compute_vector() mag[0] += sp[i][0]; mag[1] += sp[i][1]; mag[2] += sp[i][2]; - magenergy -= (sp[i][0]*fm[i][0] + sp[i][1]*fm[i][1] + sp[i][2]*fm[i][2]); + magenergy -= 2.0*(sp[i][0]*fm[i][0] + sp[i][1]*fm[i][1] + sp[i][2]*fm[i][2]); tx = sp[i][1]*fm[i][2]-sp[i][2]*fm[i][1]; ty = sp[i][2]*fm[i][0]-sp[i][0]*fm[i][2]; tz = sp[i][0]*fm[i][1]-sp[i][1]*fm[i][0]; diff --git a/src/SPIN/fix_langevin_spin.h b/src/SPIN/fix_langevin_spin.h index 5358438396..b581b70d34 100644 --- a/src/SPIN/fix_langevin_spin.h +++ b/src/SPIN/fix_langevin_spin.h @@ -32,17 +32,17 @@ class FixLangevinSpin : public Fix { void init(); void setup(int); void post_force_respa(int, int, int); - void add_tdamping(double spi[3], double fmi[3]); // add transverse damping - void add_temperature(double fmi[3]); // add temperature - int tdamp_flag, ldamp_flag, temp_flag; // damping and temperature flags + void add_tdamping(double spi[3], double fmi[3]); // add transverse damping + void add_temperature(double fmi[3]); // add temperature + int tdamp_flag, ldamp_flag, temp_flag; // damping and temperature flags protected: double *spi, *fmi; - double alpha_t; // transverse mag. damping - double dts; // magnetic timestep - double temp; // spin bath temperature - double D,sigma; // bath intensity var. - double gil_factor; // gilbert's prefactor + double alpha_t; // transverse mag. damping + double dts; // magnetic timestep + double temp; // spin bath temperature + double D,sigma; // bath intensity var. + double gil_factor; // gilbert's prefactor char *id_temp; class Compute *temperature; diff --git a/src/SPIN/fix_precession_spin.cpp b/src/SPIN/fix_precession_spin.cpp index 4294e5361a..3749b68d28 100644 --- a/src/SPIN/fix_precession_spin.cpp +++ b/src/SPIN/fix_precession_spin.cpp @@ -240,7 +240,6 @@ void FixPrecessionSpin::post_force(int /* vflag */) } int *mask = atom->mask; - double *emag = atom->emag; double **fm = atom->fm; double **sp = atom->sp; const int nlocal = atom->nlocal; @@ -272,7 +271,6 @@ void FixPrecessionSpin::post_force(int /* vflag */) } eprec += epreci; - emag[i] += epreci; fm[i][0] += fmi[0]; fm[i][1] += fmi[1]; fm[i][2] += fmi[2]; diff --git a/src/SPIN/pair_spin_exchange.cpp b/src/SPIN/pair_spin_exchange.cpp index ce5cf325c6..8150a7ab19 100644 --- a/src/SPIN/pair_spin_exchange.cpp +++ b/src/SPIN/pair_spin_exchange.cpp @@ -351,6 +351,8 @@ void PairSpinExchange::compute_exchange(int i, int j, double rsq, double fmi[3], Jex *= (1.0-J2[itype][jtype]*ra); Jex *= exp(-ra); + printf("Exchange : %g %g \n",Jex,Jex*hbar); + fmi[0] += 2.0*Jex*spj[0]; fmi[1] += 2.0*Jex*spj[1]; fmi[2] += 2.0*Jex*spj[2];