partial implementation for a fix to correctly apply exclusions with dpd pair styles

This commit is contained in:
Axel Kohlmeyer
2022-12-18 11:38:07 -05:00
parent db3ccf93c6
commit aa31f85535
10 changed files with 170 additions and 164 deletions

View File

@ -43,7 +43,7 @@ void PairDPDTstat::compute(int eflag, int vflag)
int i,j,ii,jj,inum,jnum,itype,jtype;
double xtmp,ytmp,ztmp,delx,dely,delz,fpair;
double vxtmp,vytmp,vztmp,delvx,delvy,delvz;
double rsq,r,rinv,dot,wd,randnum,factor_dpd;
double rsq,r,rinv,dot,wd,randnum,factor_dpd,factor_sqrt;
int *ilist,*jlist,*numneigh,**firstneigh;
ev_init(eflag,vflag);
@ -91,6 +91,7 @@ void PairDPDTstat::compute(int eflag, int vflag)
for (jj = 0; jj < jnum; jj++) {
j = jlist[jj];
factor_dpd = special_lj[sbmask(j)];
factor_sqrt = special_sqrt[sbmask(j)];
j &= NEIGHMASK;
delx = xtmp - x[j][0];
@ -113,9 +114,9 @@ void PairDPDTstat::compute(int eflag, int vflag)
// drag force = -gamma * wd^2 * (delx dot delv) / r
// random force = sigma * wd * rnd * dtinvsqrt;
fpair = -gamma[itype][jtype]*wd*wd*dot*rinv;
fpair += sigma[itype][jtype]*wd*randnum*dtinvsqrt;
fpair *= factor_dpd*rinv;
fpair = -factor_dpd*gamma[itype][jtype]*wd*wd*dot*rinv;
fpair += factor_sqrt*sigma[itype][jtype]*wd*randnum*dtinvsqrt;
fpair *= rinv;
f[i][0] += delx*fpair;
f[i][1] += dely*fpair;