new file: d/DFTB+/DFTB+-20.1-intel-2020a-Python-3.8.2.eb

new file:   d/dftd3-lib/dftd3-lib-0.9-GCC-9.3.0.eb
	new file:   d/dftd3-lib/dftd3-lib-0.9_fix-extras-syntax.patch
This commit is contained in:
Lukáš Krupčík 2020-09-21 11:13:22 +02:00
parent f34eb23dbb
commit c146dae1ed
3 changed files with 136 additions and 0 deletions

View File

@ -0,0 +1,72 @@
# IT4Innovations 2020
# LK
easyblock = 'CMakeMake'
name = 'DFTB+'
version = '20.1'
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': '2020a'}
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.16.4'),
]
dependencies = [
('Python', '3.8.2'),
('SciPy-bundle', '2020.03', versionsuffix),
('arpack-ng', '3.5.0'),
('dftd3-lib', '0.9', '', ('GCC', '9.3.0')),
]
# Link to Arpack and OpenBLAS from EB
local_makeopts = ' 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
installopts = 'INSTALLDIR="%(installdir)s"'
sanity_check_paths = {
'files': ['bin/' + x for x in ['dftb+', 'dp_bands', 'dp_dos', 'gen2cif', 'gen2xyz', 'makecube',
'modes', 'repeatgen', 'straingen', 'waveplot', 'xyz2gen']],
'dirs': ['lib/python%(pyshortver)s/site-packages']
}
sanity_check_commands = [('python', '-c "import dptools"')]
modextrapaths = {'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages'}
moduleclass = 'phys'

View File

@ -0,0 +1,42 @@
# IT4Innovations 2020
# LK
easyblock = 'MakeCp'
name = 'dftd3-lib'
version = '0.9'
homepage = 'https://github.com/dftbplus/dftd3-lib'
description = """This is a repackaged version of the DFTD3 program by S. Grimme and his coworkers.
The original program (V3.1 Rev 1) was downloaded at 2016-04-03. It has been
converted to free format and encapsulated into modules."""
toolchain = {'name': 'GCC', 'version': '9.3.0'}
toolchainopts = {'pic': True}
github_account = 'dftbplus'
source_urls = [GITHUB_SOURCE]
sources = ['%(version)s.tar.gz']
patches = ['dftd3-lib-%(version)s_fix-extras-syntax.patch']
checksums = [
'0a015659b5179dff1728a109c3e9b095e6bccc5704de9239aa3844008a9a82df', # 0.9.tar.gz
'717e719170258544555bfc33390a70c2573d971c6548d8f2c951a5606ec77f74', # dftd3-lib-0.9_fix-extras-syntax.patch
]
parallel = 1
buildopts = 'FC="$FC" FCFLAGS="$FCFLAGS" LNFLAGS="$LDFLAGS"'
files_to_copy = [
(['prg/dftd3', 'test/testapi'], 'bin'),
(['lib/libdftd3.a'], 'lib'),
(['lib/*.mod', 'prg/*.mod'], 'include'),
(['doc/man.pdf', 'CHANGELOG.rst', 'LICENSE', 'README.rst'], 'share'),
]
sanity_check_paths = {
'files': ['bin/dftd3', 'bin/testapi', 'lib/libdftd3.a'],
'dirs': ['include', 'share'],
}
moduleclass = 'chem'

View File

@ -0,0 +1,22 @@
Fix syntax of extras.f90
Author: Alex Domingo (Vrije Universiteit Brussel)
--- prg/extras.f90.orig 2020-04-07 15:53:37.579346000 +0200
+++ prg/extras.f90 2020-04-07 15:53:47.270025090 +0200
@@ -285,7 +285,7 @@
close(11)
write(*,*) 'checksum (Edisp) ',check
- if (abs(check-etot).gt.1.d-3)stop'something is weired in adisp'
+ if (abs(check-etot).gt.1.d-3) stop 'something is weired in adisp'
inquire(file='fragment',exist=ex)
if (.not.ex) return
@@ -1746,7 +1746,7 @@
close(11)
write(*,*) 'checksum (Edisp) ',check
- if (abs(check-etot).gt.1.d-3)stop'something is weired in adisp'
+ if (abs(check-etot).gt.1.d-3) stop 'something is weired in adisp'
deallocate(dist,li)
return