Gromacs  2020.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes
pmetest.cpp File Reference
#include "gmxpre.h"
#include <map>
#include <string>
#include <vector>
#include <gtest/gtest-spi.h>
#include "gromacs/ewald/pme.h"
#include "gromacs/gpu_utils/gpu_testutils.h"
#include "gromacs/hardware/detecthardware.h"
#include "gromacs/hardware/gpu_hw_info.h"
#include "gromacs/trajectory/energyframe.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/gmxmpi.h"
#include "gromacs/utility/loggerbuilder.h"
#include "gromacs/utility/physicalnodecommunicator.h"
#include "gromacs/utility/stringutil.h"
#include "testutils/mpitest.h"
#include "testutils/refdata.h"
#include "energyreader.h"
#include "moduletest.h"
+ Include dependency graph for pmetest.cpp:

Description

This implements basic PME sanity tests. It runs the input system with PME for several steps (on CPU and GPU, if available), and checks the reciprocal and conserved energies. As part of mdrun-test, this will always run single rank PME simulation. As part of mdrun-mpi-test, this will run same as above when a single rank is requested, or a simulation with a single separate PME rank ("-npme 1") when multiple ranks are requested.

Todo:

Extend and generalize this for more multi-rank tests (-npme 0, -npme 2, etc).

Implement death tests (e.g. for PME GPU decomposition).

Author
Aleksei Iupinov a.yup.nosp@m.inov.nosp@m.@gmai.nosp@m.l.co.nosp@m.m

Classes

class  gmx::test::anonymous_namespace{pmetest.cpp}::PmeTest
 A basic PME runner. More...