# IT4Innovations 2017

easyblock = 'CmdCp'

name = 'LAMMPS'
version = '22Sep2017'

homepage = 'http://lammps.sandia.gov'
description = """LAMMPS is a classical molecular dynamics code,
and an acronym for Large-scale Atomic/Molecular Massively Parallel Simulator.
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.
"""

toolchain = {'name': 'intel', 'version': '2017a'}

source_urls = ['https://github.com/lammps/lammps/archive']

sources = ['patch_22Sep2017.tar.gz']

dependencies = [
    ('tbb', '2017.6.196', '', True),
]


local_commands = "cd src && make yes-kspace && make yes-manybody && make yes-molecule && "
local_commands += "make yes-qeq && make yes-rigid && make yes-user-misc && "
local_commands += "make yes-user-reaxc && make yes-user-omp && make yes-user-intel && "
local_commands += "sed -i -e 's/-no-offload/-qno-offload/g' MAKE/OPTIONS/Makefile.intel_cpu_intelmpi && "
local_commands += "make -j 16 intel_cpu_intelmpi && mv lmp_intel_cpu_intelmpi lammps"

cmds_map = [('.*', local_commands)]

files_to_copy = [
    (['src/lammps'], 'bin'),
]

sanity_check_paths = {
    'files': ['bin/lammps'],
    'dirs': [''],
}

moduleclass = 'chem'