lp:~albertog/siesta/4.0-semic-pol-fix
- Get this branch:
- bzr branch lp:~albertog/siesta/4.0-semic-pol-fix
Branch merges
- Nick Papior: Pending requested
- Javier Junquera: Pending requested
-
Diff: 1478 lines (+1092/-101)11 files modifiedDocs/siesta.tex (+13/-2)
Src/atom.F (+82/-50)
Src/basis_specs.f (+72/-16)
Src/basis_types.f (+27/-3)
Src/old_atmfuncs.f (+24/-28)
Tests/Makefile (+1/-1)
Tests/Reference/bessel-rich.out (+817/-0)
Tests/bessel-rich/bessel-rich.fdf (+45/-0)
Tests/bessel-rich/bessel-rich.pseudos (+1/-0)
Tests/bessel-rich/makefile (+6/-0)
version.info (+4/-1)
Branch information
Recent revisions
- 598. By Alberto Garcia
-
Improve output of basis specification
Change misleading 'n=' prefix by 'i=' (it is simply an enumeration)
and add a proper symbolic nl identifier at the end of the line. - 596. By Alberto Garcia
-
Simpler and less intrusive fix for semicore+polorb case
Only cnfigtb is modified.
In old_atmfuncs, a more robust method is used to get the correct n
in 'cnfigfio'.
Nkbl is properly updated. - 595. By Alberto Garcia
-
Attempt to fix the 'missing KB' issue for Ti and similar cases
EXAMPLE: Consider Ti. 3s2 3p6 3d2 4s2 4p0*
4p0* is a polarization orbital, and has to live with 3p6, which is a
semicore orbital. The "ground state configuration" reported by the
atomic routines is:4s2 3p6 3d2 4f0 (that is, 3p6 is a "valence" orbital)
-- If we specify a full PAO.Basis block (as in the BaTiO3 test in the
Siesta distribution):Ti 5 1.91
n=3 0 1 E 93.95 5.20
5.69946662616249
1.00000000000000
n=3 1 1 E 95.47 5.20
5.69941339465994
1.00000000000000
n=4 0 2 E 96.47 5.60
6.09996398975307 5.09944363262274
1.00000000000000 1.00000000000000
n=3 2 2 E 46.05 4.95
5.94327035784617 4.70009988294302
1.00000000000000 1.00000000000000
n=4 1 1 E 0.50 1.77
3.05365979938936
1.00000000000000everything is OK as we spell out all the shells we want.
-- However, if we mark 4s as "polarizable" and leave out the 4p shell:
Ti 4 1.91
n=3 0 1 E 93.95 5.20
5.69946662616249
1.00000000000000
n=3 1 1 E 95.47 5.20
5.69941339465994
1.00000000000000
n=4 0 2 E 96.47 5.60 P 1 # --- P 1 added HERE
6.09996398975307 5.09944363262274
1.00000000000000 1.00000000000000
n=3 2 2 E 46.05 4.95
5.94327035784617 4.70009988294302
1.00000000000000 1.00000000000000then (apart from the "n" cosmetics in the *.ion file) the program does
not identify 3p as a "semicore state", and thus it does not generate
*two* KB operators for l=1.This fix is quite ad-hoc, touching the code in several places, and
changing low-level variables (cnfigmx and nsemic), so I am not too
happy about it.Note also that there is still some debugging output.
- 594. By Alberto Garcia
-
Enable short-hand for entering rc information in PAO.Basis block
If the number of rc's for a given shell is less than the number of
'zetas', the program will assign the last rc value to the remaining
zetas, rather than stopping with an error. This is particularly
useful for Bessel suites of orbitals.A new test (Tests/bessel-rich) exemplifies this, and the previous
patches' Bessel extensions. - 593. By Alberto Garcia
-
Extend and clarify the handling of Bessel floating orbitals
For Bessel floating orbitals different 'zetas' correspond to
progressively excited states (more nodes) for a given l.A user might want to reproduce the basis coverage of a given 'nl'
shell with a suite of bessel functions with increasing number of
nodes, using the 'zeta' mechanism. Up to now, it was only possible to
do this for a single 'n' for each l, and the 'n' quantum number
specified by the user in the (compulsory for Bessel orbitals)
PAO.Basis block was ignored.This patch enables the specification of multiple 'nl' shells for the
same l, and keeps the user's choice for the 'n' quantum number in
the output files of the program (.ion, .PDOS, etc). - 592. By Alberto Garcia
-
Add better info for Bessel states
* Include the atomic label in header output.
* Warn about internal 'n' quantum number changes. - 591. By Alberto Garcia
-
Fix 'n' quantum number for high-l polarization orbitals
When a polarization orbital had angular momentum l greater than the
rest of the the basis, its associated principal quantum number n was
off (it was set to the polarized shell's n).This error affected the metadata in the .ion files, the wavefunction
files, and the PDOS file, so some analysis operations might have
failed to take into account those orbitals if they were requested
explicitly (e.g., a COOP calculation with 'O_3d' symbols might show
the bug; but not one with 'O_d' or 'O').
Branch metadata
- Branch format:
- Branch format 7
- Repository format:
- Bazaar repository format 2a (needs bzr 1.16 or later)
- Stacked on:
- lp:siesta