NDM is fortran code computing empirical potential molecular dynamics (dynamique moléculaire en potentiels empiriques)
NDM is built around
All the input data are prescribed non-interactively, using command lines and/or ASCII files.
NDM can be compiled and run on any Unix-like system .
See the docs directory for help files
NDM can be compiled using cmake (version 3.20).
Git cloning is made with "git clone git@github.com:jpcroc/NDM.git"
It is recommended to use Intel's oneAPI suite including Intel's mpi implementation, the mpiifort wrapper and MKL but GNU compilers are also available.
Following are environment setup examples for some known clusters:
| Cluster | NDM | NDM + LAMMPS |
|---|---|---|
| Topaze/Irene INTEL | module load fortran/inteloneapi/24.0.0 |
x |
| Topaze/Irene MIX | module load fortran/inteloneapi/24.0.0 |
module load fortran/inteloneapi/24.0.0 |
| Topaze/Irene GNU | module load fortran/gcc/13.2.0 |
x |
| Gatsby GNU | module load openmpi/gcc/4.0.2 |
x |
| Gatsby INTEL | module load mpi |
module load lammps/29Sep2021-u2 |
Steps to build NDM using the CMakeLists.txt file (requires cmake 3.20) :
mkdir build; cd build
cmake ..
make -j
This should detect the required compilers and dependencies if they are available and find a suitable configuration. If not, make sure the prerequisities are met and consider defining advanced options manually.
cmake .. -D NDM_PACKAGE_LIST=LAMMPS
export MILADY_ROOT=PATH/TO/ML/DIRECTORY
cmake .. -D NDM_PACKAGE_LIST=MILADY
- Compilers :
CMAKE_Fortran_COMPILER,CMAKE_CXX_COMPILER - preprocessor definitions :
NDM_COMPILE_DEFINITION - compilation configuration :
CMAKE_BUILD_TYPE(RELEASEorDEBUG) - compilation flags :
CMAKE_<lang>_FLAGS_<config>, for exampleCMAKE_Fortran_FLAGS_RELEASE - MPI :
MPI_HOME - LAMMPS library directory :
LAMMPS_HOME - LAMMPS library name :
LAMMPS_LIBRARY_NAME(for examplelammps_serial,lammps_mpiorlammps) - Additional dependencies for LAMMPS:
LAMMPS_EXTRA_LIBRARIES(for examplegompto use open mpi LAMMPS)
examples:
cmake .. -D NDM_PACKAGE_LIST="LAMMPS"
cmake .. -D NDM_PACKAGE_LIST=MILADY
cmake .. -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_Fortran_FLAGS_DEBUG="-O0 -g -C -fpe-all=0 -traceback" ! for intel debug version
cmake .. -DCMAKE_BUILD_TYPE=DEBUG -DCMAKE_Fortran_FLAGS_DEBUG="-O0 -g -fcheck=all -fbacktrace -Wall -Wextra" ! for gfortran debug version
in thess last examples the debug options are passed explicitly (for ifort and gfortran respectively)
To specify multiple values, for example for preprocessor definitions or packages, use semicolon separator:
cmake .. -D NDM_PACKAGE_LIST="MPI;LAMMPS"

