300 likes | 709 Views
How to run with the same pseudos in Siesta and Abinit. Objectives Run examples with the same pseudos (same decomposition in local part and Kleinman-Bylander projectors) in Siesta and Abinit . Compare total energies. Download the last versions of both codes, Siesta and Abinit.
E N D
How to run with the same pseudos in Siesta and Abinit Objectives Run examples with the same pseudos (same decomposition in local part and Kleinman-Bylander projectors) in Siesta and Abinit. Compare total energies
Download the last versions of both codes, Siesta and Abinit RegardingtheAbinitcode, you can downloadtherequiredversionfrom: http://personales.unican.es/junqueraj/Abinit.tar.gz Butthemerge of therelevantsubroutinesintothemaintrunkwill be done soon Regarding Siesta, the code is available at the usual web site: http://www.icmab.es/siesta
A few modifications to be done before running:Siesta Edit the file atom.F in the Src directory 1. Replace “nrval” by “nrwf” in the call to schro_eq inside the subroutine KBgen (file atom.F) 2. Replace “nrval” by “nrwf” in the call to ghost inside the subroutine KBgen (file atom.F) 3. Increase the default of Rmax_kb_default to 60.0 bohrs (file atom.F)
Definition of the Kleinman-Bylander projectors X. Gonze et al., Phys. Rev. B 44, 8503 (1991) The normalized Kleinman-Bylander projectors are given by where and are the eigenstates of the semilocal pseudopotential (screened by the pseudovalence charge density). Note that these are the radial part of the wave function multiplied by , For the sake of simplicity, we assume here only one projector per angular momentum shell. If more than one is used, they must be orthogonalized
Definition of the Kleinman-Bylander projectors (old choice in Siesta for the atomic eigenstates) In the standard version of Siesta, the Schrödinger equation for the isolated atom while generating the KB projectors is solved inside a box whose size is determined by nrval. This is usually a very large radius (of the order of 120 bohrs) Then, this wave functions is normalized inside a sphere of a much smaller radius, determined by Rmax_KB (default value = 6.0 bohr)
Definition of the Kleinman-Bylander projectors (new choice in Siesta for the atomic eigenstates) In the new version of Siesta, everything is consistent, and the Schrödinger equation and the normalization are solved with respect the same boundary conditions Almost no change in total energies observed, but the Kleinman-Bylander energies might be very different, specially for unbounded orbitals
A few modifications to be done before running:Abinit Edit the file src/65_psp/psp5nl.F90 1. Uncommentthelasttwolinesforthe sake of comparingKleinman-Bylanderenergies and cosineswiththeonesobtainedwithSiesta 2. Rememberto compile thecodeenablingthe FOX library ./configure --with-trio-flavor=netcdf+etsf_io+fox
Examples to run Siesta and Abinit with the same pseudos 1. Visit the web page: http://personales.unican.es/junqueraj and follow the links: Teaching Métodos Computacionales en Estructura de la Materia Hand-on sessions Pseudos 2. DownloadthePseudosand input files forbothcodes 3. Untar the ball file $ tar –xvf Siesta-Abinit.tar This will generate a directory called Comparison-Siesta-Abinit with 4 directories: $ cd Comparison-Siesta-Abinit $ ls -ltr $ Si (example for a covalent semiconductor, LDA) $ Al (example for a sp-metal, LDA) $ Au (example for a noble metal, includes d-orbital, LDA) $ Fe (example for a transition metal, includes NLCC, GGA)
Examples to run Siesta and Abinit with the same pseudos In every subdirectory it can be found: $ cd Si $ ls –ltr $ Pseudo (files to generate and test the pseudopotential) $ Optimized-Basis (files to optimize the basis set) $ Runsiesta (files to run Siesta) $ Runabinit (files to run Abinit)
How to generate and test a norm-conserving pseudopotential Generate the pseudopotential using the ATM code as usual, following the notes in the Tutorial “How to generate a norm conserving pseudopotential” Copy the input file in the corresponding atom/Tutorial/PS_Generation directory and run The pseudopotentials will be on the same parent directory: .vps (unformatted) (required to test the pseudopotential) .psf (formatted) .xml (in XML format) (required to run Abinit) Remember to test the pseudopotential using the ATM code as usual, following the notes in the Tutorial “How to test the transferability of a norm conserving pseudopotential”
Running the energy versus lattice constant curve in Siesta Run the energy versus lattice constant curve in Siesta as usual. You can use both the .psf or the .xml pseudopotential. Follow the rules given in the tutorial “Lattice constant, bulk modulus, and equilibrium energy of solids” The input file has been prepared for you (file Si.fdf). Since we are interested in compare the performance of the basis set, it is important to converge all the rest of approximations (Mesh Cutoff, k-point grid, etc.) as much as possible At the end, we would be able to write a file (here called Si.siesta.latcon.dat) that looks like this: These data have been obtained with a double-zeta plus polarization basis set, optimized at the theoretical lattice constant with a pressure of 0.05 GPa
Running the energy versus cutoff energy in Abinit To check the equivalent cutoff energy in Abinit: • Werunthesamesystem (samelatticevectors and internalcoordinates) at thesamelevel of approximations (sameexchange and correlationfunctional, Monkhorst-Pack mesh etc.) at a givenlatticeconstant. • Hereit has beenwrittenforyou (file Si.input.convergence)
Diamondstructure at thelatticeconstantthatminimizestheenergy in Siesta 6 × 6 × 6 Monkhorst-Pack mesh Ceperley-Alder (LDA) functional
Running the energy versus cutoff energy in Abinit To check the equivalent cutoff energy in Abinit: • Werunthesamesystem (samelatticevectors and internalcoordinates) at thesamelevel of approximations (sameexchange and correlationfunctional, Monkhorst-Pack mesh etc.) at a givenlatticeconstant. • Hereit has beenwrittenforyou (file Si.input.convergence) 2. Change the cutoff energy for the plane waves 3. Edit the .files file and select the input file and the pseudo file (in XML format) 4. Run the code
Running the energy versus cutoff energy in Abinit: bulk Si (covalent semiconductor) Write the total energy as a function of the cutoff energy and edit the corresponding file that should look like this Equivalent PW cutoff a DZP basis set at 5.38 Å
Running the energy versus lattice constant curve in Abinit 1. Same input as before but… … setting the plane wave cutoff to the equivalent one to a DZP basis set … and changing the lattice constant embracing the minimum 2. Change in the .files the name of the input file 3. Run the code
Running the energy versus lattice constant curve in Abinit Write the total energy as a function of the lattice constant and edit the corresponding file that should look like this
Comparing the pseudopotential in Siesta andAbinit: bulk Si (covalent semiconductor) To be totallysurethatwehaverunSiesta and Abinitwiththesamepeudopotentialoperator, i.e. withthesamedecomposition in local part and Kleinman-Bylanderprojectors: 1. Editone of the output files in Siestaand searchforthefollowinglines: 2. Editthe log file in Abinitand searchforthefollowinglines: The Kleinman-Bylander energies and cosines should be the same upto numerical roundoff errors Note: In Siestathey are written in Ry and in Abinitthey are in Ha.
Comparing the energy versus lattice constant in Siesta andAbinit: bulk Si (covalent semiconductor)
Comparing the pseudopotential in Siesta andAbinit: bulk Al (sp metal) To be totallysurethatwehaverunSiesta and Abinitwiththesamepeudopotentialoperator, i.e. withthesamedecomposition in local part and Kleinman-Bylanderprojectors:
Comparing the pseudopotential in Siesta andAbinit: bulk Al (sp metal) For the case of metallic system, besides the k-point sampling we have to pay particular attention to the occupation option Siesta Abinit Default: Fermi-Dirac Also, as explained in the Tutorial “Convergence of electronic and structural properties of a metal with respect to the k-point sampling: bulk Al” we should look at the Free Energy and not to the Kohn-Sham energy
Running the energy versus cutoff energy in Abinit: bulk Al (a spmetal) Lattice constant 3.97 Å
Comparing the energy versus lattice constant in Siesta andAbinit: bulk Al (sp metal) Basis set of Siesta: DZP optimized with a pressure of 0.001 GPa at the theoretical lattice constant of 3.97 Å) Plane wave cutoff in Abinit: 8.97 Ha
Comparing the pseudopotential in Siesta andAbinit: bulk Au (a noble metal) To be totallysurethatwehaverunSiesta and Abinitwiththesamepeudopotentialoperator, i.e. withthesamedecomposition in local part and Kleinman-Bylanderprojectors:
Running the energy versus cutoff energy in Abinit: bulk Au (a noble metal) Lattice constant 4.08 Å
Comparing the energy versus lattice constant in Siesta andAbinit: bulk Au (a noble metal) Basis set of Siesta: DZP optimized with a pressure of 0.02 GPa at the theoretical lattice constant of 4.08 Å Plane wave cutoff in Abinit: 17.432 Ha
Comparing the pseudopotential in Siesta andAbinit: bulk Fe (a magnetic transition metal) To be totallysurethatwehaverunSiesta and Abinitwiththesamepeudopotentialoperator, i.e. withthesamedecomposition in local part and Kleinman-Bylanderprojectors:
Comparing the pseudopotential in Siesta andAbinit: bulk Fe (a magnetic transition metal) • Forthe case of metallicsystem, besidesthe k-pointsamplingwehavetopayparticular attentiontotheoccupationoption. • Now, besides: • Thesystemis spin polarized • We use a GGA functional • Weinclude non-linear partialcorecorrections in thepseudo Siesta Abinit
Running the energy versus cutoff energy in Abinit: bulk Fe (a magnetic transition metal) Lattice constant 2.87 Å
Comparing the energy versus lattice constant in Siesta andAbinit: bulk Fe(magnetic transition metal) Basis set of Siesta: DZP optimized without pressure at the experimental lattice constant of 2.87 Å Plane wave cutoff in Abinit: 34.82 Ha