Parameter files --------------- Atoms ~~~~~ The *static* properties (see :numref:`Table %s `) assigned to the atom types are assigned based on data in several places. The mass is listed in ``atomtypes.atp`` (see :ref:`atomtype`), whereas the charge is listed in :ref:`rtp` (:ref:`rtp` = **r**\ esidue **t**\ opology **p**\ arameter file, see :ref:`rtp`). This implies that the charges are only defined in the building blocks of amino acids, nucleic acids or otherwise, as defined by the user. When generating a :ref:`topology ` using the :ref:`pdb2gmx ` program, the information from these files is combined. .. _tab-statprop: .. table:: Static atom type properties in |Gromacs| +----------+------------------+----------+ | Property | Symbol | Unit | +==========+==================+==========+ | Type | - | - | +----------+------------------+----------+ | Mass | m | a.m.u. | +----------+------------------+----------+ | Charge | q | electron | +----------+------------------+----------+ | epsilon | :math:`\epsilon` | kJ/mol | +----------+------------------+----------+ | sigma | :math:`\sigma` | nm | +----------+------------------+----------+ .. _nbpar: Non-bonded parameters ~~~~~~~~~~~~~~~~~~~~~ The non-bonded parameters consist of the van der Waals parameters V (``c6`` or :math:`\sigma`, depending on the combination rule) and W (``c12`` or :math:`\epsilon`), as listed in the file ``ffnonbonded.itp``, where ``ptype`` is the particle type (see :numref:`Table %s `). As with the bonded parameters, entries in ``[ *type ]`` directives are applied to their counterparts in the topology file. Missing parameters generate warnings, except as noted below in section :ref:`pairinteractions`. :: [ atomtypes ] ;name at.num mass charge ptype V(c6) W(c12) O 8 15.99940 0.000 A 0.22617E-02 0.74158E-06 OM 8 15.99940 0.000 A 0.22617E-02 0.74158E-06 ..... [ nonbond_params ] ; i j func V(c6) W(c12) O O 1 0.22617E-02 0.74158E-06 O OA 1 0.22617E-02 0.13807E-05 ..... **Note** that most of the included force fields also include the ``at.num.`` column, but this same information is implied in the OPLS-AA ``bond_type`` column. The interpretation of the parameters V and W depends on the combination rule that was chosen in the ``[ defaults ]`` section of the topology file (see :ref:`topfile`): .. math:: \begin{aligned} \mbox{for combination rule 1}: & & \begin{array}{llllll} \mbox{V}_{ii} & = & C^{(6)}_{i} & = & 4\,\epsilon_i\sigma_i^{6} & \mbox{[ kJ mol$^{-1}$ nm$^{6}$ ]}\\ \mbox{W}_{ii} & = & C^{(12)}_{i} & = & 4\,\epsilon_i\sigma_i^{12} & \mbox{[ kJ mol$^{-1}$ nm$^{12}$ ]}\\ \end{array} \\ \mbox{for combination rules 2 and 3}: & & \begin{array}{llll} \mbox{V}_{ii} & = & \sigma_i & \mbox{[ nm ]} \\ \mbox{W}_{ii} & = & \epsilon_i & \mbox{[ kJ mol$^{-1}$ ]} \end{array}\end{aligned} :label: eqndefcombrule Some or all combinations for different atom types can be given in the ``[ nonbond_params ]`` section, again with parameters V and W as defined above. Any combination that is not given will be computed from the parameters for the corresponding atom types, according to the combination rule: .. math:: \begin{aligned} \mbox{for combination rules 1 and 3}: & & \begin{array}{lll} C^{(6)}_{ij} & = & \left(C^{(6)}_i\,C^{(6)}_j\right)^{\frac{1}{2}} \\ C^{(12)}_{ij} & = & \left(C^{(12)}_i\,C^{(12)}_j\right)^{\frac{1}{2}} \end{array} \\ \mbox{for combination rule 2}: & & \begin{array}{lll} \sigma_{ij} & = & \frac{1}{2}(\sigma_i+\sigma_j) \\ \epsilon_{ij} & = & \sqrt{\epsilon_i\,\epsilon_j} \end{array}\end{aligned} :label: eqngivencombrule When :math:`\sigma` and :math:`\epsilon` need to be supplied (rules 2 and 3), it would seem it is impossible to have a non-zero :math:`C^{12}` combined with a zero :math:`C^6` parameter. However, providing a negative :math:`\sigma` will do exactly that, such that :math:`C^6` is set to zero and :math:`C^{12}` is calculated normally. This situation represents a special case in reading the value of :math:`\sigma`, and nothing more. There is only one set of combination rules for Buckingham potentials: .. math:: \begin{array}{rcl} A_{ij} &=& \left(A_{ii} \, A_{jj}\right)^{1/2} \\ B_{ij} &=& 2 / \left(\frac{1}{B_{ii}} + \frac{1}{B_{jj}}\right) \\ C_{ij} &=& \left(C_{ii} \, C_{jj}\right)^{1/2} \end{array} :label: eqnbuckinghamcombrule Bonded parameters ~~~~~~~~~~~~~~~~~ The bonded parameters (*i.e.* bonds, bond angles, improper and proper dihedrals) are listed in ``ffbonded.itp``.  The entries in this database describe, respectively, the atom types in the interactions, the type of the interaction, and the parameters associated with that interaction. These parameters are then read by :ref:`grompp ` when processing a topology and applied to the relevant bonded parameters, *i.e.* ``bondtypes`` are applied to entries in the ``[ bonds ]`` directive, etc. Any bonded parameter that is missing from the relevant :``[ *type ]`` directive generates a fatal error. The types of interactions are listed in :numref:`Table %s `. Example excerpts from such files follow: :: [ bondtypes ] ; i j func b0 kb C O 1 0.12300 502080. C OM 1 0.12500 418400. ...... [ angletypes ] ; i j k func th0 cth HO OA C 1 109.500 397.480 HO OA CH1 1 109.500 397.480 ...... [ dihedraltypes ] ; i l func q0 cq NR5* NR5 2 0.000 167.360 NR5* NR5* 2 0.000 167.360 ...... [ dihedraltypes ] ; j k func phi0 cp mult C OA 1 180.000 16.736 2 C N 1 180.000 33.472 2 ...... [ dihedraltypes ] ; ; Ryckaert-Bellemans Dihedrals ; ; aj ak funct CP2 CP2 3 9.2789 12.156 -13.120 -3.0597 26.240 -31.495 In the ``ffbonded.itp`` file, you can add bonded parameters. If you want to include parameters for new atom types, make sure you define them in ``atomtypes.atp`` as well. For most interaction types, bonded parameters are searched and assigned using an exact match for all type names and allowing only a single set of parameters. The exception to this rule are dihedral parameters. For ``[ dihedraltypes ]`` wildcard atom type names can be specified with the letter ``X`` in one or more of the four positions. Thus one can for example assign proper dihedral parameters based on the types of the middle two atoms. The parameters for the entry with the most exact matches, i.e. the least wildcard matches, will be used. Note that |Gromacs| versions older than 5.1.3 used the first match, which means that a full match would be ignored if it is preceded by an entry that matches on wildcards. Thus it is suggested to put wildcard entries at the end, in case someone might use a forcefield with older versions of |Gromacs|. In addition there is a dihedral type 9 which adds the possibility of assigning multiple dihedral potentials, useful for combining terms with different multiplicities. The different dihedral potential parameter sets should be on directly adjacent lines in the ``[ dihedraltypes ]`` section.