Tests for valid periodic actions
commit65cafdfd14cdf9c77546d4cc6c7addb627a89d9e
authorMark Abraham <mark.j.abraham@gmail.com>
Tue, 3 Sep 2019 13:24:27 +0000 (3 15:24 +0200)
committerMark Abraham <mark.j.abraham@gmail.com>
Thu, 31 Oct 2019 13:10:35 +0000 (31 14:10 +0100)
tree46dc0269f5555e5b37eb8f1dc70b0a6a12866dc3
parent9124029b53d6d423a907da26d5b85e117483491d
Tests for valid periodic actions

We expect that mdrun propagation is unaffected by changing mdp options
that determine whether output is written. However, orchestrating mdrun
to collect and compute such data without affecting the propagation is
complex and currently very fragile. New propagation approaches must be
able to be tested.

Many mdrun combinations of periodic outputs and periodic action of
simulation modules that affect propagation are compared for
correctness against a simulation that did every action at every step.

These tests are fairly slow, so are in their own test binary and
annotated appropriately. They run by default only in release-type
builds. As they target testing the kind of coordination issues that
tend to appear in multi-rank runs, those runs are specifically
targeted.

The energy tolerance for the mdrun test were far too tight. It seems
that tests passed anyhow because they compared runs under exactly
the same run conditions using (nearly) the same summation order.
This change slightly increases the tolerance for energies and
massively the tolerance for pressure comparison.

Change-Id: I88ea643873ebec0e5e2b12181f4b51ad90c7b0f7
src/programs/mdrun/tests/CMakeLists.txt
src/programs/mdrun/tests/energycomparison.cpp
src/programs/mdrun/tests/periodicactions.cpp [new file with mode: 0644]