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
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 />
# Define DZP basis set for Pt<br />
calc.set_fdf(’PAO.Basis’,<br />
["""\<br />
Pt 2 split 0.00 # Species label, number of l-shells<br />
n=6 0 2 P 1 # n, l, Nzeta, Polarization, NzetaPol<br />
0.00 0.00 # 0.0 => default [6.982 5.935 \n 1.000 1.000]<br />
n=5 2 2 # n, l, zeta<br />
0.00 0.00"""]) # 0.0 => default [5.172 3.060 \n 1.000 1.000]<br />
You can also reuse the basis set of a previous calculation, by copying the .ion files to the new location, and set the<br />
User.Basis tag to True:<br />
# Load basis from previous calc (*.ion files)<br />
calc.set_fdf(’User.Basis’, True)<br />
Warning: Specifying a basis set manually in any way will, for some obscure reason, make Siesta crash if you have<br />
ghost atoms!<br />
Pseudopotentials<br />
Pseudopotential files in the .psf or .vps formats are needed. Pseudopotentials generated from the ABINIT<br />
code and converted to the SIESTA format are available in the SIESTA website . A database of user contributed<br />
pseudopotentials is also available there.<br />
You can also find an on-line pseudopotential generator from the OCTOPUS code.<br />
Example<br />
Here is an example of how to calculate the total energy for bulk Silicon, using a double-zeta basis generated by<br />
specifying a given energy-shift:<br />
#!/usr/bin/env python<br />
from ase import *<br />
a0 = 5.43<br />
bulk = Atoms(’Si2’, [(0, 0, 0),<br />
(0.25, 0.25, 0.25)],<br />
pbc=True)<br />
b = a0 / 2<br />
bulk.set_cell([(0, b, b),<br />
(b, 0, b),<br />
(b, b, 0)], scale_atoms=True)<br />
calc = Siesta(label=’Si’,<br />
xc=’PBE’,<br />
meshcutoff=200 * Ry,<br />
basis=’dz’,<br />
mix=0.01,<br />
kpts=[10, 10, 10])<br />
calc.set_fdf(’PAO.EnergyShift’, 0.01 * Ry)<br />
bulk.set_calculator(calc)<br />
e = bulk.get_potential_energy()<br />
Here, the only input information on the basis set is, that it should be double-zeta (basis=’dz’) and that the confinement<br />
potential should result in an energy shift of 0.01 Rydberg (the PAO.EnergyShift fdf tag). Sometimes<br />
it can be necessary to specify more information on the basis set. For example, the default basis set generation fails<br />
for Pt for some versions of Siesta. To fix this, you must specify the basis set manually. <strong>Manual</strong> basis set specifications<br />
are described in Customized basis-set.<br />
116 Chapter 7. Documentation for modules in <strong>ASE</strong>