Liquid water: diffusion coefficient, radial distribution function, density¶
Trained model: M3GNet, starting from the Universal Potential (UP)
Reference method: ReaxFF Water2017.ff; J. Phys. Chem. B, 2017, 121 (24), pp 6021–6032
System: Liquid water at T = 300 K
Property |
Reference |
Retrained M3GNet |
M3GNet-UP |
Experiment |
---|---|---|---|---|
Self-diffusion (10⁻⁹ m² s⁻¹) |
2.6 |
2.5 |
0.23 |
2.3 |
Density (g cm⁻³) |
1.01 |
1.02 |
0.95 |
1.00 |
Water self-diffusion coefficient calculated for a small box size and not corrected for finite-size effects. The values may not be fully converged. When following this tutorial you may get different values.
Radial distribution functions (RDFs)
Expected duration: This notebook takes about 24 hours to run on the CPU. This includes both the active learning and the production simulations to get the diffusion coefficient, radial distribution functions, and density.
To follow along, either
Download
liquid_water_training.py
(run as$AMSBIN/amsipython liquid_water_training.py
).Download
liquid_water_training.ipynb
(see also: how to install Jupyterlab in AMS)
When running active learning it’s usually a good idea to start off “simple” and make the system/structures gradually more complicated.
To train liquid water, we here
first train a potential at slightly above room temperature and 1.0 g/cm^3
continue with a second active learning loop where the density is explicitly scanned from a low to a high value
Initial imports¶
import scm.plams as plams
from scm.simple_active_learning import SimpleActiveLearningJob
import matplotlib.pyplot as plt
from scm.external_engines.core import interface_is_installed
assert interface_is_installed(
"m3gnet"
), "You must install the m3gnet backend before following this tutorial!"
plams.init()
PLAMS working folder: /path/plams_workdir.003
Create an initial water box¶
water = plams.from_smiles("O")
for at in water:
at.properties = plams.Settings()
plams.plot_molecule(water)
box = plams.packmol(water, n_molecules=48, density=1.0)
plams.plot_molecule(box, rotation="-5x,5y,0z")
Let’s run a short MD simulation with M3GNet-UP-2022 to make the structure more realistic:
up_s = plams.Settings()
up_s.input.MLPotential.Model = "M3GNet-UP-2022"
up_s.runscript.nproc = 1 # always run AMS Driver in serial for MLPotential
up_md = plams.AMSNVTJob(
molecule=box,
settings=up_s,
name="up_md",
nsteps=1000,
timestep=0.5,
temperature=350,
)
up_md.run();
[22.02|09:51:37] JOB up_md STARTED
[22.02|09:51:37] JOB up_md RUNNING
[22.02|09:52:19] JOB up_md FINISHED
[22.02|09:52:20] JOB up_md SUCCESSFUL
<scm.plams.interfaces.adfsuite.ams.AMSResults at 0x7fccbdae5a90>
New structure:
starting_structure = up_md.results.get_main_molecule()
plams.plot_molecule(starting_structure, rotation="-5x,5y,0z")
Simple Active Learning setup¶
Reference engine settings¶
Here, we choose to train against ReaxFF Water-2017.ff, which gives a good water structure.
fast_ref_s = plams.Settings()
fast_ref_s.input.ReaxFF.ForceField = "Water2017.ff"
fast_ref_s.runscript.nproc = 1
slow_ref_s = plams.Settings()
slow_ref_s.input.QuantumESPRESSO.Pseudopotentials.Family = "SSSP-Efficiency"
slow_ref_s.input.QuantumESPRESSO.Pseudopotentials.Functional = "PBE"
slow_ref_s.input.QuantumESPRESSO.K_Points._h = "gamma"
slow_ref_s.input.QuantumESPRESSO.System = plams.Settings(
input_dft="revpbe", ecutwfc=40, vdw_corr="Grimme-D3", dftd3_version=4
)
Change to slow_ref_s to train to revPBE-D3(BJ) instead:
ref_s = fast_ref_s.copy()
NVT molecular dynamics settings¶
nvt_md_s = plams.AMSNVTJob(
nsteps=20000,
timestep=0.5,
temperature=(270, 350, 350),
tau=100,
thermostat="Berendsen",
).settings
ParAMS machine learning settings¶
ml_s = plams.Settings()
ml_s.input.ams.MachineLearning.Backend = "M3GNet"
ml_s.input.ams.MachineLearning.CommitteeSize = 1
ml_s.input.ams.MachineLearning.M3GNet.Model = "UniversalPotential"
ml_s.input.ams.MachineLearning.MaxEpochs = 200
Active learning settings¶
Liquid water is a “simple” homogeneous system, so we can expect the ML method to perform quite well. We therefore decrease the success criteria thresholds a bit compared to the default vvalues, to ensure that we get accurate results.
Since we will immediately continue with another active learning loop, we disable the “RerunSimulation” as we are not interested in the MD simulation per se.
al_s = plams.Settings()
al_s.input.ams.ActiveLearning.Steps.Type = "Geometric"
al_s.input.ams.ActiveLearning.Steps.Geometric.Start = 10
al_s.input.ams.ActiveLearning.Steps.Geometric.NumSteps = 8
al_s.input.ams.ActiveLearning.InitialReferenceData.Generate.M3GNetShortMD.Enabled = "Yes"
al_s.input.ams.ActiveLearning.SuccessCriteria.Energy.Relative = 0.003
al_s.input.ams.ActiveLearning.SuccessCriteria.Forces.MaxDeviationForZeroForce = 0.35
al_s.input.ams.ActiveLearning.AtEnd.RerunSimulation = "No"
Complete job¶
settings = ref_s + nvt_md_s + ml_s + al_s
job = SimpleActiveLearningJob(settings=settings, molecule=starting_structure, name="sal")
print(job.get_input())
ActiveLearning
AtEnd
RerunSimulation False
End
InitialReferenceData
Generate
M3GNetShortMD
Enabled True
End
End
End
Steps
Geometric
NumSteps 8
Start 10
End
Type Geometric
End
SuccessCriteria
Energy
Relative 0.003
End
Forces
MaxDeviationForZeroForce 0.35
End
End
End
MachineLearning
Backend M3GNet
CommitteeSize 1
M3GNet
Model UniversalPotential
End
MaxEpochs 300
End
MolecularDynamics
BinLog
DipoleMoment False
PressureTensor False
Time False
End
CalcPressure False
Checkpoint
Frequency 1000000
End
InitialVelocities
Temperature 270.0
Type Random
End
NSteps 20000
Thermostat
Duration 10000 10000
Tau 100.0
Temperature 270.0 350.0 350.0
Type Berendsen
End
TimeStep 0.5
Trajectory
SamplingFreq 100
WriteBonds True
WriteCharges True
WriteEngineGradients False
WriteMolecules True
WriteVelocities True
End
End
Task MolecularDynamics
Engine ReaxFF
ForceField Water2017.ff
EndEngine
System
Atoms
O 1.9484063843 0.7908751554 0.9843784912 region=mol0
H 1.8807066057 1.3557587756 1.7738028426 region=mol0
H 2.7889027904 1.0305350245 0.5431370020 region=mol0
O 10.7118642478 8.8976306276 0.2987670543 region=mol0
H 9.7735425683 8.7703425211 0.4389863434 region=mol0
H 0.0490730208 8.2436480283 0.6736763286 region=mol0
O 5.5379816522 4.8553159199 1.0896272627 region=mol0
H 5.8152715988 5.2600095857 0.2530174079 region=mol0
H 5.3856969801 3.9231930219 0.7837738823 region=mol0
O 8.1383463535 -0.0252513258 4.4154064519 region=mol0
H 8.9092020434 0.3904671903 4.8246346143 region=mol0
H 8.3296344499 10.2836574911 4.5378538323 region=mol0
O -0.2237802569 5.3964041227 3.4588998124 region=mol0
H 0.2735677315 6.0527704434 2.8742969015 region=mol0
H 0.1864265153 5.2716705407 4.3380136317 region=mol0
O 5.7979985111 8.6608860006 2.8872866792 region=mol0
H 5.3230692006 8.3357811182 3.6963798396 region=mol0
H 6.2304519592 7.8097193430 2.6618304707 region=mol0
O 1.7465729422 9.7984310888 8.5729650397 region=mol0
H 1.1081756754 9.7185544079 7.8314320304 region=mol0
H 1.7281866480 10.7605531231 8.7067696629 region=mol0
O 3.3859627493 5.2358110659 2.7644204993 region=mol0
H 4.2756622394 5.0100990681 2.3595053911 region=mol0
H 3.7809970259 6.0920576867 3.1120028311 region=mol0
O 6.5551954935 5.9834566856 4.0403510760 region=mol0
H 6.9205760784 5.3867805500 4.7383618564 region=mol0
H 6.7279509873 5.5159202952 3.1764575315 region=mol0
O 2.1446772691 4.0214207468 6.9655310389 region=mol0
H 2.6116861527 4.7157029507 7.4384031932 region=mol0
H 2.2827327964 3.2738127181 7.6028454725 region=mol0
O 6.3420325249 0.8955181238 1.4744753464 region=mol0
H 5.6081729493 0.1682630206 1.2981618061 region=mol0
H 6.7858052840 0.8452250161 2.3623285661 region=mol0
O 6.8831915161 3.3362109301 7.5093884599 region=mol0
H 7.8965221567 3.3512035495 7.1840347379 region=mol0
H 7.0552475151 2.9923565722 8.4426582910 region=mol0
O 10.0308335945 6.2802046270 6.5694605112 region=mol0
H 9.5798960360 7.1065572264 6.2397756999 region=mol0
H 10.5118249458 6.6949820812 7.3597363700 region=mol0
O 9.7129547100 5.7136665649 10.1368788151 region=mol0
H 9.9673952334 6.3246825730 9.3929360886 region=mol0
H 8.8063687976 5.3665799301 9.8506395004 region=mol0
O 4.4687246863 7.6950388162 4.9302604163 region=mol0
H 4.5595979731 8.1831103937 5.7811621914 region=mol0
H 4.7873145618 6.7993123452 5.1544800711 region=mol0
O 0.3544516880 3.7586426736 10.5192948518 region=mol0
H 0.5248126590 3.8766486830 0.1910900565 region=mol0
H -0.2141780087 4.5406583716 10.3008573354 region=mol0
O 0.8223369899 10.1441664799 3.6106160673 region=mol0
H 0.4258460036 10.7979641055 3.0119932101 region=mol0
H 1.6487744992 10.6842284076 3.7912082295 region=mol0
O 9.2905519872 9.0081204527 6.4038591190 region=mol0
H 10.1747647252 9.4868962812 6.3226135104 region=mol0
H 9.0809852935 9.0572245141 7.3567563333 region=mol0
O 3.0413450497 10.7382450042 4.9759017604 region=mol0
H 3.1608244734 0.3327440895 5.4382250844 region=mol0
H 3.0691865843 10.0060888641 5.6793514850 region=mol0
O 6.7657733210 7.3562284329 7.6661104632 region=mol0
H 6.2172162413 8.1381085687 7.9386357927 region=mol0
H 6.9771139595 6.6872988280 8.3800559698 region=mol0
O 3.0652669342 6.8533765369 0.2891335648 region=mol0
H 2.3922262472 6.4386947915 10.9908945513 region=mol0
H 3.4923218912 6.0766028527 0.7580986071 region=mol0
O 8.0454923801 9.6188895421 9.2485015419 region=mol0
H 8.6709364349 9.5027490269 9.9921650384 region=mol0
H 7.8556440156 10.6011618663 9.2584216000 region=mol0
O 4.6341463295 10.8218558691 9.7128531995 region=mol0
H 4.3444882461 10.7235218757 10.6624569162 region=mol0
H 4.2857850515 10.0087830606 9.3273021663 region=mol0
O 0.3974172500 10.1233659149 6.2433867201 region=mol0
H 1.0402807948 9.7684586165 5.5554216294 region=mol0
H 0.4795164444 -0.1904756624 6.1966190389 region=mol0
O 8.7125277036 9.2910512007 2.4130732974 region=mol0
H 9.0826352271 10.1151333218 1.9382617227 region=mol0
H 7.7800375810 9.5177551641 2.4891406741 region=mol0
O 2.1834447818 1.9643855319 8.7320340410 region=mol0
H 2.8176706384 1.8254861669 9.4543818339 region=mol0
H 1.3940485836 2.1870871599 9.2275320915 region=mol0
O 4.7634645739 2.4619549051 2.7946457603 region=mol0
H 5.2005772532 1.6037329748 2.4696196281 region=mol0
H 5.4648603535 3.0682681640 3.1604048542 region=mol0
O 5.2106522963 5.4189182471 6.8084143089 region=mol0
H 5.8670358508 4.7528489716 7.1646639943 region=mol0
H 5.6046605844 6.3223367634 7.0559528066 region=mol0
O 9.1939716107 4.6045648342 1.7057252679 region=mol0
H 9.9165118827 4.8021369547 2.3359756289 region=mol0
H 8.8334280538 5.5053046584 1.5334092181 region=mol0
O 7.8052239595 6.8459461429 1.4543054288 region=mol0
H 7.3383959442 7.3219392548 0.7690882398 region=mol0
H 8.5058641159 7.5244252255 1.7153226502 region=mol0
O 6.9908370660 1.1511312824 9.5773310697 region=mol0
H 7.5973568624 1.3781347314 10.3470654533 region=mol0
H 6.2394571763 0.5946063673 9.8942315781 region=mol0
O 2.6133509662 9.5367813171 11.3010153702 region=mol0
H 1.8678157185 10.1108049034 0.1994787174 region=mol0
H 2.3741092359 8.6172351672 0.1199279562 region=mol0
O 7.3897353020 3.4076055638 4.1483422555 region=mol0
H 7.9940670068 2.9244492738 3.5377227155 region=mol0
H 7.6510061517 3.1576009675 5.0627895375 region=mol0
O 10.3372163463 2.1283123056 8.7991775476 region=mol0
H 10.7135298158 2.8922324132 9.2858002108 region=mol0
H 10.2027045703 2.3471215979 7.8795824565 region=mol0
O 4.4945515960 9.2921222775 7.3665359059 region=mol0
H 3.4956389364 9.4106307390 7.6173583153 region=mol0
H 4.6735821770 10.1351414419 6.8841105479 region=mol0
O 10.6852973910 1.2918276638 5.8032429011 region=mol0
H 0.2560395323 1.8023341502 5.7977142363 region=mol0
H 9.9804755605 1.9914944362 5.7553500331 region=mol0
O 9.7308300361 2.0256137429 2.4282446471 region=mol0
H 9.4691338194 2.9803619465 2.2156900935 region=mol0
H 10.6888264221 2.0426868723 2.3835585530 region=mol0
O 9.1715375723 0.4552361139 0.1141766212 region=mol0
H 9.9646894851 0.1125749541 10.9342300959 region=mol0
H 9.3114024575 0.8572727756 1.0123718128 region=mol0
O 5.2563461178 3.4314300076 10.1734935125 region=mol0
H 4.3588443194 3.5018995577 9.7288474306 region=mol0
H 5.4775983128 2.4959411282 9.9697178881 region=mol0
O 0.5285143099 7.2849662273 9.4598269621 region=mol0
H 0.3352455340 8.1978263421 9.7317246665 region=mol0
H 0.8230285582 7.3589698822 8.5159121426 region=mol0
O 3.7997495471 2.1778319726 5.5522042461 region=mol0
H 4.4921326245 2.0648168741 4.8410263432 region=mol0
H 4.1035896741 2.6448502506 6.3328055106 region=mol0
O 1.3381862062 7.5952322885 6.3255692554 region=mol0
H 2.0848589848 7.0079545688 6.2279891196 region=mol0
H 0.5579858141 7.1883532100 5.9976368798 region=mol0
O 1.1752556473 7.7742466512 2.0871957638 region=mol0
H 2.1778996443 7.6561563801 1.9754545516 region=mol0
H 1.1068942802 8.4506275352 2.8042953941 region=mol0
O 3.2910727996 5.9485483381 8.5132015484 region=mol0
H 3.0472081448 6.8723141644 8.6685802177 region=mol0
H 4.1792680143 5.7080305780 8.1077723644 region=mol0
O 1.6324974836 3.1940722586 3.1595869733 region=mol0
H 0.9707975843 3.8582940141 2.9078152325 region=mol0
H 2.5642157393 3.5039462070 2.9433511231 region=mol0
O 4.3095788912 10.6839402360 1.5416795239 region=mol0
H 3.5133334567 10.2252994165 1.0386350215 region=mol0
H 4.6756155541 9.9365284457 2.0720526552 region=mol0
O 5.9141464760 7.2978928252 10.5132059627 region=mol0
H 4.9385518779 7.4965442795 10.4069599757 region=mol0
H 6.4037318521 8.1400874090 10.3797618760 region=mol0
O 5.8655279091 0.3548198316 6.3633389765 region=mol0
H 5.6542453628 1.2897618546 6.5826575713 region=mol0
H 6.6825288121 0.2499148707 5.7833120031 region=mol0
End
BondOrders
1 2 1.0
1 3 1.0
4 5 1.0
4 6 1.0 1 0 0
7 8 1.0
7 9 1.0
10 11 1.0
10 12 1.0 0 -1 0
13 14 1.0
13 15 1.0
16 17 1.0
16 18 1.0
19 20 1.0
19 21 1.0
22 23 1.0
22 24 1.0
25 26 1.0
25 27 1.0
28 29 1.0
28 30 1.0
31 32 1.0
31 33 1.0
34 35 1.0
34 36 1.0
37 38 1.0
37 39 1.0
40 41 1.0
40 42 1.0
43 44 1.0
43 45 1.0
46 47 1.0 0 0 1
46 48 1.0
49 50 1.0
49 51 1.0
52 53 1.0
52 54 1.0
55 56 1.0 0 1 0
55 57 1.0
58 59 1.0
58 60 1.0
61 62 1.0 0 0 -1
61 63 1.0
64 65 1.0
64 66 1.0
67 68 1.0
67 69 1.0
70 71 1.0
70 72 1.0 0 1 0
73 74 1.0
73 75 1.0
76 77 1.0
76 78 1.0
79 80 1.0
79 81 1.0
82 83 1.0
82 84 1.0
85 86 1.0
85 87 1.0
88 89 1.0
88 90 1.0
91 92 1.0
91 93 1.0
94 95 1.0 0 0 1
94 96 1.0 0 0 1
97 98 1.0
97 99 1.0
100 101 1.0
100 102 1.0
103 104 1.0
103 105 1.0
106 107 1.0 1 0 0
106 108 1.0
109 110 1.0
109 111 1.0
112 113 1.0 0 0 -1
112 114 1.0
115 116 1.0
115 117 1.0
118 119 1.0
118 120 1.0
121 122 1.0
121 123 1.0
124 125 1.0
124 126 1.0
127 128 1.0
127 129 1.0
130 131 1.0
130 132 1.0
133 134 1.0
133 135 1.0
136 137 1.0
136 138 1.0
139 140 1.0
139 141 1.0
142 143 1.0
142 144 1.0
End
Lattice
11.2817834662 0.0000000000 0.0000000000
0.0000000000 11.2817834662 0.0000000000
0.0000000000 0.0000000000 11.2817834662
End
End
Run the simple active learning job¶
job.run(watch=True);
[22.02|10:12:07] JOB sal STARTED
[22.02|10:12:07] Renaming job sal to sal.002
[22.02|10:12:07] JOB sal.002 RUNNING
[22.02|10:12:09] Simple Active Learning 2024.101, Nodes: 1, Procs: 1
[22.02|10:12:11] Composition of main system: H96O48
[22.02|10:12:11] All REFERENCE calculations will be performed with the following ReaxFF engine:
[22.02|10:12:11]
Engine reaxff
forcefield Water2017.ff
EndEngine
[22.02|10:12:11] The following are the settings for the to-be-trained MACHINE LEARNING model:
[22.02|10:12:11]
MachineLearning
Backend M3GNet
CommitteeSize 1
M3GNet
Model UniversalPotential
End
MaxEpochs 300
End
ParallelLevels
End
[22.02|10:12:11] A single model will be trained (no committee).
[22.02|10:12:11] The ACTIVE LEARNING loop will contain 8 steps, using the following schema:
[22.02|10:12:11] Active Learning Step 1: 10 MD Steps (cumulative: 10)
[22.02|10:12:11] Active Learning Step 2: 19 MD Steps (cumulative: 29)
[22.02|10:12:11] Active Learning Step 3: 58 MD Steps (cumulative: 87)
[22.02|10:12:11] Active Learning Step 4: 172 MD Steps (cumulative: 259)
[22.02|10:12:11] Active Learning Step 5: 510 MD Steps (cumulative: 769)
[22.02|10:12:11] Active Learning Step 6: 1510 MD Steps (cumulative: 2279)
[22.02|10:12:11] Active Learning Step 7: 4473 MD Steps (cumulative: 6752)
[22.02|10:12:11] Active Learning Step 8: 13248 MD Steps (cumulative: 20000)
[22.02|10:12:11] Total number of MD Steps: 20000
[22.02|10:12:11] Max attempts per active learning step: 15
[22.02|10:12:11]
[22.02|10:12:11] Tip: create a file called SKIP_STEP to skip an active learning step and move on to the next!
[22.02|10:12:11]
[22.02|10:12:11] Running M3GNet-UP-2022 structure samplers...
[22.02|10:12:11] Running initial_sampler_enhanced_md
[22.02|10:12:32] Running initial_reference_enhanced_md
[22.02|10:12:34] Done!
[22.02|10:12:34] Initial reference data has been created. Storing data in folder: initial_reference_data
[22.02|10:12:34] Running initial ParAMS training in folder: initial_training
[22.02|10:12:38] JOB m3gnet STARTED
[22.02|10:12:38] Starting m3gnet.prerun()
[22.02|10:12:38] m3gnet.prerun() finished
[22.02|10:12:38] JOB m3gnet RUNNING
[22.02|10:12:38] Executing m3gnet.run
[22.02|10:13:05] training_set Optimizer: 001 Epoch: 0 Loss: 0.050981
[22.02|10:13:05] validation_set Optimizer: 001 Epoch: 0 Loss: 0.048436
[22.02|10:13:07] training_set Optimizer: 001 Epoch: 10 Loss: 0.027587
[22.02|10:13:07] validation_set Optimizer: 001 Epoch: 10 Loss: 0.036295
[22.02|10:13:08] training_set Optimizer: 001 Epoch: 20 Loss: 0.018298
[22.02|10:13:08] validation_set Optimizer: 001 Epoch: 20 Loss: 0.031212
[22.02|10:13:09] training_set Optimizer: 001 Epoch: 30 Loss: 0.012385
[22.02|10:13:09] validation_set Optimizer: 001 Epoch: 30 Loss: 0.029071
[22.02|10:13:11] training_set Optimizer: 001 Epoch: 40 Loss: 0.008051
[22.02|10:13:11] validation_set Optimizer: 001 Epoch: 40 Loss: 0.024840
[22.02|10:13:12] training_set Optimizer: 001 Epoch: 50 Loss: 0.005529
[22.02|10:13:12] validation_set Optimizer: 001 Epoch: 50 Loss: 0.020674
[22.02|10:13:14] training_set Optimizer: 001 Epoch: 60 Loss: 0.003920
[22.02|10:13:14] validation_set Optimizer: 001 Epoch: 60 Loss: 0.018257
[22.02|10:13:15] training_set Optimizer: 001 Epoch: 70 Loss: 0.002871
[22.02|10:13:15] validation_set Optimizer: 001 Epoch: 70 Loss: 0.020857
[22.02|10:13:16] training_set Optimizer: 001 Epoch: 80 Loss: 0.002173
[22.02|10:13:16] validation_set Optimizer: 001 Epoch: 80 Loss: 0.015785
[22.02|10:13:18] training_set Optimizer: 001 Epoch: 90 Loss: 0.001765
[22.02|10:13:18] validation_set Optimizer: 001 Epoch: 90 Loss: 0.019991
[22.02|10:13:19] training_set Optimizer: 001 Epoch: 100 Loss: 0.001514
[22.02|10:13:19] validation_set Optimizer: 001 Epoch: 100 Loss: 0.017527
[22.02|10:13:21] training_set Optimizer: 001 Epoch: 110 Loss: 0.001304
[22.02|10:13:21] validation_set Optimizer: 001 Epoch: 110 Loss: 0.020165
[22.02|10:13:22] training_set Optimizer: 001 Epoch: 120 Loss: 0.001139
[22.02|10:13:22] validation_set Optimizer: 001 Epoch: 120 Loss: 0.015130
[22.02|10:13:24] training_set Optimizer: 001 Epoch: 130 Loss: 0.001015
[22.02|10:13:24] validation_set Optimizer: 001 Epoch: 130 Loss: 0.016949
[22.02|10:13:25] training_set Optimizer: 001 Epoch: 140 Loss: 0.000930
[22.02|10:13:25] validation_set Optimizer: 001 Epoch: 140 Loss: 0.015760
[22.02|10:13:26] training_set Optimizer: 001 Epoch: 150 Loss: 0.000839
[22.02|10:13:26] validation_set Optimizer: 001 Epoch: 150 Loss: 0.013017
[22.02|10:13:28] training_set Optimizer: 001 Epoch: 160 Loss: 0.000812
[22.02|10:13:28] validation_set Optimizer: 001 Epoch: 160 Loss: 0.021557
[22.02|10:13:29] training_set Optimizer: 001 Epoch: 170 Loss: 0.000736
[22.02|10:13:29] validation_set Optimizer: 001 Epoch: 170 Loss: 0.016851
[22.02|10:13:31] training_set Optimizer: 001 Epoch: 180 Loss: 0.000666
[22.02|10:13:31] validation_set Optimizer: 001 Epoch: 180 Loss: 0.016886
[22.02|10:13:32] training_set Optimizer: 001 Epoch: 190 Loss: 0.000612
[22.02|10:13:32] validation_set Optimizer: 001 Epoch: 190 Loss: 0.015631
[22.02|10:13:33] training_set Optimizer: 001 Epoch: 200 Loss: 0.000554
[22.02|10:13:33] validation_set Optimizer: 001 Epoch: 200 Loss: 0.015993
[22.02|10:13:35] training_set Optimizer: 001 Epoch: 210 Loss: 0.000548
[22.02|10:13:35] validation_set Optimizer: 001 Epoch: 210 Loss: 0.014056
[22.02|10:13:36] training_set Optimizer: 001 Epoch: 220 Loss: 0.000487
[22.02|10:13:36] validation_set Optimizer: 001 Epoch: 220 Loss: 0.011589
[22.02|10:13:38] training_set Optimizer: 001 Epoch: 230 Loss: 0.000461
[22.02|10:13:38] validation_set Optimizer: 001 Epoch: 230 Loss: 0.011159
[22.02|10:13:39] training_set Optimizer: 001 Epoch: 240 Loss: 0.000444
[22.02|10:13:39] validation_set Optimizer: 001 Epoch: 240 Loss: 0.015881
[22.02|10:13:41] training_set Optimizer: 001 Epoch: 250 Loss: 0.000444
[22.02|10:13:41] validation_set Optimizer: 001 Epoch: 250 Loss: 0.021618
[22.02|10:13:42] training_set Optimizer: 001 Epoch: 260 Loss: 0.000449
[22.02|10:13:42] validation_set Optimizer: 001 Epoch: 260 Loss: 0.012748
[22.02|10:13:43] training_set Optimizer: 001 Epoch: 270 Loss: 0.000383
[22.02|10:13:43] validation_set Optimizer: 001 Epoch: 270 Loss: 0.015571
[22.02|10:13:45] training_set Optimizer: 001 Epoch: 280 Loss: 0.000369
[22.02|10:13:45] validation_set Optimizer: 001 Epoch: 280 Loss: 0.013061
[22.02|10:13:46] training_set Optimizer: 001 Epoch: 290 Loss: 0.000348
[22.02|10:13:46] validation_set Optimizer: 001 Epoch: 290 Loss: 0.011901
[22.02|10:13:48] Execution of m3gnet.run finished with returncode 0
[22.02|10:13:49] JOB m3gnet FINISHED
[22.02|10:13:49] Starting m3gnet.postrun()
[22.02|10:13:49] m3gnet.postrun() finished
[22.02|10:13:49] JOB m3gnet SUCCESSFUL
[22.02|10:14:02] Running all jobs through AMS....
[22.02|10:14:02] Storing results/optimization/training_set_results/best
[22.02|10:14:02] Storing results/optimization/validation_set_results/best
[22.02|10:14:02] PLAMS environment cleaned up successfully
[22.02|10:14:02] PLAMS run finished. Goodbye
[22.02|10:14:03] Initial model has been trained!
[22.02|10:14:03] ParAMSResults training_set validation_set
[22.02|10:14:03] energy MAE 0.1720 0.1230 eV
[22.02|10:14:03] forces MAE 0.0475 0.1148 eV/angstrom
[22.02|10:14:03]
[22.02|10:14:03] Starting active learning loop...
[22.02|10:14:03] ##########################
[22.02|10:14:03] ### Step 1 / Attempt 1 ###
[22.02|10:14:03] ##########################
[22.02|10:14:03] MD Steps: 10 (cumulative: 10)
[22.02|10:14:03] Current engine settings:
[22.02|10:14:03]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/sal.002/initial_training/results/optimization/m3gnet/m3gnet
EndEngine
[22.02|10:14:03] Running step1_attempt1_simulation...
[22.02|10:14:16] Job step1_attempt1_simulation finished
[22.02|10:14:16] Deleting files that are no longer needed...
[22.02|10:14:16] Launching reference calculation
[22.02|10:14:18] Reference calculation finished!
[22.02|10:14:18] Checking success for step1_attempt1
[22.02|10:14:18] CheckEnergy: Checking energy for MDStep10, n_atoms = 144
[22.02|10:14:18] CheckEnergy: normalization coefficient = 144
[22.02|10:14:18] CheckEnergy: Actual Threshold
[22.02|10:14:18] CheckEnergy: dE/144 0.0018 0.2000 OK!
[22.02|10:14:18]
[22.02|10:14:18] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[22.02|10:14:18] CheckForces: ------------
[22.02|10:14:18] CheckForces: Reference job from step1_attempt1_reference_calc1
[22.02|10:14:18] CheckForces: Prediction job from final frame (MDStep10) of step1_attempt1_simulation
[22.02|10:14:18] CheckForces: ------------
[22.02|10:14:18] CheckForces: Histogram of forces
[22.02|10:14:18] CheckForces: eV/Ang Ref Pred
[22.02|10:14:18] CheckForces: -5 0 0
[22.02|10:14:18] CheckForces: -4 1 1
[22.02|10:14:18] CheckForces: -3 1 0
[22.02|10:14:18] CheckForces: -2 31 31
[22.02|10:14:18] CheckForces: -1 185 181
[22.02|10:14:18] CheckForces: 0 184 193
[22.02|10:14:18] CheckForces: 1 27 23
[22.02|10:14:18] CheckForces: 2 2 2
[22.02|10:14:18] CheckForces: 3 1 1
[22.02|10:14:18] CheckForces: 4 0 0
[22.02|10:14:18] CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[22.02|10:14:18] CheckForces: Force components with an error exceeding the threshold:
[22.02|10:14:18] CheckForces: Ref Pred Delta Threshold
[22.02|10:14:18] CheckForces: -0.20 0.16 0.37 0.36
[22.02|10:14:18] CheckForces: Maximum deviation: 0.365 eV/angstrom
[22.02|10:14:18] CheckForces: Actual Threshold
[22.02|10:14:18] CheckForces: # > thr. 1 0 Not OK!
[22.02|10:14:18] CheckForces: MAE 0.070 0.30 OK!
[22.02|10:14:18] CheckForces: R^2 0.984 0.80 OK!
[22.02|10:14:18] CheckForces: --------------------
[22.02|10:14:18]
[22.02|10:14:18] Adding results from step1_attempt1_reference_calc1 to training set
[22.02|10:14:18] Current # training set entries: 5
[22.02|10:14:18] Current # validation set entries: 1
[22.02|10:14:18] Storing data in step1_attempt1_reference_data
[22.02|10:14:18] Deleting initial_reference_data
[22.02|10:14:18] Deleting step1_attempt1_reference_calc1
[22.02|10:14:18]
[22.02|10:14:18] Current (cumulative) timings:
[22.02|10:14:18] Time (s) Fraction
[22.02|10:14:18] Ref. calcs 24.09 0.191
[22.02|10:14:18] ML training 88.50 0.702
[22.02|10:14:18] Simulations 13.42 0.106
[22.02|10:14:18]
[22.02|10:14:18]
[22.02|10:14:18]
[22.02|10:14:18] --- Begin summary ---
[22.02|10:14:18] Step Attempt Status Reason finalframe_forces_max_delta
[22.02|10:14:18] 1 1 FAILED Inaccurate 0.3655
[22.02|10:14:18] --- End summary ---
[22.02|10:14:18]
[22.02|10:14:18] Running more reference calculations....
[22.02|10:14:18] Running reference calculations on frames [6] from step1_attempt1_simulation/ams.rkf
[22.02|10:14:18] Calculating 1 frames in total
[22.02|10:14:18] Running step1_attempt1_reference_calc2
[22.02|10:14:19] Reference calculations finished!
[22.02|10:14:19] Adding results from step1_attempt1_reference_calc2 to validation set
[22.02|10:14:19] Current # training set entries: 5
[22.02|10:14:19] Current # validation set entries: 2
[22.02|10:14:19] Storing data in step1_attempt1_reference_data
[22.02|10:14:19] Deleting step1_attempt1_reference_calc2
[22.02|10:14:19] Launching reparametrization job: step1_attempt1_training
[22.02|10:14:23] JOB m3gnet STARTED
[22.02|10:14:23] Starting m3gnet.prerun()
[22.02|10:14:23] m3gnet.prerun() finished
[22.02|10:14:23] JOB m3gnet RUNNING
[22.02|10:14:23] Executing m3gnet.run
[22.02|10:14:51] training_set Optimizer: 001 Epoch: 0 Loss: 0.000445
[22.02|10:14:51] validation_set Optimizer: 001 Epoch: 0 Loss: 0.186209
[22.02|10:14:53] training_set Optimizer: 001 Epoch: 10 Loss: 0.006803
[22.02|10:14:53] validation_set Optimizer: 001 Epoch: 10 Loss: 0.080131
[22.02|10:14:54] training_set Optimizer: 001 Epoch: 20 Loss: 0.002002
[22.02|10:14:54] validation_set Optimizer: 001 Epoch: 20 Loss: 0.012343
[22.02|10:14:56] training_set Optimizer: 001 Epoch: 30 Loss: 0.001448
[22.02|10:14:56] validation_set Optimizer: 001 Epoch: 30 Loss: 0.023333
[22.02|10:14:58] training_set Optimizer: 001 Epoch: 40 Loss: 0.000694
[22.02|10:14:58] validation_set Optimizer: 001 Epoch: 40 Loss: 0.011820
[22.02|10:15:00] training_set Optimizer: 001 Epoch: 50 Loss: 0.000636
[22.02|10:15:00] validation_set Optimizer: 001 Epoch: 50 Loss: 0.008625
[22.02|10:15:01] training_set Optimizer: 001 Epoch: 60 Loss: 0.000502
[22.02|10:15:01] validation_set Optimizer: 001 Epoch: 60 Loss: 0.009943
[22.02|10:15:03] training_set Optimizer: 001 Epoch: 70 Loss: 0.000454
[22.02|10:15:03] validation_set Optimizer: 001 Epoch: 70 Loss: 0.010416
[22.02|10:15:05] training_set Optimizer: 001 Epoch: 80 Loss: 0.000425
[22.02|10:15:05] validation_set Optimizer: 001 Epoch: 80 Loss: 0.009596
[22.02|10:15:07] training_set Optimizer: 001 Epoch: 90 Loss: 0.000407
[22.02|10:15:07] validation_set Optimizer: 001 Epoch: 90 Loss: 0.008762
[22.02|10:15:08] training_set Optimizer: 001 Epoch: 100 Loss: 0.000395
[22.02|10:15:08] validation_set Optimizer: 001 Epoch: 100 Loss: 0.008305
[22.02|10:15:10] training_set Optimizer: 001 Epoch: 110 Loss: 0.000386
[22.02|10:15:10] validation_set Optimizer: 001 Epoch: 110 Loss: 0.008261
[22.02|10:15:12] training_set Optimizer: 001 Epoch: 120 Loss: 0.000378
[22.02|10:15:12] validation_set Optimizer: 001 Epoch: 120 Loss: 0.008219
[22.02|10:15:14] training_set Optimizer: 001 Epoch: 130 Loss: 0.000372
[22.02|10:15:14] validation_set Optimizer: 001 Epoch: 130 Loss: 0.008175
[22.02|10:15:15] training_set Optimizer: 001 Epoch: 140 Loss: 0.000365
[22.02|10:15:15] validation_set Optimizer: 001 Epoch: 140 Loss: 0.008134
[22.02|10:15:17] training_set Optimizer: 001 Epoch: 150 Loss: 0.000360
[22.02|10:15:17] validation_set Optimizer: 001 Epoch: 150 Loss: 0.008104
[22.02|10:15:19] training_set Optimizer: 001 Epoch: 160 Loss: 0.000354
[22.02|10:15:19] validation_set Optimizer: 001 Epoch: 160 Loss: 0.008069
[22.02|10:15:21] training_set Optimizer: 001 Epoch: 170 Loss: 0.000349
[22.02|10:15:21] validation_set Optimizer: 001 Epoch: 170 Loss: 0.008033
[22.02|10:15:22] training_set Optimizer: 001 Epoch: 180 Loss: 0.000344
[22.02|10:15:22] validation_set Optimizer: 001 Epoch: 180 Loss: 0.008000
[22.02|10:15:24] training_set Optimizer: 001 Epoch: 190 Loss: 0.000339
[22.02|10:15:24] validation_set Optimizer: 001 Epoch: 190 Loss: 0.007970
[22.02|10:15:26] training_set Optimizer: 001 Epoch: 200 Loss: 0.000335
[22.02|10:15:26] validation_set Optimizer: 001 Epoch: 200 Loss: 0.007940
[22.02|10:15:28] training_set Optimizer: 001 Epoch: 210 Loss: 0.000330
[22.02|10:15:28] validation_set Optimizer: 001 Epoch: 210 Loss: 0.007911
[22.02|10:15:29] training_set Optimizer: 001 Epoch: 220 Loss: 0.000326
[22.02|10:15:29] validation_set Optimizer: 001 Epoch: 220 Loss: 0.007882
[22.02|10:15:31] training_set Optimizer: 001 Epoch: 230 Loss: 0.000321
[22.02|10:15:31] validation_set Optimizer: 001 Epoch: 230 Loss: 0.007854
[22.02|10:15:33] training_set Optimizer: 001 Epoch: 240 Loss: 0.000317
[22.02|10:15:33] validation_set Optimizer: 001 Epoch: 240 Loss: 0.007826
[22.02|10:15:35] training_set Optimizer: 001 Epoch: 250 Loss: 0.000313
[22.02|10:15:35] validation_set Optimizer: 001 Epoch: 250 Loss: 0.007799
[22.02|10:15:37] training_set Optimizer: 001 Epoch: 260 Loss: 0.000308
[22.02|10:15:37] validation_set Optimizer: 001 Epoch: 260 Loss: 0.007772
[22.02|10:15:38] training_set Optimizer: 001 Epoch: 270 Loss: 0.000304
[22.02|10:15:38] validation_set Optimizer: 001 Epoch: 270 Loss: 0.007746
[22.02|10:15:40] training_set Optimizer: 001 Epoch: 280 Loss: 0.000300
[22.02|10:15:40] validation_set Optimizer: 001 Epoch: 280 Loss: 0.007721
[22.02|10:15:42] training_set Optimizer: 001 Epoch: 290 Loss: 0.000296
[22.02|10:15:42] validation_set Optimizer: 001 Epoch: 290 Loss: 0.007698
[22.02|10:15:44] Execution of m3gnet.run finished with returncode 0
[22.02|10:15:44] JOB m3gnet FINISHED
[22.02|10:15:44] Starting m3gnet.postrun()
[22.02|10:15:44] m3gnet.postrun() finished
[22.02|10:15:44] JOB m3gnet SUCCESSFUL
[22.02|10:15:58] Running all jobs through AMS....
[22.02|10:15:58] Storing results/optimization/training_set_results/best
[22.02|10:15:58] Storing results/optimization/validation_set_results/best
[22.02|10:15:58] PLAMS environment cleaned up successfully
[22.02|10:15:58] PLAMS run finished. Goodbye
[22.02|10:15:58] ParAMSResults training_set validation_set
[22.02|10:15:58] energy MAE 0.0777 0.0507 eV
[22.02|10:15:58] forces MAE 0.0445 0.0806 eV/angstrom
[22.02|10:15:58] Newly created parameter file/dir: step1_attempt1_training/results/optimization/m3gnet/m3gnet
[22.02|10:15:58] Done!
[22.02|10:15:58] Deleting initial_training
[22.02|10:15:58] ##########################
[22.02|10:15:58] ### Step 1 / Attempt 2 ###
[22.02|10:15:58] ##########################
[22.02|10:15:58] MD Steps: 10 (cumulative: 10)
[22.02|10:15:58] Current engine settings:
[22.02|10:15:58]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/sal.002/step1_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[22.02|10:15:58] Running step1_attempt2_simulation...
[22.02|10:16:12] Job step1_attempt2_simulation finished
[22.02|10:16:12] Deleting files that are no longer needed...
[22.02|10:16:12] Launching reference calculation
[22.02|10:16:14] Reference calculation finished!
[22.02|10:16:14] Checking success for step1_attempt2
[22.02|10:16:24] CheckEnergy: Checking energy for MDStep10, n_atoms = 144
[22.02|10:16:24] CheckEnergy: normalization coefficient = 144
[22.02|10:16:24] CheckEnergy: Actual Threshold
[22.02|10:16:24] CheckEnergy: dE/144 -0.0002 0.2000 OK!
[22.02|10:16:24] CheckEnergy: ddE/144 -0.0002 0.0030 OK! (relative to step1_attempt1_simulation:MDStep10)
[22.02|10:16:24]
[22.02|10:16:24] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[22.02|10:16:24] CheckForces: ------------
[22.02|10:16:24] CheckForces: Reference job from step1_attempt2_reference_calc1
[22.02|10:16:24] CheckForces: Prediction job from final frame (MDStep10) of step1_attempt2_simulation
[22.02|10:16:24] CheckForces: ------------
[22.02|10:16:24] CheckForces: Histogram of forces
[22.02|10:16:24] CheckForces: eV/Ang Ref Pred
[22.02|10:16:24] CheckForces: -4 0 0
[22.02|10:16:24] CheckForces: -3 2 1
[22.02|10:16:24] CheckForces: -2 32 33
[22.02|10:16:24] CheckForces: -1 184 184
[22.02|10:16:24] CheckForces: 0 182 182
[22.02|10:16:24] CheckForces: 1 30 29
[22.02|10:16:24] CheckForces: 2 2 3
[22.02|10:16:24] CheckForces: 3 0 0
[22.02|10:16:24] CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[22.02|10:16:24] CheckForces: All force components are within the acceptable error!
[22.02|10:16:24] CheckForces: Maximum deviation: 0.450 eV/angstrom
[22.02|10:16:24] CheckForces: Actual Threshold
[22.02|10:16:24] CheckForces: # > thr. 0 0 OK!
[22.02|10:16:24] CheckForces: MAE 0.062 0.30 OK!
[22.02|10:16:24] CheckForces: R^2 0.987 0.80 OK!
[22.02|10:16:24] CheckForces: --------------------
[22.02|10:16:24]
[22.02|10:16:24] Adding results from step1_attempt2_reference_calc1 to validation set
[22.02|10:16:24] Current # training set entries: 5
[22.02|10:16:24] Current # validation set entries: 3
[22.02|10:16:24] Storing data in step1_attempt2_reference_data
[22.02|10:16:24] Deleting step1_attempt1_reference_data
[22.02|10:16:24] Deleting step1_attempt2_reference_calc1
[22.02|10:16:24]
[22.02|10:16:24] Current (cumulative) timings:
[22.02|10:16:24] Time (s) Fraction
[22.02|10:16:24] Ref. calcs 27.48 0.114
[22.02|10:16:24] ML training 187.72 0.776
[22.02|10:16:24] Simulations 26.75 0.111
[22.02|10:16:24]
[22.02|10:16:24]
[22.02|10:16:24] Step 1 finished successfully!
[22.02|10:16:24]
[22.02|10:16:24] --- Begin summary ---
[22.02|10:16:24] Step Attempt Status Reason finalframe_forces_max_delta
[22.02|10:16:24] 1 1 FAILED Inaccurate 0.3655
[22.02|10:16:24] 1 2 SUCCESS Accurate 0.4497
[22.02|10:16:24] --- End summary ---
[22.02|10:16:24]
[22.02|10:16:24] ##########################
[22.02|10:16:24] ### Step 2 / Attempt 1 ###
[22.02|10:16:24] ##########################
[22.02|10:16:24] MD Steps: 19 (cumulative: 29)
[22.02|10:16:24] Current engine settings:
[22.02|10:16:24]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/sal.002/step1_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[22.02|10:16:24] Running step2_attempt1_simulation...
[22.02|10:16:38] Job step2_attempt1_simulation finished
[22.02|10:16:38] Deleting files that are no longer needed...
[22.02|10:16:38] Deleting step1_attempt1_simulation
[22.02|10:16:38] Launching reference calculation
[22.02|10:16:40] Reference calculation finished!
[22.02|10:16:40] Checking success for step2_attempt1
[22.02|10:16:50] CheckEnergy: Checking energy for MDStep29, n_atoms = 144
[22.02|10:16:50] CheckEnergy: normalization coefficient = 144
[22.02|10:16:50] CheckEnergy: Actual Threshold
[22.02|10:16:50] CheckEnergy: dE/144 -0.0009 0.2000 OK!
[22.02|10:16:50] CheckEnergy: ddE/144 -0.0007 0.0030 OK! (relative to step1_attempt2_simulation:MDStep10)
[22.02|10:16:50]
[22.02|10:16:50] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[22.02|10:16:50] CheckForces: ------------
[22.02|10:16:50] CheckForces: Reference job from step2_attempt1_reference_calc1
[22.02|10:16:50] CheckForces: Prediction job from final frame (MDStep29) of step2_attempt1_simulation
[22.02|10:16:50] CheckForces: ------------
[22.02|10:16:50] CheckForces: Histogram of forces
[22.02|10:16:50] CheckForces: eV/Ang Ref Pred
[22.02|10:16:50] CheckForces: -4 0 0
[22.02|10:16:50] CheckForces: -3 3 3
[22.02|10:16:50] CheckForces: -2 33 28
[22.02|10:16:50] CheckForces: -1 188 193
[22.02|10:16:50] CheckForces: 0 172 173
[22.02|10:16:50] CheckForces: 1 31 30
[22.02|10:16:50] CheckForces: 2 5 4
[22.02|10:16:50] CheckForces: 3 0 1
[22.02|10:16:50] CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[22.02|10:16:50] CheckForces: All force components are within the acceptable error!
[22.02|10:16:50] CheckForces: Maximum deviation: 0.289 eV/angstrom
[22.02|10:16:50] CheckForces: Actual Threshold
[22.02|10:16:50] CheckForces: # > thr. 0 0 OK!
[22.02|10:16:50] CheckForces: MAE 0.068 0.30 OK!
[22.02|10:16:50] CheckForces: R^2 0.987 0.80 OK!
[22.02|10:16:50] CheckForces: --------------------
[22.02|10:16:50]
[22.02|10:16:50] Adding results from step2_attempt1_reference_calc1 to validation set
[22.02|10:16:50] Current # training set entries: 5
[22.02|10:16:50] Current # validation set entries: 4
[22.02|10:16:50] Storing data in step2_attempt1_reference_data
[22.02|10:16:50] Deleting step1_attempt2_reference_data
[22.02|10:16:50] Deleting step2_attempt1_reference_calc1
[22.02|10:16:50]
[22.02|10:16:50] Current (cumulative) timings:
[22.02|10:16:50] Time (s) Fraction
[22.02|10:16:50] Ref. calcs 28.64 0.112
[22.02|10:16:50] ML training 187.72 0.731
[22.02|10:16:50] Simulations 40.44 0.157
[22.02|10:16:50]
[22.02|10:16:50]
[22.02|10:16:50] Step 2 finished successfully!
[22.02|10:16:50]
[22.02|10:16:50] --- Begin summary ---
[22.02|10:16:50] Step Attempt Status Reason finalframe_forces_max_delta
[22.02|10:16:50] 1 1 FAILED Inaccurate 0.3655
[22.02|10:16:50] 1 2 SUCCESS Accurate 0.4497
[22.02|10:16:50] 2 1 SUCCESS Accurate 0.2893
[22.02|10:16:50] --- End summary ---
[22.02|10:16:50]
[22.02|10:16:50] ##########################
[22.02|10:16:50] ### Step 3 / Attempt 1 ###
[22.02|10:16:50] ##########################
[22.02|10:16:50] MD Steps: 58 (cumulative: 87)
[22.02|10:16:50] Current engine settings:
[22.02|10:16:50]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/sal.002/step1_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[22.02|10:16:50] Running step3_attempt1_simulation...
[22.02|10:17:08] Job step3_attempt1_simulation finished
[22.02|10:17:08] Deleting files that are no longer needed...
[22.02|10:17:08] Deleting step1_attempt2_simulation
[22.02|10:17:08] Launching reference calculation
[22.02|10:17:10] Reference calculation finished!
[22.02|10:17:10] Checking success for step3_attempt1
[22.02|10:17:20] CheckEnergy: Checking energy for MDStep87, n_atoms = 144
[22.02|10:17:20] CheckEnergy: normalization coefficient = 144
[22.02|10:17:20] CheckEnergy: Actual Threshold
[22.02|10:17:20] CheckEnergy: dE/144 -0.0001 0.2000 OK!
[22.02|10:17:20] CheckEnergy: ddE/144 0.0008 0.0030 OK! (relative to step2_attempt1_simulation:MDStep29)
[22.02|10:17:20]
[22.02|10:17:20] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[22.02|10:17:20] CheckForces: ------------
[22.02|10:17:20] CheckForces: Reference job from step3_attempt1_reference_calc1
[22.02|10:17:20] CheckForces: Prediction job from final frame (MDStep87) of step3_attempt1_simulation
[22.02|10:17:20] CheckForces: ------------
[22.02|10:17:20] CheckForces: Histogram of forces
[22.02|10:17:20] CheckForces: eV/Ang Ref Pred
[22.02|10:17:20] CheckForces: -4 0 0
[22.02|10:17:20] CheckForces: -3 3 3
[22.02|10:17:20] CheckForces: -2 27 26
[22.02|10:17:20] CheckForces: -1 191 185
[22.02|10:17:20] CheckForces: 0 181 185
[22.02|10:17:20] CheckForces: 1 28 30
[22.02|10:17:20] CheckForces: 2 2 3
[22.02|10:17:20] CheckForces: 3 0 0
[22.02|10:17:20] CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[22.02|10:17:20] CheckForces: All force components are within the acceptable error!
[22.02|10:17:20] CheckForces: Maximum deviation: 0.348 eV/angstrom
[22.02|10:17:20] CheckForces: Actual Threshold
[22.02|10:17:20] CheckForces: # > thr. 0 0 OK!
[22.02|10:17:20] CheckForces: MAE 0.062 0.30 OK!
[22.02|10:17:20] CheckForces: R^2 0.987 0.80 OK!
[22.02|10:17:20] CheckForces: --------------------
[22.02|10:17:20]
[22.02|10:17:20] Adding results from step3_attempt1_reference_calc1 to validation set
[22.02|10:17:20] Current # training set entries: 5
[22.02|10:17:20] Current # validation set entries: 5
[22.02|10:17:20] Storing data in step3_attempt1_reference_data
[22.02|10:17:20] Deleting step2_attempt1_reference_data
[22.02|10:17:20] Deleting step3_attempt1_reference_calc1
[22.02|10:17:20]
[22.02|10:17:20] Current (cumulative) timings:
[22.02|10:17:20] Time (s) Fraction
[22.02|10:17:20] Ref. calcs 30.30 0.110
[22.02|10:17:20] ML training 187.72 0.680
[22.02|10:17:20] Simulations 58.11 0.210
[22.02|10:17:20]
[22.02|10:17:20]
[22.02|10:17:20] Step 3 finished successfully!
[22.02|10:17:20]
[22.02|10:17:20] --- Begin summary ---
[22.02|10:17:20] Step Attempt Status Reason finalframe_forces_max_delta
[22.02|10:17:20] 1 1 FAILED Inaccurate 0.3655
[22.02|10:17:20] 1 2 SUCCESS Accurate 0.4497
[22.02|10:17:20] 2 1 SUCCESS Accurate 0.2893
[22.02|10:17:20] 3 1 SUCCESS Accurate 0.3478
[22.02|10:17:20] --- End summary ---
[22.02|10:17:20]
[22.02|10:17:20] ##########################
[22.02|10:17:20] ### Step 4 / Attempt 1 ###
[22.02|10:17:20] ##########################
[22.02|10:17:20] MD Steps: 172 (cumulative: 259)
[22.02|10:17:20] Current engine settings:
[22.02|10:17:20]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/sal.002/step1_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[22.02|10:17:20] Running step4_attempt1_simulation...
[22.02|10:17:38] Job step4_attempt1_simulation finished
[22.02|10:17:38] Deleting files that are no longer needed...
[22.02|10:17:38] Deleting step2_attempt1_simulation
[22.02|10:17:38] Launching reference calculation
[22.02|10:17:39] Reference calculation finished!
[22.02|10:17:39] Checking success for step4_attempt1
[22.02|10:17:49] CheckEnergy: Checking energy for MDStep259, n_atoms = 144
[22.02|10:17:49] CheckEnergy: normalization coefficient = 144
[22.02|10:17:49] CheckEnergy: Actual Threshold
[22.02|10:17:49] CheckEnergy: dE/144 -0.0026 0.2000 OK!
[22.02|10:17:49] CheckEnergy: ddE/144 -0.0026 0.0030 OK! (relative to step3_attempt1_simulation:MDStep87)
[22.02|10:17:49]
[22.02|10:17:49] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[22.02|10:17:49] CheckForces: ------------
[22.02|10:17:49] CheckForces: Reference job from step4_attempt1_reference_calc1
[22.02|10:17:49] CheckForces: Prediction job from final frame (MDStep259) of step4_attempt1_simulation
[22.02|10:17:49] CheckForces: ------------
[22.02|10:17:49] CheckForces: Histogram of forces
[22.02|10:17:49] CheckForces: eV/Ang Ref Pred
[22.02|10:17:49] CheckForces: -3 3 4
[22.02|10:17:49] CheckForces: -2 46 44
[22.02|10:17:49] CheckForces: -1 151 157
[22.02|10:17:49] CheckForces: 0 190 186
[22.02|10:17:49] CheckForces: 1 38 39
[22.02|10:17:49] CheckForces: 2 4 2
[22.02|10:17:49] CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[22.02|10:17:49] CheckForces: Force components with an error exceeding the threshold:
[22.02|10:17:49] CheckForces: Ref Pred Delta Threshold
[22.02|10:17:49] CheckForces: 0.87 0.46 0.41 0.40
[22.02|10:17:49] CheckForces: Maximum deviation: 0.407 eV/angstrom
[22.02|10:17:49] CheckForces: Actual Threshold
[22.02|10:17:49] CheckForces: # > thr. 1 0 Not OK!
[22.02|10:17:49] CheckForces: MAE 0.066 0.30 OK!
[22.02|10:17:49] CheckForces: R^2 0.988 0.80 OK!
[22.02|10:17:49] CheckForces: --------------------
[22.02|10:17:49]
[22.02|10:17:49] Adding results from step4_attempt1_reference_calc1 to training set
[22.02|10:17:49] Current # training set entries: 6
[22.02|10:17:49] Current # validation set entries: 5
[22.02|10:17:49] Storing data in step4_attempt1_reference_data
[22.02|10:17:50] Deleting step3_attempt1_reference_data
[22.02|10:17:50] Deleting step4_attempt1_reference_calc1
[22.02|10:17:50]
[22.02|10:17:50] Current (cumulative) timings:
[22.02|10:17:50] Time (s) Fraction
[22.02|10:17:50] Ref. calcs 31.44 0.107
[22.02|10:17:50] ML training 187.72 0.636
[22.02|10:17:50] Simulations 75.88 0.257
[22.02|10:17:50]
[22.02|10:17:50]
[22.02|10:17:50]
[22.02|10:17:50] --- Begin summary ---
[22.02|10:17:50] Step Attempt Status Reason finalframe_forces_max_delta
[22.02|10:17:50] 1 1 FAILED Inaccurate 0.3655
[22.02|10:17:50] 1 2 SUCCESS Accurate 0.4497
[22.02|10:17:50] 2 1 SUCCESS Accurate 0.2893
[22.02|10:17:50] 3 1 SUCCESS Accurate 0.3478
[22.02|10:17:50] 4 1 FAILED Inaccurate 0.4066
[22.02|10:17:50] --- End summary ---
[22.02|10:17:50]
[22.02|10:17:50] Running more reference calculations....
[22.02|10:17:50] Running reference calculations on frames [47, 49, 52] from step4_attempt1_simulation/ams.rkf
[22.02|10:17:50] Calculating 3 frames in total
[22.02|10:17:50] Running step4_attempt1_reference_calc2
[22.02|10:17:51] Running step4_attempt1_reference_calc3
[22.02|10:17:52] Running step4_attempt1_reference_calc4
[22.02|10:17:54] Reference calculations finished!
[22.02|10:17:54] Adding results from step4_attempt1_reference_calc2 to validation set
[22.02|10:17:54] Adding results from step4_attempt1_reference_calc3 to training set
[22.02|10:17:54] Adding results from step4_attempt1_reference_calc4 to training set
[22.02|10:17:54] Current # training set entries: 8
[22.02|10:17:54] Current # validation set entries: 6
[22.02|10:17:54] Storing data in step4_attempt1_reference_data
[22.02|10:17:54] Deleting step4_attempt1_reference_calc2
[22.02|10:17:54] Deleting step4_attempt1_reference_calc3
[22.02|10:17:54] Deleting step4_attempt1_reference_calc4
[22.02|10:17:54] Launching reparametrization job: step4_attempt1_training
[22.02|10:17:58] JOB m3gnet STARTED
[22.02|10:17:58] Starting m3gnet.prerun()
[22.02|10:17:58] m3gnet.prerun() finished
[22.02|10:17:58] JOB m3gnet RUNNING
[22.02|10:17:58] Executing m3gnet.run
[22.02|10:18:45] training_set Optimizer: 001 Epoch: 0 Loss: 0.011639
[22.02|10:18:45] validation_set Optimizer: 001 Epoch: 0 Loss: 0.039009
[22.02|10:18:49] training_set Optimizer: 001 Epoch: 10 Loss: 0.000860
[22.02|10:18:49] validation_set Optimizer: 001 Epoch: 10 Loss: 0.033613
[22.02|10:18:52] training_set Optimizer: 001 Epoch: 20 Loss: 0.000567
[22.02|10:18:52] validation_set Optimizer: 001 Epoch: 20 Loss: 0.015872
[22.02|10:18:56] training_set Optimizer: 001 Epoch: 30 Loss: 0.000469
[22.02|10:18:56] validation_set Optimizer: 001 Epoch: 30 Loss: 0.009318
[22.02|10:18:59] training_set Optimizer: 001 Epoch: 40 Loss: 0.000398
[22.02|10:18:59] validation_set Optimizer: 001 Epoch: 40 Loss: 0.007477
[22.02|10:19:03] training_set Optimizer: 001 Epoch: 50 Loss: 0.000399
[22.02|10:19:03] validation_set Optimizer: 001 Epoch: 50 Loss: 0.006340
[22.02|10:19:06] training_set Optimizer: 001 Epoch: 60 Loss: 0.000381
[22.02|10:19:06] validation_set Optimizer: 001 Epoch: 60 Loss: 0.006127
[22.02|10:19:10] training_set Optimizer: 001 Epoch: 70 Loss: 0.000364
[22.02|10:19:10] validation_set Optimizer: 001 Epoch: 70 Loss: 0.005775
[22.02|10:19:13] training_set Optimizer: 001 Epoch: 80 Loss: 0.000350
[22.02|10:19:13] validation_set Optimizer: 001 Epoch: 80 Loss: 0.005872
[22.02|10:19:17] training_set Optimizer: 001 Epoch: 90 Loss: 0.000340
[22.02|10:19:17] validation_set Optimizer: 001 Epoch: 90 Loss: 0.005895
[22.02|10:19:21] training_set Optimizer: 001 Epoch: 100 Loss: 0.000317
[22.02|10:19:21] validation_set Optimizer: 001 Epoch: 100 Loss: 0.005510
[22.02|10:19:25] training_set Optimizer: 001 Epoch: 110 Loss: 0.000314
[22.02|10:19:25] validation_set Optimizer: 001 Epoch: 110 Loss: 0.005493
[22.02|10:19:28] training_set Optimizer: 001 Epoch: 120 Loss: 0.000311
[22.02|10:19:28] validation_set Optimizer: 001 Epoch: 120 Loss: 0.005458
[22.02|10:19:32] training_set Optimizer: 001 Epoch: 130 Loss: 0.000294
[22.02|10:19:32] validation_set Optimizer: 001 Epoch: 130 Loss: 0.005654
[22.02|10:19:35] training_set Optimizer: 001 Epoch: 140 Loss: 0.000291
[22.02|10:19:35] validation_set Optimizer: 001 Epoch: 140 Loss: 0.005434
[22.02|10:19:39] training_set Optimizer: 001 Epoch: 150 Loss: 0.000280
[22.02|10:19:39] validation_set Optimizer: 001 Epoch: 150 Loss: 0.005775
[22.02|10:19:42] training_set Optimizer: 001 Epoch: 160 Loss: 0.000279
[22.02|10:19:42] validation_set Optimizer: 001 Epoch: 160 Loss: 0.005568
[22.02|10:19:46] training_set Optimizer: 001 Epoch: 170 Loss: 0.000277
[22.02|10:19:46] validation_set Optimizer: 001 Epoch: 170 Loss: 0.005398
[22.02|10:19:50] training_set Optimizer: 001 Epoch: 180 Loss: 0.000271
[22.02|10:19:50] validation_set Optimizer: 001 Epoch: 180 Loss: 0.005413
[22.02|10:19:53] training_set Optimizer: 001 Epoch: 190 Loss: 0.000265
[22.02|10:19:53] validation_set Optimizer: 001 Epoch: 190 Loss: 0.005323
[22.02|10:19:57] training_set Optimizer: 001 Epoch: 200 Loss: 0.000255
[22.02|10:19:57] validation_set Optimizer: 001 Epoch: 200 Loss: 0.005657
[22.02|10:20:00] training_set Optimizer: 001 Epoch: 210 Loss: 0.000252
[22.02|10:20:00] validation_set Optimizer: 001 Epoch: 210 Loss: 0.005557
[22.02|10:20:04] training_set Optimizer: 001 Epoch: 220 Loss: 0.000244
[22.02|10:20:04] validation_set Optimizer: 001 Epoch: 220 Loss: 0.005980
[22.02|10:20:07] training_set Optimizer: 001 Epoch: 230 Loss: 0.000234
[22.02|10:20:07] validation_set Optimizer: 001 Epoch: 230 Loss: 0.005280
[22.02|10:20:11] training_set Optimizer: 001 Epoch: 240 Loss: 0.000235
[22.02|10:20:11] validation_set Optimizer: 001 Epoch: 240 Loss: 0.005609
[22.02|10:20:14] training_set Optimizer: 001 Epoch: 250 Loss: 0.000229
[22.02|10:20:14] validation_set Optimizer: 001 Epoch: 250 Loss: 0.005275
[22.02|10:20:18] training_set Optimizer: 001 Epoch: 260 Loss: 0.000229
[22.02|10:20:18] validation_set Optimizer: 001 Epoch: 260 Loss: 0.005242
[22.02|10:20:21] training_set Optimizer: 001 Epoch: 270 Loss: 0.000222
[22.02|10:20:21] validation_set Optimizer: 001 Epoch: 270 Loss: 0.005470
[22.02|10:20:25] training_set Optimizer: 001 Epoch: 280 Loss: 0.000216
[22.02|10:20:25] validation_set Optimizer: 001 Epoch: 280 Loss: 0.005648
[22.02|10:20:28] training_set Optimizer: 001 Epoch: 290 Loss: 0.000215
[22.02|10:20:28] validation_set Optimizer: 001 Epoch: 290 Loss: 0.006321
[22.02|10:20:33] Execution of m3gnet.run finished with returncode 0
[22.02|10:20:33] JOB m3gnet FINISHED
[22.02|10:20:33] Starting m3gnet.postrun()
[22.02|10:20:33] m3gnet.postrun() finished
[22.02|10:20:34] JOB m3gnet SUCCESSFUL
[22.02|10:20:47] Running all jobs through AMS....
[22.02|10:20:47] Storing results/optimization/training_set_results/best
[22.02|10:20:47] Storing results/optimization/validation_set_results/best
[22.02|10:20:47] PLAMS environment cleaned up successfully
[22.02|10:20:47] PLAMS run finished. Goodbye
[22.02|10:20:48] ParAMSResults training_set validation_set
[22.02|10:20:48] energy MAE 0.0810 0.0653 eV
[22.02|10:20:48] forces MAE 0.0376 0.0575 eV/angstrom
[22.02|10:20:48] Newly created parameter file/dir: step4_attempt1_training/results/optimization/m3gnet/m3gnet
[22.02|10:20:48] Done!
[22.02|10:20:48] Deleting step1_attempt1_training
[22.02|10:20:48] ##########################
[22.02|10:20:48] ### Step 4 / Attempt 2 ###
[22.02|10:20:48] ##########################
[22.02|10:20:48] MD Steps: 172 (cumulative: 259)
[22.02|10:20:48] Current engine settings:
[22.02|10:20:48]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/sal.002/step4_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[22.02|10:20:48] Running step4_attempt2_simulation...
[22.02|10:21:06] Job step4_attempt2_simulation finished
[22.02|10:21:06] Deleting files that are no longer needed...
[22.02|10:21:06] Launching reference calculation
[22.02|10:21:08] Reference calculation finished!
[22.02|10:21:08] Checking success for step4_attempt2
[22.02|10:21:18] CheckEnergy: Checking energy for MDStep259, n_atoms = 144
[22.02|10:21:18] CheckEnergy: normalization coefficient = 144
[22.02|10:21:18] CheckEnergy: Actual Threshold
[22.02|10:21:18] CheckEnergy: dE/144 -0.0005 0.2000 OK!
[22.02|10:21:18] CheckEnergy: ddE/144 0.0005 0.0030 OK! (relative to step4_attempt1_simulation:MDStep259)
[22.02|10:21:18]
[22.02|10:21:18] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[22.02|10:21:18] CheckForces: ------------
[22.02|10:21:18] CheckForces: Reference job from step4_attempt2_reference_calc1
[22.02|10:21:18] CheckForces: Prediction job from final frame (MDStep259) of step4_attempt2_simulation
[22.02|10:21:18] CheckForces: ------------
[22.02|10:21:18] CheckForces: Histogram of forces
[22.02|10:21:18] CheckForces: eV/Ang Ref Pred
[22.02|10:21:18] CheckForces: -4 0 0
[22.02|10:21:18] CheckForces: -3 4 4
[22.02|10:21:18] CheckForces: -2 44 42
[22.02|10:21:18] CheckForces: -1 157 159
[22.02|10:21:18] CheckForces: 0 185 184
[22.02|10:21:18] CheckForces: 1 37 39
[22.02|10:21:18] CheckForces: 2 5 4
[22.02|10:21:18] CheckForces: 3 0 0
[22.02|10:21:18] CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[22.02|10:21:18] CheckForces: All force components are within the acceptable error!
[22.02|10:21:18] CheckForces: Maximum deviation: 0.337 eV/angstrom
[22.02|10:21:18] CheckForces: Actual Threshold
[22.02|10:21:18] CheckForces: # > thr. 0 0 OK!
[22.02|10:21:18] CheckForces: MAE 0.048 0.30 OK!
[22.02|10:21:18] CheckForces: R^2 0.993 0.80 OK!
[22.02|10:21:18] CheckForces: --------------------
[22.02|10:21:18]
[22.02|10:21:18] Adding results from step4_attempt2_reference_calc1 to training set
[22.02|10:21:18] Current # training set entries: 9
[22.02|10:21:18] Current # validation set entries: 6
[22.02|10:21:18] Storing data in step4_attempt2_reference_data
[22.02|10:21:18] Deleting step4_attempt1_reference_data
[22.02|10:21:18] Deleting step4_attempt2_reference_calc1
[22.02|10:21:18]
[22.02|10:21:18] Current (cumulative) timings:
[22.02|10:21:18] Time (s) Fraction
[22.02|10:21:18] Ref. calcs 36.71 0.075
[22.02|10:21:18] ML training 361.62 0.735
[22.02|10:21:18] Simulations 93.59 0.190
[22.02|10:21:18]
[22.02|10:21:18]
[22.02|10:21:18] Step 4 finished successfully!
[22.02|10:21:18]
[22.02|10:21:18] --- Begin summary ---
[22.02|10:21:18] Step Attempt Status Reason finalframe_forces_max_delta
[22.02|10:21:18] 1 1 FAILED Inaccurate 0.3655
[22.02|10:21:18] 1 2 SUCCESS Accurate 0.4497
[22.02|10:21:18] 2 1 SUCCESS Accurate 0.2893
[22.02|10:21:18] 3 1 SUCCESS Accurate 0.3478
[22.02|10:21:18] 4 1 FAILED Inaccurate 0.4066
[22.02|10:21:18] 4 2 SUCCESS Accurate 0.3371
[22.02|10:21:18] --- End summary ---
[22.02|10:21:18]
[22.02|10:21:18] ##########################
[22.02|10:21:18] ### Step 5 / Attempt 1 ###
[22.02|10:21:18] ##########################
[22.02|10:21:18] MD Steps: 510 (cumulative: 769)
[22.02|10:21:18] Current engine settings:
[22.02|10:21:18]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/sal.002/step4_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[22.02|10:21:18] Running step5_attempt1_simulation...
[22.02|10:21:45] Job step5_attempt1_simulation finished
[22.02|10:21:45] Deleting files that are no longer needed...
[22.02|10:21:45] Deleting step3_attempt1_simulation
[22.02|10:21:45] Deleting step4_attempt1_simulation
[22.02|10:21:45] Launching reference calculation
[22.02|10:21:47] Reference calculation finished!
[22.02|10:21:47] Checking success for step5_attempt1
[22.02|10:21:57] CheckEnergy: Checking energy for MDStep769, n_atoms = 144
[22.02|10:21:57] CheckEnergy: normalization coefficient = 144
[22.02|10:21:57] CheckEnergy: Actual Threshold
[22.02|10:21:57] CheckEnergy: dE/144 0.0004 0.2000 OK!
[22.02|10:21:57] CheckEnergy: ddE/144 0.0008 0.0030 OK! (relative to step4_attempt2_simulation:MDStep259)
[22.02|10:21:57]
[22.02|10:21:57] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[22.02|10:21:57] CheckForces: ------------
[22.02|10:21:57] CheckForces: Reference job from step5_attempt1_reference_calc1
[22.02|10:21:57] CheckForces: Prediction job from final frame (MDStep769) of step5_attempt1_simulation
[22.02|10:21:57] CheckForces: ------------
[22.02|10:21:57] CheckForces: Histogram of forces
[22.02|10:21:57] CheckForces: eV/Ang Ref Pred
[22.02|10:21:57] CheckForces: -3 3 3
[22.02|10:21:57] CheckForces: -2 20 21
[22.02|10:21:57] CheckForces: -1 191 189
[22.02|10:21:57] CheckForces: 0 189 189
[22.02|10:21:57] CheckForces: 1 28 29
[22.02|10:21:57] CheckForces: 2 1 1
[22.02|10:21:57] CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[22.02|10:21:57] CheckForces: All force components are within the acceptable error!
[22.02|10:21:57] CheckForces: Maximum deviation: 0.255 eV/angstrom
[22.02|10:21:57] CheckForces: Actual Threshold
[22.02|10:21:57] CheckForces: # > thr. 0 0 OK!
[22.02|10:21:57] CheckForces: MAE 0.051 0.30 OK!
[22.02|10:21:57] CheckForces: R^2 0.990 0.80 OK!
[22.02|10:21:57] CheckForces: --------------------
[22.02|10:21:57]
[22.02|10:21:57] Adding results from step5_attempt1_reference_calc1 to training set
[22.02|10:21:57] Current # training set entries: 10
[22.02|10:21:57] Current # validation set entries: 6
[22.02|10:21:57] Storing data in step5_attempt1_reference_data
[22.02|10:21:57] Deleting step4_attempt2_reference_data
[22.02|10:21:57] Deleting step5_attempt1_reference_calc1
[22.02|10:21:57]
[22.02|10:21:57] Current (cumulative) timings:
[22.02|10:21:57] Time (s) Fraction
[22.02|10:21:57] Ref. calcs 37.78 0.073
[22.02|10:21:57] ML training 361.62 0.696
[22.02|10:21:57] Simulations 120.30 0.231
[22.02|10:21:57]
[22.02|10:21:57]
[22.02|10:21:57] Step 5 finished successfully!
[22.02|10:21:57]
[22.02|10:21:57] --- Begin summary ---
[22.02|10:21:57] Step Attempt Status Reason finalframe_forces_max_delta
[22.02|10:21:57] 1 1 FAILED Inaccurate 0.3655
[22.02|10:21:57] 1 2 SUCCESS Accurate 0.4497
[22.02|10:21:57] 2 1 SUCCESS Accurate 0.2893
[22.02|10:21:57] 3 1 SUCCESS Accurate 0.3478
[22.02|10:21:57] 4 1 FAILED Inaccurate 0.4066
[22.02|10:21:57] 4 2 SUCCESS Accurate 0.3371
[22.02|10:21:57] 5 1 SUCCESS Accurate 0.2552
[22.02|10:21:57] --- End summary ---
[22.02|10:21:57]
[22.02|10:21:57] ##########################
[22.02|10:21:57] ### Step 6 / Attempt 1 ###
[22.02|10:21:57] ##########################
[22.02|10:21:57] MD Steps: 1510 (cumulative: 2279)
[22.02|10:21:57] Current engine settings:
[22.02|10:21:57]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/sal.002/step4_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[22.02|10:21:57] Running step6_attempt1_simulation...
[22.02|10:22:49] Job step6_attempt1_simulation finished
[22.02|10:22:49] Deleting files that are no longer needed...
[22.02|10:22:49] Deleting step4_attempt2_simulation
[22.02|10:22:50] Launching reference calculation
[22.02|10:22:51] Reference calculation finished!
[22.02|10:22:51] Checking success for step6_attempt1
[22.02|10:23:01] CheckEnergy: Checking energy for MDStep2279, n_atoms = 144
[22.02|10:23:01] CheckEnergy: normalization coefficient = 144
[22.02|10:23:01] CheckEnergy: Actual Threshold
[22.02|10:23:01] CheckEnergy: dE/144 -0.0038 0.2000 OK!
[22.02|10:23:01] CheckEnergy: ddE/144 -0.0042 0.0030 Not OK! (relative to step5_attempt1_simulation:MDStep769)
[22.02|10:23:01]
[22.02|10:23:01] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[22.02|10:23:01] CheckForces: ------------
[22.02|10:23:01] CheckForces: Reference job from step6_attempt1_reference_calc1
[22.02|10:23:01] CheckForces: Prediction job from final frame (MDStep2279) of step6_attempt1_simulation
[22.02|10:23:01] CheckForces: ------------
[22.02|10:23:01] CheckForces: Histogram of forces
[22.02|10:23:01] CheckForces: eV/Ang Ref Pred
[22.02|10:23:01] CheckForces: -3 0 0
[22.02|10:23:01] CheckForces: -2 30 28
[22.02|10:23:01] CheckForces: -1 183 190
[22.02|10:23:01] CheckForces: 0 189 186
[22.02|10:23:01] CheckForces: 1 28 26
[22.02|10:23:01] CheckForces: 2 2 2
[22.02|10:23:01] CheckForces: 3 0 0
[22.02|10:23:01] CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[22.02|10:23:01] CheckForces: All force components are within the acceptable error!
[22.02|10:23:01] CheckForces: Maximum deviation: 0.378 eV/angstrom
[22.02|10:23:01] CheckForces: Actual Threshold
[22.02|10:23:01] CheckForces: # > thr. 0 0 OK!
[22.02|10:23:01] CheckForces: MAE 0.059 0.30 OK!
[22.02|10:23:01] CheckForces: R^2 0.987 0.80 OK!
[22.02|10:23:01] CheckForces: --------------------
[22.02|10:23:01]
[22.02|10:23:01] Adding results from step6_attempt1_reference_calc1 to training set
[22.02|10:23:01] Current # training set entries: 11
[22.02|10:23:01] Current # validation set entries: 6
[22.02|10:23:01] Storing data in step6_attempt1_reference_data
[22.02|10:23:01] Deleting step5_attempt1_reference_data
[22.02|10:23:01] Deleting step6_attempt1_reference_calc1
[22.02|10:23:01]
[22.02|10:23:01] Current (cumulative) timings:
[22.02|10:23:01] Time (s) Fraction
[22.02|10:23:01] Ref. calcs 38.81 0.068
[22.02|10:23:01] ML training 361.62 0.631
[22.02|10:23:01] Simulations 172.73 0.301
[22.02|10:23:01]
[22.02|10:23:01]
[22.02|10:23:01]
[22.02|10:23:01] --- Begin summary ---
[22.02|10:23:01] Step Attempt Status Reason finalframe_forces_max_delta
[22.02|10:23:01] 1 1 FAILED Inaccurate 0.3655
[22.02|10:23:01] 1 2 SUCCESS Accurate 0.4497
[22.02|10:23:01] 2 1 SUCCESS Accurate 0.2893
[22.02|10:23:01] 3 1 SUCCESS Accurate 0.3478
[22.02|10:23:01] 4 1 FAILED Inaccurate 0.4066
[22.02|10:23:01] 4 2 SUCCESS Accurate 0.3371
[22.02|10:23:01] 5 1 SUCCESS Accurate 0.2552
[22.02|10:23:01] 6 1 FAILED Inaccurate 0.3781
[22.02|10:23:01] --- End summary ---
[22.02|10:23:01]
[22.02|10:23:01] Running more reference calculations....
[22.02|10:23:02] Running reference calculations on frames [70, 73, 77] from step6_attempt1_simulation/ams.rkf
[22.02|10:23:02] Calculating 3 frames in total
[22.02|10:23:02] Running step6_attempt1_reference_calc2
[22.02|10:23:03] Running step6_attempt1_reference_calc3
[22.02|10:23:04] Running step6_attempt1_reference_calc4
[22.02|10:23:06] Reference calculations finished!
[22.02|10:23:06] Adding results from step6_attempt1_reference_calc2 to validation set
[22.02|10:23:06] Adding results from step6_attempt1_reference_calc3 to training set
[22.02|10:23:07] Adding results from step6_attempt1_reference_calc4 to training set
[22.02|10:23:07] Current # training set entries: 13
[22.02|10:23:07] Current # validation set entries: 7
[22.02|10:23:07] Storing data in step6_attempt1_reference_data
[22.02|10:23:07] Deleting step6_attempt1_reference_calc2
[22.02|10:23:07] Deleting step6_attempt1_reference_calc3
[22.02|10:23:07] Deleting step6_attempt1_reference_calc4
[22.02|10:23:07] Launching reparametrization job: step6_attempt1_training
[22.02|10:23:11] JOB m3gnet STARTED
[22.02|10:23:11] Starting m3gnet.prerun()
[22.02|10:23:11] m3gnet.prerun() finished
[22.02|10:23:11] JOB m3gnet RUNNING
[22.02|10:23:11] Executing m3gnet.run
[22.02|10:24:19] training_set Optimizer: 001 Epoch: 0 Loss: 0.007601
[22.02|10:24:19] validation_set Optimizer: 001 Epoch: 0 Loss: 0.066206
[22.02|10:24:24] training_set Optimizer: 001 Epoch: 10 Loss: 0.000822
[22.02|10:24:24] validation_set Optimizer: 001 Epoch: 10 Loss: 0.012345
[22.02|10:24:29] training_set Optimizer: 001 Epoch: 20 Loss: 0.000347
[22.02|10:24:29] validation_set Optimizer: 001 Epoch: 20 Loss: 0.008667
[22.02|10:24:34] training_set Optimizer: 001 Epoch: 30 Loss: 0.000310
[22.02|10:24:34] validation_set Optimizer: 001 Epoch: 30 Loss: 0.005950
[22.02|10:24:38] training_set Optimizer: 001 Epoch: 40 Loss: 0.000297
[22.02|10:24:38] validation_set Optimizer: 001 Epoch: 40 Loss: 0.005687
[22.02|10:24:43] training_set Optimizer: 001 Epoch: 50 Loss: 0.000273
[22.02|10:24:43] validation_set Optimizer: 001 Epoch: 50 Loss: 0.005624
[22.02|10:24:48] training_set Optimizer: 001 Epoch: 60 Loss: 0.000274
[22.02|10:24:48] validation_set Optimizer: 001 Epoch: 60 Loss: 0.005693
[22.02|10:24:53] training_set Optimizer: 001 Epoch: 70 Loss: 0.000265
[22.02|10:24:53] validation_set Optimizer: 001 Epoch: 70 Loss: 0.005727
[22.02|10:24:58] training_set Optimizer: 001 Epoch: 80 Loss: 0.000257
[22.02|10:24:58] validation_set Optimizer: 001 Epoch: 80 Loss: 0.005562
[22.02|10:25:03] training_set Optimizer: 001 Epoch: 90 Loss: 0.000260
[22.02|10:25:03] validation_set Optimizer: 001 Epoch: 90 Loss: 0.006442
[22.02|10:25:08] training_set Optimizer: 001 Epoch: 100 Loss: 0.000245
[22.02|10:25:08] validation_set Optimizer: 001 Epoch: 100 Loss: 0.006416
[22.02|10:25:13] training_set Optimizer: 001 Epoch: 110 Loss: 0.000248
[22.02|10:25:13] validation_set Optimizer: 001 Epoch: 110 Loss: 0.005638
[22.02|10:25:18] training_set Optimizer: 001 Epoch: 120 Loss: 0.000246
[22.02|10:25:18] validation_set Optimizer: 001 Epoch: 120 Loss: 0.007367
[22.02|10:25:23] training_set Optimizer: 001 Epoch: 130 Loss: 0.000230
[22.02|10:25:23] validation_set Optimizer: 001 Epoch: 130 Loss: 0.005574
[22.02|10:25:28] training_set Optimizer: 001 Epoch: 140 Loss: 0.000222
[22.02|10:25:28] validation_set Optimizer: 001 Epoch: 140 Loss: 0.005490
[22.02|10:25:33] training_set Optimizer: 001 Epoch: 150 Loss: 0.000226
[22.02|10:25:33] validation_set Optimizer: 001 Epoch: 150 Loss: 0.006009
[22.02|10:25:38] training_set Optimizer: 001 Epoch: 160 Loss: 0.000222
[22.02|10:25:38] validation_set Optimizer: 001 Epoch: 160 Loss: 0.005711
[22.02|10:25:42] training_set Optimizer: 001 Epoch: 170 Loss: 0.000215
[22.02|10:25:42] validation_set Optimizer: 001 Epoch: 170 Loss: 0.007090
[22.02|10:25:46] training_set Optimizer: 001 Epoch: 180 Loss: 0.000206
[22.02|10:25:46] validation_set Optimizer: 001 Epoch: 180 Loss: 0.006598
[22.02|10:25:50] training_set Optimizer: 001 Epoch: 190 Loss: 0.000212
[22.02|10:25:50] validation_set Optimizer: 001 Epoch: 190 Loss: 0.005998
[22.02|10:25:54] training_set Optimizer: 001 Epoch: 200 Loss: 0.000211
[22.02|10:25:54] validation_set Optimizer: 001 Epoch: 200 Loss: 0.008127
[22.02|10:25:59] training_set Optimizer: 001 Epoch: 210 Loss: 0.000210
[22.02|10:25:59] validation_set Optimizer: 001 Epoch: 210 Loss: 0.007694
[22.02|10:26:03] training_set Optimizer: 001 Epoch: 220 Loss: 0.000202
[22.02|10:26:03] validation_set Optimizer: 001 Epoch: 220 Loss: 0.005654
[22.02|10:26:07] training_set Optimizer: 001 Epoch: 230 Loss: 0.000216
[22.02|10:26:07] validation_set Optimizer: 001 Epoch: 230 Loss: 0.006818
[22.02|10:26:12] training_set Optimizer: 001 Epoch: 240 Loss: 0.000191
[22.02|10:26:12] validation_set Optimizer: 001 Epoch: 240 Loss: 0.005579
[22.02|10:26:16] training_set Optimizer: 001 Epoch: 250 Loss: 0.000193
[22.02|10:26:16] validation_set Optimizer: 001 Epoch: 250 Loss: 0.005051
[22.02|10:26:20] training_set Optimizer: 001 Epoch: 260 Loss: 0.000186
[22.02|10:26:20] validation_set Optimizer: 001 Epoch: 260 Loss: 0.005409
[22.02|10:26:24] training_set Optimizer: 001 Epoch: 270 Loss: 0.000193
[22.02|10:26:24] validation_set Optimizer: 001 Epoch: 270 Loss: 0.005468
[22.02|10:26:28] training_set Optimizer: 001 Epoch: 280 Loss: 0.000198
[22.02|10:26:28] validation_set Optimizer: 001 Epoch: 280 Loss: 0.005069
[22.02|10:26:32] training_set Optimizer: 001 Epoch: 290 Loss: 0.000196
[22.02|10:26:32] validation_set Optimizer: 001 Epoch: 290 Loss: 0.005147
[22.02|10:26:37] Execution of m3gnet.run finished with returncode 0
[22.02|10:26:38] JOB m3gnet FINISHED
[22.02|10:26:38] Starting m3gnet.postrun()
[22.02|10:26:38] m3gnet.postrun() finished
[22.02|10:26:38] JOB m3gnet SUCCESSFUL
[22.02|10:26:51] Running all jobs through AMS....
[22.02|10:26:51] Storing results/optimization/training_set_results/best
[22.02|10:26:51] Storing results/optimization/validation_set_results/best
[22.02|10:26:51] PLAMS environment cleaned up successfully
[22.02|10:26:51] PLAMS run finished. Goodbye
[22.02|10:26:52] ParAMSResults training_set validation_set
[22.02|10:26:52] energy MAE 0.1587 0.2397 eV
[22.02|10:26:52] forces MAE 0.0335 0.0522 eV/angstrom
[22.02|10:26:52] Newly created parameter file/dir: step6_attempt1_training/results/optimization/m3gnet/m3gnet
[22.02|10:26:52] Done!
[22.02|10:26:52] Deleting step4_attempt1_training
[22.02|10:26:52] ##########################
[22.02|10:26:52] ### Step 6 / Attempt 2 ###
[22.02|10:26:52] ##########################
[22.02|10:26:52] MD Steps: 1510 (cumulative: 2279)
[22.02|10:26:52] Current engine settings:
[22.02|10:26:52]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/sal.002/step6_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[22.02|10:26:52] Running step6_attempt2_simulation...
[22.02|10:27:43] Job step6_attempt2_simulation finished
[22.02|10:27:43] Deleting files that are no longer needed...
[22.02|10:27:44] Launching reference calculation
[22.02|10:27:44] Reference calculation finished!
[22.02|10:27:44] Checking success for step6_attempt2
[22.02|10:27:54] CheckEnergy: Checking energy for MDStep2279, n_atoms = 144
[22.02|10:27:54] CheckEnergy: normalization coefficient = 144
[22.02|10:27:54] CheckEnergy: Actual Threshold
[22.02|10:27:54] CheckEnergy: dE/144 0.0009 0.2000 OK!
[22.02|10:27:54] CheckEnergy: ddE/144 0.0019 0.0030 OK! (relative to step6_attempt1_simulation:MDStep2279)
[22.02|10:27:54]
[22.02|10:27:54] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[22.02|10:27:54] CheckForces: ------------
[22.02|10:27:54] CheckForces: Reference job from step6_attempt2_reference_calc1
[22.02|10:27:54] CheckForces: Prediction job from final frame (MDStep2279) of step6_attempt2_simulation
[22.02|10:27:54] CheckForces: ------------
[22.02|10:27:54] CheckForces: Histogram of forces
[22.02|10:27:54] CheckForces: eV/Ang Ref Pred
[22.02|10:27:54] CheckForces: -4 0 0
[22.02|10:27:54] CheckForces: -3 3 4
[22.02|10:27:54] CheckForces: -2 28 26
[22.02|10:27:54] CheckForces: -1 186 188
[22.02|10:27:54] CheckForces: 0 182 180
[22.02|10:27:54] CheckForces: 1 31 33
[22.02|10:27:54] CheckForces: 2 2 1
[22.02|10:27:54] CheckForces: 3 0 0
[22.02|10:27:54] CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[22.02|10:27:54] CheckForces: All force components are within the acceptable error!
[22.02|10:27:54] CheckForces: Maximum deviation: 0.225 eV/angstrom
[22.02|10:27:54] CheckForces: Actual Threshold
[22.02|10:27:54] CheckForces: # > thr. 0 0 OK!
[22.02|10:27:54] CheckForces: MAE 0.045 0.30 OK!
[22.02|10:27:54] CheckForces: R^2 0.992 0.80 OK!
[22.02|10:27:54] CheckForces: --------------------
[22.02|10:27:54]
[22.02|10:27:54] Adding results from step6_attempt2_reference_calc1 to validation set
[22.02|10:27:54] Current # training set entries: 13
[22.02|10:27:54] Current # validation set entries: 8
[22.02|10:27:54] Storing data in step6_attempt2_reference_data
[22.02|10:27:54] Deleting step6_attempt1_reference_data
[22.02|10:27:54] Deleting step6_attempt2_reference_calc1
[22.02|10:27:54]
[22.02|10:27:54] Current (cumulative) timings:
[22.02|10:27:54] Time (s) Fraction
[22.02|10:27:54] Ref. calcs 44.32 0.052
[22.02|10:27:54] ML training 587.09 0.687
[22.02|10:27:54] Simulations 223.55 0.261
[22.02|10:27:54]
[22.02|10:27:54]
[22.02|10:27:55] Step 6 finished successfully!
[22.02|10:27:55]
[22.02|10:27:55] --- Begin summary ---
[22.02|10:27:55] Step Attempt Status Reason finalframe_forces_max_delta
[22.02|10:27:55] 1 1 FAILED Inaccurate 0.3655
[22.02|10:27:55] 1 2 SUCCESS Accurate 0.4497
[22.02|10:27:55] 2 1 SUCCESS Accurate 0.2893
[22.02|10:27:55] 3 1 SUCCESS Accurate 0.3478
[22.02|10:27:55] 4 1 FAILED Inaccurate 0.4066
[22.02|10:27:55] 4 2 SUCCESS Accurate 0.3371
[22.02|10:27:55] 5 1 SUCCESS Accurate 0.2552
[22.02|10:27:55] 6 1 FAILED Inaccurate 0.3781
[22.02|10:27:55] 6 2 SUCCESS Accurate 0.2249
[22.02|10:27:55] --- End summary ---
[22.02|10:27:55]
[22.02|10:27:55] ##########################
[22.02|10:27:55] ### Step 7 / Attempt 1 ###
[22.02|10:27:55] ##########################
[22.02|10:27:55] MD Steps: 4473 (cumulative: 6752)
[22.02|10:27:55] Current engine settings:
[22.02|10:27:55]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/sal.002/step6_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[22.02|10:27:55] Running step7_attempt1_simulation...
[22.02|10:30:03] Job step7_attempt1_simulation finished
[22.02|10:30:03] Deleting files that are no longer needed...
[22.02|10:30:03] Deleting step5_attempt1_simulation
[22.02|10:30:03] Deleting step6_attempt1_simulation
[22.02|10:30:03] Launching reference calculation
[22.02|10:30:04] Reference calculation finished!
[22.02|10:30:04] Checking success for step7_attempt1
[22.02|10:30:13] CheckEnergy: Checking energy for MDStep6752, n_atoms = 144
[22.02|10:30:13] CheckEnergy: normalization coefficient = 144
[22.02|10:30:13] CheckEnergy: Actual Threshold
[22.02|10:30:13] CheckEnergy: dE/144 0.0006 0.2000 OK!
[22.02|10:30:13] CheckEnergy: ddE/144 -0.0003 0.0030 OK! (relative to step6_attempt2_simulation:MDStep2279)
[22.02|10:30:13]
[22.02|10:30:13] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[22.02|10:30:13] CheckForces: ------------
[22.02|10:30:13] CheckForces: Reference job from step7_attempt1_reference_calc1
[22.02|10:30:13] CheckForces: Prediction job from final frame (MDStep6752) of step7_attempt1_simulation
[22.02|10:30:13] CheckForces: ------------
[22.02|10:30:13] CheckForces: Histogram of forces
[22.02|10:30:13] CheckForces: eV/Ang Ref Pred
[22.02|10:30:13] CheckForces: -3 2 3
[22.02|10:30:13] CheckForces: -2 32 31
[22.02|10:30:13] CheckForces: -1 184 187
[22.02|10:30:13] CheckForces: 0 179 176
[22.02|10:30:13] CheckForces: 1 32 32
[22.02|10:30:13] CheckForces: 2 3 3
[22.02|10:30:13] CheckForces: 3 0 0
[22.02|10:30:13] CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[22.02|10:30:13] CheckForces: All force components are within the acceptable error!
[22.02|10:30:13] CheckForces: Maximum deviation: 0.281 eV/angstrom
[22.02|10:30:13] CheckForces: Actual Threshold
[22.02|10:30:13] CheckForces: # > thr. 0 0 OK!
[22.02|10:30:13] CheckForces: MAE 0.052 0.30 OK!
[22.02|10:30:13] CheckForces: R^2 0.991 0.80 OK!
[22.02|10:30:13] CheckForces: --------------------
[22.02|10:30:13]
[22.02|10:30:14] Adding results from step7_attempt1_reference_calc1 to training set
[22.02|10:30:14] Current # training set entries: 14
[22.02|10:30:14] Current # validation set entries: 8
[22.02|10:30:14] Storing data in step7_attempt1_reference_data
[22.02|10:30:14] Deleting step6_attempt2_reference_data
[22.02|10:30:14] Deleting step7_attempt1_reference_calc1
[22.02|10:30:14]
[22.02|10:30:14] Current (cumulative) timings:
[22.02|10:30:14] Time (s) Fraction
[22.02|10:30:14] Ref. calcs 45.23 0.046
[22.02|10:30:14] ML training 587.09 0.597
[22.02|10:30:14] Simulations 351.46 0.357
[22.02|10:30:14]
[22.02|10:30:14]
[22.02|10:30:14] Step 7 finished successfully!
[22.02|10:30:14]
[22.02|10:30:14] --- Begin summary ---
[22.02|10:30:14] Step Attempt Status Reason finalframe_forces_max_delta
[22.02|10:30:14] 1 1 FAILED Inaccurate 0.3655
[22.02|10:30:14] 1 2 SUCCESS Accurate 0.4497
[22.02|10:30:14] 2 1 SUCCESS Accurate 0.2893
[22.02|10:30:14] 3 1 SUCCESS Accurate 0.3478
[22.02|10:30:14] 4 1 FAILED Inaccurate 0.4066
[22.02|10:30:14] 4 2 SUCCESS Accurate 0.3371
[22.02|10:30:14] 5 1 SUCCESS Accurate 0.2552
[22.02|10:30:14] 6 1 FAILED Inaccurate 0.3781
[22.02|10:30:14] 6 2 SUCCESS Accurate 0.2249
[22.02|10:30:14] 7 1 SUCCESS Accurate 0.2808
[22.02|10:30:14] --- End summary ---
[22.02|10:30:14]
[22.02|10:30:14] ##########################
[22.02|10:30:14] ### Step 8 / Attempt 1 ###
[22.02|10:30:14] ##########################
[22.02|10:30:14] MD Steps: 13248 (cumulative: 20000)
[22.02|10:30:14] Current engine settings:
[22.02|10:30:14]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/sal.002/step6_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[22.02|10:30:14] Running step8_attempt1_simulation...
[22.02|10:36:03] Job step8_attempt1_simulation finished
[22.02|10:36:03] Deleting files that are no longer needed...
[22.02|10:36:03] Deleting step6_attempt2_simulation
[22.02|10:36:04] Launching reference calculation
[22.02|10:36:05] Reference calculation finished!
[22.02|10:36:05] Checking success for step8_attempt1
[22.02|10:36:14] CheckEnergy: Checking energy for MDStep20000, n_atoms = 144
[22.02|10:36:14] CheckEnergy: normalization coefficient = 144
[22.02|10:36:14] CheckEnergy: Actual Threshold
[22.02|10:36:14] CheckEnergy: dE/144 0.0015 0.2000 OK!
[22.02|10:36:14] CheckEnergy: ddE/144 0.0008 0.0030 OK! (relative to step7_attempt1_simulation:MDStep6752)
[22.02|10:36:14]
[22.02|10:36:14] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[22.02|10:36:14] CheckForces: ------------
[22.02|10:36:14] CheckForces: Reference job from step8_attempt1_reference_calc1
[22.02|10:36:14] CheckForces: Prediction job from final frame (MDStep20000) of step8_attempt1_simulation
[22.02|10:36:14] CheckForces: ------------
[22.02|10:36:14] CheckForces: Histogram of forces
[22.02|10:36:14] CheckForces: eV/Ang Ref Pred
[22.02|10:36:14] CheckForces: -3 5 4
[22.02|10:36:14] CheckForces: -2 35 35
[22.02|10:36:14] CheckForces: -1 181 180
[22.02|10:36:14] CheckForces: 0 170 172
[22.02|10:36:14] CheckForces: 1 34 34
[22.02|10:36:14] CheckForces: 2 7 6
[22.02|10:36:14] CheckForces: 3 0 1
[22.02|10:36:14] CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[22.02|10:36:14] CheckForces: All force components are within the acceptable error!
[22.02|10:36:14] CheckForces: Maximum deviation: 0.310 eV/angstrom
[22.02|10:36:14] CheckForces: Actual Threshold
[22.02|10:36:14] CheckForces: # > thr. 0 0 OK!
[22.02|10:36:14] CheckForces: MAE 0.056 0.30 OK!
[22.02|10:36:14] CheckForces: R^2 0.991 0.80 OK!
[22.02|10:36:14] CheckForces: --------------------
[22.02|10:36:14]
[22.02|10:36:14] Adding results from step8_attempt1_reference_calc1 to validation set
[22.02|10:36:14] Current # training set entries: 14
[22.02|10:36:14] Current # validation set entries: 9
[22.02|10:36:14] Storing data in step8_attempt1_reference_data
[22.02|10:36:15] Deleting step7_attempt1_reference_data
[22.02|10:36:15] Deleting step8_attempt1_reference_calc1
[22.02|10:36:15]
[22.02|10:36:15] Current (cumulative) timings:
[22.02|10:36:15] Time (s) Fraction
[22.02|10:36:15] Ref. calcs 46.19 0.035
[22.02|10:36:15] ML training 587.09 0.440
[22.02|10:36:15] Simulations 700.76 0.525
[22.02|10:36:15]
[22.02|10:36:15]
[22.02|10:36:15] Step 8 finished successfully!
[22.02|10:36:15]
[22.02|10:36:15] --- Begin summary ---
[22.02|10:36:15] Step Attempt Status Reason finalframe_forces_max_delta
[22.02|10:36:15] 1 1 FAILED Inaccurate 0.3655
[22.02|10:36:15] 1 2 SUCCESS Accurate 0.4497
[22.02|10:36:15] 2 1 SUCCESS Accurate 0.2893
[22.02|10:36:15] 3 1 SUCCESS Accurate 0.3478
[22.02|10:36:15] 4 1 FAILED Inaccurate 0.4066
[22.02|10:36:15] 4 2 SUCCESS Accurate 0.3371
[22.02|10:36:15] 5 1 SUCCESS Accurate 0.2552
[22.02|10:36:15] 6 1 FAILED Inaccurate 0.3781
[22.02|10:36:15] 6 2 SUCCESS Accurate 0.2249
[22.02|10:36:15] 7 1 SUCCESS Accurate 0.2808
[22.02|10:36:15] 8 1 SUCCESS Accurate 0.3104
[22.02|10:36:15] --- End summary ---
[22.02|10:36:15]
[22.02|10:36:15] The engine settings for the final trained ML engine are:
[22.02|10:36:15]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/sal.002/step6_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[22.02|10:36:15] Active learning finished!
[22.02|10:36:15] Goodbye!
[22.02|10:36:15] JOB sal.002 FINISHED
[22.02|10:36:15] JOB sal.002 SUCCESSFUL
<scm.simple_active_learning.plams.simple_active_learning_job.SimpleActiveLearningResults at 0x7fccbe25c580>
Validate trained model by RDF and MSD¶
Note: You should skip this part if you trained to DFT since the reference MD calculation will take a very long time!
mol = job.results.get_main_molecule()
plams.plot_molecule(mol, rotation="-5x,5y,0z")
retrained_model_settings = (
job.results.get_params_job().results.get_production_engine_settings()
)
retrained_model_settings.runscript.nproc = 1
Equilibration and production MD settings¶
eq_md_settings = plams.AMSNVTJob(
nsteps=8000,
timestep=0.5,
thermostat="Berendsen",
tau=100,
temperature=300,
samplingfreq=100,
).settings
prod_md_settings = plams.AMSNVTJob(
nsteps=50000,
timestep=0.5,
thermostat="NHC",
tau=200,
temperature=300,
samplingfreq=100,
).settings
Retrained model equilibration¶
retrained_model_eq_md_job = plams.AMSJob(
settings=eq_md_settings + retrained_model_settings,
molecule=mol,
name="retrained_model_eq_md_dens_1",
)
retrained_model_eq_md_job.run();
[22.02|13:39:24] JOB eq_md_dens_1 STARTED
[22.02|13:39:24] Renaming job eq_md_dens_1 to eq_md_dens_1.003
[22.02|13:39:24] JOB eq_md_dens_1.003 RUNNING
[22.02|13:42:58] JOB eq_md_dens_1.003 FINISHED
[22.02|13:42:58] JOB eq_md_dens_1.003 SUCCESSFUL
Retrained model production simulation¶
Let’s then run a production simulation from the final structure of the above equilibration MD using both the retrained model and the reference engine:
retrained_model_prod_md_job = plams.AMSJob(
settings=prod_md_settings + retrained_model_settings,
name="retrained_model_prod_md_dens_1",
molecule=retrained_model_eq_md_job.results.get_main_molecule(),
)
retrained_model_prod_md_job.run();
[22.02|13:46:22] JOB retrained_model_prod_md_dens_1 STARTED
[22.02|13:46:22] Renaming job retrained_model_prod_md_dens_1 to retrained_model_prod_md_dens_1.005
[22.02|13:46:22] JOB retrained_model_prod_md_dens_1.005 RUNNING
[22.02|14:07:30] JOB retrained_model_prod_md_dens_1.005 FINISHED
[22.02|14:07:30] JOB retrained_model_prod_md_dens_1.005 SUCCESSFUL
Reference equilibration MD¶
reference_eq_md_job = plams.AMSJob(
settings=eq_md_settings + ref_s,
molecule=mol,
name="reference_eq_md_dens_1",
)
reference_eq_md_job.run();
[22.02|14:08:55] JOB reference_eq_md_dens_1 STARTED
[22.02|14:08:55] JOB reference_eq_md_dens_1 RUNNING
[22.02|14:09:19] JOB reference_eq_md_dens_1 FINISHED
[22.02|14:09:19] JOB reference_eq_md_dens_1 SUCCESSFUL
Reference production MD¶
reference_prod_md_job = plams.AMSJob(
settings=prod_md_settings + ref_s,
name="reference_prod_md_dens_1",
molecule=reference_eq_md_job.results.get_main_molecule(),
)
reference_prod_md_job.run();
[22.02|14:09:19] JOB reference_prod_md_dens_1 STARTED
[22.02|14:09:19] Renaming job reference_prod_md_dens_1 to reference_prod_md_dens_1.003
[22.02|14:09:19] JOB reference_prod_md_dens_1.003 RUNNING
[22.02|14:11:59] JOB reference_prod_md_dens_1.003 FINISHED
[22.02|14:11:59] JOB reference_prod_md_dens_1.003 SUCCESSFUL
Mean squared displacement (MSD) helper functions¶
For a detailed explanation of the MSD and RDF jobs, see the “Molecular dynamics with Python” tutorial
def get_msd_job(job: plams.AMSJob, symbol: str = "O"):
atom_indices = [
i
for i, at in enumerate(job.results.get_main_molecule(), 1)
if at.symbol == symbol
]
msd_job = plams.AMSMSDJob(
job,
name="msd-" + job.name,
atom_indices=atom_indices, # indices start with 1 for the first atom
max_correlation_time_fs=4000, # max correlation time must be set before running the job
start_time_fit_fs=2000, # start_time_fit can also be changed later in the postanalysis
)
msd_job.run()
return msd_job
def plot_msd(job, start_time_fit_fs=None):
"""job: an AMSMSDJob"""
time, msd = job.results.get_msd()
fit_result, fit_x, fit_y = job.results.get_linear_fit(
start_time_fit_fs=start_time_fit_fs
)
# the diffusion coefficient can also be calculated as fit_result.slope/6 (ang^2/fs)
diffusion_coefficient = job.results.get_diffusion_coefficient(
start_time_fit_fs=start_time_fit_fs
) # m^2/s
plt.figure(figsize=(5, 3))
plt.plot(time, msd, label="MSD")
plt.plot(
fit_x, fit_y, label="Linear fit slope={:.5f} ang^2/fs".format(fit_result.slope)
)
plt.legend()
plt.xlabel("Correlation time (fs)")
plt.ylabel("Mean square displacement (ang^2)")
plt.title("MSD: Diffusion coefficient = {:.2e} m^2/s".format(diffusion_coefficient))
Temporarily turn off PLAMS logging¶
Technically, the MSD and RDF jobs are normal PLAMS jobs. However, they are very fast to run. We can turn off the PLAMS logging to keep the Jupyter notebook a bit more tidy:
plams.config.log.stdout = 0
Retrained model MSD, diffusion coefficient¶
retrained_model_msd_job = get_msd_job(retrained_model_prod_md_job, "O")
retrained_model_D = (
retrained_model_msd_job.results.get_diffusion_coefficient()
) # diffusion coefficient, m^2/s
plot_msd(retrained_model_msd_job)
Reference MSD, diffusion coefficient¶
reference_msd_job = get_msd_job(reference_prod_md_job, "O")
reference_D = (
reference_msd_job.results.get_diffusion_coefficient()
) # diffusion coefficient, m^2/s
plot_msd(reference_msd_job)
Conclusion for diffusion coefficient: In this case, the retrained model gives 2.53e-9 m^2/s and the reference method 2.62e-9 m^2/s. That is very good agreement! Note: your results may be somewhat different.
Retrained model and reference RDF¶
Let’s compare the calculated O-O, O-H, and H-H radial distribution functions (rdf):
def get_rdf(job, atom_indices, atom_indices_to, rmin, rmax, rstep):
rdf = plams.AMSRDFJob(
job,
atom_indices=atom_indices,
atom_indices_to=atom_indices_to,
rmin=rmin,
rmax=rmax,
rstep=rstep,
)
rdf.run()
return rdf.results.get_rdf()
final_frame = (
retrained_model_prod_md_job.results.get_main_molecule()
) # doesn't matter if retrained model or reference
O_ind = [i for i, at in enumerate(final_frame, 1) if at.symbol == "O"]
H_ind = [i for i, at in enumerate(final_frame, 1) if at.symbol == "H"]
rmax = final_frame.lattice[0][0] / 2
rstep = 0.05
O-O rdf¶
atom_indices, atom_indices_to = O_ind, O_ind
rmin = 2.0
pred_x, pred_y = get_rdf(
retrained_model_prod_md_job, atom_indices, atom_indices_to, rmin, rmax, rstep
)
ref_x, ref_y = get_rdf(
reference_prod_md_job, atom_indices, atom_indices_to, rmin, rmax, rstep
)
plt.plot(pred_x, pred_y, label="Retrained model")
plt.plot(ref_x, ref_y, label="Reference")
plt.xlabel("r (angstrom)")
plt.legend()
plt.title("O-O rdf");
O-H rdf¶
atom_indices, atom_indices_to = O_ind, H_ind
rmin = 1.3
pred_x, pred_y = get_rdf(
retrained_model_prod_md_job, atom_indices, atom_indices_to, rmin, rmax, rstep
)
ref_x, ref_y = get_rdf(
reference_prod_md_job, atom_indices, atom_indices_to, rmin, rmax, rstep
)
plt.plot(pred_x, pred_y, label="Retrained model")
plt.plot(ref_x, ref_y, label="Reference")
plt.xlabel("r (angstrom)")
plt.legend()
plt.title("O-H rdf");
H-H rdf¶
atom_indices, atom_indices_to = H_ind, H_ind
rmin = 1.3
pred_x, pred_y = get_rdf(
retrained_model_prod_md_job, atom_indices, atom_indices_to, rmin, rmax, rstep
)
ref_x, ref_y = get_rdf(
reference_prod_md_job, atom_indices, atom_indices_to, rmin, rmax, rstep
)
plt.plot(pred_x, pred_y, label="Retrained model")
plt.plot(ref_x, ref_y, label="Reference")
plt.xlabel("r (angstrom)")
plt.legend()
plt.title("H-H rdf");
Turn PLAMS logging back on¶
plams.config.log.stdout = 3 # default value
Density and NPT¶
Check the predicted vs. reference density¶
npt_md_s = plams.AMSNPTJob(
nsteps=100000,
timestep=0.5,
thermostat="NHC",
tau=100,
temperature=300,
barostat="MTK",
barostat_tau=1000,
equal="XYZ",
pressure=1e5,
).settings
retrained_model_npt_job = plams.AMSJob(
settings=npt_md_s + retrained_model_settings,
name="retrained_model_npt",
molecule=retrained_model_prod_md_job.results.get_main_molecule(),
)
retrained_model_npt_job.run();
[22.02|15:25:22] JOB retrained_model_npt STARTED
[22.02|15:25:22] JOB retrained_model_npt RUNNING
[22.02|16:06:01] JOB retrained_model_npt FINISHED
[22.02|16:06:01] JOB retrained_model_npt SUCCESSFUL
<scm.plams.interfaces.adfsuite.ams.AMSResults at 0x7fcc8c910670>
retrained_model_density = (
plams.AMSNPTJob.load_external(retrained_model_npt_job.results.rkfpath())
.results.get_equilibrated_molecule()
.get_density()
)
print(
f"Retrained model water density at 300 K: {retrained_model_density*1e-3:.2f} g/cm^3"
)
Retrained model water density at 300 K: 0.95 g/cm^3
plams.config.jobmanager.hashing = None
reference_npt_job = plams.AMSJob(
settings=npt_md_s + ref_s,
name="reference_npt",
molecule=reference_prod_md_job.results.get_main_molecule(),
)
reference_npt_job.run()
[22.02|18:53:54] JOB reference_npt STARTED
[22.02|18:53:54] Renaming job reference_npt to reference_npt.002
[22.02|18:53:54] JOB reference_npt.002 RUNNING
[22.02|18:58:13] JOB reference_npt.002 FINISHED
[22.02|18:58:13] JOB reference_npt.002 SUCCESSFUL
<scm.plams.interfaces.adfsuite.ams.AMSResults at 0x7fcc8d39d520>
reference_density = (
plams.AMSNPTJob.load_external(reference_npt_job.results.rkfpath())
.results.get_equilibrated_molecule()
.get_density()
)
print(f"Reference model water density at 300 K: {reference_density*1e-3:.2f} g/cm^3")
Reference model water density at 300 K: 1.01 g/cm^3
The above reference value for ReaxFF Water-2017.ff agrees exactly with the published reference value of 1.01 g/cm^3.
However, the retrained M3GNet model predicts a density of 0.95 g/cm^3. The agreement is reasonable but not excellent. This can be explained by the fact that almost all training data points were at 1.00 g/cm^3. Only a few points (from the “M3GNetShortMD” initial reference data generator) were taken at other densities.
Let’s continue the active learning while sampling more densities. There are two strategies:
Use an NPT simulation during the active learning
Scan the density during the active learning
Here, we choose the second approach in order to ensure that multiple different densities are sampled.
Initial structure for scanning density¶
Get the final frame from one of the previous MD simulations, and linearly scale the density to 800 kg/m^3 = 0.8 g/cm^3. This will stretch out the O-H bonds so follow up with a short UFF preoptimization.
new_structure = final_frame.copy()
new_structure.set_density(850)
new_structure = plams.preoptimize(new_structure, model="uff", maxiterations=20)
plams.plot_molecule(new_structure)
Second active learning job: scanning density¶
Here we set Steps.Type = “Linear” to run reference calculations every 5000 MD steps.
To get an accurate density it’s very important that the predicted energy is accurate. It is not enough to just get a good fit for the forces.
Here, we decrease the success criteria for both the energy and forces compared to default values.
nsteps = 80000
scan_density_md_s = plams.AMSMDScanDensityJob(
molecule=new_structure,
scan_density_upper=1.15,
nsteps=nsteps,
tau=100,
thermostat="Berendsen",
temperature=300,
).settings
# we must explicitly set the StopStep, since the AL divides the simulation into multiple segments
scan_density_md_s.input.ams.MolecularDynamics.Deformation.StopStep = nsteps
# job = SimpleActiveLearningJob.load_external(plams.config.default_jobmanager.workdir + "/sal.002")
scan_density_ml_s = ml_s.copy()
scan_density_ml_s.input.ams.MachineLearning.LoadModel = (
job.results.get_params_results_directory()
)
scan_density_ml_s.input.ams.MachineLearning.Target.Forces.MAE = 0.02
scan_density_ml_s.input.ams.MachineLearning.MaxEpochs = 200
scan_density_al_s = plams.Settings()
scan_density_al_s.input.ams.ActiveLearning.Steps.Type = "Linear"
scan_density_al_s.input.ams.ActiveLearning.Steps.Linear.Start = 500
scan_density_al_s.input.ams.ActiveLearning.Steps.Linear.StepSize = 5000
scan_density_al_s.input.ams.ActiveLearning.InitialReferenceData.Load.FromPreviousModel = (
"Yes"
)
scan_density_al_s.input.ams.ActiveLearning.SuccessCriteria.Energy.Relative = 0.001
scan_density_al_s.input.ams.ActiveLearning.SuccessCriteria.Energy.Total = 0.002
# because we do not set Normalization, the above Energy criteria are energies per atom
# scan_density_al_s.input.ams.ActiveLearning.SuccessCriteria.Energy.Normalization =
scan_density_al_s.input.ams.ActiveLearning.SuccessCriteria.Forces.MaxDeviationForZeroForce = (
0.30
)
scan_density_al_s.input.ams.ActiveLearning.AtEnd.RerunSimulation = "No"
scan_density_al_s.input.ams.ActiveLearning.MaxReferenceCalculationsPerAttempt = 2
scan_density_al_job = SimpleActiveLearningJob(
name="scan_density_al",
settings=ref_s + scan_density_md_s + scan_density_ml_s + scan_density_al_s,
molecule=new_structure,
)
scan_density_al_job.run(watch=True);
[23.02|13:01:42] Simple Active Learning 2024.101, Nodes: 1, Procs: 1
[23.02|13:01:44] Composition of main system: H96O48
[23.02|13:01:44] All REFERENCE calculations will be performed with the following ReaxFF engine:
[23.02|13:01:44]
Engine reaxff
forcefield Water2017.ff
EndEngine
[23.02|13:01:44] The following are the settings for the to-be-trained MACHINE LEARNING model:
[23.02|13:01:44]
MachineLearning
Backend M3GNet
CommitteeSize 1
LoadModel /path/plams_workdir.003/sal.002/step6_attempt1_training/results
M3GNet
Model UniversalPotential
End
MaxEpochs 300
Target
Forces
MAE 0.02
End
End
End
ParallelLevels
End
[23.02|13:01:44] A single model will be trained (no committee).
[23.02|13:01:44] The ACTIVE LEARNING loop will contain 17 steps, using the following schema:
[23.02|13:01:44] Active Learning Step 1: 500 MD Steps (cumulative: 500)
[23.02|13:01:44] Active Learning Step 2: 5000 MD Steps (cumulative: 5500)
[23.02|13:01:44] Active Learning Step 3: 5000 MD Steps (cumulative: 10500)
[23.02|13:01:44] Active Learning Step 4: 5000 MD Steps (cumulative: 15500)
[23.02|13:01:44] Active Learning Step 5: 5000 MD Steps (cumulative: 20500)
[23.02|13:01:44] Active Learning Step 6: 5000 MD Steps (cumulative: 25500)
[23.02|13:01:44] Active Learning Step 7: 5000 MD Steps (cumulative: 30500)
[23.02|13:01:44] Active Learning Step 8: 5000 MD Steps (cumulative: 35500)
[23.02|13:01:44] Active Learning Step 9: 5000 MD Steps (cumulative: 40500)
[23.02|13:01:44] Active Learning Step 10: 5000 MD Steps (cumulative: 45500)
[23.02|13:01:44] Active Learning Step 11: 5000 MD Steps (cumulative: 50500)
[23.02|13:01:44] Active Learning Step 12: 5000 MD Steps (cumulative: 55500)
[23.02|13:01:44] Active Learning Step 13: 5000 MD Steps (cumulative: 60500)
[23.02|13:01:44] Active Learning Step 14: 5000 MD Steps (cumulative: 65500)
[23.02|13:01:44] Active Learning Step 15: 5000 MD Steps (cumulative: 70500)
[23.02|13:01:44] Active Learning Step 16: 5000 MD Steps (cumulative: 75500)
[23.02|13:01:44] Active Learning Step 17: 4500 MD Steps (cumulative: 80000)
[23.02|13:01:44] Total number of MD Steps: 80000
[23.02|13:01:44] Max attempts per active learning step: 15
[23.02|13:01:44]
[23.02|13:01:44] Tip: create a file called SKIP_STEP to skip an active learning step and move on to the next!
[23.02|13:01:44]
[23.02|13:01:44] The directory /path/plams_workdir.003/sal.002/step6_attempt1_training/results is of type RestartDirectoryType.PARAMS_RESULTS
[23.02|13:01:44] Successfully loaded previous ParAMS Job: from /path/plams_workdir.003/sal.002/step6_attempt1_training/results
[23.02|13:01:45] Starting active learning loop...
[23.02|13:01:45] ##########################
[23.02|13:01:45] ### Step 1 / Attempt 1 ###
[23.02|13:01:45] ##########################
[23.02|13:01:45] MD Steps: 500 (cumulative: 500)
[23.02|13:01:45] Current engine settings:
[23.02|13:01:45]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/loaded_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:01:45] Running step1_attempt1_simulation...
[23.02|13:02:10] Job step1_attempt1_simulation finished
[23.02|13:02:10] Deleting files that are no longer needed...
[23.02|13:02:11] Launching reference calculation
[23.02|13:02:12] Reference calculation finished!
[23.02|13:02:12] Checking success for step1_attempt1
[23.02|13:02:12] CheckEnergy: Checking energy for MDStep500, n_atoms = 144
[23.02|13:02:12] CheckEnergy: normalization coefficient = 144
[23.02|13:02:12] CheckEnergy: Actual Threshold
[23.02|13:02:12] CheckEnergy: dE/144 0.0003 0.0020 OK!
[23.02|13:02:12]
[23.02|13:02:12] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:02:12] CheckForces: ------------
[23.02|13:02:12] CheckForces: Reference job from step1_attempt1_reference_calc1
[23.02|13:02:12] CheckForces: Prediction job from final frame (MDStep500) of step1_attempt1_simulation
[23.02|13:02:12] CheckForces: ------------
[23.02|13:02:12] CheckForces: Histogram of forces
[23.02|13:02:12] CheckForces: eV/Ang Ref Pred
[23.02|13:02:12] CheckForces: -5 1 1
[23.02|13:02:12] CheckForces: -4 1 0
[23.02|13:02:12] CheckForces: -3 0 1
[23.02|13:02:12] CheckForces: -2 30 30
[23.02|13:02:12] CheckForces: -1 187 185
[23.02|13:02:12] CheckForces: 0 181 185
[23.02|13:02:12] CheckForces: 1 28 27
[23.02|13:02:12] CheckForces: 2 3 3
[23.02|13:02:12] CheckForces: 3 1 0
[23.02|13:02:12] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:02:12] CheckForces: Force components with an error exceeding the threshold:
[23.02|13:02:12] CheckForces: Ref Pred Delta Threshold
[23.02|13:02:12] CheckForces: -1.49 -1.04 0.45 0.39
[23.02|13:02:12] CheckForces: 2.10 1.49 0.61 0.45
[23.02|13:02:12] CheckForces: 3.34 2.69 0.65 0.63
[23.02|13:02:12] CheckForces: -1.26 -0.81 0.45 0.37
[23.02|13:02:12] CheckForces: -3.07 -2.48 0.60 0.58
[23.02|13:02:12] CheckForces: Maximum deviation: 0.654 eV/angstrom
[23.02|13:02:12] CheckForces: Actual Threshold
[23.02|13:02:12] CheckForces: # > thr. 5 0 Not OK!
[23.02|13:02:12] CheckForces: MAE 0.049 0.30 OK!
[23.02|13:02:12] CheckForces: R^2 0.989 0.80 OK!
[23.02|13:02:12] CheckForces: --------------------
[23.02|13:02:12]
[23.02|13:02:12] Adding results from step1_attempt1_reference_calc1 to training set
[23.02|13:02:12] Current # training set entries: 14
[23.02|13:02:12] Current # validation set entries: 7
[23.02|13:02:12] Storing data in step1_attempt1_reference_data
[23.02|13:02:12] Deleting initial_reference_data
[23.02|13:02:12] Deleting step1_attempt1_reference_calc1
[23.02|13:02:12]
[23.02|13:02:12] Current (cumulative) timings:
[23.02|13:02:12] Time (s) Fraction
[23.02|13:02:12] Ref. calcs 1.07 0.041
[23.02|13:02:12] ML training 0.00 0.000
[23.02|13:02:12] Simulations 25.35 0.959
[23.02|13:02:12]
[23.02|13:02:12]
[23.02|13:02:13]
[23.02|13:02:13] --- Begin summary ---
[23.02|13:02:13] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:02:13] 1 1 FAILED Inaccurate 0.6537
[23.02|13:02:13] --- End summary ---
[23.02|13:02:13]
[23.02|13:02:13] Running more reference calculations....
[23.02|13:02:13] Running reference calculations on frames [6] from step1_attempt1_simulation/ams.rkf
[23.02|13:02:13] Calculating 1 frames in total
[23.02|13:02:13] Running step1_attempt1_reference_calc2
[23.02|13:02:14] Reference calculations finished!
[23.02|13:02:14] Adding results from step1_attempt1_reference_calc2 to validation set
[23.02|13:02:14] Current # training set entries: 14
[23.02|13:02:14] Current # validation set entries: 8
[23.02|13:02:14] Storing data in step1_attempt1_reference_data
[23.02|13:02:14] Deleting step1_attempt1_reference_calc2
[23.02|13:02:14] Launching reparametrization job: step1_attempt1_training
[23.02|13:02:19] JOB m3gnet STARTED
[23.02|13:02:19] Starting m3gnet.prerun()
[23.02|13:02:19] m3gnet.prerun() finished
[23.02|13:02:19] JOB m3gnet RUNNING
[23.02|13:02:19] Executing m3gnet.run
[23.02|13:03:26] training_set Optimizer: 001 Epoch: 0 Loss: 0.004650
[23.02|13:03:26] validation_set Optimizer: 001 Epoch: 0 Loss: 0.077072
[23.02|13:03:30] training_set Optimizer: 001 Epoch: 10 Loss: 0.000513
[23.02|13:03:30] validation_set Optimizer: 001 Epoch: 10 Loss: 0.014438
[23.02|13:03:34] training_set Optimizer: 001 Epoch: 20 Loss: 0.000234
[23.02|13:03:34] validation_set Optimizer: 001 Epoch: 20 Loss: 0.007946
[23.02|13:03:39] training_set Optimizer: 001 Epoch: 30 Loss: 0.000202
[23.02|13:03:39] validation_set Optimizer: 001 Epoch: 30 Loss: 0.004903
[23.02|13:03:43] training_set Optimizer: 001 Epoch: 40 Loss: 0.000189
[23.02|13:03:43] validation_set Optimizer: 001 Epoch: 40 Loss: 0.005216
[23.02|13:03:47] training_set Optimizer: 001 Epoch: 50 Loss: 0.000185
[23.02|13:03:47] validation_set Optimizer: 001 Epoch: 50 Loss: 0.005106
[23.02|13:03:51] training_set Optimizer: 001 Epoch: 60 Loss: 0.000185
[23.02|13:03:51] validation_set Optimizer: 001 Epoch: 60 Loss: 0.005151
[23.02|13:03:55] training_set Optimizer: 001 Epoch: 70 Loss: 0.000181
[23.02|13:03:55] validation_set Optimizer: 001 Epoch: 70 Loss: 0.005095
[23.02|13:04:00] training_set Optimizer: 001 Epoch: 80 Loss: 0.000179
[23.02|13:04:00] validation_set Optimizer: 001 Epoch: 80 Loss: 0.004864
[23.02|13:04:04] training_set Optimizer: 001 Epoch: 90 Loss: 0.000172
[23.02|13:04:04] validation_set Optimizer: 001 Epoch: 90 Loss: 0.005587
[23.02|13:04:08] training_set Optimizer: 001 Epoch: 100 Loss: 0.000174
[23.02|13:04:08] validation_set Optimizer: 001 Epoch: 100 Loss: 0.006889
[23.02|13:04:13] training_set Optimizer: 001 Epoch: 110 Loss: 0.000167
[23.02|13:04:13] validation_set Optimizer: 001 Epoch: 110 Loss: 0.005299
[23.02|13:04:17] training_set Optimizer: 001 Epoch: 120 Loss: 0.000170
[23.02|13:04:17] validation_set Optimizer: 001 Epoch: 120 Loss: 0.007555
[23.02|13:04:21] training_set Optimizer: 001 Epoch: 130 Loss: 0.000162
[23.02|13:04:21] validation_set Optimizer: 001 Epoch: 130 Loss: 0.006832
[23.02|13:04:26] training_set Optimizer: 001 Epoch: 140 Loss: 0.000162
[23.02|13:04:26] validation_set Optimizer: 001 Epoch: 140 Loss: 0.005656
[23.02|13:04:30] training_set Optimizer: 001 Epoch: 150 Loss: 0.000159
[23.02|13:04:30] validation_set Optimizer: 001 Epoch: 150 Loss: 0.005022
[23.02|13:04:35] training_set Optimizer: 001 Epoch: 160 Loss: 0.000161
[23.02|13:04:35] validation_set Optimizer: 001 Epoch: 160 Loss: 0.005064
[23.02|13:04:39] training_set Optimizer: 001 Epoch: 170 Loss: 0.000156
[23.02|13:04:39] validation_set Optimizer: 001 Epoch: 170 Loss: 0.005446
[23.02|13:04:43] training_set Optimizer: 001 Epoch: 180 Loss: 0.000166
[23.02|13:04:43] validation_set Optimizer: 001 Epoch: 180 Loss: 0.004793
[23.02|13:04:48] training_set Optimizer: 001 Epoch: 190 Loss: 0.000149
[23.02|13:04:48] validation_set Optimizer: 001 Epoch: 190 Loss: 0.005387
[23.02|13:04:52] training_set Optimizer: 001 Epoch: 200 Loss: 0.000155
[23.02|13:04:52] validation_set Optimizer: 001 Epoch: 200 Loss: 0.004907
[23.02|13:04:56] training_set Optimizer: 001 Epoch: 210 Loss: 0.000148
[23.02|13:04:56] validation_set Optimizer: 001 Epoch: 210 Loss: 0.005151
[23.02|13:05:01] training_set Optimizer: 001 Epoch: 220 Loss: 0.000155
[23.02|13:05:01] validation_set Optimizer: 001 Epoch: 220 Loss: 0.006620
[23.02|13:05:05] training_set Optimizer: 001 Epoch: 230 Loss: 0.000152
[23.02|13:05:05] validation_set Optimizer: 001 Epoch: 230 Loss: 0.006390
[23.02|13:05:10] training_set Optimizer: 001 Epoch: 240 Loss: 0.000149
[23.02|13:05:10] validation_set Optimizer: 001 Epoch: 240 Loss: 0.004810
[23.02|13:05:14] training_set Optimizer: 001 Epoch: 250 Loss: 0.000147
[23.02|13:05:14] validation_set Optimizer: 001 Epoch: 250 Loss: 0.005164
[23.02|13:05:19] training_set Optimizer: 001 Epoch: 260 Loss: 0.000140
[23.02|13:05:19] validation_set Optimizer: 001 Epoch: 260 Loss: 0.006953
[23.02|13:05:23] training_set Optimizer: 001 Epoch: 270 Loss: 0.000141
[23.02|13:05:23] validation_set Optimizer: 001 Epoch: 270 Loss: 0.006485
[23.02|13:05:27] training_set Optimizer: 001 Epoch: 280 Loss: 0.000140
[23.02|13:05:27] validation_set Optimizer: 001 Epoch: 280 Loss: 0.005240
[23.02|13:05:32] training_set Optimizer: 001 Epoch: 290 Loss: 0.000140
[23.02|13:05:32] validation_set Optimizer: 001 Epoch: 290 Loss: 0.005553
[23.02|13:05:38] Execution of m3gnet.run finished with returncode 0
[23.02|13:05:38] JOB m3gnet FINISHED
[23.02|13:05:38] Starting m3gnet.postrun()
[23.02|13:05:38] m3gnet.postrun() finished
[23.02|13:05:38] JOB m3gnet SUCCESSFUL
[23.02|13:05:52] Running all jobs through AMS....
[23.02|13:05:52] Storing results/optimization/training_set_results/best
[23.02|13:05:52] Storing results/optimization/validation_set_results/best
[23.02|13:05:52] PLAMS environment cleaned up successfully
[23.02|13:05:52] PLAMS run finished. Goodbye
[23.02|13:05:53] ParAMSResults training_set validation_set
[23.02|13:05:53] energy MAE 0.0912 0.0665 eV
[23.02|13:05:53] forces MAE 0.0306 0.0478 eV/angstrom
[23.02|13:05:53] Newly created parameter file/dir: step1_attempt1_training/results/optimization/m3gnet/m3gnet
[23.02|13:05:53] Done!
[23.02|13:05:53] ##########################
[23.02|13:05:53] ### Step 1 / Attempt 2 ###
[23.02|13:05:53] ##########################
[23.02|13:05:53] MD Steps: 500 (cumulative: 500)
[23.02|13:05:53] Current engine settings:
[23.02|13:05:53]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step1_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:05:53] Running step1_attempt2_simulation...
[23.02|13:06:16] Job step1_attempt2_simulation finished
[23.02|13:06:16] Deleting files that are no longer needed...
[23.02|13:06:17] Launching reference calculation
[23.02|13:06:18] Reference calculation finished!
[23.02|13:06:18] Checking success for step1_attempt2
[23.02|13:06:27] CheckEnergy: Checking energy for MDStep500, n_atoms = 144
[23.02|13:06:27] CheckEnergy: normalization coefficient = 144
[23.02|13:06:27] CheckEnergy: Actual Threshold
[23.02|13:06:27] CheckEnergy: dE/144 -0.0010 0.0020 OK!
[23.02|13:06:27] CheckEnergy: ddE/144 -0.0006 0.0010 OK! (relative to step1_attempt1_simulation:MDStep500)
[23.02|13:06:27]
[23.02|13:06:27] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:06:27] CheckForces: ------------
[23.02|13:06:27] CheckForces: Reference job from step1_attempt2_reference_calc1
[23.02|13:06:27] CheckForces: Prediction job from final frame (MDStep500) of step1_attempt2_simulation
[23.02|13:06:27] CheckForces: ------------
[23.02|13:06:27] CheckForces: Histogram of forces
[23.02|13:06:27] CheckForces: eV/Ang Ref Pred
[23.02|13:06:27] CheckForces: -4 1 0
[23.02|13:06:27] CheckForces: -3 3 4
[23.02|13:06:27] CheckForces: -2 15 14
[23.02|13:06:27] CheckForces: -1 191 196
[23.02|13:06:27] CheckForces: 0 197 196
[23.02|13:06:27] CheckForces: 1 25 22
[23.02|13:06:27] CheckForces: 2 0 0
[23.02|13:06:27] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:06:27] CheckForces: All force components are within the acceptable error!
[23.02|13:06:27] CheckForces: Maximum deviation: 0.311 eV/angstrom
[23.02|13:06:27] CheckForces: Actual Threshold
[23.02|13:06:27] CheckForces: # > thr. 0 0 OK!
[23.02|13:06:27] CheckForces: MAE 0.040 0.30 OK!
[23.02|13:06:27] CheckForces: R^2 0.992 0.80 OK!
[23.02|13:06:27] CheckForces: --------------------
[23.02|13:06:27]
[23.02|13:06:27] Adding results from step1_attempt2_reference_calc1 to training set
[23.02|13:06:27] Current # training set entries: 15
[23.02|13:06:27] Current # validation set entries: 8
[23.02|13:06:27] Storing data in step1_attempt2_reference_data
[23.02|13:06:27] Deleting step1_attempt1_reference_data
[23.02|13:06:27] Deleting step1_attempt2_reference_calc1
[23.02|13:06:27]
[23.02|13:06:27] Current (cumulative) timings:
[23.02|13:06:27] Time (s) Fraction
[23.02|13:06:27] Ref. calcs 3.02 0.011
[23.02|13:06:27] ML training 218.53 0.808
[23.02|13:06:27] Simulations 48.83 0.181
[23.02|13:06:27]
[23.02|13:06:27]
[23.02|13:06:28] Step 1 finished successfully!
[23.02|13:06:28]
[23.02|13:06:28] --- Begin summary ---
[23.02|13:06:28] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:06:28] 1 1 FAILED Inaccurate 0.6537
[23.02|13:06:28] 1 2 SUCCESS Accurate 0.3114
[23.02|13:06:28] --- End summary ---
[23.02|13:06:28]
[23.02|13:06:28] ##########################
[23.02|13:06:28] ### Step 2 / Attempt 1 ###
[23.02|13:06:28] ##########################
[23.02|13:06:28] MD Steps: 5000 (cumulative: 5500)
[23.02|13:06:28] Current engine settings:
[23.02|13:06:28]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step1_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:06:28] Running step2_attempt1_simulation...
[23.02|13:08:38] Job step2_attempt1_simulation finished
[23.02|13:08:38] Deleting files that are no longer needed...
[23.02|13:08:38] Deleting step1_attempt1_simulation
[23.02|13:08:39] Launching reference calculation
[23.02|13:08:40] Reference calculation finished!
[23.02|13:08:40] Checking success for step2_attempt1
[23.02|13:08:49] CheckEnergy: Checking energy for MDStep5500, n_atoms = 144
[23.02|13:08:49] CheckEnergy: normalization coefficient = 144
[23.02|13:08:49] CheckEnergy: Actual Threshold
[23.02|13:08:49] CheckEnergy: dE/144 -0.0024 0.0020 Not OK!
[23.02|13:08:49] CheckEnergy: ddE/144 -0.0014 0.0010 Not OK! (relative to step1_attempt2_simulation:MDStep500)
[23.02|13:08:49]
[23.02|13:08:49] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:08:49] CheckForces: ------------
[23.02|13:08:49] CheckForces: Reference job from step2_attempt1_reference_calc1
[23.02|13:08:49] CheckForces: Prediction job from final frame (MDStep5500) of step2_attempt1_simulation
[23.02|13:08:49] CheckForces: ------------
[23.02|13:08:49] CheckForces: Histogram of forces
[23.02|13:08:49] CheckForces: eV/Ang Ref Pred
[23.02|13:08:49] CheckForces: -3 2 2
[23.02|13:08:49] CheckForces: -2 26 29
[23.02|13:08:49] CheckForces: -1 194 192
[23.02|13:08:49] CheckForces: 0 178 180
[23.02|13:08:49] CheckForces: 1 31 28
[23.02|13:08:49] CheckForces: 2 1 1
[23.02|13:08:49] CheckForces: 3 0 0
[23.02|13:08:49] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:08:49] CheckForces: All force components are within the acceptable error!
[23.02|13:08:49] CheckForces: Maximum deviation: 0.248 eV/angstrom
[23.02|13:08:49] CheckForces: Actual Threshold
[23.02|13:08:49] CheckForces: # > thr. 0 0 OK!
[23.02|13:08:49] CheckForces: MAE 0.047 0.30 OK!
[23.02|13:08:49] CheckForces: R^2 0.992 0.80 OK!
[23.02|13:08:49] CheckForces: --------------------
[23.02|13:08:49]
[23.02|13:08:49] Adding results from step2_attempt1_reference_calc1 to training set
[23.02|13:08:49] Current # training set entries: 16
[23.02|13:08:49] Current # validation set entries: 8
[23.02|13:08:49] Storing data in step2_attempt1_reference_data
[23.02|13:08:49] Deleting step1_attempt2_reference_data
[23.02|13:08:49] Deleting step2_attempt1_reference_calc1
[23.02|13:08:49]
[23.02|13:08:49] Current (cumulative) timings:
[23.02|13:08:49] Time (s) Fraction
[23.02|13:08:49] Ref. calcs 3.81 0.009
[23.02|13:08:49] ML training 218.53 0.544
[23.02|13:08:49] Simulations 179.34 0.446
[23.02|13:08:49]
[23.02|13:08:49]
[23.02|13:08:49]
[23.02|13:08:49] --- Begin summary ---
[23.02|13:08:49] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:08:49] 1 1 FAILED Inaccurate 0.6537
[23.02|13:08:49] 1 2 SUCCESS Accurate 0.3114
[23.02|13:08:49] 2 1 FAILED Inaccurate 0.2480
[23.02|13:08:49] --- End summary ---
[23.02|13:08:49]
[23.02|13:08:49] Running more reference calculations....
[23.02|13:08:50] Running reference calculations on frames [36] from step2_attempt1_simulation/ams.rkf
[23.02|13:08:50] Calculating 1 frames in total
[23.02|13:08:50] Running step2_attempt1_reference_calc2
[23.02|13:08:50] Reference calculations finished!
[23.02|13:08:51] Adding results from step2_attempt1_reference_calc2 to validation set
[23.02|13:08:51] Current # training set entries: 16
[23.02|13:08:51] Current # validation set entries: 9
[23.02|13:08:51] Storing data in step2_attempt1_reference_data
[23.02|13:08:51] Deleting step2_attempt1_reference_calc2
[23.02|13:08:51] Launching reparametrization job: step2_attempt1_training
[23.02|13:08:55] JOB m3gnet STARTED
[23.02|13:08:55] Starting m3gnet.prerun()
[23.02|13:08:55] m3gnet.prerun() finished
[23.02|13:08:55] JOB m3gnet RUNNING
[23.02|13:08:55] Executing m3gnet.run
[23.02|13:09:58] training_set Optimizer: 001 Epoch: 0 Loss: 0.005181
[23.02|13:09:58] validation_set Optimizer: 001 Epoch: 0 Loss: 0.092099
[23.02|13:10:03] training_set Optimizer: 001 Epoch: 10 Loss: 0.000306
[23.02|13:10:03] validation_set Optimizer: 001 Epoch: 10 Loss: 0.014201
[23.02|13:10:08] training_set Optimizer: 001 Epoch: 20 Loss: 0.000155
[23.02|13:10:08] validation_set Optimizer: 001 Epoch: 20 Loss: 0.005534
[23.02|13:10:13] training_set Optimizer: 001 Epoch: 30 Loss: 0.000147
[23.02|13:10:13] validation_set Optimizer: 001 Epoch: 30 Loss: 0.004735
[23.02|13:10:18] training_set Optimizer: 001 Epoch: 40 Loss: 0.000150
[23.02|13:10:18] validation_set Optimizer: 001 Epoch: 40 Loss: 0.004815
[23.02|13:10:23] training_set Optimizer: 001 Epoch: 50 Loss: 0.000138
[23.02|13:10:23] validation_set Optimizer: 001 Epoch: 50 Loss: 0.004652
[23.02|13:10:28] training_set Optimizer: 001 Epoch: 60 Loss: 0.000139
[23.02|13:10:28] validation_set Optimizer: 001 Epoch: 60 Loss: 0.005051
[23.02|13:10:33] training_set Optimizer: 001 Epoch: 70 Loss: 0.000147
[23.02|13:10:33] validation_set Optimizer: 001 Epoch: 70 Loss: 0.004521
[23.02|13:10:38] training_set Optimizer: 001 Epoch: 80 Loss: 0.000176
[23.02|13:10:38] validation_set Optimizer: 001 Epoch: 80 Loss: 0.006159
[23.02|13:10:43] training_set Optimizer: 001 Epoch: 90 Loss: 0.000144
[23.02|13:10:43] validation_set Optimizer: 001 Epoch: 90 Loss: 0.005048
[23.02|13:10:49] training_set Optimizer: 001 Epoch: 100 Loss: 0.000153
[23.02|13:10:49] validation_set Optimizer: 001 Epoch: 100 Loss: 0.006563
[23.02|13:10:54] training_set Optimizer: 001 Epoch: 110 Loss: 0.000134
[23.02|13:10:54] validation_set Optimizer: 001 Epoch: 110 Loss: 0.005537
[23.02|13:10:59] training_set Optimizer: 001 Epoch: 120 Loss: 0.000156
[23.02|13:10:59] validation_set Optimizer: 001 Epoch: 120 Loss: 0.006106
[23.02|13:11:04] training_set Optimizer: 001 Epoch: 130 Loss: 0.000143
[23.02|13:11:04] validation_set Optimizer: 001 Epoch: 130 Loss: 0.004727
[23.02|13:11:09] training_set Optimizer: 001 Epoch: 140 Loss: 0.000132
[23.02|13:11:09] validation_set Optimizer: 001 Epoch: 140 Loss: 0.004666
[23.02|13:11:14] training_set Optimizer: 001 Epoch: 150 Loss: 0.000148
[23.02|13:11:14] validation_set Optimizer: 001 Epoch: 150 Loss: 0.006829
[23.02|13:11:19] training_set Optimizer: 001 Epoch: 160 Loss: 0.000144
[23.02|13:11:19] validation_set Optimizer: 001 Epoch: 160 Loss: 0.007166
[23.02|13:11:24] training_set Optimizer: 001 Epoch: 170 Loss: 0.000128
[23.02|13:11:24] validation_set Optimizer: 001 Epoch: 170 Loss: 0.007459
[23.02|13:11:29] training_set Optimizer: 001 Epoch: 180 Loss: 0.000144
[23.02|13:11:29] validation_set Optimizer: 001 Epoch: 180 Loss: 0.006733
[23.02|13:11:34] training_set Optimizer: 001 Epoch: 190 Loss: 0.000134
[23.02|13:11:34] validation_set Optimizer: 001 Epoch: 190 Loss: 0.005596
[23.02|13:11:39] training_set Optimizer: 001 Epoch: 200 Loss: 0.000175
[23.02|13:11:39] validation_set Optimizer: 001 Epoch: 200 Loss: 0.005531
[23.02|13:11:44] training_set Optimizer: 001 Epoch: 210 Loss: 0.000129
[23.02|13:11:44] validation_set Optimizer: 001 Epoch: 210 Loss: 0.005266
[23.02|13:11:49] training_set Optimizer: 001 Epoch: 220 Loss: 0.000126
[23.02|13:11:49] validation_set Optimizer: 001 Epoch: 220 Loss: 0.007299
[23.02|13:11:54] training_set Optimizer: 001 Epoch: 230 Loss: 0.000138
[23.02|13:11:54] validation_set Optimizer: 001 Epoch: 230 Loss: 0.004846
[23.02|13:12:00] training_set Optimizer: 001 Epoch: 240 Loss: 0.000136
[23.02|13:12:00] validation_set Optimizer: 001 Epoch: 240 Loss: 0.004617
[23.02|13:12:05] training_set Optimizer: 001 Epoch: 250 Loss: 0.000141
[23.02|13:12:05] validation_set Optimizer: 001 Epoch: 250 Loss: 0.007719
[23.02|13:12:10] training_set Optimizer: 001 Epoch: 260 Loss: 0.000156
[23.02|13:12:10] validation_set Optimizer: 001 Epoch: 260 Loss: 0.004924
[23.02|13:12:15] training_set Optimizer: 001 Epoch: 270 Loss: 0.000161
[23.02|13:12:15] validation_set Optimizer: 001 Epoch: 270 Loss: 0.008522
[23.02|13:12:20] training_set Optimizer: 001 Epoch: 280 Loss: 0.000178
[23.02|13:12:20] validation_set Optimizer: 001 Epoch: 280 Loss: 0.008947
[23.02|13:12:25] training_set Optimizer: 001 Epoch: 290 Loss: 0.000457
[23.02|13:12:25] validation_set Optimizer: 001 Epoch: 290 Loss: 0.010013
[23.02|13:12:31] Execution of m3gnet.run finished with returncode 0
[23.02|13:12:31] JOB m3gnet FINISHED
[23.02|13:12:31] Starting m3gnet.postrun()
[23.02|13:12:31] m3gnet.postrun() finished
[23.02|13:12:32] JOB m3gnet SUCCESSFUL
[23.02|13:12:45] Running all jobs through AMS....
[23.02|13:12:45] Storing results/optimization/training_set_results/best
[23.02|13:12:45] Storing results/optimization/validation_set_results/best
[23.02|13:12:45] PLAMS environment cleaned up successfully
[23.02|13:12:45] PLAMS run finished. Goodbye
[23.02|13:12:46] ParAMSResults training_set validation_set
[23.02|13:12:46] energy MAE 0.6409 0.6951 eV
[23.02|13:12:46] forces MAE 0.0303 0.0429 eV/angstrom
[23.02|13:12:46] Newly created parameter file/dir: step2_attempt1_training/results/optimization/m3gnet/m3gnet
[23.02|13:12:46] Done!
[23.02|13:12:46] Deleting step1_attempt1_training
[23.02|13:12:46] ##########################
[23.02|13:12:46] ### Step 2 / Attempt 2 ###
[23.02|13:12:46] ##########################
[23.02|13:12:46] MD Steps: 5000 (cumulative: 5500)
[23.02|13:12:46] Current engine settings:
[23.02|13:12:46]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step2_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:12:46] Running step2_attempt2_simulation...
[23.02|13:14:58] Job step2_attempt2_simulation finished
[23.02|13:14:58] Deleting files that are no longer needed...
[23.02|13:14:59] Launching reference calculation
[23.02|13:15:00] Reference calculation finished!
[23.02|13:15:00] Checking success for step2_attempt2
[23.02|13:15:09] CheckEnergy: Checking energy for MDStep5500, n_atoms = 144
[23.02|13:15:09] CheckEnergy: normalization coefficient = 144
[23.02|13:15:09] CheckEnergy: Actual Threshold
[23.02|13:15:09] CheckEnergy: dE/144 0.0047 0.0020 Not OK!
[23.02|13:15:09] CheckEnergy: ddE/144 0.0018 0.0010 Not OK! (relative to step2_attempt1_simulation:MDStep5500)
[23.02|13:15:09]
[23.02|13:15:09] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:15:09] CheckForces: ------------
[23.02|13:15:09] CheckForces: Reference job from step2_attempt2_reference_calc1
[23.02|13:15:09] CheckForces: Prediction job from final frame (MDStep5500) of step2_attempt2_simulation
[23.02|13:15:09] CheckForces: ------------
[23.02|13:15:09] CheckForces: Histogram of forces
[23.02|13:15:09] CheckForces: eV/Ang Ref Pred
[23.02|13:15:09] CheckForces: -4 0 0
[23.02|13:15:09] CheckForces: -3 4 4
[23.02|13:15:09] CheckForces: -2 21 21
[23.02|13:15:09] CheckForces: -1 183 181
[23.02|13:15:09] CheckForces: 0 202 205
[23.02|13:15:09] CheckForces: 1 19 18
[23.02|13:15:09] CheckForces: 2 3 3
[23.02|13:15:09] CheckForces: 3 0 0
[23.02|13:15:09] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:15:09] CheckForces: All force components are within the acceptable error!
[23.02|13:15:09] CheckForces: Maximum deviation: 0.196 eV/angstrom
[23.02|13:15:09] CheckForces: Actual Threshold
[23.02|13:15:09] CheckForces: # > thr. 0 0 OK!
[23.02|13:15:09] CheckForces: MAE 0.030 0.30 OK!
[23.02|13:15:09] CheckForces: R^2 0.996 0.80 OK!
[23.02|13:15:09] CheckForces: --------------------
[23.02|13:15:09]
[23.02|13:15:09] Adding results from step2_attempt2_reference_calc1 to training set
[23.02|13:15:09] Current # training set entries: 17
[23.02|13:15:09] Current # validation set entries: 9
[23.02|13:15:09] Storing data in step2_attempt2_reference_data
[23.02|13:15:09] Deleting step2_attempt1_reference_data
[23.02|13:15:09] Deleting step2_attempt2_reference_calc1
[23.02|13:15:09]
[23.02|13:15:09] Current (cumulative) timings:
[23.02|13:15:09] Time (s) Fraction
[23.02|13:15:09] Ref. calcs 5.64 0.007
[23.02|13:15:09] ML training 453.91 0.589
[23.02|13:15:09] Simulations 311.13 0.404
[23.02|13:15:09]
[23.02|13:15:09]
[23.02|13:15:10]
[23.02|13:15:10] --- Begin summary ---
[23.02|13:15:10] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:15:10] 1 1 FAILED Inaccurate 0.6537
[23.02|13:15:10] 1 2 SUCCESS Accurate 0.3114
[23.02|13:15:10] 2 1 FAILED Inaccurate 0.2480
[23.02|13:15:10] 2 2 FAILED Inaccurate 0.1961
[23.02|13:15:10] --- End summary ---
[23.02|13:15:10]
[23.02|13:15:10] Running more reference calculations....
[23.02|13:15:10] Running reference calculations on frames [36] from step2_attempt2_simulation/ams.rkf
[23.02|13:15:10] Calculating 1 frames in total
[23.02|13:15:10] Running step2_attempt2_reference_calc2
[23.02|13:15:11] Reference calculations finished!
[23.02|13:15:11] Adding results from step2_attempt2_reference_calc2 to validation set
[23.02|13:15:11] Current # training set entries: 17
[23.02|13:15:11] Current # validation set entries: 10
[23.02|13:15:11] Storing data in step2_attempt2_reference_data
[23.02|13:15:11] Deleting step2_attempt2_reference_calc2
[23.02|13:15:11] Launching reparametrization job: step2_attempt2_training
[23.02|13:15:15] JOB m3gnet STARTED
[23.02|13:15:15] Starting m3gnet.prerun()
[23.02|13:15:15] m3gnet.prerun() finished
[23.02|13:15:15] JOB m3gnet RUNNING
[23.02|13:15:15] Executing m3gnet.run
[23.02|13:16:19] training_set Optimizer: 001 Epoch: 0 Loss: 0.003812
[23.02|13:16:19] validation_set Optimizer: 001 Epoch: 0 Loss: 0.071777
[23.02|13:16:24] training_set Optimizer: 001 Epoch: 10 Loss: 0.000226
[23.02|13:16:24] validation_set Optimizer: 001 Epoch: 10 Loss: 0.009449
[23.02|13:16:29] training_set Optimizer: 001 Epoch: 20 Loss: 0.000124
[23.02|13:16:29] validation_set Optimizer: 001 Epoch: 20 Loss: 0.004462
[23.02|13:16:34] training_set Optimizer: 001 Epoch: 30 Loss: 0.000118
[23.02|13:16:34] validation_set Optimizer: 001 Epoch: 30 Loss: 0.004269
[23.02|13:16:40] training_set Optimizer: 001 Epoch: 40 Loss: 0.000111
[23.02|13:16:40] validation_set Optimizer: 001 Epoch: 40 Loss: 0.004495
[23.02|13:16:45] training_set Optimizer: 001 Epoch: 50 Loss: 0.000108
[23.02|13:16:45] validation_set Optimizer: 001 Epoch: 50 Loss: 0.004333
[23.02|13:16:50] training_set Optimizer: 001 Epoch: 60 Loss: 0.000115
[23.02|13:16:50] validation_set Optimizer: 001 Epoch: 60 Loss: 0.004434
[23.02|13:16:55] training_set Optimizer: 001 Epoch: 70 Loss: 0.000109
[23.02|13:16:55] validation_set Optimizer: 001 Epoch: 70 Loss: 0.004656
[23.02|13:17:01] training_set Optimizer: 001 Epoch: 80 Loss: 0.000110
[23.02|13:17:01] validation_set Optimizer: 001 Epoch: 80 Loss: 0.004783
[23.02|13:17:06] training_set Optimizer: 001 Epoch: 90 Loss: 0.000106
[23.02|13:17:06] validation_set Optimizer: 001 Epoch: 90 Loss: 0.005066
[23.02|13:17:11] training_set Optimizer: 001 Epoch: 100 Loss: 0.000102
[23.02|13:17:11] validation_set Optimizer: 001 Epoch: 100 Loss: 0.006718
[23.02|13:17:16] training_set Optimizer: 001 Epoch: 110 Loss: 0.000100
[23.02|13:17:16] validation_set Optimizer: 001 Epoch: 110 Loss: 0.005038
[23.02|13:17:22] training_set Optimizer: 001 Epoch: 120 Loss: 0.000107
[23.02|13:17:22] validation_set Optimizer: 001 Epoch: 120 Loss: 0.005421
[23.02|13:17:27] training_set Optimizer: 001 Epoch: 130 Loss: 0.000107
[23.02|13:17:27] validation_set Optimizer: 001 Epoch: 130 Loss: 0.004292
[23.02|13:17:32] training_set Optimizer: 001 Epoch: 140 Loss: 0.000109
[23.02|13:17:32] validation_set Optimizer: 001 Epoch: 140 Loss: 0.005376
[23.02|13:17:38] training_set Optimizer: 001 Epoch: 150 Loss: 0.000109
[23.02|13:17:38] validation_set Optimizer: 001 Epoch: 150 Loss: 0.004401
[23.02|13:17:43] training_set Optimizer: 001 Epoch: 160 Loss: 0.000113
[23.02|13:17:43] validation_set Optimizer: 001 Epoch: 160 Loss: 0.005881
[23.02|13:17:48] training_set Optimizer: 001 Epoch: 170 Loss: 0.000104
[23.02|13:17:48] validation_set Optimizer: 001 Epoch: 170 Loss: 0.004462
[23.02|13:17:53] training_set Optimizer: 001 Epoch: 180 Loss: 0.000103
[23.02|13:17:53] validation_set Optimizer: 001 Epoch: 180 Loss: 0.006891
[23.02|13:17:59] training_set Optimizer: 001 Epoch: 190 Loss: 0.000121
[23.02|13:17:59] validation_set Optimizer: 001 Epoch: 190 Loss: 0.005956
[23.02|13:18:04] training_set Optimizer: 001 Epoch: 200 Loss: 0.000097
[23.02|13:18:04] validation_set Optimizer: 001 Epoch: 200 Loss: 0.006153
[23.02|13:18:09] training_set Optimizer: 001 Epoch: 210 Loss: 0.000109
[23.02|13:18:09] validation_set Optimizer: 001 Epoch: 210 Loss: 0.004813
[23.02|13:18:14] training_set Optimizer: 001 Epoch: 220 Loss: 0.000108
[23.02|13:18:14] validation_set Optimizer: 001 Epoch: 220 Loss: 0.005047
[23.02|13:18:20] training_set Optimizer: 001 Epoch: 230 Loss: 0.000101
[23.02|13:18:20] validation_set Optimizer: 001 Epoch: 230 Loss: 0.005860
[23.02|13:18:26] training_set Optimizer: 001 Epoch: 240 Loss: 0.000103
[23.02|13:18:26] validation_set Optimizer: 001 Epoch: 240 Loss: 0.004133
[23.02|13:18:31] training_set Optimizer: 001 Epoch: 250 Loss: 0.000208
[23.02|13:18:31] validation_set Optimizer: 001 Epoch: 250 Loss: 0.006404
[23.02|13:18:36] training_set Optimizer: 001 Epoch: 260 Loss: 0.000106
[23.02|13:18:36] validation_set Optimizer: 001 Epoch: 260 Loss: 0.006800
[23.02|13:18:42] training_set Optimizer: 001 Epoch: 270 Loss: 0.000093
[23.02|13:18:42] validation_set Optimizer: 001 Epoch: 270 Loss: 0.006832
[23.02|13:18:47] training_set Optimizer: 001 Epoch: 280 Loss: 0.000102
[23.02|13:18:47] validation_set Optimizer: 001 Epoch: 280 Loss: 0.006178
[23.02|13:18:52] training_set Optimizer: 001 Epoch: 290 Loss: 0.000100
[23.02|13:18:52] validation_set Optimizer: 001 Epoch: 290 Loss: 0.004143
[23.02|13:18:59] Execution of m3gnet.run finished with returncode 0
[23.02|13:18:59] JOB m3gnet FINISHED
[23.02|13:18:59] Starting m3gnet.postrun()
[23.02|13:18:59] m3gnet.postrun() finished
[23.02|13:19:00] JOB m3gnet SUCCESSFUL
[23.02|13:19:13] Running all jobs through AMS....
[23.02|13:19:13] Storing results/optimization/training_set_results/best
[23.02|13:19:13] Storing results/optimization/validation_set_results/best
[23.02|13:19:13] PLAMS environment cleaned up successfully
[23.02|13:19:13] PLAMS run finished. Goodbye
[23.02|13:19:14] ParAMSResults training_set validation_set
[23.02|13:19:14] energy MAE 0.1216 0.1699 eV
[23.02|13:19:14] forces MAE 0.0239 0.0393 eV/angstrom
[23.02|13:19:14] Newly created parameter file/dir: step2_attempt2_training/results/optimization/m3gnet/m3gnet
[23.02|13:19:14] Done!
[23.02|13:19:14] Deleting step2_attempt1_training
[23.02|13:19:14] ##########################
[23.02|13:19:14] ### Step 2 / Attempt 3 ###
[23.02|13:19:14] ##########################
[23.02|13:19:14] MD Steps: 5000 (cumulative: 5500)
[23.02|13:19:14] Current engine settings:
[23.02|13:19:14]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step2_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:19:14] Running step2_attempt3_simulation...
[23.02|13:21:25] Job step2_attempt3_simulation finished
[23.02|13:21:25] Deleting files that are no longer needed...
[23.02|13:21:26] Launching reference calculation
[23.02|13:21:27] Reference calculation finished!
[23.02|13:21:27] Checking success for step2_attempt3
[23.02|13:21:36] CheckEnergy: Checking energy for MDStep5500, n_atoms = 144
[23.02|13:21:36] CheckEnergy: normalization coefficient = 144
[23.02|13:21:36] CheckEnergy: Actual Threshold
[23.02|13:21:36] CheckEnergy: dE/144 0.0009 0.0020 OK!
[23.02|13:21:36] CheckEnergy: ddE/144 0.0000 0.0010 OK! (relative to step2_attempt2_simulation:MDStep5500)
[23.02|13:21:36]
[23.02|13:21:36] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:21:36] CheckForces: ------------
[23.02|13:21:36] CheckForces: Reference job from step2_attempt3_reference_calc1
[23.02|13:21:36] CheckForces: Prediction job from final frame (MDStep5500) of step2_attempt3_simulation
[23.02|13:21:36] CheckForces: ------------
[23.02|13:21:36] CheckForces: Histogram of forces
[23.02|13:21:36] CheckForces: eV/Ang Ref Pred
[23.02|13:21:36] CheckForces: -3 1 1
[23.02|13:21:36] CheckForces: -2 30 30
[23.02|13:21:36] CheckForces: -1 184 187
[23.02|13:21:36] CheckForces: 0 185 183
[23.02|13:21:36] CheckForces: 1 29 28
[23.02|13:21:36] CheckForces: 2 3 3
[23.02|13:21:36] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:21:36] CheckForces: All force components are within the acceptable error!
[23.02|13:21:36] CheckForces: Maximum deviation: 0.141 eV/angstrom
[23.02|13:21:36] CheckForces: Actual Threshold
[23.02|13:21:36] CheckForces: # > thr. 0 0 OK!
[23.02|13:21:36] CheckForces: MAE 0.028 0.30 OK!
[23.02|13:21:36] CheckForces: R^2 0.997 0.80 OK!
[23.02|13:21:36] CheckForces: --------------------
[23.02|13:21:36]
[23.02|13:21:36] Adding results from step2_attempt3_reference_calc1 to training set
[23.02|13:21:36] Current # training set entries: 18
[23.02|13:21:36] Current # validation set entries: 10
[23.02|13:21:36] Storing data in step2_attempt3_reference_data
[23.02|13:21:36] Deleting step2_attempt2_reference_data
[23.02|13:21:36] Deleting step2_attempt3_reference_calc1
[23.02|13:21:36]
[23.02|13:21:36] Current (cumulative) timings:
[23.02|13:21:36] Time (s) Fraction
[23.02|13:21:36] Ref. calcs 7.38 0.006
[23.02|13:21:36] ML training 697.00 0.608
[23.02|13:21:36] Simulations 442.03 0.386
[23.02|13:21:36]
[23.02|13:21:36]
[23.02|13:21:37] Step 2 finished successfully!
[23.02|13:21:37]
[23.02|13:21:37] --- Begin summary ---
[23.02|13:21:37] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:21:37] 1 1 FAILED Inaccurate 0.6537
[23.02|13:21:37] 1 2 SUCCESS Accurate 0.3114
[23.02|13:21:37] 2 1 FAILED Inaccurate 0.2480
[23.02|13:21:37] 2 2 FAILED Inaccurate 0.1961
[23.02|13:21:37] 2 3 SUCCESS Accurate 0.1409
[23.02|13:21:37] --- End summary ---
[23.02|13:21:37]
[23.02|13:21:37] ##########################
[23.02|13:21:37] ### Step 3 / Attempt 1 ###
[23.02|13:21:37] ##########################
[23.02|13:21:37] MD Steps: 5000 (cumulative: 10500)
[23.02|13:21:37] Current engine settings:
[23.02|13:21:37]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step2_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:21:37] Running step3_attempt1_simulation...
[23.02|13:23:47] Job step3_attempt1_simulation finished
[23.02|13:23:47] Deleting files that are no longer needed...
[23.02|13:23:47] Deleting step1_attempt2_simulation
[23.02|13:23:47] Deleting step2_attempt1_simulation
[23.02|13:23:47] Deleting step2_attempt2_simulation
[23.02|13:23:48] Launching reference calculation
[23.02|13:23:49] Reference calculation finished!
[23.02|13:23:49] Checking success for step3_attempt1
[23.02|13:23:58] CheckEnergy: Checking energy for MDStep10500, n_atoms = 144
[23.02|13:23:58] CheckEnergy: normalization coefficient = 144
[23.02|13:23:58] CheckEnergy: Actual Threshold
[23.02|13:23:58] CheckEnergy: dE/144 0.0004 0.0020 OK!
[23.02|13:23:58] CheckEnergy: ddE/144 -0.0006 0.0010 OK! (relative to step2_attempt3_simulation:MDStep5500)
[23.02|13:23:58]
[23.02|13:23:58] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:23:58] CheckForces: ------------
[23.02|13:23:58] CheckForces: Reference job from step3_attempt1_reference_calc1
[23.02|13:23:58] CheckForces: Prediction job from final frame (MDStep10500) of step3_attempt1_simulation
[23.02|13:23:58] CheckForces: ------------
[23.02|13:23:58] CheckForces: Histogram of forces
[23.02|13:23:58] CheckForces: eV/Ang Ref Pred
[23.02|13:23:58] CheckForces: -4 0 0
[23.02|13:23:58] CheckForces: -3 3 3
[23.02|13:23:58] CheckForces: -2 20 19
[23.02|13:23:58] CheckForces: -1 186 190
[23.02|13:23:58] CheckForces: 0 194 191
[23.02|13:23:58] CheckForces: 1 24 24
[23.02|13:23:58] CheckForces: 2 5 5
[23.02|13:23:58] CheckForces: 3 0 0
[23.02|13:23:58] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:23:58] CheckForces: All force components are within the acceptable error!
[23.02|13:23:58] CheckForces: Maximum deviation: 0.183 eV/angstrom
[23.02|13:23:58] CheckForces: Actual Threshold
[23.02|13:23:58] CheckForces: # > thr. 0 0 OK!
[23.02|13:23:58] CheckForces: MAE 0.032 0.30 OK!
[23.02|13:23:58] CheckForces: R^2 0.996 0.80 OK!
[23.02|13:23:58] CheckForces: --------------------
[23.02|13:23:58]
[23.02|13:23:58] Adding results from step3_attempt1_reference_calc1 to validation set
[23.02|13:23:58] Current # training set entries: 18
[23.02|13:23:58] Current # validation set entries: 11
[23.02|13:23:58] Storing data in step3_attempt1_reference_data
[23.02|13:23:58] Deleting step2_attempt3_reference_data
[23.02|13:23:58] Deleting step3_attempt1_reference_calc1
[23.02|13:23:58]
[23.02|13:23:58] Current (cumulative) timings:
[23.02|13:23:58] Time (s) Fraction
[23.02|13:23:58] Ref. calcs 8.16 0.006
[23.02|13:23:58] ML training 697.00 0.546
[23.02|13:23:58] Simulations 572.52 0.448
[23.02|13:23:58]
[23.02|13:23:58]
[23.02|13:23:59] Step 3 finished successfully!
[23.02|13:23:59]
[23.02|13:23:59] --- Begin summary ---
[23.02|13:23:59] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:23:59] 1 1 FAILED Inaccurate 0.6537
[23.02|13:23:59] 1 2 SUCCESS Accurate 0.3114
[23.02|13:23:59] 2 1 FAILED Inaccurate 0.2480
[23.02|13:23:59] 2 2 FAILED Inaccurate 0.1961
[23.02|13:23:59] 2 3 SUCCESS Accurate 0.1409
[23.02|13:23:59] 3 1 SUCCESS Accurate 0.1832
[23.02|13:23:59] --- End summary ---
[23.02|13:23:59]
[23.02|13:23:59] ##########################
[23.02|13:23:59] ### Step 4 / Attempt 1 ###
[23.02|13:23:59] ##########################
[23.02|13:23:59] MD Steps: 5000 (cumulative: 15500)
[23.02|13:23:59] Current engine settings:
[23.02|13:23:59]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step2_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:23:59] Running step4_attempt1_simulation...
[23.02|13:26:10] Job step4_attempt1_simulation finished
[23.02|13:26:10] Deleting files that are no longer needed...
[23.02|13:26:10] Deleting step2_attempt3_simulation
[23.02|13:26:11] Launching reference calculation
[23.02|13:26:12] Reference calculation finished!
[23.02|13:26:12] Checking success for step4_attempt1
[23.02|13:26:21] CheckEnergy: Checking energy for MDStep15500, n_atoms = 144
[23.02|13:26:21] CheckEnergy: normalization coefficient = 144
[23.02|13:26:21] CheckEnergy: Actual Threshold
[23.02|13:26:21] CheckEnergy: dE/144 0.0005 0.0020 OK!
[23.02|13:26:21] CheckEnergy: ddE/144 0.0001 0.0010 OK! (relative to step3_attempt1_simulation:MDStep10500)
[23.02|13:26:21]
[23.02|13:26:21] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:26:21] CheckForces: ------------
[23.02|13:26:21] CheckForces: Reference job from step4_attempt1_reference_calc1
[23.02|13:26:21] CheckForces: Prediction job from final frame (MDStep15500) of step4_attempt1_simulation
[23.02|13:26:21] CheckForces: ------------
[23.02|13:26:21] CheckForces: Histogram of forces
[23.02|13:26:21] CheckForces: eV/Ang Ref Pred
[23.02|13:26:21] CheckForces: -3 3 3
[23.02|13:26:21] CheckForces: -2 27 27
[23.02|13:26:21] CheckForces: -1 179 173
[23.02|13:26:21] CheckForces: 0 199 204
[23.02|13:26:21] CheckForces: 1 23 24
[23.02|13:26:21] CheckForces: 2 1 1
[23.02|13:26:21] CheckForces: 3 0 0
[23.02|13:26:21] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:26:21] CheckForces: All force components are within the acceptable error!
[23.02|13:26:21] CheckForces: Maximum deviation: 0.272 eV/angstrom
[23.02|13:26:21] CheckForces: Actual Threshold
[23.02|13:26:21] CheckForces: # > thr. 0 0 OK!
[23.02|13:26:21] CheckForces: MAE 0.033 0.30 OK!
[23.02|13:26:21] CheckForces: R^2 0.995 0.80 OK!
[23.02|13:26:21] CheckForces: --------------------
[23.02|13:26:21]
[23.02|13:26:22] Adding results from step4_attempt1_reference_calc1 to validation set
[23.02|13:26:22] Current # training set entries: 18
[23.02|13:26:22] Current # validation set entries: 12
[23.02|13:26:22] Storing data in step4_attempt1_reference_data
[23.02|13:26:22] Deleting step3_attempt1_reference_data
[23.02|13:26:22] Deleting step4_attempt1_reference_calc1
[23.02|13:26:22]
[23.02|13:26:22] Current (cumulative) timings:
[23.02|13:26:22] Time (s) Fraction
[23.02|13:26:22] Ref. calcs 9.05 0.006
[23.02|13:26:22] ML training 697.00 0.494
[23.02|13:26:22] Simulations 704.17 0.499
[23.02|13:26:22]
[23.02|13:26:22]
[23.02|13:26:22] Step 4 finished successfully!
[23.02|13:26:22]
[23.02|13:26:22] --- Begin summary ---
[23.02|13:26:22] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:26:22] 1 1 FAILED Inaccurate 0.6537
[23.02|13:26:22] 1 2 SUCCESS Accurate 0.3114
[23.02|13:26:22] 2 1 FAILED Inaccurate 0.2480
[23.02|13:26:22] 2 2 FAILED Inaccurate 0.1961
[23.02|13:26:22] 2 3 SUCCESS Accurate 0.1409
[23.02|13:26:22] 3 1 SUCCESS Accurate 0.1832
[23.02|13:26:22] 4 1 SUCCESS Accurate 0.2718
[23.02|13:26:22] --- End summary ---
[23.02|13:26:22]
[23.02|13:26:22] ##########################
[23.02|13:26:22] ### Step 5 / Attempt 1 ###
[23.02|13:26:22] ##########################
[23.02|13:26:22] MD Steps: 5000 (cumulative: 20500)
[23.02|13:26:22] Current engine settings:
[23.02|13:26:22]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step2_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:26:22] Running step5_attempt1_simulation...
[23.02|13:28:36] Job step5_attempt1_simulation finished
[23.02|13:28:36] Deleting files that are no longer needed...
[23.02|13:28:36] Deleting step3_attempt1_simulation
[23.02|13:28:37] Launching reference calculation
[23.02|13:28:38] Reference calculation finished!
[23.02|13:28:38] Checking success for step5_attempt1
[23.02|13:28:47] CheckEnergy: Checking energy for MDStep20500, n_atoms = 144
[23.02|13:28:47] CheckEnergy: normalization coefficient = 144
[23.02|13:28:47] CheckEnergy: Actual Threshold
[23.02|13:28:47] CheckEnergy: dE/144 -0.0003 0.0020 OK!
[23.02|13:28:47] CheckEnergy: ddE/144 -0.0008 0.0010 OK! (relative to step4_attempt1_simulation:MDStep15500)
[23.02|13:28:47]
[23.02|13:28:47] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:28:47] CheckForces: ------------
[23.02|13:28:47] CheckForces: Reference job from step5_attempt1_reference_calc1
[23.02|13:28:47] CheckForces: Prediction job from final frame (MDStep20500) of step5_attempt1_simulation
[23.02|13:28:47] CheckForces: ------------
[23.02|13:28:47] CheckForces: Histogram of forces
[23.02|13:28:47] CheckForces: eV/Ang Ref Pred
[23.02|13:28:47] CheckForces: -3 3 3
[23.02|13:28:47] CheckForces: -2 28 26
[23.02|13:28:47] CheckForces: -1 190 188
[23.02|13:28:47] CheckForces: 0 182 186
[23.02|13:28:47] CheckForces: 1 24 25
[23.02|13:28:47] CheckForces: 2 4 3
[23.02|13:28:47] CheckForces: 3 1 1
[23.02|13:28:47] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:28:47] CheckForces: All force components are within the acceptable error!
[23.02|13:28:47] CheckForces: Maximum deviation: 0.217 eV/angstrom
[23.02|13:28:47] CheckForces: Actual Threshold
[23.02|13:28:47] CheckForces: # > thr. 0 0 OK!
[23.02|13:28:47] CheckForces: MAE 0.037 0.30 OK!
[23.02|13:28:47] CheckForces: R^2 0.996 0.80 OK!
[23.02|13:28:47] CheckForces: --------------------
[23.02|13:28:47]
[23.02|13:28:47] Adding results from step5_attempt1_reference_calc1 to validation set
[23.02|13:28:47] Current # training set entries: 18
[23.02|13:28:47] Current # validation set entries: 13
[23.02|13:28:47] Storing data in step5_attempt1_reference_data
[23.02|13:28:48] Deleting step4_attempt1_reference_data
[23.02|13:28:48] Deleting step5_attempt1_reference_calc1
[23.02|13:28:48]
[23.02|13:28:48] Current (cumulative) timings:
[23.02|13:28:48] Time (s) Fraction
[23.02|13:28:48] Ref. calcs 9.85 0.006
[23.02|13:28:48] ML training 697.00 0.451
[23.02|13:28:48] Simulations 837.89 0.542
[23.02|13:28:48]
[23.02|13:28:48]
[23.02|13:28:48] Step 5 finished successfully!
[23.02|13:28:48]
[23.02|13:28:48] --- Begin summary ---
[23.02|13:28:48] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:28:48] 1 1 FAILED Inaccurate 0.6537
[23.02|13:28:48] 1 2 SUCCESS Accurate 0.3114
[23.02|13:28:48] 2 1 FAILED Inaccurate 0.2480
[23.02|13:28:48] 2 2 FAILED Inaccurate 0.1961
[23.02|13:28:48] 2 3 SUCCESS Accurate 0.1409
[23.02|13:28:48] 3 1 SUCCESS Accurate 0.1832
[23.02|13:28:48] 4 1 SUCCESS Accurate 0.2718
[23.02|13:28:48] 5 1 SUCCESS Accurate 0.2173
[23.02|13:28:48] --- End summary ---
[23.02|13:28:48]
[23.02|13:28:48] ##########################
[23.02|13:28:48] ### Step 6 / Attempt 1 ###
[23.02|13:28:48] ##########################
[23.02|13:28:48] MD Steps: 5000 (cumulative: 25500)
[23.02|13:28:48] Current engine settings:
[23.02|13:28:48]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step2_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:28:48] Running step6_attempt1_simulation...
[23.02|13:31:05] Job step6_attempt1_simulation finished
[23.02|13:31:05] Deleting files that are no longer needed...
[23.02|13:31:05] Deleting step4_attempt1_simulation
[23.02|13:31:06] Launching reference calculation
[23.02|13:31:07] Reference calculation finished!
[23.02|13:31:07] Checking success for step6_attempt1
[23.02|13:31:16] CheckEnergy: Checking energy for MDStep25500, n_atoms = 144
[23.02|13:31:16] CheckEnergy: normalization coefficient = 144
[23.02|13:31:16] CheckEnergy: Actual Threshold
[23.02|13:31:16] CheckEnergy: dE/144 0.0004 0.0020 OK!
[23.02|13:31:16] CheckEnergy: ddE/144 0.0007 0.0010 OK! (relative to step5_attempt1_simulation:MDStep20500)
[23.02|13:31:16]
[23.02|13:31:16] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:31:16] CheckForces: ------------
[23.02|13:31:16] CheckForces: Reference job from step6_attempt1_reference_calc1
[23.02|13:31:16] CheckForces: Prediction job from final frame (MDStep25500) of step6_attempt1_simulation
[23.02|13:31:16] CheckForces: ------------
[23.02|13:31:16] CheckForces: Histogram of forces
[23.02|13:31:16] CheckForces: eV/Ang Ref Pred
[23.02|13:31:16] CheckForces: -4 0 0
[23.02|13:31:16] CheckForces: -3 2 3
[23.02|13:31:16] CheckForces: -2 29 30
[23.02|13:31:16] CheckForces: -1 176 171
[23.02|13:31:16] CheckForces: 0 191 193
[23.02|13:31:16] CheckForces: 1 31 31
[23.02|13:31:16] CheckForces: 2 3 4
[23.02|13:31:16] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:31:16] CheckForces: All force components are within the acceptable error!
[23.02|13:31:16] CheckForces: Maximum deviation: 0.157 eV/angstrom
[23.02|13:31:16] CheckForces: Actual Threshold
[23.02|13:31:16] CheckForces: # > thr. 0 0 OK!
[23.02|13:31:16] CheckForces: MAE 0.033 0.30 OK!
[23.02|13:31:16] CheckForces: R^2 0.997 0.80 OK!
[23.02|13:31:16] CheckForces: --------------------
[23.02|13:31:16]
[23.02|13:31:17] Adding results from step6_attempt1_reference_calc1 to validation set
[23.02|13:31:17] Current # training set entries: 18
[23.02|13:31:17] Current # validation set entries: 14
[23.02|13:31:17] Storing data in step6_attempt1_reference_data
[23.02|13:31:17] Deleting step5_attempt1_reference_data
[23.02|13:31:17] Deleting step6_attempt1_reference_calc1
[23.02|13:31:17]
[23.02|13:31:17] Current (cumulative) timings:
[23.02|13:31:17] Time (s) Fraction
[23.02|13:31:17] Ref. calcs 10.65 0.006
[23.02|13:31:17] ML training 697.00 0.414
[23.02|13:31:17] Simulations 975.44 0.580
[23.02|13:31:17]
[23.02|13:31:17]
[23.02|13:31:17] Step 6 finished successfully!
[23.02|13:31:17]
[23.02|13:31:17] --- Begin summary ---
[23.02|13:31:17] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:31:17] 1 1 FAILED Inaccurate 0.6537
[23.02|13:31:17] 1 2 SUCCESS Accurate 0.3114
[23.02|13:31:17] 2 1 FAILED Inaccurate 0.2480
[23.02|13:31:17] 2 2 FAILED Inaccurate 0.1961
[23.02|13:31:17] 2 3 SUCCESS Accurate 0.1409
[23.02|13:31:17] 3 1 SUCCESS Accurate 0.1832
[23.02|13:31:17] 4 1 SUCCESS Accurate 0.2718
[23.02|13:31:17] 5 1 SUCCESS Accurate 0.2173
[23.02|13:31:17] 6 1 SUCCESS Accurate 0.1572
[23.02|13:31:17] --- End summary ---
[23.02|13:31:17]
[23.02|13:31:17] ##########################
[23.02|13:31:17] ### Step 7 / Attempt 1 ###
[23.02|13:31:17] ##########################
[23.02|13:31:17] MD Steps: 5000 (cumulative: 30500)
[23.02|13:31:17] Current engine settings:
[23.02|13:31:17]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step2_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:31:17] Running step7_attempt1_simulation...
[23.02|13:33:32] Job step7_attempt1_simulation finished
[23.02|13:33:32] Deleting files that are no longer needed...
[23.02|13:33:32] Deleting step5_attempt1_simulation
[23.02|13:33:33] Launching reference calculation
[23.02|13:33:34] Reference calculation finished!
[23.02|13:33:34] Checking success for step7_attempt1
[23.02|13:33:43] CheckEnergy: Checking energy for MDStep30500, n_atoms = 144
[23.02|13:33:43] CheckEnergy: normalization coefficient = 144
[23.02|13:33:43] CheckEnergy: Actual Threshold
[23.02|13:33:43] CheckEnergy: dE/144 0.0005 0.0020 OK!
[23.02|13:33:43] CheckEnergy: ddE/144 0.0001 0.0010 OK! (relative to step6_attempt1_simulation:MDStep25500)
[23.02|13:33:43]
[23.02|13:33:43] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:33:43] CheckForces: ------------
[23.02|13:33:43] CheckForces: Reference job from step7_attempt1_reference_calc1
[23.02|13:33:43] CheckForces: Prediction job from final frame (MDStep30500) of step7_attempt1_simulation
[23.02|13:33:43] CheckForces: ------------
[23.02|13:33:43] CheckForces: Histogram of forces
[23.02|13:33:43] CheckForces: eV/Ang Ref Pred
[23.02|13:33:43] CheckForces: -4 2 2
[23.02|13:33:43] CheckForces: -3 1 1
[23.02|13:33:43] CheckForces: -2 32 34
[23.02|13:33:43] CheckForces: -1 172 170
[23.02|13:33:43] CheckForces: 0 194 193
[23.02|13:33:43] CheckForces: 1 29 30
[23.02|13:33:43] CheckForces: 2 2 2
[23.02|13:33:43] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:33:43] CheckForces: All force components are within the acceptable error!
[23.02|13:33:43] CheckForces: Maximum deviation: 0.294 eV/angstrom
[23.02|13:33:43] CheckForces: Actual Threshold
[23.02|13:33:43] CheckForces: # > thr. 0 0 OK!
[23.02|13:33:43] CheckForces: MAE 0.034 0.30 OK!
[23.02|13:33:43] CheckForces: R^2 0.996 0.80 OK!
[23.02|13:33:43] CheckForces: --------------------
[23.02|13:33:43]
[23.02|13:33:43] Adding results from step7_attempt1_reference_calc1 to validation set
[23.02|13:33:43] Current # training set entries: 18
[23.02|13:33:43] Current # validation set entries: 15
[23.02|13:33:43] Storing data in step7_attempt1_reference_data
[23.02|13:33:43] Deleting step6_attempt1_reference_data
[23.02|13:33:43] Deleting step7_attempt1_reference_calc1
[23.02|13:33:43]
[23.02|13:33:43] Current (cumulative) timings:
[23.02|13:33:43] Time (s) Fraction
[23.02|13:33:43] Ref. calcs 11.45 0.006
[23.02|13:33:43] ML training 697.00 0.383
[23.02|13:33:43] Simulations 1110.36 0.610
[23.02|13:33:43]
[23.02|13:33:43]
[23.02|13:33:44] Step 7 finished successfully!
[23.02|13:33:44]
[23.02|13:33:44] --- Begin summary ---
[23.02|13:33:44] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:33:44] 1 1 FAILED Inaccurate 0.6537
[23.02|13:33:44] 1 2 SUCCESS Accurate 0.3114
[23.02|13:33:44] 2 1 FAILED Inaccurate 0.2480
[23.02|13:33:44] 2 2 FAILED Inaccurate 0.1961
[23.02|13:33:44] 2 3 SUCCESS Accurate 0.1409
[23.02|13:33:44] 3 1 SUCCESS Accurate 0.1832
[23.02|13:33:44] 4 1 SUCCESS Accurate 0.2718
[23.02|13:33:44] 5 1 SUCCESS Accurate 0.2173
[23.02|13:33:44] 6 1 SUCCESS Accurate 0.1572
[23.02|13:33:44] 7 1 SUCCESS Accurate 0.2936
[23.02|13:33:44] --- End summary ---
[23.02|13:33:44]
[23.02|13:33:44] ##########################
[23.02|13:33:44] ### Step 8 / Attempt 1 ###
[23.02|13:33:44] ##########################
[23.02|13:33:44] MD Steps: 5000 (cumulative: 35500)
[23.02|13:33:44] Current engine settings:
[23.02|13:33:44]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step2_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:33:44] Running step8_attempt1_simulation...
[23.02|13:36:01] Job step8_attempt1_simulation finished
[23.02|13:36:01] Deleting files that are no longer needed...
[23.02|13:36:01] Deleting step6_attempt1_simulation
[23.02|13:36:02] Launching reference calculation
[23.02|13:36:03] Reference calculation finished!
[23.02|13:36:03] Checking success for step8_attempt1
[23.02|13:36:12] CheckEnergy: Checking energy for MDStep35500, n_atoms = 144
[23.02|13:36:12] CheckEnergy: normalization coefficient = 144
[23.02|13:36:12] CheckEnergy: Actual Threshold
[23.02|13:36:12] CheckEnergy: dE/144 0.0003 0.0020 OK!
[23.02|13:36:12] CheckEnergy: ddE/144 -0.0002 0.0010 OK! (relative to step7_attempt1_simulation:MDStep30500)
[23.02|13:36:12]
[23.02|13:36:12] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:36:12] CheckForces: ------------
[23.02|13:36:12] CheckForces: Reference job from step8_attempt1_reference_calc1
[23.02|13:36:12] CheckForces: Prediction job from final frame (MDStep35500) of step8_attempt1_simulation
[23.02|13:36:12] CheckForces: ------------
[23.02|13:36:12] CheckForces: Histogram of forces
[23.02|13:36:12] CheckForces: eV/Ang Ref Pred
[23.02|13:36:12] CheckForces: -3 2 2
[23.02|13:36:12] CheckForces: -2 28 27
[23.02|13:36:12] CheckForces: -1 188 187
[23.02|13:36:12] CheckForces: 0 188 191
[23.02|13:36:12] CheckForces: 1 23 22
[23.02|13:36:12] CheckForces: 2 3 3
[23.02|13:36:12] CheckForces: 3 0 0
[23.02|13:36:12] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:36:12] CheckForces: All force components are within the acceptable error!
[23.02|13:36:12] CheckForces: Maximum deviation: 0.181 eV/angstrom
[23.02|13:36:12] CheckForces: Actual Threshold
[23.02|13:36:12] CheckForces: # > thr. 0 0 OK!
[23.02|13:36:12] CheckForces: MAE 0.032 0.30 OK!
[23.02|13:36:12] CheckForces: R^2 0.996 0.80 OK!
[23.02|13:36:12] CheckForces: --------------------
[23.02|13:36:12]
[23.02|13:36:12] Adding results from step8_attempt1_reference_calc1 to validation set
[23.02|13:36:12] Current # training set entries: 18
[23.02|13:36:12] Current # validation set entries: 16
[23.02|13:36:12] Storing data in step8_attempt1_reference_data
[23.02|13:36:13] Deleting step7_attempt1_reference_data
[23.02|13:36:13] Deleting step8_attempt1_reference_calc1
[23.02|13:36:13]
[23.02|13:36:13] Current (cumulative) timings:
[23.02|13:36:13] Time (s) Fraction
[23.02|13:36:13] Ref. calcs 12.27 0.006
[23.02|13:36:13] ML training 697.00 0.356
[23.02|13:36:13] Simulations 1247.69 0.638
[23.02|13:36:13]
[23.02|13:36:13]
[23.02|13:36:13] Step 8 finished successfully!
[23.02|13:36:13]
[23.02|13:36:13] --- Begin summary ---
[23.02|13:36:13] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:36:13] 1 1 FAILED Inaccurate 0.6537
[23.02|13:36:13] 1 2 SUCCESS Accurate 0.3114
[23.02|13:36:13] 2 1 FAILED Inaccurate 0.2480
[23.02|13:36:13] 2 2 FAILED Inaccurate 0.1961
[23.02|13:36:13] 2 3 SUCCESS Accurate 0.1409
[23.02|13:36:13] 3 1 SUCCESS Accurate 0.1832
[23.02|13:36:13] 4 1 SUCCESS Accurate 0.2718
[23.02|13:36:13] 5 1 SUCCESS Accurate 0.2173
[23.02|13:36:13] 6 1 SUCCESS Accurate 0.1572
[23.02|13:36:13] 7 1 SUCCESS Accurate 0.2936
[23.02|13:36:13] 8 1 SUCCESS Accurate 0.1810
[23.02|13:36:13] --- End summary ---
[23.02|13:36:13]
[23.02|13:36:13] ##########################
[23.02|13:36:13] ### Step 9 / Attempt 1 ###
[23.02|13:36:13] ##########################
[23.02|13:36:13] MD Steps: 5000 (cumulative: 40500)
[23.02|13:36:13] Current engine settings:
[23.02|13:36:13]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step2_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:36:13] Running step9_attempt1_simulation...
[23.02|13:38:33] Job step9_attempt1_simulation finished
[23.02|13:38:33] Deleting files that are no longer needed...
[23.02|13:38:33] Deleting step7_attempt1_simulation
[23.02|13:38:34] Launching reference calculation
[23.02|13:38:35] Reference calculation finished!
[23.02|13:38:35] Checking success for step9_attempt1
[23.02|13:38:45] CheckEnergy: Checking energy for MDStep40500, n_atoms = 144
[23.02|13:38:45] CheckEnergy: normalization coefficient = 144
[23.02|13:38:45] CheckEnergy: Actual Threshold
[23.02|13:38:45] CheckEnergy: dE/144 0.0003 0.0020 OK!
[23.02|13:38:45] CheckEnergy: ddE/144 0.0001 0.0010 OK! (relative to step8_attempt1_simulation:MDStep35500)
[23.02|13:38:45]
[23.02|13:38:45] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:38:45] CheckForces: ------------
[23.02|13:38:45] CheckForces: Reference job from step9_attempt1_reference_calc1
[23.02|13:38:45] CheckForces: Prediction job from final frame (MDStep40500) of step9_attempt1_simulation
[23.02|13:38:45] CheckForces: ------------
[23.02|13:38:45] CheckForces: Histogram of forces
[23.02|13:38:45] CheckForces: eV/Ang Ref Pred
[23.02|13:38:45] CheckForces: -4 0 0
[23.02|13:38:45] CheckForces: -3 4 4
[23.02|13:38:45] CheckForces: -2 26 30
[23.02|13:38:45] CheckForces: -1 180 178
[23.02|13:38:45] CheckForces: 0 192 189
[23.02|13:38:45] CheckForces: 1 26 28
[23.02|13:38:45] CheckForces: 2 4 3
[23.02|13:38:45] CheckForces: 3 0 0
[23.02|13:38:45] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:38:45] CheckForces: All force components are within the acceptable error!
[23.02|13:38:45] CheckForces: Maximum deviation: 0.221 eV/angstrom
[23.02|13:38:45] CheckForces: Actual Threshold
[23.02|13:38:45] CheckForces: # > thr. 0 0 OK!
[23.02|13:38:45] CheckForces: MAE 0.033 0.30 OK!
[23.02|13:38:45] CheckForces: R^2 0.996 0.80 OK!
[23.02|13:38:45] CheckForces: --------------------
[23.02|13:38:45]
[23.02|13:38:45] Adding results from step9_attempt1_reference_calc1 to training set
[23.02|13:38:45] Current # training set entries: 19
[23.02|13:38:45] Current # validation set entries: 16
[23.02|13:38:45] Storing data in step9_attempt1_reference_data
[23.02|13:38:45] Deleting step8_attempt1_reference_data
[23.02|13:38:45] Deleting step9_attempt1_reference_calc1
[23.02|13:38:45]
[23.02|13:38:45] Current (cumulative) timings:
[23.02|13:38:45] Time (s) Fraction
[23.02|13:38:45] Ref. calcs 13.18 0.006
[23.02|13:38:45] ML training 697.00 0.332
[23.02|13:38:45] Simulations 1388.16 0.662
[23.02|13:38:45]
[23.02|13:38:45]
[23.02|13:38:46] Step 9 finished successfully!
[23.02|13:38:46]
[23.02|13:38:46] --- Begin summary ---
[23.02|13:38:46] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:38:46] 1 1 FAILED Inaccurate 0.6537
[23.02|13:38:46] 1 2 SUCCESS Accurate 0.3114
[23.02|13:38:46] 2 1 FAILED Inaccurate 0.2480
[23.02|13:38:46] 2 2 FAILED Inaccurate 0.1961
[23.02|13:38:46] 2 3 SUCCESS Accurate 0.1409
[23.02|13:38:46] 3 1 SUCCESS Accurate 0.1832
[23.02|13:38:46] 4 1 SUCCESS Accurate 0.2718
[23.02|13:38:46] 5 1 SUCCESS Accurate 0.2173
[23.02|13:38:46] 6 1 SUCCESS Accurate 0.1572
[23.02|13:38:46] 7 1 SUCCESS Accurate 0.2936
[23.02|13:38:46] 8 1 SUCCESS Accurate 0.1810
[23.02|13:38:46] 9 1 SUCCESS Accurate 0.2209
[23.02|13:38:46] --- End summary ---
[23.02|13:38:46]
[23.02|13:38:46] ###########################
[23.02|13:38:46] ### Step 10 / Attempt 1 ###
[23.02|13:38:46] ###########################
[23.02|13:38:46] MD Steps: 5000 (cumulative: 45500)
[23.02|13:38:46] Current engine settings:
[23.02|13:38:46]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step2_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:38:46] Running step10_attempt1_simulation...
[23.02|13:41:05] Job step10_attempt1_simulation finished
[23.02|13:41:05] Deleting files that are no longer needed...
[23.02|13:41:05] Deleting step8_attempt1_simulation
[23.02|13:41:06] Launching reference calculation
[23.02|13:41:07] Reference calculation finished!
[23.02|13:41:07] Checking success for step10_attempt1
[23.02|13:41:16] CheckEnergy: Checking energy for MDStep45500, n_atoms = 144
[23.02|13:41:16] CheckEnergy: normalization coefficient = 144
[23.02|13:41:16] CheckEnergy: Actual Threshold
[23.02|13:41:16] CheckEnergy: dE/144 0.0013 0.0020 OK!
[23.02|13:41:16] CheckEnergy: ddE/144 0.0009 0.0010 OK! (relative to step9_attempt1_simulation:MDStep40500)
[23.02|13:41:16]
[23.02|13:41:16] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:41:16] CheckForces: ------------
[23.02|13:41:16] CheckForces: Reference job from step10_attempt1_reference_calc1
[23.02|13:41:16] CheckForces: Prediction job from final frame (MDStep45500) of step10_attempt1_simulation
[23.02|13:41:16] CheckForces: ------------
[23.02|13:41:16] CheckForces: Histogram of forces
[23.02|13:41:16] CheckForces: eV/Ang Ref Pred
[23.02|13:41:16] CheckForces: -3 3 3
[23.02|13:41:16] CheckForces: -2 21 21
[23.02|13:41:16] CheckForces: -1 197 194
[23.02|13:41:16] CheckForces: 0 180 182
[23.02|13:41:16] CheckForces: 1 30 31
[23.02|13:41:16] CheckForces: 2 1 1
[23.02|13:41:16] CheckForces: 3 0 0
[23.02|13:41:16] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:41:16] CheckForces: All force components are within the acceptable error!
[23.02|13:41:16] CheckForces: Maximum deviation: 0.198 eV/angstrom
[23.02|13:41:16] CheckForces: Actual Threshold
[23.02|13:41:16] CheckForces: # > thr. 0 0 OK!
[23.02|13:41:16] CheckForces: MAE 0.037 0.30 OK!
[23.02|13:41:16] CheckForces: R^2 0.995 0.80 OK!
[23.02|13:41:16] CheckForces: --------------------
[23.02|13:41:16]
[23.02|13:41:17] Adding results from step10_attempt1_reference_calc1 to validation set
[23.02|13:41:17] Current # training set entries: 19
[23.02|13:41:17] Current # validation set entries: 17
[23.02|13:41:17] Storing data in step10_attempt1_reference_data
[23.02|13:41:17] Deleting step9_attempt1_reference_data
[23.02|13:41:17] Deleting step10_attempt1_reference_calc1
[23.02|13:41:17]
[23.02|13:41:17] Current (cumulative) timings:
[23.02|13:41:17] Time (s) Fraction
[23.02|13:41:17] Ref. calcs 13.97 0.006
[23.02|13:41:17] ML training 697.00 0.311
[23.02|13:41:17] Simulations 1527.64 0.682
[23.02|13:41:17]
[23.02|13:41:17]
[23.02|13:41:17] Step 10 finished successfully!
[23.02|13:41:17]
[23.02|13:41:17] --- Begin summary ---
[23.02|13:41:17] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:41:17] 1 1 FAILED Inaccurate 0.6537
[23.02|13:41:17] 1 2 SUCCESS Accurate 0.3114
[23.02|13:41:17] 2 1 FAILED Inaccurate 0.2480
[23.02|13:41:17] 2 2 FAILED Inaccurate 0.1961
[23.02|13:41:17] 2 3 SUCCESS Accurate 0.1409
[23.02|13:41:17] 3 1 SUCCESS Accurate 0.1832
[23.02|13:41:17] 4 1 SUCCESS Accurate 0.2718
[23.02|13:41:17] 5 1 SUCCESS Accurate 0.2173
[23.02|13:41:17] 6 1 SUCCESS Accurate 0.1572
[23.02|13:41:17] 7 1 SUCCESS Accurate 0.2936
[23.02|13:41:17] 8 1 SUCCESS Accurate 0.1810
[23.02|13:41:17] 9 1 SUCCESS Accurate 0.2209
[23.02|13:41:17] 10 1 SUCCESS Accurate 0.1980
[23.02|13:41:17] --- End summary ---
[23.02|13:41:17]
[23.02|13:41:17] ###########################
[23.02|13:41:17] ### Step 11 / Attempt 1 ###
[23.02|13:41:17] ###########################
[23.02|13:41:17] MD Steps: 5000 (cumulative: 50500)
[23.02|13:41:17] Current engine settings:
[23.02|13:41:17]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step2_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:41:17] Running step11_attempt1_simulation...
[23.02|13:43:38] Job step11_attempt1_simulation finished
[23.02|13:43:38] Deleting files that are no longer needed...
[23.02|13:43:38] Deleting step9_attempt1_simulation
[23.02|13:43:39] Launching reference calculation
[23.02|13:43:40] Reference calculation finished!
[23.02|13:43:40] Checking success for step11_attempt1
[23.02|13:43:49] CheckEnergy: Checking energy for MDStep50500, n_atoms = 144
[23.02|13:43:49] CheckEnergy: normalization coefficient = 144
[23.02|13:43:49] CheckEnergy: Actual Threshold
[23.02|13:43:49] CheckEnergy: dE/144 0.0004 0.0020 OK!
[23.02|13:43:49] CheckEnergy: ddE/144 -0.0009 0.0010 OK! (relative to step10_attempt1_simulation:MDStep45500)
[23.02|13:43:49]
[23.02|13:43:49] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:43:49] CheckForces: ------------
[23.02|13:43:49] CheckForces: Reference job from step11_attempt1_reference_calc1
[23.02|13:43:49] CheckForces: Prediction job from final frame (MDStep50500) of step11_attempt1_simulation
[23.02|13:43:49] CheckForces: ------------
[23.02|13:43:49] CheckForces: Histogram of forces
[23.02|13:43:49] CheckForces: eV/Ang Ref Pred
[23.02|13:43:49] CheckForces: -4 0 0
[23.02|13:43:49] CheckForces: -3 4 4
[23.02|13:43:49] CheckForces: -2 27 26
[23.02|13:43:49] CheckForces: -1 184 182
[23.02|13:43:49] CheckForces: 0 190 194
[23.02|13:43:49] CheckForces: 1 26 25
[23.02|13:43:49] CheckForces: 2 1 1
[23.02|13:43:49] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:43:49] CheckForces: All force components are within the acceptable error!
[23.02|13:43:49] CheckForces: Maximum deviation: 0.261 eV/angstrom
[23.02|13:43:49] CheckForces: Actual Threshold
[23.02|13:43:49] CheckForces: # > thr. 0 0 OK!
[23.02|13:43:49] CheckForces: MAE 0.037 0.30 OK!
[23.02|13:43:49] CheckForces: R^2 0.995 0.80 OK!
[23.02|13:43:49] CheckForces: --------------------
[23.02|13:43:49]
[23.02|13:43:50] Adding results from step11_attempt1_reference_calc1 to training set
[23.02|13:43:50] Current # training set entries: 20
[23.02|13:43:50] Current # validation set entries: 17
[23.02|13:43:50] Storing data in step11_attempt1_reference_data
[23.02|13:43:50] Deleting step10_attempt1_reference_data
[23.02|13:43:50] Deleting step11_attempt1_reference_calc1
[23.02|13:43:50]
[23.02|13:43:50] Current (cumulative) timings:
[23.02|13:43:50] Time (s) Fraction
[23.02|13:43:50] Ref. calcs 14.77 0.006
[23.02|13:43:50] ML training 697.00 0.293
[23.02|13:43:50] Simulations 1668.87 0.701
[23.02|13:43:50]
[23.02|13:43:50]
[23.02|13:43:50] Step 11 finished successfully!
[23.02|13:43:50]
[23.02|13:43:50] --- Begin summary ---
[23.02|13:43:50] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:43:50] 1 1 FAILED Inaccurate 0.6537
[23.02|13:43:50] 1 2 SUCCESS Accurate 0.3114
[23.02|13:43:50] 2 1 FAILED Inaccurate 0.2480
[23.02|13:43:50] 2 2 FAILED Inaccurate 0.1961
[23.02|13:43:50] 2 3 SUCCESS Accurate 0.1409
[23.02|13:43:50] 3 1 SUCCESS Accurate 0.1832
[23.02|13:43:50] 4 1 SUCCESS Accurate 0.2718
[23.02|13:43:50] 5 1 SUCCESS Accurate 0.2173
[23.02|13:43:50] 6 1 SUCCESS Accurate 0.1572
[23.02|13:43:50] 7 1 SUCCESS Accurate 0.2936
[23.02|13:43:50] 8 1 SUCCESS Accurate 0.1810
[23.02|13:43:50] 9 1 SUCCESS Accurate 0.2209
[23.02|13:43:50] 10 1 SUCCESS Accurate 0.1980
[23.02|13:43:50] 11 1 SUCCESS Accurate 0.2610
[23.02|13:43:50] --- End summary ---
[23.02|13:43:50]
[23.02|13:43:50] ###########################
[23.02|13:43:50] ### Step 12 / Attempt 1 ###
[23.02|13:43:50] ###########################
[23.02|13:43:50] MD Steps: 5000 (cumulative: 55500)
[23.02|13:43:50] Current engine settings:
[23.02|13:43:50]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step2_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:43:50] Running step12_attempt1_simulation...
[23.02|13:46:12] Job step12_attempt1_simulation finished
[23.02|13:46:12] Deleting files that are no longer needed...
[23.02|13:46:12] Deleting step10_attempt1_simulation
[23.02|13:46:12] Launching reference calculation
[23.02|13:46:13] Reference calculation finished!
[23.02|13:46:13] Checking success for step12_attempt1
[23.02|13:46:23] CheckEnergy: Checking energy for MDStep55500, n_atoms = 144
[23.02|13:46:23] CheckEnergy: normalization coefficient = 144
[23.02|13:46:23] CheckEnergy: Actual Threshold
[23.02|13:46:23] CheckEnergy: dE/144 0.0010 0.0020 OK!
[23.02|13:46:23] CheckEnergy: ddE/144 0.0006 0.0010 OK! (relative to step11_attempt1_simulation:MDStep50500)
[23.02|13:46:23]
[23.02|13:46:23] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:46:23] CheckForces: ------------
[23.02|13:46:23] CheckForces: Reference job from step12_attempt1_reference_calc1
[23.02|13:46:23] CheckForces: Prediction job from final frame (MDStep55500) of step12_attempt1_simulation
[23.02|13:46:23] CheckForces: ------------
[23.02|13:46:23] CheckForces: Histogram of forces
[23.02|13:46:23] CheckForces: eV/Ang Ref Pred
[23.02|13:46:23] CheckForces: -4 0 0
[23.02|13:46:23] CheckForces: -3 5 3
[23.02|13:46:23] CheckForces: -2 39 39
[23.02|13:46:23] CheckForces: -1 167 165
[23.02|13:46:23] CheckForces: 0 192 195
[23.02|13:46:23] CheckForces: 1 27 26
[23.02|13:46:23] CheckForces: 2 2 4
[23.02|13:46:23] CheckForces: 3 0 0
[23.02|13:46:23] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:46:23] CheckForces: All force components are within the acceptable error!
[23.02|13:46:23] CheckForces: Maximum deviation: 0.361 eV/angstrom
[23.02|13:46:23] CheckForces: Actual Threshold
[23.02|13:46:23] CheckForces: # > thr. 0 0 OK!
[23.02|13:46:23] CheckForces: MAE 0.043 0.30 OK!
[23.02|13:46:23] CheckForces: R^2 0.994 0.80 OK!
[23.02|13:46:23] CheckForces: --------------------
[23.02|13:46:23]
[23.02|13:46:23] Adding results from step12_attempt1_reference_calc1 to training set
[23.02|13:46:23] Current # training set entries: 21
[23.02|13:46:23] Current # validation set entries: 17
[23.02|13:46:23] Storing data in step12_attempt1_reference_data
[23.02|13:46:23] Deleting step11_attempt1_reference_data
[23.02|13:46:23] Deleting step12_attempt1_reference_calc1
[23.02|13:46:23]
[23.02|13:46:23] Current (cumulative) timings:
[23.02|13:46:23] Time (s) Fraction
[23.02|13:46:23] Ref. calcs 15.60 0.006
[23.02|13:46:23] ML training 697.00 0.276
[23.02|13:46:23] Simulations 1810.00 0.718
[23.02|13:46:23]
[23.02|13:46:23]
[23.02|13:46:24] Step 12 finished successfully!
[23.02|13:46:24]
[23.02|13:46:24] --- Begin summary ---
[23.02|13:46:24] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:46:24] 1 1 FAILED Inaccurate 0.6537
[23.02|13:46:24] 1 2 SUCCESS Accurate 0.3114
[23.02|13:46:24] 2 1 FAILED Inaccurate 0.2480
[23.02|13:46:24] 2 2 FAILED Inaccurate 0.1961
[23.02|13:46:24] 2 3 SUCCESS Accurate 0.1409
[23.02|13:46:24] 3 1 SUCCESS Accurate 0.1832
[23.02|13:46:24] 4 1 SUCCESS Accurate 0.2718
[23.02|13:46:24] 5 1 SUCCESS Accurate 0.2173
[23.02|13:46:24] 6 1 SUCCESS Accurate 0.1572
[23.02|13:46:24] 7 1 SUCCESS Accurate 0.2936
[23.02|13:46:24] 8 1 SUCCESS Accurate 0.1810
[23.02|13:46:24] 9 1 SUCCESS Accurate 0.2209
[23.02|13:46:24] 10 1 SUCCESS Accurate 0.1980
[23.02|13:46:24] 11 1 SUCCESS Accurate 0.2610
[23.02|13:46:24] 12 1 SUCCESS Accurate 0.3609
[23.02|13:46:24] --- End summary ---
[23.02|13:46:24]
[23.02|13:46:24] ###########################
[23.02|13:46:24] ### Step 13 / Attempt 1 ###
[23.02|13:46:24] ###########################
[23.02|13:46:24] MD Steps: 5000 (cumulative: 60500)
[23.02|13:46:24] Current engine settings:
[23.02|13:46:24]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step2_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:46:24] Running step13_attempt1_simulation...
[23.02|13:48:46] Job step13_attempt1_simulation finished
[23.02|13:48:46] Deleting files that are no longer needed...
[23.02|13:48:46] Deleting step11_attempt1_simulation
[23.02|13:48:46] Launching reference calculation
[23.02|13:48:47] Reference calculation finished!
[23.02|13:48:47] Checking success for step13_attempt1
[23.02|13:48:56] CheckEnergy: Checking energy for MDStep60500, n_atoms = 144
[23.02|13:48:56] CheckEnergy: normalization coefficient = 144
[23.02|13:48:56] CheckEnergy: Actual Threshold
[23.02|13:48:56] CheckEnergy: dE/144 0.0018 0.0020 OK!
[23.02|13:48:56] CheckEnergy: ddE/144 0.0008 0.0010 OK! (relative to step12_attempt1_simulation:MDStep55500)
[23.02|13:48:56]
[23.02|13:48:56] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:48:56] CheckForces: ------------
[23.02|13:48:56] CheckForces: Reference job from step13_attempt1_reference_calc1
[23.02|13:48:56] CheckForces: Prediction job from final frame (MDStep60500) of step13_attempt1_simulation
[23.02|13:48:56] CheckForces: ------------
[23.02|13:48:56] CheckForces: Histogram of forces
[23.02|13:48:56] CheckForces: eV/Ang Ref Pred
[23.02|13:48:56] CheckForces: -3 8 8
[23.02|13:48:56] CheckForces: -2 31 33
[23.02|13:48:56] CheckForces: -1 171 167
[23.02|13:48:56] CheckForces: 0 188 189
[23.02|13:48:56] CheckForces: 1 31 33
[23.02|13:48:56] CheckForces: 2 3 2
[23.02|13:48:56] CheckForces: 3 0 0
[23.02|13:48:56] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:48:56] CheckForces: Force components with an error exceeding the threshold:
[23.02|13:48:56] CheckForces: Ref Pred Delta Threshold
[23.02|13:48:56] CheckForces: 0.43 0.10 0.33 0.32
[23.02|13:48:56] CheckForces: Maximum deviation: 0.330 eV/angstrom
[23.02|13:48:56] CheckForces: Actual Threshold
[23.02|13:48:56] CheckForces: # > thr. 1 0 Not OK!
[23.02|13:48:56] CheckForces: MAE 0.043 0.30 OK!
[23.02|13:48:56] CheckForces: R^2 0.994 0.80 OK!
[23.02|13:48:56] CheckForces: --------------------
[23.02|13:48:56]
[23.02|13:48:57] Adding results from step13_attempt1_reference_calc1 to training set
[23.02|13:48:57] Current # training set entries: 22
[23.02|13:48:57] Current # validation set entries: 17
[23.02|13:48:57] Storing data in step13_attempt1_reference_data
[23.02|13:48:57] Deleting step12_attempt1_reference_data
[23.02|13:48:57] Deleting step13_attempt1_reference_calc1
[23.02|13:48:57]
[23.02|13:48:57] Current (cumulative) timings:
[23.02|13:48:57] Time (s) Fraction
[23.02|13:48:57] Ref. calcs 16.39 0.006
[23.02|13:48:57] ML training 697.00 0.262
[23.02|13:48:57] Simulations 1951.91 0.732
[23.02|13:48:57]
[23.02|13:48:57]
[23.02|13:48:58]
[23.02|13:48:58] --- Begin summary ---
[23.02|13:48:58] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:48:58] 1 1 FAILED Inaccurate 0.6537
[23.02|13:48:58] 1 2 SUCCESS Accurate 0.3114
[23.02|13:48:58] 2 1 FAILED Inaccurate 0.2480
[23.02|13:48:58] 2 2 FAILED Inaccurate 0.1961
[23.02|13:48:58] 2 3 SUCCESS Accurate 0.1409
[23.02|13:48:58] 3 1 SUCCESS Accurate 0.1832
[23.02|13:48:58] 4 1 SUCCESS Accurate 0.2718
[23.02|13:48:58] 5 1 SUCCESS Accurate 0.2173
[23.02|13:48:58] 6 1 SUCCESS Accurate 0.1572
[23.02|13:48:58] 7 1 SUCCESS Accurate 0.2936
[23.02|13:48:58] 8 1 SUCCESS Accurate 0.1810
[23.02|13:48:58] 9 1 SUCCESS Accurate 0.2209
[23.02|13:48:58] 10 1 SUCCESS Accurate 0.1980
[23.02|13:48:58] 11 1 SUCCESS Accurate 0.2610
[23.02|13:48:58] 12 1 SUCCESS Accurate 0.3609
[23.02|13:48:58] 13 1 FAILED Inaccurate 0.3304
[23.02|13:48:58] --- End summary ---
[23.02|13:48:58]
[23.02|13:48:58] Running more reference calculations....
[23.02|13:48:58] Running reference calculations on frames [586] from step13_attempt1_simulation/ams.rkf
[23.02|13:48:58] Calculating 1 frames in total
[23.02|13:48:58] Running step13_attempt1_reference_calc2
[23.02|13:48:59] Reference calculations finished!
[23.02|13:48:59] Adding results from step13_attempt1_reference_calc2 to validation set
[23.02|13:48:59] Current # training set entries: 22
[23.02|13:48:59] Current # validation set entries: 18
[23.02|13:48:59] Storing data in step13_attempt1_reference_data
[23.02|13:49:00] Deleting step13_attempt1_reference_calc2
[23.02|13:49:00] Launching reparametrization job: step13_attempt1_training
[23.02|13:49:04] JOB m3gnet STARTED
[23.02|13:49:04] Starting m3gnet.prerun()
[23.02|13:49:04] m3gnet.prerun() finished
[23.02|13:49:04] JOB m3gnet RUNNING
[23.02|13:49:04] Executing m3gnet.run
[23.02|13:50:09] training_set Optimizer: 001 Epoch: 0 Loss: 0.005443
[23.02|13:50:09] validation_set Optimizer: 001 Epoch: 0 Loss: 0.077383
[23.02|13:50:16] training_set Optimizer: 001 Epoch: 10 Loss: 0.000172
[23.02|13:50:16] validation_set Optimizer: 001 Epoch: 10 Loss: 0.004233
[23.02|13:50:23] training_set Optimizer: 001 Epoch: 20 Loss: 0.000122
[23.02|13:50:23] validation_set Optimizer: 001 Epoch: 20 Loss: 0.003854
[23.02|13:50:31] training_set Optimizer: 001 Epoch: 30 Loss: 0.000111
[23.02|13:50:31] validation_set Optimizer: 001 Epoch: 30 Loss: 0.004302
[23.02|13:50:38] training_set Optimizer: 001 Epoch: 40 Loss: 0.000116
[23.02|13:50:38] validation_set Optimizer: 001 Epoch: 40 Loss: 0.004054
[23.02|13:50:46] training_set Optimizer: 001 Epoch: 50 Loss: 0.000117
[23.02|13:50:46] validation_set Optimizer: 001 Epoch: 50 Loss: 0.004440
[23.02|13:50:54] training_set Optimizer: 001 Epoch: 60 Loss: 0.000109
[23.02|13:50:54] validation_set Optimizer: 001 Epoch: 60 Loss: 0.004418
[23.02|13:51:01] training_set Optimizer: 001 Epoch: 70 Loss: 0.000106
[23.02|13:51:01] validation_set Optimizer: 001 Epoch: 70 Loss: 0.003871
[23.02|13:51:08] training_set Optimizer: 001 Epoch: 80 Loss: 0.000103
[23.02|13:51:08] validation_set Optimizer: 001 Epoch: 80 Loss: 0.003859
[23.02|13:51:15] training_set Optimizer: 001 Epoch: 90 Loss: 0.000103
[23.02|13:51:15] validation_set Optimizer: 001 Epoch: 90 Loss: 0.005495
[23.02|13:51:23] training_set Optimizer: 001 Epoch: 100 Loss: 0.000104
[23.02|13:51:23] validation_set Optimizer: 001 Epoch: 100 Loss: 0.005114
[23.02|13:51:31] training_set Optimizer: 001 Epoch: 110 Loss: 0.000120
[23.02|13:51:31] validation_set Optimizer: 001 Epoch: 110 Loss: 0.004426
[23.02|13:51:39] training_set Optimizer: 001 Epoch: 120 Loss: 0.000118
[23.02|13:51:39] validation_set Optimizer: 001 Epoch: 120 Loss: 0.007757
[23.02|13:51:46] training_set Optimizer: 001 Epoch: 130 Loss: 0.000101
[23.02|13:51:46] validation_set Optimizer: 001 Epoch: 130 Loss: 0.003769
[23.02|13:51:54] training_set Optimizer: 001 Epoch: 140 Loss: 0.000099
[23.02|13:51:54] validation_set Optimizer: 001 Epoch: 140 Loss: 0.004056
[23.02|13:52:01] training_set Optimizer: 001 Epoch: 150 Loss: 0.000116
[23.02|13:52:01] validation_set Optimizer: 001 Epoch: 150 Loss: 0.006309
[23.02|13:52:08] training_set Optimizer: 001 Epoch: 160 Loss: 0.000108
[23.02|13:52:08] validation_set Optimizer: 001 Epoch: 160 Loss: 0.005772
[23.02|13:52:16] training_set Optimizer: 001 Epoch: 170 Loss: 0.000097
[23.02|13:52:16] validation_set Optimizer: 001 Epoch: 170 Loss: 0.004733
[23.02|13:52:23] training_set Optimizer: 001 Epoch: 180 Loss: 0.000098
[23.02|13:52:23] validation_set Optimizer: 001 Epoch: 180 Loss: 0.004603
[23.02|13:52:31] training_set Optimizer: 001 Epoch: 190 Loss: 0.000093
[23.02|13:52:31] validation_set Optimizer: 001 Epoch: 190 Loss: 0.003742
[23.02|13:52:39] training_set Optimizer: 001 Epoch: 200 Loss: 0.000112
[23.02|13:52:39] validation_set Optimizer: 001 Epoch: 200 Loss: 0.003631
[23.02|13:52:46] training_set Optimizer: 001 Epoch: 210 Loss: 0.000110
[23.02|13:52:46] validation_set Optimizer: 001 Epoch: 210 Loss: 0.003890
[23.02|13:52:54] training_set Optimizer: 001 Epoch: 220 Loss: 0.000091
[23.02|13:52:54] validation_set Optimizer: 001 Epoch: 220 Loss: 0.004133
[23.02|13:53:02] training_set Optimizer: 001 Epoch: 230 Loss: 0.000092
[23.02|13:53:02] validation_set Optimizer: 001 Epoch: 230 Loss: 0.004787
[23.02|13:53:09] training_set Optimizer: 001 Epoch: 240 Loss: 0.000088
[23.02|13:53:09] validation_set Optimizer: 001 Epoch: 240 Loss: 0.005569
[23.02|13:53:17] training_set Optimizer: 001 Epoch: 250 Loss: 0.000104
[23.02|13:53:17] validation_set Optimizer: 001 Epoch: 250 Loss: 0.005490
[23.02|13:53:24] training_set Optimizer: 001 Epoch: 260 Loss: 0.000101
[23.02|13:53:24] validation_set Optimizer: 001 Epoch: 260 Loss: 0.003599
[23.02|13:53:32] training_set Optimizer: 001 Epoch: 270 Loss: 0.000162
[23.02|13:53:32] validation_set Optimizer: 001 Epoch: 270 Loss: 0.008149
[23.02|13:53:40] training_set Optimizer: 001 Epoch: 280 Loss: 0.000127
[23.02|13:53:40] validation_set Optimizer: 001 Epoch: 280 Loss: 0.004033
[23.02|13:53:48] training_set Optimizer: 001 Epoch: 290 Loss: 0.000116
[23.02|13:53:48] validation_set Optimizer: 001 Epoch: 290 Loss: 0.005066
[23.02|13:53:56] Execution of m3gnet.run finished with returncode 0
[23.02|13:53:56] JOB m3gnet FINISHED
[23.02|13:53:56] Starting m3gnet.postrun()
[23.02|13:53:56] m3gnet.postrun() finished
[23.02|13:53:57] JOB m3gnet SUCCESSFUL
[23.02|13:54:11] Running all jobs through AMS....
[23.02|13:54:11] Storing results/optimization/training_set_results/best
[23.02|13:54:11] Storing results/optimization/validation_set_results/best
[23.02|13:54:11] PLAMS environment cleaned up successfully
[23.02|13:54:11] PLAMS run finished. Goodbye
[23.02|13:54:13] ParAMSResults training_set validation_set
[23.02|13:54:13] energy MAE 0.1115 0.1305 eV
[23.02|13:54:13] forces MAE 0.0233 0.0337 eV/angstrom
[23.02|13:54:13] Newly created parameter file/dir: step13_attempt1_training/results/optimization/m3gnet/m3gnet
[23.02|13:54:13] Done!
[23.02|13:54:13] Deleting step2_attempt2_training
[23.02|13:54:13] ###########################
[23.02|13:54:13] ### Step 13 / Attempt 2 ###
[23.02|13:54:13] ###########################
[23.02|13:54:13] MD Steps: 5000 (cumulative: 60500)
[23.02|13:54:13] Current engine settings:
[23.02|13:54:13]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step13_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:54:13] Running step13_attempt2_simulation...
[23.02|13:56:36] Job step13_attempt2_simulation finished
[23.02|13:56:36] Deleting files that are no longer needed...
[23.02|13:56:37] Launching reference calculation
[23.02|13:56:38] Reference calculation finished!
[23.02|13:56:38] Checking success for step13_attempt2
[23.02|13:56:47] CheckEnergy: Checking energy for MDStep60500, n_atoms = 144
[23.02|13:56:47] CheckEnergy: normalization coefficient = 144
[23.02|13:56:47] CheckEnergy: Actual Threshold
[23.02|13:56:47] CheckEnergy: dE/144 -0.0012 0.0020 OK!
[23.02|13:56:47] CheckEnergy: ddE/144 -0.0006 0.0010 OK! (relative to step13_attempt1_simulation:MDStep60500)
[23.02|13:56:47]
[23.02|13:56:47] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:56:47] CheckForces: ------------
[23.02|13:56:47] CheckForces: Reference job from step13_attempt2_reference_calc1
[23.02|13:56:47] CheckForces: Prediction job from final frame (MDStep60500) of step13_attempt2_simulation
[23.02|13:56:47] CheckForces: ------------
[23.02|13:56:47] CheckForces: Histogram of forces
[23.02|13:56:47] CheckForces: eV/Ang Ref Pred
[23.02|13:56:47] CheckForces: -4 0 0
[23.02|13:56:47] CheckForces: -3 4 3
[23.02|13:56:47] CheckForces: -2 27 28
[23.02|13:56:47] CheckForces: -1 184 187
[23.02|13:56:47] CheckForces: 0 188 185
[23.02|13:56:47] CheckForces: 1 26 29
[23.02|13:56:47] CheckForces: 2 3 0
[23.02|13:56:47] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:56:47] CheckForces: All force components are within the acceptable error!
[23.02|13:56:47] CheckForces: Maximum deviation: 0.208 eV/angstrom
[23.02|13:56:47] CheckForces: Actual Threshold
[23.02|13:56:47] CheckForces: # > thr. 0 0 OK!
[23.02|13:56:47] CheckForces: MAE 0.034 0.30 OK!
[23.02|13:56:47] CheckForces: R^2 0.996 0.80 OK!
[23.02|13:56:47] CheckForces: --------------------
[23.02|13:56:47]
[23.02|13:56:48] Adding results from step13_attempt2_reference_calc1 to training set
[23.02|13:56:48] Current # training set entries: 23
[23.02|13:56:48] Current # validation set entries: 18
[23.02|13:56:48] Storing data in step13_attempt2_reference_data
[23.02|13:56:48] Deleting step13_attempt1_reference_data
[23.02|13:56:48] Deleting step13_attempt2_reference_calc1
[23.02|13:56:48]
[23.02|13:56:48] Current (cumulative) timings:
[23.02|13:56:48] Time (s) Fraction
[23.02|13:56:48] Ref. calcs 18.41 0.006
[23.02|13:56:48] ML training 1009.77 0.323
[23.02|13:56:48] Simulations 2095.70 0.671
[23.02|13:56:48]
[23.02|13:56:48]
[23.02|13:56:49] Step 13 finished successfully!
[23.02|13:56:49]
[23.02|13:56:49] --- Begin summary ---
[23.02|13:56:49] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:56:49] 1 1 FAILED Inaccurate 0.6537
[23.02|13:56:49] 1 2 SUCCESS Accurate 0.3114
[23.02|13:56:49] 2 1 FAILED Inaccurate 0.2480
[23.02|13:56:49] 2 2 FAILED Inaccurate 0.1961
[23.02|13:56:49] 2 3 SUCCESS Accurate 0.1409
[23.02|13:56:49] 3 1 SUCCESS Accurate 0.1832
[23.02|13:56:49] 4 1 SUCCESS Accurate 0.2718
[23.02|13:56:49] 5 1 SUCCESS Accurate 0.2173
[23.02|13:56:49] 6 1 SUCCESS Accurate 0.1572
[23.02|13:56:49] 7 1 SUCCESS Accurate 0.2936
[23.02|13:56:49] 8 1 SUCCESS Accurate 0.1810
[23.02|13:56:49] 9 1 SUCCESS Accurate 0.2209
[23.02|13:56:49] 10 1 SUCCESS Accurate 0.1980
[23.02|13:56:49] 11 1 SUCCESS Accurate 0.2610
[23.02|13:56:49] 12 1 SUCCESS Accurate 0.3609
[23.02|13:56:49] 13 1 FAILED Inaccurate 0.3304
[23.02|13:56:49] 13 2 SUCCESS Accurate 0.2076
[23.02|13:56:49] --- End summary ---
[23.02|13:56:49]
[23.02|13:56:49] ###########################
[23.02|13:56:49] ### Step 14 / Attempt 1 ###
[23.02|13:56:49] ###########################
[23.02|13:56:49] MD Steps: 5000 (cumulative: 65500)
[23.02|13:56:49] Current engine settings:
[23.02|13:56:49]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step13_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:56:49] Running step14_attempt1_simulation...
[23.02|13:59:13] Job step14_attempt1_simulation finished
[23.02|13:59:13] Deleting files that are no longer needed...
[23.02|13:59:13] Deleting step12_attempt1_simulation
[23.02|13:59:13] Deleting step13_attempt1_simulation
[23.02|13:59:14] Launching reference calculation
[23.02|13:59:14] Reference calculation finished!
[23.02|13:59:14] Checking success for step14_attempt1
[23.02|13:59:24] CheckEnergy: Checking energy for MDStep65500, n_atoms = 144
[23.02|13:59:24] CheckEnergy: normalization coefficient = 144
[23.02|13:59:24] CheckEnergy: Actual Threshold
[23.02|13:59:24] CheckEnergy: dE/144 -0.0003 0.0020 OK!
[23.02|13:59:24] CheckEnergy: ddE/144 0.0009 0.0010 OK! (relative to step13_attempt2_simulation:MDStep60500)
[23.02|13:59:24]
[23.02|13:59:24] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|13:59:24] CheckForces: ------------
[23.02|13:59:24] CheckForces: Reference job from step14_attempt1_reference_calc1
[23.02|13:59:24] CheckForces: Prediction job from final frame (MDStep65500) of step14_attempt1_simulation
[23.02|13:59:24] CheckForces: ------------
[23.02|13:59:24] CheckForces: Histogram of forces
[23.02|13:59:24] CheckForces: eV/Ang Ref Pred
[23.02|13:59:24] CheckForces: -4 0 0
[23.02|13:59:24] CheckForces: -3 4 4
[23.02|13:59:24] CheckForces: -2 34 34
[23.02|13:59:24] CheckForces: -1 176 179
[23.02|13:59:24] CheckForces: 0 189 186
[23.02|13:59:24] CheckForces: 1 26 25
[23.02|13:59:24] CheckForces: 2 3 4
[23.02|13:59:24] CheckForces: 3 0 0
[23.02|13:59:24] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|13:59:24] CheckForces: All force components are within the acceptable error!
[23.02|13:59:24] CheckForces: Maximum deviation: 0.219 eV/angstrom
[23.02|13:59:24] CheckForces: Actual Threshold
[23.02|13:59:24] CheckForces: # > thr. 0 0 OK!
[23.02|13:59:24] CheckForces: MAE 0.035 0.30 OK!
[23.02|13:59:24] CheckForces: R^2 0.996 0.80 OK!
[23.02|13:59:24] CheckForces: --------------------
[23.02|13:59:24]
[23.02|13:59:24] Adding results from step14_attempt1_reference_calc1 to training set
[23.02|13:59:24] Current # training set entries: 24
[23.02|13:59:24] Current # validation set entries: 18
[23.02|13:59:24] Storing data in step14_attempt1_reference_data
[23.02|13:59:25] Deleting step13_attempt2_reference_data
[23.02|13:59:25] Deleting step14_attempt1_reference_calc1
[23.02|13:59:25]
[23.02|13:59:25] Current (cumulative) timings:
[23.02|13:59:25] Time (s) Fraction
[23.02|13:59:25] Ref. calcs 19.22 0.006
[23.02|13:59:25] ML training 1009.77 0.309
[23.02|13:59:25] Simulations 2240.00 0.685
[23.02|13:59:25]
[23.02|13:59:25]
[23.02|13:59:25] Step 14 finished successfully!
[23.02|13:59:25]
[23.02|13:59:25] --- Begin summary ---
[23.02|13:59:25] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|13:59:25] 1 1 FAILED Inaccurate 0.6537
[23.02|13:59:25] 1 2 SUCCESS Accurate 0.3114
[23.02|13:59:25] 2 1 FAILED Inaccurate 0.2480
[23.02|13:59:25] 2 2 FAILED Inaccurate 0.1961
[23.02|13:59:25] 2 3 SUCCESS Accurate 0.1409
[23.02|13:59:25] 3 1 SUCCESS Accurate 0.1832
[23.02|13:59:25] 4 1 SUCCESS Accurate 0.2718
[23.02|13:59:25] 5 1 SUCCESS Accurate 0.2173
[23.02|13:59:25] 6 1 SUCCESS Accurate 0.1572
[23.02|13:59:25] 7 1 SUCCESS Accurate 0.2936
[23.02|13:59:25] 8 1 SUCCESS Accurate 0.1810
[23.02|13:59:25] 9 1 SUCCESS Accurate 0.2209
[23.02|13:59:25] 10 1 SUCCESS Accurate 0.1980
[23.02|13:59:25] 11 1 SUCCESS Accurate 0.2610
[23.02|13:59:25] 12 1 SUCCESS Accurate 0.3609
[23.02|13:59:25] 13 1 FAILED Inaccurate 0.3304
[23.02|13:59:25] 13 2 SUCCESS Accurate 0.2076
[23.02|13:59:25] 14 1 SUCCESS Accurate 0.2195
[23.02|13:59:25] --- End summary ---
[23.02|13:59:25]
[23.02|13:59:25] ###########################
[23.02|13:59:25] ### Step 15 / Attempt 1 ###
[23.02|13:59:25] ###########################
[23.02|13:59:25] MD Steps: 5000 (cumulative: 70500)
[23.02|13:59:25] Current engine settings:
[23.02|13:59:25]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step13_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|13:59:25] Running step15_attempt1_simulation...
[23.02|14:01:53] Job step15_attempt1_simulation finished
[23.02|14:01:53] Deleting files that are no longer needed...
[23.02|14:01:53] Deleting step13_attempt2_simulation
[23.02|14:01:54] Launching reference calculation
[23.02|14:01:55] Reference calculation finished!
[23.02|14:01:55] Checking success for step15_attempt1
[23.02|14:02:04] CheckEnergy: Checking energy for MDStep70500, n_atoms = 144
[23.02|14:02:04] CheckEnergy: normalization coefficient = 144
[23.02|14:02:04] CheckEnergy: Actual Threshold
[23.02|14:02:04] CheckEnergy: dE/144 -0.0012 0.0020 OK!
[23.02|14:02:04] CheckEnergy: ddE/144 -0.0009 0.0010 OK! (relative to step14_attempt1_simulation:MDStep65500)
[23.02|14:02:04]
[23.02|14:02:04] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|14:02:04] CheckForces: ------------
[23.02|14:02:04] CheckForces: Reference job from step15_attempt1_reference_calc1
[23.02|14:02:04] CheckForces: Prediction job from final frame (MDStep70500) of step15_attempt1_simulation
[23.02|14:02:04] CheckForces: ------------
[23.02|14:02:04] CheckForces: Histogram of forces
[23.02|14:02:04] CheckForces: eV/Ang Ref Pred
[23.02|14:02:04] CheckForces: -4 1 1
[23.02|14:02:04] CheckForces: -3 2 2
[23.02|14:02:04] CheckForces: -2 36 37
[23.02|14:02:04] CheckForces: -1 174 171
[23.02|14:02:04] CheckForces: 0 183 185
[23.02|14:02:04] CheckForces: 1 32 32
[23.02|14:02:04] CheckForces: 2 3 3
[23.02|14:02:04] CheckForces: 3 1 1
[23.02|14:02:04] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|14:02:04] CheckForces: All force components are within the acceptable error!
[23.02|14:02:04] CheckForces: Maximum deviation: 0.221 eV/angstrom
[23.02|14:02:04] CheckForces: Actual Threshold
[23.02|14:02:04] CheckForces: # > thr. 0 0 OK!
[23.02|14:02:04] CheckForces: MAE 0.035 0.30 OK!
[23.02|14:02:04] CheckForces: R^2 0.996 0.80 OK!
[23.02|14:02:04] CheckForces: --------------------
[23.02|14:02:04]
[23.02|14:02:05] Adding results from step15_attempt1_reference_calc1 to validation set
[23.02|14:02:05] Current # training set entries: 24
[23.02|14:02:05] Current # validation set entries: 19
[23.02|14:02:05] Storing data in step15_attempt1_reference_data
[23.02|14:02:05] Deleting step14_attempt1_reference_data
[23.02|14:02:05] Deleting step15_attempt1_reference_calc1
[23.02|14:02:05]
[23.02|14:02:05] Current (cumulative) timings:
[23.02|14:02:05] Time (s) Fraction
[23.02|14:02:05] Ref. calcs 20.14 0.006
[23.02|14:02:05] ML training 1009.77 0.295
[23.02|14:02:05] Simulations 2388.10 0.699
[23.02|14:02:05]
[23.02|14:02:05]
[23.02|14:02:06] Step 15 finished successfully!
[23.02|14:02:06]
[23.02|14:02:06] --- Begin summary ---
[23.02|14:02:06] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|14:02:06] 1 1 FAILED Inaccurate 0.6537
[23.02|14:02:06] 1 2 SUCCESS Accurate 0.3114
[23.02|14:02:06] 2 1 FAILED Inaccurate 0.2480
[23.02|14:02:06] 2 2 FAILED Inaccurate 0.1961
[23.02|14:02:06] 2 3 SUCCESS Accurate 0.1409
[23.02|14:02:06] 3 1 SUCCESS Accurate 0.1832
[23.02|14:02:06] 4 1 SUCCESS Accurate 0.2718
[23.02|14:02:06] 5 1 SUCCESS Accurate 0.2173
[23.02|14:02:06] 6 1 SUCCESS Accurate 0.1572
[23.02|14:02:06] 7 1 SUCCESS Accurate 0.2936
[23.02|14:02:06] 8 1 SUCCESS Accurate 0.1810
[23.02|14:02:06] 9 1 SUCCESS Accurate 0.2209
[23.02|14:02:06] 10 1 SUCCESS Accurate 0.1980
[23.02|14:02:06] 11 1 SUCCESS Accurate 0.2610
[23.02|14:02:06] 12 1 SUCCESS Accurate 0.3609
[23.02|14:02:06] 13 1 FAILED Inaccurate 0.3304
[23.02|14:02:06] 13 2 SUCCESS Accurate 0.2076
[23.02|14:02:06] 14 1 SUCCESS Accurate 0.2195
[23.02|14:02:06] 15 1 SUCCESS Accurate 0.2209
[23.02|14:02:06] --- End summary ---
[23.02|14:02:06]
[23.02|14:02:06] ###########################
[23.02|14:02:06] ### Step 16 / Attempt 1 ###
[23.02|14:02:06] ###########################
[23.02|14:02:06] MD Steps: 5000 (cumulative: 75500)
[23.02|14:02:06] Current engine settings:
[23.02|14:02:06]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step13_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|14:02:06] Running step16_attempt1_simulation...
[23.02|14:04:35] Job step16_attempt1_simulation finished
[23.02|14:04:35] Deleting files that are no longer needed...
[23.02|14:04:35] Deleting step14_attempt1_simulation
[23.02|14:04:35] Launching reference calculation
[23.02|14:04:36] Reference calculation finished!
[23.02|14:04:36] Checking success for step16_attempt1
[23.02|14:04:46] CheckEnergy: Checking energy for MDStep75500, n_atoms = 144
[23.02|14:04:46] CheckEnergy: normalization coefficient = 144
[23.02|14:04:46] CheckEnergy: Actual Threshold
[23.02|14:04:46] CheckEnergy: dE/144 -0.0011 0.0020 OK!
[23.02|14:04:46] CheckEnergy: ddE/144 0.0001 0.0010 OK! (relative to step15_attempt1_simulation:MDStep70500)
[23.02|14:04:46]
[23.02|14:04:46] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|14:04:46] CheckForces: ------------
[23.02|14:04:46] CheckForces: Reference job from step16_attempt1_reference_calc1
[23.02|14:04:46] CheckForces: Prediction job from final frame (MDStep75500) of step16_attempt1_simulation
[23.02|14:04:46] CheckForces: ------------
[23.02|14:04:46] CheckForces: Histogram of forces
[23.02|14:04:46] CheckForces: eV/Ang Ref Pred
[23.02|14:04:46] CheckForces: -3 1 1
[23.02|14:04:46] CheckForces: -2 35 35
[23.02|14:04:46] CheckForces: -1 185 181
[23.02|14:04:46] CheckForces: 0 175 179
[23.02|14:04:46] CheckForces: 1 34 34
[23.02|14:04:46] CheckForces: 2 2 2
[23.02|14:04:46] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|14:04:46] CheckForces: All force components are within the acceptable error!
[23.02|14:04:46] CheckForces: Maximum deviation: 0.162 eV/angstrom
[23.02|14:04:46] CheckForces: Actual Threshold
[23.02|14:04:46] CheckForces: # > thr. 0 0 OK!
[23.02|14:04:46] CheckForces: MAE 0.037 0.30 OK!
[23.02|14:04:46] CheckForces: R^2 0.995 0.80 OK!
[23.02|14:04:46] CheckForces: --------------------
[23.02|14:04:46]
[23.02|14:04:46] Adding results from step16_attempt1_reference_calc1 to validation set
[23.02|14:04:46] Current # training set entries: 24
[23.02|14:04:46] Current # validation set entries: 20
[23.02|14:04:46] Storing data in step16_attempt1_reference_data
[23.02|14:04:47] Deleting step15_attempt1_reference_data
[23.02|14:04:47] Deleting step16_attempt1_reference_calc1
[23.02|14:04:47]
[23.02|14:04:47] Current (cumulative) timings:
[23.02|14:04:47] Time (s) Fraction
[23.02|14:04:47] Ref. calcs 21.21 0.006
[23.02|14:04:47] ML training 1009.77 0.283
[23.02|14:04:47] Simulations 2536.93 0.711
[23.02|14:04:47]
[23.02|14:04:47]
[23.02|14:04:47] Step 16 finished successfully!
[23.02|14:04:47]
[23.02|14:04:47] --- Begin summary ---
[23.02|14:04:47] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|14:04:47] 1 1 FAILED Inaccurate 0.6537
[23.02|14:04:47] 1 2 SUCCESS Accurate 0.3114
[23.02|14:04:47] 2 1 FAILED Inaccurate 0.2480
[23.02|14:04:47] 2 2 FAILED Inaccurate 0.1961
[23.02|14:04:47] 2 3 SUCCESS Accurate 0.1409
[23.02|14:04:47] 3 1 SUCCESS Accurate 0.1832
[23.02|14:04:47] 4 1 SUCCESS Accurate 0.2718
[23.02|14:04:47] 5 1 SUCCESS Accurate 0.2173
[23.02|14:04:47] 6 1 SUCCESS Accurate 0.1572
[23.02|14:04:47] 7 1 SUCCESS Accurate 0.2936
[23.02|14:04:47] 8 1 SUCCESS Accurate 0.1810
[23.02|14:04:47] 9 1 SUCCESS Accurate 0.2209
[23.02|14:04:47] 10 1 SUCCESS Accurate 0.1980
[23.02|14:04:47] 11 1 SUCCESS Accurate 0.2610
[23.02|14:04:47] 12 1 SUCCESS Accurate 0.3609
[23.02|14:04:47] 13 1 FAILED Inaccurate 0.3304
[23.02|14:04:47] 13 2 SUCCESS Accurate 0.2076
[23.02|14:04:47] 14 1 SUCCESS Accurate 0.2195
[23.02|14:04:47] 15 1 SUCCESS Accurate 0.2209
[23.02|14:04:47] 16 1 SUCCESS Accurate 0.1620
[23.02|14:04:47] --- End summary ---
[23.02|14:04:47]
[23.02|14:04:47] ###########################
[23.02|14:04:47] ### Step 17 / Attempt 1 ###
[23.02|14:04:47] ###########################
[23.02|14:04:47] MD Steps: 4500 (cumulative: 80000)
[23.02|14:04:47] Current engine settings:
[23.02|14:04:47]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step13_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|14:04:47] Running step17_attempt1_simulation...
[23.02|14:07:03] Job step17_attempt1_simulation finished
[23.02|14:07:03] Deleting files that are no longer needed...
[23.02|14:07:03] Deleting step15_attempt1_simulation
[23.02|14:07:04] Launching reference calculation
[23.02|14:07:05] Reference calculation finished!
[23.02|14:07:05] Checking success for step17_attempt1
[23.02|14:07:14] CheckEnergy: Checking energy for MDStep80000, n_atoms = 144
[23.02|14:07:14] CheckEnergy: normalization coefficient = 144
[23.02|14:07:14] CheckEnergy: Actual Threshold
[23.02|14:07:14] CheckEnergy: dE/144 -0.0012 0.0020 OK!
[23.02|14:07:14] CheckEnergy: ddE/144 -0.0000 0.0010 OK! (relative to step16_attempt1_simulation:MDStep75500)
[23.02|14:07:14]
[23.02|14:07:14] CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[23.02|14:07:14] CheckForces: ------------
[23.02|14:07:14] CheckForces: Reference job from step17_attempt1_reference_calc1
[23.02|14:07:14] CheckForces: Prediction job from final frame (MDStep80000) of step17_attempt1_simulation
[23.02|14:07:14] CheckForces: ------------
[23.02|14:07:14] CheckForces: Histogram of forces
[23.02|14:07:14] CheckForces: eV/Ang Ref Pred
[23.02|14:07:14] CheckForces: -3 3 2
[23.02|14:07:14] CheckForces: -2 37 37
[23.02|14:07:14] CheckForces: -1 162 164
[23.02|14:07:14] CheckForces: 0 193 195
[23.02|14:07:14] CheckForces: 1 32 29
[23.02|14:07:14] CheckForces: 2 4 4
[23.02|14:07:14] CheckForces: 3 1 1
[23.02|14:07:14] CheckForces: Threshold for 0 force: 0.30 eV/angstrom
[23.02|14:07:14] CheckForces: All force components are within the acceptable error!
[23.02|14:07:14] CheckForces: Maximum deviation: 0.231 eV/angstrom
[23.02|14:07:14] CheckForces: Actual Threshold
[23.02|14:07:14] CheckForces: # > thr. 0 0 OK!
[23.02|14:07:14] CheckForces: MAE 0.038 0.30 OK!
[23.02|14:07:14] CheckForces: R^2 0.995 0.80 OK!
[23.02|14:07:14] CheckForces: --------------------
[23.02|14:07:14]
[23.02|14:07:15] Adding results from step17_attempt1_reference_calc1 to training set
[23.02|14:07:15] Current # training set entries: 25
[23.02|14:07:15] Current # validation set entries: 20
[23.02|14:07:15] Storing data in step17_attempt1_reference_data
[23.02|14:07:15] Deleting step16_attempt1_reference_data
[23.02|14:07:15] Deleting step17_attempt1_reference_calc1
[23.02|14:07:15]
[23.02|14:07:15] Current (cumulative) timings:
[23.02|14:07:15] Time (s) Fraction
[23.02|14:07:15] Ref. calcs 22.09 0.006
[23.02|14:07:15] ML training 1009.77 0.273
[23.02|14:07:15] Simulations 2672.66 0.721
[23.02|14:07:15]
[23.02|14:07:15]
[23.02|14:07:16] Step 17 finished successfully!
[23.02|14:07:16]
[23.02|14:07:16] --- Begin summary ---
[23.02|14:07:16] Step Attempt Status Reason finalframe_forces_max_delta
[23.02|14:07:16] 1 1 FAILED Inaccurate 0.6537
[23.02|14:07:16] 1 2 SUCCESS Accurate 0.3114
[23.02|14:07:16] 2 1 FAILED Inaccurate 0.2480
[23.02|14:07:16] 2 2 FAILED Inaccurate 0.1961
[23.02|14:07:16] 2 3 SUCCESS Accurate 0.1409
[23.02|14:07:16] 3 1 SUCCESS Accurate 0.1832
[23.02|14:07:16] 4 1 SUCCESS Accurate 0.2718
[23.02|14:07:16] 5 1 SUCCESS Accurate 0.2173
[23.02|14:07:16] 6 1 SUCCESS Accurate 0.1572
[23.02|14:07:16] 7 1 SUCCESS Accurate 0.2936
[23.02|14:07:16] 8 1 SUCCESS Accurate 0.1810
[23.02|14:07:16] 9 1 SUCCESS Accurate 0.2209
[23.02|14:07:16] 10 1 SUCCESS Accurate 0.1980
[23.02|14:07:16] 11 1 SUCCESS Accurate 0.2610
[23.02|14:07:16] 12 1 SUCCESS Accurate 0.3609
[23.02|14:07:16] 13 1 FAILED Inaccurate 0.3304
[23.02|14:07:16] 13 2 SUCCESS Accurate 0.2076
[23.02|14:07:16] 14 1 SUCCESS Accurate 0.2195
[23.02|14:07:16] 15 1 SUCCESS Accurate 0.2209
[23.02|14:07:16] 16 1 SUCCESS Accurate 0.1620
[23.02|14:07:16] 17 1 SUCCESS Accurate 0.2308
[23.02|14:07:16] --- End summary ---
[23.02|14:07:16]
[23.02|14:07:16] The engine settings for the final trained ML engine are:
[23.02|14:07:16]
Engine MLPotential
Backend M3GNet
MLDistanceUnit angstrom
MLEnergyUnit eV
Model Custom
ParameterDir /path/plams_workdir.003/scan_density_al.007/step13_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine
[23.02|14:07:16] Active learning finished!
[23.02|14:07:16] Goodbye!
Let’s recalculate the density again:
new_retrained_model_settings = (
scan_density_al_job.results.get_params_job().results.get_production_engine_settings()
)
new_retrained_model_npt_job = plams.AMSJob(
settings=npt_md_s + new_retrained_model_settings,
name="new_retrained_model_npt",
molecule=retrained_model_prod_md_job.results.get_main_molecule(),
)
new_retrained_model_npt_job.run();
new_retrained_model_density = (
plams.AMSNPTJob.load_external(new_retrained_model_npt_job.results.rkfpath())
.results.get_equilibrated_molecule()
.get_density()
)
print(
f"New retrained model water density at 300 K: {new_retrained_model_density*1e-3:.2f} g/cm^3"
)
New retrained model water density at 300 K: 1.02 g/cm^3
Conclusion for the density: Using active learning when scanning the densities makes sure that the predicitons are accurate for all densities. Consequently the equilibrium density is also in better agreement with the reference value of 1.01 g/cm^3.
Note that the density in general is quite difficult to fit accurately.
Complete Python code¶
#!/usr/bin/env amspython
# coding: utf-8
# When running active learning it's usually a good idea to start off "simple" and make the system/structures gradually more complicated.
#
# To train liquid water, we here
#
# * first train a potential at slightly above room temperature and 1.0 g/cm^3
#
# * continue with a second active learning loop where the density is explicitly scanned from a low to a high value
#
# ## Initial imports
import scm.plams as plams
from scm.simple_active_learning import SimpleActiveLearningJob
import matplotlib.pyplot as plt
from scm.external_engines.core import interface_is_installed
assert interface_is_installed("m3gnet"), "You must install the m3gnet backend before following this tutorial!"
plams.init()
# ## Create an initial water box
water = plams.from_smiles("O")
for at in water:
at.properties = plams.Settings()
plams.plot_molecule(water)
box = plams.packmol(water, n_molecules=48, density=1.0)
plams.plot_molecule(box, rotation="-5x,5y,0z")
# Let's run a short MD simulation with M3GNet-UP-2022 to make the structure more realistic:
up_s = plams.Settings()
up_s.input.MLPotential.Model = "M3GNet-UP-2022"
up_s.runscript.nproc = 1 # always run AMS Driver in serial for MLPotential
up_md = plams.AMSNVTJob(
molecule=box,
settings=up_s,
name="up_md",
nsteps=1000,
timestep=0.5,
temperature=350,
)
up_md.run()
# New structure:
starting_structure = up_md.results.get_main_molecule()
plams.plot_molecule(starting_structure, rotation="-5x,5y,0z")
# ## Simple Active Learning setup
#
# ### Reference engine settings
#
# Here, we choose to train against ReaxFF Water-2017.ff, which gives a good water structure.
fast_ref_s = plams.Settings()
fast_ref_s.input.ReaxFF.ForceField = "Water2017.ff"
fast_ref_s.runscript.nproc = 1
slow_ref_s = plams.Settings()
slow_ref_s.input.QuantumESPRESSO.Pseudopotentials.Family = "SSSP-Efficiency"
slow_ref_s.input.QuantumESPRESSO.Pseudopotentials.Functional = "PBE"
slow_ref_s.input.QuantumESPRESSO.K_Points._h = "gamma"
slow_ref_s.input.QuantumESPRESSO.System = plams.Settings(
input_dft="revpbe", ecutwfc=40, vdw_corr="Grimme-D3", dftd3_version=4
)
# Change to slow_ref_s to train to revPBE-D3(BJ) instead:
ref_s = fast_ref_s.copy()
# ### NVT molecular dynamics settings
nvt_md_s = plams.AMSNVTJob(
nsteps=20000,
timestep=0.5,
temperature=(270, 350, 350),
tau=100,
thermostat="Berendsen",
).settings
# ### ParAMS machine learning settings
ml_s = plams.Settings()
ml_s.input.ams.MachineLearning.Backend = "M3GNet"
ml_s.input.ams.MachineLearning.CommitteeSize = 1
ml_s.input.ams.MachineLearning.M3GNet.Model = "UniversalPotential"
ml_s.input.ams.MachineLearning.MaxEpochs = 200
# ### Active learning settings
#
# Liquid water is a "simple" homogeneous system, so we can expect the ML method to perform quite well. We therefore decrease the success criteria thresholds a bit compared to the default vvalues, to ensure that we get accurate results.
#
# Since we will immediately continue with another active learning loop, we disable the "RerunSimulation" as we are not interested in the MD simulation per se.
al_s = plams.Settings()
al_s.input.ams.ActiveLearning.Steps.Type = "Geometric"
al_s.input.ams.ActiveLearning.Steps.Geometric.Start = 10
al_s.input.ams.ActiveLearning.Steps.Geometric.NumSteps = 8
al_s.input.ams.ActiveLearning.InitialReferenceData.Generate.M3GNetShortMD.Enabled = "Yes"
al_s.input.ams.ActiveLearning.SuccessCriteria.Energy.Relative = 0.003
al_s.input.ams.ActiveLearning.SuccessCriteria.Forces.MaxDeviationForZeroForce = 0.35
al_s.input.ams.ActiveLearning.AtEnd.RerunSimulation = "No"
# ### Complete job
settings = ref_s + nvt_md_s + ml_s + al_s
job = SimpleActiveLearningJob(settings=settings, molecule=starting_structure, name="sal")
print(job.get_input())
# ### Run the simple active learning job
job.run(watch=True)
# ## Validate trained model by RDF and MSD
#
# Note: You should skip this part if you trained to DFT since the reference MD calculation will take a very long time!
mol = job.results.get_main_molecule()
plams.plot_molecule(mol, rotation="-5x,5y,0z")
retrained_model_settings = job.results.get_params_job().results.get_production_engine_settings()
retrained_model_settings.runscript.nproc = 1
# ### Equilibration and production MD settings
eq_md_settings = plams.AMSNVTJob(
nsteps=8000,
timestep=0.5,
thermostat="Berendsen",
tau=100,
temperature=300,
samplingfreq=100,
).settings
prod_md_settings = plams.AMSNVTJob(
nsteps=50000,
timestep=0.5,
thermostat="NHC",
tau=200,
temperature=300,
samplingfreq=100,
).settings
# ### Retrained model equilibration
retrained_model_eq_md_job = plams.AMSJob(
settings=eq_md_settings + retrained_model_settings,
molecule=mol,
name="retrained_model_eq_md_dens_1",
)
retrained_model_eq_md_job.run()
# ### Retrained model production simulation
# Let's then run a production simulation from the final structure of the above equilibration MD using both the retrained model and the reference engine:
retrained_model_prod_md_job = plams.AMSJob(
settings=prod_md_settings + retrained_model_settings,
name="retrained_model_prod_md_dens_1",
molecule=retrained_model_eq_md_job.results.get_main_molecule(),
)
retrained_model_prod_md_job.run()
# ### Reference equilibration MD
reference_eq_md_job = plams.AMSJob(
settings=eq_md_settings + ref_s,
molecule=mol,
name="reference_eq_md_dens_1",
)
reference_eq_md_job.run()
# ### Reference production MD
reference_prod_md_job = plams.AMSJob(
settings=prod_md_settings + ref_s,
name="reference_prod_md_dens_1",
molecule=reference_eq_md_job.results.get_main_molecule(),
)
reference_prod_md_job.run()
# ### Mean squared displacement (MSD) helper functions
# For a detailed explanation of the MSD and RDF jobs, see the "Molecular dynamics with Python" tutorial
def get_msd_job(job: plams.AMSJob, symbol: str = "O"):
atom_indices = [i for i, at in enumerate(job.results.get_main_molecule(), 1) if at.symbol == symbol]
msd_job = plams.AMSMSDJob(
job,
name="msd-" + job.name,
atom_indices=atom_indices, # indices start with 1 for the first atom
max_correlation_time_fs=4000, # max correlation time must be set before running the job
start_time_fit_fs=2000, # start_time_fit can also be changed later in the postanalysis
)
msd_job.run()
return msd_job
def plot_msd(job, start_time_fit_fs=None):
"""job: an AMSMSDJob"""
time, msd = job.results.get_msd()
fit_result, fit_x, fit_y = job.results.get_linear_fit(start_time_fit_fs=start_time_fit_fs)
# the diffusion coefficient can also be calculated as fit_result.slope/6 (ang^2/fs)
diffusion_coefficient = job.results.get_diffusion_coefficient(start_time_fit_fs=start_time_fit_fs) # m^2/s
plt.figure(figsize=(5, 3))
plt.plot(time, msd, label="MSD")
plt.plot(fit_x, fit_y, label="Linear fit slope={:.5f} ang^2/fs".format(fit_result.slope))
plt.legend()
plt.xlabel("Correlation time (fs)")
plt.ylabel("Mean square displacement (ang^2)")
plt.title("MSD: Diffusion coefficient = {:.2e} m^2/s".format(diffusion_coefficient))
# ### Temporarily turn off PLAMS logging
#
# Technically, the MSD and RDF jobs are normal PLAMS jobs. However, they are very fast to run. We can turn off the PLAMS logging to keep the Jupyter notebook a bit more tidy:
plams.config.log.stdout = 0
# ### Retrained model MSD, diffusion coefficient
retrained_model_msd_job = get_msd_job(retrained_model_prod_md_job, "O")
retrained_model_D = retrained_model_msd_job.results.get_diffusion_coefficient() # diffusion coefficient, m^2/s
plot_msd(retrained_model_msd_job)
# ### Reference MSD, diffusion coefficient
reference_msd_job = get_msd_job(reference_prod_md_job, "O")
reference_D = reference_msd_job.results.get_diffusion_coefficient() # diffusion coefficient, m^2/s
plot_msd(reference_msd_job)
# **Conclusion for diffusion coefficient**: In this case, the retrained model gives 2.53e-9 m^2/s and the reference method 2.62e-9 m^2/s. That is very good agreement! Note: your results may be somewhat different.
# ### Retrained model and reference RDF
#
# Let's compare the calculated O-O, O-H, and H-H radial distribution functions (rdf):
def get_rdf(job, atom_indices, atom_indices_to, rmin, rmax, rstep):
rdf = plams.AMSRDFJob(
job,
atom_indices=atom_indices,
atom_indices_to=atom_indices_to,
rmin=rmin,
rmax=rmax,
rstep=rstep,
)
rdf.run()
return rdf.results.get_rdf()
final_frame = retrained_model_prod_md_job.results.get_main_molecule() # doesn't matter if retrained model or reference
O_ind = [i for i, at in enumerate(final_frame, 1) if at.symbol == "O"]
H_ind = [i for i, at in enumerate(final_frame, 1) if at.symbol == "H"]
rmax = final_frame.lattice[0][0] / 2
rstep = 0.05
# ### O-O rdf
atom_indices, atom_indices_to = O_ind, O_ind
rmin = 2.0
pred_x, pred_y = get_rdf(retrained_model_prod_md_job, atom_indices, atom_indices_to, rmin, rmax, rstep)
ref_x, ref_y = get_rdf(reference_prod_md_job, atom_indices, atom_indices_to, rmin, rmax, rstep)
plt.plot(pred_x, pred_y, label="Retrained model")
plt.plot(ref_x, ref_y, label="Reference")
plt.xlabel("r (angstrom)")
plt.legend()
plt.title("O-O rdf")
# ### O-H rdf
atom_indices, atom_indices_to = O_ind, H_ind
rmin = 1.3
pred_x, pred_y = get_rdf(retrained_model_prod_md_job, atom_indices, atom_indices_to, rmin, rmax, rstep)
ref_x, ref_y = get_rdf(reference_prod_md_job, atom_indices, atom_indices_to, rmin, rmax, rstep)
plt.plot(pred_x, pred_y, label="Retrained model")
plt.plot(ref_x, ref_y, label="Reference")
plt.xlabel("r (angstrom)")
plt.legend()
plt.title("O-H rdf")
# ### H-H rdf
atom_indices, atom_indices_to = H_ind, H_ind
rmin = 1.3
pred_x, pred_y = get_rdf(retrained_model_prod_md_job, atom_indices, atom_indices_to, rmin, rmax, rstep)
ref_x, ref_y = get_rdf(reference_prod_md_job, atom_indices, atom_indices_to, rmin, rmax, rstep)
plt.plot(pred_x, pred_y, label="Retrained model")
plt.plot(ref_x, ref_y, label="Reference")
plt.xlabel("r (angstrom)")
plt.legend()
plt.title("H-H rdf")
# ### Turn PLAMS logging back on
plams.config.log.stdout = 3 # default value
# ## Density and NPT
#
# ### Check the predicted vs. reference density
npt_md_s = plams.AMSNPTJob(
nsteps=100000,
timestep=0.5,
thermostat="NHC",
tau=100,
temperature=300,
barostat="MTK",
barostat_tau=1000,
equal="XYZ",
pressure=1e5,
).settings
retrained_model_npt_job = plams.AMSJob(
settings=npt_md_s + retrained_model_settings,
name="retrained_model_npt",
molecule=retrained_model_prod_md_job.results.get_main_molecule(),
)
retrained_model_npt_job.run()
retrained_model_density = (
plams.AMSNPTJob.load_external(retrained_model_npt_job.results.rkfpath())
.results.get_equilibrated_molecule()
.get_density()
)
print(f"Retrained model water density at 300 K: {retrained_model_density*1e-3:.2f} g/cm^3")
plams.config.jobmanager.hashing = None
reference_npt_job = plams.AMSJob(
settings=npt_md_s + ref_s,
name="reference_npt",
molecule=reference_prod_md_job.results.get_main_molecule(),
)
reference_npt_job.run()
reference_density = (
plams.AMSNPTJob.load_external(reference_npt_job.results.rkfpath()).results.get_equilibrated_molecule().get_density()
)
print(f"Reference model water density at 300 K: {reference_density*1e-3:.2f} g/cm^3")
# The above reference value for ReaxFF Water-2017.ff agrees exactly with the published reference value of 1.01 g/cm^3.
#
# However, the retrained M3GNet model predicts a density of 0.95 g/cm^3. The agreement is reasonable but not excellent. This can be explained by the fact that almost all training data points were at 1.00 g/cm^3. Only a few points (from the "M3GNetShortMD" initial reference data generator) were taken at other densities.
#
# Let's continue the active learning while sampling more densities. There are two strategies:
#
# * Use an NPT simulation during the active learning
# * Scan the density during the active learning
#
# Here, we choose the second approach in order to ensure that multiple different densities are sampled.
# ### Initial structure for scanning density
#
# Get the final frame from one of the previous MD simulations, and linearly scale the density to 800 kg/m^3 = 0.8 g/cm^3. This will stretch out the O-H bonds so follow up with a short UFF preoptimization.
new_structure = final_frame.copy()
new_structure.set_density(850)
new_structure = plams.preoptimize(new_structure, model="uff", maxiterations=20)
plams.plot_molecule(new_structure)
# ### Second active learning job: scanning density
#
# Here we set Steps.Type = "Linear" to run reference calculations every 5000 MD steps.
#
# To get an accurate density it's very important that the predicted energy is accurate. It is not enough to just get a good fit for the forces.
#
# Here, we decrease the success criteria for both the energy and forces compared to default values.
nsteps = 80000
scan_density_md_s = plams.AMSMDScanDensityJob(
molecule=new_structure,
scan_density_upper=1.15,
nsteps=nsteps,
tau=100,
thermostat="Berendsen",
temperature=300,
).settings
# we must explicitly set the StopStep, since the AL divides the simulation into multiple segments
scan_density_md_s.input.ams.MolecularDynamics.Deformation.StopStep = nsteps
# job = SimpleActiveLearningJob.load_external(plams.config.default_jobmanager.workdir + "/sal.002")
scan_density_ml_s = ml_s.copy()
scan_density_ml_s.input.ams.MachineLearning.LoadModel = job.results.get_params_results_directory()
scan_density_ml_s.input.ams.MachineLearning.Target.Forces.MAE = 0.02
scan_density_ml_s.input.ams.MachineLearning.MaxEpochs = 200
scan_density_al_s = plams.Settings()
scan_density_al_s.input.ams.ActiveLearning.Steps.Type = "Linear"
scan_density_al_s.input.ams.ActiveLearning.Steps.Linear.Start = 500
scan_density_al_s.input.ams.ActiveLearning.Steps.Linear.StepSize = 5000
scan_density_al_s.input.ams.ActiveLearning.InitialReferenceData.Load.FromPreviousModel = "Yes"
scan_density_al_s.input.ams.ActiveLearning.SuccessCriteria.Energy.Relative = 0.001
scan_density_al_s.input.ams.ActiveLearning.SuccessCriteria.Energy.Total = 0.002
# because we do not set Normalization, the above Energy criteria are energies per atom
# scan_density_al_s.input.ams.ActiveLearning.SuccessCriteria.Energy.Normalization =
scan_density_al_s.input.ams.ActiveLearning.SuccessCriteria.Forces.MaxDeviationForZeroForce = 0.30
scan_density_al_s.input.ams.ActiveLearning.AtEnd.RerunSimulation = "No"
scan_density_al_s.input.ams.ActiveLearning.MaxReferenceCalculationsPerAttempt = 2
scan_density_al_job = SimpleActiveLearningJob(
name="scan_density_al",
settings=ref_s + scan_density_md_s + scan_density_ml_s + scan_density_al_s,
molecule=new_structure,
)
scan_density_al_job.run(watch=True)
# Let's recalculate the density again:
new_retrained_model_settings = scan_density_al_job.results.get_params_job().results.get_production_engine_settings()
new_retrained_model_npt_job = plams.AMSJob(
settings=npt_md_s + new_retrained_model_settings,
name="new_retrained_model_npt",
molecule=retrained_model_prod_md_job.results.get_main_molecule(),
)
new_retrained_model_npt_job.run()
new_retrained_model_density = (
plams.AMSNPTJob.load_external(new_retrained_model_npt_job.results.rkfpath())
.results.get_equilibrated_molecule()
.get_density()
)
print(f"New retrained model water density at 300 K: {new_retrained_model_density*1e-3:.2f} g/cm^3")
# **Conclusion for the density**: Using active learning when scanning the densities makes sure that the predicitons are accurate for all densities. Consequently the equilibrium density is also in better agreement with the reference value of 1.01 g/cm^3.
#
# Note that the density in general is quite difficult to fit accurately.