Tests of restrained listed potentials.
authorDavid van der Spoel <spoel@xray.bmc.uu.se>
Mon, 11 Feb 2019 19:25:50 +0000 (20:25 +0100)
committerDavid van der Spoel <spoel@xray.bmc.uu.se>
Sat, 16 Feb 2019 11:41:48 +0000 (12:41 +0100)
TODO:
- Tests of tabulated potentials.
- Tests of NMR related potentials.
- Tests of restrained angles.

Part of #2795

Change-Id: I27ebc7a5a8805cc92a8e00deb83e36ca3cd87a78

37 files changed:
src/gromacs/listed_forces/tests/bonded.cpp
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_0.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_1.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_10.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_11.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_12.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_13.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_14.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_15.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_16.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_17.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_18.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_19.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_2.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_20.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_21.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_22.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_23.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_24.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_25.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_26.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_27.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_28.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_29.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_3.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_30.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_31.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_32.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_33.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_34.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_35.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_4.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_5.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_6.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_7.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_8.xml [new file with mode: 0644]
src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_9.xml [new file with mode: 0644]

index fc8a0528d7900bb9fbc95b1274cfdbc50052000d..a2f0158389f7e0d5d9922d9102538cae79c95520 100644 (file)
@@ -350,6 +350,7 @@ struct iListInput
          *
          * Free energy perturbation is turned on when A
          * and B parameters are different.
+         * \param[in] ft   Function type
          * \param[in] phiA Dihedral angle A
          * \param[in] cpA  Force constant A
          * \param[in] mult Multiplicity of the angle
@@ -357,9 +358,9 @@ struct iListInput
          * \param[in] cpB  Force constant B
          * \return The structure itself.
          */
-        iListInput setProperDihedrals(real phiA, real cpA, int mult, real phiB, real cpB)
+        iListInput setPDihedrals(int ft, real phiA, real cpA, int mult, real phiB, real cpB)
         {
-            ftype              = F_PDIHS;
+            ftype              = ft;
             iparams.pdihs.phiA = phiA;
             iparams.pdihs.cpA  = cpA;
             iparams.pdihs.phiB = phiB;
@@ -370,14 +371,15 @@ struct iListInput
         }
         /*! \brief Set parameters for proper dihedrals potential
          *
+         * \param[in] ft   Function type
          * \param[in] phiA Dihedral angle
          * \param[in] cpA  Force constant
          * \param[in] mult Multiplicity of the angle
          * \return The structure itself.
          */
-        iListInput setProperDihedrals(real phiA, real cpA, int mult)
+        iListInput setPDihedrals(int ft, real phiA, real cpA, int mult)
         {
-            return setProperDihedrals(phiA, cpA, mult, phiA, cpA);
+            return setPDihedrals(ft, phiA, cpA, mult, phiA, cpA);
         }
         /*! \brief Set parameters for Ryckaert-Bellemans dihedrals potential
          *
@@ -528,7 +530,6 @@ class ListedForcesTest : public ::testing::TestWithParam<std::tuple<iListInput,
             clear_mat(box_);
             box_[0][0] = box_[1][1] = box_[2][2] = 1.5;
             set_pbc(&pbc_, epbc_, box_);
-
             // We need quite specific tolerances here since angle functions
             // etc. are not very precise and reproducible.
             test::FloatingPointTolerance tolerance(test::FloatingPointTolerance(input_.ftoler, 1.0e-6,
@@ -555,7 +556,7 @@ class ListedForcesTest : public ::testing::TestWithParam<std::tuple<iListInput,
                                                           /* const struct t_graph *g */ nullptr,
                                                           lambda, &output.dvdlambda,
                                                           &mdatoms,
-                                                          /* struct t_fcdata *fcd */ nullptr,
+                                                          /* struct t_fcdata * */ nullptr,
                                                           ddgatindex.data());
             // Internal consistency test of both test input
             // and bonded functions.
@@ -635,12 +636,12 @@ const real rbc[NR_RBDIHS] = { -7.35, 13.6, 8.4, -16.7, 1.3, 12.4 };
 //! Function types for testing dihedrals. Add new terms at the end.
 std::vector<iListInput> c_InputDihs =
 {
-    { iListInput(1e-4, 1e-8).setProperDihedrals(-100.0, 10.0, 2, -80.0, 20.0) },
-    { iListInput(1e-4, 1e-8).setProperDihedrals(-105.0, 15.0, 2) },
+    { iListInput(1e-4, 1e-8).setPDihedrals(F_PDIHS, -100.0, 10.0, 2, -80.0, 20.0) },
+    { iListInput(1e-4, 1e-8).setPDihedrals(F_PDIHS, -105.0, 15.0, 2) },
     { iListInput(2e-4, 1e-8).setHarmonic(F_IDIHS, 100.0, 50.0) },
     { iListInput(2e-4, 1e-8).setHarmonic(F_IDIHS, 100.15, 50.0, 95.0, 30.0) },
-    { iListInput(3e-4, 1e-8).setRbDihedrals(rbcA, rbcB) },
-    { iListInput(3e-4, 1e-8).setRbDihedrals(rbc) }
+    { iListInput(4e-4, 1e-8).setRbDihedrals(rbcA, rbcB) },
+    { iListInput(4e-4, 1e-8).setRbDihedrals(rbc) }
 };
 
 //! Function types for testing polarization. Add new terms at the end.
@@ -652,6 +653,17 @@ std::vector<iListInput> c_InputPols =
     { iListInput().setWaterPolarization(0.001, 0.0012, 0.0016, 0.095, 0.15, 0.02) },
 };
 
+//! Function types for testing polarization. Add new terms at the end.
+std::vector<iListInput> c_InputRestraints =
+{
+    { iListInput(1e-4, 1e-8).setPDihedrals(F_ANGRES, -100.0, 10.0, 2, -80.0, 20.0) },
+    { iListInput(1e-4, 1e-8).setPDihedrals(F_ANGRES, -105.0, 15.0, 2) },
+    { iListInput(1e-4, 1e-8).setPDihedrals(F_ANGRESZ, -100.0, 10.0, 2, -80.0, 20.0) },
+    { iListInput(1e-4, 1e-8).setPDihedrals(F_ANGRESZ, -105.0, 15.0, 2) },
+    //{ iListInput(2e-3, 1e-8).setHarmonic(F_RESTRANGLES, 100.0, 50.0) },
+    //{ iListInput(2e-3, 1e-8).setHarmonic(F_RESTRANGLES, 100.0, 50.0, 110.0, 45.0) }
+};
+
 //! Coordinates for testing
 std::vector<std::vector<gmx::RVec> > c_coordinatesForTests =
 {
@@ -671,6 +683,8 @@ INSTANTIATE_TEST_CASE_P(Dihedral, ListedForcesTest, ::testing::Combine(::testing
 
 INSTANTIATE_TEST_CASE_P(Polarize, ListedForcesTest, ::testing::Combine(::testing::ValuesIn(c_InputPols), ::testing::ValuesIn(c_coordinatesForTests), ::testing::ValuesIn(c_pbcForTests)));
 
+INSTANTIATE_TEST_CASE_P(Restraints, ListedForcesTest, ::testing::Combine(::testing::ValuesIn(c_InputRestraints), ::testing::ValuesIn(c_coordinatesForTests), ::testing::ValuesIn(c_pbcForTests)));
+
 }  // namespace
 
 }  // namespace gmx
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_0.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_0.xml
new file mode 100644 (file)
index 0000000..eae508c
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">13.403311836581157</Real>
+        <Real Name="dVdlambda ">16.685597694433092</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">5.6317058407766476</Real>
+            <Real Name="Y">-93.861764012944136</Real>
+            <Real Name="Z">1.4210854715202004e-14</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-5.6317058407766476</Real>
+            <Real Name="Y">93.861764012944136</Real>
+            <Real Name="Z">-1.4210854715202004e-14</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">5.6215869842050772</Real>
+            <Real Name="Y">-93.69311640341796</Real>
+            <Real Name="Z">-94.030411622470311</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-5.6215869842050772</Real>
+            <Real Name="Y">93.69311640341796</Real>
+            <Real Name="Z">94.030411622470311</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">14.973048512677172</Real>
+        <Real Name="dVdlambda ">15.218011645914814</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">8.9838291076063044</Real>
+            <Real Name="Y">-149.73048512677175</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-8.9838291076063044</Real>
+            <Real Name="Y">149.73048512677175</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">8.9676872705193684</Real>
+            <Real Name="Y">-149.46145450865615</Real>
+            <Real Name="Z">-149.99951574488736</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-8.9676872705193684</Real>
+            <Real Name="Y">149.46145450865615</Real>
+            <Real Name="Z">149.99951574488736</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">13.125840023487108</Real>
+        <Real Name="dVdlambda ">13.118911268516285</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">11.248689435298159</Real>
+            <Real Name="Y">-187.47815725496935</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-11.248689435298159</Real>
+            <Real Name="Y">187.47815725496935</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">11.228478174583909</Real>
+            <Real Name="Y">-187.14130290973185</Real>
+            <Real Name="Z">-187.81501160020684</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-11.228478174583909</Real>
+            <Real Name="Y">187.14130290973185</Real>
+            <Real Name="Z">187.81501160020684</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_1.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_1.xml
new file mode 100644 (file)
index 0000000..eae508c
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">13.403311836581157</Real>
+        <Real Name="dVdlambda ">16.685597694433092</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">5.6317058407766476</Real>
+            <Real Name="Y">-93.861764012944136</Real>
+            <Real Name="Z">1.4210854715202004e-14</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-5.6317058407766476</Real>
+            <Real Name="Y">93.861764012944136</Real>
+            <Real Name="Z">-1.4210854715202004e-14</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">5.6215869842050772</Real>
+            <Real Name="Y">-93.69311640341796</Real>
+            <Real Name="Z">-94.030411622470311</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-5.6215869842050772</Real>
+            <Real Name="Y">93.69311640341796</Real>
+            <Real Name="Z">94.030411622470311</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">14.973048512677172</Real>
+        <Real Name="dVdlambda ">15.218011645914814</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">8.9838291076063044</Real>
+            <Real Name="Y">-149.73048512677175</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-8.9838291076063044</Real>
+            <Real Name="Y">149.73048512677175</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">8.9676872705193684</Real>
+            <Real Name="Y">-149.46145450865615</Real>
+            <Real Name="Z">-149.99951574488736</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-8.9676872705193684</Real>
+            <Real Name="Y">149.46145450865615</Real>
+            <Real Name="Z">149.99951574488736</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">13.125840023487108</Real>
+        <Real Name="dVdlambda ">13.118911268516285</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">11.248689435298159</Real>
+            <Real Name="Y">-187.47815725496935</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-11.248689435298159</Real>
+            <Real Name="Y">187.47815725496935</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">11.228478174583909</Real>
+            <Real Name="Y">-187.14130290973185</Real>
+            <Real Name="Z">-187.81501160020684</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-11.228478174583909</Real>
+            <Real Name="Y">187.14130290973185</Real>
+            <Real Name="Z">187.81501160020684</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_10.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_10.xml
new file mode 100644 (file)
index 0000000..f19b507
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="No">
+      <Real Name="Epot ">22.476647220921073</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">7.7882951620165883</Real>
+          <Real Name="Y">-129.80491936694315</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-7.7882951620165883</Real>
+          <Real Name="Y">129.80491936694315</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">7.7743014194615565</Real>
+          <Real Name="Y">-129.57169032435928</Real>
+          <Real Name="Z">-130.03814840952703</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-7.7743014194615565</Real>
+          <Real Name="Y">129.57169032435928</Real>
+          <Real Name="Z">130.03814840952703</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_11.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_11.xml
new file mode 100644 (file)
index 0000000..f19b507
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="No">
+      <Real Name="Epot ">22.476647220921073</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">7.7882951620165883</Real>
+          <Real Name="Y">-129.80491936694315</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-7.7882951620165883</Real>
+          <Real Name="Y">129.80491936694315</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">7.7743014194615565</Real>
+          <Real Name="Y">-129.57169032435928</Real>
+          <Real Name="Z">-130.03814840952703</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-7.7743014194615565</Real>
+          <Real Name="Y">129.57169032435928</Real>
+          <Real Name="Z">130.03814840952703</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_12.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_12.xml
new file mode 100644 (file)
index 0000000..f30217f
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="No">
+      <Real Name="Epot ">2.0096189432334208</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">-100</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">100</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">-136.36363636363637</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">136.36363636363637</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_13.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_13.xml
new file mode 100644 (file)
index 0000000..f30217f
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="No">
+      <Real Name="Epot ">2.0096189432334208</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">-100</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">100</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">-136.36363636363637</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">136.36363636363637</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_14.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_14.xml
new file mode 100644 (file)
index 0000000..f30217f
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="No">
+      <Real Name="Epot ">2.0096189432334208</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">-100</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">100</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">-136.36363636363637</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">136.36363636363637</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_15.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_15.xml
new file mode 100644 (file)
index 0000000..23a0258
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="No">
+      <Real Name="Epot ">4.6119605032157684</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">85.180978123693436</Real>
+          <Real Name="Y">-135.98024859690165</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-85.180978123693436</Real>
+          <Real Name="Y">135.98024859690165</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-77.289453271564909</Real>
+          <Real Name="Y">-65.195260094596307</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">77.289453271564909</Real>
+          <Real Name="Y">65.195260094596307</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_16.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_16.xml
new file mode 100644 (file)
index 0000000..23a0258
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="No">
+      <Real Name="Epot ">4.6119605032157684</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">85.180978123693436</Real>
+          <Real Name="Y">-135.98024859690165</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-85.180978123693436</Real>
+          <Real Name="Y">135.98024859690165</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-77.289453271564909</Real>
+          <Real Name="Y">-65.195260094596307</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">77.289453271564909</Real>
+          <Real Name="Y">65.195260094596307</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_17.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_17.xml
new file mode 100644 (file)
index 0000000..23a0258
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="No">
+      <Real Name="Epot ">4.6119605032157684</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">85.180978123693436</Real>
+          <Real Name="Y">-135.98024859690165</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-85.180978123693436</Real>
+          <Real Name="Y">135.98024859690165</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-77.289453271564909</Real>
+          <Real Name="Y">-65.195260094596307</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">77.289453271564909</Real>
+          <Real Name="Y">65.195260094596307</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_18.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_18.xml
new file mode 100644 (file)
index 0000000..8c33600
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">52.491464015178508</Real>
+        <Real Name="dVdlambda ">53.719149932998391</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">49.192894250905191</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">2.4596447125455825</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-43.571307266700117</Real>
+            <Real Name="Y">-93.69311640341796</Real>
+            <Real Name="Z">-96.490056335015893</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-5.6215869842050772</Real>
+            <Real Name="Y">93.69311640341796</Real>
+            <Real Name="Z">94.030411622470311</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">74.898235545096114</Real>
+        <Real Name="dVdlambda ">55.690429377184969</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-29.850560630842171</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-1.4925280315422924</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">38.818247901361538</Real>
+            <Real Name="Y">-149.46145450865615</Real>
+            <Real Name="Z">-148.50698771334507</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-8.9676872705193684</Real>
+            <Real Name="Y">149.46145450865615</Real>
+            <Real Name="Z">149.99951574488736</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">89.937475479631701</Real>
+        <Real Name="dVdlambda ">56.94271532568289</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-173.18672597147568</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-8.6593362985740896</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">184.41520414605958</Real>
+            <Real Name="Y">-187.14130290973185</Real>
+            <Real Name="Z">-179.15567530163281</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-11.228478174583909</Real>
+            <Real Name="Y">187.14130290973185</Real>
+            <Real Name="Z">187.8150116002069</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_19.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_19.xml
new file mode 100644 (file)
index 0000000..8c33600
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">52.491464015178508</Real>
+        <Real Name="dVdlambda ">53.719149932998391</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">49.192894250905191</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">2.4596447125455825</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-43.571307266700117</Real>
+            <Real Name="Y">-93.69311640341796</Real>
+            <Real Name="Z">-96.490056335015893</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-5.6215869842050772</Real>
+            <Real Name="Y">93.69311640341796</Real>
+            <Real Name="Z">94.030411622470311</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">74.898235545096114</Real>
+        <Real Name="dVdlambda ">55.690429377184969</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-29.850560630842171</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-1.4925280315422924</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">38.818247901361538</Real>
+            <Real Name="Y">-149.46145450865615</Real>
+            <Real Name="Z">-148.50698771334507</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-8.9676872705193684</Real>
+            <Real Name="Y">149.46145450865615</Real>
+            <Real Name="Z">149.99951574488736</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">89.937475479631701</Real>
+        <Real Name="dVdlambda ">56.94271532568289</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-173.18672597147568</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-8.6593362985740896</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">184.41520414605958</Real>
+            <Real Name="Y">-187.14130290973185</Real>
+            <Real Name="Z">-179.15567530163281</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-11.228478174583909</Real>
+            <Real Name="Y">187.14130290973185</Real>
+            <Real Name="Z">187.8150116002069</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_2.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_2.xml
new file mode 100644 (file)
index 0000000..eae508c
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">13.403311836581157</Real>
+        <Real Name="dVdlambda ">16.685597694433092</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">5.6317058407766476</Real>
+            <Real Name="Y">-93.861764012944136</Real>
+            <Real Name="Z">1.4210854715202004e-14</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-5.6317058407766476</Real>
+            <Real Name="Y">93.861764012944136</Real>
+            <Real Name="Z">-1.4210854715202004e-14</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">5.6215869842050772</Real>
+            <Real Name="Y">-93.69311640341796</Real>
+            <Real Name="Z">-94.030411622470311</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-5.6215869842050772</Real>
+            <Real Name="Y">93.69311640341796</Real>
+            <Real Name="Z">94.030411622470311</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">14.973048512677172</Real>
+        <Real Name="dVdlambda ">15.218011645914814</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">8.9838291076063044</Real>
+            <Real Name="Y">-149.73048512677175</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-8.9838291076063044</Real>
+            <Real Name="Y">149.73048512677175</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">8.9676872705193684</Real>
+            <Real Name="Y">-149.46145450865615</Real>
+            <Real Name="Z">-149.99951574488736</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-8.9676872705193684</Real>
+            <Real Name="Y">149.46145450865615</Real>
+            <Real Name="Z">149.99951574488736</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">13.125840023487108</Real>
+        <Real Name="dVdlambda ">13.118911268516285</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">11.248689435298159</Real>
+            <Real Name="Y">-187.47815725496935</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-11.248689435298159</Real>
+            <Real Name="Y">187.47815725496935</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">11.228478174583909</Real>
+            <Real Name="Y">-187.14130290973185</Real>
+            <Real Name="Z">-187.81501160020684</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-11.228478174583909</Real>
+            <Real Name="Y">187.14130290973185</Real>
+            <Real Name="Z">187.81501160020684</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_20.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_20.xml
new file mode 100644 (file)
index 0000000..8c33600
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">52.491464015178508</Real>
+        <Real Name="dVdlambda ">53.719149932998391</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">49.192894250905191</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">2.4596447125455825</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-43.571307266700117</Real>
+            <Real Name="Y">-93.69311640341796</Real>
+            <Real Name="Z">-96.490056335015893</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-5.6215869842050772</Real>
+            <Real Name="Y">93.69311640341796</Real>
+            <Real Name="Z">94.030411622470311</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">74.898235545096114</Real>
+        <Real Name="dVdlambda ">55.690429377184969</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-29.850560630842171</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-1.4925280315422924</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">38.818247901361538</Real>
+            <Real Name="Y">-149.46145450865615</Real>
+            <Real Name="Z">-148.50698771334507</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-8.9676872705193684</Real>
+            <Real Name="Y">149.46145450865615</Real>
+            <Real Name="Z">149.99951574488736</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">89.937475479631701</Real>
+        <Real Name="dVdlambda ">56.94271532568289</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-173.18672597147568</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-8.6593362985740896</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">184.41520414605958</Real>
+            <Real Name="Y">-187.14130290973185</Real>
+            <Real Name="Z">-179.15567530163281</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-11.228478174583909</Real>
+            <Real Name="Y">187.14130290973185</Real>
+            <Real Name="Z">187.8150116002069</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_21.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_21.xml
new file mode 100644 (file)
index 0000000..b8f2d06
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">26.579798566743317</Real>
+        <Real Name="dVdlambda ">23.299652528861596</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-134.24180296941552</Real>
+            <Real Name="Z">134.24180296941552</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">134.24180296941552</Real>
+            <Real Name="Z">-196.42728357408245</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">62.185480604666942</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">45</Real>
+        <Real Name="dVdlambda ">24.764012244017014</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-214.28571428571428</Real>
+            <Real Name="Z">214.28571428571428</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">214.28571428571428</Real>
+            <Real Name="Z">-214.28571428571422</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-6.6798916317128366e-14</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">66.840402866513372</Real>
+        <Real Name="dVdlambda ">26.859909357493244</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-268.48360593883103</Real>
+            <Real Name="Z">268.48360593883103</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">268.48360593883103</Real>
+            <Real Name="Z">-144.11264472949699</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-124.37096120933403</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_22.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_22.xml
new file mode 100644 (file)
index 0000000..b8f2d06
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">26.579798566743317</Real>
+        <Real Name="dVdlambda ">23.299652528861596</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-134.24180296941552</Real>
+            <Real Name="Z">134.24180296941552</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">134.24180296941552</Real>
+            <Real Name="Z">-196.42728357408245</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">62.185480604666942</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">45</Real>
+        <Real Name="dVdlambda ">24.764012244017014</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-214.28571428571428</Real>
+            <Real Name="Z">214.28571428571428</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">214.28571428571428</Real>
+            <Real Name="Z">-214.28571428571422</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-6.6798916317128366e-14</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">66.840402866513372</Real>
+        <Real Name="dVdlambda ">26.859909357493244</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-268.48360593883103</Real>
+            <Real Name="Z">268.48360593883103</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">268.48360593883103</Real>
+            <Real Name="Z">-144.11264472949699</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-124.37096120933403</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_23.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_23.xml
new file mode 100644 (file)
index 0000000..b8f2d06
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">26.579798566743317</Real>
+        <Real Name="dVdlambda ">23.299652528861596</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-134.24180296941552</Real>
+            <Real Name="Z">134.24180296941552</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">134.24180296941552</Real>
+            <Real Name="Z">-196.42728357408245</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">62.185480604666942</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">45</Real>
+        <Real Name="dVdlambda ">24.764012244017014</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-214.28571428571428</Real>
+            <Real Name="Z">214.28571428571428</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">214.28571428571428</Real>
+            <Real Name="Z">-214.28571428571422</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-6.6798916317128366e-14</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">66.840402866513372</Real>
+        <Real Name="dVdlambda ">26.859909357493244</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-268.48360593883103</Real>
+            <Real Name="Z">268.48360593883103</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">268.48360593883103</Real>
+            <Real Name="Z">-144.11264472949699</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-124.37096120933403</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_24.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_24.xml
new file mode 100644 (file)
index 0000000..a7e5024
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">1.8092213764227405</Real>
+        <Real Name="dVdlambda ">5.3908479419282314</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-50.716911267914547</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-1.2685431937716203</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">20.025477008852718</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">31.959977452833449</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">0</Real>
+        <Real Name="dVdlambda ">-3.8473413874435799e-15</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">5.4479513203189684e-14</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">1.3626542694767487e-15</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-2.1511133305039366e-14</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-3.4331034167627067e-14</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">3.6184427528454943</Real>
+        <Real Name="dVdlambda ">-5.3540317545882417</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">101.43382253582921</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">2.5370863875432406</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-40.050954017705479</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-63.91995490566697</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_25.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_25.xml
new file mode 100644 (file)
index 0000000..a7e5024
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">1.8092213764227405</Real>
+        <Real Name="dVdlambda ">5.3908479419282314</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-50.716911267914547</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-1.2685431937716203</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">20.025477008852718</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">31.959977452833449</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">0</Real>
+        <Real Name="dVdlambda ">-3.8473413874435799e-15</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">5.4479513203189684e-14</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">1.3626542694767487e-15</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-2.1511133305039366e-14</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-3.4331034167627067e-14</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">3.6184427528454943</Real>
+        <Real Name="dVdlambda ">-5.3540317545882417</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">101.43382253582921</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">2.5370863875432406</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-40.050954017705479</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-63.91995490566697</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_26.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_26.xml
new file mode 100644 (file)
index 0000000..a7e5024
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">1.8092213764227405</Real>
+        <Real Name="dVdlambda ">5.3908479419282314</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-50.716911267914547</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-1.2685431937716203</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">20.025477008852718</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">31.959977452833449</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">0</Real>
+        <Real Name="dVdlambda ">-3.8473413874435799e-15</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">5.4479513203189684e-14</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">1.3626542694767487e-15</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-2.1511133305039366e-14</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-3.4331034167627067e-14</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">3.6184427528454943</Real>
+        <Real Name="dVdlambda ">-5.3540317545882417</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">101.43382253582921</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">2.5370863875432406</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-40.050954017705479</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-63.91995490566697</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_27.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_27.xml
new file mode 100644 (file)
index 0000000..4c195fe
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="No">
+      <Real Name="Epot ">79.140749079807051</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">123.02832732279828</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">6.1514163661404382</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-115.25402590333672</Real>
+          <Real Name="Y">-129.57169032435928</Real>
+          <Real Name="Z">-136.18956477566746</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-7.7743014194615565</Real>
+          <Real Name="Y">129.57169032435928</Real>
+          <Real Name="Z">130.03814840952703</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_28.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_28.xml
new file mode 100644 (file)
index 0000000..4c195fe
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="No">
+      <Real Name="Epot ">79.140749079807051</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">123.02832732279828</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">6.1514163661404382</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-115.25402590333672</Real>
+          <Real Name="Y">-129.57169032435928</Real>
+          <Real Name="Z">-136.18956477566746</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-7.7743014194615565</Real>
+          <Real Name="Y">129.57169032435928</Real>
+          <Real Name="Z">130.03814840952703</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_29.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_29.xml
new file mode 100644 (file)
index 0000000..4c195fe
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="No">
+      <Real Name="Epot ">79.140749079807051</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">123.02832732279828</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">6.1514163661404382</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-115.25402590333672</Real>
+          <Real Name="Y">-129.57169032435928</Real>
+          <Real Name="Z">-136.18956477566746</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-7.7743014194615565</Real>
+          <Real Name="Y">129.57169032435928</Real>
+          <Real Name="Z">130.03814840952703</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_3.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_3.xml
new file mode 100644 (file)
index 0000000..a1f85a4
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">0.6030737921409135</Real>
+        <Real Name="dVdlambda ">1.796949313976077</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-45.602685776755756</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">45.602685776755756</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-62.185480604666949</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">62.185480604666949</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">0</Real>
+        <Real Name="dVdlambda ">-1.2824471291478599e-15</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">4.8985871965894135e-14</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-4.8985871965894135e-14</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">6.6798916317128366e-14</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-6.6798916317128366e-14</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">1.2061475842818314</Real>
+        <Real Name="dVdlambda ">-1.784677251529414</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">91.205371553511611</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-91.205371553511611</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">124.37096120933403</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-124.37096120933403</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_30.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_30.xml
new file mode 100644 (file)
index 0000000..9c36bf7
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="No">
+      <Real Name="Epot ">37.5</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">-185.57687223952254</Real>
+          <Real Name="Z">185.57687223952254</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">185.57687223952254</Real>
+          <Real Name="Z">-321.94050860315895</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">136.36363636363637</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_31.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_31.xml
new file mode 100644 (file)
index 0000000..9c36bf7
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="No">
+      <Real Name="Epot ">37.5</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">-185.57687223952254</Real>
+          <Real Name="Z">185.57687223952254</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">185.57687223952254</Real>
+          <Real Name="Z">-321.94050860315895</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">136.36363636363637</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_32.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_32.xml
new file mode 100644 (file)
index 0000000..9c36bf7
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="No">
+      <Real Name="Epot ">37.5</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">-185.57687223952254</Real>
+          <Real Name="Z">185.57687223952254</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">185.57687223952254</Real>
+          <Real Name="Z">-321.94050860315895</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">136.36363636363637</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_33.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_33.xml
new file mode 100644 (file)
index 0000000..f167567
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="No">
+      <Real Name="Epot ">6.0288568297002625</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">-111.21474624585726</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">-2.7817291288098005</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">43.912933345386321</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">70.083542029280736</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_34.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_34.xml
new file mode 100644 (file)
index 0000000..f167567
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="No">
+      <Real Name="Epot ">6.0288568297002625</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">-111.21474624585726</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">-2.7817291288098005</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">43.912933345386321</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">70.083542029280736</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_35.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_35.xml
new file mode 100644 (file)
index 0000000..f167567
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRESZ">
+    <FEP Name="No">
+      <Real Name="Epot ">6.0288568297002625</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">-111.21474624585726</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">-2.7817291288098005</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">43.912933345386321</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">70.083542029280736</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_4.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_4.xml
new file mode 100644 (file)
index 0000000..a1f85a4
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">0.6030737921409135</Real>
+        <Real Name="dVdlambda ">1.796949313976077</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-45.602685776755756</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">45.602685776755756</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-62.185480604666949</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">62.185480604666949</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">0</Real>
+        <Real Name="dVdlambda ">-1.2824471291478599e-15</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">4.8985871965894135e-14</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-4.8985871965894135e-14</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">6.6798916317128366e-14</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-6.6798916317128366e-14</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">1.2061475842818314</Real>
+        <Real Name="dVdlambda ">-1.784677251529414</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">91.205371553511611</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-91.205371553511611</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">124.37096120933403</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-124.37096120933403</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_5.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_5.xml
new file mode 100644 (file)
index 0000000..a1f85a4
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">0.6030737921409135</Real>
+        <Real Name="dVdlambda ">1.796949313976077</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-45.602685776755756</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">45.602685776755756</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-62.185480604666949</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">62.185480604666949</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">0</Real>
+        <Real Name="dVdlambda ">-1.2824471291478599e-15</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">4.8985871965894135e-14</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-4.8985871965894135e-14</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">6.6798916317128366e-14</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-6.6798916317128366e-14</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">1.2061475842818314</Real>
+        <Real Name="dVdlambda ">-1.784677251529414</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">91.205371553511611</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">-91.205371553511611</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">124.37096120933403</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">0</Real>
+            <Real Name="Y">0</Real>
+            <Real Name="Z">-124.37096120933403</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_6.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_6.xml
new file mode 100644 (file)
index 0000000..9e50c96
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">1.9271830717058047</Real>
+        <Real Name="dVdlambda ">3.9872521055800649</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">46.457909236111789</Real>
+            <Real Name="Y">-74.163952872731514</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-46.457909236111789</Real>
+            <Real Name="Y">74.163952872731514</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-42.153852703885491</Real>
+            <Real Name="Y">-35.557650813790936</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">42.153852703885491</Real>
+            <Real Name="Y">35.557650813790936</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">0.59331878819816219</Real>
+        <Real Name="dVdlambda ">1.8536025845185251</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">32.88155198236187</Real>
+            <Real Name="Y">-52.491080888044159</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-32.88155198236187</Real>
+            <Real Name="Y">52.491080888044159</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-29.835266410616512</Real>
+            <Real Name="Y">-25.16666726567896</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">29.835266410616512</Real>
+            <Real Name="Y">25.16666726567896</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">0.044695123934581638</Real>
+        <Real Name="dVdlambda ">-0.44412345019159588</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">-10.519680451386996</Real>
+            <Real Name="Y">16.793288765272816</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">10.519680451386996</Real>
+            <Real Name="Y">-16.793288765272816</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">9.5450929138029483</Real>
+            <Real Name="Y">8.0514842426944178</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-9.5450929138029483</Real>
+            <Real Name="Y">-8.0514842426944178</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_7.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_7.xml
new file mode 100644 (file)
index 0000000..9e50c96
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">1.9271830717058047</Real>
+        <Real Name="dVdlambda ">3.9872521055800649</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">46.457909236111789</Real>
+            <Real Name="Y">-74.163952872731514</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-46.457909236111789</Real>
+            <Real Name="Y">74.163952872731514</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-42.153852703885491</Real>
+            <Real Name="Y">-35.557650813790936</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">42.153852703885491</Real>
+            <Real Name="Y">35.557650813790936</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">0.59331878819816219</Real>
+        <Real Name="dVdlambda ">1.8536025845185251</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">32.88155198236187</Real>
+            <Real Name="Y">-52.491080888044159</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-32.88155198236187</Real>
+            <Real Name="Y">52.491080888044159</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-29.835266410616512</Real>
+            <Real Name="Y">-25.16666726567896</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">29.835266410616512</Real>
+            <Real Name="Y">25.16666726567896</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">0.044695123934581638</Real>
+        <Real Name="dVdlambda ">-0.44412345019159588</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">-10.519680451386996</Real>
+            <Real Name="Y">16.793288765272816</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">10.519680451386996</Real>
+            <Real Name="Y">-16.793288765272816</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">9.5450929138029483</Real>
+            <Real Name="Y">8.0514842426944178</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-9.5450929138029483</Real>
+            <Real Name="Y">-8.0514842426944178</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_8.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_8.xml
new file mode 100644 (file)
index 0000000..9e50c96
--- /dev/null
@@ -0,0 +1,104 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="Yes">
+      <Lambda Name="0">
+        <Real Name="Epot ">1.9271830717058047</Real>
+        <Real Name="dVdlambda ">3.9872521055800649</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">46.457909236111789</Real>
+            <Real Name="Y">-74.163952872731514</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-46.457909236111789</Real>
+            <Real Name="Y">74.163952872731514</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-42.153852703885491</Real>
+            <Real Name="Y">-35.557650813790936</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">42.153852703885491</Real>
+            <Real Name="Y">35.557650813790936</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="0.5">
+        <Real Name="Epot ">0.59331878819816219</Real>
+        <Real Name="dVdlambda ">1.8536025845185251</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">32.88155198236187</Real>
+            <Real Name="Y">-52.491080888044159</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-32.88155198236187</Real>
+            <Real Name="Y">52.491080888044159</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-29.835266410616512</Real>
+            <Real Name="Y">-25.16666726567896</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">29.835266410616512</Real>
+            <Real Name="Y">25.16666726567896</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+      <Lambda Name="1">
+        <Real Name="Epot ">0.044695123934581638</Real>
+        <Real Name="dVdlambda ">-0.44412345019159588</Real>
+        <Vector Name="Central shift forces">
+          <Real Name="X">0</Real>
+          <Real Name="Y">0</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Sequence Name="Forces">
+          <Int Name="Length">4</Int>
+          <Vector>
+            <Real Name="X">-10.519680451386996</Real>
+            <Real Name="Y">16.793288765272816</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">10.519680451386996</Real>
+            <Real Name="Y">-16.793288765272816</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">9.5450929138029483</Real>
+            <Real Name="Y">8.0514842426944178</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+          <Vector>
+            <Real Name="X">-9.5450929138029483</Real>
+            <Real Name="Y">-8.0514842426944178</Real>
+            <Real Name="Z">0</Real>
+          </Vector>
+        </Sequence>
+      </Lambda>
+    </FEP>
+  </FunctionType>
+</ReferenceData>
diff --git a/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_9.xml b/src/gromacs/listed_forces/tests/refdata/Restraints_ListedForcesTest_Ifunc_9.xml
new file mode 100644 (file)
index 0000000..f19b507
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="referencedata.xsl"?>
+<ReferenceData>
+  <FunctionType Name="ANGRES">
+    <FEP Name="No">
+      <Real Name="Epot ">22.476647220921073</Real>
+      <Real Name="dVdlambda ">0</Real>
+      <Vector Name="Central shift forces">
+        <Real Name="X">0</Real>
+        <Real Name="Y">0</Real>
+        <Real Name="Z">0</Real>
+      </Vector>
+      <Sequence Name="Forces">
+        <Int Name="Length">4</Int>
+        <Vector>
+          <Real Name="X">7.7882951620165883</Real>
+          <Real Name="Y">-129.80491936694315</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-7.7882951620165883</Real>
+          <Real Name="Y">129.80491936694315</Real>
+          <Real Name="Z">0</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">7.7743014194615565</Real>
+          <Real Name="Y">-129.57169032435928</Real>
+          <Real Name="Z">-130.03814840952703</Real>
+        </Vector>
+        <Vector>
+          <Real Name="X">-7.7743014194615565</Real>
+          <Real Name="Y">129.57169032435928</Real>
+          <Real Name="Z">130.03814840952703</Real>
+        </Vector>
+      </Sequence>
+    </FEP>
+  </FunctionType>
+</ReferenceData>