From 9e628536404c74d098ec4f7c39b6f0403ce9736d Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Thu, 8 Jul 2021 10:34:02 -0600 Subject: [PATCH 1/2] fix pos scaling (ang2nm) in lammps data reader --- CHANGELOG.rst | 1 + src/libcsg/modules/io/lammpsdatareader.cc | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 5fcba7c9d9..8f2748ce27 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -5,6 +5,7 @@ Version 2021.1 (released XX.03.21) ================================== - format code with clang-12 and drop gmx2020 builds (#691) +- fix pos scaling (ang2nm) in lammps data reader (#697) Version 2021 (released 13.03.21) ================================ diff --git a/src/libcsg/modules/io/lammpsdatareader.cc b/src/libcsg/modules/io/lammpsdatareader.cc index 768c2d615a..f1c5d34451 100644 --- a/src/libcsg/modules/io/lammpsdatareader.cc +++ b/src/libcsg/modules/io/lammpsdatareader.cc @@ -496,7 +496,7 @@ void LAMMPSDataReader::ReadAtoms_(Topology &top) { } Eigen::Vector3d xyz_pos(x, y, z); - b->setPos(xyz_pos); + b->setPos(xyz_pos * tools::conv::ang2nm); } if (top.BeadCount() != numberOf_["atoms"]) { From 350d84c1715bc340ae49cde2a44f0bd84b055852 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Thu, 8 Jul 2021 13:07:51 -0600 Subject: [PATCH 2/2] update test_lammpsdatareader --- src/tests/test_lammpsdatareader.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/tests/test_lammpsdatareader.cc b/src/tests/test_lammpsdatareader.cc index c82d23580d..56439ba41b 100644 --- a/src/tests/test_lammpsdatareader.cc +++ b/src/tests/test_lammpsdatareader.cc @@ -61,12 +61,12 @@ BOOST_AUTO_TEST_CASE(test_topologyreader) { lammpsDataReader->ReadTopology(lammpsdatafilename, top); BOOST_CHECK_EQUAL(top.BeadCount(), 100); - Eigen::Vector3d first_bead_correct_pos(62.806, 52.5127, 49.8873); + Eigen::Vector3d first_bead_correct_pos(6.2806, 5.25127, 4.98873); Bead *firstBead = top.getBead(0); auto first_bead_pos = firstBead->getPos(); BOOST_CHECK(first_bead_correct_pos.isApprox(first_bead_pos, 1e-3)); - Eigen::Vector3d last_bead_correct_pos(102.78495, 78.0388, 59.9629); + Eigen::Vector3d last_bead_correct_pos(10.278495, 7.80388, 5.99629); Bead *lastBead = top.getBead(99); auto last_bead_pos = lastBead->getPos(); BOOST_CHECK(last_bead_correct_pos.isApprox(last_bead_pos, 1e-3)); @@ -120,7 +120,7 @@ BOOST_AUTO_TEST_CASE(test_trajectoryreader) { BOOST_CHECK_EQUAL(top.BeadCount(), 100); - Eigen::Vector3d first_bead_correct_pos(65.7991, 51.04235, 58.480193); + Eigen::Vector3d first_bead_correct_pos(6.57991, 5.104235, 5.8480193); Bead *firstBead = top.getBead(0); auto first_bead_pos = firstBead->getPos(); @@ -128,7 +128,7 @@ BOOST_AUTO_TEST_CASE(test_trajectoryreader) { cout << first_bead_pos << endl; BOOST_CHECK(first_bead_correct_pos.isApprox(first_bead_pos, 1e-3)); - Eigen::Vector3d last_bead_correct_pos(108.431, 83.94695, 68.5254); + Eigen::Vector3d last_bead_correct_pos(10.8431, 8.394695, 6.85254); Bead *lastBead = top.getBead(99); auto last_bead_pos = lastBead->getPos();