1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2024-11-03 20:54:07 +01:00

nucleus_index instead of nucleus attribute in ECP

This commit is contained in:
q-posev 2021-10-18 17:43:53 +02:00
parent 6ab65d2432
commit 31485e6f90

View File

@ -138,16 +138,16 @@ arrays are 0-based. Hence, we introduce the ~index~ type which is an
See http://dx.doi.org/10.1063/1.4984046 for more info.
#+NAME: ecp
| Variable | Type | Dimensions | Description |
|---------------+---------+-----------------+-----------------------------------------------------------------------------|
| ~max_ang_mom~ | ~int~ | ~(nucleus.num)~ | $\ell_{\max}$ the maximum angular momentum in the removed core orbitals |
| ~z_core~ | ~float~ | ~(nucleus.num)~ | Charges to remove |
| ~num~ | ~dim~ | | Total number of ECP functions for all atoms and all values of $\ell$ |
| ~ang_mom~ | ~int~ | ~(ecp.num)~ | One-to-one correspondence between ECP items and the angular momentum $\ell$ |
| ~nucleus~ | ~index~ | ~(ecp.num)~ | One-to-one correspondence between ECP items and the atom index |
| ~exponent~ | ~float~ | ~(ecp.num)~ | $\alpha_{A q \ell}$ all ECP exponents |
| ~coefficient~ | ~float~ | ~(ecp.num)~ | $\beta_{A q \ell}$ all ECP coefficients |
| ~power~ | ~int~ | ~(ecp.num)~ | $n_{A q \ell}$ all ECP powers |
| Variable | Type | Dimensions | Description |
|-----------------+---------+-----------------+-----------------------------------------------------------------------------|
| ~max_ang_mom~ | ~int~ | ~(nucleus.num)~ | $\ell_{\max}$ the maximum angular momentum in the removed core orbitals |
| ~z_core~ | ~float~ | ~(nucleus.num)~ | Charges to remove |
| ~num~ | ~dim~ | | Total number of ECP functions for all atoms and all values of $\ell$ |
| ~ang_mom~ | ~int~ | ~(ecp.num)~ | One-to-one correspondence between ECP items and the angular momentum $\ell$ |
| ~nucleus_index~ | ~index~ | ~(ecp.num)~ | One-to-one correspondence between ECP items and the atom index |
| ~exponent~ | ~float~ | ~(ecp.num)~ | $\alpha_{A q \ell}$ all ECP exponents |
| ~coefficient~ | ~float~ | ~(ecp.num)~ | $\beta_{A q \ell}$ all ECP coefficients |
| ~power~ | ~int~ | ~(ecp.num)~ | $n_{A q \ell}$ all ECP powers |
*Note for developers*: avoid having variables with similar prefix in their name.
@ -163,14 +163,14 @@ The latter causes issues when written before ~ang_mom~ in the TREXIO file.
:RESULTS:
#+begin_src python :tangle trex.json
"ecp": {
"max_ang_mom" : [ "int" , [ "nucleus.num" ] ]
, "z_core" : [ "float", [ "nucleus.num" ] ]
, "num" : [ "dim" , [] ]
, "ang_mom" : [ "int" , [ "ecp.num" ] ]
, "nucleus" : [ "index", [ "ecp.num" ] ]
, "exponent" : [ "float", [ "ecp.num" ] ]
, "coefficient" : [ "float", [ "ecp.num" ] ]
, "power" : [ "int" , [ "ecp.num" ] ]
"max_ang_mom" : [ "int" , [ "nucleus.num" ] ]
, "z_core" : [ "float", [ "nucleus.num" ] ]
, "num" : [ "dim" , [] ]
, "ang_mom" : [ "int" , [ "ecp.num" ] ]
, "nucleus_index" : [ "index", [ "ecp.num" ] ]
, "exponent" : [ "float", [ "ecp.num" ] ]
, "coefficient" : [ "float", [ "ecp.num" ] ]
, "power" : [ "int" , [ "ecp.num" ] ]
} ,
#+end_src
:END:
@ -194,37 +194,37 @@ H-ccECP GEN 0 1
In TREXIO representation this would be:
#+BEGIN_EXAMPLE
ecp_num = 8
num = 8
# max angular momentum per atom
ecp_max_ang_mom = [ 1, 1 ]
max_ang_mom = [ 1, 1 ]
# number of core electrons to remove per atom
ecp_zcore = [ 0, 0 ]
zcore = [ 0, 0 ]
# first 4 ECP elements correspond to the first H atom, same for the second H atom
ecp_nucleus = [
nucleus_index = [
0, 0, 0, 0,
1, 1, 1, 1
]
# 3 first ECP elements correspond to l=1 of the first H atom, then 1 ECP for l=0; same for the second H atom
ecp_ang_mom = [
ang_mom = [
1, 1, 1, 0,
1, 1, 1, 0
]
# flat arrays with ECP quantities that can be parsed based on the aforementioned ecp_ang_mom and ecp_nucleus
ecp_coefficient = [
coefficient = [
1.00000000000000, 21.24359508259891, -10.85192405303825, 0.00000000000000,
1.00000000000000, 21.24359508259891, -10.85192405303825, 0.00000000000000
]
ecp_exponent = [
exponent = [
21.24359508259891, 21.24359508259891, 21.77696655044365, 1.000000000000000,
21.24359508259891, 21.24359508259891, 21.77696655044365, 1.000000000000000
]
ecp_power = [
power = [
-1, 1, 0, 0,
-1, 1, 0, 0
]