void StructureTest::enthalpyFallBack() { Structure s; s.addAtom(); s.setEnergy(1.0 * EV_TO_KJ_PER_MOL); qDebug() << s.getEnthalpy(); QVERIFY(APPROX_EQ(s.getEnthalpy(), 1.0)); s.setEnergy(-1.0 * EV_TO_KJ_PER_MOL); QVERIFY(APPROX_EQ(s.getEnthalpy(), -1.0)); s.setEnthalpy(3.0); QVERIFY(APPROX_EQ(s.getEnthalpy(), 3.0)); s.setEnthalpy(-3.0); QVERIFY(APPROX_EQ(s.getEnthalpy(), -3.0)); QList<unsigned int> anums; anums << 1; QList<Eigen::Vector3d> coords; coords << Eigen::Vector3d(0,0,0); s.updateAndSkipHistory(anums, coords, 1.0, // energy 0.0); // enthalpy QVERIFY(APPROX_EQ(s.getEnthalpy(), 1.0)); s.updateAndSkipHistory(anums, coords, -1.0, // energy 0.0); // enthalpy QVERIFY(APPROX_EQ(s.getEnthalpy(), -1.0)); s.updateAndAddToHistory(anums, coords, 1.0, // energy 0.0); // enthalpy QVERIFY(APPROX_EQ(s.getEnthalpy(), 1.0)); s.updateAndAddToHistory(anums, coords, -1.0, // energy 0.0); // enthalpy QVERIFY(APPROX_EQ(s.getEnthalpy(), -1.0)); s.updateAndSkipHistory(anums, coords, 0.0, // energy 1.0); // enthalpy QVERIFY(APPROX_EQ(s.getEnthalpy(), 1.0)); s.updateAndSkipHistory(anums, coords, 0.0, // energy -1.0); // enthalpy QVERIFY(APPROX_EQ(s.getEnthalpy(), -1.0)); s.updateAndAddToHistory(anums, coords, 0.0, // energy 1.0); // enthalpy QVERIFY(APPROX_EQ(s.getEnthalpy(), 1.0)); s.updateAndAddToHistory(anums, coords, 0.0, // energy -1.0); // enthalpy QVERIFY(APPROX_EQ(s.getEnthalpy(), -1.0)); }