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)
Problem: M3GNet-UP-2022 is underestimates the Li diffusion barrier
Solution: Retraining the model gives better agreement:
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
Download
litis2_diffusion_neb.py
(run as$AMSBIN/amsipython litis2_diffusion_neb.py
).Download
litis2_diffusion_neb.ipynb
(see also: how to install Jupyterlab in AMS)
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)
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)}")
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");
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();
[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");
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}")
!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");
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
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");
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);
[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");
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")