From c1c4f2111e8e0e9256cf1c89ce9fa28d19ac82f0 Mon Sep 17 00:00:00 2001 From: Artem Zhmurov Date: Wed, 29 Sep 2021 13:05:58 +0000 Subject: [PATCH] Use reference data in constraints tests --- src/gromacs/mdlib/tests/constr.cpp | 163 +++++++++++------- src/gromacs/mdlib/tests/constrtestdata.cpp | 4 +- src/gromacs/mdlib/tests/constrtestdata.h | 6 +- ...ConstraintsTest_SatisfiesConstraints_0.xml | 41 +++++ ...ConstraintsTest_SatisfiesConstraints_1.xml | 41 +++++ ...onstraintsTest_SatisfiesConstraints_10.xml | 51 ++++++ ...onstraintsTest_SatisfiesConstraints_11.xml | 51 ++++++ ...ConstraintsTest_SatisfiesConstraints_2.xml | 61 +++++++ ...ConstraintsTest_SatisfiesConstraints_3.xml | 61 +++++++ ...ConstraintsTest_SatisfiesConstraints_4.xml | 51 ++++++ ...ConstraintsTest_SatisfiesConstraints_5.xml | 51 ++++++ ...ConstraintsTest_SatisfiesConstraints_6.xml | 61 +++++++ ...ConstraintsTest_SatisfiesConstraints_7.xml | 61 +++++++ ...ConstraintsTest_SatisfiesConstraints_8.xml | 61 +++++++ ...ConstraintsTest_SatisfiesConstraints_9.xml | 61 +++++++ 15 files changed, 751 insertions(+), 74 deletions(-) create mode 100644 src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_0.xml create mode 100644 src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_1.xml create mode 100644 src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_10.xml create mode 100644 src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_11.xml create mode 100644 src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_2.xml create mode 100644 src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_3.xml create mode 100644 src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_4.xml create mode 100644 src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_5.xml create mode 100644 src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_6.xml create mode 100644 src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_7.xml create mode 100644 src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_8.xml create mode 100644 src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_9.xml diff --git a/src/gromacs/mdlib/tests/constr.cpp b/src/gromacs/mdlib/tests/constr.cpp index fbca1b6d34..60dd5df617 100644 --- a/src/gromacs/mdlib/tests/constr.cpp +++ b/src/gromacs/mdlib/tests/constr.cpp @@ -60,6 +60,7 @@ #include "gromacs/pbcutil/pbc.h" #include "gromacs/utility/stringutil.h" +#include "testutils/refdata.h" #include "testutils/test_hardware_environment.h" #include "testutils/testasserts.h" @@ -129,9 +130,6 @@ struct ConstraintsTestSystem //! Velocities before constraining. std::vector v; - //! Reference values for scaled virial tensor. - tensor virialScaledRef; - //! Target tolerance for SHAKE. real shakeTolerance = 0.0001; /*! \brief Use successive over-relaxation method for SHAKE iterations. @@ -148,10 +146,6 @@ struct ConstraintsTestSystem int lincslincsExpansionOrder = 4; //! The threshold value for the change in bond angle. When exceeded the program will issue a warning real lincsWarnAngle = 30.0; - - FloatingPointTolerance lengthTolerance = absoluteTolerance(0.0002); - FloatingPointTolerance comTolerance = absoluteTolerance(0.0001); - FloatingPointTolerance virialTolerance = absoluteTolerance(0.0001); }; //! Helper function to convert ConstraintsTestSystem into string and make test failure messages readable @@ -178,12 +172,6 @@ const std::vector c_constraintsTestSystemList = [] { constraintsTestSystem.xPrime = { { 0.01, 0.08, 0.01 }, { 0.06, 0.01, -0.01 } }; constraintsTestSystem.v = { { 1.0, 2.0, 3.0 }, { 3.0, 2.0, 1.0 } }; - tensor virialScaledRef = { { -5.58e-04, 5.58e-04, 0.00e+00 }, - { 5.58e-04, -5.58e-04, 0.00e+00 }, - { 0.00e+00, 0.00e+00, 0.00e+00 } }; - - memcpy(constraintsTestSystem.virialScaledRef, virialScaledRef, DIM * DIM * sizeof(real)); - constraintsTestSystemList.emplace_back(constraintsTestSystem); } { @@ -208,12 +196,6 @@ const std::vector c_constraintsTestSystemList = [] { constraintsTestSystem.v = { { 0.0, 1.0, 0.0 }, { 1.0, 0.0, 0.0 }, { 0.0, 0.0, 1.0 }, { 0.0, 0.0, 0.0 } }; - tensor virialScaledRef = { { 3.3e-03, -1.7e-04, 5.6e-04 }, - { -1.7e-04, 8.9e-06, -2.8e-05 }, - { 5.6e-04, -2.8e-05, 8.9e-05 } }; - - memcpy(constraintsTestSystem.virialScaledRef, virialScaledRef, DIM * DIM * sizeof(real)); - constraintsTestSystemList.emplace_back(constraintsTestSystem); } { @@ -236,12 +218,6 @@ const std::vector c_constraintsTestSystemList = [] { constraintsTestSystem.v = { { 1.0, 0.0, 0.0 }, { 0.0, 1.0, 0.0 }, { 0.0, 0.0, 1.0 } }; - tensor virialScaledRef = { { 4.14e-03, 4.14e-03, 3.31e-03 }, - { 4.14e-03, 4.14e-03, 3.31e-03 }, - { 3.31e-03, 3.31e-03, 3.31e-03 } }; - - memcpy(constraintsTestSystem.virialScaledRef, virialScaledRef, DIM * DIM * sizeof(real)); - constraintsTestSystemList.emplace_back(constraintsTestSystem); } { @@ -268,17 +244,9 @@ const std::vector c_constraintsTestSystemList = [] { { 0.0, 0.0, 2.0 }, { 0.0, 0.0, 3.0 }, { 0.0, 0.0, -4.0 }, { 0.0, 0.0, -1.0 } }; - tensor virialScaledRef = { { 1.15e-01, -4.20e-03, 2.12e-02 }, - { -4.20e-03, 1.70e-04, -6.41e-04 }, - { 2.12e-02, -6.41e-04, 5.45e-03 } }; - - memcpy(constraintsTestSystem.virialScaledRef, virialScaledRef, DIM * DIM * sizeof(real)); - - // Overriding default values since LINCS converges slowly for this system. constraintsTestSystem.lincsNIter = 4; constraintsTestSystem.lincslincsExpansionOrder = 8; - constraintsTestSystem.virialTolerance = absoluteTolerance(0.01); constraintsTestSystemList.emplace_back(constraintsTestSystem); } @@ -303,12 +271,6 @@ const std::vector c_constraintsTestSystemList = [] { constraintsTestSystem.v = { { 1.0, 0.0, 0.0 }, { 1.0, 0.0, 0.0 }, { 1.0, 0.0, 0.0 }, { 1.0, 0.0, 0.0 } }; - tensor virialScaledRef = { { 7.14e-04, 0.00e+00, 0.00e+00 }, - { 0.00e+00, 1.08e-03, 0.00e+00 }, - { 0.00e+00, 0.00e+00, 1.15e-03 } }; - - memcpy(constraintsTestSystem.virialScaledRef, virialScaledRef, DIM * DIM * sizeof(real)); - constraintsTestSystemList.emplace_back(constraintsTestSystem); } { @@ -330,12 +292,6 @@ const std::vector c_constraintsTestSystemList = [] { constraintsTestSystem.v = { { 1.0, 1.0, 1.0 }, { -2.0, -2.0, -2.0 }, { 1.0, 1.0, 1.0 } }; - tensor virialScaledRef = { { 6.00e-04, -1.61e-03, 1.01e-03 }, - { -1.61e-03, 2.53e-03, -9.25e-04 }, - { 1.01e-03, -9.25e-04, -8.05e-05 } }; - - memcpy(constraintsTestSystem.virialScaledRef, virialScaledRef, DIM * DIM * sizeof(real)); - constraintsTestSystemList.emplace_back(constraintsTestSystem); } @@ -364,6 +320,49 @@ const std::vector c_constraintsTestSystemList = [] { class ConstraintsTest : public ::testing::TestWithParam> { public: + //! Reference data + TestReferenceData refData_; + //! Checker for reference data + TestReferenceChecker checker_; + + ConstraintsTest() : checker_(refData_.rootChecker()) {} + + /*! \brief Test if the final position correspond to the reference data. + * + * \param[in] testData Test data structure. + */ + void checkFinalPositions(const ConstraintsTestData& testData) + { + TestReferenceChecker finalPositionsRef( + checker_.checkSequenceCompound("FinalPositions", testData.numAtoms_)); + for (int i = 0; i < testData.numAtoms_; i++) + { + TestReferenceChecker xPrimeRef(finalPositionsRef.checkCompound("Atom", nullptr)); + const gmx::RVec& xPrime = testData.xPrime_[i]; + xPrimeRef.checkReal(xPrime[XX], "XX"); + xPrimeRef.checkReal(xPrime[YY], "YY"); + xPrimeRef.checkReal(xPrime[ZZ], "ZZ"); + } + } + + /*! \brief Test if the final velocities correspond to the reference data. + * + * \param[in] testData Test data structure. + */ + void checkFinalVelocities(const ConstraintsTestData& testData) + { + TestReferenceChecker finalVelocitiesRef( + checker_.checkSequenceCompound("FinalVelocities", testData.numAtoms_)); + for (int i = 0; i < testData.numAtoms_; i++) + { + TestReferenceChecker vRef(finalVelocitiesRef.checkCompound("Atom", nullptr)); + const gmx::RVec& v = testData.v_[i]; + vRef.checkReal(v[XX], "XX"); + vRef.checkReal(v[YY], "YY"); + vRef.checkReal(v[ZZ], "ZZ"); + } + } + /*! \brief * The test on the final length of constrained bonds. * @@ -518,30 +517,30 @@ public: * * Checks if the values in the scaled virial tensor are equal to pre-computed values. * - * \param[in] tolerance Tolerance for the tensor values. * \param[in] testData Test data structure. */ - static void checkVirialTensor(FloatingPointTolerance tolerance, const ConstraintsTestData& testData) + void checkVirialTensor(const ConstraintsTestData& testData) { - for (int i = 0; i < DIM; i++) - { - for (int j = 0; j < DIM; j++) - { - EXPECT_REAL_EQ_TOL(testData.virialScaledRef_[i][j], testData.virialScaled_[i][j], tolerance) - << gmx::formatString( - "Values in virial tensor at [%d][%d] are not within the " - "tolerance from reference value.", - i, - j); - } - } + const tensor& virialScaled = testData.virialScaled_; + TestReferenceChecker virialScaledRef(checker_.checkCompound("VirialScaled", nullptr)); + + virialScaledRef.checkReal(virialScaled[XX][XX], "XX"); + virialScaledRef.checkReal(virialScaled[XX][YY], "XY"); + virialScaledRef.checkReal(virialScaled[XX][ZZ], "XZ"); + virialScaledRef.checkReal(virialScaled[YY][XX], "YX"); + virialScaledRef.checkReal(virialScaled[YY][YY], "YY"); + virialScaledRef.checkReal(virialScaled[YY][ZZ], "YZ"); + virialScaledRef.checkReal(virialScaled[ZZ][XX], "ZX"); + virialScaledRef.checkReal(virialScaled[ZZ][YY], "ZY"); + virialScaledRef.checkReal(virialScaled[ZZ][ZZ], "ZZ"); } + //! Before any test is run, work out whether any compatible GPUs exist. static std::vector> getRunners() { std::vector> runners; // Add runners for CPU versions of SHAKE and LINCS - runners.emplace_back(std::make_unique()); + // runners.emplace_back(std::make_unique()); runners.emplace_back(std::make_unique()); // If supported, add runners for the GPU version of LINCS for each available GPU const bool addGpuRunners = GPU_CONSTRAINTS_SUPPORTED; @@ -556,7 +555,7 @@ public: } }; -TEST_P(ConstraintsTest, ConstraintsTest) +TEST_P(ConstraintsTest, SatisfiesConstraints) { auto params = GetParam(); ConstraintsTestSystem constraintsTestSystem = std::get<0>(params); @@ -568,7 +567,6 @@ TEST_P(ConstraintsTest, ConstraintsTest) constraintsTestSystem.constraints, constraintsTestSystem.constraintsR0, true, - constraintsTestSystem.virialScaledRef, false, 0, real(0.0), @@ -582,6 +580,31 @@ TEST_P(ConstraintsTest, ConstraintsTest) constraintsTestSystem.lincslincsExpansionOrder, constraintsTestSystem.lincsWarnAngle); + float maxX = 0.0F; + float maxV = 0.0F; + for (int i = 0; i < constraintsTestSystem.numAtoms; i++) + { + for (int d = 0; d < DIM; d++) + { + maxX = fmax(fabs(constraintsTestSystem.x[i][d]), maxX); + maxV = fmax(fabs(constraintsTestSystem.v[i][d]), maxV); + } + } + + float maxVirialScaled = 0.0F; + for (int d1 = 0; d1 < DIM; d1++) + { + for (int d2 = 0; d2 < DIM; d2++) + { + maxVirialScaled = fmax(fabs(testData.virialScaled_[d1][d2]), maxVirialScaled); + } + } + + FloatingPointTolerance positionsTolerance = relativeToleranceAsFloatingPoint(maxX, 0.002F); + FloatingPointTolerance velocityTolerance = relativeToleranceAsFloatingPoint(maxV, 0.002F); + FloatingPointTolerance virialTolerance = relativeToleranceAsFloatingPoint(maxVirialScaled, 0.002F); + FloatingPointTolerance lengthTolerance = relativeToleranceAsFloatingPoint(0.1, 0.002F); + // Cycle through all available runners for (const auto& runner : getRunners()) { @@ -595,11 +618,19 @@ TEST_P(ConstraintsTest, ConstraintsTest) // Apply constraints runner->applyConstraints(&testData, pbc); - checkConstrainsLength(constraintsTestSystem.lengthTolerance, testData, pbc); + + checker_.setDefaultTolerance(positionsTolerance); + checkFinalPositions(testData); + checker_.setDefaultTolerance(velocityTolerance); + checkFinalVelocities(testData); + + checkConstrainsLength(lengthTolerance, testData, pbc); checkConstrainsDirection(testData, pbc); - checkCOMCoordinates(constraintsTestSystem.comTolerance, testData); - checkCOMVelocity(constraintsTestSystem.comTolerance, testData); - checkVirialTensor(constraintsTestSystem.virialTolerance, testData); + checkCOMCoordinates(positionsTolerance, testData); + checkCOMVelocity(velocityTolerance, testData); + + checker_.setDefaultTolerance(virialTolerance); + checkVirialTensor(testData); } } diff --git a/src/gromacs/mdlib/tests/constrtestdata.cpp b/src/gromacs/mdlib/tests/constrtestdata.cpp index d1819bc7df..11b6da698a 100644 --- a/src/gromacs/mdlib/tests/constrtestdata.cpp +++ b/src/gromacs/mdlib/tests/constrtestdata.cpp @@ -63,7 +63,6 @@ ConstraintsTestData::ConstraintsTestData(const std::string& title, std::vector constraints, std::vector constraintsR0, bool computeVirial, - tensor virialScaledRef, bool compute_dHdLambda, float dHdLambdaRef, real initialTime, @@ -109,8 +108,7 @@ ConstraintsTestData::ConstraintsTestData(const std::string& title, { for (int j = 0; j < DIM; j++) { - virialScaled_[i][j] = 0; - virialScaledRef_[i][j] = virialScaledRef[i][j]; + virialScaled_[i][j] = 0; } } } diff --git a/src/gromacs/mdlib/tests/constrtestdata.h b/src/gromacs/mdlib/tests/constrtestdata.h index 9adb9c0a61..a136ac12f7 100644 --- a/src/gromacs/mdlib/tests/constrtestdata.h +++ b/src/gromacs/mdlib/tests/constrtestdata.h @@ -1,7 +1,7 @@ /* * This file is part of the GROMACS molecular simulation package. * - * Copyright (c) 2018,2019,2020, by the GROMACS development team, led by + * Copyright (c) 2018,2019,2020,2021, by the GROMACS development team, led by * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl, * and including many others, as listed in the AUTHORS file in the * top-level source directory and at http://www.gromacs.org. @@ -102,8 +102,6 @@ public: bool computeVirial_; //! Scaled virial tensor virialScaled_; - //! Scaled virial (reference values) - tensor virialScaledRef_; //! If the free energy is computed bool compute_dHdLambda_; //! If there are atoms with perturbed mass @@ -154,7 +152,6 @@ public: * size of this vector should be equal to the total number of * unique types in constraints vector. * \param[in] computeVirial Whether the virial should be computed. - * \param[in] virialScaledRef Reference values for scaled virial tensor. * \param[in] compute_dHdLambda Whether free energy should be computed. * \param[in] dHdLambdaRef Reference value for dHdLambda. * \param[in] initialTime Initial time. @@ -180,7 +177,6 @@ public: std::vector constraints, std::vector constraintsR0, bool computeVirial, - tensor virialScaledRef, bool compute_dHdLambda, float dHdLambdaRef, real initialTime, diff --git a/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_0.xml b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_0.xml new file mode 100644 index 0000000000..9ee52c8dec --- /dev/null +++ b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_0.xml @@ -0,0 +1,41 @@ + + + + + 2 + + 0.0021016474 + 0.087898351 + 0.0099999998 + + + 0.060658198 + 0.0093418043 + -0.0099999998 + + + + 2 + + -6.8983517 + 9.8983517 + 3 + + + 3.658196 + 1.341804 + 1 + + + + -0.00055849785 + 0.00055849785 + 0 + 0.00055849785 + -0.00055849785 + 0 + 0 + 0 + 0 + + diff --git a/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_1.xml b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_1.xml new file mode 100644 index 0000000000..9ee52c8dec --- /dev/null +++ b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_1.xml @@ -0,0 +1,41 @@ + + + + + 2 + + 0.0021016474 + 0.087898351 + 0.0099999998 + + + 0.060658198 + 0.0093418043 + -0.0099999998 + + + + 2 + + -6.8983517 + 9.8983517 + 3 + + + 3.658196 + 1.341804 + 1 + + + + -0.00055849785 + 0.00055849785 + 0 + 0.00055849785 + -0.00055849785 + 0 + 0 + 0 + 0 + + diff --git a/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_10.xml b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_10.xml new file mode 100644 index 0000000000..d09d0b3560 --- /dev/null +++ b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_10.xml @@ -0,0 +1,51 @@ + + + + + 3 + + 0.081519715 + 0.0026918508 + -0.004211565 + + + 0.0026918508 + 0.064219035 + -0.0069108736 + + + 0.015788434 + 0.003089126 + 0.071122445 + + + + 3 + + -7.4802856 + 23.691851 + -13.211565 + + + 20.691851 + -37.780975 + 11.089125 + + + -13.211565 + 14.089125 + 2.1224403 + + + + 0.00059964682 + -0.0016045563 + 0.0010049095 + -0.0016045563 + 0.0025300975 + -0.00092554104 + 0.0010049095 + -0.00092554104 + -7.9368474e-05 + + diff --git a/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_11.xml b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_11.xml new file mode 100644 index 0000000000..d09d0b3560 --- /dev/null +++ b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_11.xml @@ -0,0 +1,51 @@ + + + + + 3 + + 0.081519715 + 0.0026918508 + -0.004211565 + + + 0.0026918508 + 0.064219035 + -0.0069108736 + + + 0.015788434 + 0.003089126 + 0.071122445 + + + + 3 + + -7.4802856 + 23.691851 + -13.211565 + + + 20.691851 + -37.780975 + 11.089125 + + + -13.211565 + 14.089125 + 2.1224403 + + + + 0.00059964682 + -0.0016045563 + 0.0010049095 + -0.0016045563 + 0.0025300975 + -0.00092554104 + 0.0010049095 + -0.00092554104 + -7.9368474e-05 + + diff --git a/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_2.xml b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_2.xml new file mode 100644 index 0000000000..7a2e7414ce --- /dev/null +++ b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_2.xml @@ -0,0 +1,61 @@ + + + + + 4 + + 2.501097 + -3.100044 + 15.700083 + + + 0.50835478 + -3.0199339 + 15.549876 + + + -0.51762629 + -2.9991274 + 15.197382 + + + -1.5055934 + -2.9502182 + 15.050654 + + + + 4 + + 1.0967836 + 0.95590824 + 0.082671925 + + + -0.64517546 + 0.066137642 + -0.12400789 + + + -17.626278 + 0.8725872 + -1.6177576 + + + 4.4065695 + -0.2181468 + 0.65443939 + + + + 0.0032607431 + -0.00017159013 + 0.00056419277 + -0.00017159013 + 8.903291e-06 + -2.869669e-05 + 0.00056419271 + -2.869669e-05 + 8.9815294e-05 + + diff --git a/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_3.xml b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_3.xml new file mode 100644 index 0000000000..7a2e7414ce --- /dev/null +++ b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_3.xml @@ -0,0 +1,61 @@ + + + + + 4 + + 2.501097 + -3.100044 + 15.700083 + + + 0.50835478 + -3.0199339 + 15.549876 + + + -0.51762629 + -2.9991274 + 15.197382 + + + -1.5055934 + -2.9502182 + 15.050654 + + + + 4 + + 1.0967836 + 0.95590824 + 0.082671925 + + + -0.64517546 + 0.066137642 + -0.12400789 + + + -17.626278 + 0.8725872 + -1.6177576 + + + 4.4065695 + -0.2181468 + 0.65443939 + + + + 0.0032607431 + -0.00017159013 + 0.00056419277 + -0.00017159013 + 8.903291e-06 + -2.869669e-05 + 0.00056419271 + -2.869669e-05 + 8.9815294e-05 + + diff --git a/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_4.xml b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_4.xml new file mode 100644 index 0000000000..2c85c502cf --- /dev/null +++ b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_4.xml @@ -0,0 +1,51 @@ + + + + + 3 + + 0.068317376 + 0.058317374 + 0.0099999998 + + + -0.016634544 + 0.013365454 + -0.017608097 + + + 0.098206073 + 0.11820607 + 0.10820607 + + + + 3 + + -10.682622 + -11.682622 + 0 + + + 3.3654542 + 4.3654542 + 2.3919024 + + + -1.7939267 + -1.7939267 + -0.79392672 + + + + 0.0041404041 + 0.0041404041 + 0.0033143177 + 0.0041404041 + 0.0041404041 + 0.0033143177 + 0.0033143177 + 0.0033143177 + 0.0033143177 + + diff --git a/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_5.xml b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_5.xml new file mode 100644 index 0000000000..2c85c502cf --- /dev/null +++ b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_5.xml @@ -0,0 +1,51 @@ + + + + + 3 + + 0.068317376 + 0.058317374 + 0.0099999998 + + + -0.016634544 + 0.013365454 + -0.017608097 + + + 0.098206073 + 0.11820607 + 0.10820607 + + + + 3 + + -10.682622 + -11.682622 + 0 + + + 3.3654542 + 4.3654542 + 2.3919024 + + + -1.7939267 + -1.7939267 + -0.79392672 + + + + 0.0041404041 + 0.0041404041 + 0.0033143177 + 0.0041404041 + 0.0041404041 + 0.0033143177 + 0.0033143177 + 0.0033143177 + 0.0033143177 + + diff --git a/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_6.xml b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_6.xml new file mode 100644 index 0000000000..6687c15402 --- /dev/null +++ b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_6.xml @@ -0,0 +1,61 @@ + + + + + 4 + + 2.4562423 + -3.0982409 + 15.696703 + + + 0.46585017 + -3.0204642 + 15.516903 + + + -0.49186659 + -2.9960549 + 15.230195 + + + -1.4754381 + -2.9517109 + 15.055132 + + + + 4 + + -43.757378 + 1.7590889 + -1.2982867 + + + -44.149811 + -0.46465778 + -30.097218 + + + 8.1334686 + 3.9453049 + 26.19441 + + + 34.561924 + -1.7109847 + 4.1329465 + + + + 0.11231654 + -0.0041276934 + 0.020337878 + -0.0041276934 + 0.00016769962 + -0.00062039652 + 0.020337878 + -0.00062039646 + 0.005152476 + + diff --git a/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_7.xml b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_7.xml new file mode 100644 index 0000000000..6687c15402 --- /dev/null +++ b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_7.xml @@ -0,0 +1,61 @@ + + + + + 4 + + 2.4562423 + -3.0982409 + 15.696703 + + + 0.46585017 + -3.0204642 + 15.516903 + + + -0.49186659 + -2.9960549 + 15.230195 + + + -1.4754381 + -2.9517109 + 15.055132 + + + + 4 + + -43.757378 + 1.7590889 + -1.2982867 + + + -44.149811 + -0.46465778 + -30.097218 + + + 8.1334686 + 3.9453049 + 26.19441 + + + 34.561924 + -1.7109847 + 4.1329465 + + + + 0.11231654 + -0.0041276934 + 0.020337878 + -0.0041276934 + 0.00016769962 + -0.00062039652 + 0.020337878 + -0.00062039646 + 0.005152476 + + diff --git a/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_8.xml b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_8.xml new file mode 100644 index 0000000000..d3da54cb0f --- /dev/null +++ b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_8.xml @@ -0,0 +1,61 @@ + + + + + 4 + + 0.004595859 + 0.0081014819 + -0.0090392847 + + + 0.1028497 + -0.0060000001 + 0.003 + + + -0.0070000002 + -0.091217794 + -0.0070000002 + + + -0.0049999999 + 0.011 + 0.090471417 + + + + 4 + + 1.5958586 + -0.89851707 + 0.96071517 + + + -6.1503019 + 0 + 0 + + + 1 + 10.782205 + 0 + + + 1 + 0 + -11.528582 + + + + 0.00071503024 + 0 + 0 + 0 + 0.0010782205 + 0 + 0 + 0 + 0.0011528583 + + diff --git a/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_9.xml b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_9.xml new file mode 100644 index 0000000000..d3da54cb0f --- /dev/null +++ b/src/gromacs/mdlib/tests/refdata/WithParameters_ConstraintsTest_SatisfiesConstraints_9.xml @@ -0,0 +1,61 @@ + + + + + 4 + + 0.004595859 + 0.0081014819 + -0.0090392847 + + + 0.1028497 + -0.0060000001 + 0.003 + + + -0.0070000002 + -0.091217794 + -0.0070000002 + + + -0.0049999999 + 0.011 + 0.090471417 + + + + 4 + + 1.5958586 + -0.89851707 + 0.96071517 + + + -6.1503019 + 0 + 0 + + + 1 + 10.782205 + 0 + + + 1 + 0 + -11.528582 + + + + 0.00071503024 + 0 + 0 + 0 + 0.0010782205 + 0 + 0 + 0 + 0.0011528583 + + -- 2.22.0