18.11.2012 Views

ASE Manual Release 3.6.1.2825 CAMd - CampOS Wiki

ASE Manual Release 3.6.1.2825 CAMd - CampOS Wiki

ASE Manual Release 3.6.1.2825 CAMd - CampOS Wiki

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>ASE</strong> <strong>Manual</strong>, <strong>Release</strong> 3.6.1.2828<br />

keyword type default value description<br />

kpts list [1,1,1] Monkhorst-Pack k-point sampling<br />

nbands int None Number of bands<br />

meshcutoff float None Mesh cut-off energy in eV<br />

basis str None Type of basis set (‘sz’, ‘dz’, ‘szp’, ‘dzp’)<br />

xc str ’LDA’ Exchange-correlation functional.<br />

pulay int 5 Number of old densities to use for Pulay mixing<br />

mix float 0.1 Pulay mixing weight<br />

width float None Fermi-distribution width in eV<br />

charge float None Total charge of the system<br />

label str ’siesta’ Name of the output file<br />

A value of None means that SIESTA’s default value is used.<br />

Extra FDF parameters<br />

The SIESTA code reads the input parameters for any calculation from a .fdf file. This means that you can set<br />

parameters by manually setting entries in this input .fdf file. This is done by the syntax:<br />

>>> calc.set_fdf(’name_of_the_entry’, value)<br />

For example, the EnergyShift can be set using<br />

>>> calc.set_fdf(’PAO.EnergyShift’, 0.01 * Rydberg)<br />

The complete list of the FDF entries can be found in the official SIESTA manual.<br />

Customized basis-set<br />

Standard basis sets can be set by the keyword basis directly in the Siesta calculator object. If a customized basis<br />

is needed, it can be set as an FDF entry, as explained in the previous section.<br />

As an example, we generate a triple-zeta triple-polarized (TZTP) basis for Au. Since the valence states are 6s and<br />

5d, we will have 3 zeta orbitals for l=0 and 3 for l=2 plus 3 polarization orbitals for l=1. The basis can be defined<br />

by<br />

>>> value = ["""Au 2 split 0.00 #label, num. of l-shells,type,charge<br />

>>> 0 3 P 3 #l,nzeta,’P’(opt):pol.functions,npolzeta<br />

>>> 0.00 0.00 0.00 #rc of basis functions for each zeta function<br />

>>> #0.00 => rc determined by PAO.EnergyShift<br />

>>> 2 3 #l,nzeta<br />

>>> 0.00 0.00 0.00"""] #rc<br />

>>> calc.set_fdf(’PAO.Basis’,value=value)<br />

The default basis set generation fails for Pt for some versions of Siesta. If this happens, you should specify the<br />

basis set manually. This is exemplified below.<br />

For Pt, using calc.set_fdf(’PAO.EnergyShift’, 0.1 * eV) is usually resonable, and a single-zeta<br />

polarized basis set can be specified by writing:<br />

# Define SZP basis set for Pt<br />

calc.set_fdf(’PAO.Basis’,<br />

["""\<br />

Pt 2 # Species label, number of l-shells<br />

n=6 0 1 P # n, l, Nzeta, Polarization, NzetaPol<br />

0. # 0.0 => default [6.982 \n 1.000]<br />

n=5 2 1 # n, l, zeta<br />

0."""]) # 0.0 => default [5.172 \n 1.000]<br />

A double-zeta polarized basis set for Pt may be specified by:<br />

7.14. Calculators 115

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!