Exciting

Note

The documentation here, while meant for the old hlrn-tmod software stack, still applies reasonably well to the same software packages in the other software stacks.

Description

exciting is an ab initio code that implements density-functional theory (DFT), capable of reaching the precision of micro Hartree. As its name suggests, exciting has a strong focus on excited-state properties. Among its features are:

  • G0W0 approximation;
  • Solution to the Bethe-Salpeter equation (BSE), to compute optical properties;
  • Time-dependent DFT (TDDFT) in both frequency and time domains;
  • Density-functional perturbation theory for lattice vibrations.

exciting is an open-source code, released under the GPL license.

More information is found on the official website: https://exciting-code.org/

Modules

The following versions are available via the unified GWDG Modules.

List of Modules

Node TypeModule NamesRequirements (Load First)
Grete (GPU)exciting/oxygengcc/13.2.0 openmpi/5.0.7
Emmy (CPU)exciting/oxygengcc/11.5.0 openmpi/4.1.7
Emmy (CPU)exciting/oxygengcc/14.2.0 openmpi/4.1.7

Example Jobscripts

#!/bin/bash
#SBATCH --time 12:00:00
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=24
#SBATCH --cpus-per-task=4
#SBATCH --job-name=exciting
  
module load impi/2021.7.1
# Load exciting neon
# If you want to use fluorine, replace with exciting/009-fluorine
module load exciting/010-neon
  
# Set the number of OpenMP threads as given by the SLURM parameter "cpus-per-task"
export OMP_NUM_THREADS=${SLURM_CPUS_PER_TASK}
   
# Adjust the maximum stack size of OpenMP threads
export OMP_STACKSIZE=512m
  
# Do not use the CPU binding provided by slurm
export SLURM_CPU_BIND=none
   
# Binding OpenMP threads
export OMP_PLACES=cores
export OMP_PROC_BIND=close
   
# Binding MPI tasks
export I_MPI_PIN=yes
export I_MPI_PIN_DOMAIN=omp
export I_MPI_PIN_CELL=core
  
mpirun exciting