Li-vacancy diffusion in a solid electrolyte

Trained model: M3GNet, starting from the Universal Potential (UP)

Reference method: DFT (PBE, engine Quantum ESPRESSO)

System: LiTiS₂ and Li₂₃Ti₂₄S₄₈ (crystal with one Li vacancy)

../../../_images/litis2_diffusion_neb_14_0.png

Problem: M3GNet-UP-2022 is underestimates the Li diffusion barrier

../../../_images/litis2_diffusion_neb_30_0.png

Solution: Retraining the model gives better agreement:

../../../_images/litis2_diffusion_neb_59_0.png

Expected duration: This notebook takes about 24 hours to run on the CPU. This includes both the active learning and the various NEB calculations.

To follow along, either

Initialization

import scm.plams as plams
import os
import numpy as np
import matplotlib.pyplot as plt
import scm.params as params
from scm.simple_active_learning import SimpleActiveLearningJob
plams.init()
PLAMS working folder: /path/plams_workdir.007

Create structures

Create primitive cell from coordinates

# for plotting in Jupyter notebooks
rotation = "-85x,-5y,0z"

# create structure
primitive = plams.AMSJob.from_input(
    """
    System
        Atoms
            Li 0. 0. 0.
            Ti 0. 0. 3.087452499999999
            S 0. 1.985103430533333 4.551328274799999
            S 1.71915 0.9925517153000001 1.6235767252
        End
        Lattice
            3.4383 0.0 0.0
            -1.71915 2.977655145833333 0.0
            0.0 0.0 6.174905
        End
    End
"""
).molecule[""]
plams.plot_molecule(primitive, rotation=rotation)
../../../_images/litis2_diffusion_neb_4_0.png

Create a supercell.

Here we a reasonably-sized supercell. If the cell is very small, it is actually quite inefficient for training the machine learning potential. If every atom sees its own periodic image then there will not be sufficient variety in the atomic environments for the ML potential to be able to extrapolate to unseen environments. It is recommended to use a larger supercell.

supercell = primitive.supercell([[3, 0, 0], [2, 4, 0], [0, 0, 2]])
for at in supercell:
    at.properties = plams.Settings()
plams.plot_molecule(supercell, rotation=rotation)
../../../_images/litis2_diffusion_neb_6_0.png
print("Lattice vectors")
print(supercell.lattice)
print(f"Number of atoms: {len(supercell)}")
Lattice vectors
[(10.3149, 0.0, 0.0), (0.0, 11.910620583333332, 0.0), (0.0, 0.0, 12.34981)]
Number of atoms: 96

Create Li vacancy in two different places

li_indices = [i for i, at in enumerate(supercell, 1) if at.symbol == "Li"]
print(f"Li indices (starting with 1): {li_indices}")
Li indices (starting with 1): [1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41, 45, 49, 53, 57, 61, 65, 69, 73, 77, 81, 85, 89, 93]

Pick the first Li atom, and get its nearest Li neighbor.

Note that the PLAMS distance_to function ignores periodic boundary conditions, which in this case is quite convenient as it will make the visualization easier if the Li atom diffuses inside the unit cell and doesn’t cross the periodic boundary.

first_index = li_indices[0]
li1 = supercell[first_index]
li1.properties.region = "DiffusingLi"
distances = [li1.distance_to(supercell[x]) for x in li_indices[1:]]
nearest_neighbor_index = li_indices[np.argmin(distances) + 1]
li2 = supercell[nearest_neighbor_index]
target_coords = li2.coords
print(f"First Li atom: {li1}")
print(f"Second Li atom: {li2}")
First Li atom:         Li       0.000000       0.000000       0.000000
Second Li atom:         Li       3.438300       0.000000       0.000000

The goal is to make a Li atom diffuse between these two positions.

For this, we will first delete the second Li atom, and then create a new structure in which the first Li atom is translated to the second Li atom coordinates.

defective_1 = supercell.copy()
defective_1.delete_atom(defective_1[nearest_neighbor_index])
defective_2 = supercell.copy()
defective_2.delete_atom(defective_2[nearest_neighbor_index])
defective_2[first_index].coords = li2.coords
plams.plot_molecule(defective_1, rotation=rotation)
plt.title("Initial structure");
../../../_images/litis2_diffusion_neb_14_0.png

The Li atom in the bottom left corner will diffuse to the right (the vacancy will diffuse to the left):

plams.plot_molecule(defective_2, rotation=rotation)
plt.title("Final structure");
../../../_images/litis2_diffusion_neb_16_0.png

Initial validation of diffusion barrier with NEB and M3GNet-UP-2022

M3GNet-UP-2022 NEB job

m3gnet_up_s = plams.Settings()
m3gnet_up_s.input.MLPotential.Model = "M3GNet-UP-2022"

neb_s = plams.Settings()
neb_s.input.ams.Task = "NEB"
neb_s.input.ams.NEB.PreoptimizeWithIDPP = "Yes"
neb_s.input.ams.NEB.Images = 7
m3gnet_up_neb_job = plams.AMSJob(
    settings=m3gnet_up_s + neb_s,
    molecule={"": defective_1, "final": defective_2},
    name="m3gnet_up_neb",
)
m3gnet_up_neb_job.run();
[25.03|10:51:33] JOB m3gnet_up_neb STARTED
[25.03|10:51:33] JOB m3gnet_up_neb RUNNING
[25.03|10:51:58] JOB m3gnet_up_neb FINISHED
[25.03|10:51:58] JOB m3gnet_up_neb SUCCESSFUL

M3GNet-UP-2022 NEB results

m3gnet_up_res = m3gnet_up_neb_job.results.get_neb_results(unit="eV")
print(f"Left barrier: {m3gnet_up_res['LeftBarrier']:.3f} eV")
print(f"Right barrier: {m3gnet_up_res['RightBarrier']:.3f} eV")
Left barrier: 0.388 eV
Right barrier: 0.388 eV
# ref_results = [0.0, 0.144, 0.482, 0.816, 0.963, 0.816, 0.482, 0.144, 0.0]  # from Quantum ESPRESSO DFT calculation
nImages = m3gnet_up_res["nImages"]
relative_energies = np.array(m3gnet_up_res["Energies"]) - m3gnet_up_res["Energies"][0]
plt.plot(relative_energies)
plt.xlabel("Image")
plt.ylabel("Relative energy (eV)")
plt.title("M3GNet-UP-2022 NEB Li diffusion");
../../../_images/litis2_diffusion_neb_22_0.png
fig, axes = plt.subplots(1, len(m3gnet_up_res["Molecules"]), figsize=(15, 5))

for i, mol in enumerate(m3gnet_up_res["Molecules"]):
    plams.plot_molecule(mol, ax=axes[i], rotation=rotation)
    axes[i].set_title(f"Image {i}")
../../../_images/litis2_diffusion_neb_23_0.png
!amsmovie "{m3gnet_up_neb_job.results.rkfpath()}"

DFT reference engine settings

Are the above M3GNet-UP-2022 results any good? Let’s compare to DFT calculations using the AMS “Replay” task.

“Replay” is just a series of singlepoints on the previous NEB structures. It is not a NEB calculation.

Here we use the Quantum ESPRESSO engine available in AMS2024.

dft_s = plams.Settings()
dft_s.input.QuantumESPRESSO.System.occupations = "Smearing"
dft_s.input.QuantumESPRESSO.System.degauss = 0.005
# for production purposes always manually check that ecutwfc and ecutrho are high enough
# here we set a fairly low ecutwfc to speed up the calculation
dft_s.input.QuantumESPRESSO.System.ecutwfc = 30.0
dft_s.input.QuantumESPRESSO.System.ecutrho = 240.0
# decrease mixing_beta for more robust SCF convergence
dft_s.input.QuantumESPRESSO.Electrons.mixing_beta = 0.3
dft_s.input.QuantumESPRESSO.Electrons.conv_thr = 1.0e-5 * len(supercell)
# for a small cell one should ideally use more k-points than just the gamma point
# by settings K_Points._h = "gamma" we use the faster gamma-point-only
# implementation in Quantum ESPRESSO
dft_s.input.QuantumESPRESSO.K_Points._h = "gamma"
# SCM_DISABLE_MPI launches ams in serial, but will still run Quantum ESPRESSO in parallel
dft_s.runscript.preamble_lines = ["export SCM_DISABLE_MPI=1"]

Run DFT calculations on the NEB points from M3GNet-UP-2022

Note: The DFT calculations may take a few minutes to complete.

replay_s = plams.Settings()
replay_s.input.ams.Task = "Replay"
replay_s.input.ams.Replay.File = os.path.abspath(m3gnet_up_neb_job.results.rkfpath())
replay_s.input.ams.Properties.Gradients = "Yes"

replay_dft_job = plams.AMSJob(settings=replay_s + dft_s, name="replay_m3gnet_up_neb_with_dft")
replay_dft_job.run(watch=True);
[25.03|10:52:07] JOB replay_m3gnet_up_neb_with_dft STARTED
[25.03|10:52:07] JOB replay_m3gnet_up_neb_with_dft RUNNING
[25.03|10:52:07] replay_m3gnet_up_neb_with_dft: AMS 2024.101  RunTime: Mar25-2024 10:52:07  ShM Nodes: 1  Procs: 1
[25.03|10:52:07] replay_m3gnet_up_neb_with_dft: Starting trajectory replay ...
[25.03|10:52:07] replay_m3gnet_up_neb_with_dft: Replaying frame #1/9 (#342 in original trajectory)
[25.03|10:52:07] replay_m3gnet_up_neb_with_dft:     NOTE: a single QE.Label is assigned to atoms of different species.
[25.03|10:52:07] replay_m3gnet_up_neb_with_dft:     Pseudopotentials: /home/user/.scm/packages/AMS2024.1.packages/qe-ky3v91ot/content/upf_files
[25.03|10:52:08] replay_m3gnet_up_neb_with_dft:     AMS Pseudopotentials Finder:
[25.03|10:52:08] replay_m3gnet_up_neb_with_dft:       * Li
[25.03|10:52:08] replay_m3gnet_up_neb_with_dft:         Path: GGA/PBE/SR/SSSP_Efficiency_v1.3.0/UPFs
[25.03|10:52:08] replay_m3gnet_up_neb_with_dft:         File: li_pbe_v1.4.uspp.F.UPF
[25.03|10:52:08] replay_m3gnet_up_neb_with_dft:       * Ti
[25.03|10:52:08] replay_m3gnet_up_neb_with_dft:         Path: GGA/PBE/SR/SSSP_Efficiency_v1.3.0/UPFs
[25.03|10:52:08] replay_m3gnet_up_neb_with_dft:         File: ti_pbe_v1.4.uspp.F.UPF
[25.03|10:52:08] replay_m3gnet_up_neb_with_dft:       * S
[25.03|10:52:08] replay_m3gnet_up_neb_with_dft:         Path: GGA/PBE/SR/SSSP_Efficiency_v1.3.0/UPFs
[25.03|10:52:08] replay_m3gnet_up_neb_with_dft:         File: s_pbe_v1.4.uspp.F.UPF
[25.03|10:52:08] replay_m3gnet_up_neb_with_dft:       recommended ecutwfc:     40.0 Ry
[25.03|10:52:08] replay_m3gnet_up_neb_with_dft:       recommended ecutrho:    320.0 Ry
[25.03|10:52:08] replay_m3gnet_up_neb_with_dft:       NOTE: The System%ecutwfc (    30.0 Ry) is below the recommended threshold (    40.0 Ry)
[25.03|10:52:08] replay_m3gnet_up_neb_with_dft:       NOTE: The System%ecutrho (   240.0 Ry) is below the recommended threshold (   320.0 Ry)
[25.03|10:52:08] replay_m3gnet_up_neb_with_dft:     Starting QuantumEspresso worker ... (see output file for progress information)
[25.03|10:54:26] replay_m3gnet_up_neb_with_dft: Replaying frame #2/9 (#335 in original trajectory)
[25.03|10:55:51] replay_m3gnet_up_neb_with_dft: Replaying frame #3/9 (#336 in original trajectory)
[25.03|10:57:15] replay_m3gnet_up_neb_with_dft: Replaying frame #4/9 (#337 in original trajectory)
[25.03|10:58:34] replay_m3gnet_up_neb_with_dft: Replaying frame #5/9 (#338 in original trajectory)
[25.03|11:00:17] replay_m3gnet_up_neb_with_dft: Replaying frame #6/9 (#339 in original trajectory)
[25.03|11:01:23] replay_m3gnet_up_neb_with_dft: Replaying frame #7/9 (#340 in original trajectory)
[25.03|11:02:44] replay_m3gnet_up_neb_with_dft: Replaying frame #8/9 (#341 in original trajectory)
[25.03|11:04:01] replay_m3gnet_up_neb_with_dft: Replaying frame #9/9 (#343 in original trajectory)
[25.03|11:05:27] replay_m3gnet_up_neb_with_dft: Trajectory replay complete.
[25.03|11:05:27] replay_m3gnet_up_neb_with_dft: Number of QE evaluations: 9
[25.03|11:05:27] replay_m3gnet_up_neb_with_dft: NORMAL TERMINATION
[25.03|11:05:27] JOB replay_m3gnet_up_neb_with_dft FINISHED
[25.03|11:05:27] JOB replay_m3gnet_up_neb_with_dft SUCCESSFUL

When using “Replay” on a NEB job, the results are stored in the normal NEB format. Thus we can use the .get_neb_results() method also on this job:

dft_energies = replay_dft_job.results.get_neb_results(unit="eV")["Energies"]
dft_relative_energies = np.array(dft_energies) - dft_energies[0]

plt.plot(relative_energies)
plt.plot(dft_relative_energies)
plt.legend(["M3GNet-UP-2022", "DFT singlepoints"])
plt.title("Compare M3GNet-UP-2022 NEB to DFT singlepoints");
../../../_images/litis2_diffusion_neb_30_0.png

Conclusion: M3GNet-UP-2022 significantly underestimates the diffusion barrier compared to DFT calculations. This motivates the reparametrization

Store DFT results for later

Since we already performed some DFT calculations, we may as well add them to the training set.

ri = params.ResultsImporter(settings={"units": {"energy": "eV", "forces": "eV/angstrom"}})
ri.add_trajectory_singlepoints(
    replay_dft_job,
    properties=["energy", "forces"],
    indices=[0, 1, 2, 3, 4],
    data_set="training_set",
)
ri.add_trajectory_singlepoints(
    replay_dft_job, properties=["energy", "forces"], indices=[5], data_set="validation_set"
)
yaml_dir = "lidiffusion_initial_reference_data"
ri.store(yaml_dir, backup=False)
['lidiffusion_initial_reference_data/job_collection.yaml',
 'lidiffusion_initial_reference_data/results_importer_settings.yaml',
 'lidiffusion_initial_reference_data/training_set.yaml',
 'lidiffusion_initial_reference_data/validation_set.yaml']

Preliminary active learning jobs with equilibrium MD

Let’s first run some simple NVT MD with active learning for both the * stochiometric system (supercell), and * defective system (defective_1)

This is just to get a good general sampling before setting up the reaction boost to explicitly sample the diffusion process.

Active Learning for stoichiometric system

The stoichiometric system is a perfect crystal with not so many atoms. The forces will be very close to 0 also after a few MD frames. However, even if the ML model predicts forces close to 0, the R^2 between predicted and reference forces may be quite low.

In a case like this, it is reasonable to either

  • decrease the MinR2 success criterion, and/or

  • perturb the atomic coordinates of the initial structure a bit, so that the forces aren’t extremely small

Here, we do both of these:

nvt_md_s = plams.AMSNVTJob(
    nsteps=5000, timestep=0.5, temperature=400, tau=50, thermostat="Berendsen"
).settings

prelim_al_s = plams.Settings()
prelim_al_s.input.ams.ActiveLearning.InitialReferenceData.Load.Directory = os.path.abspath(yaml_dir)
prelim_al_s.input.ams.ActiveLearning.Steps.Type = "Geometric"
prelim_al_s.input.ams.ActiveLearning.Steps.Geometric.NumSteps = 7
prelim_al_s.input.ams.ActiveLearning.SuccessCriteria.Forces.MinR2 = 0.5
prelim_al_s.input.ams.ActiveLearning.AtEnd.RerunSimulation = "No"

ml_s = plams.Settings()
ml_s.input.ams.MachineLearning.Backend = "M3GNet"
ml_s.input.ams.MachineLearning.M3GNet.Model = "UniversalPotential"
ml_s.input.ams.MachineLearning.MaxEpochs = 100
ml_s.input.ams.MachineLearning.Target.Forces.MAE = 0.04

perturbed_supercell = supercell.copy()
perturbed_supercell.perturb_atoms(0.1)

prelim_al_job = SimpleActiveLearningJob(
    name="al_supercell",
    molecule=perturbed_supercell,
    settings=prelim_al_s + ml_s + nvt_md_s + dft_s,
)
prelim_al_job.run(watch=True);
[25.03|11:05:28] JOB al_supercell STARTED
[25.03|11:05:28] JOB al_supercell RUNNING
[25.03|11:05:29] Simple Active Learning 2024.101,  Nodes: 1, Procs: 8
[25.03|11:05:31] Composition of main system: Li24S48Ti24
[25.03|11:05:31] All REFERENCE calculations will be performed with the following QuantumESPRESSO engine:
[25.03|11:05:31]
Engine quantumespresso
  electrons
    conv_thr 0.0009600000000000001
    mixing_beta 0.3
  End
  k_points gamma
  End
  system
    degauss 0.005
    ecutrho 240.0
    ecutwfc 30.0
    occupations Smearing
  End
EndEngine


[25.03|11:05:31] The following are the settings for the to-be-trained MACHINE LEARNING model:
[25.03|11:05:31]
MachineLearning
  Backend M3GNet
  M3GNet
    Model UniversalPotential
  End
  MaxEpochs 100
  Target
    Forces
      MAE 0.04
    End
  End
End

ParallelLevels
End

[25.03|11:05:31] A single model will be trained (no committee).
[25.03|11:05:31] The ACTIVE LEARNING loop will contain 7 steps, using the following schema:
[25.03|11:05:31]    Active Learning Step   1:       10 MD Steps (cumulative:       10)
[25.03|11:05:31]    Active Learning Step   2:       18 MD Steps (cumulative:       28)
[25.03|11:05:31]    Active Learning Step   3:       51 MD Steps (cumulative:       79)
[25.03|11:05:31]    Active Learning Step   4:      144 MD Steps (cumulative:      223)
[25.03|11:05:31]    Active Learning Step   5:      406 MD Steps (cumulative:      629)
[25.03|11:05:31]    Active Learning Step   6:     1145 MD Steps (cumulative:     1774)
[25.03|11:05:31]    Active Learning Step   7:     3226 MD Steps (cumulative:     5000)
[25.03|11:05:31] Total number of MD Steps: 5000
[25.03|11:05:31] Max attempts per active learning step: 15
[25.03|11:05:31]
[25.03|11:05:31] The directory /home/user/temp/sal-lidiff-qMr-2024-Mar-14/clean/lidiffusion_initial_reference_data is of type RestartDirectoryType.YAML_DIR
[25.03|11:05:31] Loading yaml files (data sets) from /home/user/temp/sal-lidiff-qMr-2024-Mar-14/clean/lidiffusion_initial_reference_data
[25.03|11:05:32] Running initial ParAMS training in folder: initial_training
[25.03|11:05:35] JOB m3gnet STARTED
[25.03|11:05:35] Starting m3gnet.prerun()
[25.03|11:05:35] m3gnet.prerun() finished
[25.03|11:05:35] JOB m3gnet RUNNING
[25.03|11:05:35] Executing m3gnet.run
[25.03|11:06:00] training_set    Optimizer: 001 Epoch:      0 Loss: 0.010118
[25.03|11:06:00] validation_set  Optimizer: 001 Epoch:      0 Loss: 0.009217
[25.03|11:06:00] training_set    Optimizer: 001 Epoch:     10 Loss: 0.000343
[25.03|11:06:00] validation_set  Optimizer: 001 Epoch:     10 Loss: 0.017869
[25.03|11:06:02] Execution of m3gnet.run finished with returncode 0
[25.03|11:06:02] JOB m3gnet FINISHED
[25.03|11:06:02] Starting m3gnet.postrun()
[25.03|11:06:02] m3gnet.postrun() finished
[25.03|11:06:02] JOB m3gnet SUCCESSFUL
[25.03|11:06:14] Running all jobs through AMS....
[25.03|11:06:15] Storing results/optimization/training_set_results/best
[25.03|11:06:15] Storing results/optimization/validation_set_results/best
[25.03|11:06:15] PLAMS environment cleaned up successfully
[25.03|11:06:15] PLAMS run finished. Goodbye
[25.03|11:06:15] Initial model has been trained!
[25.03|11:06:15]     ParAMSResults  training_set   validation_set
[25.03|11:06:15]     energy MAE     1.7213         1.5496          eV
[25.03|11:06:15]     forces MAE     0.0318         0.0395          eV/angstrom
[25.03|11:06:15]
[25.03|11:06:15] Starting active learning loop...
[25.03|11:06:15] ##########################
[25.03|11:06:15] ### Step 1 / Attempt 1 ###
[25.03|11:06:15] ##########################
[25.03|11:06:15] MD Steps: 10 (cumulative: 10)
[25.03|11:06:15] Current engine settings:
[25.03|11:06:15]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_supercell/initial_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|11:06:15]     Running step1_attempt1_simulation...
[25.03|11:06:28]     Job step1_attempt1_simulation finished
[25.03|11:06:28] Deleting files that are no longer needed...
[25.03|11:06:28] Launching reference calculation
[25.03|11:08:32]      Reference calculation finished!
[25.03|11:08:32] Checking success for step1_attempt1
[25.03|11:08:32]     CheckEnergy: Checking energy for MDStep10, n_atoms = 96
[25.03|11:08:32]     CheckEnergy: normalization coefficient = 96
[25.03|11:08:32]     CheckEnergy:                   Actual  Threshold
[25.03|11:08:32]     CheckEnergy: dE/96            -2.0951     0.2000 Not OK!
[25.03|11:08:32]
[25.03|11:08:32]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|11:08:32]     CheckForces: ------------
[25.03|11:08:32]     CheckForces: Reference job from step1_attempt1_reference_calc1
[25.03|11:08:32]     CheckForces: Prediction job from final frame (MDStep10) of step1_attempt1_simulation
[25.03|11:08:32]     CheckForces: ------------
[25.03|11:08:32]     CheckForces: Histogram of forces
[25.03|11:08:32]     CheckForces: eV/Ang    Ref   Pred
[25.03|11:08:32]     CheckForces:     -2      8      1
[25.03|11:08:32]     CheckForces:     -1    134    141
[25.03|11:08:32]     CheckForces:      0    142    146
[25.03|11:08:32]     CheckForces:      1      4      0
[25.03|11:08:32]     CheckForces: Threshold for 0 force: 0.50 eV/angstrom
[25.03|11:08:32]     CheckForces: Force components with an error exceeding the threshold:
[25.03|11:08:32]     CheckForces: Ref    Pred   Delta  Threshold
[25.03|11:08:32]     CheckForces:  -1.16  -0.57   0.59      0.57
[25.03|11:08:32]     CheckForces:  -1.01  -0.45   0.56      0.55
[25.03|11:08:32]     CheckForces:  -1.38  -0.80   0.58      0.58
[25.03|11:08:32]     CheckForces: Maximum deviation: 0.591 eV/angstrom
[25.03|11:08:32]     CheckForces:          Actual   Threshold
[25.03|11:08:32]     CheckForces: # > thr.        3        0  Not OK!
[25.03|11:08:32]     CheckForces: MAE         0.146     0.30  OK!
[25.03|11:08:32]     CheckForces: R^2         0.940     0.50  OK!
[25.03|11:08:32]     CheckForces: --------------------
[25.03|11:08:32]
[25.03|11:08:32] Adding results from step1_attempt1_reference_calc1 to training set
[25.03|11:08:32]     Current # training set entries: 6
[25.03|11:08:32]     Current # validation set entries: 1
[25.03|11:08:32]     Storing data in step1_attempt1_reference_data
[25.03|11:08:32]     Deleting initial_reference_data
[25.03|11:08:32]     Deleting step1_attempt1_reference_calc1
[25.03|11:08:32]
[25.03|11:08:32] Current (cumulative) timings:
[25.03|11:08:32]                                 Time (s) Fraction
[25.03|11:08:32]     Ref. calcs                    123.99    0.688
[25.03|11:08:32]     ML training                    43.76    0.243
[25.03|11:08:32]     Simulations                    12.40    0.069
[25.03|11:08:32]
[25.03|11:08:32]
[25.03|11:08:32]
[25.03|11:08:32] --- Begin summary ---
[25.03|11:08:32] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|11:08:32]     1        1 FAILED   Inaccurate                                   0.5907
[25.03|11:08:32] --- End summary ---
[25.03|11:08:32]
[25.03|11:08:32] Running more reference calculations....
[25.03|11:08:32]     Running reference calculations on frames [6] from step1_attempt1_simulation/ams.rkf
[25.03|11:08:32]     Calculating 1 frames in total
[25.03|11:08:32]     Running step1_attempt1_reference_calc2
[25.03|11:10:19]     Reference calculations finished!
[25.03|11:10:19] Adding results from step1_attempt1_reference_calc2 to validation set
[25.03|11:10:19]     Current # training set entries: 6
[25.03|11:10:19]     Current # validation set entries: 2
[25.03|11:10:19]     Storing data in step1_attempt1_reference_data
[25.03|11:10:19]     Deleting step1_attempt1_reference_calc2
[25.03|11:10:19] Launching reparametrization job: step1_attempt1_training
[25.03|11:10:23] JOB m3gnet STARTED
[25.03|11:10:23] Starting m3gnet.prerun()
[25.03|11:10:23] m3gnet.prerun() finished
[25.03|11:10:23] JOB m3gnet RUNNING
[25.03|11:10:23] Executing m3gnet.run
[25.03|11:11:05] training_set    Optimizer: 001 Epoch:      0 Loss: 0.002835
[25.03|11:11:05] validation_set  Optimizer: 001 Epoch:      0 Loss: 0.021855
[25.03|11:11:07] training_set    Optimizer: 001 Epoch:     10 Loss: 0.000383
[25.03|11:11:07] validation_set  Optimizer: 001 Epoch:     10 Loss: 0.017118
[25.03|11:11:08] training_set    Optimizer: 001 Epoch:     20 Loss: 0.000511
[25.03|11:11:08] validation_set  Optimizer: 001 Epoch:     20 Loss: 0.016150
[25.03|11:11:09] training_set    Optimizer: 001 Epoch:     30 Loss: 0.000306
[25.03|11:11:09] validation_set  Optimizer: 001 Epoch:     30 Loss: 0.021423
[25.03|11:11:10] training_set    Optimizer: 001 Epoch:     40 Loss: 0.000358
[25.03|11:11:10] validation_set  Optimizer: 001 Epoch:     40 Loss: 0.022760
[25.03|11:11:11] training_set    Optimizer: 001 Epoch:     50 Loss: 0.000602
[25.03|11:11:11] validation_set  Optimizer: 001 Epoch:     50 Loss: 0.014875
[25.03|11:11:12] training_set    Optimizer: 001 Epoch:     60 Loss: 0.000258
[25.03|11:11:12] validation_set  Optimizer: 001 Epoch:     60 Loss: 0.015804
[25.03|11:11:13] training_set    Optimizer: 001 Epoch:     70 Loss: 0.000843
[25.03|11:11:13] validation_set  Optimizer: 001 Epoch:     70 Loss: 0.013823
[25.03|11:11:15] training_set    Optimizer: 001 Epoch:     80 Loss: 0.000473
[25.03|11:11:15] validation_set  Optimizer: 001 Epoch:     80 Loss: 0.017555
[25.03|11:11:16] training_set    Optimizer: 001 Epoch:     90 Loss: 0.000245
[25.03|11:11:16] validation_set  Optimizer: 001 Epoch:     90 Loss: 0.016380
[25.03|11:11:18] Execution of m3gnet.run finished with returncode 0
[25.03|11:11:18] JOB m3gnet FINISHED
[25.03|11:11:18] Starting m3gnet.postrun()
[25.03|11:11:18] m3gnet.postrun() finished
[25.03|11:11:18] JOB m3gnet SUCCESSFUL
[25.03|11:11:31] Running all jobs through AMS....
[25.03|11:11:31] Storing results/optimization/training_set_results/best
[25.03|11:11:31] Storing results/optimization/validation_set_results/best
[25.03|11:11:31] PLAMS environment cleaned up successfully
[25.03|11:11:31] PLAMS run finished. Goodbye
[25.03|11:11:31]     ParAMSResults  training_set   validation_set
[25.03|11:11:31]     energy MAE     0.3468         0.9118          eV
[25.03|11:11:31]     forces MAE     0.0306         0.0431          eV/angstrom
[25.03|11:11:31]     Newly created parameter file/dir: step1_attempt1_training/results/optimization/m3gnet/m3gnet
[25.03|11:11:31]     Done!
[25.03|11:11:31]     Deleting initial_training
[25.03|11:11:31] ##########################
[25.03|11:11:31] ### Step 1 / Attempt 2 ###
[25.03|11:11:31] ##########################
[25.03|11:11:31] MD Steps: 10 (cumulative: 10)
[25.03|11:11:31] Current engine settings:
[25.03|11:11:31]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_supercell/step1_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|11:11:31]     Running step1_attempt2_simulation...
[25.03|11:11:44]     Job step1_attempt2_simulation finished
[25.03|11:11:44] Deleting files that are no longer needed...
[25.03|11:11:44] Launching reference calculation
[25.03|11:13:52]      Reference calculation finished!
[25.03|11:13:52] Checking success for step1_attempt2
[25.03|11:14:02]     CheckEnergy: Checking energy for MDStep10, n_atoms = 96
[25.03|11:14:02]     CheckEnergy: normalization coefficient = 96
[25.03|11:14:02]     CheckEnergy:                   Actual  Threshold
[25.03|11:14:02]     CheckEnergy: dE/96             0.0178     0.2000 OK!
[25.03|11:14:02]     CheckEnergy: ddE/96           -0.0001     0.0050 OK!      (relative to step1_attempt1_simulation:MDStep10)
[25.03|11:14:02]
[25.03|11:14:02]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|11:14:02]     CheckForces: ------------
[25.03|11:14:02]     CheckForces: Reference job from step1_attempt2_reference_calc1
[25.03|11:14:02]     CheckForces: Prediction job from final frame (MDStep10) of step1_attempt2_simulation
[25.03|11:14:02]     CheckForces: ------------
[25.03|11:14:02]     CheckForces: Histogram of forces
[25.03|11:14:02]     CheckForces: eV/Ang    Ref   Pred
[25.03|11:14:02]     CheckForces:     -2      7      5
[25.03|11:14:02]     CheckForces:     -1    128    134
[25.03|11:14:02]     CheckForces:      0    146    143
[25.03|11:14:02]     CheckForces:      1      7      6
[25.03|11:14:02]     CheckForces: Threshold for 0 force: 0.50 eV/angstrom
[25.03|11:14:02]     CheckForces: All force components are within the acceptable error!
[25.03|11:14:02]     CheckForces: Maximum deviation: 0.254 eV/angstrom
[25.03|11:14:02]     CheckForces:          Actual   Threshold
[25.03|11:14:02]     CheckForces: # > thr.        0        0  OK!
[25.03|11:14:02]     CheckForces: MAE         0.058     0.30  OK!
[25.03|11:14:02]     CheckForces: R^2         0.975     0.50  OK!
[25.03|11:14:02]     CheckForces: --------------------
[25.03|11:14:02]
[25.03|11:14:02] Adding results from step1_attempt2_reference_calc1 to validation set
[25.03|11:14:02]     Current # training set entries: 6
[25.03|11:14:02]     Current # validation set entries: 3
[25.03|11:14:02]     Storing data in step1_attempt2_reference_data
[25.03|11:14:02]     Deleting step1_attempt1_reference_data
[25.03|11:14:02]     Deleting step1_attempt2_reference_calc1
[25.03|11:14:02]
[25.03|11:14:02] Current (cumulative) timings:
[25.03|11:14:02]                                 Time (s) Fraction
[25.03|11:14:02]     Ref. calcs                    358.86    0.718
[25.03|11:14:02]     ML training                   115.83    0.232
[25.03|11:14:02]     Simulations                    24.92    0.050
[25.03|11:14:02]
[25.03|11:14:02]
[25.03|11:14:02] Step 1 finished successfully!
[25.03|11:14:02]
[25.03|11:14:02] --- Begin summary ---
[25.03|11:14:02] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|11:14:02]     1        1 FAILED   Inaccurate                                   0.5907
[25.03|11:14:02]     1        2 SUCCESS  Accurate                                     0.2537
[25.03|11:14:02] --- End summary ---
[25.03|11:14:02]
[25.03|11:14:02] ##########################
[25.03|11:14:02] ### Step 2 / Attempt 1 ###
[25.03|11:14:02] ##########################
[25.03|11:14:02] MD Steps: 18 (cumulative: 28)
[25.03|11:14:02] Current engine settings:
[25.03|11:14:02]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_supercell/step1_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|11:14:02]     Running step2_attempt1_simulation...
[25.03|11:14:17]     Job step2_attempt1_simulation finished
[25.03|11:14:17] Deleting files that are no longer needed...
[25.03|11:14:17]     Deleting step1_attempt1_simulation
[25.03|11:14:18] Launching reference calculation
[25.03|11:16:04]      Reference calculation finished!
[25.03|11:16:04] Checking success for step2_attempt1
[25.03|11:16:14]     CheckEnergy: Checking energy for MDStep28, n_atoms = 96
[25.03|11:16:14]     CheckEnergy: normalization coefficient = 96
[25.03|11:16:14]     CheckEnergy:                   Actual  Threshold
[25.03|11:16:14]     CheckEnergy: dE/96             0.0169     0.2000 OK!
[25.03|11:16:14]     CheckEnergy: ddE/96           -0.0009     0.0050 OK!      (relative to step1_attempt2_simulation:MDStep10)
[25.03|11:16:14]
[25.03|11:16:14]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|11:16:14]     CheckForces: ------------
[25.03|11:16:14]     CheckForces: Reference job from step2_attempt1_reference_calc1
[25.03|11:16:14]     CheckForces: Prediction job from final frame (MDStep28) of step2_attempt1_simulation
[25.03|11:16:14]     CheckForces: ------------
[25.03|11:16:14]     CheckForces: Histogram of forces
[25.03|11:16:14]     CheckForces: eV/Ang    Ref   Pred
[25.03|11:16:14]     CheckForces:     -3      0      0
[25.03|11:16:14]     CheckForces:     -2      7      3
[25.03|11:16:14]     CheckForces:     -1    119    135
[25.03|11:16:14]     CheckForces:      0    156    145
[25.03|11:16:14]     CheckForces:      1      6      5
[25.03|11:16:14]     CheckForces:      2      0      0
[25.03|11:16:14]     CheckForces: Threshold for 0 force: 0.50 eV/angstrom
[25.03|11:16:14]     CheckForces: All force components are within the acceptable error!
[25.03|11:16:14]     CheckForces: Maximum deviation: 0.310 eV/angstrom
[25.03|11:16:14]     CheckForces:          Actual   Threshold
[25.03|11:16:14]     CheckForces: # > thr.        0        0  OK!
[25.03|11:16:14]     CheckForces: MAE         0.070     0.30  OK!
[25.03|11:16:14]     CheckForces: R^2         0.966     0.50  OK!
[25.03|11:16:14]     CheckForces: --------------------
[25.03|11:16:14]
[25.03|11:16:14] Adding results from step2_attempt1_reference_calc1 to training set
[25.03|11:16:14]     Current # training set entries: 7
[25.03|11:16:14]     Current # validation set entries: 3
[25.03|11:16:14]     Storing data in step2_attempt1_reference_data
[25.03|11:16:14]     Deleting step1_attempt2_reference_data
[25.03|11:16:14]     Deleting step2_attempt1_reference_calc1
[25.03|11:16:14]
[25.03|11:16:14] Current (cumulative) timings:
[25.03|11:16:14]                                 Time (s) Fraction
[25.03|11:16:14]     Ref. calcs                    465.13    0.749
[25.03|11:16:14]     ML training                   115.83    0.186
[25.03|11:16:14]     Simulations                    40.44    0.065
[25.03|11:16:14]
[25.03|11:16:14]
[25.03|11:16:14] Step 2 finished successfully!
[25.03|11:16:14]
[25.03|11:16:14] --- Begin summary ---
[25.03|11:16:14] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|11:16:14]     1        1 FAILED   Inaccurate                                   0.5907
[25.03|11:16:14]     1        2 SUCCESS  Accurate                                     0.2537
[25.03|11:16:14]     2        1 SUCCESS  Accurate                                     0.3102
[25.03|11:16:14] --- End summary ---
[25.03|11:16:14]
[25.03|11:16:14] ##########################
[25.03|11:16:14] ### Step 3 / Attempt 1 ###
[25.03|11:16:14] ##########################
[25.03|11:16:14] MD Steps: 51 (cumulative: 79)
[25.03|11:16:14] Current engine settings:
[25.03|11:16:14]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_supercell/step1_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|11:16:14]     Running step3_attempt1_simulation...
[25.03|11:16:30]     Job step3_attempt1_simulation finished
[25.03|11:16:30] Deleting files that are no longer needed...
[25.03|11:16:30]     Deleting step1_attempt2_simulation
[25.03|11:16:30] Launching reference calculation
[25.03|11:18:29]      Reference calculation finished!
[25.03|11:18:29] Checking success for step3_attempt1
[25.03|11:18:39]     CheckEnergy: Checking energy for MDStep79, n_atoms = 96
[25.03|11:18:39]     CheckEnergy: normalization coefficient = 96
[25.03|11:18:39]     CheckEnergy:                   Actual  Threshold
[25.03|11:18:39]     CheckEnergy: dE/96             0.0143     0.2000 OK!
[25.03|11:18:39]     CheckEnergy: ddE/96           -0.0027     0.0050 OK!      (relative to step2_attempt1_simulation:MDStep28)
[25.03|11:18:39]
[25.03|11:18:39]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|11:18:39]     CheckForces: ------------
[25.03|11:18:39]     CheckForces: Reference job from step3_attempt1_reference_calc1
[25.03|11:18:39]     CheckForces: Prediction job from final frame (MDStep79) of step3_attempt1_simulation
[25.03|11:18:39]     CheckForces: ------------
[25.03|11:18:39]     CheckForces: Histogram of forces
[25.03|11:18:39]     CheckForces: eV/Ang    Ref   Pred
[25.03|11:18:39]     CheckForces:     -2     10      5
[25.03|11:18:39]     CheckForces:     -1    135    141
[25.03|11:18:39]     CheckForces:      0    136    137
[25.03|11:18:39]     CheckForces:      1      7      5
[25.03|11:18:39]     CheckForces:      2      0      0
[25.03|11:18:39]     CheckForces: Threshold for 0 force: 0.50 eV/angstrom
[25.03|11:18:39]     CheckForces: All force components are within the acceptable error!
[25.03|11:18:39]     CheckForces: Maximum deviation: 0.427 eV/angstrom
[25.03|11:18:39]     CheckForces:          Actual   Threshold
[25.03|11:18:39]     CheckForces: # > thr.        0        0  OK!
[25.03|11:18:39]     CheckForces: MAE         0.088     0.30  OK!
[25.03|11:18:39]     CheckForces: R^2         0.949     0.50  OK!
[25.03|11:18:39]     CheckForces: --------------------
[25.03|11:18:39]
[25.03|11:18:39] Adding results from step3_attempt1_reference_calc1 to training set
[25.03|11:18:39]     Current # training set entries: 8
[25.03|11:18:39]     Current # validation set entries: 3
[25.03|11:18:39]     Storing data in step3_attempt1_reference_data
[25.03|11:18:39]     Deleting step2_attempt1_reference_data
[25.03|11:18:39]     Deleting step3_attempt1_reference_calc1
[25.03|11:18:39]
[25.03|11:18:39] Current (cumulative) timings:
[25.03|11:18:39]                                 Time (s) Fraction
[25.03|11:18:39]     Ref. calcs                    584.57    0.772
[25.03|11:18:39]     ML training                   115.83    0.153
[25.03|11:18:39]     Simulations                    56.54    0.075
[25.03|11:18:39]
[25.03|11:18:39]
[25.03|11:18:39] Step 3 finished successfully!
[25.03|11:18:39]
[25.03|11:18:39] --- Begin summary ---
[25.03|11:18:39] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|11:18:39]     1        1 FAILED   Inaccurate                                   0.5907
[25.03|11:18:39]     1        2 SUCCESS  Accurate                                     0.2537
[25.03|11:18:39]     2        1 SUCCESS  Accurate                                     0.3102
[25.03|11:18:39]     3        1 SUCCESS  Accurate                                     0.4273
[25.03|11:18:39] --- End summary ---
[25.03|11:18:39]
[25.03|11:18:39] ##########################
[25.03|11:18:39] ### Step 4 / Attempt 1 ###
[25.03|11:18:39] ##########################
[25.03|11:18:39] MD Steps: 144 (cumulative: 223)
[25.03|11:18:39] Current engine settings:
[25.03|11:18:39]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_supercell/step1_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|11:18:39]     Running step4_attempt1_simulation...
[25.03|11:18:57]     Job step4_attempt1_simulation finished
[25.03|11:18:57] Deleting files that are no longer needed...
[25.03|11:18:57]     Deleting step2_attempt1_simulation
[25.03|11:18:57] Launching reference calculation
[25.03|11:20:44]      Reference calculation finished!
[25.03|11:20:44] Checking success for step4_attempt1
[25.03|11:20:53]     CheckEnergy: Checking energy for MDStep223, n_atoms = 96
[25.03|11:20:53]     CheckEnergy: normalization coefficient = 96
[25.03|11:20:53]     CheckEnergy:                   Actual  Threshold
[25.03|11:20:53]     CheckEnergy: dE/96             0.0144     0.2000 OK!
[25.03|11:20:53]     CheckEnergy: ddE/96            0.0002     0.0050 OK!      (relative to step3_attempt1_simulation:MDStep79)
[25.03|11:20:53]
[25.03|11:20:53]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|11:20:53]     CheckForces: ------------
[25.03|11:20:53]     CheckForces: Reference job from step4_attempt1_reference_calc1
[25.03|11:20:53]     CheckForces: Prediction job from final frame (MDStep223) of step4_attempt1_simulation
[25.03|11:20:53]     CheckForces: ------------
[25.03|11:20:53]     CheckForces: Histogram of forces
[25.03|11:20:53]     CheckForces: eV/Ang    Ref   Pred
[25.03|11:20:53]     CheckForces:     -2      5      4
[25.03|11:20:53]     CheckForces:     -1    135    142
[25.03|11:20:53]     CheckForces:      0    137    135
[25.03|11:20:53]     CheckForces:      1     11      7
[25.03|11:20:53]     CheckForces:      2      0      0
[25.03|11:20:53]     CheckForces: Threshold for 0 force: 0.50 eV/angstrom
[25.03|11:20:53]     CheckForces: All force components are within the acceptable error!
[25.03|11:20:53]     CheckForces: Maximum deviation: 0.491 eV/angstrom
[25.03|11:20:53]     CheckForces:          Actual   Threshold
[25.03|11:20:53]     CheckForces: # > thr.        0        0  OK!
[25.03|11:20:53]     CheckForces: MAE         0.094     0.30  OK!
[25.03|11:20:53]     CheckForces: R^2         0.936     0.50  OK!
[25.03|11:20:53]     CheckForces: --------------------
[25.03|11:20:53]
[25.03|11:20:53] Adding results from step4_attempt1_reference_calc1 to validation set
[25.03|11:20:53]     Current # training set entries: 8
[25.03|11:20:53]     Current # validation set entries: 4
[25.03|11:20:53]     Storing data in step4_attempt1_reference_data
[25.03|11:20:53]     Deleting step3_attempt1_reference_data
[25.03|11:20:53]     Deleting step4_attempt1_reference_calc1
[25.03|11:20:53]
[25.03|11:20:53] Current (cumulative) timings:
[25.03|11:20:53]                                 Time (s) Fraction
[25.03|11:20:53]     Ref. calcs                    691.19    0.785
[25.03|11:20:53]     ML training                   115.83    0.131
[25.03|11:20:53]     Simulations                    73.99    0.084
[25.03|11:20:53]
[25.03|11:20:53]
[25.03|11:20:53] Step 4 finished successfully!
[25.03|11:20:53]
[25.03|11:20:53] --- Begin summary ---
[25.03|11:20:53] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|11:20:53]     1        1 FAILED   Inaccurate                                   0.5907
[25.03|11:20:53]     1        2 SUCCESS  Accurate                                     0.2537
[25.03|11:20:53]     2        1 SUCCESS  Accurate                                     0.3102
[25.03|11:20:53]     3        1 SUCCESS  Accurate                                     0.4273
[25.03|11:20:53]     4        1 SUCCESS  Accurate                                     0.4915
[25.03|11:20:53] --- End summary ---
[25.03|11:20:53]
[25.03|11:20:53] ##########################
[25.03|11:20:53] ### Step 5 / Attempt 1 ###
[25.03|11:20:53] ##########################
[25.03|11:20:53] MD Steps: 406 (cumulative: 629)
[25.03|11:20:53] Current engine settings:
[25.03|11:20:53]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_supercell/step1_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|11:20:53]     Running step5_attempt1_simulation...
[25.03|11:21:15]     Job step5_attempt1_simulation finished
[25.03|11:21:15] Deleting files that are no longer needed...
[25.03|11:21:15]     Deleting step3_attempt1_simulation
[25.03|11:21:16] Launching reference calculation
[25.03|11:23:06]      Reference calculation finished!
[25.03|11:23:06] Checking success for step5_attempt1
[25.03|11:23:16]     CheckEnergy: Checking energy for MDStep629, n_atoms = 96
[25.03|11:23:16]     CheckEnergy: normalization coefficient = 96
[25.03|11:23:16]     CheckEnergy:                   Actual  Threshold
[25.03|11:23:16]     CheckEnergy: dE/96             0.0115     0.2000 OK!
[25.03|11:23:16]     CheckEnergy: ddE/96           -0.0029     0.0050 OK!      (relative to step4_attempt1_simulation:MDStep223)
[25.03|11:23:16]
[25.03|11:23:16]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|11:23:16]     CheckForces: ------------
[25.03|11:23:16]     CheckForces: Reference job from step5_attempt1_reference_calc1
[25.03|11:23:16]     CheckForces: Prediction job from final frame (MDStep629) of step5_attempt1_simulation
[25.03|11:23:16]     CheckForces: ------------
[25.03|11:23:16]     CheckForces: Histogram of forces
[25.03|11:23:16]     CheckForces: eV/Ang    Ref   Pred
[25.03|11:23:16]     CheckForces:     -3      0      0
[25.03|11:23:16]     CheckForces:     -2      7      2
[25.03|11:23:16]     CheckForces:     -1    147    154
[25.03|11:23:16]     CheckForces:      0    125    127
[25.03|11:23:16]     CheckForces:      1      9      5
[25.03|11:23:16]     CheckForces:      2      0      0
[25.03|11:23:16]     CheckForces: Threshold for 0 force: 0.50 eV/angstrom
[25.03|11:23:16]     CheckForces: All force components are within the acceptable error!
[25.03|11:23:16]     CheckForces: Maximum deviation: 0.538 eV/angstrom
[25.03|11:23:16]     CheckForces:          Actual   Threshold
[25.03|11:23:16]     CheckForces: # > thr.        0        0  OK!
[25.03|11:23:16]     CheckForces: MAE         0.092     0.30  OK!
[25.03|11:23:16]     CheckForces: R^2         0.947     0.50  OK!
[25.03|11:23:16]     CheckForces: --------------------
[25.03|11:23:16]
[25.03|11:23:16] Adding results from step5_attempt1_reference_calc1 to training set
[25.03|11:23:16]     Current # training set entries: 9
[25.03|11:23:16]     Current # validation set entries: 4
[25.03|11:23:16]     Storing data in step5_attempt1_reference_data
[25.03|11:23:16]     Deleting step4_attempt1_reference_data
[25.03|11:23:16]     Deleting step5_attempt1_reference_calc1
[25.03|11:23:16]
[25.03|11:23:16] Current (cumulative) timings:
[25.03|11:23:16]                                 Time (s) Fraction
[25.03|11:23:16]     Ref. calcs                    801.57    0.791
[25.03|11:23:16]     ML training                   115.83    0.114
[25.03|11:23:16]     Simulations                    95.92    0.095
[25.03|11:23:16]
[25.03|11:23:16]
[25.03|11:23:16] Step 5 finished successfully!
[25.03|11:23:16]
[25.03|11:23:16] --- Begin summary ---
[25.03|11:23:16] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|11:23:16]     1        1 FAILED   Inaccurate                                   0.5907
[25.03|11:23:16]     1        2 SUCCESS  Accurate                                     0.2537
[25.03|11:23:16]     2        1 SUCCESS  Accurate                                     0.3102
[25.03|11:23:16]     3        1 SUCCESS  Accurate                                     0.4273
[25.03|11:23:16]     4        1 SUCCESS  Accurate                                     0.4915
[25.03|11:23:16]     5        1 SUCCESS  Accurate                                     0.5384
[25.03|11:23:16] --- End summary ---
[25.03|11:23:16]
[25.03|11:23:16] ##########################
[25.03|11:23:16] ### Step 6 / Attempt 1 ###
[25.03|11:23:16] ##########################
[25.03|11:23:16] MD Steps: 1145 (cumulative: 1774)
[25.03|11:23:16] Current engine settings:
[25.03|11:23:16]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_supercell/step1_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|11:23:16]     Running step6_attempt1_simulation...
[25.03|11:23:50]     Job step6_attempt1_simulation finished
[25.03|11:23:50] Deleting files that are no longer needed...
[25.03|11:23:50]     Deleting step4_attempt1_simulation
[25.03|11:23:50] Launching reference calculation
[25.03|11:25:56]      Reference calculation finished!
[25.03|11:25:56] Checking success for step6_attempt1
[25.03|11:26:06]     CheckEnergy: Checking energy for MDStep1774, n_atoms = 96
[25.03|11:26:06]     CheckEnergy: normalization coefficient = 96
[25.03|11:26:06]     CheckEnergy:                   Actual  Threshold
[25.03|11:26:06]     CheckEnergy: dE/96             0.0115     0.2000 OK!
[25.03|11:26:06]     CheckEnergy: ddE/96            0.0000     0.0050 OK!      (relative to step5_attempt1_simulation:MDStep629)
[25.03|11:26:06]
[25.03|11:26:06]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|11:26:06]     CheckForces: ------------
[25.03|11:26:06]     CheckForces: Reference job from step6_attempt1_reference_calc1
[25.03|11:26:06]     CheckForces: Prediction job from final frame (MDStep1774) of step6_attempt1_simulation
[25.03|11:26:06]     CheckForces: ------------
[25.03|11:26:06]     CheckForces: Histogram of forces
[25.03|11:26:06]     CheckForces: eV/Ang    Ref   Pred
[25.03|11:26:06]     CheckForces:     -3      0      0
[25.03|11:26:06]     CheckForces:     -2     10      7
[25.03|11:26:06]     CheckForces:     -1    122    128
[25.03|11:26:06]     CheckForces:      0    145    147
[25.03|11:26:06]     CheckForces:      1     11      6
[25.03|11:26:06]     CheckForces:      2      0      0
[25.03|11:26:06]     CheckForces: Threshold for 0 force: 0.50 eV/angstrom
[25.03|11:26:06]     CheckForces: All force components are within the acceptable error!
[25.03|11:26:06]     CheckForces: Maximum deviation: 0.407 eV/angstrom
[25.03|11:26:06]     CheckForces:          Actual   Threshold
[25.03|11:26:06]     CheckForces: # > thr.        0        0  OK!
[25.03|11:26:06]     CheckForces: MAE         0.096     0.30  OK!
[25.03|11:26:06]     CheckForces: R^2         0.946     0.50  OK!
[25.03|11:26:06]     CheckForces: --------------------
[25.03|11:26:06]
[25.03|11:26:06] Adding results from step6_attempt1_reference_calc1 to training set
[25.03|11:26:06]     Current # training set entries: 10
[25.03|11:26:06]     Current # validation set entries: 4
[25.03|11:26:06]     Storing data in step6_attempt1_reference_data
[25.03|11:26:06]     Deleting step5_attempt1_reference_data
[25.03|11:26:06]     Deleting step6_attempt1_reference_calc1
[25.03|11:26:06]
[25.03|11:26:06] Current (cumulative) timings:
[25.03|11:26:06]                                 Time (s) Fraction
[25.03|11:26:06]     Ref. calcs                    928.14    0.791
[25.03|11:26:06]     ML training                   115.83    0.099
[25.03|11:26:06]     Simulations                   129.72    0.111
[25.03|11:26:06]
[25.03|11:26:06]
[25.03|11:26:06] Step 6 finished successfully!
[25.03|11:26:06]
[25.03|11:26:06] --- Begin summary ---
[25.03|11:26:06] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|11:26:06]     1        1 FAILED   Inaccurate                                   0.5907
[25.03|11:26:06]     1        2 SUCCESS  Accurate                                     0.2537
[25.03|11:26:06]     2        1 SUCCESS  Accurate                                     0.3102
[25.03|11:26:06]     3        1 SUCCESS  Accurate                                     0.4273
[25.03|11:26:06]     4        1 SUCCESS  Accurate                                     0.4915
[25.03|11:26:06]     5        1 SUCCESS  Accurate                                     0.5384
[25.03|11:26:06]     6        1 SUCCESS  Accurate                                     0.4068
[25.03|11:26:06] --- End summary ---
[25.03|11:26:06]
[25.03|11:26:06] ##########################
[25.03|11:26:06] ### Step 7 / Attempt 1 ###
[25.03|11:26:06] ##########################
[25.03|11:26:06] MD Steps: 3226 (cumulative: 5000)
[25.03|11:26:06] Current engine settings:
[25.03|11:26:06]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_supercell/step1_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|11:26:06]     Running step7_attempt1_simulation...
[25.03|11:27:14]     Job step7_attempt1_simulation finished
[25.03|11:27:14] Deleting files that are no longer needed...
[25.03|11:27:14]     Deleting step5_attempt1_simulation
[25.03|11:27:14] Launching reference calculation
[25.03|11:29:19]      Reference calculation finished!
[25.03|11:29:19] Checking success for step7_attempt1
[25.03|11:29:28]     CheckEnergy: Checking energy for MDStep5000, n_atoms = 96
[25.03|11:29:28]     CheckEnergy: normalization coefficient = 96
[25.03|11:29:28]     CheckEnergy:                   Actual  Threshold
[25.03|11:29:28]     CheckEnergy: dE/96             0.0117     0.2000 OK!
[25.03|11:29:28]     CheckEnergy: ddE/96            0.0001     0.0050 OK!      (relative to step6_attempt1_simulation:MDStep1774)
[25.03|11:29:28]
[25.03|11:29:28]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|11:29:28]     CheckForces: ------------
[25.03|11:29:28]     CheckForces: Reference job from step7_attempt1_reference_calc1
[25.03|11:29:28]     CheckForces: Prediction job from final frame (MDStep5000) of step7_attempt1_simulation
[25.03|11:29:28]     CheckForces: ------------
[25.03|11:29:28]     CheckForces: Histogram of forces
[25.03|11:29:28]     CheckForces: eV/Ang    Ref   Pred
[25.03|11:29:28]     CheckForces:     -3      1      0
[25.03|11:29:28]     CheckForces:     -2     10      9
[25.03|11:29:28]     CheckForces:     -1    123    129
[25.03|11:29:28]     CheckForces:      0    144    142
[25.03|11:29:28]     CheckForces:      1      9      8
[25.03|11:29:28]     CheckForces:      2      1      0
[25.03|11:29:28]     CheckForces: Threshold for 0 force: 0.50 eV/angstrom
[25.03|11:29:28]     CheckForces: Force components with an error exceeding the threshold:
[25.03|11:29:28]     CheckForces: Ref    Pred   Delta  Threshold
[25.03|11:29:28]     CheckForces:   0.38  -0.18   0.56      0.52
[25.03|11:29:28]     CheckForces: Maximum deviation: 0.562 eV/angstrom
[25.03|11:29:28]     CheckForces:          Actual   Threshold
[25.03|11:29:28]     CheckForces: # > thr.        1        0  Not OK!
[25.03|11:29:28]     CheckForces: MAE         0.111     0.30  OK!
[25.03|11:29:28]     CheckForces: R^2         0.934     0.50  OK!
[25.03|11:29:28]     CheckForces: --------------------
[25.03|11:29:28]
[25.03|11:29:28] Adding results from step7_attempt1_reference_calc1 to training set
[25.03|11:29:28]     Current # training set entries: 11
[25.03|11:29:28]     Current # validation set entries: 4
[25.03|11:29:28]     Storing data in step7_attempt1_reference_data
[25.03|11:29:28]     Deleting step6_attempt1_reference_data
[25.03|11:29:28]     Deleting step7_attempt1_reference_calc1
[25.03|11:29:28]
[25.03|11:29:28] Current (cumulative) timings:
[25.03|11:29:28]                                 Time (s) Fraction
[25.03|11:29:28]     Ref. calcs                   1052.64    0.771
[25.03|11:29:28]     ML training                   115.83    0.085
[25.03|11:29:28]     Simulations                   197.26    0.144
[25.03|11:29:28]
[25.03|11:29:28]
[25.03|11:29:28]
[25.03|11:29:28] --- Begin summary ---
[25.03|11:29:28] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|11:29:28]     1        1 FAILED   Inaccurate                                   0.5907
[25.03|11:29:28]     1        2 SUCCESS  Accurate                                     0.2537
[25.03|11:29:28]     2        1 SUCCESS  Accurate                                     0.3102
[25.03|11:29:28]     3        1 SUCCESS  Accurate                                     0.4273
[25.03|11:29:28]     4        1 SUCCESS  Accurate                                     0.4915
[25.03|11:29:28]     5        1 SUCCESS  Accurate                                     0.5384
[25.03|11:29:28]     6        1 SUCCESS  Accurate                                     0.4068
[25.03|11:29:28]     7        1 FAILED   Inaccurate                                   0.5615
[25.03|11:29:28] --- End summary ---
[25.03|11:29:28]
[25.03|11:29:28] Running more reference calculations....
[25.03|11:29:28]     Running reference calculations on frames [79, 87, 95] from step7_attempt1_simulation/ams.rkf
[25.03|11:29:28]     Calculating 3 frames in total
[25.03|11:29:28]     Running step7_attempt1_reference_calc2
[25.03|11:31:29]     Running step7_attempt1_reference_calc3
[25.03|11:33:13]     Running step7_attempt1_reference_calc4
[25.03|11:35:22]     Reference calculations finished!
[25.03|11:35:22] Adding results from step7_attempt1_reference_calc2 to validation set
[25.03|11:35:22] Adding results from step7_attempt1_reference_calc3 to training set
[25.03|11:35:23] Adding results from step7_attempt1_reference_calc4 to training set
[25.03|11:35:23]     Current # training set entries: 13
[25.03|11:35:23]     Current # validation set entries: 5
[25.03|11:35:23]     Storing data in step7_attempt1_reference_data
[25.03|11:35:23]     Deleting step7_attempt1_reference_calc2
[25.03|11:35:23]     Deleting step7_attempt1_reference_calc3
[25.03|11:35:23]     Deleting step7_attempt1_reference_calc4
[25.03|11:35:23] Launching reparametrization job: step7_attempt1_training
[25.03|11:35:27] JOB m3gnet STARTED
[25.03|11:35:27] Starting m3gnet.prerun()
[25.03|11:35:27] m3gnet.prerun() finished
[25.03|11:35:27] JOB m3gnet RUNNING
[25.03|11:35:27] Executing m3gnet.run
[25.03|11:36:28] training_set    Optimizer: 001 Epoch:      0 Loss: 0.002068
[25.03|11:36:28] validation_set  Optimizer: 001 Epoch:      0 Loss: 0.032805
[25.03|11:36:29] training_set    Optimizer: 001 Epoch:     10 Loss: 0.001045
[25.03|11:36:29] validation_set  Optimizer: 001 Epoch:     10 Loss: 0.017837
[25.03|11:36:31] training_set    Optimizer: 001 Epoch:     20 Loss: 0.000811
[25.03|11:36:31] validation_set  Optimizer: 001 Epoch:     20 Loss: 0.020230
[25.03|11:36:33] training_set    Optimizer: 001 Epoch:     30 Loss: 0.000948
[25.03|11:36:33] validation_set  Optimizer: 001 Epoch:     30 Loss: 0.018718
[25.03|11:36:35] training_set    Optimizer: 001 Epoch:     40 Loss: 0.000810
[25.03|11:36:35] validation_set  Optimizer: 001 Epoch:     40 Loss: 0.012078
[25.03|11:36:37] training_set    Optimizer: 001 Epoch:     50 Loss: 0.000735
[25.03|11:36:37] validation_set  Optimizer: 001 Epoch:     50 Loss: 0.023254
[25.03|11:36:39] training_set    Optimizer: 001 Epoch:     60 Loss: 0.000793
[25.03|11:36:39] validation_set  Optimizer: 001 Epoch:     60 Loss: 0.034136
[25.03|11:36:40] training_set    Optimizer: 001 Epoch:     70 Loss: 0.000789
[25.03|11:36:40] validation_set  Optimizer: 001 Epoch:     70 Loss: 0.014295
[25.03|11:36:42] training_set    Optimizer: 001 Epoch:     80 Loss: 0.000630
[25.03|11:36:42] validation_set  Optimizer: 001 Epoch:     80 Loss: 0.017408
[25.03|11:36:44] training_set    Optimizer: 001 Epoch:     90 Loss: 0.000586
[25.03|11:36:44] validation_set  Optimizer: 001 Epoch:     90 Loss: 0.010572
[25.03|11:36:47] Execution of m3gnet.run finished with returncode 0
[25.03|11:36:47] JOB m3gnet FINISHED
[25.03|11:36:47] Starting m3gnet.postrun()
[25.03|11:36:47] m3gnet.postrun() finished
[25.03|11:36:48] JOB m3gnet SUCCESSFUL
[25.03|11:37:03] Running all jobs through AMS....
[25.03|11:37:03] Storing results/optimization/training_set_results/best
[25.03|11:37:03] Storing results/optimization/validation_set_results/best
[25.03|11:37:03] PLAMS environment cleaned up successfully
[25.03|11:37:03] PLAMS run finished. Goodbye
[25.03|11:37:04]     ParAMSResults  training_set   validation_set
[25.03|11:37:04]     energy MAE     1.3141         1.7184          eV
[25.03|11:37:04]     forces MAE     0.0473         0.0515          eV/angstrom
[25.03|11:37:04]     Newly created parameter file/dir: step7_attempt1_training/results/optimization/m3gnet/m3gnet
[25.03|11:37:04]     Done!
[25.03|11:37:04]     Deleting step1_attempt1_training
[25.03|11:37:04] ##########################
[25.03|11:37:04] ### Step 7 / Attempt 2 ###
[25.03|11:37:04] ##########################
[25.03|11:37:04] MD Steps: 3226 (cumulative: 5000)
[25.03|11:37:04] Current engine settings:
[25.03|11:37:04]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_supercell/step7_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|11:37:04]     Running step7_attempt2_simulation...
[25.03|11:38:11]     Job step7_attempt2_simulation finished
[25.03|11:38:11] Deleting files that are no longer needed...
[25.03|11:38:11] Launching reference calculation
[25.03|11:40:07]      Reference calculation finished!
[25.03|11:40:07] Checking success for step7_attempt2
[25.03|11:40:17]     CheckEnergy: Checking energy for MDStep5000, n_atoms = 96
[25.03|11:40:17]     CheckEnergy: normalization coefficient = 96
[25.03|11:40:17]     CheckEnergy:                   Actual  Threshold
[25.03|11:40:17]     CheckEnergy: dE/96             0.0223     0.2000 OK!
[25.03|11:40:17]     CheckEnergy: ddE/96            0.0017     0.0050 OK!      (relative to step7_attempt1_simulation:MDStep5000)
[25.03|11:40:17]
[25.03|11:40:17]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|11:40:17]     CheckForces: ------------
[25.03|11:40:17]     CheckForces: Reference job from step7_attempt2_reference_calc1
[25.03|11:40:17]     CheckForces: Prediction job from final frame (MDStep5000) of step7_attempt2_simulation
[25.03|11:40:17]     CheckForces: ------------
[25.03|11:40:17]     CheckForces: Histogram of forces
[25.03|11:40:17]     CheckForces: eV/Ang    Ref   Pred
[25.03|11:40:17]     CheckForces:     -3      0      0
[25.03|11:40:17]     CheckForces:     -2     12     13
[25.03|11:40:17]     CheckForces:     -1    122    120
[25.03|11:40:17]     CheckForces:      0    150    151
[25.03|11:40:17]     CheckForces:      1      4      4
[25.03|11:40:17]     CheckForces: Threshold for 0 force: 0.50 eV/angstrom
[25.03|11:40:17]     CheckForces: All force components are within the acceptable error!
[25.03|11:40:17]     CheckForces: Maximum deviation: 0.323 eV/angstrom
[25.03|11:40:17]     CheckForces:          Actual   Threshold
[25.03|11:40:17]     CheckForces: # > thr.        0        0  OK!
[25.03|11:40:17]     CheckForces: MAE         0.069     0.30  OK!
[25.03|11:40:17]     CheckForces: R^2         0.965     0.50  OK!
[25.03|11:40:17]     CheckForces: --------------------
[25.03|11:40:17]
[25.03|11:40:17] Adding results from step7_attempt2_reference_calc1 to validation set
[25.03|11:40:17]     Current # training set entries: 13
[25.03|11:40:17]     Current # validation set entries: 6
[25.03|11:40:17]     Storing data in step7_attempt2_reference_data
[25.03|11:40:17]     Deleting step7_attempt1_reference_data
[25.03|11:40:17]     Deleting step7_attempt2_reference_calc1
[25.03|11:40:17]
[25.03|11:40:17] Current (cumulative) timings:
[25.03|11:40:17]                                 Time (s) Fraction
[25.03|11:40:17]     Ref. calcs                   1523.02    0.760
[25.03|11:40:17]     ML training                   217.07    0.108
[25.03|11:40:17]     Simulations                   264.00    0.132
[25.03|11:40:17]
[25.03|11:40:17]
[25.03|11:40:17] Step 7 finished successfully!
[25.03|11:40:17]
[25.03|11:40:17] --- Begin summary ---
[25.03|11:40:17] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|11:40:17]     1        1 FAILED   Inaccurate                                   0.5907
[25.03|11:40:17]     1        2 SUCCESS  Accurate                                     0.2537
[25.03|11:40:17]     2        1 SUCCESS  Accurate                                     0.3102
[25.03|11:40:17]     3        1 SUCCESS  Accurate                                     0.4273
[25.03|11:40:17]     4        1 SUCCESS  Accurate                                     0.4915
[25.03|11:40:17]     5        1 SUCCESS  Accurate                                     0.5384
[25.03|11:40:17]     6        1 SUCCESS  Accurate                                     0.4068
[25.03|11:40:17]     7        1 FAILED   Inaccurate                                   0.5615
[25.03|11:40:17]     7        2 SUCCESS  Accurate                                     0.3230
[25.03|11:40:17] --- End summary ---
[25.03|11:40:17]
[25.03|11:40:17] The engine settings for the final trained ML engine are:
[25.03|11:40:17]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_supercell/step7_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine



[25.03|11:40:17] Active learning finished!
[25.03|11:40:17] Goodbye!
[25.03|11:40:18] JOB al_supercell FINISHED
[25.03|11:40:18] JOB al_supercell SUCCESSFUL

Active learning for defective system

prelim_al_s2 = prelim_al_s.copy()
prelim_al_s2.input.ams.ActiveLearning.InitialReferenceData.Load.Directory = (
    prelim_al_job.results.get_reference_data_directory()
)
prelim_al_s2.input.ams.ActiveLearning.InitialReferenceData.Load.FromPreviousModel = "No"
prelim_al_s2.input.ams.ActiveLearning.SuccessCriteria.Forces.MaxDeviationForZeroForce = 0.35

ml_s2 = plams.Settings()
ml_s2.input.ams.MachineLearning.Backend = "M3GNet"
ml_s2.input.ams.MachineLearning.LoadModel = prelim_al_job.results.get_params_results_directory()
ml_s2.input.ams.MachineLearning.MaxEpochs = 200
ml_s2.input.ams.MachineLearning.Target.Forces.MAE = 0.03

prelim_al_job2 = SimpleActiveLearningJob(
    name="al_defective", molecule=defective_1, settings=prelim_al_s2 + ml_s2 + nvt_md_s + dft_s
)
prelim_al_job2.run(watch=True);
[25.03|11:40:18] JOB al_defective STARTED
[25.03|11:40:18] JOB al_defective RUNNING
[25.03|11:40:20] Simple Active Learning 2024.101,  Nodes: 1, Procs: 8
[25.03|11:40:22] Composition of main system: Li23S48Ti24
[25.03|11:40:22] All REFERENCE calculations will be performed with the following QuantumESPRESSO engine:
[25.03|11:40:22]
Engine quantumespresso
  electrons
    conv_thr 0.0009600000000000001
    mixing_beta 0.3
  End
  k_points gamma
  End
  system
    degauss 0.005
    ecutrho 240.0
    ecutwfc 30.0
    occupations Smearing
  End
EndEngine


[25.03|11:40:22] The following are the settings for the to-be-trained MACHINE LEARNING model:
[25.03|11:40:22]
MachineLearning
  Backend M3GNet
  LoadModel /path/plams_workdir.007/al_supercell/step7_attempt1_training/results
  MaxEpochs 200
  Target
    Forces
      MAE 0.03
    End
  End
End

ParallelLevels
End

[25.03|11:40:22] A single model will be trained (no committee).
[25.03|11:40:22] The ACTIVE LEARNING loop will contain 7 steps, using the following schema:
[25.03|11:40:22]    Active Learning Step   1:       10 MD Steps (cumulative:       10)
[25.03|11:40:22]    Active Learning Step   2:       18 MD Steps (cumulative:       28)
[25.03|11:40:22]    Active Learning Step   3:       51 MD Steps (cumulative:       79)
[25.03|11:40:22]    Active Learning Step   4:      144 MD Steps (cumulative:      223)
[25.03|11:40:22]    Active Learning Step   5:      406 MD Steps (cumulative:      629)
[25.03|11:40:22]    Active Learning Step   6:     1145 MD Steps (cumulative:     1774)
[25.03|11:40:22]    Active Learning Step   7:     3226 MD Steps (cumulative:     5000)
[25.03|11:40:22] Total number of MD Steps: 5000
[25.03|11:40:22] Max attempts per active learning step: 15
[25.03|11:40:22]
[25.03|11:40:22] The directory /path/plams_workdir.007/al_supercell/step7_attempt1_training/results is of type RestartDirectoryType.PARAMS_RESULTS
[25.03|11:40:22] Successfully loaded previous ParAMS Job: from /path/plams_workdir.007/al_supercell/step7_attempt1_training/results
[25.03|11:40:22] The directory /path/plams_workdir.007/al_supercell/step7_attempt2_reference_data is of type RestartDirectoryType.YAML_DIR
[25.03|11:40:22] Loading yaml files (data sets) from /path/plams_workdir.007/al_supercell/step7_attempt2_reference_data
[25.03|11:40:23] Starting active learning loop...
[25.03|11:40:23] ##########################
[25.03|11:40:23] ### Step 1 / Attempt 1 ###
[25.03|11:40:23] ##########################
[25.03|11:40:23] MD Steps: 10 (cumulative: 10)
[25.03|11:40:23] Current engine settings:
[25.03|11:40:23]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_defective/loaded_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|11:40:23]     Running step1_attempt1_simulation...
[25.03|11:40:36]     Job step1_attempt1_simulation finished
[25.03|11:40:36] Deleting files that are no longer needed...
[25.03|11:40:36] Launching reference calculation
[25.03|11:42:37]      Reference calculation finished!
[25.03|11:42:37] Checking success for step1_attempt1
[25.03|11:42:37]     CheckEnergy: Checking energy for MDStep10, n_atoms = 95
[25.03|11:42:37]     CheckEnergy: normalization coefficient = 95
[25.03|11:42:37]     CheckEnergy:                   Actual  Threshold
[25.03|11:42:37]     CheckEnergy: dE/95             0.0022     0.2000 OK!
[25.03|11:42:37]
[25.03|11:42:37]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|11:42:37]     CheckForces: ------------
[25.03|11:42:37]     CheckForces: Reference job from step1_attempt1_reference_calc1
[25.03|11:42:37]     CheckForces: Prediction job from final frame (MDStep10) of step1_attempt1_simulation
[25.03|11:42:37]     CheckForces: ------------
[25.03|11:42:37]     CheckForces: Histogram of forces
[25.03|11:42:37]     CheckForces: eV/Ang    Ref   Pred
[25.03|11:42:37]     CheckForces:     -1    144    145
[25.03|11:42:37]     CheckForces:      0    141    140
[25.03|11:42:37]     CheckForces:      1      0      0
[25.03|11:42:37]     CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[25.03|11:42:37]     CheckForces: All force components are within the acceptable error!
[25.03|11:42:37]     CheckForces: Maximum deviation: 0.216 eV/angstrom
[25.03|11:42:37]     CheckForces:          Actual   Threshold
[25.03|11:42:37]     CheckForces: # > thr.        0        0  OK!
[25.03|11:42:37]     CheckForces: MAE         0.031     0.30  OK!
[25.03|11:42:37]     CheckForces: R^2         0.893     0.50  OK!
[25.03|11:42:37]     CheckForces: --------------------
[25.03|11:42:37]
[25.03|11:42:37] Adding results from step1_attempt1_reference_calc1 to validation set
[25.03|11:42:37]     Current # training set entries: 13
[25.03|11:42:37]     Current # validation set entries: 7
[25.03|11:42:37]     Storing data in step1_attempt1_reference_data
[25.03|11:42:37]     Deleting initial_reference_data
[25.03|11:42:37]     Deleting step1_attempt1_reference_calc1
[25.03|11:42:37]
[25.03|11:42:37] Current (cumulative) timings:
[25.03|11:42:37]                                 Time (s) Fraction
[25.03|11:42:37]     Ref. calcs                    120.96    0.904
[25.03|11:42:37]     ML training                     0.00    0.000
[25.03|11:42:37]     Simulations                    12.90    0.096
[25.03|11:42:37]
[25.03|11:42:37]
[25.03|11:42:37] Step 1 finished successfully!
[25.03|11:42:37]
[25.03|11:42:37] --- Begin summary ---
[25.03|11:42:37] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|11:42:37]     1        1 SUCCESS  Accurate                                     0.2164
[25.03|11:42:37] --- End summary ---
[25.03|11:42:37]
[25.03|11:42:37] ##########################
[25.03|11:42:37] ### Step 2 / Attempt 1 ###
[25.03|11:42:37] ##########################
[25.03|11:42:37] MD Steps: 18 (cumulative: 28)
[25.03|11:42:37] Current engine settings:
[25.03|11:42:37]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_defective/loaded_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|11:42:37]     Running step2_attempt1_simulation...
[25.03|11:42:50]     Job step2_attempt1_simulation finished
[25.03|11:42:50] Deleting files that are no longer needed...
[25.03|11:42:50] Launching reference calculation
[25.03|11:44:38]      Reference calculation finished!
[25.03|11:44:38] Checking success for step2_attempt1
[25.03|11:44:47]     CheckEnergy: Checking energy for MDStep28, n_atoms = 95
[25.03|11:44:47]     CheckEnergy: normalization coefficient = 95
[25.03|11:44:47]     CheckEnergy:                   Actual  Threshold
[25.03|11:44:47]     CheckEnergy: dE/95             0.0003     0.2000 OK!
[25.03|11:44:47]     CheckEnergy: ddE/95           -0.0019     0.0050 OK!      (relative to step1_attempt1_simulation:MDStep10)
[25.03|11:44:47]
[25.03|11:44:47]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|11:44:47]     CheckForces: ------------
[25.03|11:44:47]     CheckForces: Reference job from step2_attempt1_reference_calc1
[25.03|11:44:47]     CheckForces: Prediction job from final frame (MDStep28) of step2_attempt1_simulation
[25.03|11:44:47]     CheckForces: ------------
[25.03|11:44:47]     CheckForces: Histogram of forces
[25.03|11:44:47]     CheckForces: eV/Ang    Ref   Pred
[25.03|11:44:47]     CheckForces:     -2      0      0
[25.03|11:44:47]     CheckForces:     -1    143    148
[25.03|11:44:47]     CheckForces:      0    142    136
[25.03|11:44:47]     CheckForces:      1      0      1
[25.03|11:44:47]     CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[25.03|11:44:47]     CheckForces: All force components are within the acceptable error!
[25.03|11:44:47]     CheckForces: Maximum deviation: 0.255 eV/angstrom
[25.03|11:44:47]     CheckForces:          Actual   Threshold
[25.03|11:44:47]     CheckForces: # > thr.        0        0  OK!
[25.03|11:44:47]     CheckForces: MAE         0.052     0.30  OK!
[25.03|11:44:47]     CheckForces: R^2         0.955     0.50  OK!
[25.03|11:44:47]     CheckForces: --------------------
[25.03|11:44:47]
[25.03|11:44:47] Adding results from step2_attempt1_reference_calc1 to training set
[25.03|11:44:47]     Current # training set entries: 14
[25.03|11:44:47]     Current # validation set entries: 7
[25.03|11:44:47]     Storing data in step2_attempt1_reference_data
[25.03|11:44:48]     Deleting step1_attempt1_reference_data
[25.03|11:44:48]     Deleting step2_attempt1_reference_calc1
[25.03|11:44:48]
[25.03|11:44:48] Current (cumulative) timings:
[25.03|11:44:48]                                 Time (s) Fraction
[25.03|11:44:48]     Ref. calcs                    228.56    0.900
[25.03|11:44:48]     ML training                     0.00    0.000
[25.03|11:44:48]     Simulations                    25.53    0.100
[25.03|11:44:48]
[25.03|11:44:48]
[25.03|11:44:48] Step 2 finished successfully!
[25.03|11:44:48]
[25.03|11:44:48] --- Begin summary ---
[25.03|11:44:48] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|11:44:48]     1        1 SUCCESS  Accurate                                     0.2164
[25.03|11:44:48]     2        1 SUCCESS  Accurate                                     0.2554
[25.03|11:44:48] --- End summary ---
[25.03|11:44:48]
[25.03|11:44:48] ##########################
[25.03|11:44:48] ### Step 3 / Attempt 1 ###
[25.03|11:44:48] ##########################
[25.03|11:44:48] MD Steps: 51 (cumulative: 79)
[25.03|11:44:48] Current engine settings:
[25.03|11:44:48]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_defective/loaded_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|11:44:48]     Running step3_attempt1_simulation...
[25.03|11:45:04]     Job step3_attempt1_simulation finished
[25.03|11:45:04] Deleting files that are no longer needed...
[25.03|11:45:04]     Deleting step1_attempt1_simulation
[25.03|11:45:04] Launching reference calculation
[25.03|11:46:49]      Reference calculation finished!
[25.03|11:46:49] Checking success for step3_attempt1
[25.03|11:46:58]     CheckEnergy: Checking energy for MDStep79, n_atoms = 95
[25.03|11:46:58]     CheckEnergy: normalization coefficient = 95
[25.03|11:46:58]     CheckEnergy:                   Actual  Threshold
[25.03|11:46:58]     CheckEnergy: dE/95            -0.0020     0.2000 OK!
[25.03|11:46:58]     CheckEnergy: ddE/95           -0.0024     0.0050 OK!      (relative to step2_attempt1_simulation:MDStep28)
[25.03|11:46:58]
[25.03|11:46:58]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|11:46:58]     CheckForces: ------------
[25.03|11:46:58]     CheckForces: Reference job from step3_attempt1_reference_calc1
[25.03|11:46:58]     CheckForces: Prediction job from final frame (MDStep79) of step3_attempt1_simulation
[25.03|11:46:58]     CheckForces: ------------
[25.03|11:46:58]     CheckForces: Histogram of forces
[25.03|11:46:58]     CheckForces: eV/Ang    Ref   Pred
[25.03|11:46:58]     CheckForces:     -2      4      4
[25.03|11:46:58]     CheckForces:     -1    143    137
[25.03|11:46:58]     CheckForces:      0    134    140
[25.03|11:46:58]     CheckForces:      1      4      4
[25.03|11:46:58]     CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[25.03|11:46:58]     CheckForces: All force components are within the acceptable error!
[25.03|11:46:58]     CheckForces: Maximum deviation: 0.317 eV/angstrom
[25.03|11:46:58]     CheckForces:          Actual   Threshold
[25.03|11:46:58]     CheckForces: # > thr.        0        0  OK!
[25.03|11:46:58]     CheckForces: MAE         0.074     0.30  OK!
[25.03|11:46:58]     CheckForces: R^2         0.950     0.50  OK!
[25.03|11:46:58]     CheckForces: --------------------
[25.03|11:46:58]
[25.03|11:46:59] Adding results from step3_attempt1_reference_calc1 to validation set
[25.03|11:46:59]     Current # training set entries: 14
[25.03|11:46:59]     Current # validation set entries: 8
[25.03|11:46:59]     Storing data in step3_attempt1_reference_data
[25.03|11:46:59]     Deleting step2_attempt1_reference_data
[25.03|11:46:59]     Deleting step3_attempt1_reference_calc1
[25.03|11:46:59]
[25.03|11:46:59] Current (cumulative) timings:
[25.03|11:46:59]                                 Time (s) Fraction
[25.03|11:46:59]     Ref. calcs                    333.51    0.890
[25.03|11:46:59]     ML training                     0.00    0.000
[25.03|11:46:59]     Simulations                    41.42    0.110
[25.03|11:46:59]
[25.03|11:46:59]
[25.03|11:46:59] Step 3 finished successfully!
[25.03|11:46:59]
[25.03|11:46:59] --- Begin summary ---
[25.03|11:46:59] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|11:46:59]     1        1 SUCCESS  Accurate                                     0.2164
[25.03|11:46:59]     2        1 SUCCESS  Accurate                                     0.2554
[25.03|11:46:59]     3        1 SUCCESS  Accurate                                     0.3173
[25.03|11:46:59] --- End summary ---
[25.03|11:46:59]
[25.03|11:46:59] ##########################
[25.03|11:46:59] ### Step 4 / Attempt 1 ###
[25.03|11:46:59] ##########################
[25.03|11:46:59] MD Steps: 144 (cumulative: 223)
[25.03|11:46:59] Current engine settings:
[25.03|11:46:59]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_defective/loaded_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|11:46:59]     Running step4_attempt1_simulation...
[25.03|11:47:16]     Job step4_attempt1_simulation finished
[25.03|11:47:16] Deleting files that are no longer needed...
[25.03|11:47:16]     Deleting step2_attempt1_simulation
[25.03|11:47:17] Launching reference calculation
[25.03|11:49:22]      Reference calculation finished!
[25.03|11:49:22] Checking success for step4_attempt1
[25.03|11:49:32]     CheckEnergy: Checking energy for MDStep223, n_atoms = 95
[25.03|11:49:32]     CheckEnergy: normalization coefficient = 95
[25.03|11:49:32]     CheckEnergy:                   Actual  Threshold
[25.03|11:49:32]     CheckEnergy: dE/95            -0.0016     0.2000 OK!
[25.03|11:49:32]     CheckEnergy: ddE/95            0.0005     0.0050 OK!      (relative to step3_attempt1_simulation:MDStep79)
[25.03|11:49:32]
[25.03|11:49:32]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|11:49:32]     CheckForces: ------------
[25.03|11:49:32]     CheckForces: Reference job from step4_attempt1_reference_calc1
[25.03|11:49:32]     CheckForces: Prediction job from final frame (MDStep223) of step4_attempt1_simulation
[25.03|11:49:32]     CheckForces: ------------
[25.03|11:49:32]     CheckForces: Histogram of forces
[25.03|11:49:32]     CheckForces: eV/Ang    Ref   Pred
[25.03|11:49:32]     CheckForces:     -2      3      4
[25.03|11:49:32]     CheckForces:     -1    143    145
[25.03|11:49:32]     CheckForces:      0    133    132
[25.03|11:49:32]     CheckForces:      1      6      4
[25.03|11:49:32]     CheckForces:      2      0      0
[25.03|11:49:32]     CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[25.03|11:49:32]     CheckForces: Force components with an error exceeding the threshold:
[25.03|11:49:32]     CheckForces: Ref    Pred   Delta  Threshold
[25.03|11:49:32]     CheckForces:  -0.24  -0.64   0.39      0.36
[25.03|11:49:32]     CheckForces: Maximum deviation: 0.394 eV/angstrom
[25.03|11:49:32]     CheckForces:          Actual   Threshold
[25.03|11:49:32]     CheckForces: # > thr.        1        0  Not OK!
[25.03|11:49:32]     CheckForces: MAE         0.073     0.30  OK!
[25.03|11:49:32]     CheckForces: R^2         0.952     0.50  OK!
[25.03|11:49:32]     CheckForces: --------------------
[25.03|11:49:32]
[25.03|11:49:32] Adding results from step4_attempt1_reference_calc1 to training set
[25.03|11:49:32]     Current # training set entries: 15
[25.03|11:49:32]     Current # validation set entries: 8
[25.03|11:49:32]     Storing data in step4_attempt1_reference_data
[25.03|11:49:32]     Deleting step3_attempt1_reference_data
[25.03|11:49:32]     Deleting step4_attempt1_reference_calc1
[25.03|11:49:32]
[25.03|11:49:32] Current (cumulative) timings:
[25.03|11:49:32]                                 Time (s) Fraction
[25.03|11:49:32]     Ref. calcs                    459.36    0.886
[25.03|11:49:32]     ML training                     0.00    0.000
[25.03|11:49:32]     Simulations                    58.82    0.114
[25.03|11:49:32]
[25.03|11:49:32]
[25.03|11:49:32]
[25.03|11:49:32] --- Begin summary ---
[25.03|11:49:32] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|11:49:32]     1        1 SUCCESS  Accurate                                     0.2164
[25.03|11:49:32]     2        1 SUCCESS  Accurate                                     0.2554
[25.03|11:49:32]     3        1 SUCCESS  Accurate                                     0.3173
[25.03|11:49:32]     4        1 FAILED   Inaccurate                                   0.3943
[25.03|11:49:32] --- End summary ---
[25.03|11:49:32]
[25.03|11:49:32] Running more reference calculations....
[25.03|11:49:33]     Running reference calculations on frames [44, 46, 49] from step4_attempt1_simulation/ams.rkf
[25.03|11:49:33]     Calculating 3 frames in total
[25.03|11:49:33]     Running step4_attempt1_reference_calc2
[25.03|11:51:31]     Running step4_attempt1_reference_calc3
[25.03|11:53:29]     Running step4_attempt1_reference_calc4
[25.03|11:55:32]     Reference calculations finished!
[25.03|11:55:33] Adding results from step4_attempt1_reference_calc2 to validation set
[25.03|11:55:33] Adding results from step4_attempt1_reference_calc3 to training set
[25.03|11:55:33] Adding results from step4_attempt1_reference_calc4 to training set
[25.03|11:55:33]     Current # training set entries: 17
[25.03|11:55:33]     Current # validation set entries: 9
[25.03|11:55:33]     Storing data in step4_attempt1_reference_data
[25.03|11:55:33]     Deleting step4_attempt1_reference_calc2
[25.03|11:55:33]     Deleting step4_attempt1_reference_calc3
[25.03|11:55:33]     Deleting step4_attempt1_reference_calc4
[25.03|11:55:33] Launching reparametrization job: step4_attempt1_training
[25.03|11:55:37] JOB m3gnet STARTED
[25.03|11:55:37] Starting m3gnet.prerun()
[25.03|11:55:37] m3gnet.prerun() finished
[25.03|11:55:37] JOB m3gnet RUNNING
[25.03|11:55:37] Executing m3gnet.run
[25.03|11:56:40] training_set    Optimizer: 001 Epoch:      0 Loss: 0.002534
[25.03|11:56:40] validation_set  Optimizer: 001 Epoch:      0 Loss: 0.055758
[25.03|11:56:43] training_set    Optimizer: 001 Epoch:     10 Loss: 0.000596
[25.03|11:56:43] validation_set  Optimizer: 001 Epoch:     10 Loss: 0.011160
[25.03|11:56:45] training_set    Optimizer: 001 Epoch:     20 Loss: 0.000563
[25.03|11:56:45] validation_set  Optimizer: 001 Epoch:     20 Loss: 0.009426
[25.03|11:56:48] training_set    Optimizer: 001 Epoch:     30 Loss: 0.000496
[25.03|11:56:48] validation_set  Optimizer: 001 Epoch:     30 Loss: 0.008825
[25.03|11:56:50] training_set    Optimizer: 001 Epoch:     40 Loss: 0.000501
[25.03|11:56:50] validation_set  Optimizer: 001 Epoch:     40 Loss: 0.008911
[25.03|11:56:53] training_set    Optimizer: 001 Epoch:     50 Loss: 0.000476
[25.03|11:56:53] validation_set  Optimizer: 001 Epoch:     50 Loss: 0.009848
[25.03|11:56:56] training_set    Optimizer: 001 Epoch:     60 Loss: 0.000482
[25.03|11:56:56] validation_set  Optimizer: 001 Epoch:     60 Loss: 0.012162
[25.03|11:56:58] training_set    Optimizer: 001 Epoch:     70 Loss: 0.000564
[25.03|11:56:58] validation_set  Optimizer: 001 Epoch:     70 Loss: 0.008627
[25.03|11:57:01] training_set    Optimizer: 001 Epoch:     80 Loss: 0.000505
[25.03|11:57:01] validation_set  Optimizer: 001 Epoch:     80 Loss: 0.008556
[25.03|11:57:03] training_set    Optimizer: 001 Epoch:     90 Loss: 0.000457
[25.03|11:57:03] validation_set  Optimizer: 001 Epoch:     90 Loss: 0.007823
[25.03|11:57:06] training_set    Optimizer: 001 Epoch:    100 Loss: 0.000440
[25.03|11:57:06] validation_set  Optimizer: 001 Epoch:    100 Loss: 0.007835
[25.03|11:57:09] training_set    Optimizer: 001 Epoch:    110 Loss: 0.000408
[25.03|11:57:09] validation_set  Optimizer: 001 Epoch:    110 Loss: 0.007401
[25.03|11:57:11] training_set    Optimizer: 001 Epoch:    120 Loss: 0.000402
[25.03|11:57:11] validation_set  Optimizer: 001 Epoch:    120 Loss: 0.006665
[25.03|11:57:14] training_set    Optimizer: 001 Epoch:    130 Loss: 0.000406
[25.03|11:57:14] validation_set  Optimizer: 001 Epoch:    130 Loss: 0.006711
[25.03|11:57:16] training_set    Optimizer: 001 Epoch:    140 Loss: 0.000397
[25.03|11:57:16] validation_set  Optimizer: 001 Epoch:    140 Loss: 0.007664
[25.03|11:57:19] training_set    Optimizer: 001 Epoch:    150 Loss: 0.000370
[25.03|11:57:19] validation_set  Optimizer: 001 Epoch:    150 Loss: 0.009988
[25.03|11:57:21] training_set    Optimizer: 001 Epoch:    160 Loss: 0.000400
[25.03|11:57:21] validation_set  Optimizer: 001 Epoch:    160 Loss: 0.007400
[25.03|11:57:24] training_set    Optimizer: 001 Epoch:    170 Loss: 0.000406
[25.03|11:57:24] validation_set  Optimizer: 001 Epoch:    170 Loss: 0.007371
[25.03|11:57:27] training_set    Optimizer: 001 Epoch:    180 Loss: 0.000366
[25.03|11:57:27] validation_set  Optimizer: 001 Epoch:    180 Loss: 0.006214
[25.03|11:57:29] training_set    Optimizer: 001 Epoch:    190 Loss: 0.000334
[25.03|11:57:29] validation_set  Optimizer: 001 Epoch:    190 Loss: 0.007044
[25.03|11:57:33] Execution of m3gnet.run finished with returncode 0
[25.03|11:57:33] JOB m3gnet FINISHED
[25.03|11:57:33] Starting m3gnet.postrun()
[25.03|11:57:33] m3gnet.postrun() finished
[25.03|11:57:34] JOB m3gnet SUCCESSFUL
[25.03|11:57:50] Running all jobs through AMS....
[25.03|11:57:50] Storing results/optimization/training_set_results/best
[25.03|11:57:50] Storing results/optimization/validation_set_results/best
[25.03|11:57:50] PLAMS environment cleaned up successfully
[25.03|11:57:50] PLAMS run finished. Goodbye
[25.03|11:57:51]     ParAMSResults  training_set   validation_set
[25.03|11:57:51]     energy MAE     0.8237         0.7684          eV
[25.03|11:57:51]     forces MAE     0.0419         0.0452          eV/angstrom
[25.03|11:57:51]     Newly created parameter file/dir: step4_attempt1_training/results/optimization/m3gnet/m3gnet
[25.03|11:57:51]     Done!
[25.03|11:57:51]     Deleting loaded_training
[25.03|11:57:51] ##########################
[25.03|11:57:51] ### Step 4 / Attempt 2 ###
[25.03|11:57:51] ##########################
[25.03|11:57:51] MD Steps: 144 (cumulative: 223)
[25.03|11:57:51] Current engine settings:
[25.03|11:57:51]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_defective/step4_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|11:57:51]     Running step4_attempt2_simulation...
[25.03|11:58:08]     Job step4_attempt2_simulation finished
[25.03|11:58:08] Deleting files that are no longer needed...
[25.03|11:58:09] Launching reference calculation
[25.03|12:00:06]      Reference calculation finished!
[25.03|12:00:06] Checking success for step4_attempt2
[25.03|12:00:16]     CheckEnergy: Checking energy for MDStep223, n_atoms = 95
[25.03|12:00:16]     CheckEnergy: normalization coefficient = 95
[25.03|12:00:16]     CheckEnergy:                   Actual  Threshold
[25.03|12:00:16]     CheckEnergy: dE/95            -0.0109     0.2000 OK!
[25.03|12:00:16]     CheckEnergy: ddE/95            0.0003     0.0050 OK!      (relative to step4_attempt1_simulation:MDStep223)
[25.03|12:00:16]
[25.03|12:00:16]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|12:00:16]     CheckForces: ------------
[25.03|12:00:16]     CheckForces: Reference job from step4_attempt2_reference_calc1
[25.03|12:00:16]     CheckForces: Prediction job from final frame (MDStep223) of step4_attempt2_simulation
[25.03|12:00:16]     CheckForces: ------------
[25.03|12:00:16]     CheckForces: Histogram of forces
[25.03|12:00:16]     CheckForces: eV/Ang    Ref   Pred
[25.03|12:00:16]     CheckForces:     -2      5      4
[25.03|12:00:16]     CheckForces:     -1    145    142
[25.03|12:00:16]     CheckForces:      0    128    132
[25.03|12:00:16]     CheckForces:      1      7      7
[25.03|12:00:16]     CheckForces:      2      0      0
[25.03|12:00:16]     CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[25.03|12:00:16]     CheckForces: All force components are within the acceptable error!
[25.03|12:00:16]     CheckForces: Maximum deviation: 0.259 eV/angstrom
[25.03|12:00:16]     CheckForces:          Actual   Threshold
[25.03|12:00:16]     CheckForces: # > thr.        0        0  OK!
[25.03|12:00:16]     CheckForces: MAE         0.054     0.30  OK!
[25.03|12:00:16]     CheckForces: R^2         0.976     0.50  OK!
[25.03|12:00:16]     CheckForces: --------------------
[25.03|12:00:16]
[25.03|12:00:16] Adding results from step4_attempt2_reference_calc1 to validation set
[25.03|12:00:16]     Current # training set entries: 17
[25.03|12:00:16]     Current # validation set entries: 10
[25.03|12:00:16]     Storing data in step4_attempt2_reference_data
[25.03|12:00:16]     Deleting step4_attempt1_reference_data
[25.03|12:00:16]     Deleting step4_attempt2_reference_calc1
[25.03|12:00:16]
[25.03|12:00:16] Current (cumulative) timings:
[25.03|12:00:16]                                 Time (s) Fraction
[25.03|12:00:16]     Ref. calcs                    936.81    0.814
[25.03|12:00:16]     ML training                   137.54    0.120
[25.03|12:00:16]     Simulations                    76.41    0.066
[25.03|12:00:16]
[25.03|12:00:16]
[25.03|12:00:16] Step 4 finished successfully!
[25.03|12:00:16]
[25.03|12:00:16] --- Begin summary ---
[25.03|12:00:16] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|12:00:16]     1        1 SUCCESS  Accurate                                     0.2164
[25.03|12:00:16]     2        1 SUCCESS  Accurate                                     0.2554
[25.03|12:00:16]     3        1 SUCCESS  Accurate                                     0.3173
[25.03|12:00:16]     4        1 FAILED   Inaccurate                                   0.3943
[25.03|12:00:16]     4        2 SUCCESS  Accurate                                     0.2591
[25.03|12:00:16] --- End summary ---
[25.03|12:00:16]
[25.03|12:00:16] ##########################
[25.03|12:00:16] ### Step 5 / Attempt 1 ###
[25.03|12:00:16] ##########################
[25.03|12:00:16] MD Steps: 406 (cumulative: 629)
[25.03|12:00:16] Current engine settings:
[25.03|12:00:16]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_defective/step4_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|12:00:16]     Running step5_attempt1_simulation...
[25.03|12:00:38]     Job step5_attempt1_simulation finished
[25.03|12:00:38] Deleting files that are no longer needed...
[25.03|12:00:38]     Deleting step3_attempt1_simulation
[25.03|12:00:38]     Deleting step4_attempt1_simulation
[25.03|12:00:38] Launching reference calculation
[25.03|12:02:45]      Reference calculation finished!
[25.03|12:02:45] Checking success for step5_attempt1
[25.03|12:02:54]     CheckEnergy: Checking energy for MDStep629, n_atoms = 95
[25.03|12:02:54]     CheckEnergy: normalization coefficient = 95
[25.03|12:02:54]     CheckEnergy:                   Actual  Threshold
[25.03|12:02:54]     CheckEnergy: dE/95            -0.0120     0.2000 OK!
[25.03|12:02:54]     CheckEnergy: ddE/95           -0.0011     0.0050 OK!      (relative to step4_attempt2_simulation:MDStep223)
[25.03|12:02:54]
[25.03|12:02:54]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|12:02:54]     CheckForces: ------------
[25.03|12:02:54]     CheckForces: Reference job from step5_attempt1_reference_calc1
[25.03|12:02:54]     CheckForces: Prediction job from final frame (MDStep629) of step5_attempt1_simulation
[25.03|12:02:54]     CheckForces: ------------
[25.03|12:02:54]     CheckForces: Histogram of forces
[25.03|12:02:54]     CheckForces: eV/Ang    Ref   Pred
[25.03|12:02:54]     CheckForces:     -3      0      0
[25.03|12:02:54]     CheckForces:     -2     10      9
[25.03|12:02:54]     CheckForces:     -1    141    142
[25.03|12:02:54]     CheckForces:      0    123    126
[25.03|12:02:54]     CheckForces:      1     11      8
[25.03|12:02:54]     CheckForces:      2      0      0
[25.03|12:02:54]     CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[25.03|12:02:54]     CheckForces: All force components are within the acceptable error!
[25.03|12:02:54]     CheckForces: Maximum deviation: 0.335 eV/angstrom
[25.03|12:02:54]     CheckForces:          Actual   Threshold
[25.03|12:02:54]     CheckForces: # > thr.        0        0  OK!
[25.03|12:02:54]     CheckForces: MAE         0.071     0.30  OK!
[25.03|12:02:54]     CheckForces: R^2         0.967     0.50  OK!
[25.03|12:02:54]     CheckForces: --------------------
[25.03|12:02:54]
[25.03|12:02:55] Adding results from step5_attempt1_reference_calc1 to training set
[25.03|12:02:55]     Current # training set entries: 18
[25.03|12:02:55]     Current # validation set entries: 10
[25.03|12:02:55]     Storing data in step5_attempt1_reference_data
[25.03|12:02:55]     Deleting step4_attempt2_reference_data
[25.03|12:02:55]     Deleting step5_attempt1_reference_calc1
[25.03|12:02:55]
[25.03|12:02:55] Current (cumulative) timings:
[25.03|12:02:55]                                 Time (s) Fraction
[25.03|12:02:55]     Ref. calcs                   1063.60    0.819
[25.03|12:02:55]     ML training                   137.54    0.106
[25.03|12:02:55]     Simulations                    97.92    0.075
[25.03|12:02:55]
[25.03|12:02:55]
[25.03|12:02:55] Step 5 finished successfully!
[25.03|12:02:55]
[25.03|12:02:55] --- Begin summary ---
[25.03|12:02:55] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|12:02:55]     1        1 SUCCESS  Accurate                                     0.2164
[25.03|12:02:55]     2        1 SUCCESS  Accurate                                     0.2554
[25.03|12:02:55]     3        1 SUCCESS  Accurate                                     0.3173
[25.03|12:02:55]     4        1 FAILED   Inaccurate                                   0.3943
[25.03|12:02:55]     4        2 SUCCESS  Accurate                                     0.2591
[25.03|12:02:55]     5        1 SUCCESS  Accurate                                     0.3351
[25.03|12:02:55] --- End summary ---
[25.03|12:02:55]
[25.03|12:02:55] ##########################
[25.03|12:02:55] ### Step 6 / Attempt 1 ###
[25.03|12:02:55] ##########################
[25.03|12:02:55] MD Steps: 1145 (cumulative: 1774)
[25.03|12:02:55] Current engine settings:
[25.03|12:02:55]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_defective/step4_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|12:02:55]     Running step6_attempt1_simulation...
[25.03|12:03:29]     Job step6_attempt1_simulation finished
[25.03|12:03:29] Deleting files that are no longer needed...
[25.03|12:03:29]     Deleting step4_attempt2_simulation
[25.03|12:03:29] Launching reference calculation
[25.03|12:05:34]      Reference calculation finished!
[25.03|12:05:34] Checking success for step6_attempt1
[25.03|12:05:43]     CheckEnergy: Checking energy for MDStep1774, n_atoms = 95
[25.03|12:05:43]     CheckEnergy: normalization coefficient = 95
[25.03|12:05:43]     CheckEnergy:                   Actual  Threshold
[25.03|12:05:43]     CheckEnergy: dE/95            -0.0111     0.2000 OK!
[25.03|12:05:43]     CheckEnergy: ddE/95            0.0008     0.0050 OK!      (relative to step5_attempt1_simulation:MDStep629)
[25.03|12:05:43]
[25.03|12:05:43]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|12:05:43]     CheckForces: ------------
[25.03|12:05:43]     CheckForces: Reference job from step6_attempt1_reference_calc1
[25.03|12:05:43]     CheckForces: Prediction job from final frame (MDStep1774) of step6_attempt1_simulation
[25.03|12:05:43]     CheckForces: ------------
[25.03|12:05:43]     CheckForces: Histogram of forces
[25.03|12:05:43]     CheckForces: eV/Ang    Ref   Pred
[25.03|12:05:43]     CheckForces:     -3      0      0
[25.03|12:05:43]     CheckForces:     -2      6      5
[25.03|12:05:43]     CheckForces:     -1    136    133
[25.03|12:05:43]     CheckForces:      0    136    142
[25.03|12:05:43]     CheckForces:      1      7      5
[25.03|12:05:43]     CheckForces:      2      0      0
[25.03|12:05:43]     CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[25.03|12:05:43]     CheckForces: All force components are within the acceptable error!
[25.03|12:05:43]     CheckForces: Maximum deviation: 0.317 eV/angstrom
[25.03|12:05:43]     CheckForces:          Actual   Threshold
[25.03|12:05:43]     CheckForces: # > thr.        0        0  OK!
[25.03|12:05:43]     CheckForces: MAE         0.065     0.30  OK!
[25.03|12:05:43]     CheckForces: R^2         0.968     0.50  OK!
[25.03|12:05:43]     CheckForces: --------------------
[25.03|12:05:43]
[25.03|12:05:43] Adding results from step6_attempt1_reference_calc1 to validation set
[25.03|12:05:43]     Current # training set entries: 18
[25.03|12:05:43]     Current # validation set entries: 11
[25.03|12:05:43]     Storing data in step6_attempt1_reference_data
[25.03|12:05:43]     Deleting step5_attempt1_reference_data
[25.03|12:05:44]     Deleting step6_attempt1_reference_calc1
[25.03|12:05:44]
[25.03|12:05:44] Current (cumulative) timings:
[25.03|12:05:44]                                 Time (s) Fraction
[25.03|12:05:44]     Ref. calcs                   1188.17    0.815
[25.03|12:05:44]     ML training                   137.54    0.094
[25.03|12:05:44]     Simulations                   131.62    0.090
[25.03|12:05:44]
[25.03|12:05:44]
[25.03|12:05:44] Step 6 finished successfully!
[25.03|12:05:44]
[25.03|12:05:44] --- Begin summary ---
[25.03|12:05:44] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|12:05:44]     1        1 SUCCESS  Accurate                                     0.2164
[25.03|12:05:44]     2        1 SUCCESS  Accurate                                     0.2554
[25.03|12:05:44]     3        1 SUCCESS  Accurate                                     0.3173
[25.03|12:05:44]     4        1 FAILED   Inaccurate                                   0.3943
[25.03|12:05:44]     4        2 SUCCESS  Accurate                                     0.2591
[25.03|12:05:44]     5        1 SUCCESS  Accurate                                     0.3351
[25.03|12:05:44]     6        1 SUCCESS  Accurate                                     0.3167
[25.03|12:05:44] --- End summary ---
[25.03|12:05:44]
[25.03|12:05:44] ##########################
[25.03|12:05:44] ### Step 7 / Attempt 1 ###
[25.03|12:05:44] ##########################
[25.03|12:05:44] MD Steps: 3226 (cumulative: 5000)
[25.03|12:05:44] Current engine settings:
[25.03|12:05:44]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_defective/step4_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|12:05:44]     Running step7_attempt1_simulation...
[25.03|12:06:48]     Job step7_attempt1_simulation finished
[25.03|12:06:48] Deleting files that are no longer needed...
[25.03|12:06:48]     Deleting step5_attempt1_simulation
[25.03|12:06:48] Launching reference calculation
[25.03|12:08:50]      Reference calculation finished!
[25.03|12:08:50] Checking success for step7_attempt1
[25.03|12:09:00]     CheckEnergy: Checking energy for MDStep5000, n_atoms = 95
[25.03|12:09:00]     CheckEnergy: normalization coefficient = 95
[25.03|12:09:00]     CheckEnergy:                   Actual  Threshold
[25.03|12:09:00]     CheckEnergy: dE/95            -0.0120     0.2000 OK!
[25.03|12:09:00]     CheckEnergy: ddE/95           -0.0008     0.0050 OK!      (relative to step6_attempt1_simulation:MDStep1774)
[25.03|12:09:00]
[25.03|12:09:00]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|12:09:00]     CheckForces: ------------
[25.03|12:09:00]     CheckForces: Reference job from step7_attempt1_reference_calc1
[25.03|12:09:00]     CheckForces: Prediction job from final frame (MDStep5000) of step7_attempt1_simulation
[25.03|12:09:00]     CheckForces: ------------
[25.03|12:09:00]     CheckForces: Histogram of forces
[25.03|12:09:00]     CheckForces: eV/Ang    Ref   Pred
[25.03|12:09:00]     CheckForces:     -3      0      0
[25.03|12:09:00]     CheckForces:     -2      7      6
[25.03|12:09:00]     CheckForces:     -1    136    138
[25.03|12:09:00]     CheckForces:      0    136    135
[25.03|12:09:00]     CheckForces:      1      6      6
[25.03|12:09:00]     CheckForces:      2      0      0
[25.03|12:09:00]     CheckForces: Threshold for 0 force: 0.35 eV/angstrom
[25.03|12:09:00]     CheckForces: All force components are within the acceptable error!
[25.03|12:09:00]     CheckForces: Maximum deviation: 0.320 eV/angstrom
[25.03|12:09:00]     CheckForces:          Actual   Threshold
[25.03|12:09:00]     CheckForces: # > thr.        0        0  OK!
[25.03|12:09:00]     CheckForces: MAE         0.062     0.30  OK!
[25.03|12:09:00]     CheckForces: R^2         0.972     0.50  OK!
[25.03|12:09:00]     CheckForces: --------------------
[25.03|12:09:00]
[25.03|12:09:00] Adding results from step7_attempt1_reference_calc1 to training set
[25.03|12:09:00]     Current # training set entries: 19
[25.03|12:09:00]     Current # validation set entries: 11
[25.03|12:09:00]     Storing data in step7_attempt1_reference_data
[25.03|12:09:00]     Deleting step6_attempt1_reference_data
[25.03|12:09:00]     Deleting step7_attempt1_reference_calc1
[25.03|12:09:00]
[25.03|12:09:00] Current (cumulative) timings:
[25.03|12:09:00]                                 Time (s) Fraction
[25.03|12:09:00]     Ref. calcs                   1310.28    0.797
[25.03|12:09:00]     ML training                   137.54    0.084
[25.03|12:09:00]     Simulations                   195.82    0.119
[25.03|12:09:00]
[25.03|12:09:00]
[25.03|12:09:00] Step 7 finished successfully!
[25.03|12:09:00]
[25.03|12:09:00] --- Begin summary ---
[25.03|12:09:00] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|12:09:00]     1        1 SUCCESS  Accurate                                     0.2164
[25.03|12:09:00]     2        1 SUCCESS  Accurate                                     0.2554
[25.03|12:09:00]     3        1 SUCCESS  Accurate                                     0.3173
[25.03|12:09:00]     4        1 FAILED   Inaccurate                                   0.3943
[25.03|12:09:00]     4        2 SUCCESS  Accurate                                     0.2591
[25.03|12:09:00]     5        1 SUCCESS  Accurate                                     0.3351
[25.03|12:09:00]     6        1 SUCCESS  Accurate                                     0.3167
[25.03|12:09:00]     7        1 SUCCESS  Accurate                                     0.3195
[25.03|12:09:00] --- End summary ---
[25.03|12:09:00]
[25.03|12:09:00] The engine settings for the final trained ML engine are:
[25.03|12:09:00]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/al_defective/step4_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine



[25.03|12:09:00] Active learning finished!
[25.03|12:09:00] Goodbye!
[25.03|12:09:01] JOB al_defective FINISHED
[25.03|12:09:01] JOB al_defective SUCCESSFUL

Set up ReactionBoost MD simulation with M3GNet-UP-2022

ReactionBoost simulations can be a bit tricky to set up.

Before using ReactionBoost inside the Active Learning, it is best to verify that the simulation behaves reasonably when using M3GNet-UP-2022.

So let’s just run a normal ReactionBoost simulation with M3GNet-UP-2022:

md_s = plams.Settings()
md_s.Thermostat.Temperature = 300
md_s.Thermostat.Type = "Berendsen"
md_s.Thermostat.Tau = 5
md_s.InitialVelocities.Type = "Random"
md_s.InitialVelocities.Temperature = 300
md_s.ReactionBoost.Type = "RMSD"
md_s.ReactionBoost.NSteps = 480
md_s.ReactionBoost.Region = "DiffusingLi"
md_s.ReactionBoost.TargetSystem = "final"
md_s.ReactionBoost.RMSDRestraint.Type = "Harmonic"
md_s.ReactionBoost.RMSDRestraint.Harmonic.ForceConstant = 0.1
md_s.NSteps = 500
md_s.TimeStep = 0.5
md_s.Trajectory.SamplingFreq = 20
rb_s = plams.Settings()
rb_s.input.ams.Task = "MolecularDynamics"
rb_s.input.ams.MolecularDynamics = md_s
m3gnet_rb_job = plams.AMSJob(
    settings=m3gnet_up_s + rb_s,
    name="m3gnet_up_rb",
    molecule={"": defective_1, "final": defective_2},
)
m3gnet_rb_job.run();
[25.03|12:09:01] JOB m3gnet_up_rb STARTED
[25.03|12:09:01] JOB m3gnet_up_rb RUNNING
[25.03|12:09:27] JOB m3gnet_up_rb FINISHED
[25.03|12:09:27] JOB m3gnet_up_rb SUCCESSFUL
N = 5  # show 5 structures
fig, axes = plt.subplots(1, N, figsize=(12, 5))
nEntries = m3gnet_rb_job.results.readrkf("History", "nEntries")
print(f"There are {nEntries} frames in the trajectory")
ind = np.linspace(1, nEntries, N, endpoint=True, dtype=np.int64)
for ax, i_frame in zip(axes, ind):
    plams.plot_molecule(
        m3gnet_rb_job.results.get_history_molecule(i_frame), ax=ax, rotation="-85x,5y,0z"
    )
    ax.set_title(f"Frame {i_frame}")
There are 26 frames in the trajectory
../../../_images/litis2_diffusion_neb_42_1.png

It looks like the Li atom is diffusing to the correct place, but it is easiest to visualize in AMSmovie:

!amsmovie "{m3gnet_rb_job.results.rkfpath()}"

Conclusion: We have reasonable reaction boost settings for M3GNet-UP-2022. This does not guarantee that the settings will be appropriate with the retrained model (for example because we expect the barrier to be higher), but it is likely to work.

Run simple active learning using ReactionBoost MD

al_s = plams.Settings()
al_s.input.ams.ActiveLearning.SuccessCriteria.Energy.Relative = 0.0012
al_s.input.ams.ActiveLearning.SuccessCriteria.Forces.MaxDeviationForZeroForce = 0.25
al_s.input.ams.ActiveLearning.Steps.Type = "Linear"
al_s.input.ams.ActiveLearning.Steps.Linear.Start = 15
al_s.input.ams.ActiveLearning.Steps.Linear.StepSize = 50
al_s.input.ams.ActiveLearning.InitialReferenceData.Load.Directory = (
    prelim_al_job2.results.get_reference_data_directory()
)
al_s.input.ams.ActiveLearning.InitialReferenceData.Load.FromPreviousModel = "No"


ml_s = plams.Settings()
ml_s.input.ams.MachineLearning.Backend = "M3GNet"
ml_s.input.ams.MachineLearning.LoadModel = prelim_al_job2.results.get_params_results_directory()
ml_s.input.ams.MachineLearning.MaxEpochs = 200
ml_s.input.ams.MachineLearning.Target.Forces.MAE = 0.03
sal_job = SimpleActiveLearningJob(
    name="sal_lidiffusion_rb",
    settings=al_s + dft_s + ml_s + rb_s,
    molecule={"": defective_1, "final": defective_2},
)
print(sal_job.get_input())
ActiveLearning
  InitialReferenceData
    Load
      Directory /path/plams_workdir.007/al_defective/step7_attempt1_reference_data
      FromPreviousModel False
    End
  End
  Steps
    Linear
      Start 15
      StepSize 50
    End
    Type Linear
  End
  SuccessCriteria
    Energy
      Relative 0.0012
    End
    Forces
      MaxDeviationForZeroForce 0.25
    End
  End
End
MachineLearning
  Backend M3GNet
  LoadModel /path/plams_workdir.007/al_defective/step4_attempt1_training/results
  MaxEpochs 200
  Target
    Forces
      MAE 0.03
    End
  End
End
MolecularDynamics
  InitialVelocities
    Temperature 300.0
    Type Random
  End
  NSteps 500
  ReactionBoost
    NSteps 480
    RMSDRestraint
      Harmonic
        ForceConstant 0.1
      End
      Type Harmonic
    End
    Region DiffusingLi
    TargetSystem final
    Type RMSD
  End
  Thermostat
    Tau 5.0
    Temperature 300.0
    Type Berendsen
  End
  TimeStep 0.5
  Trajectory
    SamplingFreq 20
  End
End
Task MolecularDynamics

Engine QuantumESPRESSO
  Electrons
    conv_thr 0.0009600000000000001
    mixing_beta 0.3
  End
  K_Points gamma

  End
  System
    degauss 0.005
    ecutrho 240.0
    ecutwfc 30.0
    occupations Smearing
  End
EndEngine

System
  Atoms
             Li       0.0000000000       0.0000000000       0.0000000000 region=DiffusingLi
             Ti       0.0000000000       0.0000000000       3.0874525000
              S       0.0000000000       1.9851034305       4.5513282748
              S       1.7191500000       0.9925517153       1.6235767252
             Li       0.0000000000       0.0000000000       6.1749050000
             Ti       0.0000000000       0.0000000000       9.2623575000
              S       0.0000000000       1.9851034305      10.7262332748
              S       1.7191500000       0.9925517153       7.7984817252
             Ti       3.4383000000       0.0000000000       3.0874525000
              S       3.4383000000       1.9851034305       4.5513282748
              S       5.1574500000       0.9925517153       1.6235767252
             Li       3.4383000000       0.0000000000       6.1749050000
             Ti       3.4383000000       0.0000000000       9.2623575000
              S       3.4383000000       1.9851034305      10.7262332748
              S       5.1574500000       0.9925517153       7.7984817252
             Li       1.7191500000       2.9776551458       0.0000000000
             Ti       1.7191500000       2.9776551458       3.0874525000
              S       1.7191500000       4.9627585764       4.5513282748
              S       3.4383000000       3.9702068611       1.6235767252
             Li       1.7191500000       2.9776551458       6.1749050000
             Ti       1.7191500000       2.9776551458       9.2623575000
              S       1.7191500000       4.9627585764      10.7262332748
              S       3.4383000000       3.9702068611       7.7984817252
             Li       0.0000000000       5.9553102917       0.0000000000
             Ti       0.0000000000       5.9553102917       3.0874525000
              S       0.0000000000       7.9404137222       4.5513282748
              S       1.7191500000       6.9478620070       1.6235767252
             Li       0.0000000000       5.9553102917       6.1749050000
             Ti       0.0000000000       5.9553102917       9.2623575000
              S       0.0000000000       7.9404137222      10.7262332748
              S       1.7191500000       6.9478620070       7.7984817252
             Li       6.8766000000       0.0000000000       0.0000000000
             Ti       6.8766000000       0.0000000000       3.0874525000
              S       6.8766000000       1.9851034305       4.5513282748
              S       8.5957500000       0.9925517153       1.6235767252
             Li       6.8766000000       0.0000000000       6.1749050000
             Ti       6.8766000000       0.0000000000       9.2623575000
              S       6.8766000000       1.9851034305      10.7262332748
              S       8.5957500000       0.9925517153       7.7984817252
             Li       5.1574500000       2.9776551458       0.0000000000
             Ti       5.1574500000       2.9776551458       3.0874525000
              S       5.1574500000       4.9627585764       4.5513282748
              S       6.8766000000       3.9702068611       1.6235767252
             Li       5.1574500000       2.9776551458       6.1749050000
             Ti       5.1574500000       2.9776551458       9.2623575000
              S       5.1574500000       4.9627585764      10.7262332748
              S       6.8766000000       3.9702068611       7.7984817252
             Li       3.4383000000       5.9553102917       0.0000000000
             Ti       3.4383000000       5.9553102917       3.0874525000
              S       3.4383000000       7.9404137222       4.5513282748
              S       5.1574500000       6.9478620070       1.6235767252
             Li       3.4383000000       5.9553102917       6.1749050000
             Ti       3.4383000000       5.9553102917       9.2623575000
              S       3.4383000000       7.9404137222      10.7262332748
              S       5.1574500000       6.9478620070       7.7984817252
             Li       1.7191500000       8.9329654375       0.0000000000
             Ti       1.7191500000       8.9329654375       3.0874525000
              S       1.7191500000      10.9180688680       4.5513282748
              S       3.4383000000       9.9255171528       1.6235767252
             Li       1.7191500000       8.9329654375       6.1749050000
             Ti       1.7191500000       8.9329654375       9.2623575000
              S       1.7191500000      10.9180688680      10.7262332748
              S       3.4383000000       9.9255171528       7.7984817252
             Li       8.5957500000       2.9776551458       0.0000000000
             Ti       8.5957500000       2.9776551458       3.0874525000
              S       8.5957500000       4.9627585764       4.5513282748
              S      10.3149000000       3.9702068611       1.6235767252
             Li       8.5957500000       2.9776551458       6.1749050000
             Ti       8.5957500000       2.9776551458       9.2623575000
              S       8.5957500000       4.9627585764      10.7262332748
              S      10.3149000000       3.9702068611       7.7984817252
             Li       6.8766000000       5.9553102917       0.0000000000
             Ti       6.8766000000       5.9553102917       3.0874525000
              S       6.8766000000       7.9404137222       4.5513282748
              S       8.5957500000       6.9478620070       1.6235767252
             Li       6.8766000000       5.9553102917       6.1749050000
             Ti       6.8766000000       5.9553102917       9.2623575000
              S       6.8766000000       7.9404137222      10.7262332748
              S       8.5957500000       6.9478620070       7.7984817252
             Li       5.1574500000       8.9329654375       0.0000000000
             Ti       5.1574500000       8.9329654375       3.0874525000
              S       5.1574500000      10.9180688680       4.5513282748
              S       6.8766000000       9.9255171528       1.6235767252
             Li       5.1574500000       8.9329654375       6.1749050000
             Ti       5.1574500000       8.9329654375       9.2623575000
              S       5.1574500000      10.9180688680      10.7262332748
              S       6.8766000000       9.9255171528       7.7984817252
             Li       8.5957500000       8.9329654375       0.0000000000
             Ti       8.5957500000       8.9329654375       3.0874525000
              S       8.5957500000      10.9180688680       4.5513282748
              S      10.3149000000       9.9255171528       1.6235767252
             Li       8.5957500000       8.9329654375       6.1749050000
             Ti       8.5957500000       8.9329654375       9.2623575000
              S       8.5957500000      10.9180688680      10.7262332748
              S      10.3149000000       9.9255171528       7.7984817252
  End
  Lattice
        10.3149000000     0.0000000000     0.0000000000
         0.0000000000    11.9106205833     0.0000000000
         0.0000000000     0.0000000000    12.3498100000
  End
End

System final
  Atoms
             Li       3.4383000000       0.0000000000       0.0000000000 region=DiffusingLi
             Ti       0.0000000000       0.0000000000       3.0874525000
              S       0.0000000000       1.9851034305       4.5513282748
              S       1.7191500000       0.9925517153       1.6235767252
             Li       0.0000000000       0.0000000000       6.1749050000
             Ti       0.0000000000       0.0000000000       9.2623575000
              S       0.0000000000       1.9851034305      10.7262332748
              S       1.7191500000       0.9925517153       7.7984817252
             Ti       3.4383000000       0.0000000000       3.0874525000
              S       3.4383000000       1.9851034305       4.5513282748
              S       5.1574500000       0.9925517153       1.6235767252
             Li       3.4383000000       0.0000000000       6.1749050000
             Ti       3.4383000000       0.0000000000       9.2623575000
              S       3.4383000000       1.9851034305      10.7262332748
              S       5.1574500000       0.9925517153       7.7984817252
             Li       1.7191500000       2.9776551458       0.0000000000
             Ti       1.7191500000       2.9776551458       3.0874525000
              S       1.7191500000       4.9627585764       4.5513282748
              S       3.4383000000       3.9702068611       1.6235767252
             Li       1.7191500000       2.9776551458       6.1749050000
             Ti       1.7191500000       2.9776551458       9.2623575000
              S       1.7191500000       4.9627585764      10.7262332748
              S       3.4383000000       3.9702068611       7.7984817252
             Li       0.0000000000       5.9553102917       0.0000000000
             Ti       0.0000000000       5.9553102917       3.0874525000
              S       0.0000000000       7.9404137222       4.5513282748
              S       1.7191500000       6.9478620070       1.6235767252
             Li       0.0000000000       5.9553102917       6.1749050000
             Ti       0.0000000000       5.9553102917       9.2623575000
              S       0.0000000000       7.9404137222      10.7262332748
              S       1.7191500000       6.9478620070       7.7984817252
             Li       6.8766000000       0.0000000000       0.0000000000
             Ti       6.8766000000       0.0000000000       3.0874525000
              S       6.8766000000       1.9851034305       4.5513282748
              S       8.5957500000       0.9925517153       1.6235767252
             Li       6.8766000000       0.0000000000       6.1749050000
             Ti       6.8766000000       0.0000000000       9.2623575000
              S       6.8766000000       1.9851034305      10.7262332748
              S       8.5957500000       0.9925517153       7.7984817252
             Li       5.1574500000       2.9776551458       0.0000000000
             Ti       5.1574500000       2.9776551458       3.0874525000
              S       5.1574500000       4.9627585764       4.5513282748
              S       6.8766000000       3.9702068611       1.6235767252
             Li       5.1574500000       2.9776551458       6.1749050000
             Ti       5.1574500000       2.9776551458       9.2623575000
              S       5.1574500000       4.9627585764      10.7262332748
              S       6.8766000000       3.9702068611       7.7984817252
             Li       3.4383000000       5.9553102917       0.0000000000
             Ti       3.4383000000       5.9553102917       3.0874525000
              S       3.4383000000       7.9404137222       4.5513282748
              S       5.1574500000       6.9478620070       1.6235767252
             Li       3.4383000000       5.9553102917       6.1749050000
             Ti       3.4383000000       5.9553102917       9.2623575000
              S       3.4383000000       7.9404137222      10.7262332748
              S       5.1574500000       6.9478620070       7.7984817252
             Li       1.7191500000       8.9329654375       0.0000000000
             Ti       1.7191500000       8.9329654375       3.0874525000
              S       1.7191500000      10.9180688680       4.5513282748
              S       3.4383000000       9.9255171528       1.6235767252
             Li       1.7191500000       8.9329654375       6.1749050000
             Ti       1.7191500000       8.9329654375       9.2623575000
              S       1.7191500000      10.9180688680      10.7262332748
              S       3.4383000000       9.9255171528       7.7984817252
             Li       8.5957500000       2.9776551458       0.0000000000
             Ti       8.5957500000       2.9776551458       3.0874525000
              S       8.5957500000       4.9627585764       4.5513282748
              S      10.3149000000       3.9702068611       1.6235767252
             Li       8.5957500000       2.9776551458       6.1749050000
             Ti       8.5957500000       2.9776551458       9.2623575000
              S       8.5957500000       4.9627585764      10.7262332748
              S      10.3149000000       3.9702068611       7.7984817252
             Li       6.8766000000       5.9553102917       0.0000000000
             Ti       6.8766000000       5.9553102917       3.0874525000
              S       6.8766000000       7.9404137222       4.5513282748
              S       8.5957500000       6.9478620070       1.6235767252
             Li       6.8766000000       5.9553102917       6.1749050000
             Ti       6.8766000000       5.9553102917       9.2623575000
              S       6.8766000000       7.9404137222      10.7262332748
              S       8.5957500000       6.9478620070       7.7984817252
             Li       5.1574500000       8.9329654375       0.0000000000
             Ti       5.1574500000       8.9329654375       3.0874525000
              S       5.1574500000      10.9180688680       4.5513282748
              S       6.8766000000       9.9255171528       1.6235767252
             Li       5.1574500000       8.9329654375       6.1749050000
             Ti       5.1574500000       8.9329654375       9.2623575000
              S       5.1574500000      10.9180688680      10.7262332748
              S       6.8766000000       9.9255171528       7.7984817252
             Li       8.5957500000       8.9329654375       0.0000000000
             Ti       8.5957500000       8.9329654375       3.0874525000
              S       8.5957500000      10.9180688680       4.5513282748
              S      10.3149000000       9.9255171528       1.6235767252
             Li       8.5957500000       8.9329654375       6.1749050000
             Ti       8.5957500000       8.9329654375       9.2623575000
              S       8.5957500000      10.9180688680      10.7262332748
              S      10.3149000000       9.9255171528       7.7984817252
  End
  Lattice
        10.3149000000     0.0000000000     0.0000000000
         0.0000000000    11.9106205833     0.0000000000
         0.0000000000     0.0000000000    12.3498100000
  End
End
# plams.config.jobmanager.hashing = None
sal_job.run(watch=True);
[25.03|13:06:03] JOB sal_lidiffusion_rb STARTED
[25.03|13:06:03] Renaming job sal_lidiffusion_rb to sal_lidiffusion_rb.002
[25.03|13:06:03] JOB sal_lidiffusion_rb.002 RUNNING
[25.03|13:06:04] Simple Active Learning 2024.101,  Nodes: 1, Procs: 8
[25.03|13:06:06] Composition of main system: Li23S48Ti24
[25.03|13:06:06] All REFERENCE calculations will be performed with the following QuantumESPRESSO engine:
[25.03|13:06:06]
Engine quantumespresso
  electrons
    conv_thr 0.0009600000000000001
    mixing_beta 0.3
  End
  k_points gamma
  End
  system
    degauss 0.005
    ecutrho 240.0
    ecutwfc 30.0
    occupations Smearing
  End
EndEngine


[25.03|13:06:06] The following are the settings for the to-be-trained MACHINE LEARNING model:
[25.03|13:06:06]
MachineLearning
  Backend M3GNet
  LoadModel /path/plams_workdir.007/al_defective/step4_attempt1_training/results
  MaxEpochs 200
  Target
    Forces
      MAE 0.03
    End
  End
End

ParallelLevels
End

[25.03|13:06:06] A single model will be trained (no committee).
[25.03|13:06:06] The ACTIVE LEARNING loop will contain 11 steps, using the following schema:
[25.03|13:06:06]    Active Learning Step   1:       15 MD Steps (cumulative:       15)
[25.03|13:06:06]    Active Learning Step   2:       50 MD Steps (cumulative:       65)
[25.03|13:06:06]    Active Learning Step   3:       50 MD Steps (cumulative:      115)
[25.03|13:06:06]    Active Learning Step   4:       50 MD Steps (cumulative:      165)
[25.03|13:06:06]    Active Learning Step   5:       50 MD Steps (cumulative:      215)
[25.03|13:06:06]    Active Learning Step   6:       50 MD Steps (cumulative:      265)
[25.03|13:06:06]    Active Learning Step   7:       50 MD Steps (cumulative:      315)
[25.03|13:06:06]    Active Learning Step   8:       50 MD Steps (cumulative:      365)
[25.03|13:06:06]    Active Learning Step   9:       50 MD Steps (cumulative:      415)
[25.03|13:06:06]    Active Learning Step  10:       50 MD Steps (cumulative:      465)
[25.03|13:06:06]    Active Learning Step  11:       35 MD Steps (cumulative:      500)
[25.03|13:06:06] Total number of MD Steps: 500
[25.03|13:06:06] Max attempts per active learning step: 15
[25.03|13:06:06]
[25.03|13:06:06] The directory /path/plams_workdir.007/al_defective/step4_attempt1_training/results is of type RestartDirectoryType.PARAMS_RESULTS
[25.03|13:06:07] Successfully loaded previous ParAMS Job: from /path/plams_workdir.007/al_defective/step4_attempt1_training/results
[25.03|13:06:07] The directory /path/plams_workdir.007/al_defective/step7_attempt1_reference_data is of type RestartDirectoryType.YAML_DIR
[25.03|13:06:07] Loading yaml files (data sets) from /path/plams_workdir.007/al_defective/step7_attempt1_reference_data
[25.03|13:06:08] Starting active learning loop...
[25.03|13:06:08] ##########################
[25.03|13:06:08] ### Step 1 / Attempt 1 ###
[25.03|13:06:08] ##########################
[25.03|13:06:08] MD Steps: 15 (cumulative: 15)
[25.03|13:06:08] Current engine settings:
[25.03|13:06:08]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/loaded_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|13:06:08]     Running step1_attempt1_simulation...
[25.03|13:06:21]     Job step1_attempt1_simulation finished
[25.03|13:06:21] Deleting files that are no longer needed...
[25.03|13:06:21] Launching reference calculation
[25.03|13:09:11]      Reference calculation finished!
[25.03|13:09:11] Checking success for step1_attempt1
[25.03|13:09:11]     CheckEnergy: Checking energy for MDStep15, n_atoms = 95
[25.03|13:09:11]     CheckEnergy: normalization coefficient = 95
[25.03|13:09:11]     CheckEnergy:                   Actual  Threshold
[25.03|13:09:11]     CheckEnergy: dE/95            -0.0095     0.2000 OK!
[25.03|13:09:11]
[25.03|13:09:11]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|13:09:11]     CheckForces: ------------
[25.03|13:09:11]     CheckForces: Reference job from step1_attempt1_reference_calc1
[25.03|13:09:11]     CheckForces: Prediction job from final frame (MDStep15) of step1_attempt1_simulation
[25.03|13:09:11]     CheckForces: ------------
[25.03|13:09:11]     CheckForces: Histogram of forces
[25.03|13:09:11]     CheckForces: eV/Ang    Ref   Pred
[25.03|13:09:11]     CheckForces:     -1    144    141
[25.03|13:09:11]     CheckForces:      0    141    144
[25.03|13:09:11]     CheckForces:      1      0      0
[25.03|13:09:11]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|13:09:11]     CheckForces: All force components are within the acceptable error!
[25.03|13:09:11]     CheckForces: Maximum deviation: 0.137 eV/angstrom
[25.03|13:09:11]     CheckForces:          Actual   Threshold
[25.03|13:09:11]     CheckForces: # > thr.        0        0  OK!
[25.03|13:09:11]     CheckForces: MAE         0.023     0.30  OK!
[25.03|13:09:11]     CheckForces: R^2         0.960     0.80  OK!
[25.03|13:09:11]     CheckForces: --------------------
[25.03|13:09:11]
[25.03|13:09:11] Adding results from step1_attempt1_reference_calc1 to validation set
[25.03|13:09:11]     Current # training set entries: 19
[25.03|13:09:11]     Current # validation set entries: 12
[25.03|13:09:11]     Storing data in step1_attempt1_reference_data
[25.03|13:09:11]     Deleting initial_reference_data
[25.03|13:09:11]     Deleting step1_attempt1_reference_calc1
[25.03|13:09:11]
[25.03|13:09:11] Current (cumulative) timings:
[25.03|13:09:11]                                 Time (s) Fraction
[25.03|13:09:11]     Ref. calcs                    169.23    0.927
[25.03|13:09:11]     ML training                     0.00    0.000
[25.03|13:09:11]     Simulations                    13.40    0.073
[25.03|13:09:11]
[25.03|13:09:11]
[25.03|13:09:11] Step 1 finished successfully!
[25.03|13:09:11]
[25.03|13:09:11] --- Begin summary ---
[25.03|13:09:11] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|13:09:11]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|13:09:11] --- End summary ---
[25.03|13:09:11]
[25.03|13:09:11] ##########################
[25.03|13:09:11] ### Step 2 / Attempt 1 ###
[25.03|13:09:11] ##########################
[25.03|13:09:11] MD Steps: 50 (cumulative: 65)
[25.03|13:09:11] Current engine settings:
[25.03|13:09:11]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/loaded_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|13:09:11]     Running step2_attempt1_simulation...
[25.03|13:09:28]     Job step2_attempt1_simulation finished
[25.03|13:09:28] Deleting files that are no longer needed...
[25.03|13:09:28] Launching reference calculation
[25.03|13:12:13]      Reference calculation finished!
[25.03|13:12:13] Checking success for step2_attempt1
[25.03|13:12:23]     CheckEnergy: Checking energy for MDStep65, n_atoms = 95
[25.03|13:12:23]     CheckEnergy: normalization coefficient = 95
[25.03|13:12:23]     CheckEnergy:                   Actual  Threshold
[25.03|13:12:23]     CheckEnergy: dE/95            -0.0102     0.2000 OK!
[25.03|13:12:23]     CheckEnergy: ddE/95           -0.0008     0.0012 OK!      (relative to step1_attempt1_simulation:MDStep15)
[25.03|13:12:23]
[25.03|13:12:23]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|13:12:23]     CheckForces: ------------
[25.03|13:12:23]     CheckForces: Reference job from step2_attempt1_reference_calc1
[25.03|13:12:23]     CheckForces: Prediction job from final frame (MDStep65) of step2_attempt1_simulation
[25.03|13:12:23]     CheckForces: ------------
[25.03|13:12:23]     CheckForces: Histogram of forces
[25.03|13:12:23]     CheckForces: eV/Ang    Ref   Pred
[25.03|13:12:23]     CheckForces:     -2      4      4
[25.03|13:12:23]     CheckForces:     -1    145    145
[25.03|13:12:23]     CheckForces:      0    131    130
[25.03|13:12:23]     CheckForces:      1      5      6
[25.03|13:12:23]     CheckForces:      2      0      0
[25.03|13:12:23]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|13:12:23]     CheckForces: Force components with an error exceeding the threshold:
[25.03|13:12:23]     CheckForces: Ref    Pred   Delta  Threshold
[25.03|13:12:23]     CheckForces:   0.08   0.35   0.26      0.25
[25.03|13:12:23]     CheckForces:   0.28   0.63   0.35      0.26
[25.03|13:12:23]     CheckForces: Maximum deviation: 0.350 eV/angstrom
[25.03|13:12:23]     CheckForces:          Actual   Threshold
[25.03|13:12:23]     CheckForces: # > thr.        2        0  Not OK!
[25.03|13:12:23]     CheckForces: MAE         0.058     0.30  OK!
[25.03|13:12:23]     CheckForces: R^2         0.974     0.80  OK!
[25.03|13:12:23]     CheckForces: --------------------
[25.03|13:12:23]
[25.03|13:12:23] Adding results from step2_attempt1_reference_calc1 to training set
[25.03|13:12:23]     Current # training set entries: 20
[25.03|13:12:23]     Current # validation set entries: 12
[25.03|13:12:23]     Storing data in step2_attempt1_reference_data
[25.03|13:12:23]     Deleting step1_attempt1_reference_data
[25.03|13:12:23]     Deleting step2_attempt1_reference_calc1
[25.03|13:12:23]
[25.03|13:12:23] Current (cumulative) timings:
[25.03|13:12:23]                                 Time (s) Fraction
[25.03|13:12:23]     Ref. calcs                    333.49    0.917
[25.03|13:12:23]     ML training                     0.00    0.000
[25.03|13:12:23]     Simulations                    30.19    0.083
[25.03|13:12:23]
[25.03|13:12:23]
[25.03|13:12:23]
[25.03|13:12:23] --- Begin summary ---
[25.03|13:12:23] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|13:12:23]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|13:12:23]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|13:12:23] --- End summary ---
[25.03|13:12:23]
[25.03|13:12:23] Running more reference calculations....
[25.03|13:12:24]     Running reference calculations on frames [20, 23] from step2_attempt1_simulation/ams.rkf
[25.03|13:12:24]     Calculating 2 frames in total
[25.03|13:12:24]     Running step2_attempt1_reference_calc2
[25.03|13:14:37]     Running step2_attempt1_reference_calc3
[25.03|13:17:16]     Reference calculations finished!
[25.03|13:17:16] Adding results from step2_attempt1_reference_calc2 to validation set
[25.03|13:17:16] Adding results from step2_attempt1_reference_calc3 to training set
[25.03|13:17:16]     Current # training set entries: 21
[25.03|13:17:16]     Current # validation set entries: 13
[25.03|13:17:16]     Storing data in step2_attempt1_reference_data
[25.03|13:17:17]     Deleting step2_attempt1_reference_calc2
[25.03|13:17:17]     Deleting step2_attempt1_reference_calc3
[25.03|13:17:17] Launching reparametrization job: step2_attempt1_training
[25.03|13:17:21] JOB m3gnet STARTED
[25.03|13:17:21] Starting m3gnet.prerun()
[25.03|13:17:21] m3gnet.prerun() finished
[25.03|13:17:21] JOB m3gnet RUNNING
[25.03|13:17:21] Executing m3gnet.run
[25.03|13:18:25] training_set    Optimizer: 001 Epoch:      0 Loss: 0.002732
[25.03|13:18:25] validation_set  Optimizer: 001 Epoch:      0 Loss: 0.012079
[25.03|13:18:29] training_set    Optimizer: 001 Epoch:     10 Loss: 0.000427
[25.03|13:18:29] validation_set  Optimizer: 001 Epoch:     10 Loss: 0.005426
[25.03|13:18:32] training_set    Optimizer: 001 Epoch:     20 Loss: 0.000358
[25.03|13:18:32] validation_set  Optimizer: 001 Epoch:     20 Loss: 0.004770
[25.03|13:18:35] training_set    Optimizer: 001 Epoch:     30 Loss: 0.000390
[25.03|13:18:35] validation_set  Optimizer: 001 Epoch:     30 Loss: 0.005260
[25.03|13:18:39] training_set    Optimizer: 001 Epoch:     40 Loss: 0.000356
[25.03|13:18:39] validation_set  Optimizer: 001 Epoch:     40 Loss: 0.004669
[25.03|13:18:42] training_set    Optimizer: 001 Epoch:     50 Loss: 0.000343
[25.03|13:18:42] validation_set  Optimizer: 001 Epoch:     50 Loss: 0.004548
[25.03|13:18:46] training_set    Optimizer: 001 Epoch:     60 Loss: 0.000318
[25.03|13:18:46] validation_set  Optimizer: 001 Epoch:     60 Loss: 0.008014
[25.03|13:18:49] training_set    Optimizer: 001 Epoch:     70 Loss: 0.000324
[25.03|13:18:49] validation_set  Optimizer: 001 Epoch:     70 Loss: 0.005615
[25.03|13:18:52] training_set    Optimizer: 001 Epoch:     80 Loss: 0.000302
[25.03|13:18:52] validation_set  Optimizer: 001 Epoch:     80 Loss: 0.008399
[25.03|13:18:56] training_set    Optimizer: 001 Epoch:     90 Loss: 0.000361
[25.03|13:18:56] validation_set  Optimizer: 001 Epoch:     90 Loss: 0.007128
[25.03|13:18:59] training_set    Optimizer: 001 Epoch:    100 Loss: 0.000368
[25.03|13:18:59] validation_set  Optimizer: 001 Epoch:    100 Loss: 0.007231
[25.03|13:19:02] training_set    Optimizer: 001 Epoch:    110 Loss: 0.000350
[25.03|13:19:02] validation_set  Optimizer: 001 Epoch:    110 Loss: 0.004680
[25.03|13:19:06] training_set    Optimizer: 001 Epoch:    120 Loss: 0.000317
[25.03|13:19:06] validation_set  Optimizer: 001 Epoch:    120 Loss: 0.006988
[25.03|13:19:09] training_set    Optimizer: 001 Epoch:    130 Loss: 0.000338
[25.03|13:19:09] validation_set  Optimizer: 001 Epoch:    130 Loss: 0.005729
[25.03|13:19:13] training_set    Optimizer: 001 Epoch:    140 Loss: 0.000323
[25.03|13:19:13] validation_set  Optimizer: 001 Epoch:    140 Loss: 0.008654
[25.03|13:19:16] training_set    Optimizer: 001 Epoch:    150 Loss: 0.000331
[25.03|13:19:16] validation_set  Optimizer: 001 Epoch:    150 Loss: 0.004547
[25.03|13:19:19] training_set    Optimizer: 001 Epoch:    160 Loss: 0.000392
[25.03|13:19:19] validation_set  Optimizer: 001 Epoch:    160 Loss: 0.005151
[25.03|13:19:22] training_set    Optimizer: 001 Epoch:    170 Loss: 0.000315
[25.03|13:19:22] validation_set  Optimizer: 001 Epoch:    170 Loss: 0.004399
[25.03|13:19:26] training_set    Optimizer: 001 Epoch:    180 Loss: 0.000346
[25.03|13:19:26] validation_set  Optimizer: 001 Epoch:    180 Loss: 0.010107
[25.03|13:19:29] training_set    Optimizer: 001 Epoch:    190 Loss: 0.000344
[25.03|13:19:29] validation_set  Optimizer: 001 Epoch:    190 Loss: 0.008366
[25.03|13:19:33] Execution of m3gnet.run finished with returncode 0
[25.03|13:19:34] JOB m3gnet FINISHED
[25.03|13:19:34] Starting m3gnet.postrun()
[25.03|13:19:34] m3gnet.postrun() finished
[25.03|13:19:34] JOB m3gnet SUCCESSFUL
[25.03|13:19:48] Running all jobs through AMS....
[25.03|13:19:48] Storing results/optimization/training_set_results/best
[25.03|13:19:48] Storing results/optimization/validation_set_results/best
[25.03|13:19:48] PLAMS environment cleaned up successfully
[25.03|13:19:48] PLAMS run finished. Goodbye
[25.03|13:19:49]     ParAMSResults  training_set   validation_set
[25.03|13:19:49]     energy MAE     0.0711         0.0530          eV
[25.03|13:19:49]     forces MAE     0.0401         0.0405          eV/angstrom
[25.03|13:19:49]     Newly created parameter file/dir: step2_attempt1_training/results/optimization/m3gnet/m3gnet
[25.03|13:19:49]     Done!
[25.03|13:19:49]     Deleting loaded_training
[25.03|13:19:49] ##########################
[25.03|13:19:49] ### Step 2 / Attempt 2 ###
[25.03|13:19:49] ##########################
[25.03|13:19:49] MD Steps: 50 (cumulative: 65)
[25.03|13:19:49] Current engine settings:
[25.03|13:19:49]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step2_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|13:19:49]     Running step2_attempt2_simulation...
[25.03|13:20:05]     Job step2_attempt2_simulation finished
[25.03|13:20:05] Deleting files that are no longer needed...
[25.03|13:20:06] Launching reference calculation
[25.03|13:22:24]      Reference calculation finished!
[25.03|13:22:24] Checking success for step2_attempt2
[25.03|13:22:33]     CheckEnergy: Checking energy for MDStep65, n_atoms = 95
[25.03|13:22:33]     CheckEnergy: normalization coefficient = 95
[25.03|13:22:33]     CheckEnergy:                   Actual  Threshold
[25.03|13:22:33]     CheckEnergy: dE/95            -0.0005     0.2000 OK!
[25.03|13:22:33]     CheckEnergy: ddE/95            0.0001     0.0012 OK!      (relative to step2_attempt1_simulation:MDStep65)
[25.03|13:22:33]
[25.03|13:22:33]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|13:22:33]     CheckForces: ------------
[25.03|13:22:33]     CheckForces: Reference job from step2_attempt2_reference_calc1
[25.03|13:22:33]     CheckForces: Prediction job from final frame (MDStep65) of step2_attempt2_simulation
[25.03|13:22:33]     CheckForces: ------------
[25.03|13:22:33]     CheckForces: Histogram of forces
[25.03|13:22:33]     CheckForces: eV/Ang    Ref   Pred
[25.03|13:22:33]     CheckForces:     -2      5      5
[25.03|13:22:33]     CheckForces:     -1    141    142
[25.03|13:22:33]     CheckForces:      0    134    133
[25.03|13:22:33]     CheckForces:      1      5      5
[25.03|13:22:33]     CheckForces:      2      0      0
[25.03|13:22:33]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|13:22:33]     CheckForces: Force components with an error exceeding the threshold:
[25.03|13:22:33]     CheckForces: Ref    Pred   Delta  Threshold
[25.03|13:22:33]     CheckForces:   0.28   0.58   0.30      0.26
[25.03|13:22:33]     CheckForces: Maximum deviation: 0.302 eV/angstrom
[25.03|13:22:33]     CheckForces:          Actual   Threshold
[25.03|13:22:33]     CheckForces: # > thr.        1        0  Not OK!
[25.03|13:22:33]     CheckForces: MAE         0.045     0.30  OK!
[25.03|13:22:33]     CheckForces: R^2         0.982     0.80  OK!
[25.03|13:22:33]     CheckForces: --------------------
[25.03|13:22:33]
[25.03|13:22:34] Adding results from step2_attempt2_reference_calc1 to training set
[25.03|13:22:34]     Current # training set entries: 22
[25.03|13:22:34]     Current # validation set entries: 13
[25.03|13:22:34]     Storing data in step2_attempt2_reference_data
[25.03|13:22:34]     Deleting step2_attempt1_reference_data
[25.03|13:22:34]     Deleting step2_attempt2_reference_calc1
[25.03|13:22:34]
[25.03|13:22:34] Current (cumulative) timings:
[25.03|13:22:34]                                 Time (s) Fraction
[25.03|13:22:34]     Ref. calcs                    764.49    0.794
[25.03|13:22:34]     ML training                   152.24    0.158
[25.03|13:22:34]     Simulations                    46.52    0.048
[25.03|13:22:34]
[25.03|13:22:34]
[25.03|13:22:34]
[25.03|13:22:34] --- Begin summary ---
[25.03|13:22:34] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|13:22:34]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|13:22:34]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|13:22:34]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|13:22:34] --- End summary ---
[25.03|13:22:34]
[25.03|13:22:34] Running more reference calculations....
[25.03|13:22:34]     Running reference calculations on frames [20, 23] from step2_attempt2_simulation/ams.rkf
[25.03|13:22:34]     Calculating 2 frames in total
[25.03|13:22:34]     Running step2_attempt2_reference_calc2
[25.03|13:24:54]     Running step2_attempt2_reference_calc3
[25.03|13:27:33]     Reference calculations finished!
[25.03|13:27:33] Adding results from step2_attempt2_reference_calc2 to validation set
[25.03|13:27:34] Adding results from step2_attempt2_reference_calc3 to training set
[25.03|13:27:34]     Current # training set entries: 23
[25.03|13:27:34]     Current # validation set entries: 14
[25.03|13:27:34]     Storing data in step2_attempt2_reference_data
[25.03|13:27:34]     Deleting step2_attempt2_reference_calc2
[25.03|13:27:34]     Deleting step2_attempt2_reference_calc3
[25.03|13:27:34] Launching reparametrization job: step2_attempt2_training
[25.03|13:27:39] JOB m3gnet STARTED
[25.03|13:27:39] Starting m3gnet.prerun()
[25.03|13:27:39] m3gnet.prerun() finished
[25.03|13:27:39] JOB m3gnet RUNNING
[25.03|13:27:39] Executing m3gnet.run
[25.03|13:29:01] training_set    Optimizer: 001 Epoch:      0 Loss: 0.003615
[25.03|13:29:01] validation_set  Optimizer: 001 Epoch:      0 Loss: 0.020593
[25.03|13:29:05] training_set    Optimizer: 001 Epoch:     10 Loss: 0.000359
[25.03|13:29:05] validation_set  Optimizer: 001 Epoch:     10 Loss: 0.007187
[25.03|13:29:08] training_set    Optimizer: 001 Epoch:     20 Loss: 0.000316
[25.03|13:29:08] validation_set  Optimizer: 001 Epoch:     20 Loss: 0.004685
[25.03|13:29:12] training_set    Optimizer: 001 Epoch:     30 Loss: 0.000294
[25.03|13:29:12] validation_set  Optimizer: 001 Epoch:     30 Loss: 0.004544
[25.03|13:29:15] training_set    Optimizer: 001 Epoch:     40 Loss: 0.000303
[25.03|13:29:15] validation_set  Optimizer: 001 Epoch:     40 Loss: 0.003931
[25.03|13:29:18] training_set    Optimizer: 001 Epoch:     50 Loss: 0.000300
[25.03|13:29:18] validation_set  Optimizer: 001 Epoch:     50 Loss: 0.003954
[25.03|13:29:22] training_set    Optimizer: 001 Epoch:     60 Loss: 0.000289
[25.03|13:29:22] validation_set  Optimizer: 001 Epoch:     60 Loss: 0.004208
[25.03|13:29:25] training_set    Optimizer: 001 Epoch:     70 Loss: 0.000295
[25.03|13:29:25] validation_set  Optimizer: 001 Epoch:     70 Loss: 0.004225
[25.03|13:29:28] training_set    Optimizer: 001 Epoch:     80 Loss: 0.000290
[25.03|13:29:28] validation_set  Optimizer: 001 Epoch:     80 Loss: 0.004393
[25.03|13:29:31] training_set    Optimizer: 001 Epoch:     90 Loss: 0.000278
[25.03|13:29:31] validation_set  Optimizer: 001 Epoch:     90 Loss: 0.004272
[25.03|13:29:35] training_set    Optimizer: 001 Epoch:    100 Loss: 0.000281
[25.03|13:29:35] validation_set  Optimizer: 001 Epoch:    100 Loss: 0.005592
[25.03|13:29:38] training_set    Optimizer: 001 Epoch:    110 Loss: 0.000284
[25.03|13:29:38] validation_set  Optimizer: 001 Epoch:    110 Loss: 0.004003
[25.03|13:29:42] training_set    Optimizer: 001 Epoch:    120 Loss: 0.000276
[25.03|13:29:42] validation_set  Optimizer: 001 Epoch:    120 Loss: 0.004755
[25.03|13:29:45] training_set    Optimizer: 001 Epoch:    130 Loss: 0.000298
[25.03|13:29:45] validation_set  Optimizer: 001 Epoch:    130 Loss: 0.005055
[25.03|13:29:48] training_set    Optimizer: 001 Epoch:    140 Loss: 0.000287
[25.03|13:29:48] validation_set  Optimizer: 001 Epoch:    140 Loss: 0.009493
[25.03|13:29:52] training_set    Optimizer: 001 Epoch:    150 Loss: 0.000274
[25.03|13:29:52] validation_set  Optimizer: 001 Epoch:    150 Loss: 0.005073
[25.03|13:29:55] training_set    Optimizer: 001 Epoch:    160 Loss: 0.000275
[25.03|13:29:55] validation_set  Optimizer: 001 Epoch:    160 Loss: 0.004148
[25.03|13:29:58] training_set    Optimizer: 001 Epoch:    170 Loss: 0.000287
[25.03|13:29:58] validation_set  Optimizer: 001 Epoch:    170 Loss: 0.009973
[25.03|13:30:01] training_set    Optimizer: 001 Epoch:    180 Loss: 0.000299
[25.03|13:30:01] validation_set  Optimizer: 001 Epoch:    180 Loss: 0.011521
[25.03|13:30:05] training_set    Optimizer: 001 Epoch:    190 Loss: 0.000284
[25.03|13:30:05] validation_set  Optimizer: 001 Epoch:    190 Loss: 0.011135
[25.03|13:30:10] Execution of m3gnet.run finished with returncode 0
[25.03|13:30:10] JOB m3gnet FINISHED
[25.03|13:30:10] Starting m3gnet.postrun()
[25.03|13:30:10] m3gnet.postrun() finished
[25.03|13:30:11] JOB m3gnet SUCCESSFUL
[25.03|13:30:27] Running all jobs through AMS....
[25.03|13:30:27] Storing results/optimization/training_set_results/best
[25.03|13:30:27] Storing results/optimization/validation_set_results/best
[25.03|13:30:27] PLAMS environment cleaned up successfully
[25.03|13:30:27] PLAMS run finished. Goodbye
[25.03|13:30:28]     ParAMSResults  training_set   validation_set
[25.03|13:30:28]     energy MAE     0.0417         0.0416          eV
[25.03|13:30:28]     forces MAE     0.0377         0.0388          eV/angstrom
[25.03|13:30:28]     Newly created parameter file/dir: step2_attempt2_training/results/optimization/m3gnet/m3gnet
[25.03|13:30:28]     Done!
[25.03|13:30:28]     Deleting step2_attempt1_training
[25.03|13:30:28] ##########################
[25.03|13:30:28] ### Step 2 / Attempt 3 ###
[25.03|13:30:28] ##########################
[25.03|13:30:28] MD Steps: 50 (cumulative: 65)
[25.03|13:30:28] Current engine settings:
[25.03|13:30:28]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step2_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|13:30:28]     Running step2_attempt3_simulation...
[25.03|13:30:44]     Job step2_attempt3_simulation finished
[25.03|13:30:44] Deleting files that are no longer needed...
[25.03|13:30:45] Launching reference calculation
[25.03|13:32:45]      Reference calculation finished!
[25.03|13:32:45] Checking success for step2_attempt3
[25.03|13:32:55]     CheckEnergy: Checking energy for MDStep65, n_atoms = 95
[25.03|13:32:55]     CheckEnergy: normalization coefficient = 95
[25.03|13:32:55]     CheckEnergy:                   Actual  Threshold
[25.03|13:32:55]     CheckEnergy: dE/95             0.0000     0.2000 OK!
[25.03|13:32:55]     CheckEnergy: ddE/95            0.0000     0.0012 OK!      (relative to step2_attempt2_simulation:MDStep65)
[25.03|13:32:55]
[25.03|13:32:55]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|13:32:55]     CheckForces: ------------
[25.03|13:32:55]     CheckForces: Reference job from step2_attempt3_reference_calc1
[25.03|13:32:55]     CheckForces: Prediction job from final frame (MDStep65) of step2_attempt3_simulation
[25.03|13:32:55]     CheckForces: ------------
[25.03|13:32:55]     CheckForces: Histogram of forces
[25.03|13:32:55]     CheckForces: eV/Ang    Ref   Pred
[25.03|13:32:55]     CheckForces:     -2      4      5
[25.03|13:32:55]     CheckForces:     -1    142    143
[25.03|13:32:55]     CheckForces:      0    134    132
[25.03|13:32:55]     CheckForces:      1      5      5
[25.03|13:32:55]     CheckForces:      2      0      0
[25.03|13:32:55]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|13:32:55]     CheckForces: All force components are within the acceptable error!
[25.03|13:32:55]     CheckForces: Maximum deviation: 0.238 eV/angstrom
[25.03|13:32:55]     CheckForces:          Actual   Threshold
[25.03|13:32:55]     CheckForces: # > thr.        0        0  OK!
[25.03|13:32:55]     CheckForces: MAE         0.038     0.30  OK!
[25.03|13:32:55]     CheckForces: R^2         0.987     0.80  OK!
[25.03|13:32:55]     CheckForces: --------------------
[25.03|13:32:55]
[25.03|13:32:55] Adding results from step2_attempt3_reference_calc1 to training set
[25.03|13:32:55]     Current # training set entries: 24
[25.03|13:32:55]     Current # validation set entries: 14
[25.03|13:32:55]     Storing data in step2_attempt3_reference_data
[25.03|13:32:55]     Deleting step2_attempt2_reference_data
[25.03|13:32:55]     Deleting step2_attempt3_reference_calc1
[25.03|13:32:55]
[25.03|13:32:55] Current (cumulative) timings:
[25.03|13:32:55]                                 Time (s) Fraction
[25.03|13:32:55]     Ref. calcs                   1184.04    0.753
[25.03|13:32:55]     ML training                   326.51    0.208
[25.03|13:32:55]     Simulations                    62.48    0.040
[25.03|13:32:55]
[25.03|13:32:55]
[25.03|13:32:55] Step 2 finished successfully!
[25.03|13:32:55]
[25.03|13:32:55] --- Begin summary ---
[25.03|13:32:55] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|13:32:55]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|13:32:55]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|13:32:55]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|13:32:55]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|13:32:55] --- End summary ---
[25.03|13:32:55]
[25.03|13:32:55] ##########################
[25.03|13:32:55] ### Step 3 / Attempt 1 ###
[25.03|13:32:55] ##########################
[25.03|13:32:55] MD Steps: 50 (cumulative: 115)
[25.03|13:32:55] Current engine settings:
[25.03|13:32:55]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step2_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|13:32:55]     Running step3_attempt1_simulation...
[25.03|13:33:11]     Job step3_attempt1_simulation finished
[25.03|13:33:11] Deleting files that are no longer needed...
[25.03|13:33:11]     Deleting step1_attempt1_simulation
[25.03|13:33:11]     Deleting step2_attempt1_simulation
[25.03|13:33:11]     Deleting step2_attempt2_simulation
[25.03|13:33:12] Launching reference calculation
[25.03|13:35:03]      Reference calculation finished!
[25.03|13:35:03] Checking success for step3_attempt1
[25.03|13:35:12]     CheckEnergy: Checking energy for MDStep115, n_atoms = 95
[25.03|13:35:12]     CheckEnergy: normalization coefficient = 95
[25.03|13:35:12]     CheckEnergy:                   Actual  Threshold
[25.03|13:35:12]     CheckEnergy: dE/95             0.0002     0.2000 OK!
[25.03|13:35:12]     CheckEnergy: ddE/95            0.0002     0.0012 OK!      (relative to step2_attempt3_simulation:MDStep65)
[25.03|13:35:12]
[25.03|13:35:12]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|13:35:12]     CheckForces: ------------
[25.03|13:35:12]     CheckForces: Reference job from step3_attempt1_reference_calc1
[25.03|13:35:12]     CheckForces: Prediction job from final frame (MDStep115) of step3_attempt1_simulation
[25.03|13:35:12]     CheckForces: ------------
[25.03|13:35:12]     CheckForces: Histogram of forces
[25.03|13:35:12]     CheckForces: eV/Ang    Ref   Pred
[25.03|13:35:12]     CheckForces:     -2      0      0
[25.03|13:35:12]     CheckForces:     -1    145    140
[25.03|13:35:12]     CheckForces:      0    138    142
[25.03|13:35:12]     CheckForces:      1      2      3
[25.03|13:35:12]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|13:35:12]     CheckForces: Force components with an error exceeding the threshold:
[25.03|13:35:12]     CheckForces: Ref    Pred   Delta  Threshold
[25.03|13:35:12]     CheckForces:   0.22   0.53   0.31      0.26
[25.03|13:35:12]     CheckForces:   0.71   0.31   0.40      0.29
[25.03|13:35:12]     CheckForces: Maximum deviation: 0.401 eV/angstrom
[25.03|13:35:12]     CheckForces:          Actual   Threshold
[25.03|13:35:12]     CheckForces: # > thr.        2        0  Not OK!
[25.03|13:35:12]     CheckForces: MAE         0.052     0.30  OK!
[25.03|13:35:12]     CheckForces: R^2         0.964     0.80  OK!
[25.03|13:35:12]     CheckForces: --------------------
[25.03|13:35:12]
[25.03|13:35:12] Adding results from step3_attempt1_reference_calc1 to training set
[25.03|13:35:12]     Current # training set entries: 25
[25.03|13:35:12]     Current # validation set entries: 14
[25.03|13:35:12]     Storing data in step3_attempt1_reference_data
[25.03|13:35:13]     Deleting step2_attempt3_reference_data
[25.03|13:35:13]     Deleting step3_attempt1_reference_calc1
[25.03|13:35:13]
[25.03|13:35:13] Current (cumulative) timings:
[25.03|13:35:13]                                 Time (s) Fraction
[25.03|13:35:13]     Ref. calcs                   1295.02    0.762
[25.03|13:35:13]     ML training                   326.51    0.192
[25.03|13:35:13]     Simulations                    78.41    0.046
[25.03|13:35:13]
[25.03|13:35:13]
[25.03|13:35:13]
[25.03|13:35:13] --- Begin summary ---
[25.03|13:35:13] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|13:35:13]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|13:35:13]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|13:35:13]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|13:35:13]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|13:35:13]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|13:35:13] --- End summary ---
[25.03|13:35:13]
[25.03|13:35:13] Running more reference calculations....
[25.03|13:35:13]     Running reference calculations on frames [30, 33] from step3_attempt1_simulation/ams.rkf
[25.03|13:35:13]     Calculating 2 frames in total
[25.03|13:35:13]     Running step3_attempt1_reference_calc2
[25.03|13:37:14]     Running step3_attempt1_reference_calc3
[25.03|13:39:20]     Reference calculations finished!
[25.03|13:39:20] Adding results from step3_attempt1_reference_calc2 to validation set
[25.03|13:39:21] Adding results from step3_attempt1_reference_calc3 to training set
[25.03|13:39:21]     Current # training set entries: 26
[25.03|13:39:21]     Current # validation set entries: 15
[25.03|13:39:21]     Storing data in step3_attempt1_reference_data
[25.03|13:39:21]     Deleting step3_attempt1_reference_calc2
[25.03|13:39:21]     Deleting step3_attempt1_reference_calc3
[25.03|13:39:21] Launching reparametrization job: step3_attempt1_training
[25.03|13:39:25] JOB m3gnet STARTED
[25.03|13:39:25] Starting m3gnet.prerun()
[25.03|13:39:25] m3gnet.prerun() finished
[25.03|13:39:25] JOB m3gnet RUNNING
[25.03|13:39:25] Executing m3gnet.run
[25.03|13:40:27] training_set    Optimizer: 001 Epoch:      0 Loss: 0.004874
[25.03|13:40:27] validation_set  Optimizer: 001 Epoch:      0 Loss: 0.010412
[25.03|13:40:31] training_set    Optimizer: 001 Epoch:     10 Loss: 0.000409
[25.03|13:40:31] validation_set  Optimizer: 001 Epoch:     10 Loss: 0.006610
[25.03|13:40:35] training_set    Optimizer: 001 Epoch:     20 Loss: 0.000303
[25.03|13:40:35] validation_set  Optimizer: 001 Epoch:     20 Loss: 0.004067
[25.03|13:40:39] training_set    Optimizer: 001 Epoch:     30 Loss: 0.000311
[25.03|13:40:39] validation_set  Optimizer: 001 Epoch:     30 Loss: 0.004115
[25.03|13:40:43] training_set    Optimizer: 001 Epoch:     40 Loss: 0.000268
[25.03|13:40:43] validation_set  Optimizer: 001 Epoch:     40 Loss: 0.004308
[25.03|13:40:47] training_set    Optimizer: 001 Epoch:     50 Loss: 0.000293
[25.03|13:40:47] validation_set  Optimizer: 001 Epoch:     50 Loss: 0.005990
[25.03|13:40:50] training_set    Optimizer: 001 Epoch:     60 Loss: 0.000300
[25.03|13:40:50] validation_set  Optimizer: 001 Epoch:     60 Loss: 0.004036
[25.03|13:40:54] training_set    Optimizer: 001 Epoch:     70 Loss: 0.000285
[25.03|13:40:54] validation_set  Optimizer: 001 Epoch:     70 Loss: 0.004716
[25.03|13:40:58] training_set    Optimizer: 001 Epoch:     80 Loss: 0.000291
[25.03|13:40:58] validation_set  Optimizer: 001 Epoch:     80 Loss: 0.006487
[25.03|13:41:02] training_set    Optimizer: 001 Epoch:     90 Loss: 0.000280
[25.03|13:41:02] validation_set  Optimizer: 001 Epoch:     90 Loss: 0.005562
[25.03|13:41:06] training_set    Optimizer: 001 Epoch:    100 Loss: 0.000283
[25.03|13:41:06] validation_set  Optimizer: 001 Epoch:    100 Loss: 0.004673
[25.03|13:41:10] training_set    Optimizer: 001 Epoch:    110 Loss: 0.000272
[25.03|13:41:10] validation_set  Optimizer: 001 Epoch:    110 Loss: 0.004457
[25.03|13:41:14] training_set    Optimizer: 001 Epoch:    120 Loss: 0.000275
[25.03|13:41:14] validation_set  Optimizer: 001 Epoch:    120 Loss: 0.004946
[25.03|13:41:17] training_set    Optimizer: 001 Epoch:    130 Loss: 0.000291
[25.03|13:41:17] validation_set  Optimizer: 001 Epoch:    130 Loss: 0.007135
[25.03|13:41:21] training_set    Optimizer: 001 Epoch:    140 Loss: 0.000290
[25.03|13:41:21] validation_set  Optimizer: 001 Epoch:    140 Loss: 0.005827
[25.03|13:41:25] training_set    Optimizer: 001 Epoch:    150 Loss: 0.000278
[25.03|13:41:25] validation_set  Optimizer: 001 Epoch:    150 Loss: 0.004146
[25.03|13:41:29] training_set    Optimizer: 001 Epoch:    160 Loss: 0.000286
[25.03|13:41:29] validation_set  Optimizer: 001 Epoch:    160 Loss: 0.005135
[25.03|13:41:33] training_set    Optimizer: 001 Epoch:    170 Loss: 0.000259
[25.03|13:41:33] validation_set  Optimizer: 001 Epoch:    170 Loss: 0.004274
[25.03|13:41:37] training_set    Optimizer: 001 Epoch:    180 Loss: 0.000255
[25.03|13:41:37] validation_set  Optimizer: 001 Epoch:    180 Loss: 0.004017
[25.03|13:41:41] training_set    Optimizer: 001 Epoch:    190 Loss: 0.000284
[25.03|13:41:41] validation_set  Optimizer: 001 Epoch:    190 Loss: 0.006164
[25.03|13:41:46] Execution of m3gnet.run finished with returncode 0
[25.03|13:41:46] JOB m3gnet FINISHED
[25.03|13:41:46] Starting m3gnet.postrun()
[25.03|13:41:46] m3gnet.postrun() finished
[25.03|13:41:47] JOB m3gnet SUCCESSFUL
[25.03|13:42:02] Running all jobs through AMS....
[25.03|13:42:03] Storing results/optimization/training_set_results/best
[25.03|13:42:03] Storing results/optimization/validation_set_results/best
[25.03|13:42:03] PLAMS environment cleaned up successfully
[25.03|13:42:03] PLAMS run finished. Goodbye
[25.03|13:42:04]     ParAMSResults  training_set   validation_set
[25.03|13:42:04]     energy MAE     0.4093         0.3956          eV
[25.03|13:42:04]     forces MAE     0.0381         0.0396          eV/angstrom
[25.03|13:42:04]     Newly created parameter file/dir: step3_attempt1_training/results/optimization/m3gnet/m3gnet
[25.03|13:42:04]     Done!
[25.03|13:42:04]     Deleting step2_attempt2_training
[25.03|13:42:04] ##########################
[25.03|13:42:04] ### Step 3 / Attempt 2 ###
[25.03|13:42:04] ##########################
[25.03|13:42:04] MD Steps: 50 (cumulative: 115)
[25.03|13:42:04] Current engine settings:
[25.03|13:42:04]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step3_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|13:42:04]     Running step3_attempt2_simulation...
[25.03|13:42:20]     Job step3_attempt2_simulation finished
[25.03|13:42:20] Deleting files that are no longer needed...
[25.03|13:42:20] Launching reference calculation
[25.03|13:44:10]      Reference calculation finished!
[25.03|13:44:10] Checking success for step3_attempt2
[25.03|13:44:20]     CheckEnergy: Checking energy for MDStep115, n_atoms = 95
[25.03|13:44:20]     CheckEnergy: normalization coefficient = 95
[25.03|13:44:20]     CheckEnergy:                   Actual  Threshold
[25.03|13:44:20]     CheckEnergy: dE/95            -0.0041     0.2000 OK!
[25.03|13:44:20]     CheckEnergy: ddE/95            0.0001     0.0012 OK!      (relative to step3_attempt1_simulation:MDStep115)
[25.03|13:44:20]
[25.03|13:44:20]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|13:44:20]     CheckForces: ------------
[25.03|13:44:20]     CheckForces: Reference job from step3_attempt2_reference_calc1
[25.03|13:44:20]     CheckForces: Prediction job from final frame (MDStep115) of step3_attempt2_simulation
[25.03|13:44:20]     CheckForces: ------------
[25.03|13:44:20]     CheckForces: Histogram of forces
[25.03|13:44:20]     CheckForces: eV/Ang    Ref   Pred
[25.03|13:44:20]     CheckForces:     -2      0      0
[25.03|13:44:20]     CheckForces:     -1    145    141
[25.03|13:44:20]     CheckForces:      0    138    142
[25.03|13:44:20]     CheckForces:      1      2      2
[25.03|13:44:20]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|13:44:20]     CheckForces: Force components with an error exceeding the threshold:
[25.03|13:44:20]     CheckForces: Ref    Pred   Delta  Threshold
[25.03|13:44:20]     CheckForces:   0.67   0.34   0.34      0.28
[25.03|13:44:20]     CheckForces: Maximum deviation: 0.336 eV/angstrom
[25.03|13:44:20]     CheckForces:          Actual   Threshold
[25.03|13:44:20]     CheckForces: # > thr.        1        0  Not OK!
[25.03|13:44:20]     CheckForces: MAE         0.047     0.30  OK!
[25.03|13:44:20]     CheckForces: R^2         0.972     0.80  OK!
[25.03|13:44:20]     CheckForces: --------------------
[25.03|13:44:20]
[25.03|13:44:20] Adding results from step3_attempt2_reference_calc1 to training set
[25.03|13:44:20]     Current # training set entries: 27
[25.03|13:44:20]     Current # validation set entries: 15
[25.03|13:44:20]     Storing data in step3_attempt2_reference_data
[25.03|13:44:20]     Deleting step3_attempt1_reference_data
[25.03|13:44:20]     Deleting step3_attempt2_reference_calc1
[25.03|13:44:20]
[25.03|13:44:20] Current (cumulative) timings:
[25.03|13:44:20]                                 Time (s) Fraction
[25.03|13:44:20]     Ref. calcs                   1652.67    0.739
[25.03|13:44:20]     ML training                   489.52    0.219
[25.03|13:44:20]     Simulations                    94.01    0.042
[25.03|13:44:20]
[25.03|13:44:20]
[25.03|13:44:21]
[25.03|13:44:21] --- Begin summary ---
[25.03|13:44:21] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|13:44:21]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|13:44:21]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|13:44:21]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|13:44:21]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|13:44:21]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|13:44:21]     3        2 FAILED   Inaccurate                                   0.3361
[25.03|13:44:21] --- End summary ---
[25.03|13:44:21]
[25.03|13:44:21] Running more reference calculations....
[25.03|13:44:21]     Running reference calculations on frames [30, 33] from step3_attempt2_simulation/ams.rkf
[25.03|13:44:21]     Calculating 2 frames in total
[25.03|13:44:21]     Running step3_attempt2_reference_calc2
[25.03|13:46:23]     Running step3_attempt2_reference_calc3
[25.03|13:48:30]     Reference calculations finished!
[25.03|13:48:30] Adding results from step3_attempt2_reference_calc2 to validation set
[25.03|13:48:30] Adding results from step3_attempt2_reference_calc3 to training set
[25.03|13:48:30]     Current # training set entries: 28
[25.03|13:48:30]     Current # validation set entries: 16
[25.03|13:48:30]     Storing data in step3_attempt2_reference_data
[25.03|13:48:31]     Deleting step3_attempt2_reference_calc2
[25.03|13:48:31]     Deleting step3_attempt2_reference_calc3
[25.03|13:48:31] Launching reparametrization job: step3_attempt2_training
[25.03|13:48:35] JOB m3gnet STARTED
[25.03|13:48:35] Starting m3gnet.prerun()
[25.03|13:48:35] m3gnet.prerun() finished
[25.03|13:48:35] JOB m3gnet RUNNING
[25.03|13:48:35] Executing m3gnet.run
[25.03|13:49:58] training_set    Optimizer: 001 Epoch:      0 Loss: 0.005090
[25.03|13:49:58] validation_set  Optimizer: 001 Epoch:      0 Loss: 0.028931
[25.03|13:50:02] training_set    Optimizer: 001 Epoch:     10 Loss: 0.000363
[25.03|13:50:02] validation_set  Optimizer: 001 Epoch:     10 Loss: 0.006237
[25.03|13:50:06] training_set    Optimizer: 001 Epoch:     20 Loss: 0.000290
[25.03|13:50:06] validation_set  Optimizer: 001 Epoch:     20 Loss: 0.004560
[25.03|13:50:10] training_set    Optimizer: 001 Epoch:     30 Loss: 0.000269
[25.03|13:50:10] validation_set  Optimizer: 001 Epoch:     30 Loss: 0.004243
[25.03|13:50:14] training_set    Optimizer: 001 Epoch:     40 Loss: 0.000271
[25.03|13:50:14] validation_set  Optimizer: 001 Epoch:     40 Loss: 0.005148
[25.03|13:50:19] training_set    Optimizer: 001 Epoch:     50 Loss: 0.000262
[25.03|13:50:19] validation_set  Optimizer: 001 Epoch:     50 Loss: 0.004792
[25.03|13:50:23] training_set    Optimizer: 001 Epoch:     60 Loss: 0.000255
[25.03|13:50:23] validation_set  Optimizer: 001 Epoch:     60 Loss: 0.004225
[25.03|13:50:27] training_set    Optimizer: 001 Epoch:     70 Loss: 0.000253
[25.03|13:50:27] validation_set  Optimizer: 001 Epoch:     70 Loss: 0.006896
[25.03|13:50:31] training_set    Optimizer: 001 Epoch:     80 Loss: 0.000263
[25.03|13:50:31] validation_set  Optimizer: 001 Epoch:     80 Loss: 0.004736
[25.03|13:50:36] training_set    Optimizer: 001 Epoch:     90 Loss: 0.000261
[25.03|13:50:36] validation_set  Optimizer: 001 Epoch:     90 Loss: 0.004781
[25.03|13:50:40] training_set    Optimizer: 001 Epoch:    100 Loss: 0.000259
[25.03|13:50:40] validation_set  Optimizer: 001 Epoch:    100 Loss: 0.005429
[25.03|13:50:44] training_set    Optimizer: 001 Epoch:    110 Loss: 0.000251
[25.03|13:50:44] validation_set  Optimizer: 001 Epoch:    110 Loss: 0.006397
[25.03|13:50:48] training_set    Optimizer: 001 Epoch:    120 Loss: 0.000262
[25.03|13:50:48] validation_set  Optimizer: 001 Epoch:    120 Loss: 0.005539
[25.03|13:50:52] training_set    Optimizer: 001 Epoch:    130 Loss: 0.000256
[25.03|13:50:52] validation_set  Optimizer: 001 Epoch:    130 Loss: 0.005191
[25.03|13:50:56] training_set    Optimizer: 001 Epoch:    140 Loss: 0.000253
[25.03|13:50:56] validation_set  Optimizer: 001 Epoch:    140 Loss: 0.009039
[25.03|13:51:00] training_set    Optimizer: 001 Epoch:    150 Loss: 0.000255
[25.03|13:51:00] validation_set  Optimizer: 001 Epoch:    150 Loss: 0.005388
[25.03|13:51:05] training_set    Optimizer: 001 Epoch:    160 Loss: 0.000246
[25.03|13:51:05] validation_set  Optimizer: 001 Epoch:    160 Loss: 0.005806
[25.03|13:51:09] training_set    Optimizer: 001 Epoch:    170 Loss: 0.000253
[25.03|13:51:09] validation_set  Optimizer: 001 Epoch:    170 Loss: 0.005201
[25.03|13:51:13] training_set    Optimizer: 001 Epoch:    180 Loss: 0.000251
[25.03|13:51:13] validation_set  Optimizer: 001 Epoch:    180 Loss: 0.005789
[25.03|13:51:17] training_set    Optimizer: 001 Epoch:    190 Loss: 0.000281
[25.03|13:51:17] validation_set  Optimizer: 001 Epoch:    190 Loss: 0.010998
[25.03|13:51:22] Execution of m3gnet.run finished with returncode 0
[25.03|13:51:23] JOB m3gnet FINISHED
[25.03|13:51:23] Starting m3gnet.postrun()
[25.03|13:51:23] m3gnet.postrun() finished
[25.03|13:51:23] JOB m3gnet SUCCESSFUL
[25.03|13:51:36] Running all jobs through AMS....
[25.03|13:51:37] Storing results/optimization/training_set_results/best
[25.03|13:51:37] Storing results/optimization/validation_set_results/best
[25.03|13:51:37] PLAMS environment cleaned up successfully
[25.03|13:51:37] PLAMS run finished. Goodbye
[25.03|13:51:38]     ParAMSResults  training_set   validation_set
[25.03|13:51:38]     energy MAE     0.3838         0.4012          eV
[25.03|13:51:38]     forces MAE     0.0369         0.0383          eV/angstrom
[25.03|13:51:38]     Newly created parameter file/dir: step3_attempt2_training/results/optimization/m3gnet/m3gnet
[25.03|13:51:38]     Done!
[25.03|13:51:38]     Deleting step3_attempt1_training
[25.03|13:51:38] ##########################
[25.03|13:51:38] ### Step 3 / Attempt 3 ###
[25.03|13:51:38] ##########################
[25.03|13:51:38] MD Steps: 50 (cumulative: 115)
[25.03|13:51:38] Current engine settings:
[25.03|13:51:38]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step3_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|13:51:38]     Running step3_attempt3_simulation...
[25.03|13:51:54]     Job step3_attempt3_simulation finished
[25.03|13:51:54] Deleting files that are no longer needed...
[25.03|13:51:55] Launching reference calculation
[25.03|13:53:55]      Reference calculation finished!
[25.03|13:53:55] Checking success for step3_attempt3
[25.03|13:54:05]     CheckEnergy: Checking energy for MDStep115, n_atoms = 95
[25.03|13:54:05]     CheckEnergy: normalization coefficient = 95
[25.03|13:54:05]     CheckEnergy:                   Actual  Threshold
[25.03|13:54:05]     CheckEnergy: dE/95             0.0040     0.2000 OK!
[25.03|13:54:05]     CheckEnergy: ddE/95            0.0001     0.0012 OK!      (relative to step3_attempt2_simulation:MDStep115)
[25.03|13:54:05]
[25.03|13:54:05]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|13:54:05]     CheckForces: ------------
[25.03|13:54:05]     CheckForces: Reference job from step3_attempt3_reference_calc1
[25.03|13:54:05]     CheckForces: Prediction job from final frame (MDStep115) of step3_attempt3_simulation
[25.03|13:54:05]     CheckForces: ------------
[25.03|13:54:05]     CheckForces: Histogram of forces
[25.03|13:54:05]     CheckForces: eV/Ang    Ref   Pred
[25.03|13:54:05]     CheckForces:     -2      0      0
[25.03|13:54:05]     CheckForces:     -1    146    139
[25.03|13:54:05]     CheckForces:      0    137    144
[25.03|13:54:05]     CheckForces:      1      2      2
[25.03|13:54:05]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|13:54:05]     CheckForces: Force components with an error exceeding the threshold:
[25.03|13:54:05]     CheckForces: Ref    Pred   Delta  Threshold
[25.03|13:54:05]     CheckForces:   0.68   0.37   0.31      0.28
[25.03|13:54:05]     CheckForces: Maximum deviation: 0.309 eV/angstrom
[25.03|13:54:05]     CheckForces:          Actual   Threshold
[25.03|13:54:05]     CheckForces: # > thr.        1        0  Not OK!
[25.03|13:54:05]     CheckForces: MAE         0.043     0.30  OK!
[25.03|13:54:05]     CheckForces: R^2         0.978     0.80  OK!
[25.03|13:54:05]     CheckForces: --------------------
[25.03|13:54:05]
[25.03|13:54:05] Adding results from step3_attempt3_reference_calc1 to training set
[25.03|13:54:05]     Current # training set entries: 29
[25.03|13:54:05]     Current # validation set entries: 16
[25.03|13:54:05]     Storing data in step3_attempt3_reference_data
[25.03|13:54:05]     Deleting step3_attempt2_reference_data
[25.03|13:54:05]     Deleting step3_attempt3_reference_calc1
[25.03|13:54:05]
[25.03|13:54:05] Current (cumulative) timings:
[25.03|13:54:05]                                 Time (s) Fraction
[25.03|13:54:05]     Ref. calcs                   2022.41    0.720
[25.03|13:54:05]     ML training                   676.88    0.241
[25.03|13:54:05]     Simulations                   109.99    0.039
[25.03|13:54:05]
[25.03|13:54:05]
[25.03|13:54:06]
[25.03|13:54:06] --- Begin summary ---
[25.03|13:54:06] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|13:54:06]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|13:54:06]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|13:54:06]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|13:54:06]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|13:54:06]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|13:54:06]     3        2 FAILED   Inaccurate                                   0.3361
[25.03|13:54:06]     3        3 FAILED   Inaccurate                                   0.3093
[25.03|13:54:06] --- End summary ---
[25.03|13:54:06]
[25.03|13:54:06] Running more reference calculations....
[25.03|13:54:06]     Running reference calculations on frames [30, 33] from step3_attempt3_simulation/ams.rkf
[25.03|13:54:06]     Calculating 2 frames in total
[25.03|13:54:06]     Running step3_attempt3_reference_calc2
[25.03|13:56:09]     Running step3_attempt3_reference_calc3
[25.03|13:57:59]     Reference calculations finished!
[25.03|13:57:59] Adding results from step3_attempt3_reference_calc2 to validation set
[25.03|13:57:59] Adding results from step3_attempt3_reference_calc3 to training set
[25.03|13:57:59]     Current # training set entries: 30
[25.03|13:57:59]     Current # validation set entries: 17
[25.03|13:57:59]     Storing data in step3_attempt3_reference_data
[25.03|13:57:59]     Deleting step3_attempt3_reference_calc2
[25.03|13:57:59]     Deleting step3_attempt3_reference_calc3
[25.03|13:57:59] Launching reparametrization job: step3_attempt3_training
[25.03|13:58:04] JOB m3gnet STARTED
[25.03|13:58:04] Starting m3gnet.prerun()
[25.03|13:58:04] m3gnet.prerun() finished
[25.03|13:58:04] JOB m3gnet RUNNING
[25.03|13:58:04] Executing m3gnet.run
[25.03|13:58:49] training_set    Optimizer: 001 Epoch:      0 Loss: 0.005370
[25.03|13:58:49] validation_set  Optimizer: 001 Epoch:      0 Loss: 0.021568
[25.03|13:58:53] training_set    Optimizer: 001 Epoch:     10 Loss: 0.000363
[25.03|13:58:53] validation_set  Optimizer: 001 Epoch:     10 Loss: 0.005729
[25.03|13:58:58] training_set    Optimizer: 001 Epoch:     20 Loss: 0.000281
[25.03|13:58:58] validation_set  Optimizer: 001 Epoch:     20 Loss: 0.004268
[25.03|13:59:02] training_set    Optimizer: 001 Epoch:     30 Loss: 0.000256
[25.03|13:59:02] validation_set  Optimizer: 001 Epoch:     30 Loss: 0.004282
[25.03|13:59:06] training_set    Optimizer: 001 Epoch:     40 Loss: 0.000248
[25.03|13:59:06] validation_set  Optimizer: 001 Epoch:     40 Loss: 0.004188
[25.03|13:59:10] training_set    Optimizer: 001 Epoch:     50 Loss: 0.000249
[25.03|13:59:10] validation_set  Optimizer: 001 Epoch:     50 Loss: 0.004562
[25.03|13:59:15] training_set    Optimizer: 001 Epoch:     60 Loss: 0.000242
[25.03|13:59:15] validation_set  Optimizer: 001 Epoch:     60 Loss: 0.004556
[25.03|13:59:19] training_set    Optimizer: 001 Epoch:     70 Loss: 0.000239
[25.03|13:59:19] validation_set  Optimizer: 001 Epoch:     70 Loss: 0.004108
[25.03|13:59:23] training_set    Optimizer: 001 Epoch:     80 Loss: 0.000238
[25.03|13:59:23] validation_set  Optimizer: 001 Epoch:     80 Loss: 0.004114
[25.03|13:59:27] training_set    Optimizer: 001 Epoch:     90 Loss: 0.000238
[25.03|13:59:27] validation_set  Optimizer: 001 Epoch:     90 Loss: 0.004007
[25.03|13:59:31] training_set    Optimizer: 001 Epoch:    100 Loss: 0.000236
[25.03|13:59:31] validation_set  Optimizer: 001 Epoch:    100 Loss: 0.004062
[25.03|13:59:35] training_set    Optimizer: 001 Epoch:    110 Loss: 0.000238
[25.03|13:59:35] validation_set  Optimizer: 001 Epoch:    110 Loss: 0.003982
[25.03|13:59:39] training_set    Optimizer: 001 Epoch:    120 Loss: 0.000238
[25.03|13:59:39] validation_set  Optimizer: 001 Epoch:    120 Loss: 0.006159
[25.03|13:59:44] training_set    Optimizer: 001 Epoch:    130 Loss: 0.000237
[25.03|13:59:44] validation_set  Optimizer: 001 Epoch:    130 Loss: 0.005204
[25.03|13:59:48] training_set    Optimizer: 001 Epoch:    140 Loss: 0.000256
[25.03|13:59:48] validation_set  Optimizer: 001 Epoch:    140 Loss: 0.010362
[25.03|13:59:52] training_set    Optimizer: 001 Epoch:    150 Loss: 0.000235
[25.03|13:59:52] validation_set  Optimizer: 001 Epoch:    150 Loss: 0.004286
[25.03|13:59:57] training_set    Optimizer: 001 Epoch:    160 Loss: 0.000240
[25.03|13:59:57] validation_set  Optimizer: 001 Epoch:    160 Loss: 0.005547
[25.03|14:00:01] training_set    Optimizer: 001 Epoch:    170 Loss: 0.000257
[25.03|14:00:01] validation_set  Optimizer: 001 Epoch:    170 Loss: 0.007283
[25.03|14:00:05] training_set    Optimizer: 001 Epoch:    180 Loss: 0.000231
[25.03|14:00:05] validation_set  Optimizer: 001 Epoch:    180 Loss: 0.006194
[25.03|14:00:09] training_set    Optimizer: 001 Epoch:    190 Loss: 0.000235
[25.03|14:00:09] validation_set  Optimizer: 001 Epoch:    190 Loss: 0.006140
[25.03|14:00:14] Execution of m3gnet.run finished with returncode 0
[25.03|14:00:14] JOB m3gnet FINISHED
[25.03|14:00:14] Starting m3gnet.postrun()
[25.03|14:00:14] m3gnet.postrun() finished
[25.03|14:00:15] JOB m3gnet SUCCESSFUL
[25.03|14:00:31] Running all jobs through AMS....
[25.03|14:00:31] Storing results/optimization/training_set_results/best
[25.03|14:00:31] Storing results/optimization/validation_set_results/best
[25.03|14:00:31] PLAMS environment cleaned up successfully
[25.03|14:00:31] PLAMS run finished. Goodbye
[25.03|14:00:32]     ParAMSResults  training_set   validation_set
[25.03|14:00:32]     energy MAE     0.1611         0.1413          eV
[25.03|14:00:32]     forces MAE     0.0359         0.0378          eV/angstrom
[25.03|14:00:32]     Newly created parameter file/dir: step3_attempt3_training/results/optimization/m3gnet/m3gnet
[25.03|14:00:32]     Done!
[25.03|14:00:32]     Deleting step3_attempt2_training
[25.03|14:00:32] ##########################
[25.03|14:00:32] ### Step 3 / Attempt 4 ###
[25.03|14:00:32] ##########################
[25.03|14:00:32] MD Steps: 50 (cumulative: 115)
[25.03|14:00:32] Current engine settings:
[25.03|14:00:32]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step3_attempt3_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|14:00:32]     Running step3_attempt4_simulation...
[25.03|14:00:48]     Job step3_attempt4_simulation finished
[25.03|14:00:48] Deleting files that are no longer needed...
[25.03|14:00:49] Launching reference calculation
[25.03|14:03:05]      Reference calculation finished!
[25.03|14:03:05] Checking success for step3_attempt4
[25.03|14:03:14]     CheckEnergy: Checking energy for MDStep115, n_atoms = 95
[25.03|14:03:14]     CheckEnergy: normalization coefficient = 95
[25.03|14:03:14]     CheckEnergy:                   Actual  Threshold
[25.03|14:03:14]     CheckEnergy: dE/95            -0.0019     0.2000 OK!
[25.03|14:03:14]     CheckEnergy: ddE/95            0.0001     0.0012 OK!      (relative to step3_attempt3_simulation:MDStep115)
[25.03|14:03:14]
[25.03|14:03:14]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|14:03:14]     CheckForces: ------------
[25.03|14:03:14]     CheckForces: Reference job from step3_attempt4_reference_calc1
[25.03|14:03:14]     CheckForces: Prediction job from final frame (MDStep115) of step3_attempt4_simulation
[25.03|14:03:14]     CheckForces: ------------
[25.03|14:03:14]     CheckForces: Histogram of forces
[25.03|14:03:14]     CheckForces: eV/Ang    Ref   Pred
[25.03|14:03:14]     CheckForces:     -2      0      0
[25.03|14:03:14]     CheckForces:     -1    145    138
[25.03|14:03:14]     CheckForces:      0    138    145
[25.03|14:03:14]     CheckForces:      1      2      2
[25.03|14:03:14]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|14:03:14]     CheckForces: All force components are within the acceptable error!
[25.03|14:03:14]     CheckForces: Maximum deviation: 0.227 eV/angstrom
[25.03|14:03:14]     CheckForces:          Actual   Threshold
[25.03|14:03:14]     CheckForces: # > thr.        0        0  OK!
[25.03|14:03:14]     CheckForces: MAE         0.038     0.30  OK!
[25.03|14:03:14]     CheckForces: R^2         0.983     0.80  OK!
[25.03|14:03:14]     CheckForces: --------------------
[25.03|14:03:14]
[25.03|14:03:15] Adding results from step3_attempt4_reference_calc1 to validation set
[25.03|14:03:15]     Current # training set entries: 30
[25.03|14:03:15]     Current # validation set entries: 18
[25.03|14:03:15]     Storing data in step3_attempt4_reference_data
[25.03|14:03:15]     Deleting step3_attempt3_reference_data
[25.03|14:03:15]     Deleting step3_attempt4_reference_calc1
[25.03|14:03:15]
[25.03|14:03:15] Current (cumulative) timings:
[25.03|14:03:15]                                 Time (s) Fraction
[25.03|14:03:15]     Ref. calcs                   2391.66    0.715
[25.03|14:03:15]     ML training                   829.66    0.248
[25.03|14:03:15]     Simulations                   125.82    0.038
[25.03|14:03:15]
[25.03|14:03:15]
[25.03|14:03:15] Step 3 finished successfully!
[25.03|14:03:15]
[25.03|14:03:15] --- Begin summary ---
[25.03|14:03:15] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|14:03:15]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|14:03:15]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|14:03:15]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|14:03:15]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|14:03:15]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|14:03:15]     3        2 FAILED   Inaccurate                                   0.3361
[25.03|14:03:15]     3        3 FAILED   Inaccurate                                   0.3093
[25.03|14:03:15]     3        4 SUCCESS  Accurate                                     0.2273
[25.03|14:03:15] --- End summary ---
[25.03|14:03:15]
[25.03|14:03:15] ##########################
[25.03|14:03:15] ### Step 4 / Attempt 1 ###
[25.03|14:03:15] ##########################
[25.03|14:03:15] MD Steps: 50 (cumulative: 165)
[25.03|14:03:15] Current engine settings:
[25.03|14:03:15]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step3_attempt3_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|14:03:15]     Running step4_attempt1_simulation...
[25.03|14:03:28]     Job step4_attempt1_simulation finished
[25.03|14:03:28] Deleting files that are no longer needed...
[25.03|14:03:28]     Deleting step2_attempt3_simulation
[25.03|14:03:28]     Deleting step3_attempt1_simulation
[25.03|14:03:28]     Deleting step3_attempt2_simulation
[25.03|14:03:28]     Deleting step3_attempt3_simulation
[25.03|14:03:29] Launching reference calculation
[25.03|14:05:37]      Reference calculation finished!
[25.03|14:05:37] Checking success for step4_attempt1
[25.03|14:05:47]     CheckEnergy: Checking energy for MDStep165, n_atoms = 95
[25.03|14:05:47]     CheckEnergy: normalization coefficient = 95
[25.03|14:05:47]     CheckEnergy:                   Actual  Threshold
[25.03|14:05:47]     CheckEnergy: dE/95            -0.0026     0.2000 OK!
[25.03|14:05:47]     CheckEnergy: ddE/95           -0.0007     0.0012 OK!      (relative to step3_attempt4_simulation:MDStep115)
[25.03|14:05:47]
[25.03|14:05:47]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|14:05:47]     CheckForces: ------------
[25.03|14:05:47]     CheckForces: Reference job from step4_attempt1_reference_calc1
[25.03|14:05:47]     CheckForces: Prediction job from final frame (MDStep165) of step4_attempt1_simulation
[25.03|14:05:47]     CheckForces: ------------
[25.03|14:05:47]     CheckForces: Histogram of forces
[25.03|14:05:47]     CheckForces: eV/Ang    Ref   Pred
[25.03|14:05:47]     CheckForces:     -4      0      0
[25.03|14:05:47]     CheckForces:     -3      1      1
[25.03|14:05:47]     CheckForces:     -2      6      5
[25.03|14:05:47]     CheckForces:     -1    129    132
[25.03|14:05:47]     CheckForces:      0    147    143
[25.03|14:05:47]     CheckForces:      1      2      4
[25.03|14:05:47]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|14:05:47]     CheckForces: Force components with an error exceeding the threshold:
[25.03|14:05:47]     CheckForces: Ref    Pred   Delta  Threshold
[25.03|14:05:47]     CheckForces:  -0.41  -0.08   0.33      0.27
[25.03|14:05:47]     CheckForces: Maximum deviation: 0.336 eV/angstrom
[25.03|14:05:47]     CheckForces:          Actual   Threshold
[25.03|14:05:47]     CheckForces: # > thr.        1        0  Not OK!
[25.03|14:05:47]     CheckForces: MAE         0.061     0.30  OK!
[25.03|14:05:47]     CheckForces: R^2         0.967     0.80  OK!
[25.03|14:05:47]     CheckForces: --------------------
[25.03|14:05:47]
[25.03|14:05:47] Adding results from step4_attempt1_reference_calc1 to training set
[25.03|14:05:47]     Current # training set entries: 31
[25.03|14:05:47]     Current # validation set entries: 18
[25.03|14:05:47]     Storing data in step4_attempt1_reference_data
[25.03|14:05:47]     Deleting step3_attempt4_reference_data
[25.03|14:05:47]     Deleting step4_attempt1_reference_calc1
[25.03|14:05:47]
[25.03|14:05:47] Current (cumulative) timings:
[25.03|14:05:47]                                 Time (s) Fraction
[25.03|14:05:47]     Ref. calcs                   2520.10    0.722
[25.03|14:05:47]     ML training                   829.66    0.238
[25.03|14:05:47]     Simulations                   138.86    0.040
[25.03|14:05:47]
[25.03|14:05:47]
[25.03|14:05:48]
[25.03|14:05:48] --- Begin summary ---
[25.03|14:05:48] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|14:05:48]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|14:05:48]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|14:05:48]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|14:05:48]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|14:05:48]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|14:05:48]     3        2 FAILED   Inaccurate                                   0.3361
[25.03|14:05:48]     3        3 FAILED   Inaccurate                                   0.3093
[25.03|14:05:48]     3        4 SUCCESS  Accurate                                     0.2273
[25.03|14:05:48]     4        1 FAILED   Inaccurate                                   0.3361
[25.03|14:05:48] --- End summary ---
[25.03|14:05:48]
[25.03|14:05:48] Running more reference calculations....
[25.03|14:05:48]     Running reference calculations on frames [40, 43] from step4_attempt1_simulation/ams.rkf
[25.03|14:05:48]     Calculating 2 frames in total
[25.03|14:05:48]     Running step4_attempt1_reference_calc2
[25.03|14:08:02]     Running step4_attempt1_reference_calc3
[25.03|14:10:11]     Reference calculations finished!
[25.03|14:10:12] Adding results from step4_attempt1_reference_calc2 to validation set
[25.03|14:10:12] Adding results from step4_attempt1_reference_calc3 to training set
[25.03|14:10:12]     Current # training set entries: 32
[25.03|14:10:12]     Current # validation set entries: 19
[25.03|14:10:12]     Storing data in step4_attempt1_reference_data
[25.03|14:10:12]     Deleting step4_attempt1_reference_calc2
[25.03|14:10:12]     Deleting step4_attempt1_reference_calc3
[25.03|14:10:12] Launching reparametrization job: step4_attempt1_training
[25.03|14:10:17] JOB m3gnet STARTED
[25.03|14:10:17] Starting m3gnet.prerun()
[25.03|14:10:17] m3gnet.prerun() finished
[25.03|14:10:17] JOB m3gnet RUNNING
[25.03|14:10:17] Executing m3gnet.run
[25.03|14:11:20] training_set    Optimizer: 001 Epoch:      0 Loss: 0.003665
[25.03|14:11:20] validation_set  Optimizer: 001 Epoch:      0 Loss: 0.050680
[25.03|14:11:25] training_set    Optimizer: 001 Epoch:     10 Loss: 0.000293
[25.03|14:11:25] validation_set  Optimizer: 001 Epoch:     10 Loss: 0.004855
[25.03|14:11:30] training_set    Optimizer: 001 Epoch:     20 Loss: 0.000250
[25.03|14:11:30] validation_set  Optimizer: 001 Epoch:     20 Loss: 0.003924
[25.03|14:11:35] training_set    Optimizer: 001 Epoch:     30 Loss: 0.000260
[25.03|14:11:35] validation_set  Optimizer: 001 Epoch:     30 Loss: 0.004763
[25.03|14:11:39] training_set    Optimizer: 001 Epoch:     40 Loss: 0.000243
[25.03|14:11:39] validation_set  Optimizer: 001 Epoch:     40 Loss: 0.004679
[25.03|14:11:44] training_set    Optimizer: 001 Epoch:     50 Loss: 0.000235
[25.03|14:11:44] validation_set  Optimizer: 001 Epoch:     50 Loss: 0.003906
[25.03|14:11:49] training_set    Optimizer: 001 Epoch:     60 Loss: 0.000247
[25.03|14:11:49] validation_set  Optimizer: 001 Epoch:     60 Loss: 0.003902
[25.03|14:11:54] training_set    Optimizer: 001 Epoch:     70 Loss: 0.000234
[25.03|14:11:54] validation_set  Optimizer: 001 Epoch:     70 Loss: 0.006771
[25.03|14:11:58] training_set    Optimizer: 001 Epoch:     80 Loss: 0.000230
[25.03|14:11:58] validation_set  Optimizer: 001 Epoch:     80 Loss: 0.005121
[25.03|14:12:03] training_set    Optimizer: 001 Epoch:     90 Loss: 0.000246
[25.03|14:12:03] validation_set  Optimizer: 001 Epoch:     90 Loss: 0.005750
[25.03|14:12:08] training_set    Optimizer: 001 Epoch:    100 Loss: 0.000232
[25.03|14:12:08] validation_set  Optimizer: 001 Epoch:    100 Loss: 0.005809
[25.03|14:12:12] training_set    Optimizer: 001 Epoch:    110 Loss: 0.000234
[25.03|14:12:12] validation_set  Optimizer: 001 Epoch:    110 Loss: 0.008440
[25.03|14:12:17] training_set    Optimizer: 001 Epoch:    120 Loss: 0.000218
[25.03|14:12:17] validation_set  Optimizer: 001 Epoch:    120 Loss: 0.003962
[25.03|14:12:22] training_set    Optimizer: 001 Epoch:    130 Loss: 0.000265
[25.03|14:12:22] validation_set  Optimizer: 001 Epoch:    130 Loss: 0.004631
[25.03|14:12:26] training_set    Optimizer: 001 Epoch:    140 Loss: 0.000249
[25.03|14:12:26] validation_set  Optimizer: 001 Epoch:    140 Loss: 0.010062
[25.03|14:12:31] training_set    Optimizer: 001 Epoch:    150 Loss: 0.000260
[25.03|14:12:31] validation_set  Optimizer: 001 Epoch:    150 Loss: 0.006629
[25.03|14:12:36] training_set    Optimizer: 001 Epoch:    160 Loss: 0.000248
[25.03|14:12:36] validation_set  Optimizer: 001 Epoch:    160 Loss: 0.004582
[25.03|14:12:41] training_set    Optimizer: 001 Epoch:    170 Loss: 0.000236
[25.03|14:12:41] validation_set  Optimizer: 001 Epoch:    170 Loss: 0.003866
[25.03|14:12:45] training_set    Optimizer: 001 Epoch:    180 Loss: 0.000238
[25.03|14:12:45] validation_set  Optimizer: 001 Epoch:    180 Loss: 0.004404
[25.03|14:12:50] training_set    Optimizer: 001 Epoch:    190 Loss: 0.000237
[25.03|14:12:50] validation_set  Optimizer: 001 Epoch:    190 Loss: 0.006887
[25.03|14:12:56] Execution of m3gnet.run finished with returncode 0
[25.03|14:12:56] JOB m3gnet FINISHED
[25.03|14:12:56] Starting m3gnet.postrun()
[25.03|14:12:56] m3gnet.postrun() finished
[25.03|14:12:57] JOB m3gnet SUCCESSFUL
[25.03|14:13:13] Running all jobs through AMS....
[25.03|14:13:13] Storing results/optimization/training_set_results/best
[25.03|14:13:13] Storing results/optimization/validation_set_results/best
[25.03|14:13:13] PLAMS environment cleaned up successfully
[25.03|14:13:13] PLAMS run finished. Goodbye
[25.03|14:13:15]     ParAMSResults  training_set   validation_set
[25.03|14:13:15]     energy MAE     0.0537         0.0611          eV
[25.03|14:13:15]     forces MAE     0.0354         0.0370          eV/angstrom
[25.03|14:13:15]     Newly created parameter file/dir: step4_attempt1_training/results/optimization/m3gnet/m3gnet
[25.03|14:13:15]     Done!
[25.03|14:13:15]     Deleting step3_attempt3_training
[25.03|14:13:15] ##########################
[25.03|14:13:15] ### Step 4 / Attempt 2 ###
[25.03|14:13:15] ##########################
[25.03|14:13:15] MD Steps: 50 (cumulative: 165)
[25.03|14:13:15] Current engine settings:
[25.03|14:13:15]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step4_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|14:13:15]     Running step4_attempt2_simulation...
[25.03|14:13:28]     Job step4_attempt2_simulation finished
[25.03|14:13:28] Deleting files that are no longer needed...
[25.03|14:13:28] Launching reference calculation
[25.03|14:15:28]      Reference calculation finished!
[25.03|14:15:28] Checking success for step4_attempt2
[25.03|14:15:37]     CheckEnergy: Checking energy for MDStep165, n_atoms = 95
[25.03|14:15:37]     CheckEnergy: normalization coefficient = 95
[25.03|14:15:37]     CheckEnergy:                   Actual  Threshold
[25.03|14:15:37]     CheckEnergy: dE/95            -0.0002     0.2000 OK!
[25.03|14:15:37]     CheckEnergy: ddE/95            0.0001     0.0012 OK!      (relative to step4_attempt1_simulation:MDStep165)
[25.03|14:15:37]
[25.03|14:15:37]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|14:15:37]     CheckForces: ------------
[25.03|14:15:37]     CheckForces: Reference job from step4_attempt2_reference_calc1
[25.03|14:15:37]     CheckForces: Prediction job from final frame (MDStep165) of step4_attempt2_simulation
[25.03|14:15:37]     CheckForces: ------------
[25.03|14:15:37]     CheckForces: Histogram of forces
[25.03|14:15:37]     CheckForces: eV/Ang    Ref   Pred
[25.03|14:15:37]     CheckForces:     -3      1      1
[25.03|14:15:37]     CheckForces:     -2      6      5
[25.03|14:15:37]     CheckForces:     -1    129    134
[25.03|14:15:37]     CheckForces:      0    147    141
[25.03|14:15:37]     CheckForces:      1      2      4
[25.03|14:15:37]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|14:15:37]     CheckForces: All force components are within the acceptable error!
[25.03|14:15:37]     CheckForces: Maximum deviation: 0.253 eV/angstrom
[25.03|14:15:37]     CheckForces:          Actual   Threshold
[25.03|14:15:37]     CheckForces: # > thr.        0        0  OK!
[25.03|14:15:37]     CheckForces: MAE         0.046     0.30  OK!
[25.03|14:15:37]     CheckForces: R^2         0.982     0.80  OK!
[25.03|14:15:37]     CheckForces: --------------------
[25.03|14:15:37]
[25.03|14:15:37] Adding results from step4_attempt2_reference_calc1 to training set
[25.03|14:15:37]     Current # training set entries: 33
[25.03|14:15:37]     Current # validation set entries: 19
[25.03|14:15:37]     Storing data in step4_attempt2_reference_data
[25.03|14:15:38]     Deleting step4_attempt1_reference_data
[25.03|14:15:38]     Deleting step4_attempt2_reference_calc1
[25.03|14:15:38]
[25.03|14:15:38] Current (cumulative) timings:
[25.03|14:15:38]                                 Time (s) Fraction
[25.03|14:15:38]     Ref. calcs                   2902.86    0.714
[25.03|14:15:38]     ML training                  1011.98    0.249
[25.03|14:15:38]     Simulations                   151.94    0.037
[25.03|14:15:38]
[25.03|14:15:38]
[25.03|14:15:38] Step 4 finished successfully!
[25.03|14:15:38]
[25.03|14:15:38] --- Begin summary ---
[25.03|14:15:38] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|14:15:38]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|14:15:38]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|14:15:38]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|14:15:38]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|14:15:38]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|14:15:38]     3        2 FAILED   Inaccurate                                   0.3361
[25.03|14:15:38]     3        3 FAILED   Inaccurate                                   0.3093
[25.03|14:15:38]     3        4 SUCCESS  Accurate                                     0.2273
[25.03|14:15:38]     4        1 FAILED   Inaccurate                                   0.3361
[25.03|14:15:38]     4        2 SUCCESS  Accurate                                     0.2526
[25.03|14:15:38] --- End summary ---
[25.03|14:15:38]
[25.03|14:15:38] ##########################
[25.03|14:15:38] ### Step 5 / Attempt 1 ###
[25.03|14:15:38] ##########################
[25.03|14:15:38] MD Steps: 50 (cumulative: 215)
[25.03|14:15:38] Current engine settings:
[25.03|14:15:38]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step4_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|14:15:38]     Running step5_attempt1_simulation...
[25.03|14:15:54]     Job step5_attempt1_simulation finished
[25.03|14:15:54] Deleting files that are no longer needed...
[25.03|14:15:54]     Deleting step3_attempt4_simulation
[25.03|14:15:54]     Deleting step4_attempt1_simulation
[25.03|14:15:54] Launching reference calculation
[25.03|14:17:50]      Reference calculation finished!
[25.03|14:17:50] Checking success for step5_attempt1
[25.03|14:18:00]     CheckEnergy: Checking energy for MDStep215, n_atoms = 95
[25.03|14:18:00]     CheckEnergy: normalization coefficient = 95
[25.03|14:18:00]     CheckEnergy:                   Actual  Threshold
[25.03|14:18:00]     CheckEnergy: dE/95            -0.0003     0.2000 OK!
[25.03|14:18:00]     CheckEnergy: ddE/95           -0.0001     0.0012 OK!      (relative to step4_attempt2_simulation:MDStep165)
[25.03|14:18:00]
[25.03|14:18:00]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|14:18:00]     CheckForces: ------------
[25.03|14:18:00]     CheckForces: Reference job from step5_attempt1_reference_calc1
[25.03|14:18:00]     CheckForces: Prediction job from final frame (MDStep215) of step5_attempt1_simulation
[25.03|14:18:00]     CheckForces: ------------
[25.03|14:18:00]     CheckForces: Histogram of forces
[25.03|14:18:00]     CheckForces: eV/Ang    Ref   Pred
[25.03|14:18:00]     CheckForces:     -3      0      0
[25.03|14:18:00]     CheckForces:     -2      5      4
[25.03|14:18:00]     CheckForces:     -1    145    144
[25.03|14:18:00]     CheckForces:      0    127    131
[25.03|14:18:00]     CheckForces:      1      8      6
[25.03|14:18:00]     CheckForces:      2      0      0
[25.03|14:18:00]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|14:18:00]     CheckForces: Force components with an error exceeding the threshold:
[25.03|14:18:00]     CheckForces: Ref    Pred   Delta  Threshold
[25.03|14:18:00]     CheckForces:   0.10  -0.17   0.27      0.25
[25.03|14:18:00]     CheckForces:   0.01  -0.25   0.25      0.25
[25.03|14:18:00]     CheckForces: Maximum deviation: 0.271 eV/angstrom
[25.03|14:18:00]     CheckForces:          Actual   Threshold
[25.03|14:18:00]     CheckForces: # > thr.        2        0  Not OK!
[25.03|14:18:00]     CheckForces: MAE         0.059     0.30  OK!
[25.03|14:18:00]     CheckForces: R^2         0.972     0.80  OK!
[25.03|14:18:00]     CheckForces: --------------------
[25.03|14:18:00]
[25.03|14:18:00] Adding results from step5_attempt1_reference_calc1 to training set
[25.03|14:18:00]     Current # training set entries: 34
[25.03|14:18:00]     Current # validation set entries: 19
[25.03|14:18:00]     Storing data in step5_attempt1_reference_data
[25.03|14:18:01]     Deleting step4_attempt2_reference_data
[25.03|14:18:01]     Deleting step5_attempt1_reference_calc1
[25.03|14:18:01]
[25.03|14:18:01] Current (cumulative) timings:
[25.03|14:18:01]                                 Time (s) Fraction
[25.03|14:18:01]     Ref. calcs                   3018.87    0.719
[25.03|14:18:01]     ML training                  1011.98    0.241
[25.03|14:18:01]     Simulations                   167.91    0.040
[25.03|14:18:01]
[25.03|14:18:01]
[25.03|14:18:01]
[25.03|14:18:01] --- Begin summary ---
[25.03|14:18:01] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|14:18:01]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|14:18:01]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|14:18:01]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|14:18:01]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|14:18:01]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|14:18:01]     3        2 FAILED   Inaccurate                                   0.3361
[25.03|14:18:01]     3        3 FAILED   Inaccurate                                   0.3093
[25.03|14:18:01]     3        4 SUCCESS  Accurate                                     0.2273
[25.03|14:18:01]     4        1 FAILED   Inaccurate                                   0.3361
[25.03|14:18:01]     4        2 SUCCESS  Accurate                                     0.2526
[25.03|14:18:01]     5        1 FAILED   Inaccurate                                   0.2711
[25.03|14:18:01] --- End summary ---
[25.03|14:18:01]
[25.03|14:18:01] Running more reference calculations....
[25.03|14:18:01]     Running reference calculations on frames [50, 53] from step5_attempt1_simulation/ams.rkf
[25.03|14:18:01]     Calculating 2 frames in total
[25.03|14:18:01]     Running step5_attempt1_reference_calc2
[25.03|14:20:02]     Running step5_attempt1_reference_calc3
[25.03|14:22:06]     Reference calculations finished!
[25.03|14:22:07] Adding results from step5_attempt1_reference_calc2 to validation set
[25.03|14:22:07] Adding results from step5_attempt1_reference_calc3 to training set
[25.03|14:22:07]     Current # training set entries: 35
[25.03|14:22:07]     Current # validation set entries: 20
[25.03|14:22:07]     Storing data in step5_attempt1_reference_data
[25.03|14:22:08]     Deleting step5_attempt1_reference_calc2
[25.03|14:22:08]     Deleting step5_attempt1_reference_calc3
[25.03|14:22:08] Launching reparametrization job: step5_attempt1_training
[25.03|14:22:12] JOB m3gnet STARTED
[25.03|14:22:12] Starting m3gnet.prerun()
[25.03|14:22:12] m3gnet.prerun() finished
[25.03|14:22:12] JOB m3gnet RUNNING
[25.03|14:22:12] Executing m3gnet.run
[25.03|14:23:15] training_set    Optimizer: 001 Epoch:      0 Loss: 0.004051
[25.03|14:23:15] validation_set  Optimizer: 001 Epoch:      0 Loss: 0.042758
[25.03|14:23:20] training_set    Optimizer: 001 Epoch:     10 Loss: 0.000309
[25.03|14:23:20] validation_set  Optimizer: 001 Epoch:     10 Loss: 0.005392
[25.03|14:23:25] training_set    Optimizer: 001 Epoch:     20 Loss: 0.000256
[25.03|14:23:25] validation_set  Optimizer: 001 Epoch:     20 Loss: 0.004611
[25.03|14:23:30] training_set    Optimizer: 001 Epoch:     30 Loss: 0.000245
[25.03|14:23:30] validation_set  Optimizer: 001 Epoch:     30 Loss: 0.003840
[25.03|14:23:35] training_set    Optimizer: 001 Epoch:     40 Loss: 0.000242
[25.03|14:23:35] validation_set  Optimizer: 001 Epoch:     40 Loss: 0.003860
[25.03|14:23:40] training_set    Optimizer: 001 Epoch:     50 Loss: 0.000237
[25.03|14:23:40] validation_set  Optimizer: 001 Epoch:     50 Loss: 0.003886
[25.03|14:23:45] training_set    Optimizer: 001 Epoch:     60 Loss: 0.000239
[25.03|14:23:45] validation_set  Optimizer: 001 Epoch:     60 Loss: 0.004763
[25.03|14:23:49] training_set    Optimizer: 001 Epoch:     70 Loss: 0.000240
[25.03|14:23:49] validation_set  Optimizer: 001 Epoch:     70 Loss: 0.004101
[25.03|14:23:54] training_set    Optimizer: 001 Epoch:     80 Loss: 0.000237
[25.03|14:23:54] validation_set  Optimizer: 001 Epoch:     80 Loss: 0.003912
[25.03|14:23:59] training_set    Optimizer: 001 Epoch:     90 Loss: 0.000234
[25.03|14:23:59] validation_set  Optimizer: 001 Epoch:     90 Loss: 0.005038
[25.03|14:24:04] training_set    Optimizer: 001 Epoch:    100 Loss: 0.000239
[25.03|14:24:04] validation_set  Optimizer: 001 Epoch:    100 Loss: 0.003800
[25.03|14:24:09] training_set    Optimizer: 001 Epoch:    110 Loss: 0.000234
[25.03|14:24:09] validation_set  Optimizer: 001 Epoch:    110 Loss: 0.003771
[25.03|14:24:14] training_set    Optimizer: 001 Epoch:    120 Loss: 0.000240
[25.03|14:24:14] validation_set  Optimizer: 001 Epoch:    120 Loss: 0.009094
[25.03|14:24:18] training_set    Optimizer: 001 Epoch:    130 Loss: 0.000231
[25.03|14:24:18] validation_set  Optimizer: 001 Epoch:    130 Loss: 0.004130
[25.03|14:24:23] training_set    Optimizer: 001 Epoch:    140 Loss: 0.000265
[25.03|14:24:23] validation_set  Optimizer: 001 Epoch:    140 Loss: 0.007133
[25.03|14:24:28] training_set    Optimizer: 001 Epoch:    150 Loss: 0.000235
[25.03|14:24:28] validation_set  Optimizer: 001 Epoch:    150 Loss: 0.005731
[25.03|14:24:33] training_set    Optimizer: 001 Epoch:    160 Loss: 0.000233
[25.03|14:24:33] validation_set  Optimizer: 001 Epoch:    160 Loss: 0.007201
[25.03|14:24:38] training_set    Optimizer: 001 Epoch:    170 Loss: 0.000244
[25.03|14:24:38] validation_set  Optimizer: 001 Epoch:    170 Loss: 0.008973
[25.03|14:24:42] training_set    Optimizer: 001 Epoch:    180 Loss: 0.000268
[25.03|14:24:42] validation_set  Optimizer: 001 Epoch:    180 Loss: 0.007321
[25.03|14:24:47] training_set    Optimizer: 001 Epoch:    190 Loss: 0.000233
[25.03|14:24:47] validation_set  Optimizer: 001 Epoch:    190 Loss: 0.006812
[25.03|14:24:53] Execution of m3gnet.run finished with returncode 0
[25.03|14:24:53] JOB m3gnet FINISHED
[25.03|14:24:53] Starting m3gnet.postrun()
[25.03|14:24:53] m3gnet.postrun() finished
[25.03|14:24:54] JOB m3gnet SUCCESSFUL
[25.03|14:25:07] Running all jobs through AMS....
[25.03|14:25:08] Storing results/optimization/training_set_results/best
[25.03|14:25:08] Storing results/optimization/validation_set_results/best
[25.03|14:25:08] PLAMS environment cleaned up successfully
[25.03|14:25:08] PLAMS run finished. Goodbye
[25.03|14:25:09]     ParAMSResults  training_set   validation_set
[25.03|14:25:09]     energy MAE     0.6183         0.6319          eV
[25.03|14:25:09]     forces MAE     0.0352         0.0369          eV/angstrom
[25.03|14:25:09]     Newly created parameter file/dir: step5_attempt1_training/results/optimization/m3gnet/m3gnet
[25.03|14:25:09]     Done!
[25.03|14:25:09]     Deleting step4_attempt1_training
[25.03|14:25:09] ##########################
[25.03|14:25:09] ### Step 5 / Attempt 2 ###
[25.03|14:25:09] ##########################
[25.03|14:25:09] MD Steps: 50 (cumulative: 215)
[25.03|14:25:09] Current engine settings:
[25.03|14:25:09]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step5_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|14:25:09]     Running step5_attempt2_simulation...
[25.03|14:25:25]     Job step5_attempt2_simulation finished
[25.03|14:25:25] Deleting files that are no longer needed...
[25.03|14:25:26] Launching reference calculation
[25.03|14:27:31]      Reference calculation finished!
[25.03|14:27:31] Checking success for step5_attempt2
[25.03|14:27:40]     CheckEnergy: Checking energy for MDStep215, n_atoms = 95
[25.03|14:27:40]     CheckEnergy: normalization coefficient = 95
[25.03|14:27:40]     CheckEnergy:                   Actual  Threshold
[25.03|14:27:40]     CheckEnergy: dE/95             0.0066     0.2000 OK!
[25.03|14:27:40]     CheckEnergy: ddE/95            0.0002     0.0012 OK!      (relative to step5_attempt1_simulation:MDStep215)
[25.03|14:27:40]
[25.03|14:27:40]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|14:27:40]     CheckForces: ------------
[25.03|14:27:40]     CheckForces: Reference job from step5_attempt2_reference_calc1
[25.03|14:27:40]     CheckForces: Prediction job from final frame (MDStep215) of step5_attempt2_simulation
[25.03|14:27:40]     CheckForces: ------------
[25.03|14:27:40]     CheckForces: Histogram of forces
[25.03|14:27:40]     CheckForces: eV/Ang    Ref   Pred
[25.03|14:27:40]     CheckForces:     -3      0      0
[25.03|14:27:40]     CheckForces:     -2      4      3
[25.03|14:27:40]     CheckForces:     -1    145    143
[25.03|14:27:40]     CheckForces:      0    129    133
[25.03|14:27:40]     CheckForces:      1      7      6
[25.03|14:27:40]     CheckForces:      2      0      0
[25.03|14:27:40]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|14:27:40]     CheckForces: All force components are within the acceptable error!
[25.03|14:27:40]     CheckForces: Maximum deviation: 0.234 eV/angstrom
[25.03|14:27:40]     CheckForces:          Actual   Threshold
[25.03|14:27:40]     CheckForces: # > thr.        0        0  OK!
[25.03|14:27:40]     CheckForces: MAE         0.048     0.30  OK!
[25.03|14:27:40]     CheckForces: R^2         0.980     0.80  OK!
[25.03|14:27:40]     CheckForces: --------------------
[25.03|14:27:40]
[25.03|14:27:40] Adding results from step5_attempt2_reference_calc1 to training set
[25.03|14:27:40]     Current # training set entries: 36
[25.03|14:27:40]     Current # validation set entries: 20
[25.03|14:27:40]     Storing data in step5_attempt2_reference_data
[25.03|14:27:41]     Deleting step5_attempt1_reference_data
[25.03|14:27:41]     Deleting step5_attempt2_reference_calc1
[25.03|14:27:41]
[25.03|14:27:41] Current (cumulative) timings:
[25.03|14:27:41]                                 Time (s) Fraction
[25.03|14:27:41]     Ref. calcs                   3389.48    0.711
[25.03|14:27:41]     ML training                  1193.57    0.250
[25.03|14:27:41]     Simulations                   183.72    0.039
[25.03|14:27:41]
[25.03|14:27:41]
[25.03|14:27:41] Step 5 finished successfully!
[25.03|14:27:41]
[25.03|14:27:41] --- Begin summary ---
[25.03|14:27:41] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|14:27:41]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|14:27:41]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|14:27:41]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|14:27:41]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|14:27:41]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|14:27:41]     3        2 FAILED   Inaccurate                                   0.3361
[25.03|14:27:41]     3        3 FAILED   Inaccurate                                   0.3093
[25.03|14:27:41]     3        4 SUCCESS  Accurate                                     0.2273
[25.03|14:27:41]     4        1 FAILED   Inaccurate                                   0.3361
[25.03|14:27:41]     4        2 SUCCESS  Accurate                                     0.2526
[25.03|14:27:41]     5        1 FAILED   Inaccurate                                   0.2711
[25.03|14:27:41]     5        2 SUCCESS  Accurate                                     0.2343
[25.03|14:27:41] --- End summary ---
[25.03|14:27:41]
[25.03|14:27:41] ##########################
[25.03|14:27:41] ### Step 6 / Attempt 1 ###
[25.03|14:27:41] ##########################
[25.03|14:27:41] MD Steps: 50 (cumulative: 265)
[25.03|14:27:41] Current engine settings:
[25.03|14:27:41]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step5_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|14:27:41]     Running step6_attempt1_simulation...
[25.03|14:27:57]     Job step6_attempt1_simulation finished
[25.03|14:27:57] Deleting files that are no longer needed...
[25.03|14:27:57]     Deleting step4_attempt2_simulation
[25.03|14:27:57]     Deleting step5_attempt1_simulation
[25.03|14:27:58] Launching reference calculation
[25.03|14:30:07]      Reference calculation finished!
[25.03|14:30:07] Checking success for step6_attempt1
[25.03|14:30:17]     CheckEnergy: Checking energy for MDStep265, n_atoms = 95
[25.03|14:30:17]     CheckEnergy: normalization coefficient = 95
[25.03|14:30:17]     CheckEnergy:                   Actual  Threshold
[25.03|14:30:17]     CheckEnergy: dE/95             0.0056     0.2000 OK!
[25.03|14:30:17]     CheckEnergy: ddE/95           -0.0010     0.0012 OK!      (relative to step5_attempt2_simulation:MDStep215)
[25.03|14:30:17]
[25.03|14:30:17]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|14:30:17]     CheckForces: ------------
[25.03|14:30:17]     CheckForces: Reference job from step6_attempt1_reference_calc1
[25.03|14:30:17]     CheckForces: Prediction job from final frame (MDStep265) of step6_attempt1_simulation
[25.03|14:30:17]     CheckForces: ------------
[25.03|14:30:17]     CheckForces: Histogram of forces
[25.03|14:30:17]     CheckForces: eV/Ang    Ref   Pred
[25.03|14:30:17]     CheckForces:     -2      2      1
[25.03|14:30:17]     CheckForces:     -1    141    142
[25.03|14:30:17]     CheckForces:      0    141    141
[25.03|14:30:17]     CheckForces:      1      1      1
[25.03|14:30:17]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|14:30:17]     CheckForces: All force components are within the acceptable error!
[25.03|14:30:17]     CheckForces: Maximum deviation: 0.290 eV/angstrom
[25.03|14:30:17]     CheckForces:          Actual   Threshold
[25.03|14:30:17]     CheckForces: # > thr.        0        0  OK!
[25.03|14:30:17]     CheckForces: MAE         0.049     0.30  OK!
[25.03|14:30:17]     CheckForces: R^2         0.968     0.80  OK!
[25.03|14:30:17]     CheckForces: --------------------
[25.03|14:30:17]
[25.03|14:30:17] Adding results from step6_attempt1_reference_calc1 to validation set
[25.03|14:30:17]     Current # training set entries: 36
[25.03|14:30:17]     Current # validation set entries: 21
[25.03|14:30:17]     Storing data in step6_attempt1_reference_data
[25.03|14:30:18]     Deleting step5_attempt2_reference_data
[25.03|14:30:18]     Deleting step6_attempt1_reference_calc1
[25.03|14:30:18]
[25.03|14:30:18] Current (cumulative) timings:
[25.03|14:30:18]                                 Time (s) Fraction
[25.03|14:30:18]     Ref. calcs                   3519.42    0.716
[25.03|14:30:18]     ML training                  1193.57    0.243
[25.03|14:30:18]     Simulations                   199.59    0.041
[25.03|14:30:18]
[25.03|14:30:18]
[25.03|14:30:18] Step 6 finished successfully!
[25.03|14:30:18]
[25.03|14:30:18] --- Begin summary ---
[25.03|14:30:18] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|14:30:18]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|14:30:18]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|14:30:18]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|14:30:18]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|14:30:18]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|14:30:18]     3        2 FAILED   Inaccurate                                   0.3361
[25.03|14:30:18]     3        3 FAILED   Inaccurate                                   0.3093
[25.03|14:30:18]     3        4 SUCCESS  Accurate                                     0.2273
[25.03|14:30:18]     4        1 FAILED   Inaccurate                                   0.3361
[25.03|14:30:18]     4        2 SUCCESS  Accurate                                     0.2526
[25.03|14:30:18]     5        1 FAILED   Inaccurate                                   0.2711
[25.03|14:30:18]     5        2 SUCCESS  Accurate                                     0.2343
[25.03|14:30:18]     6        1 SUCCESS  Accurate                                     0.2905
[25.03|14:30:18] --- End summary ---
[25.03|14:30:18]
[25.03|14:30:18] ##########################
[25.03|14:30:18] ### Step 7 / Attempt 1 ###
[25.03|14:30:18] ##########################
[25.03|14:30:18] MD Steps: 50 (cumulative: 315)
[25.03|14:30:18] Current engine settings:
[25.03|14:30:18]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step5_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|14:30:18]     Running step7_attempt1_simulation...
[25.03|14:30:34]     Job step7_attempt1_simulation finished
[25.03|14:30:34] Deleting files that are no longer needed...
[25.03|14:30:34]     Deleting step5_attempt2_simulation
[25.03|14:30:35] Launching reference calculation
[25.03|14:32:43]      Reference calculation finished!
[25.03|14:32:43] Checking success for step7_attempt1
[25.03|14:32:52]     CheckEnergy: Checking energy for MDStep315, n_atoms = 95
[25.03|14:32:52]     CheckEnergy: normalization coefficient = 95
[25.03|14:32:52]     CheckEnergy:                   Actual  Threshold
[25.03|14:32:52]     CheckEnergy: dE/95             0.0063     0.2000 OK!
[25.03|14:32:52]     CheckEnergy: ddE/95            0.0006     0.0012 OK!      (relative to step6_attempt1_simulation:MDStep265)
[25.03|14:32:52]
[25.03|14:32:52]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|14:32:52]     CheckForces: ------------
[25.03|14:32:52]     CheckForces: Reference job from step7_attempt1_reference_calc1
[25.03|14:32:52]     CheckForces: Prediction job from final frame (MDStep315) of step7_attempt1_simulation
[25.03|14:32:52]     CheckForces: ------------
[25.03|14:32:52]     CheckForces: Histogram of forces
[25.03|14:32:52]     CheckForces: eV/Ang    Ref   Pred
[25.03|14:32:52]     CheckForces:     -2      0      0
[25.03|14:32:52]     CheckForces:     -1    148    148
[25.03|14:32:52]     CheckForces:      0    135    134
[25.03|14:32:52]     CheckForces:      1      2      3
[25.03|14:32:52]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|14:32:52]     CheckForces: All force components are within the acceptable error!
[25.03|14:32:52]     CheckForces: Maximum deviation: 0.181 eV/angstrom
[25.03|14:32:52]     CheckForces:          Actual   Threshold
[25.03|14:32:52]     CheckForces: # > thr.        0        0  OK!
[25.03|14:32:52]     CheckForces: MAE         0.041     0.30  OK!
[25.03|14:32:52]     CheckForces: R^2         0.977     0.80  OK!
[25.03|14:32:52]     CheckForces: --------------------
[25.03|14:32:52]
[25.03|14:32:53] Adding results from step7_attempt1_reference_calc1 to training set
[25.03|14:32:53]     Current # training set entries: 37
[25.03|14:32:53]     Current # validation set entries: 21
[25.03|14:32:53]     Storing data in step7_attempt1_reference_data
[25.03|14:32:53]     Deleting step6_attempt1_reference_data
[25.03|14:32:53]     Deleting step7_attempt1_reference_calc1
[25.03|14:32:53]
[25.03|14:32:53] Current (cumulative) timings:
[25.03|14:32:53]                                 Time (s) Fraction
[25.03|14:32:53]     Ref. calcs                   3647.54    0.721
[25.03|14:32:53]     ML training                  1193.57    0.236
[25.03|14:32:53]     Simulations                   215.63    0.043
[25.03|14:32:53]
[25.03|14:32:53]
[25.03|14:32:53] Step 7 finished successfully!
[25.03|14:32:53]
[25.03|14:32:53] --- Begin summary ---
[25.03|14:32:53] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|14:32:53]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|14:32:53]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|14:32:53]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|14:32:53]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|14:32:53]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|14:32:53]     3        2 FAILED   Inaccurate                                   0.3361
[25.03|14:32:53]     3        3 FAILED   Inaccurate                                   0.3093
[25.03|14:32:53]     3        4 SUCCESS  Accurate                                     0.2273
[25.03|14:32:53]     4        1 FAILED   Inaccurate                                   0.3361
[25.03|14:32:53]     4        2 SUCCESS  Accurate                                     0.2526
[25.03|14:32:53]     5        1 FAILED   Inaccurate                                   0.2711
[25.03|14:32:53]     5        2 SUCCESS  Accurate                                     0.2343
[25.03|14:32:53]     6        1 SUCCESS  Accurate                                     0.2905
[25.03|14:32:53]     7        1 SUCCESS  Accurate                                     0.1808
[25.03|14:32:53] --- End summary ---
[25.03|14:32:53]
[25.03|14:32:53] ##########################
[25.03|14:32:53] ### Step 8 / Attempt 1 ###
[25.03|14:32:53] ##########################
[25.03|14:32:53] MD Steps: 50 (cumulative: 365)
[25.03|14:32:53] Current engine settings:
[25.03|14:32:53]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step5_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|14:32:53]     Running step8_attempt1_simulation...
[25.03|14:33:09]     Job step8_attempt1_simulation finished
[25.03|14:33:09] Deleting files that are no longer needed...
[25.03|14:33:09]     Deleting step6_attempt1_simulation
[25.03|14:33:10] Launching reference calculation
[25.03|14:35:11]      Reference calculation finished!
[25.03|14:35:11] Checking success for step8_attempt1
[25.03|14:35:21]     CheckEnergy: Checking energy for MDStep365, n_atoms = 95
[25.03|14:35:21]     CheckEnergy: normalization coefficient = 95
[25.03|14:35:21]     CheckEnergy:                   Actual  Threshold
[25.03|14:35:21]     CheckEnergy: dE/95             0.0062     0.2000 OK!
[25.03|14:35:21]     CheckEnergy: ddE/95           -0.0001     0.0012 OK!      (relative to step7_attempt1_simulation:MDStep315)
[25.03|14:35:21]
[25.03|14:35:21]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|14:35:21]     CheckForces: ------------
[25.03|14:35:21]     CheckForces: Reference job from step8_attempt1_reference_calc1
[25.03|14:35:21]     CheckForces: Prediction job from final frame (MDStep365) of step8_attempt1_simulation
[25.03|14:35:21]     CheckForces: ------------
[25.03|14:35:21]     CheckForces: Histogram of forces
[25.03|14:35:21]     CheckForces: eV/Ang    Ref   Pred
[25.03|14:35:21]     CheckForces:     -3      0      0
[25.03|14:35:21]     CheckForces:     -2      4      5
[25.03|14:35:21]     CheckForces:     -1    135    132
[25.03|14:35:21]     CheckForces:      0    145    148
[25.03|14:35:21]     CheckForces:      1      1      0
[25.03|14:35:21]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|14:35:21]     CheckForces: All force components are within the acceptable error!
[25.03|14:35:21]     CheckForces: Maximum deviation: 0.253 eV/angstrom
[25.03|14:35:21]     CheckForces:          Actual   Threshold
[25.03|14:35:21]     CheckForces: # > thr.        0        0  OK!
[25.03|14:35:21]     CheckForces: MAE         0.043     0.30  OK!
[25.03|14:35:21]     CheckForces: R^2         0.979     0.80  OK!
[25.03|14:35:21]     CheckForces: --------------------
[25.03|14:35:21]
[25.03|14:35:21] Adding results from step8_attempt1_reference_calc1 to training set
[25.03|14:35:21]     Current # training set entries: 38
[25.03|14:35:21]     Current # validation set entries: 21
[25.03|14:35:21]     Storing data in step8_attempt1_reference_data
[25.03|14:35:21]     Deleting step7_attempt1_reference_data
[25.03|14:35:21]     Deleting step8_attempt1_reference_calc1
[25.03|14:35:21]
[25.03|14:35:21] Current (cumulative) timings:
[25.03|14:35:21]                                 Time (s) Fraction
[25.03|14:35:21]     Ref. calcs                   3769.00    0.726
[25.03|14:35:21]     ML training                  1193.57    0.230
[25.03|14:35:21]     Simulations                   231.48    0.045
[25.03|14:35:21]
[25.03|14:35:21]
[25.03|14:35:22] Step 8 finished successfully!
[25.03|14:35:22]
[25.03|14:35:22] --- Begin summary ---
[25.03|14:35:22] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|14:35:22]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|14:35:22]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|14:35:22]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|14:35:22]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|14:35:22]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|14:35:22]     3        2 FAILED   Inaccurate                                   0.3361
[25.03|14:35:22]     3        3 FAILED   Inaccurate                                   0.3093
[25.03|14:35:22]     3        4 SUCCESS  Accurate                                     0.2273
[25.03|14:35:22]     4        1 FAILED   Inaccurate                                   0.3361
[25.03|14:35:22]     4        2 SUCCESS  Accurate                                     0.2526
[25.03|14:35:22]     5        1 FAILED   Inaccurate                                   0.2711
[25.03|14:35:22]     5        2 SUCCESS  Accurate                                     0.2343
[25.03|14:35:22]     6        1 SUCCESS  Accurate                                     0.2905
[25.03|14:35:22]     7        1 SUCCESS  Accurate                                     0.1808
[25.03|14:35:22]     8        1 SUCCESS  Accurate                                     0.2530
[25.03|14:35:22] --- End summary ---
[25.03|14:35:22]
[25.03|14:35:22] ##########################
[25.03|14:35:22] ### Step 9 / Attempt 1 ###
[25.03|14:35:22] ##########################
[25.03|14:35:22] MD Steps: 50 (cumulative: 415)
[25.03|14:35:22] Current engine settings:
[25.03|14:35:22]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step5_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|14:35:22]     Running step9_attempt1_simulation...
[25.03|14:35:35]     Job step9_attempt1_simulation finished
[25.03|14:35:35] Deleting files that are no longer needed...
[25.03|14:35:35]     Deleting step7_attempt1_simulation
[25.03|14:35:36] Launching reference calculation
[25.03|14:37:20]      Reference calculation finished!
[25.03|14:37:20] Checking success for step9_attempt1
[25.03|14:37:29]     CheckEnergy: Checking energy for MDStep415, n_atoms = 95
[25.03|14:37:29]     CheckEnergy: normalization coefficient = 95
[25.03|14:37:29]     CheckEnergy:                   Actual  Threshold
[25.03|14:37:29]     CheckEnergy: dE/95             0.0067     0.2000 OK!
[25.03|14:37:29]     CheckEnergy: ddE/95            0.0005     0.0012 OK!      (relative to step8_attempt1_simulation:MDStep365)
[25.03|14:37:29]
[25.03|14:37:29]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|14:37:29]     CheckForces: ------------
[25.03|14:37:29]     CheckForces: Reference job from step9_attempt1_reference_calc1
[25.03|14:37:29]     CheckForces: Prediction job from final frame (MDStep415) of step9_attempt1_simulation
[25.03|14:37:29]     CheckForces: ------------
[25.03|14:37:29]     CheckForces: Histogram of forces
[25.03|14:37:29]     CheckForces: eV/Ang    Ref   Pred
[25.03|14:37:29]     CheckForces:     -2      3      4
[25.03|14:37:29]     CheckForces:     -1    143    139
[25.03|14:37:29]     CheckForces:      0    135    138
[25.03|14:37:29]     CheckForces:      1      4      4
[25.03|14:37:29]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|14:37:29]     CheckForces: All force components are within the acceptable error!
[25.03|14:37:29]     CheckForces: Maximum deviation: 0.225 eV/angstrom
[25.03|14:37:29]     CheckForces:          Actual   Threshold
[25.03|14:37:29]     CheckForces: # > thr.        0        0  OK!
[25.03|14:37:29]     CheckForces: MAE         0.044     0.30  OK!
[25.03|14:37:29]     CheckForces: R^2         0.975     0.80  OK!
[25.03|14:37:29]     CheckForces: --------------------
[25.03|14:37:29]
[25.03|14:37:29] Adding results from step9_attempt1_reference_calc1 to training set
[25.03|14:37:29]     Current # training set entries: 39
[25.03|14:37:29]     Current # validation set entries: 21
[25.03|14:37:29]     Storing data in step9_attempt1_reference_data
[25.03|14:37:30]     Deleting step8_attempt1_reference_data
[25.03|14:37:30]     Deleting step9_attempt1_reference_calc1
[25.03|14:37:30]
[25.03|14:37:30] Current (cumulative) timings:
[25.03|14:37:30]                                 Time (s) Fraction
[25.03|14:37:30]     Ref. calcs                   3873.04    0.729
[25.03|14:37:30]     ML training                  1193.57    0.225
[25.03|14:37:30]     Simulations                   244.57    0.046
[25.03|14:37:30]
[25.03|14:37:30]
[25.03|14:37:30] Step 9 finished successfully!
[25.03|14:37:30]
[25.03|14:37:30] --- Begin summary ---
[25.03|14:37:30] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|14:37:30]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|14:37:30]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|14:37:30]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|14:37:30]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|14:37:30]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|14:37:30]     3        2 FAILED   Inaccurate                                   0.3361
[25.03|14:37:30]     3        3 FAILED   Inaccurate                                   0.3093
[25.03|14:37:30]     3        4 SUCCESS  Accurate                                     0.2273
[25.03|14:37:30]     4        1 FAILED   Inaccurate                                   0.3361
[25.03|14:37:30]     4        2 SUCCESS  Accurate                                     0.2526
[25.03|14:37:30]     5        1 FAILED   Inaccurate                                   0.2711
[25.03|14:37:30]     5        2 SUCCESS  Accurate                                     0.2343
[25.03|14:37:30]     6        1 SUCCESS  Accurate                                     0.2905
[25.03|14:37:30]     7        1 SUCCESS  Accurate                                     0.1808
[25.03|14:37:30]     8        1 SUCCESS  Accurate                                     0.2530
[25.03|14:37:30]     9        1 SUCCESS  Accurate                                     0.2253
[25.03|14:37:30] --- End summary ---
[25.03|14:37:30]
[25.03|14:37:30] ###########################
[25.03|14:37:30] ### Step 10 / Attempt 1 ###
[25.03|14:37:30] ###########################
[25.03|14:37:30] MD Steps: 50 (cumulative: 465)
[25.03|14:37:30] Current engine settings:
[25.03|14:37:30]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step5_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|14:37:30]     Running step10_attempt1_simulation...
[25.03|14:37:46]     Job step10_attempt1_simulation finished
[25.03|14:37:46] Deleting files that are no longer needed...
[25.03|14:37:46]     Deleting step8_attempt1_simulation
[25.03|14:37:47] Launching reference calculation
[25.03|14:39:44]      Reference calculation finished!
[25.03|14:39:44] Checking success for step10_attempt1
[25.03|14:39:53]     CheckEnergy: Checking energy for MDStep465, n_atoms = 95
[25.03|14:39:53]     CheckEnergy: normalization coefficient = 95
[25.03|14:39:53]     CheckEnergy:                   Actual  Threshold
[25.03|14:39:53]     CheckEnergy: dE/95             0.0069     0.2000 OK!
[25.03|14:39:53]     CheckEnergy: ddE/95            0.0002     0.0012 OK!      (relative to step9_attempt1_simulation:MDStep415)
[25.03|14:39:53]
[25.03|14:39:53]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|14:39:53]     CheckForces: ------------
[25.03|14:39:53]     CheckForces: Reference job from step10_attempt1_reference_calc1
[25.03|14:39:53]     CheckForces: Prediction job from final frame (MDStep465) of step10_attempt1_simulation
[25.03|14:39:53]     CheckForces: ------------
[25.03|14:39:53]     CheckForces: Histogram of forces
[25.03|14:39:53]     CheckForces: eV/Ang    Ref   Pred
[25.03|14:39:53]     CheckForces:     -2      3      3
[25.03|14:39:53]     CheckForces:     -1    139    140
[25.03|14:39:53]     CheckForces:      0    140    139
[25.03|14:39:53]     CheckForces:      1      3      3
[25.03|14:39:53]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|14:39:53]     CheckForces: Force components with an error exceeding the threshold:
[25.03|14:39:53]     CheckForces: Ref    Pred   Delta  Threshold
[25.03|14:39:53]     CheckForces:  -0.07   0.25   0.32      0.25
[25.03|14:39:53]     CheckForces: Maximum deviation: 0.316 eV/angstrom
[25.03|14:39:53]     CheckForces:          Actual   Threshold
[25.03|14:39:53]     CheckForces: # > thr.        1        0  Not OK!
[25.03|14:39:53]     CheckForces: MAE         0.049     0.30  OK!
[25.03|14:39:53]     CheckForces: R^2         0.968     0.80  OK!
[25.03|14:39:53]     CheckForces: --------------------
[25.03|14:39:53]
[25.03|14:39:54] Adding results from step10_attempt1_reference_calc1 to training set
[25.03|14:39:54]     Current # training set entries: 40
[25.03|14:39:54]     Current # validation set entries: 21
[25.03|14:39:54]     Storing data in step10_attempt1_reference_data
[25.03|14:39:54]     Deleting step9_attempt1_reference_data
[25.03|14:39:54]     Deleting step10_attempt1_reference_calc1
[25.03|14:39:54]
[25.03|14:39:54] Current (cumulative) timings:
[25.03|14:39:54]                                 Time (s) Fraction
[25.03|14:39:54]     Ref. calcs                   3990.06    0.733
[25.03|14:39:54]     ML training                  1193.57    0.219
[25.03|14:39:54]     Simulations                   260.33    0.048
[25.03|14:39:54]
[25.03|14:39:54]
[25.03|14:39:54]
[25.03|14:39:54] --- Begin summary ---
[25.03|14:39:54] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|14:39:54]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|14:39:54]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|14:39:54]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|14:39:54]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|14:39:54]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|14:39:54]     3        2 FAILED   Inaccurate                                   0.3361
[25.03|14:39:54]     3        3 FAILED   Inaccurate                                   0.3093
[25.03|14:39:54]     3        4 SUCCESS  Accurate                                     0.2273
[25.03|14:39:54]     4        1 FAILED   Inaccurate                                   0.3361
[25.03|14:39:54]     4        2 SUCCESS  Accurate                                     0.2526
[25.03|14:39:54]     5        1 FAILED   Inaccurate                                   0.2711
[25.03|14:39:54]     5        2 SUCCESS  Accurate                                     0.2343
[25.03|14:39:54]     6        1 SUCCESS  Accurate                                     0.2905
[25.03|14:39:54]     7        1 SUCCESS  Accurate                                     0.1808
[25.03|14:39:54]     8        1 SUCCESS  Accurate                                     0.2530
[25.03|14:39:54]     9        1 SUCCESS  Accurate                                     0.2253
[25.03|14:39:54]    10        1 FAILED   Inaccurate                                   0.3156
[25.03|14:39:54] --- End summary ---
[25.03|14:39:54]
[25.03|14:39:54] Running more reference calculations....
[25.03|14:39:55]     Running reference calculations on frames [100, 103] from step10_attempt1_simulation/ams.rkf
[25.03|14:39:55]     Calculating 2 frames in total
[25.03|14:39:55]     Running step10_attempt1_reference_calc2
[25.03|14:42:02]     Running step10_attempt1_reference_calc3
[25.03|14:44:23]     Reference calculations finished!
[25.03|14:44:24] Adding results from step10_attempt1_reference_calc2 to validation set
[25.03|14:44:24] Adding results from step10_attempt1_reference_calc3 to training set
[25.03|14:44:24]     Current # training set entries: 41
[25.03|14:44:24]     Current # validation set entries: 22
[25.03|14:44:24]     Storing data in step10_attempt1_reference_data
[25.03|14:44:25]     Deleting step10_attempt1_reference_calc2
[25.03|14:44:25]     Deleting step10_attempt1_reference_calc3
[25.03|14:44:25] Launching reparametrization job: step10_attempt1_training
[25.03|14:44:29] JOB m3gnet STARTED
[25.03|14:44:29] Starting m3gnet.prerun()
[25.03|14:44:29] m3gnet.prerun() finished
[25.03|14:44:29] JOB m3gnet RUNNING
[25.03|14:44:29] Executing m3gnet.run
[25.03|14:45:51] training_set    Optimizer: 001 Epoch:      0 Loss: 0.004863
[25.03|14:45:51] validation_set  Optimizer: 001 Epoch:      0 Loss: 0.057925
[25.03|14:45:57] training_set    Optimizer: 001 Epoch:     10 Loss: 0.000312
[25.03|14:45:57] validation_set  Optimizer: 001 Epoch:     10 Loss: 0.004447
[25.03|14:46:03] training_set    Optimizer: 001 Epoch:     20 Loss: 0.000237
[25.03|14:46:03] validation_set  Optimizer: 001 Epoch:     20 Loss: 0.004135
[25.03|14:46:09] training_set    Optimizer: 001 Epoch:     30 Loss: 0.000259
[25.03|14:46:09] validation_set  Optimizer: 001 Epoch:     30 Loss: 0.003958
[25.03|14:46:15] training_set    Optimizer: 001 Epoch:     40 Loss: 0.000237
[25.03|14:46:15] validation_set  Optimizer: 001 Epoch:     40 Loss: 0.004596
[25.03|14:46:21] training_set    Optimizer: 001 Epoch:     50 Loss: 0.000246
[25.03|14:46:21] validation_set  Optimizer: 001 Epoch:     50 Loss: 0.004465
[25.03|14:46:27] training_set    Optimizer: 001 Epoch:     60 Loss: 0.000245
[25.03|14:46:27] validation_set  Optimizer: 001 Epoch:     60 Loss: 0.003885
[25.03|14:46:33] training_set    Optimizer: 001 Epoch:     70 Loss: 0.000245
[25.03|14:46:33] validation_set  Optimizer: 001 Epoch:     70 Loss: 0.004073
[25.03|14:46:39] training_set    Optimizer: 001 Epoch:     80 Loss: 0.000250
[25.03|14:46:39] validation_set  Optimizer: 001 Epoch:     80 Loss: 0.004592
[25.03|14:46:45] training_set    Optimizer: 001 Epoch:     90 Loss: 0.000242
[25.03|14:46:45] validation_set  Optimizer: 001 Epoch:     90 Loss: 0.006354
[25.03|14:46:51] training_set    Optimizer: 001 Epoch:    100 Loss: 0.000241
[25.03|14:46:51] validation_set  Optimizer: 001 Epoch:    100 Loss: 0.005356
[25.03|14:46:56] training_set    Optimizer: 001 Epoch:    110 Loss: 0.000243
[25.03|14:46:56] validation_set  Optimizer: 001 Epoch:    110 Loss: 0.004192
[25.03|14:47:02] training_set    Optimizer: 001 Epoch:    120 Loss: 0.000239
[25.03|14:47:02] validation_set  Optimizer: 001 Epoch:    120 Loss: 0.006091
[25.03|14:47:08] training_set    Optimizer: 001 Epoch:    130 Loss: 0.000250
[25.03|14:47:08] validation_set  Optimizer: 001 Epoch:    130 Loss: 0.004513
[25.03|14:47:14] training_set    Optimizer: 001 Epoch:    140 Loss: 0.000261
[25.03|14:47:14] validation_set  Optimizer: 001 Epoch:    140 Loss: 0.005196
[25.03|14:47:20] training_set    Optimizer: 001 Epoch:    150 Loss: 0.000255
[25.03|14:47:20] validation_set  Optimizer: 001 Epoch:    150 Loss: 0.004060
[25.03|14:47:25] training_set    Optimizer: 001 Epoch:    160 Loss: 0.000247
[25.03|14:47:25] validation_set  Optimizer: 001 Epoch:    160 Loss: 0.004556
[25.03|14:47:32] training_set    Optimizer: 001 Epoch:    170 Loss: 0.000244
[25.03|14:47:32] validation_set  Optimizer: 001 Epoch:    170 Loss: 0.012106
[25.03|14:47:38] training_set    Optimizer: 001 Epoch:    180 Loss: 0.000229
[25.03|14:47:38] validation_set  Optimizer: 001 Epoch:    180 Loss: 0.004066
[25.03|14:47:44] training_set    Optimizer: 001 Epoch:    190 Loss: 0.000255
[25.03|14:47:44] validation_set  Optimizer: 001 Epoch:    190 Loss: 0.008274
[25.03|14:47:51] Execution of m3gnet.run finished with returncode 0
[25.03|14:47:51] JOB m3gnet FINISHED
[25.03|14:47:51] Starting m3gnet.postrun()
[25.03|14:47:51] m3gnet.postrun() finished
[25.03|14:47:52] JOB m3gnet SUCCESSFUL
[25.03|14:48:08] Running all jobs through AMS....
[25.03|14:48:09] Storing results/optimization/training_set_results/best
[25.03|14:48:09] Storing results/optimization/validation_set_results/best
[25.03|14:48:09] PLAMS environment cleaned up successfully
[25.03|14:48:09] PLAMS run finished. Goodbye
[25.03|14:48:10]     ParAMSResults  training_set   validation_set
[25.03|14:48:10]     energy MAE     0.3685         0.3554          eV
[25.03|14:48:10]     forces MAE     0.0363         0.0377          eV/angstrom
[25.03|14:48:10]     Newly created parameter file/dir: step10_attempt1_training/results/optimization/m3gnet/m3gnet
[25.03|14:48:10]     Done!
[25.03|14:48:10]     Deleting step5_attempt1_training
[25.03|14:48:10] ###########################
[25.03|14:48:10] ### Step 10 / Attempt 2 ###
[25.03|14:48:10] ###########################
[25.03|14:48:10] MD Steps: 50 (cumulative: 465)
[25.03|14:48:10] Current engine settings:
[25.03|14:48:10]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step10_attempt1_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|14:48:10]     Running step10_attempt2_simulation...
[25.03|14:48:26]     Job step10_attempt2_simulation finished
[25.03|14:48:26] Deleting files that are no longer needed...
[25.03|14:48:27] Launching reference calculation
[25.03|14:50:20]      Reference calculation finished!
[25.03|14:50:20] Checking success for step10_attempt2
[25.03|14:50:29]     CheckEnergy: Checking energy for MDStep465, n_atoms = 95
[25.03|14:50:29]     CheckEnergy: normalization coefficient = 95
[25.03|14:50:29]     CheckEnergy:                   Actual  Threshold
[25.03|14:50:29]     CheckEnergy: dE/95            -0.0038     0.2000 OK!
[25.03|14:50:29]     CheckEnergy: ddE/95            0.0001     0.0012 OK!      (relative to step10_attempt1_simulation:MDStep465)
[25.03|14:50:29]
[25.03|14:50:29]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|14:50:29]     CheckForces: ------------
[25.03|14:50:29]     CheckForces: Reference job from step10_attempt2_reference_calc1
[25.03|14:50:29]     CheckForces: Prediction job from final frame (MDStep465) of step10_attempt2_simulation
[25.03|14:50:29]     CheckForces: ------------
[25.03|14:50:29]     CheckForces: Histogram of forces
[25.03|14:50:29]     CheckForces: eV/Ang    Ref   Pred
[25.03|14:50:29]     CheckForces:     -2      3      3
[25.03|14:50:29]     CheckForces:     -1    139    139
[25.03|14:50:29]     CheckForces:      0    140    140
[25.03|14:50:29]     CheckForces:      1      3      3
[25.03|14:50:29]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|14:50:29]     CheckForces: Force components with an error exceeding the threshold:
[25.03|14:50:29]     CheckForces: Ref    Pred   Delta  Threshold
[25.03|14:50:29]     CheckForces:  -0.04   0.22   0.26      0.25
[25.03|14:50:29]     CheckForces: Maximum deviation: 0.256 eV/angstrom
[25.03|14:50:29]     CheckForces:          Actual   Threshold
[25.03|14:50:29]     CheckForces: # > thr.        1        0  Not OK!
[25.03|14:50:29]     CheckForces: MAE         0.047     0.30  OK!
[25.03|14:50:29]     CheckForces: R^2         0.972     0.80  OK!
[25.03|14:50:29]     CheckForces: --------------------
[25.03|14:50:29]
[25.03|14:50:30] Adding results from step10_attempt2_reference_calc1 to training set
[25.03|14:50:30]     Current # training set entries: 42
[25.03|14:50:30]     Current # validation set entries: 22
[25.03|14:50:30]     Storing data in step10_attempt2_reference_data
[25.03|14:50:30]     Deleting step10_attempt1_reference_data
[25.03|14:50:30]     Deleting step10_attempt2_reference_calc1
[25.03|14:50:30]
[25.03|14:50:30] Current (cumulative) timings:
[25.03|14:50:30]                                 Time (s) Fraction
[25.03|14:50:30]     Ref. calcs                   4371.75    0.721
[25.03|14:50:30]     ML training                  1419.35    0.234
[25.03|14:50:30]     Simulations                   276.43    0.046
[25.03|14:50:30]
[25.03|14:50:30]
[25.03|14:50:30]
[25.03|14:50:30] --- Begin summary ---
[25.03|14:50:30] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|14:50:30]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|14:50:30]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|14:50:30]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|14:50:30]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|14:50:30]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|14:50:30]     3        2 FAILED   Inaccurate                                   0.3361
[25.03|14:50:30]     3        3 FAILED   Inaccurate                                   0.3093
[25.03|14:50:30]     3        4 SUCCESS  Accurate                                     0.2273
[25.03|14:50:30]     4        1 FAILED   Inaccurate                                   0.3361
[25.03|14:50:30]     4        2 SUCCESS  Accurate                                     0.2526
[25.03|14:50:30]     5        1 FAILED   Inaccurate                                   0.2711
[25.03|14:50:30]     5        2 SUCCESS  Accurate                                     0.2343
[25.03|14:50:30]     6        1 SUCCESS  Accurate                                     0.2905
[25.03|14:50:30]     7        1 SUCCESS  Accurate                                     0.1808
[25.03|14:50:30]     8        1 SUCCESS  Accurate                                     0.2530
[25.03|14:50:30]     9        1 SUCCESS  Accurate                                     0.2253
[25.03|14:50:30]    10        1 FAILED   Inaccurate                                   0.3156
[25.03|14:50:30]    10        2 FAILED   Inaccurate                                   0.2559
[25.03|14:50:30] --- End summary ---
[25.03|14:50:30]
[25.03|14:50:30] Running more reference calculations....
[25.03|14:50:31]     Running reference calculations on frames [100, 103] from step10_attempt2_simulation/ams.rkf
[25.03|14:50:31]     Calculating 2 frames in total
[25.03|14:50:31]     Running step10_attempt2_reference_calc2
[25.03|14:52:35]     Running step10_attempt2_reference_calc3
[25.03|14:54:34]     Reference calculations finished!
[25.03|14:54:35] Adding results from step10_attempt2_reference_calc2 to validation set
[25.03|14:54:35] Adding results from step10_attempt2_reference_calc3 to training set
[25.03|14:54:35]     Current # training set entries: 43
[25.03|14:54:35]     Current # validation set entries: 23
[25.03|14:54:35]     Storing data in step10_attempt2_reference_data
[25.03|14:54:36]     Deleting step10_attempt2_reference_calc2
[25.03|14:54:36]     Deleting step10_attempt2_reference_calc3
[25.03|14:54:36] Launching reparametrization job: step10_attempt2_training
[25.03|15:17:32] JOB m3gnet STARTED
[25.03|15:17:32] Starting m3gnet.prerun()
[25.03|15:17:32] m3gnet.prerun() finished
[25.03|15:17:32] JOB m3gnet RUNNING
[25.03|15:17:32] Executing m3gnet.run
[25.03|15:18:35] training_set    Optimizer: 001 Epoch:      0 Loss: 0.004620
[25.03|15:18:35] validation_set  Optimizer: 001 Epoch:      0 Loss: 0.060698
[25.03|15:18:41] training_set    Optimizer: 001 Epoch:     10 Loss: 0.000290
[25.03|15:18:41] validation_set  Optimizer: 001 Epoch:     10 Loss: 0.005503
[25.03|15:18:47] training_set    Optimizer: 001 Epoch:     20 Loss: 0.000241
[25.03|15:18:47] validation_set  Optimizer: 001 Epoch:     20 Loss: 0.004256
[25.03|15:18:53] training_set    Optimizer: 001 Epoch:     30 Loss: 0.000233
[25.03|15:18:53] validation_set  Optimizer: 001 Epoch:     30 Loss: 0.004003
[25.03|15:18:59] training_set    Optimizer: 001 Epoch:     40 Loss: 0.000230
[25.03|15:18:59] validation_set  Optimizer: 001 Epoch:     40 Loss: 0.004435
[25.03|15:19:05] training_set    Optimizer: 001 Epoch:     50 Loss: 0.000229
[25.03|15:19:05] validation_set  Optimizer: 001 Epoch:     50 Loss: 0.003751
[25.03|15:19:11] training_set    Optimizer: 001 Epoch:     60 Loss: 0.000225
[25.03|15:19:11] validation_set  Optimizer: 001 Epoch:     60 Loss: 0.005370
[25.03|15:19:17] training_set    Optimizer: 001 Epoch:     70 Loss: 0.000220
[25.03|15:19:17] validation_set  Optimizer: 001 Epoch:     70 Loss: 0.003898
[25.03|15:19:23] training_set    Optimizer: 001 Epoch:     80 Loss: 0.000229
[25.03|15:19:23] validation_set  Optimizer: 001 Epoch:     80 Loss: 0.004037
[25.03|15:19:29] training_set    Optimizer: 001 Epoch:     90 Loss: 0.000226
[25.03|15:19:29] validation_set  Optimizer: 001 Epoch:     90 Loss: 0.006081
[25.03|15:19:35] training_set    Optimizer: 001 Epoch:    100 Loss: 0.000227
[25.03|15:19:35] validation_set  Optimizer: 001 Epoch:    100 Loss: 0.005687
[25.03|15:19:40] training_set    Optimizer: 001 Epoch:    110 Loss: 0.000218
[25.03|15:19:40] validation_set  Optimizer: 001 Epoch:    110 Loss: 0.005497
[25.03|15:19:46] training_set    Optimizer: 001 Epoch:    120 Loss: 0.000243
[25.03|15:19:46] validation_set  Optimizer: 001 Epoch:    120 Loss: 0.004581
[25.03|15:19:52] training_set    Optimizer: 001 Epoch:    130 Loss: 0.000249
[25.03|15:19:52] validation_set  Optimizer: 001 Epoch:    130 Loss: 0.004277
[25.03|15:19:58] training_set    Optimizer: 001 Epoch:    140 Loss: 0.000219
[25.03|15:19:58] validation_set  Optimizer: 001 Epoch:    140 Loss: 0.004260
[25.03|15:20:04] training_set    Optimizer: 001 Epoch:    150 Loss: 0.000220
[25.03|15:20:04] validation_set  Optimizer: 001 Epoch:    150 Loss: 0.005650
[25.03|15:20:10] training_set    Optimizer: 001 Epoch:    160 Loss: 0.000245
[25.03|15:20:10] validation_set  Optimizer: 001 Epoch:    160 Loss: 0.007923
[25.03|15:20:15] training_set    Optimizer: 001 Epoch:    170 Loss: 0.000221
[25.03|15:20:15] validation_set  Optimizer: 001 Epoch:    170 Loss: 0.004533
[25.03|15:20:21] training_set    Optimizer: 001 Epoch:    180 Loss: 0.000225
[25.03|15:20:21] validation_set  Optimizer: 001 Epoch:    180 Loss: 0.005490
[25.03|15:20:28] training_set    Optimizer: 001 Epoch:    190 Loss: 0.000231
[25.03|15:20:28] validation_set  Optimizer: 001 Epoch:    190 Loss: 0.006508
[25.03|15:20:34] Execution of m3gnet.run finished with returncode 0
[25.03|15:20:35] JOB m3gnet FINISHED
[25.03|15:20:35] Starting m3gnet.postrun()
[25.03|15:20:35] m3gnet.postrun() finished
[25.03|15:20:35] JOB m3gnet SUCCESSFUL
[25.03|15:20:52] Running all jobs through AMS....
[25.03|15:20:52] Storing results/optimization/training_set_results/best
[25.03|15:20:52] Storing results/optimization/validation_set_results/best
[25.03|15:20:52] PLAMS environment cleaned up successfully
[25.03|15:20:52] PLAMS run finished. Goodbye
[25.03|15:20:54]     ParAMSResults  training_set   validation_set
[25.03|15:20:54]     energy MAE     0.3180         0.3072          eV
[25.03|15:20:54]     forces MAE     0.0355         0.0379          eV/angstrom
[25.03|15:20:54]     Newly created parameter file/dir: step10_attempt2_training/results/optimization/m3gnet/m3gnet
[25.03|15:20:54]     Done!
[25.03|15:20:54]     Deleting step10_attempt1_training
[25.03|15:20:54] ###########################
[25.03|15:20:54] ### Step 10 / Attempt 3 ###
[25.03|15:20:54] ###########################
[25.03|15:20:54] MD Steps: 50 (cumulative: 465)
[25.03|15:20:54] Current engine settings:
[25.03|15:20:54]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step10_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|15:20:54]     Running step10_attempt3_simulation...
[25.03|15:21:09]     Job step10_attempt3_simulation finished
[25.03|15:21:09] Deleting files that are no longer needed...
[25.03|15:21:10] Launching reference calculation
[25.03|15:22:59]      Reference calculation finished!
[25.03|15:22:59] Checking success for step10_attempt3
[25.03|15:23:09]     CheckEnergy: Checking energy for MDStep465, n_atoms = 95
[25.03|15:23:09]     CheckEnergy: normalization coefficient = 95
[25.03|15:23:09]     CheckEnergy:                   Actual  Threshold
[25.03|15:23:09]     CheckEnergy: dE/95            -0.0028     0.2000 OK!
[25.03|15:23:09]     CheckEnergy: ddE/95           -0.0000     0.0012 OK!      (relative to step10_attempt2_simulation:MDStep465)
[25.03|15:23:09]
[25.03|15:23:09]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|15:23:09]     CheckForces: ------------
[25.03|15:23:09]     CheckForces: Reference job from step10_attempt3_reference_calc1
[25.03|15:23:09]     CheckForces: Prediction job from final frame (MDStep465) of step10_attempt3_simulation
[25.03|15:23:09]     CheckForces: ------------
[25.03|15:23:09]     CheckForces: Histogram of forces
[25.03|15:23:09]     CheckForces: eV/Ang    Ref   Pred
[25.03|15:23:09]     CheckForces:     -2      3      4
[25.03|15:23:09]     CheckForces:     -1    138    138
[25.03|15:23:09]     CheckForces:      0    140    140
[25.03|15:23:09]     CheckForces:      1      4      3
[25.03|15:23:09]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|15:23:09]     CheckForces: All force components are within the acceptable error!
[25.03|15:23:09]     CheckForces: Maximum deviation: 0.214 eV/angstrom
[25.03|15:23:09]     CheckForces:          Actual   Threshold
[25.03|15:23:09]     CheckForces: # > thr.        0        0  OK!
[25.03|15:23:09]     CheckForces: MAE         0.042     0.30  OK!
[25.03|15:23:09]     CheckForces: R^2         0.978     0.80  OK!
[25.03|15:23:09]     CheckForces: --------------------
[25.03|15:23:09]
[25.03|15:23:09] Adding results from step10_attempt3_reference_calc1 to training set
[25.03|15:23:09]     Current # training set entries: 44
[25.03|15:23:09]     Current # validation set entries: 23
[25.03|15:23:09]     Storing data in step10_attempt3_reference_data
[25.03|15:23:10]     Deleting step10_attempt2_reference_data
[25.03|15:23:10]     Deleting step10_attempt3_reference_calc1
[25.03|15:23:10]
[25.03|15:23:10] Current (cumulative) timings:
[25.03|15:23:10]                                 Time (s) Fraction
[25.03|15:23:10]     Ref. calcs                   4724.80    0.590
[25.03|15:23:10]     ML training                  2997.47    0.374
[25.03|15:23:10]     Simulations                   292.15    0.036
[25.03|15:23:10]
[25.03|15:23:10]
[25.03|15:23:10] Step 10 finished successfully!
[25.03|15:23:10]
[25.03|15:23:10] --- Begin summary ---
[25.03|15:23:10] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|15:23:10]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|15:23:10]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|15:23:10]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|15:23:10]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|15:23:10]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|15:23:10]     3        2 FAILED   Inaccurate                                   0.3361
[25.03|15:23:10]     3        3 FAILED   Inaccurate                                   0.3093
[25.03|15:23:10]     3        4 SUCCESS  Accurate                                     0.2273
[25.03|15:23:10]     4        1 FAILED   Inaccurate                                   0.3361
[25.03|15:23:10]     4        2 SUCCESS  Accurate                                     0.2526
[25.03|15:23:10]     5        1 FAILED   Inaccurate                                   0.2711
[25.03|15:23:10]     5        2 SUCCESS  Accurate                                     0.2343
[25.03|15:23:10]     6        1 SUCCESS  Accurate                                     0.2905
[25.03|15:23:10]     7        1 SUCCESS  Accurate                                     0.1808
[25.03|15:23:10]     8        1 SUCCESS  Accurate                                     0.2530
[25.03|15:23:10]     9        1 SUCCESS  Accurate                                     0.2253
[25.03|15:23:10]    10        1 FAILED   Inaccurate                                   0.3156
[25.03|15:23:10]    10        2 FAILED   Inaccurate                                   0.2559
[25.03|15:23:10]    10        3 SUCCESS  Accurate                                     0.2137
[25.03|15:23:10] --- End summary ---
[25.03|15:23:10]
[25.03|15:23:10] ###########################
[25.03|15:23:10] ### Step 11 / Attempt 1 ###
[25.03|15:23:10] ###########################
[25.03|15:23:10] MD Steps: 35 (cumulative: 500)
[25.03|15:23:10] Current engine settings:
[25.03|15:23:10]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step10_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine


[25.03|15:23:10]     Running step11_attempt1_simulation...
[25.03|15:23:26]     Job step11_attempt1_simulation finished
[25.03|15:23:26] Deleting files that are no longer needed...
[25.03|15:23:26]     Deleting step9_attempt1_simulation
[25.03|15:23:26]     Deleting step10_attempt1_simulation
[25.03|15:23:26]     Deleting step10_attempt2_simulation
[25.03|15:23:27] Launching reference calculation
[25.03|15:25:03]      Reference calculation finished!
[25.03|15:25:03] Checking success for step11_attempt1
[25.03|15:25:13]     CheckEnergy: Checking energy for MDStep500, n_atoms = 95
[25.03|15:25:13]     CheckEnergy: normalization coefficient = 95
[25.03|15:25:13]     CheckEnergy:                   Actual  Threshold
[25.03|15:25:13]     CheckEnergy: dE/95            -0.0027     0.2000 OK!
[25.03|15:25:13]     CheckEnergy: ddE/95            0.0002     0.0012 OK!      (relative to step10_attempt3_simulation:MDStep465)
[25.03|15:25:13]
[25.03|15:25:13]     CheckForces: Comparing predicted forces to reference forces (eV/angstrom) on MD snapshot
[25.03|15:25:13]     CheckForces: ------------
[25.03|15:25:13]     CheckForces: Reference job from step11_attempt1_reference_calc1
[25.03|15:25:13]     CheckForces: Prediction job from final frame (MDStep500) of step11_attempt1_simulation
[25.03|15:25:13]     CheckForces: ------------
[25.03|15:25:13]     CheckForces: Histogram of forces
[25.03|15:25:13]     CheckForces: eV/Ang    Ref   Pred
[25.03|15:25:13]     CheckForces:     -2      3      3
[25.03|15:25:13]     CheckForces:     -1    139    134
[25.03|15:25:13]     CheckForces:      0    139    144
[25.03|15:25:13]     CheckForces:      1      4      4
[25.03|15:25:13]     CheckForces: Threshold for 0 force: 0.25 eV/angstrom
[25.03|15:25:13]     CheckForces: All force components are within the acceptable error!
[25.03|15:25:13]     CheckForces: Maximum deviation: 0.250 eV/angstrom
[25.03|15:25:13]     CheckForces:          Actual   Threshold
[25.03|15:25:13]     CheckForces: # > thr.        0        0  OK!
[25.03|15:25:13]     CheckForces: MAE         0.053     0.30  OK!
[25.03|15:25:13]     CheckForces: R^2         0.970     0.80  OK!
[25.03|15:25:13]     CheckForces: --------------------
[25.03|15:25:13]
[25.03|15:25:13] Adding results from step11_attempt1_reference_calc1 to training set
[25.03|15:25:13]     Current # training set entries: 45
[25.03|15:25:13]     Current # validation set entries: 23
[25.03|15:25:13]     Storing data in step11_attempt1_reference_data
[25.03|15:25:14]     Deleting step10_attempt3_reference_data
[25.03|15:25:14]     Deleting step11_attempt1_reference_calc1
[25.03|15:25:14]
[25.03|15:25:14] Current (cumulative) timings:
[25.03|15:25:14]                                 Time (s) Fraction
[25.03|15:25:14]     Ref. calcs                   4821.40    0.593
[25.03|15:25:14]     ML training                  2997.47    0.369
[25.03|15:25:14]     Simulations                   307.90    0.038
[25.03|15:25:14]
[25.03|15:25:14]
[25.03|15:25:14] Step 11 finished successfully!
[25.03|15:25:14]
[25.03|15:25:14] --- Begin summary ---
[25.03|15:25:14] Step  Attempt  Status   Reason               finalframe_forces_max_delta
[25.03|15:25:14]     1        1 SUCCESS  Accurate                                     0.1368
[25.03|15:25:14]     2        1 FAILED   Inaccurate                                   0.3497
[25.03|15:25:14]     2        2 FAILED   Inaccurate                                   0.3025
[25.03|15:25:14]     2        3 SUCCESS  Accurate                                     0.2377
[25.03|15:25:14]     3        1 FAILED   Inaccurate                                   0.4005
[25.03|15:25:14]     3        2 FAILED   Inaccurate                                   0.3361
[25.03|15:25:14]     3        3 FAILED   Inaccurate                                   0.3093
[25.03|15:25:14]     3        4 SUCCESS  Accurate                                     0.2273
[25.03|15:25:14]     4        1 FAILED   Inaccurate                                   0.3361
[25.03|15:25:14]     4        2 SUCCESS  Accurate                                     0.2526
[25.03|15:25:14]     5        1 FAILED   Inaccurate                                   0.2711
[25.03|15:25:14]     5        2 SUCCESS  Accurate                                     0.2343
[25.03|15:25:14]     6        1 SUCCESS  Accurate                                     0.2905
[25.03|15:25:14]     7        1 SUCCESS  Accurate                                     0.1808
[25.03|15:25:14]     8        1 SUCCESS  Accurate                                     0.2530
[25.03|15:25:14]     9        1 SUCCESS  Accurate                                     0.2253
[25.03|15:25:14]    10        1 FAILED   Inaccurate                                   0.3156
[25.03|15:25:14]    10        2 FAILED   Inaccurate                                   0.2559
[25.03|15:25:14]    10        3 SUCCESS  Accurate                                     0.2137
[25.03|15:25:14]    11        1 SUCCESS  Accurate                                     0.2499
[25.03|15:25:14] --- End summary ---
[25.03|15:25:14]
[25.03|15:25:14] The engine settings for the final trained ML engine are:
[25.03|15:25:14]
Engine MLPotential
  Backend M3GNet
  MLDistanceUnit angstrom
  MLEnergyUnit eV
  Model Custom
  ParameterDir /path/plams_workdir.007/sal_lidiffusion_rb.002/step10_attempt2_training/results/optimization/m3gnet/m3gnet
EndEngine



[25.03|15:25:14] Active learning finished!
[25.03|15:25:14] Rerunning the simulation with the final parameters...
[25.03|15:25:37] Copying final_production_simulation/ams.rkf to ams.rkf
[25.03|15:25:37] Goodbye!
[25.03|15:25:37] JOB sal_lidiffusion_rb.002 FINISHED
[25.03|15:25:37] JOB sal_lidiffusion_rb.002 SUCCESSFUL
m3gnet_new_s = sal_job.results.get_production_engine_settings()
m3gnet_new_s = prelim_al_job2.results.get_production_engine_settings()

Run NEB with retrained M3GNet

# constraint_s = plams.Settings()
# constraint_s.input.ams.Constraints.Atom = 8
defective_1_perturbed = defective_1.copy()
defective_1_perturbed.perturb_atoms()
defective_2_perturbed = defective_2.copy()
defective_2_perturbed.perturb_atoms()
m3gnet_new_neb_job = plams.AMSJob(
    settings=m3gnet_new_s + neb_s,  # + constraint_s,
    molecule={"": defective_1, "final": defective_2},
    name="m3gnet_new_neb",
)
m3gnet_new_neb_job.run();
[25.03|15:25:37] JOB m3gnet_new_neb STARTED
[25.03|15:25:37] JOB m3gnet_new_neb RUNNING
[25.03|15:25:58] JOB m3gnet_new_neb FINISHED
[25.03|15:25:58] JOB m3gnet_new_neb SUCCESSFUL
m3gnet_new_res = m3gnet_new_neb_job.results.get_neb_results(unit="eV")
print(f"Left barrier: {m3gnet_new_res['LeftBarrier']:.3f} eV")
print(f"Right barrier: {m3gnet_new_res['RightBarrier']:.3f} eV")
Left barrier: 0.738 eV
Right barrier: 0.738 eV
# ref_results = [0.0, 0.144, 0.482, 0.816, 0.963, 0.816, 0.482, 0.144, 0.0]  # from Quantum ESPRESSO DFT calculation
nImages = m3gnet_new_res["nImages"]
relative_energies = np.array(m3gnet_new_res["Energies"]) - m3gnet_new_res["Energies"][0]
plt.plot(relative_energies)
plt.xlabel("Image")
plt.ylabel("Relative energy (eV)")
plt.title("M3GNet retrained NEB Li diffusion");
../../../_images/litis2_diffusion_neb_54_0.png
fig, axes = plt.subplots(1, len(m3gnet_new_res["Molecules"]), figsize=(15, 5))

for i, mol in enumerate(m3gnet_new_res["Molecules"]):
    plams.plot_molecule(mol, ax=axes[i], rotation="-85x,-5y,0z")
    axes[i].set_title(f"Image {i}")
../../../_images/litis2_diffusion_neb_55_0.png

Let’s run DFT calculations on these frames to compare. We can do this using the “Replay” task.

Note: The DFT calculations may take a few minutes to complete.

replay_s = plams.Settings()
replay_s.input.ams.Task = "Replay"
replay_s.input.ams.Replay.File = os.path.abspath(m3gnet_new_neb_job.results.rkfpath())
replay_s.input.ams.Properties.Gradients = "Yes"

replay_dft_job = plams.AMSJob(settings=replay_s + dft_s, name="replay_m3gnet_new_neb_with_dft")
replay_dft_job.run(watch=True);
[25.03|15:26:03] JOB replay_m3gnet_new_neb_with_dft STARTED
[25.03|15:26:03] JOB replay_m3gnet_new_neb_with_dft RUNNING
[25.03|15:26:03] replay_m3gnet_new_neb_with_dft: AMS 2024.101  RunTime: Mar25-2024 15:26:03  ShM Nodes: 1  Procs: 1
[25.03|15:26:03] replay_m3gnet_new_neb_with_dft: Starting trajectory replay ...
[25.03|15:26:03] replay_m3gnet_new_neb_with_dft: Replaying frame #1/9 (#320 in original trajectory)
[25.03|15:26:03] replay_m3gnet_new_neb_with_dft:     NOTE: a single QE.Label is assigned to atoms of different species.
[25.03|15:26:03] replay_m3gnet_new_neb_with_dft:     Pseudopotentials: /home/user/.scm/packages/AMS2024.1.packages/qe-ky3v91ot/content/upf_files
[25.03|15:26:04] replay_m3gnet_new_neb_with_dft:     AMS Pseudopotentials Finder:
[25.03|15:26:04] replay_m3gnet_new_neb_with_dft:       * Li
[25.03|15:26:04] replay_m3gnet_new_neb_with_dft:         Path: GGA/PBE/SR/SSSP_Efficiency_v1.3.0/UPFs
[25.03|15:26:04] replay_m3gnet_new_neb_with_dft:         File: li_pbe_v1.4.uspp.F.UPF
[25.03|15:26:04] replay_m3gnet_new_neb_with_dft:       * Ti
[25.03|15:26:04] replay_m3gnet_new_neb_with_dft:         Path: GGA/PBE/SR/SSSP_Efficiency_v1.3.0/UPFs
[25.03|15:26:04] replay_m3gnet_new_neb_with_dft:         File: ti_pbe_v1.4.uspp.F.UPF
[25.03|15:26:04] replay_m3gnet_new_neb_with_dft:       * S
[25.03|15:26:04] replay_m3gnet_new_neb_with_dft:         Path: GGA/PBE/SR/SSSP_Efficiency_v1.3.0/UPFs
[25.03|15:26:04] replay_m3gnet_new_neb_with_dft:         File: s_pbe_v1.4.uspp.F.UPF
[25.03|15:26:04] replay_m3gnet_new_neb_with_dft:       recommended ecutwfc:     40.0 Ry
[25.03|15:26:04] replay_m3gnet_new_neb_with_dft:       recommended ecutrho:    320.0 Ry
[25.03|15:26:04] replay_m3gnet_new_neb_with_dft:       NOTE: The System%ecutwfc (    30.0 Ry) is below the recommended threshold (    40.0 Ry)
[25.03|15:26:04] replay_m3gnet_new_neb_with_dft:       NOTE: The System%ecutrho (   240.0 Ry) is below the recommended threshold (   320.0 Ry)
[25.03|15:26:04] replay_m3gnet_new_neb_with_dft:     Starting QuantumEspresso worker ... (see output file for progress information)
[25.03|15:27:57] replay_m3gnet_new_neb_with_dft: Replaying frame #2/9 (#313 in original trajectory)
[25.03|15:29:24] replay_m3gnet_new_neb_with_dft: Replaying frame #3/9 (#314 in original trajectory)
[25.03|15:30:51] replay_m3gnet_new_neb_with_dft: Replaying frame #4/9 (#315 in original trajectory)
[25.03|15:32:10] replay_m3gnet_new_neb_with_dft: Replaying frame #5/9 (#316 in original trajectory)
[25.03|15:33:14] replay_m3gnet_new_neb_with_dft: Replaying frame #6/9 (#317 in original trajectory)
[25.03|15:34:27] replay_m3gnet_new_neb_with_dft: Replaying frame #7/9 (#318 in original trajectory)
[25.03|15:35:46] replay_m3gnet_new_neb_with_dft: Replaying frame #8/9 (#319 in original trajectory)
[25.03|15:37:16] replay_m3gnet_new_neb_with_dft: Replaying frame #9/9 (#321 in original trajectory)
[25.03|15:38:47] replay_m3gnet_new_neb_with_dft: Trajectory replay complete.
[25.03|15:38:47] replay_m3gnet_new_neb_with_dft: Number of QE evaluations: 9
[25.03|15:38:47] replay_m3gnet_new_neb_with_dft: NORMAL TERMINATION
[25.03|15:38:47] JOB replay_m3gnet_new_neb_with_dft FINISHED
[25.03|15:38:47] JOB replay_m3gnet_new_neb_with_dft SUCCESSFUL

When using “Replay” on a NEB job, the results are stored in the normal NEB format. Thus we can use the .get_neb_results() method also on this job:

dft_energies = replay_dft_job.results.get_neb_results(unit="eV")["Energies"]
dft_relative_energies = np.array(dft_energies) - dft_energies[0]

plt.plot(relative_energies)
plt.plot(dft_relative_energies)
plt.legend(["M3GNet retrained", "DFT singlepoints"])
plt.title("Compare retrained M3GNet NEB to DFT singlepoints");
../../../_images/litis2_diffusion_neb_59_0.png

Complete Python code

#!/usr/bin/env amspython
# coding: utf-8

# ## Initialization

import scm.plams as plams
import os
import numpy as np
import matplotlib.pyplot as plt
import scm.params as params
from scm.simple_active_learning import SimpleActiveLearningJob


plams.init()


# ## Create structures
#
# ### Create primitive cell from coordinates

# for plotting in Jupyter notebooks
rotation = "-85x,-5y,0z"

# create structure
primitive = plams.AMSJob.from_input(
    """
    System
        Atoms
            Li 0. 0. 0.
            Ti 0. 0. 3.087452499999999 
            S 0. 1.985103430533333 4.551328274799999 
            S 1.71915 0.9925517153000001 1.6235767252 
        End
        Lattice
            3.4383 0.0 0.0
            -1.71915 2.977655145833333 0.0
            0.0 0.0 6.174905
        End
    End
"""
).molecule[""]
plams.plot_molecule(primitive, rotation=rotation)


# ### Create a supercell.
#
# Here we a reasonably-sized supercell.  If the cell is very small, it is actually quite inefficient for training the machine learning potential. If every atom sees its own periodic image then there will not be sufficient variety in the atomic environments for the ML potential to be able to extrapolate to unseen environments. **It is recommended to use a larger supercell**.

supercell = primitive.supercell([[3, 0, 0], [2, 4, 0], [0, 0, 2]])
for at in supercell:
    at.properties = plams.Settings()
plams.plot_molecule(supercell, rotation=rotation)


print("Lattice vectors")
print(supercell.lattice)
print(f"Number of atoms: {len(supercell)}")


# ### Create Li vacancy in two different places

li_indices = [i for i, at in enumerate(supercell, 1) if at.symbol == "Li"]
print(f"Li indices (starting with 1): {li_indices}")


# Pick the first Li atom, and get its nearest Li neighbor.
#
# Note that the PLAMS distance_to function ignores periodic boundary conditions, which in this case is quite convenient as it will make the visualization easier if the Li atom diffuses inside the unit cell and doesn't cross the periodic boundary.

first_index = li_indices[0]
li1 = supercell[first_index]
li1.properties.region = "DiffusingLi"
distances = [li1.distance_to(supercell[x]) for x in li_indices[1:]]
nearest_neighbor_index = li_indices[np.argmin(distances) + 1]
li2 = supercell[nearest_neighbor_index]
target_coords = li2.coords
print(f"First Li atom: {li1}")
print(f"Second Li atom: {li2}")


# The goal is to make a Li atom diffuse between these two positions.
#
# For this, we will first delete the second Li atom, and then create a new structure in which the first Li atom is translated to the second Li atom coordinates.

defective_1 = supercell.copy()
defective_1.delete_atom(defective_1[nearest_neighbor_index])
defective_2 = supercell.copy()
defective_2.delete_atom(defective_2[nearest_neighbor_index])
defective_2[first_index].coords = li2.coords


plams.plot_molecule(defective_1, rotation=rotation)
plt.title("Initial structure")


# The Li atom in the bottom left corner will diffuse to the right (the vacancy will diffuse to the left):

plams.plot_molecule(defective_2, rotation=rotation)
plt.title("Final structure")


# ## Initial validation of diffusion barrier with NEB and M3GNet-UP-2022
#
# ### M3GNet-UP-2022 NEB job

m3gnet_up_s = plams.Settings()
m3gnet_up_s.input.MLPotential.Model = "M3GNet-UP-2022"

neb_s = plams.Settings()
neb_s.input.ams.Task = "NEB"
neb_s.input.ams.NEB.PreoptimizeWithIDPP = "Yes"
neb_s.input.ams.NEB.Images = 7


m3gnet_up_neb_job = plams.AMSJob(
    settings=m3gnet_up_s + neb_s,
    molecule={"": defective_1, "final": defective_2},
    name="m3gnet_up_neb",
)
m3gnet_up_neb_job.run()


# ### M3GNet-UP-2022 NEB results

m3gnet_up_res = m3gnet_up_neb_job.results.get_neb_results(unit="eV")
print(f"Left barrier: {m3gnet_up_res['LeftBarrier']:.3f} eV")
print(f"Right barrier: {m3gnet_up_res['RightBarrier']:.3f} eV")


# ref_results = [0.0, 0.144, 0.482, 0.816, 0.963, 0.816, 0.482, 0.144, 0.0]  # from Quantum ESPRESSO DFT calculation
nImages = m3gnet_up_res["nImages"]
relative_energies = np.array(m3gnet_up_res["Energies"]) - m3gnet_up_res["Energies"][0]
plt.plot(relative_energies)
plt.xlabel("Image")
plt.ylabel("Relative energy (eV)")
plt.title("M3GNet-UP-2022 NEB Li diffusion")


fig, axes = plt.subplots(1, len(m3gnet_up_res["Molecules"]), figsize=(15, 5))

for i, mol in enumerate(m3gnet_up_res["Molecules"]):
    plams.plot_molecule(mol, ax=axes[i], rotation=rotation)
    axes[i].set_title(f"Image {i}")


# ## DFT reference engine settings
#
# Are the above M3GNet-UP-2022 results any good? Let's compare to DFT calculations using the AMS "Replay" task.
#
# "Replay" is just a series of singlepoints on the previous NEB structures. It is not a NEB calculation.
#
# Here we use the Quantum ESPRESSO engine available in AMS2024.

dft_s = plams.Settings()
dft_s.input.QuantumESPRESSO.System.occupations = "Smearing"
dft_s.input.QuantumESPRESSO.System.degauss = 0.005
# for production purposes always manually check that ecutwfc and ecutrho are high enough
# here we set a fairly low ecutwfc to speed up the calculation
dft_s.input.QuantumESPRESSO.System.ecutwfc = 30.0
dft_s.input.QuantumESPRESSO.System.ecutrho = 240.0
# decrease mixing_beta for more robust SCF convergence
dft_s.input.QuantumESPRESSO.Electrons.mixing_beta = 0.3
dft_s.input.QuantumESPRESSO.Electrons.conv_thr = 1.0e-5 * len(supercell)
# for a small cell one should ideally use more k-points than just the gamma point
# by settings K_Points._h = "gamma" we use the faster gamma-point-only
# implementation in Quantum ESPRESSO
dft_s.input.QuantumESPRESSO.K_Points._h = "gamma"
# SCM_DISABLE_MPI launches ams in serial, but will still run Quantum ESPRESSO in parallel
dft_s.runscript.preamble_lines = ["export SCM_DISABLE_MPI=1"]


# ## Run DFT calculations on the NEB points from M3GNet-UP-2022
#
# Note: The DFT calculations may take a few minutes to complete.

replay_s = plams.Settings()
replay_s.input.ams.Task = "Replay"
replay_s.input.ams.Replay.File = os.path.abspath(m3gnet_up_neb_job.results.rkfpath())
replay_s.input.ams.Properties.Gradients = "Yes"

replay_dft_job = plams.AMSJob(settings=replay_s + dft_s, name="replay_m3gnet_up_neb_with_dft")
replay_dft_job.run(watch=True)


# When using "Replay" on a NEB job, the results are stored in the normal NEB format. Thus we can use the ``.get_neb_results()`` method also on this job:

dft_energies = replay_dft_job.results.get_neb_results(unit="eV")["Energies"]
dft_relative_energies = np.array(dft_energies) - dft_energies[0]

plt.plot(relative_energies)
plt.plot(dft_relative_energies)
plt.legend(["M3GNet-UP-2022", "DFT singlepoints"])
plt.title("Compare M3GNet-UP-2022 NEB to DFT singlepoints")


# **Conclusion**: M3GNet-UP-2022 significantly underestimates the diffusion barrier compared to DFT calculations. **This motivates the reparametrization**

# ## Store DFT results for later
#
# Since we already performed some DFT calculations, we may as well add them to the training set.

ri = params.ResultsImporter(settings={"units": {"energy": "eV", "forces": "eV/angstrom"}})
ri.add_trajectory_singlepoints(
    replay_dft_job,
    properties=["energy", "forces"],
    indices=[0, 1, 2, 3, 4],
    data_set="training_set",
)
ri.add_trajectory_singlepoints(replay_dft_job, properties=["energy", "forces"], indices=[5], data_set="validation_set")
yaml_dir = "lidiffusion_initial_reference_data"
ri.store(yaml_dir, backup=False)


# ## Preliminary active learning jobs with equilibrium MD
#
# Let's first run some simple NVT MD with active learning for both the
# * stochiometric system (``supercell``), and
# * defective system (``defective_1``)
#
# This is just to get a good general sampling before setting up the reaction boost to explicitly sample the diffusion process.

# ### Active Learning for stoichiometric system
#
# The stoichiometric system is a perfect crystal with not so many atoms. The forces will be very close to 0 also after a few MD frames. However, even if the ML model predicts forces close to 0, the R^2 between predicted and reference forces may be quite low.
#
# In a case like this, it is reasonable to either
#
# * decrease the MinR2 success criterion, and/or
# * perturb the atomic coordinates of the initial structure a bit, so that the forces aren't extremely small
#
# Here, we do both of these:

nvt_md_s = plams.AMSNVTJob(nsteps=5000, timestep=0.5, temperature=400, tau=50, thermostat="Berendsen").settings

prelim_al_s = plams.Settings()
prelim_al_s.input.ams.ActiveLearning.InitialReferenceData.Load.Directory = os.path.abspath(yaml_dir)
prelim_al_s.input.ams.ActiveLearning.Steps.Type = "Geometric"
prelim_al_s.input.ams.ActiveLearning.Steps.Geometric.NumSteps = 7
prelim_al_s.input.ams.ActiveLearning.SuccessCriteria.Forces.MinR2 = 0.5
prelim_al_s.input.ams.ActiveLearning.AtEnd.RerunSimulation = "No"

ml_s = plams.Settings()
ml_s.input.ams.MachineLearning.Backend = "M3GNet"
ml_s.input.ams.MachineLearning.M3GNet.Model = "UniversalPotential"
ml_s.input.ams.MachineLearning.MaxEpochs = 100
ml_s.input.ams.MachineLearning.Target.Forces.MAE = 0.04

perturbed_supercell = supercell.copy()
perturbed_supercell.perturb_atoms(0.1)

prelim_al_job = SimpleActiveLearningJob(
    name="al_supercell",
    molecule=perturbed_supercell,
    settings=prelim_al_s + ml_s + nvt_md_s + dft_s,
)
prelim_al_job.run(watch=True)


# ### Active learning for defective system

prelim_al_s2 = prelim_al_s.copy()
prelim_al_s2.input.ams.ActiveLearning.InitialReferenceData.Load.Directory = (
    prelim_al_job.results.get_reference_data_directory()
)
prelim_al_s2.input.ams.ActiveLearning.InitialReferenceData.Load.FromPreviousModel = "No"
prelim_al_s2.input.ams.ActiveLearning.SuccessCriteria.Forces.MaxDeviationForZeroForce = 0.35

ml_s2 = plams.Settings()
ml_s2.input.ams.MachineLearning.Backend = "M3GNet"
ml_s2.input.ams.MachineLearning.LoadModel = prelim_al_job.results.get_params_results_directory()
ml_s2.input.ams.MachineLearning.MaxEpochs = 200
ml_s2.input.ams.MachineLearning.Target.Forces.MAE = 0.03

prelim_al_job2 = SimpleActiveLearningJob(
    name="al_defective", molecule=defective_1, settings=prelim_al_s2 + ml_s2 + nvt_md_s + dft_s
)
prelim_al_job2.run(watch=True)


# ## Set up ReactionBoost MD simulation with M3GNet-UP-2022
#
# ReactionBoost simulations can be a bit tricky to set up.
#
# Before using ReactionBoost inside the Active Learning, it is best to verify that the simulation behaves reasonably when using M3GNet-UP-2022.
#
# So let's just run a normal ReactionBoost simulation with M3GNet-UP-2022:

md_s = plams.Settings()
md_s.Thermostat.Temperature = 300
md_s.Thermostat.Type = "Berendsen"
md_s.Thermostat.Tau = 5
md_s.InitialVelocities.Type = "Random"
md_s.InitialVelocities.Temperature = 300
md_s.ReactionBoost.Type = "RMSD"
md_s.ReactionBoost.NSteps = 480
md_s.ReactionBoost.Region = "DiffusingLi"
md_s.ReactionBoost.TargetSystem = "final"
md_s.ReactionBoost.RMSDRestraint.Type = "Harmonic"
md_s.ReactionBoost.RMSDRestraint.Harmonic.ForceConstant = 0.1
md_s.NSteps = 500
md_s.TimeStep = 0.5
md_s.Trajectory.SamplingFreq = 20
rb_s = plams.Settings()
rb_s.input.ams.Task = "MolecularDynamics"
rb_s.input.ams.MolecularDynamics = md_s


m3gnet_rb_job = plams.AMSJob(
    settings=m3gnet_up_s + rb_s,
    name="m3gnet_up_rb",
    molecule={"": defective_1, "final": defective_2},
)
m3gnet_rb_job.run()


N = 5  # show 5 structures
fig, axes = plt.subplots(1, N, figsize=(12, 5))
nEntries = m3gnet_rb_job.results.readrkf("History", "nEntries")
print(f"There are {nEntries} frames in the trajectory")
ind = np.linspace(1, nEntries, N, endpoint=True, dtype=np.int64)
for ax, i_frame in zip(axes, ind):
    plams.plot_molecule(m3gnet_rb_job.results.get_history_molecule(i_frame), ax=ax, rotation="-85x,5y,0z")
    ax.set_title(f"Frame {i_frame}")


# It looks like the Li atom is diffusing to the correct place, but it is easiest to visualize in AMSmovie:


# **Conclusion**: We have reasonable reaction boost settings for M3GNet-UP-2022. This does not guarantee that the settings will be appropriate with the retrained model (for example because we expect the barrier to be higher), but it is likely to work.

# ## Run simple active learning using ReactionBoost MD

al_s = plams.Settings()
al_s.input.ams.ActiveLearning.SuccessCriteria.Energy.Relative = 0.0012
al_s.input.ams.ActiveLearning.SuccessCriteria.Forces.MaxDeviationForZeroForce = 0.25
al_s.input.ams.ActiveLearning.Steps.Type = "Linear"
al_s.input.ams.ActiveLearning.Steps.Linear.Start = 15
al_s.input.ams.ActiveLearning.Steps.Linear.StepSize = 50
al_s.input.ams.ActiveLearning.InitialReferenceData.Load.Directory = (
    prelim_al_job2.results.get_reference_data_directory()
)
al_s.input.ams.ActiveLearning.InitialReferenceData.Load.FromPreviousModel = "No"


ml_s = plams.Settings()
ml_s.input.ams.MachineLearning.Backend = "M3GNet"
ml_s.input.ams.MachineLearning.LoadModel = prelim_al_job2.results.get_params_results_directory()
ml_s.input.ams.MachineLearning.MaxEpochs = 200
ml_s.input.ams.MachineLearning.Target.Forces.MAE = 0.03


sal_job = SimpleActiveLearningJob(
    name="sal_lidiffusion_rb",
    settings=al_s + dft_s + ml_s + rb_s,
    molecule={"": defective_1, "final": defective_2},
)
print(sal_job.get_input())


# plams.config.jobmanager.hashing = None
sal_job.run(watch=True)


m3gnet_new_s = sal_job.results.get_production_engine_settings()
m3gnet_new_s = prelim_al_job2.results.get_production_engine_settings()


# ## Run NEB with retrained M3GNet

# constraint_s = plams.Settings()
# constraint_s.input.ams.Constraints.Atom = 8
defective_1_perturbed = defective_1.copy()
defective_1_perturbed.perturb_atoms()
defective_2_perturbed = defective_2.copy()
defective_2_perturbed.perturb_atoms()
m3gnet_new_neb_job = plams.AMSJob(
    settings=m3gnet_new_s + neb_s,  # + constraint_s,
    molecule={"": defective_1, "final": defective_2},
    name="m3gnet_new_neb",
)
m3gnet_new_neb_job.run()


m3gnet_new_res = m3gnet_new_neb_job.results.get_neb_results(unit="eV")
print(f"Left barrier: {m3gnet_new_res['LeftBarrier']:.3f} eV")
print(f"Right barrier: {m3gnet_new_res['RightBarrier']:.3f} eV")


# ref_results = [0.0, 0.144, 0.482, 0.816, 0.963, 0.816, 0.482, 0.144, 0.0]  # from Quantum ESPRESSO DFT calculation
nImages = m3gnet_new_res["nImages"]
relative_energies = np.array(m3gnet_new_res["Energies"]) - m3gnet_new_res["Energies"][0]
plt.plot(relative_energies)
plt.xlabel("Image")
plt.ylabel("Relative energy (eV)")
plt.title("M3GNet retrained NEB Li diffusion")


fig, axes = plt.subplots(1, len(m3gnet_new_res["Molecules"]), figsize=(15, 5))

for i, mol in enumerate(m3gnet_new_res["Molecules"]):
    plams.plot_molecule(mol, ax=axes[i], rotation="-85x,-5y,0z")
    axes[i].set_title(f"Image {i}")


# Let's run DFT calculations on these frames to compare. We can do this using the "Replay" task.
#
# Note: The DFT calculations may take a few minutes to complete.

replay_s = plams.Settings()
replay_s.input.ams.Task = "Replay"
replay_s.input.ams.Replay.File = os.path.abspath(m3gnet_new_neb_job.results.rkfpath())
replay_s.input.ams.Properties.Gradients = "Yes"

replay_dft_job = plams.AMSJob(settings=replay_s + dft_s, name="replay_m3gnet_new_neb_with_dft")
replay_dft_job.run(watch=True)


# When using "Replay" on a NEB job, the results are stored in the normal NEB format. Thus we can use the ``.get_neb_results()`` method also on this job:

dft_energies = replay_dft_job.results.get_neb_results(unit="eV")["Energies"]
dft_relative_energies = np.array(dft_energies) - dft_energies[0]

plt.plot(relative_energies)
plt.plot(dft_relative_energies)
plt.legend(["M3GNet retrained", "DFT singlepoints"])
plt.title("Compare retrained M3GNet NEB to DFT singlepoints")