This repository is hosting pre-compiled Windows installers of the LAMMPS molecular dynamics simulation software package. The binaries are built semi-automaticall with MinGW64 Linux to Windows cross compilers using up-to-date snapshots of the LAMMPS-ICMS git repository hosted at the Institute for Computational Molecular Science at Temple University. The LAMMPS binaries contain all optional packages included in the source distribution except: KIM (license is not GPL compatible), USER-CUDA (CUDA does not support cross compilation), KOKKOS and USER-INTEL (do not support cross-compilation with GCC), USER-H5MD (requires external library) PYTHON (requires to bundle a full Python runtime), USER-QMMM (only useful when linking to a QM software), USER-QUIP (requires external library), REAX (superseded by the USER-REAXC package which is included). The serial executable additionally does not contain the MPIIO and USER-LB packages, since those require MPI-IO functions, which are not available without linking to a real MPI library.Some Notes on GPU Support
HKEY_LOCAL_MACHINE\SOFTWARE\Khronos\OpenCL\Vendors, and remove vendors such as Intel. When reporting problems, please always include the exact version of the installer and the output of the
lmp_serial. This should always work.
lmp_mpiand requires installation of a suitable MPICH2 package to work.
restart2data, binary2txt, chain, msi2lmp, ocl_get_devices
Both executables will run in serial when executed directly. Please see below for instructions on how to perform parallel runs. To use the MPI based parallelism, you also need to install MPICH2 from Argonne lab. For 32-bit Windows you have to download and install mpich2-1.4.1p1-win-ia32.msi or any compatible version. Correspondingly, for 64-bit Windows you have to download and install mpich2-1.4.1p1-win-x86-64.msi or any compatible version.
LAMMPS is a text mode program, so you have to click on the
Command Prompt entry in the windows start menu, launch the
Windows Power Shell, or simply execute the command
cmd from Start -> Run.
The LAMMPS manual and the colvars reference manual in PDF format
are linked from the start men, also references to open the
file system browser to view the Benchmarks and Examples
directory tree. The PATH environment variable is automatically
set by the installer, so that the bundled executables from everywhere
in the system. Also the LAMMPS_POTENTIALS environment variable
is preset to the folder with the bundled manybody potential files,
so they do not need to be copied into the respective working directory.
To run a LAMMPS simulations open a terminal window as outlined above
and change to the directory with your input script and then run either
As described in the LAMMPS manual. For more details and additional command
line flags, please check out the
All LAMMPS binaries from this repository support multi-threading via OpenMP,
however by default only one thread is enabled. To enable more threads, e.g. four,
you need to either set it at the command line prompt via
set OMP_NUM_THREADS=4 or use the
command in your input script.
After enabling the use of multiple threads, you also have to select
styles in LAMMPS, that are multi-thread enabled. Those are usually identified
by the /omp suffix. Those can be selected explicitly and selectively,
or with the
command or - most conveniently - via using the
command line flag to the LAMMPS executable.
lmp_mpi executable supports parallel execution
via MPI (which can be combined with OpenMPI multi-threading). For that you also
need to install MPICH2 from Argonne lab.
The installer does not contain it and does not check for it.
After the installation of the MPICH software, it needs to be integrated into the system.
For this you need to start a Command Prompt in Administrator Mode (right
click on the icon and select it). Change into the MPICH2 installation directory, then
into the subdirectory
bin and execute
MPI parallel executables have to be launched with
mpiexec -localonly # lmp_mpi ...
mpiexec -np # lmp_mpi ... with "#" being then number
of parallel processes to start. For the latter you may be asked for your password.
Known Issues: while running in MPI parallel mode any output to the screen is block buffered and not line buffered as usual. That is, output will not show up immediately, but only after a certain amount of output has accumulated. This is done for efficiency reasons. Multi-threaded parallel or serial runs are not affected. Also when running under mpiexec, you should not use multi-threading since MPICH restricts processes to a single physical CPU thus it will run less efficient.For more details, please refer to the MPICH2 Documentation.