Skip to content

Releases: brucefan1983/GPUMD

GPUMD-v3.4.1

18 Sep 19:48
Compare
Choose a tag to compare
  • Fixed a small bug for the multi-GPU version of NEP about partition direction. #270
  • Fixed a small bug for variable time step. #271
  • Fixed the heat current for small-box MD with NEP #274
  • Moved NEP_CPU to a separate repo (https://github.com/brucefan1983/NEP_CPU), where a NEP-LAMMPS interface is also created.

GPUMD-v3.4

07 Sep 15:05
Compare
Choose a tag to compare
  • Removed
    • Removed a few empirical potentials (Vashishta, SW, REBO-LJ, and Buckingham-Coulomb) and removed the hybrid-potential scheme. For those who want to use these features, GPUMD-v3.3.1 will be the best choice.
    • There will not be a list of atom types (integers) after the potential filename for the potential keyword.
    • There will be no support for "hybrid" potentials. One should write the potential keyword once and only once in run.in.
    • Removed the neighbor keyword in run.in. The code will build the neighbor list at each step with the potential cutoff. The user does not need to estimate a neighbor list size now. For NEP models, the information of neighbor list size will be recorded into nep.txt. For empirical potentials, the code has chosen reasonable neighbor list sizes.
    • Removed the so-called "driver input file" for both the gpumd and nep executables.
  • Changed
  • Added
    • Added multi-GPU (single-node) support for both training and MD simulation with the NEP model. The code will use all the GPUs available. The available GPUs can be set by running e.g. export CUDA_VISIBLE_DEVICES=0,1 (0 and 1 are the IDs of the GPUs to be used) in the command line or by specifying something in a job-submission script in a cluster.

GPUMD-v3.3.1

21 May 14:10
Compare
Choose a tag to compare
  • Fixed a bug for velocity initialization in linear-chain systems, see #193
  • Added off-diagonal pressure components to thermo.out, see #194
  • Changed to use the Voigt notation related to the ensemble npt_ber, ensemble npt_scr and change_box commands, see #194

GPUMD-v3.3

17 May 07:24
Compare
Choose a tag to compare
    1. Fixed a bug related to the ZBL part of NEP for small box simulations.
    1. Fixed a bug related to momentum correction for systems with non-uniform particle masses. See PR #172
    1. Added a new Langevin thermostat. See PR #173
    1. Changed the grammars of the neighbor keyword.
    1. Added a change_box keyword. See PR #174
    1. Improved the random numbers as used in the Langevin and BDP thermostats. See PR #191 and PR #192
    1. Finished NEP3 (4-body and 5-body descriptors, linear combination of radial basis functions).
    1. Added many examples as used in the NEP3 paper (https://arxiv.org/abs/2205.10046).
    1. Added a standalone C++ code for NEP (used in PyNEP: https://github.com/bigd4/PyNEP).
    1. Fixed a bug related to neighbor list updating (might occur when a box thickness is slightly smaller than an integer multiple of the neighbor list cutoff). See PR #190

GPUMD-v3.2

17 Feb 06:28
Compare
Choose a tag to compare
  • Added NEP2 back (equivalent to the NEP as last released in GPUMD-v3.0). One can use the version keyword in nep.in to choose between NEP2 and NEP3.
  • Fixed a bug related to virial calculation using NEP potentials with small boxes (angular part of the virial has not been accumulated).
  • Extended the time_step keyword in run.in such that it can also accept two parameters, where the second one is the largest distance any atom can travel within one step (useful for cascade simulation).

GPUMD-v3.1.1

13 Feb 14:09
Compare
Choose a tag to compare
  • Fixed a bug related to MD simulations with the NEP potential:
    • This bug exists in both GPUMD-v3.0 and GPUMD-v3.1. The bug is only for the gpumd executable, not for the nep executable.
    • It occurs when one runs MD simulations with one or more directions being non-periodic and the box thickness in a non-periodic direction is less than twice of the force cutoff distance of the NEP potential. In this case, the code will wrongly treat the non-periodic directions as periodic and replicate the box in those directions.
    • There is a similar bug to be fixed in the next release GPUMD-v3.2, so we strongly suggest using GPUMD-v3.2.

GPUMD-v3.1

12 Feb 11:37
Compare
Choose a tag to compare
  • Changed the NEP potential from NEP2 to NEP3.
    • Improved the radial functions, again.
    • Added 4-body descriptors.

GPUMD-v3.0

30 Jan 19:21
Compare
Choose a tag to compare
  • Enabled O(N) neighbor list algorithm for triclinic box.
  • Enabled triclinic box NPT.
  • Added the stochastic cell rescaling (SCR) barostat.
  • Changed the syntax for NPT.
  • Extended the EAM potential to support alloys.
  • Changed nep.in from fixed format to free-style format.
  • Added a type_weight keyword in nep.in to enable type-wise force weight.
  • Added a force_delta keyword in nep.in to possibly emphasize the accuracy of smaller forces.
  • Enabled configuration-wise weight in trian.in.
  • Allowed for adding the universal ZBL potential for NEP training.
  • Allowed to run MD with the NEP potential using a small box (box thickness smaller than twice of the force cutoff).
  • Removed center-of-mass random drift during Langevin thermostatting.
  • Corrected pressure calculation during NVE run.
  • Added a dump_exyz command in run.in to dump an extended XYZ file with some data.
  • Corrected particle wrapping after neighbor list updating with triclinic box.

GPUMD-v2.9.1

24 Dec 22:18
Compare
Choose a tag to compare
  • The convergence speed of NEP training has been significantly improved in most cases.
  • Changed movie.xyz from the simplest XYZ format to an extended XYZ format.
  • Used atom symbols in restart.out for NEP potentials.
  • Reported an error message if NPT is used with triclinic box.
  • Fixed a hidden bug related to variable initialization.

GPUMD-v2.9

11 Dec 15:31
Compare
Choose a tag to compare
  • Removed the phonon executable, and added the compute_phonon keyword in run.in to do phonon dispersion calculation.
  • Enabled isotropic pressure controlling in NPT.
  • Added the compute_cohesive keyword in run.in to compute the cohesive energy curve.
  • Added the compute_elastic keyword in run.in to compute the elastic constants (only for cubic systems now).
  • Reduced the weighting factor of the virial loss in NEP training from 1 to 0.1 (virial is usually not as important as force and energy and should have a smaller weighting factor).
  • Fixed a hidden memory bug for the nep executable.