HALMD has three ways of accepting program parameters:
Options are described in the command line help:
halmd --help
The group of global options must precede module-specific options, which are introduced by their respective module name.
Many simulation scenarios can be controlled by command line options, there is
no need to setup a separate simulation script. Let us consider a simple fluid
with 20,000 Lennard-Jones particles at density
.
Equilibration is done with the Andersen thermostat at a temperature
over 10,000 steps
halmd -v \
--force=lennard_jones --integrator=verlet_nvt_andersen \
--timestep 0.005 --time 50 \
box --density 0.8 --particles 20000 \
verlet_nvt_andersen --temperature 2 \
trajectory --every 10000
Many parameters have sensible default values and may be omitted, e.g, the
collision rate of the Andersen thermostat (10), or the cutoff radius of the
potential (
). The option -v makes the output more
verbose, check that your CUDA device has beed detected properly.
The equivalent parameter configuration file would look like this
# file example.rc
force=lennard_jones
integrator=verlet_nvt_andersen
timestep=0.005
time=50
[box]
density=0.8
particles=20000
[verlet_nvt_andersen]
temperature=2
[trajectory]
every=10000
It is passed directly to HALMD, while parameters may be overwritten:
halmd -v -c example.rc --time 10
The trajectory is written every 10,000 steps, i.e., at the beginning and the end of the simulation. The initial configuration of the particles is a fcc lattice. The default output settings yield an HDF5 file with a time stamp in its name, halmd_%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 trajectory file and selecting a different integrator
halmd -v \
--integrator=verlet --timestep 0.001 --time 100 \
trajectory --file halmd_20110715_160545.h5 \
thermodynamics --every 100
This will continue the simulation over 10⁵ steps and write observables like thermodynamic state variables every 100 steps (potential energy, instantaneous “temperature”, pressure, ...
If the HDF5 tools are properly installed, we may have a quick overview of the output file
h5ls halmd_20110715_160920.h5
or look at a specific data set
h5dump -d observables/potential_energy halmd_20110713_161511.h5 | less
For a more advanced inspection and analysis of the HDF5 output files, see Plotting the results. You may try the exemplary script
halmd/examples/plotting/plot_h5md.py halmd_20110713_161511.h5