This thread is locked.Only browsing is available.
Top Page > Browsing
How to calculate eigenstates from HS.out
Date: 2021/07/01 23:39
Name: PES217i

Dear OpenMX developers,

From HS.out we can get hamiltonian matrix and overlap matrix information, and just solve the generalized eigenvalue problem for non periodic case.
However, it's complicated to reconstruct the full hamiltonian matrix for periodic boundary condition. For example
```
System.CurrrentDirectory ./
System.Name Si
level.of.stdout 1
level.of.fileout 1
HS.fileout on
data.path /usr/share/openmx/DFT_DATA19/

Species.Number 1
<Definition.of.Atomic.Species
Si Si7.0-s2p2d1 Si_PBE19
Definition.of.Atomic.Species>

Atoms.Number 2
Atoms.SpeciesAndCoordinates.Unit Ang
<Atoms.SpeciesAndCoordinates
1 Si 1.9334873 1.1162994 0.7893429 2.0 2.0
2 Si 0.0000000 0.0000000 0.0000000 2.0 2.0
Atoms.SpeciesAndCoordinates>

Atoms.UnitVectors.Unit Ang
<Atoms.UnitVectors
3.8669746 0.0000000 0.0000000
1.9334873 3.3488983 0.0000000
1.9334873 1.1162994 3.1573716
Atoms.UnitVectors>

scf.XcType GGA-PBE
scf.SpinPolarization off
scf.ElectronicTemperature 300.0
scf.energycutoff 200.0
scf.maxIter 100
scf.EigenvalueSolver band
scf.Kgrid 6 6 6
scf.Mixing.Type rmm-diisk
scf.Init.Mixing.Weight 0.05
scf.Min.Mixing.Weight 0.01
scf.Max.Mixing.Weight 0.30
scf.Mixing.History 25
scf.Mixing.StartPulay 15
scf.criterion 1.0e-7
```
returns
```
Kohn-Sham Hamiltonian spin=0
1 1 0 0 0 13 13
-0.414585652260606 0.070511543797452 -0.000040960788604 -0.000023615313957 -0.000016706309897 -0.000028193596465 -0.000016255763050 -0.000011498953496 0.000003260132486 -0.000003764500243 -0.000006511756245 -0.000004606500185 -0.000002670755248
0.070511543797452 0.077468379502132 -0.000010154966458 -0.000005850941319 -0.000004139956970 -0.000017139890116 -0.000009885402784 -0.000006991470455 0.000014318826079 -0.000016529731028 -0.000028640135283 -0.000020249251571 -0.000011691990744
-0.000040960769016 -0.000010154945278 -0.214572831290876 0.000002396483155 0.000001692212984 0.112042161357372 -0.000019688155321 -0.000013920125209 0.000016575955830 -0.000030987909459 0.047417087807296 0.033528935324285 0.000003214956409
-0.000023615313957 -0.000005850941319 0.000002396483155 -0.214575586605935 0.000000968472094 -0.000019688237038 0.112064887465310 -0.000008038330967 0.000009555557097 0.047452816626242 -0.000030986234610 0.000003215023557 0.033525221435613
-0.000016706309897 -0.000004139956970 0.000001692212984 0.000000968472094 -0.214576278174593 -0.000013920281367 -0.000008038270347 0.112070573722500 -0.058107623059128 0.000001856925887 0.000003215389118 -0.000033263348726 -0.000019177555573
-0.000028193595483 -0.000017139880250 0.112042161357372 -0.000019688237038 -0.000013920281367 0.145093445640816 0.000002684885754 0.000001897572929 0.000014173756101 -0.000020812053203 -0.015455405518911 -0.010928625479226 -0.000005288361132
-0.000016255763050 -0.000009885402784 -0.000019688155321 0.112064887465310 -0.000008038270347 0.000002684885754 0.145090348232829 0.000001090573204 0.000008174048884 -0.015431405805998 -0.000020811493513 -0.000005288093190 -0.010922517001955
-0.000011498953496 -0.000006991470455 -0.000013920125209 -0.000008038330967 0.112070573722500 0.000001897572929 0.000001090573204 0.145089574923219 0.018900021998709 -0.000003054225593 -0.000005288047227 -0.000017073520303 -0.000009841481803
0.000003260132486 0.000014318826079 0.000016575917906 0.000009555557098 -0.058107623059128 0.000014173694947 0.000008174048884 0.018900021998709 0.227568201419109 0.000001129018714 0.000001948496244 0.000002493131625 0.000001436128850
-0.000003764500243 -0.000016529731028 -0.000030987843773 0.047452816626242 0.000001856925887 -0.000020811947281 -0.015431405805998 -0.000003054225593 0.000001129018714 0.241262242047671 -0.000003466634286 -0.000001807042294 -0.019367304312603
-0.000006511756245 -0.000028640135283 0.047417087807296 -0.000030986168924 0.000003215389118 -0.015455405518911 -0.000020811387592 -0.000005288047227 0.000001948496244 -0.000003466634286 0.241258240047084 -0.019369404166189 -0.000001807095572
-0.000004606500185 -0.000020249251571 0.033528935324285 0.000003215023557 -0.000033263283040 -0.010928625479226 -0.000005288093190 -0.000017073414382 0.000002493131625 -0.000001807042294 -0.019369404166189 0.254954473314526 -0.000000821489505
-0.000002670755248 -0.000011691990744 0.000003214956409 0.033525221435613 -0.000019177555573 -0.000005288361132 -0.010922517001955 -0.000009841481803 0.000001436128850 -0.019367304312603 -0.000001807095572 -0.000000821489505 0.254955428069612
1 1 -2 0 1 13 13
-0.000030163509920 0.000197369321868 -0.000101309744488 0.000020140431661 0.000054918838303 0.000323600319204 -0.000063463684574 -0.000175726993893 0.000004714967008 -0.000017951404367 0.000007448830919 0.000019907665289 -0.000004240898101
0.000198732344584 -0.001277682246349 0.000638078502461 -0.000126721143556 -0.000345940766383 -0.002018211725552 0.000395600940133 0.001096037180957 -0.000032018340016 0.000120189416951 -0.000049989970849 -0.000134138151651 0.000027950810778
0.000101669935211 -0.000636982652713 0.000311244861034 -0.000063170674205 -0.000176261138479 -0.000996358006482 0.000202056806400 0.000564790864013 -0.000014098323728 0.000056894536776 -0.000024627194011 -0.000066817433825 0.000013837888916
-0.000019035650663 0.000119853856927 -0.000061918338745 0.000000616251013 0.000033082472366 0.000198046316172 -0.000000743780995 -0.000105956359982 0.000002941812810 -0.000012090038635 0.000001115948139 0.000012655205404 -0.000000468204369
-0.000055529503165 0.000347694181724 -0.000176702224604 0.000033849050467 0.000083181981402 0.000566203057981 -0.000108411172640 -0.000265805095270 0.000011822541237 -0.000033631749228 0.000013636905264 0.000033441176696 -0.000006562694114
-0.000325255877750 0.002019196979921 -0.000998535643826 0.000203042613061 0.000565589553784 0.003156053652785 -0.000641146299232 -0.001790906141077 0.000045898054549 -0.000184437588978 0.000079787473841 0.000217099056656 -0.000044639629897
0.000061500134681 -0.000381911245345 0.000198023078810 -0.000000889929637 -0.000105998014157 -0.000626484189923 -0.000002208230428 0.000335410137807 -0.000009456950529 0.000039314563974 -0.000002342352169 -0.000042072814618 0.000000429010205
0.000177433314807 -0.001101468624693 0.000567358415359 -0.000109070724411 -0.000266583747523 -0.001796070116892 0.000344384981751 0.000839477044486 -0.000038474264221 0.000109056672491 -0.000044671205611 -0.000108279036366 0.000021420949358
0.000004445166186 -0.000030618919287 0.000013564721694 -0.000003004235176 -0.000011461035007 -0.000043804832748 0.000009248608447 0.000037461028404 0.000000519360411 0.000002167102564 -0.000001134572452 -0.000003931974775 0.000000851499301
-0.000018045935768 0.000119575341046 -0.000056832512015 0.000012845649326 0.000033320268942 0.000183634945993 -0.000041526495004 -0.000107767808034 0.000002233640291 -0.000010061301329 0.000004761107264 0.000012422215169 -0.000002855855270
0.000006796895033 -0.000046493012621 0.000023249805592 -0.000001185129587 -0.000012773758054 -0.000075372505361 0.000002704757806 0.000041700674677 -0.000000936451422 0.000004780928862 -0.000000499550285 -0.000004769404007 0.000000640093329
0.000019998031396 -0.000133693861335 0.000066826736665 -0.000013430735521 -0.000033179850122 -0.000216036297978 0.000043216511752 0.000107215072381 -0.000004143658537 0.000012319952213 -0.000005220413034 -0.000012851783351 0.000002498364792
-0.000003989291501 0.000026344593983 -0.000013222533287 0.000000584869270 0.000006146230103 0.000042798196076 -0.000001528742369 -0.000020046882930 0.000000638840342 -0.000002906587310 0.000000393958764 0.000002406492175 -0.000000144972677
...
```
"1 1 0 0 0 13 13" means "ct_AN Gh_AN atv_ijk[Rn][1] atv_ijk[Rn][2] atv_ijk[Rn][3] TNO1 TNO2". The whole (ct_AN, Gh_AN,atv_ijk[Rn][1],atv_ijk[Rn][2],atv_ijk[Rn][3]) are
```
(1, 1, 0, 0, 0), (1, 1, -2, 0, 1), (1, 1, -2, 1, 0), (1, 1, -2, 1, 1), (1, 1, -1, -1, 0), (1, 1, -1, -1, 1), (1, 1, -1, -1, 2), (1, 1, -1, 0, -1), (1, 1, -1, 0, 0), (1, 1, -1, 0, 1), (1, 1, -1, 0, 2), (1, 1, -1, 1, -1), (1, 1, -1, 1, 0), (1, 1, -1, 1, 1), (1, 1, -1, 2, -1), (1, 1, -1, 2, 0), (1, 1, 0, -2, 1), (1, 1, 0, -1, -1), (1, 1, 0, -1, 0), (1, 1, 0, -1, 1), (1, 1, 0, -1, 2), (1, 1, 0, 0, -1), (1, 1, 0, 0, 1), (1, 1, 0, 1, -2), (1, 1, 0, 1, -1), (1, 1, 0, 1, 0), (1, 1, 0, 1, 1), (1, 1, 0, 2, -1), (1, 1, 1, -2, 0), (1, 1, 1, -2, 1), (1, 1, 1, -1, -1), (1, 1, 1, -1, 0), (1, 1, 1, -1, 1), (1, 1, 1, 0, -2), (1, 1, 1, 0, -1), (1, 1, 1, 0, 0), (1, 1, 1, 0, 1), (1, 1, 1, 1, -2), (1, 1, 1, 1, -1), (1, 1, 1, 1, 0), (1, 1, 2, -1, -1), (1, 1, 2, -1, 0), (1, 1, 2, 0, -1), (1, 2, 0, 0, 0), (1, 2, -2, 1, 1), (1, 2, -1, -1, 1), (1, 2, -1, -1, 2), (1, 2, -1, 0, 0), (1, 2, -1, 0, 1), (1, 2, -1, 0, 2), (1, 2, -1, 1, -1), (1, 2, -1, 1, 0), (1, 2, -1, 1, 1), (1, 2, -1, 1, 2), (1, 2, -1, 2, -1), (1, 2, -1, 2, 0), (1, 2, -1, 2, 1), (1, 2, 0, -1, 0), (1, 2, 0, -1, 1), (1, 2, 0, -1, 2), (1, 2, 0, 0, -1), (1, 2, 0, 0, 1), (1, 2, 0, 0, 2), (1, 2, 0, 1, -1), (1, 2, 0, 1, 0), (1, 2, 0, 1, 1), (1, 2, 0, 2, -1), (1, 2, 0, 2, 0), (1, 2, 1, -2, 1), (1, 2, 1, -1, -1), (1, 2, 1, -1, 0), (1, 2, 1, -1, 1), (1, 2, 1, -1, 2), (1, 2, 1, 0, -1), (1, 2, 1, 0, 0), (1, 2, 1, 0, 1), (1, 2, 1, 1, -2), (1, 2, 1, 1, -1), (1, 2, 1, 1, 0), (1, 2, 1, 1, 1), (1, 2, 1, 2, -1), (1, 2, 2, -1, -1), (1, 2, 2, -1, 0), (1, 2, 2, -1, 1), (1, 2, 2, 0, -1), (1, 2, 2, 0, 0), (1, 2, 2, 1, -1), (2, 2, 0, 0, 0), (2, 1, 0, 0, 0), (2, 1, -2, -1, 1), (2, 1, -2, 0, 0), (2, 1, -2, 0, 1), (2, 1, -2, 1, -1), (2, 1, -2, 1, 0), (2, 1, -2, 1, 1), (2, 1, -1, -2, 1), (2, 1, -1, -1, -1), (2, 1, -1, -1, 0), (2, 1, -1, -1, 1), (2, 1, -1, -1, 2), (2, 1, -1, 0, -1), (2, 1, -1, 0, 0), (2, 1, -1, 0, 1), (2, 1, -1, 1, -2), (2, 1, -1, 1, -1), (2, 1, -1, 1, 0), (2, 1, -1, 1, 1), (2, 1, -1, 2, -1), (2, 1, 0, -2, 0), (2, 1, 0, -2, 1), (2, 1, 0, -1, -1), (2, 1, 0, -1, 0), (2, 1, 0, -1, 1), (2, 1, 0, 0, -2), (2, 1, 0, 0, -1), (2, 1, 0, 0, 1), (2, 1, 0, 1, -2), (2, 1, 0, 1, -1), (2, 1, 0, 1, 0), (2, 1, 1, -2, -1), (2, 1, 1, -2, 0), (2, 1, 1, -2, 1), (2, 1, 1, -1, -2), (2, 1, 1, -1, -1), (2, 1, 1, -1, 0), (2, 1, 1, -1, 1), (2, 1, 1, 0, -2), (2, 1, 1, 0, -1), (2, 1, 1, 0, 0), (2, 1, 1, 1, -2), (2, 1, 1, 1, -1), (2, 1, 2, -1, -1), (2, 2, -2, 0, 1), (2, 2, -2, 1, 0), (2, 2, -2, 1, 1), (2, 2, -1, -1, 0), (2, 2, -1, -1, 1), (2, 2, -1, -1, 2), (2, 2, -1, 0, -1), (2, 2, -1, 0, 0), (2, 2, -1, 0, 1), (2, 2, -1, 0, 2), (2, 2, -1, 1, -1), (2, 2, -1, 1, 0), (2, 2, -1, 1, 1), (2, 2, -1, 2, -1), (2, 2, -1, 2, 0), (2, 2, 0, -2, 1), (2, 2, 0, -1, -1), (2, 2, 0, -1, 0), (2, 2, 0, -1, 1), (2, 2, 0, -1, 2), (2, 2, 0, 0, -1), (2, 2, 0, 0, 1), (2, 2, 0, 1, -2), (2, 2, 0, 1, -1), (2, 2, 0, 1, 0), (2, 2, 0, 1, 1), (2, 2, 0, 2, -1), (2, 2, 1, -2, 0), (2, 2, 1, -2, 1), (2, 2, 1, -1, -1), (2, 2, 1, -1, 0), (2, 2, 1, -1, 1), (2, 2, 1, 0, -2), (2, 2, 1, 0, -1), (2, 2, 1, 0, 0), (2, 2, 1, 0, 1), (2, 2, 1, 1, -2), (2, 2, 1, 1, -1), (2, 2, 1, 1, 0), (2, 2, 2, -1, -1), (2, 2, 2, -1, 0), (2, 2, 2, 0, -1)
```
How can I calculate eigenstates like DOS form here?

sorry for long
PES217i
メンテ
Page: [1]

Re: How to calculate eigenstates from HS.out ( No.1 )
Date: 2021/07/02 01:37
Name: Naoya Yamaguchi

Hi,

You can learn reconstruction of the full hamiltonian matrix for periodic boundary condition through scfout files from `jx_cluster.c` in OpenMX 3.9, for example.
In the case of several k-points you consider, you can refer to `jx_band_psum.c` and `jx_tool.c`, and functions of `Overlap_Band` and `Hamiltonian_Band` are what you want.

And, you can also learn calculations of DOS from `DosMain.c`.

Regards,
Naoya Yamaguchi
メンテ
Re: How to calculate eigenstates from HS.out ( No.2 )
Date: 2021/10/03 04:53
Name: maedeh  <maedehmashhadbani@yahoo.com>

hi
i want to estimate hopping parameter from hs.out file is this possible?
メンテ
Re: How to calculate eigenstates from HS.out ( No.3 )
Date: 2021/10/03 14:44
Name: Naoya Yamaguchi

Hi,

>i want to estimate hopping parameter from hs.out file is this possible?
You can extract the Hamiltonian from scfout files.

Regards,
Naoya Yamaguchi
メンテ
Re: How to calculate eigenstates from HS.out ( No.4 )
Date: 2021/10/05 01:57
Name: Artem Pulkin

My solution:

https://github.com/pulkin/openmx-hks

More for python and Matlab. You'll need to patch stuff if your cell is not compatible with transport simulations. Would be great if OpenMX developers reconsider how some NEGF setup checks work.
メンテ
Re: How to calculate eigenstates from HS.out ( No.5 )
Date: 2021/10/05 19:28
Name: maedeh  <maedehmashhadbani@yahoo.com>

You can extract the Hamiltonian from scfout files.
yes but the HS file give KS hamiltoinan and overlap matrix not the tight binding hamiltonian
メンテ
Re: How to calculate eigenstates from HS.out ( No.6 )
Date: 2021/10/06 14:44
Name: Naoya Yamaguchi

>yes but the HS file give KS hamiltoinan and overlap matrix not the tight binding hamiltonian

Although the KS Hamiltonian is described with the LCAO expression, you can use the interface to Wannier90:
http://www.openmx-square.org/openmx_man3.9/node148.html
Then, you can get the Hamiltonian represented in the real-space Wannier function basis.

Regards,
Naoya Yamaguchi
メンテ

Page: [1]