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)

../../../_images/liquid_water_training_51_0.png ../../../_images/liquid_water_training_53_0.png ../../../_images/liquid_water_training_55_0.png

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

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)
../../../_images/liquid_water_training_4_0.png
box = plams.packmol(water, n_molecules=48, density=1.0)
plams.plot_molecule(box, rotation="-5x,5y,0z")
../../../_images/liquid_water_training_5_0.png

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")
../../../_images/liquid_water_training_9_0.png

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")
../../../_images/liquid_water_training_25_0.png
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)
../../../_images/liquid_water_training_44_0.png

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)
../../../_images/liquid_water_training_46_0.png

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");
../../../_images/liquid_water_training_51_0.png

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");
../../../_images/liquid_water_training_53_0.png

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");
../../../_images/liquid_water_training_55_0.png

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)
../../../_images/liquid_water_training_67_0.png

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.