This thread is locked.Only browsing is available.
Top Page > Browsing
Calculating PDOS
Date: 2016/02/04 23:20
Name: Seungjin Kang   <detshh@gmail.com>

I'm trying td draw PDOS for some hybridized orbitals such as |s_1> + i|px_1>. How can I do this?

The wavefunction |n,k> (n = band index, k = kpoint) is expanded with basis functions atomic orbitals.

|n,k> = c1 |s_1> + c2|px_1> + c3 |py_1> + c4 |pz_1> + ...

And the scheme for calculating PDOS for |px_1> orbital is

(E)_(px_1) = <n,k|px_1><px_1|n,k> (E - E_nk) = |c2|^2 (E - E_nk)

Also, for some orbitals such as |s_1> + i|px_1>,

(E)_(s+px_1) = <n,k|(|s_1> + i|px_1>)(<s_1} + i<px_1|)|n,k> (E - E_nk) = |c1+ic2|^2 (E - E_nk)

So we need the coefficients of each orbital to calculate PDOS.
If the coefficients c1 and c2 are real numbers, |c1+ic2|^2 = |c1|^2 + |c2|^2 so we can just add the PDOS of |s_1> and |px_1>. But if c1 and c2 are complex number, we can't just do this because |c1+ic2|^2 = |c1|^2 + |c2|^2 + i(c1 c2* - c1* c2). and we don't know the complex term.
Is this right? Or are there any other ways for this kind of job?
e
Page: [1]

Re: Calculating PDOS ( No.1 )
Date: 2016/02/05 19:50
Name: Artem Pulkin

This is all correct but

1. I doubt the coefficients are real. But outputting complex part is relatively easy, just dig into the code.
2. Orbitals overlap so that your second formula is different (see Mulliken, Lowdin population analysis)

Regards,

Artem
e

Page: [1]