vasp cnsi workshop2016 finalcsc.cnsi.ucsb.edu/.../docs/vasp_cnsi_workshop2016_final.pdfn potcar...
TRANSCRIPT
VASPWorkshopHartwin Peelaers &Darshana Wickramaratne
November29,2016
• Densityfunctionaltheory
• ViennaAb-initioSimulationPackage(VASP)
• SettingupaVASPcalculation
• Tutorial1:Structureoptimization
• Tutorial2:Electronic structure
• Parallelizationschemes
• Post-processingtips
Outline
Densityfunctionaltheory
KineticenergyElectron-electron
Exchange-correlationpotential
Electron-ionpotential
Surf. Sci. 541, 101 (2003) Phys. Rev. B 89, 035204 (2014) Phys. Rev. B 76, 205322 (2007)
l Different approaches to the exchange-correlation potential are implemented− LDA: Local density approximation− GGA: Generalized gradient approximation− Hybrids, such as HSE− Meta-GGAs− VdW-functionals: Grimme D2 and D3, Tkatchenko-
Scheffler, vdW-DF− …
l But also more advanced methods− GW− ACFDT in RPA (adiabatic connection fluctuation
dissipation theorem in the random phase approximation)− MP2 (2nd order Møller-Plesset)
ApproximationsofVXC
l DensityFunctionalTheory(DFT)
l Usesaplane-wavebasis− Numberofplanewavesisdeterminedbyacutoffenergy→
controlsaccuracyofbasisandcanbesystematicallyincreased
l Usesperiodicboundaryconditions− Simulatinglower-dimensionalsystemsrequiresaddingvacuum
l UsesPAWpseudopotentials− Projected-augmentedWavepseudopotentials− Notall-electron:Coreelectronsare“frozen”andreplacedbya
pseudopotential
ViennaAb-initioSimulationPackage(VASP)
− Totalenergies,forces&relaxedstructures
− Bandstructures
− DOSandprojectedDOS(densityofstates)
− Magneticproperties
− Responsetoelectricfieldsorionicdisplacement(dielectric
constants,Berryphase,phonons(Gammaonly),elastic
constants,…)
− Opticalproperties(absorptionspectra,dielectricfunction,...)
WhatquantitiescanVASPcalculate
VASPrequires4inputfilestorunacalculation
1. POSCAR2. POTCAR3. KPOINTS4. INCAR
ForfurtherdetailsrefertoVASPmanualhttp://cms.mpi.univie.ac.at/vasp/vasp/vasp.htmlhttps://cms.mpi.univie.ac.at/wiki/index.php/The_VASP_Manual
SettingupaVASPcalculation
Definethestructureofyourmaterial,i.eBravaislatticeandbasis.
POSCAR
GaN wurtzite3.1890.50246-0.870290.000000.502460.870290.000000.000000.000001.63140Ga N22Direct0.333330.666670.000000.666670.333330.500000.333330.666670.376480.666670.333330.87648
VisualizestructureswithVESTA- http://jp-minerals.org/vesta/en/
#Header#Lattice constant
#Latticevectors
#Elements#No.Atomsperelement#Coordinate system
#Coordinates
www.materialsproject.org
StructuresareobtainedfromtheInorganicCrystalStructureDatabase(ICSD)
POSCARs&theMaterialsProject
• ContainsthePAWpotentialsforallelementsdefinedinthePOSCAR.
• POTCARdatasetsstartwithadescriptionof:• Elementnameandatomicmass• Numberofvalenceelectrons• Defaultenergycutoff• ParameterusedtogeneratethePAWdataset
POTCAR
NPOTCARPAW_PBEN08Apr20025.00000000000000parametersfromPSCTRare:VRHFIN=N:s2p3LEXCH=PEEATOM=264.5486eV,19.4438Ry
TITEL=PAW_PBEN08Apr2002LULTRA=FuseultrasoftPP?IUNSCR=1unscreen:0-lin1-nonlin2-noRPACOR=1.200partialcoreradiusPOMASS=14.001;ZVAL=5.000massandvalenzRCORE=1.500outmostcutoffradiusRWIGS=1.400;RWIGS=0.741wigner-seitzradius(auA)ENMAX=400.000;ENMIN=300.000eV
#Header#No.ofvalenceelectrons#valenceorbitals#Recommendedplanewavecutoffenergies
• DefinethepointsVASPusestosamplethefirstBrillouin zoneinreciprocalspace.
KPOINTS
Automaticgeneration- MPscheme0Monkhorst-Pack886000
• Definethepathofk-pointsalongwhichbandstructuresarecalculated.
TheINCARfilecontainsalloftheinputparametersthatcontrolthecalculation.
Definesettingstospecify:1. Typeofcalculation;eg.self-consistentfield(SCF),
structureoptimization,densityofstates,bandstructure,dielectricproperties,etc.
2. Inputsregardingprecision,requiredlevelofconvergence,choiceofnumericalalgorithms.
ForallINCARtagsref:http://cms.mpi.univie.ac.at/wiki/index.php/Category:INCAR
INCAR
1. DefineinitialPOSCARandKPOINTgrid2. CreatePOTCARforGaN
catGa/POTCARN/POTCAR>>POTCAR3.DefineoptimizationparametersinINCAR
Example1:GaN Structureoptimization
SYSTEM=GaNLWAVE=.True.LREAL=.FALSE.#ParametersISMEAR=0SIGMA=0.05ENCUT=400PREC=Accurate
#CellOptimisationEDIFFG=-0.005EDIFF=1E-5ISIF=3IBRION=2
Example1:Structureoptimizationoutput
NEdEdepsncgrmsortSDA:1-0.115016930235E+030.25406E+010.00000E+005120.176E+020.000E+00CGA:2-0.117416954127E+03 -0.24000E+01-0.24655E+015120.118E+01-0.225E+00CGA:3-0.117803679652E+03 -0.38673E+00-0.38703E+005120.302E+00-0.392E-02CGA:4-0.117912013796E+03 -0.10833E+00-0.10837E+005120.510E-01-0.358E-03CGA:5-0.117924142175E+03 -0.12128E-01-0.12125E-015120.219E-01-0.233E-04CGA:6-0.117931700856E+03 -0.75587E-02-0.75631E-025120.753E-02-0.634E-04CGA:7-0.117935095864E+03 -0.33950E-02-0.33988E-025120.175E-02-0.190E-04CGA:8-0.117935693145E+03 -0.59728E-03-0.59788E-035120.662E-03-0.117E-04CGA:9-0.117935831345E+03 -0.13820E-03-0.13836E-035120.135E-030.209E-05CGA:10-0.117935876522E+03-0.45178E-04-0.45331E-045120.283E-04-0.352E-053F=-.11793588E+03E0=-.11793588E+03dE=-.109175E+00mag=0.0000
TotalenergyfollowingstructureoptimizationisoutputatendofOSZICAR file
FinaloptimizedstructureisoutputtoCONTCAR
1. Useoptimizedstructuretorunaself-consistentfield(SCF)calculation.SetNSW=0(1stepscf)cp CONTCARPOSCAR
2. DefineINCARfornon-SCFcalculationusingCHGCARfromStep1.
Example2:GGAbandstructureworkflow
SYSTEM=GaNICHARG=11#usechargedensityfromfile;donotupdateLWAVE=.True.LREAL=.FALSE.
#ParametersISMEAR=0SIGMA=0.05ENCUT=400PREC=Accurate
#CellOptimisationEDIFF=1E-5
Example2:GGAbandstructureworkflow
3. SetuppathofKPOINTSforbandstructurecalculationandsubmitsimulation.
Kpoint pathGaN15!15intersectionsLine-modeReciprocal0.0000.0000.0!Gamma0.5000.0000.0!M
0.5000.0000.0!M0.6660.3330.0!K
0.6660.3330.0!K0.0000.0000.0!G
0.0000.0000.0!G0.0000.0000.5!A
#Numberofkpoints tointerpolatebetween#InstructVASP tointerpolatebetweenpairsofkpoints#kpoint coordinatesystem
44110.1156815E+020.3204707E-090.3204707E-090.5202551E-090.5000000E-151.000000000000000E-004CARGaN10 30 10
0.0000000E+000.0000000E+000.0000000E+00 0.6944444E-021-15.7839472-13.3191513-5.63754240.76061250.76092261.85231171.86845081.86879195.343214107.858293
Example2:EIGENVALformat
#kpoint coordinates#Bandindex&eigenenergy
#numberofbands#numberofkpoints
Same information can be found in OUTCAR and vasprun.xml
GaN GGAbandstructure
Eg =1.98eV(Experiment3.5eV)
1.GGAcalculationfirsttogetagoodstartingwavefunction.2.HSEself-consistentcalculationrestartingfromGGAWAVECAR.
Example3:HSEbandstructure
SYSTEM=GaNISTART=1LWAVE=.True.LREAL=.FALSE.PREC=Accurate
#ParametersISMEAR=0SIGMA=0.05ENCUT=400
#SCFEDIFF=1E-5
#HybridfunctionalHSEflagsLHFCALC=.TRUE.#doahybrid calculationAEXX=0.25#use25%exactexchangeHFSCREEN=0.2#defaultHSE06screeninglength(inÅ-1)PRECFOCK=Fast#precision tousefortheFFTgridsforHartree-Fock.Otheroptions areNormaland
Accurate.FastissufficienttodorelaxationsandmostothercalculationsALGO=All#thescf algorithmtouse.3options forhybrids: All,Normal,andDamped
l Non-selfconsistentcalculationsnotpossible:needwavefunctionsl Method
1. Convergewavefunction,withHSEandastandardk-pointgrid2. CopycontentsofIBZKPTfiletotheKPOINTSfile
cpIBZKPTKPOINTS3. EdittheKPOINTSfileandaddthepointsforthebandstructureatthe
end,using0asweight4. INCAR:
• setNELMINtoatleast5(zeroweightk-pointsdonotentertheconvergencecriterion).
• SetALGO=Normal(correctorderingunoccupiedbands)5. PlottheEIGENVALfile,omittingthenon-zeroweightk-points(asthese
arenotpartofthebandstructure)l Forcomputationalefficiency(toavoidmemoryproblems):splittheband
structurecalculationsinsegments,runseparately,andmergebeforeplotting
Example3:HSEbandstructure
Example3:HSEbandstructureKPOINTSKPOINT path21Reciprocal lattice
0.12500000000000 0.12500000000000 0.12500000000000 20.37500000000000 0.12500000000000 0.12500000000000 6-0.37500000000000 0.12500000000000 0.12500000000000 6-0.12500000000000 0.12500000000000 0.12500000000000 60.37500000000000 0.37500000000000 0.12500000000000 6-0.37500000000000 0.37500000000000 0.12500000000000 12-0.12500000000000 0.37500000000000 0.12500000000000 12-0.37500000000000 -0.37500000000000 0.12500000000000 60.37500000000000 0.37500000000000 0.37500000000000 2-0.37500000000000 0.37500000000000 0.37500000000000 60.00000000000000 0.00000000000000 0.00000000000000 00.05000000000000 0.00000000000000 0.00000000000000 00.10000000000000 0.00000000000000 0.00000000000000 00.15000000000000 0.00000000000000 0.00000000000000 00.20000000000000 0.00000000000000 0.00000000000000 00.25000000000000 0.00000000000000 0.00000000000000 00.30000000000000 0.00000000000000 0.00000000000000 00.35000000000000 0.00000000000000 0.00000000000000 00.40000000000000 0.00000000000000 0.00000000000000 00.45000000000000 0.00000000000000 0.00000000000000 00.50000000000000 0.00000000000000 0.00000000000000 0
#totalnumberofkpoints
#kpoints fromIBZKPT
#kpointpathfromzone-centertoMforbandstructure
GaN HSEbandstructure
Eg =3.48eV(Experiment3.5eV)
l VASPisahighlyparallelizedcodecapableofrunningsimulationsonlargestructures.
l ThreedifferentvariablesforparallelizationinVASP:− KPAR− NPAR− NCORE
RunningVASPjobsefficiently
l Mostefficientmethod toparallelizel Onlyabletoparallelizeoverk-pointsinIBZKPTfile!NOT thoselistedin
theHFroutineofVASP(ifusinghybrids)l SetKPARtonumberthatdividesthenumberofk-pointsinIBZKPTfilel VASPdoesnotcheckifthenumberisactuallyefficient(orusable)l RemainderofcoreswillbeusedforNPAR
KPAR
l Parallelizationoverbands.DefaultinVASPl GGA:NPAR=SQRT(NBANDS)l HSE:NPARshoulddividethenumberofbands(NBANDS),ifnot,VASPwill
adjustthenumberofbandsup(notefficient,wasteofcpu time)l Maximumparallelization:NPAR=NBANDS,butNOT efficientl Besttoonlyuse1or2nodes;HSE:NPAR=NBANDS/4
NPAR
KPAR(near)linearscaling! NPARalwayslessefficient
NPARvs.KPAR
l Numberofcores“sharingworkonindividualorbital”l IntendedforGGA,HSEisexperimentall HSE:Worstefficiencyofthethreemethodsl NCORE=#cores/NPARl NCORE=1isnotthesameasnotsettingit!l IfNPARispresent:NPARisused
NCORE
l Ifpossible:useKPAR− Onlyk-pointsinIBZKPT
l Nextbestoption:NPAR− GGA:SQRT(NBANDS)− HSE:ShoulddivideNBANDS− Ruleofthumb:
l 1or2nodes:okl HSE:NBANDS/4:maxnumberofNPAR
SummaryofVASPparallelization
• Anypackagethatallowsyoutoreadintextfilesandplot2Dor3Ddata,e.g.,Gnuplot,Python,MATLAB.
• Output(repeated)inseveralfiles:OUTCAR,vasprun.xml,OSZICAR,EIGENVAL
• SeveralrecentPythonpackagesthatparseVASPoutputfiles,andthatcanbeusedtosetupandcontrolthecalculations
www.pymatgen.org
https://wiki.fysik.dtu.dk/ase/
Postprocessingtips
Questions?