Structure Relaxtion with Custom Nodes¶
You can combine mlipx with custom code by writing ZnTrack nodes. We will write a Node to perform a geometry relaxation similar to mlipx.StructureOptimization.
[1]:
# Only install the packages if they are not already installed
!pip show mlipx > /dev/null 2>&1 || pip install mlipx
!pip show rdkit2ase > /dev/null 2>&1 || pip install rdkit2ase
[2]:
# We will create a GIT and DVC repository in a temporary directory
import os
import tempfile
temp_dir = tempfile.TemporaryDirectory()
os.chdir(temp_dir.name)
Like all mlipx Nodes we will use a GIT and DVC repository to run experiments. To make our custom code available, we structure our project like
relaxation/
├── .git/
├── .dvc/
├── src/__init__.py
├── src/relaxation.py
├── models.py
└── main.py
to allow us to import our code from src.relaxation import Relax. Alternatively, you can package your code and import it like any other Python package.
[3]:
!git init
!dvc init --quiet
!mkdir src
!touch src/__init__.py
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
Initialized empty Git repository in /tmp/tmp8ydhffo6/.git/
The code we want to put into our Relax Node is the following:
from ase.optimize import BFGS
import ase.io
data: list[ase.Atoms]
calc: ase.calculator.Calculator
end_structures = []
for atoms in data:
atoms.set_calculator(calc)
opt = BFGS(atoms)
opt.run(fmax=0.05)
end_structures.append(atoms)
ase.io.write('end_structures.xyz', end_structures)
To do so, we need to identify and define the inputs and outputs of our code. We provide the data: list[ase.Atoms] from a data loading Node. Therefore, we use data: list = zntrack.deps(). If you want to read directly from file you could use data_path: str = zntrack.deps_path(). We access the calculator in a similar way using model: NodeWithCalculator = zntrack.deps(). mlipx provides the NodeWithCalculator abstract base class for a common communication on how to share
ASE calculators. Another convention is providing inputs as data: list[ase.Atoms] and outputs as frames: list[ase.Atoms]. As we save our data to a file, we define frames_path: pathlib.Path = zntrack.outs_path(zntrack.nwd / 'frames.xyz') to store the output trajetory in the node working directory (nwd) as frames.xyz. The zntrack.nwd provides a unique directory per Node to store the data at. As the communication between mlipx nodes is based on ase.Atoms we define
a @frames property. Within this, we could also alter the ase.Atoms object, thus making the node communication independent of the file format facilitating data communication via code or Data as Code (DaC). To summarize, each Node provides all the information on how to save and load the produced data, simplifying communication and reducing issues with different file format conventions.
Besides the implemented fields, there are also x: dict = zntrack.params, x: dict = zntrack.metrics and x: pd.DataFrame = zntrack.plots and their corresponding file path versions x: str|pathlib.Path = zntrack.params_path, zntrack.metrics_path and zntrack.plots_path. For general outputs there is x: any = zntrack.outs. More information can be found at https://dvc.org/doc/start/data-pipelines/metrics-parameters-plots .
[4]:
%%writefile src/relaxation.py
import zntrack
from mlipx.abc import NodeWithCalculator
from ase.optimize import BFGS
import ase.io
import pathlib
class Relax(zntrack.Node):
data: list = zntrack.deps()
model: NodeWithCalculator = zntrack.deps()
frames_path: pathlib.Path = zntrack.outs_path(zntrack.nwd / 'frames.xyz')
def run(self):
end_structures = []
for atoms in self.data:
atoms.set_calculator(self.model.get_calculator())
opt = BFGS(atoms)
opt.run(fmax=0.05)
end_structures.append(atoms)
with open(self.frames_path, 'w') as f:
ase.io.write(f, end_structures, format='extxyz')
@property
def frames(self) -> list[ase.Atoms]:
with self.state.fs.open(self.frames_path, "r") as f:
return ase.io.read(f, format='extxyz', index=':')
Writing src/relaxation.py
With this Node definition, we can import the Node and connect it with mlipx to form a graph.
[5]:
from src.relaxation import Relax
import mlipx
[6]:
project = mlipx.Project()
emt = mlipx.GenericASECalculator(
module="ase.calculators.emt",
class_name="EMT",
)
with project:
confs = mlipx.Smiles2Conformers(smiles="CCCC", num_confs=5)
relax = Relax(data=confs.frames, model=emt)
project.build()
2025-10-16 08:48:27,409 - INFO: Saving params.yaml
100%|██████████| 2/2 [00:00<00:00, 405.33it/s]
To execute the graph, we make use of dvc repro via project.repro.
[7]:
project.repro(build=False)
Running stage 'Smiles2Conformers':
> zntrack run mlipx.nodes.smiles.Smiles2Conformers --name Smiles2Conformers
Generating lock file 'dvc.lock'
Updating lock file 'dvc.lock'
Running stage 'Relax':
> zntrack run src.relaxation.Relax --name Relax
/tmp/tmp8ydhffo6/src/relaxation.py:17: FutureWarning: Please use atoms.calc = calc
atoms.set_calculator(self.model.get_calculator())
Step Time Energy fmax
BFGS: 0 08:48:30 4.724823 4.228254
BFGS: 1 08:48:30 3.695104 2.694944
BFGS: 2 08:48:30 3.002493 1.491995
BFGS: 3 08:48:30 2.821521 1.084287
BFGS: 4 08:48:30 2.664462 1.026635
BFGS: 5 08:48:30 2.491468 0.799126
BFGS: 6 08:48:30 2.425148 0.284313
BFGS: 7 08:48:30 2.421418 0.195937
BFGS: 8 08:48:30 2.419375 0.177544
BFGS: 9 08:48:30 2.415213 0.194750
BFGS: 10 08:48:30 2.410990 0.242281
BFGS: 11 08:48:30 2.406209 0.232174
BFGS: 12 08:48:30 2.403626 0.114878
BFGS: 13 08:48:30 2.402830 0.057176
BFGS: 14 08:48:30 2.402635 0.064902
BFGS: 15 08:48:30 2.401317 0.147641
BFGS: 16 08:48:30 2.398571 0.278336
BFGS: 17 08:48:30 2.379098 0.734341
BFGS: 18 08:48:30 2.380989 0.883318
BFGS: 19 08:48:30 2.351300 0.508528
BFGS: 20 08:48:30 2.324590 0.522551
BFGS: 21 08:48:30 2.315072 0.407116
BFGS: 22 08:48:30 2.296864 0.216777
BFGS: 23 08:48:30 2.293296 0.221778
BFGS: 24 08:48:30 2.286858 0.215151
BFGS: 25 08:48:30 2.283037 0.223814
BFGS: 26 08:48:30 2.277123 0.255763
BFGS: 27 08:48:30 2.270932 0.349690
BFGS: 28 08:48:30 2.263634 0.313995
BFGS: 29 08:48:30 2.255046 0.345169
BFGS: 30 08:48:30 2.247447 0.297129
BFGS: 31 08:48:30 2.238506 0.326834
BFGS: 32 08:48:30 2.233938 0.207663
BFGS: 33 08:48:30 2.231323 0.184838
BFGS: 34 08:48:30 2.230049 0.156562
BFGS: 35 08:48:30 2.228067 0.192201
BFGS: 36 08:48:30 2.225906 0.202076
BFGS: 37 08:48:30 2.221183 0.278176
BFGS: 38 08:48:30 2.212987 0.361611
BFGS: 39 08:48:30 2.201470 0.353356
BFGS: 40 08:48:30 2.187751 0.287102
BFGS: 41 08:48:30 2.170166 0.319723
BFGS: 42 08:48:30 2.161002 0.323846
BFGS: 43 08:48:30 2.151944 0.433995
BFGS: 44 08:48:30 2.158919 0.580164
BFGS: 45 08:48:30 2.134980 0.309549
BFGS: 46 08:48:30 2.123534 0.389445
BFGS: 47 08:48:30 2.111680 0.334000
BFGS: 48 08:48:30 2.098695 0.529284
BFGS: 49 08:48:30 2.082680 0.539683
BFGS: 50 08:48:30 2.059658 0.437526
BFGS: 51 08:48:30 2.031137 0.397078
BFGS: 52 08:48:30 2.031523 0.364171
BFGS: 53 08:48:30 2.012196 0.461840
BFGS: 54 08:48:30 2.001364 0.489074
BFGS: 55 08:48:30 1.983689 0.571441
BFGS: 56 08:48:30 1.959756 0.662082
BFGS: 57 08:48:30 1.936724 0.430629
BFGS: 58 08:48:30 1.912146 0.267946
BFGS: 59 08:48:30 1.897998 0.311475
BFGS: 60 08:48:30 1.890408 0.268792
BFGS: 61 08:48:30 1.880590 0.276231
BFGS: 62 08:48:30 1.863821 0.409954
BFGS: 63 08:48:30 1.851029 0.362723
BFGS: 64 08:48:30 1.830318 0.314331
BFGS: 65 08:48:30 1.810085 0.317712
BFGS: 66 08:48:30 1.796065 0.290514
BFGS: 67 08:48:30 1.787545 0.226220
BFGS: 68 08:48:30 1.783060 0.174773
BFGS: 69 08:48:30 1.780717 0.176626
BFGS: 70 08:48:30 1.777668 0.164365
BFGS: 71 08:48:30 1.769905 0.273285
BFGS: 72 08:48:30 1.761856 0.360338
BFGS: 73 08:48:30 1.753778 0.290790
BFGS: 74 08:48:30 1.748340 0.154427
BFGS: 75 08:48:30 1.745403 0.105586
BFGS: 76 08:48:30 1.744440 0.104599
BFGS: 77 08:48:30 1.741636 0.136852
BFGS: 78 08:48:30 1.738862 0.188009
BFGS: 79 08:48:30 1.734147 0.253894
BFGS: 80 08:48:30 1.730033 0.192076
BFGS: 81 08:48:30 1.727159 0.082437
BFGS: 82 08:48:30 1.726339 0.058944
BFGS: 83 08:48:30 1.725961 0.057890
BFGS: 84 08:48:30 1.725435 0.057195
BFGS: 85 08:48:30 1.724144 0.075981
BFGS: 86 08:48:30 1.722723 0.084251
BFGS: 87 08:48:30 1.721102 0.077281
BFGS: 88 08:48:30 1.719633 0.084644
BFGS: 89 08:48:30 1.718126 0.108633
BFGS: 90 08:48:30 1.716192 0.146922
BFGS: 91 08:48:30 1.714177 0.125553
BFGS: 92 08:48:30 1.712134 0.140964
BFGS: 93 08:48:30 1.710032 0.134121
BFGS: 94 08:48:30 1.707800 0.117965
BFGS: 95 08:48:30 1.705617 0.126318
BFGS: 96 08:48:30 1.703467 0.128745
BFGS: 97 08:48:30 1.701997 0.151636
BFGS: 98 08:48:30 1.700697 0.139458
BFGS: 99 08:48:30 1.698827 0.112359
BFGS: 100 08:48:30 1.694519 0.354078
BFGS: 101 08:48:30 1.688180 0.163801
BFGS: 102 08:48:30 1.682905 0.113229
BFGS: 103 08:48:30 1.674445 0.401622
BFGS: 104 08:48:30 1.665386 0.227193
BFGS: 105 08:48:30 1.659405 0.204809
BFGS: 106 08:48:30 1.655502 0.346502
BFGS: 107 08:48:30 1.644713 0.229075
BFGS: 108 08:48:30 1.641153 0.208162
BFGS: 109 08:48:30 1.636637 0.207900
BFGS: 110 08:48:30 1.634665 0.157589
BFGS: 111 08:48:30 1.632168 0.162913
BFGS: 112 08:48:30 1.629971 0.120067
BFGS: 113 08:48:30 1.628471 0.141871
BFGS: 114 08:48:30 1.626423 0.172185
BFGS: 115 08:48:30 1.622806 0.210513
BFGS: 116 08:48:30 1.618291 0.221338
BFGS: 117 08:48:30 1.614580 0.202705
BFGS: 118 08:48:30 1.611513 0.184390
BFGS: 119 08:48:30 1.608877 0.196512
BFGS: 120 08:48:30 1.604761 0.216936
BFGS: 121 08:48:30 1.599094 0.221792
BFGS: 122 08:48:30 1.593524 0.157874
BFGS: 123 08:48:30 1.590629 0.098045
BFGS: 124 08:48:30 1.588900 0.150278
BFGS: 125 08:48:30 1.586889 0.154850
BFGS: 126 08:48:30 1.584164 0.161505
BFGS: 127 08:48:30 1.581312 0.133753
BFGS: 128 08:48:30 1.578953 0.123257
BFGS: 129 08:48:30 1.576891 0.117692
BFGS: 130 08:48:30 1.574334 0.118531
BFGS: 131 08:48:30 1.571976 0.126324
BFGS: 132 08:48:30 1.570152 0.121850
BFGS: 133 08:48:30 1.569107 0.093358
BFGS: 134 08:48:30 1.568055 0.060755
BFGS: 135 08:48:30 1.566453 0.080337
BFGS: 136 08:48:30 1.565024 0.094102
BFGS: 137 08:48:30 1.564000 0.095657
BFGS: 138 08:48:30 1.563352 0.086833
BFGS: 139 08:48:30 1.562682 0.079313
BFGS: 140 08:48:30 1.561912 0.088965
BFGS: 141 08:48:30 1.561042 0.093452
BFGS: 142 08:48:30 1.560213 0.074935
BFGS: 143 08:48:30 1.559499 0.110492
BFGS: 144 08:48:30 1.558839 0.078177
BFGS: 145 08:48:30 1.557956 0.084977
BFGS: 146 08:48:30 1.556963 0.098843
BFGS: 147 08:48:30 1.556179 0.091458
BFGS: 148 08:48:30 1.555883 0.076713
BFGS: 149 08:48:30 1.555761 0.071249
BFGS: 150 08:48:30 1.555596 0.068754
BFGS: 151 08:48:30 1.555233 0.065745
BFGS: 152 08:48:30 1.554527 0.065875
BFGS: 153 08:48:30 1.553289 0.080739
BFGS: 154 08:48:30 1.551971 0.062902
BFGS: 155 08:48:30 1.551159 0.045017
Step Time Energy fmax
BFGS: 0 08:48:30 4.865394 4.380860
BFGS: 1 08:48:30 3.745537 2.825594
BFGS: 2 08:48:30 2.962284 1.683419
BFGS: 3 08:48:30 2.774933 1.150097
BFGS: 4 08:48:30 2.626416 1.037417
BFGS: 5 08:48:30 2.448933 0.864490
BFGS: 6 08:48:30 2.397080 0.301978
BFGS: 7 08:48:30 2.393595 0.210173
BFGS: 8 08:48:30 2.390701 0.163507
BFGS: 9 08:48:30 2.388765 0.192826
BFGS: 10 08:48:30 2.383425 0.246180
BFGS: 11 08:48:30 2.379520 0.213086
BFGS: 12 08:48:30 2.376680 0.108645
BFGS: 13 08:48:30 2.375650 0.073813
BFGS: 14 08:48:30 2.375026 0.077839
BFGS: 15 08:48:30 2.372031 0.179074
BFGS: 16 08:48:30 2.365918 0.345811
BFGS: 17 08:48:30 2.347740 0.772904
BFGS: 18 08:48:30 2.329241 1.233577
BFGS: 19 08:48:30 2.292205 1.045401
BFGS: 20 08:48:30 2.258228 0.920824
BFGS: 21 08:48:30 2.408463 2.507763
BFGS: 22 08:48:30 2.214722 0.332818
BFGS: 23 08:48:30 2.193080 0.192791
BFGS: 24 08:48:30 2.187234 0.347883
BFGS: 25 08:48:30 2.181578 0.221971
BFGS: 26 08:48:30 2.174951 0.176944
BFGS: 27 08:48:30 2.151982 0.263663
BFGS: 28 08:48:30 2.138800 0.428484
BFGS: 29 08:48:30 2.130336 0.369965
BFGS: 30 08:48:30 2.112149 0.267300
BFGS: 31 08:48:30 2.104779 0.224204
BFGS: 32 08:48:30 2.098377 0.214714
BFGS: 33 08:48:30 2.093607 0.234498
BFGS: 34 08:48:30 2.087666 0.224173
BFGS: 35 08:48:30 2.076740 0.317077
BFGS: 36 08:48:30 2.067167 0.281053
BFGS: 37 08:48:30 2.052759 0.343789
BFGS: 38 08:48:30 2.034267 0.543952
BFGS: 39 08:48:30 2.013842 0.538764
BFGS: 40 08:48:30 1.974965 0.385828
BFGS: 41 08:48:30 1.957446 0.397523
BFGS: 42 08:48:30 1.936936 0.341381
BFGS: 43 08:48:30 1.925323 0.264122
BFGS: 44 08:48:30 1.918738 0.185367
BFGS: 45 08:48:30 1.914427 0.132779
BFGS: 46 08:48:30 1.911853 0.173664
BFGS: 47 08:48:30 1.907522 0.212586
BFGS: 48 08:48:30 1.900842 0.271917
BFGS: 49 08:48:30 1.889911 0.415076
BFGS: 50 08:48:30 1.872415 0.571707
BFGS: 51 08:48:30 1.848570 0.562509
BFGS: 52 08:48:30 1.823604 0.572853
BFGS: 53 08:48:30 1.809391 0.552718
BFGS: 54 08:48:30 1.788869 0.348931
BFGS: 55 08:48:30 1.773670 0.226908
BFGS: 56 08:48:30 1.757135 0.323755
BFGS: 57 08:48:30 1.750855 0.333554
BFGS: 58 08:48:30 1.737037 0.324392
BFGS: 59 08:48:30 1.722737 0.401902
BFGS: 60 08:48:30 1.699474 0.418350
BFGS: 61 08:48:30 1.684060 0.306403
BFGS: 62 08:48:30 1.677088 0.369823
BFGS: 63 08:48:30 1.672808 0.253696
BFGS: 64 08:48:30 1.668616 0.176519
BFGS: 65 08:48:30 1.662550 0.132976
BFGS: 66 08:48:30 1.660333 0.126295
BFGS: 67 08:48:30 1.656769 0.122502
BFGS: 68 08:48:30 1.654289 0.128493
BFGS: 69 08:48:30 1.650866 0.175924
BFGS: 70 08:48:30 1.646057 0.192686
BFGS: 71 08:48:30 1.640007 0.217560
BFGS: 72 08:48:30 1.632803 0.154551
BFGS: 73 08:48:30 1.628430 0.117571
BFGS: 74 08:48:30 1.627660 0.053194
BFGS: 75 08:48:30 1.627113 0.074383
BFGS: 76 08:48:30 1.626273 0.071988
BFGS: 77 08:48:30 1.624225 0.088201
BFGS: 78 08:48:30 1.620906 0.146750
BFGS: 79 08:48:30 1.615841 0.197837
BFGS: 80 08:48:30 1.612050 0.186618
BFGS: 81 08:48:30 1.608729 0.105113
BFGS: 82 08:48:30 1.606304 0.095119
BFGS: 83 08:48:30 1.603924 0.107957
BFGS: 84 08:48:30 1.600649 0.121268
BFGS: 85 08:48:30 1.597091 0.133101
BFGS: 86 08:48:30 1.593862 0.131929
BFGS: 87 08:48:30 1.590095 0.131651
BFGS: 88 08:48:30 1.588442 0.113061
BFGS: 89 08:48:30 1.586793 0.084681
BFGS: 90 08:48:30 1.585403 0.098034
BFGS: 91 08:48:30 1.584224 0.128985
BFGS: 92 08:48:30 1.582979 0.112585
BFGS: 93 08:48:30 1.581675 0.107400
BFGS: 94 08:48:30 1.580458 0.102662
BFGS: 95 08:48:30 1.579118 0.122849
BFGS: 96 08:48:30 1.577423 0.152236
BFGS: 97 08:48:30 1.575337 0.144473
BFGS: 98 08:48:30 1.572467 0.104516
BFGS: 99 08:48:30 1.569964 0.079757
BFGS: 100 08:48:30 1.568546 0.053036
BFGS: 101 08:48:30 1.568059 0.047093
Step Time Energy fmax
BFGS: 0 08:48:30 4.858089 4.335648
BFGS: 1 08:48:30 3.749587 2.765649
BFGS: 2 08:48:30 2.982136 1.576276
BFGS: 3 08:48:30 2.797083 1.046888
BFGS: 4 08:48:30 2.636838 0.963173
BFGS: 5 08:48:30 2.460467 0.850502
BFGS: 6 08:48:30 2.394027 0.275174
BFGS: 7 08:48:30 2.390947 0.157671
BFGS: 8 08:48:30 2.389399 0.128709
BFGS: 9 08:48:30 2.387495 0.153889
BFGS: 10 08:48:30 2.384853 0.182608
BFGS: 11 08:48:30 2.381565 0.179324
BFGS: 12 08:48:30 2.379334 0.125502
BFGS: 13 08:48:30 2.378086 0.073321
BFGS: 14 08:48:30 2.377497 0.075002
BFGS: 15 08:48:30 2.375103 0.148997
BFGS: 16 08:48:30 2.369195 0.281896
BFGS: 17 08:48:30 2.351976 0.675103
BFGS: 18 08:48:30 2.328524 1.060058
BFGS: 19 08:48:30 2.323226 0.888091
BFGS: 20 08:48:30 2.252269 1.005198
BFGS: 21 08:48:30 2.218799 0.322806
BFGS: 22 08:48:30 2.206764 0.286473
BFGS: 23 08:48:30 2.197523 0.367481
BFGS: 24 08:48:30 2.188781 0.371597
BFGS: 25 08:48:30 2.163317 0.685412
BFGS: 26 08:48:30 2.146480 0.675713
BFGS: 27 08:48:30 2.107178 0.428717
BFGS: 28 08:48:30 2.099233 0.316360
BFGS: 29 08:48:30 2.088093 0.355159
BFGS: 30 08:48:30 2.083547 0.250284
BFGS: 31 08:48:30 2.076155 0.222963
BFGS: 32 08:48:30 2.067822 0.304942
BFGS: 33 08:48:30 2.050532 0.332312
BFGS: 34 08:48:30 2.029539 0.380079
BFGS: 35 08:48:30 2.009535 0.431791
BFGS: 36 08:48:30 1.988627 0.600405
BFGS: 37 08:48:30 2.045107 1.246242
BFGS: 38 08:48:30 1.953165 0.524486
BFGS: 39 08:48:30 1.932351 0.473826
BFGS: 40 08:48:30 1.910252 0.325409
BFGS: 41 08:48:30 1.882118 0.494928
BFGS: 42 08:48:30 1.869072 0.361455
BFGS: 43 08:48:30 1.859207 0.243166
BFGS: 44 08:48:30 1.849129 0.246025
BFGS: 45 08:48:30 1.841171 0.284218
BFGS: 46 08:48:30 1.821756 0.339375
BFGS: 47 08:48:30 1.801423 0.430395
BFGS: 48 08:48:30 1.778609 0.656457
BFGS: 49 08:48:30 1.750094 0.552666
BFGS: 50 08:48:30 1.726564 0.260947
BFGS: 51 08:48:30 1.718442 0.222488
BFGS: 52 08:48:30 1.715206 0.261016
BFGS: 53 08:48:30 1.712081 0.212315
BFGS: 54 08:48:30 1.701720 0.264618
BFGS: 55 08:48:30 1.696334 0.285572
BFGS: 56 08:48:30 1.685067 0.309440
BFGS: 57 08:48:30 1.676213 0.213871
BFGS: 58 08:48:30 1.669709 0.149207
BFGS: 59 08:48:30 1.665968 0.167947
BFGS: 60 08:48:30 1.659264 0.203160
BFGS: 61 08:48:30 1.653040 0.275987
BFGS: 62 08:48:30 1.653300 0.262898
BFGS: 63 08:48:30 1.641568 0.261546
BFGS: 64 08:48:30 1.635742 0.229899
BFGS: 65 08:48:30 1.627257 0.253775
BFGS: 66 08:48:30 1.622796 0.249147
BFGS: 67 08:48:30 1.618816 0.184599
BFGS: 68 08:48:30 1.614494 0.184634
BFGS: 69 08:48:30 1.611618 0.141595
BFGS: 70 08:48:30 1.607902 0.160905
BFGS: 71 08:48:30 1.605236 0.168707
BFGS: 72 08:48:30 1.600801 0.176486
BFGS: 73 08:48:30 1.597036 0.151801
BFGS: 74 08:48:30 1.594104 0.114967
BFGS: 75 08:48:30 1.592226 0.073494
BFGS: 76 08:48:30 1.591398 0.069286
BFGS: 77 08:48:30 1.590510 0.081242
BFGS: 78 08:48:30 1.589109 0.095935
BFGS: 79 08:48:30 1.586753 0.136715
BFGS: 80 08:48:30 1.583699 0.154689
BFGS: 81 08:48:30 1.579869 0.132377
BFGS: 82 08:48:30 1.577646 0.091821
BFGS: 83 08:48:30 1.576423 0.121622
BFGS: 84 08:48:30 1.574710 0.157882
BFGS: 85 08:48:30 1.571932 0.189549
BFGS: 86 08:48:30 1.567807 0.200383
BFGS: 87 08:48:30 1.563567 0.171313
BFGS: 88 08:48:30 1.559720 0.118517
BFGS: 89 08:48:30 1.557412 0.104014
BFGS: 90 08:48:30 1.556491 0.065434
BFGS: 91 08:48:30 1.556001 0.045550
Step Time Energy fmax
BFGS: 0 08:48:30 4.768698 4.185514
BFGS: 1 08:48:30 3.722642 2.699616
BFGS: 2 08:48:30 3.048208 1.538464
BFGS: 3 08:48:30 2.855874 0.955794
BFGS: 4 08:48:30 2.696093 1.020375
BFGS: 5 08:48:30 2.531380 0.786448
BFGS: 6 08:48:30 2.437769 0.298652
BFGS: 7 08:48:30 2.432050 0.227671
BFGS: 8 08:48:30 2.430144 0.217614
BFGS: 9 08:48:30 2.410831 0.485928
BFGS: 10 08:48:30 2.405505 0.375454
BFGS: 11 08:48:30 2.400145 0.077391
BFGS: 12 08:48:30 2.399701 0.072525
BFGS: 13 08:48:30 2.397654 0.108801
BFGS: 14 08:48:30 2.394053 0.188057
BFGS: 15 08:48:30 2.324246 0.631374
BFGS: 16 08:48:30 2.405955 1.597370
BFGS: 17 08:48:30 2.269429 0.884962
BFGS: 18 08:48:30 2.265854 0.424480
BFGS: 19 08:48:30 2.204423 0.269208
BFGS: 20 08:48:30 2.209287 0.738363
BFGS: 21 08:48:30 2.183705 0.265332
BFGS: 22 08:48:30 2.178760 0.257445
BFGS: 23 08:48:30 2.168601 0.214129
BFGS: 24 08:48:30 2.165327 0.235065
BFGS: 25 08:48:30 2.160760 0.252898
BFGS: 26 08:48:30 2.157043 0.244883
BFGS: 27 08:48:30 2.151391 0.218995
BFGS: 28 08:48:30 2.142600 0.315074
BFGS: 29 08:48:30 2.129068 0.415578
BFGS: 30 08:48:30 2.111928 0.491126
BFGS: 31 08:48:30 2.095706 0.554886
BFGS: 32 08:48:30 2.081419 0.552250
BFGS: 33 08:48:30 2.076562 0.474465
BFGS: 34 08:48:30 2.056016 0.343482
BFGS: 35 08:48:30 2.050330 0.182174
BFGS: 36 08:48:30 2.047649 0.100843
BFGS: 37 08:48:30 2.046736 0.085322
BFGS: 38 08:48:30 2.045472 0.087630
BFGS: 39 08:48:30 2.044155 0.098687
BFGS: 40 08:48:30 2.042171 0.123861
BFGS: 41 08:48:30 2.038938 0.164304
BFGS: 42 08:48:30 2.033271 0.250085
BFGS: 43 08:48:30 2.024258 0.289369
BFGS: 44 08:48:30 2.014198 0.266369
BFGS: 45 08:48:30 2.005746 0.261112
BFGS: 46 08:48:30 1.997711 0.287024
BFGS: 47 08:48:30 1.988853 0.260211
BFGS: 48 08:48:30 1.979274 0.295643
BFGS: 49 08:48:30 1.967456 0.484614
BFGS: 50 08:48:30 1.954132 0.492121
BFGS: 51 08:48:30 1.933397 0.507589
BFGS: 52 08:48:30 1.895466 0.741464
BFGS: 53 08:48:30 2.049624 1.502909
BFGS: 54 08:48:30 1.846532 0.302816
BFGS: 55 08:48:30 1.834973 0.341622
BFGS: 56 08:48:30 1.825122 0.215331
BFGS: 57 08:48:30 1.818375 0.156312
BFGS: 58 08:48:30 1.814310 0.123636
BFGS: 59 08:48:30 1.811469 0.121585
BFGS: 60 08:48:30 1.810122 0.102874
BFGS: 61 08:48:30 1.808313 0.108733
BFGS: 62 08:48:30 1.804340 0.198816
BFGS: 63 08:48:30 1.798083 0.290043
BFGS: 64 08:48:30 1.789360 0.289599
BFGS: 65 08:48:30 1.782440 0.203692
BFGS: 66 08:48:30 1.778736 0.113851
BFGS: 67 08:48:30 1.777097 0.087606
BFGS: 68 08:48:30 1.775985 0.103050
BFGS: 69 08:48:30 1.774975 0.095619
BFGS: 70 08:48:30 1.773247 0.090185
BFGS: 71 08:48:30 1.771145 0.134372
BFGS: 72 08:48:30 1.765883 0.228757
BFGS: 73 08:48:30 1.762596 0.330848
BFGS: 74 08:48:30 1.753999 0.284264
BFGS: 75 08:48:30 1.744288 0.206432
BFGS: 76 08:48:30 1.742529 0.335752
BFGS: 77 08:48:30 1.735069 0.178556
BFGS: 78 08:48:30 1.731900 0.160285
BFGS: 79 08:48:30 1.725757 0.189055
BFGS: 80 08:48:30 1.719472 0.203024
BFGS: 81 08:48:30 1.711598 0.242117
BFGS: 82 08:48:31 1.701912 0.288727
BFGS: 83 08:48:31 1.689367 0.270145
BFGS: 84 08:48:31 1.680482 0.239804
BFGS: 85 08:48:31 1.669318 0.279135
BFGS: 86 08:48:31 1.663897 0.166645
BFGS: 87 08:48:31 1.659067 0.132720
BFGS: 88 08:48:31 1.654538 0.145878
BFGS: 89 08:48:31 1.650725 0.152692
BFGS: 90 08:48:31 1.645901 0.151683
BFGS: 91 08:48:31 1.640236 0.117073
BFGS: 92 08:48:31 1.635917 0.100190
BFGS: 93 08:48:31 1.631638 0.070430
BFGS: 94 08:48:31 1.628373 0.083989
BFGS: 95 08:48:31 1.626992 0.103190
BFGS: 96 08:48:31 1.625823 0.109220
BFGS: 97 08:48:31 1.624330 0.091055
BFGS: 98 08:48:31 1.622586 0.087672
BFGS: 99 08:48:31 1.619710 0.149186
BFGS: 100 08:48:31 1.615605 0.169757
BFGS: 101 08:48:31 1.611207 0.199920
BFGS: 102 08:48:31 1.608230 0.152538
BFGS: 103 08:48:31 1.606484 0.112618
BFGS: 104 08:48:31 1.604985 0.116443
BFGS: 105 08:48:31 1.603221 0.129196
BFGS: 106 08:48:31 1.599732 0.194957
BFGS: 107 08:48:31 1.594526 0.232751
BFGS: 108 08:48:31 1.587851 0.279509
BFGS: 109 08:48:31 1.580364 0.291041
BFGS: 110 08:48:31 1.574061 0.137768
BFGS: 111 08:48:31 1.571233 0.102391
BFGS: 112 08:48:31 1.569664 0.081082
BFGS: 113 08:48:31 1.568823 0.088249
BFGS: 114 08:48:31 1.567654 0.127611
BFGS: 115 08:48:31 1.566085 0.116745
BFGS: 116 08:48:31 1.563626 0.114950
BFGS: 117 08:48:31 1.560657 0.111579
BFGS: 118 08:48:31 1.559186 0.096696
BFGS: 119 08:48:31 1.557786 0.077926
BFGS: 120 08:48:31 1.556762 0.065103
BFGS: 121 08:48:31 1.555717 0.058796
BFGS: 122 08:48:31 1.554970 0.070359
BFGS: 123 08:48:31 1.554382 0.059312
BFGS: 124 08:48:31 1.553729 0.074325
BFGS: 125 08:48:31 1.552825 0.074410
BFGS: 126 08:48:31 1.551470 0.090231
BFGS: 127 08:48:31 1.549470 0.118988
BFGS: 128 08:48:31 1.547035 0.128880
BFGS: 129 08:48:31 1.545357 0.080279
BFGS: 130 08:48:31 1.544684 0.044632
Step Time Energy fmax
BFGS: 0 08:48:31 4.709773 4.111828
BFGS: 1 08:48:31 3.700755 2.742187
BFGS: 2 08:48:31 3.003616 1.500037
BFGS: 3 08:48:31 2.827804 0.984416
BFGS: 4 08:48:31 2.666645 0.947305
BFGS: 5 08:48:31 2.493413 0.835510
BFGS: 6 08:48:31 2.424834 0.285378
BFGS: 7 08:48:31 2.420892 0.185677
BFGS: 8 08:48:31 2.419362 0.165797
BFGS: 9 08:48:31 2.415388 0.182351
BFGS: 10 08:48:31 2.412008 0.181795
BFGS: 11 08:48:31 2.408302 0.164027
BFGS: 12 08:48:31 2.406635 0.080239
BFGS: 13 08:48:31 2.406234 0.047315
Updating lock file 'dvc.lock'
To track the changes with git, run:
git add dvc.lock nodes/Relax/.gitignore nodes/Smiles2Conformers/.gitignore
To enable auto staging, run:
dvc config core.autostage true
Use `dvc push` to send your updates to remote storage.
Once the graph has been executed, we can look at the resulting structures.
[8]:
relax.frames
[8]:
[Atoms(symbols='C4H10', pbc=False, calculator=SinglePointCalculator(...)),
Atoms(symbols='C4H10', pbc=False, calculator=SinglePointCalculator(...)),
Atoms(symbols='C4H10', pbc=False, calculator=SinglePointCalculator(...)),
Atoms(symbols='C4H10', pbc=False, calculator=SinglePointCalculator(...)),
Atoms(symbols='C4H10', pbc=False, calculator=SinglePointCalculator(...))]
[9]:
temp_dir.cleanup()