1 Common errors when using |Gromacs|
2 ==================================
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.
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.
13 Common errors during usage
14 --------------------------
18 Out of memory when allocating
19 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
21 The program has attempted to assign memory to be used in the calculation, but is unable to due to insufficient memory.
23 Possible solutions are:
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 wanting to generate 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.
32 .. |10to3| replace:: 10\ :sup:`3`
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.
41 .. _Reference manual: `gmx-manual-parent-dir`_
42 .. |Nsquared| replace:: N\ :sup:`2`
46 Errors in :ref:`pdb2gmx <gmx pdb2gmx>`
47 --------------------------------------
49 Residue 'XXX' not found in residue topology database
50 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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.
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.
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.
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.
76 If there is not an entry for this :ref:`residue<gmx-residue>` in the database, then
77 the options for obtaining the force field parameters are:
79 * see if there is a different name being used for the :ref:`residue <gmx-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.
88 .. TODO Once you have determined the parameters and topology for your residue, see
89 .. :ref:`adding a residue to a force field <gmx-add-new-residue>` for instructions on how to proceed.
91 Long bonds and/or missing atoms
92 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
94 There are probably atoms missing earlier in the :ref:`pdb` file which makes :ref:`pdb2gmx <gmx pdb2gmx>` go crazy.
95 Check the screen output of :ref:`pdb2gmx <gmx pdb2gmx>`, as it will tell you which one is missing. Then add
96 the atoms in your :ref:`pdb` file, :ref:`energy minimization <gmx-energy-min>` will put them in the right place, or
97 fix the side chain with e.g. the `WHAT IF <http://swift.cmbi.ru.nl/whatif/>`_ program.
100 Chain identifier 'X' was used in two non-sequential blocks
101 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
103 This means that within the :ref:`coordinate file<gmx-structure-files>` fed to :ref:`pdb2gmx<gmx pdb2gmx>`, the X
104 chain has been split, possibly by the incorrect insertion of one molecule within another.
105 The solution is simple: move the inserted molecule to a location within the file so that it is not splitting another molecule.
106 This message may also mean that the same chain identifier has been used for two
107 separate chains. In that case, rename the second chain to a unique identifier.
109 .. _gmx-atom-missing:
111 WARNING: atom X is missing in residue XXX Y in the pdb file
112 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
114 Related to the long bonds/missing atoms error above, this error is usually quite
115 obvious in its meaning. That is, :ref:`pdb2gmx<gmx pdb2gmx>` expects certain atoms within
116 the given residue, based on the entries in the force field :ref:`rtp` file.
117 There are several cases to which this error applies:
119 * Missing hydrogen atoms; the error message may be suggesting that an entry in the :ref:`hdb`
120 file is missing. More likely, the nomenclature of your hydrogen atoms simply does not match
121 what is expected by the :ref:`rtp` entry. In this case, use ``-ignh`` to
122 allow :ref:`pdb2gmx<gmx pdb2gmx>` to add the correct hydrogens for you,
123 or re-name the problematic atoms.
124 * A terminal residue (usually the N-terminus) is missing H atoms; this usually suggests
125 that the proper ``-ter`` option has not been supplied or chosen properly. In the case of
126 the :ref:`AMBER force fields<gmx-amber-ff>`, nomenclature is typically the problem.
127 N-terminal and C-terminal residues must be prefixed by N and C, respectively.
128 For example, an N-terminal alanine should not be listed in the :ref:`pdb` file
129 as ``ALA``, but rather ``NALA``, as specified in the
130 `ffamber <http://ffamber.cnsm.csulb.edu/ffamber.php>`_ instructions.
131 * Atoms are simply missing in the structure file provided to :ref:`pdb2gmx<gmx pdb2gmx>`;
132 look for ``REMARK 465`` and ``REMARK 470`` entries in the :ref:`pdb` file. These atoms
133 will have to be modeled in using external software. There is no
134 |Gromacs| tool to re-construct incomplete models.
136 Contrary to what the error message says, the use of the option ``-missing``
137 is almost always inappropriate. The ``-missing`` option should only be used to
138 generate specialized topologies for amino acid-like molecules to take
139 advantage of :ref:`rtp` entries. If you find yourself using ``-missing``
140 in order to generate a topology for a protein or nucleic acid,
141 don't; the topology produced is likely physically unrealistic.
143 Atom X in residue YYY not found in rtp entry
144 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
146 If you are attempting to assemble a topology using :ref:`pdb2gmx <gmx pdb2gmx>`, the atom names
147 are expected to match those found in the :ref:`rtp` file that define the building
148 block(s) in your structure. In most cases, the problem arises from a naming mismatch,
149 so simply re-name the atoms in your :ref:`coordinate file <gmx-structure-files>` appropriately.
150 In other cases, you may be supplying a structure that has residues that do not conform
151 to the expectations of the `force field <gmx-force-field>`, in which case you should
152 investigate why such a difference is occurring and make a decision based on what you
153 find - use a different `force field <gmx-force-field>`, manually edit the structure, etc.
155 No force fields found (files with name 'forcefield.itp' in subdirectories ending on '.ff')
156 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
158 This means your environment is not configured to use |Gromacs| properly, because
159 :ref:`pdb2gmx <gmx pdb2gmx>` cannot find its databases of forcefield information. This could
160 happen because a |Gromacs| installation was moved from one location to another.
161 Either follow the instructions about
162 :ref:`getting access to |Gromacs| after installation <getting access to |Gromacs|>`
163 or re-install |Gromacs| before doing so.
165 Errors in :ref:`grompp <gmx grompp>`
166 ------------------------------------
168 Found a second defaults directive file
169 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
171 This is caused by the ``[defaults]`` directive appearing more than once in the :ref:`topology <top>` or
172 :ref:`force field <gmx-force-field>` files for the system - it can only appear once. A typical cause of
173 this is a second defaults being set in an included :ref:`topology <top>` file, :ref:`itp`, that
174 has been sourced from somewhere else. For specifications on how the topology files work,
175 see the `reference manual`_, Section 5.6.::
178 ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ
181 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.,::
184 ; nbfunc comb-rule gen-pairs fudgeLJ fudgeQQ
187 A better approach to finding a solution is to re-think what you are doing. The ``[defaults]``
188 directive should only be appearing at the top of your :ref:`top` file
189 where you choose the :ref:`force field <gmx-force-field>`. If you are trying
190 to mix two :ref:`force fields <gmx-force-field>`, then you are asking for trouble.
191 If a molecule :ref:`itp` file tries to choose a force field, then whoever produced it is asking for trouble.
193 Invalid order for directive xxx
194 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
196 The directives in the .top and .itp files have rules about the order in which they can
197 appear, and this error is seen when the order is violated. Consider the examples and
198 discussion in chapter 5 of the `reference manual`_, and/or from tutorial material.
199 The :ref:`include file mechanism <gmx-topo-include>` cannot be used to ``#include`` a
200 file in just any old location, because they contain directives and these have to be properly placed.
202 In particular, ``Invalid order for directive defaults`` is a result of defaults being
203 set in the :ref:`topology <top>` or :ref:`force field <gmx-force-field>` files in the inappropriate location;
204 the ``[defaults]`` section can only appear once and must be the first directive in
205 the :ref:`topology <top>`. The ``[defaults]`` directive is typically present in the :ref:`force field <gmx-force-field>`
206 file (forcefield.itp), and is added to the :ref:`topology <top>` when you ``#include`` this file in the system topology.
208 If the directive in question is ``[atomtypes]`` (which is the most common source of this error) or
209 any other bonded or nonbonded ``[*types]`` directive, typically the user is adding some
210 non-standard species (ligand, solvent, etc) that introduces new atom types or parameters
211 into the system. As indicated above, these new types and parameters must appear before
212 any ``[moleculetype]`` directive. The :ref:`force field <gmx-force-field>` has to be
213 fully constructed before any molecules can be defined.
215 Atom index n in position_restraints out of bounds
216 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
218 A common problem is placing position restraint files for multiple molecules out of order.
219 Recall that a position restraint :ref:`itp` file containing a ``[ position_restraints ]``
220 block can only belong to the ``[ moleculetype ]`` block that contains it. For example:
224 #include "topol_A.itp"
225 #include "topol_B.itp"
226 #include "ligand.itp"
229 #include "posre_A.itp"
230 #include "posre_B.itp"
231 #include "ligand_posre.itp"
236 #include "topol_A.itp"
238 #include "posre_A.itp"
241 #include "topol_B.itp"
243 #include "posre_B.itp"
246 #include "ligand.itp"
248 #include "ligand_posre.itp"
251 Further, the atom index of each ``[position_restraint]`` must be relative to the
252 ``[moleculetype]``, not relative to the system (because the parsing has not reached
253 ``[molecules]`` yet, there is no such concept as "system"). So you cannot use the output
254 of a tool like :ref:`genrestr <gmx genrestr>` blindly (as ``genrestr -h`` warns).
256 System has non-zero total charge
257 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
259 Notifies you that counter-ions may be required for the system to neutralize the charge or
260 there may be problems with the topology.
262 If the charge is not very close to an integer, then this indicates that there is a problem with the :ref:`topology <top>`.
263 If :ref:`pdb2gmx <gmx pdb2gmx>` has been used, then look at the right-hand
264 comment column of the atom listing, which lists
265 the cumulative charge. This should be an integer after every residue (and/or charge group where
266 applicable). This will assist in finding the residue where things start departing from
267 integer values. Also check the terminal capping groups that have been used.
269 If the charge is already close to an integer, then the difference is caused by
270 :ref:`rounding errors <gmx-floating-point>` and not a major problem.
272 Note for :ref:`PME <gmx-PME>` users: It is possible to use a uniform neutralizing background
273 charge in :ref:`PME <gmx-PME>` to compensate for a system with a net background charge.
274 This may however, especially for non-homogeneous systems, lead to unwanted artifacts, as
275 shown in `Hub, J. S., de Groot, B. L., Grubmüller, H. & Groenhof, G. Quantifying
276 artifacts in Ewald simulations of inhomogeneous systems with a net charge.
277 *J. Chem. Theory Comput.* **10**, 381–390 (2014) <http://pubs.acs.org/doi/abs/10.1021/ct400626b>`.
278 Nevertheless, it is a standard
279 practice to actually add counter-ions to make the system net neutral.
281 Incorrect number of parameters
282 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
284 Look at the :ref:`topology <top>` file for the system. You've not given enough parameters for one of the
285 bonded definitions. Sometimes this also occurs if you've mangled the :ref:`Include File Mechanism <gmx-topo-include>`
286 or the topology file format (see: `reference manual`_ Chapter 5) when you edited the file.
288 Number of coordinates in coordinate file does not match topology
289 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
291 This is pointing out that, based on the information provided in the :ref:`topology <top>` file, :ref:`top`,
292 the total number of atoms or particles within the system does not match exactly with what
293 is provided within the :ref:`coordinate file <gmx-structure-files>`, often a :ref:`gro` or a :ref:`pdb`.
295 The most common reason for this is simply that the user has failed to update the topology file
296 after solvating or adding additional molecules to the system, or made a typographical error in
297 the number of one of the molecules within the system. Ensure that the end of the topology file
298 being used contains something like the following, that matches exactly with what is within the
299 coordinate file being used, in terms of both numbers and order of the molecules::
307 Fatal error: No such moleculetype XXX
308 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
310 Each type of molecule in your ``[ molecules ]`` section of your :ref:`top` file must have a
311 corresponding ``[ moleculetype ]`` section defined previously, either in the :ref:`top` file or
312 an :ref:`included <gmx-topo-include>` :ref:`itp` file. See the `reference manual`_ section 5.6.1
313 for the syntax description. Your :ref:`top` file doesn't have such a definition for the
314 indicated molecule. Check the contents of the relevant files, how you have named your
315 molecules, and how you have tried to refer to them later. Pay attention to the status
316 of ``#ifdef`` and / or ``#include`` statements.
318 T-Coupling group XXX has fewer than 10% of the atoms
319 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
321 It is possible to specify separate :ref:`thermostats <gmx-thermostats>` (temperature coupling groups)
322 for every molecule type within a simulation. This is a particularly bad practice employed by
323 many new users to molecular dynamics simulations. Doing so is a bad idea, as you can
324 introduce errors and artifacts that are hard to predict. In some cases it is best to have all
325 molecules within a single group, using the default ``System`` group. If separate coupling groups are required to avoid
326 the ``hot-solvent, cold-solute`` problem, then ensure that they are of ``sufficient size`` and
327 combine molecule types that appear together within the simulation. For example, for
328 a protein in water with counter-ions, one would likely want to use ``Protein`` and ``Non-Protein``.
330 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
331 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
333 This error is generated in the cases as noted within the message. The dimensions of the box are such that an atom will
334 interact with itself (when using periodic boundary conditions), thus violating the minimum image convention.
335 Such an event is totally unrealistic and will introduce some serious artefacts. The solution is again what is
336 noted within the message, either increase the size of the simulation box so that it is at an absolute minimum
337 twice the cut-off length in all three dimensions (take care here if are using pressure coupling,
338 as the box dimensions will change over time and if they decrease even slightly, you will still be
339 violating the minimum image convention) or decrease the cut-off length (depending on the
340 :ref:`force field <gmx-force-field>` utilised, this may not be an option).
342 Atom index (1) in bonds out of bounds
343 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
345 This kind of error looks like::
348 [ file spc.itp, line 32 ]
349 Atom index (1) in bonds out of bounds (1-0).
350 This probably means that you have inserted topology
351 section "settles" in a part belonging to a different
352 molecule than you intended to. in that case move the
353 "settles" section to the right molecule.
355 This error is fairly self-explanatory. You should look at your :ref:`top` file and check that all
356 of the ``[molecules]`` sections contain all of the data pertaining to that molecule, and no
357 other data. That is, you cannot ``#include`` another molecule type (:ref:`itp` file) before
358 the previous ``[moleculetype]`` has ended. Consult the examples in chapter 5 of the `reference manual`_
359 for information on the required ordering of the different ``[sections]``. Pay attention to
360 the contents of any files you have :ref:`included <gmx-topo-include>` with ``#include`` directives.
362 This error can also arise if you are using a water model that is not enabled for use with your
363 chosen :ref:`force field <gmx-force-field>` by default. For example, if you are attempting to use
364 the SPC water model with an :ref:`AMBER force field <gmx-amber-ff>`, you will see this error.
365 The reason is that, in ``spc.itp``, there is no ``#ifdef`` statement defining atom types for any
366 of the :ref:`AMBER force fields <gmx-amber-ff>`. You can either add this section yourself, or use a different water model.
368 XXX non-matching atom names
369 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
371 This error usually indicates that the order of the :ref:`topology <top>` file does not match that
372 of the :ref:`coordinate file <gmx-structure-files>`. When running :ref:`grompp <gmx grompp>`, the
373 program reads through the :ref:`topology <top>`, mapping the supplied parameters to the atoms in
374 the :ref:`coordinate <gmx-structure-files>` file. If there is a mismatch, this error is generated.
375 To remedy the problem, make sure that the contents of your ``[ molecules ]`` directive
376 matches the exact order of the atoms in the coordinate file.
378 In some cases, the error is harmless. For example, when running simulations with the
379 `MARTINI force field <http://cgmartini.nl/>`_, the workflow relies on :ref:`grompp <gmx grompp>` to apply the
380 correct names, which are not previously assigned. Also, perhaps you are using a
381 :ref:`coordinate <gmx-structure-files>` file that has the old (pre-4.5) ion nomenclature.
382 In this case, allowing :ref:`grompp <gmx grompp>` to re-assign names is harmless.
383 For just about any other situation, when this error comes up, **it should not be ignored**.
384 Just because the ``-maxwarn`` option is available does not mean you should use it in the blind
385 hope of your simulation working. It will undoubtedly :ref:`blow up <blowing-up>`.
387 The sum of the two largest charge group radii (X) is larger than rlist - rvdw/rcoulomb
388 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
390 This error warns that some combination of settings will result in poor energy conservation at the
391 longest cutoff, which occurs when charge groups move in or out of neighborlist range.
392 The error can have two sources:
394 * Your charge groups encompass too many atoms. Most charge groups should be less than 4 atoms or less.
395 * Your :ref:`mdp` settings are incompatible with the chosen algorithms. For switch or shift functions,
396 rlist must be larger than the longest cutoff (``rvdw`` or ``rcoulomb``) to provide buffer space for charge
397 groups that move beyond the neighbor searching radius. If set incorrectly, you may miss
398 interactions, contributing to poor energy conservation.
400 A similar error ("The sum of the two largest charge group radii (X) is
401 larger than rlist") can arise under two following circumstances:
403 * The charge groups are inappropriately large or rlist is set too low.
404 * Molecules are broken across periodic boundaries, which is not a problem in a periodic system.
405 In this case, the sum of the two largest charge groups will correspond to a value of twice
406 the box vector along which the molecule is broken.
409 Invalid line in coordinate file for atom X
410 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
412 This error arises if the format of the :ref:`gro` file is broken in some way. The
413 most common explanation is that the second line in the :ref:`gro` file specifies an incorrect
414 number of atoms, causing :ref:`grompp <gmx grompp>` to continue searching for atoms but finding box vectors.
416 Errors in :ref:`mdrun <gmx mdrun>`
417 ----------------------------------
419 Stepsize too small, or no change in energy. Converged to machine precision, but not to the requested precision
420 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
422 This is not an error as such. It is simply informing you that during the
423 :ref:`energy minimization <gmx-energy-min>` process
424 it reached the limit possible to minimize the structure with your current parameters. It does not
425 mean that the system has not been minimized fully, but in some situations that may be the case.
426 If the system has a significant amount of water present, then an E\ :sub:`pot` of the order
427 of -10\ :sup:`5` to -10\ :sup:`6` (in conjunction with an F\ :sub:`max` between 10
428 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.
434 Further minimization may be achieved by using a different energy minimization method or by
435 making use of double precision-enabled |Gromacs|.
437 LINCS/SETTLE/SHAKE warnings
438 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
440 Sometimes, when running dynamics, :ref:`mdrun <gmx mdrun>` may suddenly stop (perhaps after writing
441 several :ref:`pdb` files) after a series of warnings about the constraint algorithms
442 (e.g. LINCS, SETTLE or SHAKE) are written to the :ref:`log` file. These algorithms often
443 used to constrain bond lengths and/or angles. When a system is :ref:`blowing up <blowing-up>`
444 (i.e. exploding due to diverging forces), the constraints are usually the first thing to
445 fail. This doesn't necessarily mean you need to troubleshoot the constraint algorithm.
446 Usually it is a sign of something more fundamentally wrong (physically unrealistic) with
447 your system. See also the advice here about :ref:`diagnosing unstable systems <system-diagnosis>`.
449 1-4 interaction not within cut-off
450 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
452 Some of your atoms have moved so two atoms separated by three bonds are separated by more
453 than the cut-off distance. **This is BAD**. Most importantly, **do not increase your cut-off**!
454 This error actually indicates that the atoms have very large velocities, which usually means
455 that (part of) your molecule(s) is (are) :ref:`blowing up <blowing-up>`. If you are using
456 LINCS for constraints, you probably also already got a number of LINCS warnings. When using
457 SHAKE this will give rise to a SHAKE error, which halts your simulation before the
458 ``1-4 not within cutoff`` error can appear.
460 There can be a number of reasons for the large velocities in your system. If it happens
461 at the beginning of the simulation, your system might be not equilibrated well enough
462 (e.g. it contains some bad contacts). Try a(nother) round of :ref:`energy minimization <gmx-energy-min>` to
463 fix this. Otherwise you might have a very high temperature, and/or a timestep that is too
464 large. Experiment with these parameters until the error stops occurring. If this doesn't help,
465 check the validity of the parameters in your :ref:`topology <top>`!
467 Simulation running but no output
468 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
470 Not an error as such, but mdrun appears to be chewing up CPU time but nothing is being
471 written to the output files. There are a number of reasons why this may occur:
473 * Your simulation might simply be (very) :ref:`slow <gmx-performance>`, and since output is buffered, it can take quite
474 some time for output to appear in the respective files. If you are trying to fix some problems
475 and you want to get output as fast as possible, you can set the environment variable ``GMX_LOG_BUFFER`` to 0.
476 * Something might be going wrong in your simulation, causing e.g. not-a-numbers (NAN) to be
477 generated (these are the result of e.g. division by zero). Subsequent calculations
478 with NAN's will generate floating point exceptions which slow everything down by orders of
480 * You might have all ``nst*`` parameters (see your :ref:`mdp` file) set to 0, this will suppress most output.
481 * Your disk might be full. Eventually this will lead to :ref:`mdrun <gmx mdrun>` crashing, but
482 since output is buffered, it might take a while for mdrun to realize it can't write.
484 Can not do Conjugate Gradients with constraints
485 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
487 This means you can't do energy minimization with the conjugate gradient
488 algorithm if your topology has constraints defined
489 - please see the :ref:`respective page here <gmx-energy-min>` or check the
492 Pressure scaling more than 1%
493 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
495 This error tends to be generated when the simulation box begins to oscillate (due to large
496 pressures and / or small coupling constants), the system starts to resonate
497 and :ref:`then crashes <blowing-up>`.
498 This can mean that the system isn't equilibrated sufficiently before using pressure coupling.
499 Therefore, better / more equilibration may fix the issue.
501 It is recommended to observe the system trajectory prior and during the crash. This may
502 indicate if a particular part of the system / structure is the problem.
504 In some cases, if the system has been equilibrated sufficiently, this error can mean that the pressure
505 coupling constant, :mdp:`tau-p`, is too small (particularly when using the Berendsen weak coupling method).
506 Increasing that value will slow down the response to pressure changes and may stop the resonance from occurring.
507 You are also more likely to see this error if you use Parrinello-Rahman pressure coupling
508 on a system that is not yet equilibrated - start with the much more forgiving
509 Berendsen method first, then switch to other algorithms.
511 This error can also appear when using a timestep that is too large, e.g. 5 fs,
512 in the absence of constraints and / or virtual sites.
517 This usually means your simulation is :ref:`blowing up <blowing-up>`. Probably you need to do better
518 :ref:`energy minimization <gmx-energy-min>` and/or equilibration and/or topology design.
520 X particles communicated to PME node Y are more than a cell length out of the domain decomposition cell of their charge group
521 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
523 This is another way that :ref:`mdrun <gmx mdrun>` tells you your system is :ref:`blowing up <blowing-up>`.
524 If you have particles
525 that are flying across the system, you will get this fatal error. The message indicates that some
526 piece of your system is tearing apart (hence out of the "cell of their charge group"). Refer to
527 the :ref:`Blowing Up <blowing-up>` page for advice on how to fix this issue.
529 A charge group moved too far between two domain decomposition steps.
530 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
532 See information above.
534 Software inconsistency error: Some interactions seem to be assigned multiple times
535 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
537 See information above
539 There is no domain decomposition for n ranks that is compatible with the given box and a minimum cell size of x nm
540 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
542 This means you tried to run a parallel calculation, and when :ref:`mdrun <gmx mdrun>` tried to
543 partition your simulation cell into chunks, it couldn't. The minimum
544 cell size is controlled by the size of the largest charge group or bonded interaction and the
545 largest of ``rvdw``, ``rlist`` and ``rcoulomb``, some other effects of bond constraints,
546 and a safety margin. Thus it is not possible to run a small simulation with large numbers
547 of processors. So, if :ref:`grompp <gmx grompp>` warned you about a large charge group, pay
548 attention and reconsider its size. :ref:`mdrun <gmx mdrun>` prints a breakdown of how it
549 computed this minimum size in the :ref:`log` file, so you can perhaps find a cause there.
551 If you didn't think you were running a parallel calculation, be aware that from 4.5, |Gromacs|
552 uses thread-based parallelism by default. To prevent this, give :ref:`mdrun <gmx mdrun>`
553 the ``-ntmpi 1`` command line option. Otherwise, you might be using an MPI-enabled |Gromacs| and
554 not be aware of the fact.