diff --git a/MPI/gromacs/2018/variants b/MPI/gromacs/2018/variants index 725e70e..f2bec74 100644 --- a/MPI/gromacs/2018/variants +++ b/MPI/gromacs/2018/variants @@ -1,2 +1,2 @@ gromacs/2018.3_sp unstable gcc/8.2.0 openmpi/3.1.1 Python/2.7.14 b:cmake/3.9.6 -gromacs/2018.3_dp unstable gcc/8.2.0 openmpi/3.1.1 Python/2.7.14 b:cmake/3.9.6 +gromacs/2018.3_dp unstable gcc/8.2.0 openmpi/3.1.1 Python/2.7.14 b:cmake/3.9.6 diff --git a/MPI/lammps/2018/variants b/MPI/lammps/2018/variants index b74e7a5..1939329 100644 --- a/MPI/lammps/2018/variants +++ b/MPI/lammps/2018/variants @@ -1 +1,3 @@ -lammps/2018.3 unstable gcc/7.3.0 openmpi/3.0.1 +lammps/2018.3 unstable gcc/7.3.0 openmpi/3.0.1 +lammps/2018.3_merlin unstable gcc/8.2.0 openmpi/3.1.1 b:cmake/3.9.6 +lammps/2018.11_merlin unstable gcc/8.2.0 openmpi/3.1.1 b:cmake/3.9.6 diff --git a/MPI/lammps/build b/MPI/lammps/build index 3fb772b..29e4d73 100755 --- a/MPI/lammps/build +++ b/MPI/lammps/build @@ -1,25 +1,75 @@ #!/usr/bin/env modbuild +# pbuild::set_download_url "https://gitlab.psi.ch/caubet_m/merlin-software/raw/master/$P/$P-${V_PKG}.tar.gz" +pbuild::set_download_url "https://github.com/lammps/lammps/archive/patch_15Nov2018.tar.gz" + pbuild::add_to_group 'MPI' -pbuild::set_download_url https://gitlab.psi.ch/Pmodules/download/raw/master/$P-$V.tar.gz -pbuild::install_docfiles \ - LICENSE \ - README + +pbuild::install_docfiles README LICENSE + pbuild::compile_in_sourcetree -pbuild::configure() { - cp -v "${BUILDBLOCK_DIR}/files/Makefile.PSI" "${BUILD_DIR}/src/MAKE/MINE" -} +# pbuild::pre_configure() { +# pbuild::add_configure_args "-D CMAKE_BUILD_TYPE=RELEASE" +# +# pbuild::add_configure_args "-D BUILD_MPI=yes" +# pbuild::add_configure_args "-D BUILD_OMP=yes" +# pbuild::add_configure_args "-D PKG_USER-OMP=yes" +# pbuild::add_configure_args "-D PKG_BODY=yes" +# pbuild::add_configure_args "-D PKG_DIPOLE=yes" +# pbuild::add_configure_args "-D PKG_MOLECULE=yes" +# pbuild::add_configure_args "-D PKG_MPIIO=yes" +# pbuild::add_configure_args "-D PKG_REPLICA=yes" +# # pbuild::add_configure_args "-D PKG_REAX=yes" +# pbuild::add_configure_args "-D PKG_RIGID=yes" +# pbuild::add_configure_args "-D PKG_USER-REAXC=yes" +# +# } + +# pbuild::configure() { +# cp -v "${BUILDBLOCK_DIR}/files/Makefile.PSI" "${BUILD_DIR}/src/MAKE/MINE" +# } +# pbuild::compile() { - make -C src PSI + echo BEGIN COMPILE + cd src + # make clean-all + # make no-all + make yes-user-omp + make yes-asphere + make yes-body + make yes-compress + make yes-coreshell + make yes-dipole + make yes-granular + make yes-manybody + make yes-mc + make yes-misc + make yes-molecule + make yes-mpiio + make yes-opt + make yes-python + make yes-replica + make yes-rigid + make yes-snap + make yes-user-eff + make yes-user-drude + make yes-user-reaxc + make yes-user-reaxc args="-m serial" + make yes-user-reaxc args="-m mpi" + make mpi + echo ENDCOMPILE } pbuild::install() { install -m 0755 -d "${PREFIX}/bin" - install -m 0755 "${BUILD_DIR}/src/lmp_PSI" "${PREFIX}/bin/lmp_omp" - strip "${PREFIX}/bin/lmp_omp" + # Modify this for installing individual binaries + install -m 0755 "${BUILD_DIR}/src/lmp_mpi" "${PREFIX}/bin/" + + # Strip all present binaries + for file in $(ls ${PREFIX}/bin/lmp_*) + do + strip "$file" + done } - -pbuild::make_all - diff --git a/MPI/lammps/modulefile b/MPI/lammps/modulefile index 3f4eb34..86b7305 100644 --- a/MPI/lammps/modulefile +++ b/MPI/lammps/modulefile @@ -1,22 +1,12 @@ #%Module1.0 -module-whatis "an accelerator modeling code th" -module-url "http://www.aps.anl.gov/Accelerator_Systems_Division/Accelerator_Operations_Physics/elegant.html" -module-license "See: http://www.aps.anl.gov/epics/license/index.php" -module-maintainer "Achim Gsell " +module-whatis "An accelerator modeling code th" +module-url "https://lammps.sandia.gov/" +module-license "See: https://lammps.sandia.gov/doc/Intro_opensource.html" +module-maintainer "Marc Caubet Serrabou " module-help " -elegant is an accelerator modeling code that performs many functions. Its -basic function is 6D tracking, which it performs using matrices (up to -second order), symplectic integration, numerical integration, or a user- -defined mixture. It computes Twiss parameters, transport matrices, radiation -integrals, correction matrices, amplification factors, and floor coordinates. -It also performs optimization, including optimization of radiation integrals, -floor coordinates, transport matrices, and beam properties from tracking. A -number of time-dependent elements are supported, such as rf cavities, kickers, -and ramping machines. The code provides simulation of various collective -effects, such as wakes and coherent synchrotron radiation. -" +LAMMPS is a classical molecular dynamics (MD) code that models ensembles of particles in a liquid, solid, or gaseous state. It can model atomic, polymeric, biological, solid-state (metals, ceramics, oxides), granular, coarse-grained, or macroscopic systems using a variety of interatomic potentials (force fields) and boundary conditions. It can model 2d or 3d systems with only a few particles up to millions or billions. LAMMPS can be built and run on a laptop or desktop machine, but is designed for parallel computers. It will run on any parallel machine that supports the MPI message-passing library. This includes shared-memory boxes and distributed-memory clusters and supercomputers. LAMMPS is written in C++. Earlier versions were written in F77 and F90. See the History page of the website for details. All versions can be downloaded from the LAMMPS website. LAMMPS is designed to be easy to modify or extend with new capabilities, such as new force fields, atom types, boundary conditions, or diagnostics. See the Modify doc page for more details. In the most general sense, LAMMPS integrates Newton’s equations of motion for a collection of interacting particles. A single particle can be an atom or molecule or electron, a coarse-grained cluster of atoms, or a mesoscopic or macroscopic clump of material. The interaction models that LAMMPS includes are mostly short-range in nature; some long-range models are included as well. LAMMPS uses neighbor lists to keep track of nearby particles. The lists are optimized for systems with particles that are repulsive at short distances, so that the local density of particles never becomes too large. This is in contrast to methods used for modeling plasma or gravitational bodies (e.g. galaxy formation). On parallel machines, LAMMPS uses spatial-decomposition techniques to partition the simulation domain into small sub-domains of equal computational cost, one of which is assigned to each processor. Processors communicate and store “ghost” atom information for atoms that border their sub-domain." setenv RPN_DEFNS $PREFIX/RPN-DEFNS setenv HOST_ARCH linux-x86_64