# IT4Innovations # LK 2023 name = 'LAMMPS' version = '23Jun2022' versionsuffix = '-kokkos' homepage = 'https://www.lammps.org' description = """LAMMPS is a classical molecular dynamics code, and an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has potentials for solid-state materials (metals, semiconductors) and soft matter (biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be used to model atoms or, more generically, as a parallel particle simulator at the atomic, meso, or continuum scale. LAMMPS runs on single processors or in parallel using message-passing techniques and a spatial-decomposition of the simulation domain. The code is designed to be easy to modify or extend with new functionality. """ toolchain = {'name': 'foss', 'version': '2021b'} import os if os.environ.get("CLUSTERNAME") in ["KAROLINA"]: toolchainopts = {'openmp': True, 'usempi': True, 'optarch': 'march=core-avx2', 'pic': True} else: toolchainopts = {'openmp': True, 'usempi': True, 'pic': True} # 'https://github.com/lammps/lammps/archive/' source_urls = [GITHUB_LOWER_SOURCE] sources = ['stable_%(version)s_update1.tar.gz'] checksums = ['58e3b2b984f8935bb0db5631e143be2826c45ffd48844f7c394f36624a3e17a2'] builddependencies = [ ('CMake', '3.22.1'), ('pkg-config', '0.29.2'), ('archspec', '0.1.3'), ] dependencies = [ ('Python', '3.9.6'), ('libpng', '1.6.37'), ('libjpeg-turbo', '2.0.6'), ('netCDF', '4.8.1'), ('GSL', '2.7'), ('zlib', '1.2.11'), ('gzip', '1.10'), ('cURL', '7.78.0'), ('HDF5', '1.12.1'), ('tbb', '2020.3'), ('PCRE', '8.45'), ('libxml2', '2.9.10'), ('FFmpeg', '4.3.2'), ('Voro++', '0.4.6'), ('kim-api', '2.3.0'), ('Eigen', '3.4.0'), ('PLUMED', '2.7.3'), ('ScaFaCoS', '1.0.1'), ('SciPy-bundle', '2021.10'), # VTK package is auto-disabled if this dep is not available ('VTK', '9.1.0'), ] # To use additional custom configuration options, use the 'configopts' easyconfig parameter # See docs and lammps easyblock for more information. # https://github.com/lammps/lammps/blob/master/cmake/README.md#lammps-configuration-options # OpenMP-Kokkos build is default in the current easyblock. One can switch to serial backend of Kokkos, # which is claimed to be faster in pure MPI calculations # configopts = "-DKokkos_ENABLE_SERIAL=yes " # packages auto-enabled by easyblock # 'GPU' - if cuda package is present and kokkos is disabled # 'KOKKOS' - if kokkos is enabled (by default) # include the following extra packages into the build general_packages = [ 'ASPHERE', 'AMOEBA', 'ATC', 'AWPMD', 'BOCS', 'BODY', 'BPM', 'BROWNIAN', 'CG-DNA', 'CG-SDK', 'CLASS2', 'COLLOID', 'COLVARS', 'COMPRESS', 'CORESHELL', 'DIELECTRIC', 'DIFFRACTION', 'DIPOLE', 'DPD-BASIC', 'DPD-MESO', 'DPD-REACT', 'DPD-SMOOTH', 'DRUDE', 'EFF', 'ELECTRODE', 'EXTRA-COMPUTE', 'EXTRA-DUMP', 'EXTRA-FIX', 'EXTRA-MOLECULE', 'EXTRA-PAIR', 'FEP', 'GRANULAR', 'H5MD', 'INTERLAYER', 'KIM', 'KSPACE', 'LATBOLTZ', 'MANIFOLD', 'MACHDYN', 'MANYBODY', 'MC', 'MEAM', 'MGPT', 'MISC', 'ML-IAP', 'ML-PACE', 'ML-RANN', 'ML-SNAP', 'MOFFF', 'MOLECULE', 'MOLFILE', 'MPIIO', 'NETCDF', 'OPENMP', 'ORIENT', 'PERI', 'PHONON', 'PLUGIN', 'PLUMED', 'POEMS', 'PTM', 'PYTHON', 'QEQ', 'QTB', 'REACTION', 'REAXFF', 'REPLICA', 'RIGID', 'SCAFACOS', 'SHOCK', 'SMTBQ', 'SPH', 'SPIN', 'SRD', 'TALLY', 'UEF', 'VORONOI', 'VTK', 'YAFF', ] # Excluded packages due to requiring additional (non-trivial) deps # - ADIOS # - LATTE # - MESONT (requires very large files downloaded during build) # - ML-HDNNP (requires N2P2) # - ML-QUIP # - MSCG # - QMMM (setup seems complex) moduleclass = 'chem'