# IT4Innovations 2018

easyblock = 'CmdCp'

name = 'LAMMPS'
version = '22Jun2018'

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': 'foss', 'version': '2017a'}

source_urls = ['https://github.com/lammps/lammps/archive']
sources = ['patch_17Jan2018.tar.gz']

patches = [
    'LAMMPS-22Jun2018-foss-2017a.patch',
]

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

builddependencies = [
    ('Py', '2.7', '', True),
    ('CMake', '3.5.2', '', True)
]

local_commands = "cd src && make yes-kokkos && "
local_commands += "make yes-user-phonon && make yes-misc && "
local_commands += "make lib-reax args='-m mpi' && make yes-reax && "
local_commands += "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 && "
local_commands += "make -j 16 omp && mv lmp_omp lammps"

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

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

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

moduleclass = 'chem'