| Re: Hamiltonian matrix file ( No.1 )|
- Date: 2019/03/03 12:25
- Name: Po-Hao <email@example.com>
- Hi Maedeh,
I assume you are using the interface for developers.
If your system is collinear or unpolarized. To get some idea, you can replace in the code
printf("glbal index=%i local index=%i (grobal=%i, Rn=%i)\n",
printf("%i %i %i %i %i %i %i \n ",
and adjust for your own convenience.
The series of number printed out then, for example 2 5 1 1 2 4 9, will
correspond to a matrix block between the 2nd element and "the 5th element in [1 1 2] cell" and there are 4 orbitals for the 2nd element and 9 orbitals for the 5th element so the block will be a 4 x 9 matrix.
the function I added in addition to the original statement atv_ijk[Rn],atv_ijk[Rn],atv_ijk[Rn] converts Rn to [n m l]
The idea is that each block corresponds to the hopping term between i- and j-site.
The first number corresponds to i-site run from 1 to whatever number of atoms you have in your unitcell.
However the 2nd number corresponds to j-site have to cover all the sites, including neighboring unitcell, that have overlap with all the sites in your [0 0 0]. Therefore, how many j-sites you have depends on the radius cutoff you have in your atom species specification (ex. C6.0-s2p2 ).
In the case of spin
If it's collinear then spin=0 and =1 correspond to upup and downdown.
In case of noncollinear, if I remember correctly, spin=3 and spin=4 correspond to Re upd-own and Im up-down. (This part you should double check)
As Hamiltonain is Hermitian, it doesn't make sense to store updown and downup.
| Re: Hamiltonian matrix file ( No.2 )|
- Date: 2019/03/05 20:15
- Name: Maedeh
- Dear Po-Hao
Thank you very much for your explanation and helpful information.
It is much more clear now. I will work out a couple of examples to see if I fully understand the labels.
| Hamiltonian matrix file ( No.3 )|
- Date: 2019/06/07 07:26
- Name: Maedeh
- Dear Prof. Ozaki and OpenMX experts
I have another question about the Hamiltonian matrix blocks. in some cases, we have some missing blocks in the output file of the Hamiltonian/overlap matrix. for example, we have 1 2 l=-1 m=-1 n=0 but not 2 1 l=-1 m=-1 n=0 (which the numbers meaning are the same as Po-Hao mentioned before). I thought this is because the blocks are the same but I have seen this statement from Prof. Ozaki in the OpenMX forum:
Only the non-zero matrix elements are stored since the strictly localized basis functions are used in OpenMX.
Does this mean that the missing blocks are zero?
In advance, I do appreciate your kind replies,
| Re: Hamiltonian matrix file ( No.4 )|
- Date: 2019/06/07 18:32
- Name: Naoya Yamaguchi
- Dear Maedeh,
>we have 1 2 l=-1 m=-1 n=0 but not 2 1 l=-1 m=-1 n=0 (which the numbers meaning are the same as Po-Hao mentioned before).
I guess that "1 2" means ct_AN=1; Gh_AN=2 and l, m, n stand for the cell indices. If so, I think that "1 2 l=-1 m=-1 n=0" corresponds "2 1 l=1 m=1 n=0", not "2 1 l=-1 m=-1 n=0" because Gh_AN is a global atom index, but it is for h_AN in a certain cell.
| Re: Hamiltonian matrix file ( No.5 )|
- Date: 2019/06/08 05:12
- Name: Maedeh
- Dear Naoya Yamaguchi,
YES! you are right. "1 2 l=-1 m=-1 n=0" corresponds "2 1 l=1 m=1 n=0".
Thank you so much for your reply.