nep.in

This file specifies hyperparameters used for training neuroevolution potential (NEP) models, the functional form of which is outline here. The NEP approach was proposed in [Fan2021] (NEP1) and later improved in [Fan2022a] (NEP2) and [Fan2022b] (NEP3). Currently, we support NEP2, NEP3 and NEP4 (to be published), which can be chosen by the version keyword.

File format

In this input file, blank lines and lines starting with # are ignored. One can thus write comments after #.

All other lines need to be of the following form:

keyword parameter_1 parameter_2 ...

Keywords can appear in any order with the exception of the type_weight keyword, which cannot appear before the type keyword.

The type keyword does not have default parameters and must be set. All other keywords have default values.

Keywords

Keyword

Brief description

version

select between NEP2, NEP3, and NEP4

type

number of atom types and list of chemical species

type_weight

force weights for different atom types

model_type

select to train potential, dipole, or polarizability

prediction

select between training and prediction (inference)

zbl

outer cutoff for the universal ZBL potential [Ziegler1985]

cutoff

radial (\(r_\mathrm{c}^\mathrm{R}\)) and angular (\(r_\mathrm{c}^\mathrm{A}\)) cutoffs

n_max

size of radial (\(n_\mathrm{max}^\mathrm{R}\)) and angular (\(n_\mathrm{max}^\mathrm{A}\)) basis

basis_size

number of radial (\(N_\mathrm{bas}^\mathrm{R}\)) and angular (\(N_\mathrm{bas}^\mathrm{A}\)) basis functions

l_max

expansion order for angular terms

neuron

number of neurons in the hidden layer (\(N_\mathrm{neu}\))

lambda_1

weight of \(\mathcal{L}_1\)-norm regularization term

lambda_2

weight of \(\mathcal{L}_2\)-norm regularization term

lambda_e

weight of energy loss term

lambda_f

weight of force loss term

lambda_v

weight of virial loss term

force_delta

bias term that can be used to make smaller forces more accurate

batch

batch size for training

population

population size used in the SNES algorithm [Schaul2011]

generation

number of generations used by the SNES algorithm [Schaul2011]

Example

Here is an example nep.in file using all the default parameters:

type          2 Te Pb # this is a mandatory keyword
version       4       # default
cutoff        8 4     # default
n_max         4 4     # default
basis_size    8 8     # default
l_max         4 2 0   # default
neuron        30      # default
lambda_e      1.0     # default
lambda_f      1.0     # default
lambda_v      0.1     # default
batch         1000    # default
population    50      # default
generation    100000  # default

The NEP tutorial illustrates the construction of a NEP model. More examples can be found in this repository.