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

Change NAO 'kinetic energy' fields to 'Laplacian'

This commit is contained in:
joguenzl 2023-05-16 14:13:45 +02:00
parent fb97b44a5f
commit b7d9f32bfb

View File

@ -266,16 +266,19 @@
Where $u_i(\mathbf{r})$ is numerically tabulated on a dense logarithmic
grid. It is constructed to vanish for any $\mathbf{r}$
outside of the grid. The reference points are stored in ~numgrid_r~
and ~numgrid_phi~. Additionaly, a separate spline for the kinetic energy
can be stored in ~numgrid_kin~. The index of the first data point for
each shell is stored in ~numgrid_start~.
and ~numgrid_phi~. Additionaly, a separate spline for the gradient and Laplacian
can be stored in ~numgrid_grad~ and ~numgrid_lap~. The index of the first data point for
each shell is stored in ~numgrid_start~, the number of data points per spline
is stored in ~numgrid_size~ for convenience.
FHI-aims uses cubic interpolation between the reference points.
The interpolation coefficients are given in the ~interpolator~ array.
The number of coefficients per interpolation point is stored as
~interp_coeff_cnt~ so that other interpolation functions can be
implemented if needed. The ~interpolator_kin~ array provides a spline for
the kinetic energy.
What kind of spline is used can be provided in the ~interpolator_kind~ field.
For example, FHI-aims uses a cubic spline, so the ~interpolator_kind~ is
\"polynomial\" and the ~interp_coeff_cnt~ is $4$. In this case, the first
interpolation coefficient per data point is the absolute term, the second is for
the linear term etc.
The interpolation coefficients for the wave function are given in the
~interpolator_phi~ array. The ~interpolator_grad~ and ~interpolator_lap~
arrays provide a spline for the gradient and Laplacian, respectively.
The argument passed to the interpolants is on the logarithmic scale of
the reference points: If the argument is an integer $i$, the interpolant
will return the value of $u(\mathbf{r})$ at the $i$th reference point.
@ -309,7 +312,7 @@
#+NAME: basis
| Variable | Type | Dimensions | Description | |
|--------------------+---------+----------------------------------------------+------------------------------------------------------------------------------+---|
|---------------------+---------+----------------------------------------------+------------------------------------------------------------------------------+---|
| ~type~ | ~str~ | | Type of basis set: "Gaussian", "Slater", "Numerical" or "PW" for plane waves | |
| ~prim_num~ | ~dim~ | | Total number of primitives | |
| ~shell_num~ | ~dim~ | | Total number of shells | |
@ -328,9 +331,12 @@
| ~e_cut~ | ~float~ | | Energy cut-off for plane-wave calculations | |
| ~numgrid_radius~ | ~float~ | ~(basis.numgrid_num)~ | Radii of grid points for numerical orbitals | |
| ~numgrid_phi~ | ~float~ | ~(basis.numgrid_num)~ | Wave function values for numerical orbitals | |
| ~numgrid_kin~ | ~float~ | ~(basis.numgrid_num)~ | Kinetic energy of numerical orbitals | |
| ~interpolator~ | ~float~ | ~(basis.interp_coeff_cnt,basis.numgrid_num)~ | Coefficients for numerical orbital interpolation function | |
| ~interpolator_kin~ | ~float~ | ~(basis.interp_coeff_cnt,basis.numgrid_num)~ | Coefficients for numerical orbital kinetic energy interpolation function | |
| ~numgrid_grad~ | ~float~ | ~(basis.numgrid_num)~ | Radial gradient of numerical orbitals | |
| ~numgrid_lap~ | ~float~ | ~(basis.numgrid_num)~ | Laplacian of numerical orbitals | |
| ~interpolator_kind~ | ~str~ | | Kind of spline, e.g. "polynomial" | |
| ~interpolator_phi~ | ~float~ | ~(basis.interp_coeff_cnt,basis.numgrid_num)~ | Coefficients for numerical orbital interpolation function | |
| ~interpolator_grad~ | ~float~ | ~(basis.interp_coeff_cnt,basis.numgrid_num)~ | Coefficients for numerical orbital gradient interpolation function | |
| ~interpolator_lap~ | ~float~ | ~(basis.interp_coeff_cnt,basis.numgrid_num)~ | Coefficients for numerical orbital laplacian interpolation function | |
@ -358,9 +364,12 @@
, "e_cut" : [ "float", [] ]
, "numgrid_radius" : [ "float", [ "basis.numgrid_num" ] ]
, "numgrid_phi" : [ "float", [ "basis.numgrid_num" ] ]
, "numgrid_kin" : [ "float", [ "basis.numgrid_num" ] ]
, "interpolator" : [ "float", [ "basis.numgrid_num", "basis.interp_coeff_cnt" ] ]
, "interpolator_kin" : [ "float", [ "basis.numgrid_num", "basis.interp_coeff_cnt" ] ]
, "numgrid_grad" : [ "float", [ "basis.numgrid_num" ] ]
, "numgrid_lap" : [ "float", [ "basis.numgrid_num" ] ]
, "interpolator_kind" : [ "str" , [] ]
, "interpolator_phi" : [ "float", [ "basis.numgrid_num", "basis.interp_coeff_cnt" ] ]
, "interpolator_grad" : [ "float", [ "basis.numgrid_num", "basis.interp_coeff_cnt" ] ]
, "interpolator_lap" : [ "float", [ "basis.numgrid_num", "basis.interp_coeff_cnt" ] ]
} ,
#+end_src
:end: