easyconfigs-it4i/d/DFTB+/DFTB+-22.1-intel-2020b.eb
Jakub Kropacek d113176f30 modified: b/BAGEL/BAGEL-1.2.2-intel-2021b.eb
new file:   d/DFTB+/DFTB+-21.1-intel-2021a.eb
	new file:   d/DFTB+/DFTB+-22.1-intel-2020b-ARPACK.eb
	modified:   d/DFTB+/DFTB+-22.1-intel-2020b.eb
	new file:   e/ELSI/ELSI-2.6.4-intel-2020b.eb
2022-06-24 12:25:55 +02:00

79 lines
2.6 KiB
Plaintext

# IT4Innovations
# LK JK 2022
easyblock = 'CMakeMake'
name = 'DFTB+'
version = '22.1'
homepage = 'https://www.dftb-plus.info'
description = """DFTB+ is a fast and efficient versatile quantum mechanical simulation package.
It is based on the Density Functional Tight Binding (DFTB) method, containing
almost all of the useful extensions which have been developed for the DFTB
framework so far. Using DFTB+ you can carry out quantum mechanical simulations
like with ab-initio density functional theory based packages, but in an
approximate way gaining typically around two order of magnitude in speed."""
toolchain = {'name': 'intel', 'version': '2020b'}
# AMD/intel cpu
import os
if os.environ.get("CLUSTERNAME") in ["KAROLINA"]:
toolchainopts = {'lowopt': True, 'optarch': 'march=core-avx2'}
else:
toolchainopts = {'lowopt': True, 'optarch': False}
local_external_dir = '%%(builddir)s/dftbplus-%%(version)s/external/%s/origin/'
local_external_extract = 'mkdir -p %s && tar -C %s' % (local_external_dir, local_external_dir)
local_external_extract += ' --strip-components=1 -xzf %%s'
sources = [
{
# DFTB+ source code
'source_urls': ['https://github.com/dftbplus/dftbplus/archive'],
'download_filename': '%(version)s.tar.gz',
'filename': SOURCE_TAR_GZ,
},
{
# Slater-Koster (slakos) data for testing
'source_urls': ['https://github.com/dftbplus/testparams/archive'],
'download_filename': 'd0ea16df2b56d14c7c3dc9329a8d3bac9fea50a0.tar.gz',
'filename': 'slakos-data-%(version)s.tar.gz',
'extract_cmd': local_external_extract % ('slakos', 'slakos'),
},
]
checksums = [
'f0fc9a076aa2d7be03c31a3a845d8151fc0cc0b1d421e11c37044f78a42abb33', # DFTB+-22.1.tar.gz
'9b64193368a13ae7c238399da8be2b3730a0f3273f9bf6c8054b2ff57d748823', # slakos-data-22.1.tar.gz
]
builddependencies = [
('CMake', '3.18.4'),
]
dependencies = [
# ('Python', '3.8.6'),
# ('SciPy-bundle', '2020.11'),
# ('arpack-ng', '3.8.0'),
('dftd3-lib', '0.9.2', '', ('GCC', '10.2.0')),
('ELSI', '2.6.4'),
('tblite', '0.2.1'),
]
# Enable MPI parallelism and ELSI
configopts = ' -DWITH_MPI=1 -DWITH_ELSI=1 '
# Use DFTD3 from += ' WITH_DFTD3=1 COMPILE_DFTD3=0 DFTD3_INCS="-I$EBROOTDFTD3MINLIB/include"'
configopts += ' -DWITH_DFTD3=1 -DCOMPILE_DFTD3=0 -DDFTD3_INCS="-I$EBROOTDFTD3MINLIB/include"'
configopts += ' -DDFTD3_LIBS="-L$EBROOTDFTD3MINLIB/lib -ldftd3"'
# Link to tblite
configopts += ' -DWITH_TBLITE=1 '
installopts = 'INSTALLDIR="%(installdir)s"'
sanity_check_paths = {
'files': ['bin/' + x for x in ['dftb+', 'modes', 'waveplot']],
'dirs': []
}
moduleclass = 'phys'