Skip to content

[Elk] [package list]

Elk/10.3.12-cpeGNU-24.03 (Elk-10.3.12-cpeGNU-24.03.eb)

Install with the EasyBuild-user module:

eb Elk-10.3.12-cpeGNU-24.03.eb -r
To access module help after installation and get reminded for which stacks and partitions the module is installed, use module spider Elk/10.3.12-cpeGNU-24.03.

EasyConfig:

# contributed by Johan Hellsvik (PDC) and Peter Larsson (LUMI)
easyblock = 'MakeCp'

name = 'Elk'
version = '10.3.12'

homepage = 'https://elk.sourceforge.io/'

whatis = [
    'The Elk all-electron full-potential linearised augmented-plane wave (LAPW) code with many advanced features.'
]

description = """
The Elk all-electron full-potential linearised augmented-plane wave (LAPW) code with many advanced features.
"""

toolchain = {'name': 'cpeGNU', 'version': '24.03'}
toolchainopts = {'openmp': True, 'usempi': True}

maxparallel=1

source_urls = ['https://sourceforge.net/projects/%(namelower)s/files/']
sources = [SOURCELOWER_TGZ]
checksums = ['c230e2c128733a0f92b8001001181fb9cd44913a8c86e05092c5f177db3664ca'] #elk-10.3.12.tgz

# Creating the make.inc file
prebuildopts = 'echo "MAKE = make" > make.inc && '
prebuildopts += 'echo "AR = ar" >> make.inc && '
prebuildopts += 'echo "SRC_MKL = mkl_stub.f90" >> make.inc && '
prebuildopts += 'echo "SRC_OBLAS = oblas_stub.f90" >> make.inc && '
prebuildopts += 'echo "SRC_BLIS = blis_stub.f90" >> make.inc && '
prebuildopts += 'echo "SRC_FFT = zfftifc_fftw.f90 cfftifc_fftw.f90" >> make.inc && '
prebuildopts += 'echo "LIB_LIBXC = libxcf03.a libxc.a" >> make.inc && '
prebuildopts += 'echo "SRC_LIBXC = libxcf03.f90 libxcifc.f90" >> make.inc && '
prebuildopts += 'echo "LIB_W90 = libwannier.a" >> make.inc && '
prebuildopts += 'echo "F90 = ftn" >> make.inc && '
prebuildopts += 'echo "F90_OPTS = -Ofast -march=native -mtune=native -fomit-frame-pointer -fopenmp -ffpe-summary=none -fallow-argument-mismatch" >> make.inc && '

# Copy the Libxc and Wannier90 libraries
prebuildopts += 'cp $EBROOTLIBXC/lib/libxc.a src/ && '
prebuildopts += 'cp $EBROOTLIBXC/lib/libxcf03.a src/ && '
prebuildopts += 'cp $EBROOTWANNIER90//lib/libwannier.a src/ && '

dependencies = [
     ('cray-libsci', EXTERNAL_MODULE),
     ('cray-fftw', EXTERNAL_MODULE),
     ('libxc', '7.0.0'),
     ('Wannier90', '3.1.0'),
]

files_to_copy = [
    (['./make.inc'], '.'),
    (['./src/elk'], './bin/'),
    (['./src/eos/eos'], './bin/'),
    (['./src/spacegroup/spacegroup'], './bin/'),
    (['./species'], '.'),
    (['./examples'], '.'),
    (['./tests'], '.'),
    (['./tests-libxc'], '.'),
    (['utilities/elk-bands/elk-bands'], './bin/'),
    (['utilities/elk-optics/elk-optics.py'], './bin/'),
    (['utilities/wien2k-elk/se.pl'], './bin/'),
]

sanity_check_paths = {
    'files': ['bin/elk','bin/eos','bin/spacegroup'],
    'dirs': ['bin','species', 'examples', 'tests'],
}

moduleclass = 'phys'

[Elk] [package list]