SIRIUS/7.2.7-cpeGNU-21.08 (SIRIUS-7.2.7-cpeGNU-21.08.eb)
This software is archived in the LUMI-EasyBuild-contrib GitHub repository as easybuild/easyconfigs/__archive__/s/SIRIUS/SIRIUS-7.2.7-cpeGNU-21.08.eb. The corresponding module would be SIRIUS/7.2.7-cpeGNU-21.08.
# contributed by Anton Kozhevnikov (CSCS)
# adapted for LUMI by Orian Louant
easyblock = 'CMakeMake'
local_ELPA_version = '2021.05.002'
local_GSL_version = '2.7'
local_libxc_version = '5.1.7'
local_SpFFT_version = '1.0.5'
local_spglib_version = '1.16.0'
local_SPLA_version = '1.5.1'
name = 'SIRIUS'
version = '7.2.7'
homepage = 'https://github.com/electronic-structure/SIRIUS'
whatis = [
'SIRIUS is a domain specific library for electronic structure calculations'
]
description = """
SIRIUS is a domain specific library for electronic structure calculations. It
implements pseudopotential plane wave (PP-PW) and full potential linearized
augmented plane wave (FP-LAPW) methods and is designed for GPU acceleration of
popular community codes such as Exciting, Elk and Quantum ESPRESSO. SIRIUS is
written in C++14 with MPI, OpenMP and CUDA/ROCm programming models. SIRIUS is
organised as a collection of classes that abstract away the different building
blocks of DFT self-consistency cycle.
The following functionality is currently implemented in SIRIUS:
- (PP-PW) Norm-conserving, ultrasoft and PAW pseudopotentials
- (PP-PW) Spin-orbit coupling
- (PP-PW) Stress tensor
- (PP-PW, FP-LAPW) Atomic forces
- (PP-PW, FP-LAPW) Collinear and non-collinear magnetism
- (FP-LAPW) APW and LAPW basis sets with arbitrary number of local orbitals
- (FP-LAPW) ZORA and IORA approximations for valence states; full relativistic
Dirac equation for core states
- Symmetrization of lattice-periodic functions and on-site matrices
- Generation of irreducible k-meshes
- Python frontend
"""
toolchain = {'name': 'cpeGNU', 'version': '21.08'}
toolchainopts = {'openmp': True, 'opt': True, 'pic': True, 'usempi': True}
source_urls = ['https://github.com/electronic-structure/%(name)s/archive/']
sources = ['v%(version)s.tar.gz']
builddependencies = [
('buildtools', '%(toolchain_version)s', '', True),
]
dependencies = [
('cray-hdf5', EXTERNAL_MODULE),
('ELPA', local_ELPA_version),
('GSL', local_GSL_version),
('libxc', local_libxc_version),
('SpFFT', local_SpFFT_version),
('spglib', local_spglib_version),
('SPLA', local_SPLA_version),
]
preconfigopts = 'CXX=CC CC=cc FC=ftn && '
configopts = ' -DUSE_CUDA=0 -DBUILD_TESTS=0 '
configopts += ' -DUSE_CRAY_LIBSCI=1 -DUSE_MAGMA=0 -DUSE_MKL=0 '
configopts += ' -DUSE_SCALAPACK=1 -DUSE_ELPA=1 '
configopts += ' -DSpFFT_DIR=$EBROOTSPFFT/lib64/cmake/SpFFT '
modextrapaths = {'CPATH': ['include/%(namelower)s']}
moduleclass = 'chem'