mirror of
https://github.com/TREX-CoE/qmckl.git
synced 2024-12-22 20:36:01 +01:00
Merge branch 'master' into wf_det_grad_cof
This commit is contained in:
commit
db7ceaddba
@ -438,6 +438,7 @@ qmckl_exit_code qmckl_provide_mo_vgl(qmckl_context context)
|
|||||||
| ~double~ | ~coef_normalized[ao_num][mo_num]~ | in | AO to MO transformation matrix |
|
| ~double~ | ~coef_normalized[ao_num][mo_num]~ | in | AO to MO transformation matrix |
|
||||||
| ~double~ | ~ao_vgl[5][elec_num][ao_num]~ | in | Value, gradients and Laplacian of the AOs |
|
| ~double~ | ~ao_vgl[5][elec_num][ao_num]~ | in | Value, gradients and Laplacian of the AOs |
|
||||||
| ~double~ | ~mo_vgl[5][elec_num][mo_num]~ | out | Value, gradients and Laplacian of the MOs |
|
| ~double~ | ~mo_vgl[5][elec_num][mo_num]~ | out | Value, gradients and Laplacian of the MOs |
|
||||||
|
|
||||||
|
|
||||||
#+begin_src f90 :comments org :tangle (eval f) :noweb yes
|
#+begin_src f90 :comments org :tangle (eval f) :noweb yes
|
||||||
integer function qmckl_compute_mo_basis_gaussian_vgl_f(context, &
|
integer function qmckl_compute_mo_basis_gaussian_vgl_f(context, &
|
||||||
@ -451,6 +452,7 @@ integer function qmckl_compute_mo_basis_gaussian_vgl_f(context, &
|
|||||||
integer*8 , intent(in) :: elec_num
|
integer*8 , intent(in) :: elec_num
|
||||||
double precision , intent(in) :: ao_vgl(ao_num,elec_num,5)
|
double precision , intent(in) :: ao_vgl(ao_num,elec_num,5)
|
||||||
double precision , intent(in) :: coef_normalized(mo_num,ao_num)
|
double precision , intent(in) :: coef_normalized(mo_num,ao_num)
|
||||||
|
|
||||||
double precision , intent(out) :: mo_vgl(mo_num,elec_num,5)
|
double precision , intent(out) :: mo_vgl(mo_num,elec_num,5)
|
||||||
logical*8 :: TransA, TransB
|
logical*8 :: TransA, TransB
|
||||||
double precision,dimension(:,:),allocatable :: mo_vgl_big
|
double precision,dimension(:,:),allocatable :: mo_vgl_big
|
||||||
@ -498,6 +500,7 @@ integer function qmckl_compute_mo_basis_gaussian_vgl_f(context, &
|
|||||||
|
|
||||||
deallocate(mo_vgl_big)
|
deallocate(mo_vgl_big)
|
||||||
deallocate(ao_vgl_big)
|
deallocate(ao_vgl_big)
|
||||||
|
|
||||||
end function qmckl_compute_mo_basis_gaussian_vgl_f
|
end function qmckl_compute_mo_basis_gaussian_vgl_f
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
@ -532,6 +535,7 @@ end function qmckl_compute_mo_basis_gaussian_vgl_f
|
|||||||
integer (c_int64_t) , intent(in) , value :: mo_num
|
integer (c_int64_t) , intent(in) , value :: mo_num
|
||||||
integer (c_int64_t) , intent(in) , value :: elec_num
|
integer (c_int64_t) , intent(in) , value :: elec_num
|
||||||
real (c_double ) , intent(in) :: coef_normalized(mo_num,ao_num)
|
real (c_double ) , intent(in) :: coef_normalized(mo_num,ao_num)
|
||||||
|
|
||||||
real (c_double ) , intent(in) :: ao_vgl(ao_num,elec_num,5)
|
real (c_double ) , intent(in) :: ao_vgl(ao_num,elec_num,5)
|
||||||
real (c_double ) , intent(out) :: mo_vgl(mo_num,elec_num,5)
|
real (c_double ) , intent(out) :: mo_vgl(mo_num,elec_num,5)
|
||||||
|
|
||||||
@ -735,8 +739,8 @@ assert (rc == QMCKL_SUCCESS);
|
|||||||
|
|
||||||
assert(qmckl_mo_basis_provided(context));
|
assert(qmckl_mo_basis_provided(context));
|
||||||
|
|
||||||
double mo_vgl[5][walk_num][elec_num][chbrclf_mo_num];
|
double mo_vgl[5][elec_num][chbrclf_mo_num];
|
||||||
rc = qmckl_get_mo_basis_vgl(context, &(mo_vgl[0][0][0][0]));
|
rc = qmckl_get_mo_basis_vgl(context, &(mo_vgl[0][0][0]));
|
||||||
assert (rc == QMCKL_SUCCESS);
|
assert (rc == QMCKL_SUCCESS);
|
||||||
|
|
||||||
// Test overlap of MO
|
// Test overlap of MO
|
||||||
@ -781,18 +785,18 @@ assert (rc == QMCKL_SUCCESS);
|
|||||||
|
|
||||||
|
|
||||||
printf("\n");
|
printf("\n");
|
||||||
printf(" mo_vgl mo_vgl[0][0][26][219] %25.15e\n", mo_vgl[0][0][2][3]);
|
printf(" mo_vgl mo_vgl[0][26][219] %25.15e\n", mo_vgl[0][2][3]);
|
||||||
printf(" mo_vgl mo_vgl[1][0][26][219] %25.15e\n", mo_vgl[1][0][2][3]);
|
printf(" mo_vgl mo_vgl[1][26][219] %25.15e\n", mo_vgl[1][2][3]);
|
||||||
printf(" mo_vgl mo_vgl[0][0][26][220] %25.15e\n", mo_vgl[0][0][2][3]);
|
printf(" mo_vgl mo_vgl[0][26][220] %25.15e\n", mo_vgl[0][2][3]);
|
||||||
printf(" mo_vgl mo_vgl[1][0][26][220] %25.15e\n", mo_vgl[1][0][2][3]);
|
printf(" mo_vgl mo_vgl[1][26][220] %25.15e\n", mo_vgl[1][2][3]);
|
||||||
printf(" mo_vgl mo_vgl[0][0][26][221] %25.15e\n", mo_vgl[0][0][2][3]);
|
printf(" mo_vgl mo_vgl[0][26][221] %25.15e\n", mo_vgl[0][2][3]);
|
||||||
printf(" mo_vgl mo_vgl[1][0][26][221] %25.15e\n", mo_vgl[1][0][2][3]);
|
printf(" mo_vgl mo_vgl[1][26][221] %25.15e\n", mo_vgl[1][2][3]);
|
||||||
printf(" mo_vgl mo_vgl[0][0][26][222] %25.15e\n", mo_vgl[0][0][2][3]);
|
printf(" mo_vgl mo_vgl[0][26][222] %25.15e\n", mo_vgl[0][2][3]);
|
||||||
printf(" mo_vgl mo_vgl[1][0][26][222] %25.15e\n", mo_vgl[1][0][2][3]);
|
printf(" mo_vgl mo_vgl[1][26][222] %25.15e\n", mo_vgl[1][2][3]);
|
||||||
printf(" mo_vgl mo_vgl[0][0][26][223] %25.15e\n", mo_vgl[0][0][2][3]);
|
printf(" mo_vgl mo_vgl[0][26][223] %25.15e\n", mo_vgl[0][2][3]);
|
||||||
printf(" mo_vgl mo_vgl[1][0][26][223] %25.15e\n", mo_vgl[1][0][2][3]);
|
printf(" mo_vgl mo_vgl[1][26][223] %25.15e\n", mo_vgl[1][2][3]);
|
||||||
printf(" mo_vgl mo_vgl[0][0][26][224] %25.15e\n", mo_vgl[0][0][2][3]);
|
printf(" mo_vgl mo_vgl[0][26][224] %25.15e\n", mo_vgl[0][2][3]);
|
||||||
printf(" mo_vgl mo_vgl[1][0][26][224] %25.15e\n", mo_vgl[1][0][2][3]);
|
printf(" mo_vgl mo_vgl[1][26][224] %25.15e\n", mo_vgl[1][2][3]);
|
||||||
printf("\n");
|
printf("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user