This thread is locked.Only browsing is available.
Top Page > Browsing
Format of HS.out File
Date: 2022/03/04 12:00
Name: Kieran   <skn_neu@hotmail.co.uk>

Dear All,

I extracted HS.out file by executing the analysis_example command but I do not know the format of this file. Can I ask some questions?

1. Would anyone tell me the meaing of these following variables?
global index, local index, global, Rn.

Does 'global index' mean the index of atom in the central original unit cell; while, 'local index' mean the index of atom in the unit cell, which is neighbouring to the central original unit cell??

2. I read the analysis_example.c file but it is not that straightfoward to me. What is the meaning of 'SpinP_switch', 'natn', 'ncn', 'atv_ijk[Rn][1]' variables? Why do some matrix (spin=0 case) only provide real part element, without imaginary part?

3. What is the difference between 'Kohn-Sham Hamiltonian spin=0' and 'iHks: Kohn-Sham Hamiltonian spin=0'?

5. Why do some matrix blocks have 13 columns; while some have 14 columns like the followings?

global index=1 local index=36 (global=6, Rn=220)
-0.0059411 0.0180182 0.0094689 0.0081206 -0.0000018 -0.0191452 -0.0169026 0.0000041 0.0056421 -0.0017449 -0.0097358 0.0000018 0.0000016
0.0180185 -0.0490543 -0.0275308 -0.0227425 0.0000069 0.0511209 0.0437293 -0.0000153 -0.0164673 0.0063518 0.0283179 -0.0000071 -0.0000062
-0.0094690 0.0275304 0.0138970 0.0137895 -0.0000029 -0.0269316 -0.0281444 0.0000067 0.0089460 -0.0007483 -0.0158610 0.0000031 0.0000031
-0.0081206 0.0227416 0.0137894 0.0093077 -0.0000025 -0.0265768 -0.0180263 0.0000055 0.0077409 -0.0053239 -0.0129463 0.0000029 0.0000021
-0.0000019 0.0000069 0.0000028 0.0000025 -0.0022940 -0.0000067 -0.0000061 0.0048300 0.0000009 -0.0000002 -0.0000025 0.0027461 0.0024116
0.0191460 -0.0511208 -0.0269323 -0.0265778 0.0000071 0.0484233 0.0512382 -0.0000159 -0.0175059 0.0019296 0.0311507 -0.0000074 -0.0000074
0.0169030 -0.0437297 -0.0281451 -0.0180273 0.0000059 0.0512392 0.0325641 -0.0000129 -0.0157079 0.0121737 0.0261094 -0.0000069 -0.0000051
0.0000043 -0.0000157 -0.0000064 -0.0000058 0.0048299 0.0000152 0.0000140 -0.0096956 -0.0000019 0.0000005 0.0000057 -0.0059122 -0.0052352
0.0056421 -0.0164667 -0.0089457 -0.0077406 0.0000008 0.0175047 0.0157067 -0.0000017 -0.0059408 0.0016796 0.0096338 -0.0000012 -0.0000011
-0.0017450 0.0063525 0.0007486 0.0053241 -0.0000005 -0.0019307 -0.0121745 0.0000012 0.0016797 0.0048650 -0.0038067 0.0000002 0.0000008
-0.0097356 0.0283166 0.0158604 0.0129459 -0.0000025 -0.0311487 -0.0261075 0.0000056 0.0096336 -0.0038067 -0.0170051 0.0000029 0.0000024
-0.0000020 0.0000076 0.0000031 0.0000031 -0.0027460 -0.0000074 -0.0000076 0.0059119 0.0000012 -0.0000000 -0.0000029 0.0031306 0.0030711
-0.0000017 0.0000063 0.0000028 0.0000022 -0.0024113 -0.0000067 -0.0000052 0.0052347 0.0000010 -0.0000007 -0.0000024 0.0030712 0.0022709
global index=1 local index=37 (global=9, Rn=0)
-0.0000130 0.0000750 -0.0000123 0.0000005 -0.0000002 0.0000003 0.0000072 0.0000006 0.0000137 -0.0000043 -0.0000014 0.0000001 -0.0000051 -0.0000002
0.0000691 -0.0003693 0.0000539 0.0000006 -0.0000002 0.0000006 -0.0000421 -0.0000011 -0.0000746 0.0000183 0.0000077 0.0000002 0.0000246 -0.0000022
0.0000209 -0.0001090 0.0000172 0.0000001 0.0000006 0.0000012 -0.0000127 -0.0000001 -0.0000221 0.0000068 0.0000023 0.0000003 0.0000077 -0.0000003
-0.0000011 0.0000003 0.0000003 -0.0000001 -0.0000003 -0.0000008 0.0000006 -0.0000003 0.0000003 -0.0000002 -0.0000001 -0.0000006 -0.0000005 -0.0000000
0.0000333 -0.0001841 0.0000292 -0.0000002 0.0000004 0.0000004 -0.0000207 -0.0000009 -0.0000371 0.0000103 0.0000037 -0.0000002 0.0000129 0.0000003
-0.0000629 0.0003208 -0.0000492 -0.0000007 -0.0000001 -0.0000012 0.0000379 0.0000003 0.0000662 -0.0000182 -0.0000064 -0.0000004 -0.0000220 0.0000009
0.0000015 0.0000003 0.0000003 -0.0000000 0.0000001 0.0000002 -0.0000008 -0.0000002 -0.0000005 0.0000006 -0.0000001 0.0000007 0.0000002 0.0000010
-0.0001038 0.0005459 -0.0000824 -0.0000010 0.0000000 -0.0000016 0.0000640 0.0000013 0.0001111 -0.0000285 -0.0000117 -0.0000000 -0.0000379 0.0000021
-0.0000144 0.0000804 -0.0000151 0.0000012 -0.0000010 0.0000003 0.0000091 0.0000005 0.0000161 -0.0000053 -0.0000010 0.0000001 -0.0000056 -0.0000019
-0.0000061 0.0000305 -0.0000046 0.0000002 -0.0000004 -0.0000014 0.0000036 -0.0000001 0.0000059 -0.0000021 -0.0000004 -0.0000007 -0.0000027 0.0000006
-0.0000000 -0.0000008 -0.0000021 0.0000008 -0.0000007 -0.0000001 -0.0000000 -0.0000002 -0.0000001 -0.0000013 0.0000003 0.0000002 0.0000002 -0.0000010
-0.0000192 0.0001008 -0.0000162 0.0000005 -0.0000018 -0.0000022 0.0000118 -0.0000001 0.0000204 -0.0000071 -0.0000024 -0.0000011 -0.0000075 0.0000004
0.0000012 -0.0000006 -0.0000011 0.0000004 0.0000010 0.0000022 -0.0000008 0.0000005 -0.0000001 0.0000003 0.0000004 0.0000015 0.0000014 -0.0000008

6. The basis in my calculation is written below.
C C5.0-s2p2d1
Fe Fe6.0S-s3p2d1
Ge Ge7.0-s3p2d1
Te Te7.0-s3p2d1

what is the meaning of each column in the matrix above?

Thank you very much.

Kind regards,

Kieran
メンテ
Page: [1]

Re: Format of HS.out File ( No.1 )
Date: 2022/03/04 13:36
Name: Naoya Yamaguchi

Dear Kieran,

A1. The `global index`, `local index`, `global` and `Rn` mean the global atom index i, local atom index j(i) belonging to atom i, global atom index for the j(i), and cell index, respectively. See also the `read_scfout.h` and No.2 of http://www.openmx-square.org/forum/patio.cgi?mode=view&no=1855 .
A2. See the `read_scfout.h`. The `analysis_example.c` provides a simple example source code to read data from `scfout` files, not the detail of them.
A3. See the `read_scfout.h`.
A5. It is because the number of PAOs can be different from atom to atom.
A6. See the `analysis_example.c`.

Regards,
Naoya Yamaguchi
メンテ
Re: Format of HS.out File ( No.2 )
Date: 2022/03/10 04:49
Name: Kieran  <skn_neu@hotmail.co.uk>

Dear Naoya,

Thank you for the explanation.

Can I ask the unit of the Hamiltonian extracted by the analysis_example code? Is it a.u. or eV?

Kind regards,

Kieran
メンテ
Re: Format of HS.out File ( No.3 )
Date: 2022/03/10 11:40
Name: Naoya Yamaguchi

Dear Kieran,

It is a.u. Basically, the unit of such internal numerical data is a.u for the convenience of computation.

Regards,
Naoya Yamaguchi
メンテ
Re: Format of HS.out File ( No.4 )
Date: 2022/03/22 05:23
Name: Kieran  <skn_neu@hotmail.co.uk>

Dear Naoya,

I want to double check my understanding of a couple of variables.

1. The 'global index' variable in the HS.out file denotes the index of atom inside the unit cell at the origin;
2. The 'local index' variable in the HS.out file denotes the index of the neighbouring atom belonging to the atom labelled by the 'global index' varibale;
3. The 'global' variable in the HS.out file denotes the index of atom inside the unit cell located at vector Rn;
4. In the analysis_example.c file, Rn = (l*a + m*b + n*c). Here, 'l', 'm', 'n' variables denote the translation vectors along three lattice vectors; while, 'a', 'b' and 'c' variables denote the lattice vector of the unit cell in the real space;
5. In the analysis_example.c file, the up-down sub-matrix is labelled by 'Hks[2] + I*(Hks[3]+iHks[2])'. Here, 'I' denotes the imaginary unit, i.

Am I correct about the meaning of all these variables?

Thank you.

Kind regards,

Kieran
メンテ
Re: Format of HS.out File ( No.5 )
Date: 2022/03/22 12:37
Name: Naoya Yamaguchi

Dear Kieran,

A1. Yes.
A2. Yes.
A3. No, there are such variables stored in `scfout` files, but you can obtain the *global* index from `natn`.
A4. Strictly speaking, `Rn` from `ncn` corresponds to `(l*a + m*b + n*c)`, but `Rn = (l*a + m*b + n*c)` is not true. And, you can get `(l*a + m*b + n*c)` from `atv[Rn]`, while `l`, `m` and `n` from `atv_ijk[Rn]`.
A5. Yes.

Regards,
Naoya Yamaguchi
メンテ
Re: Format of HS.out File ( No.6 )
Date: 2022/03/23 03:36
Name: Kieran  <skn_neu@hotmail.co.uk>

Dear Naoya,

I read the analysis_example.c file again. In the example 2, 'Gh_AN = natn[ct_AN][h_AN]' and 'global' variable is 'Gh_AN' so I think that 'global' variable denotes the index of atom inside the unit cell located at vector Rn.

Would you please clarify this issue to me?

Thank you very much.

Kind regards,

Kieran
メンテ
Re: Format of HS.out File ( No.7 )
Date: 2022/03/23 03:47
Name: Kieran  <skn_neu@hotmail.co.uk>

Dear Naoya,

If my understanding of 'global' variable in the HS.out file is wrong, would you please tell me how to extract 'the index of atom inside the unit cell located at vector Rn'? I mean which variable in the analsis_example.c file contains this information, 'the index of atom inside the unit cell located at vector Rn'?

Thank you.

Kind regards,

Kieran
メンテ
Re: Format of HS.out File ( No.8 )
Date: 2022/03/23 04:49
Name: Naoya Yamaguchi

Dear Kieran,

>I read the analysis_example.c file again. In the example 2, 'Gh_AN = natn[ct_AN][h_AN]' and 'global' variable is 'Gh_AN' so I think that 'global' variable denotes the index of atom inside the unit cell located at vector Rn.

`Gh_AN` itself doesn't have information of the cells. Of course, instead of the neighboring atom description of `ct_AN` and `h_AN`, you can use `Gh_AN` and `Rn`, that is, you can separate the (global) atom index from the cell index.

>3. The 'global' variable in the HS.out file denotes the index of atom inside the unit cell located at vector Rn;

My answer that such *global* variables are not stored in `scfout` files, means that there are no such arrays receiving `Rn=ncn[ct_AN][h_AN]` directly.

Anyway, you can write a minor code to check your recognition.

And, `analysis_example.c` is just an example to read an `scfout` file and to print data. I recommend you to read another post-processing code used in practical calculations, because in my case I didn't learn how to use `scfout` files practically from `analysis_example.c`.

Regards,
Naoya Yamaguchi
メンテ
Re: Format of HS.out File ( No.9 )
Date: 2022/03/23 05:21
Name: Kieran  <skn_neu@hotmail.co.uk>

Dear Naoya,

Please, allow me to simplify my question.

Suppose there are 12 atoms in the unit cell. In the HS.out file, the parameters are written below.

global index=1 local index=36 (global=6, Rn=220)

Through these parameters, how do I know with which atom the first atom in the unit cell at origin interacts described by the following interaction matrix block?

Thank you.

Kind regards,

Kieran
メンテ
Re: Format of HS.out File ( No.10 )
Date: 2022/03/23 13:23
Name: Naoya Yamaguchi

Dear Kieran,

`global index=1 local index=36 (global=6, Rn=220)` means the 36th first neighboring atom of atom 1 in cell 0 (i.e. the original cell) is atom 6 in cell 220.
And, the matrix elements following it are those between atom 1 in cell 0 and atom 6 in cell 220.

Regards,
Naoya Yamaguchi
メンテ
Re: Format of HS.out File ( No.11 )
Date: 2022/03/25 03:43
Name: Kieran  <skn_neu@hotmail.co.uk>

Dear Naoya,

Thank you for the explanation.

I extracted the Hamiltonian matrix from the HS.out file and used the k point coordinates in the <seedname>.Band file to compute the band structure but I found that this band structure is not exactly same as that computed through the OpenMX 3.9 directly.

Do you think that this is possible or not? I mean does the Hamiltonian matrix from the HS.out file definitely give the exactly same band structure from that computed through the OpenMX 3.9 directly?

Thank you.

Kind regards,

Kieran
メンテ
Re: Format of HS.out File ( No.12 )
Date: 2022/03/25 12:18
Name: Naoya Yamaguchi

Dear Kieran,

>I mean does the Hamiltonian matrix from the HS.out file definitely give the exactly same band structure from that computed through the OpenMX 3.9 directly?

From `HS.out`, you can obtain the equivalent eigenvalues. An example is http://www.openmx-square.org/openmx_man3.9/node178.html

Regards,
Naoya Yamaguchi
メンテ
Re: Format of HS.out File ( No.13 )
Date: 2022/04/01 03:49
Name: Kieran  <skn_neu@hotmail.co.uk>

Dear Naoya,

Can I ask another question about the overlap matrix in the HS.out file?

Regarding the Kohn-Sham Hamiltonian matrix, HS.out file stores it with four parts (up-up, up-down, down-up and down-down matrices). I think that the overlap matrix also has four parts (up-up, up-down, down-up and down-down matrices). Am I correct?

If so, the Analysis_example.c file only gives the examples (4, 5 and 6) to extract one overlap matrix, without telling which part it is. How do I extract the overlap matrices for these four parts (up-up, up-down, down-up and down-down) respectively?

Thank you.

Kind regards,

Kieran
メンテ
Re: Format of HS.out File ( No.14 )
Date: 2022/04/01 12:26
Name: Naoya Yamaguchi

Dear Kieran,

>Regarding the Kohn-Sham Hamiltonian matrix, HS.out file stores it with four parts (up-up, up-down, down-up and down-down matrices). I think that the overlap matrix also has four parts (up-up, up-down, down-up and down-down matrices). Am I correct?

It's correct.

>If so, the Analysis_example.c file only gives the examples (4, 5 and 6) to extract one overlap matrix, without telling which part it is. How do I extract the overlap matrices for these four parts (up-up, up-down, down-up and down-down) respectively?

The up-up is equivalent to the down-down, and the other vanishes.

The overlap between two orbitals is calculated through eq. 43 of http://www.openmx-square.org/tech_notes/tech1-1_2.pdf .

Regards,
Naoya Yamaguchi
メンテ
Re: Format of HS.out File ( No.15 )
Date: 2022/06/20 15:43
Name: Kieran  <skn_neu@hotmail.co.uk>

Dear Naoya,

I used ZHEGV subroutine to process the Kohn-Sham matrix and overlap matrix because the tight binding Hamiltonian matrix in the HS.out file from OpenMX code is not built upon the orthogonal basis.

I searched online and found that S^(-1/2)* H * s^(1/2) can generate the Hamiltonian matrix with orthogonal basis. S and H are overlap matrix and Kohn-Sham matrix respectively.

I wonder whether OpenMX can automatically output the tight binding Hamiltonian matrix based on orthogonal basis; such as S^(-1/2)* H * s^(1/2) or not?

Thank you.

Kind regards,

Kieran
メンテ
Re: Format of HS.out File ( No.16 )
Date: 2022/06/20 19:22
Name: T. Ozaki

Hi,

> I wonder whether OpenMX can automatically output the tight binding Hamiltonian matrix based on orthogonal basis;
> such as S^(-1/2)* H * s^(1/2) or not?

There is no such a functionality in the OpenMX itself, while some of other tools, listed at
http://www.openmx-square.org/openmx_man3.9/node224.html , may support it.

Regards,

TO
メンテ

Page: [1]