Exciting
In this section:
Description
According to the page of Exciting, exciting is a full-potential all-electron density-functional-theory package implementing the families of linearized augmented planewave methods. It can be applied to all kinds of materials and allows exploring the physics of core electrons, with a particular focus on excited states within many-body perturbation theory.
Available Versions
exciting/carbon (default)
exciting/neon-21
MPI Job Submission
submit_exciting_mpi.sh
#!/bin/bash
#SBATCH -J exciting_mpi
#SBATCH -N 2
#SBATCH --ntasks-per-node=28
#SBATCH -t 30-00:00:00
#SBATCH --mem-per-cpu=2G
ulimit -s unlimited
export INPUT="input.xml"
export OUTPUT="*.out *.xml"
export WAIT_CHECKPOINT="300"
module load exciting/carbon
job-nanny srun -n $SLURM_NTASKS excitingmpi
Important
The ulimit -s unlimited command is necessary to avoid stack problems in large calculations.
Serial Job Submission
submit_exciting_serial.sh
#!/bin/bash
#SBATCH -J exciting_serial
#SBATCH -N 1
#SBATCH -n 1
#SBATCH -t 7-00:00:00
#SBATCH --mem=8G
ulimit -s unlimited
export INPUT="input.xml"
export OUTPUT="*.out *.xml"
module load exciting/carbon
job-nanny excitingmpi
Example XML Input File
input.xml
<?xml version="1.0" encoding="UTF-8"?>
<input>
<title>Exciting calculation for silicon</title>
<structure speciespath="/opt/gridunesp/dist/exciting/carbon/species">
<crystal scale="10.20">
<basevect> 0.5 0.5 0.0 </basevect>
<basevect> 0.5 0.0 0.5 </basevect>
<basevect> 0.0 0.5 0.5 </basevect>
</crystal>
<species speciesfile="Si.xml">
<atom coord="0.00 0.00 0.00" />
<atom coord="0.25 0.25 0.25" />
</species>
</structure>
<groundstate
ngridk="4 4 4"
rgkmax="7.0"
gmaxvr="20.0"
xctype="GGA_PBE_SOL"
epsengy="1.0e-6"
maxiter="200"
/>
<properties>
<dos nsmdos="2" ngridk="10 10 10" />
<bandstructure>
<plot1d>
<path steps="100">
<point coord="0.5 0.5 0.5" label="L" />
<point coord="0.0 0.0 0.0" label="G" />
<point coord="0.5 0.0 0.0" label="X" />
<point coord="0.5 0.5 0.5" label="L" />
</path>
</plot1d>
</bandstructure>
</properties>
</input>
Specific Properties Calculation
submit_exciting_properties.sh
#!/bin/bash
#SBATCH -J exciting_props
#SBATCH -N 2
#SBATCH --ntasks-per-node=28
#SBATCH -t 48:00:00
#SBATCH --mem-per-cpu=2G
ulimit -s unlimited
export INPUT="input_properties.xml"
export OUTPUT="*.out *.xml"
module load exciting/carbon
# Calculate ground state first
job-nanny srun -n $SLURM_NTASKS excitingmpi
# Then calculate properties (if needed in another job)
Job Array for Parameter Scan
submit_exciting_array.sh
#!/bin/bash
#SBATCH -J exciting_array
#SBATCH --array=1-5
#SBATCH -N 1
#SBATCH --ntasks-per-node=28
#SBATCH -t 24:00:00
#SBATCH --mem-per-cpu=2G
ulimit -s unlimited
export INPUT="template.xml"
export OUTPUT="run_${SLURM_ARRAY_TASK_ID}/"
module load exciting/carbon
RGKMAX_VALUES=(5.0 6.0 7.0 8.0 9.0)
RGKMAX=${RGKMAX_VALUES[$SLURM_ARRAY_TASK_ID-1]}
mkdir -p run_${SLURM_ARRAY_TASK_ID}
cd run_${SLURM_ARRAY_TASK_ID}
# Modify rgkmax in input file
sed "s/RGKMAX_VALUE/$RGKMAX/g" ../template.xml > input.xml
job-nanny srun -n $SLURM_NTASKS excitingmpi
References
Documentation: http://exciting-code.org/documentation
Tutorials: http://exciting-code.org/tutorials
See also
Quantum ESPRESSO - Alternative for DFT
CP2K - Alternative for atomistic simulations
Running Simulations - How to submit jobs