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. For further details
about the simulation scripts, see Simulation Scripts.
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, , 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 been 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 \
--input 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:
h5ls -d output.h5/observables/potential_energy | less
For 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
plotting/plot_h5md.py --no-plot --range 20 100 output.h5
You may also have a look at the H5MD tools, a collection of analysis and plotting scripts.