Skip to content

jpcroc/NDM

Repository files navigation

logo

NDM

image

DES/ISAS/DMN/SRMP

Overview

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 .

Documentation

See the docs directory for help files

Compilation

NDM can be compiled using cmake (version 3.20).

Git cloning is made with "git clone git@github.com:jpcroc/NDM.git"

Prerequisities

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
module load mpi/intelmpi/24.0.0
x
Topaze/Irene MIX
module load fortran/inteloneapi/24.0.0
module load mpi/openmpi/4.1.6.4
module load mkl
module load fortran/inteloneapi/24.0.0
module load mpi/openmpi/4.1.6.4
module load mkl
module load lammps/2Aug2023
Topaze/Irene GNU
module load fortran/gcc/13.2.0
module load mpi/openmpi/4.1.4
x
Gatsby GNU
module load openmpi/gcc/4.0.2
module load gcc/11.2.0
module load mkl
x
Gatsby INTEL
module load mpi
module load compiler
module load mkl
module load lammps/29Sep2021-u2

Basic cmake build, in the NDM directory :

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.

NDM+LAMMPS build

cmake .. -D NDM_PACKAGE_LIST=LAMMPS

NDM+MILADY build

export MILADY_ROOT=PATH/TO/ML/DIRECTORY
cmake .. -D NDM_PACKAGE_LIST=MILADY

Available options

  • Compilers : CMAKE_Fortran_COMPILER, CMAKE_CXX_COMPILER
  • preprocessor definitions : NDM_COMPILE_DEFINITION
  • compilation configuration : CMAKE_BUILD_TYPE (RELEASE or DEBUG)
  • compilation flags : CMAKE_<lang>_FLAGS_<config>, for example CMAKE_Fortran_FLAGS_RELEASE
  • MPI : MPI_HOME
  • LAMMPS library directory : LAMMPS_HOME
  • LAMMPS library name : LAMMPS_LIBRARY_NAME (for example lammps_serial, lammps_mpi or lammps)
  • Additional dependencies for LAMMPS: LAMMPS_EXTRA_LIBRARIES (for example gomp to 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"

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors