From e779b076051901775b53ccadf78bf226b60c4b3b Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Thu, 25 Apr 2024 06:15:19 -0500 Subject: [PATCH 1/2] Fix bug in thermal expansion --- atomistics/workflows/quasiharmonic.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/atomistics/workflows/quasiharmonic.py b/atomistics/workflows/quasiharmonic.py index 856bd39a..4627d343 100644 --- a/atomistics/workflows/quasiharmonic.py +++ b/atomistics/workflows/quasiharmonic.py @@ -67,6 +67,10 @@ def get_thermal_properties( volume_lst = np.array(get_volume_lst(structure_dict=structure_dict)) / np.prod( repeat_vector ) + eng_internal_dict = { + key: value / np.prod(repeat_vector) + for key, value in eng_internal_dict.items() + } if quantum_mechanical: tp_collect_dict = _get_thermal_properties_quantum_mechanical( phonopy_dict=phonopy_dict, From 12cc6c3e7cf72520627b09fa0a3b6bff81d6eb49 Mon Sep 17 00:00:00 2001 From: Jan Janssen Date: Thu, 25 Apr 2024 08:48:05 -0500 Subject: [PATCH 2/2] fixes --- atomistics/workflows/quasiharmonic.py | 3 +-- tests/test_quasiharmonic_lammps.py | 12 ++++++------ tests/test_quasiharmonic_lammps_functional.py | 12 ++++++------ 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/atomistics/workflows/quasiharmonic.py b/atomistics/workflows/quasiharmonic.py index 4627d343..24c4b1e5 100644 --- a/atomistics/workflows/quasiharmonic.py +++ b/atomistics/workflows/quasiharmonic.py @@ -68,8 +68,7 @@ def get_thermal_properties( repeat_vector ) eng_internal_dict = { - key: value / np.prod(repeat_vector) - for key, value in eng_internal_dict.items() + key: value / np.prod(repeat_vector) for key, value in eng_internal_dict.items() } if quantum_mechanical: tp_collect_dict = _get_thermal_properties_quantum_mechanical( diff --git a/tests/test_quasiharmonic_lammps.py b/tests/test_quasiharmonic_lammps.py index 2c214777..1d1380b2 100644 --- a/tests/test_quasiharmonic_lammps.py +++ b/tests/test_quasiharmonic_lammps.py @@ -59,16 +59,16 @@ def test_calc_phonons(self): self.assertTrue(tp_collect_dict["free_energy"][-1] > -2.7) self.assertTrue(tp_collect_dict["entropy"][0] < 0.1) self.assertTrue(tp_collect_dict["entropy"][0] > 0.0) - self.assertTrue(tp_collect_dict["entropy"][-1] < 270) - self.assertTrue(tp_collect_dict["entropy"][-1] > 269) + self.assertTrue(tp_collect_dict["entropy"][-1] < 273) + self.assertTrue(tp_collect_dict["entropy"][-1] > 272) self.assertTrue(tp_collect_dict["heat_capacity"][0] < 0.1) self.assertTrue(tp_collect_dict["heat_capacity"][0] > 0.0) self.assertTrue(tp_collect_dict["heat_capacity"][-1] < 100) self.assertTrue(tp_collect_dict["heat_capacity"][-1] > 99) - self.assertTrue(tp_collect_dict["volumes"][-1] < 66.6) - self.assertTrue(tp_collect_dict["volumes"][-1] > 66.5) - self.assertTrue(tp_collect_dict["volumes"][0] < 66.5) - self.assertTrue(tp_collect_dict["volumes"][0] > 66.4) + self.assertTrue(tp_collect_dict["volumes"][-1] < 68.6) + self.assertTrue(tp_collect_dict["volumes"][-1] > 68.5) + self.assertTrue(tp_collect_dict["volumes"][0] < 66.8) + self.assertTrue(tp_collect_dict["volumes"][0] > 66.7) thermal_properties_dict = workflow.get_thermal_properties( temperatures=[100, 1000], output_keys=["temperatures", "volumes"], diff --git a/tests/test_quasiharmonic_lammps_functional.py b/tests/test_quasiharmonic_lammps_functional.py index 6220fa76..db3b2e36 100644 --- a/tests/test_quasiharmonic_lammps_functional.py +++ b/tests/test_quasiharmonic_lammps_functional.py @@ -77,16 +77,16 @@ def test_calc_phonons(self): self.assertTrue(tp_collect_dict["free_energy"][-1] > -2.7) self.assertTrue(tp_collect_dict["entropy"][0] < 0.1) self.assertTrue(tp_collect_dict["entropy"][0] > 0.0) - self.assertTrue(tp_collect_dict["entropy"][-1] < 270) - self.assertTrue(tp_collect_dict["entropy"][-1] > 269) + self.assertTrue(tp_collect_dict["entropy"][-1] < 273) + self.assertTrue(tp_collect_dict["entropy"][-1] > 272) self.assertTrue(tp_collect_dict["heat_capacity"][0] < 0.1) self.assertTrue(tp_collect_dict["heat_capacity"][0] > 0.0) self.assertTrue(tp_collect_dict["heat_capacity"][-1] < 100) self.assertTrue(tp_collect_dict["heat_capacity"][-1] > 99) - self.assertTrue(tp_collect_dict["volumes"][-1] < 66.6) - self.assertTrue(tp_collect_dict["volumes"][-1] > 66.5) - self.assertTrue(tp_collect_dict["volumes"][0] < 66.5) - self.assertTrue(tp_collect_dict["volumes"][0] > 66.4) + self.assertTrue(tp_collect_dict["volumes"][-1] < 68.6) + self.assertTrue(tp_collect_dict["volumes"][-1] > 68.5) + self.assertTrue(tp_collect_dict["volumes"][0] < 66.8) + self.assertTrue(tp_collect_dict["volumes"][0] > 66.7) thermal_properties_dict = get_thermal_properties( eng_internal_dict=eng_internal_dict, phonopy_dict=phonopy_dict,