1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2024-12-22 20:35:44 +01:00

Added kpoint to MO group (#138)

* Added kpoint to MO group

* Added k-vector info

* Created json blocks

* Added k-point weights
This commit is contained in:
Anthony Scemama 2024-05-13 17:06:18 +02:00 committed by GitHub
parent 9e262bada9
commit 1117a5b407
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -128,14 +128,14 @@
** Periodic boundary calculations (pbc group) ** Periodic boundary calculations (pbc group)
A single $k$-point per TREXIO file can be stored. The $k$-point is
defined in this group.
#+NAME: pbc #+NAME: pbc
| Variable | Type | Row-major Dimensions | Column-major Dimensions | Description | | Variable | Type | Row-major Dimensions | Column-major Dimensions | Description |
|------------+---------+----------------------+-------------------------+-------------------------| |------------------+---------+----------------------+-------------------------+-------------------------|
| ~periodic~ | ~int~ | | | ~1~: true or ~0~: false | | ~periodic~ | ~int~ | | | ~1~: true or ~0~: false |
| ~k_point_num~ | ~dim~ | | | Number of $k$-points |
| ~k_point~ | ~float~ | ~[3]~ | ~(3)~ | $k$-point sampling | | ~k_point~ | ~float~ | ~[3]~ | ~(3)~ | $k$-point sampling |
| ~k_point_weight~ | ~float~ | ~[pbc.k_point_num]~ | ~(pbc.k_point_num)~ | $k$-point weight |
#+CALL: json(data=pbc, title="pbc") #+CALL: json(data=pbc, title="pbc")
@ -144,7 +144,9 @@
#+begin_src python :tangle trex.json #+begin_src python :tangle trex.json
"pbc": { "pbc": {
"periodic" : [ "int" , [] ] "periodic" : [ "int" , [] ]
, "k_point" : [ "float", [ "3" ] ] , "k_point_num" : [ "dim" , [] ]
, "k_point" : [ "float", [ "pbc.k_point_num", "3" ] ]
, "k_point_weight" : [ "float", [ "pbc.k_point_num" ] ]
} , } ,
#+end_src #+end_src
:end: :end:
@ -826,6 +828,13 @@ power = [
| ~occupation~ | ~float~ | ~[mo.num]~ | ~(mo.num)~ | Occupation number | | ~occupation~ | ~float~ | ~[mo.num]~ | ~(mo.num)~ | Occupation number |
| ~energy~ | ~float~ | ~[mo.num]~ | ~(mo.num)~ | For canonical MOs, corresponding eigenvalue | | ~energy~ | ~float~ | ~[mo.num]~ | ~(mo.num)~ | For canonical MOs, corresponding eigenvalue |
| ~spin~ | ~int~ | ~[mo.num]~ | ~(mo.num)~ | For UHF wave functions, 0 is $\alpha$ and 1 is $\beta$ | | ~spin~ | ~int~ | ~[mo.num]~ | ~(mo.num)~ | For UHF wave functions, 0 is $\alpha$ and 1 is $\beta$ |
| ~k_point~ | ~index~ | ~[mo.num]~ | ~(mo.num)~ | For periodic calculations, the $k$ point to which each MO belongs |
**Warning**: ~mo.num~ is the total number of MOs stored in the file.
For periodic calculations, this group contains all the MOs
belonging to all $k$ points so ~mo.num~ will be the sum of the
numbers of MOs in each $k$ point. For UHF wave functions, ~mo.num~
is the number of spin-orbitals, twice the number of spatial orbitals.
#+CALL: json(data=mo, title="mo") #+CALL: json(data=mo, title="mo")
@ -842,10 +851,12 @@ power = [
, "occupation" : [ "float", [ "mo.num" ] ] , "occupation" : [ "float", [ "mo.num" ] ]
, "energy" : [ "float", [ "mo.num" ] ] , "energy" : [ "float", [ "mo.num" ] ]
, "spin" : [ "int" , [ "mo.num" ] ] , "spin" : [ "int" , [ "mo.num" ] ]
, "k_point" : [ "index", [ "mo.num" ] ]
} , } ,
#+end_src #+end_src
:end: :end:
*** One-electron integrals (~mo_1e_int~ group) *** One-electron integrals (~mo_1e_int~ group)
The operators as the same as those defined in the The operators as the same as those defined in the