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

Description

Implements PME spline computation and charge spreading tests.

Author
Aleksei Iupinov a.yup.nosp@m.inov.nosp@m.@gmai.nosp@m.l.co.nosp@m.m
Mark Abraham mark..nosp@m.j.ab.nosp@m.raham.nosp@m.@gma.nosp@m.il.co.nosp@m.m

Classes

class  gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::SplineAndSpreadTest
 Test fixture for testing both atom spline parameter computation and charge spreading. These 2 stages of PME are tightly coupled in the code. More...
 
class  gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::SplineAndSpreadTestBody
 Test case whose body checks that spline and spread work. More...
 

Typedefs

typedef std::tuple
< std::string, int, IVec,
std::string, int,
SplineAndSpreadOptions > 
gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::SplineAndSpreadInputParameters
 Convenience typedef of input parameters. More...
 

Enumerations

enum  gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::SplineAndSpreadOptions { SplineOnly, SpreadOnly, SplineAndSpreadUnified, Count }
 PME spline and spread code path being tested.
 

Functions

std::string gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::nameOfTest (const testing::TestParamInfo< SplineAndSpreadInputParameters > &info)
 Help GoogleTest name our test cases. More...
 
const char * gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::enumValueToString (SplineAndSpreadOptions enumValue)
 
std::string gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::fullNameOfTest (const testing::TestParamInfo< SplineAndSpreadInputParameters > &info, const std::string &testName)
 Help GoogleTest name our test cases. More...
 
void gmx::test::registerDynamicalPmeSplineSpreadTests (Range< int > contextIndexRange)
 Functions that dynamically register test cases. More...
 

Variables

std::vector< IVec > const gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::c_inputGridSizes { IVec{ 16, 12, 14 }, IVec{ 19, 17, 11 } }
 A couple of valid inputs for grid sizes.
 
const std::unordered_map
< std::string, TestSystem > 
gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::c_testSystems
 
const auto gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::c_inputBoxNames = ::testing::Values("rect", "tric")
 Moved out from instantiations for readability.
 
const auto gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::c_inputGridNames = ::testing::Values("first", "second")
 Moved out from instantiations for readability.
 
const auto gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::c_inputTestSystemNames = ::testing::Values("1 atom", "2 atoms", "13 atoms")
 Moved out from instantiations for readability.