diff --git a/MDANSE/Extensions/fold_coordinates.pyx b/MDANSE/Extensions/fold_coordinates.pyx index 4d882fbcd2..745f82dd0c 100644 --- a/MDANSE/Extensions/fold_coordinates.pyx +++ b/MDANSE/Extensions/fold_coordinates.pyx @@ -76,22 +76,22 @@ def fold_coordinates( by = box_coords[i,j,1] bz = box_coords[i,j,2] - while bx < -0.5: + while bx < 0.0: bx += 1.0 - while by < -0.5: + while by < 0.0: by += 1.0 - while bz < -0.5: + while bz < 0.0: bz += 1.0 - while bx > 0.5: + while bx >= 1.0: bx -= 1.0 - while by > 0.5: + while by >= 1.0: by -= 1.0 - while bz > 0.5: + while bz >= 1.0: bz -= 1.0 box_coords[i,j,0] = bx diff --git a/MDANSE/Src/MDANSE/Framework/Converters/ASE.py b/MDANSE/Src/MDANSE/Framework/Converters/ASE.py index cd5c031e37..7ff784261d 100644 --- a/MDANSE/Src/MDANSE/Framework/Converters/ASE.py +++ b/MDANSE/Src/MDANSE/Framework/Converters/ASE.py @@ -79,6 +79,10 @@ class ASE(Converter): "mini": 0, }, ) + settings["fold"] = ( + "BooleanConfigurator", + {"default": False, "label": "Fold coordinates into box"}, + ) settings["output_file"] = ( "OutputTrajectoryConfigurator", { @@ -156,6 +160,8 @@ def run_step(self, index): realConf = PeriodicRealConfiguration( self._trajectory.chemical_system, coords, unitCell ) + if self._configuration["fold"]["value"]: + realConf.fold_coordinates() else: realConf = RealConfiguration( self._trajectory.chemical_system, diff --git a/MDANSE/Src/MDANSE/Framework/Converters/CP2K.py b/MDANSE/Src/MDANSE/Framework/Converters/CP2K.py index b1cce37c8c..cc3eced7dc 100644 --- a/MDANSE/Src/MDANSE/Framework/Converters/CP2K.py +++ b/MDANSE/Src/MDANSE/Framework/Converters/CP2K.py @@ -140,6 +140,10 @@ class CP2K(Converter): "dependencies": {"input_file": "pos_file"}, }, ) + settings["fold"] = ( + "BooleanConfigurator", + {"default": False, "label": "Fold coordinates into box"}, + ) settings["output_file"] = ( "OutputTrajectoryConfigurator", { @@ -232,7 +236,8 @@ def run_step(self, index): self._trajectory.chemical_system, coords, unitcell, **variables ) - realConf.fold_coordinates() + if self._configuration["fold"]["value"]: + realConf.fold_coordinates() self._trajectory.chemical_system.configuration = realConf diff --git a/MDANSE/Src/MDANSE/Framework/Converters/DFTB.py b/MDANSE/Src/MDANSE/Framework/Converters/DFTB.py index 9d9f359162..3a6f187a9c 100644 --- a/MDANSE/Src/MDANSE/Framework/Converters/DFTB.py +++ b/MDANSE/Src/MDANSE/Framework/Converters/DFTB.py @@ -54,7 +54,7 @@ class DFTB(Forcite): ) settings["fold"] = ( "BooleanConfigurator", - {"default": True, "label": "Fold coordinates in to box"}, + {"default": False, "label": "Fold coordinates into box"}, ) settings["output_file"] = ( "OutputTrajectoryConfigurator", diff --git a/MDANSE/Src/MDANSE/Framework/Converters/Discover.py b/MDANSE/Src/MDANSE/Framework/Converters/Discover.py index da09c1ff7c..3a9b6362ae 100644 --- a/MDANSE/Src/MDANSE/Framework/Converters/Discover.py +++ b/MDANSE/Src/MDANSE/Framework/Converters/Discover.py @@ -275,7 +275,7 @@ class Discover(Converter): ) settings["fold"] = ( "BooleanConfigurator", - {"default": True, "label": "Fold coordinates into box"}, + {"default": False, "label": "Fold coordinates into box"}, ) settings["output_file"] = ( "OutputTrajectoryConfigurator", diff --git a/MDANSE/Tests/UnitTests/test_configuration.py b/MDANSE/Tests/UnitTests/test_configuration.py index 8e5028d06b..e3c1480bae 100644 --- a/MDANSE/Tests/UnitTests/test_configuration.py +++ b/MDANSE/Tests/UnitTests/test_configuration.py @@ -449,9 +449,9 @@ def test_fold_coordinates(self): np.allclose( conf["coordinates"], [ - [-0.65955991, 1.40648987, -1.9977125], - [1.04665145, -1.06488218, -0.1532281], - [-0.27479577, -0.08878546, 1.93534948], + [1.34044009, 2.40648987, -1.9977125], + [0.04665145, 1.93511782, -0.1532281], + [1.72520423, 0.91121454, -2.06465052], [-0.22366532, 1.38389029, -0.29560999], ], rtol=1.0e-6,