mirror of
https://code.it4i.cz/sccs/easyconfigs-it4i.git
synced 2025-04-08 07:52:11 +01:00
59 lines
1.9 KiB
Plaintext
59 lines
1.9 KiB
Plaintext
# IT4Innovations 2020
|
|
# LK
|
|
#
|
|
easyblock = 'ConfigureMake'
|
|
|
|
name = 'ABINIT'
|
|
version = '9.2.1'
|
|
|
|
homepage = 'https://www.abinit.org/'
|
|
description = """ABINIT is a package whose main program allows one to find the total energy,
|
|
charge density and electronic structure of systems made of electrons and nuclei (molecules
|
|
and periodic solids) within Density Functional Theory (DFT), using pseudopotentials and a
|
|
planewave or wavelet basis."""
|
|
|
|
toolchain = {'name': 'foss', 'version': '2020a'}
|
|
toolchainopts = {'usempi': True, 'pic': True}
|
|
|
|
source_urls = ['https://www.abinit.org/sites/default/files/packages/']
|
|
sources = [SOURCELOWER_TAR_GZ]
|
|
checksums = ['4aa2deaeec385ff1624669a59768e1a6655f6367f8f109e69944244e000142a0']
|
|
|
|
dependencies = [
|
|
('libxc', '4.3.4'),
|
|
('netCDF-Fortran', '4.5.2'),
|
|
]
|
|
|
|
# Ensure MPI.
|
|
configopts = '--with-mpi="yes" --enable-openmp="no" --enable-mpi-io --enable-mpi-inplace '
|
|
|
|
# BLAS/Lapack
|
|
configopts += '--with-linalg-flavor="openblas" LINALG_LIBS="-L${EBROOTOPENBLAS}/lib -lopenblas" '
|
|
|
|
# FFTW3 support
|
|
configopts += '--with-fft-flavor=fftw3 FFTW3_LIBS="-L${EBROOTFFTW} -lfftw3f -lfftw3" '
|
|
|
|
# libxc support
|
|
configopts += '--with-libxc=${EBROOTLIBXC} '
|
|
|
|
# hdf5/netcdf4.
|
|
configopts += 'with_netcdf="${EBROOTNETCDF}" '
|
|
configopts += 'with_netcdf_fortran="${EBROOTNETCDFMINFORTRAN}" '
|
|
configopts += 'with_hdf5="${EBROOTHDF5}" '
|
|
|
|
# make sure --free-line-length-none is added to FCFLAGS
|
|
configopts += 'FCFLAGS="${FCFLAGS} --free-line-length-none" '
|
|
|
|
# `make check` is just executing some basic unit tests.
|
|
# In principle, one should run `make tests_v1`` to have some basic validation
|
|
# but it seems it's not possible to execute abinit at the end of the build
|
|
# due to missing dynamic libs (e.g. libxc)
|
|
runtest = "check"
|
|
|
|
sanity_check_paths = {
|
|
'files': ['bin/%s' % x for x in ['abinit', 'aim', 'cut3d', 'conducti', 'mrgddb', 'mrgscr', 'optic']],
|
|
'dirs': ['lib/pkgconfig'],
|
|
}
|
|
|
|
moduleclass = 'chem'
|