mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-08 07:52:11 +01:00
81 lines
2.6 KiB
Plaintext
81 lines
2.6 KiB
Plaintext
# IT4Innovations
|
|
# LK 2022
|
|
|
|
easyblock = 'CMakeMake'
|
|
|
|
name = 'DFTB+'
|
|
version = '21.2'
|
|
#versionsuffix = '-Python-%(pyver)s'
|
|
|
|
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
|
|
#toolchainopts = {'lowopt': True, 'optarch': False} # original
|
|
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'),
|
|
},
|
|
]
|
|
|
|
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')),
|
|
]
|
|
|
|
# Link to Arpack
|
|
local_makeopts = ' WITH_MPI=1 WITH_ARPACK=1 ARPACK_LIBS="-L$EBROOTARPACKMINNG/lib -larpack" ARPACK_NEEDS_LAPACK=1'
|
|
# Use DFTD3 from EB
|
|
local_makeopts += ' WITH_DFTD3=1 COMPILE_DFTD3=0 DFTD3_INCS="-I$EBROOTDFTD3MINLIB/include"'
|
|
local_makeopts += ' DFTD3_LIBS="-L$EBROOTDFTD3MINLIB/lib -ldftd3"'
|
|
|
|
buildopts = local_makeopts
|
|
|
|
#runtest = 'test' + local_makeopts
|
|
|
|
installopts = 'INSTALLDIR="%(installdir)s"'
|
|
|
|
sanity_check_paths = {
|
|
'files': ['bin/' + x for x in ['dftb+', 'modes', 'waveplot']],
|
|
'dirs': []
|
|
}
|
|
|
|
#sanity_check_commands = [('python', '-c "import dptools"')]
|
|
|
|
#modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}
|
|
|
|
moduleclass = 'phys'
|