I change the <span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; border-collapse: collapse; ">maximum charge group size defined in the include/types/nblist.h header from 32 to 267. Then grompp worked fine but the mdrun did not start. The following error came out</span><div>
<font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><br></span></font></div><div><font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse;"><div>
Program mdrun_jptlc, VERSION 4.5.3</div><div>Source code file: ns.c, line: 2417</div><div><br></div><div>Fatal error:</div><div>Max #atoms in a charge group: 267 &gt; 64</div><div><br></div><div>For more information and tips for troubleshooting, please check the GROMACS</div>
<div>website at <a href="http://www.gromacs.org/Documentation/Errors">http://www.gromacs.org/Documentation/Errors</a></div><div><br></div><div>In ns.c the relevant section (in bold) is the following:</div><div><br></div><div>
<br></div><div><div>void init_ns(FILE *fplog,const t_commrec *cr,</div><div>             gmx_ns_t *ns,t_forcerec *fr,</div><div>             const gmx_mtop_t *mtop,</div><div>             matrix box)</div><div>{</div><div>
    int  mt,icg,nr_in_cg,maxcg,i,j,jcg,ngid,ncg;</div><div>    t_block *cgs;</div><div>    char *ptr;</div><div>    </div><div>    /* Compute largest charge groups size (# atoms) */</div><div>    nr_in_cg=1;</div><div>    for(mt=0; mt&lt;mtop-&gt;nmoltype; mt++) {</div>
<div>        cgs = &amp;mtop-&gt;moltype[mt].cgs;</div><div>        for (icg=0; (icg &lt; cgs-&gt;nr); icg++)</div><div>        {</div><div>            nr_in_cg=max(nr_in_cg,(int)(cgs-&gt;index[icg+1]-cgs-&gt;index[icg]));</div>
<div>        }</div><div>    }</div><div><br></div><div>   <b> /* Verify whether largest charge group is &lt;= max cg.</b></div><div><b>     * This is determined by the type of the local exclusion type </b></div><div><b>     * Exclusions are stored in bits. (If the type is not large</b></div>
<div><b>     * enough, enlarge it, unsigned char -&gt; unsigned short -&gt; unsigned long)</b></div><div><b>     */</b></div><div><b>    maxcg = sizeof(t_excl)*8;</b></div><div><b>    if (nr_in_cg &gt; maxcg)</b></div><div>
<b>    {</b></div><div><b>        gmx_fatal(FARGS,&quot;Max #atoms in a charge group: %d &gt; %d\n&quot;,</b></div><div><b>                  nr_in_cg,maxcg);</b></div><div><b>    }</b></div><div>    </div><div>    ngid = mtop-&gt;groups.grps[egcENER].nr;</div>
<div>    snew(ns-&gt;bExcludeAlleg,ngid);</div><div>    for(i=0; i&lt;ngid; i++) {</div><div>        ns-&gt;bExcludeAlleg[i] = TRUE;</div><div>        for(j=0; j&lt;ngid; j++)</div><div>        {</div><div>            if (!(fr-&gt;egp_flags[i*ngid+j] &amp; EGP_EXCL))</div>
<div>            {</div><div>                ns-&gt;bExcludeAlleg[i] = FALSE;</div><div>            }</div><div>        }</div><div>    }</div><div>    </div><div>    if (fr-&gt;bGrid) {</div><div>        /* Grid search */</div>
<div>        ns-&gt;grid = init_grid(fplog,fr);</div><div>        init_nsgrid_lists(fr,ngid,ns);</div><div>    }</div><div>    else</div><div>    {</div><div>        /* Simple search */</div><div>        snew(ns-&gt;ns_buf,ngid);</div>
<div>        for(i=0; (i&lt;ngid); i++)</div><div>        {</div><div>            snew(ns-&gt;ns_buf[i],SHIFTS);</div><div>        }</div><div>        ncg = ncg_mtop(mtop);</div><div>        snew(ns-&gt;simple_aaj,2*ncg);</div>
<div>        for(jcg=0; (jcg&lt;ncg); jcg++)</div><div>        {</div><div>            ns-&gt;simple_aaj[jcg]     = jcg;</div><div>            ns-&gt;simple_aaj[jcg+ncg] = jcg;</div><div>        }</div><div>    }</div><div>
    </div><div>    /* Create array that determines whether or not atoms have VdW */</div><div>    snew(ns-&gt;bHaveVdW,fr-&gt;ntype);</div><div>    for(i=0; (i&lt;fr-&gt;ntype); i++)</div><div>    {</div><div>        for(j=0; (j&lt;fr-&gt;ntype); j++)</div>
<div>        {</div><div>            ns-&gt;bHaveVdW[i] = (ns-&gt;bHaveVdW[i] || </div><div>                               (fr-&gt;bBHAM ? </div><div>                                ((BHAMA(fr-&gt;nbfp,fr-&gt;ntype,i,j) != 0) ||</div>
<div>                                 (BHAMB(fr-&gt;nbfp,fr-&gt;ntype,i,j) != 0) ||</div><div>                                 (BHAMC(fr-&gt;nbfp,fr-&gt;ntype,i,j) != 0)) :</div><div>                                ((C6(fr-&gt;nbfp,fr-&gt;ntype,i,j) != 0) ||</div>
<div>                                 (C12(fr-&gt;nbfp,fr-&gt;ntype,i,j) != 0))));</div><div>        }</div><div>    }</div><div>    if (debug) </div><div>        pr_bvec(debug,0,&quot;bHaveVdW&quot;,ns-&gt;bHaveVdW,fr-&gt;ntype,TRUE);</div>
<div>    </div><div>    ns-&gt;nra_alloc = 0;</div><div>    ns-&gt;bexcl = NULL;</div><div>    if (!DOMAINDECOMP(cr))</div><div>    {</div><div>        /* This could be reduced with particle decomposition */</div><div>        ns_realloc_natoms(ns,mtop-&gt;natoms);</div>
<div>    }</div><div><br></div><div>    ns-&gt;nblist_initialized=FALSE;</div><div><br></div><div>    /* nbr list debug dump */</div><div>    {</div><div>        char *ptr=getenv(&quot;GMX_DUMP_NL&quot;);</div><div>        if (ptr)</div>
<div>        {</div><div>            ns-&gt;dump_nl=strtol(ptr,NULL,10);</div><div>            if (fplog)</div><div>            {</div><div>                fprintf(fplog, &quot;GMX_DUMP_NL = %d&quot;, ns-&gt;dump_nl);</div>
<div>            }</div><div>        }</div><div>        else</div><div>        {</div><div>            ns-&gt;dump_nl=0;</div><div>        }</div><div>    }</div><div>}</div></div><div><br></div></span></font></div><div>
<font class="Apple-style-span" face="arial, sans-serif"><span class="Apple-style-span" style="border-collapse: collapse; "><br><span class="Apple-style-span" style="border-collapse: separate;">Any ideas ?<br></span></span></font><br>
</div>