dihedral style charmm weight 1-4 fused rings

Dear all,

I used the script "charmm2lammps.pl" to generate an input lammps
"data" file for naphtalene
(starting from a "psf" file generated with the "charmm" program, and
using the topology and parameter files
"top_all36_cgenff.top" and "par_all36_cgenff.prm") .

            8 11
            > >
            7 10
          // \ / \\
    6--5 9 12--13
         > >> >
    4--3 18 14--15
          \\ / \ //
            1 16
             > >
            2 17

Fig1. Naphalene structure with atom numbering

In the Dihedral section of the generated "data" file, all dihedrals
involving four aromatic carbons are of the same type (consistently
with how naphtalene is modelled within CGENFF). For example (see Fig.1
above for atom numbering i, j, k, l):

#dih_id dih_type i j k l
2 1 1 3 5 7 #CG2R61 CG2R61
CG2R61 CG2R61
3 1 1 18 9 7 #CG2R61 CG2R61
CG2R61 CG2R61
4 1 1 18 9 10 #CG2R61 CG2R61
CG2R61 CG2R61

In the Dihedral Coeff secion, the parameters for this dihedral type are:

#dih_type K n d weight
1 3.1 2 180 0.5 #CG2R61
CG2R61 CG2R61 CG2R61

I think that using weight=0.5 for 1-4 nonbonded interactions is
correct for dihedrals like dih_id=2 and 3, but not for dih_id=4 (for
this, I would use weight=1.0, since there isn't another dihedral
having atoms 1 and 10 as terminal atoms).

Am I correct, or am I missing something ?

If I am correct, the only solution that came to my mind is to manually
modify the "data", by (i) defining a new dihedral type with the same
value of K,n,d of dih_type=1 but with a weight=1.0; (ii) assigning
dihedrals like dih_id=4 to this new type:

#dih_type K n d weight
1 3.1 2 180 0.5
2 3.1 2 180 1.0

#dih_id dih_type i j k l
2 1 1 3 5 7
3 1 1 18 9 7
4 2 1 18 9 10

Is this the only possible solution, or does lammps provide some
special keyword for treating cases like this?
(the molecule I have to model is much more complicated than
naphtalene, and manually modifying the file would be a bit tedious).

Thanks a lot for your help

Cristina

cristina,

i believe your observation is correct and this seems like a limitation of the charmm2lammps.pl script.
it is rather difficult to read, but as far as i can tell it is detecting the cases correctly, but implicitly assuming that all dihedrals made up from the same 4 atom types will always have the same settings and thus is not creating different dihedral types for this special case.

[…]

If I am correct, the only solution that came to my mind is to manually
modify the “data”, by (i) defining a new dihedral type with the same
value of K,n,d of dih_type=1 but with a weight=1.0; (ii) assigning
dihedrals like dih_id=4 to this new type:

#dih_type K n d weight
1 3.1 2 180 0.5
2 3.1 2 180 1.0

#dih_id dih_type i j k l
2 1 1 3 5 7
3 1 1 18 9 7
4 2 1 18 9 10

Is this the only possible solution, or does lammps provide some
special keyword for treating cases like this?

there is no special treatment in LAMMPS for this. i have always been complaining about the impractical way, how LAMMPS handles 1-4 non-bonded interactions for CHARMM (which date back to times when LAMMPS didn’t have as sophisticated a handling of special bonds than what it has now) and suggested alternatives to people that were working on improvements, but so far nobody has taken on the task and properly implement CHARMM style 1-4 interactions (if those are encoded in the neighbor list and computed with the pair interactions, no problems with double counting would appear.

this means, at the moment, you are stuck with manual edits and perhaps using some scripting to help detecting cases that need changes.

axel.

Hi Axel,

thanks a lot for the clarification. At least now I am sure I have
understood correctly and I have to modify the data file.

Cheers

Quoting Axel Kohlmeyer <[email protected]>: