Re: Hamiltonian matrix file ( No.1 ) 
 Date: 2019/03/03 12:25
 Name: PoHao <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 jsite. The first number corresponds to isite run from 1 to whatever number of atoms you have in your unitcell. However the 2nd number corresponds to jsite have to cover all the sites, including neighboring unitcell, that have overlap with all the sites in your [0 0 0]. Therefore, how many jsites you have depends on the radius cutoff you have in your atom species specification (ex. C6.0s2p2 ).
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 updown and Im updown. (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 PoHao
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 PoHao 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 nonzero 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 PoHao 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

