WIEN2k

Licensing and Access

WIEN2k is licensed software. All users wishing to access the WIEN2k package should have a valid WIEN2k licence (see the WIEN2k Web Page). Once you have a valid licence please submit a request via SAFE to request access on ARCHER.

Running

To run WIEN2k you need to add the correct module to your environment.

module add wien2k

Example Job Submission Script

The WIEN2k job should be run from the directory in which the input files are stored. An example WIEN2k job submission script is shown below.

#!/bin/bash --login                                                                  
#PBS -N w2k-example
#PBS -l select=192
#PBS -l walltime=12:00:00
#PBS -A [User Budget]

module load wien2k

export OMP_NUM_THREADS=1

# Make sure any symbolic links are resolved to absolute path
export PBS_O_WORKDIR=$(readlink -f $PBS_O_WORKDIR)

# change into your working directory
cd $PBS_O_WORKDIR

export NNODE=`qstat -f $PBS_JOBID | awk '/nodect/ {print $3}'`
export NTASK=`qstat -f $PBS_JOBID | awk '/resources_used.ncpus/ {print $3}'`

#Find which compute nodes we've been assigned
aprun -n $NTASK /bin/hostname 2> /dev/null | sed '/^App/d' | sort > nodelist

#Generate the .machines file
proclist=(`cat nodelist`)
nproc=${#proclist[@]}
echo Number of processors $nproc

#For MPI parallel lapw0
echo -n 'lapw0:' > .machines
i=0
while [ $i -lt $nproc ]
do
echo -n " ${proclist[$i]}" >> .machines
i=$[$i+1]
done
echo >> .machines

##For single k-point/MPI parallel lapw1/2
echo -n "1:" >> .machines
i=0
while [ $i -lt $nproc ]; do
echo -n "${proclist[$i]}" >> .machines
echo -n ' ' >> .machines
i=$[$i+1]
done
echo >> .machines

echo "granularity:1" >> .machines
echo "extrafine:1" >> .machines
rm nodelist

#define here your WIEN2k command
runsp_lapw -orb -dm -NI -i 40 -ec 0.0001 -p
save_lapw -f -d BackRKmax7Kpt50

See the WIEN2k User Guide for a guide to running WIEN2k and a description of the arguments in the submission script above.

Please note, use of the w2web utility that comes with WIEN2k is not permitted on ARCHER due to the fact that w2web runs uncoupled from a user's ARCHER session.

Compiling