[gpaw-users] problem with LCAO coefficients - probably in spherical harmonics
Ask Hjorth Larsen
asklarsen at gmail.com
Fri Feb 17 13:16:27 CET 2017
Dear Ondřej
2017-02-16 23:46 GMT+01:00 Ondřej Krejčí via gpaw-users
<gpaw-users at listserv.fysik.dtu.dk>:
> Dear GPAW developers!
>
> I'm trying to calculate a STM current by means of the Chen rules and
> wave-functions restored from LCAO coefficients (and some empirical
> exponential as an radial function). This works pretty well when the Pi
> orbital of molecules (pz orbitals of C, N etc.) is dominating in the
> current, however when I try to implement d-orbitals (for some metal organic
> molecules), I get some really asymmetric signal, even though the
> wavefunction of the eigen-state looks absolutely symmetric in the cube file.
> I looked into the files with radial functions and all the valence radial
> functions seems to be positive (especially in the far distance), therefore
> it is in agreement with my STM code.
> Thus, I'm thinking that there is some different sign convention in the
> spherical harmonics for the GPAW basis set. For me: p_y = Np*y/r,
> p_z=Np*z/r, p_x = Np*y/r, Nd*(x*y)/r^2 ... where N are just normalization
> constants > 0. Am I right, or the mistake is somewhere else? For other LCAO
> codes (Fireball, FHI-AIMS) I'm getting proper and symmetrical current maps.
>
> If somebody would like to see the way I'm obtaining the LCAO coefficients, I
> put it here:
>
> n_max_ ... last eigen-state in the calculations
> n_min_ ... first eigen-state in the calculations
> num_at_ ... number of atoms in the calcultions
> Ynum = 4 for 'sp' orbs, 9 for 'spd' orbs (only valence)
>
(mail software botches whitespace so script omitted)
>
> This procedure sometimes gives me a crazy wavefunction, if Hydorgens are not
> the last atoms of the molecule, it seems that - h += calc.wfs.setups[j].nao
> - is sometimes shifted by one, but this can be easily overcome.
What does it mean that "h += calc.wfs.setups[j].nao" is sometimes
shifted by one?
Excerpt from gpaw/c/sharmonic.py (which generates C code for spherical
harmonics) below:
The first few harmonics are listed below::
+----+---------------------+-__---------------------------------------+
| L | l | m | r^l * Y | \/ (r^l * Y) |
+----+---s----+------------+------------------------------------------+
| 0 | 0 | 0 | 1 | (0, 0, 0) |
+----+---p----+------------+------------------------------------------+
| 1 | 1 | -1 | y | (0, 1, 0) |
| 2 | 1 | 0 | z | (0, 0, 1) |
| 3 | 1 | 1 | x | (1, 0, 0) |
+----+---d----+------------+------------------------------------------+
| 4 | 2 | -2 | xy | ( y, x, 0) |
| 5 | 2 | -1 | yz | ( 0, z, y) |
| 6 | 2 | 0 | 3z^2-r^2 | (-x, -y, 2z) |
| 7 | 2 | 1 | xz | ( z, 0, x) |
| 8 | 2 | 2 | x^2-y^2 | ( x, -y, 0) |
+----+---f----+------------+------------------------------------------+
| 9 | 3 | -3 | 3x^2y-y^3 | ( 2xy, x^2-y^2, 0) |
| 10 | 3 | -2 | xyz | ( yz, xz, xy) |
| 11 | 3 | -1 | 5yz^2-yr^2 | ( -2xy, 4z^2-x^2-3y^2, 8yz) |
| 12 | 3 | 0 | 5z^3-3zr^2 | ( -2xz, -2yz, 3z^2-r^2) |
| 13 | 3 | 1 | 5xz^2-xr^2 | (4z^2-3x^2-y^2, -2xy, 8xz) |
| 14 | 3 | 2 | x^2z-y^2z | ( 2xz, -2yz, x^2-y^2) |
| 15 | 3 | 3 | x^3-3xy^2 | ( x^2-y^2, -2xy, 0) |
+----+--------+----------+--------------------------------------------+
Best regards
Ask
>
> Thank you for any help and suggestions!
> All the best,
> Ondrej Krejci
>
> _______________________________________________
> gpaw-users mailing list
> gpaw-users at listserv.fysik.dtu.dk
> https://listserv.fysik.dtu.dk/mailman/listinfo/gpaw-users
More information about the gpaw-users
mailing list