diff --git a/scripts/ezfio_interface/qp_convert_output_to_ezfio.py b/scripts/ezfio_interface/qp_convert_output_to_ezfio.py index 400def37..0857f598 100755 --- a/scripts/ezfio_interface/qp_convert_output_to_ezfio.py +++ b/scripts/ezfio_interface/qp_convert_output_to_ezfio.py @@ -273,7 +273,7 @@ def write_ezfio(res, filename): # \_| |___/\___|\__,_|\__,_|\___/ # - ezfio.set_pseudo_integrals_do_pseudo(False) + ezfio.set_pseudo_do_pseudo(False) def get_full_path(file_path): diff --git a/scripts/pseudo/put_pseudo_in_ezfio.py b/scripts/pseudo/put_pseudo_in_ezfio.py index 40d6d045..98641a18 100755 --- a/scripts/pseudo/put_pseudo_in_ezfio.py +++ b/scripts/pseudo/put_pseudo_in_ezfio.py @@ -335,4 +335,4 @@ if __name__ == "__main__": ezfio.pseudo_pseudo_n_kl = zip(*n_kl) ezfio.pseudo_pseudo_dz_kl = zip(*dz_kl) - ezfio.pseudo_integrals_do_pseudo = True + ezfio.pseudo_do_pseudo = True diff --git a/src/CAS_SD/CAS_SD.png b/src/CAS_SD/CAS_SD.png new file mode 100644 index 00000000..d7d4c3d2 Binary files /dev/null and b/src/CAS_SD/CAS_SD.png differ diff --git a/src/CISD_SC2_selected/CISD_SC2_selected.png b/src/CISD_SC2_selected/CISD_SC2_selected.png new file mode 100644 index 00000000..85fa072a Binary files /dev/null and b/src/CISD_SC2_selected/CISD_SC2_selected.png differ diff --git a/src/Electrons/NEEDED_CHILDREN_MODULES b/src/Electrons/NEEDED_CHILDREN_MODULES index 83260f86..d9eaf57c 100644 --- a/src/Electrons/NEEDED_CHILDREN_MODULES +++ b/src/Electrons/NEEDED_CHILDREN_MODULES @@ -1 +1 @@ -Output +Ezfio_files diff --git a/src/Electrons/README.rst b/src/Electrons/README.rst index e71a552d..affaac3b 100644 --- a/src/Electrons/README.rst +++ b/src/Electrons/README.rst @@ -24,7 +24,7 @@ Needed Modules .. Do not edit this section. It was auto-generated from the .. NEEDED_MODULES file. -* `Output `_ +* `Ezfio_files `_ Documentation ============= diff --git a/src/Output/output.irp.f b/src/Ezfio_files/output.irp.f similarity index 96% rename from src/Output/output.irp.f rename to src/Ezfio_files/output.irp.f index 85f5cc0e..1a45e865 100644 --- a/src/Output/output.irp.f +++ b/src/Ezfio_files/output.irp.f @@ -20,8 +20,8 @@ BEGIN_SHELL [ /bin/bash ] ! Output file for $NAME END_DOC PROVIDE output_wall_time_0 output_cpu_time_0 ezfio_filename - integer :: getUnitAndOpen - call ezfio_set_output_empty(.False.) +! integer :: getUnitAndOpen +! call ezfio_set_output_empty(.False.) IRP_IF COARRAY if (this_image() == 1) then output_$NAME = 6 !getUnitAndOpen(trim(ezfio_filename)//'/output/'//'$NAME.rst','a') diff --git a/src/FCIdump/README.rst b/src/FCIdump/README.rst index 8a467b16..faf69203 100644 --- a/src/FCIdump/README.rst +++ b/src/FCIdump/README.rst @@ -10,9 +10,6 @@ Documentation .. Do not edit this section. It was auto-generated from the .. NEEDED_MODULES file. -`fcidump `_ - Undocumented - Needed Modules diff --git a/src/Full_CI/Full_CI.png b/src/Full_CI/Full_CI.png new file mode 100644 index 00000000..c4603535 Binary files /dev/null and b/src/Full_CI/Full_CI.png differ diff --git a/src/MRCC/MRCC.png b/src/MRCC/MRCC.png new file mode 100644 index 00000000..e5570c7c Binary files /dev/null and b/src/MRCC/MRCC.png differ diff --git a/src/Molden/Molden.png b/src/Molden/Molden.png new file mode 100644 index 00000000..b993bb3a Binary files /dev/null and b/src/Molden/Molden.png differ diff --git a/src/Molden/NEEDED_CHILDREN_MODULES b/src/Molden/NEEDED_CHILDREN_MODULES index b936db90..64795a92 100644 --- a/src/Molden/NEEDED_CHILDREN_MODULES +++ b/src/Molden/NEEDED_CHILDREN_MODULES @@ -1 +1 @@ -MOs +MOs Utils diff --git a/src/Molden/README.rst b/src/Molden/README.rst index 128a020a..b4630687 100644 --- a/src/Molden/README.rst +++ b/src/Molden/README.rst @@ -32,4 +32,5 @@ Needed Modules .. NEEDED_MODULES file. * `MOs `_ +* `Utils `_ diff --git a/src/MonoInts/EZFIO.cfg b/src/MonoInts/EZFIO.cfg deleted file mode 100644 index 33a8d619..00000000 --- a/src/MonoInts/EZFIO.cfg +++ /dev/null @@ -1,6 +0,0 @@ -[do_pseudo] -type: logical -doc: Using pseudo potential integral of not -interface: input -default: False - diff --git a/src/MonoInts/Makefile b/src/MonoInts/Makefile index b1f3b02c..abe31fed 100644 --- a/src/MonoInts/Makefile +++ b/src/MonoInts/Makefile @@ -1,6 +1,6 @@ # Define here all new external source files and objects.Don't forget to prefix the # object files with IRPF90_temp/ -SRC= -OBJ= +SRC=pseudopot.f90 +OBJ=IRPF90_temp/pseudopot.o -include $(QPACKAGE_ROOT)/src/Makefile.common \ No newline at end of file +include $(QPACKAGE_ROOT)/src/Makefile.common diff --git a/src/MonoInts/NEEDED_CHILDREN_MODULES b/src/MonoInts/NEEDED_CHILDREN_MODULES index be46a359..62dc97d3 100644 --- a/src/MonoInts/NEEDED_CHILDREN_MODULES +++ b/src/MonoInts/NEEDED_CHILDREN_MODULES @@ -1 +1 @@ -MOs Pseudo_integrals +MOs Pseudo Utils diff --git a/src/MonoInts/README.rst b/src/MonoInts/README.rst index ac4983a9..c5c8d2af 100644 --- a/src/MonoInts/README.rst +++ b/src/MonoInts/README.rst @@ -5,7 +5,8 @@ Needed Modules .. NEEDED_MODULES file. * `MOs `_ -* `Pseudo_integrals `_ +* `Pseudo `_ +* `Utils `_ Documentation ============= @@ -64,40 +65,49 @@ Documentation `ao_nucl_elec_integral `_ interaction nuclear electron -`ao_nucl_elec_integral_per_atom `_ +`ao_nucl_elec_integral_per_atom `_ ao_nucl_elec_integral_per_atom(i,j,k) = - where Rk is the geometry of the kth atom -`give_polynom_mult_center_mono_elec `_ +`give_polynom_mult_center_mono_elec `_ Undocumented -`i_x1_pol_mult_mono_elec `_ +`i_x1_pol_mult_mono_elec `_ Undocumented -`i_x2_pol_mult_mono_elec `_ +`i_x2_pol_mult_mono_elec `_ Undocumented -`int_gaus_pol `_ +`int_gaus_pol `_ Undocumented -`nai_pol_mult `_ +`nai_pol_mult `_ Undocumented -`v_e_n `_ +`v_e_n `_ Undocumented -`v_phi `_ +`v_phi `_ Undocumented -`v_r `_ +`v_r `_ Undocumented -`v_theta `_ +`v_theta `_ Undocumented -`wallis `_ +`wallis `_ Undocumented +`ao_pseudo_integral `_ + Pseudo-potential + +`ao_pseudo_integral_local `_ + Local pseudo-potential + +`ao_pseudo_integral_non_local `_ + Local pseudo-potential + `mo_nucl_elec_integral `_ interaction nuclear electron on the MO basis diff --git a/src/MonoInts/ao_mono_ints.irp.f b/src/MonoInts/ao_mono_ints.irp.f index 84e46f61..a59ed3df 100644 --- a/src/MonoInts/ao_mono_ints.irp.f +++ b/src/MonoInts/ao_mono_ints.irp.f @@ -7,7 +7,7 @@ BEGIN_PROVIDER [ double precision, ao_mono_elec_integral,(ao_num_align,ao_num)] END_DOC do j = 1, ao_num do i = 1, ao_num - ao_mono_elec_integral(i,j) = ao_nucl_elec_integral(i,j) + ao_kinetic_integral(i,j) + ao_mono_elec_integral(i,j) = ao_nucl_elec_integral(i,j) + ao_kinetic_integral(i,j) + ao_pseudo_integral(i,j) enddo enddo END_PROVIDER diff --git a/src/MonoInts/mo_mono_ints.irp.f b/src/MonoInts/mo_mono_ints.irp.f index 8d8fed6a..714222ec 100644 --- a/src/MonoInts/mo_mono_ints.irp.f +++ b/src/MonoInts/mo_mono_ints.irp.f @@ -7,7 +7,7 @@ BEGIN_PROVIDER [ double precision, mo_mono_elec_integral,(mo_tot_num_align,mo_to END_DOC do j = 1, mo_tot_num do i = 1, mo_tot_num - mo_mono_elec_integral(i,j) = mo_nucl_elec_integral(i,j) + mo_kinetic_integral(i,j) + mo_mono_elec_integral(i,j) = mo_nucl_elec_integral(i,j) + mo_kinetic_integral(i,j) + mo_pseudo_integral(i,j) enddo enddo END_PROVIDER diff --git a/src/MonoInts/pot_ao_ints.irp.f b/src/MonoInts/pot_ao_ints.irp.f index a9e72e57..1e84d3d4 100644 --- a/src/MonoInts/pot_ao_ints.irp.f +++ b/src/MonoInts/pot_ao_ints.irp.f @@ -10,11 +10,7 @@ integer :: i,j,k,l,n_pt_in,m double precision ::overlap_x,overlap_y,overlap_z,overlap,dx,NAI_pol_mult - if (do_pseudo) then - ao_nucl_elec_integral = ao_nucl_elec_integral_pseudo - else - ao_nucl_elec_integral = 0.d0 - endif + ao_nucl_elec_integral = 0.d0 ! _ ! /| / |_) diff --git a/src/Pseudo_integrals/pot_ao_ints_pseudo.irp.f b/src/MonoInts/pot_ao_pseudo_ints.irp.f similarity index 51% rename from src/Pseudo_integrals/pot_ao_ints_pseudo.irp.f rename to src/MonoInts/pot_ao_pseudo_ints.irp.f index e52e7649..26aabd81 100644 --- a/src/Pseudo_integrals/pot_ao_ints_pseudo.irp.f +++ b/src/MonoInts/pot_ao_pseudo_ints.irp.f @@ -1,8 +1,20 @@ - BEGIN_PROVIDER [ double precision, ao_nucl_elec_integral_pseudo, (ao_num_align,ao_num)] - BEGIN_DOC -! interaction nuclear electron - END_DOC - implicit none +BEGIN_PROVIDER [ double precision, ao_pseudo_integral, (ao_num_align,ao_num)] + implicit none + BEGIN_DOC +! Pseudo-potential + END_DOC + if (do_pseudo) then + ao_pseudo_integral = ao_pseudo_integral_local + ao_pseudo_integral_non_local + else + ao_pseudo_integral = 0.d0 + endif +END_PROVIDER + + BEGIN_PROVIDER [ double precision, ao_pseudo_integral_local, (ao_num_align,ao_num)] + implicit none + BEGIN_DOC +! Local pseudo-potential + END_DOC double precision :: alpha, beta, gama, delta integer :: num_A,num_B double precision :: A_center(3),B_center(3),C_center(3) @@ -13,26 +25,8 @@ double precision :: cpu_1, cpu_2, wall_1, wall_2, wall_0 integer :: thread_num - ao_nucl_elec_integral_pseudo = 0.d0 + ao_pseudo_integral_local = 0.d0 - ! - ! | _ _ _. | - ! |_ (_) (_ (_| | - ! - !! Parameters of the local part of pseudo: - -! integer klocmax -! integer, allocatable :: n_k(:,:) -! double precision, allocatable :: v_k(:,:), dz_k(:,:) -! -! call ezfio_get_pseudo_klocmax(klocmax) -! -! allocate(n_k(nucl_num,klocmax),v_k(nucl_num,klocmax), dz_k(nucl_num,klocmax)) -! -! call ezfio_get_pseudo_v_k(v_k) -! call ezfio_get_pseudo_n_k(n_k) -! call ezfio_get_pseudo_dz_k(dz_k) -! !! Dump array integer, allocatable :: n_k_dump(:) double precision, allocatable :: v_k_dump(:), dz_k_dump(:) @@ -40,34 +34,6 @@ allocate(n_k_dump(1:pseudo_klocmax), v_k_dump(1:pseudo_klocmax), dz_k_dump(1:pseudo_klocmax)) - ! - ! |\ | _ ._ | _ _ _. | - ! | \| (_) | | | (_) (_ (_| | - ! - !! Parameters of non local part of pseudo: - -! integer :: kmax,lmax -! integer, allocatable :: n_kl(:,:,:) -! double precision, allocatable :: v_kl(:,:,:), dz_kl(:,:,:) -! -! call ezfio_get_pseudo_lmaxpo(lmax) -! call ezfio_get_pseudo_kmax(kmax) -! !lmax plus one -> lmax -! lmax = lmax - 1 -! -! allocate(n_kl(nucl_num,kmax,0:lmax), v_kl(nucl_num,kmax,0:lmax), dz_kl(nucl_num,kmax,0:lmax)) -! -! call ezfio_get_pseudo_n_kl(n_kl) -! call ezfio_get_pseudo_v_kl(v_kl) -! call ezfio_get_pseudo_dz_kl(dz_kl) -! -! - !! Dump array - integer, allocatable :: n_kl_dump(:,:) - double precision, allocatable :: v_kl_dump(:,:), dz_kl_dump(:,:) - - allocate(n_kl_dump(pseudo_kmax,0:pseudo_lmax), v_kl_dump(pseudo_kmax,0:pseudo_lmax), dz_kl_dump(pseudo_kmax,0:pseudo_lmax)) - ! _ ! / _. | _ | ! \_ (_| | (_ |_| | @@ -82,11 +48,11 @@ !$OMP DEFAULT (NONE) & !$OMP PRIVATE (i,j,k,l,m,alpha,beta,A_center,B_center,C_center,power_A,power_B, & !$OMP num_A,num_B,Z,c,n_pt_in, & - !$OMP v_k_dump,n_k_dump, dz_k_dump, n_kl_dump, v_kl_dump, dz_kl_dump, & + !$OMP v_k_dump,n_k_dump, dz_k_dump, & !$OMP wall_0,wall_2,thread_num, output_monoints) & !$OMP SHARED (ao_num,ao_prim_num,ao_expo_ordered_transp,ao_power,ao_nucl,nucl_coord,ao_coef_normalized_ordered_transp, & - !$OMP ao_nucl_elec_integral_pseudo,nucl_num,nucl_charge, & - !$OMP pseudo_klocmax,pseudo_lmax,pseudo_kmax,pseudo_v_k,pseudo_n_k, pseudo_dz_k, pseudo_n_kl, pseudo_v_kl, pseudo_dz_kl, & + !$OMP ao_pseudo_integral_local,nucl_num,nucl_charge, & + !$OMP pseudo_klocmax,pseudo_lmax,pseudo_kmax,pseudo_v_k,pseudo_n_k, pseudo_dz_k, & !$OMP wall_1) !$OMP DO SCHEDULE (guided) @@ -124,15 +90,8 @@ c = c + Vloc(pseudo_klocmax, v_k_dump,n_k_dump, dz_k_dump, & A_center,power_A,alpha,B_center,power_B,beta,C_center) - - n_kl_dump = pseudo_n_kl(k,1:pseudo_kmax,0:pseudo_lmax) - v_kl_dump = pseudo_v_kl(k,1:pseudo_kmax,0:pseudo_lmax) - dz_kl_dump = pseudo_dz_kl(k,1:pseudo_kmax,0:pseudo_lmax) - - c = c + Vpseudo(pseudo_lmax,pseudo_kmax,v_kl_dump,n_kl_dump,dz_kl_dump,A_center,power_A,alpha,B_center,power_B,beta,C_center) - enddo - ao_nucl_elec_integral_pseudo(i,j) = ao_nucl_elec_integral_pseudo(i,j) + & + ao_pseudo_integral_local(i,j) = ao_pseudo_integral_local(i,j) + & ao_coef_normalized_ordered_transp(l,j)*ao_coef_normalized_ordered_transp(m,i)*c enddo enddo @@ -152,16 +111,113 @@ !$OMP END PARALLEL -! _ -! | \ _ _. | | _ _ _. _|_ _ -! |_/ (/_ (_| | | (_) (_ (_| |_ (/_ -! - -! deallocate(n_k,v_k, dz_k) deallocate(n_k_dump,v_k_dump, dz_k_dump) -! deallocate(n_kl,v_kl, dz_kl) + END_PROVIDER + + + BEGIN_PROVIDER [ double precision, ao_pseudo_integral_non_local, (ao_num_align,ao_num)] + implicit none + BEGIN_DOC +! Local pseudo-potential + END_DOC + double precision :: alpha, beta, gama, delta + integer :: num_A,num_B + double precision :: A_center(3),B_center(3),C_center(3) + integer :: power_A(3),power_B(3) + integer :: i,j,k,l,n_pt_in,m + double precision :: Vloc, Vpseudo + + double precision :: cpu_1, cpu_2, wall_1, wall_2, wall_0 + integer :: thread_num + + ao_pseudo_integral_non_local = 0.d0 + + !! Dump array + integer, allocatable :: n_kl_dump(:,:) + double precision, allocatable :: v_kl_dump(:,:), dz_kl_dump(:,:) + + allocate(n_kl_dump(pseudo_kmax,0:pseudo_lmax), v_kl_dump(pseudo_kmax,0:pseudo_lmax), dz_kl_dump(pseudo_kmax,0:pseudo_lmax)) + + ! _ + ! / _. | _ | + ! \_ (_| | (_ |_| | + ! + + write(output_monoints,*) 'Providing the nuclear electron pseudo integrals ' + + call wall_time(wall_1) + call cpu_time(cpu_1) + + !$OMP PARALLEL & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (i,j,k,l,m,alpha,beta,A_center,B_center,C_center,power_A,power_B, & + !$OMP num_A,num_B,Z,c,n_pt_in, & + !$OMP n_kl_dump, v_kl_dump, dz_kl_dump, & + !$OMP wall_0,wall_2,thread_num, output_monoints) & + !$OMP SHARED (ao_num,ao_prim_num,ao_expo_ordered_transp,ao_power,ao_nucl,nucl_coord,ao_coef_normalized_ordered_transp, & + !$OMP ao_pseudo_integral_non_local,nucl_num,nucl_charge, & + !$OMP pseudo_klocmax,pseudo_lmax,pseudo_kmax,pseudo_n_kl, pseudo_v_kl, pseudo_dz_kl, & + !$OMP wall_1) + + !$OMP DO SCHEDULE (guided) + + do j = 1, ao_num + + num_A = ao_nucl(j) + power_A(1:3)= ao_power(j,1:3) + A_center(1:3) = nucl_coord(num_A,1:3) + + do i = 1, ao_num + + num_B = ao_nucl(i) + power_B(1:3)= ao_power(i,1:3) + B_center(1:3) = nucl_coord(num_B,1:3) + + do l=1,ao_prim_num(j) + alpha = ao_expo_ordered_transp(l,j) + + do m=1,ao_prim_num(i) + beta = ao_expo_ordered_transp(m,i) + double precision :: c + c = 0.d0 + + do k = 1, nucl_num + double precision :: Z + Z = nucl_charge(k) + + C_center(1:3) = nucl_coord(k,1:3) + + n_kl_dump = pseudo_n_kl(k,1:pseudo_kmax,0:pseudo_lmax) + v_kl_dump = pseudo_v_kl(k,1:pseudo_kmax,0:pseudo_lmax) + dz_kl_dump = pseudo_dz_kl(k,1:pseudo_kmax,0:pseudo_lmax) + + c = c + Vpseudo(pseudo_lmax,pseudo_kmax,v_kl_dump,n_kl_dump,dz_kl_dump,A_center,power_A,alpha,B_center,power_B,beta,C_center) + + enddo + ao_pseudo_integral_non_local(i,j) = ao_pseudo_integral_non_local(i,j) + & + ao_coef_normalized_ordered_transp(l,j)*ao_coef_normalized_ordered_transp(m,i)*c + enddo + enddo + enddo + + call wall_time(wall_2) + if (thread_num == 0) then + if (wall_2 - wall_0 > 1.d0) then + wall_0 = wall_2 + write(output_monoints,*) 100.*float(j)/float(ao_num), '% in ', & + wall_2-wall_1, 's' + endif + endif + enddo + + !$OMP END DO + !$OMP END PARALLEL + + deallocate(n_kl_dump,v_kl_dump, dz_kl_dump) -END_PROVIDER + END_PROVIDER + + diff --git a/src/MonoInts/pot_mo_pseudo_ints.irp.f b/src/MonoInts/pot_mo_pseudo_ints.irp.f new file mode 100644 index 00000000..b6851f21 --- /dev/null +++ b/src/MonoInts/pot_mo_pseudo_ints.irp.f @@ -0,0 +1,32 @@ +BEGIN_PROVIDER [double precision, mo_pseudo_integral, (mo_tot_num_align,mo_tot_num)] + implicit none + integer :: i1,j1,i,j + double precision :: c_i1,c_j1 + BEGIN_DOC + ! interaction nuclear electron on the MO basis + END_DOC + + mo_pseudo_integral = 0.d0 + + if (.not.do_pseudo) then + return + endif + !$OMP PARALLEL DO DEFAULT(none) & + !$OMP PRIVATE(i,j,i1,j1,c_j1,c_i1) & + !$OMP SHARED(mo_tot_num,ao_num,mo_coef, & + !$OMP mo_pseudo_integral, ao_pseudo_integral) + do i = 1, mo_tot_num + do j = 1, mo_tot_num + do i1 = 1,ao_num + c_i1 = mo_coef(i1,i) + do j1 = 1,ao_num + c_j1 = c_i1*mo_coef(j1,j) + mo_pseudo_integral(j,i) = mo_pseudo_integral(j,i) + & + c_j1 * ao_pseudo_integral(j1,i1) + enddo + enddo + enddo + enddo + !$OMP END PARALLEL DO +END_PROVIDER + diff --git a/src/Pseudo_integrals/int.f90 b/src/MonoInts/pseudopot.f90 similarity index 99% rename from src/Pseudo_integrals/int.f90 rename to src/MonoInts/pseudopot.f90 index 4eb9d2ae..0cea5f66 100644 --- a/src/Pseudo_integrals/int.f90 +++ b/src/MonoInts/pseudopot.f90 @@ -1003,11 +1003,11 @@ end double precision function crochet(n,g) implicit none integer n -double precision g,pi,dble_fact,expo -pi=dacos(-1.d0) +double precision g,dble_fact,expo +double precision, parameter :: sq_pi_ov_2=dsqrt(dacos(-1.d0)*0.5d0) expo=0.5d0*dfloat(n+1) crochet=dble_fact(n-1)/(2.d0*g)**expo -if(mod(n,2).eq.0)crochet=crochet*dsqrt(pi/2.d0) +if(mod(n,2).eq.0)crochet=crochet*sq_pi_ov_2 end !! @@ -2043,10 +2043,10 @@ double precision function int_prod_bessel_loc(l,gam,n,a) int=0 ! Int f_0 - coef_nk=1.d0/dble_fact(2*n+1) + coef_nk=1.d0/dble_fact( n+n+1 ) expo=0.5d0*dfloat(n+l+1) crochet=dble_fact(n+l-1)/(2.d0*gam)**expo - if(mod(n+l,2).eq.0)crochet=crochet*dsqrt(pi/2.d0) + if(mod(n+l,2).eq.0)crochet=crochet*dsqrt(0.5d0*pi) f_0 = coef_nk*a**n*crochet diff --git a/src/NEEDED_MODULES b/src/NEEDED_MODULES index 4fc01a26..a7123016 100644 --- a/src/NEEDED_MODULES +++ b/src/NEEDED_MODULES @@ -1 +1 @@ -AOs Bielec_integrals Bitmask CID CID_SC2_selected CID_selected CIS CISD CISD_selected CISD_SC2_selected Determinants Electrons Ezfio_files Full_CI Generators_full Hartree_Fock MOGuess MonoInts MOs MP2 Nuclei Output Selectors_full Utils Molden FCIdump Generators_CAS CAS_SD DDCI_selected MRCC Pseudo_integrals Pseudo +AOs Bielec_integrals Bitmask CAS_SD CID CID_SC2_selected CID_selected CIS CISD CISD_SC2_selected CISD_selected DDCI_selected Determinants Electrons Ezfio_files FCIdump Full_CI Generators_CAS Generators_full Hartree_Fock MOGuess Molden MonoInts MOs MP2 MRCC Nuclei Pseudo Selectors_full Utils diff --git a/src/Nuclei/NEEDED_CHILDREN_MODULES b/src/Nuclei/NEEDED_CHILDREN_MODULES index 83260f86..d9eaf57c 100644 --- a/src/Nuclei/NEEDED_CHILDREN_MODULES +++ b/src/Nuclei/NEEDED_CHILDREN_MODULES @@ -1 +1 @@ -Output +Ezfio_files diff --git a/src/Nuclei/README.rst b/src/Nuclei/README.rst index aaad706d..12832785 100644 --- a/src/Nuclei/README.rst +++ b/src/Nuclei/README.rst @@ -12,7 +12,7 @@ Needed Modules .. Do not edit this section. It was auto-generated from the .. NEEDED_MODULES file. -* `Output `_ +* `Ezfio_files `_ Documentation ============= diff --git a/src/Output/ASSUMPTIONS.rst b/src/Output/ASSUMPTIONS.rst deleted file mode 100644 index e69de29b..00000000 diff --git a/src/Output/Makefile b/src/Output/Makefile deleted file mode 100644 index 06dc50ff..00000000 --- a/src/Output/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# Define here all new external source files and objects.Don't forget to prefix the -# object files with IRPF90_temp/ -SRC= -OBJ= - -include $(QPACKAGE_ROOT)/src/Makefile.common diff --git a/src/Output/NEEDED_CHILDREN_MODULES b/src/Output/NEEDED_CHILDREN_MODULES deleted file mode 100644 index dcdb5f86..00000000 --- a/src/Output/NEEDED_CHILDREN_MODULES +++ /dev/null @@ -1 +0,0 @@ -Ezfio_files Utils diff --git a/src/Output/README.rst b/src/Output/README.rst deleted file mode 100644 index 5fe93f50..00000000 --- a/src/Output/README.rst +++ /dev/null @@ -1,62 +0,0 @@ -============= -Output Module -============= - -This module deals with the program I/O in log files. -All output should be printed using routines present in this module. - - - - - - - - - - - - - - - - - - - - - -Needed Modules -============== - -.. Do not edit this section. It was auto-generated from the -.. NEEDED_MODULES file. - -* `Ezfio_files `_ -* `Utils `_ - -Documentation -============= - -.. Do not edit this section. It was auto-generated from the -.. NEEDED_MODULES file. - -`output_cpu_time_0 `_ - Initial CPU and wall times when printing in the output files - -`output_wall_time_0 `_ - Initial CPU and wall times when printing in the output files - -`write_bool `_ - Write an logical value in output - -`write_double `_ - Write a double precision value in output - -`write_int `_ - Write an integer value in output - -`write_time `_ - Write a time stamp in the output for chronological reconstruction - - - diff --git a/src/Output/output.ezfio_config b/src/Output/output.ezfio_config deleted file mode 100644 index 9e90e610..00000000 --- a/src/Output/output.ezfio_config +++ /dev/null @@ -1,3 +0,0 @@ -output - empty logical - diff --git a/src/Pseudo/EZFIO.cfg b/src/Pseudo/EZFIO.cfg index bf6714b4..8a6afa2c 100644 --- a/src/Pseudo/EZFIO.cfg +++ b/src/Pseudo/EZFIO.cfg @@ -48,3 +48,10 @@ doc: test type: double precision interface: input_without_default size: (nuclei.nucl_num,pseudo.pseudo_kmax,0:pseudo.pseudo_lmax) + +[do_pseudo] +type: logical +doc: Using pseudo potential integral of not +interface: input +default: False + diff --git a/src/Pseudo/NEEDED_CHILDREN_MODULES b/src/Pseudo/NEEDED_CHILDREN_MODULES index f0a037a2..d9eaf57c 100644 --- a/src/Pseudo/NEEDED_CHILDREN_MODULES +++ b/src/Pseudo/NEEDED_CHILDREN_MODULES @@ -1 +1 @@ -Output Ezfio_files +Ezfio_files diff --git a/src/Pseudo/README.rst b/src/Pseudo/README.rst index a54a2d86..4d86052e 100644 --- a/src/Pseudo/README.rst +++ b/src/Pseudo/README.rst @@ -16,6 +16,5 @@ Needed Modules .. Do not edit this section. It was auto-generated from the .. NEEDED_MODULES file. -* `Output `_ * `Ezfio_files `_ diff --git a/src/Pseudo_integrals/ASSUMPTIONS.rst b/src/Pseudo_integrals/ASSUMPTIONS.rst deleted file mode 100644 index e69de29b..00000000 diff --git a/src/Pseudo_integrals/EZFIO.cfg b/src/Pseudo_integrals/EZFIO.cfg deleted file mode 100644 index f56bc325..00000000 --- a/src/Pseudo_integrals/EZFIO.cfg +++ /dev/null @@ -1,5 +0,0 @@ -[do_pseudo] -type: logical -doc: Using pseudo potential integral of not -interface: input -default: False \ No newline at end of file diff --git a/src/Pseudo_integrals/Makefile b/src/Pseudo_integrals/Makefile deleted file mode 100644 index 5cf11b78..00000000 --- a/src/Pseudo_integrals/Makefile +++ /dev/null @@ -1,6 +0,0 @@ -# Define here all new external source files and objects.Don't forget to prefix the -# object files with IRPF90_temp/ -SRC=int.f90 -OBJ=IRPF90_temp/int.o - -include $(QPACKAGE_ROOT)/src/Makefile.common diff --git a/src/Pseudo_integrals/NEEDED_CHILDREN_MODULES b/src/Pseudo_integrals/NEEDED_CHILDREN_MODULES deleted file mode 100644 index 4ac9b92b..00000000 --- a/src/Pseudo_integrals/NEEDED_CHILDREN_MODULES +++ /dev/null @@ -1 +0,0 @@ -AOs Electrons Pseudo diff --git a/src/Pseudo_integrals/README.rst b/src/Pseudo_integrals/README.rst deleted file mode 100644 index 58df7850..00000000 --- a/src/Pseudo_integrals/README.rst +++ /dev/null @@ -1,25 +0,0 @@ -======================= -Pseudo_integrals Module -======================= - -Documentation -============= - -.. Do not edit this section. It was auto-generated from the -.. NEEDED_MODULES file. - -`ao_nucl_elec_integral_pseudo `_ - interaction nuclear electron - - - -Needed Modules -============== - -.. Do not edit this section. It was auto-generated from the -.. NEEDED_MODULES file. - -* `AOs `_ -* `Electrons `_ -* `Pseudo `_ - diff --git a/src/Utils/README.rst b/src/Utils/README.rst index ff16f3ed..e36ab45e 100644 --- a/src/Utils/README.rst +++ b/src/Utils/README.rst @@ -242,7 +242,7 @@ Documentation `align_double `_ Compute 1st dimension such that it is aligned for vectorization. -`approx_dble `_ +`approx_dble `_ Undocumented `binom `_ @@ -257,10 +257,16 @@ Documentation `binom_transp `_ Binomial coefficients -`dble_fact `_ +`dble_fact `_ + Undocumented + +`dble_fact_even `_ n!! -`dble_logfact `_ +`dble_fact_odd `_ + n!! + +`dble_logfact `_ n!! `fact `_ @@ -269,29 +275,29 @@ Documentation `fact_inv `_ 1/n! -`inv_int `_ +`inv_int `_ 1/i `logfact `_ n! -`normalize `_ +`normalize `_ Normalizes vector u u is expected to be aligned in memory. -`nproc `_ +`nproc `_ Number of current OpenMP threads -`u_dot_u `_ +`u_dot_u `_ Compute -`u_dot_v `_ +`u_dot_v `_ Compute -`wall_time `_ +`wall_time `_ The equivalent of cpu_time, but for the wall time. -`write_git_log `_ +`write_git_log `_ Write the last git commit in file iunit. diff --git a/src/Utils/util.irp.f b/src/Utils/util.irp.f index 7a78ad59..705f4f7b 100644 --- a/src/Utils/util.irp.f +++ b/src/Utils/util.irp.f @@ -138,21 +138,21 @@ END_PROVIDER double precision function dble_fact(n) implicit none integer :: n - double precision :: dble_fact_peer, dble_fact_odd + double precision :: dble_fact_even, dble_fact_odd dble_fact = 1.d0 if(n.lt.0) return if(iand(n,1).eq.0)then - dble_fact = dble_fact_peer(n) + dble_fact = dble_fact_even(n) else dble_fact= dble_fact_odd(n) endif end function -double precision function dble_fact_peer(n) result(fact2) +double precision function dble_fact_even(n) result(fact2) implicit none BEGIN_DOC ! n!! diff --git a/tests/unit_test/unit_test.py b/tests/unit_test/unit_test.py index 23e831ec..38de3815 100755 --- a/tests/unit_test/unit_test.py +++ b/tests/unit_test/unit_test.py @@ -199,7 +199,7 @@ def run_hf(geo, basis, mult=1, pseudo=False, remove_after_sucess=True): ezfio.hartree_fock_thresh_scf = 1.e-10 ezfio.hartree_fock_n_it_scf_max = 100 - ezfio.pseudo_integrals_do_pseudo = pseudo + ezfio.pseudo_do_pseudo = pseudo # ~#~#~ # # R u n #