Simulation protocol (run.in)

The run.in file is used to define the simulation protocol. The code will execute the commands in this file one by one. If the code encounters an invalid command in this file on start-up, it will report an error message and terminate. In this input file, blank lines and lines starting with # are ignored. One can thus write comments after #. All other lines should be of the form:

keyword parameter_1 parameter_2 ...

The overall structure of a run.in file is as follows:

  • First, set up the potential model using the potential keyword. * Multiple NEP potentials may be used using the dump_observer keyword. These NEP potentials may either be used to evaluate energy, forces and virials along the trajectory, or averaged together to run the MD on an average PES.

  • Then, if needed, use the minimize keyword to minimize the energy of the whole system.

  • Then one can use the following keywords to carry out static calculations:

  • Then, if one wants to carry out MD simulations, one has to set up the initial velocities using the velocity keyword and carry out a number of MD runs as follows:

    • Specify an integrator using the ensemble keyword and optionally add keywords to further control the evolution and measurement processes.

    • Use the run keyword to run a number of MD steps according to the above settings.

    • The last two steps can be repeated.

The following tables provide an overview of the different keywords. A complete list can also be found here. The last two columns indicate whether the command is executed immediately (Exec.) and whether it is propagated from one run command to the next (Prop.).

Simulation setup

Keyword

Brief description

Exec.

Prop.

replicate

Replicate the simulation model

Yes

N/A

velocity

Set the initial velocities

Yes

N/A

correct_velocity

Remove linear and angular momenta at regular intervals

No

No

potential

Set up the interaction model

Yes

N/A

dftd3

Add the DFT-D3 dispersion correction to the NEP model

Yes

N/A

kspace

Specify the reciprocal-space method used by the interaction model

Yes

N/A

compute_extrapolation

Monitor the NEP extrapolation grade during an MD run

No

No

change_box

Change the box

Yes

N/A

deform

Deform the simulation box

No

No

time_step

Specify the integration time step

No

Yes

ensemble

Specify the integrator for a MD run

No

No

add_force

Add external forces to selected atoms

No

No

add_efield

Apply an electric field to selected atoms

No

No

add_spring

Add spring interactions to selected atom groups

No

No

deposit

Add atoms periodically during a deposition run

No

No

electron_stop

Apply electronic stopping forces to high-energy atoms

No

No

fix

Fix (freeze) atoms

No

No

move

Move selected atoms with a constant velocity

No

No

mc

Carry out Monte Carlo trial steps during an MD run

No

No

plumed

Invoke the PLUMED plugin during an MD run

No

No

Actions

Keyword

Brief description

Exec.

Prop.

minimize

Perform an energy minimization

Yes

N/A

run

Run a number of MD steps

Yes

No

compute

Compute some time and space-averaged quantities

No

No

compute_chunk

Compute time-averaged quantities in dynamic spatial bins

No

No

compute_adf

Compute the angular distribution function (ADF)

No

No

compute_angular_rdf

Compute the angular-dependent radial distribution function (ARDF)

No

No

compute_cohesive

Compute the cohesive energy curve

Yes

N/A

compute_elastic

Compute the elastic constants

Yes

N/A

compute_dos

Compute the phonon density of states (PDOS)

No

No

compute_dpdt

Compute the time derivative of the polarization

No

No

compute_gkma

Compute the modal heat current using the GKMA method

No

No

compute_hac

Compute the thermal conductivity using the EMD method

No

No

compute_ic

Compute the ionic conductivity (IC)

No

No

compute_hnema

Compute the modal thermal conductivity using the HNEMA method

No

No

compute_hnemd

Compute the thermal conductivity using the HNEMD method

No

No

compute_hnemdec

Compute the multicomponent system thermal conductivity using the HNEMDEC method

No

No

compute_orientorder

Compute Steinhardt bond-orientational order parameters

No

No

compute_phonon

Compute the phonon dispersion

Yes

N/A

compute_sdc

Compute the self-diffusion coefficient (SDC)

No

No

compute_msd

Compute the mean-square displacement (MSD)

No

No

compute_rdf

Compute the radial distribution function (RDF)

No

No

compute_shc

Compute the spectral heat current (SHC)

No

No

compute_viscosity

Compute the stress autocorrelation function and viscosity

No

No

compute_lsqt

Compute electronic transport properties using the LSQT method

No

No

Output

Keyword

Brief description

Exec.

Prop.

active

Run on-the-fly active learning, saving structures that exceeds a set threshold maximum force uncertainty over all specified NEP potentials.

No

No

dump_beads

Write bead-resolved positions and optional velocities and forces for PIMD-related runs

No

No

dump_dipole

Write dipoles predicted by a separate tensorial NEP model

No

No

dump_observer

Write positions and other quantities for each of the observing NEP potentials, or the average of them, in the extended XYZ format.

No

No

dump_polarizability

Write polarizabilities predicted by a separate tensorial NEP model

No

No

dump_netcdf

Write the atomic positions in netCDF format

No

No

dump_restart

Write a restart file

No

No

dump_shock_nemd

Write spatial thermodynamic profiles for shock-wave NEMD simulations

No

No

dump_thermo

Write thermodynamic quantities

No

No

dump_xyz

Write positions and other per-atom quantities in extended XYZ format

No

No