diff --git a/plugins/local/ao_many_one_e_ints/lin_fc_rsdft.irp.f b/plugins/local/ao_many_one_e_ints/lin_fc_rsdft.irp.f index 8d97d514..8685e563 100644 --- a/plugins/local/ao_many_one_e_ints/lin_fc_rsdft.irp.f +++ b/plugins/local/ao_many_one_e_ints/lin_fc_rsdft.irp.f @@ -1,21 +1,21 @@ ! --- - BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_long_Du_0, (ao_num, ao_num, n_points_final_grid)] -&BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_long_Du_x, (ao_num, ao_num, n_points_final_grid)] -&BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_long_Du_y, (ao_num, ao_num, n_points_final_grid)] -&BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_long_Du_z, (ao_num, ao_num, n_points_final_grid)] -&BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_long_Du_2, (ao_num, ao_num, n_points_final_grid)] + BEGIN_PROVIDER [double precision, Ir2_rsdft_long_Du_0, (ao_num, ao_num, n_points_final_grid)] +&BEGIN_PROVIDER [double precision, Ir2_rsdft_long_Du_x, (ao_num, ao_num, n_points_final_grid)] +&BEGIN_PROVIDER [double precision, Ir2_rsdft_long_Du_y, (ao_num, ao_num, n_points_final_grid)] +&BEGIN_PROVIDER [double precision, Ir2_rsdft_long_Du_z, (ao_num, ao_num, n_points_final_grid)] +&BEGIN_PROVIDER [double precision, Ir2_rsdft_long_Du_2, (ao_num, ao_num, n_points_final_grid)] BEGIN_DOC ! - ! Ir2_LinFcRSDFT_long_Du_0 = int dr2 phi_i(r2) phi_j(r2) fc_env(r2) [(1 - erf(mu r_12) / r_12] + ! Ir2_rsdft_long_Du_0 = int dr2 phi_i(r2) phi_j(r2) fc_env(r2) [(1 - erf(mu r_12) / r_12] ! - ! Ir2_LinFcRSDFT_long_Du_x = int dr2 phi_i(r2) phi_j(r2) fc_env(r2) [(1 - erf(mu r_12) / r_12] * x2 - ! Ir2_LinFcRSDFT_long_Du_y = int dr2 phi_i(r2) phi_j(r2) fc_env(r2) [(1 - erf(mu r_12) / r_12] * y2 - ! Ir2_LinFcRSDFT_long_Du_z = int dr2 phi_i(r2) phi_j(r2) fc_env(r2) [(1 - erf(mu r_12) / r_12] * z2 + ! Ir2_rsdft_long_Du_x = int dr2 phi_i(r2) phi_j(r2) fc_env(r2) [(1 - erf(mu r_12) / r_12] * x2 + ! Ir2_rsdft_long_Du_y = int dr2 phi_i(r2) phi_j(r2) fc_env(r2) [(1 - erf(mu r_12) / r_12] * y2 + ! Ir2_rsdft_long_Du_z = int dr2 phi_i(r2) phi_j(r2) fc_env(r2) [(1 - erf(mu r_12) / r_12] * z2 ! - ! Ir2_LinFcRSDFT_long_Du_2 = int dr2 phi_i(r2) phi_j(r2) fc_env(r2) [(1 - erf(mu r_12) / r_12] * r2^2 + ! Ir2_rsdft_long_Du_2 = int dr2 phi_i(r2) phi_j(r2) fc_env(r2) [(1 - erf(mu r_12) / r_12] * r2^2 ! END_DOC @@ -32,18 +32,18 @@ PROVIDE List_env1s_size List_env1s_expo List_env1s_coef List_env1s_cent - print *, ' providing Ir2_LinFcRSDFT_long_Du ...' + print *, ' providing Ir2_rsdft_long_Du ...' call wall_time(wall0) !$OMP PARALLEL DEFAULT (NONE) & !$OMP PRIVATE (ipoint, i, j, i_1s, r, c_1s, e_1s, R_1s, int_erf, int_clb, & !$OMP tmp_Du_0, tmp_Du_x, tmp_Du_y, tmp_Du_z, tmp_Du_2) & !$OMP SHARED (n_points_final_grid, ao_num, final_grid_points, mu_erf, & - !$OMP List_env1s_size, List_env1s_expo, & - !$OMP List_env1s_coef, List_env1s_cent, & - !$OMP Ir2_LinFcRSDFT_long_Du_0, Ir2_LinFcRSDFT_long_Du_x, & - !$OMP Ir2_LinFcRSDFT_long_Du_y, Ir2_LinFcRSDFT_long_Du_z, & - !$OMP Ir2_LinFcRSDFT_long_Du_2) + !$OMP List_env1s_size, List_env1s_expo, & + !$OMP List_env1s_coef, List_env1s_cent, & + !$OMP Ir2_rsdft_long_Du_0, Ir2_rsdft_long_Du_x, & + !$OMP Ir2_rsdft_long_Du_y, Ir2_rsdft_long_Du_z, & + !$OMP Ir2_rsdft_long_Du_2) !$OMP DO do ipoint = 1, n_points_final_grid @@ -81,11 +81,11 @@ tmp_Du_2 = tmp_Du_2 + c_1s * (int_clb(5) + int_clb(6) + int_clb(7) - int_erf(5) - int_erf(6) - int_erf(7)) enddo - Ir2_LinFcRSDFT_long_Du_0(j,i,ipoint) = tmp_Du_0 - Ir2_LinFcRSDFT_long_Du_x(j,i,ipoint) = tmp_Du_x - Ir2_LinFcRSDFT_long_Du_y(j,i,ipoint) = tmp_Du_y - Ir2_LinFcRSDFT_long_Du_z(j,i,ipoint) = tmp_Du_z - Ir2_LinFcRSDFT_long_Du_2(j,i,ipoint) = tmp_Du_2 + Ir2_rsdft_long_Du_0(j,i,ipoint) = tmp_Du_0 + Ir2_rsdft_long_Du_x(j,i,ipoint) = tmp_Du_x + Ir2_rsdft_long_Du_y(j,i,ipoint) = tmp_Du_y + Ir2_rsdft_long_Du_z(j,i,ipoint) = tmp_Du_z + Ir2_rsdft_long_Du_2(j,i,ipoint) = tmp_Du_2 enddo enddo enddo @@ -95,27 +95,27 @@ do ipoint = 1, n_points_final_grid do i = 2, ao_num do j = 1, i-1 - Ir2_LinFcRSDFT_long_Du_0(j,i,ipoint) = Ir2_LinFcRSDFT_long_Du_0(i,j,ipoint) - Ir2_LinFcRSDFT_long_Du_x(j,i,ipoint) = Ir2_LinFcRSDFT_long_Du_x(i,j,ipoint) - Ir2_LinFcRSDFT_long_Du_y(j,i,ipoint) = Ir2_LinFcRSDFT_long_Du_y(i,j,ipoint) - Ir2_LinFcRSDFT_long_Du_z(j,i,ipoint) = Ir2_LinFcRSDFT_long_Du_z(i,j,ipoint) - Ir2_LinFcRSDFT_long_Du_2(j,i,ipoint) = Ir2_LinFcRSDFT_long_Du_2(i,j,ipoint) + Ir2_rsdft_long_Du_0(j,i,ipoint) = Ir2_rsdft_long_Du_0(i,j,ipoint) + Ir2_rsdft_long_Du_x(j,i,ipoint) = Ir2_rsdft_long_Du_x(i,j,ipoint) + Ir2_rsdft_long_Du_y(j,i,ipoint) = Ir2_rsdft_long_Du_y(i,j,ipoint) + Ir2_rsdft_long_Du_z(j,i,ipoint) = Ir2_rsdft_long_Du_z(i,j,ipoint) + Ir2_rsdft_long_Du_2(j,i,ipoint) = Ir2_rsdft_long_Du_2(i,j,ipoint) enddo enddo enddo call wall_time(wall1) - print*, ' wall time for Ir2_LinFcRSDFT_long_Du (min) = ', (wall1 - wall0) / 60.d0 + print*, ' wall time for Ir2_rsdft_long_Du (min) = ', (wall1 - wall0) / 60.d0 END_PROVIDER ! --- -BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_gauss_Du, (ao_num, ao_num, n_points_final_grid)] +BEGIN_PROVIDER [double precision, Ir2_rsdft_gauss_Du, (ao_num, ao_num, n_points_final_grid)] BEGIN_DOC ! - ! Ir2_LinFcRSDFT_gauss_Du = int dr2 phi_i(r2) phi_j(r2) fc_env(r2) e^{-(mu r_12)^2} + ! Ir2_rsdft_gauss_Du = int dr2 phi_i(r2) phi_j(r2) fc_env(r2) e^{-(mu r_12)^2} ! END_DOC @@ -136,7 +136,7 @@ BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_gauss_Du, (ao_num, ao_num, n_po PROVIDE List_env1s_size List_env1s_expo List_env1s_coef List_env1s_cent - print *, ' providing Ir2_LinFcRSDFT_gauss_Du ...' + print *, ' providing Ir2_rsdft_gauss_Du ...' call wall_time(wall0) mu_sq = mu_erf * mu_erf @@ -145,9 +145,9 @@ BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_gauss_Du, (ao_num, ao_num, n_po !$OMP PRIVATE (ipoint, i, j, i_1s, dx, dy, dz, r, tmp_arg, coef, & !$OMP rmu_sq, e_1s, c_1s, R_1s, beta, B_center, tmp_Du) & !$OMP SHARED (n_points_final_grid, ao_num, final_grid_points, mu_sq, & - !$OMP List_env1s_size, List_env1s_expo, & - !$OMP List_env1s_coef, List_env1s_cent, & - !$OMP Ir2_LinFcRSDFT_gauss_Du) + !$OMP List_env1s_size, List_env1s_expo, & + !$OMP List_env1s_coef, List_env1s_cent, & + !$OMP Ir2_rsdft_gauss_Du) !$OMP DO do ipoint = 1, n_points_final_grid @@ -186,7 +186,7 @@ BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_gauss_Du, (ao_num, ao_num, n_po tmp_Du += coef * overlap_gauss_r12_ao(B_center, beta, j, i) enddo - Ir2_LinFcRSDFT_gauss_Du(j,i,ipoint) = tmp_Du + Ir2_rsdft_gauss_Du(j,i,ipoint) = tmp_Du enddo enddo enddo @@ -197,33 +197,33 @@ BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_gauss_Du, (ao_num, ao_num, n_po do i = 2, ao_num do j = 1, i-1 - Ir2_LinFcRSDFT_gauss_Du(j,i,ipoint) = Ir2_LinFcRSDFT_gauss_Du(i,j,ipoint) + Ir2_rsdft_gauss_Du(j,i,ipoint) = Ir2_rsdft_gauss_Du(i,j,ipoint) enddo enddo enddo call wall_time(wall1) - print*, ' wall time for Ir2_LinFcRSDFT_gauss_Du (min) = ', (wall1 - wall0) / 60.d0 + print*, ' wall time for Ir2_rsdft_gauss_Du (min) = ', (wall1 - wall0) / 60.d0 END_PROVIDER ! --- - BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_long_Du2_0, (ao_num, ao_num, n_points_final_grid)] -&BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_long_Du2_x, (ao_num, ao_num, n_points_final_grid)] -&BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_long_Du2_y, (ao_num, ao_num, n_points_final_grid)] -&BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_long_Du2_z, (ao_num, ao_num, n_points_final_grid)] -&BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_long_Du2_2, (ao_num, ao_num, n_points_final_grid)] + BEGIN_PROVIDER [double precision, Ir2_rsdft_long_Du2_0, (ao_num, ao_num, n_points_final_grid)] +&BEGIN_PROVIDER [double precision, Ir2_rsdft_long_Du2_x, (ao_num, ao_num, n_points_final_grid)] +&BEGIN_PROVIDER [double precision, Ir2_rsdft_long_Du2_y, (ao_num, ao_num, n_points_final_grid)] +&BEGIN_PROVIDER [double precision, Ir2_rsdft_long_Du2_z, (ao_num, ao_num, n_points_final_grid)] +&BEGIN_PROVIDER [double precision, Ir2_rsdft_long_Du2_2, (ao_num, ao_num, n_points_final_grid)] BEGIN_DOC ! - ! Ir2_LinFcRSDFT_long_Du2_0 = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12) / r_12] + ! Ir2_rsdft_long_Du2_0 = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12) / r_12] ! - ! Ir2_LinFcRSDFT_long_Du2_x = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12) / r_12] * x2 - ! Ir2_LinFcRSDFT_long_Du2_y = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12) / r_12] * y2 - ! Ir2_LinFcRSDFT_long_Du2_z = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12) / r_12] * z2 + ! Ir2_rsdft_long_Du2_x = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12) / r_12] * x2 + ! Ir2_rsdft_long_Du2_y = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12) / r_12] * y2 + ! Ir2_rsdft_long_Du2_z = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12) / r_12] * z2 ! - ! Ir2_LinFcRSDFT_long_Du2_2 = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12) / r_12] * r2^2 + ! Ir2_rsdft_long_Du2_2 = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12) / r_12] * r2^2 ! END_DOC @@ -242,22 +242,22 @@ END_PROVIDER PROVIDE final_grid_points PROVIDE List_env1s_square_size List_env1s_square_expo List_env1s_square_coef List_env1s_square_cent - print *, ' providing Ir2_LinFcRSDFT_long_Du2 ...' + print *, ' providing Ir2_rsdft_long_Du2 ...' call wall_time(wall0) mu_sq = mu_erf * mu_erf - !$OMP PARALLEL DEFAULT (NONE) & - !$OMP PRIVATE (ipoint, i, j, i_1s, r, rmu_sq, dx, dy, dz, & - !$OMP e_1s, c_1s, R_1s, tmp_arg, coef, beta, B_center, & - !$OMP int_erf, int_clb, & - !$OMP tmp_Du2_0, tmp_Du2_x, tmp_Du2_y, tmp_Du2_z, tmp_Du2_2) & - !$OMP SHARED (n_points_final_grid, ao_num, final_grid_points, mu_sq, & - !$OMP mu_erf, List_env1s_square_size, List_env1s_square_expo, & - !$OMP List_env1s_square_coef, List_env1s_square_cent, & - !$OMP Ir2_LinFcRSDFT_long_Du2_0, Ir2_LinFcRSDFT_long_Du2_x, & - !$OMP Ir2_LinFcRSDFT_long_Du2_y, Ir2_LinFcRSDFT_long_Du2_z, & - !$OMP Ir2_LinFcRSDFT_long_Du2_2) + !$OMP PARALLEL DEFAULT (NONE) & + !$OMP PRIVATE (ipoint, i, j, i_1s, r, rmu_sq, dx, dy, dz, & + !$OMP e_1s, c_1s, R_1s, tmp_arg, coef, beta, B_center, & + !$OMP int_erf, int_clb, & + !$OMP tmp_Du2_0, tmp_Du2_x, tmp_Du2_y, tmp_Du2_z, tmp_Du2_2) & + !$OMP SHARED (n_points_final_grid, ao_num, final_grid_points, mu_sq, & + !$OMP mu_erf, List_env1s_square_size, List_env1s_square_expo, & + !$OMP List_env1s_square_coef, List_env1s_square_cent, & + !$OMP Ir2_rsdft_long_Du2_0, Ir2_rsdft_long_Du2_x, & + !$OMP Ir2_rsdft_long_Du2_y, Ir2_rsdft_long_Du2_z, & + !$OMP Ir2_rsdft_long_Du2_2) !$OMP DO do ipoint = 1, n_points_final_grid @@ -310,11 +310,11 @@ END_PROVIDER tmp_Du2_2 = tmp_Du2_2 + coef * (int_clb(5) + int_clb(6) + int_clb(7) - int_erf(5) - int_erf(6) - int_erf(7)) enddo - Ir2_LinFcRSDFT_long_Du2_0(j,i,ipoint) = tmp_Du2_0 - Ir2_LinFcRSDFT_long_Du2_x(j,i,ipoint) = tmp_Du2_x - Ir2_LinFcRSDFT_long_Du2_y(j,i,ipoint) = tmp_Du2_y - Ir2_LinFcRSDFT_long_Du2_z(j,i,ipoint) = tmp_Du2_z - Ir2_LinFcRSDFT_long_Du2_2(j,i,ipoint) = tmp_Du2_2 + Ir2_rsdft_long_Du2_0(j,i,ipoint) = tmp_Du2_0 + Ir2_rsdft_long_Du2_x(j,i,ipoint) = tmp_Du2_x + Ir2_rsdft_long_Du2_y(j,i,ipoint) = tmp_Du2_y + Ir2_rsdft_long_Du2_z(j,i,ipoint) = tmp_Du2_z + Ir2_rsdft_long_Du2_2(j,i,ipoint) = tmp_Du2_2 enddo enddo enddo @@ -324,27 +324,27 @@ END_PROVIDER do ipoint = 1, n_points_final_grid do i = 2, ao_num do j = 1, i-1 - Ir2_LinFcRSDFT_long_Du2_0(j,i,ipoint) = Ir2_LinFcRSDFT_long_Du2_0(i,j,ipoint) - Ir2_LinFcRSDFT_long_Du2_x(j,i,ipoint) = Ir2_LinFcRSDFT_long_Du2_x(i,j,ipoint) - Ir2_LinFcRSDFT_long_Du2_y(j,i,ipoint) = Ir2_LinFcRSDFT_long_Du2_y(i,j,ipoint) - Ir2_LinFcRSDFT_long_Du2_z(j,i,ipoint) = Ir2_LinFcRSDFT_long_Du2_z(i,j,ipoint) - Ir2_LinFcRSDFT_long_Du2_2(j,i,ipoint) = Ir2_LinFcRSDFT_long_Du2_2(i,j,ipoint) + Ir2_rsdft_long_Du2_0(j,i,ipoint) = Ir2_rsdft_long_Du2_0(i,j,ipoint) + Ir2_rsdft_long_Du2_x(j,i,ipoint) = Ir2_rsdft_long_Du2_x(i,j,ipoint) + Ir2_rsdft_long_Du2_y(j,i,ipoint) = Ir2_rsdft_long_Du2_y(i,j,ipoint) + Ir2_rsdft_long_Du2_z(j,i,ipoint) = Ir2_rsdft_long_Du2_z(i,j,ipoint) + Ir2_rsdft_long_Du2_2(j,i,ipoint) = Ir2_rsdft_long_Du2_2(i,j,ipoint) enddo enddo enddo call wall_time(wall1) - print*, ' wall time for Ir2_LinFcRSDFT_long_Du2 (min) = ', (wall1 - wall0) / 60.d0 + print*, ' wall time for Ir2_rsdft_long_Du2 (min) = ', (wall1 - wall0) / 60.d0 END_PROVIDER ! --- -BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_gauss_Du2, (ao_num, ao_num, n_points_final_grid)] +BEGIN_PROVIDER [double precision, Ir2_rsdft_gauss_Du2, (ao_num, ao_num, n_points_final_grid)] BEGIN_DOC ! - ! Ir2_LinFcRSDFT_gauss_Du2 = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 e^{-(mu r_12)^2} + ! Ir2_rsdft_gauss_Du2 = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 e^{-(mu r_12)^2} ! END_DOC @@ -365,7 +365,7 @@ BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_gauss_Du2, (ao_num, ao_num, n_p PROVIDE List_env1s_square_size List_env1s_square_expo List_env1s_square_coef List_env1s_square_cent - print *, ' providing Ir2_LinFcRSDFT_gauss_Du2 ...' + print *, ' providing Ir2_rsdft_gauss_Du2 ...' call wall_time(wall0) mu_sq = 2.d0 * mu_erf * mu_erf @@ -374,9 +374,9 @@ BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_gauss_Du2, (ao_num, ao_num, n_p !$OMP PRIVATE (ipoint, i, j, i_1s, dx, dy, dz, r, tmp_arg, coef, & !$OMP rmu_sq, e_1s, c_1s, R_1s, beta, B_center, tmp_Du2) & !$OMP SHARED (n_points_final_grid, ao_num, final_grid_points, mu_sq, & - !$OMP List_env1s_square_size, List_env1s_square_expo, & - !$OMP List_env1s_square_coef, List_env1s_square_cent, & - !$OMP Ir2_LinFcRSDFT_gauss_Du2) + !$OMP List_env1s_square_size, List_env1s_square_expo, & + !$OMP List_env1s_square_coef, List_env1s_square_cent, & + !$OMP Ir2_rsdft_gauss_Du2) !$OMP DO do ipoint = 1, n_points_final_grid @@ -415,7 +415,7 @@ BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_gauss_Du2, (ao_num, ao_num, n_p tmp_Du2 += coef * overlap_gauss_r12_ao(B_center, beta, j, i) enddo - Ir2_LinFcRSDFT_gauss_Du2(j,i,ipoint) = tmp_Du2 + Ir2_rsdft_gauss_Du2(j,i,ipoint) = tmp_Du2 enddo enddo enddo @@ -426,33 +426,33 @@ BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_gauss_Du2, (ao_num, ao_num, n_p do i = 2, ao_num do j = 1, i-1 - Ir2_LinFcRSDFT_gauss_Du2(j,i,ipoint) = Ir2_LinFcRSDFT_gauss_Du2(i,j,ipoint) + Ir2_rsdft_gauss_Du2(j,i,ipoint) = Ir2_rsdft_gauss_Du2(i,j,ipoint) enddo enddo enddo call wall_time(wall1) - print*, ' wall time for Ir2_LinFcRSDFT_gauss_Du2 (min) = ', (wall1 - wall0) / 60.d0 + print*, ' wall time for Ir2_rsdft_gauss_Du2 (min) = ', (wall1 - wall0) / 60.d0 END_PROVIDER ! --- - BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_short_Du2_0, (ao_num, ao_num, n_points_final_grid)] -&BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_short_Du2_x, (ao_num, ao_num, n_points_final_grid)] -&BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_short_Du2_y, (ao_num, ao_num, n_points_final_grid)] -&BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_short_Du2_z, (ao_num, ao_num, n_points_final_grid)] -&BEGIN_PROVIDER [double precision, Ir2_LinFcRSDFT_short_Du2_2, (ao_num, ao_num, n_points_final_grid)] + BEGIN_PROVIDER [double precision, Ir2_rsdft_short_Du2_0, (ao_num, ao_num, n_points_final_grid)] +&BEGIN_PROVIDER [double precision, Ir2_rsdft_short_Du2_x, (ao_num, ao_num, n_points_final_grid)] +&BEGIN_PROVIDER [double precision, Ir2_rsdft_short_Du2_y, (ao_num, ao_num, n_points_final_grid)] +&BEGIN_PROVIDER [double precision, Ir2_rsdft_short_Du2_z, (ao_num, ao_num, n_points_final_grid)] +&BEGIN_PROVIDER [double precision, Ir2_rsdft_short_Du2_2, (ao_num, ao_num, n_points_final_grid)] BEGIN_DOC ! - ! Ir2_LinFcRSDFT_short_Du2_0 = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12)]^2 + ! Ir2_rsdft_short_Du2_0 = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12)]^2 ! - ! Ir2_LinFcRSDFT_short_Du2_x = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12)]^2 * x2 - ! Ir2_LinFcRSDFT_short_Du2_y = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12)]^2 * y2 - ! Ir2_LinFcRSDFT_short_Du2_z = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12)]^2 * z2 + ! Ir2_rsdft_short_Du2_x = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12)]^2 * x2 + ! Ir2_rsdft_short_Du2_y = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12)]^2 * y2 + ! Ir2_rsdft_short_Du2_z = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12)]^2 * z2 ! - ! Ir2_LinFcRSDFT_short_Du2_2 = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12)]^2 * r2^2 + ! Ir2_rsdft_short_Du2_2 = int dr2 phi_i(r2) phi_j(r2) [fc_env(r2)]^2 [(1 - erf(mu r_12)]^2 * r2^2 ! END_DOC @@ -470,7 +470,7 @@ END_PROVIDER PROVIDE List_env1s_square_size List_env1s_square_expo List_env1s_square_coef List_env1s_square_cent PROVIDE ng_fit_jast expo_gauss_1_erf_x_2 coef_gauss_1_erf_x_2 - print *, ' providing Ir2_LinFcRSDFT_short_Du2 ...' + print *, ' providing Ir2_rsdft_short_Du2 ...' call wall_time(wall0) !$OMP PARALLEL DEFAULT (NONE) & @@ -480,11 +480,11 @@ END_PROVIDER !$OMP tmp_Du2_0, tmp_Du2_x, tmp_Du2_y, tmp_Du2_z, tmp_Du2_2) & !$OMP SHARED (n_points_final_grid, ao_num, final_grid_points, & !$OMP ng_fit_jast, expo_gauss_1_erf_x_2, coef_gauss_1_erf_x_2, & - !$OMP List_env1s_square_size, List_env1s_square_expo, & - !$OMP List_env1s_square_coef, List_env1s_square_cent, & - !$OMP Ir2_LinFcRSDFT_short_Du2_0, Ir2_LinFcRSDFT_short_Du2_x, & - !$OMP Ir2_LinFcRSDFT_short_Du2_y, Ir2_LinFcRSDFT_short_Du2_z, & - !$OMP Ir2_LinFcRSDFT_short_Du2_2) + !$OMP List_env1s_square_size, List_env1s_square_expo, & + !$OMP List_env1s_square_coef, List_env1s_square_cent, & + !$OMP Ir2_rsdft_short_Du2_0, Ir2_rsdft_short_Du2_x, & + !$OMP Ir2_rsdft_short_Du2_y, Ir2_rsdft_short_Du2_z, & + !$OMP Ir2_rsdft_short_Du2_2) !$OMP DO do ipoint = 1, n_points_final_grid @@ -542,11 +542,11 @@ END_PROVIDER enddo ! i_1s enddo ! i_fit - Ir2_LinFcRSDFT_short_Du2_0(j,i,ipoint) = tmp_Du2_0 - Ir2_LinFcRSDFT_short_Du2_x(j,i,ipoint) = tmp_Du2_x - Ir2_LinFcRSDFT_short_Du2_y(j,i,ipoint) = tmp_Du2_y - Ir2_LinFcRSDFT_short_Du2_z(j,i,ipoint) = tmp_Du2_z - Ir2_LinFcRSDFT_short_Du2_2(j,i,ipoint) = tmp_Du2_2 + Ir2_rsdft_short_Du2_0(j,i,ipoint) = tmp_Du2_0 + Ir2_rsdft_short_Du2_x(j,i,ipoint) = tmp_Du2_x + Ir2_rsdft_short_Du2_y(j,i,ipoint) = tmp_Du2_y + Ir2_rsdft_short_Du2_z(j,i,ipoint) = tmp_Du2_z + Ir2_rsdft_short_Du2_2(j,i,ipoint) = tmp_Du2_2 enddo ! j enddo ! i enddo ! ipoint @@ -556,17 +556,17 @@ END_PROVIDER do ipoint = 1, n_points_final_grid do i = 2, ao_num do j = 1, i-1 - Ir2_LinFcRSDFT_short_Du2_0(j,i,ipoint) = Ir2_LinFcRSDFT_short_Du2_0(i,j,ipoint) - Ir2_LinFcRSDFT_short_Du2_x(j,i,ipoint) = Ir2_LinFcRSDFT_short_Du2_x(i,j,ipoint) - Ir2_LinFcRSDFT_short_Du2_y(j,i,ipoint) = Ir2_LinFcRSDFT_short_Du2_y(i,j,ipoint) - Ir2_LinFcRSDFT_short_Du2_z(j,i,ipoint) = Ir2_LinFcRSDFT_short_Du2_z(i,j,ipoint) - Ir2_LinFcRSDFT_short_Du2_2(j,i,ipoint) = Ir2_LinFcRSDFT_short_Du2_2(i,j,ipoint) + Ir2_rsdft_short_Du2_0(j,i,ipoint) = Ir2_rsdft_short_Du2_0(i,j,ipoint) + Ir2_rsdft_short_Du2_x(j,i,ipoint) = Ir2_rsdft_short_Du2_x(i,j,ipoint) + Ir2_rsdft_short_Du2_y(j,i,ipoint) = Ir2_rsdft_short_Du2_y(i,j,ipoint) + Ir2_rsdft_short_Du2_z(j,i,ipoint) = Ir2_rsdft_short_Du2_z(i,j,ipoint) + Ir2_rsdft_short_Du2_2(j,i,ipoint) = Ir2_rsdft_short_Du2_2(i,j,ipoint) enddo enddo enddo call wall_time(wall1) - print*, ' wall time for Ir2_LinFcRSDFT_short_Du2 (min) = ', (wall1 - wall0) / 60.d0 + print*, ' wall time for Ir2_rsdft_short_Du2 (min) = ', (wall1 - wall0) / 60.d0 END_PROVIDER diff --git a/plugins/local/ao_tc_eff_map/NEED b/plugins/local/ao_tc_eff_map/NEED index f768b75f..b12b0999 100644 --- a/plugins/local/ao_tc_eff_map/NEED +++ b/plugins/local/ao_tc_eff_map/NEED @@ -3,3 +3,5 @@ mo_one_e_ints ao_many_one_e_ints dft_utils_in_r tc_keywords +hamiltonian +jastrow diff --git a/plugins/local/jastrow/EZFIO.cfg b/plugins/local/jastrow/EZFIO.cfg index b41185a3..8f05eb01 100644 --- a/plugins/local/jastrow/EZFIO.cfg +++ b/plugins/local/jastrow/EZFIO.cfg @@ -1,8 +1,21 @@ -[jast_type] -doc: Type of Jastrow [None| Mu | Qmckl] + +[j2e_type] type: character*(32) +doc: type of the 2e-Jastrow: [ none | rs-dft | rs-dft-murho | champ ] +interface: ezfio,provider,ocaml +default: rs-dft + +[j1e_type] +type: character*(32) +doc: type of the 1e-Jastrow: [ none | gauss ] +interface: ezfio,provider,ocaml +default: none + +[env_type] +type: character*(32) +doc: type of 1-body Jastrow: [ none | prod-gauss | sum-gauss | sum-slat | sum-quartic ] interface: ezfio, provider, ocaml -default: None +default: sum-gauss [jast_qmckl_type_nucl_num] doc: Number of different nuclei types in QMCkl jastrow @@ -64,6 +77,46 @@ type: double precision size: (jastrow.jast_qmckl_c_vector_size) interface: ezfio, provider - +[j1e_size] +type: integer +doc: number of functions per atom in 1e-Jastrow +interface: ezfio,provider,ocaml +default: 1 + +[j1e_coef] +type: double precision +doc: linear coef of functions in 1e-Jastrow +interface: ezfio +size: (jastrow.j1e_size,nuclei.nucl_num) + +[j1e_expo] +type: double precision +doc: exponenets of functions in 1e-Jastrow +interface: ezfio +size: (jastrow.j1e_size,nuclei.nucl_num) + +[env_expo] +type: double precision +doc: exponents of the 1-body Jastrow +interface: ezfio +size: (nuclei.nucl_num) + +[env_coef] +type: double precision +doc: coefficients of the 1-body Jastrow +interface: ezfio +size: (nuclei.nucl_num) + +[murho_type] +type: integer +doc: type of mu(rho) Jastrow +interface: ezfio, provider, ocaml +default: 0 + +[ng_fit_jast] +type: integer +doc: nb of Gaussians used to fit Jastrow fcts +interface: ezfio,provider,ocaml +default: 20 diff --git a/src/hamiltonian/j1b_pen.irp.f b/plugins/local/jastrow/env_param.irp.f similarity index 91% rename from src/hamiltonian/j1b_pen.irp.f rename to plugins/local/jastrow/env_param.irp.f index 64fcc90f..8102a484 100644 --- a/src/hamiltonian/j1b_pen.irp.f +++ b/plugins/local/jastrow/env_param.irp.f @@ -18,7 +18,7 @@ ! --- if (mpi_master) then - call ezfio_has_hamiltonian_env_expo(exists) + call ezfio_has_jastrow_env_expo(exists) endif IRP_IF MPI_DEBUG @@ -37,7 +37,7 @@ if (exists) then if (mpi_master) then write(6,'(A)') '.. >>>>> [ IO READ: env_expo ] <<<<< ..' - call ezfio_get_hamiltonian_env_expo(env_expo) + call ezfio_get_jastrow_env_expo(env_expo) IRP_IF MPI call MPI_BCAST(env_expo, (nucl_num), MPI_DOUBLE_PRECISION, 0, MPI_COMM_WORLD, ierr) if (ierr /= MPI_SUCCESS) then @@ -54,7 +54,7 @@ ! --- if (mpi_master) then - call ezfio_has_hamiltonian_env_coef(exists) + call ezfio_has_jastrow_env_coef(exists) endif IRP_IF MPI_DEBUG @@ -72,7 +72,7 @@ if (exists) then if (mpi_master) then write(6,'(A)') '.. >>>>> [ IO READ: env_coef ] <<<<< ..' - call ezfio_get_hamiltonian_env_coef(env_coef) + call ezfio_get_jastrow_env_coef(env_coef) IRP_IF MPI call MPI_BCAST(env_coef, (nucl_num), MPI_DOUBLE_PRECISION, 0, MPI_COMM_WORLD, ierr) if (ierr /= MPI_SUCCESS) then diff --git a/src/hamiltonian/fit_j.irp.f b/plugins/local/jastrow/fit_j.irp.f similarity index 100% rename from src/hamiltonian/fit_j.irp.f rename to plugins/local/jastrow/fit_j.irp.f diff --git a/src/hamiltonian/fit_potential.irp.f b/plugins/local/jastrow/fit_potential.irp.f similarity index 100% rename from src/hamiltonian/fit_potential.irp.f rename to plugins/local/jastrow/fit_potential.irp.f diff --git a/src/hamiltonian/fit_slat_gauss.irp.f b/plugins/local/jastrow/fit_slat_gauss.irp.f similarity index 100% rename from src/hamiltonian/fit_slat_gauss.irp.f rename to plugins/local/jastrow/fit_slat_gauss.irp.f diff --git a/src/hamiltonian/jast_1e_param.irp.f b/plugins/local/jastrow/jast_1e_param.irp.f similarity index 91% rename from src/hamiltonian/jast_1e_param.irp.f rename to plugins/local/jastrow/jast_1e_param.irp.f index 9413f723..16c8cedc 100644 --- a/src/hamiltonian/jast_1e_param.irp.f +++ b/plugins/local/jastrow/jast_1e_param.irp.f @@ -20,7 +20,7 @@ ! --- if (mpi_master) then - call ezfio_has_hamiltonian_j1e_expo(exists) + call ezfio_has_jastrow_j1e_expo(exists) endif IRP_IF MPI_DEBUG @@ -39,7 +39,7 @@ if (exists) then if (mpi_master) then write(6,'(A)') '.. >>>>> [ IO READ: j1e_expo ] <<<<< ..' - call ezfio_get_hamiltonian_j1e_expo(j1e_expo) + call ezfio_get_jastrow_j1e_expo(j1e_expo) IRP_IF MPI call MPI_BCAST(j1e_expo, (j1e_size*nucl_num), MPI_DOUBLE_PRECISION, 0, MPI_COMM_WORLD, ierr) if (ierr /= MPI_SUCCESS) then @@ -54,7 +54,7 @@ ! --- if (mpi_master) then - call ezfio_has_hamiltonian_j1e_coef(exists) + call ezfio_has_jastrow_j1e_coef(exists) endif IRP_IF MPI_DEBUG @@ -72,7 +72,7 @@ if (exists) then if (mpi_master) then write(6,'(A)') '.. >>>>> [ IO READ: j1e_coef ] <<<<< ..' - call ezfio_get_hamiltonian_j1e_coef(j1e_coef) + call ezfio_get_jastrow_j1e_coef(j1e_coef) IRP_IF MPI call MPI_BCAST(j1e_coef, (j1e_size*nucl_num), MPI_DOUBLE_PRECISION, 0, MPI_COMM_WORLD, ierr) if (ierr /= MPI_SUCCESS) then diff --git a/plugins/local/non_h_ints_mu/NEED b/plugins/local/non_h_ints_mu/NEED index c44c65af..48c1c24b 100644 --- a/plugins/local/non_h_ints_mu/NEED +++ b/plugins/local/non_h_ints_mu/NEED @@ -1,4 +1,5 @@ qmckl +hamiltonian jastrow ao_tc_eff_map bi_ortho_mos diff --git a/plugins/local/non_h_ints_mu/debug_integ_jmu_modif.irp.f b/plugins/local/non_h_ints_mu/debug_integ_jmu_modif.irp.f index 415e4fc0..515b6da5 100644 --- a/plugins/local/non_h_ints_mu/debug_integ_jmu_modif.irp.f +++ b/plugins/local/non_h_ints_mu/debug_integ_jmu_modif.irp.f @@ -29,7 +29,7 @@ program debug_integ_jmu_modif !call test_vect_overlap_gauss_r12_ao() !call test_vect_overlap_gauss_r12_ao_with1s() - !call test_Ir2_LinFcRSDFT_long_Du_0() + !call test_Ir2_rsdft_long_Du_0() end @@ -731,17 +731,17 @@ end ! --- -subroutine test_Ir2_LinFcRSDFT_long_Du_0() +subroutine test_Ir2_rsdft_long_Du_0() implicit none integer :: i, j, ipoint double precision :: i_old, i_new double precision :: acc_ij, acc_tot, eps_ij, normalz - print*, ' test_Ir2_LinFcRSDFT_long_Du_0 ...' + print*, ' test_Ir2_rsdft_long_Du_0 ...' PROVIDE v_ij_erf_rk_cst_mu_env - PROVIDE Ir2_LinFcRSDFT_long_Du_0 + PROVIDE Ir2_rsdft_long_Du_0 eps_ij = 1d-10 acc_tot = 0.d0 @@ -751,12 +751,12 @@ subroutine test_Ir2_LinFcRSDFT_long_Du_0() do j = 1, ao_num do i = 1, ao_num - i_old = v_ij_erf_rk_cst_mu_env (i,j,ipoint) - i_new = Ir2_LinFcRSDFT_long_Du_0(i,j,ipoint) + i_old = v_ij_erf_rk_cst_mu_env(i,j,ipoint) + i_new = Ir2_rsdft_long_Du_0 (i,j,ipoint) acc_ij = dabs(i_old - i_new) if(acc_ij .gt. eps_ij) then - print *, ' problem in Ir2_LinFcRSDFT_long_Du_0 on', i, j, ipoint + print *, ' problem in Ir2_rsdft_long_Du_0 on', i, j, ipoint print *, ' old integ = ', i_old print *, ' new integ = ', i_new print *, ' diff = ', acc_ij diff --git a/plugins/local/non_h_ints_mu/tc_integ.irp.f b/plugins/local/non_h_ints_mu/tc_integ.irp.f index 7962ed15..cb1d2beb 100644 --- a/plugins/local/non_h_ints_mu/tc_integ.irp.f +++ b/plugins/local/non_h_ints_mu/tc_integ.irp.f @@ -125,22 +125,22 @@ BEGIN_PROVIDER [double precision, int2_grad1_u12_ao, (ao_num, ao_num, n_points_f PROVIDE mu_erf PROVIDE env_type env_val env_grad - PROVIDE Ir2_LinFcRSDFT_long_Du_0 Ir2_LinFcRSDFT_long_Du_x Ir2_LinFcRSDFT_long_Du_y Ir2_LinFcRSDFT_long_Du_z Ir2_LinFcRSDFT_long_Du_2 - PROVIDE Ir2_LinFcRSDFT_gauss_Du + PROVIDE Ir2_rsdft_long_Du_0 Ir2_rsdft_long_Du_x Ir2_rsdft_long_Du_y Ir2_rsdft_long_Du_z Ir2_rsdft_long_Du_2 + PROVIDE Ir2_rsdft_gauss_Du tmp_ct = 0.5d0 / (dsqrt(dacos(-1.d0)) * mu_erf) int2_grad1_u12_ao = 0.d0 - !$OMP PARALLEL & - !$OMP DEFAULT (NONE) & - !$OMP PRIVATE (ipoint, i, j, x, y, z, r2, dx, dy, dz, tmp1, tmp2, & - !$OMP tmp0_x, tmp0_y, tmp0_z, tmp1_x, tmp1_y, tmp1_z) & - !$OMP SHARED (ao_num, n_points_final_grid, final_grid_points, & - !$OMP tmp_ct, env_val, env_grad, Ir2_LinFcRSDFT_long_Du_0, & - !$OMP Ir2_LinFcRSDFT_long_Du_x, Ir2_LinFcRSDFT_long_Du_y, & - !$OMP Ir2_LinFcRSDFT_long_Du_z, Ir2_LinFcRSDFT_gauss_Du, & - !$OMP Ir2_LinFcRSDFT_long_Du_2, int2_grad1_u12_ao) + !$OMP PARALLEL & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (ipoint, i, j, x, y, z, r2, dx, dy, dz, tmp1, tmp2, & + !$OMP tmp0_x, tmp0_y, tmp0_z, tmp1_x, tmp1_y, tmp1_z) & + !$OMP SHARED (ao_num, n_points_final_grid, final_grid_points, & + !$OMP tmp_ct, env_val, env_grad, Ir2_rsdft_long_Du_0, & + !$OMP Ir2_rsdft_long_Du_x, Ir2_rsdft_long_Du_y, & + !$OMP Ir2_rsdft_long_Du_z, Ir2_rsdft_gauss_Du, & + !$OMP Ir2_rsdft_long_Du_2, int2_grad1_u12_ao) !$OMP DO SCHEDULE (static) do ipoint = 1, n_points_final_grid @@ -166,11 +166,11 @@ BEGIN_PROVIDER [double precision, int2_grad1_u12_ao, (ao_num, ao_num, n_points_f do j = 1, ao_num do i = 1, ao_num - tmp2 = 0.5d0 * Ir2_LinFcRSDFT_long_Du_2(i,j,ipoint) - x * Ir2_LinFcRSDFT_long_Du_x(i,j,ipoint) - y * Ir2_LinFcRSDFT_long_Du_y(i,j,ipoint) - z * Ir2_LinFcRSDFT_long_Du_z(i,j,ipoint) + tmp2 = 0.5d0 * Ir2_rsdft_long_Du_2(i,j,ipoint) - x * Ir2_rsdft_long_Du_x(i,j,ipoint) - y * Ir2_rsdft_long_Du_y(i,j,ipoint) - z * Ir2_rsdft_long_Du_z(i,j,ipoint) - int2_grad1_u12_ao(i,j,ipoint,1) = -Ir2_LinFcRSDFT_long_Du_0(i,j,ipoint) * tmp0_x + tmp1 * Ir2_LinFcRSDFT_long_Du_x(i,j,ipoint) - dx * tmp2 + tmp1_x * Ir2_LinFcRSDFT_gauss_Du(i,j,ipoint) - int2_grad1_u12_ao(i,j,ipoint,2) = -Ir2_LinFcRSDFT_long_Du_0(i,j,ipoint) * tmp0_y + tmp1 * Ir2_LinFcRSDFT_long_Du_y(i,j,ipoint) - dy * tmp2 + tmp1_y * Ir2_LinFcRSDFT_gauss_Du(i,j,ipoint) - int2_grad1_u12_ao(i,j,ipoint,3) = -Ir2_LinFcRSDFT_long_Du_0(i,j,ipoint) * tmp0_z + tmp1 * Ir2_LinFcRSDFT_long_Du_z(i,j,ipoint) - dz * tmp2 + tmp1_z * Ir2_LinFcRSDFT_gauss_Du(i,j,ipoint) + int2_grad1_u12_ao(i,j,ipoint,1) = -Ir2_rsdft_long_Du_0(i,j,ipoint) * tmp0_x + tmp1 * Ir2_rsdft_long_Du_x(i,j,ipoint) - dx * tmp2 + tmp1_x * Ir2_rsdft_gauss_Du(i,j,ipoint) + int2_grad1_u12_ao(i,j,ipoint,2) = -Ir2_rsdft_long_Du_0(i,j,ipoint) * tmp0_y + tmp1 * Ir2_rsdft_long_Du_y(i,j,ipoint) - dy * tmp2 + tmp1_y * Ir2_rsdft_gauss_Du(i,j,ipoint) + int2_grad1_u12_ao(i,j,ipoint,3) = -Ir2_rsdft_long_Du_0(i,j,ipoint) * tmp0_z + tmp1 * Ir2_rsdft_long_Du_z(i,j,ipoint) - dz * tmp2 + tmp1_z * Ir2_rsdft_gauss_Du(i,j,ipoint) enddo enddo enddo @@ -217,7 +217,7 @@ BEGIN_PROVIDER [double precision, int2_grad1_u12_ao, (ao_num, ao_num, n_points_f else - FREE Ir2_LinFcRSDFT_long_Du_0 Ir2_LinFcRSDFT_long_Du_x Ir2_LinFcRSDFT_long_Du_y Ir2_LinFcRSDFT_long_Du_z Ir2_LinFcRSDFT_gauss_Du Ir2_LinFcRSDFT_long_Du_2 + FREE Ir2_rsdft_long_Du_0 Ir2_rsdft_long_Du_x Ir2_rsdft_long_Du_y Ir2_rsdft_long_Du_z Ir2_rsdft_gauss_Du Ir2_rsdft_long_Du_2 endif ! j1e_type @@ -440,28 +440,28 @@ BEGIN_PROVIDER [double precision, int2_grad1_u12_square_ao, (ao_num, ao_num, n_p ! ! PROVIDE mu_erf ! PROVIDE env_val env_grad -! PROVIDE Ir2_LinFcRSDFT_short_Du2_0 Ir2_LinFcRSDFT_short_Du2_x Ir2_LinFcRSDFT_short_Du2_y Ir2_LinFcRSDFT_short_Du2_z Ir2_LinFcRSDFT_short_Du2_2 -! PROVIDE Ir2_LinFcRSDFT_long_Du2_0 Ir2_LinFcRSDFT_long_Du2_x Ir2_LinFcRSDFT_long_Du2_y Ir2_LinFcRSDFT_long_Du2_z Ir2_LinFcRSDFT_long_Du2_2 -! PROVIDE Ir2_LinFcRSDFT_gauss_Du2 +! PROVIDE Ir2_rsdft_short_Du2_0 Ir2_rsdft_short_Du2_x Ir2_rsdft_short_Du2_y Ir2_rsdft_short_Du2_z Ir2_rsdft_short_Du2_2 +! PROVIDE Ir2_rsdft_long_Du2_0 Ir2_rsdft_long_Du2_x Ir2_rsdft_long_Du2_y Ir2_rsdft_long_Du2_z Ir2_rsdft_long_Du2_2 +! PROVIDE Ir2_rsdft_gauss_Du2 ! ! tmp_ct = 1.d0 / (dsqrt(dacos(-1.d0)) * mu_erf) ! tmp_ct2 = tmp_ct * tmp_ct ! ! int2_grad1_u12_square_ao = 0.d0 ! -! !$OMP PARALLEL & -! !$OMP DEFAULT (NONE) & -! !$OMP PRIVATE (ipoint, i, j, x, y, z, r2, dx, dy, dz, dr2, & -! !$OMP tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, & -! !$OMP tmp0_x, tmp0_y, tmp0_z, tmp1_x, tmp1_y, tmp1_z) & -! !$OMP SHARED (ao_num, n_points_final_grid, final_grid_points, & -! !$OMP tmp_ct, tmp_ct2, env_val, env_grad, & -! !$OMP Ir2_LinFcRSDFT_long_Du2_0, Ir2_LinFcRSDFT_long_Du2_x, & -! !$OMP Ir2_LinFcRSDFT_long_Du2_y, Ir2_LinFcRSDFT_long_Du2_z, & -! !$OMP Ir2_LinFcRSDFT_gauss_Du2, Ir2_LinFcRSDFT_long_Du2_2, & -! !$OMP Ir2_LinFcRSDFT_short_Du2_0, Ir2_LinFcRSDFT_short_Du2_x, & -! !$OMP Ir2_LinFcRSDFT_short_Du2_y, Ir2_LinFcRSDFT_short_Du2_z, & -! !$OMP Ir2_LinFcRSDFT_short_Du2_2, int2_grad1_u12_square_ao) +! !$OMP PARALLEL & +! !$OMP DEFAULT (NONE) & +! !$OMP PRIVATE (ipoint, i, j, x, y, z, r2, dx, dy, dz, dr2, & +! !$OMP tmp1, tmp2, tmp3, tmp4, tmp5, tmp6, & +! !$OMP tmp0_x, tmp0_y, tmp0_z, tmp1_x, tmp1_y, tmp1_z) & +! !$OMP SHARED (ao_num, n_points_final_grid, final_grid_points, & +! !$OMP tmp_ct, tmp_ct2, env_val, env_grad, & +! !$OMP Ir2_rsdft_long_Du2_0, Ir2_rsdft_long_Du2_x, & +! !$OMP Ir2_rsdft_long_Du2_y, Ir2_rsdft_long_Du2_z, & +! !$OMP Ir2_rsdft_gauss_Du2, Ir2_rsdft_long_Du2_2, & +! !$OMP Ir2_rsdft_short_Du2_0, Ir2_rsdft_short_Du2_x, & +! !$OMP Ir2_rsdft_short_Du2_y, Ir2_rsdft_short_Du2_z, & +! !$OMP Ir2_rsdft_short_Du2_2, int2_grad1_u12_square_ao) ! !$OMP DO SCHEDULE (static) ! do ipoint = 1, n_points_final_grid ! @@ -492,12 +492,12 @@ BEGIN_PROVIDER [double precision, int2_grad1_u12_square_ao, (ao_num, ao_num, n_p ! do j = 1, ao_num ! do i = 1, ao_num ! -! tmp2 = tmp1_x * Ir2_LinFcRSDFT_long_Du2_x (i,j,ipoint) + tmp1_y * Ir2_LinFcRSDFT_long_Du2_y (i,j,ipoint) + tmp1_z * Ir2_LinFcRSDFT_long_Du2_z (i,j,ipoint) & -! - tmp0_x * Ir2_LinFcRSDFT_short_Du2_x(i,j,ipoint) - tmp0_y * Ir2_LinFcRSDFT_short_Du2_y(i,j,ipoint) - tmp0_z * Ir2_LinFcRSDFT_short_Du2_z(i,j,ipoint) +! tmp2 = tmp1_x * Ir2_rsdft_long_Du2_x (i,j,ipoint) + tmp1_y * Ir2_rsdft_long_Du2_y (i,j,ipoint) + tmp1_z * Ir2_rsdft_long_Du2_z (i,j,ipoint) & +! - tmp0_x * Ir2_rsdft_short_Du2_x(i,j,ipoint) - tmp0_y * Ir2_rsdft_short_Du2_y(i,j,ipoint) - tmp0_z * Ir2_rsdft_short_Du2_z(i,j,ipoint) ! -! int2_grad1_u12_square_ao(i,j,ipoint) = tmp1 * Ir2_LinFcRSDFT_short_Du2_0(i,j,ipoint) + tmp2 + tmp3 * Ir2_LinFcRSDFT_short_Du2_2(i,j,ipoint) & -! + tmp4 * Ir2_LinFcRSDFT_gauss_Du2(i,j,ipoint) - tmp5 * Ir2_LinFcRSDFT_long_Du2_0(i,j,ipoint) & -! - tmp6 * Ir2_LinFcRSDFT_long_Du2_2(i,j,ipoint) +! int2_grad1_u12_square_ao(i,j,ipoint) = tmp1 * Ir2_rsdft_short_Du2_0(i,j,ipoint) + tmp2 + tmp3 * Ir2_rsdft_short_Du2_2(i,j,ipoint) & +! + tmp4 * Ir2_rsdft_gauss_Du2(i,j,ipoint) - tmp5 * Ir2_rsdft_long_Du2_0(i,j,ipoint) & +! - tmp6 * Ir2_rsdft_long_Du2_2(i,j,ipoint) ! enddo ! enddo ! enddo @@ -524,17 +524,17 @@ BEGIN_PROVIDER [double precision, int2_grad1_u12_square_ao, (ao_num, ao_num, n_p tmp_ct1 = 1.0d0 / (dsqrt(dacos(-1.d0)) * mu_erf) tmp_ct2 = 1.0d0 / (dble(elec_num) - 1.d0) - !$OMP PARALLEL & - !$OMP DEFAULT (NONE) & - !$OMP PRIVATE (ipoint, i, j, x, y, z, r2, dx1, dy1, dz1, & - !$OMP dx2, dy2, dz2, dr12, tmp0, tmp1, tmp2, tmp3, tmp4, & - !$OMP tmp0_x, tmp0_y, tmp0_z) & - !$OMP SHARED (ao_num, n_points_final_grid, final_grid_points, & - !$OMP tmp_ct1, tmp_ct2, env_val, env_grad, & - !$OMP j1e_dx, j1e_dy, j1e_dz, & - !$OMP Ir2_LinFcRSDFT_long_Du_0, Ir2_LinFcRSDFT_long_Du_2, & - !$OMP Ir2_LinFcRSDFT_long_Du_x, Ir2_LinFcRSDFT_long_Du_y, & - !$OMP Ir2_LinFcRSDFT_long_Du_z, Ir2_LinFcRSDFT_gauss_Du, & + !$OMP PARALLEL & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (ipoint, i, j, x, y, z, r2, dx1, dy1, dz1, & + !$OMP dx2, dy2, dz2, dr12, tmp0, tmp1, tmp2, tmp3, tmp4, & + !$OMP tmp0_x, tmp0_y, tmp0_z) & + !$OMP SHARED (ao_num, n_points_final_grid, final_grid_points, & + !$OMP tmp_ct1, tmp_ct2, env_val, env_grad, & + !$OMP j1e_dx, j1e_dy, j1e_dz, & + !$OMP Ir2_rsdft_long_Du_0, Ir2_rsdft_long_Du_2, & + !$OMP Ir2_rsdft_long_Du_x, Ir2_rsdft_long_Du_y, & + !$OMP Ir2_rsdft_long_Du_z, Ir2_rsdft_gauss_Du, & !$OMP ao_overlap, int2_grad1_u12_square_ao) !$OMP DO SCHEDULE (static) do ipoint = 1, n_points_final_grid @@ -566,11 +566,11 @@ BEGIN_PROVIDER [double precision, int2_grad1_u12_square_ao, (ao_num, ao_num, n_p do j = 1, ao_num do i = 1, ao_num - tmp4 = tmp0_x * Ir2_LinFcRSDFT_long_Du_x(i,j,ipoint) + tmp0_y * Ir2_LinFcRSDFT_long_Du_y(i,j,ipoint) + tmp0_z * Ir2_LinFcRSDFT_long_Du_z(i,j,ipoint) + tmp4 = tmp0_x * Ir2_rsdft_long_Du_x(i,j,ipoint) + tmp0_y * Ir2_rsdft_long_Du_y(i,j,ipoint) + tmp0_z * Ir2_rsdft_long_Du_z(i,j,ipoint) - int2_grad1_u12_square_ao(i,j,ipoint) = int2_grad1_u12_square_ao(i,j,ipoint) & - + tmp0 * Ir2_LinFcRSDFT_long_Du_0(i,j,ipoint) - tmp4 + tmp1 * Ir2_LinFcRSDFT_long_Du_2(i,j,ipoint) & - - tmp2 * Ir2_LinFcRSDFT_gauss_Du(i,j,ipoint) & + int2_grad1_u12_square_ao(i,j,ipoint) = int2_grad1_u12_square_ao(i,j,ipoint) & + + tmp0 * Ir2_rsdft_long_Du_0(i,j,ipoint) - tmp4 + tmp1 * Ir2_rsdft_long_Du_2(i,j,ipoint) & + - tmp2 * Ir2_rsdft_gauss_Du(i,j,ipoint) & + tmp3 * ao_overlap(i,j) enddo enddo @@ -578,7 +578,7 @@ BEGIN_PROVIDER [double precision, int2_grad1_u12_square_ao, (ao_num, ao_num, n_p !$OMP END DO !$OMP END PARALLEL - FREE Ir2_LinFcRSDFT_long_Du_0 Ir2_LinFcRSDFT_long_Du_x Ir2_LinFcRSDFT_long_Du_y Ir2_LinFcRSDFT_long_Du_z Ir2_LinFcRSDFT_gauss_Du Ir2_LinFcRSDFT_long_Du_2 + FREE Ir2_rsdft_long_Du_0 Ir2_rsdft_long_Du_x Ir2_rsdft_long_Du_y Ir2_rsdft_long_Du_z Ir2_rsdft_gauss_Du Ir2_rsdft_long_Du_2 endif ! j1e_type diff --git a/plugins/local/non_h_ints_mu/total_tc_int.irp.f b/plugins/local/non_h_ints_mu/total_tc_int.irp.f index 9df1a8a6..2fbeeb3a 100644 --- a/plugins/local/non_h_ints_mu/total_tc_int.irp.f +++ b/plugins/local/non_h_ints_mu/total_tc_int.irp.f @@ -36,6 +36,7 @@ BEGIN_PROVIDER [double precision, ao_two_e_tc_tot, (ao_num, ao_num, ao_num, ao_n double precision, allocatable :: b_mat(:,:,:,:), c_mat(:,:,:) double precision, external :: get_ao_two_e_integral + PROVIDe tc_integ_type PROVIDE env_type PROVIDE j2e_type PROVIDE j1e_type diff --git a/src/hamiltonian/EZFIO.cfg b/src/hamiltonian/EZFIO.cfg index 652a3e33..9b51c560 100644 --- a/src/hamiltonian/EZFIO.cfg +++ b/src/hamiltonian/EZFIO.cfg @@ -5,64 +5,3 @@ interface: ezfio,provider,ocaml default: 0.5 ezfio_name: mu_erf -[j2e_type] -type: character*(32) -doc: type of the 2e-Jastrow: [ rs-dft | rs-dft-murho | champ ] -interface: ezfio,provider,ocaml -default: lin-fc-rs-dft - -[j1e_type] -type: character*(32) -doc: type of the 1e-Jastrow: [ none | gauss ] -interface: ezfio,provider,ocaml -default: none - -[j1e_size] -type: integer -doc: number of functions per atom in 1e-Jastrow -interface: ezfio,provider,ocaml -default: 1 - -[j1e_coef] -type: double precision -doc: linear coef of functions in 1e-Jastrow -interface: ezfio -size: (hamiltonian.j1e_size,nuclei.nucl_num) - -[j1e_expo] -type: double precision -doc: exponenets of functions in 1e-Jastrow -interface: ezfio -size: (hamiltonian.j1e_size,nuclei.nucl_num) - -[env_type] -type: character*(32) -doc: type of 1-body Jastrow: [ prod-gauss | sum-gauss | sum-slat | sum-quartic ] -interface: ezfio, provider, ocaml -default: sum-gauss - -[env_expo] -type: double precision -doc: exponents of the 1-body Jastrow -interface: ezfio -size: (nuclei.nucl_num) - -[env_coef] -type: double precision -doc: coefficients of the 1-body Jastrow -interface: ezfio -size: (nuclei.nucl_num) - -[murho_type] -type: integer -doc: type of mu(rho) Jastrow -interface: ezfio, provider, ocaml -default: 0 - -[ng_fit_jast] -type: integer -doc: nb of Gaussians used to fit Jastrow fcts -interface: ezfio,provider,ocaml -default: 20 - -