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

Documentation

This commit is contained in:
Anthony Scemama 2023-03-05 23:38:34 +01:00
parent da70f7a032
commit b269cd7403

View File

@ -2065,7 +2065,9 @@ assert(fabs(asymp_jasb[1]-0.31567342786262853) < 1.e-12);
component and the electron-electron rescaled distances ~ee_distance_rescaled~. component and the electron-electron rescaled distances ~ee_distance_rescaled~.
\[ \[
f_\text{ee} = \sum_{i,j<i} \left[ \frac{\delta_{ij}^{\uparrow\downarrow} B_0\, C_{ij}}{1 - B_1\, C_{ij}} + \sum^{n_\text{ord}}_{k} B_k\, C_{ij}^k - {J_{\text{ee}}^{\infty}}_{ij} \right] f_\text{ee} = \sum_{i,j<i} \left[
\frac{\delta_{ij}^{\uparrow\downarrow} B_0\, C_{ij}}{1 - B_1\,
C_{ij}} + \sum_{k=2}^{n_\text{ord}} B_k\, C_{ij}^k - {J_{\text{ee}}^{\infty}}_{ij} \right]
\] \]
$\delta$ is the spin factor, $B$ is the vector of $b$ parameters, $\delta$ is the spin factor, $B$ is the vector of $b$ parameters,
@ -2521,13 +2523,17 @@ assert(fabs(factor_ee[0]+4.282760865958113) < 1.e-12);
** Electron-electron component derivative \(f'_{ee}\) ** Electron-electron component derivative \(f'_{ee}\)
Calculate the derivative of the ~factor_ee~ using the ~ee_distance_rescaled~ and The derivative of ~factor_ee~ is computed using the ~ee_distance_rescaled~ and
the electron-electron rescaled distances derivatives ~ee_distance_rescaled_deriv_e~. the electron-electron rescaled distances derivatives ~ee_distance_rescaled_deriv_e~.
There are four components, the gradient which has 3 components in the \(x, y, z\) There are four components, the gradient which has 3 components in the \(x, y, z\)
directions and the laplacian as the last component. directions and the laplacian as the last component.
# TODO: Add equation \[ \nabla_i f_\text{ee} = \frac{1}{2}\sum_{j}
\left[\frac{\delta_{ij}^{\uparrow\downarrow} B_0\, \nabla_i
C_{ij}}{(1 - B_1\, C_{ij})^2} + \sum^{n_\text{ord}}_{k=2}
B_k\, k\, C_{ij}^{k-1} \nabla C_{ij} \right] \]
# TODO Laplacian
*** Get *** Get
#+begin_src c :comments org :tangle (eval h_func) :noweb yes #+begin_src c :comments org :tangle (eval h_func) :noweb yes
qmckl_exit_code qmckl_exit_code
@ -2740,8 +2746,8 @@ integer function qmckl_compute_factor_ee_deriv_e_doc_f( &
dx(3) = ee_distance_rescaled_deriv_e(3, i, j, nw) dx(3) = ee_distance_rescaled_deriv_e(3, i, j, nw)
dx(4) = ee_distance_rescaled_deriv_e(4, i, j, nw) dx(4) = ee_distance_rescaled_deriv_e(4, i, j, nw)
if((i .LE. up_num .AND. j .LE. up_num ) .OR. & if((i <= up_num && j <= up_num ) .OR. &
(i .GT. up_num .AND. j .GT. up_num)) then (i > up_num && j > up_num)) then
spin_fact = 0.5d0 spin_fact = 0.5d0
endif endif
@ -2761,8 +2767,8 @@ integer function qmckl_compute_factor_ee_deriv_e_doc_f( &
lap3 = lap3 - 2.0d0 * b_vector(2) * dx(ii) * dx(ii) lap3 = lap3 - 2.0d0 * b_vector(2) * dx(ii) * dx(ii)
factor_ee_deriv_e( j, ii, nw) = factor_ee_deriv_e( j, ii, nw) + spin_fact * b_vector(1) * & factor_ee_deriv_e( j, ii, nw) = factor_ee_deriv_e( j, ii, nw) &
dx(ii) * invden2 + pow_ser_g(ii) + spin_fact * b_vector(1) * dx(ii) * invden2 + pow_ser_g(ii)
end do end do
ii = 4 ii = 4