Disable fastmath with OpenCL on Intel devices
[alexxy/gromacs.git] / docs / user-guide / run-time-errors.rst
1 Common errors when using |Gromacs|
2 ==================================
3
4 The vast majority of error messages generated by |Gromacs| are descriptive,
5 informing the user where the exact error lies. Some errors that arise are noted
6 below, along with more details on what the issue is and how to solve it.
7
8 ..  Moved my text that I duplicated to this page now, so that there is only one page for errors and
9     not two. Kept formatting from new pages, can be changed later.
10
11 .. _common-errors:
12
13 Common errors during usage
14 --------------------------
15
16 .. _out-of-memory:
17
18 Out of memory when allocating
19 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
20
21 The program has attempted to assign memory to be used in the calculation, but is unable to due to insufficient memory.
22
23 Possible solutions are:
24
25 * reduce the scope of the number of atoms selected for analysis.
26 * reduce the length of trajectory file being processed.
27 * in some cases confusion between Ångström and nm may lead to users generating a
28   :ref:`pdb2gmx <gmx pdb2gmx>` water box that is |10to3| times larger than what they think it is (e.g. :ref:`gmx solvate`).
29 * use a computer with more memory.
30 * install more memory in the computer.
31
32 .. |10to3| replace:: 10\ :sup:`3`
33
34 The user should bear in mind that the cost in time and/or memory for various activities will
35 scale with the number of atoms/groups/residues *N* or the simulation length *T* as order N,
36 NlogN, or |Nsquared| (or maybe worse!) and the same for *T*, depending on the type of activity.
37 If it takes a long time, have a think about what you are doing, and the underlying algorithm
38 (see the `Reference manual`_, man page, or use the -h flag for the utility), and
39 see if there's something sensible you can do that has better scaling properties.
40
41 .. _Reference manual: `gmx-manual-parent-dir`_
42 .. |Nsquared| replace:: N\ :sup:`2`
43
44 .. _pdb2gmx-errors:
45
46 Errors in :ref:`pdb2gmx <gmx pdb2gmx>`
47 --------------------------------------
48
49 Residue 'XXX' not found in residue topology database
50 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
51
52
53 This means that the force field you have selected while running :ref:`pdb2gmx <gmx pdb2gmx>` does not have an entry in
54 the :ref:`residue database<rtp>` for XXX. The :ref:`residue database<rtp>` entry is necessary both for stand-alone
55 molecules (e.g. formaldehyde) or a peptide (standard or non-standard). This entry defines the atom
56 types, connectivity, bonded and non-bonded interaction types for the residue and is necessary
57 to use :ref:`pdb2gmx <gmx pdb2gmx>` to build a :ref:`top` file. A :ref:`residue database<rtp>`
58 entry may be missing simply because the
59 database does not contain the residue at all, or because the name is different.
60
61 For new users, this error appears because they are running :ref:`pdb2gmx <gmx pdb2gmx>` on a
62 :ref:`PDB<pdb>` file they have, without consideration of the contents of the file. A :ref:`force field<gmx-force-field>`
63 is not magical, it can only deal with molecules or residues (building blocks) that are
64 provided in the :ref:`residue database<rtp>` or included otherwise.
65
66 If you want to use :ref:`pdb2gmx <gmx pdb2gmx>` to automatically generate your topology, you have
67 to ensure that the appropriate :ref:`rtp` entry is present within the desired :ref:`force field<gmx-force-field>` and
68 has the same name as the building block you are trying to use. If you call your
69 molecule "HIS," then :ref:`pdb2gmx <gmx pdb2gmx>` will try to build histidine, based on the
70 ``[ HIS ]`` entry in the :ref:`rtp` file, so it will look for the exact atomic entries for histidine, no more no less.
71
72 If you want a :ref:`topology<top>` for an arbitrary molecule, you cannot use :ref:`pdb2gmx <gmx pdb2gmx>` (unless you
73 build the :ref:`rtp` entry yourself). You will have to build that entry by hand, or use another program
74 (such as :ref:`x2top<gmx x2top>` or one of the scripts contributed by users) to build the :ref:`top` file.
75
76 If there is not an entry for this residue in the database, then
77 the options for obtaining the force field parameters are:
78
79 * see if there is a different name being used for the residue
80   in the :ref:`residue database<rtp>` and rename as appropriate,
81 * parameterize the residue / molecule yourself (lots of work, even for an expert),
82 * find a :ref:`topology file<top>` for the molecule, convert it to an
83   :ref:`itp` file and include it in your :ref:`top` file,
84 * use another :ref:`force field<gmx-force-field>` which has parameters available for this,
85 * search the primary literature for publications for parameters for the
86   residue that are consistent with the force field that is being used.
87
88 ..  todo:: gmx-add-new-residue doc target
89
90     Need gmx-add-new-residue doc target.
91
92     .. code-block:: none
93
94         Once you have determined the parameters and topology for your residue, see
95         :ref:`adding a residue to a force field <gmx-add-new-residue>` for instructions on how to proceed.
96
97 Long bonds and/or missing atoms
98 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
99
100 There are probably atoms missing earlier in the :ref:`pdb` file which makes :ref:`pdb2gmx <gmx pdb2gmx>` go crazy.
101 Check the screen output of :ref:`pdb2gmx <gmx pdb2gmx>`, as it will tell you which one is missing. Then add
102 the atoms in your :ref:`pdb` file, energy minimization will put them in the right place, or
103 fix the side chain with e.g. the `WHAT IF <http://swift.cmbi.ru.nl/whatif/>`_ program.
104
105
106 Chain identifier 'X' was used in two non-sequential blocks
107 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
108
109 This means that within the :ref:`coordinate file<gmx-structure-files>` fed to :ref:`pdb2gmx<gmx pdb2gmx>`, the X
110 chain has been split, possibly by the incorrect insertion of one molecule within another.
111 The solution is simple: move the inserted molecule to a location within the file so that it is not splitting another molecule.
112 This message may also mean that the same chain identifier has been used for two
113 separate chains. In that case, rename the second chain to a unique identifier.
114
115 .. _gmx-atom-missing:
116
117 WARNING: atom X is missing in residue XXX Y in the pdb file
118 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
119
120 Related to the long bonds/missing atoms error above, this error is usually quite
121 obvious in its meaning. That is, :ref:`pdb2gmx<gmx pdb2gmx>` expects certain atoms within
122 the given residue, based on the entries in the force field :ref:`rtp` file.
123 There are several cases to which this error applies:
124
125 * Missing hydrogen atoms; the error message may be suggesting that an entry in the :ref:`hdb`
126   file is missing.  More likely, the nomenclature of your hydrogen atoms simply does not match
127   what is expected by the :ref:`rtp` entry.  In this case, use ``-ignh`` to
128   allow :ref:`pdb2gmx<gmx pdb2gmx>` to add the correct hydrogens for you,
129   or re-name the problematic atoms.
130 * A terminal residue (usually the N-terminus) is missing H atoms; this usually suggests
131   that the proper ``-ter`` option has not been supplied or chosen properly. In the case of
132   the :ref:`AMBER force fields<gmx-amber-ff>`, nomenclature is typically the problem.
133   N-terminal and C-terminal residues must be prefixed by N and C, respectively.
134   For example, an N-terminal alanine should not be listed in the :ref:`pdb` file
135   as ``ALA``, but rather ``NALA``, as specified in the
136   `ffamber <http://ffamber.cnsm.csulb.edu/ffamber.php>`_ instructions.
137 * Atoms are simply missing in the structure file provided to :ref:`pdb2gmx<gmx pdb2gmx>`;
138   look for ``REMARK 465`` and ``REMARK 470`` entries in the :ref:`pdb` file. These atoms
139   will have to be modeled in using external software. There is no
140   |Gromacs| tool to re-construct incomplete models.
141
142 Contrary to what the error message says, the use of the option ``-missing``
143 is almost always inappropriate.  The ``-missing`` option should only be used to
144 generate specialized topologies for amino acid-like molecules to take
145 advantage of :ref:`rtp` entries.  If you find yourself using ``-missing``
146 in order to generate a topology for a protein or nucleic acid,
147 don't; the topology produced is likely physically unrealistic.
148
149 Atom X in residue YYY not found in rtp entry
150 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
151
152 If you are attempting to assemble a topology using :ref:`pdb2gmx <gmx pdb2gmx>`, the atom names
153 are expected to match those found in the :ref:`rtp` file that define the building
154 block(s) in your structure.  In most cases, the problem arises from a naming mismatch,
155 so simply re-name the atoms in your :ref:`coordinate file <gmx-structure-files>` appropriately.
156 In other cases, you may be supplying a structure that has residues that do not conform
157 to the expectations of the :ref:`force field <gmx-force-field>`, in which case you should
158 investigate why such a difference is occurring and make a decision based on what you
159 find - use a different :ref:`force field <gmx-force-field>`, manually edit the structure, etc.
160
161 No force fields found (files with name 'forcefield.itp' in subdirectories ending on '.ff')
162 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
163
164 This means your environment is not configured to use |Gromacs| properly, because
165 :ref:`pdb2gmx <gmx pdb2gmx>` cannot find its databases of forcefield information. This could
166 happen because a |Gromacs| installation was moved from one location to another.
167 Either follow the instructions about
168 :ref:`getting access to |Gromacs| after installation <getting access to |Gromacs|>`
169 or re-install |Gromacs| before doing so.
170
171 Errors in :ref:`grompp <gmx grompp>`
172 ------------------------------------
173
174 Found a second defaults directive file
175 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
176
177 This is caused by the ``[defaults]`` directive appearing more than once in the :ref:`topology <top>` or
178 :ref:`force field <gmx-force-field>` files for the system - it can only appear once. A typical cause of
179 this is a second defaults being set in an included :ref:`topology <top>` file, :ref:`itp`, that
180 has been sourced from somewhere else. For specifications on how the topology files work,
181 see the `reference manual`_, Section 5.6.::
182
183     [ defaults ]
184     ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ
185     1       1       no       1.0       1.0
186
187 One solution is to simply comment out (or delete) the lines of code out in the file where it is included for the second time i.e.,::
188
189     ;[ defaults ]
190     ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ
191     ;1       1       no       1.0       1.0
192
193 A better approach to finding a solution is to re-think what you are doing. The ``[defaults]``
194 directive should only be appearing at the top of your :ref:`top` file
195 where you choose the :ref:`force field <gmx-force-field>`. If you are trying
196 to mix two :ref:`force fields <gmx-force-field>`, then you are asking for trouble.
197 If a molecule :ref:`itp` file tries to choose a force field, then whoever produced it is asking for trouble.
198
199 Invalid order for directive xxx
200 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
201
202 The directives in the .top and .itp files have rules about the order in which they can
203 appear, and this error is seen when the order is violated. Consider the examples and
204 discussion in chapter 5 of the `reference manual`_, and/or from tutorial material.
205 The :ref:`include file mechanism <gmx-topo-include>` cannot be used to ``#include`` a
206 file in just any old location, because they contain directives and these have to be properly placed.
207
208 In particular, ``Invalid order for directive defaults`` is a result of defaults being
209 set in the :ref:`topology <top>` or :ref:`force field <gmx-force-field>` files in the inappropriate location;
210 the ``[defaults]`` section can only appear once and must be the first directive in
211 the :ref:`topology <top>`.  The ``[defaults]`` directive is typically present in the :ref:`force field <gmx-force-field>`
212 file (forcefield.itp), and is added to the :ref:`topology <top>` when you ``#include`` this file in the system topology.
213
214 If the directive in question is ``[atomtypes]`` (which is the most common source of this error) or
215 any other bonded or nonbonded ``[*types]`` directive, typically the user is adding some
216 non-standard species (ligand, solvent, etc) that introduces new atom types or parameters
217 into the system. As indicated above, these new types and parameters must appear before
218 any ``[moleculetype]`` directive. The :ref:`force field <gmx-force-field>` has to be
219 fully constructed before any molecules can be defined.
220
221 Atom index n in position_restraints out of bounds
222 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
223
224 A common problem is placing position restraint files for multiple molecules out of order.
225 Recall that a position restraint :ref:`itp` file containing a ``[ position_restraints ]``
226 block can only belong to the ``[ moleculetype ]`` block that contains it. For example:
227
228 WRONG::
229
230     #include "topol_A.itp"
231     #include "topol_B.itp"
232     #include "ligand.itp"
233
234     #ifdef POSRES
235     #include "posre_A.itp"
236     #include "posre_B.itp"
237     #include "ligand_posre.itp"
238     #endif
239
240 RIGHT::
241
242     #include "topol_A.itp"
243     #ifdef POSRES
244     #include "posre_A.itp"
245     #endif
246
247     #include "topol_B.itp"
248     #ifdef POSRES
249     #include "posre_B.itp"
250     #endif
251
252     #include "ligand.itp"
253     #ifdef POSRES
254     #include "ligand_posre.itp"
255     #endif
256
257 Further, the atom index of each ``[position_restraint]`` must be relative to the
258 ``[moleculetype]``, not relative to the system (because the parsing has not reached
259 ``[molecules]`` yet, there is no such concept as "system"). So you cannot use the output
260 of a tool like :ref:`genrestr <gmx genrestr>` blindly (as ``genrestr -h`` warns).
261
262 System has non-zero total charge
263 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
264
265 Notifies you that counter-ions may be required for the system to neutralize the charge or
266 there may be problems with the topology.
267
268 If the charge is not very close to an integer, then this indicates that there is a problem with the :ref:`topology <top>`.
269 If :ref:`pdb2gmx <gmx pdb2gmx>` has been used, then look at the right-hand
270 comment column of the atom listing, which lists
271 the cumulative charge. This should be an integer after every residue (and/or charge group where
272 applicable). This will assist in finding the residue where things start departing from
273 integer values. Also check the terminal capping groups that have been used.
274
275 If the charge is already close to an integer, then the difference is caused by
276 :ref:`rounding errors <gmx-floating-point>` and not a major problem.
277
278 Note for PME users: It is possible to use a uniform neutralizing background
279 charge in PME to compensate for a system with a net background charge.
280 This may however, especially for non-homogeneous systems, lead to unwanted artifacts, as
281 shown in \ :ref:`181 <refGroenhofEwaldArtefact>` (http://pubs.acs.org/doi/abs/10.1021/ct400626b).
282 Nevertheless, it is a standard practice to actually add counter-ions to make the system net neutral.
283
284 Incorrect number of parameters
285 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
286
287 Look at the :ref:`topology <top>` file for the system. You've not given enough parameters for one of the
288 bonded definitions.  Sometimes this also occurs if you've mangled the :ref:`Include File Mechanism <gmx-topo-include>`
289 or the topology file format (see: `reference manual`_ Chapter 5) when you edited the file.
290
291 Number of coordinates in coordinate file does not match topology
292 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
293
294 This is pointing out that, based on the information provided in the :ref:`topology <top>` file, :ref:`top`,
295 the total number of atoms or particles within the system does not match exactly with what
296 is provided within the :ref:`coordinate file <gmx-structure-files>`, often a :ref:`gro` or a :ref:`pdb`.
297
298 The most common reason for this is simply that the user has failed to update the topology file
299 after solvating or adding additional molecules to the system, or made a typographical error in
300 the number of one of the molecules within the system. Ensure that the end of the topology file
301 being used contains something like the following, that matches exactly with what is within the
302 coordinate file being used, in terms of both numbers and order of the molecules::
303
304     [ molecules ]
305     ; Compound   #mol
306     Protein      1
307     SOL          10189
308     NA+          10
309
310 Fatal error: No such moleculetype XXX
311 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
312
313 Each type of molecule in your ``[ molecules ]`` section of your :ref:`top` file must have a
314 corresponding ``[ moleculetype ]`` section defined previously, either in the :ref:`top` file or
315 an :ref:`included <gmx-topo-include>` :ref:`itp` file. See the `reference manual`_ section 5.6.1
316 for the syntax description. Your :ref:`top` file doesn't have such a definition for the
317 indicated molecule. Check the contents of the relevant files, how you have named your
318 molecules, and how you have tried to refer to them later. Pay attention to the status
319 of ``#ifdef`` and / or ``#include`` statements.
320
321 T-Coupling group XXX has fewer than 10% of the atoms
322 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
323
324 It is possible to specify separate :ref:`thermostats <gmx-thermostats>` (temperature coupling groups)
325 for every molecule type within a simulation. This is a particularly bad practice employed by
326 many new users to molecular dynamics simulations.  Doing so is a bad idea, as you can
327 introduce errors and artifacts that are hard to predict. In some cases it is best to have all
328 molecules within a single group, using the default ``System`` group. If separate coupling groups are required to avoid
329 the ``hot-solvent, cold-solute`` problem, then ensure that they are of ``sufficient size`` and
330 combine molecule types that appear together within the simulation. For example, for
331 a protein in water with counter-ions, one would likely want to use ``Protein`` and ``Non-Protein``.
332
333 The cut-off length is longer than half the shortest box vector or longer than the smallest box diagonal element. Increase the box size or decrease rlist
334 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
335
336 This error is generated in the cases as noted within the message. The dimensions of the box are such that an atom will
337 interact with itself (when using periodic boundary conditions), thus violating the minimum image convention.
338 Such an event is totally unrealistic and will introduce some serious artefacts. The solution is again what is
339 noted within the message, either increase the size of the simulation box so that it is at an absolute minimum
340 twice the cut-off length in all three dimensions (take care here if are using pressure coupling,
341 as the box dimensions will change over time and if they decrease even slightly, you will still be
342 violating the minimum image convention) or decrease the cut-off length (depending on the
343 :ref:`force field <gmx-force-field>` utilised, this may not be an option).
344
345 Atom index (1) in bonds out of bounds
346 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
347
348 This kind of error looks like::
349
350     Fatal error:
351     [ file spc.itp, line 32 ]
352     Atom index (1) in bonds out of bounds (1-0).
353     This probably means that you have inserted topology
354     section "settles" in a part belonging to a different
355     molecule than you intended to. in that case move the
356     "settles" section to the right molecule.
357
358 This error is fairly self-explanatory. You should look at your :ref:`top` file and check that all
359 of the ``[molecules]`` sections contain all of the data pertaining to that molecule, and no
360 other data. That is, you cannot ``#include`` another molecule type (:ref:`itp` file) before
361 the previous ``[moleculetype]`` has ended. Consult the examples in chapter 5 of the `reference manual`_
362 for information on the required ordering of the different ``[sections]``. Pay attention to
363 the contents of any files you have :ref:`included <gmx-topo-include>` with ``#include`` directives.
364
365 This error can also arise if you are using a water model that is not enabled for use with your
366 chosen :ref:`force field <gmx-force-field>` by default. For example, if you are attempting to use
367 the SPC water model with an :ref:`AMBER force field <gmx-amber-ff>`, you will see this error.
368 The reason is that, in ``spc.itp``, there is no ``#ifdef`` statement defining atom types for any
369 of the :ref:`AMBER force fields <gmx-amber-ff>`. You can either add this section yourself, or use a different water model.
370
371 XXX non-matching atom names
372 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
373
374 This error usually indicates that the order of the :ref:`topology <top>` file does not match that
375 of the :ref:`coordinate file <gmx-structure-files>`.  When running :ref:`grompp <gmx grompp>`, the
376 program reads through the :ref:`topology <top>`, mapping the supplied parameters to the atoms in
377 the :ref:`coordinate <gmx-structure-files>` file.  If there is a mismatch, this error is generated.
378 To remedy the problem, make sure that the contents of your ``[ molecules ]`` directive
379 matches the exact order of the atoms in the coordinate file.
380
381 In a few cases, the error is harmless. Perhaps you are using a
382 :ref:`coordinate <gmx-structure-files>` file that has the old (pre-4.5) ion nomenclature.
383 In this case, allowing :ref:`grompp <gmx grompp>` to re-assign names is harmless.
384 For just about any other situation, when this error comes up, **it should not be ignored**.
385 Just because the ``-maxwarn`` option is available does not mean you should use it in the blind
386 hope of your simulation working. It will undoubtedly :ref:`blow up <blowing-up>`.
387
388 The sum of the two largest charge group radii (X) is larger than rlist - rvdw/rcoulomb
389 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
390
391 This error warns that some combination of settings will result in poor energy conservation at the
392 longest cutoff, which occurs when charge groups move in or out of pair list range.
393 The error can have two sources:
394
395 * Your charge groups encompass too many atoms. Most charge groups should be less than 4 atoms or less.
396 * Your :ref:`mdp` settings are incompatible with the chosen algorithms. For switch or shift functions,
397   rlist must be larger than the longest cutoff (``rvdw`` or ``rcoulomb``) to provide buffer space for charge
398   groups that move beyond the neighbor searching radius. If set incorrectly, you may miss
399   interactions, contributing to poor energy conservation.
400
401 A similar error ("The sum of the two largest charge group radii (X) is
402 larger than rlist") can arise under two following circumstances:
403
404 * The charge groups are inappropriately large or rlist is set too low.
405 * Molecules are broken across periodic boundaries, which is not a problem in a periodic system.
406   In this case, the sum of the two largest charge groups will correspond to a value of twice
407   the box vector along which the molecule is broken.
408
409
410 Invalid line in coordinate file for atom X
411 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
412
413 This error arises if the format of the :ref:`gro` file is broken in some way. The
414 most common explanation is that the second line in the :ref:`gro` file specifies an incorrect
415 number of atoms, causing :ref:`grompp <gmx grompp>` to continue searching for atoms but finding box vectors.
416
417 Errors in :ref:`mdrun <gmx mdrun>`
418 ----------------------------------
419
420 Stepsize too small, or no change in energy. Converged to machine precision, but not to the requested F\ :sub:`max`
421 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
422
423 This may not be an error as such. It is simply informing you that during the energy
424 minimization process mdrun reached the limit possible to minimize the structure with your
425 current parameters. It does not mean that the system has not been minimized fully, but in
426 some situations that may be the case. If the system has a significant amount of water present,
427 then an E\ :sub:`pot` of the orderof -10\ :sup:`5` to -10\ :sup:`6` (in conjunction with an
428 F\ :sub:`max` between 10 and 1000 kJ mol\ :sup:`-1` nm\ :sup:`-1`) is typically a reasonable value for
429 starting most MD simulations from the resulting structure. The most important result is
430 likely the value of F\ :sub:`max`, as it describes the slope of the potential energy
431 surface, i.e. how far from an energy minimum your structure lies. Only for special
432 purposes, such as normal mode analysis type of calculations, it may be necessary to minimize further.
433 Further minimization may be achieved by using a different energy minimization method or by
434 making use of double precision-enabled |Gromacs|.
435
436 Energy minimization has stopped because the force on at least one atom is not finite
437 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
438
439 This likely indicates that (at least) two atoms are too close in the input coordinates, and
440 the forces exerted on each other are greater in magnitude than can be expressed to
441 the extent of the precision of |Gromacs|, and therefore minimization cannot proceed. It
442 is sometimes possible to minimize systems that have infinite forces with the use
443 of soft-core potentials, which scale down the magnitude of Lennard-Jones interactions
444 with the use of the |Gromacs| free energy code. This approach is an accepted workflow for
445 equilibration of some coarse-grained systems such as Martini.
446
447 LINCS/SETTLE/SHAKE warnings
448 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
449
450 Sometimes, when running dynamics, :ref:`mdrun <gmx mdrun>` may suddenly stop (perhaps after writing
451 several :ref:`pdb` files) after a series of warnings about the constraint algorithms
452 (e.g. LINCS, SETTLE or SHAKE) are written to the :ref:`log` file. These algorithms often
453 used to constrain bond lengths and/or angles. When a system is :ref:`blowing up <blowing-up>`
454 (i.e. exploding due to diverging forces), the constraints are usually the first thing to
455 fail. This doesn't necessarily mean you need to troubleshoot the constraint algorithm.
456 Usually it is a sign of something more fundamentally wrong (physically unrealistic) with
457 your system. See also the advice here about :ref:`diagnosing unstable systems <system-diagnosis>`.
458
459 1-4 interaction not within cut-off
460 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
461
462 Some of your atoms have moved so two atoms separated by three bonds are separated by more
463 than the cut-off distance. **This is BAD**. Most importantly, **do not increase your cut-off**!
464 This error actually indicates that the atoms have very large velocities, which usually means
465 that (part of) your molecule(s) is (are) :ref:`blowing up <blowing-up>`. If you are using
466 LINCS for constraints, you probably also already got a number of LINCS warnings. When using
467 SHAKE this will give rise to a SHAKE error, which halts your simulation before the
468 ``1-4 not within cutoff`` error can appear.
469
470 There can be a number of reasons for the large velocities in your system. If it happens
471 at the beginning of the simulation, your system might be not equilibrated well enough
472 (e.g. it contains some bad contacts). Try a(nother) round of energy minimization to
473 fix this. Otherwise you might have a very high temperature, and/or a timestep that is too
474 large. Experiment with these parameters until the error stops occurring. If this doesn't help,
475 check the validity of the parameters in your :ref:`topology <top>`!
476
477 Simulation running but no output
478 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
479
480 Not an error as such, but mdrun appears to be chewing up CPU time but nothing is being
481 written to the output files. There are a number of reasons why this may occur:
482
483 * Your simulation might simply be (very) :ref:`slow <gmx-performance>`, and since output is buffered, it can take quite
484   some time for output to appear in the respective files. If you are trying to fix some problems
485   and you want to get output as fast as possible, you can set the environment variable ``GMX_LOG_BUFFER`` to 0.
486 * Something might be going wrong in your simulation, causing e.g. not-a-numbers (NAN) to be
487   generated (these are the result of e.g. division by zero). Subsequent calculations
488   with NAN's will generate floating point exceptions which slow everything down by orders of
489   magnitude.
490 * You might have all ``nst*`` parameters (see your :ref:`mdp` file) set to 0, this will suppress most output.
491 * Your disk might be full. Eventually this will lead to :ref:`mdrun <gmx mdrun>` crashing, but
492   since output is buffered, it might take a while for mdrun to realize it can't write.
493
494 Can not do Conjugate Gradients with constraints
495 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
496
497 This means you can't do energy minimization with the conjugate gradient
498 algorithm if your topology has constraints defined. Please check the
499 `reference manual`_.
500
501 Pressure scaling more than 1%
502 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
503
504 This error tends to be generated when the simulation box begins to oscillate (due to large
505 pressures and / or small coupling constants), the system starts to resonate
506 and :ref:`then crashes <blowing-up>`.
507 This can mean that the system isn't equilibrated sufficiently before using pressure coupling.
508 Therefore, better / more equilibration may fix the issue.
509
510 It is recommended to observe the system trajectory prior and during the crash. This may
511 indicate if a particular part of the system / structure is the problem.
512
513 In some cases, if the system has been equilibrated sufficiently, this error can mean that the pressure
514 coupling constant, :mdp:`tau-p`, is too small (particularly when using the Berendsen weak coupling method).
515 Increasing that value will slow down the response to pressure changes and may stop the resonance from occurring.
516 You are also more likely to see this error if you use Parrinello-Rahman pressure coupling
517 on a system that is not yet equilibrated - start with the much more forgiving
518 Berendsen method first, then switch to other algorithms.
519
520 This error can also appear when using a timestep that is too large, e.g. 5 fs,
521 in the absence of constraints and / or virtual sites.
522
523 Range Checking error
524 ^^^^^^^^^^^^^^^^^^^^
525
526 This usually means your simulation is :ref:`blowing up <blowing-up>`. Probably you need to do better
527 energy minimization and/or equilibration and/or topology design.
528
529 X particles communicated to PME node Y are more than a cell length out of the domain decomposition cell of their charge group
530 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
531
532 This is another way that :ref:`mdrun <gmx mdrun>` tells you your system is :ref:`blowing up <blowing-up>`.
533 If you have particles
534 that are flying across the system, you will get this fatal error. The message indicates that some
535 piece of your system is tearing apart (hence out of the "cell of their charge group"). Refer to
536 the :ref:`Blowing Up <blowing-up>` page for advice on how to fix this issue.
537
538 A charge group moved too far between two domain decomposition steps.
539 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
540
541 See information above.
542
543 Software inconsistency error: Some interactions seem to be assigned multiple times
544 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
545
546 See information above
547
548 There is no domain decomposition for n ranks that is compatible with the given box and a minimum cell size of x nm
549 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
550
551 This means you tried to run a parallel calculation, and when :ref:`mdrun <gmx mdrun>` tried to
552 partition your simulation cell into chunks, it couldn't. The minimum
553 cell size is controlled by the size of the largest charge group or bonded interaction and the
554 largest of ``rvdw``, ``rlist`` and ``rcoulomb``, some other effects of bond constraints,
555 and a safety margin. Thus it is not possible to run a small simulation with large numbers
556 of processors. So, if :ref:`grompp <gmx grompp>` warned you about a large charge group, pay
557 attention and reconsider its size. :ref:`mdrun <gmx mdrun>` prints a breakdown of how it
558 computed this minimum size in the :ref:`log` file, so you can perhaps find a cause there.
559
560 If you didn't think you were running a parallel calculation, be aware that from 4.5, |Gromacs|
561 uses thread-based parallelism by default. To prevent this, give :ref:`mdrun <gmx mdrun>`
562 the ``-ntmpi 1`` command line option. Otherwise, you might be using an MPI-enabled |Gromacs| and
563 not be aware of the fact.