Gromacs  2020.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Variables
pmegathertest.cpp File Reference
#include "gmxpre.h"
#include <string>
#include <gmock/gmock.h>
#include "gromacs/mdtypes/inputrec.h"
#include "gromacs/utility/stringutil.h"
#include "testutils/refdata.h"
#include "testutils/testasserts.h"
#include "pmetestcommon.h"
+ Include dependency graph for pmegathertest.cpp:

Description

Implements PME force gathering tests.

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

Classes

struct  gmx::test::anonymous_namespace{pmegathertest.cpp}::AtomAndPmeOrderSizedData
 A structure for all the spline data which depends in size both on the PME order and atom count. More...
 
struct  gmx::test::anonymous_namespace{pmegathertest.cpp}::AtomSizedData
 A structure for all the input atom data which depends in size on atom count - including a range of spline data for different PME orders. More...
 
class  gmx::test::anonymous_namespace{pmegathertest.cpp}::PmeGatherTest
 Test fixture. More...
 

Typedefs

typedef std::map< size_t,
AtomSizedData > 
gmx::test::anonymous_namespace{pmegathertest.cpp}::InputDataByAtomCount
 A range of the test input data sets, uniquely identified by the atom count.
 
typedef std::tuple< Matrix3x3,
int, IVec,
SparseRealGridValuesInput,
PmeForceOutputHandling, size_t > 
gmx::test::anonymous_namespace{pmegathertest.cpp}::GatherInputParameters
 Convenience typedef of the test input parameters - unit cell box, PME interpolation order, grid dimensions, grid values, overwriting/reducing the input forces, atom count. More...
 

Variables

std::vector< Matrix3x3 > const gmx::test::anonymous_namespace{pmegathertest.cpp}::c_sampleBoxes
 A couple of valid inputs for boxes. More...
 
std::vector< IVec > const gmx::test::anonymous_namespace{pmegathertest.cpp}::c_sampleGridSizes { IVec{ 16, 12, 14 }, IVec{ 13, 15, 11 } }
 A couple of valid inputs for grid sizes.
 
std::vector< real > const gmx::test::anonymous_namespace{pmegathertest.cpp}::c_sampleChargesFull
 Random charges. More...
 
std::vector< IVec > const gmx::test::anonymous_namespace{pmegathertest.cpp}::c_sampleGridLineIndicesFull
 All the input atom gridline indices. More...
 
std::vector< real > const gmx::test::anonymous_namespace{pmegathertest.cpp}::c_sampleSplineValuesFull
 A lot of bogus input spline values - should have at list (max PME order = 5) * (DIM = 3) * (total unique atom number in all test cases = 16) values. More...
 
std::vector< real > const gmx::test::anonymous_namespace{pmegathertest.cpp}::c_sampleSplineDerivativesFull
 A lot of bogus input spline derivatives - should have at list (max PME order = 5) * (DIM = 3) * (total unique atom number in all test cases = 16) values. More...
 
std::vector
< SparseRealGridValuesInput >
const 
gmx::test::anonymous_namespace{pmegathertest.cpp}::c_sampleGrids
 2 c_sample grids - only non-zero values have to be listed More...
 
std::vector< RVec > const gmx::test::anonymous_namespace{pmegathertest.cpp}::c_sampleForcesFull
 Input forces for reduction. More...
 
std::vector< int > const gmx::test::anonymous_namespace{pmegathertest.cpp}::pmeOrders { 3, 4, 5 }
 PME orders to test.
 
std::vector< size_t > const gmx::test::anonymous_namespace{pmegathertest.cpp}::atomCounts { 1, 2, 13 }
 Atom counts to test.