1
0
mirror of https://github.com/TREX-CoE/qmckl.git synced 2024-06-30 00:44:52 +02:00

Added variables and doc for derivatives of ee_distance_rescaled. #17

This commit is contained in:
vijay gopal chilkuri 2021-06-01 10:31:26 +05:30
parent 86634c373e
commit 59f284d765

View File

@ -78,8 +78,10 @@ int main() {
| ~ee_distance_date~ | uint64_t | Last modification date of the electron-electron distances |
| ~en_distance~ | double[walk_num][nucl_num][num] | Electron-nucleus distances |
| ~en_distance_date~ | uint64_t | Last modification date of the electron-electron distances |
| ~ee_distance_rescaled~ | double[walk_num][num][num] | Electron-electron distances |
| ~ee_distance_rescaled~ | double[walk_num][num][num] | Electron-electron rescaled distances |
| ~ee_distance_rescaled_date~ | uint64_t | Last modification date of the electron-electron distances |
| ~ee_distance_rescaled_deriv_e~ | double[walk_num][4][num][num] | Electron-electron rescaled distances derivatives |
| ~ee_distance_rescaled_deriv_e_date~ | uint64_t | Last modification date of the electron-electron distance derivatives |
| ~en_distance_rescaled~ | double[walk_num][nucl_num][num] | Electron-nucleus distances |
| ~en_distance_rescaled_date~ | uint64_t | Last modification date of the electron-electron distances |
@ -97,12 +99,14 @@ typedef struct qmckl_electron_struct {
int64_t ee_distance_date;
int64_t en_distance_date;
int64_t ee_distance_rescaled_date;
int64_t ee_distance_rescaled_deriv_e_date;
int64_t en_distance_rescaled_date;
double* coord_new;
double* coord_old;
double* ee_distance;
double* en_distance;
double* ee_distance_rescaled;
double* ee_distance_rescaled_deriv_e;
double* en_distance_rescaled;
int32_t uninitialized;
bool provided;
@ -1108,7 +1112,7 @@ qmckl_exit_code qmckl_provide_ee_distance_rescaled(qmckl_context context)
| double | rescale_factor_kappa_ee | in | Factor to rescale ee distances |
| int64_t | walk_num | in | Number of walkers |
| double | coord[walk_num][3][elec_num] | in | Electron coordinates |
| double | ee_distance[walk_num][elec_num][elec_num] | out | Electron-electron distances |
| double | ee_distance[walk_num][elec_num][elec_num] | out | Electron-electron rescaled distances |
#+begin_src f90 :comments org :tangle (eval f) :noweb yes
integer function qmckl_compute_ee_distance_rescaled_f(context, elec_num, rescale_factor_kappa_ee, walk_num, &
@ -1245,6 +1249,16 @@ rc = qmckl_get_electron_ee_distance_rescaled(context, ee_distance);
#+end_src
** Electron-electron rescaled distance gradients and laplacian with respect to electron coords
The rescaled distances which is given as $R = (1 - \exp{-\kappa r})/\kappa$
needs to be perturbed with respect to the electorn and nuclear coordinates.
This data is stored in the ~ee_distance_rescaled_deriv_e~ tensor. The
The first three elements of this three index tensor ~[4][num][num]~ gives the
derivatives in the x, y, and z directions $dx, dy, dz$ and the last index
gives the Laplacian $\partial x^2 + \partial y^2 + \partial z^2$.
** Electron-nucleus distances
*** Get