From 6b4254504492502ab2567578c0c051b5c427b364 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 21 Jun 2024 07:51:49 -0600 Subject: [PATCH 1/2] fix errors in fix amoeba/pitorsion doc page --- doc/src/fix_amoeba_bitorsion.rst | 23 ++++++++++++++--------- doc/src/fix_amoeba_pitorsion.rst | 17 ++++++++--------- tools/tinker/tinker2lmp.py | 4 ++-- 3 files changed, 24 insertions(+), 20 deletions(-) diff --git a/doc/src/fix_amoeba_bitorsion.rst b/doc/src/fix_amoeba_bitorsion.rst index a9abaf19ce8..057c5cf5508 100644 --- a/doc/src/fix_amoeba_bitorsion.rst +++ b/doc/src/fix_amoeba_bitorsion.rst @@ -35,7 +35,11 @@ the implementation of AMOEBA and HIPPO in LAMMPS. Bitorsion interactions add additional potential energy contributions to pairs of overlapping phi-psi dihedrals of amino-acids, which are -important to properly represent their conformational behavior. +important to properly represent their conformational behavior. Each +bitorsion interaction is thus defined for a 5-tuple of atoms +:math:`IJKLM` with bonds between successive atoms in the list, +i.e. two overlapping dihedral interactions for atoms :math:`IJKL` and +:math:`JKLM`. The examples/amoeba directory has a sample input script and data file for ubiquitin, which illustrates use of the fix amoeba/bitorsion @@ -68,14 +72,15 @@ lines: [...] N 3 314 315 317 318 330 -The first column is an index from 1 to :math:`N` to enumerate the bitorsion -5-atom tuples; it is ignored by LAMMPS. The second column is the -*type* of the interaction; it is an index into the bitorsion force -field file. The remaining 5 columns are the atom IDs of the atoms in -the two 4-atom dihedrals that overlap to create the bitorsion 5-body -interaction. Note that the *bitorsions* and *BiTorsions* keywords for -the header and body sections match those specified in the -:doc:`read_data ` command following the data file name. +The first column is an index from 1 to :math:`N` to enumerate the +bitorsion 5-atom tuples; it is ignored by LAMMPS. The second column +is the *type* of the interaction; it is an index into the bitorsion +force field file. The remaining 5 columns are the atom IDs of the +atoms (in order) for the 5-tuple :math:`IJKLM`, as described above. + +Note that the *bitorsions* and *BiTorsions* keywords for the header +and body sections match those specified in the :doc:`read_data +` command following the data file name. The data file should be generated by using the tools/tinker/tinker2lmp.py conversion script which creates a LAMMPS diff --git a/doc/src/fix_amoeba_pitorsion.rst b/doc/src/fix_amoeba_pitorsion.rst index 484c1015c87..b76c98327de 100644 --- a/doc/src/fix_amoeba_pitorsion.rst +++ b/doc/src/fix_amoeba_pitorsion.rst @@ -57,7 +57,7 @@ should have two lines like these in its header section: M pitorsion types N pitorsions -where :math:`N` is the number of pitorsion 5-body interactions and :math:`M` is +where :math:`N` is the number of pitorsion 6-body interactions and :math:`M` is the number of pitorsion types. It should also have two sections in the body of the data file like these with :math:`M` and :math:`N` lines each: @@ -79,16 +79,15 @@ of the data file like these with :math:`M` and :math:`N` lines each: [...] N 3 314 315 317 318 330 -For PiTorsion Coeffs, the first column is an index from 1 to :math:`M` to -enumerate the pitorsion types. The second column is the single +For PiTorsion Coeffs, the first column is an index from 1 to :math:`M` +to enumerate the pitorsion types. The second column is the single prefactor coefficient needed for each type. -For PiTorsions, the first column is an index from 1 to :math:`N` to enumerate -the pitorsion 5-atom tuples; it is ignored by LAMMPS. The second -column is the "type" of the interaction; it is an index into the -PiTorsion Coeffs. The remaining 5 columns are the atom IDs of the -atoms in the two 4-atom dihedrals that overlap to create the pitorsion -5-body interaction. +For PiTorsions, the first column is an index from 1 to :math:`N` to +enumerate the pitorsion 6-atom tuples; it is ignored by LAMMPS. The +second column is the "type" of the interaction; it is an index into +the PiTorsion Coeffs. The remaining 6 columns are the atom IDs of the +atoms (in order) for the 6-tuple :math:`IJKLMN`, as described above. Note that the *pitorsion types* and *pitorsions* and *PiTorsion Coeffs* and *PiTorsions* keywords for the header and body sections of diff --git a/tools/tinker/tinker2lmp.py b/tools/tinker/tinker2lmp.py index e3ae59748ce..3cb9160119b 100644 --- a/tools/tinker/tinker2lmp.py +++ b/tools/tinker/tinker2lmp.py @@ -923,7 +923,7 @@ def bitorsions(self): elif (c3,c2,c1) in ubdict: ublist.append((atom3,atom2,atom1)) -# create pitorslist = list of 6-body interactions +# create pitorsionlist = list of 6-body interactions # based on central bond, each bond atom is bonded to exactly 2 other atoms # avoid double counting by requiring atom1 < atom2 # NOTE: need more info on how to order the 6 atoms for Tinker to compute on @@ -962,7 +962,7 @@ def bitorsions(self): pitorsionlist.append((atom3,atom4,atom1,atom2,atom5,atom6)) -# create bitorslist = list of 5-body interactions +# create bitorsionlist = list of 5-body interactions # generate topology via double loop over neighbors of central atom3 # additional double loop over bonds of atom2 and bonds of atom4 # avoid double counting the reverse bitorsion by use of btdict dictionary From d0da16070b50b191f6ac5bdbe8f522e251d25db2 Mon Sep 17 00:00:00 2001 From: Steve Plimpton Date: Fri, 21 Jun 2024 08:00:50 -0600 Subject: [PATCH 2/2] one more change --- doc/src/fix_amoeba_pitorsion.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/src/fix_amoeba_pitorsion.rst b/doc/src/fix_amoeba_pitorsion.rst index b76c98327de..936eba762d0 100644 --- a/doc/src/fix_amoeba_pitorsion.rst +++ b/doc/src/fix_amoeba_pitorsion.rst @@ -74,10 +74,10 @@ of the data file like these with :math:`M` and :math:`N` lines each: PiTorsions - 1 1 8 10 12 18 20 - 2 5 18 20 22 25 27 + 1 1 2 4 3 20 21 24 + 2 5 21 23 22 37 38 41 [...] - N 3 314 315 317 318 330 + N 7 27 29 28 30 35 36 For PiTorsion Coeffs, the first column is an index from 1 to :math:`M` to enumerate the pitorsion types. The second column is the single