2200
2202
%endblock Ps.lmax
2201
2203
\end{fdfexample}
2203
By default \texttt{lmax} is the maximum angular momentum plus one.
2205
By default \texttt{lmax} is the maximum angular momentum plus one,
2206
limited by the highest-l channel
2207
in the pseudopotential file.
2208
2211
\begin{fdfentry}{PS.KBprojectors}[block]
2210
This block provides information about the number of Kleinman-Bylander
2211
projectors per angular momentum, and for each species, that will used
2212
in the calculation. This block is optional.
2213
If the block is absent, or for species not mentioned in it, only
2214
one projector will be used for each angular momentum. The projectors
2215
will be constructed using the eigenfunctions of the respective
2214
information about the number of Kleinman-Bylander projectors per
2215
angular momentum, and for each species, that will used in the
2216
calculation. This block is optional. If the block is absent, or for
2217
species not mentioned in it, only one projector will be used for
2218
each angular momentum (except for l-shells with semicore states, for
2219
which two projectors will be constructed). The projectors will be
2220
constructed using the eigenfunctions of the respective
2219
2224
This block allows to specify the number of projector for each l, and also
2223
2228
increasing number of nodes (if there is not bound state with
2224
2229
the corresponding number of nodes, the ``eigenstates'' are taken to be just
2225
2230
functions which are made zero at very long distance of the nucleus).
2226
The units for the energy can be optionally specified, if not, the
2227
program will assumed that are given in Rydbergs.
2231
The units for the energy can be optionally specified; if not, the
2232
program will assumed that they are given in Rydbergs.
2228
2233
The data provided in this block must be consistent with those
2229
2234
read from the block \fdf{PS!lmax}. For example,
2254
2258
read: {erefKB(izeta,il,is)}, from ikb = 1 to nkbl(l,is), {units}
2261
All angular momentum shells should be specified. Default values are
2262
assigned to missing shells with l below lmax, where lmax is the
2263
highest angular momentum present in the block for that particular
2264
species. High-l shells (beyond lmax) not specified in the block will
2265
also be assigned default values.
2267
Care should be taken for l-shells with semicore states. For them, two
2268
KB projectors should be generated. This is not checked while
2269
processing this block.
2257
2271
When a very high energy, higher that 1000 Ry, is specified, the
2258
2272
default is taken instead. On the other hand, very low (negative)
2259
2273
energies, lower than -1000 Ry, are used to indicate that the energy
2260
derivative of the last state must be used. For example, in the example
2274
derivative of the last state must be used. For example, in the block
2261
2275
given above, two projectors will be used for the \textit{s}
2262
2276
pseudopotential of Si. One generated using a reference energy of -0.5
2263
2277
Hartree, and the second one using the energy derivative of this
2276
2290
with the presence of ghost states.
2278
2292
The default is \emph{one} KB projector from each angular momentum,
2279
constructed from the nodeless eigenfunction.
2293
constructed from the nodeless eigenfunction, used for each angular
2294
momentum, except for l-shells with semicore states, for which two
2295
projectors will be constructed.
2296
Note that the value of \texttt{lmxkb} is actually limited by the
2297
highest-l channel in the pseudopotential file.
2281
2299
For full spin-orbit calculations, the program generates $lj$
2282
2300
projectors using the $l+1/2$ and $l-1/2$ components of the
2395
2413
\texttt{nzls(lsh,is)}: Number of ``zetas'' for this shell. For a
2396
2414
filteret basis this number is ignored since the number is
2397
2415
controlled by the cutoff.
2416
For bessel-floating orbitals, the different 'zetas' map to
2417
increasingly excited states with the same angular momentum (with
2418
increasing number of nodes).
2400
2422
\texttt{PolOrb(l+1)}: \textit{Optional input}. If set equal to
2473
2495
this shell. For the second zeta onwards, if this value is
2474
2496
negative, the actual rc used will be the given fraction of the
2475
2497
first zeta's rc.
2498
If the number of rc's for a given shell is less than the number of
2499
'zetas', the program will assign the last rc value to the remaining
2500
zetas, rather than stopping with an error. This is particularly
2501
useful for Bessel suites of orbitals.
2478
2504
\texttt{contrf(izeta,l,is)}: \textit{Optional input}. Contraction
2479
factor\index{scale factor} of each ``zeta'' for this shell.
2505
factor\index{scale factor} of each ``zeta'' for this shell.
2506
If the number of entries for a given shell is less than the number of
2507
'zetas', the program will assign the last contraction value to the remaining
2508
zetas, rather than stopping with an error.
2480
2509
\textit{Default value}: \texttt{1.0}
2484
2512
Polarization orbitals\index{perturbative
2508
2536
a constant-pseudopotential atom, \textit{i.e.}, the basis functions
2509
2537
generated will be spherical Bessel functions\index{Bessel functions}
2510
2538
with the specified $r_c$. In this case, $r_c$ has to be given, as
2511
\fdf*{EnergyShift} will not calculate it.\index{basis!Bessel functions}
2539
\fdf*{PAO.EnergyShift} will not calculate it.\index{basis!Bessel functions}
2513
2541
Other negative atomic numbers will be interpreted by \siesta\ as
2514
2542
\textit{ghosts}\index{ghost atoms}\index{basis!ghost atoms}
2538
2566
(which must be squared to obtain the valence density) are really
2539
2567
filtered with a cutoff reduced by an empirical factor
2540
2568
$0.7^2 \simeq 0.5$. The \fdf{FilterCutoff} should be similar or
2541
lower than the \fdf{MeshCutoff} to avoid the \emph{eggbox
2569
lower than the \fdf{Mesh!Cutoff} to avoid the \emph{eggbox
2542
2570
effect} on the atomic forces. However, one should not try to
2543
converge \fdf{MeshCutoff} while simultaneously changing
2571
converge \fdf{Mesh!Cutoff} while simultaneously changing
2544
2572
\fdf{FilterCutoff}, since the latter in fact changes the used
2545
2573
basis functions. Rather, fix a sufficiently large
2546
\fdf{FilterCutoff} and converge only \fdf{MeshCutoff}. If
2574
\fdf{FilterCutoff} and converge only \fdf{Mesh!Cutoff}. If
2547
2575
\fdf{FilterCutoff} is not explicitly set, its value is calculated
2548
2576
from \fdf{FilterTol}.
2571
2599
orbitals may be meaningless, leading to incorrect results or even a
2574
To be implemented: If \fdf{MeshCutoff} is not present in the
2602
To be implemented: If \fdf{Mesh!Cutoff} is not present in the
2575
2603
input file, it can be set using the maximum filtering cutoff used
2576
2604
for the given \fdf{FilterTol} (for the time being, you can use
2577
2605
\fdf{AtomSetupOnly} \fdftrue\ to stop the program after basis generation,
5628
5665
\siesta\ uses a finite 3D grid for the calculation of some
5629
5666
integrals and the representation of charge densities and potentials.
5630
5667
Its fineness is determined by its plane-wave cutoff, as
5631
given by the \fdf{MeshCutoff} option. It means that all periodic
5668
given by the \fdf{Mesh!Cutoff} option. It means that all periodic
5632
5669
plane waves with kinetic energy lower than this cutoff
5633
5670
can be represented in the grid without aliasing. In turn,
5634
5671
this implies that if a function (e.g. the density or the
5656
5693
diagnose the eggbox effect to be expected for a particular
5657
5694
pseudopotential/basis-set combination.
5659
Apart from increasing the mesh cutoff (see the \fdf{MeshCutoff} option),
5696
Apart from increasing the mesh cutoff (see the \fdf{Mesh!Cutoff} option),
5660
5697
the following options might help in lessening a given eggbox problem. But
5661
5698
note also that a filtering of the orbitals and the relevant parts of
5662
5699
the pseudopotential and the pseudocore charge might be enough to solve
5663
5700
the issue (see Sec.~\ref{sec:filtering}).
5665
\begin{fdfentry}{MeshSizes}[block]
5669
Defines the number of mesh divisions of each lattice vector. Thus
5675
determines that the first, second, and third lattice vectors will
5676
be divided in 30, 30, and 80 mesh intervals, respectively.
5677
The number of mesh divisions should all be multiples of MeshSubDivisions
5678
below, or a stopping error will occur.
5679
If \fdf{MeshSizes} is not present, the mesh divisions are calculated
5680
to meet the \fdf{MeshCutoff} below.
5681
If \fdf{MeshSizes} is present and it gives a mesh cutoff lower than the
5682
input \fdf{MeshCutoff}, a warning is issued, but the calculation
5683
continues with the given \fdf{MeshSizes}.
5687
\begin{fdfentry}{MeshCutoff}[energy]<$300\,\mathrm{Ry}$>
5702
\begin{fdfentry}{Mesh!Cutoff}[energy]<$300\,\mathrm{Ry}$>
5691
5706
Defines the plane wave cutoff for the grid.
5693
5708
% JMS/AG. To be implemented:
5694
% \textit{Default value:} If not present, \textbf{MeshCutoff} is made equal
5695
% to \textbf{FilterCutoff}, if present. If not, it is obtained from
5696
% \textbf{FilterTol}, if present, as explained in that parameter.
5709
% \textit{Default value:} If not present, \fdf{Mesh!Cutoff} is made equal
5710
% to \fdf{FilterCutoff}, if present. If not, it is obtained from
5711
% \fdf{FilterTol}, if present, as explained in that parameter.
5697
5712
% If none of these parameters is present, the default value for
5698
% \textbf{MeshCutoff} is \texttt{100 Ry}
5713
% \fdf{Mesh!Cutoff} is \texttt{100 Ry}
5702
\begin{fdfentry}{MeshSubDivisions}[integer]<$2$>
5717
\begin{fdfentry}{Mesh!Sizes}[list]<\fdfvalue{Mesh!Cutoff}>
5721
Manual definition of grid size along each lattice vector. The value
5722
must be divisible by \fdf{Mesh!SubDivisions}, otherwise the
5723
program will die. The numbers should also be divisible with $2$, $3$
5724
and $5$ due to the FFT algorithms.
5726
This option may be specified as a block, or a list:
5732
Mesh.Sizes [100 202 210]
5735
By default the grid size is determined via \fdf{Mesh!Cutoff}. This
5736
option has precedence if both are specified.
5740
\begin{fdfentry}{Mesh!SubDivisions}[integer]<$2$>
8969
9007
the ``cube'' format, accepted by several Bader-analysis programs
8970
9008
(for example, see \url{http://theory.cm.utexas.edu/bader/}). Due to
8971
9009
the need to represent a localized core charge, it is advisable to
8972
use a moderately high MeshCutoff when invoking this option (300-500
9010
use a moderately high Mesh!Cutoff when invoking this option (300-500
8973
9011
Ry). The size of the ``basin of attraction'' around each atom in
8974
9012
the Bader analysis should be monitored to check that the model core
8975
9013
charge is contained in it.
12349
12387
\option[Eta]%
12350
12388
\fdfindex*{TS!Elec.<>!Eta}%
12351
\fdfdepend{TS!Elecs!Eta}
12352
Control the imaginary part of the surface Green function for this
12389
\fdfdepend{TS!Elecs!Eta}%
12390
Control the imaginary energy ($\eta$) of the surface Green
12391
function for this electrode.
12393
The imaginary part is \emph{only} used in the non-equilibrium
12394
contours since the equilibrium are already lifted into the complex
12395
plane. Thus this $\eta$ reflects the imaginary part in the
12396
$G\Gamma G^\dagger$ calculations. Ensure that all imaginary values
12397
are larger than $0$ as otherwise \tsiesta\ may seg-fault.
12399
\note if this energy is negative the complex value associated with
12400
the non-equilibrium contour is used. This is particularly useful
12401
when providing a user-defined contour along the real axis.
12355
12403
\option[Accuracy]%
12356
12404
\fdfindex*{TS!Elec.<>!Accuracy}%
12357
\fdfdepend{TS!Elecs!Accuracy}
12405
\fdfdepend{TS!Elecs!Accuracy}%
12358
12406
Control the convergence accuracy required for the self-energy
12359
12407
calculation when using the Lopez-Sanchez, Lopez-Sanchez iterative
12435
12483
\end{fdflogicalT}
12437
\begin{fdfentry}{TS!Elecs!Eta}[energy]<$10^{-4}\,\mathrm{eV}$>
12485
\begin{fdfentry}{TS!Elecs!Eta}[energy]<$1\,\mathrm{meV}$>
12439
Globally control the imaginary part used for the surface Green
12440
function calculation.
12487
Globally control the imaginary energy ($\eta$) used for the surface
12488
Green function calculation on the non-equilibrium contour.
12442
See \fdf{TS!Elec.<>!Eta}.
12490
See \fdf{TS!Elec.<>!Eta} for extended details on the usage of this
12444
12493
\end{fdfentry}
13037
13086
generation of the basis orbitals and the screened pseudopotentials.
13040
The exchange-correlation routines contained in file xc.f were
13041
written by J.M.Soler in 1996 and 1997, in collaboration with
13042
\textbf{C.\ Balb\'as} and \textbf{J. L.\ Martins}. Routine pzxc (in
13043
the same file), which implements the Perdew-Zunger LDA
13044
parametrization of xc, is based on routine velect, written by
13045
\textbf{S.\ Froyen}.
13089
The exchange-correlation routines contained in SiestaXC were written
13090
by J.M.Soler in 1996 and 1997, in collaboration with
13091
\textbf{C.\ Balb\'as} and \textbf{J. L.\ Martins}. Routine pzxc,
13092
which implements the Perdew-Zunger LDA parametrization of xc, is
13093
based on routine velect, written by \textbf{S.\ Froyen}.
13048
13096
The serial version of the multivariate fast fourier transform used