|
| 1 | +name = 'LAMMPS' |
| 2 | +version = '3Mar2020' |
| 3 | +local_python_versionsuffix = '-Python-%(pyver)s' |
| 4 | +versionsuffix = local_python_versionsuffix |
| 5 | +versionsuffix += '-kokkos' |
| 6 | + |
| 7 | +homepage = 'https://lammps.sandia.gov/' |
| 8 | +description = """LAMMPS is a classical molecular dynamics code, and an acronym |
| 9 | +for Large-scale Atomic/Molecular Massively Parallel Simulator. LAMMPS has |
| 10 | +potentials for solid-state materials (metals, semiconductors) and soft matter |
| 11 | +(biomolecules, polymers) and coarse-grained or mesoscopic systems. It can be |
| 12 | +used to model atoms or, more generically, as a parallel particle simulator at |
| 13 | +the atomic, meso, or continuum scale. LAMMPS runs on single processors or in |
| 14 | +parallel using message-passing techniques and a spatial-decomposition of the |
| 15 | +simulation domain. The code is designed to be easy to modify or extend with new |
| 16 | +functionality. |
| 17 | +""" |
| 18 | + |
| 19 | +toolchain = {'name': 'foss', 'version': '2020a'} |
| 20 | +toolchainopts = {'openmp': True, 'usempi': True, 'cstd': 'c++11'} |
| 21 | + |
| 22 | +# 'https://github.com/lammps/lammps/archive/' |
| 23 | +source_urls = [GITHUB_LOWER_SOURCE] |
| 24 | +sources = [ |
| 25 | + 'stable_%(version)s.tar.gz', |
| 26 | + {'filename': 'lammps_vs_yaff_test_single_point_energy.py', 'extract_cmd': "cp %s %(builddir)s"}, |
| 27 | +] |
| 28 | +# see https://github.com/lammps/lammps/pull/1483 for why this is needed |
| 29 | +patches = ['lammps-stable_3Mar2020_hack_openmp_gcc9.patch'] |
| 30 | +checksums = [ |
| 31 | + 'a1a2e3e763ef5baecea258732518d75775639db26e60af1634ab385ed89224d1', # stable_3Mar2020.tar.gz |
| 32 | + '5e5211f64113e8a38c102f8542fd59169b689fdb92afbff29c3b88f802f1a96c', # lammps_vs_yaff_test_single_point_energy.py |
| 33 | + '41a0bcb828be22d38bb489bbd4b1fd7803d7771a2308371f01e961c52b8c869f', # lammps-stable_3Mar2020_hack_openmp_gcc9.patch |
| 34 | +] |
| 35 | + |
| 36 | +local_source_dir_name = '%(namelower)s-%(version)s' |
| 37 | + |
| 38 | +builddependencies = [ |
| 39 | + ('CMake', '3.16.4'), |
| 40 | + ('pkg-config', '0.29.2'), |
| 41 | + ('archspec', '0.1.0', local_python_versionsuffix), |
| 42 | +] |
| 43 | + |
| 44 | +dependencies = [ |
| 45 | + ('Python', '3.8.2'), |
| 46 | + ('libpng', '1.6.37'), |
| 47 | + ('libjpeg-turbo', '2.0.4'), |
| 48 | + ('netCDF', '4.7.4'), |
| 49 | + ('GSL', '2.6'), |
| 50 | + ('zlib', '1.2.11'), |
| 51 | + ('gzip', '1.10'), |
| 52 | + ('cURL', '7.69.1'), |
| 53 | + ('HDF5', '1.10.6'), |
| 54 | + ('tbb', '2020.1'), |
| 55 | + ('PCRE', '8.44'), |
| 56 | + ('libxml2', '2.9.10'), |
| 57 | + ('FFmpeg', '4.2.2'), |
| 58 | + ('Voro++', '0.4.6'), |
| 59 | + ('kim-api', '2.1.3'), |
| 60 | + ('Eigen', '3.3.7'), |
| 61 | + ('yaff', '1.6.0', local_python_versionsuffix), |
| 62 | + ('PLUMED', '2.6.0', local_python_versionsuffix), |
| 63 | + ('ScaFaCoS', '1.0.1'), |
| 64 | + ('VTK', '8.2.0', local_python_versionsuffix), |
| 65 | +] |
| 66 | + |
| 67 | +# To use additional custom configuration options, use the 'configopts' easyconfig parameter |
| 68 | +# See docs and lammps easyblock for more information. |
| 69 | +# https://github.com/lammps/lammps/blob/master/cmake/README.md#lammps-configuration-options |
| 70 | +# configopts = " " |
| 71 | + |
| 72 | +# auto-enabled by easyblock |
| 73 | +# 'GPU' - if cuda package is present and kokkos is disabled |
| 74 | +# 'KOKKOS' - if kokkos is enabled (by default) |
| 75 | +# |
| 76 | +# not enabled (yet), needs more work/additional dependencies: |
| 77 | +# 'LATTE', - https://lammps.sandia.gov/doc/Build_extras.html#latte-package |
| 78 | +# 'MSCG', - https://lammps.sandia.gov/doc/Build_extras.html#mscg-package |
| 79 | +general_packages = [ |
| 80 | + 'ASPHERE', 'BODY', 'CLASS2', 'COLLOID', 'COMPRESS', 'CORESHELL', 'DIPOLE', |
| 81 | + 'GRANULAR', 'KIM', 'KSPACE', 'MANYBODY', 'MC', 'MESSAGE', 'MISC', |
| 82 | + 'MOLECULE', 'MPIIO', 'PERI', 'POEMS', 'PYTHON', 'QEQ', 'REPLICA', 'RIGID', |
| 83 | + 'SHOCK', 'SNAP', 'SPIN', 'SRD', 'VORONOI', |
| 84 | +] |
| 85 | + |
| 86 | +# not enabled (yet), needs more work/additional dependencies: |
| 87 | +# ADIOS - https://lammps.sandia.gov/doc/Build_extras.html#user-adios-package |
| 88 | +# AWPMD - https://lammps.sandia.gov/doc/Build_extras.html#user-awpmd-package |
| 89 | +# QUIP - https://lammps.sandia.gov/doc/Build_extras.html#user-quip-package |
| 90 | +user_packages = [ |
| 91 | + 'ATC', 'BOCS', 'CGDNA', 'CGSDK', 'COLVARS', 'DIFFRACTION', 'DPD', 'DRUDE', |
| 92 | + 'EFF', 'FEP', 'H5MD', 'LB', 'MANIFOLD', 'MEAMC', 'MESO', 'MGPT', 'MISC', |
| 93 | + 'MOFFF', 'MOLFILE', 'NETCDF', 'PHONON', 'PLUMED', 'PTM', 'QTB', 'REAXC', |
| 94 | + 'SCAFACOS', 'SMD', 'SMTBQ', 'SPH', 'TALLY', 'UEF', 'YAFF', 'VTK' |
| 95 | +] |
| 96 | + |
| 97 | +enhance_sanity_check = True |
| 98 | + |
| 99 | +# run short test case to make sure installation doesn't produce blatently incorrect results; |
| 100 | +# this catches a problem where having the USER-INTEL package enabled causes trouble when installing with intel/2019b |
| 101 | +sanity_check_commands = ["cd %(builddir)s && python lammps_vs_yaff_test_single_point_energy.py"] |
| 102 | + |
| 103 | +moduleclass = 'chem' |
0 commit comments