|
Gromacs
2025.3
|
#include "gmxpre.h"#include <cmath>#include <cstddef>#include <algorithm>#include <map>#include <memory>#include <string>#include <tuple>#include <unordered_map>#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/enumerationhelpers.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"
Include dependency graph for pmesplinespreadtest.cpp:Implements PME spline computation and charge spreading tests.
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. | |
1.8.5