Gromacs  2019-beta2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
gmx::test::anonymous_namespace{rerun.cpp}::MdrunRerunTest Class Reference
+ Inheritance diagram for gmx::test::anonymous_namespace{rerun.cpp}::MdrunRerunTest:
+ Collaboration diagram for gmx::test::anonymous_namespace{rerun.cpp}::MdrunRerunTest:


Test fixture base for mdrun -rerun.

This test ensures mdrun can run a simulation, writing a trajectory and matching energies, and reproduce the same energies from a rerun to within a tight tolerance. It says nothing about whether a rerun can reproduce energies from a trajectory generated with older code, since that is not a useful property. Whether mdrun produced correct energies then and now needs different kinds of testing, but if true, this test ensures the rerun has the expected property.

The limitations of mdrun and its output means that reproducing the same energies is currently only meaningful for integration without thermostats or barostats, however the present form of the test infrastructure has in-principle support for such, if that is ever needed/useful.

We should also not compare pressure, because with constraints the non-search steps need a much larger tolerance, and per Redmine 1868 we should stop computing pressure in reruns anyway.

Similarly, per 1868, in the present implementation the kinetic energy quantities are not generally reproducible, either.

The choices for tolerance are arbitrary but sufficient. Rerun does pair search every frame, so it cannot in general exactly reproduce quantities from a normal run, because the accumulation order differs. (Nor does it reproduce pair-search frames exactly, either).

Additional Inherited Members

- Public Attributes inherited from gmx::test::MdrunTestFixture
TestFileManager fileManager_
 Manages temporary files during the test.
SimulationRunner runner_
 Helper object to manage the preparation for and call of mdrun.

The documentation for this class was generated from the following file: