Gromacs
2025.0-dev-20241009-5c23d5f
|
#include "gmxpre.h"
#include <map>
#include <memory>
#include <string>
#include <tuple>
#include <vector>
#include <gmock/gmock.h>
#include <gtest/gtest.h>
#include "gromacs/ewald/pme.h"
#include "gromacs/ewald/pme_gpu_internal.h"
#include "gromacs/math/vectypes.h"
#include "gromacs/mdtypes/inputrec.h"
#include "gromacs/mdtypes/md_enums.h"
#include "gromacs/mdtypes/state_propagator_data_gpu.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/message_string_collector.h"
#include "gromacs/utility/range.h"
#include "gromacs/utility/real.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"
Implements PME force gathering tests.
Classes | |
struct | gmx::test::anonymous_namespace{pmegathertest.cpp}::SplineData |
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}::TestSystem |
A structure for the input atom data, which depends in size on atom count. More... | |
class | gmx::test::anonymous_namespace{pmegathertest.cpp}::GatherTest |
Test fixture. More... | |
class | gmx::test::anonymous_namespace{pmegathertest.cpp}::GatherTestBody |
Test case whose body checks that gather works. More... | |
Typedefs | |
typedef std::tuple < std::string, int, IVec, std::string, std::string, int > | gmx::test::anonymous_namespace{pmegathertest.cpp}::GatherInputParameters |
Convenience typedef of the test input parameters. More... | |
Functions | |
SplineData | gmx::test::anonymous_namespace{pmegathertest.cpp}::getSplineData (const int pmeOrder, const int atomCount) |
Return synthetic spline data to gather. | |
std::string | gmx::test::anonymous_namespace{pmegathertest.cpp}::nameOfTest (const testing::TestParamInfo< GatherInputParameters > &info) |
Help GoogleTest name our test cases. More... | |
std::string | gmx::test::anonymous_namespace{pmegathertest.cpp}::fullNameOfTest (const testing::TestParamInfo< GatherInputParameters > &info, const std::string &testName) |
Help GoogleTest name our test cases. More... | |
void | gmx::test::registerDynamicalPmeGatherTests (const Range< int > hardwareContextIndexRange) |
Variables | |
std::vector< IVec > const | gmx::test::anonymous_namespace{pmegathertest.cpp}::c_inputGridSizes { IVec{ 16, 12, 14 }, IVec{ 13, 15, 11 } } |
A couple of valid inputs for grid sizes. | |
const std::map< std::string, SparseRealGridValuesInput > | gmx::test::anonymous_namespace{pmegathertest.cpp}::c_inputGrids |
Two input 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::map< std::string, TestSystem > | gmx::test::anonymous_namespace{pmegathertest.cpp}::c_testSystems |
Test systems to use. More... | |
const auto | gmx::test::anonymous_namespace{pmegathertest.cpp}::c_inputBoxNames = ::testing::Values("rect", "tric") |
Moved out from instantiations for readability. | |
const auto | gmx::test::anonymous_namespace{pmegathertest.cpp}::c_inputGridNames = ::testing::Values("first", "second") |
Moved out from instantiations for readability. | |
const auto | gmx::test::anonymous_namespace{pmegathertest.cpp}::c_inputTestSystemNames = ::testing::Values("1 atom", "2 atoms", "13 atoms") |
Moved out from instantiations for readability. | |