Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unphysical LAMMPS results using the trained Al potential #73

Open
mingwang-zhong opened this issue Aug 13, 2024 · 6 comments
Open

Unphysical LAMMPS results using the trained Al potential #73

mingwang-zhong opened this issue Aug 13, 2024 · 6 comments

Comments

@mingwang-zhong
Copy link

Hi,

Our group is planning to develop a machine learning potential for Al-based alloys. As a first attempt, we trained an Al potential using the LAMMPS output from the Mendelev potential. The fitting results seem promising. However, during LAMMPS simulations using the trained ML potential, the temperature in the NPT ensemble unexpectedly increases to ~5000 K, despite being fixed at 930 K in the LAMMPS script. Do you have any insights into why this might be happening?

To generate the training data, I constructed a system with 16 atoms in the NVT ensemble. The system was repeatedly heated from 0.1 K to 2000 K over 100,000 steps and then cooled back down from 2000 K to 0.1 K over another 100,000 steps. Data were collected every 1000 steps, resulting in a total of 1,600 configurations.

During the training process, I used 20% of the data for training and set maxiter = 1000. The training resulted in a loss of 5.9241e-06, an RMSE Energy of 0.22 meV, and an RMSE Forces of 8.44 meV/angstrom, which seemed satisfactory. Despite this, the trained potential results in an abnormally high temperature in the NPT ensemble. I’ve tried adjusting various training parameters, including kappa, maxiter, w0_rad, w1_rad, w2_rad, the number of configurations, and the number of atoms, but the issue persists. I also tested the Cu-II example from the package, which produced a melting temperature consistent with your paper (1272 K), so I believe the package itself is functioning correctly.

I would greatly appreciate any advice or comments you might have.

Thanks,
Mingwang

@yury-lysogorskiy
Copy link
Member

yury-lysogorskiy commented Aug 14, 2024

mostly likely lack of core repulsion, ie. not enough repulsion at shorter distances. you can check it by looking at minimal distance between atoms in the simulation cell.
in your train data your should also add snapshots at smaller volume with shorter interatomic distances, i.e. run NPT and increase pressure..

alternatively, you can try to use core repulsion tuner (link). but the best way to avoid such kind of issues is more data

@mingwang-zhong
Copy link
Author

Thanks for your suggestion. I’ve tried several tests, but I still haven’t been able to resolve the issue.

First, I tried increasing the pressure in the NPT ensemble, but the pressure fluctuated dramatically and even turned negative at times. To address this, I switched back to the NVT ensemble and increased the temperature to 20,000 K, which elevated the pressure to 500,000 bar. As shown in the attached pair_distance_distribution.pdf, this change slightly reduced the minimum pair distance to below 2 angstroms, but not much.

Despite these, I proceeded with the ACE training and achieved a loss of 5.9241e-06, an RMSE Energy of 0.22 meV/atom, and an RMSE Force of 8.44 meV/Å, which initially seemed promising. To evaluate how good the training is, I used the trained potential to run LAMMPS simulations on a system of 40,000 atoms in the NVT ensemble at 0 K. By varying the lattice constant and running the simulation for 1 step, I calculated the potential energy per atom. The results are shown in the attached energy_vs_a.pdf, where you can see the energy curves for both the ACE-trained potential and the original Mendelev potential. The energy from the ACE-trained potential remains above 0 and does not approach the values given by the Mendelev potential. This discrepancy raises concerns, as it contradicts the low loss value of 5.9241e-06.

I also attempted to use the core repulsion tuner as you suggested. I believe I followed the correct procedure by first generating the active set. However, the core repulsion tuner only increased r_in from 1.49 to 2.49 in output_potential.yaml, and this adjustment did not resolve the issue of extremely high temperatures in the LAMMPS simulations.

Thank you,
Mingwang

@yury-lysogorskiy
Copy link
Member

Show your input.yaml, Al potential yaml and lammps output

@mingwang-zhong
Copy link
Author

Here are the lammps output:
dump.txt
log.lammps.txt

The pacemaker input.yaml: input.txt
The pacemaker output: log.txt
Al potential yaml: output_potential.txt

Thanks.

@mingwang-zhong
Copy link
Author

I guess it's better to include the processed data of lammps output:
my_data.pckl.zip (should be my_data.pckl.gzip)

@yury-lysogorskiy
Copy link
Member

yury-lysogorskiy commented Aug 22, 2024

your energies have to be negative and go to zero at larger distance. Try to substract single atom energy from your data

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants