Gromacs  2019-beta2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Typedefs | Enumerations | Functions | Variables
gmx::test::anonymous_namespace{pmesplinespreadtest.cpp} Namespace Reference


class  PmeSplineAndSpreadTest
 Test fixture for testing both atom spline parameter computation and charge spreading. These 2 stages of PME are tightly coupled in the code. More...


typedef std::tuple< Matrix3x3,
int, IVec, CoordinatesVector,
 Convenience typedef of input parameters - unit cell box, PME interpolation order, grid dimensions, particle coordinates, particle charges TODO: consider inclusion of local grid offsets/sizes or PME nodes counts to test the PME DD.


enum  PmeSplineAndSpreadOptions { SplineOnly, SpreadOnly, SplineAndSpreadUnified }
 PME spline and spread code path being tested.


CoordinatesVector const c_sampleCoordinates1 (c_sampleCoordinatesFull.begin(), c_sampleCoordinatesFull.begin()+1)
 1 coordinate vector
CoordinatesVector const c_sampleCoordinates2 (c_sampleCoordinatesFull.begin()+1, c_sampleCoordinatesFull.begin()+3)
 2 coordinate vectors
CoordinatesVector const c_sampleCoordinates13 (c_sampleCoordinatesFull.begin()+3, c_sampleCoordinatesFull.begin()+16)
 13 coordinate vectors


std::vector< Matrix3x3 > const c_sampleBoxes
 A couple of valid inputs for boxes. More...
std::vector< IVec > const c_sampleGridSizes
 A couple of valid inputs for grid sizes. More...
std::vector< real > const c_sampleChargesFull
 Random charges. More...
auto const c_sampleCharges1 = ChargesVector(c_sampleChargesFull).subArray(0, 1)
 1 charge
auto const c_sampleCharges2 = ChargesVector(c_sampleChargesFull).subArray(1, 2)
 2 charges
auto const c_sampleCharges13 = ChargesVector(c_sampleChargesFull).subArray(3, 13)
 13 charges
CoordinatesVector const c_sampleCoordinatesFull
 Random coordinate vectors.
auto c_inputBoxes = ::testing::ValuesIn(c_sampleBoxes)
 moved out from instantiantions for readability
auto c_inputPmeOrders = ::testing::Range(3, 5 + 1)
 moved out from instantiantions for readability
auto c_inputGridSizes = ::testing::ValuesIn(c_sampleGridSizes)
 moved out from instantiantions for readability

Variable Documentation

std::vector<Matrix3x3> const gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::c_sampleBoxes
Initial value:
8.0f, 0.0f, 0.0f,
0.0f, 3.4f, 0.0f,
0.0f, 0.0f, 2.0f
7.0f, 0.0f, 0.0f,
0.0f, 4.1f, 0.0f,
3.5f, 2.0f, 12.2f
std::array< real, 3 *3 > Matrix3x3
TODO: make proper C++ matrix for the whole Gromacs, get rid of this.
Definition: pmetestcommon.h:96

A couple of valid inputs for boxes.

std::vector<real> const gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::c_sampleChargesFull
Initial value:
4.95f, 3.11f, 3.97f, 1.08f, 2.09f, 1.1f, 4.13f, 3.31f, 2.8f, 5.83f, 5.09f, 6.1f, 2.86f, 0.24f, 5.76f, 5.19f, 0.72f

Random charges.

std::vector<IVec> const gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::c_sampleGridSizes
Initial value:
IVec {
16, 12, 14
IVec {
19, 17, 11
BasicVector< int > IVec
Shorthand for C++ ivec-equivalent type.
Definition: vectypes.h:318

A couple of valid inputs for grid sizes.