Skip to content

Commit e09e06d

Browse files
Tetracarbonylnickelpre-commit-ci[bot]PythonFZ
authored
implementation of constrains in asegeoopt (#249)
* implementation of constrains in asegeoopt * [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --------- Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com> Co-authored-by: Fabian Zills <[email protected]>
1 parent 2bf88a3 commit e09e06d

File tree

3 files changed

+9
-0
lines changed

3 files changed

+9
-0
lines changed

Diff for: ipsuite/calculators/__init__.pyi

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ from .ase_geoopt import ASEGeoOpt
33
from .ase_md import (
44
ASEMD,
55
BoxOscillatingRampModifier,
6+
FixedLayerConstraint,
67
FixedSphereConstraint,
78
LangevinThermostat,
89
NPTThermostat,
@@ -36,4 +37,5 @@ __all__ = [
3637
"NPTThermostat",
3738
"OrcaSinglePoint",
3839
"LammpsSimulator",
40+
"FixedLayerConstraint",
3941
]

Diff for: ipsuite/calculators/ase_geoopt.py

+6
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ class ASEGeoOpt(base.ProcessSingleAtom):
2828
model_outs = zntrack.dvc.outs(zntrack.nwd / "model_outs")
2929
optimizer: str = zntrack.zn.params("FIRE")
3030
checker_list: list = zntrack.deps(None)
31+
constraint_list: list = zntrack.deps(None)
3132

3233
repeat: list = zntrack.zn.params([1, 1, 1])
3334
run_kwargs: dict = zntrack.zn.params({"fmax": 0.05})
@@ -39,6 +40,8 @@ class ASEGeoOpt(base.ProcessSingleAtom):
3940
def run(self):
4041
if self.checker_list is None:
4142
self.checker_list = []
43+
if self.constraint_list is None:
44+
self.constraint_list = []
4245

4346
self.model_outs.mkdir(parents=True, exist_ok=True)
4447
(self.model_outs / "outs.txt").write_text("Lorem Ipsum")
@@ -48,6 +51,9 @@ def run(self):
4851
atoms = atoms.repeat(self.repeat)
4952
atoms.calc = calculator
5053

54+
for constraint in self.constraint_list:
55+
atoms.set_constraint(constraint.get_constraint(atoms))
56+
5157
atoms_cache = []
5258

5359
db = znh5md.io.DataWriter(self.traj_file)

Diff for: ipsuite/nodes.py

+1
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,7 @@ class _Nodes:
7676
ThresholdCheck = "ipsuite.analysis.ThresholdCheck"
7777
TemperatureCheck = "ipsuite.analysis.TemperatureCheck"
7878
FixedSphereConstraint = "ipsuite.calculators.FixedSphereConstraint"
79+
FixedLayerConstraint = "ipsuite.calculators.FixedLayerConstraint"
7980
AnalyseDensity = "ipsuite.analysis.AnalyseDensity"
8081

8182
# calculators

0 commit comments

Comments
 (0)