summaryrefslogtreecommitdiff
path: root/var/spack/repos/builtin/packages/lammps/package.py
diff options
context:
space:
mode:
Diffstat (limited to 'var/spack/repos/builtin/packages/lammps/package.py')
-rw-r--r--var/spack/repos/builtin/packages/lammps/package.py1107
1 files changed, 655 insertions, 452 deletions
diff --git a/var/spack/repos/builtin/packages/lammps/package.py b/var/spack/repos/builtin/packages/lammps/package.py
index 1d8ba8019e..9d290a5d30 100644
--- a/var/spack/repos/builtin/packages/lammps/package.py
+++ b/var/spack/repos/builtin/packages/lammps/package.py
@@ -16,595 +16,798 @@ class Lammps(CMakePackage, CudaPackage):
See https://github.com/spack/spack/pull/5342 for a detailed
discussion.
"""
+
homepage = "https://lammps.sandia.gov/"
- url = "https://github.com/lammps/lammps/archive/patch_1Sep2017.tar.gz"
- git = "https://github.com/lammps/lammps.git"
+ url = "https://github.com/lammps/lammps/archive/patch_1Sep2017.tar.gz"
+ git = "https://github.com/lammps/lammps.git"
- tags = ['ecp', 'ecp-apps']
+ tags = ["ecp", "ecp-apps"]
- version('develop', branch='develop')
- version('20220623', sha256='21533ce6f174c80815a48c99e5f3dd109e69d55c4cad47312d88a7190a35927f')
- version('20220602', sha256='3e8f54453e53b3b387a68317277f832b8cf64a981e64b21e98bb37ea36ac4a60')
- version('20220504', sha256='fe05bae8090fd0177b3c1b987cd32a9cb7cd05d790828ba954c764eb52e10b52')
- version('20220324', sha256='d791cc93eedfc345fdf87bfa5b6f7e17e461f86ba197f9e9c3d477ce8657a7ef')
- version('20220217', sha256='e5bd2bf325835fa98d1b95f0667c83076580916027df5b8109d5470d1b97da98')
- version('20220107', sha256='fbf6c6814968ae0d772d7b6783079ff4f249a8faeceb39992c344969e9f1edbb')
- version('20211214', sha256='9f7b1ee2394678c1a6baa2c158a62345680a952eee251783e3c246b3f12db4c9')
- version('20211027', sha256='c06f682fcf9d5921ca90c857a104e90fba0fe65decaac9732745e4da49281938')
- version('20210929.3', sha256='d7df30f7ce0bd8b7c21949cf5bdf1877858815379cddb8a264da7a8cbf699639')
- version('20210929.2', sha256='26586c1e82356b60e40359ee474818003c7788214bfe2bfe9128a3dbe5200b4d')
- version('20210929.1', sha256='3b792e20864bf88b855332486996f2c540deabb4e3507e48fa4ee96ad79615ec')
- version('20210929', sha256='5132f332b582be3006510562ef10bac9ef76d760f34fc08a2af556416c57cf4c')
- version('20210920', sha256='e3eba96933c1dd3177143c7ac837cae69faceba196948fbad2970425db414d8c')
- version('20210831', sha256='532c42576a79d72682deaf43225ca773ed9f9e35deb484a82f91905b6cba23ec')
- version('20210730', sha256='c5e998c8282a835d2bcba4fceffe3cecdf9aed9bdf79fa9c945af573e632f6e7')
- version('20210728', sha256='6b844d2c3f7170a59d36fbf761483aa0c63d95eda254d00fe4d10542403abe36')
- version('20210702', sha256='4fdd8ca2dbde8809c0048716650b73ae1f840e22ebe24b25f6f7a499377fea57')
- version('20210514', sha256='74d9c4386f2181b15a024314c42b7a0b0aaefd3b4b947aeca00fe07e5b2f3317')
- version('20210408', sha256='1645147b7777de4f616b8232edf0b597868084f969c777fa0a757949c3f71f56')
- version('20210310', sha256='25708378dbeccf794bc5045aceb84380bf4a3ca03fc8e5d150a26ca88d371474')
- version('20201029', sha256='3d347f6b512bc360505019d1c6183c969a2e1da402e31a1e26577daf5e419d95')
- version('20200721', sha256='845bfeddb7b667799a1a5dbc166b397d714c3d2720316604a979d3465b4190a9')
- version('20200630', sha256='413cbfabcc1541a339c7a4ab5693fbeb768f46bb1250640ba94686c6e90922fc')
- version('20200505', sha256='c49d77fd602d28ebd8cf10f7359b9fc4d14668c72039028ed7792453d416de73')
- version('20200303', sha256='9aa56dfb8673a06e6c88588505ec1dfc01dd94f9d60e719ed0c605e48cc06c58')
- version('20200227', sha256='1aabcf38bc72285797c710b648e906151a912c36b634a9c88ac383aacf85516e')
- version('20200218', sha256='73bcf146660804ced954f6a0a8dce937482677778d46018ca5a688127bf97211')
- version('20200204', sha256='3bf3de546ede34ffcd89f1fca5fd66aa78c662e7c8a76e30ce593e44a00d23ce')
- version('20200124', sha256='443829560d760690e1ae21ad54922f56f34f640a81e817f5cc65d2a4af3a6a5d')
- version('20200109', sha256='f2fd24f6c10837801f490913d73f672ec7c6becda08465d7e834a2bfbe3d7cd6')
- version('20191120', sha256='fd146bf517a6c2fb8a69ecb3749dc352eef94414739cd7855c668c690af85d27')
- version('20191030', sha256='5279567f731386ffdb87800b448903a63de2591064e13b4d5216acae25b7e541')
- version('20190919', sha256='0f693203afe86bc70c084c55f29330bdeea3e3ad6791f81c727f7a34a7f6caf3')
- version('20190807', sha256='895d71914057e070fdf0ae5ccf9d6552b932355056690bdb8e86d96549218cc0')
- version('20190605', sha256='c7b35090aef7b114d2b47a7298c1e8237dd811da87995c997bf7639cca743152')
- version('20181212', sha256='ccc5d2c21c4b62ce4afe7b3a0fe2f37b83e5a5e43819b7c2e2e255cce2ce0f24')
- version('20181207', sha256='d92104d008a7f1d0b6071011decc5c6dc8b936a3418b20bd34b055371302557f')
- version('20181127', sha256='c076b633eda5506f895de4c73103df8b995d9fec01be82c67c7608efcc345179')
- version('20181115', sha256='3bc9c166e465cac625c4a8e4060e597003f4619dadd57d3bc8d25bcd930f286e')
- version('20181109', sha256='dd30fe492fa147fb6f39bfcc79d8c786b9689f7fbe86d56de58cace53b6198c9')
- version('20181024', sha256='a171dff5aff7aaa2c9606ab2abc9260f2b685a5c7f6d650e7f2b59cf4aa149d6')
- version('20181010', sha256='bda762ee2d2dcefe0b4e36fb689c6b9f7ede49324444ccde6c59cba727b4b02d')
- version('20180918', sha256='02f143d518d8647b77137adc527faa9725c7afbc538d670253169e2a9b3fa0e6')
- version('20180905', sha256='ee0df649e33a9bf4fe62e062452978731548a56b7487e8e1ce9403676217958d')
- version('20180831', sha256='6c604b3ebd0cef1a5b18730d2c2eb1e659b2db65c5b1ae6240b8a0b150e4dff3')
- version('20180822', sha256='9f8942ca3f8e81377ae88ccfd075da4e27d0dd677526085e1a807777c8324074')
- version('20180629', sha256='1acf7d9b37b99f17563cd4c8bb00ec57bb2e29eb77c0603fd6871898de74763b')
- version('20180316', sha256='a81f88c93e417ecb87cd5f5464c9a2570384a48ff13764051c5e846c3d1258c1')
- version('20180222', sha256='374254d5131b7118b9ab0f0e27d20c3d13d96b03ed2b5224057f0c1065828694')
- version('20170922', sha256='f0bf6eb530d528f4d261d0a261e5616cbb6e990156808b721e73234e463849d3')
- version('20170901', sha256='5d88d4e92f4e0bb57c8ab30e0d20de556830af820223778b9967bec2184efd46')
+ version("develop", branch="develop")
+ version("20220623", sha256="21533ce6f174c80815a48c99e5f3dd109e69d55c4cad47312d88a7190a35927f")
+ version("20220602", sha256="3e8f54453e53b3b387a68317277f832b8cf64a981e64b21e98bb37ea36ac4a60")
+ version("20220504", sha256="fe05bae8090fd0177b3c1b987cd32a9cb7cd05d790828ba954c764eb52e10b52")
+ version("20220324", sha256="d791cc93eedfc345fdf87bfa5b6f7e17e461f86ba197f9e9c3d477ce8657a7ef")
+ version("20220217", sha256="e5bd2bf325835fa98d1b95f0667c83076580916027df5b8109d5470d1b97da98")
+ version("20220107", sha256="fbf6c6814968ae0d772d7b6783079ff4f249a8faeceb39992c344969e9f1edbb")
+ version("20211214", sha256="9f7b1ee2394678c1a6baa2c158a62345680a952eee251783e3c246b3f12db4c9")
+ version("20211027", sha256="c06f682fcf9d5921ca90c857a104e90fba0fe65decaac9732745e4da49281938")
+ version(
+ "20210929.3", sha256="d7df30f7ce0bd8b7c21949cf5bdf1877858815379cddb8a264da7a8cbf699639"
+ )
+ version(
+ "20210929.2", sha256="26586c1e82356b60e40359ee474818003c7788214bfe2bfe9128a3dbe5200b4d"
+ )
+ version(
+ "20210929.1", sha256="3b792e20864bf88b855332486996f2c540deabb4e3507e48fa4ee96ad79615ec"
+ )
+ version("20210929", sha256="5132f332b582be3006510562ef10bac9ef76d760f34fc08a2af556416c57cf4c")
+ version("20210920", sha256="e3eba96933c1dd3177143c7ac837cae69faceba196948fbad2970425db414d8c")
+ version("20210831", sha256="532c42576a79d72682deaf43225ca773ed9f9e35deb484a82f91905b6cba23ec")
+ version("20210730", sha256="c5e998c8282a835d2bcba4fceffe3cecdf9aed9bdf79fa9c945af573e632f6e7")
+ version("20210728", sha256="6b844d2c3f7170a59d36fbf761483aa0c63d95eda254d00fe4d10542403abe36")
+ version("20210702", sha256="4fdd8ca2dbde8809c0048716650b73ae1f840e22ebe24b25f6f7a499377fea57")
+ version("20210514", sha256="74d9c4386f2181b15a024314c42b7a0b0aaefd3b4b947aeca00fe07e5b2f3317")
+ version("20210408", sha256="1645147b7777de4f616b8232edf0b597868084f969c777fa0a757949c3f71f56")
+ version("20210310", sha256="25708378dbeccf794bc5045aceb84380bf4a3ca03fc8e5d150a26ca88d371474")
+ version("20201029", sha256="3d347f6b512bc360505019d1c6183c969a2e1da402e31a1e26577daf5e419d95")
+ version("20200721", sha256="845bfeddb7b667799a1a5dbc166b397d714c3d2720316604a979d3465b4190a9")
+ version("20200630", sha256="413cbfabcc1541a339c7a4ab5693fbeb768f46bb1250640ba94686c6e90922fc")
+ version("20200505", sha256="c49d77fd602d28ebd8cf10f7359b9fc4d14668c72039028ed7792453d416de73")
+ version("20200303", sha256="9aa56dfb8673a06e6c88588505ec1dfc01dd94f9d60e719ed0c605e48cc06c58")
+ version("20200227", sha256="1aabcf38bc72285797c710b648e906151a912c36b634a9c88ac383aacf85516e")
+ version("20200218", sha256="73bcf146660804ced954f6a0a8dce937482677778d46018ca5a688127bf97211")
+ version("20200204", sha256="3bf3de546ede34ffcd89f1fca5fd66aa78c662e7c8a76e30ce593e44a00d23ce")
+ version("20200124", sha256="443829560d760690e1ae21ad54922f56f34f640a81e817f5cc65d2a4af3a6a5d")
+ version("20200109", sha256="f2fd24f6c10837801f490913d73f672ec7c6becda08465d7e834a2bfbe3d7cd6")
+ version("20191120", sha256="fd146bf517a6c2fb8a69ecb3749dc352eef94414739cd7855c668c690af85d27")
+ version("20191030", sha256="5279567f731386ffdb87800b448903a63de2591064e13b4d5216acae25b7e541")
+ version("20190919", sha256="0f693203afe86bc70c084c55f29330bdeea3e3ad6791f81c727f7a34a7f6caf3")
+ version("20190807", sha256="895d71914057e070fdf0ae5ccf9d6552b932355056690bdb8e86d96549218cc0")
+ version("20190605", sha256="c7b35090aef7b114d2b47a7298c1e8237dd811da87995c997bf7639cca743152")
+ version("20181212", sha256="ccc5d2c21c4b62ce4afe7b3a0fe2f37b83e5a5e43819b7c2e2e255cce2ce0f24")
+ version("20181207", sha256="d92104d008a7f1d0b6071011decc5c6dc8b936a3418b20bd34b055371302557f")
+ version("20181127", sha256="c076b633eda5506f895de4c73103df8b995d9fec01be82c67c7608efcc345179")
+ version("20181115", sha256="3bc9c166e465cac625c4a8e4060e597003f4619dadd57d3bc8d25bcd930f286e")
+ version("20181109", sha256="dd30fe492fa147fb6f39bfcc79d8c786b9689f7fbe86d56de58cace53b6198c9")
+ version("20181024", sha256="a171dff5aff7aaa2c9606ab2abc9260f2b685a5c7f6d650e7f2b59cf4aa149d6")
+ version("20181010", sha256="bda762ee2d2dcefe0b4e36fb689c6b9f7ede49324444ccde6c59cba727b4b02d")
+ version("20180918", sha256="02f143d518d8647b77137adc527faa9725c7afbc538d670253169e2a9b3fa0e6")
+ version("20180905", sha256="ee0df649e33a9bf4fe62e062452978731548a56b7487e8e1ce9403676217958d")
+ version("20180831", sha256="6c604b3ebd0cef1a5b18730d2c2eb1e659b2db65c5b1ae6240b8a0b150e4dff3")
+ version("20180822", sha256="9f8942ca3f8e81377ae88ccfd075da4e27d0dd677526085e1a807777c8324074")
+ version("20180629", sha256="1acf7d9b37b99f17563cd4c8bb00ec57bb2e29eb77c0603fd6871898de74763b")
+ version("20180316", sha256="a81f88c93e417ecb87cd5f5464c9a2570384a48ff13764051c5e846c3d1258c1")
+ version("20180222", sha256="374254d5131b7118b9ab0f0e27d20c3d13d96b03ed2b5224057f0c1065828694")
+ version("20170922", sha256="f0bf6eb530d528f4d261d0a261e5616cbb6e990156808b721e73234e463849d3")
+ version("20170901", sha256="5d88d4e92f4e0bb57c8ab30e0d20de556830af820223778b9967bec2184efd46")
def url_for_version(self, version):
- split_ver = str(version).split('.')
+ split_ver = str(version).split(".")
vdate = dt.datetime.strptime(split_ver[0], "%Y%m%d")
if len(split_ver) < 2:
update = ""
else:
update = "_update{0}".format(split_ver[1])
return "https://github.com/lammps/lammps/archive/patch_{0}{1}.tar.gz".format(
- vdate.strftime("%d%b%Y").lstrip('0'), update)
+ vdate.strftime("%d%b%Y").lstrip("0"), update
+ )
# List of supported optional packages
# Note: package `openmp` in this recipe is called `openmp-package`, to avoid clash
# with the pre-existing `openmp` variant
- supported_packages = ['asphere', 'body', 'bpm', 'class2', 'colloid', 'compress',
- 'coreshell', 'dielectric', 'dipole', 'electrode', 'granular',
- 'kspace', 'kokkos', 'latte', 'manybody', 'mc', 'meam', 'misc',
- 'mliap', 'ml-iap', 'ml-snap', 'molecule', 'mpiio',
- 'opt', 'peri', 'plugin', 'poems', 'python', 'qeq', 'replica',
- 'rigid', 'shock', 'snap', 'spin', 'srd', 'voronoi',
- 'user-atc', 'user-adios',
- 'user-awpmd', 'user-bocs', 'user-brownian', 'user-cgsdk',
- 'user-colvars', 'user-diffraction', 'user-dpd',
- 'user-drude', 'user-eff', 'user-fep', 'user-h5md',
- 'user-lb', 'user-manifold', 'user-meamc',
- 'user-mesodpd', 'user-mesont', 'user-mgpt', 'user-misc',
- 'user-mofff', 'user-molfile', 'user-netcdf', 'user-omp',
- 'user-phonon', 'user-plumed', 'user-ptm', 'user-qtb',
- 'user-reaction', 'user-reaxc', 'user-sdpd',
- 'user-smd', 'user-smtbq', 'user-sph', 'user-tally',
- 'user-uef', 'user-yaff',
- 'atc', 'adios', 'awpmd', 'bocs', 'brownian', 'cg-sdk',
- 'colvars', 'diffraction', 'dpd-basic', 'dpd-meso',
- 'dpd-react', 'dpd-smooth', 'drude', 'eff', 'extra-compute',
- 'extra-dump', 'extra-fix', 'extra-molecule', 'extra-pair',
- 'fep', 'h5md', 'interlayer', 'latboltz', 'machdyn',
- 'manifold', 'mesont', 'mgpt', 'mofff', 'molfile', 'netcdf',
- 'openmp-package', 'orient', 'phonon', 'plumed', 'ptm', 'qtb',
- 'reaction', 'reaxff', 'smtbq', 'sph', 'tally', 'uef', 'yaff']
+ supported_packages = [
+ "asphere",
+ "body",
+ "bpm",
+ "class2",
+ "colloid",
+ "compress",
+ "coreshell",
+ "dielectric",
+ "dipole",
+ "electrode",
+ "granular",
+ "kspace",
+ "kokkos",
+ "latte",
+ "manybody",
+ "mc",
+ "meam",
+ "misc",
+ "mliap",
+ "ml-iap",
+ "ml-snap",
+ "molecule",
+ "mpiio",
+ "opt",
+ "peri",
+ "plugin",
+ "poems",
+ "python",
+ "qeq",
+ "replica",
+ "rigid",
+ "shock",
+ "snap",
+ "spin",
+ "srd",
+ "voronoi",
+ "user-atc",
+ "user-adios",
+ "user-awpmd",
+ "user-bocs",
+ "user-brownian",
+ "user-cgsdk",
+ "user-colvars",
+ "user-diffraction",
+ "user-dpd",
+ "user-drude",
+ "user-eff",
+ "user-fep",
+ "user-h5md",
+ "user-lb",
+ "user-manifold",
+ "user-meamc",
+ "user-mesodpd",
+ "user-mesont",
+ "user-mgpt",
+ "user-misc",
+ "user-mofff",
+ "user-molfile",
+ "user-netcdf",
+ "user-omp",
+ "user-phonon",
+ "user-plumed",
+ "user-ptm",
+ "user-qtb",
+ "user-reaction",
+ "user-reaxc",
+ "user-sdpd",
+ "user-smd",
+ "user-smtbq",
+ "user-sph",
+ "user-tally",
+ "user-uef",
+ "user-yaff",
+ "atc",
+ "adios",
+ "awpmd",
+ "bocs",
+ "brownian",
+ "cg-sdk",
+ "colvars",
+ "diffraction",
+ "dpd-basic",
+ "dpd-meso",
+ "dpd-react",
+ "dpd-smooth",
+ "drude",
+ "eff",
+ "extra-compute",
+ "extra-dump",
+ "extra-fix",
+ "extra-molecule",
+ "extra-pair",
+ "fep",
+ "h5md",
+ "interlayer",
+ "latboltz",
+ "machdyn",
+ "manifold",
+ "mesont",
+ "mgpt",
+ "mofff",
+ "molfile",
+ "netcdf",
+ "openmp-package",
+ "orient",
+ "phonon",
+ "plumed",
+ "ptm",
+ "qtb",
+ "reaction",
+ "reaxff",
+ "smtbq",
+ "sph",
+ "tally",
+ "uef",
+ "yaff",
+ ]
for pkg in supported_packages:
- variant(pkg, default=False,
- description='Activate the {0} package'
- .format(pkg.replace('-package', '')))
- variant('lib', default=True,
- description='Build the liblammps in addition to the executable')
- variant('mpi', default=True,
- description='Build with mpi')
- variant('jpeg', default=True,
- description='Build with jpeg support')
- variant('png', default=True,
- description='Build with png support')
- variant('ffmpeg', default=True,
- description='Build with ffmpeg support')
- variant('kim', default=True,
- description='Build with KIM support')
- variant('openmp', default=True, description='Build with OpenMP')
- variant('opencl', default=False, description='Build with OpenCL')
- variant('exceptions', default=False,
- description='Build with lammps exceptions')
- variant('cuda_mps', default=False,
- description='(CUDA only) Enable tweaks for running ' +
- 'with Nvidia CUDA Multi-process services daemon')
-
+ variant(
+ pkg,
+ default=False,
+ description="Activate the {0} package".format(pkg.replace("-package", "")),
+ )
+ variant("lib", default=True, description="Build the liblammps in addition to the executable")
+ variant("mpi", default=True, description="Build with mpi")
+ variant("jpeg", default=True, description="Build with jpeg support")
+ variant("png", default=True, description="Build with png support")
+ variant("ffmpeg", default=True, description="Build with ffmpeg support")
+ variant("kim", default=True, description="Build with KIM support")
+ variant("openmp", default=True, description="Build with OpenMP")
+ variant("opencl", default=False, description="Build with OpenCL")
+ variant("exceptions", default=False, description="Build with lammps exceptions")
variant(
- 'lammps_sizes', default='smallbig',
- description='LAMMPS integer sizes (smallsmall: all 32-bit, smallbig:' +
- '64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)',
- values=('smallbig', 'bigbig', 'smallsmall'), multi=False
- )
- variant('fftw_precision', default='double', when='+kspace',
- description='Select FFTW precision (used by Kspace)',
- values=('single', 'double'), multi=False)
+ "cuda_mps",
+ default=False,
+ description="(CUDA only) Enable tweaks for running "
+ + "with Nvidia CUDA Multi-process services daemon",
+ )
- depends_on('mpi', when='+mpi')
- depends_on('mpi', when='+mpiio')
- depends_on('fftw-api@3', when='+kspace')
- depends_on('voropp+pic', when='+voronoi')
- depends_on('netcdf-c+mpi', when='+user-netcdf')
- depends_on('netcdf-c+mpi', when='+netcdf')
- depends_on('blas', when='+user-atc')
- depends_on('blas', when='+atc')
- depends_on('lapack', when='+user-atc')
- depends_on('lapack', when='+atc')
- depends_on('opencl', when='+opencl')
- depends_on('latte@1.0.1', when='@:20180222+latte')
- depends_on('latte@1.1.1:', when='@20180316:20180628+latte')
- depends_on('latte@1.2.1:', when='@20180629:20200505+latte')
- depends_on('latte@1.2.2:', when='@20200602:+latte')
- depends_on('blas', when='+latte')
- depends_on('lapack', when='+latte')
- depends_on('python', when='+python')
- depends_on('mpi', when='+user-lb')
- depends_on('mpi', when='+latboltz')
- depends_on('mpi', when='+user-h5md')
- depends_on('mpi', when='+h5md')
- depends_on('hdf5', when='+user-h5md')
- depends_on('hdf5', when='+h5md')
- depends_on('jpeg', when='+jpeg')
- depends_on('kim-api', when='+kim')
- depends_on('libpng', when='+png')
- depends_on('ffmpeg', when='+ffmpeg')
- depends_on('kokkos+deprecated_code+shared@3.0.00', when='@20200303+kokkos')
- depends_on('kokkos+shared@3.1:', when='@20200505:+kokkos')
- depends_on('adios2', when='+user-adios')
- depends_on('adios2', when='+adios')
- depends_on('plumed', when='+user-plumed')
- depends_on('plumed', when='+plumed')
- depends_on('eigen@3:', when='+user-smd')
- depends_on('eigen@3:', when='+machdyn')
- depends_on('py-cython', when='+mliap+python')
- depends_on('py-cython', when='+ml-iap+python')
- depends_on('py-numpy', when='+mliap+python')
- depends_on('py-numpy', when='+ml-iap+python')
+ variant(
+ "lammps_sizes",
+ default="smallbig",
+ description="LAMMPS integer sizes (smallsmall: all 32-bit, smallbig:"
+ + "64-bit #atoms #timesteps, bigbig: also 64-bit imageint, 64-bit atom ids)",
+ values=("smallbig", "bigbig", "smallsmall"),
+ multi=False,
+ )
+ variant(
+ "fftw_precision",
+ default="double",
+ when="+kspace",
+ description="Select FFTW precision (used by Kspace)",
+ values=("single", "double"),
+ multi=False,
+ )
- conflicts('+cuda', when='+opencl')
- conflicts('+body', when='+poems@:20180628')
- conflicts('+latte', when='@:20170921')
- conflicts('+python', when='~lib')
- conflicts('+qeq', when='~manybody')
- conflicts('+user-atc', when='~manybody')
- conflicts('+atc', when='~manybody')
- conflicts('+user-misc', when='~manybody')
- conflicts('+user-phonon', when='~kspace')
- conflicts('+phonon', when='~kspace')
- conflicts('%gcc@9:', when='@:20200303+openmp')
- conflicts('+kokkos', when='@:20200227')
- conflicts('+dielectric', when='~kspace')
- conflicts('+dielectric', when='@:20210702~user-misc')
- conflicts('+dielectric', when='@20210728:~extra-pair')
- conflicts(
- '+meam', when='@20181212:20210527',
- msg='+meam is removed between @20181212 and @20210527, use +user-meamc instead')
- conflicts(
- '+user-meamc', when='@:20181212',
- msg='+user-meamc only added @20181212, use +meam instead')
- conflicts(
- '+user-reaction', when='@:20200303',
- msg='+user-reaction only supported for version 20200505 and later')
- conflicts(
- '+plugin', when='@:20210310',
- msg='+plugin only supported for version 20210408 and later')
- conflicts(
- '+user-brownian', when='@:20210408',
- msg='+user-brownian only supported for version 20210514 and later')
- conflicts(
- '+dielectric', when='@:20210527',
- msg='+dielectric only supported for version 20210702 and later')
- conflicts(
- '+dpd-basic', when='@:20210527',
- msg='+dpd-basic only supported for version 20210702 and later')
- conflicts(
- '+bpm', when='@:20220324',
- msg='+bpm only supported for version 20220504 and later')
- conflicts(
- '+electrode', when='@:20220324',
- msg='+electrode only supported for version 20220504 and later')
- conflicts('+electrode', when='~kspace')
- conflicts('+mliap', when='~snap')
- conflicts('+ml-iap', when='~ml-snap')
- conflicts(
- '+user-adios +mpi', when='^adios2~mpi',
- msg='With +user-adios, mpi setting for adios2 and lammps must be the same')
- conflicts(
- '+user-adios ~mpi', when='^adios2+mpi',
- msg='With +user-adios, mpi setting for adios2 and lammps must be the same')
- conflicts(
- '+adios +mpi', when='^adios2~mpi',
- msg='With +adios, mpi setting for adios2 and lammps must be the same')
- conflicts(
- '+adios ~mpi', when='^adios2+mpi',
- msg='With +adios, mpi setting for adios2 and lammps must be the same')
+ depends_on("mpi", when="+mpi")
+ depends_on("mpi", when="+mpiio")
+ depends_on("fftw-api@3", when="+kspace")
+ depends_on("voropp+pic", when="+voronoi")
+ depends_on("netcdf-c+mpi", when="+user-netcdf")
+ depends_on("netcdf-c+mpi", when="+netcdf")
+ depends_on("blas", when="+user-atc")
+ depends_on("blas", when="+atc")
+ depends_on("lapack", when="+user-atc")
+ depends_on("lapack", when="+atc")
+ depends_on("opencl", when="+opencl")
+ depends_on("latte@1.0.1", when="@:20180222+latte")
+ depends_on("latte@1.1.1:", when="@20180316:20180628+latte")
+ depends_on("latte@1.2.1:", when="@20180629:20200505+latte")
+ depends_on("latte@1.2.2:", when="@20200602:+latte")
+ depends_on("blas", when="+latte")
+ depends_on("lapack", when="+latte")
+ depends_on("python", when="+python")
+ depends_on("mpi", when="+user-lb")
+ depends_on("mpi", when="+latboltz")
+ depends_on("mpi", when="+user-h5md")
+ depends_on("mpi", when="+h5md")
+ depends_on("hdf5", when="+user-h5md")
+ depends_on("hdf5", when="+h5md")
+ depends_on("jpeg", when="+jpeg")
+ depends_on("kim-api", when="+kim")
+ depends_on("libpng", when="+png")
+ depends_on("ffmpeg", when="+ffmpeg")
+ depends_on("kokkos+deprecated_code+shared@3.0.00", when="@20200303+kokkos")
+ depends_on("kokkos+shared@3.1:", when="@20200505:+kokkos")
+ depends_on("adios2", when="+user-adios")
+ depends_on("adios2", when="+adios")
+ depends_on("plumed", when="+user-plumed")
+ depends_on("plumed", when="+plumed")
+ depends_on("eigen@3:", when="+user-smd")
+ depends_on("eigen@3:", when="+machdyn")
+ depends_on("py-cython", when="+mliap+python")
+ depends_on("py-cython", when="+ml-iap+python")
+ depends_on("py-numpy", when="+mliap+python")
+ depends_on("py-numpy", when="+ml-iap+python")
- # In the following, package refactoring at 2 July 2021
- conflicts(
- '+mliap', when='@20210702:',
- msg='+mliap was removed after @20210527, use +ml-iap instead')
+ conflicts("+cuda", when="+opencl")
+ conflicts("+body", when="+poems@:20180628")
+ conflicts("+latte", when="@:20170921")
+ conflicts("+python", when="~lib")
+ conflicts("+qeq", when="~manybody")
+ conflicts("+user-atc", when="~manybody")
+ conflicts("+atc", when="~manybody")
+ conflicts("+user-misc", when="~manybody")
+ conflicts("+user-phonon", when="~kspace")
+ conflicts("+phonon", when="~kspace")
+ conflicts("%gcc@9:", when="@:20200303+openmp")
+ conflicts("+kokkos", when="@:20200227")
+ conflicts("+dielectric", when="~kspace")
+ conflicts("+dielectric", when="@:20210702~user-misc")
+ conflicts("+dielectric", when="@20210728:~extra-pair")
+ conflicts(
+ "+meam",
+ when="@20181212:20210527",
+ msg="+meam is removed between @20181212 and @20210527, use +user-meamc instead",
+ )
conflicts(
- '+ml-iap', when='@:20210527',
- msg='+ml-iap only added @20210702, use +mliap instead')
+ "+user-meamc", when="@:20181212", msg="+user-meamc only added @20181212, use +meam instead"
+ )
conflicts(
- '+snap', when='@20210702:',
- msg='+snap was removed after @20210527, use +ml-snap instead')
+ "+user-reaction",
+ when="@:20200303",
+ msg="+user-reaction only supported for version 20200505 and later",
+ )
conflicts(
- '+ml-snap', when='@:20210527',
- msg='+ml-snap only added @20210702, use +snap instead')
- #
+ "+plugin", when="@:20210310", msg="+plugin only supported for version 20210408 and later"
+ )
conflicts(
- '+user-atc', when='@20210702:',
- msg='+user-atc was removed after @20210527, use +atc instead')
+ "+user-brownian",
+ when="@:20210408",
+ msg="+user-brownian only supported for version 20210514 and later",
+ )
conflicts(
- '+atc', when='@:20210527',
- msg='+atc only added @20210702, use +user-atc instead')
+ "+dielectric",
+ when="@:20210527",
+ msg="+dielectric only supported for version 20210702 and later",
+ )
conflicts(
- '+user-adios', when='@20210702:',
- msg='+user-adios was removed after @20210527, use +adios instead')
+ "+dpd-basic",
+ when="@:20210527",
+ msg="+dpd-basic only supported for version 20210702 and later",
+ )
+ conflicts("+bpm", when="@:20220324", msg="+bpm only supported for version 20220504 and later")
conflicts(
- '+adios', when='@:20210527',
- msg='+adios only added @20210702, use +user-adios instead')
+ "+electrode",
+ when="@:20220324",
+ msg="+electrode only supported for version 20220504 and later",
+ )
+ conflicts("+electrode", when="~kspace")
+ conflicts("+mliap", when="~snap")
+ conflicts("+ml-iap", when="~ml-snap")
conflicts(
- '+user-awpmd', when='@20210702:',
- msg='+user-awpmd was removed after @20210527, use +awpmd instead')
+ "+user-adios +mpi",
+ when="^adios2~mpi",
+ msg="With +user-adios, mpi setting for adios2 and lammps must be the same",
+ )
conflicts(
- '+awpmd', when='@:20210527',
- msg='+awpmd only added @20210702, use +user-awpmd instead')
+ "+user-adios ~mpi",
+ when="^adios2+mpi",
+ msg="With +user-adios, mpi setting for adios2 and lammps must be the same",
+ )
conflicts(
- '+user-bocs', when='@20210702:',
- msg='+user-bocs was removed after @20210527, use +bocs instead')
+ "+adios +mpi",
+ when="^adios2~mpi",
+ msg="With +adios, mpi setting for adios2 and lammps must be the same",
+ )
conflicts(
- '+bocs', when='@:20210527',
- msg='+bocs only added @20210702, use +user-bocs instead')
+ "+adios ~mpi",
+ when="^adios2+mpi",
+ msg="With +adios, mpi setting for adios2 and lammps must be the same",
+ )
+
+ # In the following, package refactoring at 2 July 2021
conflicts(
- '+user-brownian', when='@20210702:',
- msg='+user-brownian was removed after @20210527, use +brownian instead')
+ "+mliap", when="@20210702:", msg="+mliap was removed after @20210527, use +ml-iap instead"
+ )
+ conflicts("+ml-iap", when="@:20210527", msg="+ml-iap only added @20210702, use +mliap instead")
conflicts(
- '+brownian', when='@:20210527',
- msg='+brownian only added @20210702, use +user-brownian instead')
+ "+snap", when="@20210702:", msg="+snap was removed after @20210527, use +ml-snap instead"
+ )
conflicts(
- '+user-cgsdk', when='@20210702:',
- msg='+user-cgsdk was removed after @20210527, use +cg-sdk instead')
+ "+ml-snap", when="@:20210527", msg="+ml-snap only added @20210702, use +snap instead"
+ )
+ #
conflicts(
- '+cg-sdk', when='@:20210527',
- msg='+cg-sdk only added @20210702, use +user-cgsdk instead')
+ "+user-atc",
+ when="@20210702:",
+ msg="+user-atc was removed after @20210527, use +atc instead",
+ )
+ conflicts("+atc", when="@:20210527", msg="+atc only added @20210702, use +user-atc instead")
conflicts(
- '+user-colvars', when='@20210702:',
- msg='+user-colvars was removed after @20210527, use +colvars instead')
+ "+user-adios",
+ when="@20210702:",
+ msg="+user-adios was removed after @20210527, use +adios instead",
+ )
conflicts(
- '+colvars', when='@:20210527',
- msg='+colvars only added @20210702, use +user-colvars instead')
+ "+adios", when="@:20210527", msg="+adios only added @20210702, use +user-adios instead"
+ )
conflicts(
- '+user-diffraction', when='@20210702:',
- msg='+user-diffraction was removed after @20210527, use +diffraction instead')
+ "+user-awpmd",
+ when="@20210702:",
+ msg="+user-awpmd was removed after @20210527, use +awpmd instead",
+ )
conflicts(
- '+diffraction', when='@:20210527',
- msg='+diffraction only added @20210702, use +user-diffraction instead')
+ "+awpmd", when="@:20210527", msg="+awpmd only added @20210702, use +user-awpmd instead"
+ )
conflicts(
- '+user-dpd', when='@20210702:',
- msg='+user-dpd was removed after @20210527, use +dpd-react instead')
+ "+user-bocs",
+ when="@20210702:",
+ msg="+user-bocs was removed after @20210527, use +bocs instead",
+ )
+ conflicts("+bocs", when="@:20210527", msg="+bocs only added @20210702, use +user-bocs instead")
conflicts(
- '+dpd-react', when='@:20210527',
- msg='+dpd-react only added @20210702, use +user-dpd instead')
+ "+user-brownian",
+ when="@20210702:",
+ msg="+user-brownian was removed after @20210527, use +brownian instead",
+ )
conflicts(
- '+user-drude', when='@20210702:',
- msg='+user-drude was removed after @20210527, use +drude instead')
+ "+brownian",
+ when="@:20210527",
+ msg="+brownian only added @20210702, use +user-brownian instead",
+ )
conflicts(
- '+drude', when='@:20210527',
- msg='+drude only added @20210702, use +user-drude instead')
+ "+user-cgsdk",
+ when="@20210702:",
+ msg="+user-cgsdk was removed after @20210527, use +cg-sdk instead",
+ )
conflicts(
- '+user-eff', when='@20210702:',
- msg='+user-eff was removed after @20210527, use +eff instead')
+ "+cg-sdk", when="@:20210527", msg="+cg-sdk only added @20210702, use +user-cgsdk instead"
+ )
conflicts(
- '+eff', when='@:20210527',
- msg='+eff only added @20210702, use +user-eff instead')
+ "+user-colvars",
+ when="@20210702:",
+ msg="+user-colvars was removed after @20210527, use +colvars instead",
+ )
conflicts(
- '+user-fep', when='@20210702:',
- msg='+user-fep was removed after @20210527, use +fep instead')
+ "+colvars",
+ when="@:20210527",
+ msg="+colvars only added @20210702, use +user-colvars instead",
+ )
conflicts(
- '+fep', when='@:20210527',
- msg='+fep only added @20210702, use +user-fep instead')
+ "+user-diffraction",
+ when="@20210702:",
+ msg="+user-diffraction was removed after @20210527, use +diffraction instead",
+ )
conflicts(
- '+user-h5md', when='@20210702:',
- msg='+user-h5md was removed after @20210527, use +h5md instead')
+ "+diffraction",
+ when="@:20210527",
+ msg="+diffraction only added @20210702, use +user-diffraction instead",
+ )
conflicts(
- '+h5md', when='@:20210527',
- msg='+h5md only added @20210702, use +user-h5md instead')
+ "+user-dpd",
+ when="@20210702:",
+ msg="+user-dpd was removed after @20210527, use +dpd-react instead",
+ )
conflicts(
- '+user-lb', when='@20210702:',
- msg='+user-lb was removed after @20210527, use +latboltz instead')
+ "+dpd-react",
+ when="@:20210527",
+ msg="+dpd-react only added @20210702, use +user-dpd instead",
+ )
conflicts(
- '+latboltz', when='@:20210527',
- msg='+latboltz only added @20210702, use +user-lb instead')
+ "+user-drude",
+ when="@20210702:",
+ msg="+user-drude was removed after @20210527, use +drude instead",
+ )
conflicts(
- '+user-manifold', when='@20210702:',
- msg='+user-manifold was removed after @20210527, use +manifold instead')
+ "+drude", when="@:20210527", msg="+drude only added @20210702, use +user-drude instead"
+ )
conflicts(
- '+manifold', when='@:20210527',
- msg='+manifold only added @20210702, use +user-manifold instead')
+ "+user-eff",
+ when="@20210702:",
+ msg="+user-eff was removed after @20210527, use +eff instead",
+ )
+ conflicts("+eff", when="@:20210527", msg="+eff only added @20210702, use +user-eff instead")
conflicts(
- '+user-meamc', when='@20210702:',
- msg='+user-meamc was removed after @20210527, use +meam instead')
+ "+user-fep",
+ when="@20210702:",
+ msg="+user-fep was removed after @20210527, use +fep instead",
+ )
+ conflicts("+fep", when="@:20210527", msg="+fep only added @20210702, use +user-fep instead")
conflicts(
- '+user-mesodpd', when='@20210702:',
- msg='+user-mesodpd was removed after @20210527, use +dpd-meso instead')
+ "+user-h5md",
+ when="@20210702:",
+ msg="+user-h5md was removed after @20210527, use +h5md instead",
+ )
+ conflicts("+h5md", when="@:20210527", msg="+h5md only added @20210702, use +user-h5md instead")
conflicts(
- '+dpd-meso', when='@:20210527',
- msg='+dpd-meso only added @20210702, use +user-mesodpd instead')
+ "+user-lb",
+ when="@20210702:",
+ msg="+user-lb was removed after @20210527, use +latboltz instead",
+ )
conflicts(
- '+user-mesont', when='@20210702:',
- msg='+user-mesont was removed after @20210527, use +mesont instead')
+ "+latboltz", when="@:20210527", msg="+latboltz only added @20210702, use +user-lb instead"
+ )
conflicts(
- '+mesont', when='@:20210527',
- msg='+mesont only added @20210702, use +user-mesont instead')
+ "+user-manifold",
+ when="@20210702:",
+ msg="+user-manifold was removed after @20210527, use +manifold instead",
+ )
conflicts(
- '+user-mgpt', when='@20210702:',
- msg='+user-mgpt was removed after @20210527, use +mgpt instead')
+ "+manifold",
+ when="@:20210527",
+ msg="+manifold only added @20210702, use +user-manifold instead",
+ )
conflicts(
- '+mgpt', when='@:20210527',
- msg='+mgpt only added @20210702, use +user-mgpt instead')
+ "+user-meamc",
+ when="@20210702:",
+ msg="+user-meamc was removed after @20210527, use +meam instead",
+ )
conflicts(
- '+user-mofff', when='@20210702:',
- msg='+user-mofff was removed after @20210527, use +mofff instead')
+ "+user-mesodpd",
+ when="@20210702:",
+ msg="+user-mesodpd was removed after @20210527, use +dpd-meso instead",
+ )
conflicts(
- '+mofff', when='@:20210527',
- msg='+mofff only added @20210702, use +user-mofff instead')
+ "+dpd-meso",
+ when="@:20210527",
+ msg="+dpd-meso only added @20210702, use +user-mesodpd instead",
+ )
conflicts(
- '+user-molfile', when='@20210702:',
- msg='+user-molfile was removed after @20210527, use +molfile instead')
+ "+user-mesont",
+ when="@20210702:",
+ msg="+user-mesont was removed after @20210527, use +mesont instead",
+ )
conflicts(
- '+molfile', when='@:20210527',
- msg='+molfile only added @20210702, use +user-molfile instead')
+ "+mesont", when="@:20210527", msg="+mesont only added @20210702, use +user-mesont instead"
+ )
conflicts(
- '+user-netcdf', when='@20210702:',
- msg='+user-netcdf was removed after @20210527, use +netcdf instead')
+ "+user-mgpt",
+ when="@20210702:",
+ msg="+user-mgpt was removed after @20210527, use +mgpt instead",
+ )
+ conflicts("+mgpt", when="@:20210527", msg="+mgpt only added @20210702, use +user-mgpt instead")
conflicts(
- '+netcdf', when='@:20210527',
- msg='+netcdf only added @20210702, use +user-netcdf instead')
+ "+user-mofff",
+ when="@20210702:",
+ msg="+user-mofff was removed after @20210527, use +mofff instead",
+ )
conflicts(
- '+user-omp', when='@20210702:',
- msg='+user-omp was removed after @20210527, use +openmp-package instead')
+ "+mofff", when="@:20210527", msg="+mofff only added @20210702, use +user-mofff instead"
+ )
conflicts(
- '+openmp-package', when='@:20210527',
- msg='+openmp-package only added @20210702, use +user-omp instead')
+ "+user-molfile",
+ when="@20210702:",
+ msg="+user-molfile was removed after @20210527, use +molfile instead",
+ )
conflicts(
- '+user-phonon', when='@20210702:',
- msg='+user-phonon was removed after @20210527, use +phonon instead')
+ "+molfile",
+ when="@:20210527",
+ msg="+molfile only added @20210702, use +user-molfile instead",
+ )
conflicts(
- '+phonon', when='@:20210527',
- msg='+phonon only added @20210702, use +user-phonon instead')
+ "+user-netcdf",
+ when="@20210702:",
+ msg="+user-netcdf was removed after @20210527, use +netcdf instead",
+ )
conflicts(
- '+user-plumed', when='@20210702:',
- msg='+user-plumed was removed after @20210527, use +plumed instead')
+ "+netcdf", when="@:20210527", msg="+netcdf only added @20210702, use +user-netcdf instead"
+ )
conflicts(
- '+plumed', when='@:20210527',
- msg='+plumed only added @20210702, use +user-plumed instead')
+ "+user-omp",
+ when="@20210702:",
+ msg="+user-omp was removed after @20210527, use +openmp-package instead",
+ )
conflicts(
- '+user-ptm', when='@20210702:',
- msg='+user-ptm was removed after @20210527, use +ptm instead')
+ "+openmp-package",
+ when="@:20210527",
+ msg="+openmp-package only added @20210702, use +user-omp instead",
+ )
conflicts(
- '+ptm', when='@:20210527',
- msg='+ptm only added @20210702, use +user-ptm instead')
+ "+user-phonon",
+ when="@20210702:",
+ msg="+user-phonon was removed after @20210527, use +phonon instead",
+ )
conflicts(
- '+user-qtb', when='@20210702:',
- msg='+user-qtb was removed after @20210527, use +qtb instead')
+ "+phonon", when="@:20210527", msg="+phonon only added @20210702, use +user-phonon instead"
+ )
conflicts(
- '+qtb', when='@:20210527',
- msg='+qtb only added @20210702, use +user-qtb instead')
+ "+user-plumed",
+ when="@20210702:",
+ msg="+user-plumed was removed after @20210527, use +plumed instead",
+ )
conflicts(
- '+user-reaction', when='@20210702:',
- msg='+user-reaction was removed after @20210527, use +reaction instead')
+ "+plumed", when="@:20210527", msg="+plumed only added @20210702, use +user-plumed instead"
+ )
conflicts(
- '+reaction', when='@:20210527',
- msg='+reaction only added @20210702, use +user-reaction instead')
+ "+user-ptm",
+ when="@20210702:",
+ msg="+user-ptm was removed after @20210527, use +ptm instead",
+ )
+ conflicts("+ptm", when="@:20210527", msg="+ptm only added @20210702, use +user-ptm instead")
conflicts(
- '+user-reaxc', when='@20210702:',
- msg='+user-reaxc was removed after @20210527, use +reaxff instead')
+ "+user-qtb",
+ when="@20210702:",
+ msg="+user-qtb was removed after @20210527, use +qtb instead",
+ )
+ conflicts("+qtb", when="@:20210527", msg="+qtb only added @20210702, use +user-qtb instead")
conflicts(
- '+reaxff', when='@:20210527',
- msg='+reaxff only added @20210702, use +user-reaxc instead')
+ "+user-reaction",
+ when="@20210702:",
+ msg="+user-reaction was removed after @20210527, use +reaction instead",
+ )
conflicts(
- '+user-sdpd', when='@20210702:',
- msg='+user-sdpd was removed after @20210527, use +dpd-smooth instead')
+ "+reaction",
+ when="@:20210527",
+ msg="+reaction only added @20210702, use +user-reaction instead",
+ )
conflicts(
- '+dpd-smooth', when='@:20210527',
- msg='+dpd-smooth only added @20210702, use +user-sdpd instead')
+ "+user-reaxc",
+ when="@20210702:",
+ msg="+user-reaxc was removed after @20210527, use +reaxff instead",
+ )
conflicts(
- '+user-smd', when='@20210702:',
- msg='+user-smd was removed after @20210527, use +machdyn instead')
+ "+reaxff", when="@:20210527", msg="+reaxff only added @20210702, use +user-reaxc instead"
+ )
conflicts(
- '+machdyn', when='@:20210527',
- msg='+machdyn only added @20210702, use +user-smd instead')
+ "+user-sdpd",
+ when="@20210702:",
+ msg="+user-sdpd was removed after @20210527, use +dpd-smooth instead",
+ )
conflicts(
- '+user-smtbq', when='@20210702:',
- msg='+user-smtbq was removed after @20210527, use +smtbq instead')
+ "+dpd-smooth",
+ when="@:20210527",
+ msg="+dpd-smooth only added @20210702, use +user-sdpd instead",
+ )
conflicts(
- '+smtbq', when='@:20210527',
- msg='+smtbq only added @20210702, use +user-smtbq instead')
+ "+user-smd",
+ when="@20210702:",
+ msg="+user-smd was removed after @20210527, use +machdyn instead",
+ )
conflicts(
- '+user-sph', when='@20210702:',
- msg='+user-sph was removed after @20210527, use +sph instead')
+ "+machdyn", when="@:20210527", msg="+machdyn only added @20210702, use +user-smd instead"
+ )
conflicts(
- '+sph', when='@:20210527',
- msg='+sph only added @20210702, use +user-sph instead')
+ "+user-smtbq",
+ when="@20210702:",
+ msg="+user-smtbq was removed after @20210527, use +smtbq instead",
+ )
conflicts(
- '+user-tally', when='@20210702:',
- msg='+user-tally was removed after @20210527, use +tally instead')
+ "+smtbq", when="@:20210527", msg="+smtbq only added @20210702, use +user-smtbq instead"
+ )
conflicts(
- '+tally', when='@:20210527',
- msg='+tally only added @20210702, use +user-tally instead')
+ "+user-sph",
+ when="@20210702:",
+ msg="+user-sph was removed after @20210527, use +sph instead",
+ )
+ conflicts("+sph", when="@:20210527", msg="+sph only added @20210702, use +user-sph instead")
conflicts(
- '+user-uef', when='@20210702:',
- msg='+user-uef was removed after @20210527, use +uef instead')
+ "+user-tally",
+ when="@20210702:",
+ msg="+user-tally was removed after @20210527, use +tally instead",
+ )
conflicts(
- '+uef', when='@:20210527',
- msg='+uef only added @20210702, use +user-uef instead')
+ "+tally", when="@:20210527", msg="+tally only added @20210702, use +user-tally instead"
+ )
conflicts(
- '+user-yaff', when='@20210702:',
- msg='+user-yaff was removed after @20210527, use +yaff instead')
+ "+user-uef",
+ when="@20210702:",
+ msg="+user-uef was removed after @20210527, use +uef instead",
+ )
+ conflicts("+uef", when="@:20210527", msg="+uef only added @20210702, use +user-uef instead")
conflicts(
- '+yaff', when='@:20210527',
- msg='+yaff only added @20210702, use +user-yaff instead')
+ "+user-yaff",
+ when="@20210702:",
+ msg="+user-yaff was removed after @20210527, use +yaff instead",
+ )
+ conflicts("+yaff", when="@:20210527", msg="+yaff only added @20210702, use +user-yaff instead")
# In the following, package refactoring at 28 July 2021
conflicts(
- '+user-misc', when='@20210728:',
- msg='+user-misc was removed after @20210702, and split over multiple packages')
+ "+user-misc",
+ when="@20210728:",
+ msg="+user-misc was removed after @20210702, and split over multiple packages",
+ )
conflicts(
- '+extra-compute', when='@:20210702',
- msg='+extra-compute only added @20210728, use +user-misc instead')
+ "+extra-compute",
+ when="@:20210702",
+ msg="+extra-compute only added @20210728, use +user-misc instead",
+ )
conflicts(
- '+extra-dump', when='@:20210702',
- msg='+extra-dump only added @20210728, use +user-misc instead')
+ "+extra-dump",
+ when="@:20210702",
+ msg="+extra-dump only added @20210728, use +user-misc instead",
+ )
conflicts(
- '+extra-fix', when='@:20210702',
- msg='+extra-fix only added @20210728, use +user-misc instead')
+ "+extra-fix",
+ when="@:20210702",
+ msg="+extra-fix only added @20210728, use +user-misc instead",
+ )
conflicts(
- '+extra-molecule', when='@:20210702',
- msg='+extra-molecule only added @20210728, use +user-misc instead')
+ "+extra-molecule",
+ when="@:20210702",
+ msg="+extra-molecule only added @20210728, use +user-misc instead",
+ )
conflicts(
- '+extra-pair', when='@:20210702',
- msg='+extra-pair only added @20210728, use +user-misc instead')
+ "+extra-pair",
+ when="@:20210702",
+ msg="+extra-pair only added @20210728, use +user-misc instead",
+ )
conflicts(
- '+interlayer', when='@:20210702',
- msg='+interlayer only added @20210728, use +user-misc instead')
+ "+interlayer",
+ when="@:20210702",
+ msg="+interlayer only added @20210728, use +user-misc instead",
+ )
conflicts(
- '+orient', when='@:20210702',
- msg='+orient only added @20210728, use +user-misc instead')
+ "+orient", when="@:20210702", msg="+orient only added @20210728, use +user-misc instead"
+ )
patch("lib.patch", when="@20170901")
patch("660.patch", when="@20170922")
patch("gtest_fix.patch", when="@:20210310 %aocc@3.2.0")
- patch("https://github.com/lammps/lammps/commit/562300996285fdec4ef74542383276898555af06.patch?full_index=1",
- sha256="e6f1b62bbfdc79d632f4cea98019202d0dd25aa4ae61a70df1164cb4f290df79",
- when="@20200721 +cuda")
+ patch(
+ "https://github.com/lammps/lammps/commit/562300996285fdec4ef74542383276898555af06.patch?full_index=1",
+ sha256="e6f1b62bbfdc79d632f4cea98019202d0dd25aa4ae61a70df1164cb4f290df79",
+ when="@20200721 +cuda",
+ )
- root_cmakelists_dir = 'cmake'
+ root_cmakelists_dir = "cmake"
def cmake_args(self):
spec = self.spec
- mpi_prefix = 'ENABLE'
- pkg_prefix = 'ENABLE'
- if spec.satisfies('@20180629:'):
- mpi_prefix = 'BUILD'
- pkg_prefix = 'PKG'
+ mpi_prefix = "ENABLE"
+ pkg_prefix = "ENABLE"
+ if spec.satisfies("@20180629:"):
+ mpi_prefix = "BUILD"
+ pkg_prefix = "PKG"
args = [
- self.define_from_variant('BUILD_SHARED_LIBS', 'lib'),
- self.define_from_variant('LAMMPS_EXCEPTIONS', 'exceptions'),
- '-D{0}_MPI={1}'.format(
- mpi_prefix,
- 'ON' if '+mpi' in spec else 'OFF'),
- self.define_from_variant('BUILD_OMP', 'openmp'),
- '-DENABLE_TESTING=ON'
+ self.define_from_variant("BUILD_SHARED_LIBS", "lib"),
+ self.define_from_variant("LAMMPS_EXCEPTIONS", "exceptions"),
+ "-D{0}_MPI={1}".format(mpi_prefix, "ON" if "+mpi" in spec else "OFF"),
+ self.define_from_variant("BUILD_OMP", "openmp"),
+ "-DENABLE_TESTING=ON",
]
- if spec.satisfies('+cuda'):
- args.append('-DPKG_GPU=ON')
- args.append('-DGPU_API=cuda')
- cuda_arch = spec.variants['cuda_arch'].value
- if cuda_arch != 'none':
- args.append('-DGPU_ARCH=sm_{0}'.format(cuda_arch[0]))
- args.append(self.define_from_variant('CUDA_MPS_SUPPORT', 'cuda_mps'))
- elif spec.satisfies('+opencl'):
- args.append('-DPKG_GPU=ON')
- args.append('-DGPU_API=opencl')
+ if spec.satisfies("+cuda"):
+ args.append("-DPKG_GPU=ON")
+ args.append("-DGPU_API=cuda")
+ cuda_arch = spec.variants["cuda_arch"].value
+ if cuda_arch != "none":
+ args.append("-DGPU_ARCH=sm_{0}".format(cuda_arch[0]))
+ args.append(self.define_from_variant("CUDA_MPS_SUPPORT", "cuda_mps"))
+ elif spec.satisfies("+opencl"):
+ args.append("-DPKG_GPU=ON")
+ args.append("-DGPU_API=opencl")
else:
- args.append('-DPKG_GPU=OFF')
+ args.append("-DPKG_GPU=OFF")
- if spec.satisfies('@20180629:+lib'):
- args.append('-DBUILD_LIB=ON')
+ if spec.satisfies("@20180629:+lib"):
+ args.append("-DBUILD_LIB=ON")
- if spec.satisfies('%aocc'):
- cxx_flags = '-Ofast -mfma -fvectorize -funroll-loops'
- args.append(self.define('CMAKE_CXX_FLAGS_RELEASE', cxx_flags))
+ if spec.satisfies("%aocc"):
+ cxx_flags = "-Ofast -mfma -fvectorize -funroll-loops"
+ args.append(self.define("CMAKE_CXX_FLAGS_RELEASE", cxx_flags))
# Overwrite generic cpu tune option
cmake_tune_flags = archspec.cpu.TARGETS[spec.target.name].optimization_flags(
- spec.compiler.name,
- spec.compiler.version
+ spec.compiler.name, spec.compiler.version
)
- args.append(self.define('CMAKE_TUNE_FLAGS', cmake_tune_flags))
+ args.append(self.define("CMAKE_TUNE_FLAGS", cmake_tune_flags))
- lammps_sizes = self.spec.variants['lammps_sizes'].value
- args.append(self.define('LAMMPS_SIZES', lammps_sizes))
+ lammps_sizes = self.spec.variants["lammps_sizes"].value
+ args.append(self.define("LAMMPS_SIZES", lammps_sizes))
- args.append(self.define_from_variant('WITH_JPEG', 'jpeg'))
- args.append(self.define_from_variant('WITH_PNG', 'png'))
- args.append(self.define_from_variant('WITH_FFMPEG', 'ffmpeg'))
+ args.append(self.define_from_variant("WITH_JPEG", "jpeg"))
+ args.append(self.define_from_variant("WITH_PNG", "png"))
+ args.append(self.define_from_variant("WITH_FFMPEG", "ffmpeg"))
for pkg in self.supported_packages:
- opt = '-D{0}_{1}'.format(pkg_prefix, pkg.replace('-package', '').upper())
- if '+{0}'.format(pkg) in spec:
- args.append('{0}=ON'.format(opt))
+ opt = "-D{0}_{1}".format(pkg_prefix, pkg.replace("-package", "").upper())
+ if "+{0}".format(pkg) in spec:
+ args.append("{0}=ON".format(opt))
else:
- args.append('{0}=OFF'.format(opt))
- if '+kim' in spec:
- args.append('-DPKG_KIM=ON')
- if '+kspace' in spec:
+ args.append("{0}=OFF".format(opt))
+ if "+kim" in spec:
+ args.append("-DPKG_KIM=ON")
+ if "+kspace" in spec:
# If FFTW3 is selected, then CMake will try to detect, if threaded
# FFTW libraries are available and enable them by default.
- if '^fftw' in spec:
- args.append('-DFFT=FFTW3')
- if '^mkl' in spec:
- args.append('-DFFT=MKL')
- if '^amdfftw' in spec:
- args.append(self.define('FFT', 'FFTW3'))
- if '^cray-fftw' in spec:
- args.append('-DFFT=FFTW3')
+ if "^fftw" in spec:
+ args.append("-DFFT=FFTW3")
+ if "^mkl" in spec:
+ args.append("-DFFT=MKL")
+ if "^amdfftw" in spec:
+ args.append(self.define("FFT", "FFTW3"))
+ if "^cray-fftw" in spec:
+ args.append("-DFFT=FFTW3")
# Using the -DFFT_SINGLE setting trades off a little accuracy
# for reduced memory use and parallel communication costs
# for transposing 3d FFT data.
- if spec.satisfies('fftw_precision=single'):
- args.append('-DFFT_SINGLE=True')
+ if spec.satisfies("fftw_precision=single"):
+ args.append("-DFFT_SINGLE=True")
else:
- args.append('-DFFT_SINGLE=False')
+ args.append("-DFFT_SINGLE=False")
- if '+kokkos' in spec:
- args.append('-DEXTERNAL_KOKKOS=ON')
- if '+user-adios' in spec or '+adios' in spec:
- args.append('-DADIOS2_DIR={0}'.format(self.spec['adios2'].prefix))
- if '+user-plumed' in spec or '+plumed' in spec:
- args.append('-DDOWNLOAD_PLUMED=no')
- if '+shared' in self.spec['plumed']:
- args.append('-DPLUMED_MODE=shared')
+ if "+kokkos" in spec:
+ args.append("-DEXTERNAL_KOKKOS=ON")
+ if "+user-adios" in spec or "+adios" in spec:
+ args.append("-DADIOS2_DIR={0}".format(self.spec["adios2"].prefix))
+ if "+user-plumed" in spec or "+plumed" in spec:
+ args.append("-DDOWNLOAD_PLUMED=no")
+ if "+shared" in self.spec["plumed"]:
+ args.append("-DPLUMED_MODE=shared")
else:
- args.append('-DPLUMED_MODE=static')
- if '+user-smd' in spec or '+machdyn' in spec:
- args.append('-DDOWNLOAD_EIGEN3=no')
- args.append('-DEIGEN3_INCLUDE_DIR={0}'.format(
- self.spec['eigen'].prefix.include))
+ args.append("-DPLUMED_MODE=static")
+ if "+user-smd" in spec or "+machdyn" in spec:
+ args.append("-DDOWNLOAD_EIGEN3=no")
+ args.append("-DEIGEN3_INCLUDE_DIR={0}".format(self.spec["eigen"].prefix.include))
return args
def setup_run_environment(self, env):
- env.set('LAMMPS_POTENTIALS',
- self.prefix.share.lammps.potentials)
+ env.set("LAMMPS_POTENTIALS", self.prefix.share.lammps.potentials)