1
0
mirror of https://github.com/TREX-CoE/trexio.git synced 2024-12-23 04:43:57 +01:00

change array name of lmax to lmax+1 for better dimensioning

This commit is contained in:
q-posev 2021-10-19 12:01:17 +02:00
parent 2d07db222f
commit e9ca73efc0

View File

@ -121,10 +121,10 @@ arrays are 0-based. Hence, we introduce the ~index~ type which is an
core electrons of atom $A$ is expressed as core electrons of atom $A$ is expressed as
\[ \[
V_A^{\text{ECP}} = V_A^{\text{ECP}} =
V_{A \ell_{\max}} + V_{A \ell_{\max}+1} +
\sum_{\ell=0}^{\ell_{\max}-1} \sum_{\ell=0}^{\ell_{\max}}
\sum_{m=-\ell}^{\ell} | Y_{\ell m} \rangle \left[ \sum_{m=-\ell}^{\ell} | Y_{\ell m} \rangle \left[
V_{A \ell} - V_{A \ell_{\max}} \right] \langle Y_{\ell m} | V_{A \ell} - V_{A \ell_{\max}+1} \right] \langle Y_{\ell m} |
\] \]
The functions $V_{A\ell}$ are parameterized as: The functions $V_{A\ell}$ are parameterized as:
@ -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. See http://dx.doi.org/10.1063/1.4984046 for more info.
#+NAME: ecp #+NAME: ecp
| Variable | Type | Dimensions | Description | | Variable | Type | Dimensions | Description |
|-----------------+---------+-----------------+-----------------------------------------------------------------------------| |----------------------+---------+-----------------+----------------------------------------------------------------------------------------|
| ~max_ang_mom~ | ~int~ | ~(nucleus.num)~ | $\ell_{\max}$ the maximum angular momentum in the removed core orbitals | | ~max_ang_mom_plus_1~ | ~int~ | ~(nucleus.num)~ | $\ell_{\max}+1$, one higher than the max angular momentum in the removed core orbitals |
| ~z_core~ | ~float~ | ~(nucleus.num)~ | Charges to remove | | ~z_core~ | ~float~ | ~(nucleus.num)~ | Charges to remove |
| ~num~ | ~dim~ | | Total number of ECP functions for all atoms and all values of $\ell$ | | ~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$ | | ~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 | | ~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 | | ~exponent~ | ~float~ | ~(ecp.num)~ | $\alpha_{A q \ell}$ all ECP exponents |
| ~coefficient~ | ~float~ | ~(ecp.num)~ | $\beta_{A q \ell}$ all ECP coefficients | | ~coefficient~ | ~float~ | ~(ecp.num)~ | $\beta_{A q \ell}$ all ECP coefficients |
| ~power~ | ~int~ | ~(ecp.num)~ | $n_{A q \ell}$ all ECP powers | | ~power~ | ~int~ | ~(ecp.num)~ | $n_{A q \ell}$ all ECP powers |
*Note for developers*: avoid having variables with similar prefix in their name. *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: :RESULTS:
#+begin_src python :tangle trex.json #+begin_src python :tangle trex.json
"ecp": { "ecp": {
"max_ang_mom" : [ "int" , [ "nucleus.num" ] ] "max_ang_mom_plus_1" : [ "int" , [ "nucleus.num" ] ]
, "z_core" : [ "float", [ "nucleus.num" ] ] , "z_core" : [ "float", [ "nucleus.num" ] ]
, "num" : [ "dim" , [] ] , "num" : [ "dim" , [] ]
, "ang_mom" : [ "int" , [ "ecp.num" ] ] , "ang_mom" : [ "int" , [ "ecp.num" ] ]
, "nucleus_index" : [ "index", [ "ecp.num" ] ] , "nucleus_index" : [ "index", [ "ecp.num" ] ]
, "exponent" : [ "float", [ "ecp.num" ] ] , "exponent" : [ "float", [ "ecp.num" ] ]
, "coefficient" : [ "float", [ "ecp.num" ] ] , "coefficient" : [ "float", [ "ecp.num" ] ]
, "power" : [ "int" , [ "ecp.num" ] ] , "power" : [ "int" , [ "ecp.num" ] ]
} , } ,
#+end_src #+end_src
:END: :END:
@ -196,10 +196,11 @@ H-ccECP GEN 0 1
#+BEGIN_EXAMPLE #+BEGIN_EXAMPLE
num = 8 num = 8
# max angular momentum per atom # lmax+1 per atom
max_ang_mom = [ 1, 1 ] max_ang_mom_plus_1 = [ 2, 2 ]
# number of core electrons to remove per atom # number of core electrons to remove per atom
zcore = [ 0, 0 ] zcore = [ 0, 0 ]
# first 4 ECP elements correspond to the first H atom, same for the second H atom # first 4 ECP elements correspond to the first H atom, same for the second H atom
nucleus_index = [ nucleus_index = [