Commit JT 112219

- improved figure in precession/spin documentation
- corrected other pair/spin interactions
This commit is contained in:
julient31 2019-11-22 12:07:05 -07:00
parent 5c7a81128d
commit 89bb2ef83f
6 changed files with 20 additions and 20 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

After

Width:  |  Height:  |  Size: 170 KiB

View File

@ -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;

View File

@ -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]);
}
/* ----------------------------------------------------------------------

View File

@ -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,

View File

@ -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);
}

View File

@ -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,