General Information

ELK is an all-electron full-potential linearised augmented-plane wave (LAPW) code with many advanced features. Written originally at Karl-Franzens-Universität Graz as a milestone of the EXCITING EU Research and Training Network, the code is designed to be as simple as possible so that new developments in electronic structure theory can be added quickly and reliably. Elk is freely available under the GNU General Public License.

Running ELK

Lmod modules

List all available elk modules
ml spider elk

 The following environmental variables will be set upon loading any of the ELK modules:

Variable nameValue/Description
ELK_ROOTroot-directory containing elk code
OMP_NUM_THREADS$SLURM_CPUS_PER_TASK
OMP_PROC_BINDfalse
OMP_STACKSIZE512M

Species files

ELK species files are located in $ELK_ROOT/species and will be used by default unless sppath points to different directory in the ELK input file elk.in.

If you want to have customized species files you need to the respective species files and set sppath accordingly.

Copying species files (example)
cp $ELK_ROOT/species/{C,O,Ni,F}.in .
Specifying species location in elk.in
# use same directory where elk.in is located
sppath
	''

# use a different directory ( / at the end is essential)
sppath
	'/a/different/path/'

Slurm Job Template

ELK Slurm Job Template
#!/bin/bash
#SBATCH --job-name=runelk
#SBATCH --partition=epyc
#SBATCH --ntasks=16
#SBATCH --nodes=1
#SBATCH --cpus-per-task=8
#SBATCH --mem-per-cpu=4G
#SBATCH --time=1-0

ml purge
ml elk

srun elk

Performance considerations

ELK makes heavily use of (nested) OpenMP threading and in principle can use just 1 MPI process per node, using up to 128 CPU threads per process.

Due to the NUMA layout of the processors used on the cluster, it is about 20% faster to use 8 or 16 CPU threads per process.

Choice of the number of tasks

ELK calculates different k-points in parallel. To make optimal use of allocated ressources, choose --ntasks to be equal or as an integer divisor of the number of k-points.

Support

If you have any problems with ORCA please contact the team of IT-Physik (preferred) or the HPC-Servicedesk.

Also, if you have improvements to this documentation that other users can profit from, please reach out!


  • Keine Stichwörter