d2 = d*d;
sw = 1.0+d2*d*(elec_swV3+d*(elec_swV4+d*elec_swV5));
dsw = d2*(elec_swF2+d*(elec_swF3+d*elec_swF4));
+ /* Apply switch function. Note that felec=f/r since it will be multiplied
+ * by the i-j displacement vector. This means felec'=f'/r=-(v*sw)'/r=
+ * -(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=felec*sw-v*dsw/r
+ */
+ felec = felec*sw - rinv*velec*dsw;
+ /* Once we have used velec to update felec we can modify velec too */
velec *= sw;
- felec = felec*sw + velec*dsw;
}
if(bExactElecCutoff)
{
d2 = d*d;
sw = 1.0+d2*d*(vdw_swV3+d*(vdw_swV4+d*vdw_swV5));
dsw = d2*(vdw_swF2+d*(vdw_swF3+d*vdw_swF4));
+ /* See coulomb interaction for the force-switch formula */
+ fvdw = fvdw*sw - rinv*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
}
if(bExactVdwCutoff)
{
'None' : [],
'ExactCutoff' : ['exactcutoff'], # Zero the interaction outside the cutoff, used for reaction-field-zero
'PotentialShift' : ['shift','exactcutoff'],
- 'PotentialSwitch' : ['r','switch','exactcutoff']
+ 'PotentialSwitch' : ['rinv','r','switch','exactcutoff']
}
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
velec *= sw;
vvdw *= sw;
- felec = felec*sw + velec*dsw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
vdwtype = mdatoms->typeA;
sh_ewald = fr->ic->sh_ewald;
- ewtab = fr->ic->tabq_coul_F;
+ ewtab = fr->ic->tabq_coul_FDV0;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = felec+fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
velec *= sw;
vvdw *= sw;
- felec = felec*sw + velec*dsw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
vdwtype = mdatoms->typeA;
sh_ewald = fr->ic->sh_ewald;
- ewtab = fr->ic->tabq_coul_F;
+ ewtab = fr->ic->tabq_coul_FDV0;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = felec+fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
velec *= sw;
vvdw *= sw;
- felec = felec*sw + velec*dsw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv01*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv02*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv11*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv12*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv21*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv22*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
vdwtype = mdatoms->typeA;
sh_ewald = fr->ic->sh_ewald;
- ewtab = fr->ic->tabq_coul_F;
+ ewtab = fr->ic->tabq_coul_FDV0;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = felec+fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv01*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv02*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv11*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv12*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv21*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv22*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
vvdwsum += vvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv30*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
vdwtype = mdatoms->typeA;
sh_ewald = fr->ic->sh_ewald;
- ewtab = fr->ic->tabq_coul_F;
+ ewtab = fr->ic->tabq_coul_FDV0;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv30*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
vvdwsum += vvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv11*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv12*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv13*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv21*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv22*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv23*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv31*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv32*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv33*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
vdwtype = mdatoms->typeA;
sh_ewald = fr->ic->sh_ewald;
- ewtab = fr->ic->tabq_coul_F;
+ ewtab = fr->ic->tabq_coul_FDV0;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv11*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv12*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv13*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv21*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv22*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv23*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv31*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv32*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv33*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
velec *= sw;
vvdw *= sw;
- felec = felec*sw + velec*dsw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
vdwtype = mdatoms->typeA;
sh_ewald = fr->ic->sh_ewald;
- ewtab = fr->ic->tabq_coul_F;
+ ewtab = fr->ic->tabq_coul_FDV0;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = felec+fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
velec *= sw;
vvdw *= sw;
- felec = felec*sw + velec*dsw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
vdwtype = mdatoms->typeA;
sh_ewald = fr->ic->sh_ewald;
- ewtab = fr->ic->tabq_coul_F;
+ ewtab = fr->ic->tabq_coul_FDV0;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = felec+fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
velec *= sw;
vvdw *= sw;
- felec = felec*sw + velec*dsw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv01*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv02*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv11*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv12*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv21*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv22*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
vdwtype = mdatoms->typeA;
sh_ewald = fr->ic->sh_ewald;
- ewtab = fr->ic->tabq_coul_F;
+ ewtab = fr->ic->tabq_coul_FDV0;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = felec+fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv01*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv02*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv11*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv12*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv21*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv22*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
vvdwsum += vvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv30*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
vdwtype = mdatoms->typeA;
sh_ewald = fr->ic->sh_ewald;
- ewtab = fr->ic->tabq_coul_F;
+ ewtab = fr->ic->tabq_coul_FDV0;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv30*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
vvdwsum += vvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv11*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv12*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv13*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv21*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv22*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv23*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv31*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv32*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv33*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
vdwtype = mdatoms->typeA;
sh_ewald = fr->ic->sh_ewald;
- ewtab = fr->ic->tabq_coul_F;
+ ewtab = fr->ic->tabq_coul_FDV0;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv11*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv12*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv13*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv21*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv22*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv23*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv31*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv32*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv33*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
charge = mdatoms->chargeA;
sh_ewald = fr->ic->sh_ewald;
- ewtab = fr->ic->tabq_coul_F;
+ ewtab = fr->ic->tabq_coul_FDV0;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
charge = mdatoms->chargeA;
sh_ewald = fr->ic->sh_ewald;
- ewtab = fr->ic->tabq_coul_F;
+ ewtab = fr->ic->tabq_coul_FDV0;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv01*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv02*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv11*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv12*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv21*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv22*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
charge = mdatoms->chargeA;
sh_ewald = fr->ic->sh_ewald;
- ewtab = fr->ic->tabq_coul_F;
+ ewtab = fr->ic->tabq_coul_FDV0;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv00*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv01*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv02*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv11*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv12*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv21*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv22*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv30*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
charge = mdatoms->chargeA;
sh_ewald = fr->ic->sh_ewald;
- ewtab = fr->ic->tabq_coul_F;
+ ewtab = fr->ic->tabq_coul_FDV0;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv10*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv20*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv30*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv11*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv12*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv13*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv21*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv22*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv23*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv31*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv32*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv33*velec*dsw;
velec *= sw;
- felec = felec*sw + velec*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
charge = mdatoms->chargeA;
sh_ewald = fr->ic->sh_ewald;
- ewtab = fr->ic->tabq_coul_F;
+ ewtab = fr->ic->tabq_coul_FDV0;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv11*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv12*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv13*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv21*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv22*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv23*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv31*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv32*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- felec = felec*sw + velec*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ felec = felec*sw - rinv33*velec*dsw;
fscal = felec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
vvdwsum += vvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
vvdwsum += vvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = felec+fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = felec+fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = felec+fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
vvdwsum += vvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
vvdwsum += vvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = felec+fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = felec+fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
velecsum += velec;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = felec+fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
vvdwsum += vvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = fvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
vvdw *= sw;
- fvdw = fvdw*sw + vvdw*dsw;
/* Update potential sums from outer loop */
vvdwsum += vvdw;
dsw = d2*(swF2+d*(swF3+d*swF4));
/* Evaluate switch function */
- fvdw = fvdw*sw + vvdw*dsw;
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
+ fvdw = fvdw*sw - rinv00*vvdw*dsw;
fscal = fvdw;
/* #if 'Ewald' in KERNEL_ELEC */
sh_ewald = fr->ic->sh_ewald;
- /* #if KERNEL_VF=='Force' */
+ /* #if KERNEL_VF=='Force' and KERNEL_MOD_ELEC!='PotentialSwitch' */
ewtab = fr->ic->tabq_coul_F;
ewtabscale = fr->ic->tabq_scale;
ewtabhalfspace = 0.5/ewtabscale;
/* #endif */
/* Evaluate switch function */
- /* #if 'Potential' in KERNEL_VF */
+ /* #if 'Force' in KERNEL_VF */
+ /* fscal'=f'/r=-(v*sw)'/r=-(v'*sw+v*dsw)/r=-v'*sw/r-v*dsw/r=fscal*sw-v*dsw/r */
/* #if 'electrostatics' in INTERACTION_FLAGS[I][J] and KERNEL_MOD_ELEC=='PotentialSwitch' */
- velec *= sw;
- /* #define INNERFLOPS INNERFLOPS+1 */
+ felec = felec*sw - rinv{I}{J}*velec*dsw;
+ /* #define INNERFLOPS INNERFLOPS+3 */
/* #endif */
/* #if 'vdw' in INTERACTION_FLAGS[I][J] and KERNEL_MOD_VDW=='PotentialSwitch' */
- vvdw *= sw;
- /* #define INNERFLOPS INNERFLOPS+1 */
+ fvdw = fvdw*sw - rinv{I}{J}*vvdw*dsw;
+ /* #define INNERFLOPS INNERFLOPS+3 */
/* #endif */
/* #endif */
- /* #if 'Force' in KERNEL_VF */
+ /* #if 'Potential' in KERNEL_VF */
/* #if 'electrostatics' in INTERACTION_FLAGS[I][J] and KERNEL_MOD_ELEC=='PotentialSwitch' */
- felec = felec*sw + velec*dsw;
- /* #define INNERFLOPS INNERFLOPS+3 */
+ velec *= sw;
+ /* #define INNERFLOPS INNERFLOPS+1 */
/* #endif */
/* #if 'vdw' in INTERACTION_FLAGS[I][J] and KERNEL_MOD_VDW=='PotentialSwitch' */
- fvdw = fvdw*sw + vvdw*dsw;
- /* #define INNERFLOPS INNERFLOPS+3 */
+ vvdw *= sw;
+ /* #define INNERFLOPS INNERFLOPS+1 */
/* #endif */
/* #endif */
/* #endif */