Gromacs  2021.6
 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

Classes

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...
 

Typedefs

typedef std::tuple< Matrix3x3,
int, IVec, CoordinatesVector,
ChargesVector
SplineAndSpreadInputParameters
 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.
 

Enumerations

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

Functions

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
 

Variables

std::vector< Matrix3x3 > const c_sampleBoxes
 A couple of valid inputs for boxes. More...
 
std::vector< IVec > const c_sampleGridSizes { IVec{ 16, 12, 14 }, IVec{ 19, 17, 11 } }
 A couple of valid inputs for grid sizes.
 
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. More...
 
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:
{
Matrix3x3{ { 8.0F, 0.0F, 0.0F, 0.0F, 3.4F, 0.0F, 0.0F, 0.0F, 2.0F } },
Matrix3x3{ { 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:114

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.

CoordinatesVector const gmx::test::anonymous_namespace{pmesplinespreadtest.cpp}::c_sampleCoordinatesFull
Initial value:
{ { 5.59F, 1.37F, 0.95F },
{
16.0F, 1.02F, 0.22F
},
{ 0.034F, 1.65F, 0.22F },
{ 0.33F, 0.92F, 1.56F },
{ 1.16F, 0.75F, 0.39F },
{ 0.5F, 1.63F, 1.14F },
{
16.0001F, 1.52F, 1.19F
},
{
1.43F, 1.1F, 4.1F
},
{
-1.08F, 1.19F, 0.08F
},
{ 1.6F, 0.93F, 0.53F },
{
1.32F, -1.48F, 0.16F
},
{ 0.87F, 0.0F, 0.33F },
{
0.95F, 7.7F, -0.48F
},
{ 1.23F, 0.91F, 0.68F },
{ 0.19F, 1.45F, 0.94F },
{ 1.28F, 0.46F, 0.38F },
{ 1.21F, 0.23F, 1.0F } }

Random coordinate vectors.