diff --git a/a/ABINIT/ABINIT-9.2.1-foss-2020a.eb b/a/ABINIT/ABINIT-9.2.1-foss-2020a.eb new file mode 100644 index 00000000..6ee59917 --- /dev/null +++ b/a/ABINIT/ABINIT-9.2.1-foss-2020a.eb @@ -0,0 +1,58 @@ +# 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' diff --git a/a/ABINIT/ABINIT-9.2.1-intel-2020a.eb b/a/ABINIT/ABINIT-9.2.1-intel-2020a.eb new file mode 100644 index 00000000..9a681435 --- /dev/null +++ b/a/ABINIT/ABINIT-9.2.1-intel-2020a.eb @@ -0,0 +1,48 @@ +# 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': 'intel', 'version': '2020a'} +toolchainopts = {'usempi': True, 'pic': True} + +source_urls = ['https://www.%(namelower)s.org/sites/default/files/packages/'] +sources = [SOURCELOWER_TAR_GZ] +checksums = ['4aa2deaeec385ff1624669a59768e1a6655f6367f8f109e69944244e000142a0'] + +builddependencies = [ + ('Python', '3.8.2', '', ('GCCcore', '9.3.0')), +] +dependencies = [ + ('libxc', '4.3.4'), + ('netCDF-Fortran', '4.5.2'), +] + +# Ensure MPI with intel wrappers. +configopts = '--with-mpi --enable-openmp="yes" --enable-mpi-io --enable-mpi-inplace ' +configopts += 'FC="mpiifort" CC="mpiicc" CXX="mpiicpc" ' +configopts += '--with-linalg-flavor=mkl --with-fft-flavor=dfti ' +configopts += '--with-libxc=${EBROOTLIBXC} with_netcdf="${EBROOTNETCDF}" ' +configopts += 'with_netcdf_fortran="${EBROOTNETCDFMINFORTRAN}" with_hdf5="${EBROOTHDF5}" ' + +# abinit must be run under mpirun with Intel MPI included in intel/2020a +pretestopts = "sed -i 's@./%(namelower)s testin@mpirun -np 1 ./%(namelower)s testin@g' Makefile && " +# 'make check' is just executing some basic unit tests. +# Also running 'make tests_v1' to have some basic validation +runtest = "check && make test_v1" + +sanity_check_paths = { + 'files': ['bin/%(namelower)s', 'bin/aim', 'bin/cut3d', 'bin/conducti', 'bin/mrgddb', 'bin/mrgscr', 'bin/optic'], + 'dirs': ['lib/pkgconfig'], +} + +moduleclass = 'chem'