diff --git a/16_Yambo/Yambo-5.1.2-intel-2021b.eb b/16_Yambo/Yambo-5.1.2-intel-2021b.eb new file mode 100644 index 00000000..3d7cba72 --- /dev/null +++ b/16_Yambo/Yambo-5.1.2-intel-2021b.eb @@ -0,0 +1,88 @@ +easyblock = 'MakeCp' + +name = 'Yambo' +# see https://github.com/yambo-code/yambo/wiki/Releases-%28tar.gz-format%29 +version = '5.1.2' +local_yambo_libs_ver = '1.0' + +homepage = 'http://www.yambo-code.org' +description = """Yambo is a FORTRAN/C code for Many-Body calculations in solid state and molecular physics. + Yambo relies on the Kohn-Sham wavefunctions generated by two DFT public codes: abinit, and PWscf.""" + +toolchain = {'name': 'intel', 'version': '2021b'} +toolchainopts = {'usempi': True, 'openmp': True} + +local_yambo_ext_cmd = 'mkdir yambo-%(version)s && ' +local_yambo_ext_cmd += 'tar --strip-components=1 -xzf %s -C yambo-%(version)s' +local_yambo_lib_ext_cmd = 'mkdir -p yambo-%(version)s/lib/yambo/ && ' +local_yambo_lib_ext_cmd += 'tar --strip-components=1 -xzf %s -C yambo-%(version)s/lib/yambo/' + +source_urls = ['https://github.com/yambo-code/yambo/archive/'] +sources = [ + { + 'download_filename': '%(version)s.tar.gz', + 'filename': 'yambo-%(version)s.tar.gz', + 'extract_cmd': local_yambo_ext_cmd, + }, + { + 'source_urls': ['https://github.com/yambo-code/yambo-libraries/archive/'], + 'download_filename': '%s.tar.gz' % local_yambo_libs_ver, + 'filename': 'yambo-libraries-%s.tar.gz' % local_yambo_libs_ver, + 'extract_cmd': local_yambo_lib_ext_cmd, + }, + { + # see https://github.com/yambo-code/yambo/wiki/Libraries#external-libraries + 'source_urls': ['https://github.com/yambo-code/yambo/files/962173/'], + 'filename': 'iotk-y1.2.2.tar.gz', + 'extract_cmd': 'cp %s yambo-%(version)s/lib/archive/', + }, +] +checksums = [ + {'yambo-5.1.2.tar.gz': '9625d8a96bd9a3ff3713ebe53228d5ac9be0a98adecbe2a2bad67234c0e26a2e'}, + {'yambo-libraries-1.0.tar.gz': 'f25d86101cc9cead9f64f05181aab1f06eac8528fea5ba5c586b2b9512cb8492'}, + {'iotk-y1.2.2.tar.gz': 'c0a4eb19f3e885d83d7afa52eb90658fba7cb1cb6e66049866a98dcc980de543'}, +] + +dependencies = [ + ('HDF5', '1.12.1'), + ('netCDF', '4.8.1'), + ('netCDF-Fortran', '4.5.3'), + ('PETSc', '3.18.4'), + ('SLEPc', '3.18.2'), + ('libxc', '5.1.6'), +] + +with_configure = True + +configopts = 'FC=mpiifort CC=mpiicc --enable-msgs-comps ' +configopts += '--prefix=%(builddir)s/%(namelower)s-%(version)s/ ' +configopts += '--enable-open-mp --enable-hdf5-par-io ' +configopts += '--with-blas-libs="$LIBBLAS" ' +configopts += '--with-lapack-libs="$LIBLAPACK" --with-blacs-libs=mkl ' +configopts += '--with-scalapack-libs=mkl ' +configopts += '--with-fft-libs="-mkl" --with-fft-includedir="$FFT_INC_DIR" ' +configopts += '--with-netcdf-lib=$EBROOTNETCDF/lib --with-netcdf-include="$EBROOTNETCDF/include" ' +configopts += '--with-netcdff-path="$EBROOTNETCDFMINFORTRAN" ' +configopts += '--with-hdf5-path="$EBROOTHDF5" --with-petsc-path="$EBROOTPETSC" ' +configopts += '--with-slepc-path="$EBROOTSLEPC" --with-libxc-path="$EBROOTLIBXC" ' +configopts += '--enable-par-linalg --enable-slepc-linalg ' + +prebuildopts = "export FPATH=$EBROOTPETSC/include:$EBROOTSLEPC/include:$FPATH && " + +prebuildopts = "export SHELL='sh -x' && " +buildopts = 'all' + +files_to_copy = [ + (['bin/*'], 'bin'), + (['%(builddir)s/%(namelower)s-%(version)s/lib/external/intel/mpiifort/bin/*'], 'bin') +] + +sanity_check_paths = { + 'files': ['bin/' + x for x in ['a2y', 'p2y', 'yambo', 'yambo_ph', 'ypp', 'ypp_ph', + 'iotk', 'iotk.x']], + 'dirs': [] +} + +sanity_check_commands = ["yambo -h"] + +moduleclass = 'phys'