WIEN2k

WIEN2k will perform electronic structure calculations of solids using density functional theory (DFT). It is based on the full-potential (linearized) augmented plane-wave ((L)APW) + local orbitals (lo) method, one among the most accurate schemes for band structure calculations. WIEN2k is an all-electron scheme including relativistic effects.

Wien2K 17 stable

$ module avail wien2k

Parallel version

In WIEN2k only lapw0, lapw1, and lapw2 are parallelized. There are three ways to parallelize WIEN2k. First is k-point parallelization, second is hybrid mode, third is mpi-only. We support only MPI mode. A machines files is automatically generated, see SGE script).

  • For MPI we use $TMPDIR/machines.wien2k-mpi file

  • Only MPI mode (a.k.a) fained grained parallelism is supported in mesocentre
  • Don't modify the generated .machines file

A custom queue (wien2k.q) is created to test and validate Wien2k in the mesocentre. Once validated, we will move to the main parallel queue (a.k.a parallel.q)

SGE script

Here is simple script for MPI Parallelization using 32 cores.

wien2k_meso.sge
#!/bin/bash 
 
#$ -N test_Gold  ## the name of script
#$ -o $JOB_NAME.o$JOB_ID  ## output file
#$ -q wien2k.q    ## queue to use
#$ -l h_vmem=4G  ## we request 4G/core (the maximum)
### Notice that we request 32 core
#$ -pe wien2k 32
 
# Ensure that wien2k 17 is loaded
module load wien2k/17
 
# Set Scratch dir
export SCRATCH=$PWD
 
# Copy machines file in working directory
cp $TMPDIR/machines.wien2k .machines
 
# Use -p to specify a parallel calculation
run_lapw -p -ec 0.000i1 -NI

Save this file in the same directory where isyour data model. Submit your job with:

$qsub wien2k_meso.sge

Let's start by an example showing Wien2k with MPI in action.

We will use Gold_23l.struct provided with Wien2k. Load Wien2k module

$module load wien2k/intel/17

Create folder and copy files

$ mkdir Gold_23l
$ cd Gold_23l

Copy Gold_23l.struct file to this folder

$ cp $WIEROOT/example_struct_files/Gold_23l.struct .

Run Wien2k initialization, we use 100 K point <cod bash> $ init_lapw -b -numk 100 </code>

Finally, use SGE script above to run the simulation.