ML_MB

From VASP Wiki
(Redirected from ML FF MB MB)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

ML_MB = [integer]
Default: ML_MB = see below 

Description: This tag sets the maximum number of local reference configurations (i.e. basis functions in the kernel) in the machine learning force field method.


The defaults for ML_MB are different for each different ML_MODE setting. Here are the defaults for each mode:

using the following definitions:

  • MAXAT_SP = greatest number of atoms within all species among the current structures and the structures in the ML_AB file (if present).
  • MB_AB = greatest number of local reference configurations within all species in the ML_AB file.

The default value for ML_MODE = train and ML_MODE = select is a relatively safe value for most materials. However one might need to increase it to a greater value for liquids, polymers and amorphous systems, or when a MLFF for many different polytypes is trained. By default (ML_LBASIS_DISCARD = .TRUE.), if the number of local reference configurations would exceed ML_MB, VASP would continue the calculation and disposes of these, but one should make extensive tests whether the generated MLFF is sufficiently accurate.

If VASP stops, subsequent training can be restarted from the existing ML_AB file. This avoids loss of already acquired training data.

Depending on the calculation mode VASP adds a little overhead in the allocation of ML_MB arrays to buffer for new candidate structures. Here are the buffer sizes for each mode:

The flag ML_MB also determines the maximum number of rows of the design matrix. This is usually a huge matrix. The design matrix is allocated statically at the beginning of the run, since several parts of the code use MPI shared memory and dynamic reallocation of these arrays can cause issues on many operating systems. An estimate of the size of the design matrix and all other large arrays is printed out to the ML_LOGFILE before allocation. The design matrix is fully distributed in a block-cyclic fashion for scaLAPACK, and thus the memory requirement for each core scales inversely proportional to the number of used cores.

Related tags and articles

ML_LMLFF, ML_MODE, ML_MCONF_NEW, ML_MCONF, ML_LBASIS_DISCARD

Examples that use this tag