forked from lijiext/lammps
Commit JT 112219
- improved figure in precession/spin documentation - corrected other pair/spin interactions
This commit is contained in:
parent
5c7a81128d
commit
89bb2ef83f
Binary file not shown.
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 170 KiB |
|
@ -252,7 +252,7 @@ void PairSpinDipoleCut::compute(int eflag, int vflag)
|
|||
if (eflag) {
|
||||
if (rsq <= local_cut2) {
|
||||
evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]);
|
||||
evdwl *= hbar;
|
||||
evdwl *= 0.5*hbar;
|
||||
}
|
||||
} else evdwl = 0.0;
|
||||
|
||||
|
|
|
@ -319,7 +319,6 @@ void PairSpinDmi::compute_single_pair(int ii, double fmi[3])
|
|||
// if interaction applies to type ii,
|
||||
// locflag = 1 and compute pair interaction
|
||||
|
||||
//i = ilist[ii];
|
||||
if (locflag == 1) {
|
||||
|
||||
xi[0] = x[ii][0];
|
||||
|
@ -373,9 +372,9 @@ void PairSpinDmi::compute_dmi(int i, int j, double eij[3], double fmi[3], double
|
|||
dmiy = eij[2]*v_dmx[itype][jtype] - eij[0]*v_dmz[itype][jtype];
|
||||
dmiz = eij[0]*v_dmy[itype][jtype] - eij[1]*v_dmx[itype][jtype];
|
||||
|
||||
fmi[0] -= 2.0*(dmiy*spj[2] - dmiz*spj[1]);
|
||||
fmi[1] -= 2.0*(dmiz*spj[0] - dmix*spj[2]);
|
||||
fmi[2] -= 2.0*(dmix*spj[1] - dmiy*spj[0]);
|
||||
fmi[0] -= (dmiy*spj[2] - dmiz*spj[1]);
|
||||
fmi[1] -= (dmiz*spj[0] - dmix*spj[2]);
|
||||
fmi[2] -= (dmix*spj[1] - dmiy*spj[0]);
|
||||
}
|
||||
|
||||
/* ----------------------------------------------------------------------
|
||||
|
|
|
@ -242,7 +242,8 @@ void PairSpinExchange::compute(int eflag, int vflag)
|
|||
|
||||
if (eflag) {
|
||||
evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]);
|
||||
evdwl *= hbar;
|
||||
evdwl *= 0.5*hbar;
|
||||
// evdwl *= hbar;
|
||||
} else evdwl = 0.0;
|
||||
|
||||
if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,
|
||||
|
|
|
@ -251,7 +251,7 @@ void PairSpinMagelec::compute(int eflag, int vflag)
|
|||
|
||||
if (eflag) {
|
||||
evdwl -= (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]);
|
||||
evdwl *= hbar;
|
||||
evdwl *= 0.5*hbar;
|
||||
} else evdwl = 0.0;
|
||||
|
||||
if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,
|
||||
|
@ -362,17 +362,17 @@ void PairSpinMagelec::compute_magelec(int i, int j, double eij[3], double fmi[3]
|
|||
vy = v_mey[itype][jtype];
|
||||
vz = v_mez[itype][jtype];
|
||||
|
||||
meix = vy*eij[2] - vz*eij[1];
|
||||
meiy = vz*eij[0] - vx*eij[2];
|
||||
meiz = vx*eij[1] - vy*eij[0];
|
||||
meix = (vy*eij[2] - vz*eij[1]);
|
||||
meiy = (vz*eij[0] - vx*eij[2]);
|
||||
meiz = (vx*eij[1] - vy*eij[0]);
|
||||
|
||||
meix *= ME[itype][jtype];
|
||||
meiy *= ME[itype][jtype];
|
||||
meiz *= ME[itype][jtype];
|
||||
|
||||
fmi[0] += spj[1]*meiz - spj[2]*meiy;
|
||||
fmi[1] += spj[2]*meix - spj[0]*meiz;
|
||||
fmi[2] += spj[0]*meiy - spj[1]*meix;
|
||||
fmi[0] += (spj[1]*meiz - spj[2]*meiy);
|
||||
fmi[1] += (spj[2]*meix - spj[0]*meiz);
|
||||
fmi[2] += (spj[0]*meiy - spj[1]*meix);
|
||||
}
|
||||
|
||||
/* ---------------------------------------------------------------------- */
|
||||
|
@ -391,17 +391,17 @@ void PairSpinMagelec::compute_magelec_mech(int i, int j, double fi[3], double sp
|
|||
vy = v_mey[itype][jtype];
|
||||
vz = v_mez[itype][jtype];
|
||||
|
||||
meix = spi[1]*spi[2] - spi[2]*spj[1];
|
||||
meiy = spi[2]*spi[0] - spi[0]*spj[2];
|
||||
meiz = spi[0]*spi[1] - spi[1]*spj[0];
|
||||
meix = (spi[1]*spi[2] - spi[2]*spj[1]);
|
||||
meiy = (spi[2]*spi[0] - spi[0]*spj[2]);
|
||||
meiz = (spi[0]*spi[1] - spi[1]*spj[0]);
|
||||
|
||||
meix *= ME_mech[itype][jtype];
|
||||
meiy *= ME_mech[itype][jtype];
|
||||
meiz *= ME_mech[itype][jtype];
|
||||
|
||||
fi[0] += meiy*vz - meiz*vy;
|
||||
fi[1] += meiz*vx - meix*vz;
|
||||
fi[2] += meix*vy - meiy*vx;
|
||||
fi[0] += (meiy*vz - meiz*vy);
|
||||
fi[1] += (meiz*vx - meix*vz);
|
||||
fi[2] += (meix*vy - meiy*vx);
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -260,7 +260,7 @@ void PairSpinNeel::compute(int eflag, int vflag)
|
|||
|
||||
if (eflag) {
|
||||
evdwl = (spi[0]*fmi[0] + spi[1]*fmi[1] + spi[2]*fmi[2]);
|
||||
evdwl *= hbar;
|
||||
evdwl *= 0.5*hbar;
|
||||
} else evdwl = 0.0;
|
||||
|
||||
if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,
|
||||
|
|
Loading…
Reference in New Issue