From 6ddbed870e99a20c13158bbb758b0f0b9b9d0749 Mon Sep 17 00:00:00 2001 From: TApplencourt Date: Wed, 17 Feb 2016 21:34:17 +0100 Subject: [PATCH 01/24] Test travis --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index f451f1d6..cd302771 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,6 +23,7 @@ python: - "2.6" script: + - cd tests ; bats bats/qp.bats - ./configure --production ./config/gfortran.cfg - source ./quantum_package.rc ; qp_module.py install Full_CI Hartree_Fock CAS_SD MRCC_CASSD - source ./quantum_package.rc ; ninja From d562bc83cb3390ff0590f404ed30b70dcf082df9 Mon Sep 17 00:00:00 2001 From: TApplencourt Date: Wed, 17 Feb 2016 21:35:33 +0100 Subject: [PATCH 02/24] Test travis --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index cd302771..5793478c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,8 +23,8 @@ python: - "2.6" script: - - cd tests ; bats bats/qp.bats - ./configure --production ./config/gfortran.cfg + - source ./quantum_package.rc ; cd tests ; bats bats/qp.bats - source ./quantum_package.rc ; qp_module.py install Full_CI Hartree_Fock CAS_SD MRCC_CASSD - source ./quantum_package.rc ; ninja - source ./quantum_package.rc ; cd ocaml ; make ; cd - From 6171d5c204796b15a1bab1f8f672962b66a485b7 Mon Sep 17 00:00:00 2001 From: TApplencourt Date: Tue, 1 Mar 2016 15:41:41 +0100 Subject: [PATCH 03/24] Transform +/- -> 10 --- .travis.yml | 1 - ocaml/qp_edit.ml | 24 +++--- ocaml/qp_print_basis.ml | 21 ++++- .../qmcpack/qp_convert_qmcpack_to_ezfio.py | 76 ++++++++++--------- scripts/compilation/qp_create_ninja.py | 6 +- src/AO_Basis/aos.irp.f | 11 ++- src/Integrals_Bielec/ao_bi_integrals.irp.f | 17 ++++- 7 files changed, 100 insertions(+), 56 deletions(-) diff --git a/.travis.yml b/.travis.yml index 5793478c..f451f1d6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -24,7 +24,6 @@ python: script: - ./configure --production ./config/gfortran.cfg - - source ./quantum_package.rc ; cd tests ; bats bats/qp.bats - source ./quantum_package.rc ; qp_module.py install Full_CI Hartree_Fock CAS_SD MRCC_CASSD - source ./quantum_package.rc ; ninja - source ./quantum_package.rc ; cd ocaml ; make ; cd - diff --git a/ocaml/qp_edit.ml b/ocaml/qp_edit.ml index a693aa2f..5b5ff95b 100644 --- a/ocaml/qp_edit.ml +++ b/ocaml/qp_edit.ml @@ -18,9 +18,9 @@ type keyword = | Mo_basis | Nuclei | Determinants -| Integrals_bielec -| Pseudo | Perturbation +| Pseudo +| Integrals_bielec | Properties | Hartree_fock ;; @@ -33,9 +33,9 @@ let keyword_to_string = function | Mo_basis -> "MO basis" | Nuclei -> "Molecule" | Determinants -> "Determinants" -| Integrals_bielec -> "Integrals_bielec" -| Pseudo -> "Pseudo" | Perturbation -> "Perturbation" +| Pseudo -> "Pseudo" +| Integrals_bielec -> "Integrals_bielec" | Properties -> "Properties" | Hartree_fock -> "Hartree_fock" ;; @@ -88,12 +88,12 @@ let get s = f Determinants_by_hand.(read, to_rst) | Determinants -> f Determinants.(read, to_rst) - | Integrals_bielec -> - f Integrals_bielec.(read, to_rst) - | Pseudo -> - f Pseudo.(read, to_rst) | Perturbation -> f Perturbation.(read, to_rst) + | Pseudo -> + f Pseudo.(read, to_rst) + | Integrals_bielec -> + f Integrals_bielec.(read, to_rst) | Properties -> f Properties.(read, to_rst) | Hartree_fock -> @@ -136,9 +136,9 @@ let set str s = let open Input in match s with | Determinants -> write Determinants.(of_rst, write) s - | Integrals_bielec -> write Integrals_bielec.(of_rst, write) s - | Pseudo -> write Pseudo.(of_rst, write) s | Perturbation -> write Perturbation.(of_rst, write) s + | Pseudo -> write Pseudo.(of_rst, write) s + | Integrals_bielec -> write Integrals_bielec.(of_rst, write) s | Properties -> write Properties.(of_rst, write) s | Hartree_fock -> write Hartree_fock.(of_rst, write) s | Electrons -> write Electrons.(of_rst, write) s @@ -189,9 +189,9 @@ let run check_only ezfio_filename = Ao_basis; Electrons ; Determinants ; - Integrals_bielec ; - Pseudo ; Perturbation ; + Pseudo ; + Integrals_bielec ; Properties ; Hartree_fock ; Mo_basis; diff --git a/ocaml/qp_print_basis.ml b/ocaml/qp_print_basis.ml index 3a481c21..16a2f721 100644 --- a/ocaml/qp_print_basis.ml +++ b/ocaml/qp_print_basis.ml @@ -35,7 +35,26 @@ let mo () = |> print_endline +let psi_det () = + let ezfio_filename = + Sys.argv.(1) + in + if (not (Sys.file_exists_exn ezfio_filename)) then + failwith "Error reading EZFIO file"; + Ezfio.set_file ezfio_filename; + let psi_det = + match Input.Determinants_by_hand.read () with + | Some psi_det -> psi_det + | _ -> failwith "Error reading the mo set" + in + Input.Determinants_by_hand.to_rst psi_det + |> Rst_string.to_string + |> print_endline + + + let () = basis (); - mo () + mo (); + psi_det (); diff --git a/plugins/qmcpack/qp_convert_qmcpack_to_ezfio.py b/plugins/qmcpack/qp_convert_qmcpack_to_ezfio.py index 9349b9e2..35e00ce1 100755 --- a/plugins/qmcpack/qp_convert_qmcpack_to_ezfio.py +++ b/plugins/qmcpack/qp_convert_qmcpack_to_ezfio.py @@ -17,7 +17,7 @@ ezfio.set_file(ezfio_path) do_pseudo = ezfio.get_pseudo_do_pseudo() if do_pseudo: print "do_pseudo True" - zcore = ezfio.get_pseudo_nucl_charge_remove() + print "The charge of nucl will be decreasced for taking into acount the pseudo potentiel" else: print "do_pseudo False" @@ -68,11 +68,7 @@ print "nucl_num", len(l_label) print "Atomic coord in Bohr" for i, t in enumerate(zip(l_label, l_charge, l_coord_str)): - try: - l = (t[0], t[1] + zcore[i], t[2]) - except NameError: - l = t - print list_to_string(l) + print list_to_string(t) # # Call externet process to get the sysmetry @@ -83,7 +79,8 @@ process = subprocess.Popen( stdout=subprocess.PIPE) out, err = process.communicate() -basis_raw, sym_raw, _= out.split("\n\n\n") +print len(out.split("\n\n\n")) +basis_raw, sym_raw, _ , det_raw, _ = out.split("\n\n\n") # _ __ # |_) _. _ o _ (_ _ _|_ @@ -175,6 +172,9 @@ def get_nb_permutation(str_): def order_l_l_sym(l_l_sym): + + l_order_mo = [i for i,_ in enumerate(l_l_sym)] + n = 1 for i in range(len(l_l_sym)): if n != 1: @@ -184,11 +184,11 @@ def order_l_l_sym(l_l_sym): l = l_l_sym[i] n = get_nb_permutation(l[2]) - l_l_sym[i:i + n] = sorted(l_l_sym[i:i + n], - key=lambda x: x[2], - cmp=compare_gamess_style) + l_l_sym[i:i + n], l_order_mo[i:i+n] = zip(*sorted(zip(l_l_sym[i:i + n],l_order_mo[i:i+n]), + key=lambda x: x[0][2], + cmp=compare_gamess_style)) - return l_l_sym + return l_l_sym, l_order_mo #========================== @@ -197,8 +197,13 @@ def order_l_l_sym(l_l_sym): l_sym_without_header = sym_raw.split("\n")[3:-2] l_l_sym_raw = [i.split() for i in l_sym_without_header] +print len(l_l_sym_raw) + l_l_sym_expend_sym = expend_sym_l(l_l_sym_raw) -l_l_sym_ordered = order_l_l_sym(l_l_sym_expend_sym) +print len(l_l_sym_expend_sym) + +l_l_sym_ordered, l_order_mo = order_l_l_sym(l_l_sym_expend_sym) + #======== #MO COEF @@ -305,8 +310,8 @@ if do_pseudo: if l_dump: l_str.append(l_dump) - str_ = "PARAMETERS FOR {0} ON ATOM {1} WITH ZCORE {2} AND LMAX {3} ARE" - print str_.format(a, i + 1, int(zcore[i]), int(len(l_str) - 1)) + str_ = "PARAMETERS FOR {0} ON ATOM {1} WITH ZCORE -1 AND LMAX {2} ARE" + print str_.format(a, i + 1, int(len(l_str) - 1)) for i, l in enumerate(l_str): str_ = "FOR L= {0} COEFF N ZETA" @@ -314,8 +319,7 @@ if do_pseudo: for ii, ll in enumerate(l): print " ", ii + 1, ll - str_ = "THE ECP RUN REMOVES {0} CORE ELECTRONS, AND THE SAME NUMBER OF PROTONS." - print str_.format(sum(zcore)) + str_ = "THE ECP RUN REMOVES -1 CORE ELECTRONS, AND THE SAME NUMBER OF PROTONS." print "END_PSEUDO" # _ @@ -329,31 +333,29 @@ print "mo_num", mo_num print "det_num", n_det print "" -psi_det = ezfio.get_determinants_psi_det() -psi_coef = ezfio.get_determinants_psi_coef()[0] -for c, (l_det_bit_alpha, l_det_bit_beta) in zip(psi_coef, psi_det): - print c - bin_det = "" - for i,int_det in enumerate(l_det_bit_alpha): - bin_det_raw = "{0:b}".format(int_det)[::-1] - if mo_num - 64*(i+1) > 0: - bin_det += bin_det_raw + "0" * (64*(i+1) - len(bin_det_raw)) - else: - bin_det += bin_det_raw + "0" * (mo_num-64*i - len(bin_det_raw)) +token = "Determinants ::" +pos = det_raw.rfind(token) + len(token) - print bin_det +d_rep={"+":"1","-":"0"} - bin_det = "" - for i,int_det in enumerate(l_det_bit_beta): - bin_det_raw = "{0:b}".format(int_det)[::-1] - if mo_num - 64*(i+1) > 0: - bin_det += bin_det_raw + "0" * (64*(i+1) - len(bin_det_raw)) - else: - bin_det += bin_det_raw + "0" * (mo_num-64*i - len(bin_det_raw)) +det_without_header = det_raw[pos+2::] - print bin_det - print "" +for line_raw in det_without_header.split("\n"): + line = line_raw + + if line_raw: + try: + float(line) + except ValueError: + print line_raw.strip(), len(line_raw.strip()) + print l_order_mo, len(l_order_mo) + + line_order = [line_raw[i] for i in l_order_mo] + line= "".join([d_rep[x] if x in d_rep else x for x in line_order]) + + print line print "END_DET" + diff --git a/scripts/compilation/qp_create_ninja.py b/scripts/compilation/qp_create_ninja.py index d089e76b..a742f7da 100755 --- a/scripts/compilation/qp_create_ninja.py +++ b/scripts/compilation/qp_create_ninja.py @@ -38,6 +38,7 @@ from qp_path import QP_ROOT, QP_SRC, QP_EZFIO LIB = "" # join(QP_ROOT, "lib", "rdtsc.o") EZFIO_LIB = join(QP_ROOT, "lib", "libezfio_irp.a") ZMQ_LIB = join(QP_ROOT, "lib", "libf77zmq.a") + " " + join(QP_ROOT, "lib", "libzmq.a") + " -lstdc++ -lrt" +INT_LIB = "/home/razoa/libint/libint-2.1.0-beta2/lib/.libs/libint2.a" ROOT_BUILD_NINJA = join(QP_ROOT, "config", "build.ninja") header = r"""# @@ -96,7 +97,8 @@ def ninja_create_env_variable(pwd_config_file): l_string.append(str_) lib_lapack = get_compilation_option(pwd_config_file, "LAPACK_LIB") - l_string.append("LIB = {0} {1} {2} {3}".format(LIB, lib_lapack, EZFIO_LIB, ZMQ_LIB)) + str_lib = " ".join([LIB, lib_lapack, EZFIO_LIB, ZMQ_LIB, INT_LIB]) + l_string.append("LIB = {0} ".format(str_lib)) l_string.append("") @@ -387,6 +389,8 @@ def get_l_file_for_module(path_module): l_src.append(f) obj = '{0}.o'.format(os.path.splitext(f)[0]) l_obj.append(obj) + elif f.lower().endswith(".o"): + l_obj.append(join(path_module.abs, f)) elif f == "EZFIO.cfg": l_depend.append(join(path_module.abs, "ezfio_interface.irp.f")) diff --git a/src/AO_Basis/aos.irp.f b/src/AO_Basis/aos.irp.f index 341d1453..04c90ca7 100644 --- a/src/AO_Basis/aos.irp.f +++ b/src/AO_Basis/aos.irp.f @@ -54,6 +54,13 @@ END_PROVIDER ao_coef_normalized(i,j) = ao_coef_normalized(i,j) * ao_coef_normalization_factor(i) enddo enddo + +! do i=1,ao_num +! do j=1,ao_prim_num(i) +! ao_coef_normalized(i,j) = ao_coef(i,j) +! enddo +! enddo + END_PROVIDER BEGIN_PROVIDER [ double precision, ao_coef_normalized_ordered, (ao_num_align,ao_prim_num_max) ] @@ -72,8 +79,8 @@ END_PROVIDER d(j,1) = ao_expo(i,j) d(j,2) = ao_coef_normalized(i,j) enddo - call dsort(d(1,1),iorder,ao_prim_num(i)) - call dset_order(d(1,2),iorder,ao_prim_num(i)) +! call dsort(d(1,1),iorder,ao_prim_num(i)) +! call dset_order(d(1,2),iorder,ao_prim_num(i)) do j=1,ao_prim_num(i) ao_expo_ordered(i,j) = d(j,1) ao_coef_normalized_ordered(i,j) = d(j,2) diff --git a/src/Integrals_Bielec/ao_bi_integrals.irp.f b/src/Integrals_Bielec/ao_bi_integrals.irp.f index 07416e61..7586c8fd 100644 --- a/src/Integrals_Bielec/ao_bi_integrals.irp.f +++ b/src/Integrals_Bielec/ao_bi_integrals.irp.f @@ -4,6 +4,12 @@ double precision function ao_bielec_integral(i,j,k,l) ! integral of the AO basis or (ij|kl) ! i(r1) j(r1) 1/r12 k(r2) l(r2) END_DOC + + ! use libint_module + ! call init_libint(trim(ezfio_filename)//char(0)) + ! ao_bielec_integral = ao_bielec_integral_libint(i,j,k,l) + ! return + integer,intent(in) :: i,j,k,l integer :: p,q,r,s double precision :: I_center(3),J_center(3),K_center(3),L_center(3) @@ -288,11 +294,18 @@ end subroutine compute_ao_bielec_integrals(j,k,l,sze,buffer_value) implicit none use map_module - + use libint_module + BEGIN_DOC ! Compute AO 1/r12 integrals for all i and fixed j,k,l END_DOC - + +! include 'Utils/constants.include.F' +! integer, intent(in) :: j,k,l,sze +! real(integral_kind), intent(out) :: buffer_value(sze) +! +! call compute_ao_bielec_integrals_libint(j,k,l,sze,buffer_value) + include 'Utils/constants.include.F' integer, intent(in) :: j,k,l,sze real(integral_kind), intent(out) :: buffer_value(sze) From ca49adfa896bf2cd41b77b6b181246766da80e3a Mon Sep 17 00:00:00 2001 From: TApplencourt Date: Fri, 4 Mar 2016 18:29:59 +0100 Subject: [PATCH 04/24] First try of libint --- plugins/Hartree_Fock/debug_libinit.irp.f | 118 +++++++++++++++++++++++ src/AO_Basis/aos.irp.f | 16 +-- src/Integrals_Bielec/libint_module.f90 | 51 ++++++++++ 3 files changed, 174 insertions(+), 11 deletions(-) create mode 100644 plugins/Hartree_Fock/debug_libinit.irp.f create mode 100644 src/Integrals_Bielec/libint_module.f90 diff --git a/plugins/Hartree_Fock/debug_libinit.irp.f b/plugins/Hartree_Fock/debug_libinit.irp.f new file mode 100644 index 00000000..44b6b8f7 --- /dev/null +++ b/plugins/Hartree_Fock/debug_libinit.irp.f @@ -0,0 +1,118 @@ + program debug_libint + use libint_module + + implicit none + double precision :: ao_bielec_integral + + integer, allocatable :: s2bf(:) + double precision, allocatable :: buffer_int(:) + + call init_libint(trim(ezfio_filename)//char(0)) + + integer :: nb_shell_f + nb_shell_f = get_nb_shell() + + allocate(s2bf(2*nb_shell_f)) + call map_shell_to_basis_function_interval(2*nb_shell_f,s2bf) + + integer :: s1, s2,s3,s4 + integer :: bf1,bf2,bf3,bf4 + integer :: bf1_begin,bf2_begin,bf3_begin,bf4_begin + integer :: bf1_end,bf2_end,bf3_end,bf4_end + integer :: n1,n2,n3,n4 + integer :: f1,f2,f3,f4,f1234 + + ! =================== ! + ! Loop over the shell ! + ! =================== ! + + do s1 = 1, nb_shell_f + + print*, s1, "/", nb_shell_f + + bf1_begin = s2bf(2*s1-1) + bf1_end = s2bf(2*s1) + n1 = 1 + bf1_end - bf1_begin + + do s2 = 1, nb_shell_f + + bf2_begin = s2bf(2*s2-1) + bf2_end = s2bf(2*s2) + n2 = 1 + bf2_end - bf2_begin + + do s3 = 1, nb_shell_f + + bf3_begin = s2bf(2*s3-1) + bf3_end = s2bf(2*s3) + n3 = 1 + bf3_end - bf3_begin + + do s4 = 1, nb_shell_f + + bf4_begin = s2bf(2*s4-1) + bf4_end = s2bf(2*s4) + n4 = 1 + bf4_end - bf4_begin + + ! ========================== ! + ! Compute the shell integral ! + ! ========================== ! + integer :: sze + sze = n1*n2*n3*n4 + allocate(buffer_int(sze)) + call compute_ao_bielec_integrals_shell(s1,s2,s3,s4,sze,buffer_int) + + ! ============================ ! + ! Loop over the basis function ! + ! ============================ ! + + do bf1 = bf1_begin, bf1_end + do bf2 = bf2_begin, bf2_end + do bf3 = bf3_begin, bf3_end + do bf4 = bf4_begin, bf4_end + + f1 = bf1 - bf1_begin + f2 = bf2 - bf2_begin + f3 = bf3 - bf3_begin + f4 = bf4 - bf4_begin + + !Get the integral from the buffer + f1234 = f1*n2*n3*n4+f2*n3*n4+f3*n4+f4 + 1; + + !Compute the norm + double precision:: coef1, coef2, coef3, coef4, norm + + coef1 = ao_coef_normalization_factor(bf1) + coef2 = ao_coef_normalization_factor(bf2) + coef3 = ao_coef_normalization_factor(bf3) + coef4 = ao_coef_normalization_factor(bf4) + norm = coef1*coef2*coef3*coef4 + + double precision:: libint, ref + + !Value of itegral bf1,bf2,bf3, bf4 + libint = buffer_int(f1234) * norm + + !Verify with the manu's one +! ref = ao_bielec_integral(bf1,bf2,bf3,bf4) +! +! if ( (ABS(ABS(ref) - ABS(libint)).GE.1e-6) ) THEN +! print*, bf1,bf2,bf3,bf4 +! print*, ref +! print*, libint +! call exit(1) +! end if + + enddo + enddo + enddo + enddo + + !Deallocate the buffer_intergral for the shell + deallocate(buffer_int) + + enddo + enddo + enddo + enddo + + call finalize_libint() + end debug_libint diff --git a/src/AO_Basis/aos.irp.f b/src/AO_Basis/aos.irp.f index 04c90ca7..793a7e2c 100644 --- a/src/AO_Basis/aos.irp.f +++ b/src/AO_Basis/aos.irp.f @@ -34,9 +34,9 @@ END_PROVIDER C_A(3) = 0.d0 ao_coef_normalized = 0.d0 do i=1,ao_num - powA(1) = ao_power(i,1) - powA(2) = ao_power(i,2) - powA(3) = ao_power(i,3) + powA(1) = ao_l(i) + powA(2) = 0 + powA(3) = 0 do j=1,ao_prim_num(i) call overlap_gaussian_xyz(C_A,C_A,ao_expo(i,j),ao_expo(i,j),powA,powA,overlap_x,overlap_y,overlap_z,norm,nz) ao_coef_normalized(i,j) = ao_coef(i,j)/sqrt(norm) @@ -55,12 +55,6 @@ END_PROVIDER enddo enddo -! do i=1,ao_num -! do j=1,ao_prim_num(i) -! ao_coef_normalized(i,j) = ao_coef(i,j) -! enddo -! enddo - END_PROVIDER BEGIN_PROVIDER [ double precision, ao_coef_normalized_ordered, (ao_num_align,ao_prim_num_max) ] @@ -79,8 +73,8 @@ END_PROVIDER d(j,1) = ao_expo(i,j) d(j,2) = ao_coef_normalized(i,j) enddo -! call dsort(d(1,1),iorder,ao_prim_num(i)) -! call dset_order(d(1,2),iorder,ao_prim_num(i)) + call dsort(d(1,1),iorder,ao_prim_num(i)) + call dset_order(d(1,2),iorder,ao_prim_num(i)) do j=1,ao_prim_num(i) ao_expo_ordered(i,j) = d(j,1) ao_coef_normalized_ordered(i,j) = d(j,2) diff --git a/src/Integrals_Bielec/libint_module.f90 b/src/Integrals_Bielec/libint_module.f90 new file mode 100644 index 00000000..2cedf283 --- /dev/null +++ b/src/Integrals_Bielec/libint_module.f90 @@ -0,0 +1,51 @@ +module libint_module + use iso_c_binding + + implicit none + interface + subroutine init_libint(str) bind(c,name='init_libint') + import :: c_char + character(len=1,kind=C_char), dimension(*), intent(in) :: str + end subroutine + + integer(c_int) function get_nb_shell() bind(c,name='nb_shell') + import :: c_int + end function + + subroutine finalize_libint() bind(c,name='finalize_libint') + end subroutine + + subroutine map_shell_to_basis_function_interval(sze, out_val) bind(c,name='map_shell_to_basis_function_interval') + import :: c_ptr + import :: c_int + + integer(c_int), INTENT(IN), value :: sze + integer(c_int), INTENT(OUT) :: out_val(sze) + end subroutine + + real(c_double) function ao_bielec_integral_libint(i,j,k,l) bind(c,name='ao_bielec_integral') + import :: c_int + import :: c_double + + integer(c_int), value :: i + integer(c_int), value :: j + integer(c_int), value :: k + integer(c_int), value :: l + end function + + subroutine compute_ao_bielec_integrals_shell(i,j,k,l,sze,values) bind(c,name='compute_ao_bielec_integrals_shell') + import :: c_ptr + import :: c_int + import :: c_double + + integer(c_int), value :: i + integer(c_int), value :: j + integer(c_int), value :: k + integer(c_int), value :: l + integer(c_int), INTENT(IN), value :: sze + real(c_double), INTENT(OUT) :: values(sze) + end subroutine + + + end interface +end module libint_module From 9f298cf670ba0dd61363ac752d0e053aaaba5c27 Mon Sep 17 00:00:00 2001 From: TApplencourt Date: Mon, 7 Mar 2016 17:28:07 +0100 Subject: [PATCH 05/24] Working libint --- plugins/Hartree_Fock/debug_libinit.irp.f | 22 +++++++---- src/AO_Basis/aos.irp.f | 43 ++++++++++++++++++++-- src/Integrals_Bielec/ao_bi_integrals.irp.f | 5 --- 3 files changed, 53 insertions(+), 17 deletions(-) diff --git a/plugins/Hartree_Fock/debug_libinit.irp.f b/plugins/Hartree_Fock/debug_libinit.irp.f index 44b6b8f7..586f393e 100644 --- a/plugins/Hartree_Fock/debug_libinit.irp.f +++ b/plugins/Hartree_Fock/debug_libinit.irp.f @@ -79,25 +79,31 @@ !Compute the norm double precision:: coef1, coef2, coef3, coef4, norm - - coef1 = ao_coef_normalization_factor(bf1) - coef2 = ao_coef_normalization_factor(bf2) - coef3 = ao_coef_normalization_factor(bf3) - coef4 = ao_coef_normalization_factor(bf4) + + coef1 = ao_coef_normalization_libint_factor(bf1) + coef2 = ao_coef_normalization_libint_factor(bf2) + coef3 = ao_coef_normalization_libint_factor(bf3) + coef4 = ao_coef_normalization_libint_factor(bf4) + norm = coef1*coef2*coef3*coef4 double precision:: libint, ref !Value of itegral bf1,bf2,bf3, bf4 libint = buffer_int(f1234) * norm - + !Verify with the manu's one ! ref = ao_bielec_integral(bf1,bf2,bf3,bf4) ! ! if ( (ABS(ABS(ref) - ABS(libint)).GE.1e-6) ) THEN +! ! print*, bf1,bf2,bf3,bf4 -! print*, ref -! print*, libint +! print*,"r", ref +! print*,"l", libint +! print*,"r/l", ref/libint +! print*,"l/r", libint/ref +! print*,"n", norm +! ! call exit(1) ! end if diff --git a/src/AO_Basis/aos.irp.f b/src/AO_Basis/aos.irp.f index 5f0cfeae..5a0074b1 100644 --- a/src/AO_Basis/aos.irp.f +++ b/src/AO_Basis/aos.irp.f @@ -25,7 +25,7 @@ END_PROVIDER BEGIN_DOC ! Coefficients including the AO normalization END_DOC - double precision :: norm, norm2,overlap_x,overlap_y,overlap_z,C_A(3), c + double precision :: norm,overlap_x,overlap_y,overlap_z,C_A(3), c integer :: l, powA(3), nz integer :: i,j,k nz=100 @@ -34,9 +34,11 @@ END_PROVIDER C_A(3) = 0.d0 ao_coef_normalized = 0.d0 do i=1,ao_num - powA(1) = ao_l(i) - powA(2) = 0 - powA(3) = 0 + + powA(1) = ao_power(i,1) + powA(2) = ao_power(i,2) + powA(3) = ao_power(i,3) + do j=1,ao_prim_num(i) call overlap_gaussian_xyz(C_A,C_A,ao_expo(i,j),ao_expo(i,j),powA,powA,overlap_x,overlap_y,overlap_z,norm,nz) ao_coef_normalized(i,j) = ao_coef(i,j)/sqrt(norm) @@ -57,6 +59,39 @@ END_PROVIDER END_PROVIDER +BEGIN_PROVIDER [ double precision, ao_coef_normalization_libint_factor, (ao_num) ] + implicit none + BEGIN_DOC + ! Coefficients including the AO normalization + END_DOC + double precision :: norm,overlap_x,overlap_y,overlap_z,C_A(3), c + integer :: l, powA(3), nz + integer :: i,j,k + nz=100 + C_A(1) = 0.d0 + C_A(2) = 0.d0 + C_A(3) = 0.d0 + + do i=1,ao_num + powA(1) = ao_l(i) + powA(2) = 0 + powA(3) = 0 + + ! Normalization of the contracted basis functions + norm = 0.d0 + do j=1,ao_prim_num(i) + do k=1,ao_prim_num(i) + call overlap_gaussian_xyz(C_A,C_A,ao_expo(i,j),ao_expo(i,k),powA,powA,overlap_x,overlap_y,overlap_z,c,nz) + norm = norm+c*ao_coef_normalized(i,j)*ao_coef_normalized(i,k) + enddo + enddo + ao_coef_normalization_libint_factor(i) = ao_coef_normalization_factor(i) * sqrt(norm) + + enddo + +END_PROVIDER + + BEGIN_PROVIDER [ double precision, ao_coef_normalized_ordered, (ao_num_align,ao_prim_num_max) ] &BEGIN_PROVIDER [ double precision, ao_expo_ordered, (ao_num_align,ao_prim_num_max) ] implicit none diff --git a/src/Integrals_Bielec/ao_bi_integrals.irp.f b/src/Integrals_Bielec/ao_bi_integrals.irp.f index 2e754158..f2c365ae 100644 --- a/src/Integrals_Bielec/ao_bi_integrals.irp.f +++ b/src/Integrals_Bielec/ao_bi_integrals.irp.f @@ -4,11 +4,6 @@ double precision function ao_bielec_integral(i,j,k,l) ! integral of the AO basis or (ij|kl) ! i(r1) j(r1) 1/r12 k(r2) l(r2) END_DOC - - ! use libint_module - ! call init_libint(trim(ezfio_filename)//char(0)) - ! ao_bielec_integral = ao_bielec_integral_libint(i,j,k,l) - ! return integer,intent(in) :: i,j,k,l integer :: p,q,r,s From 67be38f5887b1b03a07a77df3ba52e8f22458246 Mon Sep 17 00:00:00 2001 From: TApplencourt Date: Mon, 7 Mar 2016 17:32:33 +0100 Subject: [PATCH 06/24] Add .cc --- src/Integrals_Bielec/integral_bielec.cc | 247 ++++++++++++++++++++++++ 1 file changed, 247 insertions(+) create mode 100644 src/Integrals_Bielec/integral_bielec.cc diff --git a/src/Integrals_Bielec/integral_bielec.cc b/src/Integrals_Bielec/integral_bielec.cc new file mode 100644 index 00000000..1ea9f160 --- /dev/null +++ b/src/Integrals_Bielec/integral_bielec.cc @@ -0,0 +1,247 @@ +/* + * This file is a part of Libint. + * Copyright (C) 2004-2014 Edward F. Valeev + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see http://www.gnu.org/licenses/. + * + */ + +#if __cplusplus <= 199711L +# error "Hartree-Fock test requires C++11 support" +#endif + +// standard C++ headers +#include +#include +#include +#include +#include +#include +#include +#include + +// Libint Gaussian integrals library +#include + +/*** ================ ***/ +/*** Exposed Function ***/ +/*** ================ ***/ +extern "C" +{ + void init_libint(char ezfio_filename[]); + void finalize_libint(); + int nb_shell(); + void map_shell_to_basis_function_interval(int sze, int* out_val); + + double ao_bielec_integral(int bf1f, int bf2f, int bf3f, int bf4f); + void compute_ao_bielec_integrals_jkl(int bf2, int bf3, int bf4, int sze, double* values); + void compute_ao_bielec_integrals_shell(int s1, int s2, int s3, int s4, int sze, double* values); +} + +using libint2::Shell; + +/*** ================= ***/ +/*** Internal Function ***/ +/*** ================= ***/ + +size_t nbasis(const std::vector& shells); +std::vector map_shell_to_basis_function(const std::vector& shells); +std::vector map_basis_function_to_shell(const std::vector& shells); + +/*** ================ ***/ +/*** Exposed Function ***/ +/*** ================ ***/ + +void init_libint(char ezfio_filename[]); +void finalize_libint(); +int nb_shell(); +void map_shell_to_basis_function_interval(int sze, int* out_val); + + +double ao_bielec_integral(int bf1f, int bf2f, int bf3f, int bf4f); +void compute_ao_bielec_integrals_jkl(int i, int j, int k, int sze, double* values); +void compute_ao_bielec_integrals_shell(int s1, int s2, int s3, int s4, int sze, double* values); + +/*** =============== ***/ +/*** Global Variable ***/ +/*** =============== ***/ + +std::vector shells_global; +std::vector shell2bf; +std::vector bf2shell; +static libint2::TwoBodyEngine *engine_pointer; + +// ___ _ +// | ._ _|_ _ ._ ._ _. | _|_ ._ _ _|_ o _ ._ +// _|_ | | |_ (/_ | | | (_| | | |_| | | (_ |_ | (_) | | +// + +size_t nbasis(const std::vector& shells) { + size_t n = 0; + for (const auto& shell: shells) + n += shell.size(); + return n; +} + +size_t max_nprim(const std::vector& shells) { + size_t n = 0; + for (auto shell: shells) + n = std::max(shell.nprim(), n); + return n; +} + +int max_l(const std::vector& shells) { + int l = 0; + for (auto shell: shells) + for (auto c: shell.contr) + l = std::max(c.l, l); + return l; +} + + +std::vector map_shell_to_basis_function(const std::vector& shells) { + std::vector result; + result.reserve(shells.size()); + + size_t n = 0; + for (auto shell: shells) { + result.push_back(n); + n += shell.size(); + } + + return result; +} + +std::vector map_basis_function_to_shell(const std::vector& shells) { + + std::vector result; + result.reserve(nbasis(shells)); + + size_t n = 0; + + for (auto shell: shells) { + for (auto i=0; i!=shell.size(); ++i){ + result.push_back(n); + } + n++; + } + + return result; +} + +// _ _ +// |_ ._ _ _ _ _| _|_ ._ _ _|_ o _ ._ +// |_ >< |_) (_) _> (/_ (_| | |_| | | (_ |_ | (_) | | +// | +void init_libint(char ezfio_filename[]){ + + /*** =========================== ***/ + /*** initialize molecule ***/ + /*** =========================== ***/ + + std::string xyz_path = ezfio_filename + std::string("/libint/xyz"); + // read geometry from a filename + std::ifstream input_file(xyz_path); + std::vector atoms = libint2::read_dotxyz(input_file); + + /*** =========================== ***/ + /*** create basis set ***/ + /*** =========================== ***/ + + std::string basis_path = ezfio_filename + std::string("/libint"); + setenv("LIBINT_DATA_PATH", basis_path.c_str(), 1); + + libint2::BasisSet shells("basis", atoms); + + shells_global = shells; + + for(auto& shell: shells_global) + for(auto& contraction: shell.contr) + contraction.pure = false; + + // initializes the Libint integrals library ... now ready to compute + libint2::init(); + + // construct the electron repulsion integrals engine + engine_pointer = new libint2::TwoBodyEngine (max_nprim(shells_global), max_l(shells_global), 0); + + shell2bf = map_shell_to_basis_function(shells_global); + bf2shell = map_basis_function_to_shell(shells_global); + +} + +void finalize_libint(){ + libint2::finalize(); // done with libint2 +} + +int nb_shell(){ + return shells_global.size(); +} + +void map_shell_to_basis_function_interval(int sze, int* out_val) { + size_t n = 1; + for (auto i=0; i &engine = *engine_pointer; + + auto s1 = bf2shell[bf1]; + auto n1 = shells_global[s1].size(); + auto f1 = bf1-shell2bf[s1]; + + auto s2 = bf2shell[bf2]; + auto n2 = shells_global[s2].size(); + auto f2 = bf2-shell2bf[s2]; + + auto s3 = bf2shell[bf3]; + auto n3 = shells_global[s3].size(); + auto f3 = bf3-shell2bf[s3];; + + auto s4 = bf2shell[bf4]; + auto n4 = shells_global[s4].size(); + auto f4 = bf4- shell2bf[s4]; + + // std::cout << "o: compute shell set {" << s1 << "," << s2 <<"," << s3 <<"," << s4 << "} ... "; + const auto* buf_1234 = engine.compute(shells_global[s1], shells_global[s2], shells_global[s3], shells_global[s4]); +// std::cout << "done" << std::endl; + + auto f1234 = f1*n2*n3*n4+f2*n3*n4+f3*n4+f4; + auto result = buf_1234[f1234]; + + return result; + +}; + + +void compute_ao_bielec_integrals_shell(int s1, int s2, int s3, int s4, int sze, double* values){ + libint2::TwoBodyEngine &engine = *engine_pointer; + + const auto* buf_1234 = engine.compute(shells_global[s1-1], shells_global[s2-1], shells_global[s3-1], shells_global[s4-1]); + + for(auto i=0; i!=sze; i++) + values[i] = buf_1234[i]; + }; From 17992cc1ea515853f030782a19cb48563162c733 Mon Sep 17 00:00:00 2001 From: TApplencourt Date: Mon, 7 Mar 2016 18:23:22 +0100 Subject: [PATCH 07/24] Add eigen in libint in configure script --- configure | 21 +++++++++++++++----- install/scripts/install_eigen.sh | 10 ++++++++++ install/scripts/install_libint.sh | 33 +++++++++++++++++++++++++++++++ 3 files changed, 59 insertions(+), 5 deletions(-) create mode 100755 install/scripts/install_eigen.sh create mode 100755 install/scripts/install_libint.sh diff --git a/configure b/configure index b217cbea..013ff541 100755 --- a/configure +++ b/configure @@ -72,7 +72,9 @@ d_dependency = { "ninja": ["g++", "python"], "make": [], "p_graphviz": ["python"], - "bats": [] + "bats": [], + "eigen": [], + "libint": ["eigen"] } from collections import namedtuple @@ -148,23 +150,32 @@ f77zmq = Info( # join(QP_ROOT, "src", "ZMQ", "f77zmq.h") ) p_graphviz = Info( - url='https://github.com/xflr6/graphviz/archive/master.tar.gz', + url='{head}/xflr6/graphviz/{tail}'.format(**path_github), description=' Python library for graphviz', default_path=join(QP_ROOT_INSTALL, "p_graphviz")) bats = Info( - url='https://github.com/sstephenson/bats/archive/master.tar.gz', + url='{head}/sstephenson/bats/{tail}'.format(**path_github), description=' Bash Automated Testing System', default_path=join(QP_ROOT_INSTALL, "bats")) +libint = Info( + url='{head}/evaleev/libint/releases/download/v2.1.0-beta2/libint-2.1.0-beta2.tgz'.format(**path_github), + description=' Libint is a high-performance library for computing Gaussian integrals in quantum mechanics', + default_path=join(QP_ROOT_INSTALL, "libint")) + +eigen = Info( + url='http://bitbucket.org/eigen/eigen/get/3.2.8.tar.gz', + description=' Eigen is a C++ template library for linear algebra.', + default_path=join(QP_ROOT_INSTALL, "eigen")) + d_info = dict() for m in ["ocaml", "m4", "curl", "zlib", "patch", "irpf90", "docopt", "resultsFile", "ninja", "emsl", "ezfio", "p_graphviz", - "zeromq", "f77zmq","bats" ]: + "zeromq", "f77zmq","bats","libint","eigen"]: exec ("d_info['{0}']={0}".format(m)) - def find_path(bin_, l_installed, var_for_qp_root=False): """Use the global variable * l_installed diff --git a/install/scripts/install_eigen.sh b/install/scripts/install_eigen.sh new file mode 100755 index 00000000..a77ac1f6 --- /dev/null +++ b/install/scripts/install_eigen.sh @@ -0,0 +1,10 @@ +#!/bin/bash -x + +TARGET=eigen + +function _install() +{ + cp -R ${BUILD} . || exit 1 +} + +source scripts/build.sh diff --git a/install/scripts/install_libint.sh b/install/scripts/install_libint.sh new file mode 100755 index 00000000..dae85df8 --- /dev/null +++ b/install/scripts/install_libint.sh @@ -0,0 +1,33 @@ +#!/bin/bash -x + +TARGET=libint + +function _install() +{ + + cd .. + QP_ROOT=$PWD + cd - + + cp -R ${BUILD} . || exit 1 + + cd ${TARGET} + export CXX="c++" + export CXXFLAGS=" -O3 -std=c++0x" + ./configure --with-cxx-optflags + + cd - + g++ -O2 -std=c++0x -DHAVE_CONFIG_H -I${PWD}/${TARGET}/include -I${QP_ROOT}/install/eigen -DPREP_LIBINT2_SKIP_BOOST -L${PWD}/${TARGET}/lib -lint2 -c ${QP_ROOT}/src/Integrals_Bielec/integral_bielec.cc + + mv integral_bielec.o ${QP_ROOT}/src/Integrals_Bielec/ +} + +BUILD=_build/${TARGET} +rm -rf -- ${BUILD} +mkdir ${BUILD} || exit 1 +tar -zxf Downloads/${TARGET}.tgz --strip-components=1 --directory=${BUILD} || exit 1 +_install || exit 1 +rm -rf -- ${BUILD} _build/${TARGET}.log +exit 0 + + From 8720911ef7a052460ddf403aa4a067a0a4e25ae9 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 7 Mar 2016 19:21:11 +0100 Subject: [PATCH 08/24] Fixed QMCPACK bugs --- ocaml/Input_determinants_by_hand.ml | 21 +++++++++++++-------- ocaml/TaskServer.ml | 2 +- ocaml/qp_print_basis.ml | 6 ++---- ocaml/test_message.ml | 4 ++-- plugins/qmcpack/save_for_qmcpack.irp.f | 6 ++++++ scripts/ezfio_interface/qp_edit_template | 2 +- src/AO_Basis/aos.irp.f | 3 --- 7 files changed, 25 insertions(+), 19 deletions(-) diff --git a/ocaml/Input_determinants_by_hand.ml b/ocaml/Input_determinants_by_hand.ml index 6d48c917..c69c8ad9 100644 --- a/ocaml/Input_determinants_by_hand.ml +++ b/ocaml/Input_determinants_by_hand.ml @@ -11,7 +11,8 @@ module Determinants_by_hand : sig psi_coef : Det_coef.t array; psi_det : Determinant.t array; } with sexp - val read : unit -> t option + val read : unit -> t + val read_maybe : unit -> t option val write : t -> unit val to_string : t -> string val to_rst : t -> Rst_string.t @@ -210,13 +211,6 @@ end = struct let read () = if (Ezfio.has_mo_basis_mo_tot_num ()) then - let n_det = - read_n_det () - in - if ( (Det_number.to_int n_det) > n_det_read_max ) then - None - else - Some { n_int = read_n_int () ; bit_kind = read_bit_kind () ; n_det = read_n_det () ; @@ -224,6 +218,17 @@ end = struct psi_coef = read_psi_coef () ; psi_det = read_psi_det () ; } + else + failwith "No molecular orbitals, so no determinants" + ;; + + let read_maybe () = + let n_det = + read_n_det () + in + if ( (Det_number.to_int n_det) < n_det_read_max ) then + try Some (read ()) with + | Failure _ -> None else None ;; diff --git a/ocaml/TaskServer.ml b/ocaml/TaskServer.ml index 28a7d0a7..67d5bb07 100644 --- a/ocaml/TaskServer.ml +++ b/ocaml/TaskServer.ml @@ -36,7 +36,7 @@ let bind_socket ~socket_type ~socket ~address = | 0 -> failwith @@ Printf.sprintf "Unable to bind the %s socket : %s " socket_type address - | -1 -> (); + | -1 -> () | i -> try ZMQ.Socket.bind socket address; diff --git a/ocaml/qp_print_basis.ml b/ocaml/qp_print_basis.ml index 16a2f721..aff52837 100644 --- a/ocaml/qp_print_basis.ml +++ b/ocaml/qp_print_basis.ml @@ -43,9 +43,7 @@ let psi_det () = failwith "Error reading EZFIO file"; Ezfio.set_file ezfio_filename; let psi_det = - match Input.Determinants_by_hand.read () with - | Some psi_det -> psi_det - | _ -> failwith "Error reading the mo set" + Input.Determinants_by_hand.read () in Input.Determinants_by_hand.to_rst psi_det |> Rst_string.to_string @@ -56,5 +54,5 @@ let psi_det () = let () = basis (); mo (); - psi_det (); + psi_det () diff --git a/ocaml/test_message.ml b/ocaml/test_message.ml index 90b73d5e..2f5592ec 100644 --- a/ocaml/test_message.ml +++ b/ocaml/test_message.ml @@ -1,7 +1,7 @@ open Core.Std let () = - Message.of_string "new_job tcp://127.0.0.1 inproc://ao_ints:12345 ao_integrals" + Message.of_string "new_job ao_integrals tcp://127.0.0.1 inproc://ao_ints:12345" |> Message.to_string |> print_endline ; @@ -37,7 +37,7 @@ let () = ; try - Message.of_string "new_job inproc://ao_ints tcp://127.0.0.1:12345 ao_integrals" + Message.of_string "new_job ao_integrals inproc://ao_ints tcp://127.0.0.1:12345" |> Message.to_string |> print_endline ; diff --git a/plugins/qmcpack/save_for_qmcpack.irp.f b/plugins/qmcpack/save_for_qmcpack.irp.f index 95e3320c..186ca616 100644 --- a/plugins/qmcpack/save_for_qmcpack.irp.f +++ b/plugins/qmcpack/save_for_qmcpack.irp.f @@ -14,6 +14,12 @@ program qmcpack enddo enddo call ezfio_set_ao_basis_ao_coef(ao_coef) + do j=1,mo_tot_num + do i=1,ao_num + mo_coef(i,j) *= 1.d0/ao_coef_normalization_factor(i) + enddo + enddo + call save_mos call system('rm '//trim(ezfio_filename)//'/mo_basis/ao_md5') call system('$QP_ROOT/src/qmcpack/qp_convert_qmcpack_to_ezfio.py '//trim(ezfio_filename)) diff --git a/scripts/ezfio_interface/qp_edit_template b/scripts/ezfio_interface/qp_edit_template index 218b21ae..408ca3f7 100644 --- a/scripts/ezfio_interface/qp_edit_template +++ b/scripts/ezfio_interface/qp_edit_template @@ -75,7 +75,7 @@ let get s = | Ao_basis -> f Ao_basis.(read, to_rst) | Determinants_by_hand -> - f Determinants_by_hand.(read, to_rst) + f Determinants_by_hand.(read_maybe, to_rst) {section_to_rst} end with diff --git a/src/AO_Basis/aos.irp.f b/src/AO_Basis/aos.irp.f index 8c2db90e..aa805093 100644 --- a/src/AO_Basis/aos.irp.f +++ b/src/AO_Basis/aos.irp.f @@ -50,9 +50,6 @@ END_PROVIDER enddo enddo ao_coef_normalization_factor(i) = 1.d0/sqrt(norm) - do j=1,ao_prim_num(i) - ao_coef_normalized(i,j) = ao_coef_normalized(i,j) * ao_coef_normalization_factor(i) - enddo enddo END_PROVIDER From eec846e1272ec8f1196f0cdd5abc79ec0522d01d Mon Sep 17 00:00:00 2001 From: TApplencourt Date: Mon, 7 Mar 2016 20:35:38 +0100 Subject: [PATCH 09/24] Fix libint integral --- install/scripts/install_libint.sh | 4 ++-- scripts/compilation/qp_create_ninja.py | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/install/scripts/install_libint.sh b/install/scripts/install_libint.sh index dae85df8..384ad8b9 100755 --- a/install/scripts/install_libint.sh +++ b/install/scripts/install_libint.sh @@ -12,10 +12,10 @@ function _install() cp -R ${BUILD} . || exit 1 cd ${TARGET} - export CXX="c++" + export CXX="g++" export CXXFLAGS=" -O3 -std=c++0x" ./configure --with-cxx-optflags - + make -j 8 cd - g++ -O2 -std=c++0x -DHAVE_CONFIG_H -I${PWD}/${TARGET}/include -I${QP_ROOT}/install/eigen -DPREP_LIBINT2_SKIP_BOOST -L${PWD}/${TARGET}/lib -lint2 -c ${QP_ROOT}/src/Integrals_Bielec/integral_bielec.cc diff --git a/scripts/compilation/qp_create_ninja.py b/scripts/compilation/qp_create_ninja.py index a742f7da..df2a1dff 100755 --- a/scripts/compilation/qp_create_ninja.py +++ b/scripts/compilation/qp_create_ninja.py @@ -37,8 +37,8 @@ from qp_path import QP_ROOT, QP_SRC, QP_EZFIO LIB = "" # join(QP_ROOT, "lib", "rdtsc.o") EZFIO_LIB = join(QP_ROOT, "lib", "libezfio_irp.a") -ZMQ_LIB = join(QP_ROOT, "lib", "libf77zmq.a") + " " + join(QP_ROOT, "lib", "libzmq.a") + " -lstdc++ -lrt" -INT_LIB = "/home/razoa/libint/libint-2.1.0-beta2/lib/.libs/libint2.a" +ZMQ_LIB = join(QP_ROOT, "lib", "libf77zmq.a") + " " + join(QP_ROOT, "lib", "libzmq.a") + " -lstdc++ -lrt" +INT_LIB = join(QP_ROOT, "libint","lib", ".libs", "libint2.a") ROOT_BUILD_NINJA = join(QP_ROOT, "config", "build.ninja") header = r"""# From d6b970e8a73de793e0a7cd5423a7931e88ea873c Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 22 Mar 2016 13:28:03 +0100 Subject: [PATCH 10/24] Auto-generation of libint required files --- install/scripts/install_ocaml.sh | 2 +- ocaml/Atom.ml | 12 ++- ocaml/Atom.mli | 1 + ocaml/Basis.ml | 22 ++++- ocaml/Basis.mli | 2 +- ocaml/Gto.ml | 35 +++++++- ocaml/Gto.mli | 6 +- ocaml/Input_ao_basis.ml | 1 + ocaml/Input_nuclei.ml | 17 ++++ ocaml/Libint.ml | 85 +++++++++++++++++++ ocaml/Molecule.ml | 11 ++- ocaml/Molecule.mli | 1 + ocaml/TaskServer.mli | 84 ++++++++++++++++++ ocaml/_tags | 2 +- ...debug_libinit.irp.f => debug_libint.irp.f} | 64 ++++++-------- scripts/compilation/qp_create_ninja.py | 2 +- scripts/ezfio_interface/qp_edit_template | 11 ++- src/Integrals_Bielec/integral_bielec.cc | 4 +- src/Integrals_Monoelec/shell.irp.f | 30 +++++++ 19 files changed, 332 insertions(+), 60 deletions(-) create mode 100644 ocaml/Libint.ml create mode 100644 ocaml/TaskServer.mli rename plugins/Hartree_Fock/{debug_libinit.irp.f => debug_libint.irp.f} (68%) create mode 100644 src/Integrals_Monoelec/shell.irp.f diff --git a/install/scripts/install_ocaml.sh b/install/scripts/install_ocaml.sh index 86e4e8b7..234cd09f 100755 --- a/install/scripts/install_ocaml.sh +++ b/install/scripts/install_ocaml.sh @@ -5,7 +5,7 @@ QP_ROOT=$PWD cd - # Normal installation -PACKAGES="core cryptokit ocamlfind sexplib ZMQ" +PACKAGES="core cryptokit ocamlfind sexplib pa_sexp_conv ZMQ" # Needed for ZeroMQ export C_INCLUDE_PATH="${QP_ROOT}"/lib:"${C_INCLUDE_PATH}" diff --git a/ocaml/Atom.ml b/ocaml/Atom.ml index 832cfa5b..72932b1f 100644 --- a/ocaml/Atom.ml +++ b/ocaml/Atom.ml @@ -1,4 +1,4 @@ -open Core.Std;; +open Core.Std exception AtomError of string @@ -27,12 +27,18 @@ let of_string ~units s = coord = Point3d.of_string ~units (String.concat [x; y; z] ~sep:" ") } | _ -> raise (AtomError s) -;; + let to_string ~units a = [ Element.to_string a.element ; Charge.to_string a.charge ; Point3d.to_string ~units a.coord ] |> String.concat ~sep:" " -;; + + +let to_xyz a = + Printf.sprintf "%-3s %s" + (Element.to_string a.element) + (Point3d.to_string ~units:Units.Angstrom a.coord) + diff --git a/ocaml/Atom.mli b/ocaml/Atom.mli index 28915993..4b1963d5 100644 --- a/ocaml/Atom.mli +++ b/ocaml/Atom.mli @@ -7,3 +7,4 @@ val sexp_of_t : t -> Sexplib.Sexp.t val of_string : units:Units.units -> string -> t val to_string : units:Units.units -> t -> string +val to_xyz : t -> string diff --git a/ocaml/Basis.ml b/ocaml/Basis.ml index 237e5547..c2675c57 100644 --- a/ocaml/Basis.ml +++ b/ocaml/Basis.ml @@ -35,11 +35,11 @@ let read_element in_channel at_number element = read in_channel at_number -let to_string b = + +let to_string_general ~fmt ~atom_sep b = let new_nucleus n = Printf.sprintf "Atom %d" n in - let rec do_work accu current_nucleus = function | [] -> List.rev accu | (g,n)::tail -> @@ -47,15 +47,29 @@ let to_string b = in let accu = if (n <> current_nucleus) then - (new_nucleus n)::""::accu + (new_nucleus n)::atom_sep::accu else accu in - do_work ((Gto.to_string g)::accu) n tail + do_work ((Gto.to_string ~fmt g)::accu) n tail in do_work [new_nucleus 1] 1 b |> String.concat ~sep:"\n" +let to_string_gamess = + to_string_general ~fmt:Gto.Gamess ~atom_sep:"" + +let to_string_gaussian b = + String.concat ~sep:"\n" [ "****" ; + to_string_general ~fmt:Gto.Gaussian ~atom_sep:"****" b ; + "****" + ] + +let to_string ?(fmt=Gto.Gamess) = + match fmt with + | Gto.Gamess -> to_string_gamess + | Gto.Gaussian -> to_string_gaussian + include To_md5 let to_md5 = to_md5 sexp_of_t diff --git a/ocaml/Basis.mli b/ocaml/Basis.mli index 4da99266..249c14f9 100644 --- a/ocaml/Basis.mli +++ b/ocaml/Basis.mli @@ -14,7 +14,7 @@ val read_element : in_channel -> Nucl_number.t -> Element.t -> (Gto.t * Nucl_number.t) list (** Convert the basis to a string *) -val to_string : (Gto.t * Nucl_number.t) list -> string +val to_string : ?fmt:Gto.fmt -> (Gto.t * Nucl_number.t) list -> string (** Convert the basis to an MD5 hash *) val to_md5 : (Gto.t * Nucl_number.t) list -> MD5.t diff --git a/ocaml/Gto.ml b/ocaml/Gto.ml index 69aeba37..fb576ee7 100644 --- a/ocaml/Gto.ml +++ b/ocaml/Gto.ml @@ -4,6 +4,10 @@ open Qptypes exception GTO_Read_Failure of string exception End_Of_Basis +type fmt = +| Gamess +| Gaussian + type t = { sym : Symmetry.t ; lc : ((Primitive.t * AO_coef.t) list) @@ -68,8 +72,8 @@ let read_one in_channel = -(** Transform the gto to a string *) -let to_string { sym = sym ; lc = lc } = +(** Write the GTO in Gamess format *) +let to_string_gamess { sym = sym ; lc = lc } = let result = Printf.sprintf "%s %3d" (Symmetry.to_string sym) (List.length lc) in @@ -88,3 +92,30 @@ let to_string { sym = sym ; lc = lc } = |> String.concat ~sep:"\n" +(** Write the GTO in Gaussian format *) +let to_string_gaussian { sym = sym ; lc = lc } = + let result = + Printf.sprintf "%s %3d 1.00" (Symmetry.to_string sym) (List.length lc) + in + let rec do_work accu i = function + | [] -> List.rev accu + | (p,c)::tail -> + let p = AO_expo.to_float p.Primitive.expo + and c = AO_coef.to_float c + in + let result = + Printf.sprintf "%15.7f %15.7f" p c + in + do_work (result::accu) (i+1) tail + in + (do_work [result] 1 lc) + |> String.concat ~sep:"\n" + + +(** Transform the gto to a string *) +let to_string ?(fmt=Gamess) = + match fmt with + | Gamess -> to_string_gamess + | Gaussian -> to_string_gaussian + + diff --git a/ocaml/Gto.mli b/ocaml/Gto.mli index fad133a3..753cd81a 100644 --- a/ocaml/Gto.mli +++ b/ocaml/Gto.mli @@ -1,5 +1,9 @@ exception GTO_Read_Failure of string exception End_Of_Basis +type fmt = +| Gamess +| Gaussian + type t = { sym : Symmetry.t ; lc : (Primitive.t * Qptypes.AO_coef.t) list; @@ -13,4 +17,4 @@ val of_prim_coef_list : val read_one : in_channel -> t (** Convert to string for printing *) -val to_string : t -> string +val to_string : ?fmt:fmt -> t -> string diff --git a/ocaml/Input_ao_basis.ml b/ocaml/Input_ao_basis.ml index 82bc4964..88e277ee 100644 --- a/ocaml/Input_ao_basis.ml +++ b/ocaml/Input_ao_basis.ml @@ -17,6 +17,7 @@ module Ao_basis : sig ;; val read : unit -> t option val to_string : t -> string + val to_basis : t -> Basis.t val write : t -> unit val to_md5 : t -> MD5.t val to_rst : t -> Rst_string.t diff --git a/ocaml/Input_nuclei.ml b/ocaml/Input_nuclei.ml index d050ded9..ca81629e 100644 --- a/ocaml/Input_nuclei.ml +++ b/ocaml/Input_nuclei.ml @@ -13,6 +13,7 @@ module Nuclei : sig val read : unit -> t option val write : t -> unit val to_string : t -> string + val to_atom_list : t -> Atom.t list val to_rst : t -> Rst_string.t val of_rst : Rst_string.t -> t option end = struct @@ -134,6 +135,22 @@ end = struct ;; + let to_atom_list b = + let rec loop accu (coord, charge, label) = function + | -1 -> accu + | i -> + let atom = + { Atom.element = label.(i) ; + Atom.charge = charge.(i) ; + Atom.coord = coord.(i) ; + } + in + loop (atom::accu) (coord, charge, label) (i-1) + in + loop [] (b.nucl_coord, b.nucl_charge, b.nucl_label) + ( (Nucl_number.to_int b.nucl_num) - 1) + ;; + let to_string b = Printf.sprintf " nucl_num = %s diff --git a/ocaml/Libint.ml b/ocaml/Libint.ml new file mode 100644 index 00000000..0b88ab41 --- /dev/null +++ b/ocaml/Libint.ml @@ -0,0 +1,85 @@ +open Core.Std +open Qptypes + +let molecule = lazy ( + let atom_list = + match Input.Nuclei.read () with + | Some data -> Input.Nuclei.to_atom_list data + | None -> failwith "No coordinate found" + and data = + match Input.Electrons.read () with + | Some data -> data + | None -> failwith "No electrons found" + in + { Molecule.nuclei = atom_list; + Molecule.elec_alpha = data.Input.Electrons.elec_alpha_num; + Molecule.elec_beta = data.Input.Electrons.elec_beta_num + } +) + +let write_xyz_file libint_dir = + assert (Sys.is_directory_exn libint_dir); + let filename = + Filename.concat libint_dir "xyz" + and molecule = + Lazy.force molecule + in + Out_channel.with_file filename ~f:(fun oc -> + Molecule.to_xyz molecule + |> Out_channel.output_string oc + ) + +let write_basis_file libint_dir = + assert (Sys.is_directory_exn libint_dir); + let filename = + Filename.concat libint_dir "basis.g94" + and molecule = + Lazy.force molecule + in + let text = + let rec substitute accu i = function + | ele :: tail -> + let pattern = + Printf.sprintf "Atom %d" i + in + let new_string = + String.substr_replace_first accu ~pattern ~with_:(Printf.sprintf "%s 0" ele) + in + substitute new_string (i+1) tail + | [] -> accu + in + let accu = + let b = + match Input.Ao_basis.read () with + | Some data -> Input.Ao_basis.to_basis data + | None -> failwith "No AO basis" + in + Basis.to_string ~fmt:Gto.Gaussian b + and atom_names = + List.map molecule.Molecule.nuclei ~f:(fun x -> Element.to_string x.Atom.element) + in + substitute accu 1 atom_names + in + Out_channel.with_file filename ~f:(fun oc -> + Out_channel.output_string oc text + ) + + +let write_files ezfio_filename = + assert (Sys.is_directory_exn ezfio_filename); + + let libint_dir = + Filename.concat ezfio_filename "libint" + in + + let () = + match Sys.is_directory libint_dir with + | `Yes -> () + | `No -> Unix.mkdir libint_dir + | `Unknown -> failwith ("Unable to tell if "^libint_dir^" exists.") + in + + write_xyz_file libint_dir; + write_basis_file libint_dir + + diff --git a/ocaml/Molecule.ml b/ocaml/Molecule.ml index f0800f7f..a9d73432 100644 --- a/ocaml/Molecule.ml +++ b/ocaml/Molecule.ml @@ -85,7 +85,7 @@ let name m = String.concat (result) -let to_string m = +let to_string_general ~f m = let { nuclei ; elec_alpha ; elec_beta } = m in let n = @@ -94,10 +94,15 @@ let to_string m = let title = name m in - [ Int.to_string n ; title ] @ - (List.map ~f:(fun x -> Atom.to_string Units.Angstrom x) nuclei) + [ Int.to_string n ; title ] @ (List.map ~f nuclei) |> String.concat ~sep:"\n" +let to_string = + to_string_general ~f:(fun x -> Atom.to_string Units.Angstrom x) + +let to_xyz = + to_string_general ~f:Atom.to_xyz + let of_xyz_string ?(charge=(Charge.of_int 0)) ?(multiplicity=(Multiplicity.of_int 1)) diff --git a/ocaml/Molecule.mli b/ocaml/Molecule.mli index 1a3d9715..f81f28a3 100644 --- a/ocaml/Molecule.mli +++ b/ocaml/Molecule.mli @@ -20,6 +20,7 @@ val name : t -> string (** Conversion for printing *) val to_string : t -> string +val to_xyz : t -> string (** Creates a molecule from an xyz file *) diff --git a/ocaml/TaskServer.mli b/ocaml/TaskServer.mli new file mode 100644 index 00000000..f16ddaab --- /dev/null +++ b/ocaml/TaskServer.mli @@ -0,0 +1,84 @@ +type t = +{ + queue : Queuing_system.t ; + state : Message.State.t option ; + address_tcp : Address.Tcp.t option ; + address_inproc : Address.Inproc.t option ; + psi : Message.Psi.t option; + progress_bar : Progress_bar.t option ; + running : bool; +} + + +(** {1} Debugging *) + +(** Fetch the QP_TASK_DEBUG environment variable *) +val debug_env : bool + +(** Print a debug message *) +val debug : string -> unit + +(** {1} ZMQ *) + +(** ZeroMQ context *) +val zmq_context : ZMQ.Context.t + +(** Bind a ZMQ socket *) +val bind_socket : + socket_type:string -> socket:'a ZMQ.Socket.t -> address:string -> unit + +(** Name of the host on which the server runs *) +val hostname : string lazy_t + +(** IP address of the current host *) +val ip_address : string lazy_t + +(** Standard messages *) +val reply_ok : [> `Req ] ZMQ.Socket.t -> unit +val reply_wrong_state : [> `Req ] ZMQ.Socket.t -> unit + +(** Stop server *) +val stop : port:int -> unit + +(** {1} Server functions *) + +(** Create a new job *) +val new_job : Message.Newjob_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t + +(** Finish a running job *) +val end_job : Message.Endjob_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t + +(** Connect a client *) +val connect: Message.Connect_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t + +(** Disconnect a client *) +val disconnect: Message.Disconnect_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t + +(** Add a task to the pool *) +val add_task: Message.AddTask_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t + +(** Mark the task as done by the client *) +val task_done: Message.TaskDone_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t + +(** Delete a task when it has been pulled by the collector *) +val del_task: Message.DelTask_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t + +(** The client get a new task to execute *) +val get_task: Message.GetTask_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t + +(** Terminate server *) +val terminate : t -> [> `Req ] ZMQ.Socket.t -> t + +(** Put a wave function in the task server *) +val put_psi : + Message.PutPsi_msg.t -> string list -> t -> [> `Req ] ZMQ.Socket.t -> t + +(** Get the wave function stored in the task server *) +val get_psi : Message.GetPsi_msg.t -> t -> [> `Req ] ZMQ.Socket.t -> t + +(** Reply an Error message *) +val error : string -> t -> [> `Req ] ZMQ.Socket.t -> t + +(** Run server *) +val run : port:int -> unit + diff --git a/ocaml/_tags b/ocaml/_tags index fd4c4804..6570ddca 100644 --- a/ocaml/_tags +++ b/ocaml/_tags @@ -1,3 +1,3 @@ -true: package(core,sexplib.syntax,cryptokit,ZMQ) +true: package(core,sexplib,pa_sexp_conv,cryptokit,ZMQ) true: thread false: profile diff --git a/plugins/Hartree_Fock/debug_libinit.irp.f b/plugins/Hartree_Fock/debug_libint.irp.f similarity index 68% rename from plugins/Hartree_Fock/debug_libinit.irp.f rename to plugins/Hartree_Fock/debug_libint.irp.f index 586f393e..bfbb4027 100644 --- a/plugins/Hartree_Fock/debug_libinit.irp.f +++ b/plugins/Hartree_Fock/debug_libint.irp.f @@ -1,20 +1,10 @@ program debug_libint - use libint_module implicit none double precision :: ao_bielec_integral - integer, allocatable :: s2bf(:) double precision, allocatable :: buffer_int(:) - call init_libint(trim(ezfio_filename)//char(0)) - - integer :: nb_shell_f - nb_shell_f = get_nb_shell() - - allocate(s2bf(2*nb_shell_f)) - call map_shell_to_basis_function_interval(2*nb_shell_f,s2bf) - integer :: s1, s2,s3,s4 integer :: bf1,bf2,bf3,bf4 integer :: bf1_begin,bf2_begin,bf3_begin,bf4_begin @@ -26,30 +16,30 @@ ! Loop over the shell ! ! =================== ! - do s1 = 1, nb_shell_f + do s1 = 1, shell_num - print*, s1, "/", nb_shell_f + print*, s1, "/", shell_num - bf1_begin = s2bf(2*s1-1) - bf1_end = s2bf(2*s1) + bf1_begin = shell_idx(1,s1) + bf1_end = shell_idx(2,s1) n1 = 1 + bf1_end - bf1_begin - do s2 = 1, nb_shell_f + do s2 = 1, shell_num - bf2_begin = s2bf(2*s2-1) - bf2_end = s2bf(2*s2) + bf2_begin = shell_idx(1,s2) + bf2_end = shell_idx(2,s2) n2 = 1 + bf2_end - bf2_begin - do s3 = 1, nb_shell_f + do s3 = 1, shell_num - bf3_begin = s2bf(2*s3-1) - bf3_end = s2bf(2*s3) + bf3_begin = shell_idx(1,s3) + bf3_end = shell_idx(2,s3) n3 = 1 + bf3_end - bf3_begin - do s4 = 1, nb_shell_f + do s4 = 1, shell_num - bf4_begin = s2bf(2*s4-1) - bf4_end = s2bf(2*s4) + bf4_begin = shell_idx(1,s4) + bf4_end = shell_idx(2,s4) n4 = 1 + bf4_end - bf4_begin ! ========================== ! @@ -93,19 +83,19 @@ libint = buffer_int(f1234) * norm !Verify with the manu's one -! ref = ao_bielec_integral(bf1,bf2,bf3,bf4) -! -! if ( (ABS(ABS(ref) - ABS(libint)).GE.1e-6) ) THEN -! -! print*, bf1,bf2,bf3,bf4 -! print*,"r", ref -! print*,"l", libint -! print*,"r/l", ref/libint -! print*,"l/r", libint/ref -! print*,"n", norm -! -! call exit(1) -! end if + ref = ao_bielec_integral(bf1,bf2,bf3,bf4) + + if ( (ABS(ABS(ref) - ABS(libint)).GE.1e-6) ) THEN + + print*, bf1,bf2,bf3,bf4 + print*,"r", ref + print*,"l", libint + print*,"r/l", ref/libint + print*,"l/r", libint/ref + print*,"n", norm + + call exit(1) + end if enddo enddo @@ -121,4 +111,4 @@ enddo call finalize_libint() - end debug_libint + end diff --git a/scripts/compilation/qp_create_ninja.py b/scripts/compilation/qp_create_ninja.py index df2a1dff..946b184c 100755 --- a/scripts/compilation/qp_create_ninja.py +++ b/scripts/compilation/qp_create_ninja.py @@ -38,7 +38,7 @@ from qp_path import QP_ROOT, QP_SRC, QP_EZFIO LIB = "" # join(QP_ROOT, "lib", "rdtsc.o") EZFIO_LIB = join(QP_ROOT, "lib", "libezfio_irp.a") ZMQ_LIB = join(QP_ROOT, "lib", "libf77zmq.a") + " " + join(QP_ROOT, "lib", "libzmq.a") + " -lstdc++ -lrt" -INT_LIB = join(QP_ROOT, "libint","lib", ".libs", "libint2.a") +INT_LIB = join(QP_ROOT, "install", "libint","lib", ".libs", "libint2.a") ROOT_BUILD_NINJA = join(QP_ROOT, "config", "build.ninja") header = r"""# diff --git a/scripts/ezfio_interface/qp_edit_template b/scripts/ezfio_interface/qp_edit_template index 408ca3f7..b580355b 100644 --- a/scripts/ezfio_interface/qp_edit_template +++ b/scripts/ezfio_interface/qp_edit_template @@ -6,7 +6,7 @@ open Core.Std;; WARNING This file is autogenerad by -`${{QP_ROOT}}/script/ezfio_interface/ei_handler.py` +`${{QP_ROOT}}/scripts/ezfio_interface/ei_handler.py` *) @@ -120,7 +120,7 @@ let set str s = | Nuclei -> write Nuclei.(of_rst, write) s | Ao_basis -> () (* TODO *) | Mo_basis -> () (* TODO *) - end + end ;; @@ -169,7 +169,9 @@ let run check_only ezfio_filename = in (* Create the temp file *) - let temp_filename = create_temp_file ezfio_filename tasks in + let temp_filename = + create_temp_file ezfio_filename tasks + in (* Open the temp file with external editor *) let editor = @@ -191,9 +193,10 @@ let run check_only ezfio_filename = In_channel.input_all in_channel) in List.iter ~f:(fun x -> set temp_string x) tasks; + Libint.write_files (!Ezfio.ezfio_filename); (* Remove temp_file *) - Sys.remove temp_filename; + Sys.remove temp_filename ;; diff --git a/src/Integrals_Bielec/integral_bielec.cc b/src/Integrals_Bielec/integral_bielec.cc index 1ea9f160..e63345f9 100644 --- a/src/Integrals_Bielec/integral_bielec.cc +++ b/src/Integrals_Bielec/integral_bielec.cc @@ -18,7 +18,7 @@ */ #if __cplusplus <= 199711L -# error "Hartree-Fock test requires C++11 support" +# error "C++11 support is required" #endif // standard C++ headers @@ -244,4 +244,4 @@ void compute_ao_bielec_integrals_shell(int s1, int s2, int s3, int s4, int sze, for(auto i=0; i!=sze; i++) values[i] = buf_1234[i]; - }; +}; diff --git a/src/Integrals_Monoelec/shell.irp.f b/src/Integrals_Monoelec/shell.irp.f new file mode 100644 index 00000000..b91476e1 --- /dev/null +++ b/src/Integrals_Monoelec/shell.irp.f @@ -0,0 +1,30 @@ +use libint_module +BEGIN_PROVIDER [ logical, libint_initialized ] + implicit none + BEGIN_DOC + ! if true, libint is initialized + END_DOC + call init_libint(trim(ezfio_filename)//char((0))) +END_PROVIDER + +BEGIN_PROVIDER [ integer, shell_num ] + implicit none + BEGIN_DOC + ! Number of shells + END_DOC + PROVIDE libint_initialized + shell_num = get_nb_shell() + +END_PROVIDER + + +BEGIN_PROVIDER [ integer, shell_idx, (2,shell_num) ] + implicit none + BEGIN_DOC + ! Contains the 1st and last AO index in each shell + END_DOC + PROVIDE libint_initialized + call map_shell_to_basis_function_interval(2*shell_num,shell_idx) +END_PROVIDER + + From 57709397d1a56f134f213a0573e70a64f3c09dfb Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 28 Mar 2016 23:45:25 +0200 Subject: [PATCH 11/24] Cleaning --- plugins/Hartree_Fock/debug_libint.irp.f | 3 +- src/Integrals_Bielec/q_package.ezfio_config | 2 + src/Integrals_Monoelec/shell.irp.f | 53 +++++++++++++-------- 3 files changed, 38 insertions(+), 20 deletions(-) diff --git a/plugins/Hartree_Fock/debug_libint.irp.f b/plugins/Hartree_Fock/debug_libint.irp.f index bfbb4027..14bfb33b 100644 --- a/plugins/Hartree_Fock/debug_libint.irp.f +++ b/plugins/Hartree_Fock/debug_libint.irp.f @@ -12,6 +12,7 @@ integer :: n1,n2,n3,n4 integer :: f1,f2,f3,f4,f1234 + PROVIDE has_libint ! =================== ! ! Loop over the shell ! ! =================== ! @@ -85,7 +86,6 @@ !Verify with the manu's one ref = ao_bielec_integral(bf1,bf2,bf3,bf4) - if ( (ABS(ABS(ref) - ABS(libint)).GE.1e-6) ) THEN print*, bf1,bf2,bf3,bf4 print*,"r", ref @@ -94,6 +94,7 @@ print*,"l/r", libint/ref print*,"n", norm + if ( (ABS(ABS(ref) - ABS(libint)) >= 1.e-6) ) THEN call exit(1) end if diff --git a/src/Integrals_Bielec/q_package.ezfio_config b/src/Integrals_Bielec/q_package.ezfio_config index 8c64c790..35cba011 100644 --- a/src/Integrals_Bielec/q_package.ezfio_config +++ b/src/Integrals_Bielec/q_package.ezfio_config @@ -4,3 +4,5 @@ work save empty logical +libint + empty logical diff --git a/src/Integrals_Monoelec/shell.irp.f b/src/Integrals_Monoelec/shell.irp.f index b91476e1..6972bbc3 100644 --- a/src/Integrals_Monoelec/shell.irp.f +++ b/src/Integrals_Monoelec/shell.irp.f @@ -1,30 +1,45 @@ use libint_module -BEGIN_PROVIDER [ logical, libint_initialized ] - implicit none - BEGIN_DOC - ! if true, libint is initialized - END_DOC - call init_libint(trim(ezfio_filename)//char((0))) +BEGIN_PROVIDER [ logical, has_libint ] + implicit none + BEGIN_DOC + ! If true, use libint + END_DOC + character :: y + call getenv('QP_LIBINT', y) + if (y=='1') then + has_libint = .True. + call init_libint(trim(ezfio_filename)//char((0))) + else + PROVIDE ezfio_filename + has_libint = .False. + endif + END_PROVIDER BEGIN_PROVIDER [ integer, shell_num ] - implicit none - BEGIN_DOC - ! Number of shells - END_DOC - PROVIDE libint_initialized - shell_num = get_nb_shell() - + implicit none + BEGIN_DOC + ! Number of shells + END_DOC + if (has_libint) then + shell_num = get_nb_shell() + else + stop 'shell_num not implemented without libint' + endif + END_PROVIDER BEGIN_PROVIDER [ integer, shell_idx, (2,shell_num) ] - implicit none - BEGIN_DOC - ! Contains the 1st and last AO index in each shell - END_DOC - PROVIDE libint_initialized - call map_shell_to_basis_function_interval(2*shell_num,shell_idx) + implicit none + BEGIN_DOC + ! Contains the 1st and last AO index in each shell + END_DOC + if (has_libint) then + call map_shell_to_basis_function_interval(2*shell_num,shell_idx) + else + stop 'shell_idx not implemented without libint' + endif END_PROVIDER From 11493e7082692d49f8bd3e8191aab7c17b328c4a Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 29 Mar 2016 16:00:02 +0200 Subject: [PATCH 12/24] Repaired Ocaml installation --- install/scripts/install_ocaml.sh | 3 ++- ocaml/_tags | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/install/scripts/install_ocaml.sh b/install/scripts/install_ocaml.sh index 234cd09f..a7462b2e 100755 --- a/install/scripts/install_ocaml.sh +++ b/install/scripts/install_ocaml.sh @@ -5,7 +5,8 @@ QP_ROOT=$PWD cd - # Normal installation -PACKAGES="core cryptokit ocamlfind sexplib pa_sexp_conv ZMQ" +PACKAGES="core cryptokit ocamlfind sexplib ZMQ" +#ppx_sexp_conv # Needed for ZeroMQ export C_INCLUDE_PATH="${QP_ROOT}"/lib:"${C_INCLUDE_PATH}" diff --git a/ocaml/_tags b/ocaml/_tags index 6570ddca..3f5cd9b6 100644 --- a/ocaml/_tags +++ b/ocaml/_tags @@ -1,3 +1,3 @@ -true: package(core,sexplib,pa_sexp_conv,cryptokit,ZMQ) +true: package(core,cryptokit,ZMQ,sexplib.syntax) true: thread false: profile From 1754dfaca75b1ac42f3ef58cfc2ab0792ecc4d84 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Sun, 3 Apr 2016 17:08:34 +0200 Subject: [PATCH 13/24] Added Trail-Needs pseudopotentials --- data/pseudo/tn_df | 644 ++++++++++++++++++++++++++++++++++++++++++++++ data/pseudo/tn_hf | 644 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1288 insertions(+) create mode 100644 data/pseudo/tn_df create mode 100644 data/pseudo/tn_hf diff --git a/data/pseudo/tn_df b/data/pseudo/tn_df new file mode 100644 index 00000000..89334e23 --- /dev/null +++ b/data/pseudo/tn_df @@ -0,0 +1,644 @@ +H GEN 0 2 +6 + 1.00000000 1 34.44662515 + -0.89096601 2 40.13885591 + -4.35250792 2 24.66307521 + -11.58011743 2 20.49225491 + 12.58011743 2 30.23909011 + 34.44662515 3 22.28419700 +6 + -262.22422461 2 17.87367530 + 258.22981252 2 28.75598991 + 5613.63467960 2 19.10096571 + -4192.30569417 2 18.88256059 + -1341.04802395 2 20.95302325 + -79.28421640 2 34.10653707 +6 + -199.48848662 2 37.85954681 + 197.31066276 2 28.79454664 + 4870247.22276531 2 40.22839783 + -5277181.77014563 2 40.34690459 + -196566.81095176 2 39.13989706 + 603502.35555458 2 40.91315002 + +He GEN 0 2 +6 + 2.00000000 1 22.64777484 + -0.00700692 2 23.54196640 + -8.90169316 2 18.71556903 + 113.56926776 2 15.15150658 + -112.56926776 2 13.80465850 + 45.29554968 3 12.54192267 +6 + 747.63794984 2 13.33611411 + -753.70091072 2 23.45392111 + -397.08293819 2 12.23651194 + 10.35341837 2 14.87987639 + -1430.53848568 2 18.32138342 + 1818.26602949 2 21.24054054 +6 + 305.67933642 2 21.32319132 + -307.98355807 2 12.22370696 + 5957.66379729 2 14.11720170 + -6099.62872267 2 14.41269814 + 523.59639310 2 17.66028106 + -380.63505659 2 21.52626637 + +Li GEN 2 2 +6 + 1.00000000 1 0.78732101 + -2.23999912 2 0.79224763 + 0.10376190 2 1.79622268 + 4.27489122 2 1.83637465 + -3.27489122 2 1.91213904 + 0.78732101 3 0.79291624 +6 + 256.80790655 2 1.78312879 + -255.81956741 2 0.95553059 + 90.30361668 2 0.87617279 + 272.13155048 2 1.09621549 + -180.73373018 2 1.43900642 + -180.70146573 2 1.83085147 +6 + -4.80714862 2 1.53942961 + 3.36281864 2 0.84742021 + -305.38012622 2 0.78976831 + -509.40184487 2 0.98031681 + 436.16121675 2 0.81548364 + 379.61797456 2 1.02582853 + +Be GEN 2 2 +6 + 2.00000000 1 1.20639978 + -5.40313229 2 1.18425537 + 1.72394027 2 2.81826911 + 2.83884922 2 2.37513515 + -1.83884922 2 2.82920954 + 2.41279956 3 1.18219335 +6 + -1045.63679908 2 2.59240356 + 1047.85482764 2 1.41685787 + -1899.15859219 2 1.48536566 + 1398.06780686 2 1.70076501 + -696.13481389 2 2.03898674 + 1198.22571139 2 2.57766211 +6 + 630.90931326 2 1.84421403 + -632.78437074 2 1.13419132 + 441.35012255 2 1.13393716 + 435.97021325 2 1.22419150 + -353.63284449 2 1.39760436 + -522.69065435 2 1.88595068 + +B GEN 2 2 +6 + 3.00000000 1 2.72292969 + -11.78419674 2 2.41356794 + 5.22993640 2 4.60628004 + 0.42834165 2 3.81569642 + 0.57165835 2 4.75281449 + 8.16878907 3 2.42655010 +6 + -260.26050710 2 2.55536939 + 265.37594882 2 4.54575013 + 76.89512909 2 2.14992133 + -57.25691791 2 2.71845869 + 4293.37943873 2 3.54567059 + -4312.01708538 2 3.65811356 +6 + 236.98381086 2 3.86703012 + -239.59777090 2 2.15409783 + 4347.09682018 2 2.51320631 + -4637.07702775 2 2.58243237 + 786.10765740 2 3.15459528 + -495.13181880 2 3.69673537 + +C GEN 2 2 +6 + 4.00000000 1 6.85914037 + -69.31783111 2 7.66877502 + 58.73619595 2 8.89164866 + -5.11066199 2 4.63398124 + 6.11066199 2 5.40104250 + 27.43656147 3 6.79273179 +6 + 430.61454744 2 8.62389774 + -421.35054055 2 5.03244470 + -33212.40034531 2 6.89861917 + 44.12655159 2 3.96628687 + 96.39927700 2 5.01313881 + 33072.87650778 2 6.85964729 +6 + -104389.58452246 2 4.75057662 + 104386.03365951 2 8.95366858 + 690570.92310077 2 7.84605551 + 105067.78650436 2 4.75435948 + -142604.06718444 2 8.80450514 + -653033.64724842 2 7.81116996 + +N GEN 2 2 +6 + 5.00000000 1 11.01983025 + -747.65378590 2 7.70260962 + 731.28815439 2 7.83791198 + -3.54162255 2 8.41784728 + 4.54162255 2 12.53426384 + 55.09915125 3 6.76845507 +6 + 189.29450948 2 10.95064006 + -174.81483163 2 7.48980682 + 148422.74289741 2 6.18035270 + -167161.90534269 2 6.21695388 + 34280.43140051 2 6.81408633 + -15540.26812247 2 7.23413705 +6 + -5338.70218681 2 6.15987128 + 5334.35386770 2 7.49726635 + -1839.21100223 2 8.80963870 + 16010.85000728 2 6.52067091 + -16722.95522386 2 6.97790252 + 2552.31199840 2 8.37871646 + +O GEN 2 2 +6 + 6.00000000 1 8.86932353 + -28.04199287 2 6.05326172 + 11.15704031 2 5.51480979 + 180.82432510 2 10.77878397 + -179.82432510 2 10.23693413 + 53.21594115 3 7.90462675 +6 + -9212.20980516 2 7.28893859 + 9226.86567950 2 6.05971190 + 58203.26727502 2 10.83143357 + -5120.48607364 2 5.75281092 + -93321.50266843 2 10.51155711 + 40239.72318888 2 9.72227746 +6 + 10001.55649464 2 7.43321349 + -10012.86801601 2 5.85047476 + 8554.95973537 2 5.79011164 + -20342.33136146 2 8.08750969 + 11739.44079236 2 8.43229920 + 48.92837040 2 4.71055456 + +F GEN 2 2 +6 + 7.00000000 1 16.52048840 + -10.46754024 2 13.26693551 + -11.21567917 2 18.77563836 + -32.41582195 2 10.96778594 + 33.41582195 2 21.09729680 + 115.64341877 3 13.46927525 +6 + 1201.43391413 2 19.92490215 + -1182.60889584 2 11.77163137 + -8770.99026936 2 12.30043337 + 5336.21358848 2 11.63810105 + 8729.77565724 2 14.12189391 + -5293.99672165 2 16.53091209 +6 + 92.58757506 2 8.66992000 + -108.46085404 2 9.40009036 + -319.30686222 2 9.08633595 + 524.57586653 2 9.90194004 + -443.63347077 2 13.57164540 + 239.36118945 2 16.47995554 + +Ne GEN 2 2 +6 + 8.00000000 1 21.64664513 + 1794.02959527 2 14.45731213 + -1828.03241002 2 14.11697591 + 23.90491418 2 14.10774236 + -22.90491418 2 20.42359560 + 173.17316107 3 11.93940404 +6 + -5911.13460210 2 12.24993716 + 5941.26076308 2 20.24332306 + 2840.09993994 2 12.20646543 + 1742.40556167 2 11.50431394 + 8834.09207695 2 16.82066882 + -13415.59681607 2 18.72208419 +6 + 53626.32637171 2 20.56468824 + -53639.90888359 2 19.92390926 + -576.65341012 2 13.02834964 + 1907.80575476 2 15.43385134 + 5623.71426075 2 18.06950435 + -6953.86800222 2 22.66963993 + +K GEN 18 2 +6 + 1.00000000 1 0.50008727 + 1416.76952428 2 0.63134777 + -1419.89095139 2 0.60241926 + -302.74307268 2 0.68724573 + 303.74307268 2 0.55624069 + 0.50008727 3 0.50008691 +6 + -854959.33457742 2 0.55297829 + 854960.96236303 2 0.59508099 + -2735051.37932036 2 0.55136787 + -797902.82136562 2 0.59254779 + -90621.33409241 2 0.60683509 + 3623576.53510235 2 0.55188848 +6 + 5366450.44923246 2 0.56834617 + -5366449.39460951 2 0.57395202 + 506392.75510780 2 0.65188562 + 1065012.45735119 2 0.60395254 + -764583.36396565 2 0.55451976 + -806820.84832728 2 0.64359720 + +Ca GEN 18 2 +6 + 2.00000000 1 0.74758765 + 308735.40641498 2 0.72269274 + -308740.90975833 2 0.72197603 + 7202.81432103 2 0.70435779 + -7201.81432103 2 0.73462875 + 1.49517531 3 0.98521314 +6 + 3358.40551562 2 0.85820603 + -3354.33378202 2 0.50055931 + 645.82930380 2 0.77593512 + -4032.30085432 2 0.85197466 + 3315.68514964 2 0.50005881 + 71.78714429 2 1.01826143 +6 + 3797.10880911 2 0.54666026 + -3794.15970380 2 0.55760964 + 1988.78457523 2 0.66771019 + 13912.48066729 2 0.71662858 + -408.96685813 2 0.50701325 + -15491.29677996 2 0.71335086 + +Sc GEN 18 2 +6 + 3.00000000 1 6.99258598 + -124.50237230 2 4.24128187 + 97.21802227 2 1.68870852 + -87.09390293 2 1.51321231 + 88.09390293 2 5.62659050 + 20.97775795 3 2.67617421 +6 + 375.73920548 2 5.45654024 + -350.54708476 2 5.82486421 + -11.58800164 2 0.51173797 + 12.31935173 2 0.56805032 + 20.80334597 2 0.78399590 + -20.53480959 2 1.25273408 +6 + 6092.78689761 2 1.30970450 + -6068.65474455 2 6.97688197 + 6074.16548241 2 6.96312742 + -2.71306889 2 0.50000000 + 562.44223581 2 1.09627007 + -6632.89448781 2 1.28901234 + +Ti GEN 18 2 +6 + 4.00000000 1 4.58962911 + 29.78882355 2 12.99080675 + -64.03604684 2 6.47044482 + 4.09908827 2 7.32890448 + -3.09908827 2 0.86508310 + 18.35851644 3 11.66884823 +6 + 204.54741131 2 6.98984163 + -173.26765359 2 1.14387234 + -179.62280834 2 7.98041969 + 81.98571631 2 1.30274954 + -105.23530836 2 0.79373704 + 203.87378660 2 0.87617820 +6 + 47.21398743 2 4.46327869 + -17.03315162 2 12.03758238 + -1.80345968 2 1.82986618 + -67.65022794 2 0.85432599 + 83.23157126 2 0.75234069 + -12.77614240 2 0.56466795 + +V GEN 18 2 +6 + 5.00000000 1 4.80344323 + 22.35774108 2 18.78787979 + -64.07198704 2 7.13216682 + 4.33388926 2 9.27213879 + -3.33388926 2 0.97989891 + 24.01721615 3 16.08839186 +6 + 180.61077610 2 8.25076842 + -142.94184574 2 0.97905818 + -150.64642751 2 9.92043295 + -6.71407277 2 0.62363714 + 176.09329684 2 0.95148528 + -17.73131270 2 1.07801133 +6 + 57.45110361 2 5.32960287 + -20.81111514 2 14.24980571 + -8.29286428 2 1.85925508 + -5.73287020 2 0.58593750 + 29.10022105 2 0.79878530 + -14.07269455 2 1.00225258 + +Cr GEN 18 2 +6 + 6.00000000 1 12.84308988 + -3.09604991 2 0.99382054 + -44.89504234 2 7.58819115 + -170.55613293 2 14.51774012 + 171.55613293 2 16.43682827 + 77.05853926 3 12.82491986 +6 + -18202.34922306 2 1.98782159 + 18244.42867028 2 31.32646602 + 30868.09979612 2 30.37846452 + 17868.98085600 2 1.97809129 + -49114.96837018 2 30.73273877 + 378.88775116 2 2.67913288 +6 + 29.20236180 2 19.25203633 + 12.37319603 2 0.97567458 + 4072.48148684 2 17.43196546 + -17623.52674725 2 16.30880219 + 0.00000000 2 1.00000000 + 13552.04578438 2 15.92770430 + +Mn GEN 18 2 +6 + 7.00000000 1 15.05016398 + 76.06668034 2 15.84783194 + -134.18719488 2 9.80426007 + 5.15310013 2 22.40715541 + -4.15310013 2 1.28870598 + 105.35114786 3 9.24698903 +6 + 5.29793560 2 36.81344701 + 46.23395617 2 10.22325416 + -60.32817992 2 19.40077237 + 47.36691946 2 10.31192728 + -593.48022661 2 0.82035751 + 607.44155846 2 0.82499832 +6 + 43.56050065 2 39.11191097 + 6.67450664 2 5.89010993 + 273.74198710 2 12.39309544 + -27.45450618 2 46.10455298 + -256.40166892 2 15.13448958 + 11.11513392 2 0.96513012 + +Fe GEN 18 2 +6 + 8.00000000 1 15.22430826 + 44.74166498 2 23.61492800 + -111.48295214 2 10.92989564 + 4.87905385 2 34.25190536 + -3.87905385 2 1.33822720 + 121.79446608 3 12.33553803 +6 + -19.50464924 2 30.77395752 + 78.13974335 2 10.21396062 + -93.51149367 2 7.16717891 + -5331.00729306 2 2.86167947 + 2973.12062964 2 2.65030718 + 2452.39961633 2 3.20024669 +6 + 24692.89537881 2 35.68878072 + -24635.37117467 2 1.90446408 + 67.20321584 2 9.50100295 + -24719.85685234 2 35.67756831 + 155.45498669 2 2.48480944 + 24498.19947049 2 1.90126047 + +Co GEN 18 2 +6 + 9.00000000 1 16.99448342 + 49.13807967 2 27.18614115 + -125.28324533 2 12.21218102 + 5.11388765 2 39.14513799 + -4.11388765 2 1.47717612 + 152.95035078 3 13.67966454 +6 + -14.42629264 2 42.14707531 + 80.80701231 2 9.38147677 + -241.37463154 2 5.80599555 + -2375.49390008 2 3.20236619 + 1470.87516654 2 3.85735739 + 1146.99509265 2 2.77670509 +6 + 136.98013925 2 35.88691706 + -71.59603354 2 2.32679268 + 69.29537053 2 14.47120857 + -182.97334302 2 33.48566094 + 53.73921710 2 5.03596368 + 60.93980797 2 1.71252673 + +Ni GEN 18 2 +6 + 10.00000000 1 22.08639324 + -144.93688782 2 14.51813938 + 58.56151708 2 31.72005545 + 5.46467869 2 46.47610840 + -4.46467869 2 1.64348434 + 220.86393239 3 17.23929992 +6 + -1037.96291767 2 23.63013626 + 1112.68285967 2 22.54579447 + -202.88667032 2 10.67846148 + -1992.46747856 2 2.78611652 + 261.70081349 2 7.26891690 + 1934.65478930 2 2.71695433 +6 + -53.30731307 2 26.78098186 + 127.09013633 2 3.54449677 + -4806.85555998 2 9.97427088 + 4887.04372410 2 10.06368893 + -212.17359382 2 2.46160888 + 132.98697057 2 1.97486742 + +Cu GEN 18 2 +6 + 11.00000000 1 2.82733696 + -34.48196386 2 1.92614044 + -60.25585479 2 16.36117816 + 95.74606505 2 26.07073787 + -94.74606505 2 15.23964803 + 31.10070652 3 2.17204001 +6 + -45.62927216 2 31.69953680 + 125.91417027 2 1.14930323 + -14.54702824 2 1.62190112 + 4.20903863 2 5.04037704 + 108.15433753 2 13.02666762 + -96.81611101 2 1.08245080 +6 + 95.22440516 2 11.30741812 + -15.05535618 2 0.88219501 + 50.51809351 2 1.10244974 + -44.11033096 2 1.38963093 + 24.77977412 2 1.74927941 + -30.18619193 2 36.48037929 + +Zn GEN 18 2 +6 + 12.00000000 1 31.07239014 + -200.01988966 2 17.28158695 + 92.10229536 2 34.39655496 + 5.98135501 2 49.89939973 + -4.98135501 2 1.96865590 + 372.86868168 3 19.34259724 +6 + -36.14038802 2 38.52109994 + 128.37782465 2 12.00212013 + -1.61496737 2 1.07625274 + -1.83786181 2 49.67118376 + 65.46563590 2 2.17772473 + -61.01291439 2 3.24812913 +6 + -65.64354860 2 18.09701361 + 156.02859885 2 36.00255883 + 172.20201747 2 14.96596000 + -192.17040837 2 36.71242576 + 4.39165632 2 5.39429237 + 16.57829500 2 1.49031308 + +Ga GEN 28 2 +6 + 3.00000000 1 1.13608798 + 164.07678897 2 1.26217688 + -167.28328999 2 1.14858151 + -669.79177234 2 1.15353581 + 670.79177234 2 1.12952095 + 3.40826394 3 1.10744970 +6 + 2326.37321481 2 0.75031475 + -2323.38047364 2 0.75000124 + 386.83516033 2 2.39556890 + 3373.92258044 2 1.92296729 + -3444.97340674 2 2.01243025 + -314.78429931 2 1.54022372 +6 + -49.00749762 2 0.97248539 + 49.23559677 2 1.12030491 + 13.15736344 2 1.17799318 + 125.85888665 2 1.43966818 + -194.32447492 2 1.61975153 + 56.31063114 2 1.96345236 + +Ge GEN 28 2 +6 + 4.00000000 1 1.37803409 + 19.62241898 2 1.39153725 + -23.72148814 2 1.27769848 + 2.49161805 2 1.59279926 + -1.49161805 2 0.64699203 + 5.51213636 3 0.92923210 +6 + -2.74466220 2 0.87224298 + 6.62035166 2 1.17293014 + -2420.40847648 2 1.99495027 + -82306.43955717 2 2.42954180 + 6740.23721390 2 2.16484262 + 77987.61073589 2 2.43883104 +6 + -2107.38453991 2 1.16911036 + 2108.21076604 2 1.46731756 + 1481.43044167 2 1.13494844 + -5605.67944848 2 1.57427397 + 1698.46708565 2 1.69705377 + 2426.78290985 2 1.49642085 + +As GEN 28 2 +6 + 5.00000000 1 1.43022249 + -9.34297986 2 1.49610460 + 4.21498088 2 6.47107540 + 10.09813510 2 3.25241162 + -9.09813510 2 5.07144325 + 7.15111245 3 1.33657021 +6 + 13218.94379269 2 1.93743539 + -13214.39886844 2 1.06114866 + -12968.43207956 2 1.94924972 + 13915.97822491 2 1.06566409 + -954.00698285 2 1.23265097 + 7.46088753 2 4.89271387 +6 + 1464.46500602 2 1.99905491 + -1463.07044815 2 1.47578217 + 368.93680276 2 1.30626554 + -20015.22902646 2 1.76510607 + -4931.41969774 2 1.62454622 + 24578.71284776 2 1.71245824 + +Se GEN 28 2 +6 + 6.00000000 1 1.51096144 + 18985.66456772 2 2.92355341 + -18994.15945825 2 2.92032845 + -67662.27071451 2 3.11248219 + 67663.27071451 2 3.11189793 + 9.06576863 3 1.65761092 +6 + 9.98441274 2 1.51889669 + -2.50844675 2 1.97738476 + -180236.05319146 2 2.70806322 + 388717.66809223 2 2.76186155 + -395809.31847294 2 2.85646715 + 187328.70401255 2 2.90992434 +6 + -0.64003892 2 1.60286011 + 4.75615253 2 1.39335643 + -1221.08696720 2 2.09669307 + -10412.15615824 2 2.41527013 + 11345.50935270 2 2.36453165 + 288.73492615 2 3.03391531 + +Br GEN 28 2 +6 + 7.00000000 1 1.41289916 + -7.52651514 2 1.15658370 + -0.55005317 2 2.42725255 + 32.50767838 2 2.88316202 + -31.50767838 2 2.65601102 + 9.89029412 3 1.40346702 +6 + 28526.73706896 2 2.34791729 + -28520.73498833 2 2.45113975 + -99003.29767895 2 2.50553756 + 749850.19071550 2 2.81179865 + -1128475.81390516 2 2.78141408 + 477629.92118992 2 2.68265676 +6 + 17.76908748 2 1.31119911 + -15.01578842 2 1.60289186 + -18723.09651802 2 2.55330648 + -655.15159005 2 2.02749820 + 16349.83148583 2 2.49321553 + 3029.41777740 2 2.76331597 + +Kr GEN 28 2 +6 + 8.00000000 1 8.52108317 + -122698.81335772 2 3.24264497 + 122687.31930993 2 3.40822193 + -118092.31104849 2 3.40804203 + 118093.31104849 2 3.23631062 + 68.16866536 3 4.68396906 +6 + -494.70169718 2 5.76331362 + 503.25343741 2 2.73098609 + -367021.57369848 2 3.66759371 + -1529686.47073208 2 3.83008505 + 1834642.13235417 2 3.78655002 + 62066.91317383 2 4.17980892 +6 + -73.83484449 2 5.20603747 + 79.00632901 2 4.70236432 + 1062.70264892 2 4.15470411 + -40873.21549348 2 3.08586486 + 43280.45283221 2 3.10363880 + -3468.93856436 2 3.63224008 + diff --git a/data/pseudo/tn_hf b/data/pseudo/tn_hf new file mode 100644 index 00000000..ca64435a --- /dev/null +++ b/data/pseudo/tn_hf @@ -0,0 +1,644 @@ +H GEN 0 2 +6 + 1.00000000 1 33.97261756 + -5.73227574 2 41.31028903 + -0.09126064 2 25.25940941 + -20.89980944 2 22.55290552 + 21.89980945 2 32.44131356 + 33.97261756 3 21.12884239 +6 + -792.10375913 2 18.05333002 + 788.69064150 2 28.72271273 + 243.76232429 2 17.34000000 + 1971.45741618 2 20.31094085 + -1795.56663560 2 22.08154655 + -418.65661775 2 30.98799599 +6 + 20.17177614 2 43.35000000 + -21.74798121 2 30.58059209 + 81.48044293 2 43.35000000 + -250.69197995 2 42.07548166 + 88.72115024 2 36.90496619 + 81.48044293 2 43.35000000 + +He GEN 0 2 +6 + 2.00000000 1 20.98762121 + -33.61186426 2 22.14709418 + 24.51669349 2 23.61790706 + 130.14113834 2 15.38761786 + -129.14113834 2 14.22621787 + 41.97524242 3 12.59257273 +6 + 1056.41263785 2 13.17618363 + -1062.28560366 2 23.62254131 + -463.87351954 2 12.04168890 + -676.20404915 2 15.14280380 + -595.21618656 2 19.81607243 + 1736.29130578 2 22.34342328 +6 + 428.21432838 2 21.71652417 + -430.31401911 2 12.32378638 + 7327.65357096 2 14.04426129 + -7501.20178041 2 14.34477832 + 827.37705616 2 17.58948890 + -652.83515208 2 21.22706329 + +Li GEN 2 2 +6 + 1.00000000 1 0.78732101 + -2.23995793 2 0.79224763 + 0.10336496 2 1.79622268 + 4.26591073 2 1.83637465 + -3.26591073 2 1.91213904 + 0.78732101 3 0.79291624 +6 + 256.06005883 2 1.78312879 + -255.07112703 2 0.95553059 + 89.99417499 2 0.87617279 + 271.48958394 2 1.09621549 + -180.35430387 2 1.43900642 + -180.12948429 2 1.83085147 +6 + -6.15265886 2 1.51120608 + 4.70876577 2 0.76936375 + -145.31681550 2 0.76874061 + -238.21930857 2 0.99080928 + 219.67347903 2 0.80457655 + 164.85986038 2 1.07164892 + +Be GEN 2 2 +6 + 2.00000000 1 1.20639978 + -5.40210132 2 1.18425537 + 1.72285109 2 2.81826911 + 2.83477794 2 2.37513515 + -1.83477794 2 2.82920954 + 2.41279956 3 1.18219335 +6 + -1045.56923435 2 2.59240549 + 1047.78889524 2 1.41686040 + -1899.02207714 2 1.48536195 + 1398.02036098 2 1.70076266 + -696.17508584 2 2.03898393 + 1198.17691383 2 2.57766021 +6 + 630.77503458 2 1.84421403 + -632.64959849 2 1.13419132 + 441.30858401 2 1.13393716 + 435.76647651 2 1.22419150 + -353.48689426 2 1.39760436 + -522.59133089 2 1.88595068 + +B GEN 2 2 +6 + 3.00000000 1 2.72292969 + -11.77602579 2 2.41356794 + 5.22133296 2 4.60628004 + 0.40709712 2 3.81569642 + 0.59290288 2 4.75281449 + 8.16878906 3 2.42655010 +6 + -259.65579181 2 2.54943794 + 264.77623108 2 4.54559309 + 79.19161122 2 2.15270531 + -59.67150303 2 2.71820746 + 4276.39654293 2 3.54458188 + -4294.91608677 2 3.65732479 +6 + 236.40878048 2 3.85965228 + -239.02058908 2 2.15130911 + 4065.68265375 2 2.50786619 + -4354.92616892 2 2.58144728 + 782.08428825 2 3.14947869 + -491.84514677 2 3.69136935 + +C GEN 2 2 +6 + 4.00000000 1 6.85924392 + -68.83281650 2 7.67473342 + 58.31001518 2 8.89832626 + -5.23010100 2 4.63334409 + 6.23010100 2 5.40036758 + 27.43697568 3 6.78357071 +6 + 15927.37261280 2 7.83879438 + -15918.16480090 2 5.19308059 + 2266.75441213 2 7.53204263 + 199.75030501 2 9.76960112 + 15915.92435302 2 5.19521204 + -18381.42723477 2 7.82847044 +6 + -153360.42295057 2 4.77965478 + 153356.81223147 2 7.75552602 + -369415.66050006 2 7.39994991 + 152547.92039307 2 4.77641318 + -50035.07991665 2 8.01352516 + 266903.80850142 2 7.30461659 + +N GEN 2 2 +6 + 5.00000000 1 11.01983025 + -745.67280403 2 7.70260962 + 729.30210222 2 7.83791198 + -3.61639106 2 8.41784728 + 4.61639106 2 12.53426384 + 55.09915126 3 6.76845507 +6 + 190.73305357 2 10.95092720 + -176.25003778 2 7.48977970 + 138618.50426238 2 6.17989888 + -156031.83911197 2 6.21713643 + 33624.66842989 2 6.84042808 + -16210.33273520 2 7.23938652 +6 + -6963.78021671 2 6.00000000 + 6959.42174113 2 6.82157159 + -1881.92821431 2 8.95497565 + 13576.39988827 2 6.21477468 + -14307.35309373 2 6.69426410 + 2613.87687182 2 8.63240466 + +O GEN 2 2 +6 + 6.00000000 1 8.86965578 + -28.03502457 2 6.05347085 + 11.15565054 2 5.51487970 + 180.73182495 2 10.77996678 + -179.73182495 2 10.23800841 + 53.21793471 3 7.90307811 +6 + -9301.89903913 2 7.28355994 + 9316.57793048 2 6.06026884 + 59864.04331135 2 10.82203807 + -5153.55178109 2 5.75221581 + -94673.29831259 2 10.51025188 + 39963.80850689 2 9.71187643 +6 + 1682.75815189 2 6.93414347 + -1694.05800561 2 5.70161443 + 848.47217112 2 5.90927487 + -8787.11179775 2 8.69956320 + 7632.94108771 2 8.89513889 + 306.69604455 2 4.97067782 + +F GEN 2 2 +6 + 7.00000000 1 16.52363418 + -6.34751135 2 13.25777643 + -15.15415075 2 18.76649923 + -34.29784879 2 10.97564997 + 35.29784879 2 21.10568925 + 115.66543928 3 13.45706123 +6 + 3851.10542697 2 18.85020393 + -3832.40250429 2 12.48878559 + -237433.87385812 2 13.23599298 + 4380.91891820 2 11.79852686 + 240164.95590264 2 13.28196243 + -7110.99868861 2 17.38283172 +6 + -154.12048513 2 8.59949907 + 138.11297468 2 9.44224375 + 90.42851925 2 8.92886754 + 24.83173716 2 10.18592724 + -424.59591732 2 14.47166344 + 310.33244840 2 16.45175456 + +Ne GEN 2 2 +6 + 8.00000000 1 21.65168713 + 1792.30188007 2 14.45374325 + -1826.14661180 2 14.11313946 + 24.26469360 2 14.10779016 + -23.26469360 2 20.42281751 + 173.21349705 3 11.94458523 +6 + -3233.03788910 2 12.39056574 + 3263.09949012 2 20.60119535 + 1065.47298248 2 11.30677784 + 846.05067282 2 12.27737462 + -34052.05079344 2 17.82669542 + 32141.52790433 2 17.34318949 +6 + 64989.42116117 2 20.31242587 + -65003.08394100 2 20.05277414 + -486.55828399 2 12.87396775 + 2895.04182579 2 15.84533388 + -261.91821074 2 19.42277681 + -2145.56672184 2 23.82700477 + +K GEN 18 2 +6 + 1.00000000 1 0.68724959 + 7665.13435390 2 0.62381187 + -7668.26785841 2 0.59278246 + -3877.60874288 2 0.63961163 + 3878.60874288 2 0.57860350 + 0.68724959 3 0.50008691 +6 + 477943.00813868 2 0.60446875 + -477941.36080643 2 0.55281419 + -533027.54468668 2 0.57763214 + 644866.44840953 2 0.56624742 + -347063.87255621 2 0.60823749 + 235225.96911606 2 0.54903924 +6 + 5177368.01138896 2 0.56835236 + -5177366.94506877 2 0.57395949 + 479730.23987439 2 0.65183506 + 1027151.48932830 2 0.60393420 + -737636.25038898 2 0.55451546 + -769244.47868615 2 0.64345811 + +Ca GEN 18 2 +6 + 2.00000000 1 1.02097432 + -10036.20006734 2 0.76570985 + 10030.67757963 2 0.83608195 + -8136.00883920 2 0.84362927 + 8137.00883920 2 0.75729596 + 2.04194863 3 0.94514267 +6 + -34706.02643508 2 0.85912364 + 34710.12533681 2 0.50000000 + 860.68953329 2 0.79227941 + 33806.87817612 2 0.85997136 + -34747.30927870 2 0.50004940 + 80.74228959 2 1.01833438 +6 + 514.89542915 2 0.50045897 + -511.93073005 2 0.57886998 + -1374495660.24999190 2 0.50000000 + 687246875.87136328 2 0.50000000 + 595.96081232 2 0.56402502 + 687248189.41960287 2 0.50000000 + +Sc GEN 18 2 +6 + 3.00000000 1 8.57059896 + 39.59298139 2 7.59719947 + -67.37349200 2 5.06179469 + 3.54689568 2 11.85222547 + -2.54689568 2 0.70815643 + 25.71179688 3 5.04858060 +6 + 414.99811890 2 5.58945823 + -389.30527335 2 5.93611719 + 8.74915776 2 0.56803113 + -23.92388226 2 0.60868170 + 42.12589000 2 0.76957270 + -25.95178014 2 1.21300456 +6 + 87.05758924 2 1.12946939 + -62.19670511 2 8.56362761 + 66.37833241 2 7.27494713 + 16.41391965 2 0.74327556 + 43.70031508 2 2.03252459 + -125.49197853 2 1.19227023 + +Ti GEN 18 2 +6 + 4.00000000 1 4.77516915 + 28.34758957 2 10.86929502 + -63.21363466 2 5.37319310 + 5.17935660 2 6.86168513 + -4.17935660 2 0.95669336 + 19.10067660 3 3.52162434 +6 + 211.66189616 2 7.01854391 + -179.82099411 2 1.03880358 + -185.28466640 2 8.02474194 + 43.44334388 2 1.22490803 + -44.06205312 2 0.73917909 + 186.90335758 2 0.89595855 +6 + 49.26886952 2 4.65596397 + -18.32131307 2 12.03001514 + -5.50633295 2 2.16547114 + -342.25486254 2 0.92182600 + 304.90681508 2 0.90099079 + 43.85505055 2 0.99684289 + +V GEN 18 2 +6 + 5.00000000 1 7.54069430 + 35.58763613 2 13.63949328 + -78.03044429 2 6.35551182 + 6.53716910 2 2.59423528 + -5.53716910 2 1.16176108 + 37.70347150 3 6.00940761 +6 + 194.57815114 2 8.18606241 + -156.25972501 2 0.95585889 + -162.29334861 2 9.81441300 + -7.74379387 2 0.70017858 + 244.84040986 2 0.97854682 + -73.80312462 2 1.14925292 +6 + 58.91069981 2 5.48333809 + -21.55840127 2 14.40777862 + -10.12891199 2 2.12080402 + 2.52953175 2 0.69388688 + 109.28174657 2 1.01378564 + -100.68144081 2 1.02780261 + +Cr GEN 18 2 +6 + 6.00000000 1 5.86829616 + -3.09900314 2 0.98487638 + -44.94655388 2 6.96616660 + 135.46731129 2 13.59887742 + -134.46731129 2 11.34882544 + 35.20977696 3 8.91110617 +6 + -526.12421414 2 1.73784849 + 568.24328209 2 32.55674074 + -4019.88240027 2 29.55364033 + 495.64908693 2 1.64707294 + 3445.48735974 2 29.05037955 + 79.74580069 2 3.85284016 +6 + 31.31844062 2 19.50625909 + 10.30743573 2 0.86978393 + -81.88780266 2 15.20370471 + 461.22634080 2 10.28610919 + 1.00599253 2 29.84121604 + -379.34381792 2 10.93761710 + +Mn GEN 18 2 +6 + 7.00000000 1 15.05016398 + 76.91199595 2 15.84783194 + -135.08366030 2 9.80426007 + 5.12036990 2 21.62193241 + -4.12036990 2 1.26331891 + 105.35114786 3 9.24698903 +6 + 4.45077705 2 37.07900996 + 46.93892122 2 10.09409180 + -59.63952162 2 18.98557107 + 47.25376130 2 10.16267391 + 2270.38024432 2 0.79460121 + -2256.99438460 2 0.79345224 +6 + 43.65884288 2 39.18960573 + 6.58957965 2 5.88646925 + 273.41973132 2 12.35978155 + -27.85882166 2 45.92825074 + -255.64090683 2 15.10051906 + 11.08093098 2 0.96083847 + +Fe GEN 18 2 +6 + 8.00000000 1 20.13246747 + 61.79343671 2 20.09868712 + -128.55600523 2 10.70685691 + 4.84472314 2 28.79726611 + -3.84472314 2 1.31374323 + 161.05973977 3 11.74858936 +6 + -20.21006220 2 30.42214774 + 78.68908034 2 10.18491881 + -104.38370168 2 6.69228251 + 11879.61125830 2 2.98725076 + 4067.63536025 2 2.63900793 + -15841.86182474 2 2.88538957 +6 + 52.35701571 2 38.26448010 + 4.85142656 2 5.90250183 + 2169.08154283 2 14.09502191 + -40.04038813 2 42.65213493 + -2140.34005623 2 14.44188153 + 12.29991314 2 1.06050818 + +Co GEN 18 2 +6 + 9.00000000 1 18.31609159 + 47.84627034 2 26.91264651 + -123.98809879 2 11.91957078 + 5.09540361 2 38.50128360 + -4.09540361 2 1.45636943 + 164.84482431 3 13.41744556 +6 + -22.55314559 2 34.07535172 + 88.75521276 2 10.45260699 + -158.32924566 2 5.91087540 + -53402.80058080 2 3.13684604 + 49767.17959800 2 3.16692544 + 3794.95155282 2 2.81533596 +6 + 61.92019742 2 38.11279103 + 2.85881103 2 5.82898971 + -387.27158530 2 15.59733227 + -64.65478412 2 38.57519906 + 439.30094674 2 13.98109833 + 13.62664636 2 1.17046441 + +Ni GEN 18 2 +6 + 10.00000000 1 19.84291404 + -195.32353012 2 16.02128656 + 108.98533897 2 26.59513762 + 6.08469364 2 39.39261550 + -5.08469364 2 1.73812596 + 198.42914037 3 16.63287860 +6 + 636.14358475 2 21.00974643 + -561.54325704 2 22.88188409 + -146.65571659 2 11.08963477 + 1590.91833845 2 2.66405882 + 203.15470938 2 6.84512029 + -1646.41568069 2 2.74451213 +6 + 67.70992628 2 28.31556957 + 5.37743585 2 4.16521410 + 374.49405320 2 17.37825451 + -389.83846114 2 21.96153313 + 1.91671522 2 49.74424984 + 14.42906054 2 1.27579002 + +Cu GEN 18 2 +6 + 11.00000000 1 35.47715926 + -18105.91023962 2 21.73013363 + 18011.23386368 2 21.83870561 + 6.01228206 2 18.42008793 + -5.01228206 2 1.78198604 + 390.24875182 3 20.58922180 +6 + -51.41016015 2 31.92243640 + 131.47547623 2 14.07215286 + -100490.54220540 2 4.21909683 + 20675.75763691 2 3.56801887 + 263590.56712535 2 4.06536588 + -183774.78117039 2 3.92650866 +6 + 68.62159615 2 31.47726702 + 10.70810140 2 4.95987737 + 233.01753836 2 17.95562228 + -258.78181256 2 26.97191776 + 12.01106739 2 46.85069031 + 14.75422657 2 1.35614623 + +Zn GEN 18 2 +6 + 12.00000000 1 26.60492300 + -196.98442222 2 17.93401272 + 89.18558790 2 36.25784521 + 6.19159911 2 49.96784160 + -5.19159911 2 1.99109193 + 319.25907600 3 19.77027094 +6 + -177.37971474 2 32.01501166 + 269.42130045 2 23.08836163 + 60361.29701582 2 4.67975974 + 1343973.13568915 2 5.29114502 + -619902.07009680 2 5.11539109 + -784431.36064381 2 5.38368747 +6 + 46.22045015 2 19.08371294 + 43.98275320 2 50.00000000 + 103.59052598 2 16.88459979 + -129.86700605 2 37.83300205 + 11.83058445 2 5.11918008 + 15.44716451 2 1.45112568 + +Ga GEN 28 2 +6 + 3.00000000 1 1.29464779 + 1852.96920182 2 1.20541500 + -1856.15440251 2 1.17879070 + -513.51787928 2 1.21964580 + 514.51787928 2 1.12868888 + 3.88394338 3 1.06946118 +6 + -10.41248284 2 0.75266853 + 13.44253658 2 0.82344143 + -163070.82529640 2 1.96346903 + 118782.06261627 2 1.90761481 + 72439.51450979 2 2.00432013 + -28149.75180125 2 1.83309310 +6 + -55.43707314 2 0.98715132 + 55.68679311 2 1.18143237 + 95.35935510 2 1.24163917 + -111.55606197 2 1.48647971 + 6.22134153 2 1.87957113 + 10.97737885 2 2.24689865 + +Ge GEN 28 2 +6 + 4.00000000 1 0.64699203 + 1042.65966555 2 1.17600365 + -1045.50742663 2 1.40672708 + -522.21837337 2 1.06148136 + 523.21837337 2 1.52689039 + 2.58796812 3 0.70634661 +6 + 298.52031462 2 1.37488700 + -295.91758286 2 3.05395101 + -65778.83466330 2 1.99750874 + 253302.61962618 2 2.10159773 + 25864.29161720 2 2.35028323 + -213387.07659768 2 2.16152517 +6 + -1416.87913796 2 1.43279054 + 1416.49405157 2 1.27947333 + -4677.12774504 2 1.39756889 + 6758.57740664 2 1.50728327 + -2630.12555402 2 1.70834188 + 549.67778384 2 1.92912262 + +As GEN 28 2 +6 + 5.00000000 1 1.90897798 + -8.55267316 2 1.59326524 + 3.44617934 2 1.10844459 + -8.94709126 2 1.02625257 + 9.94709126 2 1.90897549 + 9.54488990 3 1.18318262 +6 + -299.57003383 2 1.31601774 + 303.89084920 2 0.88992491 + 34018.91875930 2 0.82417957 + -44808.38727678 2 0.87058735 + 19528.43031171 2 0.91644709 + -8737.95845690 2 0.77833472 +6 + 46094.50987530 2 1.90902784 + -46093.10097169 2 1.56895782 + -1934.82978262 2 1.41134047 + -240427.05172601 2 1.84187044 + 36043.17172862 2 1.53235052 + 206319.71069040 2 1.81590910 + +Se GEN 28 2 +6 + 6.00000000 1 1.73885845 + -4868.76631948 2 3.10952817 + 4860.07291481 2 2.76656612 + 247376.94576273 2 2.93723435 + -247375.94576273 2 2.93039894 + 10.43315069 3 1.80783830 +6 + 43.48906338 2 1.54256367 + -36.07303722 2 1.99876644 + -1338.16209913 2 2.22244851 + 88855.15492433 2 3.01653570 + -93322.17292948 2 3.00370283 + 5806.18068397 2 2.62760372 +6 + 101.24952978 2 1.51703915 + -96.89194467 2 1.50669503 + -561.81915381 2 2.17759706 + 1474.30831735 2 2.47900419 + -87533.83638244 2 3.02701983 + 86622.34849171 2 3.03071493 + +Br GEN 28 2 +6 + 7.00000000 1 1.29861066 + -8.22129971 2 1.15959643 + 0.21335410 2 2.29768788 + -14617.16154553 2 2.88622041 + 14618.16154553 2 2.88664159 + 9.09027461 3 1.38987227 +6 + 1993.56030565 2 1.99554365 + -1988.14839885 2 2.18330258 + 62338.94920254 2 2.78298975 + 91516.94063906 2 2.50252605 + -109846.25447802 2 2.70576408 + -44008.63516555 2 2.38434210 +6 + 17.36412726 2 1.29580803 + -14.67327121 2 1.60078690 + -6128.76923065 2 2.16344915 + 12563.02678529 2 2.26961184 + 757.63553722 2 2.83383736 + -7190.89195704 2 2.41971949 + +Kr GEN 28 2 +6 + 8.00000000 1 6.82429532 + 2245.94610147 2 4.82301962 + -2257.24927570 2 3.38163452 + 1889.52842356 2 3.29088128 + -1888.52842356 2 4.98656184 + 54.59436254 3 3.01373570 +6 + -2003.10975854 2 6.01573226 + 2010.79212346 2 4.07497664 + 13467772.94730707 2 4.47273823 + -18464141.82809087 2 4.45030979 + -2607955.84552628 2 4.28291762 + 7604325.72641131 2 4.35368575 +6 + -6512.57971257 2 5.33963561 + 6517.54562224 2 4.41831473 + 55170.14413687 2 3.66247372 + -35314.20447418 2 3.56293692 + -27094.88743738 2 3.99199621 + 7239.94695795 2 5.23539786 + From e125ab3e0e9ba0545b42ed08ea56475aa42c9326 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Sun, 3 Apr 2016 18:19:35 +0200 Subject: [PATCH 14/24] Added Trail-Needs small core pseudos --- data/pseudo/tn_df_sc | 290 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 290 insertions(+) create mode 100644 data/pseudo/tn_df_sc diff --git a/data/pseudo/tn_df_sc b/data/pseudo/tn_df_sc new file mode 100644 index 00000000..be9f5fa9 --- /dev/null +++ b/data/pseudo/tn_df_sc @@ -0,0 +1,290 @@ +Sc GEN 12 2 +8 + 1 18.44478556 9.00000000 + 2 1.72227091 -28.08765281 + 2 38.78217945 6.39250114 + 3 4.25767220 135.57316128 + 3 30.59237471 30.42990876 + 4 3.04901650 732.69856731 + 4 3.26586693 -839.18407578 + 4 19.55311974 306.02608763 +8 + 2 28.84167604 -0.66275990 + 2 2.35022973 15.34001225 + 3 2.36887926 -2135.70086146 + 3 1.53860208 -272.32226474 + 3 2.24659807 2408.02312621 + 4 3.20659052 101.49528202 + 4 1.65816906 2308.19070504 + 4 1.70062176 -2392.74854053 +8 + 2 1.38158346 253.56902450 + 2 7.79906720 -244.79525414 + 3 3.46268859 613.28437434 + 3 1.44953060 -167.40250936 + 3 4.19986338 -445.88186498 + 4 2.84253773 -558.92885001 + 4 8.10103826 -139.52186395 + 4 5.29686620 -860.39715397 + +Ti GEN 12 2 +8 + 1 22.29649672 10.00000000 + 2 6.07562013 -72305.15340277 + 2 7.08549167 72279.39956641 + 3 1.85317121 -5.38004642 + 3 11.48488557 228.34501358 + 4 6.58565089 72347.84359974 + 4 10.79509368 -36.31015055 + 4 4.36759114 524.90430538 +8 + 2 1.90199524 -1486.27686725 + 2 3.17280244 1504.05739312 + 3 7.28185273 -346.63236251 + 3 1.60782556 297.60206194 + 3 31.70876802 49.03030057 + 4 2.57136209 1363.17044217 + 4 15.10326471 173.13661454 + 4 10.51280239 408.87838151 +8 + 2 4.79017059 770.58828172 + 2 16.39428027 -760.06500844 + 3 2.73641831 4131.47101858 + 3 1.26533109 -2.86068712 + 3 2.75566672 -4128.61033146 + 4 13.54811035 -4681.55429918 + 4 3.18165696 -216.64417046 + 4 7.38011991 -3871.27097394 + +V GEN 12 2 +8 + 1 7.61152016 11.00000000 + 2 3.39807975 -2254.24090893 + 2 6.97361870 2224.02899636 + 3 4.55862146 -110446453.80565737 + 3 4.55862102 110446537.53237911 + 4 3.96488312 3279.23908558 + 4 5.79893896 110445429.80748074 + 4 5.79892709 -110440859.60674113 +8 + 2 1.90936932 793493.20383269 + 2 1.96341714 -793472.27490442 + 3 5.49944355 -208.86387558 + 3 4.42141770 258.48298732 + 3 2.27427679 -49.61911175 + 4 1.93670396 -42873.55595686 + 4 13.81929388 -750668.26686351 + 4 13.81951796 750696.33209725 +8 + 2 2.73920868 563.75098077 + 2 8.34159772 -551.25384718 + 3 6.86565518 565.60881231 + 3 7.02672916 -552.54712531 + 3 1.72160118 -13.06168700 + 4 5.21722741 766.15325384 + 4 3.64504781 -1341.96583800 + 4 6.45896159 -2478.29367021 + +Cr GEN 12 2 +8 + 1 37.30558989 12.00000000 + 2 2.72495980 -31.65683900 + 2 82.35078893 -3.82112970 + 3 5.03605834 -1340.05228092 + 3 8.49223479 1787.71935961 + 4 5.05934149 1670.38275859 + 4 11.22316422 -297.67363866 + 4 12.78798168 -1773.64577915 +8 + 2 2.01494487 1321.32584937 + 2 9.11769637 -1297.16280545 + 3 2.74640213 172456.79432585 + 3 2.73601029 -172130.54143941 + 3 8.22966405 -326.25288644 + 4 8.93660753 3318.19479259 + 4 4.18996691 -4964.77333719 + 4 8.08712175 -7518.15931266 +8 + 2 2.13852920 426.08303476 + 2 6.95873057 -410.95463497 + 3 10.51865586 -26339.61341213 + 3 10.59655900 27348.01671881 + 3 12.57249470 -1008.40330668 + 4 3.81958382 -1190.97633771 + 4 2.30397730 -242.50982893 + 4 8.50147041 -515.04540222 + +Mn GEN 12 2 +8 + 1 5.18371402 13.00000000 + 2 5.06065032 -578541.89058487 + 2 6.70792867 578503.38848415 + 3 6.17952209 -51913.84692424 + 3 6.17539491 51981.23520653 + 4 6.42176078 363344.02202434 + 4 5.85884127 267112.71548476 + 4 5.30004030 322304.52239107 +8 + 2 2.36735511 1419.16815158 + 2 10.44777616 -1393.80593768 + 3 3.38832573 90835.30824196 + 3 3.33976449 -87236.54130341 + 3 4.59371397 -3598.76693855 + 4 4.53305698 -6244.54083570 + 4 6.80451212 1227.60592152 + 4 8.40561309 -6185.56255228 +8 + 2 2.94114594 4024.75281098 + 2 7.86104996 -4009.68099577 + 3 5.47734943 6036.24229971 + 3 7.26632213 597.55987937 + 3 5.64966653 -6633.80217908 + 4 4.35053539 -8536.73955532 + 4 3.10976563 -2120.81538582 + 4 6.88076377 -9025.36229250 + +Fe GEN 12 2 +8 + 1 5.12237041 14.00000000 + 2 2.51511645 -40.17016318 + 2 68.88205922 -1.31093574 + 3 8.04518971 233.53970769 + 3 11.87602774 -161.82652195 + 4 5.09693593 -1791.82033120 + 4 4.72210640 1599.45078669 + 4 1.70594204 1.03695301 +8 + 2 1.98046097 26.70612465 + 2 129.99498266 0.57578912 + 3 2.39996246 3039.39666376 + 3 2.43500497 -3165.32503397 + 3 5.42607639 125.92837021 + 4 8.00515516 -291.65810402 + 4 5.38996549 391.88052787 + 4 21.57361672 27.51771082 +8 + 2 2.73200743 624.99065580 + 2 8.14205971 -610.14663705 + 3 6.81776145 1017.89543597 + 3 25.88593190 -40.92293045 + 3 5.88766735 -976.97250552 + 4 3.94271278 -1433.26030940 + 4 2.68547503 -167.70300401 + 4 8.24853344 -1659.40792313 + +Co GEN 12 2 +8 + 1 7.54679164 15.00000000 + 2 3.67362404 144513.79744165 + 2 4.84501436 -144558.25171900 + 3 2.40342575 107.53071842 + 3 26.17864786 5.67115611 + 4 3.80837544 -58433.23776581 + 4 4.51680318 -86187.09039425 + 4 4.40937071 -24877.11683436 +8 + 2 2.24610518 95.23258759 + 2 5.03497074 -66.50913381 + 3 3.22714612 5039.10184384 + 3 4.39051698 106438.82887427 + 3 4.34028955 -111477.93071810 + 4 3.35420522 -3416.23892647 + 4 5.08283495 -108155.92422115 + 4 5.04411598 111451.19401338 +8 + 2 4.48956443 595.60664332 + 2 7.69628175 -581.05689813 + 3 3.90883087 -1377.49199281 + 3 4.85597858 825.53641688 + 3 2.42496884 551.95557593 + 4 2.48937518 -403.44284159 + 4 7.08237042 360.79216631 + 4 7.01264199 -1755.31252545 + +Ni GEN 12 2 +8 + 1 7.69817381 16.00000000 + 2 7.53303210 1050.11428773 + 2 25.60798551 -1144.28791364 + 3 13.90272560 13641.04856576 + 3 14.02243059 -13517.87778478 + 4 5.40919366 -99.93959073 + 4 19.39187326 -14590.22326277 + 4 10.04177364 -6702.20081903 +8 + 2 3.00959957 -137324.04248861 + 2 2.97820277 137399.59146577 + 3 3.20429852 137895.50489379 + 3 8.22563766 -1036.38091066 + 3 3.17346613 -136859.12398313 + 4 18.22958633 1370.72380067 + 4 6.63637638 -904.80564965 + 4 4.01705177 -4552.45338879 +8 + 2 15.14825706 -315.28909178 + 2 5.57172908 371.76324185 + 3 2.88437623 471.27416207 + 3 3.75784965 165.43855728 + 3 3.41699124 -636.71271936 + 4 5.67830819 -172.18113847 + 4 2.70288433 -148.24251004 + 4 8.91177457 -2384.29249546 + +Cu GEN 12 2 +8 + 1 14.72121260 17.00000000 + 2 173.23217215 0.43564135 + 2 2.58024469 -51.26559465 + 3 80.09883693 3.82433122 + 3 9.08368916 246.43628291 + 4 4.49885474 6456.72306266 + 4 4.56436500 -6459.98303523 + 4 20.14135032 -53.55070822 +8 + 2 104.42478595 -7.61322720 + 2 3.64199543 38.51618543 + 3 52.46064977 -12.00344193 + 3 4.33410703 288.99573247 + 3 8.38373584 -276.99229053 + 4 3.01347300 876.14551285 + 4 3.25680498 -1144.52462196 + 4 59.52152812 -386.35474053 +8 + 2 48.08520852 142.97388030 + 2 49.90034500 -128.80933064 + 3 11.18440029 -186.15554307 + 3 5.04653753 180.45159943 + 3 85.01391269 5.70394364 + 4 3.06268644 101.90155258 + 4 3.55821337 -238.17133323 + 4 22.24622222 583.56858981 + +Zn GEN 12 2 +8 + 1 16.25309578 18.00000000 + 2 3.04359000 -62.06001046 + 2 52.31604625 8.22443626 + 3 4.12635237 284.31836352 + 3 129.68855961 8.23736049 + 4 7.94323624 11442.99692797 + 4 7.74821809 -11664.25528103 + 4 34.44853266 462.64311342 +8 + 2 3.16683649 140.30017448 + 2 14.80839343 -108.24959569 + 3 43.94225321 88.79372352 + 3 3.34122685 949.52154936 + 3 8.34153430 -1038.31527288 + 4 18.34782011 780.81282740 + 4 4.00418064 -1958.42831296 + 4 597.07325481 18.92059615 +8 + 2 5.16678579 664.93623774 + 2 11.88724380 -651.12455824 + 3 7.96788974 930.96426186 + 3 5.27302550 -913.07841414 + 3 127.63757255 -17.88584772 + 4 37.54266998 3275.61040524 + 4 9.90068894 -3957.43240479 + 4 37.33250038 -3622.67126499 + From 809cf9b0450e19e089057861502e484f896d064a Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 4 Apr 2016 11:48:13 +0200 Subject: [PATCH 15/24] Added more atoms in pseudo --- data/pseudo/tn_df | 141 ++++++++++++++++++++++++++++++++++++++++++++++ data/pseudo/tn_hf | 141 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 282 insertions(+) diff --git a/data/pseudo/tn_df b/data/pseudo/tn_df index 89334e23..2ba941be 100644 --- a/data/pseudo/tn_df +++ b/data/pseudo/tn_df @@ -642,3 +642,144 @@ Kr GEN 28 2 43280.45283221 2 3.10363880 -3468.93856436 2 3.63224008 +Al GEN 10 2 +6 + 3.00000000 1 0.91821413 + -12.79791788 2 1.10715442 + 7.32796626 2 2.03989390 + -52053.92058080 2 2.04204466 + 52054.92058080 2 2.04199047 + 2.75464240 3 0.94029840 +6 + -42.72903905 2 1.99445589 + 47.15203530 2 1.12469986 + 3231.39534748 2 1.72843552 + -398.06113457 2 1.37872018 + 6652.21368423 2 1.92811339 + -9484.54780105 2 1.87995009 +6 + 830.07508675 2 1.87943518 + -827.97758021 2 1.42508183 + -1235.04705829 2 1.80941062 + -21.40768628 2 0.95469299 + 154.21154335 2 1.20079877 + 1103.24388863 2 1.53169350 + +Si GEN 10 2 +6 + 4.00000000 1 1.22418085 + 40.72596063 2 2.05337336 + -48.11509746 2 1.71412850 + -37.28006653 2 2.41395005 + 38.28006653 2 2.32084434 + 4.89672339 3 1.35299631 +6 + -7.68509694 2 1.13070385 + 13.98411213 2 1.16859753 + -116498.38332824 2 2.36994226 + -9121.48068622 2 2.16734100 + 31941.11999828 2 2.44879942 + 93679.74429067 2 2.32322104 +6 + 41248.64599856 2 1.86811003 + -41245.51022334 2 2.10179754 + -60.37864776 2 1.33467919 + 4180.55486914 2 2.29835912 + -142125.41164262 2 1.93345601 + 138006.23630568 2 1.99192523 + +P GEN 10 2 +6 + 5.00000000 1 3.71332384 + -13724.87406260 2 3.31759335 + 13714.20593187 2 3.65850189 + -19470.81568886 2 3.61426447 + 19471.81568886 2 3.37579099 + 18.56661922 3 2.21831587 +6 + -1411.99322697 2 3.20289077 + 1421.31824558 2 2.14807352 + 576236.74902855 2 2.65372234 + -397754.23263905 2 2.69778221 + -194403.08693812 2 2.58386669 + 15921.57087605 2 2.99361065 +6 + 64.03084909 2 2.59482433 + -58.63734715 2 3.43313766 + 365.80442210 2 2.95557705 + -12.13895471 2 1.75387879 + 158.27628825 2 3.69699906 + -510.94109430 2 3.15077203 + +S GEN 10 2 +6 + 6.00000000 1 2.51977085 + -84.83332404 2 3.22007986 + 70.54487302 2 4.71655238 + 3581.56671658 2 4.39998291 + -3580.56671658 2 4.41784559 + 15.11862509 3 2.54586294 +6 + -231.72652822 2 4.61819246 + 244.26248418 2 2.30938314 + -920.53494189 2 2.65072450 + 2410.83323256 2 3.31119070 + -2429.46016726 2 3.80226712 + 940.16251250 2 4.46824294 +6 + 957.88712772 2 4.48874898 + -950.12559451 2 3.37845034 + 6481.05990210 2 3.83307173 + -157.23448173 2 1.92699416 + 186.18956071 2 1.98946862 + -6509.01396292 2 3.99439281 + +Cl GEN 10 2 +6 + 7.00000000 1 6.06473582 + -454.17116717 2 5.57110302 + 436.13184861 2 5.26917938 + -712.97599461 2 4.62455647 + 713.97599461 2 4.94326867 + 42.45315074 3 3.47635853 +6 + 3561.38023524 2 4.48278574 + -3545.84042135 2 3.43372818 + -348465.51723117 2 3.74855830 + 12627.08188052 2 3.20650110 + 404246.19776785 2 3.70673786 + -68406.76197098 2 3.45681590 +6 + 19.30024745 2 3.79400952 + -9.26766424 2 3.06020678 + 508.81151546 2 4.47438492 + -7.59455659 2 2.43219723 + -757.15587217 2 4.97983429 + 256.93953188 2 5.71145786 + +Ar GEN 10 2 +6 + 8.00000000 1 3.61306766 + 326.13269394 2 4.01911273 + -346.66642426 2 5.31624938 + -7083.13498801 2 4.62848435 + 7084.13498801 2 4.70295676 + 28.90454131 3 3.84612203 +6 + 323.59441180 2 3.28236424 + -306.35028843 2 3.72212609 + -6283.46399338 2 4.23452843 + 435312.63926384 2 4.90386840 + 20087.00527001 2 5.30220051 + -449115.17955704 2 4.93088566 +6 + -2470.88386165 2 5.66191962 + 2481.68427537 2 4.62960722 + 48097.69821672 2 2.45115265 + -48060.46858390 2 2.45082141 + -1386.79918148 2 4.23753203 + 1350.57102634 2 6.12344921 + + + + diff --git a/data/pseudo/tn_hf b/data/pseudo/tn_hf index ca64435a..a036558a 100644 --- a/data/pseudo/tn_hf +++ b/data/pseudo/tn_hf @@ -642,3 +642,144 @@ Kr GEN 28 2 -27094.88743738 2 3.99199621 7239.94695795 2 5.23539786 +Al GEN 10 2 +6 + 3.00000000 1 0.90167530 + -12.07740634 2 1.08338853 + 6.60507677 2 2.07851308 + -13877404.00590185 2 2.08053590 + 13877405.00590186 2 2.08053570 + 2.70502591 3 0.92748596 +6 + -41.26842670 2 2.04866185 + 45.70193781 2 1.11866688 + 2946.69575922 2 1.71721106 + -376.01922297 2 1.36753958 + 4331.41613799 2 1.93292012 + -6901.09265568 2 1.86705782 +6 + 504.79904464 2 1.88548919 + -502.69536383 2 1.42616967 + -769.46860271 2 1.80548694 + -17.66088618 2 0.95520911 + 101.43853505 2 1.20112583 + 686.69150206 2 1.52824179 + +Si GEN 10 2 +6 + 4.00000000 1 2.54461774 + -2902.58084906 2 2.24978528 + 2895.18838752 2 2.53789008 + 7161.72254279 2 2.34887222 + -7160.72254279 2 2.46336277 + 10.17847098 3 1.52421025 +6 + 4.24352962 2 1.08064949 + 2.05989979 2 1.33341749 + 88608.14855737 2 2.39993059 + -849.93508619 2 1.92845396 + -1434647.87047626 2 2.35634772 + 1346890.65714548 2 2.35320332 +6 + -15264.86061936 2 1.82998100 + 15267.99758945 2 1.91566514 + -0.49522434 2 1.35066217 + 2807.17037795 2 2.16756956 + 6912.45723497 2 1.79762600 + -9718.13169060 2 2.03990309 + +P GEN 10 2 +6 + 5.00000000 1 2.20104239 + -14571.76154266 2 3.30954781 + 14561.08785293 2 3.65491917 + -21023.88213100 2 3.60582863 + 21024.88213100 2 3.36814532 + 11.00521195 3 2.06883762 +6 + -214.99423753 2 3.00175595 + 224.31212541 2 1.90508764 + -1320.42895216 2 2.23252373 + 2262.27394007 2 2.56842585 + -5217.11058123 2 3.22957222 + 4276.26614237 2 3.32169865 +6 + -4655.41288683 2 1.51251059 + 4660.80718311 2 1.51289861 + -994.25816078 2 3.31761981 + -19.30793578 2 2.04639527 + 311.57919748 2 3.70626860 + 702.98798215 2 3.09154453 + +S GEN 10 2 +6 + 6.00000000 1 3.76431332 + 518.21506704 2 2.91975646 + -532.35656437 2 2.26777538 + 14394.84387811 2 2.49556645 + -14393.84387811 2 2.51698479 + 22.58587994 3 2.71241239 +6 + -104.19902150 2 4.55895180 + 116.57081427 2 2.10503756 + -994.81335242 2 2.63814508 + 2203.13414043 2 3.11140569 + -1617.61176296 2 3.62963239 + 410.29160018 2 4.55921172 +6 + 723.09548214 2 4.48128068 + -715.46568241 2 3.35956681 + 9063.41201304 2 3.83857196 + -16.38228027 2 1.92699416 + 44.06704522 2 2.30670170 + -9090.09577098 2 3.92706305 + +Cl GEN 10 2 +6 + 7.00000000 1 4.77392870 + 719885.76609499 2 4.74019033 + -719903.82223984 2 4.74189768 + -37102.89380181 2 4.67979490 + 37103.89380181 2 4.71510215 + 33.41750090 3 3.29732864 +6 + 959.05010082 2 5.01134618 + -943.54843009 2 3.64529189 + -6456.16063099 2 4.20510279 + 637.70704529 2 2.74283267 + -1479.66774202 2 3.00605599 + 7299.12201388 2 3.90198120 +6 + -121.63220275 2 3.86324469 + 131.70125226 2 3.08695111 + 5447.27282828 2 5.92092153 + -52.94814165 2 2.63467524 + 559.83762330 2 5.08437179 + -5953.16139883 2 5.86183616 + +Ar GEN 10 2 +6 + 8.00000000 1 5.17746158 + -76.72264736 2 5.90884243 + 56.16280755 2 3.53735685 + -660.63282107 2 4.53072721 + 661.63282107 2 4.90879705 + 41.41969264 3 3.95156133 +6 + 496.48392385 2 3.21092458 + -479.29969508 2 3.39224537 + -12086.26924659 2 4.28061928 + 37151.97923364 2 4.62803105 + 496310.90908097 2 5.10487541 + -521375.61810527 2 5.08995306 +6 + -1901.02320099 2 5.53714820 + 1911.87432982 2 4.52372637 + -127.53875733 2 2.45115265 + 198.78501467 2 2.62001527 + -976.26297293 2 3.97593759 + 906.01814260 2 6.12659776 + + + + From 177bcb0854b5a70a774b716c24b12a981b5fb468 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 4 Apr 2016 12:25:47 +0200 Subject: [PATCH 16/24] Corrected pseudos --- data/pseudo/tn_df_sc | 482 ++++++++++++++++++++++--------------------- 1 file changed, 242 insertions(+), 240 deletions(-) diff --git a/data/pseudo/tn_df_sc b/data/pseudo/tn_df_sc index be9f5fa9..aa3234af 100644 --- a/data/pseudo/tn_df_sc +++ b/data/pseudo/tn_df_sc @@ -1,290 +1,292 @@ Sc GEN 12 2 8 - 1 18.44478556 9.00000000 - 2 1.72227091 -28.08765281 - 2 38.78217945 6.39250114 - 3 4.25767220 135.57316128 - 3 30.59237471 30.42990876 - 4 3.04901650 732.69856731 - 4 3.26586693 -839.18407578 - 4 19.55311974 306.02608763 + 9.00000000 1 18.44478556 + -28.08765281 2 1.72227091 + 6.39250114 2 38.78217945 + 135.57316128 3 4.25767220 + 30.42990876 3 30.59237471 + 732.69856731 4 3.04901650 + -839.18407578 4 3.26586693 + 306.02608763 4 19.55311974 8 - 2 28.84167604 -0.66275990 - 2 2.35022973 15.34001225 - 3 2.36887926 -2135.70086146 - 3 1.53860208 -272.32226474 - 3 2.24659807 2408.02312621 - 4 3.20659052 101.49528202 - 4 1.65816906 2308.19070504 - 4 1.70062176 -2392.74854053 + -0.66275990 2 28.84167604 + 15.34001225 2 2.35022973 + -2135.70086146 3 2.36887926 + -272.32226474 3 1.53860208 + 2408.02312621 3 2.24659807 + 101.49528202 4 3.20659052 + 2308.19070504 4 1.65816906 + -2392.74854053 4 1.70062176 8 - 2 1.38158346 253.56902450 - 2 7.79906720 -244.79525414 - 3 3.46268859 613.28437434 - 3 1.44953060 -167.40250936 - 3 4.19986338 -445.88186498 - 4 2.84253773 -558.92885001 - 4 8.10103826 -139.52186395 - 4 5.29686620 -860.39715397 + 253.56902450 2 1.38158346 + -244.79525414 2 7.79906720 + 613.28437434 3 3.46268859 + -167.40250936 3 1.44953060 + -445.88186498 3 4.19986338 + -558.92885001 4 2.84253773 + -139.52186395 4 8.10103826 + -860.39715397 4 5.29686620 Ti GEN 12 2 8 - 1 22.29649672 10.00000000 - 2 6.07562013 -72305.15340277 - 2 7.08549167 72279.39956641 - 3 1.85317121 -5.38004642 - 3 11.48488557 228.34501358 - 4 6.58565089 72347.84359974 - 4 10.79509368 -36.31015055 - 4 4.36759114 524.90430538 + 10.00000000 1 22.29649672 + -72305.15340277 2 6.07562013 + 72279.39956641 2 7.08549167 + -5.38004642 3 1.85317121 + 228.34501358 3 11.48488557 + 72347.84359974 4 6.58565089 + -36.31015055 4 10.79509368 + 524.90430538 4 4.36759114 8 - 2 1.90199524 -1486.27686725 - 2 3.17280244 1504.05739312 - 3 7.28185273 -346.63236251 - 3 1.60782556 297.60206194 - 3 31.70876802 49.03030057 - 4 2.57136209 1363.17044217 - 4 15.10326471 173.13661454 - 4 10.51280239 408.87838151 + -1486.27686725 2 1.90199524 + 1504.05739312 2 3.17280244 + -346.63236251 3 7.28185273 + 297.60206194 3 1.60782556 + 49.03030057 3 31.70876802 + 1363.17044217 4 2.57136209 + 173.13661454 4 15.10326471 + 408.87838151 4 10.51280239 8 - 2 4.79017059 770.58828172 - 2 16.39428027 -760.06500844 - 3 2.73641831 4131.47101858 - 3 1.26533109 -2.86068712 - 3 2.75566672 -4128.61033146 - 4 13.54811035 -4681.55429918 - 4 3.18165696 -216.64417046 - 4 7.38011991 -3871.27097394 + 770.58828172 2 4.79017059 + -760.06500844 2 16.39428027 + 4131.47101858 3 2.73641831 + -2.86068712 3 1.26533109 + -4128.61033146 3 2.75566672 + -4681.55429918 4 13.54811035 + -216.64417046 4 3.18165696 + -3871.27097394 4 7.38011991 V GEN 12 2 8 - 1 7.61152016 11.00000000 - 2 3.39807975 -2254.24090893 - 2 6.97361870 2224.02899636 - 3 4.55862146 -110446453.80565737 - 3 4.55862102 110446537.53237911 - 4 3.96488312 3279.23908558 - 4 5.79893896 110445429.80748074 - 4 5.79892709 -110440859.60674113 + 11.00000000 1 7.61152016 + -2254.24090893 2 3.39807975 + 2224.02899636 2 6.97361870 + -110446453.80565737 3 4.55862146 + 110446537.53237911 3 4.55862102 + 3279.23908558 4 3.96488312 + 110445429.80748074 4 5.79893896 + -110440859.60674113 4 5.79892709 8 - 2 1.90936932 793493.20383269 - 2 1.96341714 -793472.27490442 - 3 5.49944355 -208.86387558 - 3 4.42141770 258.48298732 - 3 2.27427679 -49.61911175 - 4 1.93670396 -42873.55595686 - 4 13.81929388 -750668.26686351 - 4 13.81951796 750696.33209725 + 793493.20383269 2 1.90936932 + -793472.27490442 2 1.96341714 + -208.86387558 3 5.49944355 + 258.48298732 3 4.42141770 + -49.61911175 3 2.27427679 + -42873.55595686 4 1.93670396 + -750668.26686351 4 13.81929388 + 750696.33209725 4 13.81951796 8 - 2 2.73920868 563.75098077 - 2 8.34159772 -551.25384718 - 3 6.86565518 565.60881231 - 3 7.02672916 -552.54712531 - 3 1.72160118 -13.06168700 - 4 5.21722741 766.15325384 - 4 3.64504781 -1341.96583800 - 4 6.45896159 -2478.29367021 + 563.75098077 2 2.73920868 + -551.25384718 2 8.34159772 + 565.60881231 3 6.86565518 + -552.54712531 3 7.02672916 + -13.06168700 3 1.72160118 + 766.15325384 4 5.21722741 + -1341.96583800 4 3.64504781 + -2478.29367021 4 6.45896159 Cr GEN 12 2 8 - 1 37.30558989 12.00000000 - 2 2.72495980 -31.65683900 - 2 82.35078893 -3.82112970 - 3 5.03605834 -1340.05228092 - 3 8.49223479 1787.71935961 - 4 5.05934149 1670.38275859 - 4 11.22316422 -297.67363866 - 4 12.78798168 -1773.64577915 + 12.00000000 1 37.30558989 + -31.65683900 2 2.72495980 + -3.82112970 2 82.35078893 + -1340.05228092 3 5.03605834 + 1787.71935961 3 8.49223479 + 1670.38275859 4 5.05934149 + -297.67363866 4 11.22316422 + -1773.64577915 4 12.78798168 8 - 2 2.01494487 1321.32584937 - 2 9.11769637 -1297.16280545 - 3 2.74640213 172456.79432585 - 3 2.73601029 -172130.54143941 - 3 8.22966405 -326.25288644 - 4 8.93660753 3318.19479259 - 4 4.18996691 -4964.77333719 - 4 8.08712175 -7518.15931266 + 1321.32584937 2 2.01494487 + -1297.16280545 2 9.11769637 + 172456.79432585 3 2.74640213 + -172130.54143941 3 2.73601029 + -326.25288644 3 8.22966405 + 3318.19479259 4 8.93660753 + -4964.77333719 4 4.18996691 + -7518.15931266 4 8.08712175 8 - 2 2.13852920 426.08303476 - 2 6.95873057 -410.95463497 - 3 10.51865586 -26339.61341213 - 3 10.59655900 27348.01671881 - 3 12.57249470 -1008.40330668 - 4 3.81958382 -1190.97633771 - 4 2.30397730 -242.50982893 - 4 8.50147041 -515.04540222 + 426.08303476 2 2.13852920 + -410.95463497 2 6.95873057 + -26339.61341213 3 10.51865586 + 27348.01671881 3 10.59655900 + -1008.40330668 3 12.57249470 + -1190.97633771 4 3.81958382 + -242.50982893 4 2.30397730 + -515.04540222 4 8.50147041 Mn GEN 12 2 8 - 1 5.18371402 13.00000000 - 2 5.06065032 -578541.89058487 - 2 6.70792867 578503.38848415 - 3 6.17952209 -51913.84692424 - 3 6.17539491 51981.23520653 - 4 6.42176078 363344.02202434 - 4 5.85884127 267112.71548476 - 4 5.30004030 322304.52239107 + 13.00000000 1 5.18371402 + -578541.89058487 2 5.06065032 + 578503.38848415 2 6.70792867 + -51913.84692424 3 6.17952209 + 51981.23520653 3 6.17539491 + 363344.02202434 4 6.42176078 + 267112.71548476 4 5.85884127 + 322304.52239107 4 5.30004030 8 - 2 2.36735511 1419.16815158 - 2 10.44777616 -1393.80593768 - 3 3.38832573 90835.30824196 - 3 3.33976449 -87236.54130341 - 3 4.59371397 -3598.76693855 - 4 4.53305698 -6244.54083570 - 4 6.80451212 1227.60592152 - 4 8.40561309 -6185.56255228 + 1419.16815158 2 2.36735511 + -1393.80593768 2 10.44777616 + 90835.30824196 3 3.38832573 + -87236.54130341 3 3.33976449 + -3598.76693855 3 4.59371397 + -6244.54083570 4 4.53305698 + 1227.60592152 4 6.80451212 + -6185.56255228 4 8.40561309 8 - 2 2.94114594 4024.75281098 - 2 7.86104996 -4009.68099577 - 3 5.47734943 6036.24229971 - 3 7.26632213 597.55987937 - 3 5.64966653 -6633.80217908 - 4 4.35053539 -8536.73955532 - 4 3.10976563 -2120.81538582 - 4 6.88076377 -9025.36229250 + 4024.75281098 2 2.94114594 + -4009.68099577 2 7.86104996 + 6036.24229971 3 5.47734943 + 597.55987937 3 7.26632213 + -6633.80217908 3 5.64966653 + -8536.73955532 4 4.35053539 + -2120.81538582 4 3.10976563 + -9025.36229250 4 6.88076377 Fe GEN 12 2 8 - 1 5.12237041 14.00000000 - 2 2.51511645 -40.17016318 - 2 68.88205922 -1.31093574 - 3 8.04518971 233.53970769 - 3 11.87602774 -161.82652195 - 4 5.09693593 -1791.82033120 - 4 4.72210640 1599.45078669 - 4 1.70594204 1.03695301 + 14.00000000 1 5.12237041 + -40.17016318 2 2.51511645 + -1.31093574 2 68.88205922 + 233.53970769 3 8.04518971 + -161.82652195 3 11.87602774 + -1791.82033120 4 5.09693593 + 1599.45078669 4 4.72210640 + 1.03695301 4 1.70594204 8 - 2 1.98046097 26.70612465 - 2 129.99498266 0.57578912 - 3 2.39996246 3039.39666376 - 3 2.43500497 -3165.32503397 - 3 5.42607639 125.92837021 - 4 8.00515516 -291.65810402 - 4 5.38996549 391.88052787 - 4 21.57361672 27.51771082 + 26.70612465 2 1.98046097 + 0.57578912 2 129.99498266 + 3039.39666376 3 2.39996246 + -3165.32503397 3 2.43500497 + 125.92837021 3 5.42607639 + -291.65810402 4 8.00515516 + 391.88052787 4 5.38996549 + 27.51771082 4 21.57361672 8 - 2 2.73200743 624.99065580 - 2 8.14205971 -610.14663705 - 3 6.81776145 1017.89543597 - 3 25.88593190 -40.92293045 - 3 5.88766735 -976.97250552 - 4 3.94271278 -1433.26030940 - 4 2.68547503 -167.70300401 - 4 8.24853344 -1659.40792313 + 624.99065580 2 2.73200743 + -610.14663705 2 8.14205971 + 1017.89543597 3 6.81776145 + -40.92293045 3 25.88593190 + -976.97250552 3 5.88766735 + -1433.26030940 4 3.94271278 + -167.70300401 4 2.68547503 + -1659.40792313 4 8.24853344 Co GEN 12 2 8 - 1 7.54679164 15.00000000 - 2 3.67362404 144513.79744165 - 2 4.84501436 -144558.25171900 - 3 2.40342575 107.53071842 - 3 26.17864786 5.67115611 - 4 3.80837544 -58433.23776581 - 4 4.51680318 -86187.09039425 - 4 4.40937071 -24877.11683436 + 15.00000000 1 7.54679164 + 144513.79744165 2 3.67362404 + -144558.25171900 2 4.84501436 + 107.53071842 3 2.40342575 + 5.67115611 3 26.17864786 + -58433.23776581 4 3.80837544 + -86187.09039425 4 4.51680318 + -24877.11683436 4 4.40937071 8 - 2 2.24610518 95.23258759 - 2 5.03497074 -66.50913381 - 3 3.22714612 5039.10184384 - 3 4.39051698 106438.82887427 - 3 4.34028955 -111477.93071810 - 4 3.35420522 -3416.23892647 - 4 5.08283495 -108155.92422115 - 4 5.04411598 111451.19401338 + 95.23258759 2 2.24610518 + -66.50913381 2 5.03497074 + 5039.10184384 3 3.22714612 + 106438.82887427 3 4.39051698 + -111477.93071810 3 4.34028955 + -3416.23892647 4 3.35420522 + -108155.92422115 4 5.08283495 + 111451.19401338 4 5.04411598 8 - 2 4.48956443 595.60664332 - 2 7.69628175 -581.05689813 - 3 3.90883087 -1377.49199281 - 3 4.85597858 825.53641688 - 3 2.42496884 551.95557593 - 4 2.48937518 -403.44284159 - 4 7.08237042 360.79216631 - 4 7.01264199 -1755.31252545 + 595.60664332 2 4.48956443 + -581.05689813 2 7.69628175 + -1377.49199281 3 3.90883087 + 825.53641688 3 4.85597858 + 551.95557593 3 2.42496884 + -403.44284159 4 2.48937518 + 360.79216631 4 7.08237042 + -1755.31252545 4 7.01264199 Ni GEN 12 2 8 - 1 7.69817381 16.00000000 - 2 7.53303210 1050.11428773 - 2 25.60798551 -1144.28791364 - 3 13.90272560 13641.04856576 - 3 14.02243059 -13517.87778478 - 4 5.40919366 -99.93959073 - 4 19.39187326 -14590.22326277 - 4 10.04177364 -6702.20081903 + 16.00000000 1 7.69817381 + 1050.11428773 2 7.53303210 + -1144.28791364 2 25.60798551 + 13641.04856576 3 13.90272560 + -13517.87778478 3 14.02243059 + -99.93959073 4 5.40919366 + -14590.22326277 4 19.39187326 + -6702.20081903 4 10.04177364 8 - 2 3.00959957 -137324.04248861 - 2 2.97820277 137399.59146577 - 3 3.20429852 137895.50489379 - 3 8.22563766 -1036.38091066 - 3 3.17346613 -136859.12398313 - 4 18.22958633 1370.72380067 - 4 6.63637638 -904.80564965 - 4 4.01705177 -4552.45338879 + -137324.04248861 2 3.00959957 + 137399.59146577 2 2.97820277 + 137895.50489379 3 3.20429852 + -1036.38091066 3 8.22563766 + -136859.12398313 3 3.17346613 + 1370.72380067 4 18.22958633 + -904.80564965 4 6.63637638 + -4552.45338879 4 4.01705177 8 - 2 15.14825706 -315.28909178 - 2 5.57172908 371.76324185 - 3 2.88437623 471.27416207 - 3 3.75784965 165.43855728 - 3 3.41699124 -636.71271936 - 4 5.67830819 -172.18113847 - 4 2.70288433 -148.24251004 - 4 8.91177457 -2384.29249546 + -315.28909178 2 15.14825706 + 371.76324185 2 5.57172908 + 471.27416207 3 2.88437623 + 165.43855728 3 3.75784965 + -636.71271936 3 3.41699124 + -172.18113847 4 5.67830819 + -148.24251004 4 2.70288433 + -2384.29249546 4 8.91177457 Cu GEN 12 2 8 - 1 14.72121260 17.00000000 - 2 173.23217215 0.43564135 - 2 2.58024469 -51.26559465 - 3 80.09883693 3.82433122 - 3 9.08368916 246.43628291 - 4 4.49885474 6456.72306266 - 4 4.56436500 -6459.98303523 - 4 20.14135032 -53.55070822 + 17.00000000 1 14.72121260 + 0.43564135 2 173.23217215 + -51.26559465 2 2.58024469 + 3.82433122 3 80.09883693 + 246.43628291 3 9.08368916 + 6456.72306266 4 4.49885474 + -6459.98303523 4 4.56436500 + -53.55070822 4 20.14135032 8 - 2 104.42478595 -7.61322720 - 2 3.64199543 38.51618543 - 3 52.46064977 -12.00344193 - 3 4.33410703 288.99573247 - 3 8.38373584 -276.99229053 - 4 3.01347300 876.14551285 - 4 3.25680498 -1144.52462196 - 4 59.52152812 -386.35474053 + -7.61322720 2 104.42478595 + 38.51618543 2 3.64199543 + -12.00344193 3 52.46064977 + 288.99573247 3 4.33410703 + -276.99229053 3 8.38373584 + 876.14551285 4 3.01347300 + -1144.52462196 4 3.25680498 + -386.35474053 4 59.52152812 8 - 2 48.08520852 142.97388030 - 2 49.90034500 -128.80933064 - 3 11.18440029 -186.15554307 - 3 5.04653753 180.45159943 - 3 85.01391269 5.70394364 - 4 3.06268644 101.90155258 - 4 3.55821337 -238.17133323 - 4 22.24622222 583.56858981 + 142.97388030 2 48.08520852 + -128.80933064 2 49.90034500 + -186.15554307 3 11.18440029 + 180.45159943 3 5.04653753 + 5.70394364 3 85.01391269 + 101.90155258 4 3.06268644 + -238.17133323 4 3.55821337 + 583.56858981 4 22.24622222 Zn GEN 12 2 8 - 1 16.25309578 18.00000000 - 2 3.04359000 -62.06001046 - 2 52.31604625 8.22443626 - 3 4.12635237 284.31836352 - 3 129.68855961 8.23736049 - 4 7.94323624 11442.99692797 - 4 7.74821809 -11664.25528103 - 4 34.44853266 462.64311342 + 18.00000000 1 16.25309578 + -62.06001046 2 3.04359000 + 8.22443626 2 52.31604625 + 284.31836352 3 4.12635237 + 8.23736049 3 129.68855961 + 11442.99692797 4 7.94323624 + -11664.25528103 4 7.74821809 + 462.64311342 4 34.44853266 8 - 2 3.16683649 140.30017448 - 2 14.80839343 -108.24959569 - 3 43.94225321 88.79372352 - 3 3.34122685 949.52154936 - 3 8.34153430 -1038.31527288 - 4 18.34782011 780.81282740 - 4 4.00418064 -1958.42831296 - 4 597.07325481 18.92059615 + 140.30017448 2 3.16683649 + -108.24959569 2 14.80839343 + 88.79372352 3 43.94225321 + 949.52154936 3 3.34122685 + -1038.31527288 3 8.34153430 + 780.81282740 4 18.34782011 + -1958.42831296 4 4.00418064 + 18.92059615 4 597.07325481 8 - 2 5.16678579 664.93623774 - 2 11.88724380 -651.12455824 - 3 7.96788974 930.96426186 - 3 5.27302550 -913.07841414 - 3 127.63757255 -17.88584772 - 4 37.54266998 3275.61040524 - 4 9.90068894 -3957.43240479 - 4 37.33250038 -3622.67126499 + 664.93623774 2 5.16678579 + -651.12455824 2 11.88724380 + 930.96426186 3 7.96788974 + -913.07841414 3 5.27302550 + -17.88584772 3 127.63757255 + 3275.61040524 4 37.54266998 + -3957.43240479 4 9.90068894 + -3622.67126499 4 37.33250038 + + From b4b8a01be308689f9088e652149d65fefbbc2ebf Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 6 Apr 2016 21:23:26 +0200 Subject: [PATCH 17/24] Corrected libint bug --- ocaml/Basis.ml | 6 ++---- plugins/Hartree_Fock/debug_libint.irp.f | 2 +- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/ocaml/Basis.ml b/ocaml/Basis.ml index c2675c57..869fb132 100644 --- a/ocaml/Basis.ml +++ b/ocaml/Basis.ml @@ -60,10 +60,8 @@ let to_string_gamess = to_string_general ~fmt:Gto.Gamess ~atom_sep:"" let to_string_gaussian b = - String.concat ~sep:"\n" [ "****" ; - to_string_general ~fmt:Gto.Gaussian ~atom_sep:"****" b ; - "****" - ] + String.concat ~sep:"\n" + [ to_string_general ~fmt:Gto.Gaussian ~atom_sep:"****" b ; "****" ] let to_string ?(fmt=Gto.Gamess) = match fmt with diff --git a/plugins/Hartree_Fock/debug_libint.irp.f b/plugins/Hartree_Fock/debug_libint.irp.f index 14bfb33b..7984d62c 100644 --- a/plugins/Hartree_Fock/debug_libint.irp.f +++ b/plugins/Hartree_Fock/debug_libint.irp.f @@ -87,6 +87,7 @@ ref = ao_bielec_integral(bf1,bf2,bf3,bf4) + if ( (ABS(ABS(ref) - ABS(libint)) >= 1.e-6) ) THEN print*, bf1,bf2,bf3,bf4 print*,"r", ref print*,"l", libint @@ -94,7 +95,6 @@ print*,"l/r", libint/ref print*,"n", norm - if ( (ABS(ABS(ref) - ABS(libint)) >= 1.e-6) ) THEN call exit(1) end if From 0a226a83f1447c2a76250cc5d7a6ed2c1b0c803a Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Sat, 16 Apr 2016 22:25:35 +0200 Subject: [PATCH 18/24] Not working --- scripts/ezfio_interface/qp_edit_template | 2 +- src/Integrals_Bielec/NEEDED_CHILDREN_MODULES | 2 +- src/Integrals_Bielec/ao_bi_integrals.irp.f | 141 ++++++++++++++++--- 3 files changed, 126 insertions(+), 19 deletions(-) diff --git a/scripts/ezfio_interface/qp_edit_template b/scripts/ezfio_interface/qp_edit_template index b580355b..212c1648 100644 --- a/scripts/ezfio_interface/qp_edit_template +++ b/scripts/ezfio_interface/qp_edit_template @@ -180,6 +180,7 @@ let run check_only ezfio_filename = | None -> "vi" in + Libint.write_files (!Ezfio.ezfio_filename); match check_only with | true -> () | false -> @@ -193,7 +194,6 @@ let run check_only ezfio_filename = In_channel.input_all in_channel) in List.iter ~f:(fun x -> set temp_string x) tasks; - Libint.write_files (!Ezfio.ezfio_filename); (* Remove temp_file *) Sys.remove temp_filename diff --git a/src/Integrals_Bielec/NEEDED_CHILDREN_MODULES b/src/Integrals_Bielec/NEEDED_CHILDREN_MODULES index 152711f3..6aace6f2 100644 --- a/src/Integrals_Bielec/NEEDED_CHILDREN_MODULES +++ b/src/Integrals_Bielec/NEEDED_CHILDREN_MODULES @@ -1 +1 @@ -Pseudo Bitmask ZMQ +Pseudo Bitmask ZMQ Integrals_Monoelec diff --git a/src/Integrals_Bielec/ao_bi_integrals.irp.f b/src/Integrals_Bielec/ao_bi_integrals.irp.f index f2c365ae..b6446a40 100644 --- a/src/Integrals_Bielec/ao_bi_integrals.irp.f +++ b/src/Integrals_Bielec/ao_bi_integrals.irp.f @@ -375,29 +375,136 @@ BEGIN_PROVIDER [ logical, ao_bielec_integrals_in_map ] integer(ZMQ_PTR) :: zmq_to_qp_run_socket character*(32) :: task - call new_parallel_job(zmq_to_qp_run_socket,'ao_integrals') + if (.not.has_libint) then - do l=1,ao_num - write(task,*) l - call add_task_to_taskserver(zmq_to_qp_run_socket,task) - enddo + call new_parallel_job(zmq_to_qp_run_socket,'ao_integrals') - integer(ZMQ_PTR) :: collector_thread - external :: ao_bielec_integrals_in_map_collector - rc = pthread_create(collector_thread, ao_bielec_integrals_in_map_collector) + do l=1,ao_num + write(task,*) l + call add_task_to_taskserver(zmq_to_qp_run_socket,task) + enddo - !$OMP PARALLEL DEFAULT(private) - !$OMP TASK PRIVATE(i) - i = omp_get_thread_num() - call ao_bielec_integrals_in_map_slave_inproc(i) - !$OMP END TASK - !$OMP TASKWAIT - !$OMP END PARALLEL + integer(ZMQ_PTR) :: collector_thread + external :: ao_bielec_integrals_in_map_collector + rc = pthread_create(collector_thread, ao_bielec_integrals_in_map_collector) - rc = pthread_join(collector_thread) + !$OMP PARALLEL DEFAULT(private) + !$OMP TASK PRIVATE(i) + i = omp_get_thread_num() + call ao_bielec_integrals_in_map_slave_inproc(i) + !$OMP END TASK + !$OMP TASKWAIT + !$OMP END PARALLEL - call end_parallel_job(zmq_to_qp_run_socket, 'ao_integrals') + rc = pthread_join(collector_thread) + call end_parallel_job(zmq_to_qp_run_socket, 'ao_integrals') + + else + + double precision, allocatable :: buffer_int(:) + + PROVIDE has_libint + + integer :: s1, s2,s3,s4 + integer :: bf1,bf2,bf3,bf4 + integer :: bf1_begin,bf2_begin,bf3_begin,bf4_begin + integer :: bf1_end,bf2_end,bf3_end,bf4_end + integer :: n1,n2,n3,n4 + integer :: f1,f2,f3,f4,f1234 + + ! =================== ! + ! Loop over the shell ! + ! =================== ! + + do s1 = 1, shell_num + + print*, s1, "/", shell_num + + bf1_begin = shell_idx(1,s1) + bf1_end = shell_idx(2,s1) + n1 = 1 + bf1_end - bf1_begin + + do s2 = 1, shell_num + + bf2_begin = shell_idx(1,s2) + bf2_end = shell_idx(2,s2) + n2 = 1 + bf2_end - bf2_begin + + do s3 = 1, shell_num + + bf3_begin = shell_idx(1,s3) + bf3_end = shell_idx(2,s3) + n3 = 1 + bf3_end - bf3_begin + + do s4 = 1, shell_num + + bf4_begin = shell_idx(1,s4) + bf4_end = shell_idx(2,s4) + n4 = 1 + bf4_end - bf4_begin + + ! ========================== ! + ! Compute the shell integral ! + ! ========================== ! + integer :: sze + sze = n1*n2*n3*n4 + allocate(buffer_int(sze)) + allocate(buffer_i(sze)) + allocate(buffer_value(sze)) + call compute_ao_bielec_integrals_shell(s1,s2,s3,s4,sze,buffer_int) + + ! ============================ ! + ! Loop over the basis function ! + ! ============================ ! + + do bf1 = bf1_begin, bf1_end + do bf2 = bf2_begin, bf2_end + do bf3 = bf3_begin, bf3_end + do bf4 = bf4_begin, bf4_end + + f1 = bf1 - bf1_begin + f2 = bf2 - bf2_begin + f3 = bf3 - bf3_begin + f4 = bf4 - bf4_begin + +! if (bf1 > bf3) cycle +! if (bf2 > bf4) cycle +! if (bf1 > bf2) cycle + + !Get the integral from the buffer + f1234 = f1*n2*n3*n4+f2*n3*n4+f3*n4+f4 + 1; + + !Compute the norm + double precision:: coef1, coef2, coef3, coef4, norm + + coef1 = ao_coef_normalization_libint_factor(bf1) + coef2 = ao_coef_normalization_libint_factor(bf2) + coef3 = ao_coef_normalization_libint_factor(bf3) + coef4 = ao_coef_normalization_libint_factor(bf4) + + norm = coef1*coef2*coef3*coef4 + + n_integrals += 1 + buffer_value(n_integrals) = buffer_int(f1234) * norm + call bielec_integrals_index(bf1,bf2,bf3,bf4,buffer_i(n_integrals)) + + enddo + enddo + enddo + enddo + + !Deallocate the buffer_intergral for the shell + deallocate(buffer_int, buffer_i, buffer_value) + if (n_integrals >= 0) then + call insert_into_ao_integrals_map(n_integrals,buffer_i,buffer_value) + endif + + enddo + enddo + enddo + enddo + + endif print*, 'Sorting the map' call map_sort(ao_integrals_map) From 16ac743aac9b7b0c4df0ff4bb5086271ff30714d Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 6 Jun 2016 09:31:51 +0200 Subject: [PATCH 19/24] OpenMP lock bug --- plugins/Full_CI/micro_pt2.irp.f | 2 + plugins/QmcChem/e_curve_qmc.irp.f | 102 +++++++++++++++++++++++++ plugins/QmcChem/save_for_qmcchem.irp.f | 51 +++++++++++-- src/Determinants/H_apply.irp.f | 15 ++-- src/Determinants/H_apply.template.f | 16 ++-- 5 files changed, 163 insertions(+), 23 deletions(-) create mode 100644 plugins/QmcChem/e_curve_qmc.irp.f diff --git a/plugins/Full_CI/micro_pt2.irp.f b/plugins/Full_CI/micro_pt2.irp.f index 1d4d7eaa..14cc52bf 100644 --- a/plugins/Full_CI/micro_pt2.irp.f +++ b/plugins/Full_CI/micro_pt2.irp.f @@ -35,6 +35,8 @@ subroutine run_wf call provide_everything integer :: rc, i + print *, 'Contribution to PT2 running' + !$OMP PARALLEL PRIVATE(i) i = omp_get_thread_num() call H_apply_FCI_PT2_slave_tcp(i) diff --git a/plugins/QmcChem/e_curve_qmc.irp.f b/plugins/QmcChem/e_curve_qmc.irp.f new file mode 100644 index 00000000..4beed3fa --- /dev/null +++ b/plugins/QmcChem/e_curve_qmc.irp.f @@ -0,0 +1,102 @@ +program e_curve + use bitmasks + implicit none + integer :: i,j,k, nab, m, l + double precision :: norm, E, hij, num, ci, cj + integer, allocatable :: iorder(:) + double precision , allocatable :: norm_sort(:) + nab = n_det_alpha_unique+n_det_beta_unique + allocate ( norm_sort(0:nab), iorder(0:nab) ) + + + norm_sort(0) = 0.d0 + iorder(0) = 0 + do i=1,n_det_alpha_unique + norm_sort(i) = det_alpha_norm(i) + iorder(i) = i + enddo + + do i=1,n_det_beta_unique + norm_sort(i+n_det_alpha_unique) = det_beta_norm(i) + iorder(i+n_det_alpha_unique) = -i + enddo + + call dsort(norm_sort(1),iorder(1),nab) + + if (.not.read_wf) then + stop 'Please set read_wf to true' + endif + + PROVIDE psi_bilinear_matrix_values nuclear_repulsion + print *, '' + print *, '==============================' + print *, 'Energies at different cut-offs' + print *, '==============================' + print *, '' + print *, '==========================================================' + print '(A8,2X,A8,2X,A12,2X,A10,2X,A12)', 'Thresh.', 'Ndet', 'Cost', 'Norm', 'E' + print *, '==========================================================' + double precision :: thresh + integer(bit_kind), allocatable :: det_i(:,:), det_j(:,:) + thresh = 1.d-10 + do j=0,nab + i = iorder(j) + if (i<0) then + do k=1,n_det + if (psi_bilinear_matrix_columns(k) == -i) then + psi_bilinear_matrix_values(k,1) = 0.d0 + endif + enddo + else + do k=1,n_det + if (psi_bilinear_matrix_rows(k) == i) then + psi_bilinear_matrix_values(k,1) = 0.d0 + endif + enddo + endif + if (thresh > norm_sort(j)) then + cycle + endif + num = 0.d0 + norm = 0.d0 + m = 0 + !$OMP PARALLEL DEFAULT(SHARED) PRIVATE(k,l,det_i,det_j,ci,cj,hij) REDUCTION(+:norm,m,num) + allocate( det_i(N_int,2), det_j(N_int,2)) + !$OMP DO SCHEDULE(guided) + do k=1,n_det + if (psi_bilinear_matrix_values(k,1) == 0.d0) then + cycle + endif + ci = psi_bilinear_matrix_values(k,1) + det_i(:,1) = psi_det_alpha_unique(:,psi_bilinear_matrix_rows(k)) + det_i(:,2) = psi_det_beta_unique(:,psi_bilinear_matrix_columns(k)) + do l=1,n_det + if (psi_bilinear_matrix_values(l,1) == 0.d0) then + cycle + endif + cj = psi_bilinear_matrix_values(l,1) + det_j(:,1) = psi_det_alpha_unique(:,psi_bilinear_matrix_rows(l)) + det_j(:,2) = psi_det_beta_unique(:,psi_bilinear_matrix_columns(l)) + call i_h_j(det_i, det_j, N_int, hij) + num = num + ci*cj*hij + enddo + norm = norm + ci*ci + m = m+1 + enddo + !$OMP END DO + deallocate (det_i,det_j) + !$OMP END PARALLEL + if (m == 0) then + exit + endif + E = num / norm + nuclear_repulsion + print '(E9.1,2X,I8,2X,F10.2,2X,F10.8,2X,F12.6)', thresh, m, & + dble( elec_alpha_num**3 + elec_alpha_num**2 * (nab-1) ) / & + dble( elec_alpha_num**3 + elec_alpha_num**2 * (j-1)), norm, E + thresh = thresh * 2.d0 + enddo + print *, '==========================================================' + + deallocate (iorder, norm_sort) +end + diff --git a/plugins/QmcChem/save_for_qmcchem.irp.f b/plugins/QmcChem/save_for_qmcchem.irp.f index c8ddb4d9..a281a184 100644 --- a/plugins/QmcChem/save_for_qmcchem.irp.f +++ b/plugins/QmcChem/save_for_qmcchem.irp.f @@ -1,9 +1,46 @@ program save_for_qmc - read_wf = .True. - TOUCH read_wf - print *, "N_det = ", N_det - call write_spindeterminants - if (do_pseudo) then - call write_pseudopotential - endif + + integer :: iunit + integer, external :: get_unit_and_open + logical :: exists + double precision :: e_ref + + ! Determinants + read_wf = .True. + TOUCH read_wf + print *, "N_det = ", N_det + call write_spindeterminants + + ! Reference Energy + if (do_pseudo) then + call write_pseudopotential + endif + call system( & + 'mkdir -p '//trim(ezfio_filename)//'/simulation ;' // & + 'cp '//trim(ezfio_filename)//'/.version '//trim(ezfio_filename)//'/simulation/.version ; ' // & + 'mkdir -p '//trim(ezfio_filename)//'/properties ;' // & + 'cp '//trim(ezfio_filename)//'/.version '//trim(ezfio_filename)//'/properties/.version ; ' // & + 'echo T > '//trim(ezfio_filename)//'/properties/e_loc' & + ) + iunit = 13 + open(unit=iunit,file=trim(ezfio_filename)//'/simulation/e_ref',action='write') + call ezfio_has_full_ci_energy_pt2(exists) + if (exists) then + call ezfio_get_full_ci_energy_pt2(e_ref) + else + call ezfio_has_full_ci_energy(exists) + if (exists) then + call ezfio_get_full_ci_energy(e_ref) + else + call ezfio_has_hartree_fock_energy(exists) + if (exists) then + call ezfio_get_hartree_fock_energy(e_ref) + else + e_ref = 0.d0 + endif + endif + endif + write(iunit,*) e_ref + close(iunit) + end diff --git a/src/Determinants/H_apply.irp.f b/src/Determinants/H_apply.irp.f index abb251db..cadf84b4 100644 --- a/src/Determinants/H_apply.irp.f +++ b/src/Determinants/H_apply.irp.f @@ -214,8 +214,13 @@ subroutine remove_duplicates_in_psi_det(found_duplicates) duplicate(i) = .False. enddo - do i=1,N_det-1 + found_duplicates = .False. + i=0 + j=0 + do while (i Date: Mon, 6 Jun 2016 10:12:20 +0200 Subject: [PATCH 20/24] Updated to zeromq 4.1.4 --- configure | 2 +- src/Determinants/s2.irp.f | 26 +++++++++++++++++++------- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/configure b/configure index a8f6cc9e..de5b3d56 100755 --- a/configure +++ b/configure @@ -142,7 +142,7 @@ ezfio = Info( default_path=join(QP_ROOT_INSTALL, "EZFIO")) zeromq = Info( - url='http://download.zeromq.org/zeromq-4.0.7.tar.gz', + url='https://github.com/zeromq/zeromq4-1/releases/download/v4.1.4/zeromq-4.1.4.tar.gz', description=' ZeroMQ', default_path=join(QP_ROOT_LIB, "libzmq.a")) diff --git a/src/Determinants/s2.irp.f b/src/Determinants/s2.irp.f index 9810b219..400b373e 100644 --- a/src/Determinants/s2.irp.f +++ b/src/Determinants/s2.irp.f @@ -234,7 +234,7 @@ subroutine get_uJ_s2_uI(psi_keys_tmp,psi_coefs_tmp,n,nmax_coefs,nmax_keys,s2,nst do jj = 1, nstates accu = 0.d0 !$OMP PARALLEL DEFAULT(NONE) & - !$OMP PRIVATE (i,j,kk,idx,tmp,s2_tmp) & + !$OMP PRIVATE (i,j,kk,idx,tmp,s2_tmp,accu) & !$OMP SHARED (ll,jj,psi_keys_tmp,psi_coefs_tmp,N_int,n,nstates) & !$OMP REDUCTION(+:accu) allocate(idx(0:n)) @@ -301,13 +301,19 @@ subroutine diagonalize_s2_betweenstates(keys_tmp,psi_coefs_inout,n,nmax_keys,nma print*,'' print*,'nstates = ',nstates allocate(s2(nstates,nstates),overlap(nstates,nstates)) + !$OMP PARALLEL DO COLLAPSE(2) DEFAULT(NONE) & + !$OMP PRIVATE(i,j) SHARED(overlap,psi_coefs_inout,nstates,n) do i = 1, nstates - overlap(i,i) = u_dot_u(psi_coefs_inout(1,i),n) do j = i+1, nstates - overlap(i,j) = u_dot_v(psi_coefs_inout(1,j),psi_coefs_inout(1,i),n) - overlap(j,i) = overlap(i,j) + if (i == j) then + overlap(i,i) = u_dot_u(psi_coefs_inout(1,i),n) + else + overlap(i,j) = u_dot_v(psi_coefs_inout(1,j),psi_coefs_inout(1,i),n) + overlap(j,i) = overlap(i,j) + endif enddo enddo + !$OMP END PARALLEL print*,'Overlap matrix in the basis of the states considered' do i = 1, nstates write(*,'(10(F16.10,X))')overlap(i,:) @@ -315,13 +321,19 @@ subroutine diagonalize_s2_betweenstates(keys_tmp,psi_coefs_inout,n,nmax_keys,nma call ortho_lowdin(overlap,size(overlap,1),nstates,psi_coefs_inout,size(psi_coefs_inout,1),n) print*,'passed ortho' + !$OMP PARALLEL DO COLLAPSE(2) DEFAULT(NONE) & + !$OMP PRIVATE(i,j) SHARED(overlap,psi_coefs_inout,nstates,n) do i = 1, nstates - overlap(i,i) = u_dot_u(psi_coefs_inout(1,i),n) do j = i+1, nstates - overlap(i,j) = u_dot_v(psi_coefs_inout(1,j),psi_coefs_inout(1,i),n) - overlap(j,i) = overlap(i,j) + if (i == j) then + overlap(i,i) = u_dot_u(psi_coefs_inout(1,i),n) + else + overlap(i,j) = u_dot_v(psi_coefs_inout(1,j),psi_coefs_inout(1,i),n) + overlap(j,i) = overlap(i,j) + endif enddo enddo + !$OMP END PARALLEL print*,'Overlap matrix in the basis of the Lowdin orthonormalized states ' do i = 1, nstates write(*,'(10(F16.10,X))')overlap(i,:) From 85dfee525bfb26918f847cc3fe09786b39865a98 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 6 Jun 2016 10:15:59 +0200 Subject: [PATCH 21/24] OMP PARALLEL BUG --- src/Determinants/s2.irp.f | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/src/Determinants/s2.irp.f b/src/Determinants/s2.irp.f index 400b373e..e16bd386 100644 --- a/src/Determinants/s2.irp.f +++ b/src/Determinants/s2.irp.f @@ -301,19 +301,19 @@ subroutine diagonalize_s2_betweenstates(keys_tmp,psi_coefs_inout,n,nmax_keys,nma print*,'' print*,'nstates = ',nstates allocate(s2(nstates,nstates),overlap(nstates,nstates)) - !$OMP PARALLEL DO COLLAPSE(2) DEFAULT(NONE) & - !$OMP PRIVATE(i,j) SHARED(overlap,psi_coefs_inout,nstates,n) - do i = 1, nstates - do j = i+1, nstates - if (i == j) then - overlap(i,i) = u_dot_u(psi_coefs_inout(1,i),n) - else - overlap(i,j) = u_dot_v(psi_coefs_inout(1,j),psi_coefs_inout(1,i),n) - overlap(j,i) = overlap(i,j) - endif - enddo - enddo - !$OMP END PARALLEL + !$OMP PARALLEL DO COLLAPSE(2) DEFAULT(NONE) & + !$OMP PRIVATE(i,j) SHARED(overlap,psi_coefs_inout,nstates,n) + do i = 1, nstates + do j = i+1, nstates + if (i == j) then + overlap(i,i) = u_dot_u(psi_coefs_inout(1,i),n) + else + overlap(i,j) = u_dot_v(psi_coefs_inout(1,j),psi_coefs_inout(1,i),n) + overlap(j,i) = overlap(i,j) + endif + enddo + enddo + !$OMP END PARALLEL DO print*,'Overlap matrix in the basis of the states considered' do i = 1, nstates write(*,'(10(F16.10,X))')overlap(i,:) From 249325b91172d6551959e512fe2d1f5047e76491 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 6 Jun 2016 10:25:19 +0200 Subject: [PATCH 22/24] OMP PARALLEL BUG --- src/Determinants/s2.irp.f | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/Determinants/s2.irp.f b/src/Determinants/s2.irp.f index e16bd386..8587098b 100644 --- a/src/Determinants/s2.irp.f +++ b/src/Determinants/s2.irp.f @@ -234,7 +234,7 @@ subroutine get_uJ_s2_uI(psi_keys_tmp,psi_coefs_tmp,n,nmax_coefs,nmax_keys,s2,nst do jj = 1, nstates accu = 0.d0 !$OMP PARALLEL DEFAULT(NONE) & - !$OMP PRIVATE (i,j,kk,idx,tmp,s2_tmp,accu) & + !$OMP PRIVATE (i,j,kk,idx,tmp,s2_tmp) & !$OMP SHARED (ll,jj,psi_keys_tmp,psi_coefs_tmp,N_int,n,nstates) & !$OMP REDUCTION(+:accu) allocate(idx(0:n)) @@ -321,19 +321,19 @@ subroutine diagonalize_s2_betweenstates(keys_tmp,psi_coefs_inout,n,nmax_keys,nma call ortho_lowdin(overlap,size(overlap,1),nstates,psi_coefs_inout,size(psi_coefs_inout,1),n) print*,'passed ortho' - !$OMP PARALLEL DO COLLAPSE(2) DEFAULT(NONE) & - !$OMP PRIVATE(i,j) SHARED(overlap,psi_coefs_inout,nstates,n) - do i = 1, nstates - do j = i+1, nstates - if (i == j) then - overlap(i,i) = u_dot_u(psi_coefs_inout(1,i),n) - else - overlap(i,j) = u_dot_v(psi_coefs_inout(1,j),psi_coefs_inout(1,i),n) - overlap(j,i) = overlap(i,j) - endif - enddo - enddo - !$OMP END PARALLEL + !$OMP PARALLEL DO COLLAPSE(2) DEFAULT(NONE) & + !$OMP PRIVATE(i,j) SHARED(overlap,psi_coefs_inout,nstates,n) + do i = 1, nstates + do j = i+1, nstates + if (i == j) then + overlap(i,i) = u_dot_u(psi_coefs_inout(1,i),n) + else + overlap(i,j) = u_dot_v(psi_coefs_inout(1,j),psi_coefs_inout(1,i),n) + overlap(j,i) = overlap(i,j) + endif + enddo + enddo + !$OMP END PARALLEL DO print*,'Overlap matrix in the basis of the Lowdin orthonormalized states ' do i = 1, nstates write(*,'(10(F16.10,X))')overlap(i,:) From f6369660bd59bbb9e2237629e36aa3b26dc464f0 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 6 Jun 2016 10:36:23 +0200 Subject: [PATCH 23/24] Removed lck --- scripts/generate_h_apply.py | 8 ++++---- src/Determinants/H_apply.template.f | 13 ------------- src/Determinants/H_apply_nozmq.template.f | 8 ++------ src/Determinants/H_apply_zmq.template.f | 1 - src/Determinants/s2.irp.f | 16 ++++++++++------ 5 files changed, 16 insertions(+), 30 deletions(-) diff --git a/scripts/generate_h_apply.py b/scripts/generate_h_apply.py index 90f997ed..5a4d41de 100755 --- a/scripts/generate_h_apply.py +++ b/scripts/generate_h_apply.py @@ -248,13 +248,13 @@ class H_apply(object): """ self.data["deinit_thread"] = """ - !$ call omp_set_lock(lck) + !$OMP CRITICAL do k=1,N_st sum_e_2_pert_in(k) = sum_e_2_pert_in(k) + sum_e_2_pert(k) sum_norm_pert_in(k) = sum_norm_pert_in(k) + sum_norm_pert(k) sum_H_pert_diag_in(k) = sum_H_pert_diag_in(k) + sum_H_pert_diag(k) enddo - !$ call omp_unset_lock(lck) + !$OMP END CRITICAL deallocate (e_2_pert_buffer, coef_pert_buffer) """ self.data["size_max"] = "8192" @@ -356,12 +356,12 @@ class H_apply(object): self.data["skip"] = """ if (i_generator < size_select_max) then if (select_max(i_generator) < selection_criterion_min*selection_criterion_factor) then - !$ call omp_set_lock(lck) + !$OMP CRITICAL do k=1,N_st norm_psi(k) = norm_psi(k) + psi_coef_generators(i_generator,k)*psi_coef_generators(i_generator,k) pt2_old(k) = 0.d0 enddo - !$ call omp_unset_lock(lck) + !$OMP END CRITICAL cycle endif select_max(i_generator) = 0.d0 diff --git a/src/Determinants/H_apply.template.f b/src/Determinants/H_apply.template.f index af94d70b..45f08f75 100644 --- a/src/Determinants/H_apply.template.f +++ b/src/Determinants/H_apply.template.f @@ -167,12 +167,6 @@ subroutine $subroutine_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl double precision :: diag_H_mat_elem integer :: iproc integer :: jtest_vvvv - integer(omp_lock_kind), save :: lck - integer, save :: ifirst=0 - if (ifirst == 0) then -!$ call omp_init_lock(lck) - ifirst=1 - endif logical :: check_double_excitation logical :: is_a_1h1p @@ -418,8 +412,6 @@ subroutine $subroutine_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generato integer, allocatable :: ia_ja_pairs(:,:,:) logical, allocatable :: array_pairs(:,:) double precision :: diag_H_mat_elem - integer(omp_lock_kind), save :: lck - integer, save :: ifirst=0 integer :: iproc integer(bit_kind) :: key_mask(N_int, 2) @@ -430,11 +422,6 @@ subroutine $subroutine_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generato logical :: is_a_1p logical :: is_a_2p - if (ifirst == 0) then - ifirst=1 -!$ call omp_init_lock(lck) - endif - do k=1,N_int key_mask(k,1) = 0_bit_kind key_mask(k,2) = 0_bit_kind diff --git a/src/Determinants/H_apply_nozmq.template.f b/src/Determinants/H_apply_nozmq.template.f index e5220d49..0c319fe3 100644 --- a/src/Determinants/H_apply_nozmq.template.f +++ b/src/Determinants/H_apply_nozmq.template.f @@ -11,7 +11,6 @@ subroutine $subroutine($params_main) integer :: i_generator, nmax double precision :: wall_0, wall_1 - integer(omp_lock_kind) :: lck integer(bit_kind), allocatable :: mask(:,:,:) integer :: ispin, k integer :: iproc @@ -23,8 +22,6 @@ subroutine $subroutine($params_main) nmax = mod( N_det_generators,nproc ) - !$ call omp_init_lock(lck) - call wall_time(wall_0) iproc = 0 @@ -129,19 +126,18 @@ subroutine $subroutine($params_main) mask(1,1,s_hole ), mask(1,1,s_part ), & fock_diag_tmp, i_generator, iproc $params_post) endif - !$ call omp_set_lock(lck) + !$OMP CRITICAL call wall_time(wall_1) $printout_always if (wall_1 - wall_0 > 2.d0) then $printout_now wall_0 = wall_1 endif - !$ call omp_unset_lock(lck) + !$OMP END CRITICAL enddo !$OMP END DO deallocate( mask, fock_diag_tmp ) !$OMP END PARALLEL - !$ call omp_destroy_lock(lck) $copy_buffer $generate_psi_guess diff --git a/src/Determinants/H_apply_zmq.template.f b/src/Determinants/H_apply_zmq.template.f index c1f6ceed..2faceb77 100644 --- a/src/Determinants/H_apply_zmq.template.f +++ b/src/Determinants/H_apply_zmq.template.f @@ -13,7 +13,6 @@ subroutine $subroutine($params_main) integer :: i integer :: i_generator double precision :: wall_0, wall_1 - integer(omp_lock_kind) :: lck integer(bit_kind), allocatable :: mask(:,:,:) integer :: ispin, k integer :: rc diff --git a/src/Determinants/s2.irp.f b/src/Determinants/s2.irp.f index 8587098b..9a60dbd9 100644 --- a/src/Determinants/s2.irp.f +++ b/src/Determinants/s2.irp.f @@ -301,11 +301,13 @@ subroutine diagonalize_s2_betweenstates(keys_tmp,psi_coefs_inout,n,nmax_keys,nma print*,'' print*,'nstates = ',nstates allocate(s2(nstates,nstates),overlap(nstates,nstates)) - !$OMP PARALLEL DO COLLAPSE(2) DEFAULT(NONE) & + !$OMP PARALLEL DO COLLAPSE(2) DEFAULT(NONE) SCHEDULE(dynamic) & !$OMP PRIVATE(i,j) SHARED(overlap,psi_coefs_inout,nstates,n) do i = 1, nstates - do j = i+1, nstates - if (i == j) then + do j = 1, nstates + if (i < j) then + cycle + else if (i == j) then overlap(i,i) = u_dot_u(psi_coefs_inout(1,i),n) else overlap(i,j) = u_dot_v(psi_coefs_inout(1,j),psi_coefs_inout(1,i),n) @@ -321,11 +323,13 @@ subroutine diagonalize_s2_betweenstates(keys_tmp,psi_coefs_inout,n,nmax_keys,nma call ortho_lowdin(overlap,size(overlap,1),nstates,psi_coefs_inout,size(psi_coefs_inout,1),n) print*,'passed ortho' - !$OMP PARALLEL DO COLLAPSE(2) DEFAULT(NONE) & + !$OMP PARALLEL DO COLLAPSE(2) DEFAULT(NONE) SCHEDULE(dynamic) & !$OMP PRIVATE(i,j) SHARED(overlap,psi_coefs_inout,nstates,n) do i = 1, nstates - do j = i+1, nstates - if (i == j) then + do j = 1, nstates + if (i < j) then + cycle + else if (i == j) then overlap(i,i) = u_dot_u(psi_coefs_inout(1,i),n) else overlap(i,j) = u_dot_v(psi_coefs_inout(1,j),psi_coefs_inout(1,i),n) From ab67babe362af78b9f3351513980e21e69a92f82 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 6 Jun 2016 10:51:57 +0200 Subject: [PATCH 24/24] Upgraded ZMQ --- install/scripts/install_zeromq.sh | 12 ++++++------ src/ZMQ/utils.irp.f | 10 +++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/install/scripts/install_zeromq.sh b/install/scripts/install_zeromq.sh index 73b59019..3bf2a715 100755 --- a/install/scripts/install_zeromq.sh +++ b/install/scripts/install_zeromq.sh @@ -15,14 +15,14 @@ function _install() ./configure --without-libsodium || exit 1 make -j 8 || exit 1 rm -f -- "${QP_ROOT}"/lib/libzmq.a "${QP_ROOT}"/lib/libzmq.so "${QP_ROOT}"/lib/libzmq.so.? -# cp .libs/libzmq.a "${QP_ROOT}"/lib -# cp .libs/libzmq.so "${QP_ROOT}"/lib/libzmq.so.5 - cp src/.libs/libzmq.a "${QP_ROOT}"/lib - cp src/.libs/libzmq.so "${QP_ROOT}"/lib/libzmq.so.4 + cp .libs/libzmq.a "${QP_ROOT}"/lib + cp .libs/libzmq.so "${QP_ROOT}"/lib/libzmq.so.5 +# cp src/.libs/libzmq.a "${QP_ROOT}"/lib +# cp src/.libs/libzmq.so "${QP_ROOT}"/lib/libzmq.so.4 cp include/{zmq.h,zmq_utils.h} "${QP_ROOT}"/lib cd "${QP_ROOT}"/lib -# ln -s libzmq.so.5 libzmq.so - ln -s libzmq.so.4 libzmq.so + ln -s libzmq.so.5 libzmq.so +# ln -s libzmq.so.4 libzmq.so cd ${ORIG} return 0 } diff --git a/src/ZMQ/utils.irp.f b/src/ZMQ/utils.irp.f index 0bbba56e..ae1de6e7 100644 --- a/src/ZMQ/utils.irp.f +++ b/src/ZMQ/utils.irp.f @@ -350,11 +350,11 @@ subroutine end_zmq_pull_socket(zmq_socket_pull) ! endif rc = f77_zmq_unbind(zmq_socket_pull,zmq_socket_pull_tcp_address) - if (rc /= 0) then - print *, rc - print *, irp_here, 'f77_zmq_unbind(zmq_socket_pull,zmq_socket_pull_tcp_address)' - stop 'error' - endif +! if (rc /= 0) then +! print *, rc +! print *, irp_here, 'f77_zmq_unbind(zmq_socket_pull,zmq_socket_pull_tcp_address)' +! stop 'error' +! endif call sleep(1) ! see https://github.com/zeromq/libzmq/issues/1922