From 180372db2085ce0bfb071ad9f4ee127c23a869a6 Mon Sep 17 00:00:00 2001 From: Matthias Kellner Date: Mon, 17 Jul 2023 16:47:56 +0200 Subject: [PATCH 1/4] adds a property string to ase_to_tensormap --- src/equisolve/utils/convert.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/equisolve/utils/convert.py b/src/equisolve/utils/convert.py index fcd09c6..2ad2d47 100644 --- a/src/equisolve/utils/convert.py +++ b/src/equisolve/utils/convert.py @@ -47,7 +47,7 @@ def ase_to_tensormap( else: cell_gradients = None - return properties_to_tensormap(values, positions_gradients, cell_gradients) + return properties_to_tensormap(values, positions_gradients, cell_gradients,property_name=energy) def properties_to_tensormap( @@ -55,6 +55,7 @@ def properties_to_tensormap( positions_gradients: List[np.ndarray] = None, cell_gradients: List[np.ndarray] = None, is_structure_property: bool = True, + property_name: str = "property", ) -> TensorMap: """Create a :class:`equistore.TensorMap` from array like properties. @@ -94,7 +95,7 @@ def properties_to_tensormap( values=np.asarray(values).reshape(-1, 1), samples=Labels(["structure"], np.arange(n_structures).reshape(-1, 1)), components=[], - properties=Labels(["property"], np.array([(0,)])), + properties=Labels([property_name], np.array([(0,)])), ) if positions_gradients is not None: From 5f957fdf8561a37b6934f42c4acb6928e269a4fa Mon Sep 17 00:00:00 2001 From: Matthias Kellner Date: Mon, 17 Jul 2023 16:53:03 +0200 Subject: [PATCH 2/4] add whitespace --- src/equisolve/utils/convert.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/equisolve/utils/convert.py b/src/equisolve/utils/convert.py index 2ad2d47..ff736ff 100644 --- a/src/equisolve/utils/convert.py +++ b/src/equisolve/utils/convert.py @@ -47,7 +47,7 @@ def ase_to_tensormap( else: cell_gradients = None - return properties_to_tensormap(values, positions_gradients, cell_gradients,property_name=energy) + return properties_to_tensormap(values, positions_gradients, cell_gradients, property_name=energy) def properties_to_tensormap( From 75442be9e04e708a643bed0891b3a66e8f07670c Mon Sep 17 00:00:00 2001 From: Matthias Kellner Date: Mon, 17 Jul 2023 17:01:45 +0200 Subject: [PATCH 3/4] line too long --- src/equisolve/utils/convert.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/equisolve/utils/convert.py b/src/equisolve/utils/convert.py index ff736ff..ceb2083 100644 --- a/src/equisolve/utils/convert.py +++ b/src/equisolve/utils/convert.py @@ -47,7 +47,10 @@ def ase_to_tensormap( else: cell_gradients = None - return properties_to_tensormap(values, positions_gradients, cell_gradients, property_name=energy) + return properties_to_tensormap(values, + positions_gradients, + cell_gradients, + property_name=energy) def properties_to_tensormap( From 7b46ac8517dcc7872ef5bd322018d5f0e5fe4b20 Mon Sep 17 00:00:00 2001 From: Matthias Kellner Date: Wed, 19 Jul 2023 21:03:08 +0200 Subject: [PATCH 4/4] changeing stress to info dict --- src/equisolve/utils/convert.py | 9 ++++----- tests/equisolve_tests/utils/convert.py | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/equisolve/utils/convert.py b/src/equisolve/utils/convert.py index ceb2083..c441db5 100644 --- a/src/equisolve/utils/convert.py +++ b/src/equisolve/utils/convert.py @@ -43,14 +43,13 @@ def ase_to_tensormap( positions_gradients = None if stress is not None: - cell_gradients = [-f.arrays[stress] for f in frames] + cell_gradients = [-f.info[stress] for f in frames] else: cell_gradients = None - return properties_to_tensormap(values, - positions_gradients, - cell_gradients, - property_name=energy) + return properties_to_tensormap( + values, positions_gradients, cell_gradients, property_name=energy + ) def properties_to_tensormap( diff --git a/tests/equisolve_tests/utils/convert.py b/tests/equisolve_tests/utils/convert.py index f0552dd..e426c4a 100644 --- a/tests/equisolve_tests/utils/convert.py +++ b/tests/equisolve_tests/utils/convert.py @@ -43,7 +43,7 @@ def test_ase_to_tensormap(self, energies, forces, stress): frame = ase.Atoms(self.n_atoms * "H") frame.info["energy"] = energies[i] frame.arrays["forces"] = forces[i] - frame.arrays["stress"] = stress[i] + frame.info["stress"] = stress[i] frames.append(frame) property_tm = ase_to_tensormap(frames, "energy", "forces", "stress")