\(\renewcommand{\AA}{\text{Å}}\)
fix amoeba/pitorsion command
Syntax
fix ID group-ID ameoba/pitorsion
ID, group-ID are documented in fix command
amoeba/pitorsion = style name of this fix command
Examples
fix pit all amoeba/pitorsion
read_data proteinX.data fix pit "pitorsion types" "PiTorsion Coeffs" &
fix pit pitorsions PiTorsions
fix_modify pit energy yes
Description
This command enables 6-body pitorsion interactions to be added to simulations which use the AMOEBA and HIPPO force fields. It matches how the Tinker MD code computes its pitorsion interactions for the AMOEBA and HIPPO force fields. See the Howto amoeba doc page for more information about the implementation of AMOEBA and HIPPO in LAMMPS.
Pitorsion interactions add additional potential energy contributions to 6-tuples of atoms \(IJKLMN\) that have a bond between atoms \(K\) and \(L\), where both \(K\) and \(L\) are additionally bonded to exactly two other atoms. Namely, \(K\) is also bonded to \(I\) and \(J\), and \(L\) is also bonded to \(M\) and \(N\).
The examples/amoeba directory has a sample input script and data file for ubiquitin, which illustrates use of the fix amoeba/pitorsion command.
As in the example above, this fix should be used before reading a data file that contains a listing of pitorsion interactions.
The data file read by the read_data command must contain the topology of all the pitorsion interactions, similar to the topology data for bonds, angles, dihedrals, etc. Specifically, it should have two lines like these in its header section:
M pitorsion types
N pitorsions
where \(N\) is the number of pitorsion 6-body interactions and \(M\) is the number of pitorsion types. It should also have two sections in the body of the data file like these with \(M\) and \(N\) lines each:
PiTorsion Coeffs
1 6.85
2 10.2
[...]
M 6.85
PiTorsions
1 1 2 4 3 20 21 24
2 5 21 23 22 37 38 41
[...]
N 7 27 29 28 30 35 36
For PiTorsion Coeffs, the first column is an index from 1 to \(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 \(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 \(IJKLMN\), as described above.
Note that the pitorsion types and pitorsions and PiTorsion Coeffs and PiTorsions keywords for the header and body sections of the data file match those specified in the 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 data file from Tinker input files, including its PRM file which contains the parameters necessary for computing pitorsion interactions.
The potential energy associated with pitorsion interactions can be output as described below. It can also be included in the total potential energy of the system, as output by the thermo_style command, if the fix_modify energy command is used, as in the example above. See the note below about how to include the pitorsion energy when performing an energy minimization.
Restart, fix_modify, output, run start/stop, minimize info
This fix writes the list of pitorsion interactions to binary restart files. See the read_restart command for info on how to re-specify a fix in an input script that reads a restart file, so that the operation of the fix continues in an uninterrupted fashion.
The fix_modify energy option is supported by this fix to add the potential energy of the pitorsion interactions to both the global potential energy and peratom potential energies of the system as part of thermodynamic output or output by the compute pe/atom command. The default setting for this fix is fix_modify energy yes.
The fix_modify virial option is supported by this fix to add the contribution due to the pitorsion interactions to both the global pressure and per-atom stress of the system via the compute pressure and compute stress/atom commands. The former can be accessed by thermodynamic output. The default setting for this fix is fix_modify virial yes.
This fix computes a global scalar which can be accessed by various output commands. The scalar is the potential energy discussed above. The scalar value calculated by this fix is “extensive”.
No parameter of this fix can be used with the start/stop keywords of the run command.
The forces due to this fix are imposed during an energy minimization, invoked by the minimize command.
The fix_modify respa option is supported by this fix. This allows to set at which level of the r-RESPA integrator the fix is adding its forces. Default is the outermost level.
Note
For energy minimization, if you want the potential energy associated with the pitorsion terms forces to be included in the total potential energy of the system (the quantity being minimized), you MUST not disable the fix_modify energy option for this fix.
Restrictions
To function as expected this fix command must be issued before a read_data command but after a read_restart command.
This fix can only be used if LAMMPS was built with the AMOEBA package. See the Build package page for more info.
Default
none