From 67bba08b3df59fdd4532cd596137a5ccbe7f87d6 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Sun, 25 Aug 2024 00:41:58 -0400 Subject: [PATCH] add unit tests for extracting lattice spacings --- .../c-library/test_library_properties.cpp | 27 +++++++++++++++++++ unittest/python/python-commands.py | 3 +++ 2 files changed, 30 insertions(+) diff --git a/unittest/c-library/test_library_properties.cpp b/unittest/c-library/test_library_properties.cpp index 96d63629df..3d0eeef5ea 100644 --- a/unittest/c-library/test_library_properties.cpp +++ b/unittest/c-library/test_library_properties.cpp @@ -466,6 +466,33 @@ TEST_F(LibraryProperties, global) if (!verbose) ::testing::internal::GetCapturedStdout(); map_style = *(int *)lammps_extract_global(lmp, "map_style"); EXPECT_EQ(map_style, Atom::MAP_ARRAY); + + EXPECT_EQ(lammps_extract_global_datatype(lmp, "xlattice"), LAMMPS_DOUBLE); + EXPECT_EQ(lammps_extract_global_datatype(lmp, "ylattice"), LAMMPS_DOUBLE); + EXPECT_EQ(lammps_extract_global_datatype(lmp, "zlattice"), LAMMPS_DOUBLE); + auto *xlattice = (double *)lammps_extract_global(lmp, "xlattice"); + auto *ylattice = (double *)lammps_extract_global(lmp, "ylattice"); + auto *zlattice = (double *)lammps_extract_global(lmp, "zlattice"); + EXPECT_NE(xlattice, nullptr); + EXPECT_NE(ylattice, nullptr); + EXPECT_NE(zlattice, nullptr); + EXPECT_DOUBLE_EQ(*xlattice, 1.0); + EXPECT_DOUBLE_EQ(*ylattice, 1.0); + EXPECT_DOUBLE_EQ(*zlattice, 1.0); + if (!verbose) ::testing::internal::CaptureStdout(); + lammps_command(lmp, "clear"); + lammps_command(lmp, "units real"); + lammps_command(lmp, "lattice fcc 2.0"); + if (!verbose) ::testing::internal::GetCapturedStdout(); + xlattice = (double *)lammps_extract_global(lmp, "xlattice"); + ylattice = (double *)lammps_extract_global(lmp, "ylattice"); + zlattice = (double *)lammps_extract_global(lmp, "zlattice"); + EXPECT_NE(xlattice, nullptr); + EXPECT_NE(ylattice, nullptr); + EXPECT_NE(zlattice, nullptr); + EXPECT_DOUBLE_EQ(*xlattice, 2.0); + EXPECT_DOUBLE_EQ(*ylattice, 2.0); + EXPECT_DOUBLE_EQ(*zlattice, 2.0); }; TEST_F(LibraryProperties, pair1) diff --git a/unittest/python/python-commands.py b/unittest/python/python-commands.py index fcf731bf3f..b1432e67b9 100644 --- a/unittest/python/python-commands.py +++ b/unittest/python/python-commands.py @@ -656,6 +656,9 @@ create_atoms 1 single & self.assertEqual(self.lmp.extract_global("map_tag_max"), -1) self.assertEqual(self.lmp.extract_global("sortfreq"), 1000) self.assertEqual(self.lmp.extract_global("nextsort"), 0) + self.assertEqual(self.lmp.extract_global("xlattice"), 1.0) + self.assertEqual(self.lmp.extract_global("ylattice"), 1.0) + self.assertEqual(self.lmp.extract_global("zlattice"), 1.0) # set and initialize r-RESPA self.lmp.command("run_style respa 3 5 2 pair 2 kspace 3")