partial implementation for a fix to correctly apply exclusions with dpd pair styles
This commit is contained in:
@ -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;
|
||||
|
||||
Reference in New Issue
Block a user