Skip to content

[SIRIUS] [package list]

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'

[SIRIUS] [package list]