<div dir="ltr">Dear all,<div>I found that in force.c line 1324(for gromacs-4.5.7) or line 1966(for gromacs-4.6.2), a variable called &quot;eterm&quot;(for gromacs -4.5) or elfac(for gromacs-4.6) is defined as</div><div><br>
</div><div>eterm = ONE_4PI_EPS0/pme-&gt;epsilon_r*tmp1[kx]*denom[kx];</div><div><br></div><div>or </div><div><br></div><div>elfac = ONE_4PI_EPS0/pme-&gt;epsilon_r;</div><div><br></div><div>where pme-&gt;epsilon_r = ir-&gt;epsilon_r, which corresponds to the mdp option: epsilon-r.</div>
<div>I have not tested on gromacs-4.6 yet but I have already tested on gromacs-4.5, and as expected, if epsilon-r is made zero in *.mdp, a segmentation fault will appear at function gmx_pme_do. (Since the two pieces of code above are almost the same, I think I probably get the same result for groamcs-4.6).</div>
<div>The physical meaning of epsilon-r=0 is that I am only interested in an infinite dieletric system(no Coulomb interactions despite non-zero charges). </div><div><br></div><div>On the other hand, in forcerec.c:2623(version 4.5) or 1609(verion 4.6), there is another factor: fr-&gt;epsfac defined as below:</div>
<div><br></div><div>if(fr-&gt;epsilon_r != 0)</div><div> fr-&gt;epsfac = ONE_4PI_EPS0/fr-&gt;epsilon_r;</div><div>else</div><div> fr-&gt;epsfac = 0;</div><div><br></div><div>which has already considered this possible situation.</div>
<div><br></div><div>However, although the meaning of fr-&gt;epsfac is the same as the ones of variable eterm(the first half) and elfac, this factor (fr-&gt;epsfac) will only be used for calculating non-bonded (short-range) Coulomb interaction, bonded 1-4 Coulomb interaction and long-range interaction using reaction field method. For long-range interaction using PME/Ewald method, fr-&gt;epsfac will never be used, and the introduction(actually recalculation..) of eterm/elfac causes the failure of computing PME.</div>
<div><br></div><div>Thanks,</div><div>-Mark</div><div><br></div><div><br></div></div>