.. _lammps_potential: ================ LAMMPS Potential ================ In order to use the LAMMPS potential you must first build the serial library version of LAMMPS. This can be done by following the instructions in the `lammps documentation `_ . For most cases executing these commands from the LAMMPS ``src`` folder should work:: $ cd STUBS $ make $ cd .. $ make yes-manybody serial mode=lib Once you have compiled the library copy ``liblammps_serial.a`` and ``STUBS/libmpi_stubs.a`` to the client/potentials/LAMMPS directory in the Eon source code. The Eon client can then be built like so:: $ make LAMMPS_POT=1 After setting the potential to ``lammps`` in ``config.ini`` you need to place a LAMMPS input file in the ``potfiles`` directory in your simulation. This file should be named ``in.lammps`` and it needs to specify what potential LAMMPS should use. Here is an example in.lammps file that uses the morse potential:: pair_style morse 9.5 #morse potential with 9.5 Angstrom cutoff pair_coeff * * 0.7102 1.6047 2.797 #specify parameters pair_modify shift yes #shift the potential to be zero at the cutoff MEAM ==== If you compiled LAMMPS with the MEAM package you need to copy ``lib/meam/libmeam.a`` from the LAMMPS directory to ``potentials/LAMMPS`` in EON. After that, add the following line to ``client/Makefile``:: LDFLAGS += potentials/LAMMPS/libmeam.a OpenMP ====== Compile LAMMPS with the USER-OMP package. Then add the following line to ``client/Makefile``:: LDFLAGS += -fopenmp See below for setting the number of threads. Options ======= **lammps_logging**: This option enables/disables the LAMMPS logfile. If enabled LAMMPS will log to the file ``log.lammps``. default: ``false`` **lammps_threads**: Controls how many threads to use if LAMMPS has been compiled with OpenMP support via the USER-OMP LAMMPS package. default: ``0`` Notes for Intel Compilers ========================= To build the LAMMPS serial library with Intel compilers, make these following modifications (from the LAMMPS ``src`` directory): * ``STUBS/Makefile`` : set ``CC`` to ``icpc`` or ``icpx`` * ``MAKE/Makefile.serial`` : set ``CC`` and ``LINK`` to ``icpc`` or ``icpx`` To build the EON client with Intel compilers, make these following modifications to EON's ``client/Makefile``: * Set ``CC`` to ``icc`` * Set ``CXX`` to ``icpc`` * Add ``-std=c++11`` to ``CXXFLAGS`` * In the ``Fortran compiler settings`` section, comment out the ``FC``, ``FFLAGS``, ``FAR``, and ``LDFLAGS`` lines under ``#gfortran``, and uncomment them under ``#ifort``