Re: Hamiltonian matrix file ( No.1 ) |
- Date: 2019/03/03 12:25
- Name: Po-Hao <chang.pohao@gmail.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", ct_AN,h_AN,Gh_AN,Rn); */ with
printf("%i %i %i %i %i %i %i \n ", ct_AN, Gh_AN,atv_ijk[Rn][1],atv_ijk[Rn][2],atv_ijk[Rn][3],TNO1,TNO2);
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][1],atv_ijk[Rn][2],atv_ijk[Rn][3] 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
Hi
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.
Best regards Maedeh
|
Hamiltonian matrix file ( No.3 ) |
- Date: 2019/06/07 07:26
- Name: Maedeh
- Dear Prof. Ozaki and OpenMX experts
Hi, 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, Best regards, Maedeh
|
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.
Regards, Naoya Yamaguchi
|
Re: Hamiltonian matrix file ( No.5 ) |
- Date: 2019/06/08 05:12
- Name: Maedeh
- Dear Naoya Yamaguchi,
Hi,
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.
Best regards, Maedeh
|
|