Getting started¶
HAL’s MD package is configured and steered with customisable simulation scripts written in Lua 5. For a quick start refer to one of the “liquid” scripts found in share/doc/halmd/examples in the installation directory.
Program parameters¶
HAL’s MD package brings a command line parser which allows one to define script parameters. The possible command line options are described in the help:
halmd script.lua --help
Example: a Lennard-Jones fluid¶
Let us consider a simple fluid with 20,000 Lennard-Jones particles at density .
Equilibration is done with a Boltzmann thermostat at temperature
over 10,000 steps
halmd liquid/lennard_jones_equilibration.lua -v \
--timestep 0.005 --time 50 \
--density 0.8 --particles 20000 \
--temperature 2 \
--sampling state-vars=100
Many parameters have sensible default values and may be omitted, e.g, the
collision rate of the thermostat (0.1), or the cutoff radius of the potential
( corresponding to a purely repulsive potential). The
option -v makes the output more verbose, check that your CUDA device has
beed detected properly.
The system state is written at the beginning and the end of the simulation if not specified differently. The initial configuration of the particles is an fcc lattice. The default output settings yield an H5MD file with a time stamp in its name, lennard_jones_equilibration_%Y%m%d_%H%M%S.h5 and a corresponding log file.
We may now continue the simulation at constant energy by resuming from the H5MD file using the accompanying script
halmd liquid/lennard_jones.lua -v \
--timestep 0.001 --time 100 \
--trajectory output_from_previous_run.h5 \
--sampling state-vars=1000
This will continue the simulation over 10⁵ steps and write observables like thermodynamic state variables every 1000 steps (potential energy, instantaneous “temperature”, pressure, …)
Inspection of the results¶
If the HDF5 tools are properly installed, you may have a quick overview of the output file
h5ls output.h5
or look at a specific data set
h5dump -d observables/potential_energy output.h5 | less
For a more advanced inspection and analysis of the HDF5 output files, see Plotting the results. You may try the exemplary script
plotting/plot_h5md.py output.h5
You may also have a look at the H5MD tools, a collection of analysis and plot scripts.