mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-12-23 04:44:03 +01:00
Ideas for improvement
This commit is contained in:
parent
4bcb9b980c
commit
0db9c6009d
@ -1331,6 +1331,7 @@ end function test_qmckl_ao_gaussian_vgl
|
||||
** TODO General functions for Slater basis functions
|
||||
** TODO General functions for Radial functions on a grid
|
||||
** Computation of primitives
|
||||
|
||||
*** Get
|
||||
|
||||
#+begin_src c :comments org :tangle (eval h_func) :noweb yes
|
||||
@ -1632,7 +1633,7 @@ print ( "[39][4][1][15] : %e"% lf(a,x,y))
|
||||
|
||||
*** Test
|
||||
|
||||
#+begin_src c :tangle (eval c_test)
|
||||
#+begin_src c :tangle (eval c_test) :exports none
|
||||
#define walk_num chbrclf_walk_num
|
||||
#define elec_num chbrclf_elec_num
|
||||
#define prim_num chbrclf_prim_num
|
||||
@ -1675,6 +1676,40 @@ assert( fabs(prim_vgl[39][4][1][15] - ( 7.5174404780004771E-003)) < 1.e-14 );
|
||||
|
||||
|
||||
#+end_src
|
||||
|
||||
*** Ideas for improvement
|
||||
|
||||
#+begin_src c
|
||||
// m : walkers
|
||||
// j : electrons
|
||||
// l : primitives
|
||||
|
||||
k=0;
|
||||
for (m=0 ; m<walk_num ; ++m) {
|
||||
for (j=0 ; j<elec_num ; ++j) {
|
||||
for (i=0 ; i<nucl_num ; ++i) {
|
||||
|
||||
r2 = nucl_elec_dist[i][j];
|
||||
|
||||
if (r2 < nucl_radius2[i]) {
|
||||
|
||||
for (l=0 ; l<prim_num ; ++l) {
|
||||
tmp[k].i = i;
|
||||
tmp[k].j = j;
|
||||
tmp[k].m = m;
|
||||
tmp[k].ar2 = -expo[l] *r2;
|
||||
++k;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// sort(tmp) in increasing ar2;
|
||||
// Identify first ar2 above numerical accuracy threshold
|
||||
// Compute vectorized exponentials on significant values
|
||||
#+end_src
|
||||
|
||||
* Polynomial part
|
||||
** General functions for Powers of $x-X_i$
|
||||
:PROPERTIES:
|
||||
|
Loading…
Reference in New Issue
Block a user