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 propagted from one run command to the next (Prop.).

Simulation setup

Keyword

Brief description

Exec.

Prop.

velocity

Set the initial velocities

Yes

N/A

potential

Set up the interaction model

Yes

N/A

dftd3

Add the DFT-D3 dispersion correction to the NEP model

Yes

N/A

change_box

Change the box

Yes

N/A

deform

Deform the simulation box

No

No

ensemble

Specify the integrator for a MD run

No

No

fix

Fix (freeze) atoms

No

No

time_step

Specify the integration time step

No

Yes

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_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_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_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_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_shc

Compute the spectral heat current (SHC)

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_exyz

Write positions and other quantities in extended XYZ format

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_force

Write the atomic forces

No

No

dump_position

Write the atomic positions

No

No

dump_netcdf

Write the atomic positions in netCDF format

No

No

dump_restart

Write a restart file

No

No

dump_thermo

Write thermodynamic quantities

No

No

dump_velocity

Write the atomic velocities

No

No