Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Generating STM images with VASP/VESTA

No description
by

Martin Schmidt

on 15 June 2011

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Generating STM images with VASP/VESTA

PREC=high # Precision
ENCUT=400 # plane wave cutoff (eV)
LREAL=AUTO # fixed
IALGO=38 # 48 - RMM-DIIS, 38 - DAV

ISMEAR=0 # Smearing Mode
SIGMA=0.001 # Smearing (eV)

LWAVE=.TRUE. # Wavecar schreiben?

EDIFF=1.E-6 # Konvergenzparameter Electronic Relax (eV)
EDIFFG=-0.01 # Konvergenzparameter Ionic Relax
IBRION=2 # use RMM-DIIS alg. for ions
NSW=0 # no. of ionic steps Generating constant
current STM images using VASP & VESTA Relax structural model Write WAVECAR B) Create PARCHG C) PREC=high # Precision
ENCUT=400 # plane wave cutoff (eV)
LREAL=AUTO # fixed
IALGO=38 # 48 - RMM-DIIS, 38 - DAV
NPAR=4 # parallelisation

ISMEAR=0 # Smearing Mode
SIGMA=0.001 # Smearing (eV)

LWAVE=.FALSE. # Wavecar schreiben?

EDIFF=1.E-6 # Konvergenzparameter Electronic Relax (eV)
EDIFFG=-0.01 # Konvergenzparameter Ionic Relax
IBRION=2 # use RMM-DIIS alg. for ions
NSW=300 # no. of ionic steps INCAR: #! /bin/bash

# adjust variable to your needs!
export Nodes=4
export Queue="ifto8"
export Model="Modell1"
export Biasrow="-1.0 -0.1 +0.1 +1.0"

# create STM subdirectory and copy files
mkdir STM
cd STM
cp ~/Work/Utilities/STM/files/* .
cp ../CONTCAR POSCAR
cp ../POTCAR .
cp ../KPOINTS .
cp ../CHG* .
cp ../run .

# replace variables
sed "s#XNodesX#$Nodes#" jobscript.STM > tmp; mv tmp jobscript.STM
sed "s#XQueueX#$Queue#" jobscript.STM > tmp; mv tmp jobscript.STM
sed "s#XModelX#$Model#" jobscript.STM > tmp; mv tmp jobscript.STM
sed "s#XBiasrowX#$Biasrow#" jobscript.STM > tmp; mv tmp jobscript.STM

# submit jobscript
qsub jobscript.STM
cd .. STM.run: #! /bin/bash

#PBS -l nodes=XNodesX:ppn=8
#PBS -l walltime=100:00:00
#PBS -q XQueueX
#PBS -j oe
#PBS -N XModelXSTM
#PBS -o /home/ifto/p3sasi/Work/AuGe-c8x2/XModelX/STM

# 1. Wavecar erstellen

export WORK_DIR="/home/ifto/p3sasi/Work/AuGe-c8x2/XModelX/STM"
cd $WORK_DIR

./run XModelXSTM
mv OUTCAR OUTCAR.wavecar

# 2. NBANDS im INCAR richtig setzen. Muss mit der WAVECAR-Rechnung konsistent sein!!

export NBands=`grep NBANDS OUTCAR.wavecar | awk '{print $9}'`
sed "s#XNbandsX#$NBands#" INCAR.template > tmp; mv tmp INCAR.template

#3. Parchg fuer jeden bias-Wert erzeugen (geht vergleichsweise schnell)

for bias in XBiasrowX
do
sed "s#XBiasX#$bias#" INCAR.template > INCAR
./run $bias
mv PARCHG PARCHG.$bias
mv OUTCAR OUTCAR.$bias
done

# 4. Chgcar/Wavecar loeschen

rm WAVECAR
rm CHG* jobscript.run: INCAR.template: PREC=high # Precision
ENCUT=400 # plane wave cutoff (eV)
LREAL=AUTO # fixed
IALGO=38 # 48 - RMM-DIIS, 38 - DAV

ISMEAR=0 # Smearing Mode
SIGMA=0.001 # Smearing (eV)

LWAVE=.TRUE. # Wavecar schreiben?
LPARD=.TRUE. # PARCHG schreiben
NBMOD=-3 # Modus fuer das PARCHG,
# -3: EINT relativ zum Fermi-Niveau
EINT= XBiasX # PARCHG fuer welches Energieintervall?
NBANDS=XNbandsX # NBANDS setzen, damit es zum vorherigen Run passt

EDIFF=1.E-6 # Konvergenzparameter Electronic Relax (eV)
EDIFFG=-0.01 # Konvergenzparameter Ionic Relax
IBRION=2 # use RMM-DIIS alg. for ions
NSW=0 # no. of ionic steps INCAR: #! /bin/bash

MPIRUN="/home/pgi/mpi/bin/mpiexec"
VASP_RUN="/home/ifto/p3sasi/Vasp-bin/
ompivasp.4.6.28_pgf_openmpi"

ext=$1

$MPIRUN $VASP_RUN >& output.$ext run: II. Smooth CHGCAR SmoothCHG $ ./SmoothCHG
Usage: SmoothCHG <CHGCAR> <SIGMA> [-s <FACTOR>] [-c <ZVAL>] [-g] [-z] [-n]
<CHGCAR> is the filename of the CHGCAR like file containing the charge density of interest
<SIGMA> sets the width of the Gaussian the charge density is convoluted with (tip radius)
optional flags:
-s <FACTOR>: downsample the output file by <FACTOR> (integer number!)
-c <ZVAL>: downsize unit cell of the output file in z direction (e.g. to cut off vacuum).
Points with z coordinate > ZVAL (in direct coordinates, i.e. 0<ZVAL<1) will be cut off.
-g: write out gauss.vasp, a CHGCAR like file that contains the Gaussian
-z: write out z_coord.vasp, a CHGCAR like file that contains the z coordinates
-n: do NOT write out the smoothed charge density $ ./SmoothCHG PARCHG.-1.0 1.0 -s 2 .35
calling readcharge...
Reading header of: PARCHG.-1.0
Number of atomic species: 3
6 60 16
unknown system
Reading positions from: PARCHG.-1.0
direct coordinates

cell volume: 4598.6901792413237
200 200 420 \n found 16800000 grid points
reading charge:
charge read successfully, calculating chargedensity
\n done that
... done readcharge
call fft forward ...
... call fft-ok
call fft backward ...
... call fft-ok
-s flag set, downsampling output data by factor 2
writing charge density to PARCHG.-1.0.smooth_1.0.vasp
... done
mean charge density before smoothening (e/Angstrom): 4.83229379817331790E-003
mean charge density after smoothening (e/Angstrom): 4.83166116528065386E-003

SMOOTHENING WAS SUCCESSFUL III. Plot in Vesta Create ball-and-stick model A) Plot iso-surface of PARCHG file B) I. VASP calculations A)
Full transcript