960 likes | 1.33k Views
Abinit Workshop. Sornthep Vannarat. Lesson 1. Hydrogen Molecule. Lesson 1. cd ~abinit/Tutorial mkdir work copy ../t1x.files . edit t1x.files copy ../t11.in . ../../abinis < t1x.files > log. ../ t11 . in t1x . out t1xi t1xo t1x ../../ Psps_for_tests / 01h . pspgth. t11 . in
E N D
Abinit Workshop Sornthep Vannarat
Lesson 1 Hydrogen Molecule
Lesson 1 • cd ~abinit/Tutorial • mkdir work • copy ../t1x.files . • edit t1x.files • copy ../t11.in . • ../../abinis < t1x.files > log ../t11.in t1x.out t1xi t1xo t1x ../../Psps_for_tests/01h.pspgth t11.in t11.out t1xi t1xo t1x ../../Psps_for_tests/01h.pspgth
Lesson 1: Starting abinit • Program name: abinis.exe • Input files: t11.in and t1xi* • Output files: t11.out and t1xo* • Temporary files: t1x* • Pseudo potential files../../Psps_for_tests/01h.pspgth
Lesson 1: Input parameters • Input file: t11.in acell 10 10 10 # Cell size is 10**3 ntypat 1 # One type of atom znucl 1 # Atomic number is one natom 2 # There are two atoms typat 1 1 # They both are of type 1 xcart # Location of the atoms -0.7 0.0 0.0 # atom 1, in Bohr 0.7 0.0 0.0 # atom 2, in Bohr ecut 10.0 # Cut-off energy, in Hartree nkpt 1 # One k point nstep 10 # Maximal number of SCF cycles toldfe 1.0d-6 # Threshold diemac 1.0 # Preconditioner diemix 0.5 # Using standard preconditioner # for molecules in a big box
Lesson 1: Output • Abinit version • Input/output files • Values of input parameters • Data Set and Pseudo potential file • Number of plan waves • Iterations • Stress tensor • Eigen values • Max/Min Electronic density • Total energy • Values of input parameters (after calculation) • Log file: interactive input, more details of iterations
Lesson 1: Inter-atomic distance (1) • 3 approaches: • compute total energy E(d) or force F(d) • Use relaxation • Multiple datasets • t12.in: ndtset, xcart, xcart+, getwfk, nband • Edit t1x.files and run • Look at t12.out • Data sets: symmetry and number of plane waves • Data sets: coordinates xangst, xcart, xred • Data sets: Number of iterations • etotal and fcart • Plot data
Lesson 1: Inter-atomic distance (2) • Use relaxation: ionmove, ntime, tolmxf, toldff • Multiple datasets • t13.in • Edit t1x.files and run • Look at t13.out • BROYDEN STEP • value of coordinates after relaxation xangst, xcart, xred
Lesson 1: Charge density • prtden = 1, t14.in • move atoms to middle of box • cut3d convert to OpenDX
Lesson 1: Atomization energy • Eatomization = (2EHatom – EH2molecule) per molecule • Caution: • Calculations with the same setting • Spin: nsppol, spinat • Degeneracy: HOMO and LUMO (see lesson_4) • Ground-state charge density NON-spherical, automatic determination of symmetries should be disabled (nsym) • For Hydrogen, • ground state is spherical (1s orbital) • HOMO and LUMO have a different spin • t15.in: define occupation of each spin, occopt and occ • Output file: Eigen values, Max/Min spin • Atomization energy =?
Lesson 1: Summary • System • H2 molecule in a big box 10x10x10 Bohr^3 • Method • Using cut-off energy 10 Ha • LDA (LSDA for atom) with ixc=1 (default) • Pseudopotential from Goedecker-Hutter-Teter table • Results • Bond length 1.522 Bohr (1.401 Bohr) • Atomisation energy 0.1656 Ha = 4.506 eV (4.747 eV)
Lesson 2 Convergence Study
Lesson 2: Combined calculation t21.in ndtset 2 acell 10 10 10 ecut 10 #First dataset natom1 2 ionmov1 3 # BD algorithm ntime1 10 tolmxf1 5.0d-4 xcart1 -0.7 0.0 0.0 0.7 0.0 0.0 toldff1 5.0d-5 nband1 1 #Second dataset natom2 1 nsppol2 2 # LSDA occopt2 2 nband2 1 1 # Spin up, down occ2 1.0 0.0 toldfe2 1.0d-6 xcart2 0.0 0.0 0.0 spinat2 0.0 0.0 1.0 # Init spin
Lesson 2: Convergence • Calculation parameters: • ecut • acell • number of k-points • convergence of SCF cycle: toldfe, toldff • convergence of geometry optimization: tolmxf
Lesson 2: ecut t22.in ndtset 12 udtset 6 2 acell 10 10 10 ecut:? 10 ecut+? 5 #First dataset: bond length natom?1 2 ionmov?1 3 ntime?1 10 tolmxf?1 5.0d-4 xcart?1 -0.7 0.0 0.0 0.7 0.0 0.0 toldff?1 5.0d-5 nband?1 1 #Second dataset: H-atom natom?2 1 nsppol?2 2 occopt?2 2 nband?2 1 1 occ?2 1.0 0.0 toldfe?2 1.0d-6 xcart?2 0.0 0.0 0.0 spinat?2 0.0 0.0 1.0
Lesson 2: ecut What determines ecut? What if H is changed to Cl?
Lesson 2: acell t23.in ndtset 12 udtset 6 2 acell:? 8 8 8 acell+? 2 2 2 ecut 10 #First dataset: bond length natom?1 2 ionmov?1 3 ntime?1 10 tolmxf?1 5.0d-4 xcart?1 -0.7 0.0 0.0 0.7 0.0 0.0 toldff?1 5.0d-5 nband?1 1 #Second dataset: H-atom natom?2 1 nsppol?2 2 occopt?2 2 nband?2 1 1 occ?2 1.0 0.0 toldfe?2 1.0d-6 xcart?2 0.0 0.0 0.0 spinat?2 0.0 0.0 1.0
Lesson 2: acell What determines acell? What if H is changed to Cl?
Lesson 2: Optimum parameters and GGA calculation • Use the optimum ecut and acell to determine H2 bond length and atomization energy. • Switch to GGA calculation by changing ixc • No need to change pseudo-potential for H (small core) • No need to change ecut • No need to change acell • Compare results
Lesson 3 Crystalline Silicon
Lesson 3: Introduction • Crystalline silicon (Diamond structure, 2 FCC) • the total energy • the lattice parameter • the band structure (actually, the Kohn-Sham band structure) • Parameters: • k-points, • smearing of cut-off
Lesson 3: Introduction • Parameters: • rprim: premitive vectors • xred: reduced coordinates • K-point sampling • kptopt: 0 read from input, 1,2,3 generates, negative for band calculation • ngkpt: numbers of k-points in 3 directions • nshiftk shiftk kptrlatt • alternatively use kptrlen • Larger cell smaller Brillouin zone
Lesson 3: Sample k-points generation • ngkpt = 2,2,2 • First mesh has 8 points, (0,0,0), (0,0,½), (0,½,0), (0,½,½), (½,0,0), (½,0,½), (½,½,0), (½,½,½) • nshiftk = 4, shiftk = (½,½,½), (½,0,0), (0,½,0), (0,0,½) • First shift with (½,½,½), 8 k-points become (¼,¼,¼), (¼,¼,¾), (¼,¾,¼), (¼,¾,¾), (¾,¼,¼), (¾,¼,¾), (¾,¾,¼), (¾,¾,¾) • Second shift with (½,0,0), 8 k-points become (¼,0,0), (¼,0,½), (¼,½,0), ... • Third shift with (0,½,0), 8 k-points become (0,¼,0), (0,¼,½), (0,¾,0), ... • Forth shift with (0,0,½), 8 k-points become (0,0,¼), (0,0, ¾), (0,½,¼), ... • Value ki larger than ½ can be translated to ki-1 e.g. ¾ -¼ • Totally 32 points obtained by shifting first mesh, but can be reduced by symmetry
Lesson 3: Silicon crystal • Look at input file t31.in, meaning of acell, rprim, xred, kptopt, ngkpt, nshiftk, shiftk, diemac • Try running and check the result • Try changing • kptopt to 3 • ngkpt to 3,2,2 etc. • nshiftk, shiftk • using kptrlen instead, with prtkpt = 1,0
Lesson 3: Silicon k-point convergence • Look at t32.in and try running it • Why problem occurs? • Change t32.in to correct the problem and to perform a series of calculations to test convergence against number of k-points • ndtset 4 • ngkpt1 2 2 2 • ngkpt2 4 4 4 • ngkpt3 8 8 8 • ngkpt4 16 16 16 • Note number of k-points and energy convergence • Convergence of wavefunction and charge density can also be verified
Lesson 3: Silicon k-point convergence • Test k-point, when begin the study new material • Test (at least) three efficient k-point sets • CPU time is proportional to number of k-points • Symmetry reduce number of k-points, but need to be weighted (wtk) • Reference: Monkhorst and Pack paper, Phys. Rev. B 13, 5188 (1976)
Lesson 3: Silicon Lattice Parameter • Parameters (t34.in) • optcell 1 • ionmov 3 • ntime 10 • dilatmx 1.05 • ecutsm 0.5 • Experimental value: 5.431 Angstrom at 25 degree Celsius, see R.W.G. Wyckoff, Crystal structures Ed. Wiley and sons, New-York (1963) • Calculated value =? • Using LDA with the 14si.pspnc pseudopotential • What are 2 data sets?
Lesson 3: Silicon Band Structure • Two steps • SCF calculation of charge density • Non-SCF calculation of eigen values (bands) • Use L-Gamma-X-Gamma circuit • In eight-atom cell coordinates: (1/2 1/2 1/2)-(0 0 0)-(1 0 0)-(1 1 1) • In two-atom cell coordinates: (1/2 0 0)- (0 0 0)- (0 1/2 1/2)-(1 1 1) • Parameters (t35.in) • prtden, iscf, getden, nband, kptopt, ndivk, enunit, tolwfr • kptbounds to • 0.5 0.0 0.0 # L point • 0.0 0.0 0.0 # Gamma point • 0.0 0.5 0.5 # X point • 1.0 1.0 1.0 # Gamma point in another cell. • Results: kpt#
Lesson 4 Crystalline Aluminum and Surface Energy
Lesson 4: Introduction • Aluminum, the bulk and the surface. • the total energy • the lattice parameter • the relaxation of surface atoms • the surface energy • Smearing of the Brillouin zone integration • Preconditioning the SCF cycle
Lesson 4: Smearing • occopt = 4,5,6,7 • Use Fermi-Dirac when trying to mimic physical electronic temperature. It is less convenient to use due to "long-tailed“, need more bands. • In general Gaussian-like smearings are preferable. • If you are interested only in the total energies, you can just use a Gaussian smearing - but need to extract corrected energy by taking the semisum of the energy and the free energy. • Methfessel-Paxton and Marzari-Vanderbilt do this automatically for you, and also provide forces, stresses, and whatever else corrected for the leading term in the temperature. • tsmear
Lesson 4: Bulk Al • Look at t41.in • ecut 6 Ha, compare to previous cases • H needed 30 Ha • Si needed 8 Ha • Run • Look at output and note 2 points • Components of energy • Occupation of each band • Test ecut convergence
Lesson 4: k-point convergence • How to check k-point convergence? • Look at t42.in • Run • Look at the result • Total energy • acell • Try with a different tsmear
Lesson 4: tsmear and k-point covergence Aluminum: Total energy (E) and Lattice parameters (A) calculated using tsmear = 0.05, 0.10 as functions of k-point grid Larger tsmear converges faster, but ... Try t43.in
Lesson 4: Al (001) surface energy • Slab calculation: Al layer + vacuum layer • Thicknesses of Al and Vacuum layers • Reference energy: Bulk calculation with equivalent parameters, i.e. cell shape, k-point grid, ecut • Esurface = (Eslab/nslab – Ebulk/nbulk)/(2 Asurface) • Look at t44.in and t45.in, what do they represent? • Difficulties: surface reconstruction and different top-buttom surfaces
Lesson 4: Al surface energy • Vacuum layer thickness • Defining atomic positions in Cartesian coordinates is more convenient • Preconditioner (dielng) for metal+vacuum case • How many layers of vacuum are needed? • t46.in
Lesson 4: Al surface energy • Al layer thickness • Preconditioner (dielng) for metal+vacuum case • Use an effective dielectric constant of about 3 or 5 • With a rather small mixing coefficient ~0.2 • Alternatively, Use an estimation of the dielectric matrix governed by iprcel=45 • Repeat the 3 aluminum layer case for comparison • t47.in • See t47_STATUS to check status of long calculation • How many Al layers are needed?
Lesson 5 Dynamical Matrix, Dielectric Tensor and Effective Charge
Lesson 5: Response functions • Response functions are the second derivatives of total energy (2DTE) with respect to different perturbations, e.g. • phonons (Dynamical metrix) • static homogeneous electric field (Dielectric tensor, Born effective charges) • strain (Elastic constants, internal strain, piezoelectricity) • ABINIT computes FIRST-order derivatives of the wavefunctions (1WF) • 2DTE is calculated from 1WF • References: • X. Gonze, Phys. Rev. B55, 10337 (1997) • X. Gonze and C. Lee, Phys. Rev. B55, 10355 (1997).
Lesson 5: Response functions • ABINIT gives • phonon frequencies • electronic dielectric tensor • effective charges • Derivative DataBase (DDB) • Contains all 2DTEs and 3DTEs • MRGDDB • Anaddb
Lesson 5: Perturbations • Phonon • displacement of one atom (ipert) along one of the axis (idir) of the unit cell, by a unit of length (in reduced coordinates • characterized by two integer numbers and one wavevector • rfatpol defines the set of atoms to be moved • rfdir defines the set of directions to be considered • nqpt, qpt, and qptnrm define the wavevectors to be considered • Electric field • DDK: dH/dk, auxiliary for RF-EF (ipert=natom+1) • Homogeneous electric field (q=0), only (ipert=natom+2), idir = direction • Homogeneous Strain • Uniaxial strain: ipert = natom+3, idir = 1,2,3 for xx,yy,zz • Shear strain ipert = natom+4, idir = 1,2,3 for yz, zx, xy • No internal coordinate relaxation
Lesson 5: Ground State of AlAs • trf1_1.in, trf1_x.files (2 potentials) • Note: tolvrs 1.0d-18 • Run • Is tolvrs reached? (18) • What is the total energy? (15 digits)
Lesson 5: Frozen-phonon E’’ • tr1_2.in • Read in previous wavefunction file (irdwfk = 1) • Al is moved (xred) • Need to rename tr1_xo_WFK to tr1_xi_WFK • Edit tr1_x.files to run tr1_2.in • Run • Compare tr1_1.out and tr1_2.out • Symmetry, K-points • Cartesian forces • RMS dE/dt • Estimate E’’ from E(x) = E0+xdE + x2d2E / 2 + ... • x = change in Al position from its equilibrium
Lesson 5: Response-Function E’’ • d2E/dx2; x = change in Al position from its equilibrium • tr1_3.in • Read in previous wavefunction file (irdwfk = 1) • kptopt = 2 • Atomic positions not changed (xred) • Phonon perturbation (rfphon) • Perturbation on Al atom (rfatpol) • Direction (rfdir) and wave-vector (nqpt, qpt) • Run • Output files: *.out (2DEtotal), 1WF, DDB,
Lesson 5: RF Full Dynamical Matrix • At Gamma [q=(0,0,0)] • Perturbation J(m,n): • m = Atom number (rfatpol 1 natom) • n = Direction (Reduced) (rfdir 1 1 1) • Dynamical matrix M[j1,j2] • Run • Output files: *.out, 1WF, 1WF4, DDB, • Perturbation of each atom is applied in each direction in turns • idir 2,3 is symmetric with previous calculation • ipert 1,2,4 (electric field) • Note the symmetry M[i,j] = M[j,i]? • Rerun with tolvrs = 10-18 • Phonon Energies
Lesson 5: Recipe: K-Points • Input k-point set for RF should NOT have been decreased by using spatial symmetries, prior to the loop over perturbations • ABINIT will automatically reduce k-points • kptopt=1 for the ground state • kptopt=2 for response functions at q=0 • kptopt=3 for response functions at non-zero q
Lesson 5: Recipe: Steps • Atomic displacement with q=0, • SC GS IBZ (with kptopt=1) • SC RF Phonon Half Set (with kptopt=2) • Atomic displacement with q=k1-k2 (k1,k2 are special k-points), • SC GS IBZ (with kptopt=1) • SC RF Phonon Full Set (with kptopt=3) • Atomic displacement for a general q point, • SC GS IBZ (with kptopt=1) • NSC GS k+q (might be reduced due to symmetries, with kptopt=1) • SC RF Phonon Full Set (with kptopt=3) • Electric Field (with q=0), • SC GS IBZ (with kptopt=1) • NSC RF DDK Half Set (with kptopt=2, and iscf=-3) • SC RF EF Half Set (with kptopt=2)
Lesson 5: Recipe: Combinations • Full dynamical matrix, Dielectric tensor and Born effective charges • SC GS IBZ (with kptopt=1) • Three NSC RF DDK (one for each direction) Half Set (with kptopt=2, and iscf=-3) • SC RF Phonon+EF Half Set (with kptopt=2) • Phonon at q=0 and general q points • Perturbations at different q wavevectors cannot be mixed. • SC GS IBZ (with kptopt=1) • Three NSC RF DDK (one for each direction) Half Set (with kptopt=2, and iscf=-3) • SC RF Phonon+EF Half Set (with kptopt=2) • NSC GS k+q points (might be reduced due to symmetries, with kptopt=1) • SC RF Phonon q0 Full Set (with kptopt=3)
Lesson 5: Full RF calculation of AlAs • Three Data Sets • SC GS IBZ • NSC RF DDK Half k-point set • SC RF Phonon+EF Half k-point set • New parameters • rfelfd, getwfk, getddk • trf1_5.in • Run • Output • Dynamical matrix • Dielectric tensor • Effective charge • Phonon energies