From c22daadf40fc5537ed8ee61fd0a8a01b1e1fde3d Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 27 Jan 2020 22:30:01 +0100 Subject: [PATCH 001/138] Moving to Python3. --- bin/qp_convert_output_to_ezfio | 54 +++++++++++++++++----------------- bin/qp_set_frozen_core | 6 ++-- external/Python/.gitignore | 46 +++++++++++++++++++++++++++++ ocaml/qp_tunnel.ml | 48 ------------------------------ scripts/utility/qp_path.py | 5 ++-- tests/bats_to_sh.py | 8 ++--- 6 files changed, 83 insertions(+), 84 deletions(-) diff --git a/bin/qp_convert_output_to_ezfio b/bin/qp_convert_output_to_ezfio index 30faa686..5f0c4771 100755 --- a/bin/qp_convert_output_to_ezfio +++ b/bin/qp_convert_output_to_ezfio @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 """ convert output of GAMESS/GAU$$IAN to ezfio @@ -22,7 +22,7 @@ try: QP_ROOT = os.environ["QP_ROOT"] QP_EZFIO = os.environ["QP_EZFIO"] except KeyError: - print "Error: QP_ROOT environment variable not found." + print("Error: QP_ROOT environment variable not found.") sys.exit(1) else: sys.path = [QP_EZFIO + "/Python", @@ -30,10 +30,11 @@ else: QP_ROOT + "/install", QP_ROOT + "/scripts"] + sys.path +from resultsFile import * try: from resultsFile import * except: - print "Error: resultsFile Python library not installed" + print("Error: resultsFile Python library not installed") sys.exit(1) @@ -48,17 +49,17 @@ def write_ezfio(res, filename): # |_ | _ _ _|_ ._ _ ._ _ # |_ | (/_ (_ |_ | (_) | | _> # - print "Electrons\t...\t", + print("Electrons\t...\t", end=' ') ezfio.set_electrons_elec_alpha_num(res.num_alpha) ezfio.set_electrons_elec_beta_num(res.num_beta) - print "OK" + print("OK") # # |\ | _ | _ o # | \| |_| (_ | (/_ | # - print "Nuclei\t\t...\t", + print("Nuclei\t\t...\t", end=' ') # ~#~#~#~ # # I n i t # # ~#~#~#~ # @@ -93,24 +94,23 @@ def write_ezfio(res, filename): # Transformt H1 into H import re - p = re.compile(ur'(\d*)$') + p = re.compile(r'(\d*)$') label = [p.sub("", x.name).capitalize() for x in res.geometry] ezfio.set_nuclei_nucl_label(label) ezfio.set_nuclei_nucl_coord(coord_x + coord_y + coord_z) - print "OK" + print("OK") # _ # /\ _ _ |_) _. _ o _ # /--\ (_) _> |_) (_| _> | _> # - print "AOS\t\t...\t", + print("AOS\t\t...\t", end=' ') # ~#~#~#~ # # I n i t # # ~#~#~#~ # - import string at = [] num_prim = [] power_x = [] @@ -131,9 +131,9 @@ def write_ezfio(res, filename): at.append(i + 1) num_prim.append(len(b.prim)) s = b.sym - power_x.append(string.count(s, "x")) - power_y.append(string.count(s, "y")) - power_z.append(string.count(s, "z")) + power_x.append(str.count(s, "x")) + power_y.append(str.count(s, "y")) + power_z.append(str.count(s, "z")) coefficient.append(b.coef) exponent.append([p.expo for p in b.prim]) @@ -175,14 +175,14 @@ def write_ezfio(res, filename): ezfio.set_ao_basis_ao_expo(expo) ezfio.set_ao_basis_ao_basis("Read by resultsFile") - print "OK" + print("OK") # _ # |\/| _ _ |_) _. _ o _ # | | (_) _> |_) (_| _> | _> # - print "MOS\t\t...\t", + print("MOS\t\t...\t", end=' ') # ~#~#~#~ # # I n i t # # ~#~#~#~ # @@ -205,9 +205,9 @@ def write_ezfio(res, filename): virtual = [] active = [(allMOs[i].eigenvalue, i) for i in range(len(allMOs))] - closed = map(lambda x: x[1], closed) - active = map(lambda x: x[1], active) - virtual = map(lambda x: x[1], virtual) + closed = [x[1] for x in closed] + active = [x[1] for x in active] + virtual = [x[1] for x in virtual] MOindices = closed + active + virtual MOs = [] @@ -223,7 +223,7 @@ def write_ezfio(res, filename): MOmap[i] = MOindices.index(i) energies = [] - for i in xrange(mo_num): + for i in range(mo_num): energies.append(MOs[i].eigenvalue) if res.occ_num is not None: @@ -237,11 +237,11 @@ def write_ezfio(res, filename): MoMatrix = [] sym0 = [i.sym for i in res.mo_sets[MO_type]] sym = [i.sym for i in res.mo_sets[MO_type]] - for i in xrange(len(sym)): + for i in range(len(sym)): sym[MOmap[i]] = sym0[i] MoMatrix = [] - for i in xrange(len(MOs)): + for i in range(len(MOs)): m = MOs[i] for coef in m.vector: MoMatrix.append(coef) @@ -256,10 +256,10 @@ def write_ezfio(res, filename): ezfio.set_mo_basis_mo_num(mo_num) ezfio.set_mo_basis_mo_occ(OccNum) ezfio.set_mo_basis_mo_coef(MoMatrix) - print "OK" + print("OK") - print "Pseudos\t\t...\t", + print("Pseudos\t\t...\t", end=' ') try: lmax = 0 nucl_charge_remove = [] @@ -327,7 +327,7 @@ def write_ezfio(res, filename): else: ezfio.set_pseudo_do_pseudo(True) - print "OK" + print("OK") @@ -354,15 +354,15 @@ if __name__ == '__main__': except: raise else: - print FILE, 'recognized as', str(RES_FILE).split('.')[-1].split()[0] + print(FILE, 'recognized as', str(RES_FILE).split('.')[-1].split()[0]) write_ezfio(RES_FILE, EZFIO_FILE) sys.stdout.flush() if os.system("qp_run save_ortho_mos "+EZFIO_FILE) != 0: - print """Warning: You need to run + print("""Warning: You need to run qp run save_ortho_mos to be sure your MOs will be orthogonal, which is not the case when -the MOs are read from output files (not enough precision in output).""" +the MOs are read from output files (not enough precision in output).""") diff --git a/bin/qp_set_frozen_core b/bin/qp_set_frozen_core index 25b450dd..b00797e2 100755 --- a/bin/qp_set_frozen_core +++ b/bin/qp_set_frozen_core @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 """ @@ -49,7 +49,7 @@ import os.path try: import qp_path except ImportError: - print "source .quantum_package.rc" + print("source .quantum_package.rc") raise from docopt import docopt @@ -102,7 +102,7 @@ def main(arguments): mo_num = ezfio.mo_basis_mo_num if arguments["--query"]: - print n_frozen + print(n_frozen) sys.exit(0) if n_frozen == 0: diff --git a/external/Python/.gitignore b/external/Python/.gitignore index e69de29b..1cd79fd6 100644 --- a/external/Python/.gitignore +++ b/external/Python/.gitignore @@ -0,0 +1,46 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.cache +nosetests.xml +coverage.xml + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ + +# PyBuilder +target/ diff --git a/ocaml/qp_tunnel.ml b/ocaml/qp_tunnel.ml index e7322995..84e50eb5 100644 --- a/ocaml/qp_tunnel.ml +++ b/ocaml/qp_tunnel.ml @@ -21,10 +21,6 @@ let () = doc="Downloads the EZFIO directory." ; arg=Without_arg; } ; - { short='v' ; long="verbose" ; opt=Optional ; - doc="Prints the transfer speed." ; - arg=Without_arg; } ; - anonymous "(EZFIO_DIR|ADDRESS)" Mandatory @@ -47,11 +43,6 @@ let () = ADDRESS x in - let verbose = - Command_line.get_bool "verbose" - in - - let localhost = Lazy.force TaskServer.ip_address @@ -155,45 +146,6 @@ let () = Zmq.Socket.subscribe socket_in ""; - (* - let action = - if verbose then - begin - match req_or_sub with - | REQ -> (fun () -> - let msg = - Zmq.Socket.recv_all socket_in - in - let t0 = Unix.gettimeofday () in - Zmq.Socket.send_all socket_out msg; - let in_size = - float_of_int ( List.fold_left (fun accu x -> accu + String.length x) 0 msg ) - /. 8192. /. 1024. - in - let msg = - Zmq.Socket.recv_all socket_out - in - let t1 = Unix.gettimeofday () in - Zmq.Socket.send_all socket_in msg; - let in_time = t1 -. t0 in - in_time_sum := !in_time_sum +. in_time; - in_size_sum := !in_size_sum +. in_size; - Printf.printf " %16.2f MiB/s -- %16.2f MiB/s\n%!" (in_size /. in_time) (!in_size_sum /. !in_time_sum); - ) - | SUB -> (fun () -> - Zmq.Socket.recv_all socket_in |> Zmq.Socket.send_all socket_out) - end - else - begin - match req_or_sub with - | REQ -> (fun () -> - Zmq.Socket.recv_all socket_in |> Zmq.Socket.send_all socket_out; - Zmq.Socket.recv_all socket_out |> Zmq.Socket.send_all socket_in ) - | SUB -> (fun () -> - Zmq.Socket.recv_all socket_in |> Zmq.Socket.send_all socket_out) - end - in - *) let action_in = match req_or_sub with diff --git a/scripts/utility/qp_path.py b/scripts/utility/qp_path.py index 0844c06f..5a5c8ca7 100644 --- a/scripts/utility/qp_path.py +++ b/scripts/utility/qp_path.py @@ -1,13 +1,14 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- +from __future__ import print_function import os import sys try: QP_ROOT = os.environ['QP_ROOT'] except: - print "source quantum_package.rc" + print("source quantum_package.rc") sys.exit(1) else: QP_EZFIO = os.environ["QP_EZFIO"] diff --git a/tests/bats_to_sh.py b/tests/bats_to_sh.py index 89bf1eb5..7194af77 100755 --- a/tests/bats_to_sh.py +++ b/tests/bats_to_sh.py @@ -1,11 +1,11 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import sys with open(sys.argv[1],'r') as f: raw_data = f.read() -print "set -x" +print("set -x") output = [] inside = False @@ -25,9 +25,9 @@ for i in raw_data: level -= 1 output.append(new_i) -print "".join(output).replace("@test ", +print("".join(output).replace("@test ", """[[ -z $BATS_TEST_NUMBER ]] && BATS_TEST_NUMBER=0 || ((++BATS_TEST_NUMBER)) ; -export BATS_TEST_DESCRIPTION=""").replace("skip","return") +export BATS_TEST_DESCRIPTION=""").replace("skip","return")) From 4a58d5cc1518d92907ce5b345ad0b3f3105ed019 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 12 Feb 2020 21:12:19 +0100 Subject: [PATCH 002/138] Updated configure --- configure | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/configure b/configure index e8c22483..2a6cc50f 100755 --- a/configure +++ b/configure @@ -20,14 +20,14 @@ export CC=gcc BATS_URL="https://github.com/bats-core/bats-core/archive/v1.1.0.tar.gz" BUBBLE_URL="https://github.com/projectatomic/bubblewrap/releases/download/v0.3.3/bubblewrap-0.3.3.tar.xz" DOCOPT_URL="https://github.com/docopt/docopt/archive/0.6.2.tar.gz" -EZFIO_URL="https://gitlab.com/scemama/EZFIO/-/archive/v1.6.1/EZFIO-v1.6.1.tar.gz" +EZFIO_URL="https://gitlab.com/scemama/EZFIO/-/archive/v2.0.1/EZFIO-v2.0.1.tar.gz" F77ZMQ_URL="https://github.com/scemama/f77_zmq/archive/v4.2.5.tar.gz" GMP_URL="ftp://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.bz2" IRPF90_URL="https://gitlab.com/scemama/irpf90/-/archive/v1.7.6/irpf90-v1.7.6.tar.gz" LIBCAP_URL="https://git.kernel.org/pub/scm/linux/kernel/git/morgan/libcap.git/snapshot/libcap-2.25.tar.gz" NINJA_URL="https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip" OCAML_URL="https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh" -RESULTS_URL="https://gitlab.com/scemama/resultsFile/-/archive/master/resultsFile-master.tar.gz" +RESULTS_URL="https://gitlab.com/scemama/resultsFile/-/archive/v2.0/resultsFile-v2.0.tar.gz" ZEROMQ_URL="https://github.com/zeromq/libzmq/releases/download/v4.2.5/zeromq-4.2.5.tar.gz" ZLIB_URL="https://www.zlib.net/zlib-1.2.11.tar.gz" From 3cf55e2676da182ceab0d246e9f0ed89a972ecbb Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 26 Feb 2020 15:58:14 +0100 Subject: [PATCH 003/138] print_energy.irp.f --- configure | 44 ++++++++++++++++++------------------ src/tools/print_energy.irp.f | 34 ++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+), 22 deletions(-) create mode 100644 src/tools/print_energy.irp.f diff --git a/configure b/configure index 957613ac..50046cb1 100755 --- a/configure +++ b/configure @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash # # Quantum Package configuration script # @@ -45,7 +45,7 @@ Usage: Options: -c, --config= Define a COMPILATION configuration file, - in "${QP_ROOT}/config/". + in "${QP_ROOT}/config/". -h, --help Print the HELP message -i, --install= INSTALL . Use at your OWN RISK: no support will be provided for the installation of @@ -73,7 +73,7 @@ function execute () { while read -r line; do echo " " $line _command+="${line} ;" - done + done sleep 1 echo "" printf "\e[0;94m" @@ -87,7 +87,7 @@ OCAML_PACKAGES="ocamlbuild cryptokit zmq sexplib ppx_sexp_conv ppx_deriving geto while true ; do case "$1" in - -c|--config) + -c|--config) case "$2" in "") help ; break;; *) if [[ -f $2 ]] ; then @@ -96,15 +96,15 @@ while true ; do error "error: configuration file $2 not found." exit 1 fi - esac + esac shift 2;; -i|--install) case "$2" in "") help ; break;; *) PACKAGES="${PACKAGE} $2" - esac + esac shift 2;; - -h|-help|--help) + -h|-help|--help) help exit 0;; --) shift ; break ;; @@ -183,7 +183,7 @@ EZFIO=$(find_dir "${QP_ROOT}"/external/ezfio) if [[ ${EZFIO} = $(not_found) ]] ; then execute << EOF cd "\${QP_ROOT}"/external - tar --gunzip --extract --file ${EZFIO_TGZ} + tar --gunzip --extract --file ${EZFIO_TGZ} rm -rf ezfio mv EZFIO ezfio EOF @@ -237,7 +237,7 @@ EOF ./configure --prefix=$QP_ROOT && make -j 8 make install EOF - + elif [[ ${PACKAGE} = libcap ]] ; then download ${LIBCAP_URL} "${QP_ROOT}"/external/libcap.tar.gz @@ -272,7 +272,7 @@ EOF cd irpf90-* make EOF - + elif [[ ${PACKAGE} = zeromq ]] ; then @@ -303,7 +303,7 @@ EOF cp f77_zmq_free.h "\${QP_ROOT}"/include EOF - + elif [[ ${PACKAGE} = ocaml ]] ; then download ${OCAML_URL} "${QP_ROOT}"/external/opam_installer.sh @@ -316,7 +316,7 @@ EOF rm -rf ${HOME}/.opam fi export OPAMROOT=${HOME}/.opam - cat << EOF | bash ${QP_ROOT}/external/opam_installer.sh --no-backup + cat << EOF | bash ${QP_ROOT}/external/opam_installer.sh --no-backup ${QP_ROOT}/bin @@ -336,13 +336,13 @@ EOF # Conventional commands execute << EOF chmod +x "${QP_ROOT}"/external/opam_installer.sh - "${QP_ROOT}"/external/opam_installer.sh --no-backup + "${QP_ROOT}"/external/opam_installer.sh --no-backup EOF execute << EOF rm --force ${QP_ROOT}/bin/opam export OPAMROOT=${OPAMROOT:-${QP_ROOT}/external/opam} echo ${QP_ROOT}/bin \ - | sh ${QP_ROOT}/external/opam_installer.sh + | sh ${QP_ROOT}/external/opam_installer.sh EOF rm ${QP_ROOT}/external/opam_installer.sh # source ${OPAMROOT}/opam-init/init.sh > /dev/null 2> /dev/null || true @@ -355,7 +355,7 @@ EOF EOF fi - + elif [[ ${PACKAGE} = bse ]] ; then download ${BSE_URL} "${QP_ROOT}"/external/bse.tar.gz @@ -376,13 +376,13 @@ EOF make && make install EOF - + elif [[ ${PACKAGE} = docopt ]] ; then download ${DOCOPT_URL} "${QP_ROOT}"/external/docopt.tar.gz execute << EOF cd "\${QP_ROOT}"/external - tar --gunzip --extract --file docopt.tar.gz + tar --gunzip --extract --file docopt.tar.gz mv docopt-*/docopt.py "\${QP_ROOT}/external/Python" rm --recursive --force -- docopt-*/ docopt.tar.gz EOF @@ -393,7 +393,7 @@ EOF download ${RESULTS_URL} "${QP_ROOT}"/external/resultsFile.tar.gz execute << EOF cd "\${QP_ROOT}"/external - tar --gunzip --extract --file resultsFile.tar.gz + tar --gunzip --extract --file resultsFile.tar.gz mv resultsFile-*/resultsFile "\${QP_ROOT}/external/Python/" rm --recursive --force resultsFile-* resultsFile.tar.gz EOF @@ -403,7 +403,7 @@ EOF download ${BATS_URL} "${QP_ROOT}"/external/bats.tar.gz execute << EOF cd "\${QP_ROOT}"/external - tar -zxf bats.tar.gz + tar -zxf bats.tar.gz ( cd bats-core-1.1.0/ ; ./install.sh \${QP_ROOT}) rm --recursive --force -- bats-core-1.1.0 \ "\${QP_ROOT}"/external/bats.tar.gz EOF @@ -515,15 +515,15 @@ fi if [[ -f ${QP_ROOT}/build.ninja ]] ; then [[ -z ${TRAVIS} ]] && echo "You can now run ./bin/qpsh to enter in the QP shell mode :)" -else +else echo "" echo "${QP_ROOT}/build.ninja does not exist," echo "you need to specify the COMPILATION configuration file." - echo "See ./configure --help for more details." + echo "See ./configure --help for more details." echo "" fi exit 0 - + diff --git a/src/tools/print_energy.irp.f b/src/tools/print_energy.irp.f new file mode 100644 index 00000000..be7075c1 --- /dev/null +++ b/src/tools/print_energy.irp.f @@ -0,0 +1,34 @@ +program print_wf + implicit none + BEGIN_DOC + ! Prints the energy of the wave function stored in the |EZFIO| directory. + END_DOC + + ! this has to be done in order to be sure that N_det, psi_det and + ! psi_coef_sorted are the wave function stored in the |EZFIO| directory. + read_wf = .True. + touch read_wf + call run +end + +subroutine run + implicit none + integer :: i + double precision :: i_H_psi_array(N_states) + double precision :: E(N_states) + double precision :: norm(N_states) + + E(:) = nuclear_repulsion + norm(:) = 0.d0 + do i=1,N_det + call i_H_psi(psi_det(1,1,i), psi_det, psi_coef, N_int, N_det, & + size(psi_coef,1), N_states, i_H_psi_array) + norm(:) += psi_coef(i,:)**2 + E(:) += i_H_psi_array(:) * psi_coef(i,:) + enddo + + print *, 'Energy:' + do i=1,N_states + print *, E(i)/norm(i) + enddo +end From eac877dd44705f0a5cfad315cc984f8a5c79ef01 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 26 Feb 2020 23:30:38 +0100 Subject: [PATCH 004/138] Removed dead code --- scripts/generate_h_apply.py | 7 ------- src/tools/print_energy.irp.f | 2 +- src/tools/print_hamiltonian.irp.f | 29 +++++++++++++++++++++++++++++ 3 files changed, 30 insertions(+), 8 deletions(-) create mode 100644 src/tools/print_hamiltonian.irp.f diff --git a/scripts/generate_h_apply.py b/scripts/generate_h_apply.py index 0f63308b..8c399e55 100644 --- a/scripts/generate_h_apply.py +++ b/scripts/generate_h_apply.py @@ -11,7 +11,6 @@ declarations decls_main deinit_thread init_main -filter_integrals filter2p filter2h2p_double filter2h2p_single @@ -106,12 +105,6 @@ class H_apply(object): s["do_double_excitations"] = d[do_double_exc] s["keys_work"] += "call fill_H_apply_buffer_no_selection(key_idx,keys_out,N_int,iproc)" - s["filter_integrals"] = "array_pairs = .True." - if SingleRef: - s["filter_integrals"] = """ - call get_mo_bielec_integrals_existing_ik(i_a,j_a,mo_num,array_pairs,mo_integrals_map) - """ - s["generate_psi_guess"] = """ ! Sort H_jj to find the N_states lowest states integer :: i diff --git a/src/tools/print_energy.irp.f b/src/tools/print_energy.irp.f index be7075c1..4703e7d4 100644 --- a/src/tools/print_energy.irp.f +++ b/src/tools/print_energy.irp.f @@ -1,4 +1,4 @@ -program print_wf +program print_energy implicit none BEGIN_DOC ! Prints the energy of the wave function stored in the |EZFIO| directory. diff --git a/src/tools/print_hamiltonian.irp.f b/src/tools/print_hamiltonian.irp.f new file mode 100644 index 00000000..207161dd --- /dev/null +++ b/src/tools/print_hamiltonian.irp.f @@ -0,0 +1,29 @@ +program print_hamiltonian + implicit none + BEGIN_DOC + ! Prints the Hamiltonian matrix defined in the space of determinants + ! present in the |EZFIO| directory. + END_DOC + + ! this has to be done in order to be sure that N_det, psi_det and + ! psi_coef_sorted are the wave function stored in the |EZFIO| directory. + read_wf = .True. + touch read_wf + call run +end + +subroutine run + implicit none + integer :: i, j + double precision :: hij + + do j=1,N_det + do i=1,N_det + call i_H_j(psi_det(1,1,i), psi_det(1,1,j), N_int, hij) + if (dabs(hij) > 1.d-20) then + print *, i, j, hij + endif + enddo + enddo + +end From 4741f2f54426808ffa6da79678ab22bd7e827339 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 27 Feb 2020 10:16:27 +0100 Subject: [PATCH 005/138] Blanks at end of line --- src/cipsi/selection.irp.f | 160 +++++++++++++++++++------------------- 1 file changed, 81 insertions(+), 79 deletions(-) diff --git a/src/cipsi/selection.irp.f b/src/cipsi/selection.irp.f index af63bbd8..88012b50 100644 --- a/src/cipsi/selection.irp.f +++ b/src/cipsi/selection.irp.f @@ -13,7 +13,7 @@ END_PROVIDER BEGIN_PROVIDER [ double precision, variance_match_weight, (N_states) ] implicit none BEGIN_DOC - ! Weights adjusted along the selection to make the variances + ! Weights adjusted along the selection to make the variances ! of each state coincide. END_DOC variance_match_weight(:) = 1.d0 @@ -46,10 +46,10 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) i_iter = 1 endif - dt = 4.d0 + dt = 4.d0 do k=1,N_st - rpt2(k) = pt2(k)/(1.d0 + norm(k)) + rpt2(k) = pt2(k)/(1.d0 + norm(k)) enddo avg = sum(rpt2(1:N_st)) / dble(N_st) @@ -90,7 +90,7 @@ BEGIN_PROVIDER [ double precision, selection_weight, (N_states) ] case (1) print *, 'Using 1/c_max^2 weight in selection' - selection_weight(1:N_states) = c0_weight(1:N_states) + selection_weight(1:N_states) = c0_weight(1:N_states) case (2) print *, 'Using pt2-matching weight in selection' @@ -114,7 +114,7 @@ BEGIN_PROVIDER [ double precision, selection_weight, (N_states) ] print *, '# var weight ', real(variance_match_weight(:),4) case (6) - print *, 'Using CI coefficient-based selection' + print *, 'Using CI coefficient-based selection' selection_weight(1:N_states) = c0_weight(1:N_states) case (7) @@ -289,34 +289,34 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d monoAdo = .true. monoBdo = .true. - - + + do k=1,N_int hole (k,1) = iand(psi_det_generators(k,1,i_generator), hole_mask(k,1)) hole (k,2) = iand(psi_det_generators(k,2,i_generator), hole_mask(k,2)) particle(k,1) = iand(not(psi_det_generators(k,1,i_generator)), particle_mask(k,1)) particle(k,2) = iand(not(psi_det_generators(k,2,i_generator)), particle_mask(k,2)) enddo - - + + integer :: N_holes(2), N_particles(2) integer :: hole_list(N_int*bit_kind_size,2) integer :: particle_list(N_int*bit_kind_size,2) - + call bitstring_to_list_ab(hole , hole_list , N_holes , N_int) call bitstring_to_list_ab(particle, particle_list, N_particles, N_int) - + integer :: l_a, nmax, idx integer, allocatable :: indices(:), exc_degree(:), iorder(:) allocate (indices(N_det), & exc_degree(max(N_det_alpha_unique,N_det_beta_unique))) - + k=1 do i=1,N_det_alpha_unique call get_excitation_degree_spin(psi_det_alpha_unique(1,i), & psi_det_generators(1,1,i_generator), exc_degree(i), N_int) enddo - + do j=1,N_det_beta_unique call get_excitation_degree_spin(psi_det_beta_unique(1,j), & psi_det_generators(1,2,i_generator), nt, N_int) @@ -332,12 +332,12 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d endif enddo enddo - + do i=1,N_det_beta_unique call get_excitation_degree_spin(psi_det_beta_unique(1,i), & psi_det_generators(1,2,i_generator), exc_degree(i), N_int) enddo - + do j=1,N_det_alpha_unique call get_excitation_degree_spin(psi_det_alpha_unique(1,j), & psi_det_generators(1,1,i_generator), nt, N_int) @@ -356,7 +356,7 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d endif enddo enddo - + deallocate(exc_degree) nmax=k-1 @@ -366,18 +366,18 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d enddo call isort(indices,iorder,nmax) deallocate(iorder) - + ! Start with 32 elements. Size will double along with the filtering. allocate(preinteresting(0:32), prefullinteresting(0:32), & interesting(0:32), fullinteresting(0:32)) preinteresting(:) = 0 prefullinteresting(:) = 0 - + do i=1,N_int negMask(i,1) = not(psi_det_generators(i,1,i_generator)) negMask(i,2) = not(psi_det_generators(i,2,i_generator)) end do - + do k=1,nmax i = indices(k) mobMask(1,1) = iand(negMask(1,1), psi_det_sorted(1,1,i)) @@ -388,10 +388,10 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d mobMask(j,2) = iand(negMask(j,2), psi_det_sorted(j,2,i)) nt = nt + popcnt(mobMask(j, 1)) + popcnt(mobMask(j, 2)) end do - + if(nt <= 4) then if(i <= N_det_selectors) then - sze = preinteresting(0) + sze = preinteresting(0) if (sze+1 == size(preinteresting)) then allocate (tmp_array(0:sze)) tmp_array(0:sze) = preinteresting(0:sze) @@ -403,7 +403,7 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d preinteresting(0) = sze+1 preinteresting(sze+1) = i else if(nt <= 2) then - sze = prefullinteresting(0) + sze = prefullinteresting(0) if (sze+1 == size(prefullinteresting)) then allocate (tmp_array(0:sze)) tmp_array(0:sze) = prefullinteresting(0:sze) @@ -422,17 +422,17 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d ! !$OMP CRITICAL ! print *, 'Step1: ', i_generator, preinteresting(0) ! !$OMP END CRITICAL - + allocate(banned(mo_num, mo_num,2), bannedOrb(mo_num, 2)) allocate (mat(N_states, mo_num, mo_num)) maskInd = -1 - + integer :: nb_count, maskInd_save logical :: monoBdo_save logical :: found do s1=1,2 do i1=N_holes(s1),1,-1 ! Generate low excitations first - + found = .False. monoBdo_save = monoBdo maskInd_save = maskInd @@ -447,21 +447,21 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d enddo if(s1 /= s2) monoBdo = .false. enddo - + if (.not.found) cycle monoBdo = monoBdo_save maskInd = maskInd_save - + h1 = hole_list(i1,s1) call apply_hole(psi_det_generators(1,1,i_generator), s1,h1, pmask, ok, N_int) - + negMask = not(pmask) - + interesting(0) = 0 fullinteresting(0) = 0 - + do ii=1,preinteresting(0) - i = preinteresting(ii) + i = preinteresting(ii) select case (N_int) case (1) mobMask(1,1) = iand(negMask(1,1), psi_det_sorted(1,1,i)) @@ -515,9 +515,9 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d endif end do end select - + if(nt <= 4) then - sze = interesting(0) + sze = interesting(0) if (sze+1 == size(interesting)) then allocate (tmp_array(0:sze)) tmp_array(0:sze) = interesting(0:sze) @@ -529,7 +529,7 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d interesting(0) = sze+1 interesting(sze+1) = i if(nt <= 2) then - sze = fullinteresting(0) + sze = fullinteresting(0) if (sze+1 == size(fullinteresting)) then allocate (tmp_array(0:sze)) tmp_array(0:sze) = fullinteresting(0:sze) @@ -542,9 +542,9 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d fullinteresting(sze+1) = i end if end if - + end do - + do ii=1,prefullinteresting(0) i = prefullinteresting(ii) nt = 0 @@ -560,7 +560,7 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d end do if(nt <= 2) then - sze = fullinteresting(0) + sze = fullinteresting(0) if (sze+1 == size(fullinteresting)) then allocate (tmp_array(0:sze)) tmp_array(0:sze) = fullinteresting(0:sze) @@ -577,7 +577,7 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d allocate (fullminilist (N_int, 2, fullinteresting(0)), & minilist (N_int, 2, interesting(0)) ) if(pert_2rdm)then - allocate(coef_fullminilist_rev(N_states,fullinteresting(0))) + allocate(coef_fullminilist_rev(N_states,fullinteresting(0))) do i=1,fullinteresting(0) do j = 1, N_states coef_fullminilist_rev(j,i) = psi_coef_sorted(fullinteresting(i),j) @@ -588,7 +588,7 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d do i=1,fullinteresting(0) fullminilist(1:N_int,1:2,i) = psi_det_sorted(1:N_int,1:2,fullinteresting(i)) enddo - + do i=1,interesting(0) minilist(1:N_int,1:2,i) = psi_det_sorted(1:N_int,1:2,interesting(i)) enddo @@ -624,21 +624,21 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d monoAdo = .false. end if end if - + maskInd = maskInd + 1 if(mod(maskInd, csubset) == (subset-1)) then - + call spot_isinwf(mask, fullminilist, i_generator, fullinteresting(0), banned, fullMatch, fullinteresting) if(fullMatch) cycle ! !$OMP CRITICAL ! print *, 'Step3: ', i_generator, h1, interesting(0) ! !$OMP END CRITICAL - + call splash_pq(mask, sp, minilist, i_generator, interesting(0), bannedOrb, banned, mat, interesting) - + if(.not.pert_2rdm)then call fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_diag_tmp, E0, pt2, variance, norm, mat, buf) - else + else call fill_buffer_double_rdm(i_generator, sp, h1, h2, bannedOrb, banned, fock_diag_tmp, E0, pt2, variance, norm, mat, buf,fullminilist, coef_fullminilist_rev, fullinteresting(0)) endif end if @@ -682,7 +682,7 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d double precision, allocatable :: values(:) integer, allocatable :: keys(:,:) integer :: nkeys - + if(sp == 3) then s1 = 1 @@ -712,7 +712,7 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d ! to a determinant of the future. In that case, the determinant will be ! detected as already generated when generating in the future with a ! double excitation. -! +! ! if (.not.do_singles) then ! if ((h1 == p1) .or. (h2 == p2)) then ! cycle @@ -783,6 +783,8 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d norm(istate) = norm(istate) + coef * coef !!!DEBUG +! pt2(istate) = pt2(istate) - e_pert + alpha_h_psi**2/delta_E +! ! integer :: k ! double precision :: alpha_h_psi_2,hij ! alpha_h_psi_2 = 0.d0 @@ -792,7 +794,7 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d ! enddo ! if(dabs(alpha_h_psi_2 - alpha_h_psi).gt.1.d-12)then ! call debug_det(psi_det_generators(1,1,i_generator),N_int) -! call debug_det(det,N_int) +! call debug_det(det,N_int) ! print*,'alpha_h_psi,alpha_h_psi_2 = ',alpha_h_psi,alpha_h_psi_2 ! stop ! endif @@ -816,7 +818,7 @@ subroutine fill_buffer_double(i_generator, sp, h1, h2, bannedOrb, banned, fock_d if(pseudo_sym)then - if(dabs(mat(1, p1, p2)).lt.thresh_sym)then + if(dabs(mat(1, p1, p2)).lt.thresh_sym)then w = 0.d0 endif endif @@ -857,7 +859,7 @@ subroutine splash_pq(mask, sp, det, i_gen, N_sel, bannedOrb, banned, mat, intere negMask(i,2) = not(mask(i,2)) end do - do i=1, N_sel + do i=1, N_sel if (interesting(i) < 0) then stop 'prefetch interesting(i) and det(i)' endif @@ -1210,7 +1212,7 @@ subroutine get_d1(gen, phasemask, bannedOrb, banned, mat, mask, h, p, sp, coefs) endif end if ! enddo -! +! putj = p2 ! do puti=1,mo_num !HOT if(.not. banned(putj,puti,bant)) then @@ -1573,15 +1575,15 @@ subroutine get_d0_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, double precision, intent(in) :: coefs(N_states) double precision, intent(inout) :: mat(N_states, mo_num, mo_num) integer, intent(in) :: h(0:2,2), p(0:4,2), sp - + integer :: i, j, s, h1, h2, p1, p2, puti, putj double precision :: hij, phase double precision, external :: get_phase_bi, mo_two_e_integral logical :: ok - + integer :: bant bant = 1 - + if(sp == 3) then ! AB h1 = p(1,1) @@ -1619,7 +1621,7 @@ subroutine get_d0_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, end do end do end if -end +end subroutine get_d1_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, sp, coefs) use bitmasks @@ -1639,27 +1641,27 @@ subroutine get_d1_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, logical, allocatable :: lbanned(:,:) integer :: puti, putj, ma, mi, s1, s2, i, i1, i2, j integer :: hfix, pfix, h1, h2, p1, p2, ib - + integer, parameter :: turn2(2) = (/2,1/) integer, parameter :: turn3(2,3) = reshape((/2,3, 1,3, 1,2/), (/2,3/)) - + integer :: bant - - + + allocate (lbanned(mo_num, 2)) lbanned = bannedOrb - + do i=1, p(0,1) lbanned(p(i,1), 1) = .true. end do do i=1, p(0,2) lbanned(p(i,2), 2) = .true. end do - + ma = 1 if(p(0,2) >= 2) ma = 2 mi = turn2(ma) - + bant = 1 if(sp == 3) then @@ -1682,7 +1684,7 @@ subroutine get_d1_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, tmp_row(1:N_states,putj) += hij * coefs(1:N_states) end do - if(ma == 1) then + if(ma == 1) then mat(1:N_states,1:mo_num,puti) += tmp_row(1:N_states,1:mo_num) else mat(1:N_states,puti,1:mo_num) += tmp_row(1:N_states,1:mo_num) @@ -1701,14 +1703,14 @@ subroutine get_d1_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, hij = mo_two_e_integral(p2,pfix,hfix,puti) * get_phase_bi(phasemask, ma, mi, hfix, p2, puti, pfix, N_int) tmp_row(:,puti) += hij * coefs(:) end if - + putj = p2 if(.not. banned(putj,puti,bant)) then hij = mo_two_e_integral(p1,pfix,hfix,puti) * get_phase_bi(phasemask, ma, mi, hfix, p1, puti, pfix, N_int) tmp_row2(:,puti) += hij * coefs(:) end if end do - + if(mi == 1) then mat(:,:,p1) += tmp_row(:,:) mat(:,:,p2) += tmp_row2(:,:) @@ -1752,7 +1754,7 @@ subroutine get_d1_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, hij = mo_two_e_integral(pfix, p1, hfix, puti) * get_phase_bi(phasemask, mi, ma, hfix, pfix, puti, p1, N_int) tmp_row(:,puti) += hij * coefs(:) end if - + putj = p1 if(.not. banned(puti,putj,1)) then hij = mo_two_e_integral(pfix, p2, hfix, puti) * get_phase_bi(phasemask, mi, ma, hfix, pfix, puti, p2, N_int) @@ -1788,7 +1790,7 @@ subroutine get_d1_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, mat(:, p1, p2) += coefs(:) * hij end do end do -end +end subroutine get_d2_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, sp, coefs) use bitmasks @@ -1800,30 +1802,30 @@ subroutine get_d2_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, double precision, intent(in) :: coefs(N_states) double precision, intent(inout) :: mat(N_states, mo_num, mo_num) integer, intent(in) :: h(0:2,2), p(0:4,2), sp - + double precision, external :: get_phase_bi, mo_two_e_integral - + integer :: i, j, tip, ma, mi, puti, putj integer :: h1, h2, p1, p2, i1, i2 double precision :: hij, phase - + integer, parameter:: turn2d(2,3,4) = reshape((/0,0, 0,0, 0,0, 3,4, 0,0, 0,0, 2,4, 1,4, 0,0, 2,3, 1,3, 1,2 /), (/2,3,4/)) integer, parameter :: turn2(2) = (/2, 1/) integer, parameter :: turn3(2,3) = reshape((/2,3, 1,3, 1,2/), (/2,3/)) - + integer :: bant bant = 1 tip = p(0,1) * p(0,2) - + ma = sp if(p(0,1) > p(0,2)) ma = 1 if(p(0,1) < p(0,2)) ma = 2 mi = mod(ma, 2) + 1 - + if(sp == 3) then if(ma == 2) bant = 2 - + if(tip == 3) then puti = p(1, mi) do i = 1, 3 @@ -1835,7 +1837,7 @@ subroutine get_d2_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, p2 = p(i2, ma) h1 = h(1, ma) h2 = h(2, ma) - + hij = (mo_two_e_integral(p1, p2, h1, h2) - mo_two_e_integral(p2,p1, h1, h2)) * get_phase_bi(phasemask, ma, ma, h1, p1, h2, p2, N_int) if(ma == 1) then mat(:, putj, puti) += coefs(:) * hij @@ -1851,10 +1853,10 @@ subroutine get_d2_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, p2 = p(turn2(j), 2) do i = 1,2 puti = p(i, 1) - + if(banned(puti,putj,bant)) cycle p1 = p(turn2(i), 1) - + hij = mo_two_e_integral(p1, p2, h1, h2) * get_phase_bi(phasemask, 1, 2, h1, p1, h2, p2,N_int) mat(:, puti, putj) += coefs(:) * hij end do @@ -1870,7 +1872,7 @@ subroutine get_d2_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, do j=i+1,4 putj = p(j, ma) if(banned(puti,putj,1)) cycle - + i1 = turn2d(1, i, j) i2 = turn2d(2, i, j) p1 = p(i1, ma) @@ -1888,7 +1890,7 @@ subroutine get_d2_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, putj = p(turn3(2,i), ma) if(banned(puti,putj,1)) cycle p2 = p(i, ma) - + hij = mo_two_e_integral(p1, p2, h1, h2) * get_phase_bi(phasemask, mi, ma, h1, p1, h2, p2,N_int) mat(:, min(puti, putj), max(puti, putj)) += coefs(:) * hij end do @@ -1905,6 +1907,6 @@ subroutine get_d2_reference(gen, phasemask, bannedOrb, banned, mat, mask, h, p, end if end if end if -end +end From 28578c05626133262dd5d1e2df26de6d9f7349f4 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 5 Mar 2020 08:51:39 +0100 Subject: [PATCH 006/138] use zmq_f77_free.h --- configure | 10 ++++++---- etc/paths.rc | 1 + src/determinants/h_apply.template.f | 3 --- src/zmq/f77_zmq.h | 1 - src/zmq/f77_zmq_module.f90 | 2 +- 5 files changed, 8 insertions(+), 9 deletions(-) delete mode 120000 src/zmq/f77_zmq.h diff --git a/configure b/configure index 50046cb1..14e38065 100755 --- a/configure +++ b/configure @@ -278,6 +278,8 @@ EOF download ${ZEROMQ_URL} "${QP_ROOT}"/external/zeromq.tar.gz execute << EOF + export CC=gcc + export CXX=g++ cd "\${QP_ROOT}"/external tar --gunzip --extract --file zeromq.tar.gz rm zeromq.tar.gz @@ -326,8 +328,8 @@ EOF rm ${QP_ROOT}/external/opam_installer.sh # source ${OPAMROOT}/opam-init/init.sh > /dev/null 2> /dev/null || true # -# opam switch create ocaml-base-compiler.4.07.1 - opam init --verbose --yes --compiler=4.07.1 --disable-sandboxing +# opam switch create ocaml-base-compiler.4.10.0 + opam init --verbose --yes --compiler=4.10.0 --disable-sandboxing eval $(opam env) opam install -y ${OCAML_PACKAGES} || exit 1 @@ -346,9 +348,9 @@ EOF EOF rm ${QP_ROOT}/external/opam_installer.sh # source ${OPAMROOT}/opam-init/init.sh > /dev/null 2> /dev/null || true -# opam switch create ocaml-base-compiler.4.07.1 || exit 1 +# opam switch create ocaml-base-compiler.4.10.0 || exit 1 - opam init --verbose --yes --compiler=4.07.1 --disable-sandboxing + opam init --verbose --yes --compiler=4.10.0 --disable-sandboxing eval $(opam env) execute << EOF opam install -y \${OCAML_PACKAGES} || exit 1 diff --git a/etc/paths.rc b/etc/paths.rc index ce82358a..366286d7 100644 --- a/etc/paths.rc +++ b/etc/paths.rc @@ -38,5 +38,6 @@ export LD_LIBRARY_PATH=$(qp_prepend_export "LD_LIBRARY_PATH" "${QP_ROOT}"/lib) export LIBRARY_PATH=$(qp_prepend_export "LIBRARY_PATH" "${QP_ROOT}"/lib:"${QP_ROOT}"/lib64) export C_INCLUDE_PATH=$(qp_prepend_export "C_INCLUDE_PATH" "${QP_ROOT}"/include) +export CPATH=$(qp_prepend_export "CPATH" "${QP_ROOT}"/include) diff --git a/src/determinants/h_apply.template.f b/src/determinants/h_apply.template.f index f16d2e7f..c57f93b5 100644 --- a/src/determinants/h_apply.template.f +++ b/src/determinants/h_apply.template.f @@ -240,9 +240,6 @@ subroutine $subroutine_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl ! hole = a^(+)_j_a(ispin) a_i_a(ispin)|key_in> : single exc :: orb(i_a,ispin) --> orb(j_a,ispin) hole_save = hole - ! Build array of the non-zero integrals of second excitation - $filter_integrals - if (ispin == 1) then integer :: jjj diff --git a/src/zmq/f77_zmq.h b/src/zmq/f77_zmq.h deleted file mode 120000 index ac5e33cd..00000000 --- a/src/zmq/f77_zmq.h +++ /dev/null @@ -1 +0,0 @@ -../../include/f77_zmq_free.h \ No newline at end of file diff --git a/src/zmq/f77_zmq_module.f90 b/src/zmq/f77_zmq_module.f90 index d0f551fa..1e4a5af3 100644 --- a/src/zmq/f77_zmq_module.f90 +++ b/src/zmq/f77_zmq_module.f90 @@ -1,4 +1,4 @@ module f77_zmq - include 'f77_zmq.h' + include 'f77_zmq_free.h' end module From f79d5fbeb516dee77856bed36cc5b24da779d91b Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 5 Mar 2020 09:36:52 +0100 Subject: [PATCH 007/138] Flags for AMD --- config/ifort_avx.cfg | 8 ++--- config/ifort_avx_mpi.cfg | 8 ++--- config/ifort_debug.cfg | 8 ++--- config/ifort_epyc.cfg | 63 ---------------------------------------- config/ifort_mpi.cfg | 8 ++--- 5 files changed, 16 insertions(+), 79 deletions(-) delete mode 100644 config/ifort_epyc.cfg diff --git a/config/ifort_avx.cfg b/config/ifort_avx.cfg index d3fcd1f0..25bf35eb 100644 --- a/config/ifort_avx.cfg +++ b/config/ifort_avx.cfg @@ -9,14 +9,14 @@ FC : ifort -fpic LAPACK_LIB : -mkl=parallel IRPF90 : irpf90 -IRPF90_FLAGS : --ninja --align=32 +IRPF90_FLAGS : --ninja --align=32 # Global options ################ # # 1 : Activate # 0 : Deactivate -# +# [OPTION] MODE : OPT ; [ OPT | PROFILE | DEBUG ] : Chooses the section below CACHE : 0 ; Enable cache_compile.py @@ -32,14 +32,14 @@ OPENMP : 1 ; Append OpenMP flags # [OPT] FC : -traceback -FCFLAGS : -xAVX -O2 -ip -ftz -g +FCFLAGS : -mavx -axAVX -O2 -ip -ftz -g # Profiling flags ################# # [PROFILE] FC : -p -g -FCFLAGS : -xSSE4.2 -O2 -ip -ftz +FCFLAGS : -xSSE4.2 -O2 -ip -ftz # Debugging flags ################# diff --git a/config/ifort_avx_mpi.cfg b/config/ifort_avx_mpi.cfg index 550dbf91..9a839e66 100644 --- a/config/ifort_avx_mpi.cfg +++ b/config/ifort_avx_mpi.cfg @@ -9,14 +9,14 @@ FC : mpiifort -fpic LAPACK_LIB : -mkl=parallel IRPF90 : irpf90 -IRPF90_FLAGS : --ninja --align=32 -DMPI +IRPF90_FLAGS : --ninja --align=32 -DMPI # Global options ################ # # 1 : Activate # 0 : Deactivate -# +# [OPTION] MODE : OPT ; [ OPT | PROFILE | DEBUG ] : Chooses the section below CACHE : 0 ; Enable cache_compile.py @@ -31,14 +31,14 @@ OPENMP : 1 ; Append OpenMP flags # -ftz : Flushes denormal results to zero # [OPT] -FCFLAGS : -march=corei7-avx -O2 -ip -ftz -g -traceback +FCFLAGS : -mavx -axAVX -O2 -ip -ftz -g -traceback # Profiling flags ################# # [PROFILE] FC : -p -g -FCFLAGS : -march=corei7 -O2 -ip -ftz +FCFLAGS : -march=corei7 -O2 -ip -ftz # Debugging flags diff --git a/config/ifort_debug.cfg b/config/ifort_debug.cfg index 32e4d895..f0f90f34 100644 --- a/config/ifort_debug.cfg +++ b/config/ifort_debug.cfg @@ -32,7 +32,7 @@ OPENMP : 1 ; Append OpenMP flags # [OPT] FC : -traceback -FCFLAGS : -xSSE4.2 -O2 -ip -ftz -g +FCFLAGS : -msse4.2 -O2 -ip -ftz -g # Profiling flags @@ -40,7 +40,7 @@ FCFLAGS : -xSSE4.2 -O2 -ip -ftz -g # [PROFILE] FC : -p -g -FCFLAGS : -xSSE4.2 -O2 -ip -ftz +FCFLAGS : -msse4.2 -O2 -ip -ftz # Debugging flags @@ -50,11 +50,11 @@ FCFLAGS : -xSSE4.2 -O2 -ip -ftz # -fpe0 : All floating point exaceptions # -C : Checks uninitialized variables, array subscripts, etc... # -g : Extra debugging information -# -xSSE2 : Valgrind needs a very simple x86 executable +# -msse4.2 : Valgrind needs a very simple x86 executable # [DEBUG] FC : -g -traceback -FCFLAGS : -xSSE4.2 -C -fpe0 -implicitnone +FCFLAGS : -msse4.2 -C -fpe0 -implicitnone # OpenMP flags diff --git a/config/ifort_epyc.cfg b/config/ifort_epyc.cfg deleted file mode 100644 index 1b2427de..00000000 --- a/config/ifort_epyc.cfg +++ /dev/null @@ -1,63 +0,0 @@ -# Common flags -############## -# -# -mkl=[parallel|sequential] : Use the MKL library -# --ninja : Allow the utilisation of ninja. It is mandatory ! -# --align=32 : Align all provided arrays on a 32-byte boundary -# -[COMMON] -FC : ifort -fpic -LAPACK_LIB : -mkl=parallel -IRPF90 : irpf90 -IRPF90_FLAGS : --ninja --align=32 - -# Global options -################ -# -# 1 : Activate -# 0 : Deactivate -# -[OPTION] -MODE : OPT ; [ OPT | PROFILE | DEBUG ] : Chooses the section below -CACHE : 0 ; Enable cache_compile.py -OPENMP : 1 ; Append OpenMP flags - -# Optimization flags -#################### -# -# -xHost : Compile a binary optimized for the current architecture -# -O2 : O3 not better than O2. -# -ip : Inter-procedural optimizations -# -ftz : Flushes denormal results to zero -# -[OPT] -FC : -traceback -FCFLAGS : -march=core-avx2 -O2 -ip -ftz -g - -# Profiling flags -################# -# -[PROFILE] -FC : -p -g -FCFLAGS : -march=core-avx2 -O2 -ip -ftz - -# Debugging flags -################# -# -# -traceback : Activate backtrace on runtime -# -fpe0 : All floating point exaceptions -# -C : Checks uninitialized variables, array subscripts, etc... -# -g : Extra debugging information -# -xSSE2 : Valgrind needs a very simple x86 executable -# -[DEBUG] -FC : -g -traceback -FCFLAGS : -xSSE2 -C -fpe0 -implicitnone - -# OpenMP flags -################# -# -[OPENMP] -FC : -qopenmp -IRPF90_FLAGS : --openmp - diff --git a/config/ifort_mpi.cfg b/config/ifort_mpi.cfg index 5c3b1782..57087847 100644 --- a/config/ifort_mpi.cfg +++ b/config/ifort_mpi.cfg @@ -9,14 +9,14 @@ FC : mpiifort -fpic LAPACK_LIB : -mkl=parallel IRPF90 : irpf90 -IRPF90_FLAGS : --ninja --align=32 -DMPI +IRPF90_FLAGS : --ninja --align=32 -DMPI # Global options ################ # # 1 : Activate # 0 : Deactivate -# +# [OPTION] MODE : OPT ; [ OPT | PROFILE | DEBUG ] : Chooses the section below CACHE : 0 ; Enable cache_compile.py @@ -31,14 +31,14 @@ OPENMP : 1 ; Append OpenMP flags # -ftz : Flushes denormal results to zero # [OPT] -FCFLAGS : -xSSE4.2 -O2 -ip -ftz -g -traceback +FCFLAGS : -msse4.2 -O2 -ip -ftz -g -traceback # Profiling flags ################# # [PROFILE] FC : -p -g -FCFLAGS : -xSSE4.2 -O2 -ip -ftz +FCFLAGS : -msse4.2 -O2 -ip -ftz # Debugging flags From ac35c8dbbbc950cc2b2a16a7bf9131742386f39e Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 5 Mar 2020 14:19:43 +0100 Subject: [PATCH 008/138] Added f77_zmq_free.h for gfortran --- scripts/compilation/qp_create_ninja | 2 +- src/zmq/f77_zmq_free.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) create mode 120000 src/zmq/f77_zmq_free.h diff --git a/scripts/compilation/qp_create_ninja b/scripts/compilation/qp_create_ninja index 8381d1a2..bb064d85 100755 --- a/scripts/compilation/qp_create_ninja +++ b/scripts/compilation/qp_create_ninja @@ -511,7 +511,7 @@ def ninja_irpf90_make_build(path_module, l_needed_molule, d_irp): # N i n j a _ b u i l d # # ~#~#~#~#~#~#~#~#~#~#~ # - l_include_dir = ["-I {0}".format(m.rel) for m in l_needed_molule] + l_include_dir = ["-I {0}".format(m.rel) for m in l_needed_molule] l_string = [ "build {0}: build_irpf90.ninja {1}".format(str_creation, str_depend), diff --git a/src/zmq/f77_zmq_free.h b/src/zmq/f77_zmq_free.h new file mode 120000 index 00000000..ac5e33cd --- /dev/null +++ b/src/zmq/f77_zmq_free.h @@ -0,0 +1 @@ +../../include/f77_zmq_free.h \ No newline at end of file From 5951d4338a069d9bf3186789067c08e28f2abb4e Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 6 Mar 2020 13:36:46 +0100 Subject: [PATCH 009/138] More robust SCF --- src/scf_utils/diagonalize_fock.irp.f | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/scf_utils/diagonalize_fock.irp.f b/src/scf_utils/diagonalize_fock.irp.f index 865b4d31..288fb3e8 100644 --- a/src/scf_utils/diagonalize_fock.irp.f +++ b/src/scf_utils/diagonalize_fock.irp.f @@ -7,11 +7,11 @@ BEGIN_PROVIDER [ double precision, eigenvectors_Fock_matrix_mo, (ao_num,mo_num) integer :: i,j integer :: liwork, lwork, n, info integer, allocatable :: iwork(:) - double precision, allocatable :: work(:), F(:,:), S(:,:) + double precision, allocatable :: work(:), F(:,:), F_save(:,:) double precision, allocatable :: diag(:) - allocate( F(mo_num,mo_num) ) + allocate( F(mo_num,mo_num), F_save(mo_num,mo_num) ) allocate (diag(mo_num) ) do j=1,mo_num @@ -51,6 +51,7 @@ BEGIN_PROVIDER [ double precision, eigenvectors_Fock_matrix_mo, (ao_num,mo_num) lwork = -1 liwork = -1 + F_save = F call dsyevd( 'V', 'U', mo_num, F, & size(F,1), diag, work, lwork, iwork, liwork, info) @@ -71,6 +72,7 @@ BEGIN_PROVIDER [ double precision, eigenvectors_Fock_matrix_mo, (ao_num,mo_num) if (info /= 0) then + F = F_save call dsyev( 'V', 'L', mo_num, F, & size(F,1), diag, work, lwork, info) @@ -83,7 +85,7 @@ BEGIN_PROVIDER [ double precision, eigenvectors_Fock_matrix_mo, (ao_num,mo_num) call dgemm('N','N',ao_num,mo_num,mo_num, 1.d0, & mo_coef, size(mo_coef,1), F, size(F,1), & 0.d0, eigenvectors_Fock_matrix_mo, size(eigenvectors_Fock_matrix_mo,1)) - deallocate(work, F, diag) + deallocate(work, F, F_save, diag) END_PROVIDER From 2d81db391178f7e7b0a25175016a74647672cab5 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 6 Mar 2020 13:55:37 +0100 Subject: [PATCH 010/138] More stable SCF --- src/scf_utils/diagonalize_fock.irp.f | 6 ++++-- src/scf_utils/roothaan_hall_scf.irp.f | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/scf_utils/diagonalize_fock.irp.f b/src/scf_utils/diagonalize_fock.irp.f index 865b4d31..1e6fa1af 100644 --- a/src/scf_utils/diagonalize_fock.irp.f +++ b/src/scf_utils/diagonalize_fock.irp.f @@ -7,11 +7,11 @@ BEGIN_PROVIDER [ double precision, eigenvectors_Fock_matrix_mo, (ao_num,mo_num) integer :: i,j integer :: liwork, lwork, n, info integer, allocatable :: iwork(:) - double precision, allocatable :: work(:), F(:,:), S(:,:) + double precision, allocatable :: work(:), F(:,:), F_save(:,:) double precision, allocatable :: diag(:) - allocate( F(mo_num,mo_num) ) + allocate( F(mo_num,mo_num), F_save(mo_num,mo_num) ) allocate (diag(mo_num) ) do j=1,mo_num @@ -51,6 +51,7 @@ BEGIN_PROVIDER [ double precision, eigenvectors_Fock_matrix_mo, (ao_num,mo_num) lwork = -1 liwork = -1 + F_save = F call dsyevd( 'V', 'U', mo_num, F, & size(F,1), diag, work, lwork, iwork, liwork, info) @@ -71,6 +72,7 @@ BEGIN_PROVIDER [ double precision, eigenvectors_Fock_matrix_mo, (ao_num,mo_num) if (info /= 0) then + F = F_save call dsyev( 'V', 'L', mo_num, F, & size(F,1), diag, work, lwork, info) diff --git a/src/scf_utils/roothaan_hall_scf.irp.f b/src/scf_utils/roothaan_hall_scf.irp.f index faf23a51..ea472cdf 100644 --- a/src/scf_utils/roothaan_hall_scf.irp.f +++ b/src/scf_utils/roothaan_hall_scf.irp.f @@ -299,6 +299,7 @@ END_DOC Fock_matrix_AO_(i,j) = 0.d0 enddo do k=1,dim_DIIS + if (dabs(X_vector_DIIS(k)) < 1.d-10) cycle do i=1,ao_num Fock_matrix_AO_(i,j) = Fock_matrix_AO_(i,j) + & X_vector_DIIS(k)*Fock_matrix_DIIS(i,j,dim_DIIS-k+1) From 22e54cecd1ba522d44e10bd14958f3a0d1e60492 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 6 Mar 2020 15:47:33 +0100 Subject: [PATCH 011/138] Fixed broken filter_integrals in h_apply --- scripts/generate_h_apply.py | 6 ++++++ src/determinants/h_apply.template.f | 9 ++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/scripts/generate_h_apply.py b/scripts/generate_h_apply.py index 8c399e55..ef22a539 100644 --- a/scripts/generate_h_apply.py +++ b/scripts/generate_h_apply.py @@ -11,6 +11,7 @@ declarations decls_main deinit_thread init_main +filter_integrals filter2p filter2h2p_double filter2h2p_single @@ -104,6 +105,11 @@ class H_apply(object): s["do_mono_excitations"] = d[do_mono_exc] s["do_double_excitations"] = d[do_double_exc] s["keys_work"] += "call fill_H_apply_buffer_no_selection(key_idx,keys_out,N_int,iproc)" + s["filter_integrals"] = "array_pairs = .True." + if SingleRef: + s["filter_integrals"] = """ + call get_mo_bielec_integrals_existing_ik(i_a,j_a,mo_num,array_pairs,mo_integrals_map) + """ s["generate_psi_guess"] = """ ! Sort H_jj to find the N_states lowest states diff --git a/src/determinants/h_apply.template.f b/src/determinants/h_apply.template.f index c57f93b5..abdd6862 100644 --- a/src/determinants/h_apply.template.f +++ b/src/determinants/h_apply.template.f @@ -240,7 +240,10 @@ subroutine $subroutine_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl ! hole = a^(+)_j_a(ispin) a_i_a(ispin)|key_in> : single exc :: orb(i_a,ispin) --> orb(j_a,ispin) hole_save = hole - if (ispin == 1) then + ! Build array of the non-zero integrals of second excitation + $filter_integrals + + if (ispin == 1) then integer :: jjj i=0 @@ -282,7 +285,7 @@ subroutine $subroutine_diexcOrg(key_in,key_mask,hole_1,particl_1,hole_2, particl $only_1h_double $only_1p_double $only_2h1p_double - $filter_only_connected_to_hf_double + $filter_only_connected_to_hf_double key_idx += 1 do k=1,N_int keys_out(k,1,key_idx) = key(k,1) @@ -494,7 +497,7 @@ subroutine $subroutine_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generato $filter_only_1h1p_single $filter_only_1h2p_single $filter_only_2h2p_single - $filter_only_connected_to_hf_single + $filter_only_connected_to_hf_single key_idx += 1 do k=1,N_int keys_out(k,1,key_idx) = hole(k,1) From 77ca529072cce4dc31adb77c278ccf008801f6eb Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 6 Mar 2020 18:12:04 +0100 Subject: [PATCH 012/138] Perturbation type --- ocaml/qptypes_generator.ml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/ocaml/qptypes_generator.ml b/ocaml/qptypes_generator.ml index 2c54a218..ce99fc78 100644 --- a/ocaml/qptypes_generator.ml +++ b/ocaml/qptypes_generator.ml @@ -219,22 +219,19 @@ module Perturbation : sig end = struct type t = | EN - | Barycentric - | Variance + | HF | SOP [@@deriving sexp] let to_string = function | EN -> \"EN\" - | Variance -> \"Variance\" - | Barycentric -> \"Barycentric\" + | HF -> \"HF\" | SOP -> \"SOP\" let of_string s = match (String.lowercase_ascii s) with | \"sop\" -> SOP | \"en\" -> EN - | \"variance\" -> Variance - | \"barycentric\" -> Barycentric + | \"hf\" -> HF | _ -> raise (Invalid_argument (\"Wrong Perturbation type : \"^s)) end " From d9e20245547ef26a05c8c3c6ad79b66114ab1dc3 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Sat, 7 Mar 2020 11:40:42 +0100 Subject: [PATCH 013/138] Cleaning in CIPSI --- src/cipsi/cipsi.irp.f | 1 + src/cipsi/energy.irp.f | 2 -- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/src/cipsi/cipsi.irp.f b/src/cipsi/cipsi.irp.f index ba922c49..a6ab6f8e 100644 --- a/src/cipsi/cipsi.irp.f +++ b/src/cipsi/cipsi.irp.f @@ -108,6 +108,7 @@ subroutine run_cipsi n_det_before = N_det to_select = int(sqrt(dble(N_states))*dble(N_det)*selection_factor) to_select = max(N_states_diag, to_select) + to_select = max(to_select,1) call ZMQ_selection(to_select, pt2, variance, norm) PROVIDE psi_coef diff --git a/src/cipsi/energy.irp.f b/src/cipsi/energy.irp.f index 0ae5ad79..37b29593 100644 --- a/src/cipsi/energy.irp.f +++ b/src/cipsi/energy.irp.f @@ -22,8 +22,6 @@ BEGIN_PROVIDER [ double precision, pt2_E0_denominator, (N_states) ] enddo else if (h0_type == "Barycentric") then pt2_E0_denominator(1:N_states) = barycentric_electronic_energy(1:N_states) - else if (h0_type == "Variance") then - pt2_E0_denominator(1:N_states) = psi_energy(1:N_states) !1.d0-nuclear_repulsion else if (h0_type == "SOP") then pt2_E0_denominator(1:N_states) = psi_energy(1:N_states) else From 1a1d73cd6c3d4cee6b097b95aac377bd6cb1d065 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 17 Mar 2020 16:14:55 +0100 Subject: [PATCH 014/138] Message for S2 eigenvalues --- bin/qp_reset | 1 + src/davidson/diagonalize_ci.irp.f | 40 ++++++++++++++--------------- src/determinants/determinants.irp.f | 2 +- 3 files changed, 22 insertions(+), 21 deletions(-) diff --git a/bin/qp_reset b/bin/qp_reset index b8c07adf..59646835 100755 --- a/bin/qp_reset +++ b/bin/qp_reset @@ -95,6 +95,7 @@ qp set_file $ezfio if [[ $dets -eq 1 ]] ; then rm --force -- ${ezfio}/determinants/n_det rm --force -- ${ezfio}/determinants/psi_{det,coef}.gz + rm --force -- ${ezfio}/determinants/psi_{det,coef}_qp_edit.gz fi if [[ $mos -eq 1 ]] ; then diff --git a/src/davidson/diagonalize_ci.irp.f b/src/davidson/diagonalize_ci.irp.f index 8339406f..996011cd 100644 --- a/src/davidson/diagonalize_ci.irp.f +++ b/src/davidson/diagonalize_ci.irp.f @@ -118,22 +118,22 @@ END_PROVIDER call u_0_S2_u_0(s2_eigvalues,eigenvectors,N_det,psi_det,N_int,& N_det,size(eigenvectors,1)) if (only_expected_s2) then - do j=1,N_det - ! Select at least n_states states with S^2 values closed to "expected_s2" - if(dabs(s2_eigvalues(j)-expected_s2).le.0.5d0)then - i_state +=1 - index_good_state_array(i_state) = j - good_state_array(j) = .True. - endif - if(i_state.eq.N_states) then - exit - endif - enddo - else - do j=1,N_det - index_good_state_array(j) = j + do j=1,N_det + ! Select at least n_states states with S^2 values closed to "expected_s2" + if(dabs(s2_eigvalues(j)-expected_s2).le.0.5d0)then + i_state +=1 + index_good_state_array(i_state) = j good_state_array(j) = .True. - enddo + endif + if(i_state.eq.N_states) then + exit + endif + enddo + else + do j=1,N_det + index_good_state_array(j) = j + good_state_array(j) = .True. + enddo endif if(i_state .ne.0)then ! Fill the first "i_state" states that have a correct S^2 value @@ -163,7 +163,7 @@ END_PROVIDER print*,'!!!!!!!! WARNING !!!!!!!!!' print*,' Within the ',N_det,'determinants selected' print*,' and the ',N_states_diag,'states requested' - print*,' We did not find any state with S^2 values close to ',expected_s2 + print*,' We did not find only states with S^2 values close to ',expected_s2 print*,' We will then set the first N_states eigenvectors of the H matrix' print*,' as the CI_eigenvectors' print*,' You should consider more states and maybe ask for s2_eig to be .True. or just enlarge the CI space' @@ -179,11 +179,11 @@ END_PROVIDER deallocate(index_good_state_array,good_state_array) deallocate(s2_eigvalues) else - call lapack_diag(eigenvalues,eigenvectors, & + call lapack_diag(eigenvalues,eigenvectors, & H_matrix_all_dets,size(H_matrix_all_dets,1),N_det) CI_electronic_energy(:) = 0.d0 - call u_0_S2_u_0(CI_s2,eigenvectors,N_det,psi_det,N_int,& - min(N_det,N_states_diag),size(eigenvectors,1)) + call u_0_S2_u_0(CI_s2,eigenvectors,N_det,psi_det,N_int, & + min(N_det,N_states_diag),size(eigenvectors,1)) ! Select the "N_states_diag" states of lowest energy do j=1,min(N_det,N_states_diag) do i=1,N_det @@ -213,7 +213,7 @@ subroutine diagonalize_CI ! Replace the coefficients of the |CI| states by the coefficients of the ! eigenstates of the |CI| matrix. END_DOC - integer :: i,j + integer :: i,j do j=1,N_states do i=1,N_det psi_coef(i,j) = CI_eigenvectors(i,j) diff --git a/src/determinants/determinants.irp.f b/src/determinants/determinants.irp.f index 71ee3d89..79621648 100644 --- a/src/determinants/determinants.irp.f +++ b/src/determinants/determinants.irp.f @@ -771,7 +771,7 @@ subroutine apply_excitation(det, exc, res, ok, Nint) case default print *, degree print *, "apply ex" -! print *, 1.d0/0.d0 ! For traceback + print *, 1.d0/0.d0 ! For traceback STOP end select ! END INLINE From 79f47d024bfbae8bfb3bc46ab8c7142d787c4e50 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 17 Mar 2020 16:39:43 +0100 Subject: [PATCH 015/138] First python3 3 working installation --- INSTALL.rst | 44 ++++---- bin/qp_basis | 4 +- bin/qp_name | 28 +++--- bin/qp_plugins | 68 ++++++------- bin/qp_set_frozen_large_core | 6 +- bin/qp_test | 18 ++-- configure | 6 +- docs/Makefile | 2 +- docs/source/auto_generate.py | 6 +- etc/irpf90.rc | 6 +- external/EZFIO.1.6.2.tar.gz | Bin 26530 -> 0 bytes external/EZFIO.2.0.2.tar.gz | Bin 0 -> 26640 bytes scripts/compilation/cache_compile.py | 8 +- scripts/compilation/qp_create_ninja | 45 +++++---- scripts/compilation/read_compilation_cfg.py | 14 +-- scripts/ezfio_interface/ei_handler.py | 54 +++++----- .../ezfio_interface/ezfio_generate_ocaml.py | 10 +- .../ezfio_generate_provider.py | 8 +- scripts/generate_h_apply.py | 4 +- scripts/hello.py | 6 +- scripts/module/module_handler.py | 27 ++--- scripts/perturbation.py | 8 +- scripts/utility/get_groups | 26 ++--- scripts/utility/qp_bitmasks.py | 2 +- scripts/utility/qp_path.py | 2 +- src/cis/h_apply.irp.f | 6 +- src/cisd/h_apply.irp.f | 6 +- src/density_for_dft/EZFIO.cfg | 12 +-- src/determinants/EZFIO.cfg | 1 - src/dft_one_e/e_xc_general.irp.f | 42 ++++---- src/dft_one_e/pot_general.irp.f | 94 +++++++++--------- src/perturbation/perturbation.irp.f | 4 +- src/perturbation/perturbation.template.f | 2 +- 33 files changed, 284 insertions(+), 285 deletions(-) delete mode 100644 external/EZFIO.1.6.2.tar.gz create mode 100644 external/EZFIO.2.0.2.tar.gz diff --git a/INSTALL.rst b/INSTALL.rst index 979c8edd..f1657dbb 100644 --- a/INSTALL.rst +++ b/INSTALL.rst @@ -25,8 +25,8 @@ sets all the environment variables required for the normal operation of the Running this script will also tell you which external dependencies are missing and need to be installed. -When all dependencies have been installed, ( the :command:`configure` will tell you) -source the :file:`quantum_package.rc` in order to load all environment variables and compile the |QP|. +When all dependencies have been installed, ( the :command:`configure` will tell you) +source the :file:`quantum_package.rc` in order to load all environment variables and compile the |QP|. Requirements @@ -36,7 +36,7 @@ Requirements - Fortran compiler : GNU Fortran, Intel Fortran or IBM XL Fortran - `GNU make`_ - `Autoconf`_ -- `Python`_ > 2.6 +- `Python`_ > 3.0 - |IRPF90| : Fortran code generator - |EZFIO| : Easy Fortran Input/Output library generator - |BLAS| and |LAPACK| @@ -44,7 +44,7 @@ Requirements - `GNU Patch`_ - |ZeroMQ| : networking library - `GMP `_ : Gnu Multiple Precision Arithmetic Library -- |OCaml| compiler with |OPAM| package manager +- |OCaml| compiler with |OPAM| package manager - `Bubblewrap `_ : Sandboxing tool required by Opam - `libcap `_ : POSIX capabilities required by Bubblewrap - |Ninja| : a parallel build system @@ -74,29 +74,29 @@ Help for installing external dependencies Using the :command:`configure` executable ----------------------------------------- -The :command:`configure` executable can help you in installing the minimal dependencies you will need to compile the |QP|. -The command is to be used as follows: +The :command:`configure` executable can help you in installing the minimal dependencies you will need to compile the |QP|. +The command is to be used as follows: .. code:: bash ./configure --install -The following packages are supported by the :command:`configure` installer: +The following packages are supported by the :command:`configure` installer: -* ninja -* irpf90 -* zeromq +* ninja +* irpf90 +* zeromq * f77zmq * gmp * libcap * bwrap * ocaml ( :math:`\approx` 10 minutes) -* ezfio -* docopt -* resultsFile +* ezfio +* docopt +* resultsFile * bats -Example: +Example: .. code:: bash @@ -115,7 +115,7 @@ Example: If the :command:`configure` executable fails to install a specific dependency ----------------------------------------------------------------------------- -If the :command:`configure` executable does not succeed to install a specific dependency, +If the :command:`configure` executable does not succeed to install a specific dependency, there are some proposition of how to download and install the minimal dependencies to compile and use the |QP|. @@ -140,7 +140,7 @@ IRPF90 ------ *IRPF90* is a Fortran code generator for programming using the Implicit Reference -to Parameters (IRP) method. +to Parameters (IRP) method. * Download the latest version of IRPF90 here : ``_ and move @@ -312,26 +312,26 @@ OCaml ``_ and move it in the :file:`${QP_ROOT}/external` directory -* If you use OCaml only with the |qp|, you can install the OPAM directory +* If you use OCaml only with the |qp|, you can install the OPAM directory containing the compiler and all the installed libraries in the :file:`${QP_ROOT}/external` directory as .. code:: bash - + export OPAMROOT=${QP_ROOT}/external/opam * Run the installer .. code:: bash - + echo ${QP_ROOT}/bin ${QP_ROOT}/external/opam_installer.sh --no-backup --fresh The :command:`opam` command can be installed in the :file:`${QP_ROOT}/bin` directory. To do this, take the output of ``echo ${QP_ROOT}/bin`` and use it as an answer to where :command:`opam` should be installed. - + * Install the OCaml compiler @@ -370,11 +370,11 @@ Docopt *Docopt* is a Python package defining a command-line interface description language. -If you have *pip* for Python2, you can do +If you have *pip* for Python3, you can do .. code:: bash - pip2 install --user docopt + python3 -m pip install --user docopt Otherwise, diff --git a/bin/qp_basis b/bin/qp_basis index 87a04ccc..8722205b 100755 --- a/bin/qp_basis +++ b/bin/qp_basis @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ @@ -12,7 +12,7 @@ Usage: """ -from __future__ import print_function + import sys import os import subprocess diff --git a/bin/qp_name b/bin/qp_name index f0551652..d15e16d0 100755 --- a/bin/qp_name +++ b/bin/qp_name @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 """ Displays the names of all the files in which the provider/subroutine/function @@ -30,7 +30,7 @@ try: from docopt import docopt from qp_path import QP_SRC, QP_ROOT except ImportError: - print "source .quantum_package.rc" + print("source .quantum_package.rc") raise @@ -38,7 +38,7 @@ def main(arguments): """Main function""" # Check that name exist in */IRPF90_man - print "Checking that name exists..." + print("Checking that name exists...") all_modules = os.listdir(QP_SRC) f = arguments[""]+".l" @@ -52,21 +52,21 @@ def main(arguments): if found: break if not found: - print "Error:" - print "The variable/subroutine/function \""+arguments[""] \ - + "\" was not found in the sources." - print "Did you compile the code at the root?" - print "Continue? [y/N] ", + print("Error:") + print("The variable/subroutine/function \""+arguments[""] \ + + "\" was not found in the sources.") + print("Did you compile the code at the root?") + print("Continue? [y/N] ", end=' ') cont = sys.stdin.read(1).strip() in ["y", "Y"] if not cont: - print "Aborted" + print("Aborted") sys.exit(1) # Now search in all the files if arguments["--rename"]: - print "Replacing..." + print("Replacing...") else: - print "Searching..." + print("Searching...") name = re.compile(r"\b"+arguments[""]+r"\b", re.IGNORECASE) @@ -84,15 +84,15 @@ def main(arguments): with open(filename, "r") as f: f_in = f.read() if name.search(f_in): - print filename + print(filename) if arguments["--rename"]: f_new = name.sub(arguments["--rename"], f_in) with open(filename, "w") as f: f.write(f_new) - print "Done" + print("Done") with open(os.path.join(QP_ROOT, "REPLACE"), 'a') as f: - print >>f, "qp_name "+" ".join(sys.argv[1:]) + print("qp_name "+" ".join(sys.argv[1:]), file=f) diff --git a/bin/qp_plugins b/bin/qp_plugins index b32f907f..ef0f5a45 100755 --- a/bin/qp_plugins +++ b/bin/qp_plugins @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Usage: @@ -43,9 +43,9 @@ try: from module_handler import get_l_module_descendant from qp_path import QP_SRC, QP_PLUGINS, QP_DATA, QP_ROOT except ImportError: - print "Please check if you have sourced the ${QP_ROOT}/quantum_package.rc" - print "(`source ${QP_ROOT}/quantum_package.rc`)" - print sys.exit(1) + print("Please check if you have sourced the ${QP_ROOT}/quantum_package.rc") + print("(`source ${QP_ROOT}/quantum_package.rc`)") + print(sys.exit(1)) def save_new_module(path, l_child): @@ -58,7 +58,7 @@ def save_new_module(path, l_child): try: os.makedirs(path) except OSError: - print "The module ({0}) already exists...".format(path) + print("The module ({0}) already exists...".format(path)) sys.exit(1) with open(os.path.join(path, "NEED"), "w") as f: @@ -105,7 +105,7 @@ def main(arguments): if arguments["list"]: if arguments["--repositories"]: for repo in get_repositories(): - print repo + print(repo) else: # Search in QP_PLUGINS all directories with a NEED file @@ -121,7 +121,7 @@ def main(arguments): for (x, y) in l_tmp: d_tmp[x] = y repo_of_plugin[y] = x.replace(QP_PLUGINS+'/','') - l_repository = d_tmp.keys() + l_repository = list(d_tmp.keys()) if l_repository == []: l_result = [] else: @@ -142,7 +142,7 @@ def main(arguments): l_result = [f for f in l_plugins if f not in l_installed] for module in sorted(l_result): - print "%-30s %-30s"%(module, repo_of_plugin[module]) + print("%-30s %-30s"%(module, repo_of_plugin[module])) if arguments["create"]: @@ -159,29 +159,29 @@ def main(arguments): path = os.path.join(QP_PLUGINS, repository, name) - print "Created plugin:" - print path, '\n' + print("Created plugin:") + print(path, '\n') for children in l_children: if children not in m_instance.dict_descendant: - print "Error: {0} is not a valid module.".format(children) + print("Error: {0} is not a valid module.".format(children)) sys.exit(1) - print "Needed modules:" - print l_children, '\n' + print("Needed modules:") + print(l_children, '\n') - print "This corresponds to using the following modules:" - print l_children + m_instance.l_descendant_unique(l_children), '\n' + print("This corresponds to using the following modules:") + print(l_children + m_instance.l_descendant_unique(l_children), '\n') - print "Which is reduced to:" + print("Which is reduced to:") l_child_reduce = m_instance.l_reduce_tree(l_children) - print l_child_reduce, '\n' + print(l_child_reduce, '\n') - print "Installation", + print("Installation", end=' ') save_new_module(path, l_child_reduce) - print " [ OK ]" - print "" + print(" [ OK ]") + print("") arguments["create"] = False arguments["install"] = True main(arguments) @@ -228,7 +228,7 @@ def main(arguments): for (x, y) in [os.path.split(f) for f in l_tmp]: d_repo_of_plugin[y] = x d_repo[x] = None - l_repository = d_repo.keys() + l_repository = list(d_repo.keys()) d_plugin = get_dict_child(l_repository) @@ -236,7 +236,7 @@ def main(arguments): d_child.update(d_plugin) normalize_case = {} - for name in d_local.keys() + d_plugin.keys(): + for name in list(d_local.keys()) + list(d_plugin.keys()): normalize_case[name.lower()] = name l_name = [normalize_case[name.lower()] for name in arguments[""]] @@ -244,7 +244,7 @@ def main(arguments): for name in l_name: if name in d_local: - print "{0} Is already installed".format(name) + print("{0} Is already installed".format(name)) l_module_descendant = get_l_module_descendant(d_child, l_name) @@ -252,10 +252,10 @@ def main(arguments): if l_module_to_cp: - print "Required dependencies:" - print l_module_to_cp + print("Required dependencies:") + print(l_module_to_cp) - print "Installation...", + print("Installation...", end=' ') for module_to_cp in l_module_to_cp: src = os.path.join(d_repo_of_plugin[module_to_cp], module_to_cp) @@ -269,10 +269,10 @@ def main(arguments): subprocess.check_call([install]) os.chdir(wd) except OSError: - print "The src directory is broken. Please remove %s" % des + print("The src directory is broken. Please remove %s" % des) raise subprocess.check_call(["qp_create_ninja", "update"]) - print "[ OK ]" + print("[ OK ]") elif arguments["uninstall"]: @@ -285,17 +285,17 @@ def main(arguments): l_failed = [name for name in l_name if name not in d_local] if l_failed: - print "Plugins not installed:" + print("Plugins not installed:") for name in sorted(l_failed): - print "%s" % name + print("%s" % name) sys.exit(1) l_name_to_remove = l_name + \ [module for module in m_instance.l_module \ for name in l_name if name in d_descendant[module]] - print "Removing plugins:" - print l_name_to_remove + print("Removing plugins:") + print(l_name_to_remove) for module in set(l_name_to_remove): @@ -310,7 +310,7 @@ def main(arguments): try: os.unlink(os.path.join(QP_SRC, module)) except OSError: - print "%s is a core module which can't be removed" % module + print("%s is a core module which can't be removed" % module) elif arguments["update"]: @@ -321,7 +321,7 @@ def main(arguments): l_repositories = get_repositories() for repo in l_repositories: - print "Updating ", repo + print("Updating ", repo) os.chdir(os.path.join(QP_PLUGINS,repo)) git_cmd=["git", "pull"] subprocess.check_call(git_cmd) diff --git a/bin/qp_set_frozen_large_core b/bin/qp_set_frozen_large_core index cce5ca70..6950b90c 100755 --- a/bin/qp_set_frozen_large_core +++ b/bin/qp_set_frozen_large_core @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 """ @@ -23,7 +23,7 @@ import os.path try: import qp_path except ImportError: - print "source .quantum_package.rc" + print("source .quantum_package.rc") raise from docopt import docopt @@ -62,7 +62,7 @@ def main(arguments): mo_num = ezfio.mo_basis_mo_num if arguments["--query"]: - print n_frozen + print(n_frozen) sys.exit(0) if n_frozen == 0: diff --git a/bin/qp_test b/bin/qp_test index e1730cc8..67b3ea02 100755 --- a/bin/qp_test +++ b/bin/qp_test @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ @@ -21,8 +21,8 @@ try: from docopt import docopt from qp_path import QP_SRC, QP_TESTS except ImportError: - print "Please check if you have sourced the ${QP_ROOT}/quantum_package.rc" - print "(`source ${QP_ROOT}/quantum_package.rc`)" + print("Please check if you have sourced the ${QP_ROOT}/quantum_package.rc") + print("(`source ${QP_ROOT}/quantum_package.rc`)") sys.exit(1) @@ -54,11 +54,11 @@ def main(arguments): os.chdir(QP_TESTS) for bats_file in l_bats: - print "" - print "-~-~-~-~-~-~" - print "" - print "Running tests for %s"%(bats_file) - print "" + print("") + print("-~-~-~-~-~-~") + print("") + print("Running tests for %s"%(bats_file)) + print("") if arguments["-v"]: p = None if arguments["TEST"]: @@ -66,7 +66,7 @@ def main(arguments): else: test = "" try: - os.system(test+" python2 bats_to_sh.py "+bats_file+ + os.system(test+" python3 bats_to_sh.py "+bats_file+ "| bash") except: if p: diff --git a/configure b/configure index b786cc52..5c5ce1ab 100755 --- a/configure +++ b/configure @@ -17,14 +17,14 @@ export CC=gcc # /!\ When updating version, update also etc files -EZFIO_TGZ="EZFIO.1.6.2.tar.gz" +EZFIO_TGZ="EZFIO.2.0.2.tar.gz" BATS_URL="https://github.com/bats-core/bats-core/archive/v1.1.0.tar.gz" BUBBLE_URL="https://github.com/projectatomic/bubblewrap/releases/download/v0.3.3/bubblewrap-0.3.3.tar.xz" DOCOPT_URL="https://github.com/docopt/docopt/archive/0.6.2.tar.gz" BSE_URL="https://github.com/MolSSI-BSE/basis_set_exchange/archive/v0.8.11.tar.gz" F77ZMQ_URL="https://github.com/scemama/f77_zmq/archive/v4.2.5.tar.gz" GMP_URL="ftp://ftp.gnu.org/gnu/gmp/gmp-6.1.2.tar.bz2" -IRPF90_URL="https://gitlab.com/scemama/irpf90/-/archive/v1.7.6/irpf90-v1.7.6.tar.gz" +IRPF90_URL="https://gitlab.com/scemama/irpf90/-/archive/v2.0.0/irpf90-v2.0.0.tar.gz" LIBCAP_URL="https://git.kernel.org/pub/scm/linux/kernel/git/morgan/libcap.git/snapshot/libcap-2.25.tar.gz" NINJA_URL="https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip" OCAML_URL="https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh" @@ -154,7 +154,7 @@ function find_exe() { } function find_python_lib() { - python2 -c "import $1" &> /dev/null && echo "$1" || not_found + python3 -c "import $1" &> /dev/null && echo "$1" || not_found } function find_lib() { diff --git a/docs/Makefile b/docs/Makefile index 7f886cbc..8ec191fc 100644 --- a/docs/Makefile +++ b/docs/Makefile @@ -14,7 +14,7 @@ help: .PHONY: help Makefile auto auto: - cd source ; python2 auto_generate.py + cd source ; python3 auto_generate.py # Catch-all target: route all unknown targets to Sphinx using the new # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). diff --git a/docs/source/auto_generate.py b/docs/source/auto_generate.py index a4dd32ca..11029c3b 100755 --- a/docs/source/auto_generate.py +++ b/docs/source/auto_generate.py @@ -1,9 +1,9 @@ #!/usr/bin/env python2 -from __future__ import print_function + import os import sys -import ConfigParser +import configparser from module_handler import get_binaries @@ -27,7 +27,7 @@ def generate_modules(abs_module, entities): EZFIO = os.path.join(abs_module,'EZFIO.cfg') if os.path.exists(EZFIO): rst += ["", "EZFIO parameters", "----------------", ""] - config_file = ConfigParser.ConfigParser() + config_file = configparser.ConfigParser() with open(EZFIO, 'r') as f: config_file.readfp(f) for section in config_file.sections(): diff --git a/etc/irpf90.rc b/etc/irpf90.rc index 42ec4502..8016edf6 100644 --- a/etc/irpf90.rc +++ b/etc/irpf90.rc @@ -1,7 +1,7 @@ # Configuration of IRPF90 package # Set the path of IRPF90 here: -export IRPF90_PATH=${QP_ROOT}/external/irpf90-v1.7.6 +export IRPF90_PATH=${QP_ROOT}/external/irpf90-v2.0.0 export PATH=${PATH}:${IRPF90_PATH}/bin export IRPF90=${IRPF90_PATH}/bin/irpf90 @@ -10,10 +10,10 @@ function source_if_exists() { if [[ -f $1 ]]; then cd $(dirname $1) ; source $(basename $1) ; cd - fi &> /dev/null -} +} source ${QP_ROOT}/etc/autocomplete.rc source_if_exists "${IRPF90_PATH}/irpman-completions.bash" - + diff --git a/external/EZFIO.1.6.2.tar.gz b/external/EZFIO.1.6.2.tar.gz deleted file mode 100644 index f364f88f0df3da14ea1eac8f2bc5792f70b190a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26530 zcmV)AK*YZviwFRB&rV(d1MFOFbK5qy&S(4zteaU|9a*;QINiq6nRODo^_?Wn*v@u( z+fD`|AqfpdY5~%Un&iLV^8%0{CE0GL>CU~knx?Tx;NalAKIZ_=>3^S{U+g{jte<`O ze06k$e-FPp+K>MZp9jOk#|MW;kG?v3{MCc~;qd6_;DJ2)ylnBOa;36TK5&VishQe1 z?ymR$OFyTi|G~tRW|9|He~vX!!H*w3+Nl3Wk7E79xZ&Z^;n4%R|2dfHe*T~9znZ72 z)B`saub1Vt$oKTGV^a*~OL38?S?0gaGVxToss9Fp2f4|AQEyW{cj4!(n23qawFP=9 zKNFc5?ZF?O*8cj|*f~6!sdsvi6#3XpgtN)s`Q_`gulL{1RK6E~FZFEB4`AB(>-_=F zi@v|rc?l-09X+epnAoD4yIo)lchq`Sl_rZ{dbtjB7jG_~oqpQt?F|M}9?SV6mAkKH zPl$1qCrC)X@TsT3&*#^tFY7@QUEV#& z-7-kZf1SK|b1LN%d6lRPZ1YBC6#$$2P4=HB^2A!T^mC=vDwShf%%m$*lZ%!xZnPa0 zPIopRo|32=Nn8Ez%2@3sjuP?$H)HwZk8=0dT6t&ZFHS$npMQpTrk+gjS*qKQ_QmCfZ4zKo5im;0OCO@HTtDoM0+W|Zmsue(+fV`E+U zR@q540}#3*jbVqQ*j8f}tu5>md4|MfAQmLE!i&zFj-Tz{!k^OsuhY#89{eT-uZY^+ z9Co>3qLE>FKDr}JJ}%&ulpmtC9}bcJClT#;4e^%U-jDo~dyowl;VEv=J4Ge=@na){ zwvpl+EGy-0Y4$Xi4ee;rb{Fn?!F|vrZkteTX}R0V}gWl_dW) z!6EjkFLrl#BUupFXCid_%bqo_+(qj8ETwe{uQz z>PPzV8UFk;#q_z=HyelS4x2#-n@1hssK#gVbs=dbLdT(p#6k89V`wpWZ9+%_X?z6Z z{Rk!%WZBv%R47=&Omr@HzXu9C$(n3{RDtL*2DpzvGL_qI@2A1!*S)=M+1tXP_YkBd zd$L(03jLA3g2uW$$1FGI_c7At$ChT-?&a>q{|I@Y9Dc$`pUN-yYH@tr`}lFP{TpQw z8Tc(sY-8}jkbu!7^39*>shdBM$l3*r+?{U!F1=BJzEyvpMQOC<`)TYB<$Qo0fBGZU z^B-0SmlVDa0c6f(9ppIWiU0H6`ak}|{l6FI&rV-moqnb@Ztwpc9<84L9UMJA_^bc- zXMBRMef#Q-{Py(K>E+1_`TEUMFbL_5BKGxvY3mSS9`xmZRk@bKufN9X<5@9ZS~HoJ za_3nO9{%I&KE0A>R%>}xjLU_xTAmeEo+<<=eR-ZIgT9bQI7a2~GQg)-C5$fn@(gg= zRGwu;Vf*rF;Yu9;@!^8cdd~qY4591|L{@hA;7$P!?lA6)-b1iH7hb(;^|9-b8=i*IRnuLl`ix++`z_H0oou|Ciq*5T`5>$ap z$=jB~cOvk-y9-0`pjEmGhT)?1c3=q{OB)5r0FO>q4$NbKk}yuRS(AY^HJ@i7e_Wj8 zLu$}%LlKRkY`aK;IqgQ}OIg4i3xKnjST&Q2DW(-wmD9pH>RN-=%0g6*H3%&2Top6z zr)@II*5;A|EC$3kT8bd-7uvxF<%W%!+?86TgPxQ>6cu2Goc6ku%nM20GweWtML~x2 zJpfy|0J+Y!dWXUwp$10!_zD@adaSL*-GBhR{`zQ@Vs2r5*x*IAi8Hrida+7XiAEu& z>V_2@8As$j>@+L<$sKPxc0!gQ$fH0=H?TAUeIP9t#!Y+udMVgTqRkBwsceFzQ&5a0 zfg$!Yr3e$jX5niz6~}l(Z5bm>2iudtW5Qe_kzD3_!TbifAF~Ywa_{nDQPWKer0I|{ z$k~y0t_z%6>ZD}Pp%~{#E4hwjX*EiUif_l{K^P;G3b0iSP$*2Dlc)Pdm=ZFM7VX~g zs{*xR(QhqnkVg%~HP30S0v_!$RTA+;+fu=XVZnvu!qG6Z=iQf7&YwHl2j*+-7N z_-93G#%R7IiZghj-z$V${V-xJIaei9se;HsR#S~$C*WIYXvY*XycXRy3h(WM$r?(t=|e# zMQ4ExvB8r!27~toCrIEr^++P4fcgTTDVrT9S6x$~B;f^YKcGA?6K* zVR$~%xC+)~#M)drta=a~EVS^^!o?N@?0S^}GmBsxWI!RS2yf;nJf1m{#N^g40k zCQP218`94LB9!K-qr&x?}Z}1fje0lNw{OtVM2|mDO_6LNV);t4yoAzonTuq==DV)ORgqAc;~4efx?L|=FY>M{a%fB`Xrp?R*EJ5hB4DMBJ|@;DQ9+ldMAUj!P638aqH*|2h{zGjc0leG8%IDaLZ| z8WiJHnp#b95*z!FJhs53PawYEFhVH2ToGAqa*Wm{2~8sMY!EVAhc|~~jcI_-PNM${mX@-2pFiip5^kt5z7(}Jj5N&*x|O-U(H zt{9pKEAK!Y)N{mMIaMVPvXHrv27peH3--B&MrJF-+epjdDk1UIn@kJM zsbDx@6r+~+saXS9^JKPN3}jHfF}gW{AmnlxRH7M;^b4BvWPvQURtz>OYq6w4S3&papn%CwQ6* zDGLD*mdC9~$dw;%UX7g2VHHefu(z7Dz%hg(oBA+90&UTOA<$MrVDsw;l@*{}25!x0 zP*trZE_DdKdLRR#cDi&1PgmHk*_lJV#w#(xTY4(W1I1$QBMk1j#zzqV!>s#0ROSIS zljR&Vmg4~)QRH3O^#&6nrjKlbBO8pUC^62M-HoBR?~^IpX^b=}w6_DH5AbqLD!KBT z8wxc7zg=UOU>bn9XIit7@GhK=68RHO%c|E@0g0*{mk>2*#9lSU`~+l6f`vW$ODkw{ zM8jcRC7%vOCdr#)4pRsb2ye;C@dg3(_2Dd zwye`SJ#(Dubh;7(y<&+5%_H1hjIj!8K`Mw5%CDkO3c;Q+MUgieo7Pm&fHon4kox`k zNH1XbTJ#~&=U`U^Eb#`K3pWb6J!KW9A&4`6^AKnuz(z$OixO>=USgvbQ)-C9=n-go zG(93nDADAeA?z{P6f&*FXhD@BaAz>cTT}`FB{XQZr#vqzh%R*A&qo7iz>MRTS3&}~U zb_;o9^r90JiAsa;c23_Xn!?o+Ot7t#T{@kOL(ehj0C*!3nCmE|*OtJ-=Qcs!5_zA4 zSStdB-K-)6x}}je>g*63^hDh^p`kNwDo{_(CzIM-Y01Vrs2CLnp#Z#BPzFk;edC4X zgXJVmVJx)KGy9a5u=g-RK9nnRphlfsL`IeXVgoyHu+!jtXlA&8^KfqlBEG>o3=hIv zF35^Sz(XF|$37NytDAk|{eYT%@}y2YqJD>Rou#qoT$S|%(Xly)cYSNJFqT)lY>5 zG?!sFBUDpvEfRn|pXXRv7(UCHVW3l!2}&uD^(7DQ1EsQ#kmy1!ijVa079i5Y?@Hbj zS%p3QF%-S7EG*PjKBPDMW9Zuip^**YFXE1)CfPI=DQlD5;q6GhyM-?ISV3|w4d~~f zhbgKU{enG}&;tkUB~?lB1_9Zc^ee7{#|?>x14$ri6NZ9dfGsocQ{2)32{iEOB*F7^ zL@QvwwKnQA_N1`fQ>HvP1J3{ewTrnNnPmLb)F6HD^TBJQp296akW)>2JEUN*yacEf zGi43fe-#=-O_LCF4ui2{5MjRtWUD(>YMQEo z@DT-sW#8j*51?{9&Ef`h&gXfAi~IpsC=f9DX&a!n7hG(weM-VCd!o>lc$A{M%4z9= za3AO2`{`h_{COw8LkGzw>%uFQhFtCXyt<&( zdC71dv%(iVheawZl}uB#Kw+0vjtUdyT#=a24+9raX!v?;a>Kn=EVKN0j>Fc>`9K*H zwg~wPnKQmkMz9Avc_%Lhub{wAO z(cxg->8UYoJZ%T7cJ3B>${?c=6(9oj)N4FprhXv=FawJwbh^VkM2_Eq8S9LpiNi47 z^E(ufqb%2~Zs|&ZZq#GKz}wzG7D^!1Dkt1RJl9JJkJ^>@Q0gIktS z55UtJ-zFnN2mS>Aj!k_fgV3?^N6};r)TQ>QHq4R;*C8|`mmLBt))(M5fl(p`FDk zGklFfOAAT}HdHiT{eF&ZTq>V@rVr6PLMnKeiR~r)ZTV6V#90s+EH*B`d36k*c&x-G zNJmAg!YokwT!u-+pdMSto@>|=wHpTcB7&wfp*ps5$BKjzPT5Jjm>>c`i#me!@msjK zU~F^wre=&hhqQ#%4Tj>t0F;Ax&ISLCEB;N#d1e%pj-;#w0ea$a^yFlVqO z8P2B3a{O%zinaCj5fhVz;}PZr3w&Lk}YO2E|}EsC3^Fu>M!)4;k2$W{7abvXDja{);qib^QA#t@9-rKX^zYbl8Q*E> zIFL7ftdN5@hKMG@IkJDl7e&~K+nvPdd_V97-c6yX#M5lO;Vd-Vpzz_zKw|KH%W-At zw5oOA#Ft=AOMP3`wWg1)J^+wigD9qSz%>wUPx2R37$iYq3;$10PmKrq1EnY$(>^){ z*;fO3KIXhm-4t-q`dk2W02J-NROy5|d5lq_;*^h^1prY@I64d(dwqt}18mpG9X@QH z8GpIZA6J9BR@(LYBC{V4cxsxt)ATnpnxx}2R- z6UgJ#OC-=4lL~(!Jux<^W{#pZN4Sy7nh>sI^3gq1!9B@vni2*@hZ3E8tN#9E&L$+{ zW%2ysJfm)1xToh^b=)^F<9@$m90n_zNwJ7_%0K;f&8;q`^&3tfyG|TbNCK-BK}Q{(jwF6$VWoBMGPYIbY5Q z)<36)JPJ(8m!wBs!1(4y4*#1?;MN><{4#YVzQ6-~ODB+cxo?Ffor+-X6uNv#LYEPJ zJTG$YcRLE4bgLzaN;U;xi6$NU9%?nO4}0kj)m~cUtbi182I_GZi=i!62pg zR1>+euob>OG31G=A2xb8M&C9@ncV5^bxIB|oB^ zIO+EM_B(F?0g`(0OPp>i?lu;Q0WcU027|$1z>b;iv76O74#38o0qFo|uoCc6La^kx zNThjSLBLf(D8>bfN_H)A$e}02*VthQkxfL@A2KRn{zRsUj432ZZH%5 z(2-Kw^WFFV)t*_KJO`p6@lAYWKO?e9_qZu^A!UUK1hgvd~A?DgdB%>Am^SgXYeGdez)} zxpi;=r9J&wHD0}f!W&Pwn`*o91_;{x=VtTOfqL_zx#R6(@o%;OpZ$XdX4u+MZ}zqh zwswA`0?`q7Z|lbw2kOP{_Os?5dF!r1?UYfyYU~|sHTONhZlg+#eL%aU-fSJb z*nNFqkjKU~c79g>*xGp(spb|H)cohGz2-i&--EKZUINBVNZi`l+4nN;I*nuj@zqrAeZ@%7cKqFr7 zz1rPxq6G&@2!#N__qO)`p&I+15ca=cH%vi5T`1#aV`q~(D$|kJT=nzrYn(Ws-P_L) zz|#OosHS?>eBRtV*!l^&7a*aU{nsy>Lht+G%bAzKy+~)qZpDr>#w-gSXdw z)z|{^qmT3+#sZ)E@}RRJn(vF8(X{A{O{M$o&rw5G8#Vuw;?gDe)ryN zLFL#(+0KtB3nZkS|1+@Bu6o({nH{r#7WM!%jpw$@6~GiJcQ&5xA`PAbK3jwqAc6$J zE_&8@+4!-!A9;oesA_R0kJSFF=H?dufOKFz=<98!3XG!vevQ2dAEXe~fbPVmAssN|rb2xIvBw29Dr%^jc@4X4KD=IcEeS_pwT z0Gs{SFxa+ss8c*_FOBA{y=Qtn5uMfZ#@6=hy&R80&AUKCERuN5bcklM{V*aPP+QNT zs?8VDd&(KLKdTqe6;GQ0)_C^Q7D^tj$Ahu3za=!;l@f%GwrqnIQjP)_{y+VRaz6k4 z66P%2g!?je%!vQFzE*jdjsLk;dAvCPeHYJtB~cK`Q)`e~s6`DJv;MlZx(n-_ccV70 zoIK3rp7~y@RK8P<0S0RPr1m$PFJY8LYIA3ApQ1|gnPB^%lcS|PF{dycTRZFN=^-{M zs5dV5N-a7NojQ;wj)qGGO;_pC^B#QQU01T5?%Gi)f$Pj2<~9BD1Pa)D#uwNbmC!kPe!$m$b7-8s~W{g_rn zRKgTG^Rah2Zj4L9M7JIH0FqO(WxCsbw$thK9>i@tDoZw8Q(`{BwKpt>=2X{p>;Ww6 z`r!w3%M8!6c%X0Fo3H*`t*EWN{l?2p_`$;f5?&8_#1w$!tM)}-?YHrKN6eg5t$rJ+ z(GVHG8>^l6=-qHIkeFr!uwJb^T2lu=#UZNfn{hY3R2vq6h^YVSjgt0Rr;L%$$NeNO zACEjwd>AxSns+tVnVt41~8oFixdVErEfLT8AulA^Oiq>z>6Ns9V|8JeHN=6+F zS%Zp~?nfigH zZ26nuCs=xbY7v$p&HEb%fn*8%1Ow^npO|yy^24zzmsg9k0_MdDl=X85@)o6+Pd@W^ zDq&?LP@ZSn0=;Dsz->C^$&ylk&0ZlOpRq50OS?L9uK@Uc5w_f?W- z`fzdo!<{_b|9haKzHF99$@ojuF}?rS9#+<}_kXOfZLBZ)|1KWZ{p}hRSMdtl#3qbDbMAnZ)-yA#WAM3&x94+qnPJmN;$-a-bcZ&76SN zh$I*9aE;s>@K!D!j9HasKcCQUdsx*f`+`V>5%k?TjXUr4(NzRf@ntW;I64hkwur+T zFKtxg)s{#5XLyWC`&^ej?+scXh)z*j6veeVX%Bjz*_PAh(D=p|hN57!6}lXI<`xQx z_CkKh>D3gb!O&3sm0TU1KrbGhm=H%*sw+Ji!x2{qu`(a?fNtq^7}K#FYA0)-cizX! z$MGe{@@Ha^7bIOClFy+|KKIVg(V0c(0g^l$ejN0N?Jjc>G17s3+Dx6dJMY^k+O0m0 zfs!@PTT*ZNayRw;>3DozTh&*)S$2yb-nI};i+fBiec;s6@a{ z1{Vmksx6JH2m(12X89lBG8g=Q zAfXc5&FAysBvlA+JbZ$#{4l&kjFeTTbS@`fywD1rTWI_ND7pid4SX6-s75C&b#HQL zfQz#hj>JTQ6`aTcx3hL)t`&kB`ur=pTOkUVRhccCq0e`fg{R8-=jVhAkvY9n69v!3S)xgOoU4(+PH&ecP`!>W)i6otI-@dgHv4)hmHap;4p;4!K^_`CSn4qfn) zc!*M(o?-AJ zUBqR5gh}`wPZ#R#S@eh=(;`5)7;pDL?`b~ZgHbH(4Y{=K;s+_ox~U_ z17}s%@o3!Z@obe*gwTl~gt!F9gi)r!w!lv*XZbNwq+mR4;#T!sM|9=6W8GOX(d0{d z41j(QeD{N1?b+3((%X$LnMy+RD&#q)D8DdluF(xdxH-oEAEHtQ8E z*Yt#zQY2F4=WSdqD07Nx5(l_-^C@1eo48aT)Zm~DwDOsUZBKILf`&Q9)2FB>cuE3a znP!-SSyrD)MOH?=(8QU-nVNI!;%P%ZE7y;CX@a7CE@?2&7@cpZO?rw7aEFF2#485I z+VUDo;OM}GHC#CpvS&f2l!IrYhw4Y5_3G(JO$T*QA`fbE%Fz-+=7=H-Qako|DA7F?x}iLH=AbUQ$&9E%Im z+qVN*USI}AJb|*J`&Fdy2SX=)e{3KNvyVcmgc0@o9uL@4REaUptdH~ zAejk_BZwFv_>eb)xEip;hdiSYETn`B7>65)5THP6vZcur-DX5b+_Y%|Rv9I6&nPK% zU%k2*)469pp71Ui_Alr>#Q4;mO;U|dVR2=GsH;OxUM|UoOi3Lr>twtD3Fi*JrdCjq zYmZ2^E})-QM$)@(DT-~32e!0Oq#mqZR3Sri8i5-d)fel`O1-noXw2GH96f=HpVLMX~YWEd@i#^+I{doW0>P0f5d#~ljX&%3S)cz&p?yEQCRj9>njlSV%jMQbMV4?XLn?Pg*tV^Zp zqcTphl`?O$@b9&?we{~F+27r(ysBmSv$6hY<2!UNTd9=4{r0;@k1De=t<1`#5G!uX zOKs-_n&AC@IIPhqq9`T@_GEJ2?~UDK(Rqp3YA?RuF=2iN8yB;DL+>oRIpavulTD1xdPo4k?9GO zv@$8p;Jr`lnv9a_$?f1}qu-T?A4`U?jV_<-rdFEs!%p73{sdG21uxLe4D+C-Uy>xB zs41x_!gQyt9vy=f5E-}o+`Tjxjc{nz$S{h;l=;J*;1tn;9abs)TlHH!x=6u~B>W`_ zrK!dfeVctoLg4|IZ_5=ns}K$#$1>>Y!1!p(Of4=TXo==%fcx0i;ieC8*fkBMN2LX>YMU3qa&?Li*a zFU+xB(^@P4Jc~6dufc7%MLTT@8Oci}3x#4@by%fDLag;D{gy{nWSd#Ui*%caud}|H z2$fl7QI#1Xh6FZ7Xb}=vB+Ia+Ncm)0&sj%mK0Zy};1hfM#FYX}l~2y;}W>`-%Jzc>XImX!attUGZj?Lx|Ls&gyOaAI~v zo(h3*uBPR_t-4~wZFKC6K^b_4@!uF{j+~^;t0Y-LbCs38M|gSOCWl-UOPV_up#%XP z^F3YSr*}cjo`#ty(H#2r?PuB{;W-31eQ0%R$5Wg1f#`3CpnLHq^@tEWJ+?cFX3n8SKOfEez*T4HNGqkQ$%*vIEfv1tzj_eIRM@6zi z8#{d9F^O)dF8HonlB9y-s?9LD47DJ)K87=*G;8rY9Ay@d&JvK$()(xsi_9-+;d)@ zvPn}&#-KyG#E`qNGmY0@J@19w9YISCinLGb4JGlUGKMQW7I=}eNszIMV6TT$di?%9 zvW3tq8!{&|z&vZjw7ZGN(>&t|`d&(8;{cVe5ZC8fxz|hCRXAE2;?C(%eM7+iE~-T4 zr^3~`EH!Y78LRKVSIyn$#f9j#=OO-Q8<9ctAJlF6F{KK71PY2`zSBH}>{+M|;X zHCdor(CDZ_Uo}j56rT-0!~y0FJuU}L+&UfB%XL+)StgiL@@X(`U)I!vM19ZN@pEx| z_@VT`WIU`Kg{G$XvNsN@#$0Y3Cdlnk;H#)Hd^|-x%mo5H;|Q@Rt(F*%Tp1bo8e}l~ ztJwjdUUwm>!Q{YkF_6H~byN*O3k;|xYiFfQ_qipwG7Cz$|6B?q3mfR~a;t?gkXxT7hdvSISEuf`c97|{siUvr9X@L(aydBbU1JQzd@hfsnyr@ZFvG?@WNMx)g!$V=>b=Wd)_W$wTu zeMvymN;ftW3rz?Fnq;Q=uFTSyHsG#l4f|c$;qQja)ieP)+Ci!xXsrNS$Ew04{UEC$q&O`DE18dsnD$N4 z1uzF%O|Lk-_gV{P$zCg&M)l|h8~*CqdP6VAf{QtO@f18f|MLN+KT`aU>c+zUa~F@( z|9_zP9~;$${&yFT)Bil*@yjjNF{}UA)^hg0_3A?ZzmrFM7^mKU@)$SprQp#9Dmipv zy#3@LjNf1Z#9C$JTY_mPaEJQXP zqP~&xSHI~gimDB1T|D>jwTbW-ezN1=>dsrMW7hb8nA86rK6Yp|D zt0$9Z|0nMB|HS(srz2sakBVn?{Z{tF@QLSrI9xkoQ@aMoL$DI|zW$(FrvLvkC_NZo zocH74LpUAbkDzCy+u)2R{TpV~iLc#%H+|A`24Aj@Yx(~@T&(}@;z|4eOGSUbR{Zyk zjfMVqClB|(b&JavsAE?DuUB*Z|7c?o|NBlJnIhHyg}Jl*s9g2-8avxtPZfR`wFl^t zArblT3rFbnHaFS63tvt;9q+mIst>ZQoT!y!yyR;Ir_GgqJUAJjuHY$W`2K2ZQ{9KZ zIQ5>LL;mO6jUV?hKc#t%JyT$NRDjW|pATLD&iF+uEnl0C|EUj;|76tpgU$czj~4U) zT|8<3f4Ms#XUP8z-0aWZ|MGYt|L^2k-2b?^|8a5uZZN1dgHvw>Ix6>YV)lwNlGarXon7ETHNigTu7?zf+ zd>cl2Sn#oR44?7RK~4%C%=C?w=5|U6Ax$lSf6NEtbevue37;}I6?zO@!=y}fh0GTY zHSKvtZK%oJ9_5a{!Exo>X%{wT6XfDb$3SA_hN7~HYCwYMI^Z|z+>`5hZr8)m#dQ&x z|NeK?IoC*mTy=}{a%8DF0Mh$yeYIl_91&{lg{m{UC?N3!oC?|Gn_&0p|5ptaF$S*z z!h-s;7<0E3^zQ_erJMf-M46W*q>0@R#pyU+TEJ$V_cSDiQ}EY3=H+>}um#@)yz~im zP%*g%<@^&B;qv-?B@8hS6|h)C{RN*?|IhHlE!Ht({r9NyIJf_^zP{N1xszwY`JctI zV6iM%EDQep%L3Wz9mRa^j-va^g-eoj0(GA!oXo#TPwP`mOo3VAmAO)A#DvVFXe&f<+O=qR42)G3Bdl9OA=Ec$omL|iFd8JKf$AF_MP`Gar_^dY;K zjF&x8YM*zzPvUXsV>bxP94k8xe4HZv$oE5y;xgb>DwXhxC@l@@s`MZ!J$XWh#6HMr zc6kI;dp3hdxm#EXax=@|JdS$p=O% zg%;iD+#J08MB4c^O~v0W!f+4NmBWH0F>q-5INC5U#Djp!4HNhU zm4^vr01A+#dk~~lfP|8PE#Ys1hB4}^2SL{!%~W<$SazK!o4HC>x@eUx8>3-Nz#9YN z%_!|imu5$qxFKy?d@0=*qtHC%Uy)4HigbyUpIv;th8DkNAfC*5)6ZEuaQbH|VS=S^ zUNjremcmlx|1$8)zYcqY0B4hMo~#Frt!+0e_9!35c973m0>q)oiR_`Pm>u22*C&O2 zI$4i1^}<&0XL)k#e`8U)y*g&B|JT+Z=gxmTT=;+9&9hklFV_Ey_5WXX{co+kg@i_h z$m~b34uL}kaH*wXRgg(JP|6BwGPvtzb~kvTxB?=>`Ft_%_4P;2iCh71C4HBV)>>1H zj@gO4jWx%>Rq||1UfLr$@c*P=9#ewTadT1n3P;KoY=c(Z6Lo;B)U>8~cBR-x#&l z6cL}DAKUMzI5k6N);VMl1eY|`ze6K`Z!iveVH(!#(mLXWR+4FzDr1ug!Ej{SO2=T6+#0k;Is4q}@IldfItT(B)7v>|tBAA4P>xC)SqnM-H zNwC7p5AD9eS^)4;)Butq)rbF6=s||=4JJbO1~xQnfN^r#K97TbM1L_CZiJ+y@`ySl zkO+bz0u%c0E{>1mkqNcOuWRPLSEq=49Ne$>ecuq?fa;d_4|@_gQ7rG0PR4f=-Ht!% zJQ~DFOe^mU}RDIhF6o6|Z5JuBZm3twCf1vj+s6YawAl-S$=Psn)H=z~4*w4Y6;N688j`JCG zZ1C&|)&WNkps^fsG~4>lY006G8wgu(Kc;2o%M%nZzvp%Oc!P(Dj2ggyac9gss7POs zR)gNS)e3OiEi#w3*Qo(QcG{7%Lz0%#;Nztfg2zk?=R<&5sirBWSiNU}ztd#AWhT+V zx&^Ox=l{Rxjp7!jF>Yv(XM8k#nwdUZkvZw(A>=qJOF=xZlH1N}6YYb}bdt*?S)|k5oH|#02{J9=I`DjUXynTf zCKS5!Il%9DO4}T5hNS1M-G8`yn)dcVE{E){<5RH1ZgH&uQP2&7tPAs3Zt(baLA)e< zE;o6p8jy`p)IuZ=OC-Um0$~X~hhc6TLHh;BP*j(HyA`{UrmgX8!Yo_EnO7tZf4WlG z<*O{vRgvhuoo1eSEQyh>S_Cu`mfxN*YAkYyQ}qsi{)J1U?C?w7UL2* z?VVJmxfN9C`o}38aV>tgL_g&a&LM@s<{Dv?*@ex}@Qc)q9EZ~KmzN&J99N&jaW3t4 zhIu}7_zRZdy-sSdQTnD$C(b|Hj-cL?IMA4J%}$7a>}kE$$Z52^38mM0nZW)+e?cZn zuL_mslZ^ukA`QDTZ$ADih7A>{LzT6MVVPuiQAf(?<5Y&pMI23V02VszlC4%cGe6~M zK!%HK65fJRJ{MbLr0h(-nA+`__$ww#!w!3?Z){#PZ*8diJ`_FgwLV9y)d`^_v^1|*a0=>H1M zK5e}UL@Zr>9|quA?5zB(JP1BvbzqodpKgp}`)A2YHeF~soC*bTwlf^W1(lWXyDs54 zz^}#Kk+ZW`XZrGYD9$Qf{bk)2HtH)(DI)Aj$gjfd-xv-*Ffy14)Q zPM%;Xoyf1U1i(ylF98&R-^vnzWae!w0cb|J@e%+_nP&-5Oo6K|0kDi4E&;HJn=Jvb zgexrpxb3&K1i-RxYYBj5-DC;CEz2$e@LS;$023xI0Wfju5&-|1x&**~rYr%LU{W^+ z5b>wiB;5sXLG|k9A-Gtls6FGZ03F2cZIpL^jJswZKp3FG+b+PAf=4u67m;Ju?kFX9 zAuc969w<zM zw#P>HB)FG}m#j0wv?Hnb{$nTxzgg%%m!B9!tpmfC;7WS)z69eN^6Z0(MWOShFl*n{ zlM}6S{GCgcY9#J{K`r+(WYp0Exb1;dBl*LW0$D`<>%VeE>q=#NHr9$XccG{8m1DLx z)>bnD{PM3-`Q&p+dWplB87jJ+_Qb`Td^d94_8i2@1&n8MrubLM>_u^=65ajt8?0hvDFvHj1~$`DbRRjltQNDE7a(Z%g3bIA3M2A50YP?bM+j7 z74T*ZmS+J9z2uA~(?;SP+^~;v0Xn&#mC##KJi&v#Ny#tL!^?liol|&0u?nyMR)w3``uPQKBfu)h>o1=@xwl;U$Rb+;F&ss zdcdBl*TqN-@T(laPZoZ3LcRAHifM)9tf|FF>Mp4;NJP|%@Ir9uC788Tci8$k9KBcV zPUiv_)*_k+$qHhJ3G~*(H|hr}IQ}SE(zPE{P(JM8rVcuUQom95WxYP6l|N;ZEihBP zE-rxVxO}scDk@-4?J~#R#%eT4qJNt^??CrCz#kQr<4v#`0u!cyfJ2b47@+5ugCQDSj;m2R+spi z73`%66^Z@`8u0-stu>IAsIqhbavMJoD)`|!ez153tvE`1 zwh99wGmb5U9Oy?I8R#wiRyNQnF!@qvfazPS0GQuh-~gJWg3FqmH^2s6S_&7nJ6nDs zNoml$L7kaKO*(97t`izKGhPqMojM_|RnWaf_1t2BI9DxZJ68_V%>g`~S&rVXRmWCI z(tkE+GOHw-=@Y9ECbI+eZmvRt39R}~h|e3~(s9!C3rAcf6O^aCf??}Cw=dZyXi`pP z8Hr;x$RR&VoeAobNFk*x`UrE@i^zpL7!D-z-z3OK8y2kaSRpK*fkhJ8asCCw&IA!`u=Am_MI_+%+8 zSbmr@h3*2Rb7aORjZPVr0&T{nBN!zS^2y1;pc6V!gmns)&JjIMb6LE||= zlpbDydKQ;z#MuScV2@@i@t|FE3@}zhxeL-A>A6~*X&Eh;QXHsGlp2>ga3WEwkPvf` zVj3}uCPb&+E^%U>O}j4oOhVCoCM@1Xilus{;g;*Jmb1$^ryP3?Xr{HK7y+rcur7P5 z22Dt+Q<7V0Y{}WUHKc4K<-`B59L>`|FmHe^joV4I>>~!aRNupr)o2F*=S+aMs=x`z zS#G0KoIJb9tOic8l+^MnW0C13xX}tDRR2aL|`=2T;RCaK5nN=UictT`gEbz_SbSeG?5DW#l# z66@!0X`$BP8Z#giFKFxbD74dfm7&|`Wc}S#2(`;Eo(M@CvE{;&N0v0ntQraaP4k~y z2hC?ZMO)Dx7^LMgbqP6&-2~)3JNn+8L$*X8i^#}5Le{pLXgj5dZDlNk=3O_g&<;t4 z5)E6FbGo^6TF!~KPcl|&P$%aEb7sbBs%I!WXR+;cq9K&+HJr836xY6~Dei_d<-aoX zWa41r;nMi>l1VTBjA~!E2a>ZCtOIRKKD~U;EE3w*9H+j_ z!-EQ>K6S690;m~VyX$0tPM6GS8QED~X*H`yYT7LOxGIHK5l?2L^2^}Cz0#9>MTMr+ zkZ3K?6XjFJ!fH#XBKZ`g){_a62?t8CShBg#mP@XM))q_oL04eVO(jYpc;2czEko9{ zn~@*+43@x2jlq_z%I6@9Fp8ONxdZ||eLxvXjI7bl?UrAOm)qn|DJhH0R6pdsehu)% z`j(S1riPLnkbhzpE2#hxmP~{twG;A;WAh9&Sx{}$)}{`}|v_;4Dnj(wQSAm0rG2VXNqYQnf+{o#aCb9YAR9Gz1i zcx0_Z_7lV$&AiYoKk^Vqd?O7R-=X>VjssE&2;haE1ZnsH<>3dc4`2I3Qy}^X$aPa! zsEqV^t0t2!6|pvMRfWnn*7ddL*FXA`>VI;p+wH4=v*N#3AFt)~zqR$sLjSvqXA%E> zp%yOG!oRFqcvly|c3{%S<3@BlC|}@Od`k?dY9C9XH~p&DqKjUgP-W9Dd9?$q0zMI5 z&FZCLJ9T9Gd=Os$L4s;kdfTfT9utqQq+u}yD)i(sSog}?=@-2+hIkn1!EgF{OeObY zs^2{~Ml3Y}Vd2LF@T=Y$E2-RB@W~EXI>|pR_RByBEU0MEq@t0WZ4%Zc?Nck zfZ;b1sQ^4QK}hpgyjr&zV^nqPCgY-OZJq0EGdIglyUrHcDv2PureBH+pwh^iZr>z` zwG?En5Si&0=uW;tcls5&6YtO!F=7t9CJ(xqBum1iP$*|Kpc@0<>Vipho!o@U6kjea zm99bc=`@Ki&k+-0rov=sXbJ%@DdCKJ3oN}m7dR7kE!vq>jCFnSE*O>C<6nZHyc9KtEWFr>+^f^dq&!9Sfy#xV+&5wbRKwgy1Ig1y`aSOS+am)`-VJE0Q8f_u0)x}n z`-o=4cyMus%bS>`x5e95Imh-x4$t2S!5j2WVAPNm^byvijtAZD&@Fbd z_Ldu3_G_yCK*^w*sjMP5XYM7+y>!jotCV~7nz@%L_wqG!uTbulYvv9pcaT$mucpgP zo^fZZ6%&R2Rp#Sav+>kf2N&A7Ucpgg_%+)?SB1$ZqTbBufxH!!Kpmi`G5kFV#+vQq zHQQi4%t%9!-`Ubq@sI7ZUfoI3Qmxvf(d4Pph2sfRud2<;_p0{4to=7#+uxogct-rM zwaTN18T;>}_3GNf{(BeC!v4Fk|1Rvme_i{pcVAy;1hCK9soMJHaiAu$kv?tyxV6)I zwYU4z*0biGI#iZHsJixTC}v2bO)FgRaHeOwo8CQW9Ci_RLkdNI0kXOCjNm-HoQ-z1 zagD|%Vs?GRq)ZicI=dAZTe5N1TV3^64Vcfn`av1kp=_5JxW$E*x1fPHWt%`^j!z-r z*%vI+`@yUtc}+V2LFMVc9yV3e5e>wim(J~zi2Z=IuOup1t{|alV0Z9b4u?>(39sSO z*k&-Y*hFdyb9=yQ6*Ze{XEiX)k}dM30zb;(7G_%OB^U3+?^Vi2r`KGzz+|7^vi*3R zxcs!5Ypm5WrF27LXa@3^K)X$5-`)A!Y*2l^*KFqd$3w5twA}?XIJpT8e!LzHvhCM- z3f9B38-Rh}@(tiaEwk{)kj-S5p56oGP zBs4Mul_iGsDb-ci_|I%Usx1ZWpVe}li@58~VwfN4R7;)&PSYlHSXPkWBHTm?wQZ%6eXB}`-Q>^~-;X7nX;xzNp6-)8Fsr?!KxlFNk$H!) z`a6nhLX*~*8rA<)k*0#B@YcG(p6V-W8zE*mi<6{%5_{S1$qCY%^@G*N|GA zgN497wP^~&b?<`!x3~}=gHFDTdI~l};{CBk)og9%58ds0PmDS}hi7{0U?H*@Ty0c$ zAt$41T~0U&UxThC&T}_ZPSJ^3hX^MS+qzBj`mNw~{WY86+afX;jzO8$j+pKp{h z?+AeDtybr}f05vSUVI6<*FcpvOX@f8K3i#|?Bn5ZY?qB$oxH#640b-=mqE+fp+@gW ze_O5}7Ey;%1JneU%wf_S9S-Z~6_iGe(>IZsQZgS3Zg}%?NAwX6KIDS)9)+V_{my+dGFeFkacC7>nAHA zSe#qlt^27RgRESx+U}6>gym!Bec-1M;^k=W>?*h%UIeInohut*(+L1Cv>(8fqsx&S zZ2NILnN+FMKZQo;)bm&S`(~}aSz}BAA@kzUqUAK&w9-k@rIFhKMTT2Sm^{Z`ja(T# za%3YhFtMR#F@J*wQ>H>|?bL?ac7$s-n3fp%^^)rnUfB3Z{lYaF-YK#$G4+bIo4jj! zFie1U7}uky;mej`69AvLcK^YC$$2(q$AYV|YTjC;#B*2iea!UTHWNV=DV&({_*wu| zQE1;2VJ$B}0$Qp|M8Vq{9EFCd>70`{5PsEB^B+QcYnMiLFK1zxCC9}h*&_W^(?Vf=uF7@g3a8otvK2D0 z)Rie>UZji5xHFbp+zk3BdQ$&Cgb1M+|bbvi@2GiAC_<>M?Y@+ zZ8`d3S-0irhh^Qw(T`h}b@an;g^qrhFwxNu6Q?@*A;45eKLnWO=$A7plavoW0+Ywl z_;RMLoI(MTgrJPp?sRG!cMgc6g`7$+N*L4q=^6h)OgNU?F!={4pE=JyPkY8MMN0WA zH+X!vD3*d4Cy^*xQ~v5I8S{_X>{tM7?n_94smb9NL(+Yv8m03l0^PWJ7y;)hw@dN0 zC$7bFD^G#`N0Ah6QT>}4|7T+(r~g$ei};Us@+|bfh5onD|Ni{?U(R<-92p{&Ki`19 zV-s~jstX+_Mi(#&QvW@Q*aMw{rL15no_nMtUrSw;pW}^0<$2s`O*V|BGtDime_9bBBf!!j|3R9i`8b<1NY zT_>!sg~sWxHwdLYE&zQT#2-D|ySW#sUnBM2qm(-2!GHzzYP7!Q@mU}I9`tHGGIjc8 zKRx7QrQrQco;l7#=jc5mJ7texanp-_joy1%sz6Tl>rxf89kr}_^aCDtX_|JdikfRW zN*9(Np6=-UN#I1PO6YWppbWnMqPe}T4(aS?a*EFW6p}qxU0wZBdW$jR(>Pps;T=pi zD_!N+eYJ9|*4_dT*FeQ)hV<;CW4U$S%tK8(2sF$NhU8O%7ZptqKGv-pyo77vde5Kf z(0>xAHyEVr!6|IMC;nrI+@KIqZ`#87SXR1|SHaokSdPNN`xa$;7kF*cEV90)yPae} z!gP+BA8!|Ug=h4v2Zvcg-j!Gf|3WE`VykR-17lKG-+f2kKK|mB8R9mjT?^U%DmWQKqHsJ@LSg0&i=0${XpzfqGQuae5#azzUy=ug}bxv|l zmbWJdGC!nxl?j{oFMa<3$(%Cg8K?NZ5ANf2kbFvB7jg%iy1(zH_b4n4^C zOfEqCC+-1?yWpmVyiiFepUiB)$$(&X?))i)F3x_;%42;<_1+9tR6eaZhzCEy0!Y?# zxFkRgT1#?mxcUj2{&y+V=amNbVCP~q!dqW^1JEh@c+ZQ@2xaTMITV44K2yOx`HE7@ z+)h@k=#k5xad_+vW^kQ3Eyeeyu)y-1qpUgMnig&+2j7My!n&k7S>GS8v(2)1=6)9z zr7KN@XT85o<@|nkS{;+g0mh4HF zhc1Sjat@n5vCD;0_kds+Fz|i+=_B40+#a1=;0?1$S}gWJ3uCS!$%AK&gC^c66-NhK zFPnAz7Mjtlcz$@i9;tL7Pr<_6QsYOev3anyyHoey>}?%1;eG$0aqxP-?!Vso$IkAX z9U1+!rUV|qA&+%Or~^itOSAw09=SeF$U$@CLlgpiBp!SSe7s)Ak1&58S##BnjiDSs zSJ_3(M7<*KjNTjclGAz41}Mao2*R!k&LMz8vFR$NswgrE=r0mTbto}uKSL=x;%sNs z0fnAz-@ecahZ%VYVWi0iiT?nDcLwcuNkGu(4guuseC!5cNVi3%N-XN`+Jqz%R{r|Pf#-ptL_hDrb|L0Dgh5dJ7|6SOB|0?$1`DRw00K9Y_{IgGjf8nQK z{s(QZe~0_O8*4D>=k|XeZY<{iyLcA!|6=}M%>RG>`CqTCi*^WJZ9Rj@|L@Z_Y1SS- z3JDPJXqd5wfHs~@F&oNl(`xIP<0+_ZqZ6K54J{n!y{>D%Tid9F1)!(UN3vgnEvZXh zIv>vl5y3n1gRO7N--dpOfS%X~UhM84?7R$gDMh&&k?)s%Kf>J6KQTYqbWD~=%G30b zsD$zw&a|;-BNEPX#@xiq<`ZQ5Hd_rHJNraKdl8+*@_rQ?yM?W>wA5I3@?6@%?N? z4H$Og2q*`|*z7Qk8#q`E&T?nxBM^izDOT3A7j5WZgZlt(;)$OP3|l|3d#)?Nqk!skwV9Apa>c8GLs$HNSd%)ug* zE5ZwH>prL~FB=C3&1Zhprh#1d_nM7o%ruB?#iI*F3K0HiA$;>%*=V1w))1q3)V&0R z%qALQhh#_H5F;HRTgA9D5_f4l8pbW=)lp2`+PWCi+%#42PF~bUp;FlK>j8UO{JmO->~uWW?$fM5@G{`bu1S1@^lM zEATGg=iYfxASk0;^|vcQjVu!lU?Qp!`WapTn>}l8Hz^Bs`h3R5q8lSwbVd5I6DUew zN6{J#d3DF3DRSCcQLq!xMX=Er2xpc?jrtGrlv~1N#m#X-)Et8KA!B)yA{5%}1W37s zPGGyfeex-N;f{nFNm&Bs<9ereewsbs`KHdli<6TxpW@_E|BhnA7AV{gg5xtFR|LIZ z|4u-411G3qd>GyP4o2|+x{;!+O_4th6FXFoGpp%(G}tl;@4T55Gp;aT%oUjB4d(x% z++yIa&n>~4UYvc2HGx%6HFSBg%*~CBzc6+tovk+fKQmg_QL3%Jx_PiCFkHA-JP86?##E!jK8DWJp!218a}^*}?P|E}ST`rIZ*_Htwk&=M#7|S|WEsCWl8;fYr>fRd;&$C=;+mjF-O|i8L6^$UTvGsxX0GYrnVD;< zLU)~+Yc^c(T6&_h)iZO7`zZY+zd+zvYL_Vq(dl z7k<~3^N41=`TQr+(bkzJmNp?_**#Up%P3g z1i?(@w^sF7-2z(f&I{S4asp9bUhrGxr;JK^&_RJy*q7(Ymm zO0>#Izf2789N8wjnjXh#bYE05ifC1&fn1|s)uD0;Std%7bBqm$7qMqSZO9_Z6*B}d za5^j5*F$4~Qks?h2M@52C@d!KFe%Ga*rSjG-ejW>-Edl5^=U(Wrxl1VN^8snf*lqIWnF{)-g%46OC0vU&U2?c_R|MoLWho^% zLotWFqfG6`{R=)_NRM18B%>B21YKw062s-zIb;J$JQfchQ}JM-X&Y|}>zGrFro*Cu zw@QgiC^+MA2GXi zY*W6#zam=wWYqD)!`e#qNYY@~m46-f1_8W=UaqOE1#WLW-D~XqjJQ2WN=VuV0B*=@ zxWGOcGu2wwIlUzd8HdFAGg!vvK=_Yk8Jk@$K%cnbD+2gbuVu|>#)#%EENFiu3mQ-A z)QK1#h9@{gnG%fcC)2$F=UA?WOPX8L9#-?()q>s%6p)s+T&?x2S4aer$~zu~_BIRF z$vDjb_t!GB%@Y|(uFs;&RP1|GJ#|m%%||>^BAtulm2cCNEkHYjTv3^IwNjlGVk&v*QYJ*+%M*Gb|{!GR_AVEsyAB!NHqP6o1N>1Nwd+KnT@90ZEN3QbHjmbgv@{7IR1|q zZ@0_01x`8{zD;AZLt^9-?2B{tm&3`r#rTRiP4FXHa}M{o;$|ARWPFQmAP8yl7ZX%x zIKuN>SCEJ^uZ+Hid@$bcM%ViD3Wdi0esk|&LO=hYDq(I+ik@lNfyJ+eZZM+!m?#5xSB<^=Q#l{VM#oR=|U|d>Z-Ac$=31LKZw%?gxH^4aUDk zSfJXn5&bianrj>7>cgl}4MTs@T0+W&QE~HOp&fF~=!nu$85(6IAO9td|3iHQgXg$+ zQa=B5n=xi)#Q%F(S*v8?|2(X2JY2;8xr^uiy`tlJ-hFkAut1n;?yx}j3H(;V0%1Y7 z5*7#xx_MY2EM=asK*bceYFHpFbM=&HZmOT7h#Nf}1n7=wkRAbxm+`_Q)UQ+650l`XUTO22*f zuG?0ZH5FV&sR73ISWDQ?#<*AjPp}`(O7#f64t-y5&aZr&`8+Me^fuG z0?raNICUrBCvB~ZivZvmmm=W9BQKk5(_$2#_uHK~C}s8FQY4>R>8G%u0C5wj`&Lsl zDfzDJ6f4VPp;U-=3P9vU2QPeST`Di>_EPOJ^$SxS7vzFE-8PTb*6ojRtLX;Tj za1A?s1jS#x3r3}1!csKyqtK5`vQ?vegHZwX<*Aq}8v#|m1H35+1c&XF&yAJ;sjPh0 z`eo&p<)zi5Wx}cSOSM#hm0d^-ifu3fLJwN$2%RYGq*KQi=Y6xam>thDazUU)I?#XW z5d&YLOS@zk_5I07Oa9WgmC4EGwoq2AEMcq2CrrD%)h1Vg%yRAexmavnIqApoc_1|EiBF+4!#;mG#B_pLg=y?+rTr3(zdTM|Esi zKK;S7KcU;1`;GmNoo^+)f}wm`^6adil2wcjlPM6sQotAYGsvd_RSnOFVXupd;usWg ziNS}4t0hYr`%TP1l$u_;5~=;x*4~?cz781#ujzO~(4Lb;B9s;=6KCpfUGlh5dk zin&k|`b`yAs(xiIVAaXdUmo1bYg0zegk zoh!suHR$*<_eBH*`LIS%m!&c^Arc}A(PeuTpcpATm(UILUe#=q$-h* z0>I5CpU?(x%+aLD(T_>Ya^aWO?q&G?vYzN2hF|bjm;(vg8kP|_jX?&Z0$59-e)SApKk3u3pOL#G%Ptn z+$_WL74Ua-R%~oSJ;8hUUf*othcLpbcMkMjpT@s$iHpNi#3?#n7CjQ+Mwn=!;~7}mlH|I<^TGl#|!y?C(mO4XR-gY*#G(K?*CA@F5dkS8z{Ya9*zFG{Zcm9v--UbOxS*C zeV5h4;Nq;+?w_BwgAF_NBp#l{9{482P_K3nRy-^KmXGG5Bq3)3wkK2Q2E z#A~V8IfB3sRW(v;ky?+SjYko@KaA9)NIj0!w?_cW{tpCNt&{<@QicL#frnOgDNJK$ z9lK}`TjP(z7M}XnsdG38T@lcBEOaWg8fmv8MgF0UF(0Nb$RC-k4DGncF(Pan7I=B% zTn>);Di#XbpYLJ)Pv)dARL6|Tq5F1MFOTbK5qy@89?oSl6?*Ip9xNw(W*x^wTXrfDn^I5;@Z-#LJD_TT3hm-}CQ*3SWa z9-f@w-@}I|2l3zG^TqJ!!O`*X!O7w9;TH$P;mPsA7xLuuvc;dumC8!_g-i5I&D6$m zcfJ2#`Z**04<@EGlf1C{bF6_1esFxeQUAxsr2oUClj8@&gG12&(a9m`|KM{l)BXHE z*MBunRjCJVDqbziX_4>iU&p2x%$MRaQM1f{on_*Qa#Q~e1`l$R|DxWedhWu{Suqh4 zoofs9Qhp{fGunqgJgxopt+8`>G*j>NASv>(nFwc-{fpPH&c8l*J5%|7{Jqq(IX{4D z*sTS z*#AknpKXnM#{bCw504KX{uTfKj8CNh0r*(C{0wW{75`WDe{^zm{8#+{Gd_|2Lva7Y z*SKB(!-J#YgO2`>4<7uL|NoTFmw($InS6f)1|Yr^UrI6p>83i%WKzr^52tcr$|-)C zXSy^+4&wxw&D+D6~{uP)!betPz4tG7QGNcmXK z7pdHPC3`}Qt2{wM@-3(0`Es`>J_sr21VN7E_J@Z4r~M8vfd&4#B|eE&I+ars?MdNB zC(}Z1i8uK85j^vI)8*T-$uy4OWu9HUK6`q7`TB=?OqJK8ME!88oD83O3jBO=efFXr zG|}bVgWN5Hr2NrF^WiCpx{ve)0V5ll=K-cvnt!E*g!{ zdkOZUld`Z&nHME8@<^8OWv8vBoh_PZby?Y54&lq#hGAq33%<1^q!7cnb4e&bM%;4c~ zV(^Nn-OXW_8zveVmgl28!sO!uUP<{OT6=ql^goGcziWuM?Dl@-AKim&un13agWf4B z$&Vi!8MKWQ_s|ja>>XI7+?(^ecq)kxHvfKJ*itsu{mnMMi?$-St{@svoN9T&*1bfv zZdZ+8cQ|UT`UdB3SeIx=Oy9u@MAch(s6QQM?yCeTyK0Ep-QWH&?Ds!)71K53hzK~$ z*7o7X2?uq2s#6=KjqQKRzyG}+)Z%cBNFayYEt0jSM(mNH$(X;)bvC}Wk)3vY-LzdG zxVN`Sn0JwGM1#rlw~5BxM>O{~mv#2CDQkeY8G`!Y0uh)~r*9a3A81V8F^O zP$kKKO>l^P>dU>oy+~F>#EU6WPGb@>xun&$z#O-FUX5;Q#-;zcaYqJN{Pgi-!P79t z-!d(1vO8^Z`?Sf1X(2k@u_SAK9f2mm-9{pYd22ZEsidZ`n#9&GyJ21%SG8w;)g4=B zUm62e;#49C^{%A`HXxri2pvZGZy~^E1%OGJR2J8Jdimnj>$6wSfB1%SAw2yCd>Nm< z{r>Xxv#THJ$EW!7&lJ<=R^MzKvNvo79c~_Vh@%>x$=8LXl?WY&9uf!HGmN3d;I#=M z38e86jQ1m$RFGwBqfnt>2{X~T-1{CV>?Uin0a68`k1@b~1d^%Tar-|FCcp0Q@5tU3 z2EA>Nmh8!9jVSa-`U)EB@*K0=nBT`pmmgc2UAvdN7yl#VfpYi>BYi5r+ONg&asT7T z$K!~>sHI#MfXc?O z_q3Sd8#kr#z&~*T`zr@hK3M|md1;jc76A{j#^}5?ldq}~EG?esQjw3>!@oDS}O}tIo2Ss zw0l*|w4b)gC|jFL3a}Uu-)JdEkP8$m+4S7Iy;z@cQecRf@TV^DUQbf*_9qA>F{z2=sxpTo^a)_3NczFNrocNTjj} zl1@P}mIQ{_&y*re1e=Ag(NrAc4Yg&AFdb}90*?uEi9~Xl>jm>0YO~?FT#|N zakOanj$ak16^njrX@fj!Ag*~%YZdTlm#LD7C)$<@HVh-?@Y0M-MwcPTJCQO=RIJr# zEXh7{~_A;8=F=v>vBnRu)rWTnOycLn<0i9DYiJA{L z1(Sd=vtSI6S1<$-RW=y-$ygCogFdX+SqYz-l?%{mspsyI+#U8PGjXD9OC8Ko>>l<& ze&FZcOrqShm>Li&%E-~nOi#egDd#!L$3E%xV+{k%eab?l#&|vA`ZRMOA=HIds4yfGNOH#k88*C7vAXt)5U^3>I;;Aol`FyCSlTGEoVyH>6NMO=(m zQVcO~C=A2%nZ{MHE+f|F%3;-m=wP9Rj}|VrAYj+4447F2;~)bHSshm_KqV$uSs&Km zEn$uUK|p4oQ7W}XS|!W|?HO9%WfV3ZdQm+&IVAC8k-hJB+OqL2e3@()uYzN6R~g{1war6C*gM zVxiZG6E|V<)ZCb~LZ)OfqCmon)NrPc?L!T=nUJ?p9-1~};BQDn8gTS-;DaXE1eyz| znT&@dK2s@T8JT2Sc@9AYenaejqZ&e`Y?|J*c0Ag^C=ZWO?)5lD&}jC)MFU@4KD#)-czTKtaG8SvA*Xdv$=f4I8@9kWW>MI8 zJ~SXQ1id+-P&Sx+=b7>bi&oLZooSI_c5!Oy(d`TnD2TlY9I2@41jIrNPiaL!6iP-MH`L1=_XFa{C#>j}6Zf%hb<5WM3OMTN!=kk-G>MbM1gidWx4 z=y`^*+`9(FIF+VWQ=G)cJ|vGVFzHi>?>CGP3NKegR+}87wMjygh&&sF%+}$};W5Wp zf@M|d4Ea2yP@o=6MPaxc3tQzYqW4ibKpma-J!B(l5J>qJLo`K1V7ZUC@A(acR! z6_v|)b%;3>%)xfy$s8RWG7O$6DGD>hWIReVp5`Nu-$arrGXtpr(;@XgmhZHlqf4L# zcz7pxnhPll0T7nQtw_j~A8uZaoX%ktOlGjRnzX<%gd&^zFhT-t(Sae*RzhI&>j;$< zpj`%T&1g_nttBpX2)%kB1EF@hbOujX*sj@`L%qf;F~VDVD#`=JV(udh?zzTC5dg!i z`#x0W0X38595$BY0UlB0UD@>p6C$RMY=R>jjHoCv&Y0bep}6mpDcfm`G%2*V1ECM_ za!o3^@|zn9H3Gj~W0znWfVgK`vyt#FoQ@LtBTmbz*Hi(CsvMUPHE6_MHO2e{WJ`jD zJ^D*4XmUiuVO%Aj4n-!(n_~`B2oVTx$_K;aQ63(QR`?*>L;=)fBYA;vyl45^)}JUW zAUV@pLSVM6(>gtKoa%JC5(2$qi3ZIh++B>Z3Ti& z@#NZwr-*=mu(|lzMNkU`Og|v7+CID&Fdy}VUemFl?izV~gzMSjgS1IqM4{_2K8@-u z3;7GlNvd`Wd1LgV6BCI_gYb6G-Y1&E)gw%>t(09losC1!G3WqzBNCYFD5ckyz{2M? zLEaL1pMzK{0)^eIA_Tgnkv8h=5F7MF-8Z43Gj1wSPtGTk+FWVL#yhAO6$YUIyjM^L zN~e9}h2(?fBu!x~w9zyBl$NmfFhV|*D{`Plom@mlmH=V{J8-bm;CyIixPbF;Zw4a1 z!8!~N!douLibcRf9@@t~7Imweed7Iqntk%5PCTN1hjN{zvFBWs^#sweIfr+BYqBt# zA`jJ=9AUUJF|L(UL^r2UT#fOj&sj_(6or0P2tuMQ0q*}c?GUc>7y|?>3?;;S?1+2S z3skN3%LI&BQL^B62t1(TlecB{MA;N_0qGwm$pvOESIv zq=(;?yeYB@d-`K2dRfTm_FC5)X%xK-4A-1;GGYX5Oc`r2!IX z;L~Y>=jn)6zr3b=&oPY19gU#~io%{|RB%7=YuMh(kAUB9gR)VKKF_VHg^>@ypHf$Lo3N_DE z2E61P&pe9p2e;fE7*qQ&M<9xk5~{Y9Zb#@MVAA7zDW1O=YTfO;wBH(^s@m$XDhIh( z|9dr8)hJ|#5li1Am(~HW||vv zwd?chf>!4x!+FdKU+^3jsjyTsP0<2{T~;|NOq6p)VnRO*TtK1W>#@lV_gb;c^5Z!U zTQlbaWlY#2C|Q zT8OA4#ELusPiuUej0_$46Z|_i^_2`l$I2f?lQmG6+N0VqOCnr{(2QJm2&`CNfZGH{ zi5R@72QF z7(Ve>iA|7>id2PJp!B&6lZZh*wvIj5uqA3Y4Dv+;O=m)NY~_v>2_u}clXfvd1b`NG z1nc9saB;!d=JHL=7{u@{Pn~w9$C@39CbtkO4P~F9~CR*gY z?37^6U`sNbO_SyL+ZGgS>+K^ZCJV?~D4^;5z$ZI*?lmJenRY`CN>;6)k+-Y2EMo_Tt7CdyiW? zc;1-QR>SKn-_mXAxFr0Fr_|VQ43~_4%efwNT(d7aLhMvH{-(o&0iU9jW~Mzpxee*x zvEwqn)6j7sZ~Ryx2X71!O@wn~|AsG$uoJgCiP8Cf;0wH)LQ#pQ*?PlSXt+V)!;^u; z;QN;2%F=07>%NIE!J3x(j;w1s#yiVN|aMAi)0CNBo?Y~s%ggSYQQKI6MkDLVnQA{{G3>tfVhSLLV z*T`KyY@Qi^xzHb1gS%GR_4*>RLc+o%M=}Joon3$Z1vkZ90q`S00@ZR@xQW!gkf!mX zAGk^BfquP2$4B~n*v7t$=>l7yxNe;pH_zo87ykMaPLDhKg$LsfFYSPNIWwy=a8u1k zMSOe#Ib`BtWfS#9d}tHh)zhF$YQ9I)eCA(KA|mf#m>Yc0pZc#}Oj1F+_2rqO${5G- zB~fXMB~%H^J-Sg4Id=pT!YUB_81)u(3#X`$*Zcts|4MPT52oe<3|FHmPQgqBcjkk;I&5a!XH=Dq%IqLXj>Pmcp2l$pwAn|hF3QIZ_!P+Tw z`I3Y#Bl>t=UeBRn(bmQfJ z+I!cAHgaTP`1!j1D->tg?uN!-Ajym~p7%J!neZ%u93YdOLm0=g8}P)~yl#__%+C4k zPu--Jy4x2nA#-u>PH?wMQmIrbl}e=&Ol!Om=dm0%O^Mhsvo&(FI>!OnnA0a6;0#s* zUP=g-92bdH5O;7!?DNhP9{Gw~Q4Bi%00uB_kR&9}Efisx15;}AqU=4s8+39m2GpzH zmB|fetRFg3O1oYR;}2chy5%lMm*x+A2qW>N@5eZ#vkHJpERH7l3(ecdw%KLS*g?L8 z3BHT69dJ+1yF+qX*G8rU$F1bx;}M7TBCzhg`D#VIl{5{wS7<%*}Zc{ za7L$QPNNNC9AdFMJ$T|lkJ@{>kQU9*Oaf*%(iU@5D4(fr+<1LV2RH_2F%GhXA{wS9 z#>DtL%OMS%!-(!=!hn$nEZ<3SL5J~^L90ijo5tSogJwI{3P9vsurn{@Pi+A7NgwZV z4$W{$gR_BIvg5HIc5LW?fRSm$WZ@u=ut0T=I_>PL*Y&-<`p&`6!~&JFdeYdezuIr8 zgXazPa&Py?z4{BawXeNmpQ>kjjfUENrZ%6~_kL_d2)EZj2)iuwk+li{s9kz*{QID> zbD&-}_Filq96)JLepdCDFQM@IlkJAuuD=F?HvYZYczK{+KX2@KyIB0|Ex>30ppF@~ zcGT;=t%I$dAE`ie#NFHa@%e#zzPtUju}9vzD^NRSR4?m$2V0GO5AgVD>#5tQQhguL zE~(dB2hVq39T?=XarK>_)xWlOo<^#%MFlnf{c^9d5AFA$?5!7oaRU;!b~d+PJtarr zCs4x9?g7vVS_XI?>=J1-tS%jpf%3f&O!aj*7g=uiJrsHwhnfn3i2pa_Zw)zK@vhCK=8e-{eP+Yz9)qJ?^ktG5KtG&cv0Wkq>jpTBsN$5y!#3# z4rurGQv~od01~R9o;IE}HV?Lbg6;)KsAm7wi-yp9|9}Xzy{&c{n}Bb9?`O5&*!yW~ z6Y1dXHD1=Yfc)qqy@zqEwsv<|ysVY6^MFelKOqmi+S$g|?lu1V6||>-6R?c>kHBq6 zOsn6$*IQ6I_E5I-Bgz5^Y3Kh8Y_zLh)PH8j?4N}_08Qh$?Q#V$MarG^C%Z_4CxFiu zp#_K_L9mOS)?d_rZ0tv#VFIdJoXI1#|FW^Ug+Cx2SP%Moo2de$=)YfKFTw{YMAe}? zv1!PM(q%XXk=J%Kk3ikoaT%m_XZR2KVtaQVnGGsAs4K!4{yu3S^j>2J=taY+zPb5o z4~7;(U=F}${}l|jtsUwV58F$ld28>f9#2GP^{l?N{c11AV^H%hkPwR`UNaq{nQT9d zhzHcxGpK6wx%8fLM(xk)IdsL727uL{{%?9f(dH$P-7yrGh4_bm@5yKJcz9*-m%usFc8U<_`0ket8T9>^);y zF`lCP5pOP!jD85}+3`g$qB3yprIipAmRb>cY)*>Eo+cThd*s@vT~A?6fJJ2W383x_ z>coCbDpJ!TmUaE`1G;5~=UF_^x9!cB|E-qQ*4}>o#U}jVVE_rQ`dwlQK=NhlqNny-c)lZM zPO4PCjnr^}jNggXPHXsX(C*2SCLEs_dI_C%#l07J!JT|LP8t)>*rZ zkC$KJl;CuziZwZ_g8ms+0d8 z?T$)@Z4Bh}P4J@ruSV#39_6fh|5(NyvQxF(RwWGobgbOi@EEcVFS@DbNTYau_~8Win9Xd#R-)4a~tv& zrI$}W^LHv?c_>hxXW9b2Wf8z_I_1fdQh&`}At0ZzFMmtBI&!Z7`28=hWBrjI*8jLW zzf>L9i2wiK;e&bn|GRkX{{K=J09+&f|D(#rm|hx=ay_ZO<;>f;}jto8Z$zl+D| z|1Tr}u0H-ZDjW0rAMWJg{@()?^+lsROh#X#j>-MM_Mq}0H~!bw=J&tc$-}yT4IjDH zgTv6os?kb5;T{?uXSeJ>pHjn6S#6E?RmT zr!LDDaaiM}jjF%g@@W4Ik5Or#>$2y)M(YF7DN2i?xK<~ve)luma#|c3-}u5%6pWTa zmt)V|LLt#!$PYQan!+>~8mhmNtAi8h#iJ7w;;2e>r6*%J;tC;F=3^evE!{R_I+8=} zWbO0Ldsz7>zT{Z`Of2$(q{~C{In>GL?)f=7v*y5OJT zOSvD92m+dcA(y(Xp4GA~Ik;<_6+em_JF{=guy`8QkbC^>`~ruUc&15Q2jHebFK%DR z$T4pmCjbx7yyFv9=L0+(&F9qgabmUpR3$)L?7f#mKJ{z456a;4md8Gxw@GoT$e9Oq z28)9w<{Y`wksC5H)kPn>l1zwi-?CMLO%ZS33U>*0vcto^wB@529l!+TG99&8e%Bkc z-&d<->%l#pZ&VMDeet~Jc|T%E!M>OTrD~`%EmpiZNF2p>^Z8^saW3JF$5!wV01QkK zKxLIFoy*A=FSJ6p7#g_%ijIV31D^&Ws?ym^-J2X#;Nq-_V>pp82Pbkg?yQxV3yGkH z9{&n--loYH%4tMAbCv^NkBT!;KzGe?x%%v4YCw{+v|0p{8qq0n*c==;bym(0tfOHt zHy+-;)nx!hkZy0^rWoL-VXO%ib2u}SaUe3trDZ5b%2IPWlb896-7C67MR!z5K%RH; zNta_u;E3|jYpDkXh+HM{rz`BFV%*?B?j$g1+j=;N+h#+s@es5azL-TtC`2nacG_+3X4KkIMJ;(RjMJPynGv%wdZ$sS9NYc6b z?OQ7mYekr%?A@TJf);!404Bh{h9+KyFAd6JL6t^9Kuu*Cy%C`;yW-?NEKr0r?57CN?@`_F z^?;x(S~~0fp?4SE9-dtBp1_ZecJY}c!#!_j@G(*+Kt>YEEWUWI9uCOoJ{7_Psz45_ z>Zy`&n<#|oepZ^z-@XN09GPfKa`s0W(T<}Qyp%(X#c$to42@P6=vW+J)6GE93F7{T z?r_jYk7zGQi(+Fla3If@Z$&kL^5Hk>d`9ZvZHN}aDE|aqmKt3?ek}2y00$k{4Rspt zRigVKtIbZFP`9{nqx+=#0qWDr=kB4a$q3NZ8@;w0%1&-PBl+mn<=}1xAJio5cBN{U zrDQ`Vr*A5~00mjJiR>H<2Po}9BE5Y(9N-{HRQX_d5tsGhC*gZMm#8;((U*Ee%Ln0N zycY!huK8#X#=o$)^3t}K3()B%Ic)amDgkCLx&kltv=%@M8>oa)FDl&JlZF4FC=C_O zjk{O|N^QnXLcE;88sPkbBmdzE74f@e@A0(gB*q{cIIFUbN8?_PXRC}NgiZt@#3eW; zj4}&{w>CSTHH0Q7s{yC3vA(XK9)-fmpVR1%^; zBF`~J`GsL~jXrH9O{!GpCl%nAF5PVM_AURmS+8KBrzf`G|Um6TSYy=QxY=EG{YR}viejivNGx=D$W$n)SO#U zPa5)Bxqi$`6BO+;NrPF&=xjr6+*4G5J2Z45UNJD%me)`MM+Yvf;mVniJqt3W96S|0 zR6hc(S5HQ2GN^+JfnEU%T0jK!?{qw-0Xvv5@MKi5^i=I~+c^$(3*KFe1n%qD=G>?N zY|r=trW3v}FE8YS?1!th;3|cTZG{w~+W|V|NSv46z8%|TAf)k39L>PIW(FYmm{#lY zVR}9aCdQABo)|z$Vzte)G$*azWTz`_x?`OOwKcH@$xL8eNW=ia$HN)K)qo|kgC0VPE7N`hIh%JcR?p9MyKv< zl4^Vkiz^dEO&xObQc1RQO6q7yC*##gICt;`w}OgXm_({|0sXWxlHQU_@o!^1>Sc~2 z;AM&&)+%YE)0bHb>*?H{+AYSyg|F(sIwR1W^7gIwE{4vI6U{tj($qa~8?OROv>5OYuL$NTqIE|MYLm@Riz^Z5Ov z_AeoKU%e)OL@jQs^bJR2q%I=`3(e2i1R^V7T`E-`mT`(*E%OEq|6W^LTmSB%{oTC; ztWuUg8|x1@zC*XP<<;`H-+uS-;p((Z%hNI`#EKj9LfbikCU`R-4r?@uD2nERJ(-;M zx+DCQ1Ywm8Xz|Bp4|G7tgMVP!I1gf27DQxCA^0E+*=D87FSpJyDr2DYhMJa}DJPOu zi)=2QSjVuVE)Q3a2(3%R$>4iLxhYhonYZq%L!k9)1a#nkjtXjFyPd9v->{zG^00CQ zJ$SfA|E?c}Q))GnF;p9@VvV|2@z-h?sX%u`WctA*EsskxIPcS{CZnQya;tdRXm=&z z#*!guy~F3hsfFg;v6DBiJz-bI{Xn-f%!5jQ;GcY=rXu|{G^Z^h9lI3}8MS)ctuzx2 zabQ--EQ-{W*~6XQP-6u`u%|1#?Qb7jTAFq^{341`oL;Bc)LDqEEW#`QA_5>is5CTRnKcFl zm-P&!EqI9H=z>U?(+|_BG{1{P_iWq9Yi$YPQ9*Ka+1xo;q4GH-IE%YRoUrWDjigwiO0j!4 z9-;0J`m{|TI|B-`r34j|dqgqt+AR*;Rjm>RK{Xtk&I)-oNV-M)Yg%jNpJlB^<<+_EwoIoz zAtQFFWT8+@!rLk(5@M}K>9;(pBHYXxUc}p2e4XXZSg6b*i>k~>F(k0DL5q;UA~|OA zVx)XBtmlj)RUe@`pik5)k;71FRzk9ilLI62YXmR90z7jDM%(QS2r0^vRO$Da`X~(~ z+{3a_Ix;#)s)ZD#>ikXyTOF}n=E&TwLOL7obMaHgi^zOA@o#BFr!j6oTA zhVfq;FOZz1&FdstL35RbzDIa@-X_Ot6hoRj7oh|J?eaa{{--xV%$A0kDA5}F_U&id zAmKR#_k3t^Y6oH*KQEu?ifKRj_`6lv_|6=zSnhpR%L4|wq>SYi^D=%wTH`Ut^SLp( zS}BB(Vluh(z+C_CyUftKQZdU{E(V@@UOTe)^Bfh)iizy-fyX4ep~iF_6-nnvQKmc& zc96$xMB!$ZqfCiCLwvpZ1i%3z^qq!c%4WV5?fq07H72%MGBOKdxhpz1E3I^^y_SSh zG?YunbmVFXn5NhTf>*QV%4sF*>gLleJSx7s_p^bqZVFE`qLoQMCJX%DI%vEwKzJeG zRG?%6kWxR@w_i1ss;YgED6JvyHYGD=mZz%fv~kaQdCDeDAsK-V=@LUO(atnpfAzfQ za_IyuH7G3rmmB_?ZxQ3TC2+lnt z_5Js%vHPsJ5WOlr#Q%%{iKkCCn6-V)xtK;hDKi1aa&;0zy9Xx6O%h}bY-WIvNI;QmhT4g;O|KY*L zqq+b8ojlf#M%@3PO^=>u?P$o)LEb`o8o|y4)I2a~)6kQ!-oZVp@jV?!I^B=Y_F7eiG z13^6IXaWb!k3BlRP7YMOL(my$1qzbMB?LZpk5y^;Lx}?7K?7RDlMhu{W?RtcZ9-o) zOnDfe4L-yH<_$eA2QAe)9agU&mlpNaFr52Xc@^KkV@ zZ&Ki=__8|+D#q|_93RMiQF2sphW~hqdXozTdchGQQd%i7D!DQ;@KwlQ6j5W#r+#-K zsmDC18z?eQQH=7vdxY;bfk3S_r7$Utc%XHOSf@`m!gd5DIkZMPh z{cpc}yz6s}r8zZmQ;wU`gyX}F>Jfb!4L`|pme$olsZ{D5`U{DFq+42ENZ{i_z?mcd zBh=+|{lE}r@P zf6Xbn&Vz;I=8dOmaY7I&96}l1jPjcI#bgE`8I9(nATP0Jox5?4mAM0t<|P45E1lR( zEHohyXp))cX=?B2nH(Yd+(*qpuOmD5op7m=CcsAvgi=^t(dqXb0PW6U7bj2#R*_q|F1uMl-vJ#IJf`Y$y0EmB{ld&uxeD^-tO)Jnjyy8dwjI_!2f;E zwpd`cC11h;`H?^LLywMS*oF!@r=dLCSfQM9EHg>ux1bPS*ZMzk$yI-e3OQWWRusSH zhjcUoOR3>Mp_j2<&nFrEWXHc;sokWva&mebbxa%oYpV~k_TPt(9?Zx8T|Bl6m$$q9 z6#eUJ81mX{cQEvH8CYZGbTD|ItazR=G^MkIIv*sXWq$X_RTpDEFVhW@@K>pCx~TQ_ z)pDY~k@8o*=_-n<4QU-bzVNk)@Hc+4Hlx~ zrG?SOc`pt=gp<+!=!@n+Tj7i?{hL)NzIHEO|4EMve7QQV<^Q)jU;o|3llK3YivE7B z`0pEQbNPQK5BI-yi^~_NV_N^OS91OTaD5*C`%WI29M%6{N@JlgV!T0X{0zLs&qT<*pFlhNri9#)3$FSj<; zefW!$?%6ryf3{u!aUb(jnpfX51-6C-7`^=Y;5p!oU$oNlwdwe0eR%vQ!}cF+{$H!i z=l{ES(*FN)cR)^&{~N27-2IP_9?s?eojmjVALsW!&hLNx>)-$QwDGL|YWtvhfLE~} zR56@MdMRYNY_9;k_!8|uX|mj|z#*Njm#X?E050vcTf>f8EMtJ>;}8oIcalX3$=n>l z(sG4w!zd35J~ofxGhRB#Nuh(8zOmBWPAP$)sRi(l`Cy!m)5{^@Q|6{ZkAbV0lnIiM z`N9FCJ+G(@Rk_=v+}1ZZE}uK?!p3ZZTwHD&NDRPGR8~<9NDy5I{6?L7d_B+XdKkL6 zE+X?k|Eb#N8Yz&gZgF0YEL8_UdcUQwcFchzLiN2+wTBl4Bp!oPA)9;?>^}Lwl~565 z@ERa2s4t5#cUwXKjzL+v`5!=(Sy@7w*!fVLj^m{XY}S5HLt-!if6ZfFo_7md@J+x= zpHRmJlgmubKT#1bug_M(0P|1*^EK4p@JaRm3_sjr9aGkS4_6;$*MASzE05;-|6M#| z&i~Ap1@mRWd|B|BHZ^!PCy z4*L*B=Cqfh0LBQaJ)a%Wo{pi57!L!Jz!a$Q-)tgag@r>hZ{eeZK(BT7uG3PNRpkf%65@RsF8QHP z6bcKnB8a@DU0m{kkxHROH#)C~FxG+4d`bB0u)4feeB(Ip+kIdaov6aEd%jn z&YOJ7+JVzQQwb9+e)GIhf4Uf!BL7X_FaJ8|_5++v!dbE&)VH?Xtk|P`(Aq&hX9*Bj zCMT|ku3~y@4__Y-_UULn&eU^T!C&Rct^bWh>GtZFvi@INf3%)m|3BE6umA7lnXmun z>;L)s|8Kkgx7OZ5LZd=t_9Iw_z##*;RMT)O$fO(~Wf?UY+;ua%8@y0l29e=>z8H0T z`XlE=u7J0azKlm}ttm#w>_pzedmPU#r53RfjRq1#Ez5^EDbiuSw&?vsJn8)J^x>`6 zG1>p8vhiRe>;JRys4_qQe<#m;{-4kP^ZEa8JO8Igz3otccx$!(-5uaC0V;I+CtJI+ z5AeBruC4q(!fy;$Yx2ft=g0Q@DbC4|S@sAp;2NGZRA%b|@8@JqM21FiNeaL_H2rf3 zvoyrnrFG^DZ8t-@_*%WAlV9+salQ?WMKB2r*9}v2hcO4ali-DyA6h+wt^gn<14xQg5B`sl2qn~Ew?7uT+qa=v zA&isL)_ENCBKnKDa9<>)kw;`9`9u&D9+=R7cX50i4^6~9eqA%~-5Lev;~0P4?|X*g z22{7aci24&HN_E5(#aNYLfr93okxQ>iD~7kyHukHd_8@-kRbqGa|E})H44af7XzvW*daasM$W%xscT&Ah_nGi{3~=5*ltINW)QGY!qa$H~{l7x@q^r zH|79cWf%9H()!K!&Y<{vFY}!nfR^C)p#Oob{t^%qeHWZ>j)wj$*0k{?dVRY?O*B3(g2YM@m3M4=Z+MS1d z=0fUi6j~6B{2aUq=3SWKIG;hs3eS#U9f0%z8p|O_v#oERmK+MDTUeLYZe&_!zC1wz z^Lt*qhu3eINT~t*7q>^ep^EecG1c#mn#}-r;UaSrdyN_(WTy=}J3eVCjYVEcA$ZI* zae4%prD5Kwv`9CE=~(=)3_f3aj&P zyK*-SwKcd+0A_1!^J>LmR#zmuY?}@g3nC{ZOp+~+oZ6#I@wsWhF2VXNcRzg!j-kk! zU2Jp=O|03?470V5ueqq=G1Qqv7ndT1NlPU*c^PR2LzG32wiUEle!hBv3i>Ib!u zFzkxCxsNXbd$r%#vyGHy4vV(^)kr*pf;95+p47<&)38Q-`ew+(Sj6sIDC9Ald5Bk7z^T53tzR zcLBG0i1#OIFQPS0=fFRdhPOAv3NpyS{Ge7PyCty=dqEL;(P}!QmbO1S8+78D|MA@; z-;w7sjAw1;t3F+(JQ`4Y+}66Svo_^R3u_dfB*11w$O1MGP`6HDftmX8njLA?f8~C> zen$-7U9BHnENAKl3pwGj7}v{b@1*+8t)N0TJWk+AIF#1HybdYmxY{_5b7{9T$n%-QU$7?cwo|i>(wAvEvHxl54b`5+fkuogcB1}c zN9%P*PP^s(DZS>)g!&iq3ocQ58K|_L>>W@LY1^x_=HstoV4=e;*=nUP^D~YHWVpyC;VmfWGjT;m$WCR8NxhC~zhauS>#&=8&E^I3 zMhD%;evPz0X@Th8C|4fDB)*wKP$0?huf4}J>B;W@$xiI8)-m<`|9Uq5+s31f%6$Lt zE}r>D-+ZHQzR~yB-{|8jwQ81)ILuvxCD(J2{Ud$HeL?dwAoakgOJX73+HUZ6OKCz0)i2SP{}q3-6lS^A$SMO@_<$2=DV>s|qEzztR|RQ4n(Or;7xeWJ_vkco zboD4S2T5%FkMWoZuqtlnQStgbO_(BGAIUJyqyF3K?}YO)GFPb#+z+BN&_(21keK65rnYIEMbv`Bt^62_1>HHHRR*F$F@C(gMu})UnZ9xr@vEClCl2KHbjfw1yXi zcc9^?we<*9qqsk+Z5XxEpf#!f#IAo7UykIqGrG?{b)9F;`vTfkv-e(((H?Bw#EQ?s z-m69i>{)$#zmWyYfMk*#HD94|r={0=h^4F6!w@`+o%NlS2f@cI0t|QT)17f_>rBrT z*(_mtoJs|WwlnC*1+|s%yFOcV9N^dD{>a(ZD^uP1+fcq-`DNV_Hf+zsr2j3RjQ(Ff z>)n1GllA|#jR))5`yVz|@&5O@{{Q8lU@@J@ud)QdOfxS56oKE$5`YBeZ7cz3KDhA` z085!=2~bRdt1bbsj2kWiu!x&20kDKCEdjXgx3vVovTkb$fMwle3BWDOE&=dc;SvB7 z#x4OcapDpH|CzW1z<(wz0Ty9KHwO^$r`I6O1#ds~YUUxhSf{8xl#mx7<=r3Q z&e#VK258i_3oxbN5lz=8LE5$w{#5j{H8Qd%!Trh-Dnf)X?K&#H{}_tFZx;H`DJKjkOxhUFd0i<(RFFwbhIOzx+}vpL{M!FL4+%Lq)gK9=mvxvqrAl zo`G1ofbmS;6Tg(qeiLUZ;Y|QE&MwPVU8{pfj~+c1dcp{6woh9ywtC`;(L}*11sXSu zQpl8iiTeC;`Iz+jV<&fMA$bFxtLF%;fHz#QJPT0hC1)&|HWKIHhJB3d&++}Ngx-?k z2_Eb|N{)~o-uOFepTY}@Re1f6Iy_R#KhR=?Ut9FPKY+?x^yRcutoj}uF;xISbmUx*A9h0hl68Uv&(sOj1NKzi4n|^tU*!OPvhbr5>fO&!Ofw|!Of5!I z|44;FBBEx5H-bwq!K|e^gXYJ<@V#oa+ZVX37STjVt|E4rKyO`qqkf=*Xe?rh40q-Xe*qQ=8 zCS|x5h+0?}PY~+ap;#a`tukqdN}(BXL%U9CIR+AX?d&WDhUPs;=|%ji@O<0Fh*Q!6 z!!)lk^kkdq6iVRl;*%~52$oiij>hq^7_P+OIPQ0ZcO9C=>PH5oFcwH!W;)J-iiY_dw z>lOpVxoR=nxpJ6p4&d?Ba`djOI<`uZ{Qv-fWmP~9D_Wq+9 z96@#zpW)gJ(peKXDFg^9fs-|4Fs#fimvh&=-`EGLilUCDf(}eR@=7rD4a=@(kb3O> zuGdOwiOAe|*hc*?75l$f+W$%$QZFRqdGy#!W+1vM9j>TPp|p&ekyBN~Om59WMi&c+ zoMnv!>x{$r17!>&mDg5@8iu`_q_ zHM&`MwCNEdC8(U3(NNQ&MQ{c^s4R9cJuTVB_P5D1y}yVUZbgALj;*|`5-YO!P`R>y z*UTYKql${-LCwB|ENG#=8vQG;0AJ&R@Wbz(Gm_DnJMP8M$0J?TP(7wHI`|heQ;oj^ z?+%6?8mz&h9^Kp>vKAo#@_-wLj~By&<%c;$=q^CoM`nD|=#)_@&}LjZf>9D7pBxno z+MxqQSf@}~zBUIHa&!>B=5hHS)y^!3u7Tl|>mJhvmyFnAy^>1NEfzvkY9vn5rBkKU zmzq`Nd?+k5*x5iP5@Hi!65tPGI%DYOn(A1h9kmEOcAICdbJBF(@ov$M*4N!k3h$-T zT9w)F*z5p@mS7NxF&ePM(A)LUcuo+dhZmrp#ibf?cC$6uquENlWY-)6jMY%?f^@v<#976(za=%QqO zt4-iDEpcsC)X|q=3gym~nKdmX6dO*8$DkiCoAg$XHF?2FbE#I&EOi?nYgCJ*z{A80 zMI70+v?(sh%-~lTlKhN@dFIQ`pThG>&szzbl)63I7YveLN@y68!~J1S7t3$pD=$nbR_|v%1o1R+rSY zY4&kd3aug@Pe%hDP(9A4W{MO7I8zgP$I ziEl|A$Vlj_9VUU?tTy8Xioq-ZOi1<67 zdDPb&acoEQ4ZO7OnF4OQq=Ql^ot)@ve)n4pg+r&`9KbACKLbWIa$$yX3gaB1V*>eZ z+&B1|DN+;01?vsQl$yIUO6O>w`oJS=ZL*&r=4j@HX8DnaIN}>=$oLM;$9Ei%N|rG`D$HnjB(YitBs59xpnTh&0IA*>3&;it0aObn|w4qQLS!c2 zs5|~j-N|?Aj=fY@go!x;n=Ev~v1ur7I(gxOj~fc#>W6W}9p8@eWM3*Rmaaki$%Kh7 z&k+;hsKR7uX9@u?DfNug3oOXn7dSt57CQMDV>#Jzh!M@%$hMS5rgX~y-CFOnG2iu? z%q=dr%2@&;cS|&XykDw>OE3`>)@Hp?^vz2)ml;GU_ z@lf&u{Lz@)v!Ire9}0iJSb~BO!GUr}QmaI!0=&>T*LRSaKy?A;dgp87GNw;#b}_#> zn(C4wIu_h9eRoJK{ALY4cZ~i{2;QJ~0;82IqYtqrb=>cC25zy_)VbUMvtLu42+9Xt zO=UH^8FMdE?!{~7UZLD8*UY^{xtFe)dzo@CUo&?=xr3ZOd^H7U{0ux@*BC4RuQESR zo1G_4K)4*oRSk|E!?oEKx_V7M5tV6959F<=1nK}iqv7vyFxJE;uh|Cc!A2T`{LYq^ zP6F6I>(!kvEzPSn9A;-tH??r?)C+L4NGAJV*8ZEW?QhQ#JSG0uT4lA8vHw0?dpO_! zzmsQf|DD@^=l0*ful?7%ukS1Z*k|liZGH1NP?JJ)>66BfTRY8{d%HhvJ#Fl%LuJ{2 zDr?_{5k*>R8f{tOf`&6a-QD!=LF2HCxEoR^`U{Yaou>rn;caZRtBq?gHW9PyBPM04 zsL|Q2z}S+Fv);;zzhc0A-qjDvzz$`*#K0{sw7dlkyeZoR5_5bC0neUbnO+EH70GMX zJ_ssL|Mjq`nvQ5I_Plid9!Km2)~k}JU^#+>rh(nYb2%JB$tJvpOJkeC$YN`#Da`Ew zt5wu&uALRUFiW<`mkRtShg+Cwt(RQ96Tep}ADv!v*#eV&a?AGPQR4E`O0Kb1%aqa$ ziJ=+DUjpqmnSFO>Z?i%5*i|(BR}IH2Cp)G|0AJ=P6k4PHzAPg3C96 z54B9g9|Ja%8G3RPbO1h?6j?ig0T;JH8TsTi(2^hKTuryn*E*6?OhO|wP+4L~pHf{l zjsMi&EQa}!PPODo;52PKhh+r`E(ES2Oz;yeuJZEx>SDw)rqPX7 zdPgIoQ`=T5*{>>e*i8;?@f}#gnP!be@9DP4f?3BU1wxDCkIXuZ)jv^G6PmPo)TsVh zMVbm0!&~bDd#Ybu+XykkS)3%Tli164Pfn2DtRJjC{_~33h$syUb-*RechV&C8p#|~ zsy4$b4);M9aI2tbAO|ZB{7R^15M_TYNsiau{dt9Xy0ufgj!tN>gN497wP^~&b?-ue zn^}mDK__2EEd`q*@%~t&YPvS_hwgU01xB5o!!x~Eun^e{t~RQ>kdslhE+8C-uR+%m z=eb)bC+NhiLxf|9ZQYo8{Z{b0{+i8juD82(JNQiHwR&R{v)-sXtjedfV>0^J>jw+} z>vn`){WV)~lj%xrWu~fh>SXV)L|-QJH<^&82`0;0gyy16`_*1~v}N7#VbJYNQHf(OEyno2*i4^bH97sN54J}CI8&J&o@e$cLc!nX0v_XyGZaq zFTMobtFKC%CH0$kpRF`f_VHjavdhM-PTt>j20I^bwxH$gP@{LGzb(}ci>O1X0cwJa z<}hib$c0M3HtG7x$DWYz}NUaq7 zPh~JF>O2HA_0vnXcBl-x3ADqE>GvgV{A4Y^yesYc%DS@6b(xhAEY3~t)*aN2K~}C% zZM8{w!t$~GKJZfracVR-b`@LzF9OuPw3Usp=>&k6*7sq`(dEcBwY|8NjH}e?pF*Q^ z>IAG^f3sHKtTCp5ka=-v(Q*=Pn(3tI(#Y+ABEu~ujGtq#My?DVIkJ%$7~4>@n7=`T zDN~`fc49+qJHj;^OiPUXddc+;FKm3I-f&HZcZw`bOub_5Chw&l3=*In#`P#__>yJV z1i)v_-G8wga-L1udEjcSnzt4yanxmxA-;N<5<}ZqgkA{-S`2!8IRGju9qn#y`T7yi zVol---qsK)G*3qC(Cvfd5BbX6jV-GXM zRFX_+w`0U`QJG}C$j*K_Yr`~|E-uIx=_i^Q3hT?=dVjSFC)xwD6*92Yl__FYq>IbA zGnSiQ5&9>8QvW~W=MZBQ=yG>>UOv8^I;O?{S$&lE|9kXs?*Dfe&pmYwM?cIov!mZV z0>2eUKP>209R0AMn>+epDYH2G6;t4p zSk_G({kUaWM?d^l=;((DV;%i4aiXIi0!(!DLx4$+emSEuN%`O-FnJt}E~nbcDHI?{ z2+C;fPN%kU=R7D{$f@+Agc04Ip79^Vgk!l4lYh|qCF9xWiOaiMjFj@1Z}9kTQ7i>9 zP9jmXs{EA|GUgw%*|7lF+?S97QTkv7BTZ%y~(OzXXejwmd z3_-JLp=X)VU@hm44_-0K@cm%-)#mep)QpN$gnU8cy2VhpL4lE~_o$56UXSYHc` z(_gnAN_$)Y`q+;@dbW3SH&VYw>b*xPHOPYj32K#Sea+*uKKMQ8R=Z^0^viyF$j3^- z`L7rNO*;rQ$PR|&Q-T*2jS)W9tsA_AYvOv(pX$(m5~nv9 zr0c;6Y`!P{V~AY85K(W^!ueQMy5m>D+2vS{!ovF&WxE%6ZPPTezM{LGWI)1nj+!5D z5qO1X^sEPmSwh~GSO@1hhUIL+4?wX{S*Xm42;o58Nn@n!henFIoUeP;hKrRu$TknfpXfc8(^ z0~AcbO$~XWl1@IE*?^M)!R*}mQwUw0{g{=<`jG0qDXge`T5%8$euM>(tmkk^fEu)x z4eY`8#c+tXzIOYdQ}pnj7o8Ex)_HR%0u_Cxf_w56rIxv!tXR<_ zmp|k1*zHf@I&)fz?@eKWqGyKKf*j)8bjoZi_9H@#M4&JL}{#kLCPf>0&I|lP(Wk3^(B% zHhp3@3#IM>!7x7H`}osGyeYUfJh{LdW|Op7?13gmS3{BqPwNK_yiqES4z^x2YWOWQ zqgnC%@MvA4olL{R+*0F5s=j%!wYyXEU+--lG~j*zpnmXbzvjQ%`Pa_w>m3>Ww59|e zz#)%yN2mivnoG0*03NwMPRKzs<3khzeI)LG2zC zD;#Fz6@-B$7ZQH~V|50tcS%6d=mG)cY=7(oVL9%%2c0+w>9N&W)YQMWsqTwB1@>Qw z@O66@;3@n6YpWX%v-aPOhY#lV-@AC`_TRbvcW(dvyV!qcn^}1R@Y31uuQ~P2pZ`-h z|AV&IyTkq8jde)P&i|FQdHlaSdFJ!~eEy%$|9}1YU$3o;b_iZ>J%!2tpOZFe)*d_z z2@tPjn6ig}Hl9r}8_I3dYU`=vDX49uW1eaiEga|Fj%&VK+gJ??Ku@8MWWNMkQj@%N zKAsICf_LNxTi=$y4gC-SJ+Tiw-`zjhc@gMRigMK>-!J=qgt?=CV}7#fm@JW$r|Bb6 z3FS4MYGcnvB%J1qxrvv}C&>0Kwi-Hi_OXWcB07uZ{VFzg3tMApx4&iV?L`|n(~a(# zt$+f|f4Z)5enw+-8qE>2;E3bB#c6#*7fHihIwqpg%w1Bj!IlAZVq<1@u8M+HPOw1l z8P@^w{&Vck<0EJ049Au!SUMJ)8?1)mP5FU`WF{M3?iuEGtY_?dtH(X3|4k;u_p=o> zV9<#ppd1uqv%@5A;9xa4%blGMK@h@}$D6-}-VI|IB8>)t7Ib zuohXib-Jv#cZ?iE_*%tN9`OVs6I7}d_Lvx2dmY3JpWCfbkS$c$A=0%S4>CM51B+0u z2rsm)`Jl4As2?0Op88RX26D~cYt)}I(;&919$gqxfbd5P;hWdWM*D2Fh8V@8?gb!Z zHqj6}Bs=Pc80i4nD#o3WxI^R7Fm5rg4rAih=0%^c`h{$ToIB^%LT}g}WL0PENXEQby-5ANDE7I4PKvDWS zie`Vnt2+)&k<-?Sf}Maaf{n&NIMXz0)PInt+!DqsZjKY8<`Aq88Os|Nq0nY0K*}w2 z4BPeWlTYajcO=wE$`UXi*E_lM)9m@qH+B9~oSdBb6eo|`cN818K;d2pj?aKx5%hlT zI|0=V9HWNu0d(&>7{z_)MvAgFLH^WD>`*<EE6GPRrC}f382VvQ1Y)a%Aa&7F#Vb>l; z*>7v11lcWMyYazhH1FkOn_OFTDXQrDEIC~pLu6+Hq`=Y?d}dZ~Y`QfpCcwfH!wSGN zqY8Odshf4k2A&we;->YEkBS1g#NVj89A3oUI4n*+qZ7GD`WMV+tD4U;>&^^sg^@pe z=ZhB4Ru{|;`R!XPX6iO##Tnr##t8|1>Ou}1PS_XE1%9x#j*Ie4J%FzHqE>2@JgZOb z9)>p>98(y))aTIlq)KNke0)Hfg3t6va;5;sLOJ7tD{at(TyY6G**A(=O=o zXhTUR6WngrG=kgh)qc-Hd>Kixl50QBU>@&zD>fg2uT-7*Tlc=%een`^FzVaejcxUG zSH0ZZ`l)`<03z6AOJ$6yMu&Y2ovA_ROY!C^K&sl+aM`hLj&oD1JG5o-Q!uujNMN2a ztFo)9MNThev?0s*#nF3=ay?PCo)D|+MibWiUWJHZv1bl##@TP&hbkw(7BiP!5DsT``x4!wjz9$!o%qBqHz9=$iPV1Rs^6J@Q zW^pX#ibO7y>zZY+zd+#lX_kGXsds!>4(Co<_M7d&MSql)!6YstitihJX!WM<9by^! zfEUd1F`MpazNeySGal~>*Fwyjc=bX~vQZ(<-7^zJCZRo3vCuRgyR(VFVq(dl7k<~3 z^N41=`TQr+(bk#9mNq6~$vsuZ%9$s#D3S)n9h z12eVXUfm;g54c_iK&h~@bb#En#&pnSLfwvwm>h|oBUES)`XAWMpou?&lAEQ(V#8Vo zLUt<(w!g%RiX9Y{xAALoLM=7Zm4;GUeA$lAM`~-A)*d<+N5iHW)-OQbkKUwux~(iO z6=1ZK(-sxVcsXQ5p>lhm6b7Nrm~8?B6GcS(GidLB>W^BN4(jKvgpd4C>H1D${2;L@ z(J&+ZGB(0BJ=GTx3S}7Zxyg6j~QQhs6{gBxRYh+>))g%8>~sIyp#kGE(<@~pj2p)j^~%le1u4XTNi-O|FsdgslX zKKvzijKa|3rCb#6Y~Hoij>4=RE1v~`1sk@I`Jji|ct4d@!nIfvhZ=V!K(0;}Sb{Q? za@ak}RDRsM;6sM=$jw4BXhA^GtrjjVTxOj?G@!s^>F_a?4i=hRX?i4Zd}T9=({y+g z@K|X)GnXPm#nP)jEy+g%@pUaNWh$Xn1%6@OhNh2_!8~Y;5C#}qpS>WZ#~(o@BNGjEhHr*>H@$- znFh!&!wvR{nTb}k_USEI&Nx)gU%_HF1HykSi`n#Y0s6!ZYZ1VwS~Y84GsZP6dL zw8L4jPR2=wxxbhBZI*~ha;+9!uVUY)>ZyB5Z%X1(6X{$WuYAj%Yz^9><%-IzspZPF z&{O$aDeS3Z+DxH6I<31Iu`HZ4Cd?N(dCl|1OmOa$QY`tcDdmb=@n2p(PL*&D3U+U< zV0X@jN*&fRc)Uzsl49ccwR+4%*y}Eao*KtPdU76z*Y~b4oq*O>pAjkEOyoYJ;#|}+ zu|%x8y%{aG;+8R!6GXvuu`+WDQ~lWrOrq&u-0WO8jGK+t%xpB_&RhFFn;Q;fBV_)B zZ8-fov~3!HZ{e4EB>hs4Mw*ca#OFNc$LyYUrq8slHI<{bKQ#myvc$@m=IKoHX8 zFD9w>V2J0ut{@SoUL}1E`Cz=_jjr|A6$H~6AuX7fPsvGZdMK&=NB;pKu z*kJrygaxWC8_~bRsIj(Dt~`k9l`!~|T#LdD&VF_0X3&m}}t*}s7)@_A_ z!m@4>7K&Sz4GV?e3d2HS!q~7-m^d*k6aq{P3xxm^!$RGs#SZI3ilslFroUf&A)vKw zAK`I*Py16H9(nqH0ghqbSBJ_kmshyZ6@RIldWj5@GG0uN!D3PnKRiOe1KaT}yIkkW z(3>u}jEqT!%Dp5f2HR6H2}1O%FXcYmZ{(1SFsVvQ>9UG`T<#4% z(&gTnw$NP$kgOeyXxCIXiIF&@KS${2#dT9^+!IouKkPla)TXM`eYF#Rfkzst^YqjH`lwI(YBKg!zKZOMa zh)YP#w;H4g$`_ocSXtgFr9!k*03s@S_Bq6|Dh7(nN8{6E;gdl|wmT7>wX`A^VIia4l2BJ^y>Y<5fXqQCg<>SPdeQ7r3JmYh}O2B^IptCOor<;4wf8CM0i zx}5al_&kuy3=kr|?4r-Ze2MrMebV(G$KENoZ@-Qy>p#5hHM9QPfd9|ee|PcR@Alih z3(zdTM|EsaKK;S7KcRb}`;Gn1oo^+)f}?y|^6adik`;^&lqnFtQotYgGsvJmRSnOF zLAQen-3SzLiNS~l%0){f`%TP!l$u_;6RG{?*52!XzX}-yMIK*PjyHbDFRCgGA4B@@ z-tVXYcj9B5pP#&Xw!ig14OMx#{_O^1LGhQ|$|J?^ppT!UQ6B4gwzb_@MB$DO%C6dq z$9J%*lh5ddjJZ$|`bXWyM#roP6e2 z+^2YqR3-9J0Knv^wJa(f*oh*_4USoR{l4S%g5i{vf!O2|JOj+XXO9Jqt&_mzl-N= z(7EVYp>1F7H&iznG~3O0xcAUMK{wc~orA{Sv-)O(2EqQTCwsfE4z_k067MyY%ulv< zo(7u{Z4Q?lA#PS-`3m?uI;GY(p`PG9e6MXb@k1D4)jJ3Ju2k+i^D1!F~k$M=ZN0IvW2w>UIg+ME-WdL0*LjkhD zL!-JBrm?e**R%%B(Z@j(jifqt21l?f0@@CwPK8z@?N+47Kd>?8L-YmtBa@Y(9al(3 zgk8D?UfwvDgJZsmxq|lBdszRIIq3`4F=hRa7T~P@S6P2F*Z=O~`KhtDkGD>*l~>Da f^8r48=Fj|@Kl5k)%%A!5mw)~rjuJ^w05Ado_H{RW literal 0 HcmV?d00001 diff --git a/scripts/compilation/cache_compile.py b/scripts/compilation/cache_compile.py index d95adbda..440f6498 100755 --- a/scripts/compilation/cache_compile.py +++ b/scripts/compilation/cache_compile.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 """ Save the .o from a .f90 and is the .o is asked a second time, retur it @@ -13,9 +13,9 @@ import re import shutil import subprocess -r = re.compile(ur'-c\s+(\S+\.[fF]90)\s+-o\s+(\S+\.o)') -p = re.compile(ur'-I IRPF90_temp/\S*\s+') -mod = re.compile(ur'module\s+(?P\S+).+end\s?module\s+(?P=mod)?', +r = re.compile(r'-c\s+(\S+\.[fF]90)\s+-o\s+(\S+\.o)') +p = re.compile(r'-I IRPF90_temp/\S*\s+') +mod = re.compile(r'module\s+(?P\S+).+end\s?module\s+(?P=mod)?', re.MULTILINE | re.IGNORECASE) tmpdir_root = os.environ.get("TMPDIR", failobj="/dev/shm") diff --git a/scripts/compilation/qp_create_ninja b/scripts/compilation/qp_create_ninja index bb064d85..3d4e56dc 100755 --- a/scripts/compilation/qp_create_ninja +++ b/scripts/compilation/qp_create_ninja @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Usage: qp_create_ninja create (--development | --production) @@ -24,7 +24,7 @@ except ImportError: "..", "quantum_package.rc")) - print "\n".join(["", "Error:", "source %s" % f, ""]) + print("\n".join(["", "Error:", "source %s" % f, ""])) sys.exit(1) # Compress path @@ -124,7 +124,7 @@ def dict_module_genelogy_path(d_module_genelogy): d_module_genelogy """ d = dict() - for module_rel, l_children_rel in d_module_genelogy.iteritems(): + for module_rel, l_children_rel in d_module_genelogy.items(): module_abs = real_join(QP_SRC, module_rel) p = Path(module_abs, module_rel) @@ -235,11 +235,11 @@ def ninja_ezfio_cfg_build(l_util): """ l_string = [] - for m in l_util.itervalues(): + for m in l_util.values(): str_ = "build {1} {2}: build_ezfio_interface {0}" - l_string += [str_.format(*map(comp_path,(m.ez_cfg.abs, m.ez_interface.abs, - m.ez_config.abs)))] + l_string += [str_.format(*list(map(comp_path,(m.ez_cfg.abs, m.ez_interface.abs, + m.ez_config.abs))))] l_string += [" sub_module = {0}".format(comp_path(m.ez_module.abs))] l_string += [""] @@ -257,8 +257,8 @@ def ninja_ezfio_config_build(l_ezfio_config): file_source = m.path_in_module file_create = m.path_in_ezfio - l_string += ["build {0}: build_ezfio_config {1}".format(*map(comp_path,(file_create, - file_source)))] + l_string += ["build {0}: build_ezfio_config {1}".format(*list(map(comp_path,(file_create, + file_source))))] l_string += [""] return l_string @@ -291,7 +291,7 @@ def ninja_ezfio_build(l_ezfio_config, l_util): """ l_ezfio_config = [i.path_in_ezfio for i in l_ezfio_config] - l_ezfio_from_cfg = [i.ez_config.abs for i in l_util.itervalues()] + l_ezfio_from_cfg = [i.ez_config.abs for i in l_util.values()] str_ = " ".join(map(comp_path,(l_ezfio_config + l_ezfio_from_cfg))) l_string = ["build {0}: build_ezfio {1}".format(EZFIO_LIB, str_), ""] @@ -335,7 +335,7 @@ def ninja_symlink_build(path_module, l_symlink): ""] for symlink in l_symlink: - l_string += ["build {0}: build_symlink {1}".format(*map(comp_path,(symlink.destination, symlink.source))), ""] + l_string += ["build {0}: build_symlink {1}".format(*list(map(comp_path,(symlink.destination, symlink.source)))), ""] return l_string @@ -360,7 +360,7 @@ def ninja_gitignore_build(path_module, d_binaries, l_symlink): path_gitignore = comp_path(join(path_module.abs, ".gitignore")) - l_b = map(comp_path,[i.abs for i in d_binaries[path_module]]) + l_b = list(map(comp_path,[i.abs for i in d_binaries[path_module]])) root = "build {0}: build_gitignore {1}".format(path_gitignore, " ".join(l_b)) @@ -420,9 +420,9 @@ def get_file_dependency(d_info_module): """ d_irp = defaultdict(dict) - for module, l_children in d_info_module.iteritems(): + for module, l_children in d_info_module.items(): - for key, values in get_l_file_for_module(module).iteritems(): + for key, values in get_l_file_for_module(module).items(): if key in ["l_src"]: values = [join(module.abs, o) for o in values] if key in ["l_obj"]: @@ -431,7 +431,7 @@ def get_file_dependency(d_info_module): d_irp[module][key] = values for children in l_children: - for key, values in get_l_file_for_module(children).iteritems(): + for key, values in get_l_file_for_module(children).items(): if key in ["l_src"]: values = [join(module.abs, children.rel, o) for o in values] @@ -495,10 +495,10 @@ def ninja_irpf90_make_build(path_module, l_needed_molule, d_irp): # D e p e n d a n c y # # ~#~#~#~#~#~#~#~#~#~ # - l_depend = map(comp_path,d_irp[path_module]["l_depend"]) - l_src = map(comp_path,d_irp[path_module]["l_src"]) - l_obj = map(comp_path,d_irp[path_module]["l_obj"]) - l_template = map(comp_path,d_irp[path_module]["l_template"]) + l_depend = list(map(comp_path,d_irp[path_module]["l_depend"])) + l_src = list(map(comp_path,d_irp[path_module]["l_src"])) + l_obj = list(map(comp_path,d_irp[path_module]["l_obj"])) + l_template = list(map(comp_path,d_irp[path_module]["l_template"])) if l_needed_molule: l_symlink = ["l_symlink_{0}".format(path_module.rel)] @@ -544,6 +544,7 @@ def get_binaries(path_module): stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = process.communicate() + stdout = stdout.decode() except OSError: return [] else: @@ -641,7 +642,7 @@ def ninja_binaries_build(path_module, l_children, d_binaries): # ~#~#~ # ninja_module_path = join(comp_path(path_module.abs), "IRPF90_temp/build.ninja") - l_abs_bin = map(comp_path,[binary.abs for binary in d_binaries[path_module]]) + l_abs_bin = list(map(comp_path,[binary.abs for binary in d_binaries[path_module]])) # ~#~#~#~#~#~ # # s t r i n g # @@ -658,7 +659,7 @@ def ninja_binaries_build(path_module, l_children, d_binaries): def ninja_module_build(path_module, d_binaries): - l_abs_bin = map(comp_path,[binary.abs for binary in d_binaries[path_module]]) + l_abs_bin = list(map(comp_path,[binary.abs for binary in d_binaries[path_module]])) path_readme = os.path.join(comp_path(path_module.abs), "README.rst") @@ -829,14 +830,14 @@ if __name__ == "__main__": dict_root = module_instance.dict_root dict_root_path = dict_module_genelogy_path(dict_root) - l_all_module = d_genealogy_path.keys() + l_all_module = list(d_genealogy_path.keys()) # ~#~#~#~#~#~#~#~#~#~#~#~#~ # # M o d u l e _ t o _ i r p # # ~#~#~#~#~#~#~#~#~#~#~#~#~ # d_binaries = get_dict_binaries(l_all_module, mode="development") - l_module = d_binaries.keys() + l_module = list(d_binaries.keys()) # ~#~#~#~#~#~#~#~#~#~#~#~ # diff --git a/scripts/compilation/read_compilation_cfg.py b/scripts/compilation/read_compilation_cfg.py index 7a9af801..45518701 100755 --- a/scripts/compilation/read_compilation_cfg.py +++ b/scripts/compilation/read_compilation_cfg.py @@ -1,8 +1,8 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- import os, sys -import ConfigParser +import configparser def get_l_option_section(config): @@ -17,10 +17,10 @@ def get_compilation_option(pwd_cfg, flag_name): Return the flag compilation of a compile.cfg located in pwd_cfg """ if not os.path.isfile(pwd_cfg): - print "Configuration file %s not found"%(pwd_cfg) + print("Configuration file %s not found"%(pwd_cfg)) sys.exit(1) - config = ConfigParser.ConfigParser() + config = configparser.ConfigParser(inline_comment_prefixes=(';','#')) config.read(pwd_cfg) if flag_name == "FC" and config.getboolean("OPTION","CACHE"): @@ -33,7 +33,7 @@ def get_compilation_option(pwd_cfg, flag_name): for section in ["COMMON"] + l_option_section: try: l.extend(config.get(section, flag_name).split()) - except ConfigParser.NoOptionError: + except configparser.NoOptionError: pass return " ".join(l) @@ -43,5 +43,5 @@ if __name__ == '__main__': qpackage_root = os.environ['QP_ROOT'] pwd_cfg = os.path.join(qpackage_root, "config/ifort_gpi2.cfg") - print get_compilation_option(pwd_cfg, "FC") - print get_compilation_option(pwd_cfg, "FCFLAGS") + print(get_compilation_option(pwd_cfg, "FC")) + print(get_compilation_option(pwd_cfg, "FCFLAGS")) diff --git a/scripts/ezfio_interface/ei_handler.py b/scripts/ezfio_interface/ei_handler.py index 23a0ce53..446d60d0 100755 --- a/scripts/ezfio_interface/ei_handler.py +++ b/scripts/ezfio_interface/ei_handler.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Welcome to the ei_handler. @@ -72,7 +72,7 @@ import sys import os import os.path -import ConfigParser +import configparser from collections import defaultdict from collections import namedtuple @@ -220,8 +220,8 @@ def get_dict_config_file(module_obj): # L o a d _ C o n f i g # # ~#~#~#~#~#~#~#~#~#~#~ # - config_file = ConfigParser.ConfigParser() - config_file.readfp(open(module_obj.path)) + config_file = configparser.ConfigParser() + config_file.read_file(open(module_obj.path)) # ~#~#~#~#~#~#~#~#~ # # F i l l _ d i c t # @@ -229,7 +229,7 @@ def get_dict_config_file(module_obj): def error(o, p, c): "o option ; p provider_name ;c module_obj.path" - print "You need a {0} for {1} in {2}".format(o, p, c) + print("You need a {0} for {1} in {2}".format(o, p, c)) for section in config_file.sections(): # pvd = provider @@ -245,13 +245,13 @@ def get_dict_config_file(module_obj): # Check if type is avalaible try: type_ = config_file.get(section, "type").strip() - except ConfigParser.NoOptionError: + except configparser.NoOptionError: error("type", pvd, module_obj.path) sys.exit(1) if type_ not in type_dict: - print "{0} not avalaible. Choose in:".format(type_).strip() - print ", ".join(sorted([i for i in type_dict])) + print("{0} not avalaible. Choose in:".format(type_).strip()) + print(", ".join(sorted([i for i in type_dict]))) sys.exit(1) else: d[pvd]["type"] = type_dict[type_] @@ -259,18 +259,18 @@ def get_dict_config_file(module_obj): # Fill the dict with REQUIRED information try: d[pvd]["doc"] = config_file.get(section, "doc") - except ConfigParser.NoOptionError: + except configparser.NoOptionError: error("doc", pvd, module_obj.path) sys.exit(1) try: interface = [i.lower().strip() for i in config_file.get(section, "interface").split(",")] - except ConfigParser.NoOptionError: + except configparser.NoOptionError: error("doc", pvd, module_obj.path) sys.exit(1) else: if not any(i in ["ezfio", "provider", "ocaml"] for i in interface): - print "Bad keyword for interface for {0}".format(pvd) + print("Bad keyword for interface for {0}".format(pvd)) sys.exit(1) else: d[pvd]["interface"] = interface @@ -279,7 +279,7 @@ def get_dict_config_file(module_obj): for option in l_info_optional: try: d[pvd][option] = config_file.get(section, option).lower() - except ConfigParser.NoOptionError: + except configparser.NoOptionError: if option in d_default: d[pvd][option] = d_default[option] @@ -287,7 +287,7 @@ def get_dict_config_file(module_obj): try: default_raw = config_file.get(section, "default") - except ConfigParser.NoOptionError: + except configparser.NoOptionError: if "ocaml" in d[pvd]["interface"]: error("default", pvd, module_obj.path) sys.exit(1) @@ -322,7 +322,7 @@ def create_ezfio_provider(dict_ezfio_cfg): dict_code_provider = dict() ez_p = EZFIO_Provider() - for provider_name, dict_info in dict_ezfio_cfg.iteritems(): + for provider_name, dict_info in dict_ezfio_cfg.items(): if "provider" in dict_info["interface"]: ez_p.set_type(dict_info['type'].fortran) ez_p.set_name(provider_name) @@ -364,7 +364,7 @@ def save_ezfio_provider(path_head, dict_code_provider): "! from file {0}/EZFIO.cfg".format(path_head), "\n"] - l_output += [code for code in dict_code_provider.values()] + l_output += [code for code in list(dict_code_provider.values())] output = "\n".join(l_output) @@ -381,22 +381,22 @@ def create_ezfio_stuff(dict_ezfio_cfg, config_or_default="config"): def size_format_to_ezfio(size_raw): """ If size_raw == "=" is a formula -> do nothing; return - Else convert the born of a multidimential array + Else convert the range of a multidimential array (12,begin:end) into (12,begin+end+1) for example - If the value are between parenthses -> do nothing; return + If the values are between parenthses -> do nothing; return """ size_raw = str(size_raw) if size_raw.startswith('='): size_convert = size_raw.replace('.', '_') else: - size_raw = provider_info["size"].translate(None, "()") + size_raw = provider_info["size"].translate(str.maketrans("","","()")) size_raw = size_raw.replace('.', '_') a_size_raw = [] for dim in size_raw.split(","): try: - (begin, end) = map(str.strip, dim.split(":")) + (begin, end) = list(map(str.strip, dim.split(":"))) except ValueError: a_size_raw.append(dim) else: @@ -423,7 +423,7 @@ def create_ezfio_stuff(dict_ezfio_cfg, config_or_default="config"): lenmax_name = max([len(i) for i in dict_ezfio_cfg]) lenmax_type = max([len(i["type"].fortran) - for i in dict_ezfio_cfg.values()]) + for i in list(dict_ezfio_cfg.values())]) str_name_format = create_format_string(lenmax_name + 2) str_type_format = create_format_string(lenmax_type + 2) @@ -433,15 +433,15 @@ def create_ezfio_stuff(dict_ezfio_cfg, config_or_default="config"): # ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~# # # Checking is many ezfio_dir provided - l_ezfio_dir = [d['ezfio_dir'] for d in dict_ezfio_cfg.values()] + l_ezfio_dir = [d['ezfio_dir'] for d in list(dict_ezfio_cfg.values())] if not l_ezfio_dir.count(l_ezfio_dir[0]) == len(l_ezfio_dir): - print >> sys.stderr, "You have many ezfio_dir. Not supported yet" + print("You have many ezfio_dir. Not supported yet", file=sys.stderr) raise TypeError else: result = [l_ezfio_dir[0]] - for provider_name, provider_info in sorted(dict_ezfio_cfg.iteritems()): + for provider_name, provider_info in sorted(dict_ezfio_cfg.items()): # Get the value from dict name_raw = provider_info["ezfio_name"].lower() @@ -532,7 +532,7 @@ def create_ocaml_input(dict_ezfio_cfg, module_lower): l_type = [] l_doc = [] - for k, v in dict_ezfio_cfg.iteritems(): + for k, v in dict_ezfio_cfg.items(): if "ocaml" in v['interface']: l_ezfio_name.append(v['ezfio_name']) l_type.append(v["type"]) @@ -580,7 +580,7 @@ def create_ocaml_input(dict_ezfio_cfg, module_lower): '(* =~=~=~==~=~~=~=~=~=~=~=~=~ *)', ""] - for provider_name, d_val in sorted(dict_ezfio_cfg.iteritems()): + for provider_name, d_val in sorted(dict_ezfio_cfg.items()): if 'default' not in d_val: continue @@ -655,7 +655,7 @@ def get_l_module_with_auto_generate_ocaml_lower(): l_module_lower = [] import re - p = re.compile(ur'interface:.*ocaml') + p = re.compile(r'interface:.*ocaml') for f in l_folder: path = "{0}/{1}/EZFIO.cfg".format(QP_SRC, f) @@ -782,7 +782,7 @@ if __name__ == "__main__": # if arguments["list_supported_types"]: for i in sorted(get_type_dict()): - print i + print(i) sys.exit(0) if arguments["ocaml_global"]: diff --git a/scripts/ezfio_interface/ezfio_generate_ocaml.py b/scripts/ezfio_interface/ezfio_generate_ocaml.py index 3c905122..191470d8 100755 --- a/scripts/ezfio_interface/ezfio_generate_ocaml.py +++ b/scripts/ezfio_interface/ezfio_generate_ocaml.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 """ This program generates all the OCaml templates needed by qp_edit @@ -17,12 +17,12 @@ class EZFIO_ocaml(object): def __init__(self, **kwargs): - for k, v in kwargs.iteritems(): + for k, v in kwargs.items(): try: - exec "self.{0} = {1}".format(k, v) + exec("self.{0} = {1}".format(k, v)) except NameError: - exec "self.{0} = '{1}'".format(k, v) + exec("self.{0} = '{1}'".format(k, v)) @property def Ocaml_type(self): @@ -39,7 +39,7 @@ class EZFIO_ocaml(object): def check_if_init(self, l_arg, name): for i in l_arg: try: - exec "self.{0}".format(i) + exec("self.{0}".format(i)) except AttributeError: msg = "You need to provide a '{0}' for creating {1}" raise KeyError(msg.format(i, name)) diff --git a/scripts/ezfio_interface/ezfio_generate_provider.py b/scripts/ezfio_interface/ezfio_generate_provider.py index 46df7e5e..4b43a88a 100755 --- a/scripts/ezfio_interface/ezfio_generate_provider.py +++ b/scripts/ezfio_interface/ezfio_generate_provider.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 __author__ = "Applencourt PEP8" __date__ = "jeudi 26 mars 2015, 12:49:35 (UTC+0100)" @@ -88,7 +88,7 @@ END_PROVIDER def __init__(self): self.values = "type doc name ezfio_dir ezfio_name write output".split() for v in self.values: - exec "self.{0} = None".format(v) + exec("self.{0} = None".format(v)) def __repr__(self): self.set_write() @@ -96,7 +96,7 @@ END_PROVIDER for v in self.values: if not v: msg = "Error : %s is not set in EZFIO.cfg" % (v) - print >>sys.stderr, msg + print(msg, file=sys.stderr) sys.exit(1) if "size" not in self.__dict__: self.__dict__["size"] = "" @@ -167,7 +167,7 @@ def test_module(): T.set_ezfio_dir("Hartree_Fock") T.set_ezfio_name("thresh_SCF") T.set_output("output_Hartree_Fock") - print T + print(T) if __name__ == '__main__': test_module() diff --git a/scripts/generate_h_apply.py b/scripts/generate_h_apply.py index ef22a539..dc7d340e 100644 --- a/scripts/generate_h_apply.py +++ b/scripts/generate_h_apply.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import os @@ -155,7 +155,7 @@ class H_apply(object): def __repr__(self): buffer = self.template - for key,value in self.data.items(): + for key,value in list(self.data.items()): buffer = buffer.replace('$'+key, value) return buffer diff --git a/scripts/hello.py b/scripts/hello.py index c533a0f4..a575026e 100644 --- a/scripts/hello.py +++ b/scripts/hello.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import random @@ -131,8 +131,8 @@ _ __ `/___ __ \__ ___/__ __ \ """ ] - print random.choice(hello) - print "\n -- Quantum Package Shell --\n" + print(random.choice(hello)) + print("\n -- Quantum Package Shell --\n") diff --git a/scripts/module/module_handler.py b/scripts/module/module_handler.py index 160a1ce9..a6bb6d3f 100755 --- a/scripts/module/module_handler.py +++ b/scripts/module/module_handler.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Module utilitary @@ -25,7 +25,7 @@ try: from docopt import docopt from qp_path import QP_SRC, QP_ROOT, QP_PLUGINS, QP_EZFIO except ImportError: - print "source .quantum_package.rc" + print("source .quantum_package.rc") raise @@ -50,6 +50,7 @@ def get_binaries(path_module): stdout=subprocess.PIPE, stderr=subprocess.PIPE) stdout, stderr = process.communicate() + stdout = stdout.decode() except OSError: return [] else: @@ -106,9 +107,9 @@ def get_l_module_descendant(d_child, l_module): try: l.extend(get_l_module_descendant(d_child, d_child[module])) except KeyError: - print >> sys.stderr, "Error: " - print >> sys.stderr, "`{0}` is not a submodule".format(module) - print >> sys.stderr, "Check the typo (spelling, case, '/', etc.) " + print("Error: ", file=sys.stderr) + print("`{0}` is not a submodule".format(module), file=sys.stderr) + print("Check the typo (spelling, case, '/', etc.) ", file=sys.stderr) sys.exit(1) return list(set(l)) @@ -120,7 +121,7 @@ class ModuleHandler(): @property def l_module(self): - return self.dict_child.keys() + return list(self.dict_child.keys()) @property def dict_parent(self): @@ -132,7 +133,7 @@ class ModuleHandler(): d = {} for module_name in d_child: - d[module_name] = [i for i in d_child.keys() + d[module_name] = [i for i in list(d_child.keys()) if module_name in d_child[i]] return d @@ -151,8 +152,8 @@ class ModuleHandler(): d[module_name] = get_l_module_descendant(d_child, d_child[module_name]) except KeyError: - print "Check NEED for {0}".format( - module_name) + print("Check NEED for {0}".format( + module_name)) sys.exit(1) return d @@ -185,7 +186,7 @@ class ModuleHandler(): for e in d_desc[module]: d[e] = 1 - return d.keys() + return list(d.keys()) def l_reduce_tree(self, l_module): """For a list of module in input return only the root""" @@ -218,8 +219,8 @@ if __name__ == '__main__': for module in l_module: if not is_module(module): - print "{0} is not a valid module. Abort".format(module) - print "No NEED in it" + print("{0} is not a valid module. Abort".format(module)) + print("No NEED in it") sys.exit(1) m = ModuleHandler() @@ -227,7 +228,7 @@ if __name__ == '__main__': if arguments['print_descendant']: for module in l_module: - print " ".join(sorted(m.l_descendant_unique([module]))) + print(" ".join(sorted(m.l_descendant_unique([module])))) if arguments["clean"]: diff --git a/scripts/perturbation.py b/scripts/perturbation.py index cefb89b2..0fe6cfc8 100644 --- a/scripts/perturbation.py +++ b/scripts/perturbation.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import os from qp_path import QP_SRC @@ -7,7 +7,7 @@ Pert_dir = os.path.join(QP_SRC,"perturbation") perturbations = [] -for filename in filter(lambda x: x.endswith(".irp.f"), os.listdir(Pert_dir)): +for filename in [x for x in os.listdir(Pert_dir) if x.endswith(".irp.f")]: filename = os.path.join(Pert_dir,filename) file = open(filename,'r') @@ -22,6 +22,6 @@ for filename in filter(lambda x: x.endswith(".irp.f"), os.listdir(Pert_dir)): if __name__ == '__main__': - print 'Perturbations:' + print('Perturbations:') for k in perturbations: - print '* ', k + print('* ', k) diff --git a/scripts/utility/get_groups b/scripts/utility/get_groups index 0d79cae2..418ea6ec 100755 --- a/scripts/utility/get_groups +++ b/scripts/utility/get_groups @@ -1,7 +1,7 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 # -*- coding: utf-8 -*- -import urllib +import urllib.request, urllib.parse, urllib.error import sys from bs4 import BeautifulSoup @@ -35,11 +35,11 @@ def clean_up(text): return False else: return y[0] in irred - data = filter(f,data)[:len(irred)] + data = list(filter(f,data))[:len(irred)] for line in data: s = line.replace('*','').split() l = irred[s[0]] - data[l] = map(float,s[1:len(irred)+1]) + data[l] = list(map(float,s[1:len(irred)+1])) d = {} e = {} @@ -48,23 +48,23 @@ def clean_up(text): for k in sop: e[sop[k]] = k n = len(irred) - print "Group\t", group, "\nn\t", n - print "\n \tIrred \tOperation" + print("Group\t", group, "\nn\t", n) + print("\n \tIrred \tOperation") for i in range(n): - print "%4d \t %s \t %s"%(i+1, d[i].ljust(10), e[i].ljust(10)) + print("%4d \t %s \t %s"%(i+1, d[i].ljust(10), e[i].ljust(10))) - print "\nTable\n ", + print("\nTable\n ", end=' ') for j in range(n): - print "%8s "%(str(j+1).center(8)), + print("%8s "%(str(j+1).center(8)), end=' ') for i in range(n): - print "\n%4d "%(i+1), + print("\n%4d "%(i+1), end=' ') for j in range(n): - print "%8.5f "%(data[i][j]), - print "\n" + print("%8.5f "%(data[i][j]), end=' ') + print("\n") def main(): for group in sys.argv[1:]: - f = urllib.urlopen(address%(group)) + f = urllib.request.urlopen(address%(group)) html = f.read().split('\n',1)[1] text = clean_up(html) diff --git a/scripts/utility/qp_bitmasks.py b/scripts/utility/qp_bitmasks.py index 5107576b..38aa48d7 100644 --- a/scripts/utility/qp_bitmasks.py +++ b/scripts/utility/qp_bitmasks.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 BIT_KIND_SIZE=64 diff --git a/scripts/utility/qp_path.py b/scripts/utility/qp_path.py index 5a5c8ca7..11756920 100644 --- a/scripts/utility/qp_path.py +++ b/scripts/utility/qp_path.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -from __future__ import print_function + import os import sys diff --git a/src/cis/h_apply.irp.f b/src/cis/h_apply.irp.f index 95aa52e4..14389bed 100644 --- a/src/cis/h_apply.irp.f +++ b/src/cis/h_apply.irp.f @@ -1,14 +1,14 @@ ! Generates subroutine H_apply_cis ! -------------------------------- -BEGIN_SHELL [ /usr/bin/env python2 ] +BEGIN_SHELL [ /usr/bin/env python3 ] from generate_h_apply import H_apply H = H_apply("cis",do_double_exc=False) -print H +print(H) H = H_apply("cis_sym",do_double_exc=False) H.filter_only_connected_to_hf() -print H +print(H) END_SHELL diff --git a/src/cisd/h_apply.irp.f b/src/cisd/h_apply.irp.f index b18f6373..fa647f8a 100644 --- a/src/cisd/h_apply.irp.f +++ b/src/cisd/h_apply.irp.f @@ -1,13 +1,13 @@ ! Generates subroutine H_apply_cisd ! ---------------------------------- -BEGIN_SHELL [ /usr/bin/env python2 ] +BEGIN_SHELL [ /usr/bin/env python3 ] from generate_h_apply import H_apply H = H_apply("cisd",do_double_exc=True) -print H +print(H) H = H_apply("cisd_sym",do_double_exc=True) H.filter_only_connected_to_hf() -print H +print(H) END_SHELL diff --git a/src/density_for_dft/EZFIO.cfg b/src/density_for_dft/EZFIO.cfg index 86bbaeb1..42b8eab4 100644 --- a/src/density_for_dft/EZFIO.cfg +++ b/src/density_for_dft/EZFIO.cfg @@ -1,25 +1,23 @@ [density_for_dft] type: character*(32) -doc: Type of density used for DFT calculation. If set to WFT , it uses the density of the wave function stored in (psi_det,psi_coef). If set to input_density it uses the one-body dm stored in aux_quantities/ . If set to damping_rs_dft it uses the damped density between WFT and input_density. In the ks_scf and rs_ks_scf programs, it is set to WFT. +doc: Type of density used for DFT calculation. If set to WFT , it uses the density of the wave function stored in (psi_det,psi_coef). If set to input_density it uses the one-body dm stored in aux_quantities/ . If set to damping_rs_dft it uses the damped density between WFT and input_density. In the ks_scf and rs_ks_scf programs, it is set to WFT. interface: ezfio, provider, ocaml -default: WFT +default: WFT [damping_for_rs_dft] type: double precision -doc: damping factor for the density used in RSFT. +doc: damping factor for the density used in RSFT. interface: ezfio,provider,ocaml default: 0.5 [no_core_density] type: character*(32) -doc: Type of density -doc: if [no_core_dm] then all elements of the density matrix involving at least one orbital set as core are set to zero +doc: Type of density. If [no_core_dm] then all elements of the density matrix involving at least one orbital set as core are set to zero interface: ezfio, provider, ocaml default: full_density [normalize_dm] type: logical -doc: Type of density -doc: if .True., then you normalize the no_core_dm to elec_alpha_num - n_core_orb and elec_beta_num - n_core_orb +doc: Type of density. If .True., then you normalize the no_core_dm to elec_alpha_num - n_core_orb and elec_beta_num - n_core_orb interface: ezfio, provider, ocaml default: True diff --git a/src/determinants/EZFIO.cfg b/src/determinants/EZFIO.cfg index 40897159..ef00080b 100644 --- a/src/determinants/EZFIO.cfg +++ b/src/determinants/EZFIO.cfg @@ -76,7 +76,6 @@ type: integer interface: ezfio doc: Number of determinants to print in qp_edit type: integer -interface: ezfio [psi_coef] interface: ezfio diff --git a/src/dft_one_e/e_xc_general.irp.f b/src/dft_one_e/e_xc_general.irp.f index fc9f9fd2..6c9e7bd3 100644 --- a/src/dft_one_e/e_xc_general.irp.f +++ b/src/dft_one_e/e_xc_general.irp.f @@ -3,8 +3,8 @@ BEGIN_PROVIDER [double precision, energy_x, (N_states)] BEGIN_DOC ! correlation energies general providers. END_DOC - - BEGIN_SHELL [ /usr/bin/env python2 ] + + BEGIN_SHELL [ /usr/bin/env python3 ] import os import glob from qp_path import QP_SRC @@ -13,32 +13,32 @@ os.chdir(funcdir) functionals = map(lambda x : x.replace(".irp.f",""), glob.glob("*.irp.f")) prefix = "" for f in functionals: - print """ + print(""" %sif (trim(exchange_functional) == '%s') then - energy_x = (1.d0 - HF_exchange ) * energy_x_%s"""%(prefix, f, f) + energy_x = (1.d0 - HF_exchange ) * energy_x_%s"""%(prefix, f, f)) prefix = "else " -print """ +print(""" else print *, 'exchange functional required does not exist ...' print *, 'exchange_functional ',exchange_functional - stop""" -print "endif" + stop""") +print("endif") END_SHELL - - + + END_PROVIDER - - - - + + + + BEGIN_PROVIDER [double precision, energy_c, (N_states)] implicit none BEGIN_DOC ! correlation and exchange energies general providers. END_DOC - - BEGIN_SHELL [ /usr/bin/env python2 ] + + BEGIN_SHELL [ /usr/bin/env python3 ] import os import glob from qp_path import QP_SRC @@ -47,19 +47,19 @@ os.chdir(funcdir) functionals = map(lambda x : x.replace(".irp.f",""), glob.glob("*.irp.f")) prefix = "" for f in functionals: - print """ + print(""" %sif (trim(correlation_functional) == '%s') then - energy_c = energy_c_%s"""%(prefix, f, f) + energy_c = energy_c_%s"""%(prefix, f, f) ) prefix = "else " -print """ +print(""" else print*, 'Correlation functional required does not exist ...' print*,'correlation_functional ',correlation_functional - stop""" -print "endif" + stop""") +print("endif") END_SHELL - + END_PROVIDER diff --git a/src/dft_one_e/pot_general.irp.f b/src/dft_one_e/pot_general.irp.f index 2f45a464..df292422 100644 --- a/src/dft_one_e/pot_general.irp.f +++ b/src/dft_one_e/pot_general.irp.f @@ -4,8 +4,8 @@ BEGIN_DOC ! general providers for the alpha/beta exchange potentials on the AO basis END_DOC - - BEGIN_SHELL [ /usr/bin/env python2 ] + + BEGIN_SHELL [ /usr/bin/env python3 ] import os import glob from qp_path import QP_SRC @@ -15,33 +15,33 @@ functionals = map(lambda x : x.replace(".irp.f",""), glob.glob("*.irp.f")) prefix = "" for f in functionals: - print """ + print(""" %sif (trim(exchange_functional) == '%s') then potential_x_alpha_ao = ( 1.d0 - HF_exchange ) * potential_x_alpha_ao_%s - potential_x_beta_ao = ( 1.d0 - HF_exchange ) * potential_x_beta_ao_%s"""%(prefix, f, f, f) + potential_x_beta_ao = ( 1.d0 - HF_exchange ) * potential_x_beta_ao_%s"""%(prefix, f, f, f) ) prefix = "else " -print """ +print(""" else print*, 'exchange functional required does not exist ...' print*,'exchange_functional ',exchange_functional - stop""" -print "endif" + stop""") +print("endif") END_SHELL - - + + END_PROVIDER - - - + + + BEGIN_PROVIDER [double precision, potential_c_alpha_ao,(ao_num,ao_num,N_states)] &BEGIN_PROVIDER [double precision, potential_c_beta_ao,(ao_num,ao_num,N_states)] implicit none BEGIN_DOC ! general providers for the alpha/beta correlation potentials on the AO basis END_DOC - - BEGIN_SHELL [ /usr/bin/env python2 ] + + BEGIN_SHELL [ /usr/bin/env python3 ] import os import glob from qp_path import QP_SRC @@ -51,27 +51,27 @@ functionals = map(lambda x : x.replace(".irp.f",""), glob.glob("*.irp.f")) prefix = "" for f in functionals: - print """ + print(""" %sif (trim(correlation_functional) == '%s') then potential_c_alpha_ao = potential_c_alpha_ao_%s - potential_c_beta_ao = potential_c_beta_ao_%s"""%(prefix, f, f, f) + potential_c_beta_ao = potential_c_beta_ao_%s"""%(prefix, f, f, f) ) prefix = "else " -print """ +print(""" else print*, 'Correlation functional required does not exist ...' print*,'correlation_functional ',correlation_functional - stop""" -print "endif" + stop""" ) +print("endif") END_SHELL - + END_PROVIDER - - - - - + + + + + BEGIN_PROVIDER [double precision, potential_x_alpha_mo,(mo_num,mo_num,N_states)] &BEGIN_PROVIDER [double precision, potential_x_beta_mo ,(mo_num,mo_num,N_states)] implicit none @@ -86,7 +86,7 @@ print "endif" potential_x_alpha_mo(1,1,istate), & size(potential_x_alpha_mo,1) & ) - + call ao_to_mo( & potential_x_beta_ao(1,1,istate), & size(potential_x_beta_ao,1), & @@ -94,9 +94,9 @@ print "endif" size(potential_x_beta_mo,1) & ) enddo - + END_PROVIDER - + BEGIN_PROVIDER [double precision, potential_c_alpha_mo,(mo_num,mo_num,N_states)] &BEGIN_PROVIDER [double precision, potential_c_beta_mo, (mo_num,mo_num,N_states)] implicit none @@ -111,7 +111,7 @@ print "endif" potential_c_alpha_mo(1,1,istate), & size(potential_c_alpha_mo,1) & ) - + call ao_to_mo( & potential_c_beta_ao(1,1,istate), & size(potential_c_beta_ao,1), & @@ -119,7 +119,7 @@ print "endif" size(potential_c_beta_mo,1) & ) enddo - + END_PROVIDER @@ -147,9 +147,9 @@ print "endif" enddo Trace_v_Hxc(istate) = Trace_v_xc(istate) + Trace_v_H(istate) enddo - + END_PROVIDER - + BEGIN_PROVIDER [double precision, Trace_v_xc_new, (N_states)] implicit none integer :: i,j,istate @@ -166,14 +166,14 @@ print "endif" enddo enddo enddo - + END_PROVIDER - + BEGIN_PROVIDER [double precision, potential_xc_alpha_mo,(mo_num,mo_num,N_states)] &BEGIN_PROVIDER [double precision, potential_xc_beta_mo,(mo_num,mo_num,N_states)] implicit none integer :: istate - + do istate = 1, N_states call ao_to_mo( & potential_xc_alpha_ao(1,1,istate), & @@ -181,7 +181,7 @@ print "endif" potential_xc_alpha_mo(1,1,istate), & size(potential_xc_alpha_mo,1) & ) - + call ao_to_mo( & potential_xc_beta_ao(1,1,istate), & size(potential_xc_beta_ao,1), & @@ -189,18 +189,18 @@ print "endif" size(potential_xc_beta_mo,1) & ) enddo - + END_PROVIDER - - + + BEGIN_PROVIDER [double precision, potential_xc_alpha_ao,(ao_num,ao_num,N_states)] &BEGIN_PROVIDER [double precision, potential_xc_beta_ao,(ao_num,ao_num,N_states)] implicit none BEGIN_DOC ! general providers for the alpha/beta exchange/correlation potentials on the AO basis END_DOC - - BEGIN_SHELL [ /usr/bin/env python2 ] + + BEGIN_SHELL [ /usr/bin/env python3 ] import os import glob from qp_path import QP_SRC @@ -210,19 +210,19 @@ functionals = map(lambda x : x.replace(".irp.f",""), glob.glob("*.irp.f")) prefix = "" for f in functionals: - print """ + print(""" %sif (trim(exchange_functional) == '%s') then potential_xc_alpha_ao = potential_xc_alpha_ao_%s - potential_xc_beta_ao = potential_xc_beta_ao_%s"""%(prefix, f, f, f) + potential_xc_beta_ao = potential_xc_beta_ao_%s"""%(prefix, f, f, f) ) prefix = "else " -print """ +print(""" else print*, 'exchange functional required does not exist ...' print*,'exchange_functional ',exchange_functional - stop""" -print "endif" + stop""") +print("endif") END_SHELL - + END_PROVIDER diff --git a/src/perturbation/perturbation.irp.f b/src/perturbation/perturbation.irp.f index 040f3026..cde52027 100644 --- a/src/perturbation/perturbation.irp.f +++ b/src/perturbation/perturbation.irp.f @@ -1,4 +1,4 @@ -BEGIN_SHELL [ /usr/bin/env python2 ] +BEGIN_SHELL [ /usr/bin/env python3 ] from perturbation import perturbations import os @@ -8,6 +8,6 @@ template = file.read() file.close() for p in perturbations: - print template.replace("$PERT",p) + print(template.replace("$PERT",p)) END_SHELL diff --git a/src/perturbation/perturbation.template.f b/src/perturbation/perturbation.template.f index 0a7ca181..558b92a9 100644 --- a/src/perturbation/perturbation.template.f +++ b/src/perturbation/perturbation.template.f @@ -1,4 +1,4 @@ -BEGIN_SHELL [ /usr/bin/env python2 ] +BEGIN_SHELL [ /usr/bin/env python3 ] import perturbation END_SHELL From be3aa1af71765a0b43dd775b8f2363a19a4c8759 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 18 Mar 2020 10:50:09 +0100 Subject: [PATCH 016/138] Removed divide by zero for travis --- src/determinants/determinants.irp.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/determinants/determinants.irp.f b/src/determinants/determinants.irp.f index 79621648..71ee3d89 100644 --- a/src/determinants/determinants.irp.f +++ b/src/determinants/determinants.irp.f @@ -771,7 +771,7 @@ subroutine apply_excitation(det, exc, res, ok, Nint) case default print *, degree print *, "apply ex" - print *, 1.d0/0.d0 ! For traceback +! print *, 1.d0/0.d0 ! For traceback STOP end select ! END INLINE From 3e0ada95387d4c606087e9494349d33528314c83 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Wed, 18 Mar 2020 15:13:49 +0100 Subject: [PATCH 017/138] beginning the cleaning of two_body_rdm --- src/density_for_dft/EZFIO.cfg | 6 +- src/density_for_dft/density_for_dft.irp.f | 4 +- src/two_body_rdm/README.rst | 1 + src/two_body_rdm/ab_only_routines.irp.f | 402 --------- src/two_body_rdm/all_2rdm_routines.irp.f | 442 ---------- ...> all_states_act_2_rdm_dav_routines.irp.f} | 0 ....irp.f => all_states_act_2_rdm_prov.irp.f} | 34 +- ...ll_states_act_2_rdm_update_routines.irp.f} | 0 src/two_body_rdm/compute.irp.f | 269 ------ src/two_body_rdm/compute_orb_range_omp.irp.f | 807 ------------------ src/two_body_rdm/orb_range_omp.irp.f | 85 -- src/two_body_rdm/orb_range_routines_omp.irp.f | 568 ------------ ... => state_av_act_2_rdm_dav_routines.irp.f} | 0 ...ge.irp.f => state_av_act_2_rdm_prov.irp.f} | 32 +- ... state_av_act_2_rdm_update_routines.irp.f} | 0 src/two_body_rdm/two_rdm.irp.f | 62 -- 16 files changed, 50 insertions(+), 2662 deletions(-) delete mode 100644 src/two_body_rdm/ab_only_routines.irp.f delete mode 100644 src/two_body_rdm/all_2rdm_routines.irp.f rename src/two_body_rdm/{all_states_routines.irp.f => all_states_act_2_rdm_dav_routines.irp.f} (100%) rename src/two_body_rdm/{all_states_2_rdm.irp.f => all_states_act_2_rdm_prov.irp.f} (64%) rename src/two_body_rdm/{compute_all_states.irp.f => all_states_act_2_rdm_update_routines.irp.f} (100%) delete mode 100644 src/two_body_rdm/compute.irp.f delete mode 100644 src/two_body_rdm/compute_orb_range_omp.irp.f delete mode 100644 src/two_body_rdm/orb_range_omp.irp.f delete mode 100644 src/two_body_rdm/orb_range_routines_omp.irp.f rename src/two_body_rdm/{orb_range_routines.irp.f => state_av_act_2_rdm_dav_routines.irp.f} (100%) rename src/two_body_rdm/{orb_range.irp.f => state_av_act_2_rdm_prov.irp.f} (68%) rename src/two_body_rdm/{compute_orb_range.irp.f => state_av_act_2_rdm_update_routines.irp.f} (100%) delete mode 100644 src/two_body_rdm/two_rdm.irp.f diff --git a/src/density_for_dft/EZFIO.cfg b/src/density_for_dft/EZFIO.cfg index 42b8eab4..63d6bc08 100644 --- a/src/density_for_dft/EZFIO.cfg +++ b/src/density_for_dft/EZFIO.cfg @@ -11,10 +11,10 @@ interface: ezfio,provider,ocaml default: 0.5 [no_core_density] -type: character*(32) -doc: Type of density. If [no_core_dm] then all elements of the density matrix involving at least one orbital set as core are set to zero +type: logical +doc: If [no_core_density] then all elements of the density matrix involving at least one orbital set as core are set to zero. The default is False in order to take all the density. interface: ezfio, provider, ocaml -default: full_density +default: False [normalize_dm] type: logical diff --git a/src/density_for_dft/density_for_dft.irp.f b/src/density_for_dft/density_for_dft.irp.f index c925bdf8..ee70cd38 100644 --- a/src/density_for_dft/density_for_dft.irp.f +++ b/src/density_for_dft/density_for_dft.irp.f @@ -22,7 +22,7 @@ BEGIN_PROVIDER [double precision, one_e_dm_mo_alpha_for_dft, (mo_num,mo_num, N_s one_e_dm_mo_alpha_for_dft(:,:,1) = one_e_dm_mo_alpha_average(:,:) endif - if(no_core_density .EQ. "no_core_dm")then + if(no_core_density)then integer :: ii,i,j do ii = 1, n_core_orb i = list_core(ii) @@ -73,7 +73,7 @@ BEGIN_PROVIDER [double precision, one_e_dm_mo_beta_for_dft, (mo_num,mo_num, N_st one_e_dm_mo_beta_for_dft(:,:,1) = one_e_dm_mo_beta_average(:,:) endif - if(no_core_density .EQ. "no_core_dm")then + if(no_core_density)then integer :: ii,i,j do ii = 1, n_core_orb i = list_core(ii) diff --git a/src/two_body_rdm/README.rst b/src/two_body_rdm/README.rst index 978240c9..69f1f2a4 100644 --- a/src/two_body_rdm/README.rst +++ b/src/two_body_rdm/README.rst @@ -6,3 +6,4 @@ Contains the two rdms $\alpha\alpha$, $\beta\beta$ and $\alpha\beta$ stored as arrays, with pysicists notation, consistent with the two-electron integrals in the MO basis. + diff --git a/src/two_body_rdm/ab_only_routines.irp.f b/src/two_body_rdm/ab_only_routines.irp.f deleted file mode 100644 index fb3c421c..00000000 --- a/src/two_body_rdm/ab_only_routines.irp.f +++ /dev/null @@ -1,402 +0,0 @@ - - subroutine two_rdm_ab_nstates(big_array,dim1,dim2,dim3,dim4,u_0,N_st,sze) - use bitmasks - implicit none - BEGIN_DOC - ! Computes the alpha/beta part of the two-body density matrix IN CHEMIST NOTATIONS - ! - ! Assumes that the determinants are in psi_det - ! - ! istart, iend, ishift, istep are used in ZMQ parallelization. - END_DOC - integer, intent(in) :: N_st,sze - integer, intent(in) :: dim1,dim2,dim3,dim4 - double precision, intent(inout) :: big_array(dim1,dim2,dim3,dim4,N_states) - double precision, intent(inout) :: u_0(sze,N_st) - integer :: k - double precision, allocatable :: u_t(:,:) - !DIR$ ATTRIBUTES ALIGN : $IRP_ALIGN :: u_t - allocate(u_t(N_st,N_det)) - do k=1,N_st - call dset_order(u_0(1,k),psi_bilinear_matrix_order,N_det) - enddo - call dtranspose( & - u_0, & - size(u_0, 1), & - u_t, & - size(u_t, 1), & - N_det, N_st) - - call two_rdm_ab_nstates_work(big_array,dim1,dim2,dim3,dim4,u_t,N_st,sze,1,N_det,0,1) - deallocate(u_t) - - do k=1,N_st - call dset_order(u_0(1,k),psi_bilinear_matrix_order_reverse,N_det) - enddo - - end - - - subroutine two_rdm_ab_nstates_work(big_array,dim1,dim2,dim3,dim4,u_t,N_st,sze,istart,iend,ishift,istep) - use bitmasks - implicit none - BEGIN_DOC - ! Computes the alpha/beta part of the two-body density matrix - ! - ! Default should be 1,N_det,0,1 - END_DOC - integer, intent(in) :: N_st,sze,istart,iend,ishift,istep - integer, intent(in) :: dim1,dim2,dim3,dim4 - double precision, intent(inout) :: big_array(dim1,dim2,dim3,dim4,N_states) - double precision, intent(in) :: u_t(N_st,N_det) - - - PROVIDE N_int - - select case (N_int) - case (1) - call two_rdm_ab_nstates_work_1(big_array,dim1,dim2,dim3,dim4,u_t,N_st,sze,istart,iend,ishift,istep) - case (2) - call two_rdm_ab_nstates_work_2(big_array,dim1,dim2,dim3,dim4,u_t,N_st,sze,istart,iend,ishift,istep) - case (3) - call two_rdm_ab_nstates_work_3(big_array,dim1,dim2,dim3,dim4,u_t,N_st,sze,istart,iend,ishift,istep) - case (4) - call two_rdm_ab_nstates_work_4(big_array,dim1,dim2,dim3,dim4,u_t,N_st,sze,istart,iend,ishift,istep) - case default - call two_rdm_ab_nstates_work_N_int(big_array,dim1,dim2,dim3,dim4,u_t,N_st,sze,istart,iend,ishift,istep) - end select - end - BEGIN_TEMPLATE - - subroutine two_rdm_ab_nstates_work_$N_int(big_array,dim1,dim2,dim3,dim4,u_t,N_st,sze,istart,iend,ishift,istep) - use bitmasks - implicit none - integer, intent(in) :: N_st,sze,istart,iend,ishift,istep - integer, intent(in) :: dim1,dim2,dim3,dim4 - double precision, intent(inout) :: big_array(dim1,dim2,dim3,dim4,N_states) - double precision, intent(in) :: u_t(N_st,N_det) - - double precision :: hij, sij - integer :: i,j,k,l - integer :: k_a, k_b, l_a, l_b, m_a, m_b - integer :: istate - integer :: krow, kcol, krow_b, kcol_b - integer :: lrow, lcol - integer :: mrow, mcol - integer(bit_kind) :: spindet($N_int) - integer(bit_kind) :: tmp_det($N_int,2) - integer(bit_kind) :: tmp_det2($N_int,2) - integer(bit_kind) :: tmp_det3($N_int,2) - integer(bit_kind), allocatable :: buffer(:,:) - integer :: n_doubles - integer, allocatable :: doubles(:) - integer, allocatable :: singles_a(:) - integer, allocatable :: singles_b(:) - integer, allocatable :: idx(:), idx0(:) - integer :: maxab, n_singles_a, n_singles_b, kcol_prev, nmax - integer*8 :: k8 - - maxab = max(N_det_alpha_unique, N_det_beta_unique)+1 - allocate(idx0(maxab)) - - do i=1,maxab - idx0(i) = i - enddo - - ! Prepare the array of all alpha single excitations - ! ------------------------------------------------- - - PROVIDE N_int nthreads_davidson - - ! Alpha/Beta double excitations - ! ============================= - - allocate( buffer($N_int,maxab), & - singles_a(maxab), & - singles_b(maxab), & - doubles(maxab), & - idx(maxab)) - - kcol_prev=-1 - - ASSERT (iend <= N_det) - ASSERT (istart > 0) - ASSERT (istep > 0) - - do k_a=istart+ishift,iend,istep - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - if (kcol /= kcol_prev) then - call get_all_spin_singles_$N_int( & - psi_det_beta_unique, idx0, & - tmp_det(1,2), N_det_beta_unique, & - singles_b, n_singles_b) - endif - kcol_prev = kcol - - ! Loop over singly excited beta columns - ! ------------------------------------- - - do i=1,n_singles_b - lcol = singles_b(i) - - tmp_det2(1:$N_int,2) = psi_det_beta_unique(1:$N_int, lcol) - - l_a = psi_bilinear_matrix_columns_loc(lcol) - ASSERT (l_a <= N_det) - - do j=1,psi_bilinear_matrix_columns_loc(lcol+1) - l_a - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - buffer(1:$N_int,j) = psi_det_alpha_unique(1:$N_int, lrow) - - ASSERT (l_a <= N_det) - idx(j) = l_a - l_a = l_a+1 - enddo - j = j-1 - - call get_all_spin_singles_$N_int( & - buffer, idx, tmp_det(1,1), j, & - singles_a, n_singles_a ) - - ! Loop over alpha singles - ! ----------------------- - - do k = 1,n_singles_a - l_a = singles_a(k) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - !!!!!!!!!!!!!!!!!! ALPHA BETA - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - enddo - call off_diagonal_double_to_two_rdm_ab_dm(tmp_det,tmp_det2,c_1,c_2,big_array,dim1,dim2,dim3,dim4) - enddo - - enddo - - enddo - - - do k_a=istart+ishift,iend,istep - - - ! Single and double alpha excitations - ! =================================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - ! Initial determinant is at k_b in beta-major representation - ! ---------------------------------------------------------------------- - - k_b = psi_bilinear_matrix_order_transp_reverse(k_a) - - spindet(1:$N_int) = tmp_det(1:$N_int,1) - - ! Loop inside the beta column to gather all the connected alphas - lcol = psi_bilinear_matrix_columns(k_a) - l_a = psi_bilinear_matrix_columns_loc(lcol) - do i=1,N_det_alpha_unique - if (l_a > N_det) exit - lcol = psi_bilinear_matrix_columns(l_a) - if (lcol /= kcol) exit - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - buffer(1:$N_int,i) = psi_det_alpha_unique(1:$N_int, lrow) - idx(i) = l_a - l_a = l_a+1 - enddo - i = i-1 - - call get_all_spin_singles_and_doubles_$N_int( & - buffer, idx, spindet, i, & - singles_a, doubles, n_singles_a, n_doubles ) - - ! Compute Hij for all alpha singles - ! ---------------------------------- - - tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - do i=1,n_singles_a - l_a = singles_a(i) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - !!!! MONO SPIN - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - enddo - call off_diagonal_single_to_two_rdm_ab_dm(tmp_det, tmp_det2,c_1,c_2,big_array,dim1,dim2,dim3,dim4) - - enddo - - - !! Compute Hij for all alpha doubles - !! ---------------------------------- - ! - !do i=1,n_doubles - ! l_a = doubles(i) - ! ASSERT (l_a <= N_det) - - ! lrow = psi_bilinear_matrix_rows(l_a) - ! ASSERT (lrow <= N_det_alpha_unique) - - ! call i_H_j_double_spin_erf( tmp_det(1,1), psi_det_alpha_unique(1, lrow), $N_int, hij) - ! do l=1,N_st - ! v_t(l,k_a) = v_t(l,k_a) + hij * u_t(l,l_a) - ! ! same spin => sij = 0 - ! enddo - !enddo - - - - ! Single and double beta excitations - ! ================================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - kcol = psi_bilinear_matrix_columns(k_a) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - spindet(1:$N_int) = tmp_det(1:$N_int,2) - - ! Initial determinant is at k_b in beta-major representation - ! ----------------------------------------------------------------------- - - k_b = psi_bilinear_matrix_order_transp_reverse(k_a) - - ! Loop inside the alpha row to gather all the connected betas - lrow = psi_bilinear_matrix_transp_rows(k_b) - l_b = psi_bilinear_matrix_transp_rows_loc(lrow) - do i=1,N_det_beta_unique - if (l_b > N_det) exit - lrow = psi_bilinear_matrix_transp_rows(l_b) - if (lrow /= krow) exit - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - buffer(1:$N_int,i) = psi_det_beta_unique(1:$N_int, lcol) - idx(i) = l_b - l_b = l_b+1 - enddo - i = i-1 - - call get_all_spin_singles_and_doubles_$N_int( & - buffer, idx, spindet, i, & - singles_b, doubles, n_singles_b, n_doubles ) - - ! Compute Hij for all beta singles - ! ---------------------------------- - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - do i=1,n_singles_b - l_b = singles_b(i) - ASSERT (l_b <= N_det) - - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, lcol) - l_a = psi_bilinear_matrix_transp_order(l_b) - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - enddo - call off_diagonal_single_to_two_rdm_ab_dm(tmp_det, tmp_det2,c_1,c_2,big_array,dim1,dim2,dim3,dim4) - ASSERT (l_a <= N_det) - enddo - ! - !! Compute Hij for all beta doubles - !! ---------------------------------- - ! - !do i=1,n_doubles - ! l_b = doubles(i) - ! ASSERT (l_b <= N_det) - - ! lcol = psi_bilinear_matrix_transp_columns(l_b) - ! ASSERT (lcol <= N_det_beta_unique) - - ! call i_H_j_double_spin_erf( tmp_det(1,2), psi_det_beta_unique(1, lcol), $N_int, hij) - ! l_a = psi_bilinear_matrix_transp_order(l_b) - ! ASSERT (l_a <= N_det) - - ! do l=1,N_st - ! v_t(l,k_a) = v_t(l,k_a) + hij * u_t(l,l_a) - ! ! same spin => sij = 0 - ! enddo - !enddo - - - ! Diagonal contribution - ! ===================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - double precision, external :: diag_H_mat_elem_erf, diag_S_mat_elem - double precision :: c_1(N_states),c_2(N_states) - do l = 1, N_states - c_1(l) = u_t(l,k_a) - enddo - - call diagonal_contrib_to_two_rdm_ab_dm(tmp_det,c_1,big_array,dim1,dim2,dim3,dim4) - - end do - deallocate(buffer, singles_a, singles_b, doubles, idx) - - end - - SUBST [ N_int ] - - 1;; - 2;; - 3;; - 4;; - N_int;; - - END_TEMPLATE diff --git a/src/two_body_rdm/all_2rdm_routines.irp.f b/src/two_body_rdm/all_2rdm_routines.irp.f deleted file mode 100644 index fa036e6a..00000000 --- a/src/two_body_rdm/all_2rdm_routines.irp.f +++ /dev/null @@ -1,442 +0,0 @@ -subroutine all_two_rdm_dm_nstates(big_array_aa,big_array_bb,big_array_ab,dim1,dim2,dim3,dim4,u_0,N_st,sze) - use bitmasks - implicit none - BEGIN_DOC - ! Computes the alpha/alpha, beta/beta and alpha/beta part of the two-body density matrix IN CHEMIST NOTATIONS - ! - ! Assumes that the determinants are in psi_det - ! - ! istart, iend, ishift, istep are used in ZMQ parallelization. - END_DOC - integer, intent(in) :: N_st,sze - integer, intent(in) :: dim1,dim2,dim3,dim4 - double precision, intent(inout) :: big_array_aa(dim1,dim2,dim3,dim4,N_states) - double precision, intent(inout) :: big_array_bb(dim1,dim2,dim3,dim4,N_states) - double precision, intent(inout) :: big_array_ab(dim1,dim2,dim3,dim4,N_states) - double precision, intent(inout) :: u_0(sze,N_st) - integer :: k - double precision, allocatable :: u_t(:,:) - !DIR$ ATTRIBUTES ALIGN : $IRP_ALIGN :: u_t - allocate(u_t(N_st,N_det)) - do k=1,N_st - call dset_order(u_0(1,k),psi_bilinear_matrix_order,N_det) - enddo - call dtranspose( & - u_0, & - size(u_0, 1), & - u_t, & - size(u_t, 1), & - N_det, N_st) - - call all_two_rdm_dm_nstates_work(big_array_aa,big_array_bb,big_array_ab,dim1,dim2,dim3,dim4,u_t,N_st,sze,1,N_det,0,1) - deallocate(u_t) - - do k=1,N_st - call dset_order(u_0(1,k),psi_bilinear_matrix_order_reverse,N_det) - enddo - -end - - -subroutine all_two_rdm_dm_nstates_work(big_array_aa,big_array_bb,big_array_ab,dim1,dim2,dim3,dim4,u_t,N_st,sze,istart,iend,ishift,istep) - use bitmasks - implicit none - BEGIN_DOC - ! Computes two-rdm - ! - ! Default should be 1,N_det,0,1 - END_DOC - integer, intent(in) :: N_st,sze,istart,iend,ishift,istep - integer, intent(in) :: dim1,dim2,dim3,dim4 - double precision, intent(inout) :: big_array_aa(dim1,dim2,dim3,dim4,N_states) - double precision, intent(inout) :: big_array_bb(dim1,dim2,dim3,dim4,N_states) - double precision, intent(inout) :: big_array_ab(dim1,dim2,dim3,dim4,N_states) - double precision, intent(in) :: u_t(N_st,N_det) - - - PROVIDE N_int - - select case (N_int) - case (1) - call all_two_rdm_dm_nstates_work_1(big_array_aa,big_array_bb,big_array_ab,dim1,dim2,dim3,dim4,u_t,N_st,sze,istart,iend,ishift,istep) - case (2) - call all_two_rdm_dm_nstates_work_2(big_array_aa,big_array_bb,big_array_ab,dim1,dim2,dim3,dim4,u_t,N_st,sze,istart,iend,ishift,istep) - case (3) - call all_two_rdm_dm_nstates_work_3(big_array_aa,big_array_bb,big_array_ab,dim1,dim2,dim3,dim4,u_t,N_st,sze,istart,iend,ishift,istep) - case (4) - call all_two_rdm_dm_nstates_work_4(big_array_aa,big_array_bb,big_array_ab,dim1,dim2,dim3,dim4,u_t,N_st,sze,istart,iend,ishift,istep) - case default - call all_two_rdm_dm_nstates_work_N_int(big_array_aa,big_array_bb,big_array_ab,dim1,dim2,dim3,dim4,u_t,N_st,sze,istart,iend,ishift,istep) - end select -end - - BEGIN_TEMPLATE - -subroutine all_two_rdm_dm_nstates_work_$N_int(big_array_aa,big_array_bb,big_array_ab,dim1,dim2,dim3,dim4,u_t,N_st,sze,istart,iend,ishift,istep) - use bitmasks - implicit none - BEGIN_DOC - ! Computes $v_t = H | u_t \\rangle$ and $s_t = S^2 | u_t \\rangle$ - ! - ! Default should be 1,N_det,0,1 - END_DOC - integer, intent(in) :: N_st,sze,istart,iend,ishift,istep - double precision, intent(in) :: u_t(N_st,N_det) - integer, intent(in) :: dim1,dim2,dim3,dim4 - double precision, intent(inout) :: big_array_aa(dim1,dim2,dim3,dim4,N_states) - double precision, intent(inout) :: big_array_bb(dim1,dim2,dim3,dim4,N_states) - double precision, intent(inout) :: big_array_ab(dim1,dim2,dim3,dim4,N_states) - - integer :: i,j,k,l - integer :: k_a, k_b, l_a, l_b, m_a, m_b - integer :: istate - integer :: krow, kcol, krow_b, kcol_b - integer :: lrow, lcol - integer :: mrow, mcol - integer(bit_kind) :: spindet($N_int) - integer(bit_kind) :: tmp_det($N_int,2) - integer(bit_kind) :: tmp_det2($N_int,2) - integer(bit_kind) :: tmp_det3($N_int,2) - integer(bit_kind), allocatable :: buffer(:,:) - integer :: n_doubles - integer, allocatable :: doubles(:) - integer, allocatable :: singles_a(:) - integer, allocatable :: singles_b(:) - integer, allocatable :: idx(:), idx0(:) - integer :: maxab, n_singles_a, n_singles_b, kcol_prev - integer*8 :: k8 - - maxab = max(N_det_alpha_unique, N_det_beta_unique)+1 - allocate(idx0(maxab)) - - do i=1,maxab - idx0(i) = i - enddo - - ! Prepare the array of all alpha single excitations - ! ------------------------------------------------- - - PROVIDE N_int nthreads_davidson - !!$OMP PARALLEL DEFAULT(NONE) NUM_THREADS(nthreads_davidson) & - ! !$OMP SHARED(psi_bilinear_matrix_rows, N_det, & - ! !$OMP psi_bilinear_matrix_columns, & - ! !$OMP psi_det_alpha_unique, psi_det_beta_unique,& - ! !$OMP n_det_alpha_unique, n_det_beta_unique, N_int,& - ! !$OMP psi_bilinear_matrix_transp_rows, & - ! !$OMP psi_bilinear_matrix_transp_columns, & - ! !$OMP psi_bilinear_matrix_transp_order, N_st, & - ! !$OMP psi_bilinear_matrix_order_transp_reverse, & - ! !$OMP psi_bilinear_matrix_columns_loc, & - ! !$OMP psi_bilinear_matrix_transp_rows_loc, & - ! !$OMP istart, iend, istep, irp_here, v_t, s_t, & - ! !$OMP ishift, idx0, u_t, maxab) & - ! !$OMP PRIVATE(krow, kcol, tmp_det, spindet, k_a, k_b, i,& - ! !$OMP lcol, lrow, l_a, l_b, & - ! !$OMP buffer, doubles, n_doubles, & - ! !$OMP tmp_det2, idx, l, kcol_prev, & - ! !$OMP singles_a, n_singles_a, singles_b, & - ! !$OMP n_singles_b, k8) - - ! Alpha/Beta double excitations - ! ============================= - - allocate( buffer($N_int,maxab), & - singles_a(maxab), & - singles_b(maxab), & - doubles(maxab), & - idx(maxab)) - - kcol_prev=-1 - - ASSERT (iend <= N_det) - ASSERT (istart > 0) - ASSERT (istep > 0) - - !!$OMP DO SCHEDULE(dynamic,64) - do k_a=istart+ishift,iend,istep - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - if (kcol /= kcol_prev) then - call get_all_spin_singles_$N_int( & - psi_det_beta_unique, idx0, & - tmp_det(1,2), N_det_beta_unique, & - singles_b, n_singles_b) - endif - kcol_prev = kcol - - ! Loop over singly excited beta columns - ! ------------------------------------- - - do i=1,n_singles_b - lcol = singles_b(i) - - tmp_det2(1:$N_int,2) = psi_det_beta_unique(1:$N_int, lcol) - - l_a = psi_bilinear_matrix_columns_loc(lcol) - ASSERT (l_a <= N_det) - - do j=1,psi_bilinear_matrix_columns_loc(lcol+1) - l_a - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - buffer(1:$N_int,j) = psi_det_alpha_unique(1:$N_int, lrow) - - ASSERT (l_a <= N_det) - idx(j) = l_a - l_a = l_a+1 - enddo - j = j-1 - - call get_all_spin_singles_$N_int( & - buffer, idx, tmp_det(1,1), j, & - singles_a, n_singles_a ) - - ! Loop over alpha singles - ! ----------------------- - - do k = 1,n_singles_a - l_a = singles_a(k) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - !call i_H_j_double_alpha_beta(tmp_det,tmp_det2,$N_int,hij) - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - enddo - call off_diagonal_double_to_two_rdm_ab_dm(tmp_det,tmp_det2,c_1,c_2,big_array_ab,dim1,dim2,dim3,dim4) - enddo - - enddo - - enddo - ! !$OMP END DO - - ! !$OMP DO SCHEDULE(dynamic,64) - do k_a=istart+ishift,iend,istep - - - ! Single and double alpha exitations - ! =================================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - ! Initial determinant is at k_b in beta-major representation - ! ---------------------------------------------------------------------- - - k_b = psi_bilinear_matrix_order_transp_reverse(k_a) - ASSERT (k_b <= N_det) - - spindet(1:$N_int) = tmp_det(1:$N_int,1) - - ! Loop inside the beta column to gather all the connected alphas - lcol = psi_bilinear_matrix_columns(k_a) - l_a = psi_bilinear_matrix_columns_loc(lcol) - do i=1,N_det_alpha_unique - if (l_a > N_det) exit - lcol = psi_bilinear_matrix_columns(l_a) - if (lcol /= kcol) exit - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - buffer(1:$N_int,i) = psi_det_alpha_unique(1:$N_int, lrow) - idx(i) = l_a - l_a = l_a+1 - enddo - i = i-1 - - call get_all_spin_singles_and_doubles_$N_int( & - buffer, idx, spindet, i, & - singles_a, doubles, n_singles_a, n_doubles ) - - ! Compute Hij for all alpha singles - ! ---------------------------------- - - tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - do i=1,n_singles_a - l_a = singles_a(i) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - enddo - ! increment the alpha/beta part for single excitations - call off_diagonal_single_to_two_rdm_ab_dm(tmp_det, tmp_det2,c_1,c_2,big_array_ab,dim1,dim2,dim3,dim4) - ! increment the alpha/alpha part for single excitations - call off_diagonal_single_to_two_rdm_aa_dm(tmp_det,tmp_det2,c_1,c_2,big_array_aa,dim1,dim2,dim3,dim4) - - enddo - - - ! Compute Hij for all alpha doubles - ! ---------------------------------- - - do i=1,n_doubles - l_a = doubles(i) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - enddo - call off_diagonal_double_to_two_rdm_aa_dm(tmp_det(1,1),psi_det_alpha_unique(1, lrow),c_1,c_2,big_array_aa,dim1,dim2,dim3,dim4) - enddo - - - ! Single and double beta excitations - ! ================================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - kcol = psi_bilinear_matrix_columns(k_a) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - spindet(1:$N_int) = tmp_det(1:$N_int,2) - - ! Initial determinant is at k_b in beta-major representation - ! ----------------------------------------------------------------------- - - k_b = psi_bilinear_matrix_order_transp_reverse(k_a) - ASSERT (k_b <= N_det) - - ! Loop inside the alpha row to gather all the connected betas - lrow = psi_bilinear_matrix_transp_rows(k_b) - l_b = psi_bilinear_matrix_transp_rows_loc(lrow) - do i=1,N_det_beta_unique - if (l_b > N_det) exit - lrow = psi_bilinear_matrix_transp_rows(l_b) - if (lrow /= krow) exit - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - buffer(1:$N_int,i) = psi_det_beta_unique(1:$N_int, lcol) - idx(i) = l_b - l_b = l_b+1 - enddo - i = i-1 - - call get_all_spin_singles_and_doubles_$N_int( & - buffer, idx, spindet, i, & - singles_b, doubles, n_singles_b, n_doubles ) - - ! Compute Hij for all beta singles - ! ---------------------------------- - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - do i=1,n_singles_b - l_b = singles_b(i) - ASSERT (l_b <= N_det) - - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, lcol) - l_a = psi_bilinear_matrix_transp_order(l_b) - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - enddo - ! increment the alpha/beta part for single excitations - call off_diagonal_single_to_two_rdm_ab_dm(tmp_det, tmp_det2,c_1,c_2,big_array_ab,dim1,dim2,dim3,dim4) - ! increment the beta /beta part for single excitations - call off_diagonal_single_to_two_rdm_bb_dm(tmp_det, tmp_det2,c_1,c_2,big_array_bb,dim1,dim2,dim3,dim4) - enddo - - ! Compute Hij for all beta doubles - ! ---------------------------------- - - do i=1,n_doubles - l_b = doubles(i) - ASSERT (l_b <= N_det) - - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - l_a = psi_bilinear_matrix_transp_order(l_b) - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - enddo - call off_diagonal_double_to_two_rdm_bb_dm(tmp_det(1,2),psi_det_beta_unique(1, lcol),c_1,c_2,big_array_bb,dim1,dim2,dim3,dim4) - ASSERT (l_a <= N_det) - - enddo - - - ! Diagonal contribution - ! ===================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - double precision, external :: diag_wee_mat_elem, diag_S_mat_elem - - double precision :: c_1(N_states),c_2(N_states) - do l = 1, N_states - c_1(l) = u_t(l,k_a) - enddo - - call diagonal_contrib_to_all_two_rdm_dm(tmp_det,c_1,big_array_aa,big_array_bb,big_array_ab,dim1,dim2,dim3,dim4) - - end do - !!$OMP END DO - deallocate(buffer, singles_a, singles_b, doubles, idx) - !!$OMP END PARALLEL - -end - - SUBST [ N_int ] - - 1;; - 2;; - 3;; - 4;; - N_int;; - - END_TEMPLATE - diff --git a/src/two_body_rdm/all_states_routines.irp.f b/src/two_body_rdm/all_states_act_2_rdm_dav_routines.irp.f similarity index 100% rename from src/two_body_rdm/all_states_routines.irp.f rename to src/two_body_rdm/all_states_act_2_rdm_dav_routines.irp.f diff --git a/src/two_body_rdm/all_states_2_rdm.irp.f b/src/two_body_rdm/all_states_act_2_rdm_prov.irp.f similarity index 64% rename from src/two_body_rdm/all_states_2_rdm.irp.f rename to src/two_body_rdm/all_states_act_2_rdm_prov.irp.f index bc503223..fc6e4224 100644 --- a/src/two_body_rdm/all_states_2_rdm.irp.f +++ b/src/two_body_rdm/all_states_act_2_rdm_prov.irp.f @@ -5,8 +5,11 @@ implicit none double precision, allocatable :: state_weights(:) BEGIN_DOC -! all_states_act_two_rdm_alpha_alpha_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-alpha electron pairs -! = +! all_states_act_two_rdm_alpha_alpha_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" END_DOC allocate(state_weights(N_states)) state_weights = 1.d0/dble(N_states) @@ -20,11 +23,14 @@ BEGIN_PROVIDER [double precision, all_states_act_two_rdm_beta_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] implicit none - double precision, allocatable :: state_weights(:) BEGIN_DOC -! all_states_act_two_rdm_beta_beta_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for beta-beta electron pairs -! = +! all_states_act_two_rdm_beta_beta_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" END_DOC + double precision, allocatable :: state_weights(:) allocate(state_weights(N_states)) state_weights = 1.d0/dble(N_states) integer :: ispin @@ -39,8 +45,11 @@ implicit none double precision, allocatable :: state_weights(:) BEGIN_DOC -! all_states_act_two_rdm_alpha_beta_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-beta electron pairs -! = +! all_states_act_two_rdm_alpha_beta_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" END_DOC allocate(state_weights(N_states)) state_weights = 1.d0/dble(N_states) @@ -61,10 +70,15 @@ BEGIN_PROVIDER [double precision, all_states_act_two_rdm_spin_trace_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] implicit none BEGIN_DOC -! all_states_act_two_rdm_spin_trace_mo(i,j,k,l) = state average physicist spin trace two-body rdm restricted to the ACTIVE indices -! The active part of the two-electron energy can be computed as: +! all_states_act_two_rdm_spin_trace_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM +! +! \sum_{\sigma, \sigma'} ! -! \sum_{i,j,k,l = 1, n_act_orb} all_states_act_two_rdm_spin_trace_mo(i,j,k,l) * < ii jj | kk ll > +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! The active part of the two-electron energy for the state istate can be computed as: +! +! \sum_{i,j,k,l = 1, n_act_orb} all_states_act_two_rdm_spin_trace_mo(i,j,k,l,istate) * < ii jj | kk ll > ! ! with ii = list_act(i), jj = list_act(j), kk = list_act(k), ll = list_act(l) END_DOC diff --git a/src/two_body_rdm/compute_all_states.irp.f b/src/two_body_rdm/all_states_act_2_rdm_update_routines.irp.f similarity index 100% rename from src/two_body_rdm/compute_all_states.irp.f rename to src/two_body_rdm/all_states_act_2_rdm_update_routines.irp.f diff --git a/src/two_body_rdm/compute.irp.f b/src/two_body_rdm/compute.irp.f deleted file mode 100644 index 112d2e36..00000000 --- a/src/two_body_rdm/compute.irp.f +++ /dev/null @@ -1,269 +0,0 @@ - - - subroutine diagonal_contrib_to_two_rdm_ab_dm(det_1,c_1,big_array,dim1,dim2,dim3,dim4) - use bitmasks - BEGIN_DOC -! routine that update the DIAGONAL PART of the alpha/beta two body rdm IN CHEMIST NOTATIONS - END_DOC - implicit none - integer, intent(in) :: dim1,dim2,dim3,dim4 - double precision, intent(inout) :: big_array(dim1,dim2,dim3,dim4,N_states) - integer(bit_kind), intent(in) :: det_1(N_int,2) - double precision, intent(in) :: c_1(N_states) - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,istate - double precision :: c_1_bis - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - do istate = 1, N_states - c_1_bis = c_1(istate) * c_1(istate) - do i = 1, n_occ_ab(1) - h1 = occ(i,1) - do j = 1, n_occ_ab(2) - h2 = occ(j,2) - big_array(h1,h1,h2,h2,istate) += c_1_bis - enddo - enddo - enddo - end - - - subroutine diagonal_contrib_to_all_two_rdm_dm(det_1,c_1,big_array_aa,big_array_bb,big_array_ab,dim1,dim2,dim3,dim4) - use bitmasks - BEGIN_DOC -! routine that update the DIAGONAL PART of ALL THREE two body rdm IN CHEMIST NOTATIONS - END_DOC - implicit none - integer, intent(in) :: dim1,dim2,dim3,dim4 - double precision, intent(inout) :: big_array_ab(dim1,dim2,dim3,dim4,N_states) - double precision, intent(inout) :: big_array_aa(dim1,dim2,dim3,dim4,N_states) - double precision, intent(inout) :: big_array_bb(dim1,dim2,dim3,dim4,N_states) - integer(bit_kind), intent(in) :: det_1(N_int,2) - double precision, intent(in) :: c_1(N_states) - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,istate - double precision :: c_1_bis - BEGIN_DOC -! no factor 1/2 have to be taken into account as the permutations are already taken into account - END_DOC - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - do istate = 1, N_states - c_1_bis = c_1(istate) * c_1(istate) - do i = 1, n_occ_ab(1) - h1 = occ(i,1) - do j = 1, n_occ_ab(2) - h2 = occ(j,2) - big_array_ab(h1,h1,h2,h2,istate) += c_1_bis - enddo - do j = 1, n_occ_ab(1) - h2 = occ(j,1) - big_array_aa(h1,h1,h2,h2,istate) += 0.5d0 * c_1_bis - big_array_aa(h1,h2,h2,h1,istate) -= 0.5d0 * c_1_bis - enddo - enddo - do i = 1, n_occ_ab(2) - h1 = occ(i,2) - do j = 1, n_occ_ab(2) - h2 = occ(j,2) - big_array_bb(h1,h1,h2,h2,istate) += 0.5d0 * c_1_bis - big_array_bb(h1,h2,h2,h1,istate) -= 0.5d0 * c_1_bis - enddo - enddo - enddo - end - - - subroutine off_diagonal_double_to_two_rdm_ab_dm(det_1,det_2,c_1,c_2,big_array,dim1,dim2,dim3,dim4) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the alpha/beta 2RDM only for DOUBLE EXCITATIONS IN CHEMIST NOTATIONS - END_DOC - implicit none - integer, intent(in) :: dim1,dim2,dim3,dim4 - double precision, intent(inout) :: big_array(dim1,dim2,dim3,dim4,N_states) - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - double precision, intent(in) :: c_1(N_states),c_2(N_states) - integer :: i,j,h1,h2,p1,p2,istate - integer :: exc(0:2,2,2) - double precision :: phase - call get_double_excitation(det_1,det_2,exc,phase,N_int) - h1 = exc(1,1,1) - h2 = exc(1,1,2) - p1 = exc(1,2,1) - p2 = exc(1,2,2) - do istate = 1, N_states - big_array(h1,p1,h2,p2,istate) += c_1(istate) * phase * c_2(istate) -! big_array(p1,h1,p2,h2,istate) += c_1(istate) * phase * c_2(istate) - enddo - end - - subroutine off_diagonal_single_to_two_rdm_ab_dm(det_1,det_2,c_1,c_2,big_array,dim1,dim2,dim3,dim4) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the alpha/beta 2RDM only for SINGLE EXCITATIONS IN CHEMIST NOTATIONS - END_DOC - implicit none - integer, intent(in) :: dim1,dim2,dim3,dim4 - double precision, intent(inout) :: big_array(dim1,dim2,dim3,dim4,N_states) - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - double precision, intent(in) :: c_1(N_states),c_2(N_states) - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,istate,p1 - integer :: exc(0:2,2,2) - double precision :: phase - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - call get_single_excitation(det_1,det_2,exc,phase,N_int) - if (exc(0,1,1) == 1) then - ! Mono alpha - h1 = exc(1,1,1) - p1 = exc(1,2,1) - do istate = 1, N_states - do i = 1, n_occ_ab(2) - h2 = occ(i,2) - big_array(h1,p1,h2,h2,istate) += 1.d0 * c_1(istate) * c_2(istate) * phase - enddo - enddo - else - ! Mono beta - h1 = exc(1,1,2) - p1 = exc(1,2,2) - do istate = 1, N_states - do i = 1, n_occ_ab(1) - h2 = occ(i,1) - big_array(h2,h2,h1,p1,istate) += 1.d0 * c_1(istate) * c_2(istate) * phase - enddo - enddo - endif - end - - subroutine off_diagonal_single_to_two_rdm_aa_dm(det_1,det_2,c_1,c_2,big_array,dim1,dim2,dim3,dim4) - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the alpha/alpha 2RDM only for SINGLE EXCITATIONS IN CHEMIST NOTATIONS - END_DOC - use bitmasks - implicit none - integer, intent(in) :: dim1,dim2,dim3,dim4 - double precision, intent(inout) :: big_array(dim1,dim2,dim3,dim4,N_states) - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - double precision, intent(in) :: c_1(N_states),c_2(N_states) - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,istate,p1 - integer :: exc(0:2,2,2) - double precision :: phase - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - call get_single_excitation(det_1,det_2,exc,phase,N_int) - if (exc(0,1,1) == 1) then - ! Mono alpha - h1 = exc(1,1,1) - p1 = exc(1,2,1) - do istate = 1, N_states - do i = 1, n_occ_ab(1) - h2 = occ(i,1) - big_array(h1,p1,h2,h2,istate) += 0.5d0 * c_1(istate) * c_2(istate) * phase - big_array(h1,h2,h2,p1,istate) -= 0.5d0 * c_1(istate) * c_2(istate) * phase - - big_array(h2,h2,h1,p1,istate) += 0.5d0 * c_1(istate) * c_2(istate) * phase - big_array(h2,p1,h1,h2,istate) -= 0.5d0 * c_1(istate) * c_2(istate) * phase - enddo - enddo - else - return - endif - end - - subroutine off_diagonal_single_to_two_rdm_bb_dm(det_1,det_2,c_1,c_2,big_array,dim1,dim2,dim3,dim4) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the beta /beta 2RDM only for SINGLE EXCITATIONS IN CHEMIST NOTATIONS - END_DOC - implicit none - integer, intent(in) :: dim1,dim2,dim3,dim4 - double precision, intent(inout) :: big_array(dim1,dim2,dim3,dim4,N_states) - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - double precision, intent(in) :: c_1(N_states),c_2(N_states) - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,istate,p1 - integer :: exc(0:2,2,2) - double precision :: phase - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - call get_single_excitation(det_1,det_2,exc,phase,N_int) - if (exc(0,1,1) == 1) then - return - else - ! Mono beta - h1 = exc(1,1,2) - p1 = exc(1,2,2) - do istate = 1, N_states - do i = 1, n_occ_ab(2) - h2 = occ(i,2) - big_array(h1,p1,h2,h2,istate) += 0.5d0 * c_1(istate) * c_2(istate) * phase - big_array(h1,h2,h2,p1,istate) -= 0.5d0 * c_1(istate) * c_2(istate) * phase - - big_array(h2,h2,h1,p1,istate) += 0.5d0 * c_1(istate) * c_2(istate) * phase - big_array(h2,p1,h1,h2,istate) -= 0.5d0 * c_1(istate) * c_2(istate) * phase - enddo - enddo - endif - end - - - subroutine off_diagonal_double_to_two_rdm_aa_dm(det_1,det_2,c_1,c_2,big_array,dim1,dim2,dim3,dim4) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the alpha/alpha 2RDM only for DOUBLE EXCITATIONS IN CHEMIST NOTATIONS - END_DOC - implicit none - integer, intent(in) :: dim1,dim2,dim3,dim4 - double precision, intent(inout) :: big_array(dim1,dim2,dim3,dim4,N_states) - integer(bit_kind), intent(in) :: det_1(N_int),det_2(N_int) - double precision, intent(in) :: c_1(N_states),c_2(N_states) - integer :: i,j,h1,h2,p1,p2,istate - integer :: exc(0:2,2) - double precision :: phase - call get_double_excitation_spin(det_1,det_2,exc,phase,N_int) - h1 =exc(1,1) - h2 =exc(2,1) - p1 =exc(1,2) - p2 =exc(2,2) -!print*,'h1,p1,h2,p2',h1,p1,h2,p2,c_1(istate) * phase * c_2(istate) - do istate = 1, N_states - big_array(h1,p1,h2,p2,istate) += 0.5d0 * c_1(istate) * phase * c_2(istate) - big_array(h1,p2,h2,p1,istate) -= 0.5d0 * c_1(istate) * phase * c_2(istate) - - big_array(h2,p2,h1,p1,istate) += 0.5d0 * c_1(istate) * phase * c_2(istate) - big_array(h2,p1,h1,p2,istate) -= 0.5d0 * c_1(istate) * phase * c_2(istate) - enddo - end - - subroutine off_diagonal_double_to_two_rdm_bb_dm(det_1,det_2,c_1,c_2,big_array,dim1,dim2,dim3,dim4) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the beta /beta 2RDM only for DOUBLE EXCITATIONS - END_DOC - implicit none - integer, intent(in) :: dim1,dim2,dim3,dim4 - double precision, intent(inout) :: big_array(dim1,dim2,dim3,dim4,N_states) - integer(bit_kind), intent(in) :: det_1(N_int),det_2(N_int) - double precision, intent(in) :: c_1(N_states),c_2(N_states) - integer :: i,j,h1,h2,p1,p2,istate - integer :: exc(0:2,2) - double precision :: phase - call get_double_excitation_spin(det_1,det_2,exc,phase,N_int) - h1 =exc(1,1) - h2 =exc(2,1) - p1 =exc(1,2) - p2 =exc(2,2) -!print*,'h1,p1,h2,p2',h1,p1,h2,p2,c_1(istate) * phase * c_2(istate) - do istate = 1, N_states - big_array(h1,p1,h2,p2,istate) += 0.5d0 * c_1(istate) * phase * c_2(istate) - big_array(h1,p2,h2,p1,istate) -= 0.5d0 * c_1(istate) * phase * c_2(istate) - - big_array(h2,p2,h1,p1,istate) += 0.5d0 * c_1(istate) * phase * c_2(istate) - big_array(h2,p1,h1,p2,istate) -= 0.5d0 * c_1(istate) * phase * c_2(istate) - enddo - end - diff --git a/src/two_body_rdm/compute_orb_range_omp.irp.f b/src/two_body_rdm/compute_orb_range_omp.irp.f deleted file mode 100644 index 0ba934d7..00000000 --- a/src/two_body_rdm/compute_orb_range_omp.irp.f +++ /dev/null @@ -1,807 +0,0 @@ - subroutine orb_range_diag_to_all_two_rdm_dm_buffer(det_1,c_1,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - use bitmasks - BEGIN_DOC - ! routine that update the DIAGONAL PART of the two body rdms in a specific range of orbitals for a given determinant det_1 - ! - ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 - ! - ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals - ! - ! ispin determines which spin-spin component of the two-rdm you will update - ! - ! ispin == 1 :: alpha/ alpha - ! ispin == 2 :: beta / beta - ! ispin == 3 :: alpha/ beta - ! ispin == 4 :: spin traced <=> total two-rdm - END_DOC - implicit none - integer, intent(in) :: ispin,sze_buff - integer, intent(in) :: list_orb_reverse(mo_num) - integer(bit_kind), intent(in) :: det_1(N_int,2) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - double precision, intent(in) :: c_1 - double precision, intent(out) :: values(sze_buff) - integer , intent(out) :: keys(4,sze_buff) - integer , intent(inout):: nkeys - - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2 - integer(bit_kind) :: det_1_act(N_int,2) - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - do i = 1, N_int - det_1_act(i,1) = iand(det_1(i,1),orb_bitmask(i)) - det_1_act(i,2) = iand(det_1(i,2),orb_bitmask(i)) - enddo - - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - call bitstring_to_list_ab(det_1_act, occ, n_occ_ab, N_int) - logical :: is_integer_in_string - integer :: i1,i2 - if(alpha_beta)then - do i = 1, n_occ_ab(1) - i1 = occ(i,1) - do j = 1, n_occ_ab(2) - i2 = occ(j,2) - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - nkeys += 1 - values(nkeys) = c_1 - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = h1 - keys(4,nkeys) = h2 - enddo - enddo - else if (alpha_alpha)then - do i = 1, n_occ_ab(1) - i1 = occ(i,1) - do j = 1, n_occ_ab(1) - i2 = occ(j,1) - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = h1 - keys(4,nkeys) = h2 - nkeys += 1 - values(nkeys) = -0.5d0 * c_1 - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = h2 - keys(4,nkeys) = h1 - enddo - enddo - else if (beta_beta)then - do i = 1, n_occ_ab(2) - i1 = occ(i,2) - do j = 1, n_occ_ab(2) - i2 = occ(j,2) - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = h1 - keys(4,nkeys) = h2 - nkeys += 1 - values(nkeys) = -0.5d0 * c_1 - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = h2 - keys(4,nkeys) = h1 - enddo - enddo - else if(spin_trace)then - ! 0.5 * (alpha beta + beta alpha) - do i = 1, n_occ_ab(1) - i1 = occ(i,1) - do j = 1, n_occ_ab(2) - i2 = occ(j,2) - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = h1 - keys(4,nkeys) = h2 - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 - keys(1,nkeys) = h2 - keys(2,nkeys) = h1 - keys(3,nkeys) = h2 - keys(4,nkeys) = h1 - enddo - enddo - do i = 1, n_occ_ab(1) - i1 = occ(i,1) - do j = 1, n_occ_ab(1) - i2 = occ(j,1) - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = h1 - keys(4,nkeys) = h2 - nkeys += 1 - values(nkeys) = -0.5d0 * c_1 - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = h2 - keys(4,nkeys) = h1 - enddo - enddo - do i = 1, n_occ_ab(2) - i1 = occ(i,2) - do j = 1, n_occ_ab(2) - i2 = occ(j,2) - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = h1 - keys(4,nkeys) = h2 - nkeys += 1 - values(nkeys) = -0.5d0 * c_1 - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = h2 - keys(4,nkeys) = h1 - enddo - enddo - endif - end - - - subroutine orb_range_off_diag_double_to_two_rdm_ab_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for -! -! a given couple of determinant det_1, det_2 being a alpha/beta DOUBLE excitation with respect to one another -! -! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 -! -! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals -! -! ispin determines which spin-spin component of the two-rdm you will update -! -! ispin == 1 :: alpha/ alpha -! ispin == 2 :: beta / beta -! ispin == 3 :: alpha/ beta -! ispin == 4 :: spin traced <=> total two-rdm -! -! here, only ispin == 3 or 4 will do something - END_DOC - implicit none - integer, intent(in) :: ispin,sze_buff - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1 - double precision, intent(out) :: values(sze_buff) - integer , intent(out) :: keys(4,sze_buff) - integer , intent(inout):: nkeys - integer :: i,j,h1,h2,p1,p2 - integer :: exc(0:2,2,2) - double precision :: phase - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - call get_double_excitation(det_1,det_2,exc,phase,N_int) - h1 = exc(1,1,1) - if(list_orb_reverse(h1).lt.0)return - h1 = list_orb_reverse(h1) - h2 = exc(1,1,2) - if(list_orb_reverse(h2).lt.0)return - h2 = list_orb_reverse(h2) - p1 = exc(1,2,1) - if(list_orb_reverse(p1).lt.0)return - p1 = list_orb_reverse(p1) - p2 = exc(1,2,2) - if(list_orb_reverse(p2).lt.0)return - p2 = list_orb_reverse(p2) - if(alpha_beta)then - nkeys += 1 - values(nkeys) = c_1 * phase - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = p1 - keys(4,nkeys) = p2 - else if(spin_trace)then - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = p1 - keys(4,nkeys) = p2 - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase - keys(1,nkeys) = p1 - keys(2,nkeys) = p2 - keys(3,nkeys) = h1 - keys(4,nkeys) = h2 - endif - end - - subroutine orb_range_off_diag_single_to_two_rdm_ab_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - use bitmasks - BEGIN_DOC - ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for - ! - ! a given couple of determinant det_1, det_2 being a SINGLE excitation with respect to one another - ! - ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 - ! - ! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation - ! - ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals - ! - ! ispin determines which spin-spin component of the two-rdm you will update - ! - ! ispin == 1 :: alpha/ alpha - ! ispin == 2 :: beta / beta - ! ispin == 3 :: alpha/ beta - ! ispin == 4 :: spin traced <=> total two-rdm - ! - ! here, only ispin == 3 or 4 will do something - END_DOC - implicit none - integer, intent(in) :: ispin,sze_buff - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1 - double precision, intent(out) :: values(sze_buff) - integer , intent(out) :: keys(4,sze_buff) - integer , intent(inout):: nkeys - - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,p1 - integer :: exc(0:2,2,2) - double precision :: phase - - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - call get_single_excitation(det_1,det_2,exc,phase,N_int) - if(alpha_beta)then - if (exc(0,1,1) == 1) then - ! Mono alpha - h1 = exc(1,1,1) - if(list_orb_reverse(h1).lt.0)return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,1) - if(list_orb_reverse(p1).lt.0)return - p1 = list_orb_reverse(p1) - do i = 1, n_occ_ab(2) - h2 = occ(i,2) - if(list_orb_reverse(h2).lt.0)return - h2 = list_orb_reverse(h2) - nkeys += 1 - values(nkeys) = c_1 * phase - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = p1 - keys(4,nkeys) = h2 - enddo - else - ! Mono beta - h1 = exc(1,1,2) - if(list_orb_reverse(h1).lt.0)return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,2) - if(list_orb_reverse(p1).lt.0)return - p1 = list_orb_reverse(p1) - do i = 1, n_occ_ab(1) - h2 = occ(i,1) - if(list_orb_reverse(h2).lt.0)return - h2 = list_orb_reverse(h2) - nkeys += 1 - values(nkeys) = c_1 * phase - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = p1 - keys(4,nkeys) = h2 - enddo - endif - else if(spin_trace)then - if (exc(0,1,1) == 1) then - ! Mono alpha - h1 = exc(1,1,1) - if(list_orb_reverse(h1).lt.0)return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,1) - if(list_orb_reverse(p1).lt.0)return - p1 = list_orb_reverse(p1) - do i = 1, n_occ_ab(2) - h2 = occ(i,2) - if(list_orb_reverse(h2).lt.0)return - h2 = list_orb_reverse(h2) - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = p1 - keys(4,nkeys) = h2 - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase - keys(1,nkeys) = h2 - keys(2,nkeys) = h1 - keys(3,nkeys) = h2 - keys(4,nkeys) = p1 - enddo - else - ! Mono beta - h1 = exc(1,1,2) - if(list_orb_reverse(h1).lt.0)return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,2) - if(list_orb_reverse(p1).lt.0)return - p1 = list_orb_reverse(p1) - !print*,'****************' - !print*,'****************' - !print*,'h1,p1',h1,p1 - do i = 1, n_occ_ab(1) - h2 = occ(i,1) - if(list_orb_reverse(h2).lt.0)return - h2 = list_orb_reverse(h2) - ! print*,'h2 = ',h2 - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = p1 - keys(4,nkeys) = h2 - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase - keys(1,nkeys) = h2 - keys(2,nkeys) = h1 - keys(3,nkeys) = h2 - keys(4,nkeys) = p1 - enddo - endif - endif - end - - subroutine orb_range_off_diag_single_to_two_rdm_aa_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - BEGIN_DOC - ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for - ! - ! a given couple of determinant det_1, det_2 being a ALPHA SINGLE excitation with respect to one another - ! - ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 - ! - ! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation - ! - ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals - ! - ! ispin determines which spin-spin component of the two-rdm you will update - ! - ! ispin == 1 :: alpha/ alpha - ! ispin == 2 :: beta / beta - ! ispin == 3 :: alpha/ beta - ! ispin == 4 :: spin traced <=> total two-rdm - ! - ! here, only ispin == 1 or 4 will do something - END_DOC - use bitmasks - implicit none - integer, intent(in) :: ispin,sze_buff - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1 - double precision, intent(out) :: values(sze_buff) - integer , intent(out) :: keys(4,sze_buff) - integer , intent(inout):: nkeys - - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,p1 - integer :: exc(0:2,2,2) - double precision :: phase - - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - call get_single_excitation(det_1,det_2,exc,phase,N_int) - if(alpha_alpha.or.spin_trace)then - if (exc(0,1,1) == 1) then - ! Mono alpha - h1 = exc(1,1,1) - if(list_orb_reverse(h1).lt.0)return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,1) - if(list_orb_reverse(p1).lt.0)return - p1 = list_orb_reverse(p1) - do i = 1, n_occ_ab(1) - h2 = occ(i,1) - if(list_orb_reverse(h2).lt.0)return - h2 = list_orb_reverse(h2) - - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = p1 - keys(4,nkeys) = h2 - - nkeys += 1 - values(nkeys) = - 0.5d0 * c_1 * phase - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = h2 - keys(4,nkeys) = p1 - - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase - keys(1,nkeys) = h2 - keys(2,nkeys) = h1 - keys(3,nkeys) = h2 - keys(4,nkeys) = p1 - - nkeys += 1 - values(nkeys) = - 0.5d0 * c_1 * phase - keys(1,nkeys) = h2 - keys(2,nkeys) = h1 - keys(3,nkeys) = p1 - keys(4,nkeys) = h2 - enddo - else - return - endif - endif - end - - subroutine orb_range_off_diag_single_to_two_rdm_bb_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - use bitmasks - BEGIN_DOC - ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for - ! - ! a given couple of determinant det_1, det_2 being a BETA SINGLE excitation with respect to one another - ! - ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 - ! - ! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation - ! - ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals - ! - ! ispin determines which spin-spin component of the two-rdm you will update - ! - ! ispin == 1 :: alpha/ alpha - ! ispin == 2 :: beta / beta - ! ispin == 3 :: alpha/ beta - ! ispin == 4 :: spin traced <=> total two-rdm - ! - ! here, only ispin == 2 or 4 will do something - END_DOC - implicit none - integer, intent(in) :: ispin,sze_buff - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1 - double precision, intent(out) :: values(sze_buff) - integer , intent(out) :: keys(4,sze_buff) - integer , intent(inout):: nkeys - - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,p1 - integer :: exc(0:2,2,2) - double precision :: phase - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - - - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - call get_single_excitation(det_1,det_2,exc,phase,N_int) - if(beta_beta.or.spin_trace)then - if (exc(0,1,1) == 1) then - return - else - ! Mono beta - h1 = exc(1,1,2) - if(list_orb_reverse(h1).lt.0)return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,2) - if(list_orb_reverse(p1).lt.0)return - p1 = list_orb_reverse(p1) - do i = 1, n_occ_ab(2) - h2 = occ(i,2) - if(list_orb_reverse(h2).lt.0)return - h2 = list_orb_reverse(h2) - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = p1 - keys(4,nkeys) = h2 - - nkeys += 1 - values(nkeys) = - 0.5d0 * c_1 * phase - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = h2 - keys(4,nkeys) = p1 - - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase - keys(1,nkeys) = h2 - keys(2,nkeys) = h1 - keys(3,nkeys) = h2 - keys(4,nkeys) = p1 - - nkeys += 1 - values(nkeys) = - 0.5d0 * c_1 * phase - keys(1,nkeys) = h2 - keys(2,nkeys) = h1 - keys(3,nkeys) = p1 - keys(4,nkeys) = h2 - enddo - endif - endif - end - - - subroutine orb_range_off_diag_double_to_two_rdm_aa_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - use bitmasks - BEGIN_DOC - ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for - ! - ! a given couple of determinant det_1, det_2 being a ALPHA/ALPHA DOUBLE excitation with respect to one another - ! - ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 - ! - ! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation - ! - ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals - ! - ! ispin determines which spin-spin component of the two-rdm you will update - ! - ! ispin == 1 :: alpha/ alpha - ! ispin == 2 :: beta / beta - ! ispin == 3 :: alpha/ beta - ! ispin == 4 :: spin traced <=> total two-rdm - ! - ! here, only ispin == 1 or 4 will do something - END_DOC - implicit none - integer, intent(in) :: ispin,sze_buff - integer(bit_kind), intent(in) :: det_1(N_int),det_2(N_int) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1 - double precision, intent(out) :: values(sze_buff) - integer , intent(out) :: keys(4,sze_buff) - integer , intent(inout):: nkeys - - - integer :: i,j,h1,h2,p1,p2 - integer :: exc(0:2,2) - double precision :: phase - - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - call get_double_excitation_spin(det_1,det_2,exc,phase,N_int) - h1 =exc(1,1) - if(list_orb_reverse(h1).lt.0)return - h1 = list_orb_reverse(h1) - h2 =exc(2,1) - if(list_orb_reverse(h2).lt.0)return - h2 = list_orb_reverse(h2) - p1 =exc(1,2) - if(list_orb_reverse(p1).lt.0)return - p1 = list_orb_reverse(p1) - p2 =exc(2,2) - if(list_orb_reverse(p2).lt.0)return - p2 = list_orb_reverse(p2) - if(alpha_alpha.or.spin_trace)then - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = p1 - keys(4,nkeys) = p2 - - nkeys += 1 - values(nkeys) = - 0.5d0 * c_1 * phase - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = p2 - keys(4,nkeys) = p1 - - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase - keys(1,nkeys) = h2 - keys(2,nkeys) = h1 - keys(3,nkeys) = p2 - keys(4,nkeys) = p1 - - nkeys += 1 - values(nkeys) = - 0.5d0 * c_1 * phase - keys(1,nkeys) = h2 - keys(2,nkeys) = h1 - keys(3,nkeys) = p1 - keys(4,nkeys) = p2 - endif - end - - subroutine orb_range_off_diag_double_to_two_rdm_bb_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - use bitmasks - BEGIN_DOC - ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for - ! - ! a given couple of determinant det_1, det_2 being a BETA /BETA DOUBLE excitation with respect to one another - ! - ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 - ! - ! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation - ! - ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals - ! - ! ispin determines which spin-spin component of the two-rdm you will update - ! - ! ispin == 1 :: alpha/ alpha - ! ispin == 2 :: beta / beta - ! ispin == 3 :: alpha/ beta - ! ispin == 4 :: spin traced <=> total two-rdm - ! - ! here, only ispin == 2 or 4 will do something - END_DOC - implicit none - - integer, intent(in) :: ispin,sze_buff - integer(bit_kind), intent(in) :: det_1(N_int),det_2(N_int) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1 - double precision, intent(out) :: values(sze_buff) - integer , intent(out) :: keys(4,sze_buff) - integer , intent(inout):: nkeys - - integer :: i,j,h1,h2,p1,p2 - integer :: exc(0:2,2) - double precision :: phase - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - - call get_double_excitation_spin(det_1,det_2,exc,phase,N_int) - h1 =exc(1,1) - if(list_orb_reverse(h1).lt.0)return - h1 = list_orb_reverse(h1) - h2 =exc(2,1) - if(list_orb_reverse(h2).lt.0)return - h2 = list_orb_reverse(h2) - p1 =exc(1,2) - if(list_orb_reverse(p1).lt.0)return - p1 = list_orb_reverse(p1) - p2 =exc(2,2) - if(list_orb_reverse(p2).lt.0)return - p2 = list_orb_reverse(p2) - if(beta_beta.or.spin_trace)then - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = p1 - keys(4,nkeys) = p2 - - nkeys += 1 - values(nkeys) = - 0.5d0 * c_1 * phase - keys(1,nkeys) = h1 - keys(2,nkeys) = h2 - keys(3,nkeys) = p2 - keys(4,nkeys) = p1 - - nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase - keys(1,nkeys) = h2 - keys(2,nkeys) = h1 - keys(3,nkeys) = p2 - keys(4,nkeys) = p1 - - nkeys += 1 - values(nkeys) = - 0.5d0 * c_1 * phase - keys(1,nkeys) = h2 - keys(2,nkeys) = h1 - keys(3,nkeys) = p1 - keys(4,nkeys) = p2 - endif - end - diff --git a/src/two_body_rdm/orb_range_omp.irp.f b/src/two_body_rdm/orb_range_omp.irp.f deleted file mode 100644 index baa26ced..00000000 --- a/src/two_body_rdm/orb_range_omp.irp.f +++ /dev/null @@ -1,85 +0,0 @@ - - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_openmp_alpha_alpha_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] - implicit none - double precision, allocatable :: state_weights(:) - BEGIN_DOC -! state_av_act_two_rdm_openmp_alpha_alpha_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-alpha electron pairs -! = - END_DOC - allocate(state_weights(N_states)) - state_weights = state_average_weight - integer :: ispin - ! condition for alpha/beta spin - ispin = 1 - state_av_act_two_rdm_openmp_alpha_alpha_mo = 0.D0 - call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_alpha_alpha_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - - END_PROVIDER - - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_openmp_beta_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] - implicit none - double precision, allocatable :: state_weights(:) - BEGIN_DOC -! state_av_act_two_rdm_openmp_beta_beta_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for beta-beta electron pairs -! = - END_DOC - allocate(state_weights(N_states)) - state_weights = state_average_weight - integer :: ispin - ! condition for alpha/beta spin - ispin = 2 - state_av_act_two_rdm_openmp_beta_beta_mo = 0.d0 - call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_beta_beta_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - - END_PROVIDER - - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_openmp_alpha_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] - implicit none - double precision, allocatable :: state_weights(:) - BEGIN_DOC -! state_av_act_two_rdm_openmp_alpha_beta_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-beta electron pairs -! = - END_DOC - allocate(state_weights(N_states)) - state_weights = state_average_weight - integer :: ispin - ! condition for alpha/beta spin - print*,'' - print*,'' - print*,'' - print*,'providint state_av_act_two_rdm_openmp_alpha_beta_mo ' - ispin = 3 - print*,'ispin = ',ispin - state_av_act_two_rdm_openmp_alpha_beta_mo = 0.d0 - call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_alpha_beta_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - - END_PROVIDER - - - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_openmp_spin_trace_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] - implicit none - BEGIN_DOC -! state_av_act_two_rdm_openmp_spin_trace_mo(i,j,k,l) = state average physicist spin trace two-body rdm restricted to the ACTIVE indices -! The active part of the two-electron energy can be computed as: -! -! \sum_{i,j,k,l = 1, n_act_orb} state_av_act_two_rdm_openmp_spin_trace_mo(i,j,k,l) * < ii jj | kk ll > -! -! with ii = list_act(i), jj = list_act(j), kk = list_act(k), ll = list_act(l) - END_DOC - double precision, allocatable :: state_weights(:) - allocate(state_weights(N_states)) - state_weights = state_average_weight - integer :: ispin - ! condition for alpha/beta spin - ispin = 4 - state_av_act_two_rdm_openmp_spin_trace_mo = 0.d0 - integer :: i - double precision :: wall_0,wall_1 - call wall_time(wall_0) - print*,'providing the state average TWO-RDM ...' - call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_spin_trace_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - - call wall_time(wall_1) - print*,'Time to provide the state average TWO-RDM',wall_1 - wall_0 - END_PROVIDER - diff --git a/src/two_body_rdm/orb_range_routines_omp.irp.f b/src/two_body_rdm/orb_range_routines_omp.irp.f deleted file mode 100644 index b6e59540..00000000 --- a/src/two_body_rdm/orb_range_routines_omp.irp.f +++ /dev/null @@ -1,568 +0,0 @@ -subroutine orb_range_two_rdm_state_av_openmp(big_array,dim1,norb,list_orb,state_weights,ispin,u_0,N_st,sze) - use bitmasks - implicit none - BEGIN_DOC - ! if ispin == 1 :: alpha/alpha 2rdm - ! == 2 :: beta /beta 2rdm - ! == 3 :: alpha/beta 2rdm - ! == 4 :: spin traced 2rdm :: aa + bb + 0.5 (ab + ba)) - ! - ! Assumes that the determinants are in psi_det - ! - ! istart, iend, ishift, istep are used in ZMQ parallelization. - END_DOC - integer, intent(in) :: N_st,sze - integer, intent(in) :: dim1,norb,list_orb(norb),ispin - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) - double precision, intent(in) :: u_0(sze,N_st),state_weights(N_st) - - integer :: k - double precision, allocatable :: u_t(:,:) - !DIR$ ATTRIBUTES ALIGN : $IRP_ALIGN :: u_t - allocate(u_t(N_st,N_det)) - do k=1,N_st - call dset_order(u_0(1,k),psi_bilinear_matrix_order,N_det) - enddo - call dtranspose( & - u_0, & - size(u_0, 1), & - u_t, & - size(u_t, 1), & - N_det, N_st) - - call orb_range_two_rdm_state_av_openmp_work(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,1,N_det,0,1) - deallocate(u_t) - - do k=1,N_st - call dset_order(u_0(1,k),psi_bilinear_matrix_order_reverse,N_det) - enddo - -end - -subroutine orb_range_two_rdm_state_av_openmp_work(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - use bitmasks - implicit none - BEGIN_DOC - ! Computes two-rdm - ! - ! Default should be 1,N_det,0,1 - END_DOC - integer, intent(in) :: N_st,sze,istart,iend,ishift,istep - integer, intent(in) :: dim1,norb,list_orb(norb),ispin - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) - double precision, intent(in) :: u_t(N_st,N_det),state_weights(N_st) - - integer :: k - - PROVIDE N_int - - select case (N_int) - case (1) - call orb_range_two_rdm_state_av_openmp_work_1(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - case (2) - call orb_range_two_rdm_state_av_openmp_work_2(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - case (3) - call orb_range_two_rdm_state_av_openmp_work_3(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - case (4) - call orb_range_two_rdm_state_av_openmp_work_4(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - case default - call orb_range_two_rdm_state_av_openmp_work_N_int(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - end select -end - - - - - BEGIN_TEMPLATE -subroutine orb_range_two_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - use bitmasks - use omp_lib - implicit none - BEGIN_DOC - ! Computes the two rdm for the N_st vectors |u_t> - ! if ispin == 1 :: alpha/alpha 2rdm - ! == 2 :: beta /beta 2rdm - ! == 3 :: alpha/beta 2rdm - ! == 4 :: spin traced 2rdm :: aa + bb + 0.5 (ab + ba)) - ! The 2rdm will be computed only on the list of orbitals list_orb, which contains norb - ! In any cases, the state average weights will be used with an array state_weights - ! Default should be 1,N_det,0,1 for istart,iend,ishift,istep - END_DOC - integer, intent(in) :: N_st,sze,istart,iend,ishift,istep - double precision, intent(in) :: u_t(N_st,N_det),state_weights(N_st) - integer, intent(in) :: dim1,norb,list_orb(norb),ispin - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) - - integer(omp_lock_kind) :: lock_2rdm - integer :: i,j,k,l - integer :: k_a, k_b, l_a, l_b - integer :: krow, kcol - integer :: lrow, lcol - integer(bit_kind) :: spindet($N_int) - integer(bit_kind) :: tmp_det($N_int,2) - integer(bit_kind) :: tmp_det2($N_int,2) - integer(bit_kind) :: tmp_det3($N_int,2) - integer(bit_kind), allocatable :: buffer(:,:) - integer :: n_doubles - integer, allocatable :: doubles(:) - integer, allocatable :: singles_a(:) - integer, allocatable :: singles_b(:) - integer, allocatable :: idx(:), idx0(:) - integer :: maxab, n_singles_a, n_singles_b, kcol_prev - double precision :: c_average - - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - integer(bit_kind) :: orb_bitmask($N_int) - integer :: list_orb_reverse(mo_num) - integer, allocatable :: keys(:,:) - double precision, allocatable :: values(:) - integer :: nkeys,sze_buff - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - else - print*,'Wrong parameter for ispin in general_two_rdm_state_av_openmp_work' - print*,'ispin = ',ispin - stop - endif - - - PROVIDE N_int - - call list_to_bitstring( orb_bitmask, list_orb, norb, N_int) - sze_buff = norb ** 3 + 6 * norb - list_orb_reverse = -1000 - do i = 1, norb - list_orb_reverse(list_orb(i)) = i - enddo - maxab = max(N_det_alpha_unique, N_det_beta_unique)+1 - allocate(idx0(maxab)) - - do i=1,maxab - idx0(i) = i - enddo - call omp_init_lock(lock_2rdm) - - ! Prepare the array of all alpha single excitations - ! ------------------------------------------------- - - PROVIDE N_int nthreads_davidson elec_alpha_num - !$OMP PARALLEL DEFAULT(NONE) NUM_THREADS(nthreads_davidson) & - !$OMP SHARED(psi_bilinear_matrix_rows, N_det,lock_2rdm,& - !$OMP psi_bilinear_matrix_columns, & - !$OMP psi_det_alpha_unique, psi_det_beta_unique,& - !$OMP n_det_alpha_unique, n_det_beta_unique, N_int,& - !$OMP psi_bilinear_matrix_transp_rows, & - !$OMP psi_bilinear_matrix_transp_columns, & - !$OMP psi_bilinear_matrix_transp_order, N_st, & - !$OMP psi_bilinear_matrix_order_transp_reverse, & - !$OMP psi_bilinear_matrix_columns_loc, & - !$OMP psi_bilinear_matrix_transp_rows_loc,elec_alpha_num, & - !$OMP istart, iend, istep, irp_here,list_orb_reverse, n_states, state_weights, dim1, & - !$OMP ishift, idx0, u_t, maxab, alpha_alpha,beta_beta,alpha_beta,spin_trace,ispin,big_array,sze_buff,orb_bitmask) & - !$OMP PRIVATE(krow, kcol, tmp_det, spindet, k_a, k_b, i,c_1, c_2, & - !$OMP lcol, lrow, l_a, l_b, & - !$OMP buffer, doubles, n_doubles, & - !$OMP tmp_det2, idx, l, kcol_prev, & - !$OMP singles_a, n_singles_a, singles_b, & - !$OMP n_singles_b, nkeys, keys, values, c_average) - - ! Alpha/Beta double excitations - ! ============================= - nkeys = 0 - allocate( keys(4,sze_buff), values(sze_buff)) - allocate( buffer($N_int,maxab), & - singles_a(maxab), & - singles_b(maxab), & - doubles(maxab), & - idx(maxab)) - - kcol_prev=-1 - - ASSERT (iend <= N_det) - ASSERT (istart > 0) - ASSERT (istep > 0) - - !$OMP DO SCHEDULE(dynamic,64) - do k_a=istart+ishift,iend,istep - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - if (kcol /= kcol_prev) then - call get_all_spin_singles_$N_int( & - psi_det_beta_unique, idx0, & - tmp_det(1,2), N_det_beta_unique, & - singles_b, n_singles_b) - endif - kcol_prev = kcol - - ! Loop over singly excited beta columns - ! ------------------------------------- - - do i=1,n_singles_b - lcol = singles_b(i) - - tmp_det2(1:$N_int,2) = psi_det_beta_unique(1:$N_int, lcol) - - l_a = psi_bilinear_matrix_columns_loc(lcol) - ASSERT (l_a <= N_det) - - do j=1,psi_bilinear_matrix_columns_loc(lcol+1) - l_a - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - buffer(1:$N_int,j) = psi_det_alpha_unique(1:$N_int, lrow) - - ASSERT (l_a <= N_det) - idx(j) = l_a - l_a = l_a+1 - enddo - j = j-1 - - call get_all_spin_singles_$N_int( & - buffer, idx, tmp_det(1,1), j, & - singles_a, n_singles_a ) - - ! Loop over alpha singles - ! ----------------------- - - if(alpha_beta.or.spin_trace)then - do k = 1,n_singles_a - l_a = singles_a(k) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - c_average = 0.d0 - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - c_average += c_1(l) * c_2(l) * state_weights(l) - enddo - if(alpha_beta)then - ! only ONE contribution - if (nkeys+1 .ge. size(values)) then - call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) - nkeys = 0 - endif - else if (spin_trace)then - ! TWO contributions - if (nkeys+2 .ge. size(values)) then - call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) - nkeys = 0 - endif - endif - call orb_range_off_diag_double_to_two_rdm_ab_dm_buffer(tmp_det,tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - - enddo - endif - - enddo - - enddo - !$OMP END DO - - !$OMP DO SCHEDULE(dynamic,64) - do k_a=istart+ishift,iend,istep - - - ! Single and double alpha exitations - ! =================================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - ! Initial determinant is at k_b in beta-major representation - ! ---------------------------------------------------------------------- - - k_b = psi_bilinear_matrix_order_transp_reverse(k_a) - ASSERT (k_b <= N_det) - - spindet(1:$N_int) = tmp_det(1:$N_int,1) - - ! Loop inside the beta column to gather all the connected alphas - lcol = psi_bilinear_matrix_columns(k_a) - l_a = psi_bilinear_matrix_columns_loc(lcol) - do i=1,N_det_alpha_unique - if (l_a > N_det) exit - lcol = psi_bilinear_matrix_columns(l_a) - if (lcol /= kcol) exit - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - buffer(1:$N_int,i) = psi_det_alpha_unique(1:$N_int, lrow) - idx(i) = l_a - l_a = l_a+1 - enddo - i = i-1 - - call get_all_spin_singles_and_doubles_$N_int( & - buffer, idx, spindet, i, & - singles_a, doubles, n_singles_a, n_doubles ) - - ! Compute Hij for all alpha singles - ! ---------------------------------- - - tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - do i=1,n_singles_a - l_a = singles_a(i) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - c_average = 0.d0 - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - c_average += c_1(l) * c_2(l) * state_weights(l) - enddo - if(alpha_beta.or.spin_trace.or.alpha_alpha)then - ! increment the alpha/beta part for single excitations - if (nkeys+ 2 * elec_alpha_num .ge. sze_buff) then - call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) - nkeys = 0 - endif - call orb_range_off_diag_single_to_two_rdm_ab_dm_buffer(tmp_det, tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - ! increment the alpha/alpha part for single excitations - if (nkeys+4 * elec_alpha_num .ge. sze_buff ) then - call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) - nkeys = 0 - endif - call orb_range_off_diag_single_to_two_rdm_aa_dm_buffer(tmp_det,tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - endif - - enddo - - - ! Compute Hij for all alpha doubles - ! ---------------------------------- - - if(alpha_alpha.or.spin_trace)then - do i=1,n_doubles - l_a = doubles(i) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - c_average = 0.d0 - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - c_average += c_1(l) * c_2(l) * state_weights(l) - enddo - if (nkeys+4 .ge. sze_buff) then - call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) - nkeys = 0 - endif - call orb_range_off_diag_double_to_two_rdm_aa_dm_buffer(tmp_det(1,1),psi_det_alpha_unique(1, lrow),c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - enddo - endif - - - ! Single and double beta excitations - ! ================================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - kcol = psi_bilinear_matrix_columns(k_a) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - spindet(1:$N_int) = tmp_det(1:$N_int,2) - - ! Initial determinant is at k_b in beta-major representation - ! ----------------------------------------------------------------------- - - k_b = psi_bilinear_matrix_order_transp_reverse(k_a) - ASSERT (k_b <= N_det) - - ! Loop inside the alpha row to gather all the connected betas - lrow = psi_bilinear_matrix_transp_rows(k_b) - l_b = psi_bilinear_matrix_transp_rows_loc(lrow) - do i=1,N_det_beta_unique - if (l_b > N_det) exit - lrow = psi_bilinear_matrix_transp_rows(l_b) - if (lrow /= krow) exit - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - buffer(1:$N_int,i) = psi_det_beta_unique(1:$N_int, lcol) - idx(i) = l_b - l_b = l_b+1 - enddo - i = i-1 - - call get_all_spin_singles_and_doubles_$N_int( & - buffer, idx, spindet, i, & - singles_b, doubles, n_singles_b, n_doubles ) - - ! Compute Hij for all beta singles - ! ---------------------------------- - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - do i=1,n_singles_b - l_b = singles_b(i) - ASSERT (l_b <= N_det) - - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, lcol) - l_a = psi_bilinear_matrix_transp_order(l_b) - c_average = 0.d0 - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - c_average += c_1(l) * c_2(l) * state_weights(l) - enddo - if(alpha_beta.or.spin_trace.or.beta_beta)then - ! increment the alpha/beta part for single excitations - if (nkeys+2 * elec_alpha_num .ge. sze_buff ) then - call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) - nkeys = 0 - endif - call orb_range_off_diag_single_to_two_rdm_ab_dm_buffer(tmp_det, tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - ! increment the beta /beta part for single excitations - if (nkeys+4 * elec_alpha_num .ge. sze_buff) then - call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) - nkeys = 0 - endif - call orb_range_off_diag_single_to_two_rdm_bb_dm_buffer(tmp_det, tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - endif - enddo - - ! Compute Hij for all beta doubles - ! ---------------------------------- - - if(beta_beta.or.spin_trace)then - do i=1,n_doubles - l_b = doubles(i) - ASSERT (l_b <= N_det) - - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - l_a = psi_bilinear_matrix_transp_order(l_b) - c_average = 0.d0 - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - c_average += c_1(l) * c_2(l) * state_weights(l) - enddo - if (nkeys+4 .ge. sze_buff) then - call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) - nkeys = 0 - endif - call orb_range_off_diag_double_to_two_rdm_bb_dm_buffer(tmp_det(1,2),psi_det_beta_unique(1, lcol),c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - ASSERT (l_a <= N_det) - - enddo - endif - - - ! Diagonal contribution - ! ===================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - double precision, external :: diag_wee_mat_elem, diag_S_mat_elem - - double precision :: c_1(N_states),c_2(N_states) - c_average = 0.d0 - do l = 1, N_states - c_1(l) = u_t(l,k_a) - c_average += c_1(l) * c_1(l) * state_weights(l) - enddo - - call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) - nkeys = 0 - call orb_range_diag_to_all_two_rdm_dm_buffer(tmp_det,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) - nkeys = 0 - - end do - !$OMP END DO - deallocate(buffer, singles_a, singles_b, doubles, idx, keys, values) - !$OMP END PARALLEL - -end - - SUBST [ N_int ] - - 1;; - 2;; - 3;; - 4;; - N_int;; - - END_TEMPLATE - - -subroutine update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) - use omp_lib - implicit none - integer, intent(in) :: nkeys,dim1 - integer, intent(in) :: keys(4,nkeys) - double precision, intent(in) :: values(nkeys) - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) - - integer(omp_lock_kind),intent(inout):: lock_2rdm - integer :: i,h1,h2,p1,p2 - call omp_set_lock(lock_2rdm) - do i = 1, nkeys - h1 = keys(1,i) - h2 = keys(2,i) - p1 = keys(3,i) - p2 = keys(4,i) - big_array(h1,h2,p1,p2) += values(i) - enddo - call omp_unset_lock(lock_2rdm) - -end - diff --git a/src/two_body_rdm/orb_range_routines.irp.f b/src/two_body_rdm/state_av_act_2_rdm_dav_routines.irp.f similarity index 100% rename from src/two_body_rdm/orb_range_routines.irp.f rename to src/two_body_rdm/state_av_act_2_rdm_dav_routines.irp.f diff --git a/src/two_body_rdm/orb_range.irp.f b/src/two_body_rdm/state_av_act_2_rdm_prov.irp.f similarity index 68% rename from src/two_body_rdm/orb_range.irp.f rename to src/two_body_rdm/state_av_act_2_rdm_prov.irp.f index 2bcd04dc..420a0264 100644 --- a/src/two_body_rdm/orb_range.irp.f +++ b/src/two_body_rdm/state_av_act_2_rdm_prov.irp.f @@ -5,8 +5,11 @@ implicit none double precision, allocatable :: state_weights(:) BEGIN_DOC -! state_av_act_two_rdm_alpha_alpha_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-alpha electron pairs -! = +! state_av_act_two_rdm_alpha_alpha_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of alpha electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" END_DOC allocate(state_weights(N_states)) state_weights = state_average_weight @@ -22,8 +25,11 @@ implicit none double precision, allocatable :: state_weights(:) BEGIN_DOC -! state_av_act_two_rdm_beta_beta_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for beta-beta electron pairs -! = +! state_av_act_two_rdm_beta_beta_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of beta electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" END_DOC allocate(state_weights(N_states)) state_weights = state_average_weight @@ -39,8 +45,11 @@ implicit none double precision, allocatable :: state_weights(:) BEGIN_DOC -! state_av_act_two_rdm_alpha_beta_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-beta electron pairs -! = +! state_av_act_two_rdm_alpha_beta_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of alpha/beta electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" END_DOC allocate(state_weights(N_states)) state_weights = state_average_weight @@ -61,13 +70,12 @@ BEGIN_PROVIDER [double precision, state_av_act_two_rdm_spin_trace_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] implicit none BEGIN_DOC -! state_av_act_two_rdm_spin_trace_mo(i,j,k,l) = state average physicist spin trace two-body rdm restricted to the ACTIVE indices -! The active part of the two-electron energy can be computed as: +! state_av_act_two_rdm_spin_trace_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM +! +! \sum_{\sigma, \sigma'} ! -! \sum_{i,j,k,l = 1, n_act_orb} state_av_act_two_rdm_spin_trace_mo(i,j,k,l) * < ii jj | kk ll > -! -! with ii = list_act(i), jj = list_act(j), kk = list_act(k), ll = list_act(l) - END_DOC +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" + END_DOC double precision, allocatable :: state_weights(:) allocate(state_weights(N_states)) state_weights = state_average_weight diff --git a/src/two_body_rdm/compute_orb_range.irp.f b/src/two_body_rdm/state_av_act_2_rdm_update_routines.irp.f similarity index 100% rename from src/two_body_rdm/compute_orb_range.irp.f rename to src/two_body_rdm/state_av_act_2_rdm_update_routines.irp.f diff --git a/src/two_body_rdm/two_rdm.irp.f b/src/two_body_rdm/two_rdm.irp.f deleted file mode 100644 index c162f365..00000000 --- a/src/two_body_rdm/two_rdm.irp.f +++ /dev/null @@ -1,62 +0,0 @@ - BEGIN_PROVIDER [double precision, two_rdm_alpha_beta_mo, (mo_num,mo_num,mo_num,mo_num,N_states)] -&BEGIN_PROVIDER [double precision, two_rdm_alpha_alpha_mo, (mo_num,mo_num,mo_num,mo_num,N_states)] -&BEGIN_PROVIDER [double precision, two_rdm_beta_beta_mo, (mo_num,mo_num,mo_num,mo_num,N_states)] - implicit none - BEGIN_DOC - ! two_rdm_alpha_beta(i,j,k,l) = - ! 1 1 2 2 = chemist notations - ! note that no 1/2 factor is introduced in order to take into acccount for the spin symmetry - ! - END_DOC - integer :: dim1,dim2,dim3,dim4 - double precision :: cpu_0,cpu_1 - dim1 = mo_num - dim2 = mo_num - dim3 = mo_num - dim4 = mo_num - two_rdm_alpha_beta_mo = 0.d0 - two_rdm_alpha_alpha_mo= 0.d0 - two_rdm_beta_beta_mo = 0.d0 - print*,'providing two_rdm_alpha_beta ...' - call wall_time(cpu_0) - call all_two_rdm_dm_nstates(two_rdm_alpha_alpha_mo,two_rdm_beta_beta_mo,two_rdm_alpha_beta_mo,dim1,dim2,dim3,dim4,psi_coef,size(psi_coef,2),size(psi_coef,1)) - call wall_time(cpu_1) - print*,'two_rdm_alpha_beta provided in',dabs(cpu_1-cpu_0) - -END_PROVIDER - - - BEGIN_PROVIDER [double precision, two_rdm_alpha_beta_mo_physicist, (mo_num,mo_num,mo_num,mo_num,N_states)] -&BEGIN_PROVIDER [double precision, two_rdm_alpha_alpha_mo_physicist, (mo_num,mo_num,mo_num,mo_num,N_states)] -&BEGIN_PROVIDER [double precision, two_rdm_beta_beta_mo_physicist, (mo_num,mo_num,mo_num,mo_num,N_states)] - implicit none - BEGIN_DOC - ! two_rdm_alpha_beta_mo_physicist,(i,j,k,l) = - ! 1 2 1 2 = physicist notations - ! note that no 1/2 factor is introduced in order to take into acccount for the spin symmetry - ! - END_DOC - integer :: i,j,k,l,istate - double precision :: cpu_0,cpu_1 - two_rdm_alpha_beta_mo_physicist = 0.d0 - print*,'providing two_rdm_alpha_beta_mo_physicist ...' - call wall_time(cpu_0) - do istate = 1, N_states - do i = 1, mo_num - do j = 1, mo_num - do k = 1, mo_num - do l = 1, mo_num - ! 1 2 1 2 1 1 2 2 - two_rdm_alpha_beta_mo_physicist(l,k,i,j,istate) = two_rdm_alpha_beta_mo(i,l,j,k,istate) - two_rdm_alpha_alpha_mo_physicist(l,k,i,j,istate) = two_rdm_alpha_alpha_mo(i,l,j,k,istate) - two_rdm_beta_beta_mo_physicist(l,k,i,j,istate) = two_rdm_beta_beta_mo(i,l,j,k,istate) - enddo - enddo - enddo - enddo - enddo - call wall_time(cpu_1) - print*,'two_rdm_alpha_beta_mo_physicist provided in',dabs(cpu_1-cpu_0) - -END_PROVIDER - From 646e49a8184947402e5b8185cb79879adcd97671 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 18 Mar 2020 16:35:41 +0100 Subject: [PATCH 018/138] Slowly merging periodic in dev --- src/utils_periodic/NEED | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 src/utils_periodic/NEED diff --git a/src/utils_periodic/NEED b/src/utils_periodic/NEED new file mode 100644 index 00000000..49c1d899 --- /dev/null +++ b/src/utils_periodic/NEED @@ -0,0 +1,4 @@ +ao_two_e_ints +ao_one_e_ints +mo_two_e_ints + From c3f181c454c45839a8e0c6dc603174650bf006aa Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Thu, 19 Mar 2020 15:57:49 +0100 Subject: [PATCH 019/138] only active and full 2 rdms are ok --- src/determinants/cas_one_e_rdm.irp.f | 37 + src/two_body_rdm/NEED | 1 + .../all_states_act_2_rdm_dav_routines.irp.f | 1 + .../all_states_act_2_rdm_prov.irp.f | 25 +- ...all_states_act_2_rdm_update_routines.irp.f | 8 +- .../all_states_full_2_rdm_prov.irp.f | 538 ++++++++++++ src/two_body_rdm/compute_orb_range_omp.irp.f | 807 ++++++++++++++++++ src/two_body_rdm/orb_range_omp.irp.f | 85 ++ src/two_body_rdm/orb_range_routines_omp.irp.f | 568 ++++++++++++ src/two_body_rdm/test_2_rdm.irp.f | 111 +++ 10 files changed, 2163 insertions(+), 18 deletions(-) create mode 100644 src/determinants/cas_one_e_rdm.irp.f create mode 100644 src/two_body_rdm/all_states_full_2_rdm_prov.irp.f create mode 100644 src/two_body_rdm/compute_orb_range_omp.irp.f create mode 100644 src/two_body_rdm/orb_range_omp.irp.f create mode 100644 src/two_body_rdm/orb_range_routines_omp.irp.f create mode 100644 src/two_body_rdm/test_2_rdm.irp.f diff --git a/src/determinants/cas_one_e_rdm.irp.f b/src/determinants/cas_one_e_rdm.irp.f new file mode 100644 index 00000000..0471bde6 --- /dev/null +++ b/src/determinants/cas_one_e_rdm.irp.f @@ -0,0 +1,37 @@ + + BEGIN_PROVIDER [double precision, one_e_act_dm_beta_mo_for_dft, (n_act_orb,n_act_orb,N_states)] + implicit none + BEGIN_DOC + ! one_e_act_dm_beta_mo_for_dft = pure ACTIVE part of the ONE ELECTRON REDUCED DENSITY MATRIX for the BETA ELECTRONS + END_DOC + integer :: i,j,ii,jj,istate + do istate = 1, N_states + do ii = 1, n_act_orb + i = list_act(ii) + do jj = 1, n_act_orb + j = list_act(jj) + one_e_act_dm_beta_mo_for_dft(jj,ii,istate) = one_e_dm_mo_beta(j,i,istate) + enddo + enddo + enddo + +END_PROVIDER + + BEGIN_PROVIDER [double precision, one_e_act_dm_alpha_mo_for_dft, (n_act_orb,n_act_orb,N_states)] + implicit none + BEGIN_DOC + ! one_e_act_dm_alpha_mo_for_dft = pure ACTIVE part of the ONE ELECTRON REDUCED DENSITY MATRIX for the ALPHA ELECTRONS + END_DOC + integer :: i,j,ii,jj,istate + do istate = 1, N_states + do ii = 1, n_act_orb + i = list_act(ii) + do jj = 1, n_act_orb + j = list_act(jj) + one_e_act_dm_alpha_mo_for_dft(jj,ii,istate) = one_e_dm_mo_alpha(j,i,istate) + enddo + enddo + enddo + +END_PROVIDER + diff --git a/src/two_body_rdm/NEED b/src/two_body_rdm/NEED index 711fbf96..ca42c679 100644 --- a/src/two_body_rdm/NEED +++ b/src/two_body_rdm/NEED @@ -1 +1,2 @@ davidson_undressed +density_for_dft diff --git a/src/two_body_rdm/all_states_act_2_rdm_dav_routines.irp.f b/src/two_body_rdm/all_states_act_2_rdm_dav_routines.irp.f index 8f40f32a..9d29332e 100644 --- a/src/two_body_rdm/all_states_act_2_rdm_dav_routines.irp.f +++ b/src/two_body_rdm/all_states_act_2_rdm_dav_routines.irp.f @@ -474,6 +474,7 @@ subroutine orb_range_all_states_two_rdm_work_$N_int(big_array,dim1,norb,list_orb c_contrib(l) = c_1(l) * c_1(l) enddo + call orb_range_diagonal_contrib_to_all_two_rdm_dm_all_states(tmp_det,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) end do diff --git a/src/two_body_rdm/all_states_act_2_rdm_prov.irp.f b/src/two_body_rdm/all_states_act_2_rdm_prov.irp.f index fc6e4224..37a7d3fb 100644 --- a/src/two_body_rdm/all_states_act_2_rdm_prov.irp.f +++ b/src/two_body_rdm/all_states_act_2_rdm_prov.irp.f @@ -3,22 +3,20 @@ BEGIN_PROVIDER [double precision, all_states_act_two_rdm_alpha_alpha_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] implicit none - double precision, allocatable :: state_weights(:) BEGIN_DOC ! all_states_act_two_rdm_alpha_alpha_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha electrons ! -! +! 1/2 * ! ! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" END_DOC - allocate(state_weights(N_states)) - state_weights = 1.d0/dble(N_states) integer :: ispin ! condition for alpha/beta spin ispin = 1 all_states_act_two_rdm_alpha_alpha_mo = 0.D0 call orb_range_all_states_two_rdm(all_states_act_two_rdm_alpha_alpha_mo,n_act_orb,n_act_orb,list_act,list_act_reverse,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + END_PROVIDER BEGIN_PROVIDER [double precision, all_states_act_two_rdm_beta_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] @@ -30,9 +28,6 @@ ! ! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" END_DOC - double precision, allocatable :: state_weights(:) - allocate(state_weights(N_states)) - state_weights = 1.d0/dble(N_states) integer :: ispin ! condition for alpha/beta spin ispin = 2 @@ -43,16 +38,19 @@ BEGIN_PROVIDER [double precision, all_states_act_two_rdm_alpha_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] implicit none - double precision, allocatable :: state_weights(:) BEGIN_DOC ! all_states_act_two_rdm_alpha_beta_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons ! ! ! ! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is alpha, electron 2 is beta +! +! all_states_act_two_rdm_alpha_beta_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta +! +! Therefore you don't necessayr have symmetry between electron 1 and 2 END_DOC - allocate(state_weights(N_states)) - state_weights = 1.d0/dble(N_states) integer :: ispin ! condition for alpha/beta spin print*,'' @@ -82,16 +80,11 @@ ! ! with ii = list_act(i), jj = list_act(j), kk = list_act(k), ll = list_act(l) END_DOC - double precision, allocatable :: state_weights(:) - allocate(state_weights(N_states)) - state_weights = 1.d0/dble(N_states) - integer :: ispin + integer :: ispin,i,j,k,l,istate ! condition for alpha/beta spin ispin = 4 all_states_act_two_rdm_spin_trace_mo = 0.d0 - integer :: i call orb_range_all_states_two_rdm(all_states_act_two_rdm_spin_trace_mo,n_act_orb,n_act_orb,list_act,list_act_reverse,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - END_PROVIDER diff --git a/src/two_body_rdm/all_states_act_2_rdm_update_routines.irp.f b/src/two_body_rdm/all_states_act_2_rdm_update_routines.irp.f index 7606e353..a42f2d79 100644 --- a/src/two_body_rdm/all_states_act_2_rdm_update_routines.irp.f +++ b/src/two_body_rdm/all_states_act_2_rdm_update_routines.irp.f @@ -59,7 +59,7 @@ det_1_act(i,1) = iand(det_1(i,1),orb_bitmask(i)) det_1_act(i,2) = iand(det_1(i,2),orb_bitmask(i)) enddo - + alpha_alpha = .False. beta_beta = .False. alpha_beta = .False. @@ -73,6 +73,7 @@ else if(ispin == 4)then spin_trace = .True. endif +! call debug_det(det_1_act,N_int) call bitstring_to_list_ab(det_1_act, occ, n_occ_ab, N_int) logical :: is_integer_in_string integer :: i1,i2 @@ -84,7 +85,9 @@ i2 = occ(j,2) h1 = list_orb_reverse(i1) h2 = list_orb_reverse(i2) - big_array(h1,h2,h1,h2,istate) += c_1(istate) + ! If alpha/beta, electron 1 is alpha, electron 2 is beta + ! Therefore you don't necessayr have symmetry between electron 1 and 2 + big_array(h1,h2,h1,h2,istate) += 1.0d0 * c_1(istate) enddo enddo enddo @@ -101,6 +104,7 @@ enddo enddo enddo +! pause else if (beta_beta)then do istate = 1, N_st do i = 1, n_occ_ab(2) diff --git a/src/two_body_rdm/all_states_full_2_rdm_prov.irp.f b/src/two_body_rdm/all_states_full_2_rdm_prov.irp.f new file mode 100644 index 00000000..55fa78ca --- /dev/null +++ b/src/two_body_rdm/all_states_full_2_rdm_prov.irp.f @@ -0,0 +1,538 @@ + + BEGIN_PROVIDER [double precision, all_states_full_two_rdm_alpha_beta_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] + implicit none + all_states_full_two_rdm_alpha_beta_mo = 0.d0 + integer :: i,j,k,l,iorb,jorb,korb,lorb,istate + BEGIN_DOC +! all_states_full_two_rdm_alpha_beta_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! BUT THE STRUCTURE OF THE TWO-RDM ON THE RANGE OF OCCUPIED MOS (CORE+INACT+ACT) BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS +! +! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is ALPHA, electron 2 is BETA +! +! all_states_act_two_rdm_alpha_beta_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta +! +! Therefore you don't necessary have symmetry between electron 1 and 2 +! +! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero + END_DOC + all_states_full_two_rdm_alpha_beta_mo = 0.d0 + do istate = 1, N_states + !! PURE ACTIVE PART ALPHA-BETA + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_act_orb + korb = list_act(k) + do l = 1, n_act_orb + lorb = list_act(l) + ! alph beta alph beta + all_states_full_two_rdm_alpha_beta_mo(lorb,korb,jorb,iorb,istate) = & + all_states_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) + enddo + enddo + enddo + enddo + !! BETA ACTIVE - ALPHA inactive + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! alph beta alph beta + all_states_full_two_rdm_alpha_beta_mo(korb,jorb,korb,iorb,istate) = one_e_dm_mo_beta(jorb,iorb,istate) + enddo + enddo + enddo + + !! ALPHA ACTIVE - BETA inactive + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! alph beta alph beta + all_states_full_two_rdm_alpha_beta_mo(jorb,korb,iorb,korb,istate) = one_e_dm_mo_alpha(jorb,iorb,istate) + enddo + enddo + enddo + + !! ALPHA INACTIVE - BETA INACTIVE + !! + do j = 1, n_inact_orb + jorb = list_inact(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! alph beta alph beta + all_states_full_two_rdm_alpha_beta_mo(korb,jorb,korb,jorb,istate) = 1.D0 + enddo + enddo + +!!!!!!!!!!!! +!!!!!!!!!!!! if "no_core_density" then you don't put the core part +!!!!!!!!!!!! CAN BE USED + if (.not.no_core_density)then + !! BETA ACTIVE - ALPHA CORE + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_core_orb + korb = list_core(k) + ! alph beta alph beta + all_states_full_two_rdm_alpha_beta_mo(korb,jorb,korb,iorb,istate) = one_e_dm_mo_beta(jorb,iorb,istate) + enddo + enddo + enddo + + !! ALPHA ACTIVE - BETA CORE + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_core_orb + korb = list_core(k) + ! alph beta alph beta + all_states_full_two_rdm_alpha_beta_mo(jorb,korb,iorb,korb,istate) = one_e_dm_mo_alpha(jorb,iorb,istate) + enddo + enddo + enddo + + !! ALPHA CORE - BETA CORE + !! + do j = 1, n_core_orb + jorb = list_core(j) + do k = 1, n_core_orb + korb = list_core(k) + ! alph beta alph beta + all_states_full_two_rdm_alpha_beta_mo(korb,jorb,korb,jorb,istate) = 1.D0 + enddo + enddo + endif + + enddo + END_PROVIDER + + + BEGIN_PROVIDER [double precision, all_states_full_two_rdm_alpha_alpha_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] + implicit none + all_states_full_two_rdm_alpha_alpha_mo = 0.d0 + integer :: i,j,k,l,iorb,jorb,korb,lorb,istate + BEGIN_DOC +! all_states_full_two_rdm_alpha_alpha_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/alpha electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! BUT THE STRUCTURE OF THE TWO-RDM ON THE FULL RANGE OF MOs IS IMPLEMENTED BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS +! +! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero + END_DOC + + do istate = 1, N_states + !! PURE ACTIVE PART ALPHA-ALPHA + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_act_orb + korb = list_act(k) + do l = 1, n_act_orb + lorb = list_act(l) + all_states_full_two_rdm_alpha_alpha_mo(lorb,korb,jorb,iorb,istate) = & + all_states_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) + enddo + enddo + enddo + enddo + !! ALPHA ACTIVE - ALPHA inactive + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! 1 2 1 2 : DIRECT TERM + all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + all_states_full_two_rdm_alpha_alpha_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + ! 1 2 1 2 : EXCHANGE TERM + all_states_full_two_rdm_alpha_alpha_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + enddo + enddo + enddo + + !! ALPHA INACTIVE - ALPHA INACTIVE + do j = 1, n_inact_orb + jorb = list_inact(j) + do k = 1, n_inact_orb + korb = list_inact(k) + all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + enddo + enddo + +!!!!!!!!!! +!!!!!!!!!! if "no_core_density" then you don't put the core part +!!!!!!!!!! CAN BE USED + if (.not.no_core_density)then + !! ALPHA ACTIVE - ALPHA CORE + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_core_orb + korb = list_core(k) + ! 1 2 1 2 : DIRECT TERM + all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + all_states_full_two_rdm_alpha_alpha_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + ! 1 2 1 2 : EXCHANGE TERM + all_states_full_two_rdm_alpha_alpha_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + enddo + enddo + enddo + !! ALPHA CORE - ALPHA CORE + + do j = 1, n_core_orb + jorb = list_core(j) + do k = 1, n_core_orb + korb = list_core(k) + all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + enddo + enddo + endif + enddo + + END_PROVIDER + + BEGIN_PROVIDER [double precision, all_states_full_two_rdm_beta_beta_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] + implicit none + all_states_full_two_rdm_beta_beta_mo = 0.d0 + integer :: i,j,k,l,iorb,jorb,korb,lorb,istate + BEGIN_DOC +! all_states_full_two_rdm_beta_beta_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! BUT THE STRUCTURE OF THE TWO-RDM ON THE FULL RANGE OF MOs IS IMPLEMENTED BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS +! +! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero + END_DOC + + do istate = 1, N_states + !! PURE ACTIVE PART beta-beta + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_act_orb + korb = list_act(k) + do l = 1, n_act_orb + lorb = list_act(l) + all_states_full_two_rdm_beta_beta_mo(lorb,korb,jorb,iorb,istate) = & + all_states_act_two_rdm_beta_beta_mo(l,k,j,i,istate) + enddo + enddo + enddo + enddo + !! beta ACTIVE - beta inactive + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! 1 2 1 2 : DIRECT TERM + all_states_full_two_rdm_beta_beta_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + all_states_full_two_rdm_beta_beta_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + ! 1 2 1 2 : EXCHANGE TERM + all_states_full_two_rdm_beta_beta_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + all_states_full_two_rdm_beta_beta_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + enddo + enddo + enddo + + !! beta INACTIVE - beta INACTIVE + do j = 1, n_inact_orb + jorb = list_inact(j) + do k = 1, n_inact_orb + korb = list_inact(k) + all_states_full_two_rdm_beta_beta_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + all_states_full_two_rdm_beta_beta_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + enddo + enddo + +!!!!!!!!!!!! +!!!!!!!!!!!! if "no_core_density" then you don't put the core part +!!!!!!!!!!!! CAN BE USED + if (.not.no_core_density)then + !! beta ACTIVE - beta CORE + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_core_orb + korb = list_core(k) + ! 1 2 1 2 : DIRECT TERM + all_states_full_two_rdm_beta_beta_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + all_states_full_two_rdm_beta_beta_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + ! 1 2 1 2 : EXCHANGE TERM + all_states_full_two_rdm_beta_beta_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + all_states_full_two_rdm_beta_beta_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + enddo + enddo + enddo + !! beta CORE - beta CORE + + do j = 1, n_core_orb + jorb = list_core(j) + do k = 1, n_core_orb + korb = list_core(k) + all_states_full_two_rdm_beta_beta_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + all_states_full_two_rdm_beta_beta_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + enddo + enddo + endif + enddo + + END_PROVIDER + + BEGIN_PROVIDER [double precision, all_states_full_two_rdm_spin_trace_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] + implicit none + all_states_full_two_rdm_spin_trace_mo = 0.d0 + integer :: i,j,k,l,iorb,jorb,korb,lorb,istate + BEGIN_DOC +! all_states_full_two_rdm_beta_beta_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! BUT THE STRUCTURE OF THE TWO-RDM ON THE FULL RANGE OF MOs IS IMPLEMENTED BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS +! +! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero + END_DOC + + do istate = 1, N_states + !!!!!!!!!!!!!!!! + !!!!!!!!!!!!!!!! + !! PURE ACTIVE PART SPIN-TRACE + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_act_orb + korb = list_act(k) + do l = 1, n_act_orb + lorb = list_act(l) + all_states_full_two_rdm_spin_trace_mo(lorb,korb,jorb,iorb,istate) += & + all_states_act_two_rdm_spin_trace_mo(l,k,j,i,istate) + enddo + enddo + enddo + enddo + + !!!!!!!!!!!!!!!! + !!!!!!!!!!!!!!!! + !!!!! BETA-BETA !!!!! + !! beta ACTIVE - beta inactive + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! 1 2 1 2 : DIRECT TERM + all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + ! 1 2 1 2 : EXCHANGE TERM + all_states_full_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + all_states_full_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + enddo + enddo + enddo + !! beta INACTIVE - beta INACTIVE + do j = 1, n_inact_orb + jorb = list_inact(j) + do k = 1, n_inact_orb + korb = list_inact(k) + all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + all_states_full_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + enddo + enddo + if (.not.no_core_density)then + !! beta ACTIVE - beta CORE + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_core_orb + korb = list_core(k) + ! 1 2 1 2 : DIRECT TERM + all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + ! 1 2 1 2 : EXCHANGE TERM + all_states_full_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + all_states_full_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + enddo + enddo + enddo + !! beta CORE - beta CORE + do j = 1, n_core_orb + jorb = list_core(j) + do k = 1, n_core_orb + korb = list_core(k) + all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + all_states_full_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + enddo + enddo + endif + + !!!!!!!!!!!!!!!! + !!!!!!!!!!!!!!!! + !!!!! ALPHA-ALPHA !!!!! + !! ALPHA ACTIVE - ALPHA inactive + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! 1 2 1 2 : DIRECT TERM + all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + ! 1 2 1 2 : EXCHANGE TERM + all_states_full_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + all_states_full_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + enddo + enddo + enddo + !! ALPHA INACTIVE - ALPHA INACTIVE + do j = 1, n_inact_orb + jorb = list_inact(j) + do k = 1, n_inact_orb + korb = list_inact(k) + all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + all_states_full_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + enddo + enddo + if (.not.no_core_density)then + !! ALPHA ACTIVE - ALPHA CORE + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_core_orb + korb = list_core(k) + ! 1 2 1 2 : DIRECT TERM + all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + ! 1 2 1 2 : EXCHANGE TERM + all_states_full_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + all_states_full_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + enddo + enddo + enddo + !! ALPHA CORE - ALPHA CORE + do j = 1, n_core_orb + jorb = list_core(j) + do k = 1, n_core_orb + korb = list_core(k) + all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + all_states_full_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + enddo + enddo + endif + + !!!!!!!!!!!!!!!! + !!!!!!!!!!!!!!!! + !!!!! ALPHA-BETA + BETA-ALPHA !!!!! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! ALPHA INACTIVE - BETA ACTIVE + ! alph beta alph beta + all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + ! beta alph beta alph + all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + ! BETA INACTIVE - ALPHA ACTIVE + ! beta alph beta alpha + all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + ! alph beta alph beta + all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + enddo + enddo + enddo + !! ALPHA INACTIVE - BETA INACTIVE + do j = 1, n_inact_orb + jorb = list_inact(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! alph beta alph beta + all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5D0 + all_states_full_two_rdm_spin_trace_mo(jorb,korb,jorb,korb,istate) += 0.5D0 + enddo + enddo + +!!!!!!!!!!!! +!!!!!!!!!!!! if "no_core_density" then you don't put the core part +!!!!!!!!!!!! CAN BE USED + if (.not.no_core_density)then + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_core_orb + korb = list_core(k) + !! BETA ACTIVE - ALPHA CORE + ! alph beta alph beta + all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5D0 * one_e_dm_mo_beta(jorb,iorb,istate) + ! beta alph beta alph + all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5D0 * one_e_dm_mo_beta(jorb,iorb,istate) + !! ALPHA ACTIVE - BETA CORE + ! alph beta alph beta + all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5D0 * one_e_dm_mo_alpha(jorb,iorb,istate) + ! beta alph beta alph + all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5D0 * one_e_dm_mo_alpha(jorb,iorb,istate) + enddo + enddo + enddo + !! ALPHA CORE - BETA CORE + do j = 1, n_core_orb + jorb = list_core(j) + do k = 1, n_core_orb + korb = list_core(k) + ! alph beta alph beta + all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5D0 + all_states_full_two_rdm_spin_trace_mo(jorb,korb,jorb,korb,istate) += 0.5D0 + enddo + enddo + + endif + enddo + + END_PROVIDER diff --git a/src/two_body_rdm/compute_orb_range_omp.irp.f b/src/two_body_rdm/compute_orb_range_omp.irp.f new file mode 100644 index 00000000..0ba934d7 --- /dev/null +++ b/src/two_body_rdm/compute_orb_range_omp.irp.f @@ -0,0 +1,807 @@ + subroutine orb_range_diag_to_all_two_rdm_dm_buffer(det_1,c_1,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + use bitmasks + BEGIN_DOC + ! routine that update the DIAGONAL PART of the two body rdms in a specific range of orbitals for a given determinant det_1 + ! + ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 + ! + ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals + ! + ! ispin determines which spin-spin component of the two-rdm you will update + ! + ! ispin == 1 :: alpha/ alpha + ! ispin == 2 :: beta / beta + ! ispin == 3 :: alpha/ beta + ! ispin == 4 :: spin traced <=> total two-rdm + END_DOC + implicit none + integer, intent(in) :: ispin,sze_buff + integer, intent(in) :: list_orb_reverse(mo_num) + integer(bit_kind), intent(in) :: det_1(N_int,2) + integer(bit_kind), intent(in) :: orb_bitmask(N_int) + double precision, intent(in) :: c_1 + double precision, intent(out) :: values(sze_buff) + integer , intent(out) :: keys(4,sze_buff) + integer , intent(inout):: nkeys + + integer :: occ(N_int*bit_kind_size,2) + integer :: n_occ_ab(2) + integer :: i,j,h1,h2 + integer(bit_kind) :: det_1_act(N_int,2) + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + do i = 1, N_int + det_1_act(i,1) = iand(det_1(i,1),orb_bitmask(i)) + det_1_act(i,2) = iand(det_1(i,2),orb_bitmask(i)) + enddo + + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + endif + call bitstring_to_list_ab(det_1_act, occ, n_occ_ab, N_int) + logical :: is_integer_in_string + integer :: i1,i2 + if(alpha_beta)then + do i = 1, n_occ_ab(1) + i1 = occ(i,1) + do j = 1, n_occ_ab(2) + i2 = occ(j,2) + h1 = list_orb_reverse(i1) + h2 = list_orb_reverse(i2) + nkeys += 1 + values(nkeys) = c_1 + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h1 + keys(4,nkeys) = h2 + enddo + enddo + else if (alpha_alpha)then + do i = 1, n_occ_ab(1) + i1 = occ(i,1) + do j = 1, n_occ_ab(1) + i2 = occ(j,1) + h1 = list_orb_reverse(i1) + h2 = list_orb_reverse(i2) + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h1 + keys(4,nkeys) = h2 + nkeys += 1 + values(nkeys) = -0.5d0 * c_1 + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h2 + keys(4,nkeys) = h1 + enddo + enddo + else if (beta_beta)then + do i = 1, n_occ_ab(2) + i1 = occ(i,2) + do j = 1, n_occ_ab(2) + i2 = occ(j,2) + h1 = list_orb_reverse(i1) + h2 = list_orb_reverse(i2) + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h1 + keys(4,nkeys) = h2 + nkeys += 1 + values(nkeys) = -0.5d0 * c_1 + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h2 + keys(4,nkeys) = h1 + enddo + enddo + else if(spin_trace)then + ! 0.5 * (alpha beta + beta alpha) + do i = 1, n_occ_ab(1) + i1 = occ(i,1) + do j = 1, n_occ_ab(2) + i2 = occ(j,2) + h1 = list_orb_reverse(i1) + h2 = list_orb_reverse(i2) + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h1 + keys(4,nkeys) = h2 + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = h2 + keys(4,nkeys) = h1 + enddo + enddo + do i = 1, n_occ_ab(1) + i1 = occ(i,1) + do j = 1, n_occ_ab(1) + i2 = occ(j,1) + h1 = list_orb_reverse(i1) + h2 = list_orb_reverse(i2) + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h1 + keys(4,nkeys) = h2 + nkeys += 1 + values(nkeys) = -0.5d0 * c_1 + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h2 + keys(4,nkeys) = h1 + enddo + enddo + do i = 1, n_occ_ab(2) + i1 = occ(i,2) + do j = 1, n_occ_ab(2) + i2 = occ(j,2) + h1 = list_orb_reverse(i1) + h2 = list_orb_reverse(i2) + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h1 + keys(4,nkeys) = h2 + nkeys += 1 + values(nkeys) = -0.5d0 * c_1 + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h2 + keys(4,nkeys) = h1 + enddo + enddo + endif + end + + + subroutine orb_range_off_diag_double_to_two_rdm_ab_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + use bitmasks + BEGIN_DOC +! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for +! +! a given couple of determinant det_1, det_2 being a alpha/beta DOUBLE excitation with respect to one another +! +! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 +! +! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals +! +! ispin determines which spin-spin component of the two-rdm you will update +! +! ispin == 1 :: alpha/ alpha +! ispin == 2 :: beta / beta +! ispin == 3 :: alpha/ beta +! ispin == 4 :: spin traced <=> total two-rdm +! +! here, only ispin == 3 or 4 will do something + END_DOC + implicit none + integer, intent(in) :: ispin,sze_buff + integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) + integer, intent(in) :: list_orb_reverse(mo_num) + double precision, intent(in) :: c_1 + double precision, intent(out) :: values(sze_buff) + integer , intent(out) :: keys(4,sze_buff) + integer , intent(inout):: nkeys + integer :: i,j,h1,h2,p1,p2 + integer :: exc(0:2,2,2) + double precision :: phase + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + logical :: is_integer_in_string + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + endif + call get_double_excitation(det_1,det_2,exc,phase,N_int) + h1 = exc(1,1,1) + if(list_orb_reverse(h1).lt.0)return + h1 = list_orb_reverse(h1) + h2 = exc(1,1,2) + if(list_orb_reverse(h2).lt.0)return + h2 = list_orb_reverse(h2) + p1 = exc(1,2,1) + if(list_orb_reverse(p1).lt.0)return + p1 = list_orb_reverse(p1) + p2 = exc(1,2,2) + if(list_orb_reverse(p2).lt.0)return + p2 = list_orb_reverse(p2) + if(alpha_beta)then + nkeys += 1 + values(nkeys) = c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = p2 + else if(spin_trace)then + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = p2 + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = p1 + keys(2,nkeys) = p2 + keys(3,nkeys) = h1 + keys(4,nkeys) = h2 + endif + end + + subroutine orb_range_off_diag_single_to_two_rdm_ab_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + use bitmasks + BEGIN_DOC + ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for + ! + ! a given couple of determinant det_1, det_2 being a SINGLE excitation with respect to one another + ! + ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 + ! + ! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation + ! + ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals + ! + ! ispin determines which spin-spin component of the two-rdm you will update + ! + ! ispin == 1 :: alpha/ alpha + ! ispin == 2 :: beta / beta + ! ispin == 3 :: alpha/ beta + ! ispin == 4 :: spin traced <=> total two-rdm + ! + ! here, only ispin == 3 or 4 will do something + END_DOC + implicit none + integer, intent(in) :: ispin,sze_buff + integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) + integer, intent(in) :: list_orb_reverse(mo_num) + double precision, intent(in) :: c_1 + double precision, intent(out) :: values(sze_buff) + integer , intent(out) :: keys(4,sze_buff) + integer , intent(inout):: nkeys + + integer :: occ(N_int*bit_kind_size,2) + integer :: n_occ_ab(2) + integer :: i,j,h1,h2,p1 + integer :: exc(0:2,2,2) + double precision :: phase + + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + logical :: is_integer_in_string + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + endif + + call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) + call get_single_excitation(det_1,det_2,exc,phase,N_int) + if(alpha_beta)then + if (exc(0,1,1) == 1) then + ! Mono alpha + h1 = exc(1,1,1) + if(list_orb_reverse(h1).lt.0)return + h1 = list_orb_reverse(h1) + p1 = exc(1,2,1) + if(list_orb_reverse(p1).lt.0)return + p1 = list_orb_reverse(p1) + do i = 1, n_occ_ab(2) + h2 = occ(i,2) + if(list_orb_reverse(h2).lt.0)return + h2 = list_orb_reverse(h2) + nkeys += 1 + values(nkeys) = c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + enddo + else + ! Mono beta + h1 = exc(1,1,2) + if(list_orb_reverse(h1).lt.0)return + h1 = list_orb_reverse(h1) + p1 = exc(1,2,2) + if(list_orb_reverse(p1).lt.0)return + p1 = list_orb_reverse(p1) + do i = 1, n_occ_ab(1) + h2 = occ(i,1) + if(list_orb_reverse(h2).lt.0)return + h2 = list_orb_reverse(h2) + nkeys += 1 + values(nkeys) = c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + enddo + endif + else if(spin_trace)then + if (exc(0,1,1) == 1) then + ! Mono alpha + h1 = exc(1,1,1) + if(list_orb_reverse(h1).lt.0)return + h1 = list_orb_reverse(h1) + p1 = exc(1,2,1) + if(list_orb_reverse(p1).lt.0)return + p1 = list_orb_reverse(p1) + do i = 1, n_occ_ab(2) + h2 = occ(i,2) + if(list_orb_reverse(h2).lt.0)return + h2 = list_orb_reverse(h2) + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = h2 + keys(4,nkeys) = p1 + enddo + else + ! Mono beta + h1 = exc(1,1,2) + if(list_orb_reverse(h1).lt.0)return + h1 = list_orb_reverse(h1) + p1 = exc(1,2,2) + if(list_orb_reverse(p1).lt.0)return + p1 = list_orb_reverse(p1) + !print*,'****************' + !print*,'****************' + !print*,'h1,p1',h1,p1 + do i = 1, n_occ_ab(1) + h2 = occ(i,1) + if(list_orb_reverse(h2).lt.0)return + h2 = list_orb_reverse(h2) + ! print*,'h2 = ',h2 + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = h2 + keys(4,nkeys) = p1 + enddo + endif + endif + end + + subroutine orb_range_off_diag_single_to_two_rdm_aa_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + BEGIN_DOC + ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for + ! + ! a given couple of determinant det_1, det_2 being a ALPHA SINGLE excitation with respect to one another + ! + ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 + ! + ! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation + ! + ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals + ! + ! ispin determines which spin-spin component of the two-rdm you will update + ! + ! ispin == 1 :: alpha/ alpha + ! ispin == 2 :: beta / beta + ! ispin == 3 :: alpha/ beta + ! ispin == 4 :: spin traced <=> total two-rdm + ! + ! here, only ispin == 1 or 4 will do something + END_DOC + use bitmasks + implicit none + integer, intent(in) :: ispin,sze_buff + integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) + integer, intent(in) :: list_orb_reverse(mo_num) + double precision, intent(in) :: c_1 + double precision, intent(out) :: values(sze_buff) + integer , intent(out) :: keys(4,sze_buff) + integer , intent(inout):: nkeys + + integer :: occ(N_int*bit_kind_size,2) + integer :: n_occ_ab(2) + integer :: i,j,h1,h2,p1 + integer :: exc(0:2,2,2) + double precision :: phase + + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + logical :: is_integer_in_string + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + endif + + call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) + call get_single_excitation(det_1,det_2,exc,phase,N_int) + if(alpha_alpha.or.spin_trace)then + if (exc(0,1,1) == 1) then + ! Mono alpha + h1 = exc(1,1,1) + if(list_orb_reverse(h1).lt.0)return + h1 = list_orb_reverse(h1) + p1 = exc(1,2,1) + if(list_orb_reverse(p1).lt.0)return + p1 = list_orb_reverse(p1) + do i = 1, n_occ_ab(1) + h2 = occ(i,1) + if(list_orb_reverse(h2).lt.0)return + h2 = list_orb_reverse(h2) + + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + + nkeys += 1 + values(nkeys) = - 0.5d0 * c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h2 + keys(4,nkeys) = p1 + + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = h2 + keys(4,nkeys) = p1 + + nkeys += 1 + values(nkeys) = - 0.5d0 * c_1 * phase + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + enddo + else + return + endif + endif + end + + subroutine orb_range_off_diag_single_to_two_rdm_bb_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + use bitmasks + BEGIN_DOC + ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for + ! + ! a given couple of determinant det_1, det_2 being a BETA SINGLE excitation with respect to one another + ! + ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 + ! + ! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation + ! + ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals + ! + ! ispin determines which spin-spin component of the two-rdm you will update + ! + ! ispin == 1 :: alpha/ alpha + ! ispin == 2 :: beta / beta + ! ispin == 3 :: alpha/ beta + ! ispin == 4 :: spin traced <=> total two-rdm + ! + ! here, only ispin == 2 or 4 will do something + END_DOC + implicit none + integer, intent(in) :: ispin,sze_buff + integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) + integer, intent(in) :: list_orb_reverse(mo_num) + double precision, intent(in) :: c_1 + double precision, intent(out) :: values(sze_buff) + integer , intent(out) :: keys(4,sze_buff) + integer , intent(inout):: nkeys + + integer :: occ(N_int*bit_kind_size,2) + integer :: n_occ_ab(2) + integer :: i,j,h1,h2,p1 + integer :: exc(0:2,2,2) + double precision :: phase + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + logical :: is_integer_in_string + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + endif + + + call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) + call get_single_excitation(det_1,det_2,exc,phase,N_int) + if(beta_beta.or.spin_trace)then + if (exc(0,1,1) == 1) then + return + else + ! Mono beta + h1 = exc(1,1,2) + if(list_orb_reverse(h1).lt.0)return + h1 = list_orb_reverse(h1) + p1 = exc(1,2,2) + if(list_orb_reverse(p1).lt.0)return + p1 = list_orb_reverse(p1) + do i = 1, n_occ_ab(2) + h2 = occ(i,2) + if(list_orb_reverse(h2).lt.0)return + h2 = list_orb_reverse(h2) + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + + nkeys += 1 + values(nkeys) = - 0.5d0 * c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h2 + keys(4,nkeys) = p1 + + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = h2 + keys(4,nkeys) = p1 + + nkeys += 1 + values(nkeys) = - 0.5d0 * c_1 * phase + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + enddo + endif + endif + end + + + subroutine orb_range_off_diag_double_to_two_rdm_aa_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + use bitmasks + BEGIN_DOC + ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for + ! + ! a given couple of determinant det_1, det_2 being a ALPHA/ALPHA DOUBLE excitation with respect to one another + ! + ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 + ! + ! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation + ! + ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals + ! + ! ispin determines which spin-spin component of the two-rdm you will update + ! + ! ispin == 1 :: alpha/ alpha + ! ispin == 2 :: beta / beta + ! ispin == 3 :: alpha/ beta + ! ispin == 4 :: spin traced <=> total two-rdm + ! + ! here, only ispin == 1 or 4 will do something + END_DOC + implicit none + integer, intent(in) :: ispin,sze_buff + integer(bit_kind), intent(in) :: det_1(N_int),det_2(N_int) + integer, intent(in) :: list_orb_reverse(mo_num) + double precision, intent(in) :: c_1 + double precision, intent(out) :: values(sze_buff) + integer , intent(out) :: keys(4,sze_buff) + integer , intent(inout):: nkeys + + + integer :: i,j,h1,h2,p1,p2 + integer :: exc(0:2,2) + double precision :: phase + + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + logical :: is_integer_in_string + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + endif + call get_double_excitation_spin(det_1,det_2,exc,phase,N_int) + h1 =exc(1,1) + if(list_orb_reverse(h1).lt.0)return + h1 = list_orb_reverse(h1) + h2 =exc(2,1) + if(list_orb_reverse(h2).lt.0)return + h2 = list_orb_reverse(h2) + p1 =exc(1,2) + if(list_orb_reverse(p1).lt.0)return + p1 = list_orb_reverse(p1) + p2 =exc(2,2) + if(list_orb_reverse(p2).lt.0)return + p2 = list_orb_reverse(p2) + if(alpha_alpha.or.spin_trace)then + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = p2 + + nkeys += 1 + values(nkeys) = - 0.5d0 * c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p2 + keys(4,nkeys) = p1 + + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = p2 + keys(4,nkeys) = p1 + + nkeys += 1 + values(nkeys) = - 0.5d0 * c_1 * phase + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = p1 + keys(4,nkeys) = p2 + endif + end + + subroutine orb_range_off_diag_double_to_two_rdm_bb_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + use bitmasks + BEGIN_DOC + ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for + ! + ! a given couple of determinant det_1, det_2 being a BETA /BETA DOUBLE excitation with respect to one another + ! + ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 + ! + ! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation + ! + ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals + ! + ! ispin determines which spin-spin component of the two-rdm you will update + ! + ! ispin == 1 :: alpha/ alpha + ! ispin == 2 :: beta / beta + ! ispin == 3 :: alpha/ beta + ! ispin == 4 :: spin traced <=> total two-rdm + ! + ! here, only ispin == 2 or 4 will do something + END_DOC + implicit none + + integer, intent(in) :: ispin,sze_buff + integer(bit_kind), intent(in) :: det_1(N_int),det_2(N_int) + integer, intent(in) :: list_orb_reverse(mo_num) + double precision, intent(in) :: c_1 + double precision, intent(out) :: values(sze_buff) + integer , intent(out) :: keys(4,sze_buff) + integer , intent(inout):: nkeys + + integer :: i,j,h1,h2,p1,p2 + integer :: exc(0:2,2) + double precision :: phase + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + logical :: is_integer_in_string + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + endif + + call get_double_excitation_spin(det_1,det_2,exc,phase,N_int) + h1 =exc(1,1) + if(list_orb_reverse(h1).lt.0)return + h1 = list_orb_reverse(h1) + h2 =exc(2,1) + if(list_orb_reverse(h2).lt.0)return + h2 = list_orb_reverse(h2) + p1 =exc(1,2) + if(list_orb_reverse(p1).lt.0)return + p1 = list_orb_reverse(p1) + p2 =exc(2,2) + if(list_orb_reverse(p2).lt.0)return + p2 = list_orb_reverse(p2) + if(beta_beta.or.spin_trace)then + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = p2 + + nkeys += 1 + values(nkeys) = - 0.5d0 * c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p2 + keys(4,nkeys) = p1 + + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = p2 + keys(4,nkeys) = p1 + + nkeys += 1 + values(nkeys) = - 0.5d0 * c_1 * phase + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = p1 + keys(4,nkeys) = p2 + endif + end + diff --git a/src/two_body_rdm/orb_range_omp.irp.f b/src/two_body_rdm/orb_range_omp.irp.f new file mode 100644 index 00000000..baa26ced --- /dev/null +++ b/src/two_body_rdm/orb_range_omp.irp.f @@ -0,0 +1,85 @@ + + BEGIN_PROVIDER [double precision, state_av_act_two_rdm_openmp_alpha_alpha_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + implicit none + double precision, allocatable :: state_weights(:) + BEGIN_DOC +! state_av_act_two_rdm_openmp_alpha_alpha_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-alpha electron pairs +! = + END_DOC + allocate(state_weights(N_states)) + state_weights = state_average_weight + integer :: ispin + ! condition for alpha/beta spin + ispin = 1 + state_av_act_two_rdm_openmp_alpha_alpha_mo = 0.D0 + call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_alpha_alpha_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + + END_PROVIDER + + BEGIN_PROVIDER [double precision, state_av_act_two_rdm_openmp_beta_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + implicit none + double precision, allocatable :: state_weights(:) + BEGIN_DOC +! state_av_act_two_rdm_openmp_beta_beta_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for beta-beta electron pairs +! = + END_DOC + allocate(state_weights(N_states)) + state_weights = state_average_weight + integer :: ispin + ! condition for alpha/beta spin + ispin = 2 + state_av_act_two_rdm_openmp_beta_beta_mo = 0.d0 + call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_beta_beta_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + + END_PROVIDER + + BEGIN_PROVIDER [double precision, state_av_act_two_rdm_openmp_alpha_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + implicit none + double precision, allocatable :: state_weights(:) + BEGIN_DOC +! state_av_act_two_rdm_openmp_alpha_beta_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-beta electron pairs +! = + END_DOC + allocate(state_weights(N_states)) + state_weights = state_average_weight + integer :: ispin + ! condition for alpha/beta spin + print*,'' + print*,'' + print*,'' + print*,'providint state_av_act_two_rdm_openmp_alpha_beta_mo ' + ispin = 3 + print*,'ispin = ',ispin + state_av_act_two_rdm_openmp_alpha_beta_mo = 0.d0 + call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_alpha_beta_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + + END_PROVIDER + + + BEGIN_PROVIDER [double precision, state_av_act_two_rdm_openmp_spin_trace_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + implicit none + BEGIN_DOC +! state_av_act_two_rdm_openmp_spin_trace_mo(i,j,k,l) = state average physicist spin trace two-body rdm restricted to the ACTIVE indices +! The active part of the two-electron energy can be computed as: +! +! \sum_{i,j,k,l = 1, n_act_orb} state_av_act_two_rdm_openmp_spin_trace_mo(i,j,k,l) * < ii jj | kk ll > +! +! with ii = list_act(i), jj = list_act(j), kk = list_act(k), ll = list_act(l) + END_DOC + double precision, allocatable :: state_weights(:) + allocate(state_weights(N_states)) + state_weights = state_average_weight + integer :: ispin + ! condition for alpha/beta spin + ispin = 4 + state_av_act_two_rdm_openmp_spin_trace_mo = 0.d0 + integer :: i + double precision :: wall_0,wall_1 + call wall_time(wall_0) + print*,'providing the state average TWO-RDM ...' + call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_spin_trace_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + + call wall_time(wall_1) + print*,'Time to provide the state average TWO-RDM',wall_1 - wall_0 + END_PROVIDER + diff --git a/src/two_body_rdm/orb_range_routines_omp.irp.f b/src/two_body_rdm/orb_range_routines_omp.irp.f new file mode 100644 index 00000000..b6e59540 --- /dev/null +++ b/src/two_body_rdm/orb_range_routines_omp.irp.f @@ -0,0 +1,568 @@ +subroutine orb_range_two_rdm_state_av_openmp(big_array,dim1,norb,list_orb,state_weights,ispin,u_0,N_st,sze) + use bitmasks + implicit none + BEGIN_DOC + ! if ispin == 1 :: alpha/alpha 2rdm + ! == 2 :: beta /beta 2rdm + ! == 3 :: alpha/beta 2rdm + ! == 4 :: spin traced 2rdm :: aa + bb + 0.5 (ab + ba)) + ! + ! Assumes that the determinants are in psi_det + ! + ! istart, iend, ishift, istep are used in ZMQ parallelization. + END_DOC + integer, intent(in) :: N_st,sze + integer, intent(in) :: dim1,norb,list_orb(norb),ispin + double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) + double precision, intent(in) :: u_0(sze,N_st),state_weights(N_st) + + integer :: k + double precision, allocatable :: u_t(:,:) + !DIR$ ATTRIBUTES ALIGN : $IRP_ALIGN :: u_t + allocate(u_t(N_st,N_det)) + do k=1,N_st + call dset_order(u_0(1,k),psi_bilinear_matrix_order,N_det) + enddo + call dtranspose( & + u_0, & + size(u_0, 1), & + u_t, & + size(u_t, 1), & + N_det, N_st) + + call orb_range_two_rdm_state_av_openmp_work(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,1,N_det,0,1) + deallocate(u_t) + + do k=1,N_st + call dset_order(u_0(1,k),psi_bilinear_matrix_order_reverse,N_det) + enddo + +end + +subroutine orb_range_two_rdm_state_av_openmp_work(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + use bitmasks + implicit none + BEGIN_DOC + ! Computes two-rdm + ! + ! Default should be 1,N_det,0,1 + END_DOC + integer, intent(in) :: N_st,sze,istart,iend,ishift,istep + integer, intent(in) :: dim1,norb,list_orb(norb),ispin + double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) + double precision, intent(in) :: u_t(N_st,N_det),state_weights(N_st) + + integer :: k + + PROVIDE N_int + + select case (N_int) + case (1) + call orb_range_two_rdm_state_av_openmp_work_1(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + case (2) + call orb_range_two_rdm_state_av_openmp_work_2(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + case (3) + call orb_range_two_rdm_state_av_openmp_work_3(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + case (4) + call orb_range_two_rdm_state_av_openmp_work_4(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + case default + call orb_range_two_rdm_state_av_openmp_work_N_int(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + end select +end + + + + + BEGIN_TEMPLATE +subroutine orb_range_two_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + use bitmasks + use omp_lib + implicit none + BEGIN_DOC + ! Computes the two rdm for the N_st vectors |u_t> + ! if ispin == 1 :: alpha/alpha 2rdm + ! == 2 :: beta /beta 2rdm + ! == 3 :: alpha/beta 2rdm + ! == 4 :: spin traced 2rdm :: aa + bb + 0.5 (ab + ba)) + ! The 2rdm will be computed only on the list of orbitals list_orb, which contains norb + ! In any cases, the state average weights will be used with an array state_weights + ! Default should be 1,N_det,0,1 for istart,iend,ishift,istep + END_DOC + integer, intent(in) :: N_st,sze,istart,iend,ishift,istep + double precision, intent(in) :: u_t(N_st,N_det),state_weights(N_st) + integer, intent(in) :: dim1,norb,list_orb(norb),ispin + double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) + + integer(omp_lock_kind) :: lock_2rdm + integer :: i,j,k,l + integer :: k_a, k_b, l_a, l_b + integer :: krow, kcol + integer :: lrow, lcol + integer(bit_kind) :: spindet($N_int) + integer(bit_kind) :: tmp_det($N_int,2) + integer(bit_kind) :: tmp_det2($N_int,2) + integer(bit_kind) :: tmp_det3($N_int,2) + integer(bit_kind), allocatable :: buffer(:,:) + integer :: n_doubles + integer, allocatable :: doubles(:) + integer, allocatable :: singles_a(:) + integer, allocatable :: singles_b(:) + integer, allocatable :: idx(:), idx0(:) + integer :: maxab, n_singles_a, n_singles_b, kcol_prev + double precision :: c_average + + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + integer(bit_kind) :: orb_bitmask($N_int) + integer :: list_orb_reverse(mo_num) + integer, allocatable :: keys(:,:) + double precision, allocatable :: values(:) + integer :: nkeys,sze_buff + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + else + print*,'Wrong parameter for ispin in general_two_rdm_state_av_openmp_work' + print*,'ispin = ',ispin + stop + endif + + + PROVIDE N_int + + call list_to_bitstring( orb_bitmask, list_orb, norb, N_int) + sze_buff = norb ** 3 + 6 * norb + list_orb_reverse = -1000 + do i = 1, norb + list_orb_reverse(list_orb(i)) = i + enddo + maxab = max(N_det_alpha_unique, N_det_beta_unique)+1 + allocate(idx0(maxab)) + + do i=1,maxab + idx0(i) = i + enddo + call omp_init_lock(lock_2rdm) + + ! Prepare the array of all alpha single excitations + ! ------------------------------------------------- + + PROVIDE N_int nthreads_davidson elec_alpha_num + !$OMP PARALLEL DEFAULT(NONE) NUM_THREADS(nthreads_davidson) & + !$OMP SHARED(psi_bilinear_matrix_rows, N_det,lock_2rdm,& + !$OMP psi_bilinear_matrix_columns, & + !$OMP psi_det_alpha_unique, psi_det_beta_unique,& + !$OMP n_det_alpha_unique, n_det_beta_unique, N_int,& + !$OMP psi_bilinear_matrix_transp_rows, & + !$OMP psi_bilinear_matrix_transp_columns, & + !$OMP psi_bilinear_matrix_transp_order, N_st, & + !$OMP psi_bilinear_matrix_order_transp_reverse, & + !$OMP psi_bilinear_matrix_columns_loc, & + !$OMP psi_bilinear_matrix_transp_rows_loc,elec_alpha_num, & + !$OMP istart, iend, istep, irp_here,list_orb_reverse, n_states, state_weights, dim1, & + !$OMP ishift, idx0, u_t, maxab, alpha_alpha,beta_beta,alpha_beta,spin_trace,ispin,big_array,sze_buff,orb_bitmask) & + !$OMP PRIVATE(krow, kcol, tmp_det, spindet, k_a, k_b, i,c_1, c_2, & + !$OMP lcol, lrow, l_a, l_b, & + !$OMP buffer, doubles, n_doubles, & + !$OMP tmp_det2, idx, l, kcol_prev, & + !$OMP singles_a, n_singles_a, singles_b, & + !$OMP n_singles_b, nkeys, keys, values, c_average) + + ! Alpha/Beta double excitations + ! ============================= + nkeys = 0 + allocate( keys(4,sze_buff), values(sze_buff)) + allocate( buffer($N_int,maxab), & + singles_a(maxab), & + singles_b(maxab), & + doubles(maxab), & + idx(maxab)) + + kcol_prev=-1 + + ASSERT (iend <= N_det) + ASSERT (istart > 0) + ASSERT (istep > 0) + + !$OMP DO SCHEDULE(dynamic,64) + do k_a=istart+ishift,iend,istep + + krow = psi_bilinear_matrix_rows(k_a) + ASSERT (krow <= N_det_alpha_unique) + + kcol = psi_bilinear_matrix_columns(k_a) + ASSERT (kcol <= N_det_beta_unique) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + + if (kcol /= kcol_prev) then + call get_all_spin_singles_$N_int( & + psi_det_beta_unique, idx0, & + tmp_det(1,2), N_det_beta_unique, & + singles_b, n_singles_b) + endif + kcol_prev = kcol + + ! Loop over singly excited beta columns + ! ------------------------------------- + + do i=1,n_singles_b + lcol = singles_b(i) + + tmp_det2(1:$N_int,2) = psi_det_beta_unique(1:$N_int, lcol) + + l_a = psi_bilinear_matrix_columns_loc(lcol) + ASSERT (l_a <= N_det) + + do j=1,psi_bilinear_matrix_columns_loc(lcol+1) - l_a + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + buffer(1:$N_int,j) = psi_det_alpha_unique(1:$N_int, lrow) + + ASSERT (l_a <= N_det) + idx(j) = l_a + l_a = l_a+1 + enddo + j = j-1 + + call get_all_spin_singles_$N_int( & + buffer, idx, tmp_det(1,1), j, & + singles_a, n_singles_a ) + + ! Loop over alpha singles + ! ----------------------- + + if(alpha_beta.or.spin_trace)then + do k = 1,n_singles_a + l_a = singles_a(k) + ASSERT (l_a <= N_det) + + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) + c_average = 0.d0 + do l= 1, N_states + c_1(l) = u_t(l,l_a) + c_2(l) = u_t(l,k_a) + c_average += c_1(l) * c_2(l) * state_weights(l) + enddo + if(alpha_beta)then + ! only ONE contribution + if (nkeys+1 .ge. size(values)) then + call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) + nkeys = 0 + endif + else if (spin_trace)then + ! TWO contributions + if (nkeys+2 .ge. size(values)) then + call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) + nkeys = 0 + endif + endif + call orb_range_off_diag_double_to_two_rdm_ab_dm_buffer(tmp_det,tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + + enddo + endif + + enddo + + enddo + !$OMP END DO + + !$OMP DO SCHEDULE(dynamic,64) + do k_a=istart+ishift,iend,istep + + + ! Single and double alpha exitations + ! =================================== + + + ! Initial determinant is at k_a in alpha-major representation + ! ----------------------------------------------------------------------- + + krow = psi_bilinear_matrix_rows(k_a) + ASSERT (krow <= N_det_alpha_unique) + + kcol = psi_bilinear_matrix_columns(k_a) + ASSERT (kcol <= N_det_beta_unique) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + + ! Initial determinant is at k_b in beta-major representation + ! ---------------------------------------------------------------------- + + k_b = psi_bilinear_matrix_order_transp_reverse(k_a) + ASSERT (k_b <= N_det) + + spindet(1:$N_int) = tmp_det(1:$N_int,1) + + ! Loop inside the beta column to gather all the connected alphas + lcol = psi_bilinear_matrix_columns(k_a) + l_a = psi_bilinear_matrix_columns_loc(lcol) + do i=1,N_det_alpha_unique + if (l_a > N_det) exit + lcol = psi_bilinear_matrix_columns(l_a) + if (lcol /= kcol) exit + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + buffer(1:$N_int,i) = psi_det_alpha_unique(1:$N_int, lrow) + idx(i) = l_a + l_a = l_a+1 + enddo + i = i-1 + + call get_all_spin_singles_and_doubles_$N_int( & + buffer, idx, spindet, i, & + singles_a, doubles, n_singles_a, n_doubles ) + + ! Compute Hij for all alpha singles + ! ---------------------------------- + + tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + do i=1,n_singles_a + l_a = singles_a(i) + ASSERT (l_a <= N_det) + + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) + c_average = 0.d0 + do l= 1, N_states + c_1(l) = u_t(l,l_a) + c_2(l) = u_t(l,k_a) + c_average += c_1(l) * c_2(l) * state_weights(l) + enddo + if(alpha_beta.or.spin_trace.or.alpha_alpha)then + ! increment the alpha/beta part for single excitations + if (nkeys+ 2 * elec_alpha_num .ge. sze_buff) then + call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) + nkeys = 0 + endif + call orb_range_off_diag_single_to_two_rdm_ab_dm_buffer(tmp_det, tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + ! increment the alpha/alpha part for single excitations + if (nkeys+4 * elec_alpha_num .ge. sze_buff ) then + call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) + nkeys = 0 + endif + call orb_range_off_diag_single_to_two_rdm_aa_dm_buffer(tmp_det,tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + endif + + enddo + + + ! Compute Hij for all alpha doubles + ! ---------------------------------- + + if(alpha_alpha.or.spin_trace)then + do i=1,n_doubles + l_a = doubles(i) + ASSERT (l_a <= N_det) + + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + c_average = 0.d0 + do l= 1, N_states + c_1(l) = u_t(l,l_a) + c_2(l) = u_t(l,k_a) + c_average += c_1(l) * c_2(l) * state_weights(l) + enddo + if (nkeys+4 .ge. sze_buff) then + call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) + nkeys = 0 + endif + call orb_range_off_diag_double_to_two_rdm_aa_dm_buffer(tmp_det(1,1),psi_det_alpha_unique(1, lrow),c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + enddo + endif + + + ! Single and double beta excitations + ! ================================== + + + ! Initial determinant is at k_a in alpha-major representation + ! ----------------------------------------------------------------------- + + krow = psi_bilinear_matrix_rows(k_a) + kcol = psi_bilinear_matrix_columns(k_a) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + + spindet(1:$N_int) = tmp_det(1:$N_int,2) + + ! Initial determinant is at k_b in beta-major representation + ! ----------------------------------------------------------------------- + + k_b = psi_bilinear_matrix_order_transp_reverse(k_a) + ASSERT (k_b <= N_det) + + ! Loop inside the alpha row to gather all the connected betas + lrow = psi_bilinear_matrix_transp_rows(k_b) + l_b = psi_bilinear_matrix_transp_rows_loc(lrow) + do i=1,N_det_beta_unique + if (l_b > N_det) exit + lrow = psi_bilinear_matrix_transp_rows(l_b) + if (lrow /= krow) exit + lcol = psi_bilinear_matrix_transp_columns(l_b) + ASSERT (lcol <= N_det_beta_unique) + + buffer(1:$N_int,i) = psi_det_beta_unique(1:$N_int, lcol) + idx(i) = l_b + l_b = l_b+1 + enddo + i = i-1 + + call get_all_spin_singles_and_doubles_$N_int( & + buffer, idx, spindet, i, & + singles_b, doubles, n_singles_b, n_doubles ) + + ! Compute Hij for all beta singles + ! ---------------------------------- + + tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + do i=1,n_singles_b + l_b = singles_b(i) + ASSERT (l_b <= N_det) + + lcol = psi_bilinear_matrix_transp_columns(l_b) + ASSERT (lcol <= N_det_beta_unique) + + tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, lcol) + l_a = psi_bilinear_matrix_transp_order(l_b) + c_average = 0.d0 + do l= 1, N_states + c_1(l) = u_t(l,l_a) + c_2(l) = u_t(l,k_a) + c_average += c_1(l) * c_2(l) * state_weights(l) + enddo + if(alpha_beta.or.spin_trace.or.beta_beta)then + ! increment the alpha/beta part for single excitations + if (nkeys+2 * elec_alpha_num .ge. sze_buff ) then + call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) + nkeys = 0 + endif + call orb_range_off_diag_single_to_two_rdm_ab_dm_buffer(tmp_det, tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + ! increment the beta /beta part for single excitations + if (nkeys+4 * elec_alpha_num .ge. sze_buff) then + call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) + nkeys = 0 + endif + call orb_range_off_diag_single_to_two_rdm_bb_dm_buffer(tmp_det, tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + endif + enddo + + ! Compute Hij for all beta doubles + ! ---------------------------------- + + if(beta_beta.or.spin_trace)then + do i=1,n_doubles + l_b = doubles(i) + ASSERT (l_b <= N_det) + + lcol = psi_bilinear_matrix_transp_columns(l_b) + ASSERT (lcol <= N_det_beta_unique) + + l_a = psi_bilinear_matrix_transp_order(l_b) + c_average = 0.d0 + do l= 1, N_states + c_1(l) = u_t(l,l_a) + c_2(l) = u_t(l,k_a) + c_average += c_1(l) * c_2(l) * state_weights(l) + enddo + if (nkeys+4 .ge. sze_buff) then + call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) + nkeys = 0 + endif + call orb_range_off_diag_double_to_two_rdm_bb_dm_buffer(tmp_det(1,2),psi_det_beta_unique(1, lcol),c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + ASSERT (l_a <= N_det) + + enddo + endif + + + ! Diagonal contribution + ! ===================== + + + ! Initial determinant is at k_a in alpha-major representation + ! ----------------------------------------------------------------------- + + krow = psi_bilinear_matrix_rows(k_a) + ASSERT (krow <= N_det_alpha_unique) + + kcol = psi_bilinear_matrix_columns(k_a) + ASSERT (kcol <= N_det_beta_unique) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + + double precision, external :: diag_wee_mat_elem, diag_S_mat_elem + + double precision :: c_1(N_states),c_2(N_states) + c_average = 0.d0 + do l = 1, N_states + c_1(l) = u_t(l,k_a) + c_average += c_1(l) * c_1(l) * state_weights(l) + enddo + + call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) + nkeys = 0 + call orb_range_diag_to_all_two_rdm_dm_buffer(tmp_det,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) + nkeys = 0 + + end do + !$OMP END DO + deallocate(buffer, singles_a, singles_b, doubles, idx, keys, values) + !$OMP END PARALLEL + +end + + SUBST [ N_int ] + + 1;; + 2;; + 3;; + 4;; + N_int;; + + END_TEMPLATE + + +subroutine update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) + use omp_lib + implicit none + integer, intent(in) :: nkeys,dim1 + integer, intent(in) :: keys(4,nkeys) + double precision, intent(in) :: values(nkeys) + double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) + + integer(omp_lock_kind),intent(inout):: lock_2rdm + integer :: i,h1,h2,p1,p2 + call omp_set_lock(lock_2rdm) + do i = 1, nkeys + h1 = keys(1,i) + h2 = keys(2,i) + p1 = keys(3,i) + p2 = keys(4,i) + big_array(h1,h2,p1,p2) += values(i) + enddo + call omp_unset_lock(lock_2rdm) + +end + diff --git a/src/two_body_rdm/test_2_rdm.irp.f b/src/two_body_rdm/test_2_rdm.irp.f new file mode 100644 index 00000000..e993da24 --- /dev/null +++ b/src/two_body_rdm/test_2_rdm.irp.f @@ -0,0 +1,111 @@ +program test_2_rdm + implicit none + read_wf = .True. + touch read_wf + call routine_full_mos + call routine_active_only +end + +subroutine routine_active_only + implicit none + integer :: i,j,k,l,iorb,jorb,korb,lorb,istate + BEGIN_DOC +! This routine computes the two electron repulsion within the active space using various providers +! + END_DOC + + double precision :: vijkl,rdmaa,get_two_e_integral,rdmab,rdmbb,rdmtot + double precision :: accu_aa(N_states),accu_bb(N_states),accu_ab(N_states),accu_tot(N_states) + accu_aa = 0.d0 + accu_ab = 0.d0 + accu_bb = 0.d0 + accu_tot = 0.d0 + do istate = 1, N_states + !! PURE ACTIVE PART + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_act_orb + korb = list_act(k) + do l = 1, n_act_orb + lorb = list_act(l) + + vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) + + rdmaa = all_states_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) + rdmbb = all_states_act_two_rdm_beta_beta_mo(l,k,j,i,istate) + rdmab = all_states_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) + rdmtot = all_states_act_two_rdm_spin_trace_mo(l,k,j,i,istate) + + accu_ab(istate) += vijkl * rdmab + accu_aa(istate) += vijkl * rdmaa + accu_bb(istate) += vijkl * rdmbb + accu_tot(istate)+= vijkl * rdmtot + enddo + enddo + enddo + enddo + print*,'' + print*,'Active space only energy ' + print*,'accu_aa(istate) = ',accu_aa(istate) + print*,'accu_bb(istate) = ',accu_bb(istate) + print*,'accu_ab(istate) = ',accu_ab(istate) + print*,'' + print*,'sum (istate) = ',accu_aa(istate) + accu_bb(istate) + accu_ab(istate) + print*,'accu_tot(istate) = ',accu_tot(istate) + print*,'psi_energy_two_e(istate) = ',psi_energy_two_e(istate) + enddo + +end + +subroutine routine_full_mos + implicit none + integer :: i,j,k,l,iorb,jorb,korb,lorb,istate + BEGIN_DOC +! This routine computes the two electron repulsion using various providers +! + END_DOC + + double precision :: vijkl,rdmaa,get_two_e_integral,rdmab,rdmbb,rdmtot + double precision :: accu_aa(N_states),accu_bb(N_states),accu_ab(N_states),accu_tot(N_states) + accu_aa = 0.d0 + accu_ab = 0.d0 + accu_bb = 0.d0 + accu_tot = 0.d0 + do istate = 1, N_states + do i = 1, n_core_inact_act_orb + iorb = list_core_inact_act(i) + do j = 1, n_core_inact_act_orb + jorb = list_core_inact_act(j) + do k = 1, n_core_inact_act_orb + korb = list_core_inact_act(k) + do l = 1, n_core_inact_act_orb + lorb = list_core_inact_act(l) + vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) + + rdmaa = all_states_full_two_rdm_alpha_alpha_mo(l,k,j,i,istate) + rdmab = all_states_full_two_rdm_alpha_beta_mo(l,k,j,i,istate) + rdmbb = all_states_full_two_rdm_beta_beta_mo(l,k,j,i,istate) + rdmtot = all_states_full_two_rdm_spin_trace_mo(l,k,j,i,istate) + + accu_ab(istate) += vijkl * rdmab + accu_aa(istate) += vijkl * rdmaa + accu_bb(istate) += vijkl * rdmbb + accu_tot(istate)+= vijkl * rdmtot + enddo + enddo + enddo + enddo + print*,'Full energy ' + print*,'accu_aa(istate) = ',accu_aa(istate) + print*,'accu_bb(istate) = ',accu_bb(istate) + print*,'accu_ab(istate) = ',accu_ab(istate) + print*,'' + print*,'sum (istate) = ',accu_aa(istate) + accu_bb(istate) + accu_ab(istate) + print*,'accu_tot(istate) = ',accu_tot(istate) + print*,'psi_energy_two_e(istate) = ',psi_energy_two_e(istate) + enddo + +end From cac0146fe99ea8979f6983fb12c9202fb9cb1664 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Fri, 20 Mar 2020 10:41:03 +0100 Subject: [PATCH 020/138] orb range routines omp seem to work --- ...all_states_act_2_rdm_update_routines.irp.f | 1 - src/two_body_rdm/compute_orb_range_omp.irp.f | 51 ++++++++++--------- src/two_body_rdm/orb_range_routines_omp.irp.f | 10 ++-- src/two_body_rdm/test_2_rdm.irp.f | 17 ++++++- 4 files changed, 48 insertions(+), 31 deletions(-) diff --git a/src/two_body_rdm/all_states_act_2_rdm_update_routines.irp.f b/src/two_body_rdm/all_states_act_2_rdm_update_routines.irp.f index a42f2d79..3e4a070c 100644 --- a/src/two_body_rdm/all_states_act_2_rdm_update_routines.irp.f +++ b/src/two_body_rdm/all_states_act_2_rdm_update_routines.irp.f @@ -73,7 +73,6 @@ else if(ispin == 4)then spin_trace = .True. endif -! call debug_det(det_1_act,N_int) call bitstring_to_list_ab(det_1_act, occ, n_occ_ab, N_int) logical :: is_integer_in_string integer :: i1,i2 diff --git a/src/two_body_rdm/compute_orb_range_omp.irp.f b/src/two_body_rdm/compute_orb_range_omp.irp.f index 0ba934d7..9d0f3fe8 100644 --- a/src/two_body_rdm/compute_orb_range_omp.irp.f +++ b/src/two_body_rdm/compute_orb_range_omp.irp.f @@ -57,6 +57,8 @@ i2 = occ(j,2) h1 = list_orb_reverse(i1) h2 = list_orb_reverse(i2) + ! If alpha/beta, electron 1 is alpha, electron 2 is beta + ! Therefore you don't necessayr have symmetry between electron 1 and 2 nkeys += 1 values(nkeys) = c_1 keys(1,nkeys) = h1 @@ -255,7 +257,7 @@ endif end - subroutine orb_range_off_diag_single_to_two_rdm_ab_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + subroutine orb_range_off_diag_single_to_two_rdm_ab_dm_buffer(det_1,det_2,c_1,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) use bitmasks BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for @@ -281,6 +283,7 @@ integer, intent(in) :: ispin,sze_buff integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) integer, intent(in) :: list_orb_reverse(mo_num) + integer(bit_kind), intent(in) :: orb_bitmask(N_int) double precision, intent(in) :: c_1 double precision, intent(out) :: values(sze_buff) integer , intent(out) :: keys(4,sze_buff) @@ -314,14 +317,14 @@ if (exc(0,1,1) == 1) then ! Mono alpha h1 = exc(1,1,1) - if(list_orb_reverse(h1).lt.0)return + if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return h1 = list_orb_reverse(h1) p1 = exc(1,2,1) - if(list_orb_reverse(p1).lt.0)return + if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return p1 = list_orb_reverse(p1) do i = 1, n_occ_ab(2) h2 = occ(i,2) - if(list_orb_reverse(h2).lt.0)return + if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle h2 = list_orb_reverse(h2) nkeys += 1 values(nkeys) = c_1 * phase @@ -333,14 +336,14 @@ else ! Mono beta h1 = exc(1,1,2) - if(list_orb_reverse(h1).lt.0)return + if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return h1 = list_orb_reverse(h1) p1 = exc(1,2,2) - if(list_orb_reverse(p1).lt.0)return + if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return p1 = list_orb_reverse(p1) do i = 1, n_occ_ab(1) h2 = occ(i,1) - if(list_orb_reverse(h2).lt.0)return + if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle h2 = list_orb_reverse(h2) nkeys += 1 values(nkeys) = c_1 * phase @@ -354,14 +357,14 @@ if (exc(0,1,1) == 1) then ! Mono alpha h1 = exc(1,1,1) - if(list_orb_reverse(h1).lt.0)return + if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return h1 = list_orb_reverse(h1) p1 = exc(1,2,1) - if(list_orb_reverse(p1).lt.0)return + if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return p1 = list_orb_reverse(p1) do i = 1, n_occ_ab(2) h2 = occ(i,2) - if(list_orb_reverse(h2).lt.0)return + if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle h2 = list_orb_reverse(h2) nkeys += 1 values(nkeys) = 0.5d0 * c_1 * phase @@ -379,19 +382,15 @@ else ! Mono beta h1 = exc(1,1,2) - if(list_orb_reverse(h1).lt.0)return + if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return h1 = list_orb_reverse(h1) p1 = exc(1,2,2) - if(list_orb_reverse(p1).lt.0)return + if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return p1 = list_orb_reverse(p1) - !print*,'****************' - !print*,'****************' - !print*,'h1,p1',h1,p1 do i = 1, n_occ_ab(1) h2 = occ(i,1) - if(list_orb_reverse(h2).lt.0)return + if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle h2 = list_orb_reverse(h2) - ! print*,'h2 = ',h2 nkeys += 1 values(nkeys) = 0.5d0 * c_1 * phase keys(1,nkeys) = h1 @@ -409,7 +408,7 @@ endif end - subroutine orb_range_off_diag_single_to_two_rdm_aa_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + subroutine orb_range_off_diag_single_to_two_rdm_aa_dm_buffer(det_1,det_2,c_1,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for ! @@ -435,6 +434,7 @@ integer, intent(in) :: ispin,sze_buff integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) integer, intent(in) :: list_orb_reverse(mo_num) + integer(bit_kind), intent(in) :: orb_bitmask(N_int) double precision, intent(in) :: c_1 double precision, intent(out) :: values(sze_buff) integer , intent(out) :: keys(4,sze_buff) @@ -468,14 +468,14 @@ if (exc(0,1,1) == 1) then ! Mono alpha h1 = exc(1,1,1) - if(list_orb_reverse(h1).lt.0)return + if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return h1 = list_orb_reverse(h1) p1 = exc(1,2,1) - if(list_orb_reverse(p1).lt.0)return + if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return p1 = list_orb_reverse(p1) do i = 1, n_occ_ab(1) h2 = occ(i,1) - if(list_orb_reverse(h2).lt.0)return + if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle h2 = list_orb_reverse(h2) nkeys += 1 @@ -512,7 +512,7 @@ endif end - subroutine orb_range_off_diag_single_to_two_rdm_bb_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + subroutine orb_range_off_diag_single_to_two_rdm_bb_dm_buffer(det_1,det_2,c_1,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) use bitmasks BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for @@ -538,6 +538,7 @@ integer, intent(in) :: ispin,sze_buff integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) integer, intent(in) :: list_orb_reverse(mo_num) + integer(bit_kind), intent(in) :: orb_bitmask(N_int) double precision, intent(in) :: c_1 double precision, intent(out) :: values(sze_buff) integer , intent(out) :: keys(4,sze_buff) @@ -573,14 +574,14 @@ else ! Mono beta h1 = exc(1,1,2) - if(list_orb_reverse(h1).lt.0)return + if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return h1 = list_orb_reverse(h1) p1 = exc(1,2,2) - if(list_orb_reverse(p1).lt.0)return + if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return p1 = list_orb_reverse(p1) do i = 1, n_occ_ab(2) h2 = occ(i,2) - if(list_orb_reverse(h2).lt.0)return + if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle h2 = list_orb_reverse(h2) nkeys += 1 values(nkeys) = 0.5d0 * c_1 * phase diff --git a/src/two_body_rdm/orb_range_routines_omp.irp.f b/src/two_body_rdm/orb_range_routines_omp.irp.f index b6e59540..bb195454 100644 --- a/src/two_body_rdm/orb_range_routines_omp.irp.f +++ b/src/two_body_rdm/orb_range_routines_omp.irp.f @@ -271,6 +271,7 @@ subroutine orb_range_two_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,lis endif endif call orb_range_off_diag_double_to_two_rdm_ab_dm_buffer(tmp_det,tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) +! print*,'todo orb_range_off_diag_double_to_two_rdm_ab_dm_buffer' enddo endif @@ -352,13 +353,13 @@ subroutine orb_range_two_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,lis call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) nkeys = 0 endif - call orb_range_off_diag_single_to_two_rdm_ab_dm_buffer(tmp_det, tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call orb_range_off_diag_single_to_two_rdm_ab_dm_buffer(tmp_det, tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) ! increment the alpha/alpha part for single excitations if (nkeys+4 * elec_alpha_num .ge. sze_buff ) then call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) nkeys = 0 endif - call orb_range_off_diag_single_to_two_rdm_aa_dm_buffer(tmp_det,tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call orb_range_off_diag_single_to_two_rdm_aa_dm_buffer(tmp_det,tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) endif enddo @@ -456,13 +457,13 @@ subroutine orb_range_two_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,lis call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) nkeys = 0 endif - call orb_range_off_diag_single_to_two_rdm_ab_dm_buffer(tmp_det, tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call orb_range_off_diag_single_to_two_rdm_ab_dm_buffer(tmp_det, tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) ! increment the beta /beta part for single excitations if (nkeys+4 * elec_alpha_num .ge. sze_buff) then call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) nkeys = 0 endif - call orb_range_off_diag_single_to_two_rdm_bb_dm_buffer(tmp_det, tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call orb_range_off_diag_single_to_two_rdm_bb_dm_buffer(tmp_det, tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) endif enddo @@ -489,6 +490,7 @@ subroutine orb_range_two_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,lis nkeys = 0 endif call orb_range_off_diag_double_to_two_rdm_bb_dm_buffer(tmp_det(1,2),psi_det_beta_unique(1, lcol),c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) +! print*,'to do orb_range_off_diag_double_to_two_rdm_bb_dm_buffer' ASSERT (l_a <= N_det) enddo diff --git a/src/two_body_rdm/test_2_rdm.irp.f b/src/two_body_rdm/test_2_rdm.irp.f index e993da24..27a25024 100644 --- a/src/two_body_rdm/test_2_rdm.irp.f +++ b/src/two_body_rdm/test_2_rdm.irp.f @@ -2,7 +2,7 @@ program test_2_rdm implicit none read_wf = .True. touch read_wf - call routine_full_mos +! call routine_full_mos call routine_active_only end @@ -16,6 +16,12 @@ subroutine routine_active_only double precision :: vijkl,rdmaa,get_two_e_integral,rdmab,rdmbb,rdmtot double precision :: accu_aa(N_states),accu_bb(N_states),accu_ab(N_states),accu_tot(N_states) + double precision :: accu_ab_omp,rdmab_omp + double precision :: accu_bb_omp,rdmbb_omp + double precision :: accu_aa_omp,rdmaa_omp + accu_ab_omp = 0.d0 + accu_bb_omp = 0.d0 + accu_aa_omp = 0.d0 accu_aa = 0.d0 accu_ab = 0.d0 accu_bb = 0.d0 @@ -34,11 +40,17 @@ subroutine routine_active_only vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) + rdmab_omp = state_av_act_two_rdm_openmp_alpha_beta_mo(l,k,j,i) + rdmbb_omp = state_av_act_two_rdm_openmp_beta_beta_mo(l,k,j,i) + rdmaa_omp = state_av_act_two_rdm_openmp_alpha_alpha_mo(l,k,j,i) rdmaa = all_states_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) rdmbb = all_states_act_two_rdm_beta_beta_mo(l,k,j,i,istate) rdmab = all_states_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) rdmtot = all_states_act_two_rdm_spin_trace_mo(l,k,j,i,istate) + accu_ab_omp += vijkl * rdmab_omp + accu_bb_omp += vijkl * rdmbb_omp + accu_aa_omp += vijkl * rdmaa_omp accu_ab(istate) += vijkl * rdmab accu_aa(istate) += vijkl * rdmaa accu_bb(istate) += vijkl * rdmbb @@ -50,8 +62,11 @@ subroutine routine_active_only print*,'' print*,'Active space only energy ' print*,'accu_aa(istate) = ',accu_aa(istate) + print*,'accu_aa_omp = ',accu_aa_omp print*,'accu_bb(istate) = ',accu_bb(istate) + print*,'accu_bb_omp = ',accu_bb_omp print*,'accu_ab(istate) = ',accu_ab(istate) + print*,'accu_ab_omp = ',accu_ab_omp print*,'' print*,'sum (istate) = ',accu_aa(istate) + accu_bb(istate) + accu_ab(istate) print*,'accu_tot(istate) = ',accu_tot(istate) From 244831673d54272a3dfc029f5ae2425619892e70 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Fri, 20 Mar 2020 11:04:36 +0100 Subject: [PATCH 021/138] openmp version of state average dm work --- .../all_states_act_2_rdm_prov.irp.f | 4 +++ src/two_body_rdm/orb_range_omp.irp.f | 22 +++++++++--- src/two_body_rdm/test_2_rdm.irp.f | 35 +++++++++++-------- 3 files changed, 42 insertions(+), 19 deletions(-) diff --git a/src/two_body_rdm/all_states_act_2_rdm_prov.irp.f b/src/two_body_rdm/all_states_act_2_rdm_prov.irp.f index 37a7d3fb..ca3ded6b 100644 --- a/src/two_body_rdm/all_states_act_2_rdm_prov.irp.f +++ b/src/two_body_rdm/all_states_act_2_rdm_prov.irp.f @@ -52,6 +52,7 @@ ! Therefore you don't necessayr have symmetry between electron 1 and 2 END_DOC integer :: ispin + double precision :: wall_1, wall_2 ! condition for alpha/beta spin print*,'' print*,'' @@ -60,8 +61,11 @@ ispin = 3 print*,'ispin = ',ispin all_states_act_two_rdm_alpha_beta_mo = 0.d0 + call wall_time(wall_1) call orb_range_all_states_two_rdm(all_states_act_two_rdm_alpha_beta_mo,n_act_orb,n_act_orb,list_act,list_act_reverse,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call wall_time(wall_2) + print*,'Wall time to provide all_states_act_two_rdm_alpha_beta_mo',wall_2 - wall_1 END_PROVIDER diff --git a/src/two_body_rdm/orb_range_omp.irp.f b/src/two_body_rdm/orb_range_omp.irp.f index baa26ced..e4a34abd 100644 --- a/src/two_body_rdm/orb_range_omp.irp.f +++ b/src/two_body_rdm/orb_range_omp.irp.f @@ -12,7 +12,11 @@ ! condition for alpha/beta spin ispin = 1 state_av_act_two_rdm_openmp_alpha_alpha_mo = 0.D0 + call wall_time(wall_1) + double precision :: wall_1, wall_2 call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_alpha_alpha_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call wall_time(wall_2) + print*,'Wall time to provide state_av_act_two_rdm_openmp_alpha_alpha_mo',wall_2 - wall_1 END_PROVIDER @@ -29,7 +33,11 @@ ! condition for alpha/beta spin ispin = 2 state_av_act_two_rdm_openmp_beta_beta_mo = 0.d0 + call wall_time(wall_1) + double precision :: wall_1, wall_2 call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_beta_beta_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call wall_time(wall_2) + print*,'Wall time to provide state_av_act_two_rdm_openmp_beta_beta_mo',wall_2 - wall_1 END_PROVIDER @@ -51,7 +59,11 @@ ispin = 3 print*,'ispin = ',ispin state_av_act_two_rdm_openmp_alpha_beta_mo = 0.d0 + call wall_time(wall_1) + double precision :: wall_1, wall_2 call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_alpha_beta_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call wall_time(wall_2) + print*,'Wall time to provide state_av_act_two_rdm_openmp_alpha_beta_mo',wall_2 - wall_1 END_PROVIDER @@ -74,12 +86,12 @@ ispin = 4 state_av_act_two_rdm_openmp_spin_trace_mo = 0.d0 integer :: i - double precision :: wall_0,wall_1 - call wall_time(wall_0) - print*,'providing the state average TWO-RDM ...' + call wall_time(wall_1) + double precision :: wall_1, wall_2 + print*,'providing state_av_act_two_rdm_openmp_spin_trace_mo ' call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_spin_trace_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - call wall_time(wall_1) - print*,'Time to provide the state average TWO-RDM',wall_1 - wall_0 + call wall_time(wall_2) + print*,'Time to provide state_av_act_two_rdm_openmp_spin_trace_mo',wall_2 - wall_1 END_PROVIDER diff --git a/src/two_body_rdm/test_2_rdm.irp.f b/src/two_body_rdm/test_2_rdm.irp.f index 27a25024..fe010abe 100644 --- a/src/two_body_rdm/test_2_rdm.irp.f +++ b/src/two_body_rdm/test_2_rdm.irp.f @@ -19,9 +19,11 @@ subroutine routine_active_only double precision :: accu_ab_omp,rdmab_omp double precision :: accu_bb_omp,rdmbb_omp double precision :: accu_aa_omp,rdmaa_omp + double precision :: accu_tot_omp,rdmtot_omp accu_ab_omp = 0.d0 accu_bb_omp = 0.d0 accu_aa_omp = 0.d0 + accu_tot_omp = 0.d0 accu_aa = 0.d0 accu_ab = 0.d0 accu_bb = 0.d0 @@ -40,21 +42,25 @@ subroutine routine_active_only vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) - rdmab_omp = state_av_act_two_rdm_openmp_alpha_beta_mo(l,k,j,i) - rdmbb_omp = state_av_act_two_rdm_openmp_beta_beta_mo(l,k,j,i) - rdmaa_omp = state_av_act_two_rdm_openmp_alpha_alpha_mo(l,k,j,i) - rdmaa = all_states_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) - rdmbb = all_states_act_two_rdm_beta_beta_mo(l,k,j,i,istate) - rdmab = all_states_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) - rdmtot = all_states_act_two_rdm_spin_trace_mo(l,k,j,i,istate) + rdmab_omp = state_av_act_two_rdm_openmp_alpha_beta_mo(l,k,j,i) + rdmbb_omp = state_av_act_two_rdm_openmp_beta_beta_mo(l,k,j,i) + rdmaa_omp = state_av_act_two_rdm_openmp_alpha_alpha_mo(l,k,j,i) + rdmtot_omp = state_av_act_two_rdm_openmp_spin_trace_mo(l,k,j,i) - accu_ab_omp += vijkl * rdmab_omp - accu_bb_omp += vijkl * rdmbb_omp - accu_aa_omp += vijkl * rdmaa_omp - accu_ab(istate) += vijkl * rdmab - accu_aa(istate) += vijkl * rdmaa - accu_bb(istate) += vijkl * rdmbb - accu_tot(istate)+= vijkl * rdmtot + rdmaa = all_states_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) + rdmbb = all_states_act_two_rdm_beta_beta_mo(l,k,j,i,istate) + rdmab = all_states_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) + rdmtot = all_states_act_two_rdm_spin_trace_mo(l,k,j,i,istate) + + accu_ab_omp += vijkl * rdmab_omp + accu_bb_omp += vijkl * rdmbb_omp + accu_aa_omp += vijkl * rdmaa_omp + accu_tot_omp += vijkl * rdmtot_omp + + accu_ab(istate) += vijkl * rdmab + accu_aa(istate) += vijkl * rdmaa + accu_bb(istate) += vijkl * rdmbb + accu_tot(istate) += vijkl * rdmtot enddo enddo enddo @@ -70,6 +76,7 @@ subroutine routine_active_only print*,'' print*,'sum (istate) = ',accu_aa(istate) + accu_bb(istate) + accu_ab(istate) print*,'accu_tot(istate) = ',accu_tot(istate) + print*,'accu_tot_omp = ',accu_tot_omp print*,'psi_energy_two_e(istate) = ',psi_energy_two_e(istate) enddo From d04774c435e35bb3177cd6a851ee0a033cfd454d Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Fri, 20 Mar 2020 14:30:46 +0100 Subject: [PATCH 022/138] still cleaning in two_body_rdm --- src/two_body_rdm/NEED | 2 +- ...2_rdm_prov.irp.f => all_states_prov.irp.f} | 0 ...rb_range_omp.irp.f => state_av_2rdm.irp.f} | 0 .../state_av_act_2_rdm_dav_routines.irp.f | 499 ------------- .../state_av_act_2_rdm_prov.irp.f | 97 --- .../state_av_act_2_rdm_update_routines.irp.f | 670 ------------------ .../all_states_david.irp.f} | 0 .../all_states_update.irp.f} | 0 .../state_av_david_omp.irp.f} | 0 .../state_av_update_omp.irp.f} | 0 10 files changed, 1 insertion(+), 1267 deletions(-) rename src/two_body_rdm/{all_states_act_2_rdm_prov.irp.f => all_states_prov.irp.f} (100%) rename src/two_body_rdm/{orb_range_omp.irp.f => state_av_2rdm.irp.f} (100%) delete mode 100644 src/two_body_rdm/state_av_act_2_rdm_dav_routines.irp.f delete mode 100644 src/two_body_rdm/state_av_act_2_rdm_prov.irp.f delete mode 100644 src/two_body_rdm/state_av_act_2_rdm_update_routines.irp.f rename src/{two_body_rdm/all_states_act_2_rdm_dav_routines.irp.f => two_rdm_routines/all_states_david.irp.f} (100%) rename src/{two_body_rdm/all_states_act_2_rdm_update_routines.irp.f => two_rdm_routines/all_states_update.irp.f} (100%) rename src/{two_body_rdm/orb_range_routines_omp.irp.f => two_rdm_routines/state_av_david_omp.irp.f} (100%) rename src/{two_body_rdm/compute_orb_range_omp.irp.f => two_rdm_routines/state_av_update_omp.irp.f} (100%) diff --git a/src/two_body_rdm/NEED b/src/two_body_rdm/NEED index ca42c679..221550d2 100644 --- a/src/two_body_rdm/NEED +++ b/src/two_body_rdm/NEED @@ -1,2 +1,2 @@ -davidson_undressed +two_rdm_routines density_for_dft diff --git a/src/two_body_rdm/all_states_act_2_rdm_prov.irp.f b/src/two_body_rdm/all_states_prov.irp.f similarity index 100% rename from src/two_body_rdm/all_states_act_2_rdm_prov.irp.f rename to src/two_body_rdm/all_states_prov.irp.f diff --git a/src/two_body_rdm/orb_range_omp.irp.f b/src/two_body_rdm/state_av_2rdm.irp.f similarity index 100% rename from src/two_body_rdm/orb_range_omp.irp.f rename to src/two_body_rdm/state_av_2rdm.irp.f diff --git a/src/two_body_rdm/state_av_act_2_rdm_dav_routines.irp.f b/src/two_body_rdm/state_av_act_2_rdm_dav_routines.irp.f deleted file mode 100644 index 058ed1c5..00000000 --- a/src/two_body_rdm/state_av_act_2_rdm_dav_routines.irp.f +++ /dev/null @@ -1,499 +0,0 @@ -subroutine orb_range_two_rdm_state_av(big_array,dim1,norb,list_orb,list_orb_reverse,state_weights,ispin,u_0,N_st,sze) - use bitmasks - implicit none - BEGIN_DOC - ! if ispin == 1 :: alpha/alpha 2rdm - ! == 2 :: beta /beta 2rdm - ! == 3 :: alpha/beta 2rdm - ! == 4 :: spin traced 2rdm :: aa + bb + 0.5 (ab + ba)) - ! - ! Assumes that the determinants are in psi_det - ! - ! istart, iend, ishift, istep are used in ZMQ parallelization. - END_DOC - integer, intent(in) :: N_st,sze - integer, intent(in) :: dim1,norb,list_orb(norb),ispin - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) - double precision, intent(in) :: u_0(sze,N_st),state_weights(N_st) - - integer :: k - double precision, allocatable :: u_t(:,:) - !DIR$ ATTRIBUTES ALIGN : $IRP_ALIGN :: u_t - allocate(u_t(N_st,N_det)) - do k=1,N_st - call dset_order(u_0(1,k),psi_bilinear_matrix_order,N_det) - enddo - call dtranspose( & - u_0, & - size(u_0, 1), & - u_t, & - size(u_t, 1), & - N_det, N_st) - - - call orb_range_two_rdm_state_av_work(big_array,dim1,norb,list_orb,list_orb_reverse,state_weights,ispin,u_t,N_st,sze,1,N_det,0,1) - deallocate(u_t) - - do k=1,N_st - call dset_order(u_0(1,k),psi_bilinear_matrix_order_reverse,N_det) - enddo - -end - -subroutine orb_range_two_rdm_state_av_work(big_array,dim1,norb,list_orb,list_orb_reverse,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - use bitmasks - implicit none - BEGIN_DOC - ! Computes two-rdm - ! - ! Default should be 1,N_det,0,1 - END_DOC - integer, intent(in) :: N_st,sze,istart,iend,ishift,istep - integer, intent(in) :: dim1,norb,list_orb(norb),ispin - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) - double precision, intent(in) :: u_t(N_st,N_det),state_weights(N_st) - - integer :: k - - PROVIDE N_int - - select case (N_int) - case (1) - call orb_range_two_rdm_state_av_work_1(big_array,dim1,norb,list_orb,list_orb_reverse,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - case (2) - call orb_range_two_rdm_state_av_work_2(big_array,dim1,norb,list_orb,list_orb_reverse,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - case (3) - call orb_range_two_rdm_state_av_work_3(big_array,dim1,norb,list_orb,list_orb_reverse,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - case (4) - call orb_range_two_rdm_state_av_work_4(big_array,dim1,norb,list_orb,list_orb_reverse,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - case default - call orb_range_two_rdm_state_av_work_N_int(big_array,dim1,norb,list_orb,list_orb_reverse,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - end select -end - - - - - BEGIN_TEMPLATE -subroutine orb_range_two_rdm_state_av_work_$N_int(big_array,dim1,norb,list_orb,list_orb_reverse,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - use bitmasks - implicit none - BEGIN_DOC - ! Computes the two rdm for the N_st vectors |u_t> - ! if ispin == 1 :: alpha/alpha 2rdm - ! == 2 :: beta /beta 2rdm - ! == 3 :: alpha/beta 2rdm - ! == 4 :: spin traced 2rdm :: aa + bb + 0.5 (ab + ba)) - ! The 2rdm will be computed only on the list of orbitals list_orb, which contains norb - ! In any cases, the state average weights will be used with an array state_weights - ! Default should be 1,N_det,0,1 for istart,iend,ishift,istep - END_DOC - integer, intent(in) :: N_st,sze,istart,iend,ishift,istep - double precision, intent(in) :: u_t(N_st,N_det),state_weights(N_st) - integer, intent(in) :: dim1,norb,list_orb(norb),ispin - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) - - integer :: i,j,k,l - integer :: k_a, k_b, l_a, l_b, m_a, m_b - integer :: istate - integer :: krow, kcol, krow_b, kcol_b - integer :: lrow, lcol - integer :: mrow, mcol - integer(bit_kind) :: spindet($N_int) - integer(bit_kind) :: tmp_det($N_int,2) - integer(bit_kind) :: tmp_det2($N_int,2) - integer(bit_kind) :: tmp_det3($N_int,2) - integer(bit_kind), allocatable :: buffer(:,:) - integer :: n_doubles - integer, allocatable :: doubles(:) - integer, allocatable :: singles_a(:) - integer, allocatable :: singles_b(:) - integer, allocatable :: idx(:), idx0(:) - integer :: maxab, n_singles_a, n_singles_b, kcol_prev - integer*8 :: k8 - double precision :: c_average - - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - integer(bit_kind) :: orb_bitmask($N_int) - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - else - print*,'Wrong parameter for ispin in general_two_rdm_state_av_work' - print*,'ispin = ',ispin - stop - endif - - - PROVIDE N_int - - call list_to_bitstring( orb_bitmask, list_orb, norb, N_int) - - maxab = max(N_det_alpha_unique, N_det_beta_unique)+1 - allocate(idx0(maxab)) - - do i=1,maxab - idx0(i) = i - enddo - - - ! Prepare the array of all alpha single excitations - ! ------------------------------------------------- - - PROVIDE N_int nthreads_davidson - !!$OMP PARALLEL DEFAULT(NONE) NUM_THREADS(nthreads_davidson) & - ! !$OMP SHARED(psi_bilinear_matrix_rows, N_det, & - ! !$OMP psi_bilinear_matrix_columns, & - ! !$OMP psi_det_alpha_unique, psi_det_beta_unique,& - ! !$OMP n_det_alpha_unique, n_det_beta_unique, N_int,& - ! !$OMP psi_bilinear_matrix_transp_rows, & - ! !$OMP psi_bilinear_matrix_transp_columns, & - ! !$OMP psi_bilinear_matrix_transp_order, N_st, & - ! !$OMP psi_bilinear_matrix_order_transp_reverse, & - ! !$OMP psi_bilinear_matrix_columns_loc, & - ! !$OMP psi_bilinear_matrix_transp_rows_loc, & - ! !$OMP istart, iend, istep, irp_here, v_t, s_t, & - ! !$OMP ishift, idx0, u_t, maxab) & - ! !$OMP PRIVATE(krow, kcol, tmp_det, spindet, k_a, k_b, i,& - ! !$OMP lcol, lrow, l_a, l_b, & - ! !$OMP buffer, doubles, n_doubles, & - ! !$OMP tmp_det2, idx, l, kcol_prev, & - ! !$OMP singles_a, n_singles_a, singles_b, & - ! !$OMP n_singles_b, k8) - - ! Alpha/Beta double excitations - ! ============================= - - allocate( buffer($N_int,maxab), & - singles_a(maxab), & - singles_b(maxab), & - doubles(maxab), & - idx(maxab)) - - kcol_prev=-1 - - ASSERT (iend <= N_det) - ASSERT (istart > 0) - ASSERT (istep > 0) - - !!$OMP DO SCHEDULE(dynamic,64) - do k_a=istart+ishift,iend,istep - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - if (kcol /= kcol_prev) then - call get_all_spin_singles_$N_int( & - psi_det_beta_unique, idx0, & - tmp_det(1,2), N_det_beta_unique, & - singles_b, n_singles_b) - endif - kcol_prev = kcol - - ! Loop over singly excited beta columns - ! ------------------------------------- - - do i=1,n_singles_b - lcol = singles_b(i) - - tmp_det2(1:$N_int,2) = psi_det_beta_unique(1:$N_int, lcol) - - l_a = psi_bilinear_matrix_columns_loc(lcol) - ASSERT (l_a <= N_det) - - do j=1,psi_bilinear_matrix_columns_loc(lcol+1) - l_a - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - buffer(1:$N_int,j) = psi_det_alpha_unique(1:$N_int, lrow) - - ASSERT (l_a <= N_det) - idx(j) = l_a - l_a = l_a+1 - enddo - j = j-1 - - call get_all_spin_singles_$N_int( & - buffer, idx, tmp_det(1,1), j, & - singles_a, n_singles_a ) - - ! Loop over alpha singles - ! ----------------------- - - if(alpha_beta.or.spin_trace)then - do k = 1,n_singles_a - l_a = singles_a(k) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - c_average = 0.d0 - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - c_average += c_1(l) * c_2(l) * state_weights(l) - enddo - call orb_range_off_diagonal_double_to_two_rdm_ab_dm(tmp_det,tmp_det2,c_average,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - enddo - endif - - enddo - - enddo - ! !$OMP END DO - - ! !$OMP DO SCHEDULE(dynamic,64) - do k_a=istart+ishift,iend,istep - - - ! Single and double alpha exitations - ! =================================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - ! Initial determinant is at k_b in beta-major representation - ! ---------------------------------------------------------------------- - - k_b = psi_bilinear_matrix_order_transp_reverse(k_a) - ASSERT (k_b <= N_det) - - spindet(1:$N_int) = tmp_det(1:$N_int,1) - - ! Loop inside the beta column to gather all the connected alphas - lcol = psi_bilinear_matrix_columns(k_a) - l_a = psi_bilinear_matrix_columns_loc(lcol) - do i=1,N_det_alpha_unique - if (l_a > N_det) exit - lcol = psi_bilinear_matrix_columns(l_a) - if (lcol /= kcol) exit - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - buffer(1:$N_int,i) = psi_det_alpha_unique(1:$N_int, lrow) - idx(i) = l_a - l_a = l_a+1 - enddo - i = i-1 - - call get_all_spin_singles_and_doubles_$N_int( & - buffer, idx, spindet, i, & - singles_a, doubles, n_singles_a, n_doubles ) - - ! Compute Hij for all alpha singles - ! ---------------------------------- - - tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - do i=1,n_singles_a - l_a = singles_a(i) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - c_average = 0.d0 - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - c_average += c_1(l) * c_2(l) * state_weights(l) - enddo - if(alpha_beta.or.spin_trace.or.alpha_alpha)then - ! increment the alpha/beta part for single excitations - call orb_range_off_diagonal_single_to_two_rdm_ab_dm(tmp_det, tmp_det2,c_average,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - ! increment the alpha/alpha part for single excitations - call orb_range_off_diagonal_single_to_two_rdm_aa_dm(tmp_det,tmp_det2,c_average,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - endif - - enddo - - - ! Compute Hij for all alpha doubles - ! ---------------------------------- - - if(alpha_alpha.or.spin_trace)then - do i=1,n_doubles - l_a = doubles(i) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - c_average = 0.d0 - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - c_average += c_1(l) * c_2(l) * state_weights(l) - enddo - call orb_range_off_diagonal_double_to_two_rdm_aa_dm(tmp_det(1,1),psi_det_alpha_unique(1, lrow),c_average,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - enddo - endif - - - ! Single and double beta excitations - ! ================================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - kcol = psi_bilinear_matrix_columns(k_a) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - spindet(1:$N_int) = tmp_det(1:$N_int,2) - - ! Initial determinant is at k_b in beta-major representation - ! ----------------------------------------------------------------------- - - k_b = psi_bilinear_matrix_order_transp_reverse(k_a) - ASSERT (k_b <= N_det) - - ! Loop inside the alpha row to gather all the connected betas - lrow = psi_bilinear_matrix_transp_rows(k_b) - l_b = psi_bilinear_matrix_transp_rows_loc(lrow) - do i=1,N_det_beta_unique - if (l_b > N_det) exit - lrow = psi_bilinear_matrix_transp_rows(l_b) - if (lrow /= krow) exit - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - buffer(1:$N_int,i) = psi_det_beta_unique(1:$N_int, lcol) - idx(i) = l_b - l_b = l_b+1 - enddo - i = i-1 - - call get_all_spin_singles_and_doubles_$N_int( & - buffer, idx, spindet, i, & - singles_b, doubles, n_singles_b, n_doubles ) - - ! Compute Hij for all beta singles - ! ---------------------------------- - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - do i=1,n_singles_b - l_b = singles_b(i) - ASSERT (l_b <= N_det) - - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, lcol) - l_a = psi_bilinear_matrix_transp_order(l_b) - c_average = 0.d0 - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - c_average += c_1(l) * c_2(l) * state_weights(l) - enddo - if(alpha_beta.or.spin_trace.or.beta_beta)then - ! increment the alpha/beta part for single excitations - call orb_range_off_diagonal_single_to_two_rdm_ab_dm(tmp_det, tmp_det2,c_average,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - ! increment the beta /beta part for single excitations - call orb_range_off_diagonal_single_to_two_rdm_bb_dm(tmp_det, tmp_det2,c_average,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - endif - enddo - - ! Compute Hij for all beta doubles - ! ---------------------------------- - - if(beta_beta.or.spin_trace)then - do i=1,n_doubles - l_b = doubles(i) - ASSERT (l_b <= N_det) - - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - l_a = psi_bilinear_matrix_transp_order(l_b) - c_average = 0.d0 - do l= 1, N_states - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - c_average += c_1(l) * c_2(l) * state_weights(l) - enddo - call orb_range_off_diagonal_double_to_two_rdm_bb_dm(tmp_det(1,2),psi_det_beta_unique(1, lcol),c_average,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - ASSERT (l_a <= N_det) - - enddo - endif - - - ! Diagonal contribution - ! ===================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - double precision, external :: diag_wee_mat_elem, diag_S_mat_elem - - double precision :: c_1(N_states),c_2(N_states) - c_average = 0.d0 - do l = 1, N_states - c_1(l) = u_t(l,k_a) - c_average += c_1(l) * c_1(l) * state_weights(l) - enddo - - call orb_range_diagonal_contrib_to_all_two_rdm_dm(tmp_det,c_average,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - - end do - !!$OMP END DO - deallocate(buffer, singles_a, singles_b, doubles, idx) - !!$OMP END PARALLEL - -end - - SUBST [ N_int ] - - 1;; - 2;; - 3;; - 4;; - N_int;; - - END_TEMPLATE - diff --git a/src/two_body_rdm/state_av_act_2_rdm_prov.irp.f b/src/two_body_rdm/state_av_act_2_rdm_prov.irp.f deleted file mode 100644 index 420a0264..00000000 --- a/src/two_body_rdm/state_av_act_2_rdm_prov.irp.f +++ /dev/null @@ -1,97 +0,0 @@ - - - - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_alpha_alpha_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] - implicit none - double precision, allocatable :: state_weights(:) - BEGIN_DOC -! state_av_act_two_rdm_alpha_alpha_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of alpha electrons -! -! -! -! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" - END_DOC - allocate(state_weights(N_states)) - state_weights = state_average_weight - integer :: ispin - ! condition for alpha/beta spin - ispin = 1 - state_av_act_two_rdm_alpha_alpha_mo = 0.D0 - call orb_range_two_rdm_state_av(state_av_act_two_rdm_alpha_alpha_mo,n_act_orb,n_act_orb,list_act,list_act_reverse,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - - END_PROVIDER - - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_beta_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] - implicit none - double precision, allocatable :: state_weights(:) - BEGIN_DOC -! state_av_act_two_rdm_beta_beta_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of beta electrons -! -! -! -! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" - END_DOC - allocate(state_weights(N_states)) - state_weights = state_average_weight - integer :: ispin - ! condition for alpha/beta spin - ispin = 2 - state_av_act_two_rdm_beta_beta_mo = 0.d0 - call orb_range_two_rdm_state_av(state_av_act_two_rdm_beta_beta_mo,n_act_orb,n_act_orb,list_act,list_act_reverse,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - - END_PROVIDER - - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_alpha_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] - implicit none - double precision, allocatable :: state_weights(:) - BEGIN_DOC -! state_av_act_two_rdm_alpha_beta_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of alpha/beta electrons -! -! -! -! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" - END_DOC - allocate(state_weights(N_states)) - state_weights = state_average_weight - integer :: ispin - ! condition for alpha/beta spin - print*,'' - print*,'' - print*,'' - print*,'providint state_av_act_two_rdm_alpha_beta_mo ' - ispin = 3 - print*,'ispin = ',ispin - state_av_act_two_rdm_alpha_beta_mo = 0.d0 - call orb_range_two_rdm_state_av(state_av_act_two_rdm_alpha_beta_mo,n_act_orb,n_act_orb,list_act,list_act_reverse,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - - END_PROVIDER - - - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_spin_trace_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] - implicit none - BEGIN_DOC -! state_av_act_two_rdm_spin_trace_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM -! -! \sum_{\sigma, \sigma'} -! -! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" - END_DOC - double precision, allocatable :: state_weights(:) - allocate(state_weights(N_states)) - state_weights = state_average_weight - integer :: ispin - ! condition for alpha/beta spin - ispin = 4 - state_av_act_two_rdm_spin_trace_mo = 0.d0 - integer :: i - double precision :: wall_0,wall_1 - call wall_time(wall_0) - print*,'providing the state average TWO-RDM ...' - print*,'psi_det_size = ',psi_det_size - print*,'N_det = ',N_det - call orb_range_two_rdm_state_av(state_av_act_two_rdm_spin_trace_mo,n_act_orb,n_act_orb,list_act,list_act_reverse,state_weights,ispin,psi_coef,N_states,size(psi_coef,1)) - - call wall_time(wall_1) - print*,'Time to provide the state average TWO-RDM',wall_1 - wall_0 - END_PROVIDER - diff --git a/src/two_body_rdm/state_av_act_2_rdm_update_routines.irp.f b/src/two_body_rdm/state_av_act_2_rdm_update_routines.irp.f deleted file mode 100644 index 52cccbf3..00000000 --- a/src/two_body_rdm/state_av_act_2_rdm_update_routines.irp.f +++ /dev/null @@ -1,670 +0,0 @@ - - subroutine orb_range_diagonal_contrib_to_two_rdm_ab_dm(det_1,c_1,big_array,dim1,orb_bitmask) - use bitmasks - BEGIN_DOC -! routine that update the DIAGONAL PART of the alpha/beta two body rdm in a specific range of orbitals -! c_1 is supposed to be a scalar quantity, such as state averaged coef - END_DOC - implicit none - integer, intent(in) :: dim1 - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) - integer(bit_kind), intent(in) :: det_1(N_int,2) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - double precision, intent(in) :: c_1 - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2 - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - do i = 1, n_occ_ab(1) - h1 = occ(i,1) - do j = 1, n_occ_ab(2) - h2 = occ(j,2) - big_array(h1,h2,h1,h2) += c_1 - enddo - enddo - end - - - subroutine orb_range_diagonal_contrib_to_all_two_rdm_dm(det_1,c_1,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - use bitmasks - BEGIN_DOC -! routine that update the DIAGONAL PART of the two body rdms in a specific range of orbitals for a given determinant det_1 -! -! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 -! -! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation -! -! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals -! -! ispin determines which spin-spin component of the two-rdm you will update -! -! ispin == 1 :: alpha/ alpha -! ispin == 2 :: beta / beta -! ispin == 3 :: alpha/ beta -! ispin == 4 :: spin traced <=> total two-rdm - END_DOC - implicit none - integer, intent(in) :: dim1,ispin - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) - integer(bit_kind), intent(in) :: det_1(N_int,2) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - double precision, intent(in) :: c_1 - - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2 - integer(bit_kind) :: det_1_act(N_int,2) - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - do i = 1, N_int - det_1_act(i,1) = iand(det_1(i,1),orb_bitmask(i)) - det_1_act(i,2) = iand(det_1(i,2),orb_bitmask(i)) - enddo - -!print*,'ahah' -!call debug_det(det_1_act,N_int) -!pause - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - BEGIN_DOC -! no factor 1/2 have to be taken into account as the permutations are already taken into account - END_DOC - call bitstring_to_list_ab(det_1_act, occ, n_occ_ab, N_int) - logical :: is_integer_in_string - integer :: i1,i2 - if(alpha_beta)then - do i = 1, n_occ_ab(1) - i1 = occ(i,1) -! if(.not.is_integer_in_string(i1,orb_bitmask,N_int))cycle - do j = 1, n_occ_ab(2) -! if(.not.is_integer_in_string(i2,orb_bitmask,N_int))cycle - i2 = occ(j,2) - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - big_array(h1,h2,h1,h2) += c_1 - enddo - enddo - else if (alpha_alpha)then - do i = 1, n_occ_ab(1) - i1 = occ(i,1) -! if(.not.is_integer_in_string(i1,orb_bitmask,N_int))cycle - do j = 1, n_occ_ab(1) - i2 = occ(j,1) -! if(.not.is_integer_in_string(i2,orb_bitmask,N_int))cycle - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - big_array(h1,h2,h1,h2) += 0.5d0 * c_1 - big_array(h1,h2,h2,h1) -= 0.5d0 * c_1 - enddo - enddo - else if (beta_beta)then - do i = 1, n_occ_ab(2) - i1 = occ(i,2) -! if(.not.is_integer_in_string(i1,orb_bitmask,N_int))cycle - do j = 1, n_occ_ab(2) - i2 = occ(j,2) -! if(.not.is_integer_in_string(i2,orb_bitmask,N_int))cycle - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - big_array(h1,h2,h1,h2) += 0.5d0 * c_1 - big_array(h1,h2,h2,h1) -= 0.5d0 * c_1 - enddo - enddo - else if(spin_trace)then - ! 0.5 * (alpha beta + beta alpha) - do i = 1, n_occ_ab(1) - i1 = occ(i,1) -! if(.not.is_integer_in_string(i1,orb_bitmask,N_int))cycle - do j = 1, n_occ_ab(2) - i2 = occ(j,2) -! if(.not.is_integer_in_string(i2,orb_bitmask,N_int))cycle - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - big_array(h1,h2,h1,h2) += 0.5d0 * (c_1 ) - big_array(h2,h1,h2,h1) += 0.5d0 * (c_1 ) - enddo - enddo - !stop - do i = 1, n_occ_ab(1) - i1 = occ(i,1) -! if(.not.is_integer_in_string(i1,orb_bitmask,N_int))cycle - do j = 1, n_occ_ab(1) - i2 = occ(j,1) -! if(.not.is_integer_in_string(i2,orb_bitmask,N_int))cycle - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - big_array(h1,h2,h1,h2) += 0.5d0 * c_1 - big_array(h1,h2,h2,h1) -= 0.5d0 * c_1 - enddo - enddo - do i = 1, n_occ_ab(2) - i1 = occ(i,2) -! if(.not.is_integer_in_string(i1,orb_bitmask,N_int))cycle - do j = 1, n_occ_ab(2) - i2 = occ(j,2) -! if(.not.is_integer_in_string(i2,orb_bitmask,N_int))cycle - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - big_array(h1,h2,h1,h2) += 0.5d0 * c_1 - big_array(h1,h2,h2,h1) -= 0.5d0 * c_1 - enddo - enddo - endif - end - - - subroutine orb_range_off_diagonal_double_to_two_rdm_ab_dm(det_1,det_2,c_1,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for -! -! a given couple of determinant det_1, det_2 being a alpha/beta DOUBLE excitation with respect to one another -! -! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 -! -! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation -! -! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals -! -! ispin determines which spin-spin component of the two-rdm you will update -! -! ispin == 1 :: alpha/ alpha -! ispin == 2 :: beta / beta -! ispin == 3 :: alpha/ beta -! ispin == 4 :: spin traced <=> total two-rdm -! -! here, only ispin == 3 or 4 will do something - END_DOC - implicit none - integer, intent(in) :: dim1,ispin - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1 - integer :: i,j,h1,h2,p1,p2 - integer :: exc(0:2,2,2) - double precision :: phase - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif -!print*,'' -!do i = 1, mo_num -! print*,'list_orb',i,list_orb_reverse(i) -!enddo - call get_double_excitation(det_1,det_2,exc,phase,N_int) - h1 = exc(1,1,1) -!print*,'h1',h1 - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) -!print*,'passed h1 = ',h1 - h2 = exc(1,1,2) -!print*,'h2',h2 - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))return - h2 = list_orb_reverse(h2) -!print*,'passed h2 = ',h2 - p1 = exc(1,2,1) -!print*,'p1',p1 - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) -!print*,'passed p1 = ',p1 - p2 = exc(1,2,2) -!print*,'p2',p2 - if(.not.is_integer_in_string(p2,orb_bitmask,N_int))return - p2 = list_orb_reverse(p2) -!print*,'passed p2 = ',p2 - if(alpha_beta)then - big_array(h1,h2,p1,p2) += c_1 * phase - else if(spin_trace)then - big_array(h1,h2,p1,p2) += 0.5d0 * c_1 * phase - big_array(p1,p2,h1,h2) += 0.5d0 * c_1 * phase - !print*,'h1,h2,p1,p2',h1,h2,p1,p2 - !print*,'',big_array(h1,h2,p1,p2) - endif - end - - subroutine orb_range_off_diagonal_single_to_two_rdm_ab_dm(det_1,det_2,c_1,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for -! -! a given couple of determinant det_1, det_2 being a SINGLE excitation with respect to one another -! -! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 -! -! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation -! -! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals -! -! ispin determines which spin-spin component of the two-rdm you will update -! -! ispin == 1 :: alpha/ alpha -! ispin == 2 :: beta / beta -! ispin == 3 :: alpha/ beta -! ispin == 4 :: spin traced <=> total two-rdm -! -! here, only ispin == 3 or 4 will do something - END_DOC - implicit none - integer, intent(in) :: dim1,ispin - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1 - - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,p1 - integer :: exc(0:2,2,2) - double precision :: phase - - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - call get_single_excitation(det_1,det_2,exc,phase,N_int) - if(alpha_beta)then - if (exc(0,1,1) == 1) then - ! Mono alpha - h1 = exc(1,1,1) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,1) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - do i = 1, n_occ_ab(2) - h2 = occ(i,2) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle - h2 = list_orb_reverse(h2) - big_array(h1,h2,p1,h2) += c_1 * phase - enddo - else - ! Mono beta - h1 = exc(1,1,2) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,2) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - do i = 1, n_occ_ab(1) - h2 = occ(i,1) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle - h2 = list_orb_reverse(h2) - big_array(h2,h1,h2,p1) += c_1 * phase - enddo - endif - else if(spin_trace)then - if (exc(0,1,1) == 1) then - ! Mono alpha - h1 = exc(1,1,1) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,1) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - do i = 1, n_occ_ab(2) - h2 = occ(i,2) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle - h2 = list_orb_reverse(h2) - big_array(h1,h2,p1,h2) += 0.5d0 * c_1 * phase - big_array(h2,h1,h2,p1) += 0.5d0 * c_1 * phase - enddo - else - ! Mono beta - h1 = exc(1,1,2) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,2) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - do i = 1, n_occ_ab(1) - h2 = occ(i,1) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle - h2 = list_orb_reverse(h2) - big_array(h1,h2,p1,h2) += 0.5d0 * c_1 * phase - big_array(h2,h1,h2,p1) += 0.5d0 * c_1 * phase - enddo - endif - endif - end - - subroutine orb_range_off_diagonal_single_to_two_rdm_aa_dm(det_1,det_2,c_1,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for -! -! a given couple of determinant det_1, det_2 being a ALPHA SINGLE excitation with respect to one another -! -! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 -! -! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation -! -! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals -! -! ispin determines which spin-spin component of the two-rdm you will update -! -! ispin == 1 :: alpha/ alpha -! ispin == 2 :: beta / beta -! ispin == 3 :: alpha/ beta -! ispin == 4 :: spin traced <=> total two-rdm -! -! here, only ispin == 1 or 4 will do something - END_DOC - use bitmasks - implicit none - integer, intent(in) :: dim1,ispin - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1 - - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,p1 - integer :: exc(0:2,2,2) - double precision :: phase - - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - call get_single_excitation(det_1,det_2,exc,phase,N_int) - if(alpha_alpha.or.spin_trace)then - if (exc(0,1,1) == 1) then - ! Mono alpha - h1 = exc(1,1,1) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,1) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - do i = 1, n_occ_ab(1) - h2 = occ(i,1) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle - h2 = list_orb_reverse(h2) - big_array(h1,h2,p1,h2) += 0.5d0 * c_1 * phase - big_array(h1,h2,h2,p1) -= 0.5d0 * c_1 * phase - - big_array(h2,h1,h2,p1) += 0.5d0 * c_1 * phase - big_array(h2,h1,p1,h2) -= 0.5d0 * c_1 * phase - enddo - else - return - endif - endif - end - - subroutine orb_range_off_diagonal_single_to_two_rdm_bb_dm(det_1,det_2,c_1,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for -! -! a given couple of determinant det_1, det_2 being a BETA SINGLE excitation with respect to one another -! -! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 -! -! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation -! -! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals -! -! ispin determines which spin-spin component of the two-rdm you will update -! -! ispin == 1 :: alpha/ alpha -! ispin == 2 :: beta / beta -! ispin == 3 :: alpha/ beta -! ispin == 4 :: spin traced <=> total two-rdm -! -! here, only ispin == 2 or 4 will do something - END_DOC - implicit none - integer, intent(in) :: dim1,ispin - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1 - - - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,p1 - integer :: exc(0:2,2,2) - double precision :: phase - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - - - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - call get_single_excitation(det_1,det_2,exc,phase,N_int) - if(beta_beta.or.spin_trace)then - if (exc(0,1,1) == 1) then - return - else - ! Mono beta - h1 = exc(1,1,2) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,2) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - do i = 1, n_occ_ab(2) - h2 = occ(i,2) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle - h2 = list_orb_reverse(h2) - big_array(h1,h2,p1,h2) += 0.5d0 * c_1 * phase - big_array(h1,h2,h2,p1) -= 0.5d0 * c_1 * phase - - big_array(h2,h1,h2,p1) += 0.5d0 * c_1 * phase - big_array(h2,h1,p1,h2) -= 0.5d0 * c_1 * phase - enddo - endif - endif - end - - - subroutine orb_range_off_diagonal_double_to_two_rdm_aa_dm(det_1,det_2,c_1,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for -! -! a given couple of determinant det_1, det_2 being a ALPHA/ALPHA DOUBLE excitation with respect to one another -! -! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 -! -! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation -! -! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals -! -! ispin determines which spin-spin component of the two-rdm you will update -! -! ispin == 1 :: alpha/ alpha -! ispin == 2 :: beta / beta -! ispin == 3 :: alpha/ beta -! ispin == 4 :: spin traced <=> total two-rdm -! -! here, only ispin == 1 or 4 will do something - END_DOC - implicit none - integer, intent(in) :: dim1,ispin - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) - integer(bit_kind), intent(in) :: det_1(N_int),det_2(N_int) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1 - - integer :: i,j,h1,h2,p1,p2 - integer :: exc(0:2,2) - double precision :: phase - - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - call get_double_excitation_spin(det_1,det_2,exc,phase,N_int) - h1 =exc(1,1) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - h2 =exc(2,1) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))return - h2 = list_orb_reverse(h2) - p1 =exc(1,2) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - p2 =exc(2,2) - if(.not.is_integer_in_string(p2,orb_bitmask,N_int))return - p2 = list_orb_reverse(p2) - if(alpha_alpha.or.spin_trace)then - big_array(h1,h2,p1,p2) += 0.5d0 * c_1 * phase - big_array(h1,h2,p2,p1) -= 0.5d0 * c_1 * phase - - big_array(h2,h1,p2,p1) += 0.5d0 * c_1 * phase - big_array(h2,h1,p1,p2) -= 0.5d0 * c_1 * phase - endif - end - - subroutine orb_range_off_diagonal_double_to_two_rdm_bb_dm(det_1,det_2,c_1,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for -! -! a given couple of determinant det_1, det_2 being a BETA /BETA DOUBLE excitation with respect to one another -! -! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 -! -! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation -! -! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals -! -! ispin determines which spin-spin component of the two-rdm you will update -! -! ispin == 1 :: alpha/ alpha -! ispin == 2 :: beta / beta -! ispin == 3 :: alpha/ beta -! ispin == 4 :: spin traced <=> total two-rdm -! -! here, only ispin == 2 or 4 will do something - END_DOC - implicit none - - integer, intent(in) :: dim1,ispin - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) - integer(bit_kind), intent(in) :: det_1(N_int),det_2(N_int) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1 - - integer :: i,j,h1,h2,p1,p2 - integer :: exc(0:2,2) - double precision :: phase - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - - call get_double_excitation_spin(det_1,det_2,exc,phase,N_int) - h1 =exc(1,1) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - h2 =exc(2,1) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))return - h2 = list_orb_reverse(h2) - p1 =exc(1,2) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - p2 =exc(2,2) - if(.not.is_integer_in_string(p2,orb_bitmask,N_int))return - p2 = list_orb_reverse(p2) - if(beta_beta.or.spin_trace)then - big_array(h1,h2,p1,p2) += 0.5d0 * c_1* phase - big_array(h1,h2,p2,p1) -= 0.5d0 * c_1* phase - - big_array(h2,h1,p2,p1) += 0.5d0 * c_1* phase - big_array(h2,h1,p1,p2) -= 0.5d0 * c_1* phase - endif - end - diff --git a/src/two_body_rdm/all_states_act_2_rdm_dav_routines.irp.f b/src/two_rdm_routines/all_states_david.irp.f similarity index 100% rename from src/two_body_rdm/all_states_act_2_rdm_dav_routines.irp.f rename to src/two_rdm_routines/all_states_david.irp.f diff --git a/src/two_body_rdm/all_states_act_2_rdm_update_routines.irp.f b/src/two_rdm_routines/all_states_update.irp.f similarity index 100% rename from src/two_body_rdm/all_states_act_2_rdm_update_routines.irp.f rename to src/two_rdm_routines/all_states_update.irp.f diff --git a/src/two_body_rdm/orb_range_routines_omp.irp.f b/src/two_rdm_routines/state_av_david_omp.irp.f similarity index 100% rename from src/two_body_rdm/orb_range_routines_omp.irp.f rename to src/two_rdm_routines/state_av_david_omp.irp.f diff --git a/src/two_body_rdm/compute_orb_range_omp.irp.f b/src/two_rdm_routines/state_av_update_omp.irp.f similarity index 100% rename from src/two_body_rdm/compute_orb_range_omp.irp.f rename to src/two_rdm_routines/state_av_update_omp.irp.f From 068c3fa027176a13f550405d677c8081f24b7b32 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Fri, 20 Mar 2020 14:36:52 +0100 Subject: [PATCH 023/138] beginning to put openmp in all_states 2rdm --- ...v.irp.f => all_states_full_orb_prov.irp.f} | 0 src/two_body_rdm/state_av_2rdm.irp.f | 46 +++++++++---------- src/two_body_rdm/test_2_rdm.irp.f | 8 ++-- 3 files changed, 27 insertions(+), 27 deletions(-) rename src/two_body_rdm/{all_states_full_2_rdm_prov.irp.f => all_states_full_orb_prov.irp.f} (100%) diff --git a/src/two_body_rdm/all_states_full_2_rdm_prov.irp.f b/src/two_body_rdm/all_states_full_orb_prov.irp.f similarity index 100% rename from src/two_body_rdm/all_states_full_2_rdm_prov.irp.f rename to src/two_body_rdm/all_states_full_orb_prov.irp.f diff --git a/src/two_body_rdm/state_av_2rdm.irp.f b/src/two_body_rdm/state_av_2rdm.irp.f index e4a34abd..c8c625bc 100644 --- a/src/two_body_rdm/state_av_2rdm.irp.f +++ b/src/two_body_rdm/state_av_2rdm.irp.f @@ -1,9 +1,9 @@ - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_openmp_alpha_alpha_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + BEGIN_PROVIDER [double precision, state_av_act_two_rdm_alpha_alpha_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] implicit none double precision, allocatable :: state_weights(:) BEGIN_DOC -! state_av_act_two_rdm_openmp_alpha_alpha_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-alpha electron pairs +! state_av_act_two_rdm_alpha_alpha_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-alpha electron pairs ! = END_DOC allocate(state_weights(N_states)) @@ -11,20 +11,20 @@ integer :: ispin ! condition for alpha/beta spin ispin = 1 - state_av_act_two_rdm_openmp_alpha_alpha_mo = 0.D0 + state_av_act_two_rdm_alpha_alpha_mo = 0.D0 call wall_time(wall_1) double precision :: wall_1, wall_2 - call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_alpha_alpha_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_alpha_alpha_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Wall time to provide state_av_act_two_rdm_openmp_alpha_alpha_mo',wall_2 - wall_1 + print*,'Wall time to provide state_av_act_two_rdm_alpha_alpha_mo',wall_2 - wall_1 END_PROVIDER - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_openmp_beta_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + BEGIN_PROVIDER [double precision, state_av_act_two_rdm_beta_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] implicit none double precision, allocatable :: state_weights(:) BEGIN_DOC -! state_av_act_two_rdm_openmp_beta_beta_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for beta-beta electron pairs +! state_av_act_two_rdm_beta_beta_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for beta-beta electron pairs ! = END_DOC allocate(state_weights(N_states)) @@ -32,20 +32,20 @@ integer :: ispin ! condition for alpha/beta spin ispin = 2 - state_av_act_two_rdm_openmp_beta_beta_mo = 0.d0 + state_av_act_two_rdm_beta_beta_mo = 0.d0 call wall_time(wall_1) double precision :: wall_1, wall_2 - call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_beta_beta_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_beta_beta_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Wall time to provide state_av_act_two_rdm_openmp_beta_beta_mo',wall_2 - wall_1 + print*,'Wall time to provide state_av_act_two_rdm_beta_beta_mo',wall_2 - wall_1 END_PROVIDER - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_openmp_alpha_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + BEGIN_PROVIDER [double precision, state_av_act_two_rdm_alpha_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] implicit none double precision, allocatable :: state_weights(:) BEGIN_DOC -! state_av_act_two_rdm_openmp_alpha_beta_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-beta electron pairs +! state_av_act_two_rdm_alpha_beta_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-beta electron pairs ! = END_DOC allocate(state_weights(N_states)) @@ -55,26 +55,26 @@ print*,'' print*,'' print*,'' - print*,'providint state_av_act_two_rdm_openmp_alpha_beta_mo ' + print*,'providint state_av_act_two_rdm_alpha_beta_mo ' ispin = 3 print*,'ispin = ',ispin - state_av_act_two_rdm_openmp_alpha_beta_mo = 0.d0 + state_av_act_two_rdm_alpha_beta_mo = 0.d0 call wall_time(wall_1) double precision :: wall_1, wall_2 - call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_alpha_beta_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_alpha_beta_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Wall time to provide state_av_act_two_rdm_openmp_alpha_beta_mo',wall_2 - wall_1 + print*,'Wall time to provide state_av_act_two_rdm_alpha_beta_mo',wall_2 - wall_1 END_PROVIDER - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_openmp_spin_trace_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + BEGIN_PROVIDER [double precision, state_av_act_two_rdm_spin_trace_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] implicit none BEGIN_DOC -! state_av_act_two_rdm_openmp_spin_trace_mo(i,j,k,l) = state average physicist spin trace two-body rdm restricted to the ACTIVE indices +! state_av_act_two_rdm_spin_trace_mo(i,j,k,l) = state average physicist spin trace two-body rdm restricted to the ACTIVE indices ! The active part of the two-electron energy can be computed as: ! -! \sum_{i,j,k,l = 1, n_act_orb} state_av_act_two_rdm_openmp_spin_trace_mo(i,j,k,l) * < ii jj | kk ll > +! \sum_{i,j,k,l = 1, n_act_orb} state_av_act_two_rdm_spin_trace_mo(i,j,k,l) * < ii jj | kk ll > ! ! with ii = list_act(i), jj = list_act(j), kk = list_act(k), ll = list_act(l) END_DOC @@ -84,14 +84,14 @@ integer :: ispin ! condition for alpha/beta spin ispin = 4 - state_av_act_two_rdm_openmp_spin_trace_mo = 0.d0 + state_av_act_two_rdm_spin_trace_mo = 0.d0 integer :: i call wall_time(wall_1) double precision :: wall_1, wall_2 - print*,'providing state_av_act_two_rdm_openmp_spin_trace_mo ' - call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_openmp_spin_trace_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + print*,'providing state_av_act_two_rdm_spin_trace_mo ' + call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_spin_trace_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Time to provide state_av_act_two_rdm_openmp_spin_trace_mo',wall_2 - wall_1 + print*,'Time to provide state_av_act_two_rdm_spin_trace_mo',wall_2 - wall_1 END_PROVIDER diff --git a/src/two_body_rdm/test_2_rdm.irp.f b/src/two_body_rdm/test_2_rdm.irp.f index fe010abe..620bb03d 100644 --- a/src/two_body_rdm/test_2_rdm.irp.f +++ b/src/two_body_rdm/test_2_rdm.irp.f @@ -42,10 +42,10 @@ subroutine routine_active_only vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) - rdmab_omp = state_av_act_two_rdm_openmp_alpha_beta_mo(l,k,j,i) - rdmbb_omp = state_av_act_two_rdm_openmp_beta_beta_mo(l,k,j,i) - rdmaa_omp = state_av_act_two_rdm_openmp_alpha_alpha_mo(l,k,j,i) - rdmtot_omp = state_av_act_two_rdm_openmp_spin_trace_mo(l,k,j,i) + rdmab_omp = state_av_act_two_rdm_alpha_beta_mo(l,k,j,i) + rdmbb_omp = state_av_act_two_rdm_beta_beta_mo(l,k,j,i) + rdmaa_omp = state_av_act_two_rdm_alpha_alpha_mo(l,k,j,i) + rdmtot_omp = state_av_act_two_rdm_spin_trace_mo(l,k,j,i) rdmaa = all_states_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) rdmbb = all_states_act_two_rdm_beta_beta_mo(l,k,j,i,istate) From 27ab9ed2d7dc2cd6aeb8d0c7d258fb73a5eec3e7 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Fri, 20 Mar 2020 20:22:48 +0100 Subject: [PATCH 024/138] alpha alpha 2rdm work for openmp --- src/two_body_rdm/test_2_rdm.irp.f | 33 +- src/two_rdm_routines/NEED | 1 + .../all_states_david_openmp.irp.f | 575 ++++++++++++ src/two_rdm_routines/all_states_update.irp.f | 28 - .../all_states_update_openmp.irp.f | 867 ++++++++++++++++++ 5 files changed, 1461 insertions(+), 43 deletions(-) create mode 100644 src/two_rdm_routines/NEED create mode 100644 src/two_rdm_routines/all_states_david_openmp.irp.f create mode 100644 src/two_rdm_routines/all_states_update_openmp.irp.f diff --git a/src/two_body_rdm/test_2_rdm.irp.f b/src/two_body_rdm/test_2_rdm.irp.f index 620bb03d..7a5bfec5 100644 --- a/src/two_body_rdm/test_2_rdm.irp.f +++ b/src/two_body_rdm/test_2_rdm.irp.f @@ -42,25 +42,28 @@ subroutine routine_active_only vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) - rdmab_omp = state_av_act_two_rdm_alpha_beta_mo(l,k,j,i) - rdmbb_omp = state_av_act_two_rdm_beta_beta_mo(l,k,j,i) - rdmaa_omp = state_av_act_two_rdm_alpha_alpha_mo(l,k,j,i) - rdmtot_omp = state_av_act_two_rdm_spin_trace_mo(l,k,j,i) +! rdmab_omp = state_av_act_two_rdm_alpha_beta_mo(l,k,j,i) +! rdmbb_omp = state_av_act_two_rdm_beta_beta_mo(l,k,j,i) +! rdmaa_omp = state_av_act_two_rdm_alpha_alpha_mo(l,k,j,i) +! rdmtot_omp = state_av_act_two_rdm_spin_trace_mo(l,k,j,i) + + + rdmab_omp = all_states_openmp_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) + rdmaa_omp = all_states_openmp_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) rdmaa = all_states_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) - rdmbb = all_states_act_two_rdm_beta_beta_mo(l,k,j,i,istate) +! rdmbb = all_states_act_two_rdm_beta_beta_mo(l,k,j,i,istate) rdmab = all_states_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) - rdmtot = all_states_act_two_rdm_spin_trace_mo(l,k,j,i,istate) +! rdmtot = all_states_act_two_rdm_spin_trace_mo(l,k,j,i,istate) accu_ab_omp += vijkl * rdmab_omp - accu_bb_omp += vijkl * rdmbb_omp accu_aa_omp += vijkl * rdmaa_omp - accu_tot_omp += vijkl * rdmtot_omp +! accu_tot_omp += vijkl * rdmtot_omp accu_ab(istate) += vijkl * rdmab accu_aa(istate) += vijkl * rdmaa - accu_bb(istate) += vijkl * rdmbb - accu_tot(istate) += vijkl * rdmtot +! accu_bb(istate) += vijkl * rdmbb +! accu_tot(istate) += vijkl * rdmtot enddo enddo enddo @@ -69,14 +72,14 @@ subroutine routine_active_only print*,'Active space only energy ' print*,'accu_aa(istate) = ',accu_aa(istate) print*,'accu_aa_omp = ',accu_aa_omp - print*,'accu_bb(istate) = ',accu_bb(istate) - print*,'accu_bb_omp = ',accu_bb_omp +! print*,'accu_bb(istate) = ',accu_bb(istate) +! print*,'accu_bb_omp = ',accu_bb_omp print*,'accu_ab(istate) = ',accu_ab(istate) print*,'accu_ab_omp = ',accu_ab_omp print*,'' - print*,'sum (istate) = ',accu_aa(istate) + accu_bb(istate) + accu_ab(istate) - print*,'accu_tot(istate) = ',accu_tot(istate) - print*,'accu_tot_omp = ',accu_tot_omp +! print*,'sum (istate) = ',accu_aa(istate) + accu_bb(istate) + accu_ab(istate) +! print*,'accu_tot(istate) = ',accu_tot(istate) +! print*,'accu_tot_omp = ',accu_tot_omp print*,'psi_energy_two_e(istate) = ',psi_energy_two_e(istate) enddo diff --git a/src/two_rdm_routines/NEED b/src/two_rdm_routines/NEED new file mode 100644 index 00000000..711fbf96 --- /dev/null +++ b/src/two_rdm_routines/NEED @@ -0,0 +1 @@ +davidson_undressed diff --git a/src/two_rdm_routines/all_states_david_openmp.irp.f b/src/two_rdm_routines/all_states_david_openmp.irp.f new file mode 100644 index 00000000..bdcafd6c --- /dev/null +++ b/src/two_rdm_routines/all_states_david_openmp.irp.f @@ -0,0 +1,575 @@ +subroutine orb_range_two_rdm_all_states_openmp_openmp(big_array,dim1,norb,list_orb,ispin,u_0,N_st,sze) + use bitmasks + implicit none + BEGIN_DOC + ! if ispin == 1 :: alpha/alpha 2rdm + ! == 2 :: beta /beta 2rdm + ! == 3 :: alpha/beta 2rdm + ! == 4 :: spin traced 2rdm :: aa + bb + 0.5 (ab + ba)) + ! + ! Assumes that the determinants are in psi_det + ! + ! istart, iend, ishift, istep are used in ZMQ parallelization. + END_DOC + integer, intent(in) :: N_st,sze + integer, intent(in) :: dim1,norb,list_orb(norb),ispin + double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) + double precision, intent(in) :: u_0(sze,N_st) + + integer :: k + double precision, allocatable :: u_t(:,:) + !DIR$ ATTRIBUTES ALIGN : $IRP_ALIGN :: u_t + allocate(u_t(N_st,N_det)) + do k=1,N_st + call dset_order(u_0(1,k),psi_bilinear_matrix_order,N_det) + enddo + call dtranspose( & + u_0, & + size(u_0, 1), & + u_t, & + size(u_t, 1), & + N_det, N_st) + + call orb_range_two_rdm_all_states_openmp_openmp_work(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,1,N_det,0,1) + deallocate(u_t) + + do k=1,N_st + call dset_order(u_0(1,k),psi_bilinear_matrix_order_reverse,N_det) + enddo + +end + +subroutine orb_range_two_rdm_all_states_openmp_openmp_work(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + use bitmasks + implicit none + BEGIN_DOC + ! Computes two-rdm + ! + ! Default should be 1,N_det,0,1 + END_DOC + integer, intent(in) :: N_st,sze,istart,iend,ishift,istep + integer, intent(in) :: dim1,norb,list_orb(norb),ispin + double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) + double precision, intent(in) :: u_t(N_st,N_det) + + integer :: k + + PROVIDE N_int + + select case (N_int) + case (1) + call orb_range_two_rdm_all_states_openmp_openmp_work_1(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + case (2) + call orb_range_two_rdm_all_states_openmp_openmp_work_2(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + case (3) + call orb_range_two_rdm_all_states_openmp_openmp_work_3(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + case (4) + call orb_range_two_rdm_all_states_openmp_openmp_work_4(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + case default + call orb_range_two_rdm_all_states_openmp_openmp_work_N_int(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + end select +end + + + + + BEGIN_TEMPLATE +subroutine orb_range_two_rdm_all_states_openmp_openmp_work_$N_int(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + use bitmasks + use omp_lib + implicit none + BEGIN_DOC + ! Computes the two rdm for the N_st vectors |u_t> + ! if ispin == 1 :: alpha/alpha 2rdm + ! == 2 :: beta /beta 2rdm + ! == 3 :: alpha/beta 2rdm + ! == 4 :: spin traced 2rdm :: aa + bb + 0.5 (ab + ba)) + ! The 2rdm will be computed only on the list of orbitals list_orb, which contains norb + ! Default should be 1,N_det,0,1 for istart,iend,ishift,istep + END_DOC + integer, intent(in) :: N_st,sze,istart,iend,ishift,istep + double precision, intent(in) :: u_t(N_st,N_det) + integer, intent(in) :: dim1,norb,list_orb(norb),ispin + double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1) + + integer(omp_lock_kind) :: lock_2rdm + integer :: i,j,k,l + integer :: k_a, k_b, l_a, l_b + integer :: krow, kcol + integer :: lrow, lcol + integer(bit_kind) :: spindet($N_int) + integer(bit_kind) :: tmp_det($N_int,2) + integer(bit_kind) :: tmp_det2($N_int,2) + integer(bit_kind) :: tmp_det3($N_int,2) + integer(bit_kind), allocatable :: buffer(:,:) + integer :: n_doubles + integer, allocatable :: doubles(:) + integer, allocatable :: singles_a(:) + integer, allocatable :: singles_b(:) + integer, allocatable :: idx(:), idx0(:) + integer :: maxab, n_singles_a, n_singles_b, kcol_prev + + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + integer(bit_kind) :: orb_bitmask($N_int) + integer :: list_orb_reverse(mo_num) + integer, allocatable :: keys(:,:) + double precision, allocatable :: values(:,:) + integer :: nkeys,sze_buff + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + else + print*,'Wrong parameter for ispin in general_two_rdm_state_av_openmp_work' + print*,'ispin = ',ispin + stop + endif + + + PROVIDE N_int + + call list_to_bitstring( orb_bitmask, list_orb, norb, N_int) + sze_buff = 6 * norb + list_orb_reverse = -1000 + do i = 1, norb + list_orb_reverse(list_orb(i)) = i + enddo + maxab = max(N_det_alpha_unique, N_det_beta_unique)+1 + allocate(idx0(maxab)) + + do i=1,maxab + idx0(i) = i + enddo + call omp_init_lock(lock_2rdm) + + ! Prepare the array of all alpha single excitations + ! ------------------------------------------------- + + PROVIDE N_int nthreads_davidson elec_alpha_num + !$OMP PARALLEL DEFAULT(NONE) NUM_THREADS(nthreads_davidson) & + !$OMP SHARED(psi_bilinear_matrix_rows, N_det,lock_2rdm,& + !$OMP psi_bilinear_matrix_columns, & + !$OMP psi_det_alpha_unique, psi_det_beta_unique,& + !$OMP n_det_alpha_unique, n_det_beta_unique, N_int,& + !$OMP psi_bilinear_matrix_transp_rows, & + !$OMP psi_bilinear_matrix_transp_columns, & + !$OMP psi_bilinear_matrix_transp_order, N_st, & + !$OMP psi_bilinear_matrix_order_transp_reverse, & + !$OMP psi_bilinear_matrix_columns_loc, & + !$OMP psi_bilinear_matrix_transp_rows_loc,elec_alpha_num, & + !$OMP istart, iend, istep, irp_here,list_orb_reverse, n_states, dim1, & + !$OMP ishift, idx0, u_t, maxab, alpha_alpha,beta_beta,alpha_beta,spin_trace,ispin,big_array,sze_buff,orb_bitmask) & + !$OMP PRIVATE(krow, kcol, tmp_det, spindet, k_a, k_b, i,c_1, & + !$OMP lcol, lrow, l_a, l_b, & + !$OMP buffer, doubles, n_doubles, & + !$OMP tmp_det2, idx, l, kcol_prev, & + !$OMP singles_a, n_singles_a, singles_b, & + !$OMP n_singles_b, nkeys, keys, values) + + ! Alpha/Beta double excitations + ! ============================= + nkeys = 0 + allocate( keys(4,sze_buff), values(n_st,sze_buff)) + allocate( buffer($N_int,maxab), & + singles_a(maxab), & + singles_b(maxab), & + doubles(maxab), & + idx(maxab)) + + kcol_prev=-1 + + ASSERT (iend <= N_det) + ASSERT (istart > 0) + ASSERT (istep > 0) + + !$OMP DO SCHEDULE(dynamic,64) + do k_a=istart+ishift,iend,istep + + krow = psi_bilinear_matrix_rows(k_a) + ASSERT (krow <= N_det_alpha_unique) + + kcol = psi_bilinear_matrix_columns(k_a) + ASSERT (kcol <= N_det_beta_unique) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + + if (kcol /= kcol_prev) then + call get_all_spin_singles_$N_int( & + psi_det_beta_unique, idx0, & + tmp_det(1,2), N_det_beta_unique, & + singles_b, n_singles_b) + endif + kcol_prev = kcol + + ! Loop over singly excited beta columns + ! ------------------------------------- + + do i=1,n_singles_b + lcol = singles_b(i) + + tmp_det2(1:$N_int,2) = psi_det_beta_unique(1:$N_int, lcol) + + l_a = psi_bilinear_matrix_columns_loc(lcol) + ASSERT (l_a <= N_det) + + do j=1,psi_bilinear_matrix_columns_loc(lcol+1) - l_a + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + buffer(1:$N_int,j) = psi_det_alpha_unique(1:$N_int, lrow) + + ASSERT (l_a <= N_det) + idx(j) = l_a + l_a = l_a+1 + enddo + j = j-1 + + call get_all_spin_singles_$N_int( & + buffer, idx, tmp_det(1,1), j, & + singles_a, n_singles_a ) + + ! Loop over alpha singles + ! ----------------------- + + if(alpha_beta.or.spin_trace)then + do k = 1,n_singles_a + l_a = singles_a(k) + ASSERT (l_a <= N_det) + + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) +! print*,'nkeys before = ',nkeys + do l= 1, N_states + c_1(l) = u_t(l,l_a) * u_t(l,k_a) + enddo + if(alpha_beta)then + ! only ONE contribution + if (nkeys+1 .ge. sze_buff) then + call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + nkeys = 0 + endif + else if (spin_trace)then + ! TWO contributions + if (nkeys+2 .ge. sze_buff) then + call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + nkeys = 0 + endif + endif + call orb_range_off_diag_double_to_all_states_ab_dm_buffer(tmp_det,tmp_det2,c_1,N_st,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) +! print*,'coucou' + enddo + endif + + call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + nkeys = 0 + enddo + + enddo + !$OMP END DO + + !$OMP DO SCHEDULE(dynamic,64) + do k_a=istart+ishift,iend,istep + + + ! Single and double alpha exitations + ! =================================== + + + ! Initial determinant is at k_a in alpha-major representation + ! ----------------------------------------------------------------------- + + krow = psi_bilinear_matrix_rows(k_a) + ASSERT (krow <= N_det_alpha_unique) + + kcol = psi_bilinear_matrix_columns(k_a) + ASSERT (kcol <= N_det_beta_unique) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + + ! Initial determinant is at k_b in beta-major representation + ! ---------------------------------------------------------------------- + + k_b = psi_bilinear_matrix_order_transp_reverse(k_a) + ASSERT (k_b <= N_det) + + spindet(1:$N_int) = tmp_det(1:$N_int,1) + + ! Loop inside the beta column to gather all the connected alphas + lcol = psi_bilinear_matrix_columns(k_a) + l_a = psi_bilinear_matrix_columns_loc(lcol) + do i=1,N_det_alpha_unique + if (l_a > N_det) exit + lcol = psi_bilinear_matrix_columns(l_a) + if (lcol /= kcol) exit + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + buffer(1:$N_int,i) = psi_det_alpha_unique(1:$N_int, lrow) + idx(i) = l_a + l_a = l_a+1 + enddo + i = i-1 + + call get_all_spin_singles_and_doubles_$N_int( & + buffer, idx, spindet, i, & + singles_a, doubles, n_singles_a, n_doubles ) + + ! Compute Hij for all alpha singles + ! ---------------------------------- + + tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + do i=1,n_singles_a + l_a = singles_a(i) + ASSERT (l_a <= N_det) + + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) + do l= 1, N_states + c_1(l) = u_t(l,l_a) * u_t(l,k_a) + enddo + if(alpha_beta.or.spin_trace.or.alpha_alpha)then + ! increment the alpha/beta part for single excitations + if (nkeys+ 2 * elec_alpha_num .ge. sze_buff) then + call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + nkeys = 0 + endif + call orb_range_off_diag_single_to_all_states_ab_dm_buffer(tmp_det, tmp_det2,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + ! increment the alpha/alpha part for single excitations + if (nkeys+4 * elec_alpha_num .ge. sze_buff ) then + call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + nkeys = 0 + endif +! call orb_range_off_diag_single_to_two_rdm_aa_dm_buffer(tmp_det,tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call orb_range_off_diag_single_to_all_states_aa_dm_buffer(tmp_det,tmp_det2,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) +! print*,'to do orb_range_off_diag_single_to_two_rdm_aa_dm_buffer' + endif + + enddo + + call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + nkeys = 0 + + ! Compute Hij for all alpha doubles + ! ---------------------------------- + + if(alpha_alpha.or.spin_trace)then + do i=1,n_doubles + l_a = doubles(i) + ASSERT (l_a <= N_det) + + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + do l= 1, N_states + c_1(l) = u_t(l,l_a) * u_t(l,k_a) + enddo + if (nkeys+4 .ge. sze_buff) then + call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + nkeys = 0 + endif + call orb_range_off_diag_double_to_all_states_aa_dm_buffer(tmp_det(1,1),psi_det_alpha_unique(1, lrow),c_1,N_st,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) +! print*,'to do orb_range_off_diag_double_to_two_rdm_aa_dm_buffer' + enddo + endif + call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + nkeys = 0 + + + ! Single and double beta excitations + ! ================================== + + + ! Initial determinant is at k_a in alpha-major representation + ! ----------------------------------------------------------------------- + + krow = psi_bilinear_matrix_rows(k_a) + kcol = psi_bilinear_matrix_columns(k_a) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + + spindet(1:$N_int) = tmp_det(1:$N_int,2) + + ! Initial determinant is at k_b in beta-major representation + ! ----------------------------------------------------------------------- + + k_b = psi_bilinear_matrix_order_transp_reverse(k_a) + ASSERT (k_b <= N_det) + + ! Loop inside the alpha row to gather all the connected betas + lrow = psi_bilinear_matrix_transp_rows(k_b) + l_b = psi_bilinear_matrix_transp_rows_loc(lrow) + do i=1,N_det_beta_unique + if (l_b > N_det) exit + lrow = psi_bilinear_matrix_transp_rows(l_b) + if (lrow /= krow) exit + lcol = psi_bilinear_matrix_transp_columns(l_b) + ASSERT (lcol <= N_det_beta_unique) + + buffer(1:$N_int,i) = psi_det_beta_unique(1:$N_int, lcol) + idx(i) = l_b + l_b = l_b+1 + enddo + i = i-1 + + call get_all_spin_singles_and_doubles_$N_int( & + buffer, idx, spindet, i, & + singles_b, doubles, n_singles_b, n_doubles ) + + ! Compute Hij for all beta singles + ! ---------------------------------- + + tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + do i=1,n_singles_b + l_b = singles_b(i) + ASSERT (l_b <= N_det) + + lcol = psi_bilinear_matrix_transp_columns(l_b) + ASSERT (lcol <= N_det_beta_unique) + + tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, lcol) + l_a = psi_bilinear_matrix_transp_order(l_b) + do l= 1, N_states + c_1(l) = u_t(l,l_a) * u_t(l,k_a) + enddo + if(alpha_beta.or.spin_trace.or.beta_beta)then + ! increment the alpha/beta part for single excitations + if (nkeys+2 * elec_alpha_num .ge. sze_buff ) then + call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + nkeys = 0 + endif + call orb_range_off_diag_single_to_all_states_ab_dm_buffer(tmp_det, tmp_det2,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) +! print*,'to do orb_range_off_diag_single_to_two_rdm_ab_dm_buffer' + ! increment the beta /beta part for single excitations + if (nkeys+4 * elec_alpha_num .ge. sze_buff) then + call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + nkeys = 0 + endif +! call orb_range_off_diag_single_to_two_rdm_bb_dm_buffer(tmp_det, tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) +! print*,'to do orb_range_off_diag_single_to_two_rdm_bb_dm_buffer' + endif + enddo + call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + nkeys = 0 + + ! Compute Hij for all beta doubles + ! ---------------------------------- + + if(beta_beta.or.spin_trace)then + do i=1,n_doubles + l_b = doubles(i) + ASSERT (l_b <= N_det) + + lcol = psi_bilinear_matrix_transp_columns(l_b) + ASSERT (lcol <= N_det_beta_unique) + + l_a = psi_bilinear_matrix_transp_order(l_b) + do l= 1, N_states + c_1(l) = u_t(l,l_a) * u_t(l,k_a) + enddo + if (nkeys+4 .ge. sze_buff) then + call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + nkeys = 0 + endif +! call orb_range_off_diag_double_to_two_rdm_bb_dm_buffer(tmp_det(1,2),psi_det_beta_unique(1, lcol),c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) +! print*,'to do orb_range_off_diag_double_to_two_rdm_bb_dm_buffer' + ASSERT (l_a <= N_det) + + enddo + endif + call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + nkeys = 0 + + + ! Diagonal contribution + ! ===================== + + + ! Initial determinant is at k_a in alpha-major representation + ! ----------------------------------------------------------------------- + + krow = psi_bilinear_matrix_rows(k_a) + ASSERT (krow <= N_det_alpha_unique) + + kcol = psi_bilinear_matrix_columns(k_a) + ASSERT (kcol <= N_det_beta_unique) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + + double precision, external :: diag_wee_mat_elem, diag_S_mat_elem + + double precision :: c_1(N_states) + do l = 1, N_states + c_1(l) = u_t(l,k_a) * u_t(l,k_a) + enddo + + call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + nkeys = 0 + call orb_range_diag_to_all_states_two_rdm_dm_buffer(tmp_det,c_1,N_states,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + nkeys = 0 + + end do + !$OMP END DO + deallocate(buffer, singles_a, singles_b, doubles, idx, keys, values) + !$OMP END PARALLEL + +end + + SUBST [ N_int ] + + 1;; + 2;; + 3;; + 4;; + N_int;; + + END_TEMPLATE + + +subroutine update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) + use omp_lib + implicit none + integer, intent(in) :: n_st,nkeys,dim1 + integer, intent(in) :: keys(4,nkeys) + double precision, intent(in) :: values(n_st,nkeys) + double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1,n_st) + + integer(omp_lock_kind),intent(inout):: lock_2rdm + + integer :: istate + integer :: i,h1,h2,p1,p2 + call omp_set_lock(lock_2rdm) + +! print*,'*************' +! print*,'updating' +! print*,'nkeys',nkeys + do i = 1, nkeys + h1 = keys(1,i) + h2 = keys(2,i) + p1 = keys(3,i) + p2 = keys(4,i) + do istate = 1, N_st +! print*,h1,h2,p1,p2,values(istate,i) + big_array(h1,h2,p1,p2,istate) += values(istate,i) + enddo + enddo + call omp_unset_lock(lock_2rdm) + +end + diff --git a/src/two_rdm_routines/all_states_update.irp.f b/src/two_rdm_routines/all_states_update.irp.f index 3e4a070c..6d5c62fa 100644 --- a/src/two_rdm_routines/all_states_update.irp.f +++ b/src/two_rdm_routines/all_states_update.irp.f @@ -1,31 +1,3 @@ - - subroutine orb_range_diagonal_contrib_to_two_rdm_ab_dm_all_states(det_1,c_1,N_st,big_array,dim1,orb_bitmask) - use bitmasks - BEGIN_DOC -! routine that update the DIAGONAL PART of the alpha/beta two body rdm in a specific range of orbitals - END_DOC - implicit none - integer, intent(in) :: dim1,N_st - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1,N_st) - integer(bit_kind), intent(in) :: det_1(N_int,2) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - double precision, intent(in) :: c_1(N_st) - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,istate - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - do istate = 1, N_st - do i = 1, n_occ_ab(1) - h1 = occ(i,1) - do j = 1, n_occ_ab(2) - h2 = occ(j,2) - big_array(h1,h2,h1,h2,istate) += c_1(istate) - enddo - enddo - enddo - end - - subroutine orb_range_diagonal_contrib_to_all_two_rdm_dm_all_states(det_1,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) use bitmasks BEGIN_DOC diff --git a/src/two_rdm_routines/all_states_update_openmp.irp.f b/src/two_rdm_routines/all_states_update_openmp.irp.f new file mode 100644 index 00000000..99b1df53 --- /dev/null +++ b/src/two_rdm_routines/all_states_update_openmp.irp.f @@ -0,0 +1,867 @@ + subroutine orb_range_diag_to_all_states_two_rdm_dm_buffer(det_1,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + use bitmasks + BEGIN_DOC + ! routine that update the DIAGONAL PART of the two body rdms in a specific range of orbitals for a given determinant det_1 + ! + ! c_1 is the array of the contributions to the rdm for all states + ! + ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals + ! + ! ispin determines which spin-spin component of the two-rdm you will update + ! + ! ispin == 1 :: alpha/ alpha + ! ispin == 2 :: beta / beta + ! ispin == 3 :: alpha/ beta + ! ispin == 4 :: spin traced <=> total two-rdm + END_DOC + implicit none + integer, intent(in) :: ispin,sze_buff,N_st + integer, intent(in) :: list_orb_reverse(mo_num) + integer(bit_kind), intent(in) :: det_1(N_int,2) + integer(bit_kind), intent(in) :: orb_bitmask(N_int) + double precision, intent(in) :: c_1(N_st) + double precision, intent(out) :: values(N_st,sze_buff) + integer , intent(out) :: keys(4,sze_buff) + integer , intent(inout):: nkeys + + integer :: occ(N_int*bit_kind_size,2) + integer :: n_occ_ab(2) + integer :: i,j,h1,h2 + integer(bit_kind) :: det_1_act(N_int,2) + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + do i = 1, N_int + det_1_act(i,1) = iand(det_1(i,1),orb_bitmask(i)) + det_1_act(i,2) = iand(det_1(i,2),orb_bitmask(i)) + enddo + + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + endif + call bitstring_to_list_ab(det_1_act, occ, n_occ_ab, N_int) + logical :: is_integer_in_string + integer :: i1,i2,istate + if(alpha_beta)then + do i = 1, n_occ_ab(1) + i1 = occ(i,1) + do j = 1, n_occ_ab(2) + i2 = occ(j,2) + h1 = list_orb_reverse(i1) + h2 = list_orb_reverse(i2) + ! If alpha/beta, electron 1 is alpha, electron 2 is beta + ! Therefore you don't necessayr have symmetry between electron 1 and 2 + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = c_1(istate) + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h1 + keys(4,nkeys) = h2 + enddo + enddo + else if (alpha_alpha)then + do i = 1, n_occ_ab(1) + i1 = occ(i,1) + do j = 1, n_occ_ab(1) + i2 = occ(j,1) + h1 = list_orb_reverse(i1) + h2 = list_orb_reverse(i2) + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h1 + keys(4,nkeys) = h2 + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = -0.5d0 * c_1(istate) + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h2 + keys(4,nkeys) = h1 + enddo + enddo + else if (beta_beta)then + do i = 1, n_occ_ab(2) + i1 = occ(i,2) + do j = 1, n_occ_ab(2) + i2 = occ(j,2) + h1 = list_orb_reverse(i1) + h2 = list_orb_reverse(i2) + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h1 + keys(4,nkeys) = h2 + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = -0.5d0 * c_1(istate) + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h2 + keys(4,nkeys) = h1 + enddo + enddo + else if(spin_trace)then + ! 0.5 * (alpha beta + beta alpha) + do i = 1, n_occ_ab(1) + i1 = occ(i,1) + do j = 1, n_occ_ab(2) + i2 = occ(j,2) + h1 = list_orb_reverse(i1) + h2 = list_orb_reverse(i2) + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h1 + keys(4,nkeys) = h2 + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) + enddo + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = h2 + keys(4,nkeys) = h1 + enddo + enddo + do i = 1, n_occ_ab(1) + i1 = occ(i,1) + do j = 1, n_occ_ab(1) + i2 = occ(j,1) + h1 = list_orb_reverse(i1) + h2 = list_orb_reverse(i2) + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h1 + keys(4,nkeys) = h2 + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = -0.5d0 * c_1(istate) + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h2 + keys(4,nkeys) = h1 + enddo + enddo + do i = 1, n_occ_ab(2) + i1 = occ(i,2) + do j = 1, n_occ_ab(2) + i2 = occ(j,2) + h1 = list_orb_reverse(i1) + h2 = list_orb_reverse(i2) + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h1 + keys(4,nkeys) = h2 + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = -0.5d0 * c_1(istate) + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h2 + keys(4,nkeys) = h1 + enddo + enddo + endif + end + + + subroutine orb_range_off_diag_double_to_all_states_ab_dm_buffer(det_1,det_2,c_1,N_st,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + use bitmasks + BEGIN_DOC +! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for +! +! a given couple of determinant det_1, det_2 being a alpha/beta DOUBLE excitation with respect to one another +! +! c_1 is the array of the contributions to the rdm for all states +! +! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals +! +! ispin determines which spin-spin component of the two-rdm you will update +! +! ispin == 1 :: alpha/ alpha +! ispin == 2 :: beta / beta +! ispin == 3 :: alpha/ beta +! ispin == 4 :: spin traced <=> total two-rdm +! +! here, only ispin == 3 or 4 will do something + END_DOC + implicit none + integer, intent(in) :: ispin,sze_buff,N_st + integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) + integer, intent(in) :: list_orb_reverse(mo_num) + double precision, intent(in) :: c_1(N_st) + double precision, intent(out) :: values(N_st,sze_buff) + integer , intent(out) :: keys(4,sze_buff) + integer , intent(inout):: nkeys + integer :: i,j,h1,h2,p1,p2,istate + integer :: exc(0:2,2,2) + double precision :: phase + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + logical :: is_integer_in_string + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + endif + call get_double_excitation(det_1,det_2,exc,phase,N_int) + h1 = exc(1,1,1) + if(list_orb_reverse(h1).lt.0)return + h1 = list_orb_reverse(h1) + h2 = exc(1,1,2) + if(list_orb_reverse(h2).lt.0)return + h2 = list_orb_reverse(h2) + p1 = exc(1,2,1) + if(list_orb_reverse(p1).lt.0)return + p1 = list_orb_reverse(p1) + p2 = exc(1,2,2) + if(list_orb_reverse(p2).lt.0)return + p2 = list_orb_reverse(p2) + if(alpha_beta)then +! print*,'coucou' + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = c_1(istate) * phase +! print*,'values',values(istate,nkeys),nkeys + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = p2 + else if(spin_trace)then + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) * phase + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = p2 + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) * phase + enddo + keys(1,nkeys) = p1 + keys(2,nkeys) = p2 + keys(3,nkeys) = h1 + keys(4,nkeys) = h2 + endif + end + + subroutine orb_range_off_diag_single_to_all_states_ab_dm_buffer(det_1,det_2,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + use bitmasks + BEGIN_DOC + ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for + ! + ! a given couple of determinant det_1, det_2 being a SINGLE excitation with respect to one another + ! + ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 + ! + ! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation + ! + ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals + ! + ! ispin determines which spin-spin component of the two-rdm you will update + ! + ! ispin == 1 :: alpha/ alpha + ! ispin == 2 :: beta / beta + ! ispin == 3 :: alpha/ beta + ! ispin == 4 :: spin traced <=> total two-rdm + ! + ! here, only ispin == 3 or 4 will do something + END_DOC + implicit none + integer, intent(in) :: ispin,sze_buff,N_st + integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) + integer, intent(in) :: list_orb_reverse(mo_num) + integer(bit_kind), intent(in) :: orb_bitmask(N_int) + double precision, intent(in) :: c_1(N_st) + double precision, intent(out) :: values(N_st,sze_buff) + integer , intent(out) :: keys(4,sze_buff) + integer , intent(inout):: nkeys + + integer :: occ(N_int*bit_kind_size,2) + integer :: n_occ_ab(2) + integer :: i,j,h1,h2,p1,istate + integer :: exc(0:2,2,2) + double precision :: phase + + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + logical :: is_integer_in_string + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + endif + + call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) + call get_single_excitation(det_1,det_2,exc,phase,N_int) + if(alpha_beta)then + if (exc(0,1,1) == 1) then + ! Mono alpha + h1 = exc(1,1,1) + if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return + h1 = list_orb_reverse(h1) + p1 = exc(1,2,1) + if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return + p1 = list_orb_reverse(p1) + do i = 1, n_occ_ab(2) + h2 = occ(i,2) + if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle + h2 = list_orb_reverse(h2) + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = c_1(istate) * phase + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + enddo + else + ! Mono beta + h1 = exc(1,1,2) + if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return + h1 = list_orb_reverse(h1) + p1 = exc(1,2,2) + if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return + p1 = list_orb_reverse(p1) + do i = 1, n_occ_ab(1) + h2 = occ(i,1) + if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle + h2 = list_orb_reverse(h2) + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = c_1(istate) * phase + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + enddo + endif + else if(spin_trace)then + if (exc(0,1,1) == 1) then + ! Mono alpha + h1 = exc(1,1,1) + if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return + h1 = list_orb_reverse(h1) + p1 = exc(1,2,1) + if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return + p1 = list_orb_reverse(p1) + do i = 1, n_occ_ab(2) + h2 = occ(i,2) + if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle + h2 = list_orb_reverse(h2) + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) * phase + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) * phase + enddo + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = h2 + keys(4,nkeys) = p1 + enddo + else + ! Mono beta + h1 = exc(1,1,2) + if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return + h1 = list_orb_reverse(h1) + p1 = exc(1,2,2) + if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return + p1 = list_orb_reverse(p1) + do i = 1, n_occ_ab(1) + h2 = occ(i,1) + if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle + h2 = list_orb_reverse(h2) + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) * phase + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) * phase + enddo + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = h2 + keys(4,nkeys) = p1 + enddo + endif + endif + end + + subroutine orb_range_off_diag_single_to_all_states_aa_dm_buffer(det_1,det_2,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + BEGIN_DOC + ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for + ! + ! a given couple of determinant det_1, det_2 being a ALPHA SINGLE excitation with respect to one another + ! + ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 + ! + ! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation + ! + ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals + ! + ! ispin determines which spin-spin component of the two-rdm you will update + ! + ! ispin == 1 :: alpha/ alpha + ! ispin == 2 :: beta / beta + ! ispin == 3 :: alpha/ beta + ! ispin == 4 :: spin traced <=> total two-rdm + ! + ! here, only ispin == 1 or 4 will do something + END_DOC + use bitmasks + implicit none + integer, intent(in) :: ispin,sze_buff,N_st + integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) + integer, intent(in) :: list_orb_reverse(mo_num) + integer(bit_kind), intent(in) :: orb_bitmask(N_int) + double precision, intent(in) :: c_1(N_st) + double precision, intent(out) :: values(N_st,sze_buff) + integer , intent(out) :: keys(4,sze_buff) + integer , intent(inout):: nkeys + + integer :: occ(N_int*bit_kind_size,2) + integer :: n_occ_ab(2) + integer :: i,j,h1,h2,p1,istate + integer :: exc(0:2,2,2) + double precision :: phase + + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + logical :: is_integer_in_string + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + endif + + call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) + call get_single_excitation(det_1,det_2,exc,phase,N_int) + if(alpha_alpha.or.spin_trace)then + if (exc(0,1,1) == 1) then + ! Mono alpha + h1 = exc(1,1,1) + if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return + h1 = list_orb_reverse(h1) + p1 = exc(1,2,1) + if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return + p1 = list_orb_reverse(p1) + do i = 1, n_occ_ab(1) + h2 = occ(i,1) + if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle + h2 = list_orb_reverse(h2) + + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) * phase + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = - 0.5d0 * c_1(istate) * phase + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h2 + keys(4,nkeys) = p1 + + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) * phase + enddo + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = h2 + keys(4,nkeys) = p1 + + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = - 0.5d0 * c_1(istate) * phase + enddo + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + enddo + else + return + endif + endif + end + + subroutine orb_range_off_diag_single_to_two_rdm_bb_dm_buffer(det_1,det_2,c_1,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + use bitmasks + BEGIN_DOC + ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for + ! + ! a given couple of determinant det_1, det_2 being a BETA SINGLE excitation with respect to one another + ! + ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 + ! + ! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation + ! + ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals + ! + ! ispin determines which spin-spin component of the two-rdm you will update + ! + ! ispin == 1 :: alpha/ alpha + ! ispin == 2 :: beta / beta + ! ispin == 3 :: alpha/ beta + ! ispin == 4 :: spin traced <=> total two-rdm + ! + ! here, only ispin == 2 or 4 will do something + END_DOC + implicit none + integer, intent(in) :: ispin,sze_buff + integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) + integer, intent(in) :: list_orb_reverse(mo_num) + integer(bit_kind), intent(in) :: orb_bitmask(N_int) + double precision, intent(in) :: c_1 + double precision, intent(out) :: values(sze_buff) + integer , intent(out) :: keys(4,sze_buff) + integer , intent(inout):: nkeys + + integer :: occ(N_int*bit_kind_size,2) + integer :: n_occ_ab(2) + integer :: i,j,h1,h2,p1 + integer :: exc(0:2,2,2) + double precision :: phase + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + logical :: is_integer_in_string + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + endif + + + call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) + call get_single_excitation(det_1,det_2,exc,phase,N_int) + if(beta_beta.or.spin_trace)then + if (exc(0,1,1) == 1) then + return + else + ! Mono beta + h1 = exc(1,1,2) + if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return + h1 = list_orb_reverse(h1) + p1 = exc(1,2,2) + if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return + p1 = list_orb_reverse(p1) + do i = 1, n_occ_ab(2) + h2 = occ(i,2) + if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle + h2 = list_orb_reverse(h2) + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + + nkeys += 1 + values(nkeys) = - 0.5d0 * c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = h2 + keys(4,nkeys) = p1 + + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = h2 + keys(4,nkeys) = p1 + + nkeys += 1 + values(nkeys) = - 0.5d0 * c_1 * phase + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = p1 + keys(4,nkeys) = h2 + enddo + endif + endif + end + + + subroutine orb_range_off_diag_double_to_all_states_aa_dm_buffer(det_1,det_2,c_1,N_st,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + use bitmasks + BEGIN_DOC + ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for + ! + ! a given couple of determinant det_1, det_2 being a ALPHA/ALPHA DOUBLE excitation with respect to one another + ! + ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 + ! + ! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation + ! + ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals + ! + ! ispin determines which spin-spin component of the two-rdm you will update + ! + ! ispin == 1 :: alpha/ alpha + ! ispin == 2 :: beta / beta + ! ispin == 3 :: alpha/ beta + ! ispin == 4 :: spin traced <=> total two-rdm + ! + ! here, only ispin == 1 or 4 will do something + END_DOC + implicit none + integer, intent(in) :: ispin,sze_buff,N_st + integer(bit_kind), intent(in) :: det_1(N_int),det_2(N_int) + integer, intent(in) :: list_orb_reverse(mo_num) + double precision, intent(in) :: c_1(N_st) + double precision, intent(out) :: values(N_st,sze_buff) + integer , intent(out) :: keys(4,sze_buff) + integer , intent(inout):: nkeys + + + integer :: i,j,h1,h2,p1,p2,istate + integer :: exc(0:2,2) + double precision :: phase + + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + logical :: is_integer_in_string + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + endif + call get_double_excitation_spin(det_1,det_2,exc,phase,N_int) + h1 =exc(1,1) + if(list_orb_reverse(h1).lt.0)return + h1 = list_orb_reverse(h1) + h2 =exc(2,1) + if(list_orb_reverse(h2).lt.0)return + h2 = list_orb_reverse(h2) + p1 =exc(1,2) + if(list_orb_reverse(p1).lt.0)return + p1 = list_orb_reverse(p1) + p2 =exc(2,2) + if(list_orb_reverse(p2).lt.0)return + p2 = list_orb_reverse(p2) + if(alpha_alpha.or.spin_trace)then + nkeys += 1 + + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) * phase + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = p2 + + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = - 0.5d0 * c_1(istate) * phase + enddo + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p2 + keys(4,nkeys) = p1 + + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) * phase + enddo + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = p2 + keys(4,nkeys) = p1 + + nkeys += 1 + do istate = 1, N_st + values(istate,nkeys) = - 0.5d0 * c_1(istate) * phase + enddo + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = p1 + keys(4,nkeys) = p2 + endif + end + + subroutine orb_range_off_diag_double_to_two_rdm_bb_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + use bitmasks + BEGIN_DOC + ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for + ! + ! a given couple of determinant det_1, det_2 being a BETA /BETA DOUBLE excitation with respect to one another + ! + ! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 + ! + ! big_array(dim1,dim1,dim1,dim1) is the two-body rdm to be updated in physicist notation + ! + ! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals + ! + ! ispin determines which spin-spin component of the two-rdm you will update + ! + ! ispin == 1 :: alpha/ alpha + ! ispin == 2 :: beta / beta + ! ispin == 3 :: alpha/ beta + ! ispin == 4 :: spin traced <=> total two-rdm + ! + ! here, only ispin == 2 or 4 will do something + END_DOC + implicit none + + integer, intent(in) :: ispin,sze_buff + integer(bit_kind), intent(in) :: det_1(N_int),det_2(N_int) + integer, intent(in) :: list_orb_reverse(mo_num) + double precision, intent(in) :: c_1 + double precision, intent(out) :: values(sze_buff) + integer , intent(out) :: keys(4,sze_buff) + integer , intent(inout):: nkeys + + integer :: i,j,h1,h2,p1,p2 + integer :: exc(0:2,2) + double precision :: phase + logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace + logical :: is_integer_in_string + alpha_alpha = .False. + beta_beta = .False. + alpha_beta = .False. + spin_trace = .False. + if( ispin == 1)then + alpha_alpha = .True. + else if(ispin == 2)then + beta_beta = .True. + else if(ispin == 3)then + alpha_beta = .True. + else if(ispin == 4)then + spin_trace = .True. + endif + + call get_double_excitation_spin(det_1,det_2,exc,phase,N_int) + h1 =exc(1,1) + if(list_orb_reverse(h1).lt.0)return + h1 = list_orb_reverse(h1) + h2 =exc(2,1) + if(list_orb_reverse(h2).lt.0)return + h2 = list_orb_reverse(h2) + p1 =exc(1,2) + if(list_orb_reverse(p1).lt.0)return + p1 = list_orb_reverse(p1) + p2 =exc(2,2) + if(list_orb_reverse(p2).lt.0)return + p2 = list_orb_reverse(p2) + if(beta_beta.or.spin_trace)then + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p1 + keys(4,nkeys) = p2 + + nkeys += 1 + values(nkeys) = - 0.5d0 * c_1 * phase + keys(1,nkeys) = h1 + keys(2,nkeys) = h2 + keys(3,nkeys) = p2 + keys(4,nkeys) = p1 + + nkeys += 1 + values(nkeys) = 0.5d0 * c_1 * phase + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = p2 + keys(4,nkeys) = p1 + + nkeys += 1 + values(nkeys) = - 0.5d0 * c_1 * phase + keys(1,nkeys) = h2 + keys(2,nkeys) = h1 + keys(3,nkeys) = p1 + keys(4,nkeys) = p2 + endif + end + From d7b2714521795562f4b69908ae63cd35c0052595 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Fri, 20 Mar 2020 20:32:16 +0100 Subject: [PATCH 025/138] alpha beta 2rdm work for openmp --- src/two_body_rdm/test_2_rdm.irp.f | 10 ++-- .../all_states_david_openmp.irp.f | 5 +- .../all_states_update_openmp.irp.f | 52 ++++++++++++------- 3 files changed, 42 insertions(+), 25 deletions(-) diff --git a/src/two_body_rdm/test_2_rdm.irp.f b/src/two_body_rdm/test_2_rdm.irp.f index 7a5bfec5..cbe1c1e3 100644 --- a/src/two_body_rdm/test_2_rdm.irp.f +++ b/src/two_body_rdm/test_2_rdm.irp.f @@ -50,19 +50,21 @@ subroutine routine_active_only rdmab_omp = all_states_openmp_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) rdmaa_omp = all_states_openmp_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) + rdmbb_omp = all_states_openmp_act_two_rdm_beta_beta_mo(l,k,j,i,istate) rdmaa = all_states_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) -! rdmbb = all_states_act_two_rdm_beta_beta_mo(l,k,j,i,istate) + rdmbb = all_states_act_two_rdm_beta_beta_mo(l,k,j,i,istate) rdmab = all_states_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) ! rdmtot = all_states_act_two_rdm_spin_trace_mo(l,k,j,i,istate) accu_ab_omp += vijkl * rdmab_omp accu_aa_omp += vijkl * rdmaa_omp + accu_bb_omp += vijkl * rdmbb_omp ! accu_tot_omp += vijkl * rdmtot_omp accu_ab(istate) += vijkl * rdmab accu_aa(istate) += vijkl * rdmaa -! accu_bb(istate) += vijkl * rdmbb + accu_bb(istate) += vijkl * rdmbb ! accu_tot(istate) += vijkl * rdmtot enddo enddo @@ -72,8 +74,8 @@ subroutine routine_active_only print*,'Active space only energy ' print*,'accu_aa(istate) = ',accu_aa(istate) print*,'accu_aa_omp = ',accu_aa_omp -! print*,'accu_bb(istate) = ',accu_bb(istate) -! print*,'accu_bb_omp = ',accu_bb_omp + print*,'accu_bb(istate) = ',accu_bb(istate) + print*,'accu_bb_omp = ',accu_bb_omp print*,'accu_ab(istate) = ',accu_ab(istate) print*,'accu_ab_omp = ',accu_ab_omp print*,'' diff --git a/src/two_rdm_routines/all_states_david_openmp.irp.f b/src/two_rdm_routines/all_states_david_openmp.irp.f index bdcafd6c..0da7e205 100644 --- a/src/two_rdm_routines/all_states_david_openmp.irp.f +++ b/src/two_rdm_routines/all_states_david_openmp.irp.f @@ -459,8 +459,7 @@ subroutine orb_range_two_rdm_all_states_openmp_openmp_work_$N_int(big_array,dim1 call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) nkeys = 0 endif -! call orb_range_off_diag_single_to_two_rdm_bb_dm_buffer(tmp_det, tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) -! print*,'to do orb_range_off_diag_single_to_two_rdm_bb_dm_buffer' + call orb_range_off_diag_single_to_all_states_bb_dm_buffer(tmp_det, tmp_det2,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) endif enddo call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) @@ -485,7 +484,7 @@ subroutine orb_range_two_rdm_all_states_openmp_openmp_work_$N_int(big_array,dim1 call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) nkeys = 0 endif -! call orb_range_off_diag_double_to_two_rdm_bb_dm_buffer(tmp_det(1,2),psi_det_beta_unique(1, lcol),c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call orb_range_off_diag_double_to_all_states_bb_dm_buffer(tmp_det(1,2),psi_det_beta_unique(1, lcol),c_1,N_st,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) ! print*,'to do orb_range_off_diag_double_to_two_rdm_bb_dm_buffer' ASSERT (l_a <= N_det) diff --git a/src/two_rdm_routines/all_states_update_openmp.irp.f b/src/two_rdm_routines/all_states_update_openmp.irp.f index 99b1df53..41cb94bc 100644 --- a/src/two_rdm_routines/all_states_update_openmp.irp.f +++ b/src/two_rdm_routines/all_states_update_openmp.irp.f @@ -562,7 +562,7 @@ endif end - subroutine orb_range_off_diag_single_to_two_rdm_bb_dm_buffer(det_1,det_2,c_1,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + subroutine orb_range_off_diag_single_to_all_states_bb_dm_buffer(det_1,det_2,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) use bitmasks BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for @@ -585,18 +585,18 @@ ! here, only ispin == 2 or 4 will do something END_DOC implicit none - integer, intent(in) :: ispin,sze_buff + integer, intent(in) :: ispin,sze_buff,N_st integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) integer, intent(in) :: list_orb_reverse(mo_num) integer(bit_kind), intent(in) :: orb_bitmask(N_int) - double precision, intent(in) :: c_1 - double precision, intent(out) :: values(sze_buff) + double precision, intent(in) :: c_1(N_st) + double precision, intent(out) :: values(N_st,sze_buff) integer , intent(out) :: keys(4,sze_buff) integer , intent(inout):: nkeys integer :: occ(N_int*bit_kind_size,2) integer :: n_occ_ab(2) - integer :: i,j,h1,h2,p1 + integer :: i,j,h1,h2,p1,istate integer :: exc(0:2,2,2) double precision :: phase logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace @@ -634,28 +634,36 @@ if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle h2 = list_orb_reverse(h2) nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) * phase + enddo keys(1,nkeys) = h1 keys(2,nkeys) = h2 keys(3,nkeys) = p1 keys(4,nkeys) = h2 nkeys += 1 - values(nkeys) = - 0.5d0 * c_1 * phase + do istate = 1, N_st + values(istate,nkeys) = - 0.5d0 * c_1(istate) * phase + enddo keys(1,nkeys) = h1 keys(2,nkeys) = h2 keys(3,nkeys) = h2 keys(4,nkeys) = p1 nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) * phase + enddo keys(1,nkeys) = h2 keys(2,nkeys) = h1 keys(3,nkeys) = h2 keys(4,nkeys) = p1 nkeys += 1 - values(nkeys) = - 0.5d0 * c_1 * phase + do istate = 1, N_st + values(istate,nkeys) = - 0.5d0 * c_1(istate) * phase + enddo keys(1,nkeys) = h2 keys(2,nkeys) = h1 keys(3,nkeys) = p1 @@ -770,7 +778,7 @@ endif end - subroutine orb_range_off_diag_double_to_two_rdm_bb_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + subroutine orb_range_off_diag_double_to_all_states_bb_dm_buffer(det_1,det_2,c_1,N_st,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) use bitmasks BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for @@ -794,15 +802,15 @@ END_DOC implicit none - integer, intent(in) :: ispin,sze_buff + integer, intent(in) :: ispin,sze_buff,N_st integer(bit_kind), intent(in) :: det_1(N_int),det_2(N_int) integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1 - double precision, intent(out) :: values(sze_buff) + double precision, intent(in) :: c_1(N_st) + double precision, intent(out) :: values(N_st,sze_buff) integer , intent(out) :: keys(4,sze_buff) integer , intent(inout):: nkeys - integer :: i,j,h1,h2,p1,p2 + integer :: i,j,h1,h2,p1,p2,istate integer :: exc(0:2,2) double precision :: phase logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace @@ -836,28 +844,36 @@ p2 = list_orb_reverse(p2) if(beta_beta.or.spin_trace)then nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) * phase + enddo keys(1,nkeys) = h1 keys(2,nkeys) = h2 keys(3,nkeys) = p1 keys(4,nkeys) = p2 nkeys += 1 - values(nkeys) = - 0.5d0 * c_1 * phase + do istate = 1, N_st + values(istate,nkeys) = - 0.5d0 * c_1(istate) * phase + enddo keys(1,nkeys) = h1 keys(2,nkeys) = h2 keys(3,nkeys) = p2 keys(4,nkeys) = p1 nkeys += 1 - values(nkeys) = 0.5d0 * c_1 * phase + do istate = 1, N_st + values(istate,nkeys) = 0.5d0 * c_1(istate) * phase + enddo keys(1,nkeys) = h2 keys(2,nkeys) = h1 keys(3,nkeys) = p2 keys(4,nkeys) = p1 nkeys += 1 - values(nkeys) = - 0.5d0 * c_1 * phase + do istate = 1, N_st + values(istate,nkeys) = - 0.5d0 * c_1(istate) * phase + enddo keys(1,nkeys) = h2 keys(2,nkeys) = h1 keys(3,nkeys) = p1 From d96108f77223ae675270a8e505488dbc491399e7 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Fri, 20 Mar 2020 22:20:12 +0100 Subject: [PATCH 026/138] openmp for multi state 2rdm work --- src/two_body_rdm/all_states_prov.irp.f | 24 ++++++++--- src/two_body_rdm/test_2_rdm.irp.f | 55 +++++++++++++------------- 2 files changed, 46 insertions(+), 33 deletions(-) diff --git a/src/two_body_rdm/all_states_prov.irp.f b/src/two_body_rdm/all_states_prov.irp.f index ca3ded6b..5523faa2 100644 --- a/src/two_body_rdm/all_states_prov.irp.f +++ b/src/two_body_rdm/all_states_prov.irp.f @@ -14,8 +14,12 @@ ! condition for alpha/beta spin ispin = 1 all_states_act_two_rdm_alpha_alpha_mo = 0.D0 + double precision :: wall_1,wall_2 + call wall_time(wall_1) + print*,'providing all_states_act_two_rdm_alpha_alpha_mo ...' call orb_range_all_states_two_rdm(all_states_act_two_rdm_alpha_alpha_mo,n_act_orb,n_act_orb,list_act,list_act_reverse,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - + call wall_time(wall_2) + print*,'time to provide all_states_act_two_rdm_alpha_alpha_mo',wall_2 - wall_1 END_PROVIDER @@ -32,7 +36,12 @@ ! condition for alpha/beta spin ispin = 2 all_states_act_two_rdm_beta_beta_mo = 0.d0 + double precision :: wall_1,wall_2 + call wall_time(wall_1) + print*,'providing all_states_act_two_rdm_beta_beta_mo ...' call orb_range_all_states_two_rdm(all_states_act_two_rdm_beta_beta_mo,n_act_orb,n_act_orb,list_act,list_act_reverse,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call wall_time(wall_2) + print*,'time to provide all_states_act_two_rdm_beta_beta_mo',wall_2 - wall_1 END_PROVIDER @@ -54,10 +63,8 @@ integer :: ispin double precision :: wall_1, wall_2 ! condition for alpha/beta spin - print*,'' - print*,'' - print*,'' - print*,'providint all_states_act_two_rdm_alpha_beta_mo ' + call wall_time(wall_1) + print*,'providing all_states_act_two_rdm_alpha_beta_mo ...' ispin = 3 print*,'ispin = ',ispin all_states_act_two_rdm_alpha_beta_mo = 0.d0 @@ -65,7 +72,7 @@ call orb_range_all_states_two_rdm(all_states_act_two_rdm_alpha_beta_mo,n_act_orb,n_act_orb,list_act,list_act_reverse,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Wall time to provide all_states_act_two_rdm_alpha_beta_mo',wall_2 - wall_1 + print*,'time to provide all_states_act_two_rdm_alpha_beta_mo',wall_2 - wall_1 END_PROVIDER @@ -89,6 +96,11 @@ ispin = 4 all_states_act_two_rdm_spin_trace_mo = 0.d0 + double precision :: wall_1,wall_2 + call wall_time(wall_1) + print*,'providing all_states_act_two_rdm_spin_trace_mo ...' call orb_range_all_states_two_rdm(all_states_act_two_rdm_spin_trace_mo,n_act_orb,n_act_orb,list_act,list_act_reverse,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call wall_time(wall_2) + print*,'time to provide all_states_act_two_rdm_spin_trace_mo',wall_2 - wall_1 END_PROVIDER diff --git a/src/two_body_rdm/test_2_rdm.irp.f b/src/two_body_rdm/test_2_rdm.irp.f index cbe1c1e3..9ba57e37 100644 --- a/src/two_body_rdm/test_2_rdm.irp.f +++ b/src/two_body_rdm/test_2_rdm.irp.f @@ -16,10 +16,10 @@ subroutine routine_active_only double precision :: vijkl,rdmaa,get_two_e_integral,rdmab,rdmbb,rdmtot double precision :: accu_aa(N_states),accu_bb(N_states),accu_ab(N_states),accu_tot(N_states) - double precision :: accu_ab_omp,rdmab_omp - double precision :: accu_bb_omp,rdmbb_omp - double precision :: accu_aa_omp,rdmaa_omp - double precision :: accu_tot_omp,rdmtot_omp + double precision :: accu_ab_omp(N_states),rdmab_omp + double precision :: accu_bb_omp(N_states),rdmbb_omp + double precision :: accu_aa_omp(N_states),rdmaa_omp + double precision :: accu_tot_omp(N_states),rdmtot_omp accu_ab_omp = 0.d0 accu_bb_omp = 0.d0 accu_aa_omp = 0.d0 @@ -48,40 +48,41 @@ subroutine routine_active_only ! rdmtot_omp = state_av_act_two_rdm_spin_trace_mo(l,k,j,i) - rdmab_omp = all_states_openmp_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) - rdmaa_omp = all_states_openmp_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) - rdmbb_omp = all_states_openmp_act_two_rdm_beta_beta_mo(l,k,j,i,istate) +! rdmab_omp = all_states_openmp_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) +! rdmaa_omp = all_states_openmp_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) +! rdmbb_omp = all_states_openmp_act_two_rdm_beta_beta_mo(l,k,j,i,istate) + rdmtot_omp = all_states_openmp_act_two_rdm_spin_trace_mo(l,k,j,i,istate) - rdmaa = all_states_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) - rdmbb = all_states_act_two_rdm_beta_beta_mo(l,k,j,i,istate) - rdmab = all_states_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) -! rdmtot = all_states_act_two_rdm_spin_trace_mo(l,k,j,i,istate) +! rdmab = all_states_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) +! rdmaa = all_states_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) +! rdmbb = all_states_act_two_rdm_beta_beta_mo(l,k,j,i,istate) + rdmtot = all_states_act_two_rdm_spin_trace_mo(l,k,j,i,istate) - accu_ab_omp += vijkl * rdmab_omp - accu_aa_omp += vijkl * rdmaa_omp - accu_bb_omp += vijkl * rdmbb_omp -! accu_tot_omp += vijkl * rdmtot_omp +! accu_ab_omp(istate) += vijkl * rdmab_omp +! accu_aa_omp(istate) += vijkl * rdmaa_omp +! accu_bb_omp(istate) += vijkl * rdmbb_omp + accu_tot_omp(istate) += vijkl * rdmtot_omp - accu_ab(istate) += vijkl * rdmab - accu_aa(istate) += vijkl * rdmaa - accu_bb(istate) += vijkl * rdmbb -! accu_tot(istate) += vijkl * rdmtot +! accu_ab(istate) += vijkl * rdmab +! accu_aa(istate) += vijkl * rdmaa +! accu_bb(istate) += vijkl * rdmbb + accu_tot(istate) += vijkl * rdmtot enddo enddo enddo enddo print*,'' print*,'Active space only energy ' - print*,'accu_aa(istate) = ',accu_aa(istate) - print*,'accu_aa_omp = ',accu_aa_omp - print*,'accu_bb(istate) = ',accu_bb(istate) - print*,'accu_bb_omp = ',accu_bb_omp - print*,'accu_ab(istate) = ',accu_ab(istate) - print*,'accu_ab_omp = ',accu_ab_omp +! print*,'accu_aa(istate) = ',accu_aa(istate) +! print*,'accu_aa_omp = ',accu_aa_omp(istate) +! print*,'accu_bb(istate) = ',accu_bb(istate) +! print*,'accu_bb_omp = ',accu_bb_omp(istate) +! print*,'accu_ab(istate) = ',accu_ab(istate) +! print*,'accu_ab_omp = ',accu_ab_omp(istate) print*,'' ! print*,'sum (istate) = ',accu_aa(istate) + accu_bb(istate) + accu_ab(istate) -! print*,'accu_tot(istate) = ',accu_tot(istate) -! print*,'accu_tot_omp = ',accu_tot_omp + print*,'accu_tot(istate) = ',accu_tot(istate) + print*,'accu_tot_omp = ',accu_tot_omp(istate) print*,'psi_energy_two_e(istate) = ',psi_energy_two_e(istate) enddo From 6b282c042ce14126ab822ad7209626ba7b54e85c Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Sun, 22 Mar 2020 17:15:39 +0100 Subject: [PATCH 027/138] all 2rdm clean and work with openmp --- src/two_body_rdm/act_2_rdm.irp.f | 130 +++++ src/two_body_rdm/all_states_prov.irp.f | 106 ---- src/two_body_rdm/example.irp.f | 261 +++++++++ ...ll_orb_prov.irp.f => full_orb_2_rdm.irp.f} | 176 +++--- ..._av_2rdm.irp.f => state_av_act_2rdm.irp.f} | 32 +- .../state_av_full_orb_2_rdm.irp.f | 528 ++++++++++++++++++ src/two_body_rdm/test_2_rdm.irp.f | 133 +---- .../all_states_david_openmp.irp.f | 18 +- 8 files changed, 1033 insertions(+), 351 deletions(-) create mode 100644 src/two_body_rdm/act_2_rdm.irp.f delete mode 100644 src/two_body_rdm/all_states_prov.irp.f create mode 100644 src/two_body_rdm/example.irp.f rename src/two_body_rdm/{all_states_full_orb_prov.irp.f => full_orb_2_rdm.irp.f} (57%) rename src/two_body_rdm/{state_av_2rdm.irp.f => state_av_act_2rdm.irp.f} (59%) create mode 100644 src/two_body_rdm/state_av_full_orb_2_rdm.irp.f diff --git a/src/two_body_rdm/act_2_rdm.irp.f b/src/two_body_rdm/act_2_rdm.irp.f new file mode 100644 index 00000000..af22946f --- /dev/null +++ b/src/two_body_rdm/act_2_rdm.irp.f @@ -0,0 +1,130 @@ + + BEGIN_PROVIDER [double precision, act_two_rdm_ab_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] + implicit none + BEGIN_DOC +! act_two_rdm_ab_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is alpha, electron 2 is beta +! +! act_two_rdm_ab_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta +! +! Therefore you don't necessayr have symmetry between electron 1 and 2 + END_DOC + integer :: ispin + double precision :: wall_1, wall_2 + ! condition for alpha/beta spin + print*,'' + print*,'' + print*,'' + print*,'Providing act_two_rdm_ab_mo ' + ispin = 3 + print*,'ispin = ',ispin + act_two_rdm_ab_mo = 0.d0 + call wall_time(wall_1) + call orb_range_two_rdm_openmp(act_two_rdm_ab_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + + call wall_time(wall_2) + print*,'Wall time to provide act_two_rdm_ab_mo',wall_2 - wall_1 + END_PROVIDER + + + BEGIN_PROVIDER [double precision, act_two_rdm_aa_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] + implicit none + BEGIN_DOC +! act_two_rdm_aa_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is alpha, electron 2 is beta +! +! act_two_rdm_aa_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta +! +! Therefore you don't necessayr have symmetry between electron 1 and 2 + END_DOC + integer :: ispin + double precision :: wall_1, wall_2 + ! condition for alpha/beta spin + print*,'' + print*,'' + print*,'' + print*,'Providing act_two_rdm_aa_mo ' + ispin = 1 + print*,'ispin = ',ispin + act_two_rdm_aa_mo = 0.d0 + call wall_time(wall_1) + call orb_range_two_rdm_openmp(act_two_rdm_aa_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + + call wall_time(wall_2) + print*,'Wall time to provide act_two_rdm_aa_mo',wall_2 - wall_1 + END_PROVIDER + + + BEGIN_PROVIDER [double precision, act_two_rdm_bb_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] + implicit none + BEGIN_DOC +! act_two_rdm_bb_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is beta, electron 2 is beta +! +! act_two_rdm_bb_mo(i,j,k,l,istate) = i:beta, j:beta, j:beta, l:beta +! +! Therefore you don't necessayr have symmetry between electron 1 and 2 + END_DOC + integer :: ispin + double precision :: wall_1, wall_2 + ! condition for beta/beta spin + print*,'' + print*,'' + print*,'' + print*,'Providing act_two_rdm_bb_mo ' + ispin = 2 + print*,'ispin = ',ispin + act_two_rdm_bb_mo = 0.d0 + call wall_time(wall_1) + call orb_range_two_rdm_openmp(act_two_rdm_bb_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + + call wall_time(wall_2) + print*,'Wall time to provide act_two_rdm_bb_mo',wall_2 - wall_1 + END_PROVIDER + + BEGIN_PROVIDER [double precision, act_two_rdm_spin_trace_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] + implicit none + BEGIN_DOC +! act_two_rdm_spin_trace_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is beta, electron 2 is beta +! +! act_two_rdm_spin_trace_mo(i,j,k,l,istate) = i:beta, j:beta, j:beta, l:beta +! +! Therefore you don't necessayr have symmetry between electron 1 and 2 + END_DOC + integer :: ispin + double precision :: wall_1, wall_2 + ! condition for beta/beta spin + print*,'' + print*,'' + print*,'' + print*,'Providing act_two_rdm_spin_trace_mo ' + ispin = 4 + print*,'ispin = ',ispin + act_two_rdm_spin_trace_mo = 0.d0 + call wall_time(wall_1) + call orb_range_two_rdm_openmp(act_two_rdm_spin_trace_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + + call wall_time(wall_2) + print*,'Wall time to provide act_two_rdm_spin_trace_mo',wall_2 - wall_1 + END_PROVIDER diff --git a/src/two_body_rdm/all_states_prov.irp.f b/src/two_body_rdm/all_states_prov.irp.f deleted file mode 100644 index 5523faa2..00000000 --- a/src/two_body_rdm/all_states_prov.irp.f +++ /dev/null @@ -1,106 +0,0 @@ - - - - BEGIN_PROVIDER [double precision, all_states_act_two_rdm_alpha_alpha_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] - implicit none - BEGIN_DOC -! all_states_act_two_rdm_alpha_alpha_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha electrons -! -! 1/2 * -! -! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" - END_DOC - integer :: ispin - ! condition for alpha/beta spin - ispin = 1 - all_states_act_two_rdm_alpha_alpha_mo = 0.D0 - double precision :: wall_1,wall_2 - call wall_time(wall_1) - print*,'providing all_states_act_two_rdm_alpha_alpha_mo ...' - call orb_range_all_states_two_rdm(all_states_act_two_rdm_alpha_alpha_mo,n_act_orb,n_act_orb,list_act,list_act_reverse,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - call wall_time(wall_2) - print*,'time to provide all_states_act_two_rdm_alpha_alpha_mo',wall_2 - wall_1 - - END_PROVIDER - - BEGIN_PROVIDER [double precision, all_states_act_two_rdm_beta_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] - implicit none - BEGIN_DOC -! all_states_act_two_rdm_beta_beta_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta electrons -! -! -! -! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" - END_DOC - integer :: ispin - ! condition for alpha/beta spin - ispin = 2 - all_states_act_two_rdm_beta_beta_mo = 0.d0 - double precision :: wall_1,wall_2 - call wall_time(wall_1) - print*,'providing all_states_act_two_rdm_beta_beta_mo ...' - call orb_range_all_states_two_rdm(all_states_act_two_rdm_beta_beta_mo,n_act_orb,n_act_orb,list_act,list_act_reverse,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - call wall_time(wall_2) - print*,'time to provide all_states_act_two_rdm_beta_beta_mo',wall_2 - wall_1 - - END_PROVIDER - - BEGIN_PROVIDER [double precision, all_states_act_two_rdm_alpha_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] - implicit none - BEGIN_DOC -! all_states_act_two_rdm_alpha_beta_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons -! -! -! -! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" -! -! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is alpha, electron 2 is beta -! -! all_states_act_two_rdm_alpha_beta_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta -! -! Therefore you don't necessayr have symmetry between electron 1 and 2 - END_DOC - integer :: ispin - double precision :: wall_1, wall_2 - ! condition for alpha/beta spin - call wall_time(wall_1) - print*,'providing all_states_act_two_rdm_alpha_beta_mo ...' - ispin = 3 - print*,'ispin = ',ispin - all_states_act_two_rdm_alpha_beta_mo = 0.d0 - call wall_time(wall_1) - call orb_range_all_states_two_rdm(all_states_act_two_rdm_alpha_beta_mo,n_act_orb,n_act_orb,list_act,list_act_reverse,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - - call wall_time(wall_2) - print*,'time to provide all_states_act_two_rdm_alpha_beta_mo',wall_2 - wall_1 - END_PROVIDER - - - BEGIN_PROVIDER [double precision, all_states_act_two_rdm_spin_trace_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] - implicit none - BEGIN_DOC -! all_states_act_two_rdm_spin_trace_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM -! -! \sum_{\sigma, \sigma'} -! -! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" -! -! The active part of the two-electron energy for the state istate can be computed as: -! -! \sum_{i,j,k,l = 1, n_act_orb} all_states_act_two_rdm_spin_trace_mo(i,j,k,l,istate) * < ii jj | kk ll > -! -! with ii = list_act(i), jj = list_act(j), kk = list_act(k), ll = list_act(l) - END_DOC - integer :: ispin,i,j,k,l,istate - ! condition for alpha/beta spin - ispin = 4 - all_states_act_two_rdm_spin_trace_mo = 0.d0 - - double precision :: wall_1,wall_2 - call wall_time(wall_1) - print*,'providing all_states_act_two_rdm_spin_trace_mo ...' - call orb_range_all_states_two_rdm(all_states_act_two_rdm_spin_trace_mo,n_act_orb,n_act_orb,list_act,list_act_reverse,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - call wall_time(wall_2) - print*,'time to provide all_states_act_two_rdm_spin_trace_mo',wall_2 - wall_1 - END_PROVIDER - diff --git a/src/two_body_rdm/example.irp.f b/src/two_body_rdm/example.irp.f new file mode 100644 index 00000000..92e24af2 --- /dev/null +++ b/src/two_body_rdm/example.irp.f @@ -0,0 +1,261 @@ + +subroutine routine_active_only + implicit none + integer :: i,j,k,l,iorb,jorb,korb,lorb,istate + BEGIN_DOC +! This routine computes the two electron repulsion within the active space using various providers +! + END_DOC + + double precision :: vijkl,get_two_e_integral + double precision :: wee_ab(N_states),rdmab + double precision :: wee_bb(N_states),rdmbb + double precision :: wee_aa(N_states),rdmaa + double precision :: wee_tot(N_states),rdmtot + double precision :: wee_aa_st_av, rdm_aa_st_av + double precision :: wee_bb_st_av, rdm_bb_st_av + double precision :: wee_ab_st_av, rdm_ab_st_av + double precision :: wee_tot_st_av, rdm_tot_st_av + double precision :: wee_aa_st_av_2,wee_ab_st_av_2,wee_bb_st_av_2,wee_tot_st_av_2,wee_tot_st_av_3 + + wee_ab = 0.d0 + wee_bb = 0.d0 + wee_aa = 0.d0 + wee_tot = 0.d0 + + wee_aa_st_av_2 = 0.d0 + wee_bb_st_av_2 = 0.d0 + wee_ab_st_av_2 = 0.d0 + wee_tot_st_av_2 = 0.d0 + wee_tot_st_av_3 = 0.d0 + + + iorb = 1 + jorb = 1 + korb = 1 + lorb = 1 + vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) + provide act_two_rdm_ab_mo act_two_rdm_aa_mo act_two_rdm_bb_mo act_two_rdm_spin_trace_mo + provide state_av_act_two_rdm_ab_mo state_av_act_two_rdm_aa_mo + provide state_av_act_two_rdm_bb_mo state_av_act_two_rdm_spin_trace_mo + print*,'**************************' + print*,'**************************' + do istate = 1, N_states + !! PURE ACTIVE PART + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_act_orb + korb = list_act(k) + do l = 1, n_act_orb + lorb = list_act(l) + + vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) + + + rdmab = act_two_rdm_ab_mo(l,k,j,i,istate) + rdmaa = act_two_rdm_aa_mo(l,k,j,i,istate) + rdmbb = act_two_rdm_bb_mo(l,k,j,i,istate) + rdmtot = act_two_rdm_spin_trace_mo(l,k,j,i,istate) + + + wee_ab(istate) += vijkl * rdmab + wee_aa(istate) += vijkl * rdmaa + wee_bb(istate) += vijkl * rdmbb + wee_tot(istate) += vijkl * rdmtot + + enddo + enddo + enddo + enddo + wee_aa_st_av_2 += wee_aa(istate) * state_average_weight(istate) + wee_bb_st_av_2 += wee_aa(istate) * state_average_weight(istate) + wee_ab_st_av_2 += wee_aa(istate) * state_average_weight(istate) + wee_tot_st_av_2 += wee_tot(istate) * state_average_weight(istate) + wee_tot_st_av_3 += psi_energy_two_e(istate) * state_average_weight(istate) + print*,'' + print*,'' + print*,'Active space only energy for state ',istate + print*,'wee_aa(istate) = ',wee_aa(istate) + print*,'wee_bb(istate) = ',wee_bb(istate) + print*,'wee_ab(istate) = ',wee_ab(istate) + print*,'' + print*,'sum (istate) = ',wee_aa(istate) + wee_bb(istate) + wee_ab(istate) + print*,'wee_tot = ',wee_tot(istate) + print*,'Full energy ' + print*,'psi_energy_two_e(istate)= ',psi_energy_two_e(istate) + enddo + + wee_aa_st_av = 0.d0 + wee_bb_st_av = 0.d0 + wee_ab_st_av = 0.d0 + wee_tot_st_av = 0.d0 + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_act_orb + korb = list_act(k) + do l = 1, n_act_orb + lorb = list_act(l) + + vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) + + rdm_aa_st_av = state_av_act_two_rdm_aa_mo(l,k,j,i) + rdm_bb_st_av = state_av_act_two_rdm_bb_mo(l,k,j,i) + rdm_ab_st_av = state_av_act_two_rdm_ab_mo(l,k,j,i) + rdm_tot_st_av = state_av_act_two_rdm_spin_trace_mo(l,k,j,i) + + wee_aa_st_av += vijkl * rdm_aa_st_av + wee_bb_st_av += vijkl * rdm_bb_st_av + wee_ab_st_av += vijkl * rdm_ab_st_av + wee_tot_st_av += vijkl * rdm_tot_st_av + enddo + enddo + enddo + enddo + print*,'' + print*,'' + print*,'' + print*,'STATE AVERAGE ENERGY ' + print*,'Active space only energy for state ',istate + print*,'wee_aa_st_av = ',wee_aa_st_av + print*,'wee_aa_st_av_2 = ',wee_aa_st_av_2 + print*,'wee_bb_st_av = ',wee_bb_st_av + print*,'wee_bb_st_av_2 = ',wee_bb_st_av_2 + print*,'wee_ab_st_av = ',wee_ab_st_av + print*,'wee_ab_st_av_2 = ',wee_ab_st_av_2 + print*,'Sum of components = ',wee_aa_st_av+wee_bb_st_av+wee_ab_st_av + print*,'Sum of components_2 = ',wee_aa_st_av_2+wee_bb_st_av_2+wee_ab_st_av_2 + print*,'' + print*,'Full energy ' + print*,'wee_tot_st_av = ',wee_tot_st_av + print*,'wee_tot_st_av_2 = ',wee_tot_st_av_2 + print*,'wee_tot_st_av_3 = ',wee_tot_st_av_3 + +end + +subroutine routine_full_mos + implicit none + integer :: i,j,k,l,iorb,jorb,korb,lorb,istate + BEGIN_DOC +! This routine computes the two electron repulsion using various providers +! + END_DOC + + double precision :: vijkl,rdmaa,get_two_e_integral,rdmab,rdmbb,rdmtot + double precision :: wee_aa(N_states),wee_bb(N_states),wee_ab(N_states),wee_tot(N_states) + double precision :: wee_aa_st_av, rdm_aa_st_av + double precision :: wee_bb_st_av, rdm_bb_st_av + double precision :: wee_ab_st_av, rdm_ab_st_av + double precision :: wee_tot_st_av, rdm_tot_st_av + double precision :: wee_aa_st_av_2,wee_ab_st_av_2,wee_bb_st_av_2,wee_tot_st_av_2,wee_tot_st_av_3 + wee_aa = 0.d0 + wee_ab = 0.d0 + wee_bb = 0.d0 + wee_tot = 0.d0 + + wee_aa_st_av_2 = 0.d0 + wee_bb_st_av_2 = 0.d0 + wee_ab_st_av_2 = 0.d0 + wee_tot_st_av_2 = 0.d0 + wee_tot_st_av_3 = 0.d0 + + + iorb = 1 + jorb = 1 + korb = 1 + lorb = 1 + vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) + provide full_occ_two_rdm_ab_mo full_occ_two_rdm_aa_mo full_occ_two_rdm_bb_mo full_occ_two_rdm_spin_trace_mo + print*,'**************************' + print*,'**************************' + do istate = 1, N_states + do i = 1, n_core_inact_act_orb + iorb = list_core_inact_act(i) + do j = 1, n_core_inact_act_orb + jorb = list_core_inact_act(j) + do k = 1, n_core_inact_act_orb + korb = list_core_inact_act(k) + do l = 1, n_core_inact_act_orb + lorb = list_core_inact_act(l) + vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) + + rdmaa = full_occ_two_rdm_aa_mo(l,k,j,i,istate) + rdmab = full_occ_two_rdm_ab_mo(l,k,j,i,istate) + rdmbb = full_occ_two_rdm_bb_mo(l,k,j,i,istate) + rdmtot = full_occ_two_rdm_spin_trace_mo(l,k,j,i,istate) + + wee_ab(istate) += vijkl * rdmab + wee_aa(istate) += vijkl * rdmaa + wee_bb(istate) += vijkl * rdmbb + wee_tot(istate)+= vijkl * rdmtot + enddo + enddo + enddo + enddo + wee_aa_st_av_2 += wee_aa(istate) * state_average_weight(istate) + wee_bb_st_av_2 += wee_bb(istate) * state_average_weight(istate) + wee_ab_st_av_2 += wee_ab(istate) * state_average_weight(istate) + wee_tot_st_av_2 += wee_tot(istate) * state_average_weight(istate) + wee_tot_st_av_3 += psi_energy_two_e(istate) * state_average_weight(istate) + print*,'' + print*,'' + print*,'Full energy for state ',istate + print*,'wee_aa(istate) = ',wee_aa(istate) + print*,'wee_bb(istate) = ',wee_bb(istate) + print*,'wee_ab(istate) = ',wee_ab(istate) + print*,'' + print*,'sum (istate) = ',wee_aa(istate) + wee_bb(istate) + wee_ab(istate) + print*,'wee_tot(istate) = ',wee_tot(istate) + print*,'psi_energy_two_e(istate)= ',psi_energy_two_e(istate) + enddo + + wee_aa_st_av = 0.d0 + wee_bb_st_av = 0.d0 + wee_ab_st_av = 0.d0 + wee_tot_st_av = 0.d0 + do i = 1, n_core_inact_act_orb + iorb = list_core_inact_act(i) + do j = 1, n_core_inact_act_orb + jorb = list_core_inact_act(j) + do k = 1, n_core_inact_act_orb + korb = list_core_inact_act(k) + do l = 1, n_core_inact_act_orb + lorb = list_core_inact_act(l) + vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) + + rdm_aa_st_av = state_av_full_occ_two_rdm_aa_mo(l,k,j,i) + rdm_bb_st_av = state_av_full_occ_two_rdm_bb_mo(l,k,j,i) + rdm_ab_st_av = state_av_full_occ_two_rdm_ab_mo(l,k,j,i) + rdm_tot_st_av = state_av_full_occ_two_rdm_spin_trace_mo(l,k,j,i) + + wee_aa_st_av += vijkl * rdm_aa_st_av + wee_bb_st_av += vijkl * rdm_bb_st_av + wee_ab_st_av += vijkl * rdm_ab_st_av + wee_tot_st_av += vijkl * rdm_tot_st_av + enddo + enddo + enddo + enddo + print*,'' + print*,'' + print*,'' + print*,'STATE AVERAGE ENERGY ' + print*,'wee_aa_st_av = ',wee_aa_st_av + print*,'wee_aa_st_av_2 = ',wee_aa_st_av_2 + print*,'wee_bb_st_av = ',wee_bb_st_av + print*,'wee_bb_st_av_2 = ',wee_bb_st_av_2 + print*,'wee_ab_st_av = ',wee_ab_st_av + print*,'wee_ab_st_av_2 = ',wee_ab_st_av_2 + print*,'Sum of components = ',wee_aa_st_av + wee_bb_st_av + wee_ab_st_av + print*,'Sum of components_2 = ',wee_aa_st_av_2 + wee_bb_st_av_2 + wee_ab_st_av_2 + print*,'' + print*,'Full energy ' + print*,'wee_tot_st_av = ',wee_tot_st_av + print*,'wee_tot_st_av_2 = ',wee_tot_st_av_2 + print*,'wee_tot_st_av_3 = ',wee_tot_st_av_3 + +end diff --git a/src/two_body_rdm/all_states_full_orb_prov.irp.f b/src/two_body_rdm/full_orb_2_rdm.irp.f similarity index 57% rename from src/two_body_rdm/all_states_full_orb_prov.irp.f rename to src/two_body_rdm/full_orb_2_rdm.irp.f index 55fa78ca..1843cd3c 100644 --- a/src/two_body_rdm/all_states_full_orb_prov.irp.f +++ b/src/two_body_rdm/full_orb_2_rdm.irp.f @@ -1,10 +1,10 @@ - BEGIN_PROVIDER [double precision, all_states_full_two_rdm_alpha_beta_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] + BEGIN_PROVIDER [double precision, full_occ_two_rdm_ab_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] implicit none - all_states_full_two_rdm_alpha_beta_mo = 0.d0 + full_occ_two_rdm_ab_mo = 0.d0 integer :: i,j,k,l,iorb,jorb,korb,lorb,istate BEGIN_DOC -! all_states_full_two_rdm_alpha_beta_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons +! full_occ_two_rdm_ab_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons ! ! ! @@ -14,13 +14,13 @@ ! ! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is ALPHA, electron 2 is BETA ! -! all_states_act_two_rdm_alpha_beta_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta +! act_two_rdm_ab_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta ! ! Therefore you don't necessary have symmetry between electron 1 and 2 ! ! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero END_DOC - all_states_full_two_rdm_alpha_beta_mo = 0.d0 + full_occ_two_rdm_ab_mo = 0.d0 do istate = 1, N_states !! PURE ACTIVE PART ALPHA-BETA !! @@ -33,8 +33,8 @@ do l = 1, n_act_orb lorb = list_act(l) ! alph beta alph beta - all_states_full_two_rdm_alpha_beta_mo(lorb,korb,jorb,iorb,istate) = & - all_states_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) + full_occ_two_rdm_ab_mo(lorb,korb,jorb,iorb,istate) = & + act_two_rdm_ab_mo(l,k,j,i,istate) enddo enddo enddo @@ -48,7 +48,7 @@ do k = 1, n_inact_orb korb = list_inact(k) ! alph beta alph beta - all_states_full_two_rdm_alpha_beta_mo(korb,jorb,korb,iorb,istate) = one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_ab_mo(korb,jorb,korb,iorb,istate) = one_e_dm_mo_beta(jorb,iorb,istate) enddo enddo enddo @@ -62,7 +62,7 @@ do k = 1, n_inact_orb korb = list_inact(k) ! alph beta alph beta - all_states_full_two_rdm_alpha_beta_mo(jorb,korb,iorb,korb,istate) = one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_ab_mo(jorb,korb,iorb,korb,istate) = one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -74,7 +74,7 @@ do k = 1, n_inact_orb korb = list_inact(k) ! alph beta alph beta - all_states_full_two_rdm_alpha_beta_mo(korb,jorb,korb,jorb,istate) = 1.D0 + full_occ_two_rdm_ab_mo(korb,jorb,korb,jorb,istate) = 1.D0 enddo enddo @@ -91,7 +91,7 @@ do k = 1, n_core_orb korb = list_core(k) ! alph beta alph beta - all_states_full_two_rdm_alpha_beta_mo(korb,jorb,korb,iorb,istate) = one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_ab_mo(korb,jorb,korb,iorb,istate) = one_e_dm_mo_beta(jorb,iorb,istate) enddo enddo enddo @@ -105,7 +105,7 @@ do k = 1, n_core_orb korb = list_core(k) ! alph beta alph beta - all_states_full_two_rdm_alpha_beta_mo(jorb,korb,iorb,korb,istate) = one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_ab_mo(jorb,korb,iorb,korb,istate) = one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -117,7 +117,7 @@ do k = 1, n_core_orb korb = list_core(k) ! alph beta alph beta - all_states_full_two_rdm_alpha_beta_mo(korb,jorb,korb,jorb,istate) = 1.D0 + full_occ_two_rdm_ab_mo(korb,jorb,korb,jorb,istate) = 1.D0 enddo enddo endif @@ -126,12 +126,12 @@ END_PROVIDER - BEGIN_PROVIDER [double precision, all_states_full_two_rdm_alpha_alpha_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] + BEGIN_PROVIDER [double precision, full_occ_two_rdm_aa_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] implicit none - all_states_full_two_rdm_alpha_alpha_mo = 0.d0 + full_occ_two_rdm_aa_mo = 0.d0 integer :: i,j,k,l,iorb,jorb,korb,lorb,istate BEGIN_DOC -! all_states_full_two_rdm_alpha_alpha_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/alpha electrons +! full_occ_two_rdm_aa_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/alpha electrons ! ! ! @@ -153,8 +153,8 @@ korb = list_act(k) do l = 1, n_act_orb lorb = list_act(l) - all_states_full_two_rdm_alpha_alpha_mo(lorb,korb,jorb,iorb,istate) = & - all_states_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) + full_occ_two_rdm_aa_mo(lorb,korb,jorb,iorb,istate) = & + act_two_rdm_aa_mo(l,k,j,i,istate) enddo enddo enddo @@ -168,11 +168,11 @@ do k = 1, n_inact_orb korb = list_inact(k) ! 1 2 1 2 : DIRECT TERM - all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - all_states_full_two_rdm_alpha_alpha_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_aa_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_aa_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - all_states_full_two_rdm_alpha_alpha_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_aa_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_aa_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -182,8 +182,8 @@ jorb = list_inact(j) do k = 1, n_inact_orb korb = list_inact(k) - all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_two_rdm_aa_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_two_rdm_aa_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo @@ -199,11 +199,11 @@ do k = 1, n_core_orb korb = list_core(k) ! 1 2 1 2 : DIRECT TERM - all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - all_states_full_two_rdm_alpha_alpha_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_aa_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_aa_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - all_states_full_two_rdm_alpha_alpha_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_aa_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_aa_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -213,8 +213,8 @@ jorb = list_core(j) do k = 1, n_core_orb korb = list_core(k) - all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - all_states_full_two_rdm_alpha_alpha_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_two_rdm_aa_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_two_rdm_aa_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo endif @@ -222,12 +222,12 @@ END_PROVIDER - BEGIN_PROVIDER [double precision, all_states_full_two_rdm_beta_beta_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] + BEGIN_PROVIDER [double precision, full_occ_two_rdm_bb_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] implicit none - all_states_full_two_rdm_beta_beta_mo = 0.d0 + full_occ_two_rdm_bb_mo = 0.d0 integer :: i,j,k,l,iorb,jorb,korb,lorb,istate BEGIN_DOC -! all_states_full_two_rdm_beta_beta_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons +! full_occ_two_rdm_bb_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons ! ! ! @@ -249,8 +249,8 @@ korb = list_act(k) do l = 1, n_act_orb lorb = list_act(l) - all_states_full_two_rdm_beta_beta_mo(lorb,korb,jorb,iorb,istate) = & - all_states_act_two_rdm_beta_beta_mo(l,k,j,i,istate) + full_occ_two_rdm_bb_mo(lorb,korb,jorb,iorb,istate) = & + act_two_rdm_bb_mo(l,k,j,i,istate) enddo enddo enddo @@ -264,11 +264,11 @@ do k = 1, n_inact_orb korb = list_inact(k) ! 1 2 1 2 : DIRECT TERM - all_states_full_two_rdm_beta_beta_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - all_states_full_two_rdm_beta_beta_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_bb_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_bb_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - all_states_full_two_rdm_beta_beta_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - all_states_full_two_rdm_beta_beta_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_bb_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_bb_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) enddo enddo enddo @@ -278,8 +278,8 @@ jorb = list_inact(j) do k = 1, n_inact_orb korb = list_inact(k) - all_states_full_two_rdm_beta_beta_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - all_states_full_two_rdm_beta_beta_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_two_rdm_bb_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_two_rdm_bb_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo @@ -295,11 +295,11 @@ do k = 1, n_core_orb korb = list_core(k) ! 1 2 1 2 : DIRECT TERM - all_states_full_two_rdm_beta_beta_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - all_states_full_two_rdm_beta_beta_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_bb_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_bb_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - all_states_full_two_rdm_beta_beta_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - all_states_full_two_rdm_beta_beta_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_bb_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_bb_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) enddo enddo enddo @@ -309,8 +309,8 @@ jorb = list_core(j) do k = 1, n_core_orb korb = list_core(k) - all_states_full_two_rdm_beta_beta_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - all_states_full_two_rdm_beta_beta_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_two_rdm_bb_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_two_rdm_bb_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo endif @@ -318,12 +318,12 @@ END_PROVIDER - BEGIN_PROVIDER [double precision, all_states_full_two_rdm_spin_trace_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] + BEGIN_PROVIDER [double precision, full_occ_two_rdm_spin_trace_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] implicit none - all_states_full_two_rdm_spin_trace_mo = 0.d0 + full_occ_two_rdm_spin_trace_mo = 0.d0 integer :: i,j,k,l,iorb,jorb,korb,lorb,istate BEGIN_DOC -! all_states_full_two_rdm_beta_beta_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons +! full_occ_two_rdm_bb_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons ! ! ! @@ -346,8 +346,8 @@ korb = list_act(k) do l = 1, n_act_orb lorb = list_act(l) - all_states_full_two_rdm_spin_trace_mo(lorb,korb,jorb,iorb,istate) += & - all_states_act_two_rdm_spin_trace_mo(l,k,j,i,istate) + full_occ_two_rdm_spin_trace_mo(lorb,korb,jorb,iorb,istate) += & + act_two_rdm_spin_trace_mo(l,k,j,i,istate) enddo enddo enddo @@ -364,11 +364,11 @@ do k = 1, n_inact_orb korb = list_inact(k) ! 1 2 1 2 : DIRECT TERM - all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - all_states_full_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - all_states_full_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) enddo enddo enddo @@ -377,8 +377,8 @@ jorb = list_inact(j) do k = 1, n_inact_orb korb = list_inact(k) - all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - all_states_full_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo if (.not.no_core_density)then @@ -390,11 +390,11 @@ do k = 1, n_core_orb korb = list_core(k) ! 1 2 1 2 : DIRECT TERM - all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - all_states_full_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - all_states_full_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) enddo enddo enddo @@ -403,8 +403,8 @@ jorb = list_core(j) do k = 1, n_core_orb korb = list_core(k) - all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - all_states_full_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo endif @@ -420,11 +420,11 @@ do k = 1, n_inact_orb korb = list_inact(k) ! 1 2 1 2 : DIRECT TERM - all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - all_states_full_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - all_states_full_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -433,8 +433,8 @@ jorb = list_inact(j) do k = 1, n_inact_orb korb = list_inact(k) - all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - all_states_full_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo if (.not.no_core_density)then @@ -446,11 +446,11 @@ do k = 1, n_core_orb korb = list_core(k) ! 1 2 1 2 : DIRECT TERM - all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - all_states_full_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - all_states_full_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -459,8 +459,8 @@ jorb = list_core(j) do k = 1, n_core_orb korb = list_core(k) - all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - all_states_full_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo endif @@ -476,14 +476,14 @@ korb = list_inact(k) ! ALPHA INACTIVE - BETA ACTIVE ! alph beta alph beta - all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) ! beta alph beta alph - all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) ! BETA INACTIVE - ALPHA ACTIVE ! beta alph beta alpha - all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) ! alph beta alph beta - all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -493,8 +493,8 @@ do k = 1, n_inact_orb korb = list_inact(k) ! alph beta alph beta - all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5D0 - all_states_full_two_rdm_spin_trace_mo(jorb,korb,jorb,korb,istate) += 0.5D0 + full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5D0 + full_occ_two_rdm_spin_trace_mo(jorb,korb,jorb,korb,istate) += 0.5D0 enddo enddo @@ -510,14 +510,14 @@ korb = list_core(k) !! BETA ACTIVE - ALPHA CORE ! alph beta alph beta - all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5D0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5D0 * one_e_dm_mo_beta(jorb,iorb,istate) ! beta alph beta alph - all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5D0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5D0 * one_e_dm_mo_beta(jorb,iorb,istate) !! ALPHA ACTIVE - BETA CORE ! alph beta alph beta - all_states_full_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5D0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5D0 * one_e_dm_mo_alpha(jorb,iorb,istate) ! beta alph beta alph - all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5D0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5D0 * one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -527,8 +527,8 @@ do k = 1, n_core_orb korb = list_core(k) ! alph beta alph beta - all_states_full_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5D0 - all_states_full_two_rdm_spin_trace_mo(jorb,korb,jorb,korb,istate) += 0.5D0 + full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5D0 + full_occ_two_rdm_spin_trace_mo(jorb,korb,jorb,korb,istate) += 0.5D0 enddo enddo diff --git a/src/two_body_rdm/state_av_2rdm.irp.f b/src/two_body_rdm/state_av_act_2rdm.irp.f similarity index 59% rename from src/two_body_rdm/state_av_2rdm.irp.f rename to src/two_body_rdm/state_av_act_2rdm.irp.f index c8c625bc..640137b5 100644 --- a/src/two_body_rdm/state_av_2rdm.irp.f +++ b/src/two_body_rdm/state_av_act_2rdm.irp.f @@ -1,9 +1,9 @@ - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_alpha_alpha_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + BEGIN_PROVIDER [double precision, state_av_act_two_rdm_aa_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] implicit none double precision, allocatable :: state_weights(:) BEGIN_DOC -! state_av_act_two_rdm_alpha_alpha_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-alpha electron pairs +! state_av_act_two_rdm_aa_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-alpha electron pairs ! = END_DOC allocate(state_weights(N_states)) @@ -11,20 +11,20 @@ integer :: ispin ! condition for alpha/beta spin ispin = 1 - state_av_act_two_rdm_alpha_alpha_mo = 0.D0 + state_av_act_two_rdm_aa_mo = 0.D0 call wall_time(wall_1) double precision :: wall_1, wall_2 - call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_alpha_alpha_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_aa_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Wall time to provide state_av_act_two_rdm_alpha_alpha_mo',wall_2 - wall_1 + print*,'Wall time to provide state_av_act_two_rdm_aa_mo',wall_2 - wall_1 END_PROVIDER - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_beta_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + BEGIN_PROVIDER [double precision, state_av_act_two_rdm_bb_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] implicit none double precision, allocatable :: state_weights(:) BEGIN_DOC -! state_av_act_two_rdm_beta_beta_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for beta-beta electron pairs +! state_av_act_two_rdm_bb_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for beta-beta electron pairs ! = END_DOC allocate(state_weights(N_states)) @@ -32,20 +32,20 @@ integer :: ispin ! condition for alpha/beta spin ispin = 2 - state_av_act_two_rdm_beta_beta_mo = 0.d0 + state_av_act_two_rdm_bb_mo = 0.d0 call wall_time(wall_1) double precision :: wall_1, wall_2 - call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_beta_beta_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_bb_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Wall time to provide state_av_act_two_rdm_beta_beta_mo',wall_2 - wall_1 + print*,'Wall time to provide state_av_act_two_rdm_bb_mo',wall_2 - wall_1 END_PROVIDER - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_alpha_beta_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + BEGIN_PROVIDER [double precision, state_av_act_two_rdm_ab_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] implicit none double precision, allocatable :: state_weights(:) BEGIN_DOC -! state_av_act_two_rdm_alpha_beta_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-beta electron pairs +! state_av_act_two_rdm_ab_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-beta electron pairs ! = END_DOC allocate(state_weights(N_states)) @@ -55,15 +55,15 @@ print*,'' print*,'' print*,'' - print*,'providint state_av_act_two_rdm_alpha_beta_mo ' + print*,'providint state_av_act_two_rdm_ab_mo ' ispin = 3 print*,'ispin = ',ispin - state_av_act_two_rdm_alpha_beta_mo = 0.d0 + state_av_act_two_rdm_ab_mo = 0.d0 call wall_time(wall_1) double precision :: wall_1, wall_2 - call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_alpha_beta_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_ab_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Wall time to provide state_av_act_two_rdm_alpha_beta_mo',wall_2 - wall_1 + print*,'Wall time to provide state_av_act_two_rdm_ab_mo',wall_2 - wall_1 END_PROVIDER diff --git a/src/two_body_rdm/state_av_full_orb_2_rdm.irp.f b/src/two_body_rdm/state_av_full_orb_2_rdm.irp.f new file mode 100644 index 00000000..f5b3e18c --- /dev/null +++ b/src/two_body_rdm/state_av_full_orb_2_rdm.irp.f @@ -0,0 +1,528 @@ + + BEGIN_PROVIDER [double precision, state_av_full_occ_two_rdm_ab_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb)] + implicit none + state_av_full_occ_two_rdm_ab_mo = 0.d0 + integer :: i,j,k,l,iorb,jorb,korb,lorb + BEGIN_DOC +! state_av_full_occ_two_rdm_ab_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of alpha/beta electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! BUT THE STRUCTURE OF THE TWO-RDM ON THE RANGE OF OCCUPIED MOS (CORE+INACT+ACT) BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS +! +! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is ALPHA, electron 2 is BETA +! +! state_av_full_occ_two_rdm_ab_mo(i,j,k,l) = i:alpha, j:beta, j:alpha, l:beta +! +! Therefore you don't necessary have symmetry between electron 1 and 2 +! +! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero + END_DOC + state_av_full_occ_two_rdm_ab_mo = 0.d0 + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_act_orb + korb = list_act(k) + do l = 1, n_act_orb + lorb = list_act(l) + ! alph beta alph beta + state_av_full_occ_two_rdm_ab_mo(lorb,korb,jorb,iorb) = & + state_av_act_two_rdm_ab_mo(l,k,j,i) + enddo + enddo + enddo + enddo + !! BETA ACTIVE - ALPHA inactive + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! alph beta alph beta + state_av_full_occ_two_rdm_ab_mo(korb,jorb,korb,iorb) = one_e_dm_mo_beta_average(jorb,iorb) + enddo + enddo + enddo + + !! ALPHA ACTIVE - BETA inactive + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! alph beta alph beta + state_av_full_occ_two_rdm_ab_mo(jorb,korb,iorb,korb) = one_e_dm_mo_alpha_average(jorb,iorb) + enddo + enddo + enddo + + !! ALPHA INACTIVE - BETA INACTIVE + !! + do j = 1, n_inact_orb + jorb = list_inact(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! alph beta alph beta + state_av_full_occ_two_rdm_ab_mo(korb,jorb,korb,jorb) = 1.D0 + enddo + enddo + +!!!!!!!!!!!! +!!!!!!!!!!!! if "no_core_density" then you don't put the core part +!!!!!!!!!!!! CAN BE USED + if (.not.no_core_density)then + !! BETA ACTIVE - ALPHA CORE + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_core_orb + korb = list_core(k) + ! alph beta alph beta + state_av_full_occ_two_rdm_ab_mo(korb,jorb,korb,iorb) = one_e_dm_mo_beta_average(jorb,iorb) + enddo + enddo + enddo + + !! ALPHA ACTIVE - BETA CORE + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_core_orb + korb = list_core(k) + ! alph beta alph beta + state_av_full_occ_two_rdm_ab_mo(jorb,korb,iorb,korb) = one_e_dm_mo_alpha_average(jorb,iorb) + enddo + enddo + enddo + + !! ALPHA CORE - BETA CORE + !! + do j = 1, n_core_orb + jorb = list_core(j) + do k = 1, n_core_orb + korb = list_core(k) + ! alph beta alph beta + state_av_full_occ_two_rdm_ab_mo(korb,jorb,korb,jorb) = 1.D0 + enddo + enddo + endif + + END_PROVIDER + + + BEGIN_PROVIDER [double precision, state_av_full_occ_two_rdm_aa_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb)] + implicit none + state_av_full_occ_two_rdm_aa_mo = 0.d0 + integer :: i,j,k,l,iorb,jorb,korb,lorb + BEGIN_DOC +! state_av_full_occ_two_rdm_aa_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of alpha/alpha electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! BUT THE STRUCTURE OF THE TWO-RDM ON THE FULL RANGE OF MOs IS IMPLEMENTED BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS +! +! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero + END_DOC + + !! PURE ACTIVE PART ALPHA-ALPHA + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_act_orb + korb = list_act(k) + do l = 1, n_act_orb + lorb = list_act(l) + state_av_full_occ_two_rdm_aa_mo(lorb,korb,jorb,iorb) = & + state_av_act_two_rdm_aa_mo(l,k,j,i) + enddo + enddo + enddo + enddo + !! ALPHA ACTIVE - ALPHA inactive + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! 1 2 1 2 : DIRECT TERM + state_av_full_occ_two_rdm_aa_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_two_rdm_aa_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + ! 1 2 1 2 : EXCHANGE TERM + state_av_full_occ_two_rdm_aa_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_two_rdm_aa_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + enddo + enddo + enddo + + !! ALPHA INACTIVE - ALPHA INACTIVE + do j = 1, n_inact_orb + jorb = list_inact(j) + do k = 1, n_inact_orb + korb = list_inact(k) + state_av_full_occ_two_rdm_aa_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_two_rdm_aa_mo(korb,jorb,jorb,korb) -= 0.5d0 + enddo + enddo + +!!!!!!!!!! +!!!!!!!!!! if "no_core_density" then you don't put the core part +!!!!!!!!!! CAN BE USED + if (.not.no_core_density)then + !! ALPHA ACTIVE - ALPHA CORE + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_core_orb + korb = list_core(k) + ! 1 2 1 2 : DIRECT TERM + state_av_full_occ_two_rdm_aa_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_two_rdm_aa_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + ! 1 2 1 2 : EXCHANGE TERM + state_av_full_occ_two_rdm_aa_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_two_rdm_aa_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + enddo + enddo + enddo + !! ALPHA CORE - ALPHA CORE + + do j = 1, n_core_orb + jorb = list_core(j) + do k = 1, n_core_orb + korb = list_core(k) + state_av_full_occ_two_rdm_aa_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_two_rdm_aa_mo(korb,jorb,jorb,korb) -= 0.5d0 + enddo + enddo + endif + + END_PROVIDER + + BEGIN_PROVIDER [double precision, state_av_full_occ_two_rdm_bb_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb)] + implicit none + state_av_full_occ_two_rdm_bb_mo = 0.d0 + integer :: i,j,k,l,iorb,jorb,korb,lorb + BEGIN_DOC +! state_av_full_occ_two_rdm_bb_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of beta/beta electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! BUT THE STRUCTURE OF THE TWO-RDM ON THE FULL RANGE OF MOs IS IMPLEMENTED BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS +! +! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero + END_DOC + + !! PURE ACTIVE PART beta-beta + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_act_orb + korb = list_act(k) + do l = 1, n_act_orb + lorb = list_act(l) + state_av_full_occ_two_rdm_bb_mo(lorb,korb,jorb,iorb) = & + state_av_act_two_rdm_bb_mo(l,k,j,i) + enddo + enddo + enddo + enddo + !! beta ACTIVE - beta inactive + !! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! 1 2 1 2 : DIRECT TERM + state_av_full_occ_two_rdm_bb_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_two_rdm_bb_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + ! 1 2 1 2 : EXCHANGE TERM + state_av_full_occ_two_rdm_bb_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_two_rdm_bb_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + enddo + enddo + enddo + + !! beta INACTIVE - beta INACTIVE + do j = 1, n_inact_orb + jorb = list_inact(j) + do k = 1, n_inact_orb + korb = list_inact(k) + state_av_full_occ_two_rdm_bb_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_two_rdm_bb_mo(korb,jorb,jorb,korb) -= 0.5d0 + enddo + enddo + +!!!!!!!!!!!! +!!!!!!!!!!!! if "no_core_density" then you don't put the core part +!!!!!!!!!!!! CAN BE USED + if (.not.no_core_density)then + !! beta ACTIVE - beta CORE + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_core_orb + korb = list_core(k) + ! 1 2 1 2 : DIRECT TERM + state_av_full_occ_two_rdm_bb_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_two_rdm_bb_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + ! 1 2 1 2 : EXCHANGE TERM + state_av_full_occ_two_rdm_bb_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_two_rdm_bb_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + enddo + enddo + enddo + !! beta CORE - beta CORE + + do j = 1, n_core_orb + jorb = list_core(j) + do k = 1, n_core_orb + korb = list_core(k) + state_av_full_occ_two_rdm_bb_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_two_rdm_bb_mo(korb,jorb,jorb,korb) -= 0.5d0 + enddo + enddo + endif + + END_PROVIDER + + BEGIN_PROVIDER [double precision, state_av_full_occ_two_rdm_spin_trace_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb)] + implicit none + state_av_full_occ_two_rdm_spin_trace_mo = 0.d0 + integer :: i,j,k,l,iorb,jorb,korb,lorb + BEGIN_DOC +! state_av_full_occ_two_rdm_bb_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of beta/beta electrons +! +! +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! BUT THE STRUCTURE OF THE TWO-RDM ON THE FULL RANGE OF MOs IS IMPLEMENTED BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS +! +! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero + END_DOC + + !!!!!!!!!!!!!!!! + !!!!!!!!!!!!!!!! + !! PURE ACTIVE PART SPIN-TRACE + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_act_orb + korb = list_act(k) + do l = 1, n_act_orb + lorb = list_act(l) + state_av_full_occ_two_rdm_spin_trace_mo(lorb,korb,jorb,iorb) += & + state_av_act_two_rdm_spin_trace_mo(l,k,j,i) + enddo + enddo + enddo + enddo + + !!!!!!!!!!!!!!!! + !!!!!!!!!!!!!!!! + !!!!! BETA-BETA !!!!! + !! beta ACTIVE - beta inactive + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! 1 2 1 2 : DIRECT TERM + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + ! 1 2 1 2 : EXCHANGE TERM + state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + enddo + enddo + enddo + !! beta INACTIVE - beta INACTIVE + do j = 1, n_inact_orb + jorb = list_inact(j) + do k = 1, n_inact_orb + korb = list_inact(k) + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb) -= 0.5d0 + enddo + enddo + if (.not.no_core_density)then + !! beta ACTIVE - beta CORE + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_core_orb + korb = list_core(k) + ! 1 2 1 2 : DIRECT TERM + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + ! 1 2 1 2 : EXCHANGE TERM + state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + enddo + enddo + enddo + !! beta CORE - beta CORE + do j = 1, n_core_orb + jorb = list_core(j) + do k = 1, n_core_orb + korb = list_core(k) + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb) -= 0.5d0 + enddo + enddo + endif + + !!!!!!!!!!!!!!!! + !!!!!!!!!!!!!!!! + !!!!! ALPHA-ALPHA !!!!! + !! ALPHA ACTIVE - ALPHA inactive + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! 1 2 1 2 : DIRECT TERM + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + ! 1 2 1 2 : EXCHANGE TERM + state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + enddo + enddo + enddo + !! ALPHA INACTIVE - ALPHA INACTIVE + do j = 1, n_inact_orb + jorb = list_inact(j) + do k = 1, n_inact_orb + korb = list_inact(k) + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb) -= 0.5d0 + enddo + enddo + if (.not.no_core_density)then + !! ALPHA ACTIVE - ALPHA CORE + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_core_orb + korb = list_core(k) + ! 1 2 1 2 : DIRECT TERM + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + ! 1 2 1 2 : EXCHANGE TERM + state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + enddo + enddo + enddo + !! ALPHA CORE - ALPHA CORE + do j = 1, n_core_orb + jorb = list_core(j) + do k = 1, n_core_orb + korb = list_core(k) + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb) -= 0.5d0 + enddo + enddo + endif + + !!!!!!!!!!!!!!!! + !!!!!!!!!!!!!!!! + !!!!! ALPHA-BETA + BETA-ALPHA !!!!! + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! ALPHA INACTIVE - BETA ACTIVE + ! alph beta alph beta + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + ! beta alph beta alph + state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + ! BETA INACTIVE - ALPHA ACTIVE + ! beta alph beta alpha + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + ! alph beta alph beta + state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + enddo + enddo + enddo + !! ALPHA INACTIVE - BETA INACTIVE + do j = 1, n_inact_orb + jorb = list_inact(j) + do k = 1, n_inact_orb + korb = list_inact(k) + ! alph beta alph beta + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5D0 + state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,jorb,korb) += 0.5D0 + enddo + enddo + +!!!!!!!!!!!! +!!!!!!!!!!!! if "no_core_density" then you don't put the core part +!!!!!!!!!!!! CAN BE USED + if (.not.no_core_density)then + do i = 1, n_act_orb + iorb = list_act(i) + do j = 1, n_act_orb + jorb = list_act(j) + do k = 1, n_core_orb + korb = list_core(k) + !! BETA ACTIVE - ALPHA CORE + ! alph beta alph beta + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5D0 * one_e_dm_mo_beta_average(jorb,iorb) + ! beta alph beta alph + state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5D0 * one_e_dm_mo_beta_average(jorb,iorb) + !! ALPHA ACTIVE - BETA CORE + ! alph beta alph beta + state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5D0 * one_e_dm_mo_alpha_average(jorb,iorb) + ! beta alph beta alph + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5D0 * one_e_dm_mo_alpha_average(jorb,iorb) + enddo + enddo + enddo + !! ALPHA CORE - BETA CORE + do j = 1, n_core_orb + jorb = list_core(j) + do k = 1, n_core_orb + korb = list_core(k) + ! alph beta alph beta + state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5D0 + state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,jorb,korb) += 0.5D0 + enddo + enddo + + endif + + END_PROVIDER diff --git a/src/two_body_rdm/test_2_rdm.irp.f b/src/two_body_rdm/test_2_rdm.irp.f index 9ba57e37..123261d8 100644 --- a/src/two_body_rdm/test_2_rdm.irp.f +++ b/src/two_body_rdm/test_2_rdm.irp.f @@ -2,138 +2,7 @@ program test_2_rdm implicit none read_wf = .True. touch read_wf -! call routine_full_mos call routine_active_only + call routine_full_mos end -subroutine routine_active_only - implicit none - integer :: i,j,k,l,iorb,jorb,korb,lorb,istate - BEGIN_DOC -! This routine computes the two electron repulsion within the active space using various providers -! - END_DOC - - double precision :: vijkl,rdmaa,get_two_e_integral,rdmab,rdmbb,rdmtot - double precision :: accu_aa(N_states),accu_bb(N_states),accu_ab(N_states),accu_tot(N_states) - double precision :: accu_ab_omp(N_states),rdmab_omp - double precision :: accu_bb_omp(N_states),rdmbb_omp - double precision :: accu_aa_omp(N_states),rdmaa_omp - double precision :: accu_tot_omp(N_states),rdmtot_omp - accu_ab_omp = 0.d0 - accu_bb_omp = 0.d0 - accu_aa_omp = 0.d0 - accu_tot_omp = 0.d0 - accu_aa = 0.d0 - accu_ab = 0.d0 - accu_bb = 0.d0 - accu_tot = 0.d0 - do istate = 1, N_states - !! PURE ACTIVE PART - !! - do i = 1, n_act_orb - iorb = list_act(i) - do j = 1, n_act_orb - jorb = list_act(j) - do k = 1, n_act_orb - korb = list_act(k) - do l = 1, n_act_orb - lorb = list_act(l) - - vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) - -! rdmab_omp = state_av_act_two_rdm_alpha_beta_mo(l,k,j,i) -! rdmbb_omp = state_av_act_two_rdm_beta_beta_mo(l,k,j,i) -! rdmaa_omp = state_av_act_two_rdm_alpha_alpha_mo(l,k,j,i) -! rdmtot_omp = state_av_act_two_rdm_spin_trace_mo(l,k,j,i) - - -! rdmab_omp = all_states_openmp_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) -! rdmaa_omp = all_states_openmp_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) -! rdmbb_omp = all_states_openmp_act_two_rdm_beta_beta_mo(l,k,j,i,istate) - rdmtot_omp = all_states_openmp_act_two_rdm_spin_trace_mo(l,k,j,i,istate) - -! rdmab = all_states_act_two_rdm_alpha_beta_mo(l,k,j,i,istate) -! rdmaa = all_states_act_two_rdm_alpha_alpha_mo(l,k,j,i,istate) -! rdmbb = all_states_act_two_rdm_beta_beta_mo(l,k,j,i,istate) - rdmtot = all_states_act_two_rdm_spin_trace_mo(l,k,j,i,istate) - -! accu_ab_omp(istate) += vijkl * rdmab_omp -! accu_aa_omp(istate) += vijkl * rdmaa_omp -! accu_bb_omp(istate) += vijkl * rdmbb_omp - accu_tot_omp(istate) += vijkl * rdmtot_omp - -! accu_ab(istate) += vijkl * rdmab -! accu_aa(istate) += vijkl * rdmaa -! accu_bb(istate) += vijkl * rdmbb - accu_tot(istate) += vijkl * rdmtot - enddo - enddo - enddo - enddo - print*,'' - print*,'Active space only energy ' -! print*,'accu_aa(istate) = ',accu_aa(istate) -! print*,'accu_aa_omp = ',accu_aa_omp(istate) -! print*,'accu_bb(istate) = ',accu_bb(istate) -! print*,'accu_bb_omp = ',accu_bb_omp(istate) -! print*,'accu_ab(istate) = ',accu_ab(istate) -! print*,'accu_ab_omp = ',accu_ab_omp(istate) - print*,'' -! print*,'sum (istate) = ',accu_aa(istate) + accu_bb(istate) + accu_ab(istate) - print*,'accu_tot(istate) = ',accu_tot(istate) - print*,'accu_tot_omp = ',accu_tot_omp(istate) - print*,'psi_energy_two_e(istate) = ',psi_energy_two_e(istate) - enddo - -end - -subroutine routine_full_mos - implicit none - integer :: i,j,k,l,iorb,jorb,korb,lorb,istate - BEGIN_DOC -! This routine computes the two electron repulsion using various providers -! - END_DOC - - double precision :: vijkl,rdmaa,get_two_e_integral,rdmab,rdmbb,rdmtot - double precision :: accu_aa(N_states),accu_bb(N_states),accu_ab(N_states),accu_tot(N_states) - accu_aa = 0.d0 - accu_ab = 0.d0 - accu_bb = 0.d0 - accu_tot = 0.d0 - do istate = 1, N_states - do i = 1, n_core_inact_act_orb - iorb = list_core_inact_act(i) - do j = 1, n_core_inact_act_orb - jorb = list_core_inact_act(j) - do k = 1, n_core_inact_act_orb - korb = list_core_inact_act(k) - do l = 1, n_core_inact_act_orb - lorb = list_core_inact_act(l) - vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) - - rdmaa = all_states_full_two_rdm_alpha_alpha_mo(l,k,j,i,istate) - rdmab = all_states_full_two_rdm_alpha_beta_mo(l,k,j,i,istate) - rdmbb = all_states_full_two_rdm_beta_beta_mo(l,k,j,i,istate) - rdmtot = all_states_full_two_rdm_spin_trace_mo(l,k,j,i,istate) - - accu_ab(istate) += vijkl * rdmab - accu_aa(istate) += vijkl * rdmaa - accu_bb(istate) += vijkl * rdmbb - accu_tot(istate)+= vijkl * rdmtot - enddo - enddo - enddo - enddo - print*,'Full energy ' - print*,'accu_aa(istate) = ',accu_aa(istate) - print*,'accu_bb(istate) = ',accu_bb(istate) - print*,'accu_ab(istate) = ',accu_ab(istate) - print*,'' - print*,'sum (istate) = ',accu_aa(istate) + accu_bb(istate) + accu_ab(istate) - print*,'accu_tot(istate) = ',accu_tot(istate) - print*,'psi_energy_two_e(istate) = ',psi_energy_two_e(istate) - enddo - -end diff --git a/src/two_rdm_routines/all_states_david_openmp.irp.f b/src/two_rdm_routines/all_states_david_openmp.irp.f index 0da7e205..412c2f12 100644 --- a/src/two_rdm_routines/all_states_david_openmp.irp.f +++ b/src/two_rdm_routines/all_states_david_openmp.irp.f @@ -1,4 +1,4 @@ -subroutine orb_range_two_rdm_all_states_openmp_openmp(big_array,dim1,norb,list_orb,ispin,u_0,N_st,sze) +subroutine orb_range_two_rdm_openmp(big_array,dim1,norb,list_orb,ispin,u_0,N_st,sze) use bitmasks implicit none BEGIN_DOC @@ -30,7 +30,7 @@ subroutine orb_range_two_rdm_all_states_openmp_openmp(big_array,dim1,norb,list_o size(u_t, 1), & N_det, N_st) - call orb_range_two_rdm_all_states_openmp_openmp_work(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,1,N_det,0,1) + call orb_range_two_rdm_openmp_work(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,1,N_det,0,1) deallocate(u_t) do k=1,N_st @@ -39,7 +39,7 @@ subroutine orb_range_two_rdm_all_states_openmp_openmp(big_array,dim1,norb,list_o end -subroutine orb_range_two_rdm_all_states_openmp_openmp_work(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) +subroutine orb_range_two_rdm_openmp_work(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) use bitmasks implicit none BEGIN_DOC @@ -58,15 +58,15 @@ subroutine orb_range_two_rdm_all_states_openmp_openmp_work(big_array,dim1,norb,l select case (N_int) case (1) - call orb_range_two_rdm_all_states_openmp_openmp_work_1(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_two_rdm_openmp_work_1(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case (2) - call orb_range_two_rdm_all_states_openmp_openmp_work_2(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_two_rdm_openmp_work_2(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case (3) - call orb_range_two_rdm_all_states_openmp_openmp_work_3(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_two_rdm_openmp_work_3(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case (4) - call orb_range_two_rdm_all_states_openmp_openmp_work_4(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_two_rdm_openmp_work_4(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case default - call orb_range_two_rdm_all_states_openmp_openmp_work_N_int(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_two_rdm_openmp_work_N_int(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) end select end @@ -74,7 +74,7 @@ end BEGIN_TEMPLATE -subroutine orb_range_two_rdm_all_states_openmp_openmp_work_$N_int(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) +subroutine orb_range_two_rdm_openmp_work_$N_int(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) use bitmasks use omp_lib implicit none From 570a710de5c3bb2fbf21e55f8d7580943ad86570 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Sun, 22 Mar 2020 17:21:49 +0100 Subject: [PATCH 028/138] renamed two rdm --- src/two_body_rdm/act_2_rdm.irp.f | 56 +++--- src/two_body_rdm/example.irp.f | 40 ++-- src/two_body_rdm/full_orb_2_rdm.irp.f | 176 +++++++++--------- src/two_body_rdm/state_av_act_2rdm.irp.f | 46 ++--- .../state_av_full_orb_2_rdm.irp.f | 176 +++++++++--------- src/two_rdm_routines/all_states_david.irp.f | 36 ++-- .../all_states_david_openmp.irp.f | 32 ++-- src/two_rdm_routines/all_states_update.irp.f | 14 +- .../all_states_update_openmp.irp.f | 2 +- src/two_rdm_routines/state_av_david_omp.irp.f | 40 ++-- .../state_av_update_omp.irp.f | 14 +- 11 files changed, 316 insertions(+), 316 deletions(-) diff --git a/src/two_body_rdm/act_2_rdm.irp.f b/src/two_body_rdm/act_2_rdm.irp.f index af22946f..4a8a64d2 100644 --- a/src/two_body_rdm/act_2_rdm.irp.f +++ b/src/two_body_rdm/act_2_rdm.irp.f @@ -1,8 +1,8 @@ - BEGIN_PROVIDER [double precision, act_two_rdm_ab_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] + BEGIN_PROVIDER [double precision, act_2_rdm_ab_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] implicit none BEGIN_DOC -! act_two_rdm_ab_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons +! act_2_rdm_ab_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons ! ! ! @@ -10,7 +10,7 @@ ! ! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is alpha, electron 2 is beta ! -! act_two_rdm_ab_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta +! act_2_rdm_ab_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta ! ! Therefore you don't necessayr have symmetry between electron 1 and 2 END_DOC @@ -20,22 +20,22 @@ print*,'' print*,'' print*,'' - print*,'Providing act_two_rdm_ab_mo ' + print*,'Providing act_2_rdm_ab_mo ' ispin = 3 print*,'ispin = ',ispin - act_two_rdm_ab_mo = 0.d0 + act_2_rdm_ab_mo = 0.d0 call wall_time(wall_1) - call orb_range_two_rdm_openmp(act_two_rdm_ab_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call orb_range_2_rdm_openmp(act_2_rdm_ab_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Wall time to provide act_two_rdm_ab_mo',wall_2 - wall_1 + print*,'Wall time to provide act_2_rdm_ab_mo',wall_2 - wall_1 END_PROVIDER - BEGIN_PROVIDER [double precision, act_two_rdm_aa_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] + BEGIN_PROVIDER [double precision, act_2_rdm_aa_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] implicit none BEGIN_DOC -! act_two_rdm_aa_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons +! act_2_rdm_aa_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons ! ! ! @@ -43,7 +43,7 @@ ! ! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is alpha, electron 2 is beta ! -! act_two_rdm_aa_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta +! act_2_rdm_aa_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta ! ! Therefore you don't necessayr have symmetry between electron 1 and 2 END_DOC @@ -53,22 +53,22 @@ print*,'' print*,'' print*,'' - print*,'Providing act_two_rdm_aa_mo ' + print*,'Providing act_2_rdm_aa_mo ' ispin = 1 print*,'ispin = ',ispin - act_two_rdm_aa_mo = 0.d0 + act_2_rdm_aa_mo = 0.d0 call wall_time(wall_1) - call orb_range_two_rdm_openmp(act_two_rdm_aa_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call orb_range_2_rdm_openmp(act_2_rdm_aa_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Wall time to provide act_two_rdm_aa_mo',wall_2 - wall_1 + print*,'Wall time to provide act_2_rdm_aa_mo',wall_2 - wall_1 END_PROVIDER - BEGIN_PROVIDER [double precision, act_two_rdm_bb_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] + BEGIN_PROVIDER [double precision, act_2_rdm_bb_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] implicit none BEGIN_DOC -! act_two_rdm_bb_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons +! act_2_rdm_bb_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons ! ! ! @@ -76,7 +76,7 @@ ! ! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is beta, electron 2 is beta ! -! act_two_rdm_bb_mo(i,j,k,l,istate) = i:beta, j:beta, j:beta, l:beta +! act_2_rdm_bb_mo(i,j,k,l,istate) = i:beta, j:beta, j:beta, l:beta ! ! Therefore you don't necessayr have symmetry between electron 1 and 2 END_DOC @@ -86,21 +86,21 @@ print*,'' print*,'' print*,'' - print*,'Providing act_two_rdm_bb_mo ' + print*,'Providing act_2_rdm_bb_mo ' ispin = 2 print*,'ispin = ',ispin - act_two_rdm_bb_mo = 0.d0 + act_2_rdm_bb_mo = 0.d0 call wall_time(wall_1) - call orb_range_two_rdm_openmp(act_two_rdm_bb_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call orb_range_2_rdm_openmp(act_2_rdm_bb_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Wall time to provide act_two_rdm_bb_mo',wall_2 - wall_1 + print*,'Wall time to provide act_2_rdm_bb_mo',wall_2 - wall_1 END_PROVIDER - BEGIN_PROVIDER [double precision, act_two_rdm_spin_trace_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] + BEGIN_PROVIDER [double precision, act_2_rdm_spin_trace_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] implicit none BEGIN_DOC -! act_two_rdm_spin_trace_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons +! act_2_rdm_spin_trace_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons ! ! ! @@ -108,7 +108,7 @@ ! ! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is beta, electron 2 is beta ! -! act_two_rdm_spin_trace_mo(i,j,k,l,istate) = i:beta, j:beta, j:beta, l:beta +! act_2_rdm_spin_trace_mo(i,j,k,l,istate) = i:beta, j:beta, j:beta, l:beta ! ! Therefore you don't necessayr have symmetry between electron 1 and 2 END_DOC @@ -118,13 +118,13 @@ print*,'' print*,'' print*,'' - print*,'Providing act_two_rdm_spin_trace_mo ' + print*,'Providing act_2_rdm_spin_trace_mo ' ispin = 4 print*,'ispin = ',ispin - act_two_rdm_spin_trace_mo = 0.d0 + act_2_rdm_spin_trace_mo = 0.d0 call wall_time(wall_1) - call orb_range_two_rdm_openmp(act_two_rdm_spin_trace_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call orb_range_2_rdm_openmp(act_2_rdm_spin_trace_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Wall time to provide act_two_rdm_spin_trace_mo',wall_2 - wall_1 + print*,'Wall time to provide act_2_rdm_spin_trace_mo',wall_2 - wall_1 END_PROVIDER diff --git a/src/two_body_rdm/example.irp.f b/src/two_body_rdm/example.irp.f index 92e24af2..fb4ac8ed 100644 --- a/src/two_body_rdm/example.irp.f +++ b/src/two_body_rdm/example.irp.f @@ -35,9 +35,9 @@ subroutine routine_active_only korb = 1 lorb = 1 vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) - provide act_two_rdm_ab_mo act_two_rdm_aa_mo act_two_rdm_bb_mo act_two_rdm_spin_trace_mo - provide state_av_act_two_rdm_ab_mo state_av_act_two_rdm_aa_mo - provide state_av_act_two_rdm_bb_mo state_av_act_two_rdm_spin_trace_mo + provide act_2_rdm_ab_mo act_2_rdm_aa_mo act_2_rdm_bb_mo act_2_rdm_spin_trace_mo + provide state_av_act_2_rdm_ab_mo state_av_act_2_rdm_aa_mo + provide state_av_act_2_rdm_bb_mo state_av_act_2_rdm_spin_trace_mo print*,'**************************' print*,'**************************' do istate = 1, N_states @@ -55,10 +55,10 @@ subroutine routine_active_only vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) - rdmab = act_two_rdm_ab_mo(l,k,j,i,istate) - rdmaa = act_two_rdm_aa_mo(l,k,j,i,istate) - rdmbb = act_two_rdm_bb_mo(l,k,j,i,istate) - rdmtot = act_two_rdm_spin_trace_mo(l,k,j,i,istate) + rdmab = act_2_rdm_ab_mo(l,k,j,i,istate) + rdmaa = act_2_rdm_aa_mo(l,k,j,i,istate) + rdmbb = act_2_rdm_bb_mo(l,k,j,i,istate) + rdmtot = act_2_rdm_spin_trace_mo(l,k,j,i,istate) wee_ab(istate) += vijkl * rdmab @@ -103,10 +103,10 @@ subroutine routine_active_only vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) - rdm_aa_st_av = state_av_act_two_rdm_aa_mo(l,k,j,i) - rdm_bb_st_av = state_av_act_two_rdm_bb_mo(l,k,j,i) - rdm_ab_st_av = state_av_act_two_rdm_ab_mo(l,k,j,i) - rdm_tot_st_av = state_av_act_two_rdm_spin_trace_mo(l,k,j,i) + rdm_aa_st_av = state_av_act_2_rdm_aa_mo(l,k,j,i) + rdm_bb_st_av = state_av_act_2_rdm_bb_mo(l,k,j,i) + rdm_ab_st_av = state_av_act_2_rdm_ab_mo(l,k,j,i) + rdm_tot_st_av = state_av_act_2_rdm_spin_trace_mo(l,k,j,i) wee_aa_st_av += vijkl * rdm_aa_st_av wee_bb_st_av += vijkl * rdm_bb_st_av @@ -169,7 +169,7 @@ subroutine routine_full_mos korb = 1 lorb = 1 vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) - provide full_occ_two_rdm_ab_mo full_occ_two_rdm_aa_mo full_occ_two_rdm_bb_mo full_occ_two_rdm_spin_trace_mo + provide full_occ_2_rdm_ab_mo full_occ_2_rdm_aa_mo full_occ_2_rdm_bb_mo full_occ_2_rdm_spin_trace_mo print*,'**************************' print*,'**************************' do istate = 1, N_states @@ -183,10 +183,10 @@ subroutine routine_full_mos lorb = list_core_inact_act(l) vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) - rdmaa = full_occ_two_rdm_aa_mo(l,k,j,i,istate) - rdmab = full_occ_two_rdm_ab_mo(l,k,j,i,istate) - rdmbb = full_occ_two_rdm_bb_mo(l,k,j,i,istate) - rdmtot = full_occ_two_rdm_spin_trace_mo(l,k,j,i,istate) + rdmaa = full_occ_2_rdm_aa_mo(l,k,j,i,istate) + rdmab = full_occ_2_rdm_ab_mo(l,k,j,i,istate) + rdmbb = full_occ_2_rdm_bb_mo(l,k,j,i,istate) + rdmtot = full_occ_2_rdm_spin_trace_mo(l,k,j,i,istate) wee_ab(istate) += vijkl * rdmab wee_aa(istate) += vijkl * rdmaa @@ -227,10 +227,10 @@ subroutine routine_full_mos lorb = list_core_inact_act(l) vijkl = get_two_e_integral(lorb,korb,jorb,iorb,mo_integrals_map) - rdm_aa_st_av = state_av_full_occ_two_rdm_aa_mo(l,k,j,i) - rdm_bb_st_av = state_av_full_occ_two_rdm_bb_mo(l,k,j,i) - rdm_ab_st_av = state_av_full_occ_two_rdm_ab_mo(l,k,j,i) - rdm_tot_st_av = state_av_full_occ_two_rdm_spin_trace_mo(l,k,j,i) + rdm_aa_st_av = state_av_full_occ_2_rdm_aa_mo(l,k,j,i) + rdm_bb_st_av = state_av_full_occ_2_rdm_bb_mo(l,k,j,i) + rdm_ab_st_av = state_av_full_occ_2_rdm_ab_mo(l,k,j,i) + rdm_tot_st_av = state_av_full_occ_2_rdm_spin_trace_mo(l,k,j,i) wee_aa_st_av += vijkl * rdm_aa_st_av wee_bb_st_av += vijkl * rdm_bb_st_av diff --git a/src/two_body_rdm/full_orb_2_rdm.irp.f b/src/two_body_rdm/full_orb_2_rdm.irp.f index 1843cd3c..bc0350e2 100644 --- a/src/two_body_rdm/full_orb_2_rdm.irp.f +++ b/src/two_body_rdm/full_orb_2_rdm.irp.f @@ -1,10 +1,10 @@ - BEGIN_PROVIDER [double precision, full_occ_two_rdm_ab_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] + BEGIN_PROVIDER [double precision, full_occ_2_rdm_ab_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] implicit none - full_occ_two_rdm_ab_mo = 0.d0 + full_occ_2_rdm_ab_mo = 0.d0 integer :: i,j,k,l,iorb,jorb,korb,lorb,istate BEGIN_DOC -! full_occ_two_rdm_ab_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons +! full_occ_2_rdm_ab_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons ! ! ! @@ -14,13 +14,13 @@ ! ! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is ALPHA, electron 2 is BETA ! -! act_two_rdm_ab_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta +! act_2_rdm_ab_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta ! ! Therefore you don't necessary have symmetry between electron 1 and 2 ! ! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero END_DOC - full_occ_two_rdm_ab_mo = 0.d0 + full_occ_2_rdm_ab_mo = 0.d0 do istate = 1, N_states !! PURE ACTIVE PART ALPHA-BETA !! @@ -33,8 +33,8 @@ do l = 1, n_act_orb lorb = list_act(l) ! alph beta alph beta - full_occ_two_rdm_ab_mo(lorb,korb,jorb,iorb,istate) = & - act_two_rdm_ab_mo(l,k,j,i,istate) + full_occ_2_rdm_ab_mo(lorb,korb,jorb,iorb,istate) = & + act_2_rdm_ab_mo(l,k,j,i,istate) enddo enddo enddo @@ -48,7 +48,7 @@ do k = 1, n_inact_orb korb = list_inact(k) ! alph beta alph beta - full_occ_two_rdm_ab_mo(korb,jorb,korb,iorb,istate) = one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_ab_mo(korb,jorb,korb,iorb,istate) = one_e_dm_mo_beta(jorb,iorb,istate) enddo enddo enddo @@ -62,7 +62,7 @@ do k = 1, n_inact_orb korb = list_inact(k) ! alph beta alph beta - full_occ_two_rdm_ab_mo(jorb,korb,iorb,korb,istate) = one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_ab_mo(jorb,korb,iorb,korb,istate) = one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -74,7 +74,7 @@ do k = 1, n_inact_orb korb = list_inact(k) ! alph beta alph beta - full_occ_two_rdm_ab_mo(korb,jorb,korb,jorb,istate) = 1.D0 + full_occ_2_rdm_ab_mo(korb,jorb,korb,jorb,istate) = 1.D0 enddo enddo @@ -91,7 +91,7 @@ do k = 1, n_core_orb korb = list_core(k) ! alph beta alph beta - full_occ_two_rdm_ab_mo(korb,jorb,korb,iorb,istate) = one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_ab_mo(korb,jorb,korb,iorb,istate) = one_e_dm_mo_beta(jorb,iorb,istate) enddo enddo enddo @@ -105,7 +105,7 @@ do k = 1, n_core_orb korb = list_core(k) ! alph beta alph beta - full_occ_two_rdm_ab_mo(jorb,korb,iorb,korb,istate) = one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_ab_mo(jorb,korb,iorb,korb,istate) = one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -117,7 +117,7 @@ do k = 1, n_core_orb korb = list_core(k) ! alph beta alph beta - full_occ_two_rdm_ab_mo(korb,jorb,korb,jorb,istate) = 1.D0 + full_occ_2_rdm_ab_mo(korb,jorb,korb,jorb,istate) = 1.D0 enddo enddo endif @@ -126,12 +126,12 @@ END_PROVIDER - BEGIN_PROVIDER [double precision, full_occ_two_rdm_aa_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] + BEGIN_PROVIDER [double precision, full_occ_2_rdm_aa_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] implicit none - full_occ_two_rdm_aa_mo = 0.d0 + full_occ_2_rdm_aa_mo = 0.d0 integer :: i,j,k,l,iorb,jorb,korb,lorb,istate BEGIN_DOC -! full_occ_two_rdm_aa_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/alpha electrons +! full_occ_2_rdm_aa_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/alpha electrons ! ! ! @@ -153,8 +153,8 @@ korb = list_act(k) do l = 1, n_act_orb lorb = list_act(l) - full_occ_two_rdm_aa_mo(lorb,korb,jorb,iorb,istate) = & - act_two_rdm_aa_mo(l,k,j,i,istate) + full_occ_2_rdm_aa_mo(lorb,korb,jorb,iorb,istate) = & + act_2_rdm_aa_mo(l,k,j,i,istate) enddo enddo enddo @@ -168,11 +168,11 @@ do k = 1, n_inact_orb korb = list_inact(k) ! 1 2 1 2 : DIRECT TERM - full_occ_two_rdm_aa_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - full_occ_two_rdm_aa_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_aa_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_aa_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - full_occ_two_rdm_aa_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - full_occ_two_rdm_aa_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_aa_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_aa_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -182,8 +182,8 @@ jorb = list_inact(j) do k = 1, n_inact_orb korb = list_inact(k) - full_occ_two_rdm_aa_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - full_occ_two_rdm_aa_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_2_rdm_aa_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_2_rdm_aa_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo @@ -199,11 +199,11 @@ do k = 1, n_core_orb korb = list_core(k) ! 1 2 1 2 : DIRECT TERM - full_occ_two_rdm_aa_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - full_occ_two_rdm_aa_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_aa_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_aa_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - full_occ_two_rdm_aa_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - full_occ_two_rdm_aa_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_aa_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_aa_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -213,8 +213,8 @@ jorb = list_core(j) do k = 1, n_core_orb korb = list_core(k) - full_occ_two_rdm_aa_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - full_occ_two_rdm_aa_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_2_rdm_aa_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_2_rdm_aa_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo endif @@ -222,12 +222,12 @@ END_PROVIDER - BEGIN_PROVIDER [double precision, full_occ_two_rdm_bb_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] + BEGIN_PROVIDER [double precision, full_occ_2_rdm_bb_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] implicit none - full_occ_two_rdm_bb_mo = 0.d0 + full_occ_2_rdm_bb_mo = 0.d0 integer :: i,j,k,l,iorb,jorb,korb,lorb,istate BEGIN_DOC -! full_occ_two_rdm_bb_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons +! full_occ_2_rdm_bb_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons ! ! ! @@ -249,8 +249,8 @@ korb = list_act(k) do l = 1, n_act_orb lorb = list_act(l) - full_occ_two_rdm_bb_mo(lorb,korb,jorb,iorb,istate) = & - act_two_rdm_bb_mo(l,k,j,i,istate) + full_occ_2_rdm_bb_mo(lorb,korb,jorb,iorb,istate) = & + act_2_rdm_bb_mo(l,k,j,i,istate) enddo enddo enddo @@ -264,11 +264,11 @@ do k = 1, n_inact_orb korb = list_inact(k) ! 1 2 1 2 : DIRECT TERM - full_occ_two_rdm_bb_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - full_occ_two_rdm_bb_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_bb_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_bb_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - full_occ_two_rdm_bb_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - full_occ_two_rdm_bb_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_bb_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_bb_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) enddo enddo enddo @@ -278,8 +278,8 @@ jorb = list_inact(j) do k = 1, n_inact_orb korb = list_inact(k) - full_occ_two_rdm_bb_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - full_occ_two_rdm_bb_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_2_rdm_bb_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_2_rdm_bb_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo @@ -295,11 +295,11 @@ do k = 1, n_core_orb korb = list_core(k) ! 1 2 1 2 : DIRECT TERM - full_occ_two_rdm_bb_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - full_occ_two_rdm_bb_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_bb_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_bb_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - full_occ_two_rdm_bb_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - full_occ_two_rdm_bb_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_bb_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_bb_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) enddo enddo enddo @@ -309,8 +309,8 @@ jorb = list_core(j) do k = 1, n_core_orb korb = list_core(k) - full_occ_two_rdm_bb_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - full_occ_two_rdm_bb_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_2_rdm_bb_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_2_rdm_bb_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo endif @@ -318,12 +318,12 @@ END_PROVIDER - BEGIN_PROVIDER [double precision, full_occ_two_rdm_spin_trace_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] + BEGIN_PROVIDER [double precision, full_occ_2_rdm_spin_trace_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] implicit none - full_occ_two_rdm_spin_trace_mo = 0.d0 + full_occ_2_rdm_spin_trace_mo = 0.d0 integer :: i,j,k,l,iorb,jorb,korb,lorb,istate BEGIN_DOC -! full_occ_two_rdm_bb_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons +! full_occ_2_rdm_bb_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons ! ! ! @@ -346,8 +346,8 @@ korb = list_act(k) do l = 1, n_act_orb lorb = list_act(l) - full_occ_two_rdm_spin_trace_mo(lorb,korb,jorb,iorb,istate) += & - act_two_rdm_spin_trace_mo(l,k,j,i,istate) + full_occ_2_rdm_spin_trace_mo(lorb,korb,jorb,iorb,istate) += & + act_2_rdm_spin_trace_mo(l,k,j,i,istate) enddo enddo enddo @@ -364,11 +364,11 @@ do k = 1, n_inact_orb korb = list_inact(k) ! 1 2 1 2 : DIRECT TERM - full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) enddo enddo enddo @@ -377,8 +377,8 @@ jorb = list_inact(j) do k = 1, n_inact_orb korb = list_inact(k) - full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_2_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo if (.not.no_core_density)then @@ -390,11 +390,11 @@ do k = 1, n_core_orb korb = list_core(k) ! 1 2 1 2 : DIRECT TERM - full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) - full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) enddo enddo enddo @@ -403,8 +403,8 @@ jorb = list_core(j) do k = 1, n_core_orb korb = list_core(k) - full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_2_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo endif @@ -420,11 +420,11 @@ do k = 1, n_inact_orb korb = list_inact(k) ! 1 2 1 2 : DIRECT TERM - full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -433,8 +433,8 @@ jorb = list_inact(j) do k = 1, n_inact_orb korb = list_inact(k) - full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_2_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo if (.not.no_core_density)then @@ -446,11 +446,11 @@ do k = 1, n_core_orb korb = list_core(k) ! 1 2 1 2 : DIRECT TERM - full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) ! 1 2 1 2 : EXCHANGE TERM - full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) - full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(jorb,korb,korb,iorb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(korb,jorb,iorb,korb,istate) += -0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -459,8 +459,8 @@ jorb = list_core(j) do k = 1, n_core_orb korb = list_core(k) - full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 - full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 + full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5d0 + full_occ_2_rdm_spin_trace_mo(korb,jorb,jorb,korb,istate) -= 0.5d0 enddo enddo endif @@ -476,14 +476,14 @@ korb = list_inact(k) ! ALPHA INACTIVE - BETA ACTIVE ! alph beta alph beta - full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) ! beta alph beta alph - full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_beta(jorb,iorb,istate) ! BETA INACTIVE - ALPHA ACTIVE ! beta alph beta alpha - full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) ! alph beta alph beta - full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5d0 * one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -493,8 +493,8 @@ do k = 1, n_inact_orb korb = list_inact(k) ! alph beta alph beta - full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5D0 - full_occ_two_rdm_spin_trace_mo(jorb,korb,jorb,korb,istate) += 0.5D0 + full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5D0 + full_occ_2_rdm_spin_trace_mo(jorb,korb,jorb,korb,istate) += 0.5D0 enddo enddo @@ -510,14 +510,14 @@ korb = list_core(k) !! BETA ACTIVE - ALPHA CORE ! alph beta alph beta - full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5D0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5D0 * one_e_dm_mo_beta(jorb,iorb,istate) ! beta alph beta alph - full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5D0 * one_e_dm_mo_beta(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5D0 * one_e_dm_mo_beta(jorb,iorb,istate) !! ALPHA ACTIVE - BETA CORE ! alph beta alph beta - full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5D0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb,istate) += 0.5D0 * one_e_dm_mo_alpha(jorb,iorb,istate) ! beta alph beta alph - full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5D0 * one_e_dm_mo_alpha(jorb,iorb,istate) + full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb,istate) += 0.5D0 * one_e_dm_mo_alpha(jorb,iorb,istate) enddo enddo enddo @@ -527,8 +527,8 @@ do k = 1, n_core_orb korb = list_core(k) ! alph beta alph beta - full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5D0 - full_occ_two_rdm_spin_trace_mo(jorb,korb,jorb,korb,istate) += 0.5D0 + full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,jorb,istate) += 0.5D0 + full_occ_2_rdm_spin_trace_mo(jorb,korb,jorb,korb,istate) += 0.5D0 enddo enddo diff --git a/src/two_body_rdm/state_av_act_2rdm.irp.f b/src/two_body_rdm/state_av_act_2rdm.irp.f index 640137b5..064ecc33 100644 --- a/src/two_body_rdm/state_av_act_2rdm.irp.f +++ b/src/two_body_rdm/state_av_act_2rdm.irp.f @@ -1,9 +1,9 @@ - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_aa_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + BEGIN_PROVIDER [double precision, state_av_act_2_rdm_aa_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] implicit none double precision, allocatable :: state_weights(:) BEGIN_DOC -! state_av_act_two_rdm_aa_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-alpha electron pairs +! state_av_act_2_rdm_aa_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-alpha electron pairs ! = END_DOC allocate(state_weights(N_states)) @@ -11,20 +11,20 @@ integer :: ispin ! condition for alpha/beta spin ispin = 1 - state_av_act_two_rdm_aa_mo = 0.D0 + state_av_act_2_rdm_aa_mo = 0.D0 call wall_time(wall_1) double precision :: wall_1, wall_2 - call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_aa_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call orb_range_2_rdm_state_av_openmp(state_av_act_2_rdm_aa_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Wall time to provide state_av_act_two_rdm_aa_mo',wall_2 - wall_1 + print*,'Wall time to provide state_av_act_2_rdm_aa_mo',wall_2 - wall_1 END_PROVIDER - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_bb_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + BEGIN_PROVIDER [double precision, state_av_act_2_rdm_bb_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] implicit none double precision, allocatable :: state_weights(:) BEGIN_DOC -! state_av_act_two_rdm_bb_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for beta-beta electron pairs +! state_av_act_2_rdm_bb_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for beta-beta electron pairs ! = END_DOC allocate(state_weights(N_states)) @@ -32,20 +32,20 @@ integer :: ispin ! condition for alpha/beta spin ispin = 2 - state_av_act_two_rdm_bb_mo = 0.d0 + state_av_act_2_rdm_bb_mo = 0.d0 call wall_time(wall_1) double precision :: wall_1, wall_2 - call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_bb_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call orb_range_2_rdm_state_av_openmp(state_av_act_2_rdm_bb_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Wall time to provide state_av_act_two_rdm_bb_mo',wall_2 - wall_1 + print*,'Wall time to provide state_av_act_2_rdm_bb_mo',wall_2 - wall_1 END_PROVIDER - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_ab_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + BEGIN_PROVIDER [double precision, state_av_act_2_rdm_ab_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] implicit none double precision, allocatable :: state_weights(:) BEGIN_DOC -! state_av_act_two_rdm_ab_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-beta electron pairs +! state_av_act_2_rdm_ab_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-beta electron pairs ! = END_DOC allocate(state_weights(N_states)) @@ -55,26 +55,26 @@ print*,'' print*,'' print*,'' - print*,'providint state_av_act_two_rdm_ab_mo ' + print*,'providint state_av_act_2_rdm_ab_mo ' ispin = 3 print*,'ispin = ',ispin - state_av_act_two_rdm_ab_mo = 0.d0 + state_av_act_2_rdm_ab_mo = 0.d0 call wall_time(wall_1) double precision :: wall_1, wall_2 - call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_ab_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call orb_range_2_rdm_state_av_openmp(state_av_act_2_rdm_ab_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Wall time to provide state_av_act_two_rdm_ab_mo',wall_2 - wall_1 + print*,'Wall time to provide state_av_act_2_rdm_ab_mo',wall_2 - wall_1 END_PROVIDER - BEGIN_PROVIDER [double precision, state_av_act_two_rdm_spin_trace_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + BEGIN_PROVIDER [double precision, state_av_act_2_rdm_spin_trace_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] implicit none BEGIN_DOC -! state_av_act_two_rdm_spin_trace_mo(i,j,k,l) = state average physicist spin trace two-body rdm restricted to the ACTIVE indices +! state_av_act_2_rdm_spin_trace_mo(i,j,k,l) = state average physicist spin trace two-body rdm restricted to the ACTIVE indices ! The active part of the two-electron energy can be computed as: ! -! \sum_{i,j,k,l = 1, n_act_orb} state_av_act_two_rdm_spin_trace_mo(i,j,k,l) * < ii jj | kk ll > +! \sum_{i,j,k,l = 1, n_act_orb} state_av_act_2_rdm_spin_trace_mo(i,j,k,l) * < ii jj | kk ll > ! ! with ii = list_act(i), jj = list_act(j), kk = list_act(k), ll = list_act(l) END_DOC @@ -84,14 +84,14 @@ integer :: ispin ! condition for alpha/beta spin ispin = 4 - state_av_act_two_rdm_spin_trace_mo = 0.d0 + state_av_act_2_rdm_spin_trace_mo = 0.d0 integer :: i call wall_time(wall_1) double precision :: wall_1, wall_2 - print*,'providing state_av_act_two_rdm_spin_trace_mo ' - call orb_range_two_rdm_state_av_openmp(state_av_act_two_rdm_spin_trace_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + print*,'providing state_av_act_2_rdm_spin_trace_mo ' + call orb_range_2_rdm_state_av_openmp(state_av_act_2_rdm_spin_trace_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) call wall_time(wall_2) - print*,'Time to provide state_av_act_two_rdm_spin_trace_mo',wall_2 - wall_1 + print*,'Time to provide state_av_act_2_rdm_spin_trace_mo',wall_2 - wall_1 END_PROVIDER diff --git a/src/two_body_rdm/state_av_full_orb_2_rdm.irp.f b/src/two_body_rdm/state_av_full_orb_2_rdm.irp.f index f5b3e18c..9229d146 100644 --- a/src/two_body_rdm/state_av_full_orb_2_rdm.irp.f +++ b/src/two_body_rdm/state_av_full_orb_2_rdm.irp.f @@ -1,10 +1,10 @@ - BEGIN_PROVIDER [double precision, state_av_full_occ_two_rdm_ab_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb)] + BEGIN_PROVIDER [double precision, state_av_full_occ_2_rdm_ab_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb)] implicit none - state_av_full_occ_two_rdm_ab_mo = 0.d0 + state_av_full_occ_2_rdm_ab_mo = 0.d0 integer :: i,j,k,l,iorb,jorb,korb,lorb BEGIN_DOC -! state_av_full_occ_two_rdm_ab_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of alpha/beta electrons +! state_av_full_occ_2_rdm_ab_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of alpha/beta electrons ! ! ! @@ -14,13 +14,13 @@ ! ! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is ALPHA, electron 2 is BETA ! -! state_av_full_occ_two_rdm_ab_mo(i,j,k,l) = i:alpha, j:beta, j:alpha, l:beta +! state_av_full_occ_2_rdm_ab_mo(i,j,k,l) = i:alpha, j:beta, j:alpha, l:beta ! ! Therefore you don't necessary have symmetry between electron 1 and 2 ! ! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero END_DOC - state_av_full_occ_two_rdm_ab_mo = 0.d0 + state_av_full_occ_2_rdm_ab_mo = 0.d0 do i = 1, n_act_orb iorb = list_act(i) do j = 1, n_act_orb @@ -30,8 +30,8 @@ do l = 1, n_act_orb lorb = list_act(l) ! alph beta alph beta - state_av_full_occ_two_rdm_ab_mo(lorb,korb,jorb,iorb) = & - state_av_act_two_rdm_ab_mo(l,k,j,i) + state_av_full_occ_2_rdm_ab_mo(lorb,korb,jorb,iorb) = & + state_av_act_2_rdm_ab_mo(l,k,j,i) enddo enddo enddo @@ -45,7 +45,7 @@ do k = 1, n_inact_orb korb = list_inact(k) ! alph beta alph beta - state_av_full_occ_two_rdm_ab_mo(korb,jorb,korb,iorb) = one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_ab_mo(korb,jorb,korb,iorb) = one_e_dm_mo_beta_average(jorb,iorb) enddo enddo enddo @@ -59,7 +59,7 @@ do k = 1, n_inact_orb korb = list_inact(k) ! alph beta alph beta - state_av_full_occ_two_rdm_ab_mo(jorb,korb,iorb,korb) = one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_ab_mo(jorb,korb,iorb,korb) = one_e_dm_mo_alpha_average(jorb,iorb) enddo enddo enddo @@ -71,7 +71,7 @@ do k = 1, n_inact_orb korb = list_inact(k) ! alph beta alph beta - state_av_full_occ_two_rdm_ab_mo(korb,jorb,korb,jorb) = 1.D0 + state_av_full_occ_2_rdm_ab_mo(korb,jorb,korb,jorb) = 1.D0 enddo enddo @@ -88,7 +88,7 @@ do k = 1, n_core_orb korb = list_core(k) ! alph beta alph beta - state_av_full_occ_two_rdm_ab_mo(korb,jorb,korb,iorb) = one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_ab_mo(korb,jorb,korb,iorb) = one_e_dm_mo_beta_average(jorb,iorb) enddo enddo enddo @@ -102,7 +102,7 @@ do k = 1, n_core_orb korb = list_core(k) ! alph beta alph beta - state_av_full_occ_two_rdm_ab_mo(jorb,korb,iorb,korb) = one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_ab_mo(jorb,korb,iorb,korb) = one_e_dm_mo_alpha_average(jorb,iorb) enddo enddo enddo @@ -114,7 +114,7 @@ do k = 1, n_core_orb korb = list_core(k) ! alph beta alph beta - state_av_full_occ_two_rdm_ab_mo(korb,jorb,korb,jorb) = 1.D0 + state_av_full_occ_2_rdm_ab_mo(korb,jorb,korb,jorb) = 1.D0 enddo enddo endif @@ -122,12 +122,12 @@ END_PROVIDER - BEGIN_PROVIDER [double precision, state_av_full_occ_two_rdm_aa_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb)] + BEGIN_PROVIDER [double precision, state_av_full_occ_2_rdm_aa_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb)] implicit none - state_av_full_occ_two_rdm_aa_mo = 0.d0 + state_av_full_occ_2_rdm_aa_mo = 0.d0 integer :: i,j,k,l,iorb,jorb,korb,lorb BEGIN_DOC -! state_av_full_occ_two_rdm_aa_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of alpha/alpha electrons +! state_av_full_occ_2_rdm_aa_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of alpha/alpha electrons ! ! ! @@ -148,8 +148,8 @@ korb = list_act(k) do l = 1, n_act_orb lorb = list_act(l) - state_av_full_occ_two_rdm_aa_mo(lorb,korb,jorb,iorb) = & - state_av_act_two_rdm_aa_mo(l,k,j,i) + state_av_full_occ_2_rdm_aa_mo(lorb,korb,jorb,iorb) = & + state_av_act_2_rdm_aa_mo(l,k,j,i) enddo enddo enddo @@ -163,11 +163,11 @@ do k = 1, n_inact_orb korb = list_inact(k) ! 1 2 1 2 : DIRECT TERM - state_av_full_occ_two_rdm_aa_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) - state_av_full_occ_two_rdm_aa_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_aa_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_aa_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) ! 1 2 1 2 : EXCHANGE TERM - state_av_full_occ_two_rdm_aa_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) - state_av_full_occ_two_rdm_aa_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_aa_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_aa_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) enddo enddo enddo @@ -177,8 +177,8 @@ jorb = list_inact(j) do k = 1, n_inact_orb korb = list_inact(k) - state_av_full_occ_two_rdm_aa_mo(korb,jorb,korb,jorb) += 0.5d0 - state_av_full_occ_two_rdm_aa_mo(korb,jorb,jorb,korb) -= 0.5d0 + state_av_full_occ_2_rdm_aa_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_2_rdm_aa_mo(korb,jorb,jorb,korb) -= 0.5d0 enddo enddo @@ -194,11 +194,11 @@ do k = 1, n_core_orb korb = list_core(k) ! 1 2 1 2 : DIRECT TERM - state_av_full_occ_two_rdm_aa_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) - state_av_full_occ_two_rdm_aa_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_aa_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_aa_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) ! 1 2 1 2 : EXCHANGE TERM - state_av_full_occ_two_rdm_aa_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) - state_av_full_occ_two_rdm_aa_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_aa_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_aa_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) enddo enddo enddo @@ -208,20 +208,20 @@ jorb = list_core(j) do k = 1, n_core_orb korb = list_core(k) - state_av_full_occ_two_rdm_aa_mo(korb,jorb,korb,jorb) += 0.5d0 - state_av_full_occ_two_rdm_aa_mo(korb,jorb,jorb,korb) -= 0.5d0 + state_av_full_occ_2_rdm_aa_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_2_rdm_aa_mo(korb,jorb,jorb,korb) -= 0.5d0 enddo enddo endif END_PROVIDER - BEGIN_PROVIDER [double precision, state_av_full_occ_two_rdm_bb_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb)] + BEGIN_PROVIDER [double precision, state_av_full_occ_2_rdm_bb_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb)] implicit none - state_av_full_occ_two_rdm_bb_mo = 0.d0 + state_av_full_occ_2_rdm_bb_mo = 0.d0 integer :: i,j,k,l,iorb,jorb,korb,lorb BEGIN_DOC -! state_av_full_occ_two_rdm_bb_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of beta/beta electrons +! state_av_full_occ_2_rdm_bb_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of beta/beta electrons ! ! ! @@ -242,8 +242,8 @@ korb = list_act(k) do l = 1, n_act_orb lorb = list_act(l) - state_av_full_occ_two_rdm_bb_mo(lorb,korb,jorb,iorb) = & - state_av_act_two_rdm_bb_mo(l,k,j,i) + state_av_full_occ_2_rdm_bb_mo(lorb,korb,jorb,iorb) = & + state_av_act_2_rdm_bb_mo(l,k,j,i) enddo enddo enddo @@ -257,11 +257,11 @@ do k = 1, n_inact_orb korb = list_inact(k) ! 1 2 1 2 : DIRECT TERM - state_av_full_occ_two_rdm_bb_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) - state_av_full_occ_two_rdm_bb_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_bb_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_bb_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) ! 1 2 1 2 : EXCHANGE TERM - state_av_full_occ_two_rdm_bb_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) - state_av_full_occ_two_rdm_bb_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_bb_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_bb_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) enddo enddo enddo @@ -271,8 +271,8 @@ jorb = list_inact(j) do k = 1, n_inact_orb korb = list_inact(k) - state_av_full_occ_two_rdm_bb_mo(korb,jorb,korb,jorb) += 0.5d0 - state_av_full_occ_two_rdm_bb_mo(korb,jorb,jorb,korb) -= 0.5d0 + state_av_full_occ_2_rdm_bb_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_2_rdm_bb_mo(korb,jorb,jorb,korb) -= 0.5d0 enddo enddo @@ -288,11 +288,11 @@ do k = 1, n_core_orb korb = list_core(k) ! 1 2 1 2 : DIRECT TERM - state_av_full_occ_two_rdm_bb_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) - state_av_full_occ_two_rdm_bb_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_bb_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_bb_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) ! 1 2 1 2 : EXCHANGE TERM - state_av_full_occ_two_rdm_bb_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) - state_av_full_occ_two_rdm_bb_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_bb_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_bb_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) enddo enddo enddo @@ -302,20 +302,20 @@ jorb = list_core(j) do k = 1, n_core_orb korb = list_core(k) - state_av_full_occ_two_rdm_bb_mo(korb,jorb,korb,jorb) += 0.5d0 - state_av_full_occ_two_rdm_bb_mo(korb,jorb,jorb,korb) -= 0.5d0 + state_av_full_occ_2_rdm_bb_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_2_rdm_bb_mo(korb,jorb,jorb,korb) -= 0.5d0 enddo enddo endif END_PROVIDER - BEGIN_PROVIDER [double precision, state_av_full_occ_two_rdm_spin_trace_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb)] + BEGIN_PROVIDER [double precision, state_av_full_occ_2_rdm_spin_trace_mo, (n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb,n_core_inact_act_orb)] implicit none - state_av_full_occ_two_rdm_spin_trace_mo = 0.d0 + state_av_full_occ_2_rdm_spin_trace_mo = 0.d0 integer :: i,j,k,l,iorb,jorb,korb,lorb BEGIN_DOC -! state_av_full_occ_two_rdm_bb_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of beta/beta electrons +! state_av_full_occ_2_rdm_bb_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of beta/beta electrons ! ! ! @@ -337,8 +337,8 @@ korb = list_act(k) do l = 1, n_act_orb lorb = list_act(l) - state_av_full_occ_two_rdm_spin_trace_mo(lorb,korb,jorb,iorb) += & - state_av_act_two_rdm_spin_trace_mo(l,k,j,i) + state_av_full_occ_2_rdm_spin_trace_mo(lorb,korb,jorb,iorb) += & + state_av_act_2_rdm_spin_trace_mo(l,k,j,i) enddo enddo enddo @@ -355,11 +355,11 @@ do k = 1, n_inact_orb korb = list_inact(k) ! 1 2 1 2 : DIRECT TERM - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) - state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) ! 1 2 1 2 : EXCHANGE TERM - state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) enddo enddo enddo @@ -368,8 +368,8 @@ jorb = list_inact(j) do k = 1, n_inact_orb korb = list_inact(k) - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5d0 - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb) -= 0.5d0 + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,jorb,korb) -= 0.5d0 enddo enddo if (.not.no_core_density)then @@ -381,11 +381,11 @@ do k = 1, n_core_orb korb = list_core(k) ! 1 2 1 2 : DIRECT TERM - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) - state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) ! 1 2 1 2 : EXCHANGE TERM - state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) enddo enddo enddo @@ -394,8 +394,8 @@ jorb = list_core(j) do k = 1, n_core_orb korb = list_core(k) - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5d0 - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb) -= 0.5d0 + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,jorb,korb) -= 0.5d0 enddo enddo endif @@ -411,11 +411,11 @@ do k = 1, n_inact_orb korb = list_inact(k) ! 1 2 1 2 : DIRECT TERM - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) - state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) ! 1 2 1 2 : EXCHANGE TERM - state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) enddo enddo enddo @@ -424,8 +424,8 @@ jorb = list_inact(j) do k = 1, n_inact_orb korb = list_inact(k) - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5d0 - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb) -= 0.5d0 + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,jorb,korb) -= 0.5d0 enddo enddo if (.not.no_core_density)then @@ -437,11 +437,11 @@ do k = 1, n_core_orb korb = list_core(k) ! 1 2 1 2 : DIRECT TERM - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) - state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) ! 1 2 1 2 : EXCHANGE TERM - state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(jorb,korb,korb,iorb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,iorb,korb) += -0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) enddo enddo enddo @@ -450,8 +450,8 @@ jorb = list_core(j) do k = 1, n_core_orb korb = list_core(k) - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5d0 - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,jorb,korb) -= 0.5d0 + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5d0 + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,jorb,korb) -= 0.5d0 enddo enddo endif @@ -467,14 +467,14 @@ korb = list_inact(k) ! ALPHA INACTIVE - BETA ACTIVE ! alph beta alph beta - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) ! beta alph beta alph - state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_beta_average(jorb,iorb) ! BETA INACTIVE - ALPHA ACTIVE ! beta alph beta alpha - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) ! alph beta alph beta - state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5d0 * one_e_dm_mo_alpha_average(jorb,iorb) enddo enddo enddo @@ -484,8 +484,8 @@ do k = 1, n_inact_orb korb = list_inact(k) ! alph beta alph beta - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5D0 - state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,jorb,korb) += 0.5D0 + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5D0 + state_av_full_occ_2_rdm_spin_trace_mo(jorb,korb,jorb,korb) += 0.5D0 enddo enddo @@ -501,14 +501,14 @@ korb = list_core(k) !! BETA ACTIVE - ALPHA CORE ! alph beta alph beta - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5D0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5D0 * one_e_dm_mo_beta_average(jorb,iorb) ! beta alph beta alph - state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5D0 * one_e_dm_mo_beta_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5D0 * one_e_dm_mo_beta_average(jorb,iorb) !! ALPHA ACTIVE - BETA CORE ! alph beta alph beta - state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5D0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(jorb,korb,iorb,korb) += 0.5D0 * one_e_dm_mo_alpha_average(jorb,iorb) ! beta alph beta alph - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5D0 * one_e_dm_mo_alpha_average(jorb,iorb) + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,iorb) += 0.5D0 * one_e_dm_mo_alpha_average(jorb,iorb) enddo enddo enddo @@ -518,8 +518,8 @@ do k = 1, n_core_orb korb = list_core(k) ! alph beta alph beta - state_av_full_occ_two_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5D0 - state_av_full_occ_two_rdm_spin_trace_mo(jorb,korb,jorb,korb) += 0.5D0 + state_av_full_occ_2_rdm_spin_trace_mo(korb,jorb,korb,jorb) += 0.5D0 + state_av_full_occ_2_rdm_spin_trace_mo(jorb,korb,jorb,korb) += 0.5D0 enddo enddo diff --git a/src/two_rdm_routines/all_states_david.irp.f b/src/two_rdm_routines/all_states_david.irp.f index 9d29332e..b455d54a 100644 --- a/src/two_rdm_routines/all_states_david.irp.f +++ b/src/two_rdm_routines/all_states_david.irp.f @@ -1,4 +1,4 @@ -subroutine orb_range_all_states_two_rdm(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_0,N_st,sze) +subroutine orb_range_all_states_2_rdm(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_0,N_st,sze) use bitmasks implicit none BEGIN_DOC @@ -31,7 +31,7 @@ subroutine orb_range_all_states_two_rdm(big_array,dim1,norb,list_orb,list_orb_re size(u_t, 1), & N_det, N_st) - call orb_range_all_states_two_rdm_work(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,1,N_det,0,1) + call orb_range_all_states_2_rdm_work(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,1,N_det,0,1) deallocate(u_t) do k=1,N_st @@ -40,7 +40,7 @@ subroutine orb_range_all_states_two_rdm(big_array,dim1,norb,list_orb,list_orb_re end -subroutine orb_range_all_states_two_rdm_work(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) +subroutine orb_range_all_states_2_rdm_work(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) use bitmasks implicit none BEGIN_DOC @@ -60,15 +60,15 @@ subroutine orb_range_all_states_two_rdm_work(big_array,dim1,norb,list_orb,list_o select case (N_int) case (1) - call orb_range_all_states_two_rdm_work_1(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_all_states_2_rdm_work_1(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case (2) - call orb_range_all_states_two_rdm_work_2(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_all_states_2_rdm_work_2(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case (3) - call orb_range_all_states_two_rdm_work_3(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_all_states_2_rdm_work_3(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case (4) - call orb_range_all_states_two_rdm_work_4(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_all_states_2_rdm_work_4(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case default - call orb_range_all_states_two_rdm_work_N_int(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_all_states_2_rdm_work_N_int(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) end select end @@ -76,7 +76,7 @@ end BEGIN_TEMPLATE -subroutine orb_range_all_states_two_rdm_work_$N_int(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) +subroutine orb_range_all_states_2_rdm_work_$N_int(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) use bitmasks implicit none BEGIN_DOC @@ -129,7 +129,7 @@ subroutine orb_range_all_states_two_rdm_work_$N_int(big_array,dim1,norb,list_orb else if(ispin == 4)then spin_trace = .True. else - print*,'Wrong parameter for ispin in general_two_rdm_dm_nstates_work' + print*,'Wrong parameter for ispin in general_2_rdm_dm_nstates_work' print*,'ispin = ',ispin stop endif @@ -249,7 +249,7 @@ subroutine orb_range_all_states_two_rdm_work_$N_int(big_array,dim1,norb,list_orb c_2(l) = u_t(l,k_a) c_contrib(l) = c_1(l) * c_2(l) enddo - call orb_range_off_diagonal_double_to_two_rdm_ab_dm_all_states(tmp_det,tmp_det2,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) + call orb_range_off_diagonal_double_to_2_rdm_ab_dm_all_states(tmp_det,tmp_det2,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) enddo endif @@ -326,9 +326,9 @@ subroutine orb_range_all_states_two_rdm_work_$N_int(big_array,dim1,norb,list_orb enddo if(alpha_beta.or.spin_trace.or.alpha_alpha)then ! increment the alpha/beta part for single excitations - call orb_range_off_diagonal_single_to_two_rdm_ab_dm_all_states(tmp_det, tmp_det2,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) + call orb_range_off_diagonal_single_to_2_rdm_ab_dm_all_states(tmp_det, tmp_det2,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) ! increment the alpha/alpha part for single excitations - call orb_range_off_diagonal_single_to_two_rdm_aa_dm_all_states(tmp_det,tmp_det2,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) + call orb_range_off_diagonal_single_to_2_rdm_aa_dm_all_states(tmp_det,tmp_det2,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) endif enddo @@ -351,7 +351,7 @@ subroutine orb_range_all_states_two_rdm_work_$N_int(big_array,dim1,norb,list_orb c_2(l) = u_t(l,k_a) c_contrib(l) += c_1(l) * c_2(l) enddo - call orb_range_off_diagonal_double_to_two_rdm_aa_dm_all_states(tmp_det(1,1),psi_det_alpha_unique(1, lrow),c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) + call orb_range_off_diagonal_double_to_2_rdm_aa_dm_all_states(tmp_det(1,1),psi_det_alpha_unique(1, lrow),c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) enddo endif @@ -418,9 +418,9 @@ subroutine orb_range_all_states_two_rdm_work_$N_int(big_array,dim1,norb,list_orb enddo if(alpha_beta.or.spin_trace.or.beta_beta)then ! increment the alpha/beta part for single excitations - call orb_range_off_diagonal_single_to_two_rdm_ab_dm_all_states(tmp_det, tmp_det2,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) + call orb_range_off_diagonal_single_to_2_rdm_ab_dm_all_states(tmp_det, tmp_det2,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) ! increment the beta /beta part for single excitations - call orb_range_off_diagonal_single_to_two_rdm_bb_dm_all_states(tmp_det, tmp_det2,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) + call orb_range_off_diagonal_single_to_2_rdm_bb_dm_all_states(tmp_det, tmp_det2,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) endif enddo @@ -442,7 +442,7 @@ subroutine orb_range_all_states_two_rdm_work_$N_int(big_array,dim1,norb,list_orb c_2(l) = u_t(l,k_a) c_contrib(l) = c_1(l) * c_2(l) enddo - call orb_range_off_diagonal_double_to_two_rdm_bb_dm_all_states(tmp_det(1,2),psi_det_beta_unique(1, lcol),c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) + call orb_range_off_diagonal_double_to_2_rdm_bb_dm_all_states(tmp_det(1,2),psi_det_beta_unique(1, lcol),c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) ASSERT (l_a <= N_det) enddo @@ -475,7 +475,7 @@ subroutine orb_range_all_states_two_rdm_work_$N_int(big_array,dim1,norb,list_orb enddo - call orb_range_diagonal_contrib_to_all_two_rdm_dm_all_states(tmp_det,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) + call orb_range_diagonal_contrib_to_all_2_rdm_dm_all_states(tmp_det,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) end do !!$OMP END DO diff --git a/src/two_rdm_routines/all_states_david_openmp.irp.f b/src/two_rdm_routines/all_states_david_openmp.irp.f index 412c2f12..2b1e2cfa 100644 --- a/src/two_rdm_routines/all_states_david_openmp.irp.f +++ b/src/two_rdm_routines/all_states_david_openmp.irp.f @@ -1,4 +1,4 @@ -subroutine orb_range_two_rdm_openmp(big_array,dim1,norb,list_orb,ispin,u_0,N_st,sze) +subroutine orb_range_2_rdm_openmp(big_array,dim1,norb,list_orb,ispin,u_0,N_st,sze) use bitmasks implicit none BEGIN_DOC @@ -30,7 +30,7 @@ subroutine orb_range_two_rdm_openmp(big_array,dim1,norb,list_orb,ispin,u_0,N_st, size(u_t, 1), & N_det, N_st) - call orb_range_two_rdm_openmp_work(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,1,N_det,0,1) + call orb_range_2_rdm_openmp_work(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,1,N_det,0,1) deallocate(u_t) do k=1,N_st @@ -39,7 +39,7 @@ subroutine orb_range_two_rdm_openmp(big_array,dim1,norb,list_orb,ispin,u_0,N_st, end -subroutine orb_range_two_rdm_openmp_work(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) +subroutine orb_range_2_rdm_openmp_work(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) use bitmasks implicit none BEGIN_DOC @@ -58,15 +58,15 @@ subroutine orb_range_two_rdm_openmp_work(big_array,dim1,norb,list_orb,ispin,u_t, select case (N_int) case (1) - call orb_range_two_rdm_openmp_work_1(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_2_rdm_openmp_work_1(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case (2) - call orb_range_two_rdm_openmp_work_2(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_2_rdm_openmp_work_2(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case (3) - call orb_range_two_rdm_openmp_work_3(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_2_rdm_openmp_work_3(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case (4) - call orb_range_two_rdm_openmp_work_4(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_2_rdm_openmp_work_4(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case default - call orb_range_two_rdm_openmp_work_N_int(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_2_rdm_openmp_work_N_int(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) end select end @@ -74,7 +74,7 @@ end BEGIN_TEMPLATE -subroutine orb_range_two_rdm_openmp_work_$N_int(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) +subroutine orb_range_2_rdm_openmp_work_$N_int(big_array,dim1,norb,list_orb,ispin,u_t,N_st,sze,istart,iend,ishift,istep) use bitmasks use omp_lib implicit none @@ -128,7 +128,7 @@ subroutine orb_range_two_rdm_openmp_work_$N_int(big_array,dim1,norb,list_orb,isp else if(ispin == 4)then spin_trace = .True. else - print*,'Wrong parameter for ispin in general_two_rdm_state_av_openmp_work' + print*,'Wrong parameter for ispin in general_2_rdm_state_av_openmp_work' print*,'ispin = ',ispin stop endif @@ -353,9 +353,9 @@ subroutine orb_range_two_rdm_openmp_work_$N_int(big_array,dim1,norb,list_orb,isp call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) nkeys = 0 endif -! call orb_range_off_diag_single_to_two_rdm_aa_dm_buffer(tmp_det,tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) +! call orb_range_off_diag_single_to_2_rdm_aa_dm_buffer(tmp_det,tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) call orb_range_off_diag_single_to_all_states_aa_dm_buffer(tmp_det,tmp_det2,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) -! print*,'to do orb_range_off_diag_single_to_two_rdm_aa_dm_buffer' +! print*,'to do orb_range_off_diag_single_to_2_rdm_aa_dm_buffer' endif enddo @@ -382,7 +382,7 @@ subroutine orb_range_two_rdm_openmp_work_$N_int(big_array,dim1,norb,list_orb,isp nkeys = 0 endif call orb_range_off_diag_double_to_all_states_aa_dm_buffer(tmp_det(1,1),psi_det_alpha_unique(1, lrow),c_1,N_st,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) -! print*,'to do orb_range_off_diag_double_to_two_rdm_aa_dm_buffer' +! print*,'to do orb_range_off_diag_double_to_2_rdm_aa_dm_buffer' enddo endif call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) @@ -453,7 +453,7 @@ subroutine orb_range_two_rdm_openmp_work_$N_int(big_array,dim1,norb,list_orb,isp nkeys = 0 endif call orb_range_off_diag_single_to_all_states_ab_dm_buffer(tmp_det, tmp_det2,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) -! print*,'to do orb_range_off_diag_single_to_two_rdm_ab_dm_buffer' +! print*,'to do orb_range_off_diag_single_to_2_rdm_ab_dm_buffer' ! increment the beta /beta part for single excitations if (nkeys+4 * elec_alpha_num .ge. sze_buff) then call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) @@ -485,7 +485,7 @@ subroutine orb_range_two_rdm_openmp_work_$N_int(big_array,dim1,norb,list_orb,isp nkeys = 0 endif call orb_range_off_diag_double_to_all_states_bb_dm_buffer(tmp_det(1,2),psi_det_beta_unique(1, lcol),c_1,N_st,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) -! print*,'to do orb_range_off_diag_double_to_two_rdm_bb_dm_buffer' +! print*,'to do orb_range_off_diag_double_to_2_rdm_bb_dm_buffer' ASSERT (l_a <= N_det) enddo @@ -519,7 +519,7 @@ subroutine orb_range_two_rdm_openmp_work_$N_int(big_array,dim1,norb,list_orb,isp call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) nkeys = 0 - call orb_range_diag_to_all_states_two_rdm_dm_buffer(tmp_det,c_1,N_states,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call orb_range_diag_to_all_states_2_rdm_dm_buffer(tmp_det,c_1,N_states,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) nkeys = 0 diff --git a/src/two_rdm_routines/all_states_update.irp.f b/src/two_rdm_routines/all_states_update.irp.f index 6d5c62fa..00507448 100644 --- a/src/two_rdm_routines/all_states_update.irp.f +++ b/src/two_rdm_routines/all_states_update.irp.f @@ -1,4 +1,4 @@ - subroutine orb_range_diagonal_contrib_to_all_two_rdm_dm_all_states(det_1,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) + subroutine orb_range_diagonal_contrib_to_all_2_rdm_dm_all_states(det_1,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) use bitmasks BEGIN_DOC ! routine that update the DIAGONAL PART of the two body rdms in a specific range of orbitals for a given determinant det_1 @@ -127,7 +127,7 @@ end - subroutine orb_range_off_diagonal_double_to_two_rdm_ab_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) + subroutine orb_range_off_diagonal_double_to_2_rdm_ab_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) use bitmasks BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for @@ -197,7 +197,7 @@ enddo end - subroutine orb_range_off_diagonal_single_to_two_rdm_ab_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) + subroutine orb_range_off_diagonal_single_to_2_rdm_ab_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) use bitmasks BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for @@ -322,7 +322,7 @@ endif end - subroutine orb_range_off_diagonal_single_to_two_rdm_aa_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) + subroutine orb_range_off_diagonal_single_to_2_rdm_aa_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for ! @@ -403,7 +403,7 @@ endif end - subroutine orb_range_off_diagonal_single_to_two_rdm_bb_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) + subroutine orb_range_off_diagonal_single_to_2_rdm_bb_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) use bitmasks BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for @@ -486,7 +486,7 @@ end - subroutine orb_range_off_diagonal_double_to_two_rdm_aa_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) + subroutine orb_range_off_diagonal_double_to_2_rdm_aa_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) use bitmasks BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for @@ -559,7 +559,7 @@ endif end - subroutine orb_range_off_diagonal_double_to_two_rdm_bb_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) + subroutine orb_range_off_diagonal_double_to_2_rdm_bb_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) use bitmasks BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for diff --git a/src/two_rdm_routines/all_states_update_openmp.irp.f b/src/two_rdm_routines/all_states_update_openmp.irp.f index 41cb94bc..54ba59ec 100644 --- a/src/two_rdm_routines/all_states_update_openmp.irp.f +++ b/src/two_rdm_routines/all_states_update_openmp.irp.f @@ -1,4 +1,4 @@ - subroutine orb_range_diag_to_all_states_two_rdm_dm_buffer(det_1,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + subroutine orb_range_diag_to_all_states_2_rdm_dm_buffer(det_1,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) use bitmasks BEGIN_DOC ! routine that update the DIAGONAL PART of the two body rdms in a specific range of orbitals for a given determinant det_1 diff --git a/src/two_rdm_routines/state_av_david_omp.irp.f b/src/two_rdm_routines/state_av_david_omp.irp.f index bb195454..2a6e10a2 100644 --- a/src/two_rdm_routines/state_av_david_omp.irp.f +++ b/src/two_rdm_routines/state_av_david_omp.irp.f @@ -1,4 +1,4 @@ -subroutine orb_range_two_rdm_state_av_openmp(big_array,dim1,norb,list_orb,state_weights,ispin,u_0,N_st,sze) +subroutine orb_range_2_rdm_state_av_openmp(big_array,dim1,norb,list_orb,state_weights,ispin,u_0,N_st,sze) use bitmasks implicit none BEGIN_DOC @@ -30,7 +30,7 @@ subroutine orb_range_two_rdm_state_av_openmp(big_array,dim1,norb,list_orb,state_ size(u_t, 1), & N_det, N_st) - call orb_range_two_rdm_state_av_openmp_work(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,1,N_det,0,1) + call orb_range_2_rdm_state_av_openmp_work(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,1,N_det,0,1) deallocate(u_t) do k=1,N_st @@ -39,7 +39,7 @@ subroutine orb_range_two_rdm_state_av_openmp(big_array,dim1,norb,list_orb,state_ end -subroutine orb_range_two_rdm_state_av_openmp_work(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) +subroutine orb_range_2_rdm_state_av_openmp_work(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) use bitmasks implicit none BEGIN_DOC @@ -58,15 +58,15 @@ subroutine orb_range_two_rdm_state_av_openmp_work(big_array,dim1,norb,list_orb,s select case (N_int) case (1) - call orb_range_two_rdm_state_av_openmp_work_1(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_2_rdm_state_av_openmp_work_1(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case (2) - call orb_range_two_rdm_state_av_openmp_work_2(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_2_rdm_state_av_openmp_work_2(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case (3) - call orb_range_two_rdm_state_av_openmp_work_3(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_2_rdm_state_av_openmp_work_3(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case (4) - call orb_range_two_rdm_state_av_openmp_work_4(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_2_rdm_state_av_openmp_work_4(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) case default - call orb_range_two_rdm_state_av_openmp_work_N_int(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) + call orb_range_2_rdm_state_av_openmp_work_N_int(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) end select end @@ -74,7 +74,7 @@ end BEGIN_TEMPLATE -subroutine orb_range_two_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) +subroutine orb_range_2_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,list_orb,state_weights,ispin,u_t,N_st,sze,istart,iend,ishift,istep) use bitmasks use omp_lib implicit none @@ -130,7 +130,7 @@ subroutine orb_range_two_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,lis else if(ispin == 4)then spin_trace = .True. else - print*,'Wrong parameter for ispin in general_two_rdm_state_av_openmp_work' + print*,'Wrong parameter for ispin in general_2_rdm_state_av_openmp_work' print*,'ispin = ',ispin stop endif @@ -270,8 +270,8 @@ subroutine orb_range_two_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,lis nkeys = 0 endif endif - call orb_range_off_diag_double_to_two_rdm_ab_dm_buffer(tmp_det,tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) -! print*,'todo orb_range_off_diag_double_to_two_rdm_ab_dm_buffer' + call orb_range_off_diag_double_to_2_rdm_ab_dm_buffer(tmp_det,tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) +! print*,'todo orb_range_off_diag_double_to_2_rdm_ab_dm_buffer' enddo endif @@ -353,13 +353,13 @@ subroutine orb_range_two_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,lis call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) nkeys = 0 endif - call orb_range_off_diag_single_to_two_rdm_ab_dm_buffer(tmp_det, tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call orb_range_off_diag_single_to_2_rdm_ab_dm_buffer(tmp_det, tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) ! increment the alpha/alpha part for single excitations if (nkeys+4 * elec_alpha_num .ge. sze_buff ) then call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) nkeys = 0 endif - call orb_range_off_diag_single_to_two_rdm_aa_dm_buffer(tmp_det,tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call orb_range_off_diag_single_to_2_rdm_aa_dm_buffer(tmp_det,tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) endif enddo @@ -386,7 +386,7 @@ subroutine orb_range_two_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,lis call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) nkeys = 0 endif - call orb_range_off_diag_double_to_two_rdm_aa_dm_buffer(tmp_det(1,1),psi_det_alpha_unique(1, lrow),c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call orb_range_off_diag_double_to_2_rdm_aa_dm_buffer(tmp_det(1,1),psi_det_alpha_unique(1, lrow),c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) enddo endif @@ -457,13 +457,13 @@ subroutine orb_range_two_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,lis call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) nkeys = 0 endif - call orb_range_off_diag_single_to_two_rdm_ab_dm_buffer(tmp_det, tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call orb_range_off_diag_single_to_2_rdm_ab_dm_buffer(tmp_det, tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) ! increment the beta /beta part for single excitations if (nkeys+4 * elec_alpha_num .ge. sze_buff) then call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) nkeys = 0 endif - call orb_range_off_diag_single_to_two_rdm_bb_dm_buffer(tmp_det, tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call orb_range_off_diag_single_to_2_rdm_bb_dm_buffer(tmp_det, tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) endif enddo @@ -489,8 +489,8 @@ subroutine orb_range_two_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,lis call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) nkeys = 0 endif - call orb_range_off_diag_double_to_two_rdm_bb_dm_buffer(tmp_det(1,2),psi_det_beta_unique(1, lcol),c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) -! print*,'to do orb_range_off_diag_double_to_two_rdm_bb_dm_buffer' + call orb_range_off_diag_double_to_2_rdm_bb_dm_buffer(tmp_det(1,2),psi_det_beta_unique(1, lcol),c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) +! print*,'to do orb_range_off_diag_double_to_2_rdm_bb_dm_buffer' ASSERT (l_a <= N_det) enddo @@ -524,7 +524,7 @@ subroutine orb_range_two_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,lis call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) nkeys = 0 - call orb_range_diag_to_all_two_rdm_dm_buffer(tmp_det,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call orb_range_diag_to_all_2_rdm_dm_buffer(tmp_det,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) nkeys = 0 diff --git a/src/two_rdm_routines/state_av_update_omp.irp.f b/src/two_rdm_routines/state_av_update_omp.irp.f index 9d0f3fe8..35024331 100644 --- a/src/two_rdm_routines/state_av_update_omp.irp.f +++ b/src/two_rdm_routines/state_av_update_omp.irp.f @@ -1,4 +1,4 @@ - subroutine orb_range_diag_to_all_two_rdm_dm_buffer(det_1,c_1,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + subroutine orb_range_diag_to_all_2_rdm_dm_buffer(det_1,c_1,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) use bitmasks BEGIN_DOC ! routine that update the DIAGONAL PART of the two body rdms in a specific range of orbitals for a given determinant det_1 @@ -175,7 +175,7 @@ end - subroutine orb_range_off_diag_double_to_two_rdm_ab_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + subroutine orb_range_off_diag_double_to_2_rdm_ab_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) use bitmasks BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for @@ -257,7 +257,7 @@ endif end - subroutine orb_range_off_diag_single_to_two_rdm_ab_dm_buffer(det_1,det_2,c_1,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + subroutine orb_range_off_diag_single_to_2_rdm_ab_dm_buffer(det_1,det_2,c_1,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) use bitmasks BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for @@ -408,7 +408,7 @@ endif end - subroutine orb_range_off_diag_single_to_two_rdm_aa_dm_buffer(det_1,det_2,c_1,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + subroutine orb_range_off_diag_single_to_2_rdm_aa_dm_buffer(det_1,det_2,c_1,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for ! @@ -512,7 +512,7 @@ endif end - subroutine orb_range_off_diag_single_to_two_rdm_bb_dm_buffer(det_1,det_2,c_1,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + subroutine orb_range_off_diag_single_to_2_rdm_bb_dm_buffer(det_1,det_2,c_1,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) use bitmasks BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for @@ -616,7 +616,7 @@ end - subroutine orb_range_off_diag_double_to_two_rdm_aa_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + subroutine orb_range_off_diag_double_to_2_rdm_aa_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) use bitmasks BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for @@ -711,7 +711,7 @@ endif end - subroutine orb_range_off_diag_double_to_two_rdm_bb_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + subroutine orb_range_off_diag_double_to_2_rdm_bb_dm_buffer(det_1,det_2,c_1,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) use bitmasks BEGIN_DOC ! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for From 7f8858005277c9d172ccb40093f24ec53f1fa911 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Sun, 22 Mar 2020 17:23:21 +0100 Subject: [PATCH 029/138] renamed files of routines in 2rdm --- src/two_rdm_routines/all_states_david.irp.f | 496 -------------- src/two_rdm_routines/all_states_update.irp.f | 635 ------------------ ..._openmp.irp.f => davidson_like_2rdm.irp.f} | 0 ...rp.f => davidson_like_state_av_2rdm.irp.f} | 0 ...te_omp.irp.f => updata_state_av_rdm.irp.f} | 0 ...s_update_openmp.irp.f => update_rdm.irp.f} | 0 6 files changed, 1131 deletions(-) delete mode 100644 src/two_rdm_routines/all_states_david.irp.f delete mode 100644 src/two_rdm_routines/all_states_update.irp.f rename src/two_rdm_routines/{all_states_david_openmp.irp.f => davidson_like_2rdm.irp.f} (100%) rename src/two_rdm_routines/{state_av_david_omp.irp.f => davidson_like_state_av_2rdm.irp.f} (100%) rename src/two_rdm_routines/{state_av_update_omp.irp.f => updata_state_av_rdm.irp.f} (100%) rename src/two_rdm_routines/{all_states_update_openmp.irp.f => update_rdm.irp.f} (100%) diff --git a/src/two_rdm_routines/all_states_david.irp.f b/src/two_rdm_routines/all_states_david.irp.f deleted file mode 100644 index b455d54a..00000000 --- a/src/two_rdm_routines/all_states_david.irp.f +++ /dev/null @@ -1,496 +0,0 @@ -subroutine orb_range_all_states_2_rdm(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_0,N_st,sze) - use bitmasks - implicit none - BEGIN_DOC - ! if ispin == 1 :: alpha/alpha 2rdm - ! == 2 :: beta /beta 2rdm - ! == 3 :: alpha/beta 2rdm - ! == 4 :: spin traced 2rdm :: aa + bb + 0.5 (ab + ba)) - ! - ! Assumes that the determinants are in psi_det - ! - ! istart, iend, ishift, istep are used in ZMQ parallelization. - END_DOC - integer, intent(in) :: N_st,sze - integer, intent(in) :: dim1,norb,list_orb(norb),ispin - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1,N_st) - double precision, intent(in) :: u_0(sze,N_st) - - integer :: k - double precision, allocatable :: u_t(:,:) - !DIR$ ATTRIBUTES ALIGN : $IRP_ALIGN :: u_t - allocate(u_t(N_st,N_det)) - do k=1,N_st - call dset_order(u_0(1,k),psi_bilinear_matrix_order,N_det) - enddo - call dtranspose( & - u_0, & - size(u_0, 1), & - u_t, & - size(u_t, 1), & - N_det, N_st) - - call orb_range_all_states_2_rdm_work(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,1,N_det,0,1) - deallocate(u_t) - - do k=1,N_st - call dset_order(u_0(1,k),psi_bilinear_matrix_order_reverse,N_det) - enddo - -end - -subroutine orb_range_all_states_2_rdm_work(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - use bitmasks - implicit none - BEGIN_DOC - ! Computes two-rdm - ! - ! Default should be 1,N_det,0,1 - END_DOC - integer, intent(in) :: N_st,sze,istart,iend,ishift,istep - integer, intent(in) :: dim1,norb,list_orb(norb),ispin - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1,N_st) - double precision, intent(in) :: u_t(N_st,N_det) - - integer :: k - - PROVIDE N_int - - select case (N_int) - case (1) - call orb_range_all_states_2_rdm_work_1(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - case (2) - call orb_range_all_states_2_rdm_work_2(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - case (3) - call orb_range_all_states_2_rdm_work_3(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - case (4) - call orb_range_all_states_2_rdm_work_4(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - case default - call orb_range_all_states_2_rdm_work_N_int(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - end select -end - - - - - BEGIN_TEMPLATE -subroutine orb_range_all_states_2_rdm_work_$N_int(big_array,dim1,norb,list_orb,list_orb_reverse,ispin,u_t,N_st,sze,istart,iend,ishift,istep) - use bitmasks - implicit none - BEGIN_DOC - ! Computes the two rdm for the N_st vectors |u_t> - ! if ispin == 1 :: alpha/alpha 2rdm - ! == 2 :: beta /beta 2rdm - ! == 3 :: alpha/beta 2rdm - ! == 4 :: spin traced 2rdm :: aa + bb + 0.5 (ab + ba)) - ! The 2rdm will be computed only on the list of orbitals list_orb, which contains norb - ! Default should be 1,N_det,0,1 for istart,iend,ishift,istep - END_DOC - integer, intent(in) :: N_st,sze,istart,iend,ishift,istep - double precision, intent(in) :: u_t(N_st,N_det) - integer, intent(in) :: dim1,norb,list_orb(norb),ispin - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1,N_st) - - integer :: i,j,k,l - integer :: k_a, k_b, l_a, l_b, m_a, m_b - integer :: istate - integer :: krow, kcol, krow_b, kcol_b - integer :: lrow, lcol - integer :: mrow, mcol - integer(bit_kind) :: spindet($N_int) - integer(bit_kind) :: tmp_det($N_int,2) - integer(bit_kind) :: tmp_det2($N_int,2) - integer(bit_kind) :: tmp_det3($N_int,2) - integer(bit_kind), allocatable :: buffer(:,:) - integer :: n_doubles - integer, allocatable :: doubles(:) - integer, allocatable :: singles_a(:) - integer, allocatable :: singles_b(:) - integer, allocatable :: idx(:), idx0(:) - integer :: maxab, n_singles_a, n_singles_b, kcol_prev - integer*8 :: k8 - double precision,allocatable :: c_contrib(:) - - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - integer(bit_kind) :: orb_bitmask($N_int) - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - else - print*,'Wrong parameter for ispin in general_2_rdm_dm_nstates_work' - print*,'ispin = ',ispin - stop - endif - - PROVIDE N_int - - call list_to_bitstring( orb_bitmask, list_orb, norb, N_int) - - maxab = max(N_det_alpha_unique, N_det_beta_unique)+1 - allocate(idx0(maxab)) - - do i=1,maxab - idx0(i) = i - enddo - - ! Prepare the array of all alpha single excitations - ! ------------------------------------------------- - - PROVIDE N_int nthreads_davidson - !!$OMP PARALLEL DEFAULT(NONE) NUM_THREADS(nthreads_davidson) & - ! !$OMP SHARED(psi_bilinear_matrix_rows, N_det, & - ! !$OMP psi_bilinear_matrix_columns, & - ! !$OMP psi_det_alpha_unique, psi_det_beta_unique,& - ! !$OMP n_det_alpha_unique, n_det_beta_unique, N_int,& - ! !$OMP psi_bilinear_matrix_transp_rows, & - ! !$OMP psi_bilinear_matrix_transp_columns, & - ! !$OMP psi_bilinear_matrix_transp_order, N_st, & - ! !$OMP psi_bilinear_matrix_order_transp_reverse, & - ! !$OMP psi_bilinear_matrix_columns_loc, & - ! !$OMP psi_bilinear_matrix_transp_rows_loc, & - ! !$OMP istart, iend, istep, irp_here, v_t, s_t, & - ! !$OMP ishift, idx0, u_t, maxab) & - ! !$OMP PRIVATE(krow, kcol, tmp_det, spindet, k_a, k_b, i,& - ! !$OMP lcol, lrow, l_a, l_b, & - ! !$OMP buffer, doubles, n_doubles, & - ! !$OMP tmp_det2, idx, l, kcol_prev, & - ! !$OMP singles_a, n_singles_a, singles_b, & - ! !$OMP n_singles_b, k8) - - ! Alpha/Beta double excitations - ! ============================= - - allocate( buffer($N_int,maxab), & - singles_a(maxab), & - singles_b(maxab), & - doubles(maxab), & - idx(maxab),c_contrib(N_st)) - - kcol_prev=-1 - - ASSERT (iend <= N_det) - ASSERT (istart > 0) - ASSERT (istep > 0) - - !!$OMP DO SCHEDULE(dynamic,64) - do k_a=istart+ishift,iend,istep - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - if (kcol /= kcol_prev) then - call get_all_spin_singles_$N_int( & - psi_det_beta_unique, idx0, & - tmp_det(1,2), N_det_beta_unique, & - singles_b, n_singles_b) - endif - kcol_prev = kcol - - ! Loop over singly excited beta columns - ! ------------------------------------- - - do i=1,n_singles_b - lcol = singles_b(i) - - tmp_det2(1:$N_int,2) = psi_det_beta_unique(1:$N_int, lcol) - - l_a = psi_bilinear_matrix_columns_loc(lcol) - ASSERT (l_a <= N_det) - - do j=1,psi_bilinear_matrix_columns_loc(lcol+1) - l_a - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - buffer(1:$N_int,j) = psi_det_alpha_unique(1:$N_int, lrow) - - ASSERT (l_a <= N_det) - idx(j) = l_a - l_a = l_a+1 - enddo - j = j-1 - - call get_all_spin_singles_$N_int( & - buffer, idx, tmp_det(1,1), j, & - singles_a, n_singles_a ) - - ! Loop over alpha singles - ! ----------------------- - - if(alpha_beta.or.spin_trace)then - do k = 1,n_singles_a - l_a = singles_a(k) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - c_contrib = 0.d0 - do l= 1, N_st - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - c_contrib(l) = c_1(l) * c_2(l) - enddo - call orb_range_off_diagonal_double_to_2_rdm_ab_dm_all_states(tmp_det,tmp_det2,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - enddo - endif - - enddo - - enddo - ! !$OMP END DO - - ! !$OMP DO SCHEDULE(dynamic,64) - do k_a=istart+ishift,iend,istep - - - ! Single and double alpha exitations - ! =================================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - ! Initial determinant is at k_b in beta-major representation - ! ---------------------------------------------------------------------- - - k_b = psi_bilinear_matrix_order_transp_reverse(k_a) - ASSERT (k_b <= N_det) - - spindet(1:$N_int) = tmp_det(1:$N_int,1) - - ! Loop inside the beta column to gather all the connected alphas - lcol = psi_bilinear_matrix_columns(k_a) - l_a = psi_bilinear_matrix_columns_loc(lcol) - do i=1,N_det_alpha_unique - if (l_a > N_det) exit - lcol = psi_bilinear_matrix_columns(l_a) - if (lcol /= kcol) exit - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - buffer(1:$N_int,i) = psi_det_alpha_unique(1:$N_int, lrow) - idx(i) = l_a - l_a = l_a+1 - enddo - i = i-1 - - call get_all_spin_singles_and_doubles_$N_int( & - buffer, idx, spindet, i, & - singles_a, doubles, n_singles_a, n_doubles ) - - ! Compute Hij for all alpha singles - ! ---------------------------------- - - tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - do i=1,n_singles_a - l_a = singles_a(i) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - c_contrib = 0.d0 - do l= 1, N_st - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - c_contrib(l) = c_1(l) * c_2(l) - enddo - if(alpha_beta.or.spin_trace.or.alpha_alpha)then - ! increment the alpha/beta part for single excitations - call orb_range_off_diagonal_single_to_2_rdm_ab_dm_all_states(tmp_det, tmp_det2,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - ! increment the alpha/alpha part for single excitations - call orb_range_off_diagonal_single_to_2_rdm_aa_dm_all_states(tmp_det,tmp_det2,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - endif - - enddo - - - ! Compute Hij for all alpha doubles - ! ---------------------------------- - - if(alpha_alpha.or.spin_trace)then - do i=1,n_doubles - l_a = doubles(i) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - c_contrib = 0.d0 - do l= 1, N_st - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - c_contrib(l) += c_1(l) * c_2(l) - enddo - call orb_range_off_diagonal_double_to_2_rdm_aa_dm_all_states(tmp_det(1,1),psi_det_alpha_unique(1, lrow),c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - enddo - endif - - - ! Single and double beta excitations - ! ================================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - kcol = psi_bilinear_matrix_columns(k_a) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - spindet(1:$N_int) = tmp_det(1:$N_int,2) - - ! Initial determinant is at k_b in beta-major representation - ! ----------------------------------------------------------------------- - - k_b = psi_bilinear_matrix_order_transp_reverse(k_a) - ASSERT (k_b <= N_det) - - ! Loop inside the alpha row to gather all the connected betas - lrow = psi_bilinear_matrix_transp_rows(k_b) - l_b = psi_bilinear_matrix_transp_rows_loc(lrow) - do i=1,N_det_beta_unique - if (l_b > N_det) exit - lrow = psi_bilinear_matrix_transp_rows(l_b) - if (lrow /= krow) exit - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - buffer(1:$N_int,i) = psi_det_beta_unique(1:$N_int, lcol) - idx(i) = l_b - l_b = l_b+1 - enddo - i = i-1 - - call get_all_spin_singles_and_doubles_$N_int( & - buffer, idx, spindet, i, & - singles_b, doubles, n_singles_b, n_doubles ) - - ! Compute Hij for all beta singles - ! ---------------------------------- - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - do i=1,n_singles_b - l_b = singles_b(i) - ASSERT (l_b <= N_det) - - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, lcol) - l_a = psi_bilinear_matrix_transp_order(l_b) - c_contrib = 0.d0 - do l= 1, N_st - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - c_contrib(l) = c_1(l) * c_2(l) - enddo - if(alpha_beta.or.spin_trace.or.beta_beta)then - ! increment the alpha/beta part for single excitations - call orb_range_off_diagonal_single_to_2_rdm_ab_dm_all_states(tmp_det, tmp_det2,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - ! increment the beta /beta part for single excitations - call orb_range_off_diagonal_single_to_2_rdm_bb_dm_all_states(tmp_det, tmp_det2,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - endif - enddo - - ! Compute Hij for all beta doubles - ! ---------------------------------- - - if(beta_beta.or.spin_trace)then - do i=1,n_doubles - l_b = doubles(i) - ASSERT (l_b <= N_det) - - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - l_a = psi_bilinear_matrix_transp_order(l_b) - c_contrib = 0.d0 - do l= 1, N_st - c_1(l) = u_t(l,l_a) - c_2(l) = u_t(l,k_a) - c_contrib(l) = c_1(l) * c_2(l) - enddo - call orb_range_off_diagonal_double_to_2_rdm_bb_dm_all_states(tmp_det(1,2),psi_det_beta_unique(1, lcol),c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - ASSERT (l_a <= N_det) - - enddo - endif - - - ! Diagonal contribution - ! ===================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - double precision, external :: diag_wee_mat_elem, diag_S_mat_elem - - double precision :: c_1(N_states),c_2(N_states) - c_contrib = 0.d0 - do l = 1, N_st - c_1(l) = u_t(l,k_a) - c_contrib(l) = c_1(l) * c_1(l) - enddo - - - call orb_range_diagonal_contrib_to_all_2_rdm_dm_all_states(tmp_det,c_contrib,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - - end do - !!$OMP END DO - deallocate(buffer, singles_a, singles_b, doubles, idx) - !!$OMP END PARALLEL - -end - - SUBST [ N_int ] - - 1;; - 2;; - 3;; - 4;; - N_int;; - - END_TEMPLATE - diff --git a/src/two_rdm_routines/all_states_update.irp.f b/src/two_rdm_routines/all_states_update.irp.f deleted file mode 100644 index 00507448..00000000 --- a/src/two_rdm_routines/all_states_update.irp.f +++ /dev/null @@ -1,635 +0,0 @@ - subroutine orb_range_diagonal_contrib_to_all_2_rdm_dm_all_states(det_1,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - use bitmasks - BEGIN_DOC -! routine that update the DIAGONAL PART of the two body rdms in a specific range of orbitals for a given determinant det_1 -! -! big_array(dim1,dim1,dim1,dim1,N_st) is the two-body rdm to be updated in physicist notation -! -! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals -! -! ispin determines which spin-spin component of the two-rdm you will update -! -! ispin == 1 :: alpha/ alpha -! ispin == 2 :: beta / beta -! ispin == 3 :: alpha/ beta -! ispin == 4 :: spin traced <=> total two-rdm - END_DOC - implicit none - integer, intent(in) :: dim1,N_st,ispin - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1,N_st) - integer(bit_kind), intent(in) :: det_1(N_int,2) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - double precision, intent(in) :: c_1(N_st) - - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,istate - integer(bit_kind) :: det_1_act(N_int,2) - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - do i = 1, N_int - det_1_act(i,1) = iand(det_1(i,1),orb_bitmask(i)) - det_1_act(i,2) = iand(det_1(i,2),orb_bitmask(i)) - enddo - - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - call bitstring_to_list_ab(det_1_act, occ, n_occ_ab, N_int) - logical :: is_integer_in_string - integer :: i1,i2 - if(alpha_beta)then - do istate = 1, N_st - do i = 1, n_occ_ab(1) - i1 = occ(i,1) - do j = 1, n_occ_ab(2) - i2 = occ(j,2) - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - ! If alpha/beta, electron 1 is alpha, electron 2 is beta - ! Therefore you don't necessayr have symmetry between electron 1 and 2 - big_array(h1,h2,h1,h2,istate) += 1.0d0 * c_1(istate) - enddo - enddo - enddo - else if (alpha_alpha)then - do istate = 1, N_st - do i = 1, n_occ_ab(1) - i1 = occ(i,1) - do j = 1, n_occ_ab(1) - i2 = occ(j,1) - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - big_array(h1,h2,h1,h2,istate) += 0.5d0 * c_1(istate) - big_array(h1,h2,h2,h1,istate) -= 0.5d0 * c_1(istate) - enddo - enddo - enddo -! pause - else if (beta_beta)then - do istate = 1, N_st - do i = 1, n_occ_ab(2) - i1 = occ(i,2) - do j = 1, n_occ_ab(2) - i2 = occ(j,2) - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - big_array(h1,h2,h1,h2,istate) += 0.5d0 * c_1(istate) - big_array(h1,h2,h2,h1,istate) -= 0.5d0 * c_1(istate) - enddo - enddo - enddo - else if(spin_trace)then - ! 0.5 * (alpha beta + beta alpha) - do istate = 1, N_st - do i = 1, n_occ_ab(1) - i1 = occ(i,1) - do j = 1, n_occ_ab(2) - i2 = occ(j,2) - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - big_array(h1,h2,h1,h2,istate) += 0.5d0 * c_1(istate) - big_array(h2,h1,h2,h1,istate) += 0.5d0 * c_1(istate) - enddo - enddo - do i = 1, n_occ_ab(1) - i1 = occ(i,1) - do j = 1, n_occ_ab(1) - i2 = occ(j,1) - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - big_array(h1,h2,h1,h2,istate) += 0.5d0 * c_1(istate) - big_array(h1,h2,h2,h1,istate) -= 0.5d0 * c_1(istate) - enddo - enddo - do i = 1, n_occ_ab(2) - i1 = occ(i,2) - do j = 1, n_occ_ab(2) - i2 = occ(j,2) - h1 = list_orb_reverse(i1) - h2 = list_orb_reverse(i2) - big_array(h1,h2,h1,h2,istate) += 0.5d0 * c_1(istate) - big_array(h1,h2,h2,h1,istate) -= 0.5d0 * c_1(istate) - enddo - enddo - enddo - endif - end - - - subroutine orb_range_off_diagonal_double_to_2_rdm_ab_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for -! -! a given couple of determinant det_1, det_2 being a alpha/beta DOUBLE excitation with respect to one another -! -! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 -! -! big_array(dim1,dim1,dim1,dim1,N_st) is the two-body rdm to be updated in physicist notation -! -! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals -! -! ispin determines which spin-spin component of the two-rdm you will update -! -! ispin == 1 :: alpha/ alpha -! ispin == 2 :: beta / beta -! ispin == 3 :: alpha/ beta -! ispin == 4 :: spin traced <=> total two-rdm -! -! here, only ispin == 3 or 4 will do something - END_DOC - implicit none - integer, intent(in) :: dim1,N_st,ispin - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1,N_st) - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1(N_st) - integer :: i,j,h1,h2,p1,p2,istate - integer :: exc(0:2,2,2) - double precision :: phase - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - call get_double_excitation(det_1,det_2,exc,phase,N_int) - h1 = exc(1,1,1) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - h2 = exc(1,1,2) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))return - h2 = list_orb_reverse(h2) - p1 = exc(1,2,1) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - p2 = exc(1,2,2) - if(.not.is_integer_in_string(p2,orb_bitmask,N_int))return - p2 = list_orb_reverse(p2) - do istate = 1, N_st - if(alpha_beta)then - big_array(h1,h2,p1,p2,istate) += c_1(istate) * phase - else if(spin_trace)then - big_array(h1,h2,p1,p2,istate) += 0.5d0 * c_1(istate) * phase - big_array(p1,p2,h1,h2,istate) += 0.5d0 * c_1(istate) * phase - endif - enddo - end - - subroutine orb_range_off_diagonal_single_to_2_rdm_ab_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for -! -! a given couple of determinant det_1, det_2 being a SINGLE excitation with respect to one another -! -! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 -! -! big_array(dim1,dim1,dim1,dim1,N_st) is the two-body rdm to be updated in physicist notation -! -! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals -! -! ispin determines which spin-spin component of the two-rdm you will update -! -! ispin == 1 :: alpha/ alpha -! ispin == 2 :: beta / beta -! ispin == 3 :: alpha/ beta -! ispin == 4 :: spin traced <=> total two-rdm -! -! here, only ispin == 3 or 4 will do something - END_DOC - implicit none - integer, intent(in) :: dim1,N_st,ispin - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1,N_st) - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1(N_st) - - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,istate,p1 - integer :: exc(0:2,2,2) - double precision :: phase - - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - call get_single_excitation(det_1,det_2,exc,phase,N_int) - if(alpha_beta)then - do istate = 1, N_st - if (exc(0,1,1) == 1) then - ! Mono alpha - h1 = exc(1,1,1) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,1) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - do i = 1, n_occ_ab(2) - h2 = occ(i,2) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle - h2 = list_orb_reverse(h2) - big_array(h1,h2,p1,h2,istate) += c_1(istate) * phase - enddo - else - ! Mono beta - h1 = exc(1,1,2) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,2) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - do i = 1, n_occ_ab(1) - h2 = occ(i,1) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle - h2 = list_orb_reverse(h2) - big_array(h2,h1,h2,p1,istate) += c_1(istate) * phase - enddo - endif - enddo - else if(spin_trace)then - if (exc(0,1,1) == 1) then - ! Mono alpha - h1 = exc(1,1,1) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,1) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - do istate = 1, N_st - do i = 1, n_occ_ab(2) - h2 = occ(i,2) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle - h2 = list_orb_reverse(h2) - big_array(h1,h2,p1,h2,istate) += 0.5d0 * c_1(istate) * phase - big_array(h2,h1,h2,p1,istate) += 0.5d0 * c_1(istate) * phase - enddo - enddo - else - ! Mono beta - h1 = exc(1,1,2) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,2) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - do istate = 1, N_st - do i = 1, n_occ_ab(1) - h2 = occ(i,1) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle - h2 = list_orb_reverse(h2) - big_array(h1,h2,p1,h2,istate) += 0.5d0 * c_1(istate) * phase - big_array(h2,h1,h2,p1,istate) += 0.5d0 * c_1(istate) * phase - enddo - enddo - endif - endif - end - - subroutine orb_range_off_diagonal_single_to_2_rdm_aa_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for -! -! a given couple of determinant det_1, det_2 being a ALPHA SINGLE excitation with respect to one another -! -! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 -! -! big_array(dim1,dim1,dim1,dim1,N_st) is the two-body rdm to be updated in physicist notation -! -! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals -! -! ispin determines which spin-spin component of the two-rdm you will update -! -! ispin == 1 :: alpha/ alpha -! ispin == 2 :: beta / beta -! ispin == 3 :: alpha/ beta -! ispin == 4 :: spin traced <=> total two-rdm -! -! here, only ispin == 1 or 4 will do something - END_DOC - use bitmasks - implicit none - integer, intent(in) :: dim1,N_st,ispin - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1,N_st) - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1(N_st) - - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,istate,p1 - integer :: exc(0:2,2,2) - double precision :: phase - - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - call get_single_excitation(det_1,det_2,exc,phase,N_int) - if(alpha_alpha.or.spin_trace)then - if (exc(0,1,1) == 1) then - ! Mono alpha - h1 = exc(1,1,1) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,1) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - do istate = 1, N_st - do i = 1, n_occ_ab(1) - h2 = occ(i,1) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle - h2 = list_orb_reverse(h2) - big_array(h1,h2,p1,h2,istate) += 0.5d0 * c_1(istate) * phase - big_array(h1,h2,h2,p1,istate) -= 0.5d0 * c_1(istate) * phase - - big_array(h2,h1,h2,p1,istate) += 0.5d0 * c_1(istate) * phase - big_array(h2,h1,p1,h2,istate) -= 0.5d0 * c_1(istate) * phase - enddo - enddo - else - return - endif - endif - end - - subroutine orb_range_off_diagonal_single_to_2_rdm_bb_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for -! -! a given couple of determinant det_1, det_2 being a BETA SINGLE excitation with respect to one another -! -! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 -! -! big_array(dim1,dim1,dim1,dim1,N_st) is the two-body rdm to be updated in physicist notation -! -! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals -! -! ispin determines which spin-spin component of the two-rdm you will update -! -! ispin == 1 :: alpha/ alpha -! ispin == 2 :: beta / beta -! ispin == 3 :: alpha/ beta -! ispin == 4 :: spin traced <=> total two-rdm -! -! here, only ispin == 2 or 4 will do something - END_DOC - implicit none - integer, intent(in) :: dim1,N_st,ispin - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1,N_st) - integer(bit_kind), intent(in) :: det_1(N_int,2),det_2(N_int,2) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1(N_st) - - - integer :: occ(N_int*bit_kind_size,2) - integer :: n_occ_ab(2) - integer :: i,j,h1,h2,istate,p1 - integer :: exc(0:2,2,2) - double precision :: phase - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - - - call bitstring_to_list_ab(det_1, occ, n_occ_ab, N_int) - call get_single_excitation(det_1,det_2,exc,phase,N_int) - if(beta_beta.or.spin_trace)then - if (exc(0,1,1) == 1) then - return - else - ! Mono beta - h1 = exc(1,1,2) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - p1 = exc(1,2,2) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - do istate = 1, N_st - do i = 1, n_occ_ab(2) - h2 = occ(i,2) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))cycle - h2 = list_orb_reverse(h2) - big_array(h1,h2,p1,h2,istate) += 0.5d0 * c_1(istate) * phase - big_array(h1,h2,h2,p1,istate) -= 0.5d0 * c_1(istate) * phase - - big_array(h2,h1,h2,p1,istate) += 0.5d0 * c_1(istate) * phase - big_array(h2,h1,p1,h2,istate) -= 0.5d0 * c_1(istate) * phase - enddo - enddo - endif - endif - end - - - subroutine orb_range_off_diagonal_double_to_2_rdm_aa_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for -! -! a given couple of determinant det_1, det_2 being a ALPHA/ALPHA DOUBLE excitation with respect to one another -! -! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 -! -! big_array(dim1,dim1,dim1,dim1,N_st) is the two-body rdm to be updated in physicist notation -! -! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals -! -! ispin determines which spin-spin component of the two-rdm you will update -! -! ispin == 1 :: alpha/ alpha -! ispin == 2 :: beta / beta -! ispin == 3 :: alpha/ beta -! ispin == 4 :: spin traced <=> total two-rdm -! -! here, only ispin == 1 or 4 will do something - END_DOC - implicit none - integer, intent(in) :: dim1,N_st,ispin - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1,N_st) - integer(bit_kind), intent(in) :: det_1(N_int),det_2(N_int) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1(N_st) - - integer :: i,j,h1,h2,p1,p2,istate - integer :: exc(0:2,2) - double precision :: phase - - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - call get_double_excitation_spin(det_1,det_2,exc,phase,N_int) - h1 =exc(1,1) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - h2 =exc(2,1) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))return - h2 = list_orb_reverse(h2) - p1 =exc(1,2) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - p2 =exc(2,2) - if(.not.is_integer_in_string(p2,orb_bitmask,N_int))return - p2 = list_orb_reverse(p2) - if(alpha_alpha.or.spin_trace)then - do istate = 1, N_st - big_array(h1,h2,p1,p2,istate) += 0.5d0 * c_1(istate) * phase - big_array(h1,h2,p2,p1,istate) -= 0.5d0 * c_1(istate) * phase - - big_array(h2,h1,p2,p1,istate) += 0.5d0 * c_1(istate) * phase - big_array(h2,h1,p1,p2,istate) -= 0.5d0 * c_1(istate) * phase - enddo - endif - end - - subroutine orb_range_off_diagonal_double_to_2_rdm_bb_dm_all_states(det_1,det_2,c_1,N_st,big_array,dim1,orb_bitmask,list_orb_reverse,ispin) - use bitmasks - BEGIN_DOC -! routine that update the OFF DIAGONAL PART of the two body rdms in a specific range of orbitals for -! -! a given couple of determinant det_1, det_2 being a BETA /BETA DOUBLE excitation with respect to one another -! -! c_1 is supposed to be a scalar quantity, such as state averaged coef of the determinant det_1 -! -! big_array(dim1,dim1,dim1,dim1,N_st) is the two-body rdm to be updated in physicist notation -! -! orb_bitmask(N_int) is the bitmask for the orbital range, list_orb_reverse(mo_num) is the inverse range of orbitals -! -! ispin determines which spin-spin component of the two-rdm you will update -! -! ispin == 1 :: alpha/ alpha -! ispin == 2 :: beta / beta -! ispin == 3 :: alpha/ beta -! ispin == 4 :: spin traced <=> total two-rdm -! -! here, only ispin == 2 or 4 will do something - END_DOC - implicit none - - integer, intent(in) :: dim1,N_st,ispin - double precision, intent(inout) :: big_array(dim1,dim1,dim1,dim1,N_st) - integer(bit_kind), intent(in) :: det_1(N_int),det_2(N_int) - integer(bit_kind), intent(in) :: orb_bitmask(N_int) - integer, intent(in) :: list_orb_reverse(mo_num) - double precision, intent(in) :: c_1(N_st) - - integer :: i,j,h1,h2,p1,p2,istate - integer :: exc(0:2,2) - double precision :: phase - logical :: alpha_alpha,beta_beta,alpha_beta,spin_trace - logical :: is_integer_in_string - alpha_alpha = .False. - beta_beta = .False. - alpha_beta = .False. - spin_trace = .False. - if( ispin == 1)then - alpha_alpha = .True. - else if(ispin == 2)then - beta_beta = .True. - else if(ispin == 3)then - alpha_beta = .True. - else if(ispin == 4)then - spin_trace = .True. - endif - - call get_double_excitation_spin(det_1,det_2,exc,phase,N_int) - h1 =exc(1,1) - if(.not.is_integer_in_string(h1,orb_bitmask,N_int))return - h1 = list_orb_reverse(h1) - h2 =exc(2,1) - if(.not.is_integer_in_string(h2,orb_bitmask,N_int))return - h2 = list_orb_reverse(h2) - p1 =exc(1,2) - if(.not.is_integer_in_string(p1,orb_bitmask,N_int))return - p1 = list_orb_reverse(p1) - p2 =exc(2,2) - if(.not.is_integer_in_string(p2,orb_bitmask,N_int))return - p2 = list_orb_reverse(p2) - do istate = 1, N_st - if(beta_beta.or.spin_trace)then - big_array(h1,h2,p1,p2,istate) += 0.5d0 * c_1(istate)* phase - big_array(h1,h2,p2,p1,istate) -= 0.5d0 * c_1(istate)* phase - - big_array(h2,h1,p2,p1,istate) += 0.5d0 * c_1(istate)* phase - big_array(h2,h1,p1,p2,istate) -= 0.5d0 * c_1(istate)* phase - endif - enddo - end - diff --git a/src/two_rdm_routines/all_states_david_openmp.irp.f b/src/two_rdm_routines/davidson_like_2rdm.irp.f similarity index 100% rename from src/two_rdm_routines/all_states_david_openmp.irp.f rename to src/two_rdm_routines/davidson_like_2rdm.irp.f diff --git a/src/two_rdm_routines/state_av_david_omp.irp.f b/src/two_rdm_routines/davidson_like_state_av_2rdm.irp.f similarity index 100% rename from src/two_rdm_routines/state_av_david_omp.irp.f rename to src/two_rdm_routines/davidson_like_state_av_2rdm.irp.f diff --git a/src/two_rdm_routines/state_av_update_omp.irp.f b/src/two_rdm_routines/updata_state_av_rdm.irp.f similarity index 100% rename from src/two_rdm_routines/state_av_update_omp.irp.f rename to src/two_rdm_routines/updata_state_av_rdm.irp.f diff --git a/src/two_rdm_routines/all_states_update_openmp.irp.f b/src/two_rdm_routines/update_rdm.irp.f similarity index 100% rename from src/two_rdm_routines/all_states_update_openmp.irp.f rename to src/two_rdm_routines/update_rdm.irp.f From 2e90197987dc8181ab39cc3f88bd7c61527c767e Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Sun, 22 Mar 2020 18:09:04 +0100 Subject: [PATCH 030/138] renamed and documented properly all providers for two rdms --- src/two_body_rdm/act_2_rdm.irp.f | 62 ++++----- src/two_body_rdm/example.irp.f | 25 ++++ src/two_body_rdm/full_orb_2_rdm.irp.f | 33 +++-- src/two_body_rdm/state_av_act_2rdm.irp.f | 124 +++++++++++------- .../state_av_full_orb_2_rdm.irp.f | 35 +++-- 5 files changed, 171 insertions(+), 108 deletions(-) diff --git a/src/two_body_rdm/act_2_rdm.irp.f b/src/two_body_rdm/act_2_rdm.irp.f index 4a8a64d2..5914f411 100644 --- a/src/two_body_rdm/act_2_rdm.irp.f +++ b/src/two_body_rdm/act_2_rdm.irp.f @@ -4,7 +4,11 @@ BEGIN_DOC ! act_2_rdm_ab_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons ! -! +! +! +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{\alpha}^{act} * N_{\beta}^{act} ! ! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" ! @@ -12,17 +16,14 @@ ! ! act_2_rdm_ab_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta ! -! Therefore you don't necessayr have symmetry between electron 1 and 2 +! Therefore you don't necessary have symmetry between electron 1 and 2 END_DOC integer :: ispin double precision :: wall_1, wall_2 ! condition for alpha/beta spin print*,'' - print*,'' - print*,'' print*,'Providing act_2_rdm_ab_mo ' ispin = 3 - print*,'ispin = ',ispin act_2_rdm_ab_mo = 0.d0 call wall_time(wall_1) call orb_range_2_rdm_openmp(act_2_rdm_ab_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) @@ -35,27 +36,22 @@ BEGIN_PROVIDER [double precision, act_2_rdm_aa_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] implicit none BEGIN_DOC -! act_2_rdm_aa_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons +! act_2_rdm_aa_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of ALPHA/ALPHA electrons ! -! +! +! +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{\alpha}^{act} * (N_{\alpha}^{act} - 1)/2 ! ! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" -! -! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is alpha, electron 2 is beta -! -! act_2_rdm_aa_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta -! -! Therefore you don't necessayr have symmetry between electron 1 and 2 END_DOC integer :: ispin double precision :: wall_1, wall_2 ! condition for alpha/beta spin print*,'' - print*,'' - print*,'' print*,'Providing act_2_rdm_aa_mo ' ispin = 1 - print*,'ispin = ',ispin act_2_rdm_aa_mo = 0.d0 call wall_time(wall_1) call orb_range_2_rdm_openmp(act_2_rdm_aa_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) @@ -68,27 +64,22 @@ BEGIN_PROVIDER [double precision, act_2_rdm_bb_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] implicit none BEGIN_DOC -! act_2_rdm_bb_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons +! act_2_rdm_bb_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of BETA/BETA electrons ! -! +! +! +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{\beta}^{act} * (N_{\beta}^{act} - 1)/2 ! ! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" -! -! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is beta, electron 2 is beta -! -! act_2_rdm_bb_mo(i,j,k,l,istate) = i:beta, j:beta, j:beta, l:beta -! -! Therefore you don't necessayr have symmetry between electron 1 and 2 END_DOC integer :: ispin double precision :: wall_1, wall_2 ! condition for beta/beta spin print*,'' - print*,'' - print*,'' print*,'Providing act_2_rdm_bb_mo ' ispin = 2 - print*,'ispin = ',ispin act_2_rdm_bb_mo = 0.d0 call wall_time(wall_1) call orb_range_2_rdm_openmp(act_2_rdm_bb_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) @@ -100,27 +91,22 @@ BEGIN_PROVIDER [double precision, act_2_rdm_spin_trace_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] implicit none BEGIN_DOC -! act_2_rdm_spin_trace_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of beta/beta electrons +! act_2_rdm_spin_trace_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM ! -! +! \sum_{\sigma,\sigma'} +! +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{elec}^{act} * (N_{elec}^{act} - 1)/2 ! ! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" -! -! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is beta, electron 2 is beta -! -! act_2_rdm_spin_trace_mo(i,j,k,l,istate) = i:beta, j:beta, j:beta, l:beta -! -! Therefore you don't necessayr have symmetry between electron 1 and 2 END_DOC integer :: ispin double precision :: wall_1, wall_2 ! condition for beta/beta spin print*,'' - print*,'' - print*,'' print*,'Providing act_2_rdm_spin_trace_mo ' ispin = 4 - print*,'ispin = ',ispin act_2_rdm_spin_trace_mo = 0.d0 call wall_time(wall_1) call orb_range_2_rdm_openmp(act_2_rdm_spin_trace_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) diff --git a/src/two_body_rdm/example.irp.f b/src/two_body_rdm/example.irp.f index fb4ac8ed..4400613c 100644 --- a/src/two_body_rdm/example.irp.f +++ b/src/two_body_rdm/example.irp.f @@ -152,6 +152,13 @@ subroutine routine_full_mos double precision :: wee_ab_st_av, rdm_ab_st_av double precision :: wee_tot_st_av, rdm_tot_st_av double precision :: wee_aa_st_av_2,wee_ab_st_av_2,wee_bb_st_av_2,wee_tot_st_av_2,wee_tot_st_av_3 + double precision :: aa_norm(N_states),bb_norm(N_states),ab_norm(N_states),tot_norm(N_states) + + aa_norm = 0.d0 + bb_norm = 0.d0 + ab_norm = 0.d0 + tot_norm = 0.d0 + wee_aa = 0.d0 wee_ab = 0.d0 wee_bb = 0.d0 @@ -194,6 +201,10 @@ subroutine routine_full_mos wee_tot(istate)+= vijkl * rdmtot enddo enddo + aa_norm(istate) += full_occ_2_rdm_aa_mo(j,i,j,i,istate) + bb_norm(istate) += full_occ_2_rdm_bb_mo(j,i,j,i,istate) + ab_norm(istate) += full_occ_2_rdm_ab_mo(j,i,j,i,istate) + tot_norm(istate)+= full_occ_2_rdm_spin_trace_mo(j,i,j,i,istate) enddo enddo wee_aa_st_av_2 += wee_aa(istate) * state_average_weight(istate) @@ -211,6 +222,20 @@ subroutine routine_full_mos print*,'sum (istate) = ',wee_aa(istate) + wee_bb(istate) + wee_ab(istate) print*,'wee_tot(istate) = ',wee_tot(istate) print*,'psi_energy_two_e(istate)= ',psi_energy_two_e(istate) + print*,'' + print*,'Normalization of two-rdms ' + print*,'' + print*,'aa_norm(istate) = ',aa_norm(istate) + print*,'N_alpha(N_alpha-1)/2 = ',elec_num_tab(1) * (elec_num_tab(1) - 1)/2 + print*,'' + print*,'bb_norm(istate) = ',bb_norm(istate) + print*,'N_alpha(N_alpha-1)/2 = ',elec_num_tab(2) * (elec_num_tab(2) - 1)/2 + print*,'' + print*,'ab_norm(istate) = ',ab_norm(istate) + print*,'N_alpha * N_beta = ',elec_num_tab(1) * elec_num_tab(2) + print*,'' + print*,'tot_norm(istate) = ',tot_norm(istate) + print*,'N(N-1)/2 = ',elec_num*(elec_num - 1)/2 enddo wee_aa_st_av = 0.d0 diff --git a/src/two_body_rdm/full_orb_2_rdm.irp.f b/src/two_body_rdm/full_orb_2_rdm.irp.f index bc0350e2..fba88172 100644 --- a/src/two_body_rdm/full_orb_2_rdm.irp.f +++ b/src/two_body_rdm/full_orb_2_rdm.irp.f @@ -8,17 +8,19 @@ ! ! ! -! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO ALL OCCUPIED ORBITALS : core, inactive and active ! -! BUT THE STRUCTURE OF THE TWO-RDM ON THE RANGE OF OCCUPIED MOS (CORE+INACT+ACT) BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{\alpha} * N_{\beta} +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" ! ! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is ALPHA, electron 2 is BETA ! -! act_2_rdm_ab_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta +! full_occ_2_rdm_ab_mo(i,j,k,l,istate) = i:alpha, j:beta, j:alpha, l:beta ! ! Therefore you don't necessary have symmetry between electron 1 and 2 ! -! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero +! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO ARE SET TO ZERO END_DOC full_occ_2_rdm_ab_mo = 0.d0 do istate = 1, N_states @@ -135,9 +137,11 @@ ! ! ! -! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO ALL OCCUPIED ORBITALS : core, inactive and active ! -! BUT THE STRUCTURE OF THE TWO-RDM ON THE FULL RANGE OF MOs IS IMPLEMENTED BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{\alpha} * (N_{\alpha} - 1)/2 +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" ! ! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero END_DOC @@ -231,9 +235,11 @@ ! ! ! -! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO ALL OCCUPIED ORBITALS : core, inactive and active ! -! BUT THE STRUCTURE OF THE TWO-RDM ON THE FULL RANGE OF MOs IS IMPLEMENTED BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{\beta} * (N_{\beta} - 1)/2 +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" ! ! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero END_DOC @@ -327,11 +333,18 @@ ! ! ! -! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO ALL OCCUPIED ORBITALS : core, inactive and active ! -! BUT THE STRUCTURE OF THE TWO-RDM ON THE FULL RANGE OF MOs IS IMPLEMENTED BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{elec} * (N_{elec} - 1)/2 +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" ! ! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero +! The two-electron energy of each state can be computed as: +! +! \sum_{i,j,k,l = 1, n_core_inact_act_orb} full_occ_2_rdm_spin_trace_mo(i,j,k,l,istate) * < ii jj | kk ll > +! +! with ii = list_core_inact_act(i), jj = list_core_inact_act(j), kk = list_core_inact_act(k), ll = list_core_inact_act(l) END_DOC do istate = 1, N_states diff --git a/src/two_body_rdm/state_av_act_2rdm.irp.f b/src/two_body_rdm/state_av_act_2rdm.irp.f index 064ecc33..d85c3cdb 100644 --- a/src/two_body_rdm/state_av_act_2rdm.irp.f +++ b/src/two_body_rdm/state_av_act_2rdm.irp.f @@ -1,52 +1,22 @@ - - BEGIN_PROVIDER [double precision, state_av_act_2_rdm_aa_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] - implicit none - double precision, allocatable :: state_weights(:) - BEGIN_DOC -! state_av_act_2_rdm_aa_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-alpha electron pairs -! = - END_DOC - allocate(state_weights(N_states)) - state_weights = state_average_weight - integer :: ispin - ! condition for alpha/beta spin - ispin = 1 - state_av_act_2_rdm_aa_mo = 0.D0 - call wall_time(wall_1) - double precision :: wall_1, wall_2 - call orb_range_2_rdm_state_av_openmp(state_av_act_2_rdm_aa_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - call wall_time(wall_2) - print*,'Wall time to provide state_av_act_2_rdm_aa_mo',wall_2 - wall_1 - - END_PROVIDER - - BEGIN_PROVIDER [double precision, state_av_act_2_rdm_bb_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] - implicit none - double precision, allocatable :: state_weights(:) - BEGIN_DOC -! state_av_act_2_rdm_bb_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for beta-beta electron pairs -! = - END_DOC - allocate(state_weights(N_states)) - state_weights = state_average_weight - integer :: ispin - ! condition for alpha/beta spin - ispin = 2 - state_av_act_2_rdm_bb_mo = 0.d0 - call wall_time(wall_1) - double precision :: wall_1, wall_2 - call orb_range_2_rdm_state_av_openmp(state_av_act_2_rdm_bb_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - call wall_time(wall_2) - print*,'Wall time to provide state_av_act_2_rdm_bb_mo',wall_2 - wall_1 - - END_PROVIDER - BEGIN_PROVIDER [double precision, state_av_act_2_rdm_ab_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] implicit none double precision, allocatable :: state_weights(:) BEGIN_DOC ! state_av_act_2_rdm_ab_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-beta electron pairs -! = +! +! = \sum_{istate} w(istate) * +! +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{\alpha}^{act} * N_{\beta}^{act} +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is alpha, electron 2 is beta +! +! state_av_act_2_rdm_ab_mo(i,j,k,l) = i:alpha, j:beta, j:alpha, l:beta +! +! Therefore you don't necessary have symmetry between electron 1 and 2 END_DOC allocate(state_weights(N_states)) state_weights = state_average_weight @@ -68,15 +38,75 @@ END_PROVIDER + BEGIN_PROVIDER [double precision, state_av_act_2_rdm_aa_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + implicit none + double precision, allocatable :: state_weights(:) + BEGIN_DOC +! state_av_act_2_rdm_aa_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for alpha-alpha electron pairs +! +! = \sum_{istate} w(istate) * +! +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{\alpha}^{act} * (N_{\alpha}^{act} - 1)/2 +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" + END_DOC + allocate(state_weights(N_states)) + state_weights = state_average_weight + integer :: ispin + ! condition for alpha/beta spin + ispin = 1 + state_av_act_2_rdm_aa_mo = 0.D0 + call wall_time(wall_1) + double precision :: wall_1, wall_2 + call orb_range_2_rdm_state_av_openmp(state_av_act_2_rdm_aa_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call wall_time(wall_2) + print*,'Wall time to provide state_av_act_2_rdm_aa_mo',wall_2 - wall_1 + + END_PROVIDER + + BEGIN_PROVIDER [double precision, state_av_act_2_rdm_bb_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] + implicit none + double precision, allocatable :: state_weights(:) + BEGIN_DOC +! state_av_act_2_rdm_bb_mo(i,j,k,l) = state average physicist two-body rdm restricted to the ACTIVE indices for beta-beta electron pairs +! +! = \sum_{istate} w(istate) * +! +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{\beta}^{act} * (N_{\beta}^{act} - 1)/2 +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" + END_DOC + allocate(state_weights(N_states)) + state_weights = state_average_weight + integer :: ispin + ! condition for alpha/beta spin + ispin = 2 + state_av_act_2_rdm_bb_mo = 0.d0 + call wall_time(wall_1) + double precision :: wall_1, wall_2 + call orb_range_2_rdm_state_av_openmp(state_av_act_2_rdm_bb_mo,n_act_orb,n_act_orb,list_act,state_weights,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + call wall_time(wall_2) + print*,'Wall time to provide state_av_act_2_rdm_bb_mo',wall_2 - wall_1 + + END_PROVIDER + + BEGIN_PROVIDER [double precision, state_av_act_2_rdm_spin_trace_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb)] implicit none BEGIN_DOC ! state_av_act_2_rdm_spin_trace_mo(i,j,k,l) = state average physicist spin trace two-body rdm restricted to the ACTIVE indices -! The active part of the two-electron energy can be computed as: ! -! \sum_{i,j,k,l = 1, n_act_orb} state_av_act_2_rdm_spin_trace_mo(i,j,k,l) * < ii jj | kk ll > +! = \sum_{istate} w(istate) * \sum_{sigma,sigma'} ! -! with ii = list_act(i), jj = list_act(j), kk = list_act(k), ll = list_act(l) +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{elec} * (N_{elec} - 1)/2 +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" END_DOC double precision, allocatable :: state_weights(:) allocate(state_weights(N_states)) diff --git a/src/two_body_rdm/state_av_full_orb_2_rdm.irp.f b/src/two_body_rdm/state_av_full_orb_2_rdm.irp.f index 9229d146..b3a5fe65 100644 --- a/src/two_body_rdm/state_av_full_orb_2_rdm.irp.f +++ b/src/two_body_rdm/state_av_full_orb_2_rdm.irp.f @@ -6,13 +6,15 @@ BEGIN_DOC ! state_av_full_occ_2_rdm_ab_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of alpha/beta electrons ! -! +! = \sum_{istate} w(istate) * ! -! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO ALL OCCUPIED ORBITALS : core, inactive and active ! -! BUT THE STRUCTURE OF THE TWO-RDM ON THE RANGE OF OCCUPIED MOS (CORE+INACT+ACT) BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{\alpha} * N_{\beta} ! -! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is ALPHA, electron 2 is BETA +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! +! !!!!! WARNING !!!!! For efficiency reasons, electron 1 is ALPHA, electron 2 is BETA ! ! state_av_full_occ_2_rdm_ab_mo(i,j,k,l) = i:alpha, j:beta, j:alpha, l:beta ! @@ -129,11 +131,13 @@ BEGIN_DOC ! state_av_full_occ_2_rdm_aa_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of alpha/alpha electrons ! -! +! = \sum_{istate} w(istate) * ! -! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO ALL OCCUPIED ORBITALS : core, inactive and active ! -! BUT THE STRUCTURE OF THE TWO-RDM ON THE FULL RANGE OF MOs IS IMPLEMENTED BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{\alpha} * (N_{\alpha} - 1)/2 +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" ! ! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero END_DOC @@ -223,12 +227,14 @@ BEGIN_DOC ! state_av_full_occ_2_rdm_bb_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of beta/beta electrons ! -! +! = \sum_{istate} w(istate) * +! +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO ALL OCCUPIED ORBITALS : core, inactive and active +! +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{\beta} * (N_{\beta} - 1)/2 ! ! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" ! -! BUT THE STRUCTURE OF THE TWO-RDM ON THE FULL RANGE OF MOs IS IMPLEMENTED BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS -! ! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero END_DOC @@ -317,11 +323,14 @@ BEGIN_DOC ! state_av_full_occ_2_rdm_bb_mo(i,j,k,l) = STATE AVERAGE physicist notation for 2RDM of beta/beta electrons ! -! +! = \sum_{istate} w(istate) * \sum_{sigma,sigma'} ! -! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" ! -! BUT THE STRUCTURE OF THE TWO-RDM ON THE FULL RANGE OF MOs IS IMPLEMENTED BECAUSE IT CAN BE CONVENIENT FOR SOME APPLICATIONS +! WHERE ALL ORBITALS (i,j,k,l) BELONGS TO ALL OCCUPIED ORBITALS : core, inactive and active +! +! THE NORMALIZATION (i.e. sum of diagonal elements) IS SET TO N_{elec} * (N_{elec} - 1)/2 +! +! !!!!! WARNING !!!!! ALL SLATER DETERMINANTS IN PSI_DET MUST BELONG TO AN ACTIVE SPACE DEFINED BY "list_act" ! ! !!!!! WARNING !!!!! IF "no_core_density" then all elements involving at least one CORE MO is set to zero END_DOC From d9bb07a2f23f791462ed37b871628d37af036d8d Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Sun, 22 Mar 2020 18:18:18 +0100 Subject: [PATCH 031/138] renamed two rdm in casscf --- src/casscf/densities.irp.f | 3 +- src/casscf/get_energy.irp.f | 55 +------------------------------------ 2 files changed, 2 insertions(+), 56 deletions(-) diff --git a/src/casscf/densities.irp.f b/src/casscf/densities.irp.f index 3d1ff0f9..5c31b6bb 100644 --- a/src/casscf/densities.irp.f +++ b/src/casscf/densities.irp.f @@ -56,8 +56,7 @@ BEGIN_PROVIDER [real*8, P0tuvx, (n_act_orb,n_act_orb,n_act_orb,n_act_orb) ] uu = list_act(u) do t = 1, n_act_orb tt = list_act(t) - P0tuvx(t,u,v,x) = state_av_act_two_rdm_spin_trace_mo(t,v,u,x) -! P0tuvx(t,u,v,x) = act_two_rdm_spin_trace_mo(t,v,u,x) + P0tuvx(t,u,v,x) = state_av_act_2_rdm_spin_trace_mo(t,v,u,x) enddo enddo enddo diff --git a/src/casscf/get_energy.irp.f b/src/casscf/get_energy.irp.f index 362da85d..cfb26b59 100644 --- a/src/casscf/get_energy.irp.f +++ b/src/casscf/get_energy.irp.f @@ -24,40 +24,6 @@ subroutine print_grad enddo end -subroutine routine_bis - implicit none - integer :: i,j - double precision :: accu_d,accu_od -!accu_d = 0.d0 -!accu_od = 0.d0 -!print*,'' -!print*,'' -!print*,'' -!do i = 1, mo_num -! write(*,'(100(F8.5,X))')super_ci_dm(i,:) -! accu_d += super_ci_dm(i,i) -! do j = i+1, mo_num -! accu_od += dabs(super_ci_dm(i,j) - super_ci_dm(j,i)) -! enddo -!enddo -!print*,'' -!print*,'' -!print*,'accu_d = ',accu_d -!print*,'n_elec = ',elec_num -!print*,'accu_od= ',accu_od -!print*,'' -!accu_d = 0.d0 -!do i = 1, N_det -! accu_d += psi_coef(i,1)**2 -!enddo -!print*,'accu_d = ',accu_d -!provide superci_natorb - - provide switch_mo_coef - mo_coef = switch_mo_coef - call save_mos -end - subroutine routine integer :: i,j,k,l integer :: ii,jj,kk,ll @@ -75,30 +41,11 @@ subroutine routine do ii = 1, n_act_orb i = list_act(ii) integral = get_two_e_integral(i,j,k,l,mo_integrals_map) - accu(1) += state_av_act_two_rdm_spin_trace_mo(ii,jj,kk,ll) * integral + accu(1) += state_av_act_2_rdm_spin_trace_mo(ii,jj,kk,ll) * integral enddo enddo enddo enddo print*,'accu = ',accu(1) - accu = 0.d0 - do ll = 1, n_act_orb - l = list_act(ll) - do kk = 1, n_act_orb - k = list_act(kk) - do jj = 1, n_act_orb - j = list_act(jj) - do ii = 1, n_act_orb - i = list_act(ii) - integral = get_two_e_integral(i,j,k,l,mo_integrals_map) - accu(1) += state_av_act_two_rdm_openmp_spin_trace_mo(ii,jj,kk,ll) * integral - enddo - enddo - enddo - enddo - print*,'accu = ',accu(1) - print*,'psi_energy_two_e = ',psi_energy_two_e - - print *, psi_energy_with_nucl_rep end From 6d0bcd96ed88c14301204905c5d65302e29c30d5 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Sun, 22 Mar 2020 20:46:13 +0100 Subject: [PATCH 032/138] removed some useless cas_dft_one_e_dm --- src/determinants/cas_one_e_rdm.irp.f | 37 ---------------------------- 1 file changed, 37 deletions(-) delete mode 100644 src/determinants/cas_one_e_rdm.irp.f diff --git a/src/determinants/cas_one_e_rdm.irp.f b/src/determinants/cas_one_e_rdm.irp.f deleted file mode 100644 index 0471bde6..00000000 --- a/src/determinants/cas_one_e_rdm.irp.f +++ /dev/null @@ -1,37 +0,0 @@ - - BEGIN_PROVIDER [double precision, one_e_act_dm_beta_mo_for_dft, (n_act_orb,n_act_orb,N_states)] - implicit none - BEGIN_DOC - ! one_e_act_dm_beta_mo_for_dft = pure ACTIVE part of the ONE ELECTRON REDUCED DENSITY MATRIX for the BETA ELECTRONS - END_DOC - integer :: i,j,ii,jj,istate - do istate = 1, N_states - do ii = 1, n_act_orb - i = list_act(ii) - do jj = 1, n_act_orb - j = list_act(jj) - one_e_act_dm_beta_mo_for_dft(jj,ii,istate) = one_e_dm_mo_beta(j,i,istate) - enddo - enddo - enddo - -END_PROVIDER - - BEGIN_PROVIDER [double precision, one_e_act_dm_alpha_mo_for_dft, (n_act_orb,n_act_orb,N_states)] - implicit none - BEGIN_DOC - ! one_e_act_dm_alpha_mo_for_dft = pure ACTIVE part of the ONE ELECTRON REDUCED DENSITY MATRIX for the ALPHA ELECTRONS - END_DOC - integer :: i,j,ii,jj,istate - do istate = 1, N_states - do ii = 1, n_act_orb - i = list_act(ii) - do jj = 1, n_act_orb - j = list_act(jj) - one_e_act_dm_alpha_mo_for_dft(jj,ii,istate) = one_e_dm_mo_alpha(j,i,istate) - enddo - enddo - enddo - -END_PROVIDER - From 26474d9c462000631af41c63e605138ed1523f4a Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Sun, 22 Mar 2020 21:59:21 +0100 Subject: [PATCH 033/138] cleaning in dft_utils_in_r --- src/dft_utils_in_r/dm_in_r.irp.f | 353 +--------------------- src/dft_utils_in_r/dm_in_r_routines.irp.f | 290 ++++++++++++++++++ 2 files changed, 305 insertions(+), 338 deletions(-) create mode 100644 src/dft_utils_in_r/dm_in_r_routines.irp.f diff --git a/src/dft_utils_in_r/dm_in_r.irp.f b/src/dft_utils_in_r/dm_in_r.irp.f index 18eb5403..f043a70e 100644 --- a/src/dft_utils_in_r/dm_in_r.irp.f +++ b/src/dft_utils_in_r/dm_in_r.irp.f @@ -1,293 +1,3 @@ -subroutine dm_dft_alpha_beta_at_r(r,dm_a,dm_b) - implicit none - BEGIN_DOC -! input: r(1) ==> r(1) = x, r(2) = y, r(3) = z -! output : dm_a = alpha density evaluated at r(3) -! output : dm_b = beta density evaluated at r(3) - END_DOC - double precision, intent(in) :: r(3) - double precision, intent(out) :: dm_a(N_states),dm_b(N_states) - integer :: istate - double precision :: aos_array(ao_num),aos_array_bis(ao_num),u_dot_v - call give_all_aos_at_r(r,aos_array) - do istate = 1, N_states - aos_array_bis = aos_array - ! alpha density - call dgemv('N',ao_num,ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),ao_num,aos_array,1,0.d0,aos_array_bis,1) - dm_a(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) - ! beta density - aos_array_bis = aos_array - call dgemv('N',ao_num,ao_num,1.d0,one_e_dm_beta_ao_for_dft(1,1,istate),ao_num,aos_array,1,0.d0,aos_array_bis,1) - dm_b(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) - enddo -end - - -subroutine dm_dft_alpha_beta_and_all_aos_at_r(r,dm_a,dm_b,aos_array) - BEGIN_DOC -! input: r(1) ==> r(1) = x, r(2) = y, r(3) = z -! output : dm_a = alpha density evaluated at r -! output : dm_b = beta density evaluated at r -! output : aos_array(i) = ao(i) evaluated at r - END_DOC - implicit none - double precision, intent(in) :: r(3) - double precision, intent(out) :: dm_a(N_states),dm_b(N_states) - double precision, intent(out) :: aos_array(ao_num) - integer :: istate - double precision :: aos_array_bis(ao_num),u_dot_v - call give_all_aos_at_r(r,aos_array) - do istate = 1, N_states - aos_array_bis = aos_array - ! alpha density - call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_array,1,0.d0,aos_array_bis,1) - dm_a(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) - ! beta density - aos_array_bis = aos_array - call dsymv('U',ao_num,1.d0,one_e_dm_beta_ao_for_dft(1,1,istate),size(one_e_dm_beta_ao_for_dft,1),aos_array,1,0.d0,aos_array_bis,1) - dm_b(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) - enddo -end - - - - subroutine density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r(r,dm_a,dm_b, grad_dm_a, grad_dm_b, aos_array, grad_aos_array) - implicit none - BEGIN_DOC -! input: -! -! * r(1) ==> r(1) = x, r(2) = y, r(3) = z -! -! output: -! -! * dm_a = alpha density evaluated at r -! * dm_b = beta density evaluated at r -! * aos_array(i) = ao(i) evaluated at r -! * grad_dm_a(1) = X gradient of the alpha density evaluated in r -! * grad_dm_a(1) = X gradient of the beta density evaluated in r -! * grad_aos_array(1) = X gradient of the aos(i) evaluated at r -! - END_DOC - double precision, intent(in) :: r(3) - double precision, intent(out) :: dm_a(N_states),dm_b(N_states) - double precision, intent(out) :: grad_dm_a(3,N_states),grad_dm_b(3,N_states) - double precision, intent(out) :: grad_aos_array(3,ao_num) - integer :: i,j,istate - double precision :: aos_array(ao_num),aos_array_bis(ao_num),u_dot_v - double precision :: aos_grad_array(ao_num,3), aos_grad_array_bis(ao_num,3) - - call give_all_aos_and_grad_at_r(r,aos_array,grad_aos_array) - do i = 1, ao_num - do j = 1, 3 - aos_grad_array(i,j) = grad_aos_array(j,i) - enddo - enddo - - do istate = 1, N_states - ! alpha density - ! aos_array_bis = \rho_ao * aos_array - call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_array,1,0.d0,aos_array_bis,1) - dm_a(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) - - ! grad_dm(1) = \sum_i aos_grad_array(i,1) * aos_array_bis(i) - grad_dm_a(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num) - grad_dm_a(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num) - grad_dm_a(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num) - ! aos_grad_array_bis = \rho_ao * aos_grad_array - - ! beta density - call dsymv('U',ao_num,1.d0,one_e_dm_beta_ao_for_dft(1,1,istate),size(one_e_dm_beta_ao_for_dft,1),aos_array,1,0.d0,aos_array_bis,1) - dm_b(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) - - ! grad_dm(1) = \sum_i aos_grad_array(i,1) * aos_array_bis(i) - grad_dm_b(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num) - grad_dm_b(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num) - grad_dm_b(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num) - ! aos_grad_array_bis = \rho_ao * aos_grad_array - enddo - grad_dm_a *= 2.d0 - grad_dm_b *= 2.d0 - end - - - - subroutine density_and_grad_lapl_alpha_beta_and_all_aos_and_grad_aos_at_r(r,dm_a,dm_b, grad_dm_a, grad_dm_b, lapl_dm_a, lapl_dm_b, aos_array, grad_aos_array, lapl_aos_array) - implicit none - BEGIN_DOC -! input: -! -! * r(1) ==> r(1) = x, r(2) = y, r(3) = z -! -! output: -! -! * dm_a = alpha density evaluated at r -! * dm_b = beta density evaluated at r -! * aos_array(i) = ao(i) evaluated at r -! * grad_dm_a(1) = X gradient of the alpha density evaluated in r -! * grad_dm_a(1) = X gradient of the beta density evaluated in r -! * grad_aos_array(1) = X gradient of the aos(i) evaluated at r -! - END_DOC - double precision, intent(in) :: r(3) - double precision, intent(out) :: dm_a(N_states),dm_b(N_states) - double precision, intent(out) :: grad_dm_a(3,N_states),grad_dm_b(3,N_states) - double precision, intent(out) :: lapl_dm_a(3,N_states),lapl_dm_b(3,N_states) - double precision, intent(out) :: grad_aos_array(3,ao_num) - double precision, intent(out) :: lapl_aos_array(3,ao_num) - integer :: i,j,istate - double precision :: aos_array(ao_num),aos_array_bis(ao_num),u_dot_v - double precision :: aos_grad_array(ao_num,3), aos_grad_array_bis(ao_num,3) - double precision :: aos_lapl_array(ao_num,3) - - call give_all_aos_and_grad_and_lapl_at_r(r,aos_array,grad_aos_array,lapl_aos_array) - do i = 1, ao_num - do j = 1, 3 - aos_grad_array(i,j) = grad_aos_array(j,i) - aos_lapl_array(i,j) = lapl_aos_array(j,i) - enddo - enddo - - do istate = 1, N_states - ! alpha density - ! aos_array_bis = \rho_ao * aos_array - call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_array,1,0.d0,aos_array_bis,1) - dm_a(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) - - ! grad_dm(1) = \sum_i aos_grad_array(i,1) * aos_array_bis(i) - grad_dm_a(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num) - grad_dm_a(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num) - grad_dm_a(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num) - - ! lapl_dm(1) = \sum_i aos_lapl_array(i,1) * aos_array_bis(i) - lapl_dm_a(1,istate) = 2.d0 * u_dot_v(aos_lapl_array(1,1),aos_array_bis,ao_num) - lapl_dm_a(2,istate) = 2.d0 * u_dot_v(aos_lapl_array(1,2),aos_array_bis,ao_num) - lapl_dm_a(3,istate) = 2.d0 * u_dot_v(aos_lapl_array(1,3),aos_array_bis,ao_num) - - ! aos_grad_array_bis(1) = \rho_ao * aos_grad_array(1) - call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_grad_array(1,1),1,0.d0,aos_grad_array_bis(1,1),1) - call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_grad_array(1,2),1,0.d0,aos_grad_array_bis(1,2),1) - call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_grad_array(1,3),1,0.d0,aos_grad_array_bis(1,3),1) - ! lapl_dm(1) += \sum_i aos_grad_array(i,1) * aos_grad_array_bis(i) - lapl_dm_a(1,istate) += 2.d0 * u_dot_v(aos_grad_array(1,1),aos_grad_array_bis,ao_num) - lapl_dm_a(2,istate) += 2.d0 * u_dot_v(aos_grad_array(1,2),aos_grad_array_bis,ao_num) - lapl_dm_a(3,istate) += 2.d0 * u_dot_v(aos_grad_array(1,3),aos_grad_array_bis,ao_num) - - - ! beta density - call dsymv('U',ao_num,1.d0,one_e_dm_beta_ao_for_dft(1,1,istate),size(one_e_dm_beta_ao_for_dft,1),aos_array,1,0.d0,aos_array_bis,1) - dm_b(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) - - ! grad_dm(1) = \sum_i aos_grad_array(i,1) * aos_array_bis(i) - grad_dm_b(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num) - grad_dm_b(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num) - grad_dm_b(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num) - - ! lapl_dm(1) = \sum_i aos_lapl_array(i,1) * aos_array_bis(i) - lapl_dm_b(1,istate) = 2.d0 * u_dot_v(aos_lapl_array(1,1),aos_array_bis,ao_num) - lapl_dm_b(2,istate) = 2.d0 * u_dot_v(aos_lapl_array(1,2),aos_array_bis,ao_num) - lapl_dm_b(3,istate) = 2.d0 * u_dot_v(aos_lapl_array(1,3),aos_array_bis,ao_num) - - ! aos_grad_array_bis(1) = \rho_ao * aos_grad_array(1) - call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_grad_array(1,1),1,0.d0,aos_grad_array_bis(1,1),1) - call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_grad_array(1,2),1,0.d0,aos_grad_array_bis(1,2),1) - call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_grad_array(1,3),1,0.d0,aos_grad_array_bis(1,3),1) - ! lapl_dm(1) += \sum_i aos_grad_array(i,1) * aos_grad_array_bis(i) - lapl_dm_b(1,istate) += 2.d0 * u_dot_v(aos_grad_array(1,1),aos_grad_array_bis,ao_num) - lapl_dm_b(2,istate) += 2.d0 * u_dot_v(aos_grad_array(1,2),aos_grad_array_bis,ao_num) - lapl_dm_b(3,istate) += 2.d0 * u_dot_v(aos_grad_array(1,3),aos_grad_array_bis,ao_num) - enddo - grad_dm_a *= 2.d0 - grad_dm_b *= 2.d0 - - end - - - - -subroutine dm_dft_alpha_beta_no_core_at_r(r,dm_a,dm_b) - implicit none - BEGIN_DOC -! input: r(1) ==> r(1) = x, r(2) = y, r(3) = z -! output : dm_a = alpha density evaluated at r(3) without the core orbitals -! output : dm_b = beta density evaluated at r(3) without the core orbitals - END_DOC - double precision, intent(in) :: r(3) - double precision, intent(out) :: dm_a(N_states),dm_b(N_states) - integer :: istate - double precision :: aos_array(ao_num),aos_array_bis(ao_num),u_dot_v - call give_all_aos_at_r(r,aos_array) - do istate = 1, N_states - aos_array_bis = aos_array - ! alpha density - call dgemv('N',ao_num,ao_num,1.d0,one_e_dm_alpha_ao_for_dft_no_core(1,1,istate),ao_num,aos_array,1,0.d0,aos_array_bis,1) - dm_a(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) - ! beta density - aos_array_bis = aos_array - call dgemv('N',ao_num,ao_num,1.d0,one_e_dm_beta_ao_for_dft_no_core(1,1,istate),ao_num,aos_array,1,0.d0,aos_array_bis,1) - dm_b(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) - enddo -end - - subroutine dens_grad_a_b_no_core_and_aos_grad_aos_at_r(r,dm_a,dm_b, grad_dm_a, grad_dm_b, aos_array, grad_aos_array) - implicit none - BEGIN_DOC -! input: -! -! * r(1) ==> r(1) = x, r(2) = y, r(3) = z -! -! output: -! -! * dm_a = alpha density evaluated at r without the core orbitals -! * dm_b = beta density evaluated at r without the core orbitals -! * aos_array(i) = ao(i) evaluated at r without the core orbitals -! * grad_dm_a(1) = X gradient of the alpha density evaluated in r without the core orbitals -! * grad_dm_a(1) = X gradient of the beta density evaluated in r without the core orbitals -! * grad_aos_array(1) = X gradient of the aos(i) evaluated at r -! - END_DOC - double precision, intent(in) :: r(3) - double precision, intent(out) :: dm_a(N_states),dm_b(N_states) - double precision, intent(out) :: grad_dm_a(3,N_states),grad_dm_b(3,N_states) - double precision, intent(out) :: grad_aos_array(3,ao_num) - integer :: i,j,istate - double precision :: aos_array(ao_num),aos_array_bis(ao_num),u_dot_v - double precision :: aos_grad_array(ao_num,3), aos_grad_array_bis(ao_num,3) - - call give_all_aos_and_grad_at_r(r,aos_array,grad_aos_array) - do i = 1, ao_num - do j = 1, 3 - aos_grad_array(i,j) = grad_aos_array(j,i) - enddo - enddo - - do istate = 1, N_states - ! alpha density - ! aos_array_bis = \rho_ao * aos_array - call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft_no_core(1,1,istate),size(one_e_dm_alpha_ao_for_dft_no_core,1),aos_array,1,0.d0,aos_array_bis,1) - dm_a(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) - - ! grad_dm(1) = \sum_i aos_grad_array(i,1) * aos_array_bis(i) - grad_dm_a(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num) - grad_dm_a(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num) - grad_dm_a(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num) - ! aos_grad_array_bis = \rho_ao * aos_grad_array - - ! beta density - call dsymv('U',ao_num,1.d0,one_e_dm_beta_ao_for_dft_no_core(1,1,istate),size(one_e_dm_beta_ao_for_dft_no_core,1),aos_array,1,0.d0,aos_array_bis,1) - dm_b(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) - - ! grad_dm(1) = \sum_i aos_grad_array(i,1) * aos_array_bis(i) - grad_dm_b(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num) - grad_dm_b(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num) - grad_dm_b(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num) - ! aos_grad_array_bis = \rho_ao * aos_grad_array - enddo - grad_dm_a *= 2.d0 - grad_dm_b *= 2.d0 - end - - - BEGIN_PROVIDER [double precision, one_e_dm_alpha_in_r, (n_points_integration_angular,n_points_radial_grid,nucl_num,N_states) ] &BEGIN_PROVIDER [double precision, one_e_dm_beta_in_r, (n_points_integration_angular,n_points_radial_grid,nucl_num,N_states) ] implicit none @@ -320,9 +30,7 @@ end END_PROVIDER - BEGIN_PROVIDER [double precision, one_e_dm_alpha_at_r, (n_points_final_grid,N_states) ] -&BEGIN_PROVIDER [double precision, one_e_dm_beta_at_r, (n_points_final_grid,N_states) ] -&BEGIN_PROVIDER [double precision, elec_beta_num_grid_becke , (N_states) ] + BEGIN_PROVIDER [double precision, elec_beta_num_grid_becke , (N_states) ] &BEGIN_PROVIDER [double precision, elec_alpha_num_grid_becke , (N_states) ] implicit none BEGIN_DOC @@ -331,8 +39,7 @@ END_PROVIDER ! where r_i is the ith point of the grid and istate is the state number END_DOC integer :: i,istate - double precision :: r(3) - double precision, allocatable :: dm_a(:),dm_b(:) + double precision :: r(3),weight allocate(dm_a(N_states),dm_b(N_states)) do istate = 1, N_states do i = 1, n_points_final_grid @@ -340,8 +47,10 @@ END_PROVIDER r(2) = final_grid_points(2,i) r(3) = final_grid_points(3,i) call dm_dft_alpha_beta_at_r(r,dm_a,dm_b) - one_e_dm_alpha_at_r(i,istate) = dm_a(istate) - one_e_dm_beta_at_r(i,istate) = dm_b(istate) + weight = final_weight_at_r_vector(i) + + elec_beta_num_grid_becke(istate) += * weight + elec_alpha_num_grid_becke(istate) += * weight enddo enddo @@ -353,12 +62,20 @@ END_PROVIDER &BEGIN_PROVIDER [double precision, one_e_grad_2_dm_alpha_at_r, (n_points_final_grid,N_states) ] &BEGIN_PROVIDER [double precision, one_e_grad_2_dm_beta_at_r, (n_points_final_grid,N_states) ] &BEGIN_PROVIDER [double precision, one_e_grad_dm_squared_at_r, (3,n_points_final_grid,N_states) ] +&BEGIN_PROVIDER [double precision, scal_prod_grad_one_e_dm_ab, (3,n_points_final_grid,N_states) ] BEGIN_DOC ! one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) +! ! one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) +! ! one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) +! ! one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) +! ! one_e_grad_2_dm_alpha_at_r(i,istate) = (d\dx n_alpha(r_i,istate))^2 + (d\dy n_alpha(r_i,istate))^2 + (d\dz n_alpha(r_i,istate))^2 +! +! scal_prod_grad_one_e_dm_ab(i,istate) = grad n_alpha(r_i) . grad n_beta(r_i) +! ! where r_i is the ith point of the grid and istate is the state number END_DOC implicit none @@ -374,7 +91,6 @@ END_PROVIDER r(1) = final_grid_points(1,i) r(2) = final_grid_points(2,i) r(3) = final_grid_points(3,i) - !!!! Works also with the ao basis call density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r(r,dm_a,dm_b, dm_a_grad, dm_b_grad, aos_array, grad_aos_array) one_e_dm_and_grad_alpha_in_r(1,i,istate) = dm_a_grad(1,istate) one_e_dm_and_grad_alpha_in_r(2,i,istate) = dm_a_grad(2,istate) @@ -390,48 +106,9 @@ END_PROVIDER one_e_grad_dm_squared_at_r(1,i,istate) = 2.D0 * (dm_a_grad(1,istate) + dm_b_grad(1,istate) ) * (one_e_dm_and_grad_alpha_in_r(4,i,istate) + one_e_dm_and_grad_beta_in_r(4,i,istate)) one_e_grad_dm_squared_at_r(2,i,istate) = 2.D0 * (dm_a_grad(2,istate) + dm_b_grad(2,istate) ) * (one_e_dm_and_grad_alpha_in_r(4,i,istate) + one_e_dm_and_grad_beta_in_r(4,i,istate)) one_e_grad_dm_squared_at_r(3,i,istate) = 2.D0 * (dm_a_grad(3,istate) + dm_b_grad(3,istate) ) * (one_e_dm_and_grad_alpha_in_r(4,i,istate) + one_e_dm_and_grad_beta_in_r(4,i,istate)) + scal_prod_grad_one_e_dm_ab(i,istate) = dm_a_grad(1,istate) * dm_b_grad(1,istate) + dm_a_grad(2,istate) * dm_b_grad(2,istate) + dm_a_grad(3,istate) * dm_b_grad(3,istate) enddo enddo END_PROVIDER - - BEGIN_PROVIDER [double precision, one_e_dm_no_core_and_grad_alpha_in_r, (4,n_points_final_grid,N_states) ] -&BEGIN_PROVIDER [double precision, one_e_dm_no_core_and_grad_beta_in_r, (4,n_points_final_grid,N_states) ] - BEGIN_DOC -! one_e_dm_no_core_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) without core orbitals -! one_e_dm_no_core_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) without core orbitals -! one_e_dm_no_core_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) without core orbitals -! one_e_dm_no_core_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) without core orbitals -! where r_i is the ith point of the grid and istate is the state number - END_DOC - implicit none - integer :: i,j,k,l,m,istate - double precision :: contrib - double precision :: r(3) - double precision, allocatable :: aos_array(:),grad_aos_array(:,:) - double precision, allocatable :: dm_a(:),dm_b(:), dm_a_grad(:,:), dm_b_grad(:,:) - allocate(dm_a(N_states),dm_b(N_states), dm_a_grad(3,N_states), dm_b_grad(3,N_states)) - allocate(aos_array(ao_num),grad_aos_array(3,ao_num)) - do istate = 1, N_states - do i = 1, n_points_final_grid - r(1) = final_grid_points(1,i) - r(2) = final_grid_points(2,i) - r(3) = final_grid_points(3,i) - !!!! Works also with the ao basis - call dens_grad_a_b_no_core_and_aos_grad_aos_at_r(r,dm_a,dm_b, dm_a_grad, dm_b_grad, aos_array, grad_aos_array) - one_e_dm_no_core_and_grad_alpha_in_r(1,i,istate) = dm_a_grad(1,istate) - one_e_dm_no_core_and_grad_alpha_in_r(2,i,istate) = dm_a_grad(2,istate) - one_e_dm_no_core_and_grad_alpha_in_r(3,i,istate) = dm_a_grad(3,istate) - one_e_dm_no_core_and_grad_alpha_in_r(4,i,istate) = dm_a(istate) - - one_e_dm_no_core_and_grad_beta_in_r(1,i,istate) = dm_b_grad(1,istate) - one_e_dm_no_core_and_grad_beta_in_r(2,i,istate) = dm_b_grad(2,istate) - one_e_dm_no_core_and_grad_beta_in_r(3,i,istate) = dm_b_grad(3,istate) - one_e_dm_no_core_and_grad_beta_in_r(4,i,istate) = dm_b(istate) - enddo - enddo - -END_PROVIDER - - diff --git a/src/dft_utils_in_r/dm_in_r_routines.irp.f b/src/dft_utils_in_r/dm_in_r_routines.irp.f new file mode 100644 index 00000000..6fa99e22 --- /dev/null +++ b/src/dft_utils_in_r/dm_in_r_routines.irp.f @@ -0,0 +1,290 @@ + +subroutine dm_dft_alpha_beta_at_r(r,dm_a,dm_b) + implicit none + BEGIN_DOC +! input: r(1) ==> r(1) = x, r(2) = y, r(3) = z +! output : dm_a = alpha density evaluated at r(3) +! output : dm_b = beta density evaluated at r(3) + END_DOC + double precision, intent(in) :: r(3) + double precision, intent(out) :: dm_a(N_states),dm_b(N_states) + integer :: istate + double precision :: aos_array(ao_num),aos_array_bis(ao_num),u_dot_v + call give_all_aos_at_r(r,aos_array) + do istate = 1, N_states + aos_array_bis = aos_array + ! alpha density + call dgemv('N',ao_num,ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),ao_num,aos_array,1,0.d0,aos_array_bis,1) + dm_a(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) + ! beta density + aos_array_bis = aos_array + call dgemv('N',ao_num,ao_num,1.d0,one_e_dm_beta_ao_for_dft(1,1,istate),ao_num,aos_array,1,0.d0,aos_array_bis,1) + dm_b(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) + enddo +end + + +subroutine dm_dft_alpha_beta_and_all_aos_at_r(r,dm_a,dm_b,aos_array) + BEGIN_DOC +! input: r(1) ==> r(1) = x, r(2) = y, r(3) = z +! output : dm_a = alpha density evaluated at r +! output : dm_b = beta density evaluated at r +! output : aos_array(i) = ao(i) evaluated at r + END_DOC + implicit none + double precision, intent(in) :: r(3) + double precision, intent(out) :: dm_a(N_states),dm_b(N_states) + double precision, intent(out) :: aos_array(ao_num) + integer :: istate + double precision :: aos_array_bis(ao_num),u_dot_v + call give_all_aos_at_r(r,aos_array) + do istate = 1, N_states + aos_array_bis = aos_array + ! alpha density + call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_array,1,0.d0,aos_array_bis,1) + dm_a(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) + ! beta density + aos_array_bis = aos_array + call dsymv('U',ao_num,1.d0,one_e_dm_beta_ao_for_dft(1,1,istate),size(one_e_dm_beta_ao_for_dft,1),aos_array,1,0.d0,aos_array_bis,1) + dm_b(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) + enddo +end + + + + subroutine density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r(r,dm_a,dm_b, grad_dm_a, grad_dm_b, aos_array, grad_aos_array) + implicit none + BEGIN_DOC +! input: +! +! * r(1) ==> r(1) = x, r(2) = y, r(3) = z +! +! output: +! +! * dm_a = alpha density evaluated at r +! * dm_b = beta density evaluated at r +! * aos_array(i) = ao(i) evaluated at r +! * grad_dm_a(1) = X gradient of the alpha density evaluated in r +! * grad_dm_a(1) = X gradient of the beta density evaluated in r +! * grad_aos_array(1) = X gradient of the aos(i) evaluated at r +! + END_DOC + double precision, intent(in) :: r(3) + double precision, intent(out) :: dm_a(N_states),dm_b(N_states) + double precision, intent(out) :: grad_dm_a(3,N_states),grad_dm_b(3,N_states) + double precision, intent(out) :: grad_aos_array(3,ao_num) + integer :: i,j,istate + double precision :: aos_array(ao_num),aos_array_bis(ao_num),u_dot_v + double precision :: aos_grad_array(ao_num,3), aos_grad_array_bis(ao_num,3) + + call give_all_aos_and_grad_at_r(r,aos_array,grad_aos_array) + do i = 1, ao_num + do j = 1, 3 + aos_grad_array(i,j) = grad_aos_array(j,i) + enddo + enddo + + do istate = 1, N_states + ! alpha density + ! aos_array_bis = \rho_ao * aos_array + call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_array,1,0.d0,aos_array_bis,1) + dm_a(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) + + ! grad_dm(1) = \sum_i aos_grad_array(i,1) * aos_array_bis(i) + grad_dm_a(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num) + grad_dm_a(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num) + grad_dm_a(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num) + ! aos_grad_array_bis = \rho_ao * aos_grad_array + + ! beta density + call dsymv('U',ao_num,1.d0,one_e_dm_beta_ao_for_dft(1,1,istate),size(one_e_dm_beta_ao_for_dft,1),aos_array,1,0.d0,aos_array_bis,1) + dm_b(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) + + ! grad_dm(1) = \sum_i aos_grad_array(i,1) * aos_array_bis(i) + grad_dm_b(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num) + grad_dm_b(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num) + grad_dm_b(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num) + ! aos_grad_array_bis = \rho_ao * aos_grad_array + enddo + grad_dm_a *= 2.d0 + grad_dm_b *= 2.d0 + end + + + + subroutine density_and_grad_lapl_alpha_beta_and_all_aos_and_grad_aos_at_r(r,dm_a,dm_b, grad_dm_a, grad_dm_b, lapl_dm_a, lapl_dm_b, aos_array, grad_aos_array, lapl_aos_array) + implicit none + BEGIN_DOC +! input: +! +! * r(1) ==> r(1) = x, r(2) = y, r(3) = z +! +! output: +! +! * dm_a = alpha density evaluated at r +! * dm_b = beta density evaluated at r +! * aos_array(i) = ao(i) evaluated at r +! * grad_dm_a(1) = X gradient of the alpha density evaluated in r +! * grad_dm_a(1) = X gradient of the beta density evaluated in r +! * grad_aos_array(1) = X gradient of the aos(i) evaluated at r +! + END_DOC + double precision, intent(in) :: r(3) + double precision, intent(out) :: dm_a(N_states),dm_b(N_states) + double precision, intent(out) :: grad_dm_a(3,N_states),grad_dm_b(3,N_states) + double precision, intent(out) :: lapl_dm_a(3,N_states),lapl_dm_b(3,N_states) + double precision, intent(out) :: grad_aos_array(3,ao_num) + double precision, intent(out) :: lapl_aos_array(3,ao_num) + integer :: i,j,istate + double precision :: aos_array(ao_num),aos_array_bis(ao_num),u_dot_v + double precision :: aos_grad_array(ao_num,3), aos_grad_array_bis(ao_num,3) + double precision :: aos_lapl_array(ao_num,3) + + call give_all_aos_and_grad_and_lapl_at_r(r,aos_array,grad_aos_array,lapl_aos_array) + do i = 1, ao_num + do j = 1, 3 + aos_grad_array(i,j) = grad_aos_array(j,i) + aos_lapl_array(i,j) = lapl_aos_array(j,i) + enddo + enddo + + do istate = 1, N_states + ! alpha density + ! aos_array_bis = \rho_ao * aos_array + call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_array,1,0.d0,aos_array_bis,1) + dm_a(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) + + ! grad_dm(1) = \sum_i aos_grad_array(i,1) * aos_array_bis(i) + grad_dm_a(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num) + grad_dm_a(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num) + grad_dm_a(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num) + + ! lapl_dm(1) = \sum_i aos_lapl_array(i,1) * aos_array_bis(i) + lapl_dm_a(1,istate) = 2.d0 * u_dot_v(aos_lapl_array(1,1),aos_array_bis,ao_num) + lapl_dm_a(2,istate) = 2.d0 * u_dot_v(aos_lapl_array(1,2),aos_array_bis,ao_num) + lapl_dm_a(3,istate) = 2.d0 * u_dot_v(aos_lapl_array(1,3),aos_array_bis,ao_num) + + ! aos_grad_array_bis(1) = \rho_ao * aos_grad_array(1) + call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_grad_array(1,1),1,0.d0,aos_grad_array_bis(1,1),1) + call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_grad_array(1,2),1,0.d0,aos_grad_array_bis(1,2),1) + call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_grad_array(1,3),1,0.d0,aos_grad_array_bis(1,3),1) + ! lapl_dm(1) += \sum_i aos_grad_array(i,1) * aos_grad_array_bis(i) + lapl_dm_a(1,istate) += 2.d0 * u_dot_v(aos_grad_array(1,1),aos_grad_array_bis,ao_num) + lapl_dm_a(2,istate) += 2.d0 * u_dot_v(aos_grad_array(1,2),aos_grad_array_bis,ao_num) + lapl_dm_a(3,istate) += 2.d0 * u_dot_v(aos_grad_array(1,3),aos_grad_array_bis,ao_num) + + + ! beta density + call dsymv('U',ao_num,1.d0,one_e_dm_beta_ao_for_dft(1,1,istate),size(one_e_dm_beta_ao_for_dft,1),aos_array,1,0.d0,aos_array_bis,1) + dm_b(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) + + ! grad_dm(1) = \sum_i aos_grad_array(i,1) * aos_array_bis(i) + grad_dm_b(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num) + grad_dm_b(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num) + grad_dm_b(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num) + + ! lapl_dm(1) = \sum_i aos_lapl_array(i,1) * aos_array_bis(i) + lapl_dm_b(1,istate) = 2.d0 * u_dot_v(aos_lapl_array(1,1),aos_array_bis,ao_num) + lapl_dm_b(2,istate) = 2.d0 * u_dot_v(aos_lapl_array(1,2),aos_array_bis,ao_num) + lapl_dm_b(3,istate) = 2.d0 * u_dot_v(aos_lapl_array(1,3),aos_array_bis,ao_num) + + ! aos_grad_array_bis(1) = \rho_ao * aos_grad_array(1) + call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_grad_array(1,1),1,0.d0,aos_grad_array_bis(1,1),1) + call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_grad_array(1,2),1,0.d0,aos_grad_array_bis(1,2),1) + call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft(1,1,istate),size(one_e_dm_alpha_ao_for_dft,1),aos_grad_array(1,3),1,0.d0,aos_grad_array_bis(1,3),1) + ! lapl_dm(1) += \sum_i aos_grad_array(i,1) * aos_grad_array_bis(i) + lapl_dm_b(1,istate) += 2.d0 * u_dot_v(aos_grad_array(1,1),aos_grad_array_bis,ao_num) + lapl_dm_b(2,istate) += 2.d0 * u_dot_v(aos_grad_array(1,2),aos_grad_array_bis,ao_num) + lapl_dm_b(3,istate) += 2.d0 * u_dot_v(aos_grad_array(1,3),aos_grad_array_bis,ao_num) + enddo + grad_dm_a *= 2.d0 + grad_dm_b *= 2.d0 + + end + + + + +subroutine dm_dft_alpha_beta_no_core_at_r(r,dm_a,dm_b) + implicit none + BEGIN_DOC +! input: r(1) ==> r(1) = x, r(2) = y, r(3) = z +! output : dm_a = alpha density evaluated at r(3) without the core orbitals +! output : dm_b = beta density evaluated at r(3) without the core orbitals + END_DOC + double precision, intent(in) :: r(3) + double precision, intent(out) :: dm_a(N_states),dm_b(N_states) + integer :: istate + double precision :: aos_array(ao_num),aos_array_bis(ao_num),u_dot_v + call give_all_aos_at_r(r,aos_array) + do istate = 1, N_states + aos_array_bis = aos_array + ! alpha density + call dgemv('N',ao_num,ao_num,1.d0,one_e_dm_alpha_ao_for_dft_no_core(1,1,istate),ao_num,aos_array,1,0.d0,aos_array_bis,1) + dm_a(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) + ! beta density + aos_array_bis = aos_array + call dgemv('N',ao_num,ao_num,1.d0,one_e_dm_beta_ao_for_dft_no_core(1,1,istate),ao_num,aos_array,1,0.d0,aos_array_bis,1) + dm_b(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) + enddo +end + + subroutine dens_grad_a_b_no_core_and_aos_grad_aos_at_r(r,dm_a,dm_b, grad_dm_a, grad_dm_b, aos_array, grad_aos_array) + implicit none + BEGIN_DOC +! input: +! +! * r(1) ==> r(1) = x, r(2) = y, r(3) = z +! +! output: +! +! * dm_a = alpha density evaluated at r without the core orbitals +! * dm_b = beta density evaluated at r without the core orbitals +! * aos_array(i) = ao(i) evaluated at r without the core orbitals +! * grad_dm_a(1) = X gradient of the alpha density evaluated in r without the core orbitals +! * grad_dm_a(1) = X gradient of the beta density evaluated in r without the core orbitals +! * grad_aos_array(1) = X gradient of the aos(i) evaluated at r +! + END_DOC + double precision, intent(in) :: r(3) + double precision, intent(out) :: dm_a(N_states),dm_b(N_states) + double precision, intent(out) :: grad_dm_a(3,N_states),grad_dm_b(3,N_states) + double precision, intent(out) :: grad_aos_array(3,ao_num) + integer :: i,j,istate + double precision :: aos_array(ao_num),aos_array_bis(ao_num),u_dot_v + double precision :: aos_grad_array(ao_num,3), aos_grad_array_bis(ao_num,3) + + call give_all_aos_and_grad_at_r(r,aos_array,grad_aos_array) + do i = 1, ao_num + do j = 1, 3 + aos_grad_array(i,j) = grad_aos_array(j,i) + enddo + enddo + + do istate = 1, N_states + ! alpha density + ! aos_array_bis = \rho_ao * aos_array + call dsymv('U',ao_num,1.d0,one_e_dm_alpha_ao_for_dft_no_core(1,1,istate),size(one_e_dm_alpha_ao_for_dft_no_core,1),aos_array,1,0.d0,aos_array_bis,1) + dm_a(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) + + ! grad_dm(1) = \sum_i aos_grad_array(i,1) * aos_array_bis(i) + grad_dm_a(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num) + grad_dm_a(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num) + grad_dm_a(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num) + ! aos_grad_array_bis = \rho_ao * aos_grad_array + + ! beta density + call dsymv('U',ao_num,1.d0,one_e_dm_beta_ao_for_dft_no_core(1,1,istate),size(one_e_dm_beta_ao_for_dft_no_core,1),aos_array,1,0.d0,aos_array_bis,1) + dm_b(istate) = u_dot_v(aos_array,aos_array_bis,ao_num) + + ! grad_dm(1) = \sum_i aos_grad_array(i,1) * aos_array_bis(i) + grad_dm_b(1,istate) = u_dot_v(aos_grad_array(1,1),aos_array_bis,ao_num) + grad_dm_b(2,istate) = u_dot_v(aos_grad_array(1,2),aos_array_bis,ao_num) + grad_dm_b(3,istate) = u_dot_v(aos_grad_array(1,3),aos_array_bis,ao_num) + ! aos_grad_array_bis = \rho_ao * aos_grad_array + enddo + grad_dm_a *= 2.d0 + grad_dm_b *= 2.d0 + end + + From 50123076a05088a48aa07cb577d81f5f386248dc Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Mon, 23 Mar 2020 01:19:30 +0100 Subject: [PATCH 034/138] cleaning and renamed a lot of stuffs in dft and density matrices --- src/dft_utils_in_r/dm_in_r.irp.f | 46 ++++++++++++++++++++++---------- src/dft_utils_one_e/sr_exc.irp.f | 4 +-- src/functionals/lda.irp.f | 16 +++++------ src/functionals/sr_lda.irp.f | 16 +++++------ 4 files changed, 50 insertions(+), 32 deletions(-) diff --git a/src/dft_utils_in_r/dm_in_r.irp.f b/src/dft_utils_in_r/dm_in_r.irp.f index f043a70e..c7ede35d 100644 --- a/src/dft_utils_in_r/dm_in_r.irp.f +++ b/src/dft_utils_in_r/dm_in_r.irp.f @@ -40,17 +40,15 @@ END_PROVIDER END_DOC integer :: i,istate double precision :: r(3),weight - allocate(dm_a(N_states),dm_b(N_states)) do istate = 1, N_states do i = 1, n_points_final_grid r(1) = final_grid_points(1,i) r(2) = final_grid_points(2,i) r(3) = final_grid_points(3,i) - call dm_dft_alpha_beta_at_r(r,dm_a,dm_b) weight = final_weight_at_r_vector(i) - elec_beta_num_grid_becke(istate) += * weight - elec_alpha_num_grid_becke(istate) += * weight + elec_alpha_num_grid_becke(istate) += one_e_dm_and_grad_alpha_in_r(4,i,istate) * weight + elec_beta_num_grid_becke(istate) += one_e_dm_and_grad_beta_in_r(4,i,istate) * weight enddo enddo @@ -61,8 +59,8 @@ END_PROVIDER &BEGIN_PROVIDER [double precision, one_e_dm_and_grad_beta_in_r, (4,n_points_final_grid,N_states) ] &BEGIN_PROVIDER [double precision, one_e_grad_2_dm_alpha_at_r, (n_points_final_grid,N_states) ] &BEGIN_PROVIDER [double precision, one_e_grad_2_dm_beta_at_r, (n_points_final_grid,N_states) ] -&BEGIN_PROVIDER [double precision, one_e_grad_dm_squared_at_r, (3,n_points_final_grid,N_states) ] -&BEGIN_PROVIDER [double precision, scal_prod_grad_one_e_dm_ab, (3,n_points_final_grid,N_states) ] +&BEGIN_PROVIDER [double precision, scal_prod_grad_one_e_dm_ab, (n_points_final_grid,N_states) ] +&BEGIN_PROVIDER [double precision, one_e_stuff_for_pbe, (3,n_points_final_grid,N_states) ] BEGIN_DOC ! one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) ! @@ -91,22 +89,42 @@ END_PROVIDER r(1) = final_grid_points(1,i) r(2) = final_grid_points(2,i) r(3) = final_grid_points(3,i) + call density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r(r,dm_a,dm_b, dm_a_grad, dm_b_grad, aos_array, grad_aos_array) + + ! alpha/beta density + one_e_dm_and_grad_alpha_in_r(4,i,istate) = dm_a(istate) + one_e_dm_and_grad_beta_in_r(4,i,istate) = dm_b(istate) + + ! alpha/beta density gradients one_e_dm_and_grad_alpha_in_r(1,i,istate) = dm_a_grad(1,istate) one_e_dm_and_grad_alpha_in_r(2,i,istate) = dm_a_grad(2,istate) one_e_dm_and_grad_alpha_in_r(3,i,istate) = dm_a_grad(3,istate) - one_e_dm_and_grad_alpha_in_r(4,i,istate) = dm_a(istate) - one_e_grad_2_dm_alpha_at_r(i,istate) = dm_a_grad(1,istate) * dm_a_grad(1,istate) + dm_a_grad(2,istate) * dm_a_grad(2,istate) + dm_a_grad(3,istate) * dm_a_grad(3,istate) one_e_dm_and_grad_beta_in_r(1,i,istate) = dm_b_grad(1,istate) one_e_dm_and_grad_beta_in_r(2,i,istate) = dm_b_grad(2,istate) one_e_dm_and_grad_beta_in_r(3,i,istate) = dm_b_grad(3,istate) - one_e_dm_and_grad_beta_in_r(4,i,istate) = dm_b(istate) - one_e_grad_2_dm_beta_at_r(i,istate) = dm_b_grad(1,istate) * dm_b_grad(1,istate) + dm_b_grad(2,istate) * dm_b_grad(2,istate) + dm_b_grad(3,istate) * dm_b_grad(3,istate) - one_e_grad_dm_squared_at_r(1,i,istate) = 2.D0 * (dm_a_grad(1,istate) + dm_b_grad(1,istate) ) * (one_e_dm_and_grad_alpha_in_r(4,i,istate) + one_e_dm_and_grad_beta_in_r(4,i,istate)) - one_e_grad_dm_squared_at_r(2,i,istate) = 2.D0 * (dm_a_grad(2,istate) + dm_b_grad(2,istate) ) * (one_e_dm_and_grad_alpha_in_r(4,i,istate) + one_e_dm_and_grad_beta_in_r(4,i,istate)) - one_e_grad_dm_squared_at_r(3,i,istate) = 2.D0 * (dm_a_grad(3,istate) + dm_b_grad(3,istate) ) * (one_e_dm_and_grad_alpha_in_r(4,i,istate) + one_e_dm_and_grad_beta_in_r(4,i,istate)) - scal_prod_grad_one_e_dm_ab(i,istate) = dm_a_grad(1,istate) * dm_b_grad(1,istate) + dm_a_grad(2,istate) * dm_b_grad(2,istate) + dm_a_grad(3,istate) * dm_b_grad(3,istate) + + ! alpha/beta squared of the gradients + one_e_grad_2_dm_alpha_at_r(i,istate) = dm_a_grad(1,istate) * dm_a_grad(1,istate) & + + dm_a_grad(2,istate) * dm_a_grad(2,istate) & + + dm_a_grad(3,istate) * dm_a_grad(3,istate) + one_e_grad_2_dm_beta_at_r(i,istate) = dm_b_grad(1,istate) * dm_b_grad(1,istate) & + + dm_b_grad(2,istate) * dm_b_grad(2,istate) & + + dm_b_grad(3,istate) * dm_b_grad(3,istate) + + ! scalar product between alpha and beta density gradient + scal_prod_grad_one_e_dm_ab(i,istate) = dm_a_grad(1,istate) * dm_b_grad(1,istate) & + + dm_a_grad(2,istate) * dm_b_grad(2,istate) & + + dm_a_grad(3,istate) * dm_b_grad(3,istate) + + ! some stuffs needed for GGA type potentials + one_e_stuff_for_pbe(1,i,istate) = 2.D0 * (dm_a_grad(1,istate) + dm_b_grad(1,istate) ) & + * (dm_a(istate) + dm_b(istate)) + one_e_stuff_for_pbe(2,i,istate) = 2.D0 * (dm_a_grad(2,istate) + dm_b_grad(2,istate) ) & + * (dm_a(istate) + dm_b(istate)) + one_e_stuff_for_pbe(3,i,istate) = 2.D0 * (dm_a_grad(3,istate) + dm_b_grad(3,istate) ) & + * (dm_a(istate) + dm_b(istate)) enddo enddo diff --git a/src/dft_utils_one_e/sr_exc.irp.f b/src/dft_utils_one_e/sr_exc.irp.f index 3c5a6db5..c6bfcd09 100644 --- a/src/dft_utils_one_e/sr_exc.irp.f +++ b/src/dft_utils_one_e/sr_exc.irp.f @@ -20,8 +20,8 @@ r(2) = final_grid_points(2,i) r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) - rhoa(istate) = one_e_dm_alpha_at_r(i,istate) - rhob(istate) = one_e_dm_beta_at_r(i,istate) + rhoa(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) + rhob(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) call ec_lda_sr(mu_erf_dft,rhoa(istate),rhob(istate),e_c,vc_a,vc_b) call ex_lda_sr(mu_erf_dft,rhoa(istate),rhob(istate),e_x,vx_a,vx_b) energy_sr_x_lda(istate) += weight * e_x diff --git a/src/functionals/lda.irp.f b/src/functionals/lda.irp.f index 73bb8e5c..ef935d9b 100644 --- a/src/functionals/lda.irp.f +++ b/src/functionals/lda.irp.f @@ -19,8 +19,8 @@ r(2) = final_grid_points(2,i) r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) - rhoa(istate) = one_e_dm_alpha_at_r(i,istate) - rhob(istate) = one_e_dm_beta_at_r(i,istate) + rhoa(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) + rhob(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) call ex_lda(rhoa(istate),rhob(istate),e_x,vx_a,vx_b) energy_x_lda(istate) += weight * e_x enddo @@ -46,8 +46,8 @@ r(2) = final_grid_points(2,i) r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) - rhoa(istate) = one_e_dm_alpha_at_r(i,istate) - rhob(istate) = one_e_dm_beta_at_r(i,istate) + rhoa(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) + rhob(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) call ec_lda(rhoa(istate),rhob(istate),e_c,vc_a,vc_b) energy_c_lda(istate) += weight * e_c enddo @@ -142,8 +142,8 @@ END_PROVIDER r(2) = final_grid_points(2,i) r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) - rhoa(istate) = one_e_dm_alpha_at_r(i,istate) - rhob(istate) = one_e_dm_beta_at_r(i,istate) + rhoa(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) + rhob(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) call ec_lda_sr(mu_local,rhoa(istate),rhob(istate),e_c,vc_a,vc_b) call ex_lda_sr(mu_local,rhoa(istate),rhob(istate),e_x,vx_a,vx_b) do j =1, ao_num @@ -181,8 +181,8 @@ END_PROVIDER r(2) = final_grid_points(2,i) r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) - rhoa(istate) = one_e_dm_alpha_at_r(i,istate) - rhob(istate) = one_e_dm_beta_at_r(i,istate) + rhoa(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) + rhob(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) call ec_lda_sr(mu_local,rhoa(istate),rhob(istate),e_c,vc_a,vc_b) call ex_lda_sr(mu_local,rhoa(istate),rhob(istate),e_x,vx_a,vx_b) do j =1, ao_num diff --git a/src/functionals/sr_lda.irp.f b/src/functionals/sr_lda.irp.f index 0e009542..965a744c 100644 --- a/src/functionals/sr_lda.irp.f +++ b/src/functionals/sr_lda.irp.f @@ -19,8 +19,8 @@ r(2) = final_grid_points(2,i) r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) - rhoa(istate) = one_e_dm_alpha_at_r(i,istate) - rhob(istate) = one_e_dm_beta_at_r(i,istate) + rhoa(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) + rhob(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) call ex_lda_sr(mu_erf_dft,rhoa(istate),rhob(istate),e_x,vx_a,vx_b) energy_x_sr_lda(istate) += weight * e_x enddo @@ -46,8 +46,8 @@ r(2) = final_grid_points(2,i) r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) - rhoa(istate) = one_e_dm_alpha_at_r(i,istate) - rhob(istate) = one_e_dm_beta_at_r(i,istate) + rhoa(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) + rhob(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) call ec_lda_sr(mu_erf_dft,rhoa(istate),rhob(istate),e_c,vc_a,vc_b) energy_c_sr_lda(istate) += weight * e_c enddo @@ -120,8 +120,8 @@ END_PROVIDER r(2) = final_grid_points(2,i) r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) - rhoa(istate) = one_e_dm_alpha_at_r(i,istate) - rhob(istate) = one_e_dm_beta_at_r(i,istate) + rhoa(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) + rhob(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) call ec_lda_sr(mu_erf_dft,rhoa(istate),rhob(istate),e_c,sr_vc_a,sr_vc_b) call ex_lda_sr(mu_erf_dft,rhoa(istate),rhob(istate),e_x,sr_vx_a,sr_vx_b) do j =1, ao_num @@ -156,8 +156,8 @@ END_PROVIDER r(2) = final_grid_points(2,i) r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) - rhoa(istate) = one_e_dm_alpha_at_r(i,istate) - rhob(istate) = one_e_dm_beta_at_r(i,istate) + rhoa(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) + rhob(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) call ec_lda_sr(mu_local,rhoa(istate),rhob(istate),e_c,sr_vc_a,sr_vc_b) call ex_lda_sr(mu_local,rhoa(istate),rhob(istate),e_x,sr_vx_a,sr_vx_b) do j =1, ao_num From 5b22246674364d9c298d7eb521e15dfb2c15ac77 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 24 Mar 2020 09:04:42 +0100 Subject: [PATCH 035/138] fixed REPLACE file --- REPLACE | 2 -- 1 file changed, 2 deletions(-) diff --git a/REPLACE b/REPLACE index 7de66ba6..98045d4f 100755 --- a/REPLACE +++ b/REPLACE @@ -221,13 +221,11 @@ qp_name potential_sr_xc_beta_ao_lda --rename=potential_xc_beta_ao_sr_lda qp_name potential_sr_xc_beta_ao_lda --rename=potential_xc_beta_ao_sr_lda qp_name potential_sr_xc_beta_ao_pbe --rename=potential_xc_beta_ao_sr_pbe qp_name potential_sr_xc_beta_ao_pbe --rename=potential_xc_beta_ao_sr_pbe -<<<<<<< HEAD qp_name disk_access_nuclear_repulsion --rename=io_nuclear_repulsion qp_name nucl_elec_ref_bitmask_energy -r ref_bitmask_n_e_energy qp_name ref_bitmask_e_n_energy -r ref_bitmask_n_e_energy qp_name read_ao_integrals_e_n -r read_ao_integrals_n_e qp_name write_ao_integrals_e_n -r write_ao_integrals_n_e -======= qp_name psi_energy_bielec -r psi_energy_two_e qp_name read_ao_integrals --rename="read_ao_two_e_integrals" qp_name read_ao_integrals --rename=read_ao_two_e_integrals From 82e184c516f035c02f7049bc77b976e9aad0286a Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 24 Mar 2020 09:09:54 +0100 Subject: [PATCH 036/138] Rename e_n - n_e --- REPLACE | 9 +++++++++ src/mo_one_e_ints/EZFIO.cfg | 4 ++-- src/mo_one_e_ints/pot_mo_ints.irp.f | 8 ++++---- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/REPLACE b/REPLACE index 98045d4f..9485fb2a 100755 --- a/REPLACE +++ b/REPLACE @@ -244,3 +244,12 @@ qp_name write_ao_integrals --rename=write_ao_two_e_integrals qp_name write_mo_integrals_erf -r write_mo_two_e_integrals_erf qp_name write_mo_integrals --rename="write_mo_two_e_integrals" qp_name write_mo_integrals --rename=write_mo_two_e_integrals +qp_name io_mo_integrals_e_n -r io_mo_integrals_n_e +qp_name write_mo_integrals_e_n -r write_mo_integrals_n_e +qp_name read_mo_integrals_e_n -r read_mo_integrals_n_e +qp_name mo_integrals_e_n -r mo_integrals_n_e +qp_name ezfio_get_mo_one_e_ints_mo_integrals_e_n -r ezfio_get_mo_one_e_ints_mo_integrals_n_e +qp_name ezfio_set_mo_one_e_ints_mo_integrals_e_n -r ezfio_set_mo_one_e_ints_mo_integrals_n_e +qp_name ezfio_has_mo_one_e_ints_mo_integrals_e_n -r ezfio_has_mo_one_e_ints_mo_integrals_n_e +qp_name ezfio_has_mo_one_e_ints_io_mo_integrals_e_n -r ezfio_has_mo_one_e_ints_io_mo_integrals_n_e +qp_name ezfio_get_mo_one_e_ints_io_mo_integrals_e_n -r ezfio_get_mo_one_e_ints_io_mo_integrals_n_e diff --git a/src/mo_one_e_ints/EZFIO.cfg b/src/mo_one_e_ints/EZFIO.cfg index 79a3b351..1cb77b6e 100644 --- a/src/mo_one_e_ints/EZFIO.cfg +++ b/src/mo_one_e_ints/EZFIO.cfg @@ -1,10 +1,10 @@ -[mo_integrals_e_n] +[mo_integrals_n_e] type: double precision doc: Nucleus-electron integrals in |MO| basis set size: (mo_basis.mo_num,mo_basis.mo_num) interface: ezfio -[io_mo_integrals_e_n] +[io_mo_integrals_n_e] type: Disk_access doc: Read/Write |MO| electron-nucleus attraction integrals from/to disk [ Write | Read | None ] interface: ezfio,provider,ocaml diff --git a/src/mo_one_e_ints/pot_mo_ints.irp.f b/src/mo_one_e_ints/pot_mo_ints.irp.f index 90f7b06c..5cf4febd 100644 --- a/src/mo_one_e_ints/pot_mo_ints.irp.f +++ b/src/mo_one_e_ints/pot_mo_ints.irp.f @@ -4,8 +4,8 @@ BEGIN_PROVIDER [double precision, mo_integrals_n_e, (mo_num,mo_num)] ! Nucleus-electron interaction on the |MO| basis END_DOC - if (read_mo_integrals_e_n) then - call ezfio_get_mo_one_e_ints_mo_integrals_e_n(mo_integrals_n_e) + if (read_mo_integrals_n_e) then + call ezfio_get_mo_one_e_ints_mo_integrals_n_e(mo_integrals_n_e) print *, 'MO N-e integrals read from disk' else call ao_to_mo( & @@ -15,8 +15,8 @@ BEGIN_PROVIDER [double precision, mo_integrals_n_e, (mo_num,mo_num)] size(mo_integrals_n_e,1) & ) endif - if (write_mo_integrals_e_n) then - call ezfio_set_mo_one_e_ints_mo_integrals_e_n(mo_integrals_n_e) + if (write_mo_integrals_n_e) then + call ezfio_set_mo_one_e_ints_mo_integrals_n_e(mo_integrals_n_e) print *, 'MO N-e integrals written to disk' endif From b4d6ffeffab809bcdecbd0bef42b88d868710fb3 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 24 Mar 2020 09:32:16 +0100 Subject: [PATCH 037/138] en - ne --- src/tools/save_natorb.irp.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tools/save_natorb.irp.f b/src/tools/save_natorb.irp.f index 88b28f06..f6331d13 100644 --- a/src/tools/save_natorb.irp.f +++ b/src/tools/save_natorb.irp.f @@ -19,7 +19,7 @@ program save_natorb call ezfio_set_mo_two_e_ints_io_mo_two_e_integrals('None') call ezfio_set_mo_one_e_ints_io_mo_one_e_integrals('None') call ezfio_set_mo_one_e_ints_io_mo_integrals_kinetic('None') - call ezfio_set_mo_one_e_ints_io_mo_integrals_e_n('None') + call ezfio_set_mo_one_e_ints_io_mo_integrals_n_e('None') call ezfio_set_mo_one_e_ints_io_mo_integrals_pseudo('None') end From 4a527dc6a9e1df6e54660eada148aa2daa74dfd3 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Tue, 24 Mar 2020 11:56:37 +0100 Subject: [PATCH 038/138] added all_but_del_orb --- src/bitmask/core_inact_act_virt.irp.f | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/bitmask/core_inact_act_virt.irp.f b/src/bitmask/core_inact_act_virt.irp.f index d30e989f..b2cb36c0 100644 --- a/src/bitmask/core_inact_act_virt.irp.f +++ b/src/bitmask/core_inact_act_virt.irp.f @@ -413,3 +413,32 @@ END_PROVIDER print *, list_inact_act(1:n_inact_act_orb) END_PROVIDER + +BEGIN_PROVIDER [integer, n_all_but_del_orb] + implicit none + integer :: i + n_all_but_del_orb = 0 + do i = 1, mo_num + if( trim(mo_class(i))=="Core" & + .or. trim(mo_class(i))=="Inactive" & + .or. trim(mo_class(i))=="Active" & + .or. trim(mo_class(i))=="Virtual" )then + n_all_but_del_orb +=1 + endif + enddo +END_PROVIDER + +BEGIN_PROVIDER [integer, list_all_but_del_orb, (n_all_but_del_orb)] + implicit none + integer :: i,j + do i = 1, mo_num + if( trim(mo_class(i))=="Core" & + .or. trim(mo_class(i))=="Inactive" & + .or. trim(mo_class(i))=="Active" & + .or. trim(mo_class(i))=="Virtual" )then + list_all_but_del_orb(i) = i + endif + enddo + +END_PROVIDER + From bd51efc0115b82b2032da025e270b4398a4e86d2 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Tue, 24 Mar 2020 11:56:37 +0100 Subject: [PATCH 039/138] added all_but_del_orb in a clean way --- src/bitmask/core_inact_act_virt.irp.f | 29 +++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/src/bitmask/core_inact_act_virt.irp.f b/src/bitmask/core_inact_act_virt.irp.f index d30e989f..b2cb36c0 100644 --- a/src/bitmask/core_inact_act_virt.irp.f +++ b/src/bitmask/core_inact_act_virt.irp.f @@ -413,3 +413,32 @@ END_PROVIDER print *, list_inact_act(1:n_inact_act_orb) END_PROVIDER + +BEGIN_PROVIDER [integer, n_all_but_del_orb] + implicit none + integer :: i + n_all_but_del_orb = 0 + do i = 1, mo_num + if( trim(mo_class(i))=="Core" & + .or. trim(mo_class(i))=="Inactive" & + .or. trim(mo_class(i))=="Active" & + .or. trim(mo_class(i))=="Virtual" )then + n_all_but_del_orb +=1 + endif + enddo +END_PROVIDER + +BEGIN_PROVIDER [integer, list_all_but_del_orb, (n_all_but_del_orb)] + implicit none + integer :: i,j + do i = 1, mo_num + if( trim(mo_class(i))=="Core" & + .or. trim(mo_class(i))=="Inactive" & + .or. trim(mo_class(i))=="Active" & + .or. trim(mo_class(i))=="Virtual" )then + list_all_but_del_orb(i) = i + endif + enddo + +END_PROVIDER + From 8f7e7ff264e412047578036c17d35fdab4cfbe93 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Wed, 25 Mar 2020 16:01:20 +0100 Subject: [PATCH 040/138] bug in CASSCF --- src/bitmask/core_inact_act_virt.irp.f | 4 +++- src/dft_utils_one_e/utils.irp.f | 23 ++++++++++++++--------- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/bitmask/core_inact_act_virt.irp.f b/src/bitmask/core_inact_act_virt.irp.f index b2cb36c0..26942c93 100644 --- a/src/bitmask/core_inact_act_virt.irp.f +++ b/src/bitmask/core_inact_act_virt.irp.f @@ -431,12 +431,14 @@ END_PROVIDER BEGIN_PROVIDER [integer, list_all_but_del_orb, (n_all_but_del_orb)] implicit none integer :: i,j + j = 0 do i = 1, mo_num if( trim(mo_class(i))=="Core" & .or. trim(mo_class(i))=="Inactive" & .or. trim(mo_class(i))=="Active" & .or. trim(mo_class(i))=="Virtual" )then - list_all_but_del_orb(i) = i + j += 1 + list_all_but_del_orb(j) = i endif enddo diff --git a/src/dft_utils_one_e/utils.irp.f b/src/dft_utils_one_e/utils.irp.f index 06ba4f30..4ddec671 100644 --- a/src/dft_utils_one_e/utils.irp.f +++ b/src/dft_utils_one_e/utils.irp.f @@ -14,15 +14,20 @@ subroutine GGA_sr_type_functionals(r,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_ do istate = 1, N_states call ex_pbe_sr(mu_erf_dft,rho_a(istate),rho_b(istate),grad_rho_a_2(istate),grad_rho_b_2(istate),grad_rho_a_b(istate),ex(istate),vx_rho_a(istate),vx_rho_b(istate),vx_grad_rho_a_2(istate),vx_grad_rho_b_2(istate),vx_grad_rho_a_b(istate)) - double precision :: rhoc,rhoo,sigmacc,sigmaco,sigmaoo,vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo - ! convertion from (alpha,beta) formalism to (closed, open) formalism - call rho_ab_to_rho_oc(rho_a(istate),rho_b(istate),rhoo,rhoc) - call grad_rho_ab_to_grad_rho_oc(grad_rho_a_2(istate),grad_rho_b_2(istate),grad_rho_a_b(istate),sigmaoo,sigmacc,sigmaco) - - call ec_pbe_sr(mu_erf_dft,rhoc,rhoo,sigmacc,sigmaco,sigmaoo,ec(istate),vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo) - - call v_rho_oc_to_v_rho_ab(vrhoo,vrhoc,vc_rho_a(istate),vc_rho_b(istate)) - call v_grad_rho_oc_to_v_grad_rho_ab(vsigmaoo,vsigmacc,vsigmaco,vc_grad_rho_a_2(istate),vc_grad_rho_b_2(istate),vc_grad_rho_a_b(istate)) + vx_rho_a(istate) = d/e_xmd(n_a,n_b,grad_na,grad_nb,grad_n_a . grad_n_b)/d_n_a + vx_rho_b + vx_grad_rho_a_2 d/e_xmd(n_a,n_b,grad_na,grad_nb,grad_n_a . grad_n_b)/d_grad_rho_a_2 + vx_grad_rho_b_2 + vx_grad_rho_a_b +! double precision :: rhoc,rhoo,sigmacc,sigmaco,sigmaoo,vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo +! !!! ! convertion from (alpha,beta) formalism to (closed, open) formalism +! call rho_ab_to_rho_oc(rho_a(istate),rho_b(istate),rhoo,rhoc) +! call grad_rho_ab_to_grad_rho_oc(grad_rho_a_2(istate),grad_rho_b_2(istate),grad_rho_a_b(istate),sigmaoo,sigmacc,sigmaco) +! +! call ec_pbe_sr(mu_erf_dft,rhoc,rhoo,sigmacc,sigmaco,sigmaoo,ec(istate),vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo) +! +! call v_rho_oc_to_v_rho_ab(vrhoo,vrhoc,vc_rho_a(istate),vc_rho_b(istate)) +! call v_grad_rho_oc_to_v_grad_rho_ab(vsigmaoo,vsigmacc,vsigmaco,vc_grad_rho_a_2(istate),vc_grad_rho_b_2(istate),vc_grad_rho_a_b(istate)) enddo end From f51aa26d2bceb755b2cc722df3b612f11f877fba Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Wed, 25 Mar 2020 16:13:26 +0100 Subject: [PATCH 041/138] Bug seems fixed in casscf ... ? --- src/casscf/densities.irp.f | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/src/casscf/densities.irp.f b/src/casscf/densities.irp.f index 5c31b6bb..d181d732 100644 --- a/src/casscf/densities.irp.f +++ b/src/casscf/densities.irp.f @@ -49,13 +49,10 @@ BEGIN_PROVIDER [real*8, P0tuvx, (n_act_orb,n_act_orb,n_act_orb,n_act_orb) ] P0tuvx= 0.d0 do istate=1,N_states do x = 1, n_act_orb - xx = list_act(x) do v = 1, n_act_orb - vv = list_act(v) do u = 1, n_act_orb - uu = list_act(u) do t = 1, n_act_orb - tt = list_act(t) + ! 1 1 2 2 1 2 1 2 P0tuvx(t,u,v,x) = state_av_act_2_rdm_spin_trace_mo(t,v,u,x) enddo enddo From 0a6ad5f6ded1b7461e817a324d0e58aaf29a3fbd Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Fri, 27 Mar 2020 14:34:38 +0100 Subject: [PATCH 042/138] removed stupid bug in src/dft_utils_one_e/utils.irp.f --- src/dft_utils_one_e/utils.irp.f | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) diff --git a/src/dft_utils_one_e/utils.irp.f b/src/dft_utils_one_e/utils.irp.f index 4ddec671..06ba4f30 100644 --- a/src/dft_utils_one_e/utils.irp.f +++ b/src/dft_utils_one_e/utils.irp.f @@ -14,20 +14,15 @@ subroutine GGA_sr_type_functionals(r,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_ do istate = 1, N_states call ex_pbe_sr(mu_erf_dft,rho_a(istate),rho_b(istate),grad_rho_a_2(istate),grad_rho_b_2(istate),grad_rho_a_b(istate),ex(istate),vx_rho_a(istate),vx_rho_b(istate),vx_grad_rho_a_2(istate),vx_grad_rho_b_2(istate),vx_grad_rho_a_b(istate)) - vx_rho_a(istate) = d/e_xmd(n_a,n_b,grad_na,grad_nb,grad_n_a . grad_n_b)/d_n_a - vx_rho_b - vx_grad_rho_a_2 d/e_xmd(n_a,n_b,grad_na,grad_nb,grad_n_a . grad_n_b)/d_grad_rho_a_2 - vx_grad_rho_b_2 - vx_grad_rho_a_b -! double precision :: rhoc,rhoo,sigmacc,sigmaco,sigmaoo,vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo -! !!! ! convertion from (alpha,beta) formalism to (closed, open) formalism -! call rho_ab_to_rho_oc(rho_a(istate),rho_b(istate),rhoo,rhoc) -! call grad_rho_ab_to_grad_rho_oc(grad_rho_a_2(istate),grad_rho_b_2(istate),grad_rho_a_b(istate),sigmaoo,sigmacc,sigmaco) -! -! call ec_pbe_sr(mu_erf_dft,rhoc,rhoo,sigmacc,sigmaco,sigmaoo,ec(istate),vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo) -! -! call v_rho_oc_to_v_rho_ab(vrhoo,vrhoc,vc_rho_a(istate),vc_rho_b(istate)) -! call v_grad_rho_oc_to_v_grad_rho_ab(vsigmaoo,vsigmacc,vsigmaco,vc_grad_rho_a_2(istate),vc_grad_rho_b_2(istate),vc_grad_rho_a_b(istate)) + double precision :: rhoc,rhoo,sigmacc,sigmaco,sigmaoo,vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo + ! convertion from (alpha,beta) formalism to (closed, open) formalism + call rho_ab_to_rho_oc(rho_a(istate),rho_b(istate),rhoo,rhoc) + call grad_rho_ab_to_grad_rho_oc(grad_rho_a_2(istate),grad_rho_b_2(istate),grad_rho_a_b(istate),sigmaoo,sigmacc,sigmaco) + + call ec_pbe_sr(mu_erf_dft,rhoc,rhoo,sigmacc,sigmaco,sigmaoo,ec(istate),vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo) + + call v_rho_oc_to_v_rho_ab(vrhoo,vrhoc,vc_rho_a(istate),vc_rho_b(istate)) + call v_grad_rho_oc_to_v_grad_rho_ab(vsigmaoo,vsigmacc,vsigmaco,vc_grad_rho_a_2(istate),vc_grad_rho_b_2(istate),vc_grad_rho_a_b(istate)) enddo end From 192854f771a92c4f1a39917451b43978b518e172 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Fri, 27 Mar 2020 18:06:31 +0100 Subject: [PATCH 043/138] minor cleaning in dft_utils_in_r --- src/dft_utils_in_r/dm_in_r.irp.f | 113 ++++++++++++------------------- 1 file changed, 43 insertions(+), 70 deletions(-) diff --git a/src/dft_utils_in_r/dm_in_r.irp.f b/src/dft_utils_in_r/dm_in_r.irp.f index c7ede35d..7b0b1e0f 100644 --- a/src/dft_utils_in_r/dm_in_r.irp.f +++ b/src/dft_utils_in_r/dm_in_r.irp.f @@ -1,60 +1,3 @@ - BEGIN_PROVIDER [double precision, one_e_dm_alpha_in_r, (n_points_integration_angular,n_points_radial_grid,nucl_num,N_states) ] -&BEGIN_PROVIDER [double precision, one_e_dm_beta_in_r, (n_points_integration_angular,n_points_radial_grid,nucl_num,N_states) ] - implicit none - integer :: i,j,k,l,m,istate - double precision :: contrib - double precision :: r(3) - double precision :: aos_array(ao_num),mos_array(mo_num) - do j = 1, nucl_num - do k = 1, n_points_radial_grid -1 - do l = 1, n_points_integration_angular - do istate = 1, N_States - one_e_dm_alpha_in_r(l,k,j,istate) = 0.d0 - one_e_dm_beta_in_r(l,k,j,istate) = 0.d0 - enddo - r(1) = grid_points_per_atom(1,l,k,j) - r(2) = grid_points_per_atom(2,l,k,j) - r(3) = grid_points_per_atom(3,l,k,j) - - double precision :: dm_a(N_states),dm_b(N_states) - call dm_dft_alpha_beta_at_r(r,dm_a,dm_b) - do istate=1,N_states - one_e_dm_alpha_in_r(l,k,j,istate) = dm_a(istate) - one_e_dm_beta_in_r(l,k,j,istate) = dm_b(istate) - enddo - - enddo - enddo - enddo - -END_PROVIDER - - - BEGIN_PROVIDER [double precision, elec_beta_num_grid_becke , (N_states) ] -&BEGIN_PROVIDER [double precision, elec_alpha_num_grid_becke , (N_states) ] - implicit none - BEGIN_DOC -! one_e_dm_alpha_at_r(i,istate) = n_alpha(r_i,istate) -! one_e_dm_beta_at_r(i,istate) = n_beta(r_i,istate) -! where r_i is the ith point of the grid and istate is the state number - END_DOC - integer :: i,istate - double precision :: r(3),weight - do istate = 1, N_states - do i = 1, n_points_final_grid - r(1) = final_grid_points(1,i) - r(2) = final_grid_points(2,i) - r(3) = final_grid_points(3,i) - weight = final_weight_at_r_vector(i) - - elec_alpha_num_grid_becke(istate) += one_e_dm_and_grad_alpha_in_r(4,i,istate) * weight - elec_beta_num_grid_becke(istate) += one_e_dm_and_grad_beta_in_r(4,i,istate) * weight - enddo - enddo - -END_PROVIDER - - BEGIN_PROVIDER [double precision, one_e_dm_and_grad_alpha_in_r, (4,n_points_final_grid,N_states) ] &BEGIN_PROVIDER [double precision, one_e_dm_and_grad_beta_in_r, (4,n_points_final_grid,N_states) ] &BEGIN_PROVIDER [double precision, one_e_grad_2_dm_alpha_at_r, (n_points_final_grid,N_states) ] @@ -62,19 +5,21 @@ END_PROVIDER &BEGIN_PROVIDER [double precision, scal_prod_grad_one_e_dm_ab, (n_points_final_grid,N_states) ] &BEGIN_PROVIDER [double precision, one_e_stuff_for_pbe, (3,n_points_final_grid,N_states) ] BEGIN_DOC -! one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) -! -! one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) -! -! one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) -! -! one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) -! -! one_e_grad_2_dm_alpha_at_r(i,istate) = (d\dx n_alpha(r_i,istate))^2 + (d\dy n_alpha(r_i,istate))^2 + (d\dz n_alpha(r_i,istate))^2 -! -! scal_prod_grad_one_e_dm_ab(i,istate) = grad n_alpha(r_i) . grad n_beta(r_i) -! -! where r_i is the ith point of the grid and istate is the state number + ! one_e_dm_and_grad_alpha_in_r(1,i,i_state) = d\dx n_alpha(r_i,istate) + ! + ! one_e_dm_and_grad_alpha_in_r(2,i,i_state) = d\dy n_alpha(r_i,istate) + ! + ! one_e_dm_and_grad_alpha_in_r(3,i,i_state) = d\dz n_alpha(r_i,istate) + ! + ! one_e_dm_and_grad_alpha_in_r(4,i,i_state) = n_alpha(r_i,istate) + ! + ! one_e_grad_2_dm_alpha_at_r(i,istate) = (d\dx n_alpha(r_i,istate))^2 + (d\dy n_alpha(r_i,istate))^2 + (d\dz n_alpha(r_i,istate))^2 + ! + ! scal_prod_grad_one_e_dm_ab(i,istate) = grad n_alpha(r_i) . grad n_beta(r_i) + ! + ! where r_i is the ith point of the grid and istate is the state number + ! + ! !!!!! WARNING !!!! if no_core_density = .True. then all core electrons are removed END_DOC implicit none integer :: i,j,k,l,m,istate @@ -130,3 +75,31 @@ END_PROVIDER END_PROVIDER + + BEGIN_PROVIDER [double precision, elec_beta_num_grid_becke , (N_states) ] +&BEGIN_PROVIDER [double precision, elec_alpha_num_grid_becke , (N_states) ] +&BEGIN_PROVIDER [double precision, elec_num_grid_becke , (N_states) ] + implicit none + BEGIN_DOC + ! number of electrons when the one-e alpha/beta densities are numerically integrated on the DFT grid + ! + ! !!!!! WARNING !!!! if no_core_density = .True. then all core electrons are removed + END_DOC + integer :: i,istate + double precision :: r(3),weight + do istate = 1, N_states + do i = 1, n_points_final_grid + r(1) = final_grid_points(1,i) + r(2) = final_grid_points(2,i) + r(3) = final_grid_points(3,i) + weight = final_weight_at_r_vector(i) + + elec_alpha_num_grid_becke(istate) += one_e_dm_and_grad_alpha_in_r(4,i,istate) * weight + elec_beta_num_grid_becke(istate) += one_e_dm_and_grad_beta_in_r(4,i,istate) * weight + enddo + elec_num_grid_becke(istate) = elec_alpha_num_grid_becke(istate) + elec_beta_num_grid_becke(istate) + enddo + +END_PROVIDER + + From 9d2d00f0404faf6aba2775864cb62d7089d0a234 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Mon, 30 Mar 2020 16:00:50 +0200 Subject: [PATCH 044/138] more cleaning in functionals --- src/dft_utils_one_e/ec_lyp.irp.f | 125 --------- src/dft_utils_one_e/ec_lyp_2.irp.f | 28 -- src/dft_utils_one_e/ec_scan.irp.f | 99 ------- src/dft_utils_one_e/ec_scan_2.irp.f | 100 ------- src/dft_utils_one_e/effective_pot.irp.f | 3 + src/dft_utils_one_e/garbage_func.irp.f | 264 ++++++++++++++++++ src/dft_utils_one_e/rho_ab_to_rho_tot.irp.f | 34 +++ ...sr_lda.irp.f => routines_exc_sr_lda.irp.f} | 0 ...sr_pbe.irp.f => routines_exc_sr_pbe.irp.f} | 16 ++ src/dft_utils_one_e/sr_exc.irp.f | 86 ------ 10 files changed, 317 insertions(+), 438 deletions(-) delete mode 100644 src/dft_utils_one_e/ec_lyp.irp.f delete mode 100644 src/dft_utils_one_e/ec_lyp_2.irp.f delete mode 100644 src/dft_utils_one_e/ec_scan.irp.f delete mode 100644 src/dft_utils_one_e/ec_scan_2.irp.f create mode 100644 src/dft_utils_one_e/garbage_func.irp.f rename src/dft_utils_one_e/{exc_sr_lda.irp.f => routines_exc_sr_lda.irp.f} (100%) rename src/dft_utils_one_e/{exc_sr_pbe.irp.f => routines_exc_sr_pbe.irp.f} (96%) delete mode 100644 src/dft_utils_one_e/sr_exc.irp.f diff --git a/src/dft_utils_one_e/ec_lyp.irp.f b/src/dft_utils_one_e/ec_lyp.irp.f deleted file mode 100644 index 22d15a9c..00000000 --- a/src/dft_utils_one_e/ec_lyp.irp.f +++ /dev/null @@ -1,125 +0,0 @@ -subroutine give_all_stuffs_in_r_for_lyp_88(r,rho,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_2) - implicit none - double precision, intent(in) :: r(3) - double precision, intent(out) :: rho_a(N_states),rho_b(N_states),grad_rho_a_2(N_states),grad_rho_b_2(N_states),grad_rho_2(N_states),rho(N_states) - double precision :: grad_rho_a(3,N_states),grad_rho_b(3,N_states),grad_rho_a_b(N_states) - double precision :: grad_aos_array(3,ao_num),aos_array(ao_num) - - call density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r(r,rho_a,rho_b, grad_rho_a, grad_rho_b, aos_array, grad_aos_array) - integer :: i,istate - rho = rho_a + rho_b - grad_rho_a_2 = 0.d0 - grad_rho_b_2 = 0.d0 - grad_rho_a_b = 0.d0 - do istate = 1, N_states - do i = 1, 3 - grad_rho_a_2(istate) += grad_rho_a(i,istate) * grad_rho_a(i,istate) - grad_rho_b_2(istate) += grad_rho_b(i,istate) * grad_rho_b(i,istate) - grad_rho_a_b(istate) += grad_rho_a(i,istate) * grad_rho_b(i,istate) - enddo - enddo - grad_rho_2 = grad_rho_a_2 + grad_rho_b_2 + 2.d0 * grad_rho_a_b - -end - - -double precision function ec_lyp_88(rho,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_2) - - implicit none - - BEGIN_DOC -! LYP functional of the Lee, Yan, Parr, Phys. Rev B 1988, Vol 37, page 785. -! The expression used is the one by Miehlich, Savin, Stoll, Preuss, CPL, 1989 which gets rid of the laplacian of the density - END_DOC - - include 'constants.include.F' - -! Input variables - double precision, intent(in) :: rho,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_2 -! Local variables - double precision :: a,b,c,d,c_f,omega,delta - double precision :: rho_13,rho_inv_13,rho_83,rho_113,rho_inv_113,denom - double precision :: thr,huge_num,rho_inv - double precision :: cst_2_113,cst_8_3,rho_2,rho_a_2,rho_b_2 - double precision :: tmp1,tmp2,tmp3,tmp4 - double precision :: big1,big2,big3 - - -! Constants of the LYP correlation functional - - a = 0.04918d0 - b = 0.132d0 - c = 0.2533d0 - d = 0.349d0 - - ec_lyp_88 = 0.d0 - - thr = 1d-15 - huge_num = 1.d0/thr - if(dabs(rho_a).lt.thr)then - return - endif - - if(dabs(rho_b).lt.thr)then - return - endif - - if(rho.lt.0.d0)then - print*,'pb !! rho.lt.0.d0' - stop - endif - - rho_13 = rho**(1.d0/3.d0) - rho_113 = rho**(11.d0/3.d0) - - if(dabs(rho_13) < thr) then - rho_inv_13 = huge_num - else - rho_inv_13 = 1.d0/rho_13 - endif - - if (dabs(rho_113) < thr) then - rho_inv_113 = huge_num - else - rho_inv_113 = 1.d0/rho_113 - endif - - if (dabs(rho) < thr) then - rho_inv = huge_num - else - rho_inv = 1.d0/rho - endif - -! Useful quantities to predefine - - denom = 1d0/(1d0 + d*rho_inv_13) - omega = rho_inv_113*exp(-c*rho_inv_13)*denom - delta = c*rho_inv_13 + d*rho_inv_13*denom - c_f = 0.3d0*(3.d0*pi*pi)**(2.d0/3.d0) - - rho_2 = rho *rho - rho_a_2 = rho_a*rho_a - rho_b_2 = rho_b*rho_b - - cst_2_113 = 2.d0**(11.d0/3.d0) - cst_8_3 = 8.d0/3.d0 - - ! first term in the equation (2) of Preuss CPL, 1989 - - big1 = 4.d0*denom*rho_a*rho_b*rho_inv - - tmp1 = cst_2_113*c_f*(rho_a**cst_8_3 + rho_b**cst_8_3) - tmp2 = (47.d0/18.d0 - 7.d0/18.d0*delta)*grad_rho_2 - tmp3 = - (5d0/2d0 - 1.d0/18d0*delta)*(grad_rho_a_2 + grad_rho_b_2) - tmp4 = - (delta - 11d0)/9d0*(rho_a*rho_inv*grad_rho_a_2 + rho_b*rho_inv*grad_rho_b_2) - big2 = rho_a*rho_b*(tmp1 + tmp2 + tmp3 + tmp4) - - tmp1 = -2d0/3d0*rho_2*grad_rho_2 - tmp2 = grad_rho_b_2*(2d0/3d0*rho_2 - rho_a_2) - tmp3 = grad_rho_a_2*(2d0/3d0*rho_2 - rho_b_2) - big3 = tmp1 + tmp2 + tmp3 - - ec_lyp_88 = -a*big1 -a*b*omega*big2 -a*b*omega*big3 - -end - diff --git a/src/dft_utils_one_e/ec_lyp_2.irp.f b/src/dft_utils_one_e/ec_lyp_2.irp.f deleted file mode 100644 index e97a0e00..00000000 --- a/src/dft_utils_one_e/ec_lyp_2.irp.f +++ /dev/null @@ -1,28 +0,0 @@ -double precision function ec_lyp2(RhoA,RhoB,GA,GB,GAB) - include 'constants.include.F' - implicit none - double precision, intent(in) :: RhoA,RhoB,GA,GB,GAB - double precision :: Tol,caa,cab,cac,cad,cae,RA,RB,comega,cdelta,cLaa,cLbb,cLab,E - ec_lyp2 = 0.d0 - Tol=1D-14 - E=2.718281828459045D0 - caa=0.04918D0 - cab=0.132D0 - cac=0.2533D0 - cad=0.349D0 - cae=(2D0**(11D0/3D0))*((3D0/10D0)*((3D0*(Pi**2D0))**(2D0/3D0))) - - - RA = MAX(RhoA,0D0) - RB = MAX(RhoB,0D0) - IF ((RA.gt.Tol).OR.(RB.gt.Tol)) THEN - IF ((RA.gt.Tol).AND.(RB.gt.Tol)) THEN - comega = 1D0/(E**(cac/(RA+RB)**(1D0/3D0))*(RA+RB)**(10D0/3D0)*(cad+(RA+RB)**(1D0/3D0))) - cdelta = (cac+cad+(cac*cad)/(RA+RB)**(1D0/3D0))/(cad+(RA+RB)**(1D0/3D0)) - cLaa = (cab*comega*RB*(RA-3D0*cdelta*RA-9D0*RB-((-11D0+cdelta)*RA**2D0)/(RA+RB)))/9D0 - cLbb = (cab*comega*RA*(-9D0*RA+(RB*(RA-3D0*cdelta*RA-4D0*(-3D0+cdelta)*RB))/(RA+RB)))/9D0 - cLab = cab*comega*(((47D0-7D0*cdelta)*RA*RB)/9D0-(4D0*(RA+RB)**2D0)/3D0) - ec_lyp2 = -(caa*(cLaa*GA+cLab*GAB+cLbb*GB+cab*cae*comega*RA*RB*(RA**(8D0/3D0)+RB**(8D0/3D0))+(4D0*RA*RB)/(RA+RB+cad*(RA+RB)**(2D0/3D0)))) - endif - endif -end diff --git a/src/dft_utils_one_e/ec_scan.irp.f b/src/dft_utils_one_e/ec_scan.irp.f deleted file mode 100644 index 741129eb..00000000 --- a/src/dft_utils_one_e/ec_scan.irp.f +++ /dev/null @@ -1,99 +0,0 @@ -double precision function ec_scan(rho_a,rho_b,tau,grad_rho_2) - include 'constants.include.F' - implicit none - double precision, intent(in) :: rho_a,rho_b,tau,grad_rho_2 - double precision :: cst_13,cst_23,cst_43,cst_53,rho_inv,cst_18,cst_3pi2 - double precision :: thr,nup,ndo,xi,s,spin_d,drho,drho2,rho,inv_1alph,e_c_lsda1,h0 - double precision :: rs,t_w,t_unif,ds_xi,alpha,fc_alpha,step_f,cst_1alph,beta_inf - double precision :: c_1c,c_2c,d_c,e_c_ldsa1,h1,phi,t,beta_rs,gama,a,w_1,g_at2,phi_3,e_c_1 - double precision :: b_1c,b_2c,b_3c,dx_xi,gc_xi,e_c_lsda0,w_0,g_inf,cx_xi,x_inf,f0,e_c_0 - thr = 1.d-12 - nup = max(rho_a,thr) - ndo = max(rho_b,thr) - rho = nup + ndo - ec_scan = 0.d0 - if((rho).lt.thr)return - ! constants ... - rho_inv = 1.d0/rho - cst_13 = 1.d0/3.d0 - cst_23 = 2.d0 * cst_13 - cst_43 = 4.d0 * cst_13 - cst_53 = 5.d0 * cst_13 - cst_18 = 1.d0/8.d0 - cst_3pi2 = 3.d0 * pi*pi - drho2 = max(grad_rho_2,thr) - drho = dsqrt(drho2) - if((nup-ndo).gt.0.d0)then - spin_d = max(nup-ndo,thr) - else - spin_d = min(nup-ndo,-thr) - endif - c_1c = 0.64d0 - c_2c = 1.5d0 - d_c = 0.7d0 - b_1c = 0.0285764d0 - b_2c = 0.0889d0 - b_3c = 0.125541d0 - gama = 0.031091d0 - ! correlation energy lsda1 - call ec_only_lda_sr(0.d0,nup,ndo,e_c_lsda1) - - ! correlation energy per particle - e_c_lsda1 = e_c_lsda1/rho - xi = spin_d/rho - rs = (cst_43 * pi * rho)**(-cst_13) - s = drho/( 2.d0 * cst_3pi2**(cst_13) * rho**cst_43 ) - t_w = drho2 * cst_18 * rho_inv - ds_xi = 0.5d0 * ( (1.d0+xi)**cst_53 + (1.d0 - xi)**cst_53) - t_unif = 0.3d0 * (cst_3pi2)**cst_23 * rho**cst_53*ds_xi - t_unif = max(t_unif,thr) - alpha = (tau - t_w)/t_unif - cst_1alph= 1.d0 - alpha - if(cst_1alph.gt.0.d0)then - cst_1alph= max(cst_1alph,thr) - else - cst_1alph= min(cst_1alph,-thr) - endif - inv_1alph= 1.d0/cst_1alph - phi = 0.5d0 * ( (1.d0+xi)**cst_23 + (1.d0 - xi)**cst_23) - phi_3 = phi*phi*phi - t = (cst_3pi2/16.d0)**cst_13 * s / (phi * rs**0.5d0) - w_1 = dexp(-e_c_lsda1/(gama * phi_3)) - 1.d0 - a = beta_rs(rs) /(gama * w_1) - g_at2 = 1.d0/(1.d0 + 4.d0 * a*t*t)**0.25d0 - h1 = gama * phi_3 * dlog(1.d0 + w_1 * (1.d0 - g_at2)) - ! interpolation function - - if(cst_1alph.gt.0.d0)then - fc_alpha = dexp(-c_1c * alpha * inv_1alph) - else - fc_alpha = - d_c * dexp(c_2c * inv_1alph) - endif - ! first part of the correlation energy - e_c_1 = e_c_lsda1 + h1 - - dx_xi = 0.5d0 * ( (1.d0+xi)**cst_43 + (1.d0 - xi)**cst_43) - gc_xi = (1.d0 - 2.3631d0 * (dx_xi - 1.d0) ) * (1.d0 - xi**12.d0) - e_c_lsda0= - b_1c / (1.d0 + b_2c * rs**0.5d0 + b_3c * rs) - w_0 = dexp(-e_c_lsda0/b_1c) - 1.d0 - beta_inf = 0.066725d0 * 0.1d0 / 0.1778d0 - cx_xi = -3.d0/(4.d0*pi) * (9.d0 * pi/4.d0)**cst_13 * dx_xi - - x_inf = 0.128026d0 - f0 = -0.9d0 - g_inf = 1.d0/(1.d0 + 4.d0 * x_inf * s*s)**0.25d0 - - h0 = b_1c * dlog(1.d0 + w_0 * (1.d0 - g_inf)) - e_c_0 = (e_c_lsda0 + h0) * gc_xi - - ec_scan = e_c_1 + fc_alpha * (e_c_0 - e_c_1) -end - - -double precision function beta_rs(rs) - implicit none - double precision, intent(in) ::rs - beta_rs = 0.066725d0 * (1.d0 + 0.1d0 * rs)/(1.d0 + 0.1778d0 * rs) - -end - diff --git a/src/dft_utils_one_e/ec_scan_2.irp.f b/src/dft_utils_one_e/ec_scan_2.irp.f deleted file mode 100644 index 4807b89f..00000000 --- a/src/dft_utils_one_e/ec_scan_2.irp.f +++ /dev/null @@ -1,100 +0,0 @@ -double precision function ec_scan(rho_a,rho_b,tau,grad_rho_2) - include 'constants.include.F' - implicit none - double precision, intent(in) :: rho_a,rho_b,tau,grad_rho_2 - double precision :: cst_13,cst_23,cst_43,cst_53,rho_inv,cst_18,cst_3pi2 - double precision :: thr,nup,ndo,xi,s,spin_d,drho,drho2,rho,inv_1alph,e_c_lsda1,h0 - double precision :: rs,t_w,t_unif,ds_xi,alpha,fc_alpha,step_f,cst_1alph,beta_inf - double precision :: c_1c,c_2c,d_c,e_c_ldsa1,h1,phi,t,beta_rs,gama,a,w_1,g_at2,phi_3,e_c_1 - double precision :: b_1c,b_2c,b_3c,dx_xi,gc_xi,e_c_lsda0,w_0,g_inf,cx_xi,x_inf,f0,e_c_0 - thr = 1.d-12 - nup = max(rho_a,thr) - ndo = max(rho_b,thr) - rho = nup + ndo - ec_scan = 0.d0 - if((rho).lt.thr)return - ! constants ... - rho_inv = 1.d0/rho - cst_13 = 1.d0/3.d0 - cst_23 = 2.d0 * cst_13 - cst_43 = 4.d0 * cst_13 - cst_53 = 5.d0 * cst_13 - cst_18 = 1.d0/8.d0 - cst_3pi2 = 3.d0 * pi*pi - drho2 = max(grad_rho_2,thr) - drho = dsqrt(drho2) - if((nup-ndo).gt.0.d0)then - spin_d = max(nup-ndo,thr) - else - spin_d = min(nup-ndo,-thr) - endif - c_1c = 0.64d0 - c_2c = 1.5d0 - d_c = 0.7d0 - b_1c = 0.0285764d0 - b_2c = 0.0889d0 - b_3c = 0.125541d0 - gama = 0.031091d0 - ! correlation energy lsda1 - call ec_only_lda_sr(0.d0,nup,ndo,e_c_lsda1) - - xi = spin_d/rho - rs = (cst_43 * pi * rho)**(-cst_13) - s = drho/( 2.d0 * cst_3pi2**(cst_13) * rho**cst_43 ) - t_w = drho2 * cst_18 * rho_inv - ds_xi = 0.5d0 * ( (1.d0+xi)**cst_53 + (1.d0 - xi)**cst_53) - t_unif = 0.3d0 * (cst_3pi2)**cst_23 * rho**cst_53*ds_xi - t_unif = max(t_unif,thr) - alpha = (tau - t_w)/t_unif - cst_1alph= 1.d0 - alpha - if(cst_1alph.gt.0.d0)then - cst_1alph= max(cst_1alph,thr) - else - cst_1alph= min(cst_1alph,-thr) - endif - inv_1alph= 1.d0/cst_1alph - phi = 0.5d0 * ( (1.d0+xi)**cst_23 + (1.d0 - xi)**cst_23) - phi_3 = phi*phi*phi - t = (cst_3pi2/16.d0)**cst_13 * s / (phi * rs**0.5d0) - w_1 = dexp(-e_c_lsda1/(gama * phi_3)) - 1.d0 - a = beta_rs(rs) /(gama * w_1) - g_at2 = 1.d0/(1.d0 + 4.d0 * a*t*t)**0.25d0 - h1 = gama * phi_3 * dlog(1.d0 + w_1 * (1.d0 - g_at2)) - ! interpolation function - fc_alpha = dexp(-c_1c * alpha * inv_1alph) * step_f(cst_1alph) - d_c * dexp(c_2c * inv_1alph) * step_f(-cst_1alph) - ! first part of the correlation energy - e_c_1 = e_c_lsda1 + h1 - - dx_xi = 0.5d0 * ( (1.d0+xi)**cst_43 + (1.d0 - xi)**cst_43) - gc_xi = (1.d0 - 2.3631d0 * (dx_xi - 1.d0) ) * (1.d0 - xi**12.d0) - e_c_lsda0= - b_1c / (1.d0 + b_2c * rs**0.5d0 + b_3c * rs) - w_0 = dexp(-e_c_lsda0/b_1c) - 1.d0 - beta_inf = 0.066725d0 * 0.1d0 / 0.1778d0 - cx_xi = -3.d0/(4.d0*pi) * (9.d0 * pi/4.d0)**cst_13 * dx_xi - - x_inf = 0.128026d0 - f0 = -0.9d0 - g_inf = 1.d0/(1.d0 + 4.d0 * x_inf * s*s)**0.25d0 - - h0 = b_1c * dlog(1.d0 + w_0 * (1.d0 - g_inf)) - e_c_0 = (e_c_lsda0 + h0) * gc_xi - - ec_scan = e_c_1 + fc_alpha * (e_c_0 - e_c_1) -end - -double precision function step_f(x) - implicit none - double precision, intent(in) :: x - if(x.lt.0.d0)then - step_f = 0.d0 - else - step_f = 1.d0 - endif -end - -double precision function beta_rs(rs) - implicit none - double precision, intent(in) ::rs - beta_rs = 0.066725d0 * (1.d0 + 0.1d0 * rs)/(1.d0 + 0.1778d0 * rs) - -end diff --git a/src/dft_utils_one_e/effective_pot.irp.f b/src/dft_utils_one_e/effective_pot.irp.f index cf36060a..5a61de15 100644 --- a/src/dft_utils_one_e/effective_pot.irp.f +++ b/src/dft_utils_one_e/effective_pot.irp.f @@ -7,8 +7,11 @@ ! Effective_one_e_potential(i,j) = $\rangle i_{MO}| v_{H}^{sr} |j_{MO}\rangle + \rangle i_{MO}| h_{core} |j_{MO}\rangle + \rangle i_{MO}|v_{xc} |j_{MO}\rangle$ ! ! on the |MO| basis +! ! Taking the expectation value does not provide any energy, but +! ! effective_one_e_potential(i,j) is the potential coupling DFT and WFT part to +! ! be used in any WFT calculation. ! END_DOC diff --git a/src/dft_utils_one_e/garbage_func.irp.f b/src/dft_utils_one_e/garbage_func.irp.f new file mode 100644 index 00000000..d104a69f --- /dev/null +++ b/src/dft_utils_one_e/garbage_func.irp.f @@ -0,0 +1,264 @@ + +subroutine give_all_stuffs_in_r_for_lyp_88(r,rho,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_2) + implicit none + double precision, intent(in) :: r(3) + double precision, intent(out) :: rho_a(N_states),rho_b(N_states),grad_rho_a_2(N_states),grad_rho_b_2(N_states),grad_rho_2(N_states),rho(N_states) + double precision :: grad_rho_a(3,N_states),grad_rho_b(3,N_states),grad_rho_a_b(N_states) + double precision :: grad_aos_array(3,ao_num),aos_array(ao_num) + + call density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r(r,rho_a,rho_b, grad_rho_a, grad_rho_b, aos_array, grad_aos_array) + integer :: i,istate + rho = rho_a + rho_b + grad_rho_a_2 = 0.d0 + grad_rho_b_2 = 0.d0 + grad_rho_a_b = 0.d0 + do istate = 1, N_states + do i = 1, 3 + grad_rho_a_2(istate) += grad_rho_a(i,istate) * grad_rho_a(i,istate) + grad_rho_b_2(istate) += grad_rho_b(i,istate) * grad_rho_b(i,istate) + grad_rho_a_b(istate) += grad_rho_a(i,istate) * grad_rho_b(i,istate) + enddo + enddo + grad_rho_2 = grad_rho_a_2 + grad_rho_b_2 + 2.d0 * grad_rho_a_b + +end + + +double precision function ec_lyp_88(rho,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_2) + + implicit none + + BEGIN_DOC +! LYP functional of the Lee, Yan, Parr, Phys. Rev B 1988, Vol 37, page 785. +! The expression used is the one by Miehlich, Savin, Stoll, Preuss, CPL, 1989 which gets rid of the laplacian of the density + END_DOC + + include 'constants.include.F' + +! Input variables + double precision, intent(in) :: rho,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_2 +! Local variables + double precision :: a,b,c,d,c_f,omega,delta + double precision :: rho_13,rho_inv_13,rho_83,rho_113,rho_inv_113,denom + double precision :: thr,huge_num,rho_inv + double precision :: cst_2_113,cst_8_3,rho_2,rho_a_2,rho_b_2 + double precision :: tmp1,tmp2,tmp3,tmp4 + double precision :: big1,big2,big3 + + +! Constants of the LYP correlation functional + + a = 0.04918d0 + b = 0.132d0 + c = 0.2533d0 + d = 0.349d0 + + ec_lyp_88 = 0.d0 + + thr = 1d-15 + huge_num = 1.d0/thr + if(dabs(rho_a).lt.thr)then + return + endif + + if(dabs(rho_b).lt.thr)then + return + endif + + if(rho.lt.0.d0)then + print*,'pb !! rho.lt.0.d0' + stop + endif + + rho_13 = rho**(1.d0/3.d0) + rho_113 = rho**(11.d0/3.d0) + + if(dabs(rho_13) < thr) then + rho_inv_13 = huge_num + else + rho_inv_13 = 1.d0/rho_13 + endif + + if (dabs(rho_113) < thr) then + rho_inv_113 = huge_num + else + rho_inv_113 = 1.d0/rho_113 + endif + + if (dabs(rho) < thr) then + rho_inv = huge_num + else + rho_inv = 1.d0/rho + endif + +! Useful quantities to predefine + + denom = 1d0/(1d0 + d*rho_inv_13) + omega = rho_inv_113*exp(-c*rho_inv_13)*denom + delta = c*rho_inv_13 + d*rho_inv_13*denom + c_f = 0.3d0*(3.d0*pi*pi)**(2.d0/3.d0) + + rho_2 = rho *rho + rho_a_2 = rho_a*rho_a + rho_b_2 = rho_b*rho_b + + cst_2_113 = 2.d0**(11.d0/3.d0) + cst_8_3 = 8.d0/3.d0 + + ! first term in the equation (2) of Preuss CPL, 1989 + + big1 = 4.d0*denom*rho_a*rho_b*rho_inv + + tmp1 = cst_2_113*c_f*(rho_a**cst_8_3 + rho_b**cst_8_3) + tmp2 = (47.d0/18.d0 - 7.d0/18.d0*delta)*grad_rho_2 + tmp3 = - (5d0/2d0 - 1.d0/18d0*delta)*(grad_rho_a_2 + grad_rho_b_2) + tmp4 = - (delta - 11d0)/9d0*(rho_a*rho_inv*grad_rho_a_2 + rho_b*rho_inv*grad_rho_b_2) + big2 = rho_a*rho_b*(tmp1 + tmp2 + tmp3 + tmp4) + + tmp1 = -2d0/3d0*rho_2*grad_rho_2 + tmp2 = grad_rho_b_2*(2d0/3d0*rho_2 - rho_a_2) + tmp3 = grad_rho_a_2*(2d0/3d0*rho_2 - rho_b_2) + big3 = tmp1 + tmp2 + tmp3 + + ec_lyp_88 = -a*big1 -a*b*omega*big2 -a*b*omega*big3 + +end + +double precision function ec_lyp2(RhoA,RhoB,GA,GB,GAB) + include 'constants.include.F' + implicit none + double precision, intent(in) :: RhoA,RhoB,GA,GB,GAB + double precision :: Tol,caa,cab,cac,cad,cae,RA,RB,comega,cdelta,cLaa,cLbb,cLab,E + ec_lyp2 = 0.d0 + Tol=1D-14 + E=2.718281828459045D0 + caa=0.04918D0 + cab=0.132D0 + cac=0.2533D0 + cad=0.349D0 + cae=(2D0**(11D0/3D0))*((3D0/10D0)*((3D0*(Pi**2D0))**(2D0/3D0))) + + + RA = MAX(RhoA,0D0) + RB = MAX(RhoB,0D0) + IF ((RA.gt.Tol).OR.(RB.gt.Tol)) THEN + IF ((RA.gt.Tol).AND.(RB.gt.Tol)) THEN + comega = 1D0/(E**(cac/(RA+RB)**(1D0/3D0))*(RA+RB)**(10D0/3D0)*(cad+(RA+RB)**(1D0/3D0))) + cdelta = (cac+cad+(cac*cad)/(RA+RB)**(1D0/3D0))/(cad+(RA+RB)**(1D0/3D0)) + cLaa = (cab*comega*RB*(RA-3D0*cdelta*RA-9D0*RB-((-11D0+cdelta)*RA**2D0)/(RA+RB)))/9D0 + cLbb = (cab*comega*RA*(-9D0*RA+(RB*(RA-3D0*cdelta*RA-4D0*(-3D0+cdelta)*RB))/(RA+RB)))/9D0 + cLab = cab*comega*(((47D0-7D0*cdelta)*RA*RB)/9D0-(4D0*(RA+RB)**2D0)/3D0) + ec_lyp2 = -(caa*(cLaa*GA+cLab*GAB+cLbb*GB+cab*cae*comega*RA*RB*(RA**(8D0/3D0)+RB**(8D0/3D0))+(4D0*RA*RB)/(RA+RB+cad*(RA+RB)**(2D0/3D0)))) + endif + endif +end + +double precision function ec_scan(rho_a,rho_b,tau,grad_rho_2) + include 'constants.include.F' + implicit none + double precision, intent(in) :: rho_a,rho_b,tau,grad_rho_2 + double precision :: cst_13,cst_23,cst_43,cst_53,rho_inv,cst_18,cst_3pi2 + double precision :: thr,nup,ndo,xi,s,spin_d,drho,drho2,rho,inv_1alph,e_c_lsda1,h0 + double precision :: rs,t_w,t_unif,ds_xi,alpha,fc_alpha,step_f,cst_1alph,beta_inf + double precision :: c_1c,c_2c,d_c,e_c_ldsa1,h1,phi,t,beta_rs,gama,a,w_1,g_at2,phi_3,e_c_1 + double precision :: b_1c,b_2c,b_3c,dx_xi,gc_xi,e_c_lsda0,w_0,g_inf,cx_xi,x_inf,f0,e_c_0 + thr = 1.d-12 + nup = max(rho_a,thr) + ndo = max(rho_b,thr) + rho = nup + ndo + ec_scan = 0.d0 + if((rho).lt.thr)return + ! constants ... + rho_inv = 1.d0/rho + cst_13 = 1.d0/3.d0 + cst_23 = 2.d0 * cst_13 + cst_43 = 4.d0 * cst_13 + cst_53 = 5.d0 * cst_13 + cst_18 = 1.d0/8.d0 + cst_3pi2 = 3.d0 * pi*pi + drho2 = max(grad_rho_2,thr) + drho = dsqrt(drho2) + if((nup-ndo).gt.0.d0)then + spin_d = max(nup-ndo,thr) + else + spin_d = min(nup-ndo,-thr) + endif + c_1c = 0.64d0 + c_2c = 1.5d0 + d_c = 0.7d0 + b_1c = 0.0285764d0 + b_2c = 0.0889d0 + b_3c = 0.125541d0 + gama = 0.031091d0 + ! correlation energy lsda1 + call ec_only_lda_sr(0.d0,nup,ndo,e_c_lsda1) + + ! correlation energy per particle + e_c_lsda1 = e_c_lsda1/rho + xi = spin_d/rho + rs = (cst_43 * pi * rho)**(-cst_13) + s = drho/( 2.d0 * cst_3pi2**(cst_13) * rho**cst_43 ) + t_w = drho2 * cst_18 * rho_inv + ds_xi = 0.5d0 * ( (1.d0+xi)**cst_53 + (1.d0 - xi)**cst_53) + t_unif = 0.3d0 * (cst_3pi2)**cst_23 * rho**cst_53*ds_xi + t_unif = max(t_unif,thr) + alpha = (tau - t_w)/t_unif + cst_1alph= 1.d0 - alpha + if(cst_1alph.gt.0.d0)then + cst_1alph= max(cst_1alph,thr) + else + cst_1alph= min(cst_1alph,-thr) + endif + inv_1alph= 1.d0/cst_1alph + phi = 0.5d0 * ( (1.d0+xi)**cst_23 + (1.d0 - xi)**cst_23) + phi_3 = phi*phi*phi + t = (cst_3pi2/16.d0)**cst_13 * s / (phi * rs**0.5d0) + w_1 = dexp(-e_c_lsda1/(gama * phi_3)) - 1.d0 + a = beta_rs(rs) /(gama * w_1) + g_at2 = 1.d0/(1.d0 + 4.d0 * a*t*t)**0.25d0 + h1 = gama * phi_3 * dlog(1.d0 + w_1 * (1.d0 - g_at2)) + ! interpolation function + + if(cst_1alph.gt.0.d0)then + fc_alpha = dexp(-c_1c * alpha * inv_1alph) + else + fc_alpha = - d_c * dexp(c_2c * inv_1alph) + endif + ! first part of the correlation energy + e_c_1 = e_c_lsda1 + h1 + + dx_xi = 0.5d0 * ( (1.d0+xi)**cst_43 + (1.d0 - xi)**cst_43) + gc_xi = (1.d0 - 2.3631d0 * (dx_xi - 1.d0) ) * (1.d0 - xi**12.d0) + e_c_lsda0= - b_1c / (1.d0 + b_2c * rs**0.5d0 + b_3c * rs) + w_0 = dexp(-e_c_lsda0/b_1c) - 1.d0 + beta_inf = 0.066725d0 * 0.1d0 / 0.1778d0 + cx_xi = -3.d0/(4.d0*pi) * (9.d0 * pi/4.d0)**cst_13 * dx_xi + + x_inf = 0.128026d0 + f0 = -0.9d0 + g_inf = 1.d0/(1.d0 + 4.d0 * x_inf * s*s)**0.25d0 + + h0 = b_1c * dlog(1.d0 + w_0 * (1.d0 - g_inf)) + e_c_0 = (e_c_lsda0 + h0) * gc_xi + + ec_scan = e_c_1 + fc_alpha * (e_c_0 - e_c_1) +end + + +double precision function beta_rs(rs) + implicit none + double precision, intent(in) ::rs + beta_rs = 0.066725d0 * (1.d0 + 0.1d0 * rs)/(1.d0 + 0.1778d0 * rs) + +end + + +double precision function step_f(x) + implicit none + double precision, intent(in) :: x + if(x.lt.0.d0)then + step_f = 0.d0 + else + step_f = 1.d0 + endif +end diff --git a/src/dft_utils_one_e/rho_ab_to_rho_tot.irp.f b/src/dft_utils_one_e/rho_ab_to_rho_tot.irp.f index 272a49bb..919543fe 100644 --- a/src/dft_utils_one_e/rho_ab_to_rho_tot.irp.f +++ b/src/dft_utils_one_e/rho_ab_to_rho_tot.irp.f @@ -1,5 +1,10 @@ subroutine rho_ab_to_rho_oc(rho_a,rho_b,rho_o,rho_c) implicit none + BEGIN_DOC +! convert rho_alpha, rho_beta to rho_c, rho_o +! +! rho_c = total density, rho_o spin density + END_DOC double precision, intent(in) :: rho_a,rho_b double precision, intent(out) :: rho_o,rho_c rho_c=rho_a+rho_b @@ -8,6 +13,11 @@ end subroutine rho_oc_to_rho_ab(rho_o,rho_c,rho_a,rho_b) implicit none + BEGIN_DOC +! convert rho_c, rho_o to rho_alpha, rho_beta +! +! rho_c = total density, rho_o spin density + END_DOC double precision, intent(in) :: rho_o,rho_c double precision, intent(out) :: rho_a,rho_b rho_a= 0.5d0*(rho_c+rho_o) @@ -18,6 +28,13 @@ end subroutine grad_rho_ab_to_grad_rho_oc(grad_rho_a_2,grad_rho_b_2,grad_rho_a_b,grad_rho_o_2,grad_rho_c_2,grad_rho_o_c) implicit none + BEGIN_DOC +! convert (grad_rho_a_2, grad_rho_b_2, grad_rho_a.grad_rho_b, ) +! +! to (grad_rho_c_2, grad_rho_o_2, grad_rho_o.grad_rho_c) +! +! rho_c = total density, rho_o spin density + END_DOC double precision, intent(in) :: grad_rho_a_2,grad_rho_b_2,grad_rho_a_b double precision, intent(out) :: grad_rho_o_2,grad_rho_c_2,grad_rho_o_c grad_rho_c_2 = grad_rho_a_2 + grad_rho_b_2 + 2d0*grad_rho_a_b @@ -28,6 +45,11 @@ end subroutine v_rho_ab_to_v_rho_oc(v_rho_a,v_rho_b,v_rho_o,v_rho_c) + BEGIN_DOC +! convert v_rho_alpha, v_rho_beta to v_rho_c, v_rho_o +! +! rho_c = total density, rho_o spin density + END_DOC implicit none double precision, intent(in) :: v_rho_a,v_rho_b double precision, intent(out) :: v_rho_o,v_rho_c @@ -37,6 +59,11 @@ end subroutine v_rho_oc_to_v_rho_ab(v_rho_o,v_rho_c,v_rho_a,v_rho_b) implicit none + BEGIN_DOC +! convert v_rho_alpha, v_rho_beta to v_rho_c, v_rho_o +! +! rho_c = total density, rho_o spin density + END_DOC double precision, intent(in) :: v_rho_o,v_rho_c double precision, intent(out) :: v_rho_a,v_rho_b v_rho_a = v_rho_c + v_rho_o @@ -47,6 +74,13 @@ end subroutine v_grad_rho_oc_to_v_grad_rho_ab(v_grad_rho_o_2,v_grad_rho_c_2,v_grad_rho_o_c,v_grad_rho_a_2,v_grad_rho_b_2,v_grad_rho_a_b) implicit none + BEGIN_DOC +! convert (v_grad_rho_c_2, v_grad_rho_o_2, v_grad_rho_o.grad_rho_c) +! +! to (v_grad_rho_a_2, v_grad_rho_b_2, v_grad_rho_a.grad_rho_b) +! +! rho_c = total density, rho_o spin density + END_DOC double precision, intent(in) :: v_grad_rho_o_2,v_grad_rho_c_2,v_grad_rho_o_c double precision, intent(out) :: v_grad_rho_a_2,v_grad_rho_b_2,v_grad_rho_a_b v_grad_rho_a_2 = v_grad_rho_o_2 + v_grad_rho_c_2 + v_grad_rho_o_c diff --git a/src/dft_utils_one_e/exc_sr_lda.irp.f b/src/dft_utils_one_e/routines_exc_sr_lda.irp.f similarity index 100% rename from src/dft_utils_one_e/exc_sr_lda.irp.f rename to src/dft_utils_one_e/routines_exc_sr_lda.irp.f diff --git a/src/dft_utils_one_e/exc_sr_pbe.irp.f b/src/dft_utils_one_e/routines_exc_sr_pbe.irp.f similarity index 96% rename from src/dft_utils_one_e/exc_sr_pbe.irp.f rename to src/dft_utils_one_e/routines_exc_sr_pbe.irp.f index 4188ebc6..fe4cb40e 100644 --- a/src/dft_utils_one_e/exc_sr_pbe.irp.f +++ b/src/dft_utils_one_e/routines_exc_sr_pbe.irp.f @@ -189,16 +189,27 @@ end subroutine ex_pbe_sr(mu,rho_a,rho_b,grd_rho_a_2,grd_rho_b_2,grd_rho_a_b,ex,vx_rho_a,vx_rho_b,vx_grd_rho_a_2,vx_grd_rho_b_2,vx_grd_rho_a_b) BEGIN_DOC !mu = range separation parameter +! !rho_a = density alpha +! !rho_b = density beta +! !grd_rho_a_2 = (gradient rho_a)^2 +! !grd_rho_b_2 = (gradient rho_b)^2 +! !grd_rho_a_b = (gradient rho_a).(gradient rho_b) +! !ex = exchange energy density at the density and corresponding gradients of the density +! !vx_rho_a = d ex / d rho_a +! !vx_rho_b = d ex / d rho_b +! !vx_grd_rho_a_2 = d ex / d grd_rho_a_2 +! !vx_grd_rho_b_2 = d ex / d grd_rho_b_2 +! !vx_grd_rho_a_b = d ex / d grd_rho_a_b END_DOC @@ -313,10 +324,15 @@ END_DOC subroutine ex_pbe_sr_only(mu,rho_a,rho_b,grd_rho_a_2,grd_rho_b_2,grd_rho_a_b,ex) BEGIN_DOC !rho_a = density alpha +! !rho_b = density beta +! !grd_rho_a_2 = (gradient rho_a)^2 +! !grd_rho_b_2 = (gradient rho_b)^2 +! !grd_rho_a_b = (gradient rho_a).(gradient rho_b) +! !ex = exchange energy density at point r END_DOC diff --git a/src/dft_utils_one_e/sr_exc.irp.f b/src/dft_utils_one_e/sr_exc.irp.f deleted file mode 100644 index c6bfcd09..00000000 --- a/src/dft_utils_one_e/sr_exc.irp.f +++ /dev/null @@ -1,86 +0,0 @@ - - - BEGIN_PROVIDER[double precision, energy_sr_x_lda, (N_states) ] -&BEGIN_PROVIDER[double precision, energy_sr_c_lda, (N_states) ] - implicit none - BEGIN_DOC -! exchange/correlation energy with the short range lda functional - END_DOC - integer :: istate,i,j - double precision :: r(3) - double precision :: mu,weight - double precision :: e_c,vc_a,vc_b,e_x,vx_a,vx_b - double precision, allocatable :: rhoa(:),rhob(:) - allocate(rhoa(N_states), rhob(N_states)) - energy_sr_x_lda = 0.d0 - energy_sr_c_lda = 0.d0 - do istate = 1, N_states - do i = 1, n_points_final_grid - r(1) = final_grid_points(1,i) - r(2) = final_grid_points(2,i) - r(3) = final_grid_points(3,i) - weight = final_weight_at_r_vector(i) - rhoa(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) - rhob(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) - call ec_lda_sr(mu_erf_dft,rhoa(istate),rhob(istate),e_c,vc_a,vc_b) - call ex_lda_sr(mu_erf_dft,rhoa(istate),rhob(istate),e_x,vx_a,vx_b) - energy_sr_x_lda(istate) += weight * e_x - energy_sr_c_lda(istate) += weight * e_c - enddo - enddo - - END_PROVIDER - - BEGIN_PROVIDER[double precision, energy_sr_x_pbe, (N_states) ] -&BEGIN_PROVIDER[double precision, energy_sr_c_pbe, (N_states) ] - implicit none - BEGIN_DOC -! exchange/correlation energy with the short range pbe functional - END_DOC - integer :: istate,i,j,m - double precision :: r(3) - double precision :: mu,weight - double precision, allocatable :: ex(:), ec(:) - double precision, allocatable :: rho_a(:),rho_b(:),grad_rho_a(:,:),grad_rho_b(:,:),grad_rho_a_2(:),grad_rho_b_2(:),grad_rho_a_b(:) - double precision, allocatable :: contrib_grad_xa(:,:),contrib_grad_xb(:,:),contrib_grad_ca(:,:),contrib_grad_cb(:,:) - double precision, allocatable :: vc_rho_a(:), vc_rho_b(:), vx_rho_a(:), vx_rho_b(:) - double precision, allocatable :: vx_grad_rho_a_2(:), vx_grad_rho_b_2(:), vx_grad_rho_a_b(:), vc_grad_rho_a_2(:), vc_grad_rho_b_2(:), vc_grad_rho_a_b(:) - allocate(vc_rho_a(N_states), vc_rho_b(N_states), vx_rho_a(N_states), vx_rho_b(N_states)) - allocate(vx_grad_rho_a_2(N_states), vx_grad_rho_b_2(N_states), vx_grad_rho_a_b(N_states), vc_grad_rho_a_2(N_states), vc_grad_rho_b_2(N_states), vc_grad_rho_a_b(N_states)) - - - allocate(rho_a(N_states), rho_b(N_states),grad_rho_a(3,N_states),grad_rho_b(3,N_states)) - allocate(grad_rho_a_2(N_states),grad_rho_b_2(N_states),grad_rho_a_b(N_states), ex(N_states), ec(N_states)) - energy_sr_x_pbe = 0.d0 - energy_sr_c_pbe = 0.d0 - do istate = 1, N_states - do i = 1, n_points_final_grid - r(1) = final_grid_points(1,i) - r(2) = final_grid_points(2,i) - r(3) = final_grid_points(3,i) - weight = final_weight_at_r_vector(i) - rho_a(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) - rho_b(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) - grad_rho_a(1:3,istate) = one_e_dm_and_grad_alpha_in_r(1:3,i,istate) - grad_rho_b(1:3,istate) = one_e_dm_and_grad_beta_in_r(1:3,i,istate) - grad_rho_a_2 = 0.d0 - grad_rho_b_2 = 0.d0 - grad_rho_a_b = 0.d0 - do m = 1, 3 - grad_rho_a_2(istate) += grad_rho_a(m,istate) * grad_rho_a(m,istate) - grad_rho_b_2(istate) += grad_rho_b(m,istate) * grad_rho_b(m,istate) - grad_rho_a_b(istate) += grad_rho_a(m,istate) * grad_rho_b(m,istate) - enddo - - ! inputs - call GGA_sr_type_functionals(r,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange - ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & ! outputs correlation - ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) - energy_sr_x_pbe += ex * weight - energy_sr_c_pbe += ec * weight - enddo - enddo - - -END_PROVIDER - From f4fa819249fffc22690494a4dfcf5390d7667702 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Mon, 30 Mar 2020 17:40:24 +0200 Subject: [PATCH 045/138] cleaning in dft --- src/README.rst | 48 ++++++ src/dft_utils_one_e/utils.irp.f | 60 +++----- src/functionals/pbe.irp.f | 83 ++++------ src/functionals/sr_pbe.irp.f | 261 +++++++++++++++----------------- src/hartree_fock/10.hf.bats | 2 +- 5 files changed, 219 insertions(+), 235 deletions(-) diff --git a/src/README.rst b/src/README.rst index 9b987305..f4ca0e31 100644 --- a/src/README.rst +++ b/src/README.rst @@ -1,3 +1,51 @@ ========================== The core modules of the QP ========================== + +*** How are handled the DFT functionals in QP2 ? +================================================ + The Exchange and Correlation energies/potentials can be accessed by the following providers + energy_x + energy_c + potential_x_alpha_ao + potential_c_alpha_ao + potential_x_beta_ao + potential_c_beta_ao + + These providers are automatically linked to the providers of the actual exchange/correlation energies of a given functional + through the character keywords + "exchange_functional" + "correlation_functional" + + All the providers for the available functionals are in the folder "functionals", with one file "my_functional.irp.f" per functional. + + Ex : if "exchange_functional" == "sr_pbe", then energy_x will contain the exchange correlation functional defined in "functiona/sr_pbe.irp.f", which corresponds to the short-range PBE functional (at the value mu_erf for the range separation parameter) + + +*** How are handled the DFT functionals in QP2 ? +================================================ + + Creating a new functional and propagating it through the whole QP2 programs is easy as all dependencies are handled by a script. + + To do so, let us assume that the name of your functional is "my_func". + Then you just have to create the file "my_func.irp.f" in the folder "functional" which shoud contain + + +) if you're adding an exchange functional, then create the provider "energy_x_my_func" + + +) if you're adding a correlation functional, create the provider "energy_c_my_func" + + +) if you want to add the echange potentials, create the providers "potential_x_alpha_ao_my_func", "potential_x_beta_ao_my_func" which are the exchange potentials on the AO basis for the alpha/beta electrons + + +) if you want to add the correlation potentials, create the providers "potential_c_alpha_ao_my_func", "potential_c_beta_ao_my_func" which are the correlation potentials on the AO basis for the alpha/beta electrons + + That's all :) + + Then, when running whatever DFT calculation or accessing/using the providers: + energy_x + energy_c + potential_x_alpha_ao + potential_c_alpha_ao + potential_x_beta_ao + potential_c_beta_ao + + if exchange_functional = mu_func, then you will automatically have access to what you need, such as kohn sham orbital optimization and so on ... diff --git a/src/dft_utils_one_e/utils.irp.f b/src/dft_utils_one_e/utils.irp.f index 06ba4f30..faa97c11 100644 --- a/src/dft_utils_one_e/utils.irp.f +++ b/src/dft_utils_one_e/utils.irp.f @@ -1,58 +1,32 @@ -subroutine GGA_sr_type_functionals(r,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & +subroutine GGA_sr_type_functionals(mu,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) implicit none BEGIN_DOC ! routine that helps in building the x/c potentials on the AO basis for a GGA functional with a short-range interaction END_DOC - double precision, intent(in) :: r(3),rho_a(N_states),rho_b(N_states),grad_rho_a_2(N_states),grad_rho_b_2(N_states),grad_rho_a_b(N_states) - double precision, intent(out) :: ex(N_states),vx_rho_a(N_states),vx_rho_b(N_states),vx_grad_rho_a_2(N_states),vx_grad_rho_b_2(N_states),vx_grad_rho_a_b(N_states) - double precision, intent(out) :: ec(N_states),vc_rho_a(N_states),vc_rho_b(N_states),vc_grad_rho_a_2(N_states),vc_grad_rho_b_2(N_states),vc_grad_rho_a_b(N_states) - integer :: istate - double precision :: r2(3),dr2(3), local_potential,r12,dx2,mu - do istate = 1, N_states - call ex_pbe_sr(mu_erf_dft,rho_a(istate),rho_b(istate),grad_rho_a_2(istate),grad_rho_b_2(istate),grad_rho_a_b(istate),ex(istate),vx_rho_a(istate),vx_rho_b(istate),vx_grad_rho_a_2(istate),vx_grad_rho_b_2(istate),vx_grad_rho_a_b(istate)) - - double precision :: rhoc,rhoo,sigmacc,sigmaco,sigmaoo,vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo - ! convertion from (alpha,beta) formalism to (closed, open) formalism - call rho_ab_to_rho_oc(rho_a(istate),rho_b(istate),rhoo,rhoc) - call grad_rho_ab_to_grad_rho_oc(grad_rho_a_2(istate),grad_rho_b_2(istate),grad_rho_a_b(istate),sigmaoo,sigmacc,sigmaco) - - call ec_pbe_sr(mu_erf_dft,rhoc,rhoo,sigmacc,sigmaco,sigmaoo,ec(istate),vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo) - - call v_rho_oc_to_v_rho_ab(vrhoo,vrhoc,vc_rho_a(istate),vc_rho_b(istate)) - call v_grad_rho_oc_to_v_grad_rho_ab(vsigmaoo,vsigmacc,vsigmaco,vc_grad_rho_a_2(istate),vc_grad_rho_b_2(istate),vc_grad_rho_a_b(istate)) - enddo -end - - -subroutine GGA_type_functionals(r,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & - ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & - ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) - implicit none - BEGIN_DOC - ! routine that helps in building the x/c potentials on the AO basis for a GGA functional - END_DOC - double precision, intent(in) :: r(3),rho_a(N_states),rho_b(N_states),grad_rho_a_2(N_states),grad_rho_b_2(N_states),grad_rho_a_b(N_states) - double precision, intent(out) :: ex(N_states),vx_rho_a(N_states),vx_rho_b(N_states),vx_grad_rho_a_2(N_states),vx_grad_rho_b_2(N_states),vx_grad_rho_a_b(N_states) - double precision, intent(out) :: ec(N_states),vc_rho_a(N_states),vc_rho_b(N_states),vc_grad_rho_a_2(N_states),vc_grad_rho_b_2(N_states),vc_grad_rho_a_b(N_states) + double precision, intent(in) :: mu,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b + double precision, intent(out) :: ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b + double precision, intent(out) :: ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b integer :: istate double precision :: r2(3),dr2(3), local_potential,r12,dx2 - double precision :: mu_local - mu_local = 1.d-9 - do istate = 1, N_states - call ex_pbe_sr(mu_local,rho_a(istate),rho_b(istate),grad_rho_a_2(istate),grad_rho_b_2(istate),grad_rho_a_b(istate),ex(istate),vx_rho_a(istate),vx_rho_b(istate),vx_grad_rho_a_2(istate),vx_grad_rho_b_2(istate),vx_grad_rho_a_b(istate)) double precision :: rhoc,rhoo,sigmacc,sigmaco,sigmaoo,vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo - ! convertion from (alpha,beta) formalism to (closed, open) formalism - call rho_ab_to_rho_oc(rho_a(istate),rho_b(istate),rhoo,rhoc) - call grad_rho_ab_to_grad_rho_oc(grad_rho_a_2(istate),grad_rho_b_2(istate),grad_rho_a_b(istate),sigmaoo,sigmacc,sigmaco) - call ec_pbe_sr(mu_local,rhoc,rhoo,sigmacc,sigmaco,sigmaoo,ec(istate),vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo) + ! exhange energy and potentials + call ex_pbe_sr(mu,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b,ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b) - call v_rho_oc_to_v_rho_ab(vrhoo,vrhoc,vc_rho_a(istate),vc_rho_b(istate)) - call v_grad_rho_oc_to_v_grad_rho_ab(vsigmaoo,vsigmacc,vsigmaco,vc_grad_rho_a_2(istate),vc_grad_rho_b_2(istate),vc_grad_rho_a_b(istate)) - enddo + ! convertion from (alpha,beta) formalism to (closed, open) formalism + call rho_ab_to_rho_oc(rho_a,rho_b,rhoo,rhoc) + call grad_rho_ab_to_grad_rho_oc(grad_rho_a_2,grad_rho_b_2,grad_rho_a_b,sigmaoo,sigmacc,sigmaco) + + ! correlation energy and potentials + call ec_pbe_sr(mu,rhoc,rhoo,sigmacc,sigmaco,sigmaoo,ec,vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo) + + ! convertion from (closed, open) formalism to (alpha,beta) formalism + call v_rho_oc_to_v_rho_ab(vrhoo,vrhoc,vc_rho_a,vc_rho_b) + call v_grad_rho_oc_to_v_grad_rho_ab(vsigmaoo,vsigmacc,vsigmaco,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b) end + diff --git a/src/functionals/pbe.irp.f b/src/functionals/pbe.irp.f index f6122f89..48b0661d 100644 --- a/src/functionals/pbe.irp.f +++ b/src/functionals/pbe.irp.f @@ -6,7 +6,6 @@ ! exchange/correlation energy with the short range pbe functional END_DOC integer :: istate,i,j,m - double precision :: r(3) double precision :: mu,weight double precision, allocatable :: ex(:), ec(:) double precision, allocatable :: rho_a(:),rho_b(:),grad_rho_a(:,:),grad_rho_b(:,:),grad_rho_a_2(:),grad_rho_b_2(:),grad_rho_a_b(:) @@ -22,9 +21,6 @@ energy_x_pbe = 0.d0 do istate = 1, N_states do i = 1, n_points_final_grid - r(1) = final_grid_points(1,i) - r(2) = final_grid_points(2,i) - r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) rho_a(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) rho_b(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) @@ -40,7 +36,7 @@ enddo ! inputs - call GGA_type_functionals(r,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange + call GGA_sr_type_functionals(0.d0,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & ! outputs correlation ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) energy_x_pbe += ex * weight @@ -56,7 +52,6 @@ BEGIN_PROVIDER[double precision, energy_c_pbe, (N_states) ] ! exchange/correlation energy with the short range pbe functional END_DOC integer :: istate,i,j,m - double precision :: r(3) double precision :: mu,weight double precision, allocatable :: ex(:), ec(:) double precision, allocatable :: rho_a(:),rho_b(:),grad_rho_a(:,:),grad_rho_b(:,:),grad_rho_a_2(:),grad_rho_b_2(:),grad_rho_a_b(:) @@ -72,9 +67,6 @@ BEGIN_PROVIDER[double precision, energy_c_pbe, (N_states) ] energy_c_pbe = 0.d0 do istate = 1, N_states do i = 1, n_points_final_grid - r(1) = final_grid_points(1,i) - r(2) = final_grid_points(2,i) - r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) rho_a(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) rho_b(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) @@ -90,7 +82,7 @@ BEGIN_PROVIDER[double precision, energy_c_pbe, (N_states) ] enddo ! inputs - call GGA_type_functionals(r,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange + call GGA_sr_type_functionals(0.d0,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & ! outputs correlation ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) energy_c_pbe += ec * weight @@ -159,7 +151,6 @@ END_PROVIDER ! aos_vxc_alpha_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) END_DOC integer :: istate,i,j,m - double precision :: r(3) double precision :: mu,weight double precision, allocatable :: ex(:), ec(:) double precision, allocatable :: rho_a(:),rho_b(:),grad_rho_a(:,:),grad_rho_b(:,:),grad_rho_a_2(:),grad_rho_b_2(:),grad_rho_a_b(:) @@ -179,9 +170,6 @@ END_PROVIDER do istate = 1, N_states do i = 1, n_points_final_grid - r(1) = final_grid_points(1,i) - r(2) = final_grid_points(2,i) - r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) rho_a(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) rho_b(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) @@ -197,7 +185,7 @@ END_PROVIDER enddo ! inputs - call GGA_type_functionals(r,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange + call GGA_sr_type_functionals(0.d0,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & ! outputs correlation ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) vx_rho_a(istate) *= weight @@ -325,63 +313,54 @@ END_PROVIDER ! aos_vxc_alpha_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) END_DOC integer :: istate,i,j,m - double precision :: r(3) double precision :: mu,weight - double precision, allocatable :: ex(:), ec(:) - double precision, allocatable :: rho_a(:),rho_b(:),grad_rho_a(:,:),grad_rho_b(:,:),grad_rho_a_2(:),grad_rho_b_2(:),grad_rho_a_b(:) - double precision, allocatable :: contrib_grad_xa(:,:),contrib_grad_xb(:,:),contrib_grad_ca(:,:),contrib_grad_cb(:,:) - double precision, allocatable :: vc_rho_a(:), vc_rho_b(:), vx_rho_a(:), vx_rho_b(:) - double precision, allocatable :: vx_grad_rho_a_2(:), vx_grad_rho_b_2(:), vx_grad_rho_a_b(:), vc_grad_rho_a_2(:), vc_grad_rho_b_2(:), vc_grad_rho_a_b(:) - allocate(vc_rho_a(N_states), vc_rho_b(N_states), vx_rho_a(N_states), vx_rho_b(N_states)) - allocate(vx_grad_rho_a_2(N_states), vx_grad_rho_b_2(N_states), vx_grad_rho_a_b(N_states), vc_grad_rho_a_2(N_states), vc_grad_rho_b_2(N_states), vc_grad_rho_a_b(N_states)) - allocate(rho_a(N_states), rho_b(N_states),grad_rho_a(3,N_states),grad_rho_b(3,N_states)) - allocate(grad_rho_a_2(N_states),grad_rho_b_2(N_states),grad_rho_a_b(N_states), ex(N_states), ec(N_states)) - allocate(contrib_grad_xa(3,N_states),contrib_grad_xb(3,N_states),contrib_grad_ca(3,N_states),contrib_grad_cb(3,N_states)) + double precision :: ex, ec + double precision :: rho_a,rho_b,grad_rho_a(3),grad_rho_b(3),grad_rho_a_2,grad_rho_b_2,grad_rho_a_b + double precision :: contrib_grad_xa(3),contrib_grad_xb(3),contrib_grad_ca(3),contrib_grad_cb(3) + double precision :: vc_rho_a, vc_rho_b, vx_rho_a, vx_rho_b + double precision :: vx_grad_rho_a_2, vx_grad_rho_b_2, vx_grad_rho_a_b, vc_grad_rho_a_2, vc_grad_rho_b_2, vc_grad_rho_a_b aos_dvxc_alpha_pbe_w = 0.d0 aos_dvxc_beta_pbe_w = 0.d0 do istate = 1, N_states do i = 1, n_points_final_grid - r(1) = final_grid_points(1,i) - r(2) = final_grid_points(2,i) - r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) - rho_a(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) - rho_b(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) - grad_rho_a(1:3,istate) = one_e_dm_and_grad_alpha_in_r(1:3,i,istate) - grad_rho_b(1:3,istate) = one_e_dm_and_grad_beta_in_r(1:3,i,istate) + rho_a = one_e_dm_and_grad_alpha_in_r(4,i,istate) + rho_b = one_e_dm_and_grad_beta_in_r(4,i,istate) + grad_rho_a(1:3) = one_e_dm_and_grad_alpha_in_r(1:3,i,istate) + grad_rho_b(1:3) = one_e_dm_and_grad_beta_in_r(1:3,i,istate) grad_rho_a_2 = 0.d0 grad_rho_b_2 = 0.d0 grad_rho_a_b = 0.d0 do m = 1, 3 - grad_rho_a_2(istate) += grad_rho_a(m,istate) * grad_rho_a(m,istate) - grad_rho_b_2(istate) += grad_rho_b(m,istate) * grad_rho_b(m,istate) - grad_rho_a_b(istate) += grad_rho_a(m,istate) * grad_rho_b(m,istate) + grad_rho_a_2 += grad_rho_a(m) * grad_rho_a(m) + grad_rho_b_2 += grad_rho_b(m) * grad_rho_b(m) + grad_rho_a_b += grad_rho_a(m) * grad_rho_b(m) enddo - ! inputs - call GGA_type_functionals(r,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange - ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & ! outputs correlation - ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) - vx_rho_a(istate) *= weight - vc_rho_a(istate) *= weight - vx_rho_b(istate) *= weight - vc_rho_b(istate) *= weight + ! call exc_sr_pbe + call GGA_sr_type_functionals(0.d0,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! inputs + ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & ! outputs exchange + ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) ! outputs correlation + vx_rho_a *= weight + vc_rho_a *= weight + vx_rho_b *= weight + vc_rho_b *= weight do m= 1,3 - contrib_grad_ca(m,istate) = weight * (2.d0 * vc_grad_rho_a_2(istate) * grad_rho_a(m,istate) + vc_grad_rho_a_b(istate) * grad_rho_b(m,istate)) - contrib_grad_xa(m,istate) = weight * (2.d0 * vx_grad_rho_a_2(istate) * grad_rho_a(m,istate) + vx_grad_rho_a_b(istate) * grad_rho_b(m,istate)) - contrib_grad_cb(m,istate) = weight * (2.d0 * vc_grad_rho_b_2(istate) * grad_rho_b(m,istate) + vc_grad_rho_a_b(istate) * grad_rho_a(m,istate)) - contrib_grad_xb(m,istate) = weight * (2.d0 * vx_grad_rho_b_2(istate) * grad_rho_b(m,istate) + vx_grad_rho_a_b(istate) * grad_rho_a(m,istate)) + contrib_grad_ca(m) = weight * (2.d0 * vc_grad_rho_a_2 * grad_rho_a(m) + vc_grad_rho_a_b * grad_rho_b(m)) + contrib_grad_xa(m) = weight * (2.d0 * vx_grad_rho_a_2 * grad_rho_a(m) + vx_grad_rho_a_b * grad_rho_b(m)) + contrib_grad_cb(m) = weight * (2.d0 * vc_grad_rho_b_2 * grad_rho_b(m) + vc_grad_rho_a_b * grad_rho_a(m)) + contrib_grad_xb(m) = weight * (2.d0 * vx_grad_rho_b_2 * grad_rho_b(m) + vx_grad_rho_a_b * grad_rho_a(m)) enddo do j = 1, ao_num - aos_vxc_alpha_pbe_w(j,i,istate) = ( vc_rho_a(istate) + vx_rho_a(istate) ) * aos_in_r_array(j,i) - aos_vxc_beta_pbe_w (j,i,istate) = ( vc_rho_b(istate) + vx_rho_b(istate) ) * aos_in_r_array(j,i) + aos_vxc_alpha_pbe_w(j,i,istate) = ( vc_rho_a + vx_rho_a ) * aos_in_r_array(j,i) + aos_vxc_beta_pbe_w (j,i,istate) = ( vc_rho_b + vx_rho_b ) * aos_in_r_array(j,i) enddo do j = 1, ao_num do m = 1,3 - aos_dvxc_alpha_pbe_w(j,i,istate) += ( contrib_grad_ca(m,istate) + contrib_grad_xa(m,istate) ) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dvxc_beta_pbe_w (j,i,istate) += ( contrib_grad_cb(m,istate) + contrib_grad_xb(m,istate) ) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_dvxc_alpha_pbe_w(j,i,istate) += ( contrib_grad_ca(m) + contrib_grad_xa(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_dvxc_beta_pbe_w (j,i,istate) += ( contrib_grad_cb(m) + contrib_grad_xb(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) enddo enddo enddo diff --git a/src/functionals/sr_pbe.irp.f b/src/functionals/sr_pbe.irp.f index c0cd3cd1..46bd1f38 100644 --- a/src/functionals/sr_pbe.irp.f +++ b/src/functionals/sr_pbe.irp.f @@ -3,55 +3,95 @@ &BEGIN_PROVIDER[double precision, energy_c_sr_pbe, (N_states) ] implicit none BEGIN_DOC + ! exchange / correlation energies with the short-range version Perdew-Burke-Ernzerhof GGA functional + ! + ! defined in Chem. Phys.329, 276 (2006) + END_DOC + BEGIN_DOC ! exchange/correlation energy with the short range pbe functional END_DOC integer :: istate,i,j,m - double precision :: r(3) double precision :: mu,weight - double precision, allocatable :: ex(:), ec(:) - double precision, allocatable :: rho_a(:),rho_b(:),grad_rho_a(:,:),grad_rho_b(:,:),grad_rho_a_2(:),grad_rho_b_2(:),grad_rho_a_b(:) - double precision, allocatable :: contrib_grad_xa(:,:),contrib_grad_xb(:,:),contrib_grad_ca(:,:),contrib_grad_cb(:,:) - double precision, allocatable :: vc_rho_a(:), vc_rho_b(:), vx_rho_a(:), vx_rho_b(:) - double precision, allocatable :: vx_grad_rho_a_2(:), vx_grad_rho_b_2(:), vx_grad_rho_a_b(:), vc_grad_rho_a_2(:), vc_grad_rho_b_2(:), vc_grad_rho_a_b(:) - allocate(vc_rho_a(N_states), vc_rho_b(N_states), vx_rho_a(N_states), vx_rho_b(N_states)) - allocate(vx_grad_rho_a_2(N_states), vx_grad_rho_b_2(N_states), vx_grad_rho_a_b(N_states), vc_grad_rho_a_2(N_states), vc_grad_rho_b_2(N_states), vc_grad_rho_a_b(N_states)) + double precision, allocatable :: ex, ec + double precision :: rho_a,rho_b,grad_rho_a(3),grad_rho_b(3),grad_rho_a_2,grad_rho_b_2,grad_rho_a_b + double precision :: vc_rho_a, vc_rho_b, vx_rho_a, vx_rho_b + double precision :: vx_grad_rho_a_2, vx_grad_rho_b_2, vx_grad_rho_a_b, vc_grad_rho_a_2, vc_grad_rho_b_2, vc_grad_rho_a_b - allocate(rho_a(N_states), rho_b(N_states),grad_rho_a(3,N_states),grad_rho_b(3,N_states)) - allocate(grad_rho_a_2(N_states),grad_rho_b_2(N_states),grad_rho_a_b(N_states), ex(N_states), ec(N_states)) energy_x_sr_pbe = 0.d0 energy_c_sr_pbe = 0.d0 do istate = 1, N_states do i = 1, n_points_final_grid - r(1) = final_grid_points(1,i) - r(2) = final_grid_points(2,i) - r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) - rho_a(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) - rho_b(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) - grad_rho_a(1:3,istate) = one_e_dm_and_grad_alpha_in_r(1:3,i,istate) - grad_rho_b(1:3,istate) = one_e_dm_and_grad_beta_in_r(1:3,i,istate) + rho_a = one_e_dm_and_grad_alpha_in_r(4,i,istate) + rho_b = one_e_dm_and_grad_beta_in_r(4,i,istate) + grad_rho_a(1:3) = one_e_dm_and_grad_alpha_in_r(1:3,i,istate) + grad_rho_b(1:3) = one_e_dm_and_grad_beta_in_r(1:3,i,istate) grad_rho_a_2 = 0.d0 grad_rho_b_2 = 0.d0 grad_rho_a_b = 0.d0 do m = 1, 3 - grad_rho_a_2(istate) += grad_rho_a(m,istate) * grad_rho_a(m,istate) - grad_rho_b_2(istate) += grad_rho_b(m,istate) * grad_rho_b(m,istate) - grad_rho_a_b(istate) += grad_rho_a(m,istate) * grad_rho_b(m,istate) + grad_rho_a_2 += grad_rho_a(m) * grad_rho_a(m) + grad_rho_b_2 += grad_rho_b(m) * grad_rho_b(m) + grad_rho_a_b += grad_rho_a(m) * grad_rho_b(m) enddo ! inputs - call GGA_sr_type_functionals(r,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange + call GGA_sr_type_functionals(mu_erf_dft,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & ! outputs correlation ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) - energy_x_sr_pbe += ex * weight - energy_c_sr_pbe += ec * weight + energy_x_sr_pbe(istate) += ex * weight + energy_c_sr_pbe(istate) += ec * weight enddo enddo END_PROVIDER + BEGIN_PROVIDER [double precision, potential_x_alpha_ao_sr_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, potential_x_beta_ao_sr_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, potential_c_alpha_ao_sr_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, potential_c_beta_ao_sr_pbe,(ao_num,ao_num,N_states)] + implicit none + BEGIN_DOC + ! exchange / correlation potential for alpha / beta electrons with the short-range version Perdew-Burke-Ernzerhof GGA functional + ! + ! defined in Chem. Phys.329, 276 (2006) + END_DOC + integer :: i,j,istate + do istate = 1, n_states + do i = 1, ao_num + do j = 1, ao_num + potential_x_alpha_ao_sr_pbe(j,i,istate) = pot_sr_scal_x_alpha_ao_pbe(j,i,istate) + pot_sr_grad_x_alpha_ao_pbe(j,i,istate) + pot_sr_grad_x_alpha_ao_pbe(i,j,istate) + potential_x_beta_ao_sr_pbe(j,i,istate) = pot_sr_scal_x_beta_ao_pbe(j,i,istate) + pot_sr_grad_x_beta_ao_pbe(j,i,istate) + pot_sr_grad_x_beta_ao_pbe(i,j,istate) + + potential_c_alpha_ao_sr_pbe(j,i,istate) = pot_sr_scal_c_alpha_ao_pbe(j,i,istate) + pot_sr_grad_c_alpha_ao_pbe(j,i,istate) + pot_sr_grad_c_alpha_ao_pbe(i,j,istate) + potential_c_beta_ao_sr_pbe(j,i,istate) = pot_sr_scal_c_beta_ao_pbe(j,i,istate) + pot_sr_grad_c_beta_ao_pbe(j,i,istate) + pot_sr_grad_c_beta_ao_pbe(i,j,istate) + enddo + enddo + enddo + +END_PROVIDER + + BEGIN_PROVIDER [double precision, potential_xc_alpha_ao_sr_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, potential_xc_beta_ao_sr_pbe,(ao_num,ao_num,N_states)] + implicit none + BEGIN_DOC + ! exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional + END_DOC + integer :: i,j,istate + do istate = 1, n_states + do i = 1, ao_num + do j = 1, ao_num + potential_xc_alpha_ao_sr_pbe(j,i,istate) = pot_sr_scal_xc_alpha_ao_pbe(j,i,istate) + pot_sr_grad_xc_alpha_ao_pbe(j,i,istate) + pot_sr_grad_xc_alpha_ao_pbe(i,j,istate) + potential_xc_beta_ao_sr_pbe(j,i,istate) = pot_sr_scal_xc_beta_ao_pbe(j,i,istate) + pot_sr_grad_xc_beta_ao_pbe(j,i,istate) + pot_sr_grad_xc_beta_ao_pbe(i,j,istate) + enddo + enddo + enddo + +END_PROVIDER + + BEGIN_PROVIDER[double precision, aos_sr_vc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] &BEGIN_PROVIDER[double precision, aos_sr_vc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] @@ -63,72 +103,64 @@ END_PROVIDER &BEGIN_PROVIDER[double precision, aos_dsr_vx_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] implicit none BEGIN_DOC +! intermediates to compute the sr_pbe potentials +! ! aos_sr_vxc_alpha_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) END_DOC integer :: istate,i,j,m - double precision :: r(3) double precision :: mu,weight - double precision, allocatable :: ex(:), ec(:) - double precision, allocatable :: rho_a(:),rho_b(:),grad_rho_a(:,:),grad_rho_b(:,:),grad_rho_a_2(:),grad_rho_b_2(:),grad_rho_a_b(:) - double precision, allocatable :: contrib_grad_xa(:,:),contrib_grad_xb(:,:),contrib_grad_ca(:,:),contrib_grad_cb(:,:) - double precision, allocatable :: vc_rho_a(:), vc_rho_b(:), vx_rho_a(:), vx_rho_b(:) - double precision, allocatable :: vx_grad_rho_a_2(:), vx_grad_rho_b_2(:), vx_grad_rho_a_b(:), vc_grad_rho_a_2(:), vc_grad_rho_b_2(:), vc_grad_rho_a_b(:) - allocate(vc_rho_a(N_states), vc_rho_b(N_states), vx_rho_a(N_states), vx_rho_b(N_states)) - allocate(vx_grad_rho_a_2(N_states), vx_grad_rho_b_2(N_states), vx_grad_rho_a_b(N_states), vc_grad_rho_a_2(N_states), vc_grad_rho_b_2(N_states), vc_grad_rho_a_b(N_states)) - - - allocate(rho_a(N_states), rho_b(N_states),grad_rho_a(3,N_states),grad_rho_b(3,N_states)) - allocate(grad_rho_a_2(N_states),grad_rho_b_2(N_states),grad_rho_a_b(N_states), ex(N_states), ec(N_states)) - allocate(contrib_grad_xa(3,N_states),contrib_grad_xb(3,N_states),contrib_grad_ca(3,N_states),contrib_grad_cb(3,N_states)) + double precision :: ex, ec + double precision :: rho_a,rho_b,grad_rho_a(3),grad_rho_b(3),grad_rho_a_2,grad_rho_b_2,grad_rho_a_b + double precision :: contrib_grad_xa(3),contrib_grad_xb(3),contrib_grad_ca(3),contrib_grad_cb(3) + double precision :: vc_rho_a, vc_rho_b, vx_rho_a, vx_rho_b + double precision :: vx_grad_rho_a_2, vx_grad_rho_b_2, vx_grad_rho_a_b, vc_grad_rho_a_2, vc_grad_rho_b_2, vc_grad_rho_a_b aos_dsr_vc_alpha_pbe_w= 0.d0 aos_dsr_vc_beta_pbe_w = 0.d0 aos_dsr_vx_alpha_pbe_w= 0.d0 aos_dsr_vx_beta_pbe_w = 0.d0 do istate = 1, N_states do i = 1, n_points_final_grid - r(1) = final_grid_points(1,i) - r(2) = final_grid_points(2,i) - r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) - rho_a(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) - rho_b(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) - grad_rho_a(1:3,istate) = one_e_dm_and_grad_alpha_in_r(1:3,i,istate) - grad_rho_b(1:3,istate) = one_e_dm_and_grad_beta_in_r(1:3,i,istate) + + rho_a = one_e_dm_and_grad_alpha_in_r(4,i,istate) + rho_b = one_e_dm_and_grad_beta_in_r(4,i,istate) + grad_rho_a(1:3) = one_e_dm_and_grad_alpha_in_r(1:3,i,istate) + grad_rho_b(1:3) = one_e_dm_and_grad_beta_in_r(1:3,i,istate) grad_rho_a_2 = 0.d0 grad_rho_b_2 = 0.d0 grad_rho_a_b = 0.d0 do m = 1, 3 - grad_rho_a_2(istate) += grad_rho_a(m,istate) * grad_rho_a(m,istate) - grad_rho_b_2(istate) += grad_rho_b(m,istate) * grad_rho_b(m,istate) - grad_rho_a_b(istate) += grad_rho_a(m,istate) * grad_rho_b(m,istate) + grad_rho_a_2 += grad_rho_a(m) * grad_rho_a(m) + grad_rho_b_2 += grad_rho_b(m) * grad_rho_b(m) + grad_rho_a_b += grad_rho_a(m) * grad_rho_b(m) enddo ! inputs - call GGA_sr_type_functionals(r,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange + call GGA_sr_type_functionals(mu_erf_dft,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & ! outputs correlation ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) - vx_rho_a(istate) *= weight - vc_rho_a(istate) *= weight - vx_rho_b(istate) *= weight - vc_rho_b(istate) *= weight + vx_rho_a *= weight + vc_rho_a *= weight + vx_rho_b *= weight + vc_rho_b *= weight do m= 1,3 - contrib_grad_ca(m,istate) = weight * (2.d0 * vc_grad_rho_a_2(istate) * grad_rho_a(m,istate) + vc_grad_rho_a_b(istate) * grad_rho_b(m,istate)) - contrib_grad_xa(m,istate) = weight * (2.d0 * vx_grad_rho_a_2(istate) * grad_rho_a(m,istate) + vx_grad_rho_a_b(istate) * grad_rho_b(m,istate)) - contrib_grad_cb(m,istate) = weight * (2.d0 * vc_grad_rho_b_2(istate) * grad_rho_b(m,istate) + vc_grad_rho_a_b(istate) * grad_rho_a(m,istate)) - contrib_grad_xb(m,istate) = weight * (2.d0 * vx_grad_rho_b_2(istate) * grad_rho_b(m,istate) + vx_grad_rho_a_b(istate) * grad_rho_a(m,istate)) + contrib_grad_ca(m) = weight * (2.d0 * vc_grad_rho_a_2 * grad_rho_a(m) + vc_grad_rho_a_b * grad_rho_b(m) ) + contrib_grad_xa(m) = weight * (2.d0 * vx_grad_rho_a_2 * grad_rho_a(m) + vx_grad_rho_a_b * grad_rho_b(m) ) + contrib_grad_cb(m) = weight * (2.d0 * vc_grad_rho_b_2 * grad_rho_b(m) + vc_grad_rho_a_b * grad_rho_a(m) ) + contrib_grad_xb(m) = weight * (2.d0 * vx_grad_rho_b_2 * grad_rho_b(m) + vx_grad_rho_a_b * grad_rho_a(m) ) enddo do j = 1, ao_num - aos_sr_vc_alpha_pbe_w(j,i,istate) = vc_rho_a(istate) * aos_in_r_array(j,i) - aos_sr_vc_beta_pbe_w (j,i,istate) = vc_rho_b(istate) * aos_in_r_array(j,i) - aos_sr_vx_alpha_pbe_w(j,i,istate) = vx_rho_a(istate) * aos_in_r_array(j,i) - aos_sr_vx_beta_pbe_w (j,i,istate) = vx_rho_b(istate) * aos_in_r_array(j,i) + aos_sr_vc_alpha_pbe_w(j,i,istate) = vc_rho_a * aos_in_r_array(j,i) + aos_sr_vc_beta_pbe_w (j,i,istate) = vc_rho_b * aos_in_r_array(j,i) + aos_sr_vx_alpha_pbe_w(j,i,istate) = vx_rho_a * aos_in_r_array(j,i) + aos_sr_vx_beta_pbe_w (j,i,istate) = vx_rho_b * aos_in_r_array(j,i) enddo do j = 1, ao_num do m = 1,3 - aos_dsr_vc_alpha_pbe_w(j,i,istate) += contrib_grad_ca(m,istate) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dsr_vc_beta_pbe_w (j,i,istate) += contrib_grad_cb(m,istate) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dsr_vx_alpha_pbe_w(j,i,istate) += contrib_grad_xa(m,istate) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dsr_vx_beta_pbe_w (j,i,istate) += contrib_grad_xb(m,istate) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_dsr_vc_alpha_pbe_w(j,i,istate) += contrib_grad_ca(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_dsr_vc_beta_pbe_w (j,i,istate) += contrib_grad_cb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_dsr_vx_alpha_pbe_w(j,i,istate) += contrib_grad_xa(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_dsr_vx_beta_pbe_w (j,i,istate) += contrib_grad_xb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) enddo enddo enddo @@ -142,6 +174,8 @@ END_PROVIDER &BEGIN_PROVIDER [double precision, pot_sr_scal_x_beta_ao_pbe, (ao_num,ao_num,N_states)] &BEGIN_PROVIDER [double precision, pot_sr_scal_c_beta_ao_pbe, (ao_num,ao_num,N_states)] implicit none +! intermediates to compute the sr_pbe potentials +! integer :: istate BEGIN_DOC ! intermediate quantity for the calculation of the vxc potentials for the GGA functionals related to the scalar part of the potential @@ -222,29 +256,6 @@ END_PROVIDER END_PROVIDER - BEGIN_PROVIDER [double precision, potential_x_alpha_ao_sr_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, potential_x_beta_ao_sr_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, potential_c_alpha_ao_sr_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, potential_c_beta_ao_sr_pbe,(ao_num,ao_num,N_states)] - implicit none - BEGIN_DOC - ! exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional - END_DOC - integer :: i,j,istate - do istate = 1, n_states - do i = 1, ao_num - do j = 1, ao_num - potential_x_alpha_ao_sr_pbe(j,i,istate) = pot_sr_scal_x_alpha_ao_pbe(j,i,istate) + pot_sr_grad_x_alpha_ao_pbe(j,i,istate) + pot_sr_grad_x_alpha_ao_pbe(i,j,istate) - potential_x_beta_ao_sr_pbe(j,i,istate) = pot_sr_scal_x_beta_ao_pbe(j,i,istate) + pot_sr_grad_x_beta_ao_pbe(j,i,istate) + pot_sr_grad_x_beta_ao_pbe(i,j,istate) - - potential_c_alpha_ao_sr_pbe(j,i,istate) = pot_sr_scal_c_alpha_ao_pbe(j,i,istate) + pot_sr_grad_c_alpha_ao_pbe(j,i,istate) + pot_sr_grad_c_alpha_ao_pbe(i,j,istate) - potential_c_beta_ao_sr_pbe(j,i,istate) = pot_sr_scal_c_beta_ao_pbe(j,i,istate) + pot_sr_grad_c_beta_ao_pbe(j,i,istate) + pot_sr_grad_c_beta_ao_pbe(i,j,istate) - enddo - enddo - enddo - -END_PROVIDER - BEGIN_PROVIDER[double precision, aos_sr_vxc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] &BEGIN_PROVIDER[double precision, aos_sr_vxc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] @@ -255,65 +266,54 @@ END_PROVIDER ! aos_sr_vxc_alpha_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) END_DOC integer :: istate,i,j,m - double precision :: r(3) double precision :: mu,weight - double precision, allocatable :: ex(:), ec(:) - double precision, allocatable :: rho_a(:),rho_b(:),grad_rho_a(:,:),grad_rho_b(:,:),grad_rho_a_2(:),grad_rho_b_2(:),grad_rho_a_b(:) - double precision, allocatable :: contrib_grad_xa(:,:),contrib_grad_xb(:,:),contrib_grad_ca(:,:),contrib_grad_cb(:,:) - double precision, allocatable :: vc_rho_a(:), vc_rho_b(:), vx_rho_a(:), vx_rho_b(:) - double precision, allocatable :: vx_grad_rho_a_2(:), vx_grad_rho_b_2(:), vx_grad_rho_a_b(:), vc_grad_rho_a_2(:), vc_grad_rho_b_2(:), vc_grad_rho_a_b(:) - allocate(vc_rho_a(N_states), vc_rho_b(N_states), vx_rho_a(N_states), vx_rho_b(N_states)) - allocate(vx_grad_rho_a_2(N_states), vx_grad_rho_b_2(N_states), vx_grad_rho_a_b(N_states), vc_grad_rho_a_2(N_states), vc_grad_rho_b_2(N_states), vc_grad_rho_a_b(N_states)) - - - allocate(rho_a(N_states), rho_b(N_states),grad_rho_a(3,N_states),grad_rho_b(3,N_states)) - allocate(grad_rho_a_2(N_states),grad_rho_b_2(N_states),grad_rho_a_b(N_states), ex(N_states), ec(N_states)) - allocate(contrib_grad_xa(3,N_states),contrib_grad_xb(3,N_states),contrib_grad_ca(3,N_states),contrib_grad_cb(3,N_states)) + double precision :: ex, ec + double precision :: rho_a,rho_b,grad_rho_a(3),grad_rho_b(3),grad_rho_a_2,grad_rho_b_2,grad_rho_a_b + double precision :: contrib_grad_xa(3),contrib_grad_xb(3),contrib_grad_ca(3),contrib_grad_cb(3) + double precision :: vc_rho_a, vc_rho_b, vx_rho_a, vx_rho_b + double precision :: vx_grad_rho_a_2, vx_grad_rho_b_2, vx_grad_rho_a_b, vc_grad_rho_a_2, vc_grad_rho_b_2, vc_grad_rho_a_b aos_dsr_vxc_alpha_pbe_w = 0.d0 aos_dsr_vxc_beta_pbe_w = 0.d0 do istate = 1, N_states do i = 1, n_points_final_grid - r(1) = final_grid_points(1,i) - r(2) = final_grid_points(2,i) - r(3) = final_grid_points(3,i) weight = final_weight_at_r_vector(i) - rho_a(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) - rho_b(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) - grad_rho_a(1:3,istate) = one_e_dm_and_grad_alpha_in_r(1:3,i,istate) - grad_rho_b(1:3,istate) = one_e_dm_and_grad_beta_in_r(1:3,i,istate) + rho_a = one_e_dm_and_grad_alpha_in_r(4,i,istate) + rho_b = one_e_dm_and_grad_beta_in_r(4,i,istate) + grad_rho_a(1:3) = one_e_dm_and_grad_alpha_in_r(1:3,i,istate) + grad_rho_b(1:3) = one_e_dm_and_grad_beta_in_r(1:3,i,istate) grad_rho_a_2 = 0.d0 grad_rho_b_2 = 0.d0 grad_rho_a_b = 0.d0 do m = 1, 3 - grad_rho_a_2(istate) += grad_rho_a(m,istate) * grad_rho_a(m,istate) - grad_rho_b_2(istate) += grad_rho_b(m,istate) * grad_rho_b(m,istate) - grad_rho_a_b(istate) += grad_rho_a(m,istate) * grad_rho_b(m,istate) + grad_rho_a_2 += grad_rho_a(m) * grad_rho_a(m) + grad_rho_b_2 += grad_rho_b(m) * grad_rho_b(m) + grad_rho_a_b += grad_rho_a(m) * grad_rho_b(m) enddo ! inputs - call GGA_sr_type_functionals(r,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange + call GGA_sr_type_functionals(mu_erf_dft,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & ! outputs correlation ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) - vx_rho_a(istate) *= weight - vc_rho_a(istate) *= weight - vx_rho_b(istate) *= weight - vc_rho_b(istate) *= weight + vx_rho_a *= weight + vc_rho_a *= weight + vx_rho_b *= weight + vc_rho_b *= weight do m= 1,3 - contrib_grad_ca(m,istate) = weight * (2.d0 * vc_grad_rho_a_2(istate) * grad_rho_a(m,istate) + vc_grad_rho_a_b(istate) * grad_rho_b(m,istate)) - contrib_grad_xa(m,istate) = weight * (2.d0 * vx_grad_rho_a_2(istate) * grad_rho_a(m,istate) + vx_grad_rho_a_b(istate) * grad_rho_b(m,istate)) - contrib_grad_cb(m,istate) = weight * (2.d0 * vc_grad_rho_b_2(istate) * grad_rho_b(m,istate) + vc_grad_rho_a_b(istate) * grad_rho_a(m,istate)) - contrib_grad_xb(m,istate) = weight * (2.d0 * vx_grad_rho_b_2(istate) * grad_rho_b(m,istate) + vx_grad_rho_a_b(istate) * grad_rho_a(m,istate)) + contrib_grad_ca(m) = weight * (2.d0 * vc_grad_rho_a_2 * grad_rho_a(m) + vc_grad_rho_a_b * grad_rho_b(m) ) + contrib_grad_xa(m) = weight * (2.d0 * vx_grad_rho_a_2 * grad_rho_a(m) + vx_grad_rho_a_b * grad_rho_b(m) ) + contrib_grad_cb(m) = weight * (2.d0 * vc_grad_rho_b_2 * grad_rho_b(m) + vc_grad_rho_a_b * grad_rho_a(m) ) + contrib_grad_xb(m) = weight * (2.d0 * vx_grad_rho_b_2 * grad_rho_b(m) + vx_grad_rho_a_b * grad_rho_a(m) ) enddo do j = 1, ao_num - aos_sr_vxc_alpha_pbe_w(j,i,istate) = ( vc_rho_a(istate) + vx_rho_a(istate) ) * aos_in_r_array(j,i) - aos_sr_vxc_beta_pbe_w (j,i,istate) = ( vc_rho_b(istate) + vx_rho_b(istate) ) * aos_in_r_array(j,i) + aos_sr_vxc_alpha_pbe_w(j,i,istate) = ( vc_rho_a + vx_rho_a ) * aos_in_r_array(j,i) + aos_sr_vxc_beta_pbe_w (j,i,istate) = ( vc_rho_b + vx_rho_b ) * aos_in_r_array(j,i) enddo do j = 1, ao_num do m = 1,3 - aos_dsr_vxc_alpha_pbe_w(j,i,istate) += ( contrib_grad_ca(m,istate) + contrib_grad_xa(m,istate) ) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dsr_vxc_beta_pbe_w (j,i,istate) += ( contrib_grad_cb(m,istate) + contrib_grad_xb(m,istate) ) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_dsr_vxc_alpha_pbe_w(j,i,istate) += ( contrib_grad_ca(m) + contrib_grad_xa(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_dsr_vxc_beta_pbe_w (j,i,istate) += ( contrib_grad_cb(m) + contrib_grad_xb(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) enddo enddo enddo @@ -378,20 +378,3 @@ END_PROVIDER END_PROVIDER - BEGIN_PROVIDER [double precision, potential_xc_alpha_ao_sr_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, potential_xc_beta_ao_sr_pbe,(ao_num,ao_num,N_states)] - implicit none - BEGIN_DOC - ! exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional - END_DOC - integer :: i,j,istate - do istate = 1, n_states - do i = 1, ao_num - do j = 1, ao_num - potential_xc_alpha_ao_sr_pbe(j,i,istate) = pot_sr_scal_xc_alpha_ao_pbe(j,i,istate) + pot_sr_grad_xc_alpha_ao_pbe(j,i,istate) + pot_sr_grad_xc_alpha_ao_pbe(i,j,istate) - potential_xc_beta_ao_sr_pbe(j,i,istate) = pot_sr_scal_xc_beta_ao_pbe(j,i,istate) + pot_sr_grad_xc_beta_ao_pbe(j,i,istate) + pot_sr_grad_xc_beta_ao_pbe(i,j,istate) - enddo - enddo - enddo - -END_PROVIDER diff --git a/src/hartree_fock/10.hf.bats b/src/hartree_fock/10.hf.bats index a45d5daf..4b750c87 100644 --- a/src/hartree_fock/10.hf.bats +++ b/src/hartree_fock/10.hf.bats @@ -11,7 +11,7 @@ function run() { qp edit --check qp reset --mos qp run scf - qp set_frozen_core +# qp set_frozen_core energy="$(ezfio get hartree_fock energy)" eq $energy $2 $thresh } From 7bd7b6294cdf6187f5d0d40e0a232d60e7762572 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Mon, 30 Mar 2020 19:30:29 +0200 Subject: [PATCH 046/138] removed small bug --- src/dft_keywords/EZFIO.cfg | 4 ++-- src/dft_utils_one_e/utils.irp.f | 4 +--- src/functionals/sr_pbe.irp.f | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/dft_keywords/EZFIO.cfg b/src/dft_keywords/EZFIO.cfg index 3c3ed22a..b452c863 100644 --- a/src/dft_keywords/EZFIO.cfg +++ b/src/dft_keywords/EZFIO.cfg @@ -2,13 +2,13 @@ type: character*(32) doc: name of the exchange functional interface: ezfio, provider, ocaml -default: short_range_LDA +default: sr_pbe [correlation_functional] type: character*(32) doc: name of the correlation functional interface: ezfio, provider, ocaml -default: short_range_LDA +default: sr_pbe [HF_exchange] type: double precision diff --git a/src/dft_utils_one_e/utils.irp.f b/src/dft_utils_one_e/utils.irp.f index faa97c11..21816fa8 100644 --- a/src/dft_utils_one_e/utils.irp.f +++ b/src/dft_utils_one_e/utils.irp.f @@ -9,10 +9,8 @@ subroutine GGA_sr_type_functionals(mu,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad double precision, intent(in) :: mu,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b double precision, intent(out) :: ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b double precision, intent(out) :: ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b - integer :: istate - double precision :: r2(3),dr2(3), local_potential,r12,dx2 + double precision :: rhoc,rhoo,sigmacc,sigmaco,sigmaoo,vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo - double precision :: rhoc,rhoo,sigmacc,sigmaco,sigmaoo,vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo ! exhange energy and potentials call ex_pbe_sr(mu,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b,ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b) diff --git a/src/functionals/sr_pbe.irp.f b/src/functionals/sr_pbe.irp.f index 46bd1f38..f6043479 100644 --- a/src/functionals/sr_pbe.irp.f +++ b/src/functionals/sr_pbe.irp.f @@ -12,7 +12,7 @@ END_DOC integer :: istate,i,j,m double precision :: mu,weight - double precision, allocatable :: ex, ec + double precision :: ex, ec double precision :: rho_a,rho_b,grad_rho_a(3),grad_rho_b(3),grad_rho_a_2,grad_rho_b_2,grad_rho_a_b double precision :: vc_rho_a, vc_rho_b, vx_rho_a, vx_rho_b double precision :: vx_grad_rho_a_2, vx_grad_rho_b_2, vx_grad_rho_a_b, vc_grad_rho_a_2, vc_grad_rho_b_2, vc_grad_rho_a_b From 506f1cb09456b5d85b99ce4c51fdc2b73ebf1bea Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Tue, 31 Mar 2020 14:13:49 +0200 Subject: [PATCH 047/138] modified pbe.irp.f --- src/dft_utils_one_e/effective_pot.irp.f | 5 +- src/dft_utils_one_e/mu_erf_dft.irp.f | 4 +- src/functionals/pbe.irp.f | 343 +++++++++++------------- src/mo_one_e_ints/EZFIO.cfg | 1 - 4 files changed, 155 insertions(+), 198 deletions(-) diff --git a/src/dft_utils_one_e/effective_pot.irp.f b/src/dft_utils_one_e/effective_pot.irp.f index 5a61de15..27f4841e 100644 --- a/src/dft_utils_one_e/effective_pot.irp.f +++ b/src/dft_utils_one_e/effective_pot.irp.f @@ -10,10 +10,9 @@ ! ! Taking the expectation value does not provide any energy, but ! -! effective_one_e_potential(i,j) is the potential coupling DFT and WFT part to -! -! be used in any WFT calculation. +! effective_one_e_potential(i,j) is the potential coupling DFT and WFT parts ! +! and it is used in any RS-DFT based calculations END_DOC do istate = 1, N_states do j = 1, mo_num diff --git a/src/dft_utils_one_e/mu_erf_dft.irp.f b/src/dft_utils_one_e/mu_erf_dft.irp.f index 3a3a2f28..53effcb6 100644 --- a/src/dft_utils_one_e/mu_erf_dft.irp.f +++ b/src/dft_utils_one_e/mu_erf_dft.irp.f @@ -1,7 +1,9 @@ BEGIN_PROVIDER [double precision, mu_erf_dft] implicit none BEGIN_DOC -! range separation parameter used in RS-DFT. It is set to mu_erf in order to be consistent with the two electrons integrals erf +! range separation parameter used in RS-DFT. +! +! It is set to mu_erf in order to be consistent with the module "ao_two_e_erf_ints" END_DOC mu_erf_dft = mu_erf diff --git a/src/functionals/pbe.irp.f b/src/functionals/pbe.irp.f index 48b0661d..df32cce2 100644 --- a/src/functionals/pbe.irp.f +++ b/src/functionals/pbe.irp.f @@ -1,124 +1,79 @@ - BEGIN_PROVIDER[double precision, energy_x_pbe, (N_states) ] +&BEGIN_PROVIDER[double precision, energy_c_pbe, (N_states) ] implicit none BEGIN_DOC + ! exchange / correlation energies with the short-range version Perdew-Burke-Ernzerhof GGA functional + ! + ! defined in Chem. Phys.329, 276 (2006) + END_DOC + BEGIN_DOC ! exchange/correlation energy with the short range pbe functional END_DOC integer :: istate,i,j,m double precision :: mu,weight - double precision, allocatable :: ex(:), ec(:) - double precision, allocatable :: rho_a(:),rho_b(:),grad_rho_a(:,:),grad_rho_b(:,:),grad_rho_a_2(:),grad_rho_b_2(:),grad_rho_a_b(:) - double precision, allocatable :: contrib_grad_xa(:,:),contrib_grad_xb(:,:),contrib_grad_ca(:,:),contrib_grad_cb(:,:) - double precision, allocatable :: vc_rho_a(:), vc_rho_b(:), vx_rho_a(:), vx_rho_b(:) - double precision, allocatable :: vx_grad_rho_a_2(:), vx_grad_rho_b_2(:), vx_grad_rho_a_b(:), vc_grad_rho_a_2(:), vc_grad_rho_b_2(:), vc_grad_rho_a_b(:) - allocate(vc_rho_a(N_states), vc_rho_b(N_states), vx_rho_a(N_states), vx_rho_b(N_states)) - allocate(vx_grad_rho_a_2(N_states), vx_grad_rho_b_2(N_states), vx_grad_rho_a_b(N_states), vc_grad_rho_a_2(N_states), vc_grad_rho_b_2(N_states), vc_grad_rho_a_b(N_states)) + double precision :: ex, ec + double precision :: rho_a,rho_b,grad_rho_a(3),grad_rho_b(3),grad_rho_a_2,grad_rho_b_2,grad_rho_a_b + double precision :: vc_rho_a, vc_rho_b, vx_rho_a, vx_rho_b + double precision :: vx_grad_rho_a_2, vx_grad_rho_b_2, vx_grad_rho_a_b, vc_grad_rho_a_2, vc_grad_rho_b_2, vc_grad_rho_a_b - allocate(rho_a(N_states), rho_b(N_states),grad_rho_a(3,N_states),grad_rho_b(3,N_states)) - allocate(grad_rho_a_2(N_states),grad_rho_b_2(N_states),grad_rho_a_b(N_states), ex(N_states), ec(N_states)) energy_x_pbe = 0.d0 - do istate = 1, N_states - do i = 1, n_points_final_grid - weight = final_weight_at_r_vector(i) - rho_a(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) - rho_b(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) - grad_rho_a(1:3,istate) = one_e_dm_and_grad_alpha_in_r(1:3,i,istate) - grad_rho_b(1:3,istate) = one_e_dm_and_grad_beta_in_r(1:3,i,istate) - grad_rho_a_2 = 0.d0 - grad_rho_b_2 = 0.d0 - grad_rho_a_b = 0.d0 - do m = 1, 3 - grad_rho_a_2(istate) += grad_rho_a(m,istate) * grad_rho_a(m,istate) - grad_rho_b_2(istate) += grad_rho_b(m,istate) * grad_rho_b(m,istate) - grad_rho_a_b(istate) += grad_rho_a(m,istate) * grad_rho_b(m,istate) - enddo - - ! inputs - call GGA_sr_type_functionals(0.d0,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange - ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & ! outputs correlation - ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) - energy_x_pbe += ex * weight - enddo - enddo - - -END_PROVIDER - -BEGIN_PROVIDER[double precision, energy_c_pbe, (N_states) ] - implicit none - BEGIN_DOC -! exchange/correlation energy with the short range pbe functional - END_DOC - integer :: istate,i,j,m - double precision :: mu,weight - double precision, allocatable :: ex(:), ec(:) - double precision, allocatable :: rho_a(:),rho_b(:),grad_rho_a(:,:),grad_rho_b(:,:),grad_rho_a_2(:),grad_rho_b_2(:),grad_rho_a_b(:) - double precision, allocatable :: contrib_grad_xa(:,:),contrib_grad_xb(:,:),contrib_grad_ca(:,:),contrib_grad_cb(:,:) - double precision, allocatable :: vc_rho_a(:), vc_rho_b(:), vx_rho_a(:), vx_rho_b(:) - double precision, allocatable :: vx_grad_rho_a_2(:), vx_grad_rho_b_2(:), vx_grad_rho_a_b(:), vc_grad_rho_a_2(:), vc_grad_rho_b_2(:), vc_grad_rho_a_b(:) - allocate(vc_rho_a(N_states), vc_rho_b(N_states), vx_rho_a(N_states), vx_rho_b(N_states)) - allocate(vx_grad_rho_a_2(N_states), vx_grad_rho_b_2(N_states), vx_grad_rho_a_b(N_states), vc_grad_rho_a_2(N_states), vc_grad_rho_b_2(N_states), vc_grad_rho_a_b(N_states)) - - - allocate(rho_a(N_states), rho_b(N_states),grad_rho_a(3,N_states),grad_rho_b(3,N_states)) - allocate(grad_rho_a_2(N_states),grad_rho_b_2(N_states),grad_rho_a_b(N_states), ex(N_states), ec(N_states)) energy_c_pbe = 0.d0 + mu = 0.d0 do istate = 1, N_states do i = 1, n_points_final_grid weight = final_weight_at_r_vector(i) - rho_a(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) - rho_b(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) - grad_rho_a(1:3,istate) = one_e_dm_and_grad_alpha_in_r(1:3,i,istate) - grad_rho_b(1:3,istate) = one_e_dm_and_grad_beta_in_r(1:3,i,istate) + rho_a = one_e_dm_and_grad_alpha_in_r(4,i,istate) + rho_b = one_e_dm_and_grad_beta_in_r(4,i,istate) + grad_rho_a(1:3) = one_e_dm_and_grad_alpha_in_r(1:3,i,istate) + grad_rho_b(1:3) = one_e_dm_and_grad_beta_in_r(1:3,i,istate) grad_rho_a_2 = 0.d0 grad_rho_b_2 = 0.d0 grad_rho_a_b = 0.d0 do m = 1, 3 - grad_rho_a_2(istate) += grad_rho_a(m,istate) * grad_rho_a(m,istate) - grad_rho_b_2(istate) += grad_rho_b(m,istate) * grad_rho_b(m,istate) - grad_rho_a_b(istate) += grad_rho_a(m,istate) * grad_rho_b(m,istate) + grad_rho_a_2 += grad_rho_a(m) * grad_rho_a(m) + grad_rho_b_2 += grad_rho_b(m) * grad_rho_b(m) + grad_rho_a_b += grad_rho_a(m) * grad_rho_b(m) enddo ! inputs - call GGA_sr_type_functionals(0.d0,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange + call GGA_sr_type_functionals(mu,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & ! outputs correlation ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) - energy_c_pbe += ec * weight + energy_x_pbe(istate) += ex * weight + energy_c_pbe(istate) += ec * weight enddo enddo END_PROVIDER - - BEGIN_PROVIDER [double precision, potential_x_alpha_ao_pbe,(ao_num,ao_num,N_states)] &BEGIN_PROVIDER [double precision, potential_x_beta_ao_pbe,(ao_num,ao_num,N_states)] &BEGIN_PROVIDER [double precision, potential_c_alpha_ao_pbe,(ao_num,ao_num,N_states)] &BEGIN_PROVIDER [double precision, potential_c_beta_ao_pbe,(ao_num,ao_num,N_states)] implicit none BEGIN_DOC - ! exchange / correlation potential for alpha / beta electrons with the Perdew-Burke-Ernzerhof GGA functional + ! exchange / correlation potential for alpha / beta electrons with the short-range version Perdew-Burke-Ernzerhof GGA functional + ! + ! defined in Chem. Phys.329, 276 (2006) END_DOC integer :: i,j,istate do istate = 1, n_states do i = 1, ao_num do j = 1, ao_num - potential_x_alpha_ao_pbe(j,i,istate) = pot_scal_x_alpha_ao_pbe(j,i,istate) + pot_grad_x_alpha_ao_pbe(j,i,istate) + pot_grad_x_alpha_ao_pbe(i,j,istate) - potential_x_beta_ao_pbe(j,i,istate) = pot_scal_x_beta_ao_pbe(j,i,istate) + pot_grad_x_beta_ao_pbe(j,i,istate) + pot_grad_x_beta_ao_pbe(i,j,istate) + potential_x_alpha_ao_pbe(j,i,istate) = pot_sr_scal_x_alpha_ao_pbe(j,i,istate) + pot_sr_grad_x_alpha_ao_pbe(j,i,istate) + pot_sr_grad_x_alpha_ao_pbe(i,j,istate) + potential_x_beta_ao_pbe(j,i,istate) = pot_sr_scal_x_beta_ao_pbe(j,i,istate) + pot_sr_grad_x_beta_ao_pbe(j,i,istate) + pot_sr_grad_x_beta_ao_pbe(i,j,istate) - potential_c_alpha_ao_pbe(j,i,istate) = pot_scal_c_alpha_ao_pbe(j,i,istate) + pot_grad_c_alpha_ao_pbe(j,i,istate) + pot_grad_c_alpha_ao_pbe(i,j,istate) - potential_c_beta_ao_pbe(j,i,istate) = pot_scal_c_beta_ao_pbe(j,i,istate) + pot_grad_c_beta_ao_pbe(j,i,istate) + pot_grad_c_beta_ao_pbe(i,j,istate) + potential_c_alpha_ao_pbe(j,i,istate) = pot_sr_scal_c_alpha_ao_pbe(j,i,istate) + pot_sr_grad_c_alpha_ao_pbe(j,i,istate) + pot_sr_grad_c_alpha_ao_pbe(i,j,istate) + potential_c_beta_ao_pbe(j,i,istate) = pot_sr_scal_c_beta_ao_pbe(j,i,istate) + pot_sr_grad_c_beta_ao_pbe(j,i,istate) + pot_sr_grad_c_beta_ao_pbe(i,j,istate) enddo enddo enddo END_PROVIDER - - BEGIN_PROVIDER [double precision, potential_xc_alpha_ao_pbe,(ao_num,ao_num,N_states)] &BEGIN_PROVIDER [double precision, potential_xc_beta_ao_pbe,(ao_num,ao_num,N_states)] implicit none @@ -129,8 +84,8 @@ END_PROVIDER do istate = 1, n_states do i = 1, ao_num do j = 1, ao_num - potential_xc_alpha_ao_pbe(j,i,istate) = pot_scal_xc_alpha_ao_pbe(j,i,istate) + pot_grad_xc_alpha_ao_pbe(j,i,istate) + pot_grad_xc_alpha_ao_pbe(i,j,istate) - potential_xc_beta_ao_pbe(j,i,istate) = pot_scal_xc_beta_ao_pbe(j,i,istate) + pot_grad_xc_beta_ao_pbe(j,i,istate) + pot_grad_xc_beta_ao_pbe(i,j,istate) + potential_xc_alpha_ao_pbe(j,i,istate) = pot_sr_scal_xc_alpha_ao_pbe(j,i,istate) + pot_sr_grad_xc_alpha_ao_pbe(j,i,istate) + pot_sr_grad_xc_alpha_ao_pbe(i,j,istate) + potential_xc_beta_ao_pbe(j,i,istate) = pot_sr_scal_xc_beta_ao_pbe(j,i,istate) + pot_sr_grad_xc_beta_ao_pbe(j,i,istate) + pot_sr_grad_xc_beta_ao_pbe(i,j,istate) enddo enddo enddo @@ -138,78 +93,76 @@ END_PROVIDER END_PROVIDER - BEGIN_PROVIDER[double precision, aos_vc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_vc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_vx_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_vx_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dvc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dvc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dvx_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dvx_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] + + BEGIN_PROVIDER[double precision, aos_sr_vc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_sr_vc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_sr_vx_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_sr_vx_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_dsr_vc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_dsr_vc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_dsr_vx_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_dsr_vx_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] implicit none BEGIN_DOC -! aos_vxc_alpha_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) +! intermediates to compute the sr_pbe potentials +! +! aos_sr_vxc_alpha_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) END_DOC integer :: istate,i,j,m double precision :: mu,weight - double precision, allocatable :: ex(:), ec(:) - double precision, allocatable :: rho_a(:),rho_b(:),grad_rho_a(:,:),grad_rho_b(:,:),grad_rho_a_2(:),grad_rho_b_2(:),grad_rho_a_b(:) - double precision, allocatable :: contrib_grad_xa(:,:),contrib_grad_xb(:,:),contrib_grad_ca(:,:),contrib_grad_cb(:,:) - double precision, allocatable :: vc_rho_a(:), vc_rho_b(:), vx_rho_a(:), vx_rho_b(:) - double precision, allocatable :: vx_grad_rho_a_2(:), vx_grad_rho_b_2(:), vx_grad_rho_a_b(:), vc_grad_rho_a_2(:), vc_grad_rho_b_2(:), vc_grad_rho_a_b(:) - allocate(vc_rho_a(N_states), vc_rho_b(N_states), vx_rho_a(N_states), vx_rho_b(N_states)) - allocate(vx_grad_rho_a_2(N_states), vx_grad_rho_b_2(N_states), vx_grad_rho_a_b(N_states), vc_grad_rho_a_2(N_states), vc_grad_rho_b_2(N_states), vc_grad_rho_a_b(N_states)) - allocate(rho_a(N_states), rho_b(N_states),grad_rho_a(3,N_states),grad_rho_b(3,N_states)) - allocate(grad_rho_a_2(N_states),grad_rho_b_2(N_states),grad_rho_a_b(N_states), ex(N_states), ec(N_states)) - allocate(contrib_grad_xa(3,N_states),contrib_grad_xb(3,N_states),contrib_grad_ca(3,N_states),contrib_grad_cb(3,N_states)) - - aos_dvc_alpha_pbe_w = 0.d0 - aos_dvc_beta_pbe_w = 0.d0 - aos_dvx_alpha_pbe_w = 0.d0 - aos_dvx_beta_pbe_w = 0.d0 - + double precision :: ex, ec + double precision :: rho_a,rho_b,grad_rho_a(3),grad_rho_b(3),grad_rho_a_2,grad_rho_b_2,grad_rho_a_b + double precision :: contrib_grad_xa(3),contrib_grad_xb(3),contrib_grad_ca(3),contrib_grad_cb(3) + double precision :: vc_rho_a, vc_rho_b, vx_rho_a, vx_rho_b + double precision :: vx_grad_rho_a_2, vx_grad_rho_b_2, vx_grad_rho_a_b, vc_grad_rho_a_2, vc_grad_rho_b_2, vc_grad_rho_a_b + aos_dsr_vc_alpha_pbe_w= 0.d0 + aos_dsr_vc_beta_pbe_w = 0.d0 + aos_dsr_vx_alpha_pbe_w= 0.d0 + aos_dsr_vx_beta_pbe_w = 0.d0 + mu = 0.d0 do istate = 1, N_states do i = 1, n_points_final_grid weight = final_weight_at_r_vector(i) - rho_a(istate) = one_e_dm_and_grad_alpha_in_r(4,i,istate) - rho_b(istate) = one_e_dm_and_grad_beta_in_r(4,i,istate) - grad_rho_a(1:3,istate) = one_e_dm_and_grad_alpha_in_r(1:3,i,istate) - grad_rho_b(1:3,istate) = one_e_dm_and_grad_beta_in_r(1:3,i,istate) + + rho_a = one_e_dm_and_grad_alpha_in_r(4,i,istate) + rho_b = one_e_dm_and_grad_beta_in_r(4,i,istate) + grad_rho_a(1:3) = one_e_dm_and_grad_alpha_in_r(1:3,i,istate) + grad_rho_b(1:3) = one_e_dm_and_grad_beta_in_r(1:3,i,istate) grad_rho_a_2 = 0.d0 grad_rho_b_2 = 0.d0 grad_rho_a_b = 0.d0 do m = 1, 3 - grad_rho_a_2(istate) += grad_rho_a(m,istate) * grad_rho_a(m,istate) - grad_rho_b_2(istate) += grad_rho_b(m,istate) * grad_rho_b(m,istate) - grad_rho_a_b(istate) += grad_rho_a(m,istate) * grad_rho_b(m,istate) + grad_rho_a_2 += grad_rho_a(m) * grad_rho_a(m) + grad_rho_b_2 += grad_rho_b(m) * grad_rho_b(m) + grad_rho_a_b += grad_rho_a(m) * grad_rho_b(m) enddo ! inputs - call GGA_sr_type_functionals(0.d0,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange + call GGA_sr_type_functionals(mu,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & ! outputs correlation ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) - vx_rho_a(istate) *= weight - vc_rho_a(istate) *= weight - vx_rho_b(istate) *= weight - vc_rho_b(istate) *= weight + vx_rho_a *= weight + vc_rho_a *= weight + vx_rho_b *= weight + vc_rho_b *= weight do m= 1,3 - contrib_grad_ca(m,istate) = weight * (2.d0 * vc_grad_rho_a_2(istate) * grad_rho_a(m,istate) + vc_grad_rho_a_b(istate) * grad_rho_b(m,istate)) - contrib_grad_xa(m,istate) = weight * (2.d0 * vx_grad_rho_a_2(istate) * grad_rho_a(m,istate) + vx_grad_rho_a_b(istate) * grad_rho_b(m,istate)) - contrib_grad_cb(m,istate) = weight * (2.d0 * vc_grad_rho_b_2(istate) * grad_rho_b(m,istate) + vc_grad_rho_a_b(istate) * grad_rho_a(m,istate)) - contrib_grad_xb(m,istate) = weight * (2.d0 * vx_grad_rho_b_2(istate) * grad_rho_b(m,istate) + vx_grad_rho_a_b(istate) * grad_rho_a(m,istate)) + contrib_grad_ca(m) = weight * (2.d0 * vc_grad_rho_a_2 * grad_rho_a(m) + vc_grad_rho_a_b * grad_rho_b(m) ) + contrib_grad_xa(m) = weight * (2.d0 * vx_grad_rho_a_2 * grad_rho_a(m) + vx_grad_rho_a_b * grad_rho_b(m) ) + contrib_grad_cb(m) = weight * (2.d0 * vc_grad_rho_b_2 * grad_rho_b(m) + vc_grad_rho_a_b * grad_rho_a(m) ) + contrib_grad_xb(m) = weight * (2.d0 * vx_grad_rho_b_2 * grad_rho_b(m) + vx_grad_rho_a_b * grad_rho_a(m) ) enddo do j = 1, ao_num - aos_vc_alpha_pbe_w(j,i,istate) = vc_rho_a(istate) * aos_in_r_array(j,i) - aos_vc_beta_pbe_w (j,i,istate) = vc_rho_b(istate) * aos_in_r_array(j,i) - aos_vx_alpha_pbe_w(j,i,istate) = vx_rho_a(istate) * aos_in_r_array(j,i) - aos_vx_beta_pbe_w (j,i,istate) = vx_rho_b(istate) * aos_in_r_array(j,i) + aos_sr_vc_alpha_pbe_w(j,i,istate) = vc_rho_a * aos_in_r_array(j,i) + aos_sr_vc_beta_pbe_w (j,i,istate) = vc_rho_b * aos_in_r_array(j,i) + aos_sr_vx_alpha_pbe_w(j,i,istate) = vx_rho_a * aos_in_r_array(j,i) + aos_sr_vx_beta_pbe_w (j,i,istate) = vx_rho_b * aos_in_r_array(j,i) enddo do j = 1, ao_num do m = 1,3 - aos_dvc_alpha_pbe_w(j,i,istate) += contrib_grad_ca(m,istate) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dvc_beta_pbe_w (j,i,istate) += contrib_grad_cb(m,istate) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dvx_alpha_pbe_w(j,i,istate) += contrib_grad_xa(m,istate) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dvx_beta_pbe_w (j,i,istate) += contrib_grad_xb(m,istate) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_dsr_vc_alpha_pbe_w(j,i,istate) += contrib_grad_ca(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_dsr_vc_beta_pbe_w (j,i,istate) += contrib_grad_cb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_dsr_vx_alpha_pbe_w(j,i,istate) += contrib_grad_xa(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_dsr_vx_beta_pbe_w (j,i,istate) += contrib_grad_xb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) enddo enddo enddo @@ -218,42 +171,44 @@ END_PROVIDER END_PROVIDER - BEGIN_PROVIDER [double precision, pot_scal_x_alpha_ao_pbe, (ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_scal_c_alpha_ao_pbe, (ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_scal_x_beta_ao_pbe, (ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_scal_c_beta_ao_pbe, (ao_num,ao_num,N_states)] + BEGIN_PROVIDER [double precision, pot_sr_scal_x_alpha_ao_pbe, (ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_sr_scal_c_alpha_ao_pbe, (ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_sr_scal_x_beta_ao_pbe, (ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_sr_scal_c_beta_ao_pbe, (ao_num,ao_num,N_states)] implicit none +! intermediates to compute the sr_pbe potentials +! integer :: istate BEGIN_DOC ! intermediate quantity for the calculation of the vxc potentials for the GGA functionals related to the scalar part of the potential END_DOC - pot_scal_c_alpha_ao_pbe = 0.d0 - pot_scal_x_alpha_ao_pbe = 0.d0 - pot_scal_c_beta_ao_pbe = 0.d0 - pot_scal_x_beta_ao_pbe = 0.d0 + pot_sr_scal_c_alpha_ao_pbe = 0.d0 + pot_sr_scal_x_alpha_ao_pbe = 0.d0 + pot_sr_scal_c_beta_ao_pbe = 0.d0 + pot_sr_scal_x_beta_ao_pbe = 0.d0 double precision :: wall_1,wall_2 call wall_time(wall_1) do istate = 1, N_states ! correlation alpha call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_vc_alpha_pbe_w(1,1,istate),size(aos_vc_alpha_pbe_w,1), & + aos_sr_vc_alpha_pbe_w(1,1,istate),size(aos_sr_vc_alpha_pbe_w,1), & aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_scal_c_alpha_ao_pbe(1,1,istate),size(pot_scal_c_alpha_ao_pbe,1)) + pot_sr_scal_c_alpha_ao_pbe(1,1,istate),size(pot_sr_scal_c_alpha_ao_pbe,1)) ! correlation beta call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_vc_beta_pbe_w(1,1,istate),size(aos_vc_beta_pbe_w,1), & + aos_sr_vc_beta_pbe_w(1,1,istate),size(aos_sr_vc_beta_pbe_w,1), & aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_scal_c_beta_ao_pbe(1,1,istate),size(pot_scal_c_beta_ao_pbe,1)) + pot_sr_scal_c_beta_ao_pbe(1,1,istate),size(pot_sr_scal_c_beta_ao_pbe,1)) ! exchange alpha call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_vx_alpha_pbe_w(1,1,istate),size(aos_vx_alpha_pbe_w,1), & + aos_sr_vx_alpha_pbe_w(1,1,istate),size(aos_sr_vx_alpha_pbe_w,1), & aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_scal_x_alpha_ao_pbe(1,1,istate),size(pot_scal_x_alpha_ao_pbe,1)) + pot_sr_scal_x_alpha_ao_pbe(1,1,istate),size(pot_sr_scal_x_alpha_ao_pbe,1)) ! exchange beta call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_vx_beta_pbe_w(1,1,istate),size(aos_vx_beta_pbe_w,1), & + aos_sr_vx_beta_pbe_w(1,1,istate),size(aos_sr_vx_beta_pbe_w,1), & aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_scal_x_beta_ao_pbe(1,1,istate), size(pot_scal_x_beta_ao_pbe,1)) + pot_sr_scal_x_beta_ao_pbe(1,1,istate), size(pot_sr_scal_x_beta_ao_pbe,1)) enddo call wall_time(wall_2) @@ -261,10 +216,10 @@ END_PROVIDER END_PROVIDER - BEGIN_PROVIDER [double precision, pot_grad_x_alpha_ao_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_grad_x_beta_ao_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_grad_c_alpha_ao_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_grad_c_beta_ao_pbe,(ao_num,ao_num,N_states)] + BEGIN_PROVIDER [double precision, pot_sr_grad_x_alpha_ao_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_sr_grad_x_beta_ao_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_sr_grad_c_alpha_ao_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_sr_grad_c_beta_ao_pbe,(ao_num,ao_num,N_states)] implicit none BEGIN_DOC ! intermediate quantity for the calculation of the vxc potentials for the GGA functionals related to the gradienst of the density and orbitals @@ -272,31 +227,31 @@ END_PROVIDER integer :: istate double precision :: wall_1,wall_2 call wall_time(wall_1) - pot_grad_c_alpha_ao_pbe = 0.d0 - pot_grad_x_alpha_ao_pbe = 0.d0 - pot_grad_c_beta_ao_pbe = 0.d0 - pot_grad_x_beta_ao_pbe = 0.d0 + pot_sr_grad_c_alpha_ao_pbe = 0.d0 + pot_sr_grad_x_alpha_ao_pbe = 0.d0 + pot_sr_grad_c_beta_ao_pbe = 0.d0 + pot_sr_grad_x_beta_ao_pbe = 0.d0 do istate = 1, N_states ! correlation alpha call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dvc_alpha_pbe_w(1,1,istate),size(aos_dvc_alpha_pbe_w,1), & + aos_dsr_vc_alpha_pbe_w(1,1,istate),size(aos_dsr_vc_alpha_pbe_w,1), & aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_grad_c_alpha_ao_pbe(1,1,istate),size(pot_grad_c_alpha_ao_pbe,1)) + pot_sr_grad_c_alpha_ao_pbe(1,1,istate),size(pot_sr_grad_c_alpha_ao_pbe,1)) ! correlation beta call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dvc_beta_pbe_w(1,1,istate),size(aos_dvc_beta_pbe_w,1), & + aos_dsr_vc_beta_pbe_w(1,1,istate),size(aos_dsr_vc_beta_pbe_w,1), & aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_grad_c_beta_ao_pbe(1,1,istate),size(pot_grad_c_beta_ao_pbe,1)) + pot_sr_grad_c_beta_ao_pbe(1,1,istate),size(pot_sr_grad_c_beta_ao_pbe,1)) ! exchange alpha call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dvx_alpha_pbe_w(1,1,istate),size(aos_dvx_alpha_pbe_w,1), & + aos_dsr_vx_alpha_pbe_w(1,1,istate),size(aos_dsr_vx_alpha_pbe_w,1), & aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_grad_x_alpha_ao_pbe(1,1,istate),size(pot_grad_x_alpha_ao_pbe,1)) + pot_sr_grad_x_alpha_ao_pbe(1,1,istate),size(pot_sr_grad_x_alpha_ao_pbe,1)) ! exchange beta call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dvx_beta_pbe_w(1,1,istate),size(aos_dvx_beta_pbe_w,1), & + aos_dsr_vx_beta_pbe_w(1,1,istate),size(aos_dsr_vx_beta_pbe_w,1), & aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_grad_x_beta_ao_pbe(1,1,istate),size(pot_grad_x_beta_ao_pbe,1)) + pot_sr_grad_x_beta_ao_pbe(1,1,istate),size(pot_sr_grad_x_beta_ao_pbe,1)) enddo call wall_time(wall_2) @@ -304,13 +259,13 @@ END_PROVIDER END_PROVIDER - BEGIN_PROVIDER[double precision, aos_vxc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_vxc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dvxc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dvxc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] + BEGIN_PROVIDER[double precision, aos_sr_vxc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_sr_vxc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_dsr_vxc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_dsr_vxc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] implicit none BEGIN_DOC -! aos_vxc_alpha_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) +! aos_sr_vxc_alpha_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) END_DOC integer :: istate,i,j,m double precision :: mu,weight @@ -320,8 +275,9 @@ END_PROVIDER double precision :: vc_rho_a, vc_rho_b, vx_rho_a, vx_rho_b double precision :: vx_grad_rho_a_2, vx_grad_rho_b_2, vx_grad_rho_a_b, vc_grad_rho_a_2, vc_grad_rho_b_2, vc_grad_rho_a_b - aos_dvxc_alpha_pbe_w = 0.d0 - aos_dvxc_beta_pbe_w = 0.d0 + mu = 0.d0 + aos_dsr_vxc_alpha_pbe_w = 0.d0 + aos_dsr_vxc_beta_pbe_w = 0.d0 do istate = 1, N_states do i = 1, n_points_final_grid @@ -339,28 +295,28 @@ END_PROVIDER grad_rho_a_b += grad_rho_a(m) * grad_rho_b(m) enddo - ! call exc_sr_pbe - call GGA_sr_type_functionals(0.d0,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! inputs - ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & ! outputs exchange - ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) ! outputs correlation + ! inputs + call GGA_sr_type_functionals(mu,rho_a,rho_b,grad_rho_a_2,grad_rho_b_2,grad_rho_a_b, & ! outputs exchange + ex,vx_rho_a,vx_rho_b,vx_grad_rho_a_2,vx_grad_rho_b_2,vx_grad_rho_a_b, & ! outputs correlation + ec,vc_rho_a,vc_rho_b,vc_grad_rho_a_2,vc_grad_rho_b_2,vc_grad_rho_a_b ) vx_rho_a *= weight vc_rho_a *= weight vx_rho_b *= weight vc_rho_b *= weight do m= 1,3 - contrib_grad_ca(m) = weight * (2.d0 * vc_grad_rho_a_2 * grad_rho_a(m) + vc_grad_rho_a_b * grad_rho_b(m)) - contrib_grad_xa(m) = weight * (2.d0 * vx_grad_rho_a_2 * grad_rho_a(m) + vx_grad_rho_a_b * grad_rho_b(m)) - contrib_grad_cb(m) = weight * (2.d0 * vc_grad_rho_b_2 * grad_rho_b(m) + vc_grad_rho_a_b * grad_rho_a(m)) - contrib_grad_xb(m) = weight * (2.d0 * vx_grad_rho_b_2 * grad_rho_b(m) + vx_grad_rho_a_b * grad_rho_a(m)) + contrib_grad_ca(m) = weight * (2.d0 * vc_grad_rho_a_2 * grad_rho_a(m) + vc_grad_rho_a_b * grad_rho_b(m) ) + contrib_grad_xa(m) = weight * (2.d0 * vx_grad_rho_a_2 * grad_rho_a(m) + vx_grad_rho_a_b * grad_rho_b(m) ) + contrib_grad_cb(m) = weight * (2.d0 * vc_grad_rho_b_2 * grad_rho_b(m) + vc_grad_rho_a_b * grad_rho_a(m) ) + contrib_grad_xb(m) = weight * (2.d0 * vx_grad_rho_b_2 * grad_rho_b(m) + vx_grad_rho_a_b * grad_rho_a(m) ) enddo do j = 1, ao_num - aos_vxc_alpha_pbe_w(j,i,istate) = ( vc_rho_a + vx_rho_a ) * aos_in_r_array(j,i) - aos_vxc_beta_pbe_w (j,i,istate) = ( vc_rho_b + vx_rho_b ) * aos_in_r_array(j,i) + aos_sr_vxc_alpha_pbe_w(j,i,istate) = ( vc_rho_a + vx_rho_a ) * aos_in_r_array(j,i) + aos_sr_vxc_beta_pbe_w (j,i,istate) = ( vc_rho_b + vx_rho_b ) * aos_in_r_array(j,i) enddo do j = 1, ao_num do m = 1,3 - aos_dvxc_alpha_pbe_w(j,i,istate) += ( contrib_grad_ca(m) + contrib_grad_xa(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dvxc_beta_pbe_w (j,i,istate) += ( contrib_grad_cb(m) + contrib_grad_xb(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_dsr_vxc_alpha_pbe_w(j,i,istate) += ( contrib_grad_ca(m) + contrib_grad_xa(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_dsr_vxc_beta_pbe_w (j,i,istate) += ( contrib_grad_cb(m) + contrib_grad_xb(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) enddo enddo enddo @@ -369,36 +325,36 @@ END_PROVIDER END_PROVIDER - BEGIN_PROVIDER [double precision, pot_scal_xc_alpha_ao_pbe, (ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_scal_xc_beta_ao_pbe, (ao_num,ao_num,N_states)] + BEGIN_PROVIDER [double precision, pot_sr_scal_xc_alpha_ao_pbe, (ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_sr_scal_xc_beta_ao_pbe, (ao_num,ao_num,N_states)] implicit none integer :: istate BEGIN_DOC ! intermediate quantity for the calculation of the vxc potentials for the GGA functionals related to the scalar part of the potential END_DOC - pot_scal_xc_alpha_ao_pbe = 0.d0 - pot_scal_xc_beta_ao_pbe = 0.d0 + pot_sr_scal_xc_alpha_ao_pbe = 0.d0 + pot_sr_scal_xc_beta_ao_pbe = 0.d0 double precision :: wall_1,wall_2 call wall_time(wall_1) do istate = 1, N_states ! exchange - correlation alpha call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_vxc_alpha_pbe_w(1,1,istate),size(aos_vxc_alpha_pbe_w,1), & + aos_sr_vxc_alpha_pbe_w(1,1,istate),size(aos_sr_vxc_alpha_pbe_w,1), & aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_scal_xc_alpha_ao_pbe(1,1,istate),size(pot_scal_xc_alpha_ao_pbe,1)) + pot_sr_scal_xc_alpha_ao_pbe(1,1,istate),size(pot_sr_scal_xc_alpha_ao_pbe,1)) ! exchange - correlation beta call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_vxc_beta_pbe_w(1,1,istate),size(aos_vxc_beta_pbe_w,1), & + aos_sr_vxc_beta_pbe_w(1,1,istate),size(aos_sr_vxc_beta_pbe_w,1), & aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_scal_xc_beta_ao_pbe(1,1,istate),size(pot_scal_xc_beta_ao_pbe,1)) + pot_sr_scal_xc_beta_ao_pbe(1,1,istate),size(pot_sr_scal_xc_beta_ao_pbe,1)) enddo call wall_time(wall_2) END_PROVIDER - BEGIN_PROVIDER [double precision, pot_grad_xc_alpha_ao_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_grad_xc_beta_ao_pbe,(ao_num,ao_num,N_states)] + BEGIN_PROVIDER [double precision, pot_sr_grad_xc_alpha_ao_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_sr_grad_xc_beta_ao_pbe,(ao_num,ao_num,N_states)] implicit none BEGIN_DOC ! intermediate quantity for the calculation of the vxc potentials for the GGA functionals related to the gradienst of the density and orbitals @@ -406,21 +362,22 @@ END_PROVIDER integer :: istate double precision :: wall_1,wall_2 call wall_time(wall_1) - pot_grad_xc_alpha_ao_pbe = 0.d0 - pot_grad_xc_beta_ao_pbe = 0.d0 + pot_sr_grad_xc_alpha_ao_pbe = 0.d0 + pot_sr_grad_xc_beta_ao_pbe = 0.d0 do istate = 1, N_states - ! correlation alpha + ! exchange - correlation alpha call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dvxc_alpha_pbe_w(1,1,istate),size(aos_dvxc_alpha_pbe_w,1), & + aos_dsr_vxc_alpha_pbe_w(1,1,istate),size(aos_dsr_vxc_alpha_pbe_w,1), & aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_grad_xc_alpha_ao_pbe(1,1,istate),size(pot_grad_xc_alpha_ao_pbe,1)) - ! correlation beta + pot_sr_grad_xc_alpha_ao_pbe(1,1,istate),size(pot_sr_grad_xc_alpha_ao_pbe,1)) + ! exchange - correlation beta call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dvxc_beta_pbe_w(1,1,istate),size(aos_dvxc_beta_pbe_w,1), & + aos_dsr_vxc_beta_pbe_w(1,1,istate),size(aos_dsr_vxc_beta_pbe_w,1), & aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_grad_xc_beta_ao_pbe(1,1,istate),size(pot_grad_xc_beta_ao_pbe,1)) + pot_sr_grad_xc_beta_ao_pbe(1,1,istate),size(pot_sr_grad_xc_beta_ao_pbe,1)) enddo call wall_time(wall_2) END_PROVIDER + diff --git a/src/mo_one_e_ints/EZFIO.cfg b/src/mo_one_e_ints/EZFIO.cfg index 1cb77b6e..0f31b16a 100644 --- a/src/mo_one_e_ints/EZFIO.cfg +++ b/src/mo_one_e_ints/EZFIO.cfg @@ -24,7 +24,6 @@ interface: ezfio,provider,ocaml default: None - [mo_integrals_pseudo] type: double precision doc: Pseudopotential integrals in |MO| basis set From b85f60627f94db7453cb2e650e479d66acf81f44 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Tue, 31 Mar 2020 14:25:01 +0200 Subject: [PATCH 048/138] cleaning in functionals --- src/functionals/pbe.irp.f | 220 +++++++++++++++++------------------ src/functionals/sr_pbe.irp.f | 72 ++++++------ 2 files changed, 146 insertions(+), 146 deletions(-) diff --git a/src/functionals/pbe.irp.f b/src/functionals/pbe.irp.f index df32cce2..23b3925b 100644 --- a/src/functionals/pbe.irp.f +++ b/src/functionals/pbe.irp.f @@ -63,11 +63,11 @@ END_PROVIDER do istate = 1, n_states do i = 1, ao_num do j = 1, ao_num - potential_x_alpha_ao_pbe(j,i,istate) = pot_sr_scal_x_alpha_ao_pbe(j,i,istate) + pot_sr_grad_x_alpha_ao_pbe(j,i,istate) + pot_sr_grad_x_alpha_ao_pbe(i,j,istate) - potential_x_beta_ao_pbe(j,i,istate) = pot_sr_scal_x_beta_ao_pbe(j,i,istate) + pot_sr_grad_x_beta_ao_pbe(j,i,istate) + pot_sr_grad_x_beta_ao_pbe(i,j,istate) + potential_x_alpha_ao_pbe(j,i,istate) = pot_scal_x_alpha_ao_pbe(j,i,istate) + pot_grad_x_alpha_ao_pbe(j,i,istate) + pot_grad_x_alpha_ao_pbe(i,j,istate) + potential_x_beta_ao_pbe(j,i,istate) = pot_scal_x_beta_ao_pbe(j,i,istate) + pot_grad_x_beta_ao_pbe(j,i,istate) + pot_grad_x_beta_ao_pbe(i,j,istate) - potential_c_alpha_ao_pbe(j,i,istate) = pot_sr_scal_c_alpha_ao_pbe(j,i,istate) + pot_sr_grad_c_alpha_ao_pbe(j,i,istate) + pot_sr_grad_c_alpha_ao_pbe(i,j,istate) - potential_c_beta_ao_pbe(j,i,istate) = pot_sr_scal_c_beta_ao_pbe(j,i,istate) + pot_sr_grad_c_beta_ao_pbe(j,i,istate) + pot_sr_grad_c_beta_ao_pbe(i,j,istate) + potential_c_alpha_ao_pbe(j,i,istate) = pot_scal_c_alpha_ao_pbe(j,i,istate) + pot_grad_c_alpha_ao_pbe(j,i,istate) + pot_grad_c_alpha_ao_pbe(i,j,istate) + potential_c_beta_ao_pbe(j,i,istate) = pot_scal_c_beta_ao_pbe(j,i,istate) + pot_grad_c_beta_ao_pbe(j,i,istate) + pot_grad_c_beta_ao_pbe(i,j,istate) enddo enddo enddo @@ -84,8 +84,8 @@ END_PROVIDER do istate = 1, n_states do i = 1, ao_num do j = 1, ao_num - potential_xc_alpha_ao_pbe(j,i,istate) = pot_sr_scal_xc_alpha_ao_pbe(j,i,istate) + pot_sr_grad_xc_alpha_ao_pbe(j,i,istate) + pot_sr_grad_xc_alpha_ao_pbe(i,j,istate) - potential_xc_beta_ao_pbe(j,i,istate) = pot_sr_scal_xc_beta_ao_pbe(j,i,istate) + pot_sr_grad_xc_beta_ao_pbe(j,i,istate) + pot_sr_grad_xc_beta_ao_pbe(i,j,istate) + potential_xc_alpha_ao_pbe(j,i,istate) = pot_scal_xc_alpha_ao_pbe(j,i,istate) + pot_grad_xc_alpha_ao_pbe(j,i,istate) + pot_grad_xc_alpha_ao_pbe(i,j,istate) + potential_xc_beta_ao_pbe(j,i,istate) = pot_scal_xc_beta_ao_pbe(j,i,istate) + pot_grad_xc_beta_ao_pbe(j,i,istate) + pot_grad_xc_beta_ao_pbe(i,j,istate) enddo enddo enddo @@ -94,19 +94,19 @@ END_PROVIDER - BEGIN_PROVIDER[double precision, aos_sr_vc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_sr_vc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_sr_vx_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_sr_vx_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dsr_vc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dsr_vc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dsr_vx_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dsr_vx_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] + BEGIN_PROVIDER[double precision, aos_vc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_vc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_vx_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_vx_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_d_vc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_d_vc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_d_vx_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_d_vx_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] implicit none BEGIN_DOC ! intermediates to compute the sr_pbe potentials ! -! aos_sr_vxc_alpha_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) +! aos_vxc_alpha_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) END_DOC integer :: istate,i,j,m double precision :: mu,weight @@ -115,10 +115,10 @@ END_PROVIDER double precision :: contrib_grad_xa(3),contrib_grad_xb(3),contrib_grad_ca(3),contrib_grad_cb(3) double precision :: vc_rho_a, vc_rho_b, vx_rho_a, vx_rho_b double precision :: vx_grad_rho_a_2, vx_grad_rho_b_2, vx_grad_rho_a_b, vc_grad_rho_a_2, vc_grad_rho_b_2, vc_grad_rho_a_b - aos_dsr_vc_alpha_pbe_w= 0.d0 - aos_dsr_vc_beta_pbe_w = 0.d0 - aos_dsr_vx_alpha_pbe_w= 0.d0 - aos_dsr_vx_beta_pbe_w = 0.d0 + aos_d_vc_alpha_pbe_w= 0.d0 + aos_d_vc_beta_pbe_w = 0.d0 + aos_d_vx_alpha_pbe_w= 0.d0 + aos_d_vx_beta_pbe_w = 0.d0 mu = 0.d0 do istate = 1, N_states do i = 1, n_points_final_grid @@ -152,17 +152,17 @@ END_PROVIDER contrib_grad_xb(m) = weight * (2.d0 * vx_grad_rho_b_2 * grad_rho_b(m) + vx_grad_rho_a_b * grad_rho_a(m) ) enddo do j = 1, ao_num - aos_sr_vc_alpha_pbe_w(j,i,istate) = vc_rho_a * aos_in_r_array(j,i) - aos_sr_vc_beta_pbe_w (j,i,istate) = vc_rho_b * aos_in_r_array(j,i) - aos_sr_vx_alpha_pbe_w(j,i,istate) = vx_rho_a * aos_in_r_array(j,i) - aos_sr_vx_beta_pbe_w (j,i,istate) = vx_rho_b * aos_in_r_array(j,i) + aos_vc_alpha_pbe_w(j,i,istate) = vc_rho_a * aos_in_r_array(j,i) + aos_vc_beta_pbe_w (j,i,istate) = vc_rho_b * aos_in_r_array(j,i) + aos_vx_alpha_pbe_w(j,i,istate) = vx_rho_a * aos_in_r_array(j,i) + aos_vx_beta_pbe_w (j,i,istate) = vx_rho_b * aos_in_r_array(j,i) enddo do j = 1, ao_num do m = 1,3 - aos_dsr_vc_alpha_pbe_w(j,i,istate) += contrib_grad_ca(m) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dsr_vc_beta_pbe_w (j,i,istate) += contrib_grad_cb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dsr_vx_alpha_pbe_w(j,i,istate) += contrib_grad_xa(m) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dsr_vx_beta_pbe_w (j,i,istate) += contrib_grad_xb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vc_alpha_pbe_w(j,i,istate) += contrib_grad_ca(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vc_beta_pbe_w (j,i,istate) += contrib_grad_cb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vx_alpha_pbe_w(j,i,istate) += contrib_grad_xa(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vx_beta_pbe_w (j,i,istate) += contrib_grad_xb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) enddo enddo enddo @@ -171,10 +171,10 @@ END_PROVIDER END_PROVIDER - BEGIN_PROVIDER [double precision, pot_sr_scal_x_alpha_ao_pbe, (ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_scal_c_alpha_ao_pbe, (ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_scal_x_beta_ao_pbe, (ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_scal_c_beta_ao_pbe, (ao_num,ao_num,N_states)] + BEGIN_PROVIDER [double precision, pot_scal_x_alpha_ao_pbe, (ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_scal_c_alpha_ao_pbe, (ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_scal_x_beta_ao_pbe, (ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_scal_c_beta_ao_pbe, (ao_num,ao_num,N_states)] implicit none ! intermediates to compute the sr_pbe potentials ! @@ -182,33 +182,33 @@ END_PROVIDER BEGIN_DOC ! intermediate quantity for the calculation of the vxc potentials for the GGA functionals related to the scalar part of the potential END_DOC - pot_sr_scal_c_alpha_ao_pbe = 0.d0 - pot_sr_scal_x_alpha_ao_pbe = 0.d0 - pot_sr_scal_c_beta_ao_pbe = 0.d0 - pot_sr_scal_x_beta_ao_pbe = 0.d0 + pot_scal_c_alpha_ao_pbe = 0.d0 + pot_scal_x_alpha_ao_pbe = 0.d0 + pot_scal_c_beta_ao_pbe = 0.d0 + pot_scal_x_beta_ao_pbe = 0.d0 double precision :: wall_1,wall_2 call wall_time(wall_1) do istate = 1, N_states ! correlation alpha - call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vc_alpha_pbe_w(1,1,istate),size(aos_sr_vc_alpha_pbe_w,1), & - aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_sr_scal_c_alpha_ao_pbe(1,1,istate),size(pot_sr_scal_c_alpha_ao_pbe,1)) + call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_vc_alpha_pbe_w(1,1,istate),size(aos_vc_alpha_pbe_w,1), & + aos_in_r_array,size(aos_in_r_array,1),1.d0, & + pot_scal_c_alpha_ao_pbe(1,1,istate),size(pot_scal_c_alpha_ao_pbe,1)) ! correlation beta - call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vc_beta_pbe_w(1,1,istate),size(aos_sr_vc_beta_pbe_w,1), & - aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_sr_scal_c_beta_ao_pbe(1,1,istate),size(pot_sr_scal_c_beta_ao_pbe,1)) + call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_vc_beta_pbe_w(1,1,istate),size(aos_vc_beta_pbe_w,1), & + aos_in_r_array,size(aos_in_r_array,1),1.d0, & + pot_scal_c_beta_ao_pbe(1,1,istate),size(pot_scal_c_beta_ao_pbe,1)) ! exchange alpha - call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vx_alpha_pbe_w(1,1,istate),size(aos_sr_vx_alpha_pbe_w,1), & - aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_sr_scal_x_alpha_ao_pbe(1,1,istate),size(pot_sr_scal_x_alpha_ao_pbe,1)) + call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_vx_alpha_pbe_w(1,1,istate),size(aos_vx_alpha_pbe_w,1), & + aos_in_r_array,size(aos_in_r_array,1),1.d0, & + pot_scal_x_alpha_ao_pbe(1,1,istate),size(pot_scal_x_alpha_ao_pbe,1)) ! exchange beta - call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vx_beta_pbe_w(1,1,istate),size(aos_sr_vx_beta_pbe_w,1), & - aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_sr_scal_x_beta_ao_pbe(1,1,istate), size(pot_sr_scal_x_beta_ao_pbe,1)) + call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_vx_beta_pbe_w(1,1,istate),size(aos_vx_beta_pbe_w,1), & + aos_in_r_array,size(aos_in_r_array,1),1.d0, & + pot_scal_x_beta_ao_pbe(1,1,istate), size(pot_scal_x_beta_ao_pbe,1)) enddo call wall_time(wall_2) @@ -216,10 +216,10 @@ END_PROVIDER END_PROVIDER - BEGIN_PROVIDER [double precision, pot_sr_grad_x_alpha_ao_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_grad_x_beta_ao_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_grad_c_alpha_ao_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_grad_c_beta_ao_pbe,(ao_num,ao_num,N_states)] + BEGIN_PROVIDER [double precision, pot_grad_x_alpha_ao_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_grad_x_beta_ao_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_grad_c_alpha_ao_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_grad_c_beta_ao_pbe,(ao_num,ao_num,N_states)] implicit none BEGIN_DOC ! intermediate quantity for the calculation of the vxc potentials for the GGA functionals related to the gradienst of the density and orbitals @@ -227,31 +227,31 @@ END_PROVIDER integer :: istate double precision :: wall_1,wall_2 call wall_time(wall_1) - pot_sr_grad_c_alpha_ao_pbe = 0.d0 - pot_sr_grad_x_alpha_ao_pbe = 0.d0 - pot_sr_grad_c_beta_ao_pbe = 0.d0 - pot_sr_grad_x_beta_ao_pbe = 0.d0 + pot_grad_c_alpha_ao_pbe = 0.d0 + pot_grad_x_alpha_ao_pbe = 0.d0 + pot_grad_c_beta_ao_pbe = 0.d0 + pot_grad_x_beta_ao_pbe = 0.d0 do istate = 1, N_states ! correlation alpha - call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vc_alpha_pbe_w(1,1,istate),size(aos_dsr_vc_alpha_pbe_w,1), & - aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_sr_grad_c_alpha_ao_pbe(1,1,istate),size(pot_sr_grad_c_alpha_ao_pbe,1)) + call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_d_vc_alpha_pbe_w(1,1,istate),size(aos_d_vc_alpha_pbe_w,1), & + aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & + pot_grad_c_alpha_ao_pbe(1,1,istate),size(pot_grad_c_alpha_ao_pbe,1)) ! correlation beta - call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vc_beta_pbe_w(1,1,istate),size(aos_dsr_vc_beta_pbe_w,1), & - aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_sr_grad_c_beta_ao_pbe(1,1,istate),size(pot_sr_grad_c_beta_ao_pbe,1)) + call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_d_vc_beta_pbe_w(1,1,istate),size(aos_d_vc_beta_pbe_w,1), & + aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & + pot_grad_c_beta_ao_pbe(1,1,istate),size(pot_grad_c_beta_ao_pbe,1)) ! exchange alpha - call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vx_alpha_pbe_w(1,1,istate),size(aos_dsr_vx_alpha_pbe_w,1), & - aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_sr_grad_x_alpha_ao_pbe(1,1,istate),size(pot_sr_grad_x_alpha_ao_pbe,1)) + call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_d_vx_alpha_pbe_w(1,1,istate),size(aos_d_vx_alpha_pbe_w,1), & + aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & + pot_grad_x_alpha_ao_pbe(1,1,istate),size(pot_grad_x_alpha_ao_pbe,1)) ! exchange beta - call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vx_beta_pbe_w(1,1,istate),size(aos_dsr_vx_beta_pbe_w,1), & - aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_sr_grad_x_beta_ao_pbe(1,1,istate),size(pot_sr_grad_x_beta_ao_pbe,1)) + call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_d_vx_beta_pbe_w(1,1,istate),size(aos_d_vx_beta_pbe_w,1), & + aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & + pot_grad_x_beta_ao_pbe(1,1,istate),size(pot_grad_x_beta_ao_pbe,1)) enddo call wall_time(wall_2) @@ -259,13 +259,13 @@ END_PROVIDER END_PROVIDER - BEGIN_PROVIDER[double precision, aos_sr_vxc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_sr_vxc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dsr_vxc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dsr_vxc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] + BEGIN_PROVIDER[double precision, aos_vxc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_vxc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_d_vxc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_d_vxc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] implicit none BEGIN_DOC -! aos_sr_vxc_alpha_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) +! aos_vxc_alpha_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) END_DOC integer :: istate,i,j,m double precision :: mu,weight @@ -276,8 +276,8 @@ END_PROVIDER double precision :: vx_grad_rho_a_2, vx_grad_rho_b_2, vx_grad_rho_a_b, vc_grad_rho_a_2, vc_grad_rho_b_2, vc_grad_rho_a_b mu = 0.d0 - aos_dsr_vxc_alpha_pbe_w = 0.d0 - aos_dsr_vxc_beta_pbe_w = 0.d0 + aos_d_vxc_alpha_pbe_w = 0.d0 + aos_d_vxc_beta_pbe_w = 0.d0 do istate = 1, N_states do i = 1, n_points_final_grid @@ -310,13 +310,13 @@ END_PROVIDER contrib_grad_xb(m) = weight * (2.d0 * vx_grad_rho_b_2 * grad_rho_b(m) + vx_grad_rho_a_b * grad_rho_a(m) ) enddo do j = 1, ao_num - aos_sr_vxc_alpha_pbe_w(j,i,istate) = ( vc_rho_a + vx_rho_a ) * aos_in_r_array(j,i) - aos_sr_vxc_beta_pbe_w (j,i,istate) = ( vc_rho_b + vx_rho_b ) * aos_in_r_array(j,i) + aos_vxc_alpha_pbe_w(j,i,istate) = ( vc_rho_a + vx_rho_a ) * aos_in_r_array(j,i) + aos_vxc_beta_pbe_w (j,i,istate) = ( vc_rho_b + vx_rho_b ) * aos_in_r_array(j,i) enddo do j = 1, ao_num do m = 1,3 - aos_dsr_vxc_alpha_pbe_w(j,i,istate) += ( contrib_grad_ca(m) + contrib_grad_xa(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dsr_vxc_beta_pbe_w (j,i,istate) += ( contrib_grad_cb(m) + contrib_grad_xb(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vxc_alpha_pbe_w(j,i,istate) += ( contrib_grad_ca(m) + contrib_grad_xa(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vxc_beta_pbe_w (j,i,istate) += ( contrib_grad_cb(m) + contrib_grad_xb(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) enddo enddo enddo @@ -325,36 +325,36 @@ END_PROVIDER END_PROVIDER - BEGIN_PROVIDER [double precision, pot_sr_scal_xc_alpha_ao_pbe, (ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_scal_xc_beta_ao_pbe, (ao_num,ao_num,N_states)] + BEGIN_PROVIDER [double precision, pot_scal_xc_alpha_ao_pbe, (ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_scal_xc_beta_ao_pbe, (ao_num,ao_num,N_states)] implicit none integer :: istate BEGIN_DOC ! intermediate quantity for the calculation of the vxc potentials for the GGA functionals related to the scalar part of the potential END_DOC - pot_sr_scal_xc_alpha_ao_pbe = 0.d0 - pot_sr_scal_xc_beta_ao_pbe = 0.d0 + pot_scal_xc_alpha_ao_pbe = 0.d0 + pot_scal_xc_beta_ao_pbe = 0.d0 double precision :: wall_1,wall_2 call wall_time(wall_1) do istate = 1, N_states ! exchange - correlation alpha - call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vxc_alpha_pbe_w(1,1,istate),size(aos_sr_vxc_alpha_pbe_w,1), & - aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_sr_scal_xc_alpha_ao_pbe(1,1,istate),size(pot_sr_scal_xc_alpha_ao_pbe,1)) + call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_vxc_alpha_pbe_w(1,1,istate),size(aos_vxc_alpha_pbe_w,1), & + aos_in_r_array,size(aos_in_r_array,1),1.d0, & + pot_scal_xc_alpha_ao_pbe(1,1,istate),size(pot_scal_xc_alpha_ao_pbe,1)) ! exchange - correlation beta - call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vxc_beta_pbe_w(1,1,istate),size(aos_sr_vxc_beta_pbe_w,1), & - aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_sr_scal_xc_beta_ao_pbe(1,1,istate),size(pot_sr_scal_xc_beta_ao_pbe,1)) + call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_vxc_beta_pbe_w(1,1,istate),size(aos_vxc_beta_pbe_w,1), & + aos_in_r_array,size(aos_in_r_array,1),1.d0, & + pot_scal_xc_beta_ao_pbe(1,1,istate),size(pot_scal_xc_beta_ao_pbe,1)) enddo call wall_time(wall_2) END_PROVIDER - BEGIN_PROVIDER [double precision, pot_sr_grad_xc_alpha_ao_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_grad_xc_beta_ao_pbe,(ao_num,ao_num,N_states)] + BEGIN_PROVIDER [double precision, pot_grad_xc_alpha_ao_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_grad_xc_beta_ao_pbe,(ao_num,ao_num,N_states)] implicit none BEGIN_DOC ! intermediate quantity for the calculation of the vxc potentials for the GGA functionals related to the gradienst of the density and orbitals @@ -362,19 +362,19 @@ END_PROVIDER integer :: istate double precision :: wall_1,wall_2 call wall_time(wall_1) - pot_sr_grad_xc_alpha_ao_pbe = 0.d0 - pot_sr_grad_xc_beta_ao_pbe = 0.d0 + pot_grad_xc_alpha_ao_pbe = 0.d0 + pot_grad_xc_beta_ao_pbe = 0.d0 do istate = 1, N_states ! exchange - correlation alpha - call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vxc_alpha_pbe_w(1,1,istate),size(aos_dsr_vxc_alpha_pbe_w,1), & - aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_sr_grad_xc_alpha_ao_pbe(1,1,istate),size(pot_sr_grad_xc_alpha_ao_pbe,1)) + call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_d_vxc_alpha_pbe_w(1,1,istate),size(aos_d_vxc_alpha_pbe_w,1), & + aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & + pot_grad_xc_alpha_ao_pbe(1,1,istate),size(pot_grad_xc_alpha_ao_pbe,1)) ! exchange - correlation beta - call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vxc_beta_pbe_w(1,1,istate),size(aos_dsr_vxc_beta_pbe_w,1), & - aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_sr_grad_xc_beta_ao_pbe(1,1,istate),size(pot_sr_grad_xc_beta_ao_pbe,1)) + call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_d_vxc_beta_pbe_w(1,1,istate),size(aos_d_vxc_beta_pbe_w,1), & + aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & + pot_grad_xc_beta_ao_pbe(1,1,istate),size(pot_grad_xc_beta_ao_pbe,1)) enddo call wall_time(wall_2) diff --git a/src/functionals/sr_pbe.irp.f b/src/functionals/sr_pbe.irp.f index f6043479..af202cfb 100644 --- a/src/functionals/sr_pbe.irp.f +++ b/src/functionals/sr_pbe.irp.f @@ -188,24 +188,24 @@ END_PROVIDER call wall_time(wall_1) do istate = 1, N_states ! correlation alpha - call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vc_alpha_pbe_w(1,1,istate),size(aos_sr_vc_alpha_pbe_w,1), & - aos_in_r_array,size(aos_in_r_array,1),1.d0, & + call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_sr_vc_alpha_pbe_w(1,1,istate),size(aos_sr_vc_alpha_pbe_w,1), & + aos_in_r_array,size(aos_in_r_array,1),1.d0, & pot_sr_scal_c_alpha_ao_pbe(1,1,istate),size(pot_sr_scal_c_alpha_ao_pbe,1)) ! correlation beta - call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vc_beta_pbe_w(1,1,istate),size(aos_sr_vc_beta_pbe_w,1), & - aos_in_r_array,size(aos_in_r_array,1),1.d0, & + call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_sr_vc_beta_pbe_w(1,1,istate),size(aos_sr_vc_beta_pbe_w,1), & + aos_in_r_array,size(aos_in_r_array,1),1.d0, & pot_sr_scal_c_beta_ao_pbe(1,1,istate),size(pot_sr_scal_c_beta_ao_pbe,1)) ! exchange alpha - call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vx_alpha_pbe_w(1,1,istate),size(aos_sr_vx_alpha_pbe_w,1), & - aos_in_r_array,size(aos_in_r_array,1),1.d0, & + call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_sr_vx_alpha_pbe_w(1,1,istate),size(aos_sr_vx_alpha_pbe_w,1), & + aos_in_r_array,size(aos_in_r_array,1),1.d0, & pot_sr_scal_x_alpha_ao_pbe(1,1,istate),size(pot_sr_scal_x_alpha_ao_pbe,1)) ! exchange beta - call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vx_beta_pbe_w(1,1,istate),size(aos_sr_vx_beta_pbe_w,1), & - aos_in_r_array,size(aos_in_r_array,1),1.d0, & + call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_sr_vx_beta_pbe_w(1,1,istate),size(aos_sr_vx_beta_pbe_w,1), & + aos_in_r_array,size(aos_in_r_array,1),1.d0, & pot_sr_scal_x_beta_ao_pbe(1,1,istate), size(pot_sr_scal_x_beta_ao_pbe,1)) enddo @@ -231,24 +231,24 @@ END_PROVIDER pot_sr_grad_x_beta_ao_pbe = 0.d0 do istate = 1, N_states ! correlation alpha - call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vc_alpha_pbe_w(1,1,istate),size(aos_dsr_vc_alpha_pbe_w,1), & - aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & + call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_dsr_vc_alpha_pbe_w(1,1,istate),size(aos_dsr_vc_alpha_pbe_w,1), & + aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & pot_sr_grad_c_alpha_ao_pbe(1,1,istate),size(pot_sr_grad_c_alpha_ao_pbe,1)) ! correlation beta - call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vc_beta_pbe_w(1,1,istate),size(aos_dsr_vc_beta_pbe_w,1), & - aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & + call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_dsr_vc_beta_pbe_w(1,1,istate),size(aos_dsr_vc_beta_pbe_w,1), & + aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & pot_sr_grad_c_beta_ao_pbe(1,1,istate),size(pot_sr_grad_c_beta_ao_pbe,1)) ! exchange alpha - call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vx_alpha_pbe_w(1,1,istate),size(aos_dsr_vx_alpha_pbe_w,1), & - aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & + call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_dsr_vx_alpha_pbe_w(1,1,istate),size(aos_dsr_vx_alpha_pbe_w,1), & + aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & pot_sr_grad_x_alpha_ao_pbe(1,1,istate),size(pot_sr_grad_x_alpha_ao_pbe,1)) ! exchange beta - call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vx_beta_pbe_w(1,1,istate),size(aos_dsr_vx_beta_pbe_w,1), & - aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & + call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_dsr_vx_beta_pbe_w(1,1,istate),size(aos_dsr_vx_beta_pbe_w,1), & + aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & pot_sr_grad_x_beta_ao_pbe(1,1,istate),size(pot_sr_grad_x_beta_ao_pbe,1)) enddo @@ -335,14 +335,14 @@ END_PROVIDER call wall_time(wall_1) do istate = 1, N_states ! exchange - correlation alpha - call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vxc_alpha_pbe_w(1,1,istate),size(aos_sr_vxc_alpha_pbe_w,1), & - aos_in_r_array,size(aos_in_r_array,1),1.d0, & + call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_sr_vxc_alpha_pbe_w(1,1,istate),size(aos_sr_vxc_alpha_pbe_w,1), & + aos_in_r_array,size(aos_in_r_array,1),1.d0, & pot_sr_scal_xc_alpha_ao_pbe(1,1,istate),size(pot_sr_scal_xc_alpha_ao_pbe,1)) ! exchange - correlation beta - call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vxc_beta_pbe_w(1,1,istate),size(aos_sr_vxc_beta_pbe_w,1), & - aos_in_r_array,size(aos_in_r_array,1),1.d0, & + call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_sr_vxc_beta_pbe_w(1,1,istate),size(aos_sr_vxc_beta_pbe_w,1), & + aos_in_r_array,size(aos_in_r_array,1),1.d0, & pot_sr_scal_xc_beta_ao_pbe(1,1,istate),size(pot_sr_scal_xc_beta_ao_pbe,1)) enddo call wall_time(wall_2) @@ -363,14 +363,14 @@ END_PROVIDER pot_sr_grad_xc_beta_ao_pbe = 0.d0 do istate = 1, N_states ! exchange - correlation alpha - call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vxc_alpha_pbe_w(1,1,istate),size(aos_dsr_vxc_alpha_pbe_w,1), & - aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & + call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_dsr_vxc_alpha_pbe_w(1,1,istate),size(aos_dsr_vxc_alpha_pbe_w,1), & + aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & pot_sr_grad_xc_alpha_ao_pbe(1,1,istate),size(pot_sr_grad_xc_alpha_ao_pbe,1)) ! exchange - correlation beta - call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vxc_beta_pbe_w(1,1,istate),size(aos_dsr_vxc_beta_pbe_w,1), & - aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & + call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & + aos_dsr_vxc_beta_pbe_w(1,1,istate),size(aos_dsr_vxc_beta_pbe_w,1), & + aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & pot_sr_grad_xc_beta_ao_pbe(1,1,istate),size(pot_sr_grad_xc_beta_ao_pbe,1)) enddo From a65917445124b1c28ca699e14737cb932f1cbf5e Mon Sep 17 00:00:00 2001 From: Emmanuel Giner LCT Date: Tue, 31 Mar 2020 18:40:20 +0200 Subject: [PATCH 049/138] cleaned some dirty non ascii character --- scripts/utility/qp_clean_source_files.sh | 37 ++++++++++++++++++++++++ src/casscf/superci_dm.irp.f | 2 +- src/cisd/cisd.irp.f | 2 +- src/davidson/u0_h_u0.irp.f | 4 +-- src/determinants/example.irp.f | 2 +- src/tools/print_wf.irp.f | 2 +- 6 files changed, 43 insertions(+), 6 deletions(-) create mode 100755 scripts/utility/qp_clean_source_files.sh diff --git a/scripts/utility/qp_clean_source_files.sh b/scripts/utility/qp_clean_source_files.sh new file mode 100755 index 00000000..c2d4e366 --- /dev/null +++ b/scripts/utility/qp_clean_source_files.sh @@ -0,0 +1,37 @@ +#!/bin/bash +# +# Cleans the source files from non-ascii characters +# +# Tue Mar 31 18:28:42 CEST 2020 +# + +function help() { + cat << EOF +Cleans the source files of QP from non-ascii characters. + +Usage: + + $(basename $0) [-h|--help] + +Options: + + -h --help Prints the help message + +EOF + exit 0 +} + +# Check the QP_ROOT directory +if [[ -z ${QP_ROOT} ]] ; then + echo "The QP_ROOT environment variable is not set." + echo "Please reload the quantum_package.rc file." + exit 1 +fi + + +FILES=$(grep -P "\xA0" ${QP_ROOT}/src/*/*.f | cut -d ':' -f 1 | sort | uniq) +for F in $FILES ; do + echo "Cleaning $F" + vim -c "% s/\%xA0/ /g" -c ":wq" $F +done + diff --git a/src/casscf/superci_dm.irp.f b/src/casscf/superci_dm.irp.f index 0aef222b..ee831c35 100644 --- a/src/casscf/superci_dm.irp.f +++ b/src/casscf/superci_dm.irp.f @@ -135,7 +135,7 @@ END_PROVIDER BEGIN_PROVIDER [double precision, mat_tmp_dm_super_ci, (n_act_orb,n_act_orb)] implicit none BEGIN_DOC - ! computation of the term in [ ] in the equation B3.d of Roos et. al. Chemical Physics 48 (1980) 157-173 + ! computation of the term in [ ] in the equation B3.d of Roos et. al. Chemical Physics 48 (1980) 157-173 ! ! !!!!! WARNING !!!!!! there is a TYPO: a MINUS SIGN SHOULD APPEAR in that term END_DOC diff --git a/src/cisd/cisd.irp.f b/src/cisd/cisd.irp.f index 4153c9a6..6c55e2ff 100644 --- a/src/cisd/cisd.irp.f +++ b/src/cisd/cisd.irp.f @@ -14,7 +14,7 @@ program cisd ! * **Ground state calculation**: if even after a :c:func:`cis` calculation, natural ! orbitals (see :c:func:`save_natorb`) and then :c:func:`scf` optimization, you are not sure to have the lowest scf ! solution, - ! do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural + ! do the same strategy with the :c:func:`cisd` executable instead of the :c:func:`cis` exectuable to generate the natural ! orbitals as a guess for the :c:func:`scf`. ! ! diff --git a/src/davidson/u0_h_u0.irp.f b/src/davidson/u0_h_u0.irp.f index 6117a13e..302b8423 100644 --- a/src/davidson/u0_h_u0.irp.f +++ b/src/davidson/u0_h_u0.irp.f @@ -2,9 +2,9 @@ &BEGIN_PROVIDER [ double precision, psi_s2, (N_states) ] implicit none BEGIN_DOC -! psi_energy(i) = $\langle \Psi_i | H | \Psi_i \rangle$ +! psi_energy(i) = $\langle \Psi_i | H | \Psi_i \rangle$ ! -! psi_s2(i) = $\langle \Psi_i | S^2 | \Psi_i \rangle$ +! psi_s2(i) = $\langle \Psi_i | S^2 | \Psi_i \rangle$ END_DOC call u_0_H_u_0(psi_energy,psi_s2,psi_coef,N_det,psi_det,N_int,N_states,psi_det_size) integer :: i diff --git a/src/determinants/example.irp.f b/src/determinants/example.irp.f index 4f56f807..9b2c28b6 100644 --- a/src/determinants/example.irp.f +++ b/src/determinants/example.irp.f @@ -146,7 +146,7 @@ subroutine routine_example_psi_det double precision, allocatable :: i_H_psi(:) allocate(i_H_psi(N_states)) i_H_psi = 0.d0 - print*,'Computing = \sum_I c_I ' + print*,'Computing = \sum_I c_I ' do i = 1, idx(0) ! number of Slater determinants connected to the first one print*,'Determinant connected' call debug_det(psi_det(1,1,idx(i)),N_int) diff --git a/src/tools/print_wf.irp.f b/src/tools/print_wf.irp.f index a92d1a51..7e51caaf 100644 --- a/src/tools/print_wf.irp.f +++ b/src/tools/print_wf.irp.f @@ -95,7 +95,7 @@ subroutine routine print*,'h2,p2 = ',h2,p2 endif - print*,' = ',hij + print*,' = ',hij print*,'Delta E = ',h00-hii print*,'coef pert (1) = ',coef_1 print*,'coef 2x2 = ',coef_2_2 From 4fa1cdd4d2b00fa505585db6643b259537afcaba Mon Sep 17 00:00:00 2001 From: Emmanuel Giner LCT Date: Tue, 31 Mar 2020 19:02:03 +0200 Subject: [PATCH 050/138] Better regexp fon non-ascii files --- scripts/utility/qp_clean_source_files.sh | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/scripts/utility/qp_clean_source_files.sh b/scripts/utility/qp_clean_source_files.sh index c2d4e366..e8f42123 100755 --- a/scripts/utility/qp_clean_source_files.sh +++ b/scripts/utility/qp_clean_source_files.sh @@ -29,9 +29,12 @@ if [[ -z ${QP_ROOT} ]] ; then fi -FILES=$(grep -P "\xA0" ${QP_ROOT}/src/*/*.f | cut -d ':' -f 1 | sort | uniq) +FILES=$(grep -e "[\x{00FF}-\x{FFFF}]" ${QP_ROOT}/src/*/*.f | cut -d ':' -f 1 | sort | uniq) for F in $FILES ; do echo "Cleaning $F" - vim -c "% s/\%xA0/ /g" -c ":wq" $F +# vim -c "% s/\%xA0/ /g" -c ":wq" $F + perl -pi -e 's/[^[:ascii:]]/ /g' $F done + + From 25102d79a31e9de594e07114f9696284963c897e Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Thu, 2 Apr 2020 14:22:01 +0200 Subject: [PATCH 051/138] fixed a bug in two_rdm, added the possibility to Write/Read the all_states active 2 rdm --- src/bitmask/EZFIO.cfg | 5 ++ src/bitmask/core_inact_act_virt.irp.f | 5 +- src/two_body_rdm/EZFIO.cfg | 48 ++++++++++++++++++ src/two_body_rdm/README.rst | 3 +- src/two_body_rdm/act_2_rdm.irp.f | 49 +++++++++++++++++-- src/two_rdm_routines/davidson_like_2rdm.irp.f | 12 ++--- .../davidson_like_state_av_2rdm.irp.f | 13 +++-- src/two_rdm_routines/update_rdm.irp.f | 2 - ...av_rdm.irp.f => update_state_av_rdm.irp.f} | 0 9 files changed, 115 insertions(+), 22 deletions(-) create mode 100644 src/bitmask/EZFIO.cfg create mode 100644 src/two_body_rdm/EZFIO.cfg rename src/two_rdm_routines/{updata_state_av_rdm.irp.f => update_state_av_rdm.irp.f} (100%) diff --git a/src/bitmask/EZFIO.cfg b/src/bitmask/EZFIO.cfg new file mode 100644 index 00000000..9d713304 --- /dev/null +++ b/src/bitmask/EZFIO.cfg @@ -0,0 +1,5 @@ +[n_act_orb] +type: integer +doc: Number of active |MOs| +interface: ezfio + diff --git a/src/bitmask/core_inact_act_virt.irp.f b/src/bitmask/core_inact_act_virt.irp.f index 26942c93..d83d69e9 100644 --- a/src/bitmask/core_inact_act_virt.irp.f +++ b/src/bitmask/core_inact_act_virt.irp.f @@ -49,9 +49,10 @@ BEGIN_PROVIDER [ integer, n_act_orb] n_act_orb += 1 endif enddo - call write_int(6,n_act_orb, 'Number of active MOs') - + if (mpi_master) then + call ezfio_set_bitmask_n_act_orb(n_act_orb) + endif END_PROVIDER BEGIN_PROVIDER [ integer, n_virt_orb ] diff --git a/src/two_body_rdm/EZFIO.cfg b/src/two_body_rdm/EZFIO.cfg new file mode 100644 index 00000000..4ca39d73 --- /dev/null +++ b/src/two_body_rdm/EZFIO.cfg @@ -0,0 +1,48 @@ +[two_rdm_ab_disk] +type: double precision +doc: active part of the two body rdm alpha/beta stored on disk +interface: ezfio +size: (bitmask.n_act_orb,bitmask.n_act_orb,bitmask.n_act_orb,bitmask.n_act_orb,determinants.n_states) + +[io_two_body_rdm_ab] +type: Disk_access +doc: Read/Write the active part of the two-body rdm for alpha/beta electrons from/to disk [ Write | Read | None ] +interface: ezfio,provider,ocaml +default: None + +[two_rdm_aa_disk] +type: double precision +doc: active part of the two body rdm alpha/alpha stored on disk +interface: ezfio +size: (bitmask.n_act_orb,bitmask.n_act_orb,bitmask.n_act_orb,bitmask.n_act_orb,determinants.n_states) + +[io_two_body_rdm_aa] +type: Disk_access +doc: Read/Write the active part of the two-body rdm for alpha/alpha electrons from/to disk [ Write | Read | None ] +interface: ezfio,provider,ocaml +default: None + +[two_rdm_bb_disk] +type: double precision +doc: active part of the two body rdm beta/beta stored on disk +interface: ezfio +size: (bitmask.n_act_orb,bitmask.n_act_orb,bitmask.n_act_orb,bitmask.n_act_orb,determinants.n_states) + +[io_two_body_rdm_bb] +type: Disk_access +doc: Read/Write the active part of the two-body rdm for beta/beta electrons from/to disk [ Write | Read | None ] +interface: ezfio,provider,ocaml +default: None + +[two_rdm_spin_trace_disk] +type: double precision +doc: active part of the two body rdm spin trace stored on disk +interface: ezfio +size: (bitmask.n_act_orb,bitmask.n_act_orb,bitmask.n_act_orb,bitmask.n_act_orb,determinants.n_states) + +[io_two_body_rdm_spin_trace] +type: Disk_access +doc: Read/Write the active part of the two-body rdm for spin trace electrons from/to disk [ Write | Read | None ] +interface: ezfio,provider,ocaml +default: None + diff --git a/src/two_body_rdm/README.rst b/src/two_body_rdm/README.rst index 69f1f2a4..c82f7b0a 100644 --- a/src/two_body_rdm/README.rst +++ b/src/two_body_rdm/README.rst @@ -3,7 +3,6 @@ two_body_rdm ============ Contains the two rdms $\alpha\alpha$, $\beta\beta$ and $\alpha\beta$ stored as -arrays, with pysicists notation, consistent with the two-electron integrals in the -MO basis. +arrays, with pysicists notation, consistent with the two-electron integrals in the MO basis. diff --git a/src/two_body_rdm/act_2_rdm.irp.f b/src/two_body_rdm/act_2_rdm.irp.f index 5914f411..3d4a9ace 100644 --- a/src/two_body_rdm/act_2_rdm.irp.f +++ b/src/two_body_rdm/act_2_rdm.irp.f @@ -26,8 +26,17 @@ ispin = 3 act_2_rdm_ab_mo = 0.d0 call wall_time(wall_1) - call orb_range_2_rdm_openmp(act_2_rdm_ab_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) - + if(read_two_body_rdm_ab)then + print*,'Reading act_2_rdm_ab_mo from disk ...' + call ezfio_get_two_body_rdm_two_rdm_ab_disk(act_2_rdm_ab_mo) + else + call orb_range_2_rdm_openmp(act_2_rdm_ab_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + endif + if(write_two_body_rdm_ab)then + print*,'Writing act_2_rdm_ab_mo on disk ...' + call ezfio_set_two_body_rdm_two_rdm_ab_disk(act_2_rdm_ab_mo) + call ezfio_set_two_body_rdm_io_two_body_rdm_ab("Read") + endif call wall_time(wall_2) print*,'Wall time to provide act_2_rdm_ab_mo',wall_2 - wall_1 END_PROVIDER @@ -54,7 +63,17 @@ ispin = 1 act_2_rdm_aa_mo = 0.d0 call wall_time(wall_1) - call orb_range_2_rdm_openmp(act_2_rdm_aa_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + if(read_two_body_rdm_aa)then + print*,'Reading act_2_rdm_aa_mo from disk ...' + call ezfio_get_two_body_rdm_two_rdm_aa_disk(act_2_rdm_aa_mo) + else + call orb_range_2_rdm_openmp(act_2_rdm_aa_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + endif + if(write_two_body_rdm_aa)then + print*,'Writing act_2_rdm_aa_mo on disk ...' + call ezfio_set_two_body_rdm_two_rdm_aa_disk(act_2_rdm_aa_mo) + call ezfio_set_two_body_rdm_io_two_body_rdm_aa("Read") + endif call wall_time(wall_2) print*,'Wall time to provide act_2_rdm_aa_mo',wall_2 - wall_1 @@ -82,7 +101,17 @@ ispin = 2 act_2_rdm_bb_mo = 0.d0 call wall_time(wall_1) - call orb_range_2_rdm_openmp(act_2_rdm_bb_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + if(read_two_body_rdm_bb)then + print*,'Reading act_2_rdm_bb_mo from disk ...' + call ezfio_get_two_body_rdm_two_rdm_bb_disk(act_2_rdm_bb_mo) + else + call orb_range_2_rdm_openmp(act_2_rdm_bb_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + endif + if(write_two_body_rdm_bb)then + print*,'Writing act_2_rdm_bb_mo on disk ...' + call ezfio_set_two_body_rdm_two_rdm_bb_disk(act_2_rdm_bb_mo) + call ezfio_set_two_body_rdm_io_two_body_rdm_bb("Read") + endif call wall_time(wall_2) print*,'Wall time to provide act_2_rdm_bb_mo',wall_2 - wall_1 @@ -109,7 +138,17 @@ ispin = 4 act_2_rdm_spin_trace_mo = 0.d0 call wall_time(wall_1) - call orb_range_2_rdm_openmp(act_2_rdm_spin_trace_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + if(read_two_body_rdm_spin_trace)then + print*,'Reading act_2_rdm_spin_trace_mo from disk ...' + call ezfio_get_two_body_rdm_two_rdm_spin_trace_disk(act_2_rdm_spin_trace_mo) + else + call orb_range_2_rdm_openmp(act_2_rdm_spin_trace_mo,n_act_orb,n_act_orb,list_act,ispin,psi_coef,size(psi_coef,2),size(psi_coef,1)) + endif + if(write_two_body_rdm_spin_trace)then + print*,'Writing act_2_rdm_spin_trace_mo on disk ...' + call ezfio_set_two_body_rdm_two_rdm_spin_trace_disk(act_2_rdm_spin_trace_mo) + call ezfio_set_two_body_rdm_io_two_body_rdm_spin_trace("Read") + endif call wall_time(wall_2) print*,'Wall time to provide act_2_rdm_spin_trace_mo',wall_2 - wall_1 diff --git a/src/two_rdm_routines/davidson_like_2rdm.irp.f b/src/two_rdm_routines/davidson_like_2rdm.irp.f index 2b1e2cfa..3ad218e0 100644 --- a/src/two_rdm_routines/davidson_like_2rdm.irp.f +++ b/src/two_rdm_routines/davidson_like_2rdm.irp.f @@ -137,7 +137,7 @@ subroutine orb_range_2_rdm_openmp_work_$N_int(big_array,dim1,norb,list_orb,ispin PROVIDE N_int call list_to_bitstring( orb_bitmask, list_orb, norb, N_int) - sze_buff = 6 * norb + sze_buff = 6 * norb + elec_alpha_num * elec_alpha_num * 60 list_orb_reverse = -1000 do i = 1, norb list_orb_reverse(list_orb(i)) = i @@ -267,7 +267,7 @@ subroutine orb_range_2_rdm_openmp_work_$N_int(big_array,dim1,norb,list_orb,ispin endif endif call orb_range_off_diag_double_to_all_states_ab_dm_buffer(tmp_det,tmp_det2,c_1,N_st,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) -! print*,'coucou' + enddo endif @@ -347,15 +347,13 @@ subroutine orb_range_2_rdm_openmp_work_$N_int(big_array,dim1,norb,list_orb,ispin call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) nkeys = 0 endif - call orb_range_off_diag_single_to_all_states_ab_dm_buffer(tmp_det, tmp_det2,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) + call orb_range_off_diag_single_to_all_states_ab_dm_buffer(tmp_det, tmp_det2,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) ! increment the alpha/alpha part for single excitations if (nkeys+4 * elec_alpha_num .ge. sze_buff ) then call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) nkeys = 0 endif -! call orb_range_off_diag_single_to_2_rdm_aa_dm_buffer(tmp_det,tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) - call orb_range_off_diag_single_to_all_states_aa_dm_buffer(tmp_det,tmp_det2,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) -! print*,'to do orb_range_off_diag_single_to_2_rdm_aa_dm_buffer' + call orb_range_off_diag_single_to_all_states_aa_dm_buffer(tmp_det,tmp_det2,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) endif enddo @@ -382,7 +380,6 @@ subroutine orb_range_2_rdm_openmp_work_$N_int(big_array,dim1,norb,list_orb,ispin nkeys = 0 endif call orb_range_off_diag_double_to_all_states_aa_dm_buffer(tmp_det(1,1),psi_det_alpha_unique(1, lrow),c_1,N_st,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) -! print*,'to do orb_range_off_diag_double_to_2_rdm_aa_dm_buffer' enddo endif call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) @@ -453,7 +450,6 @@ subroutine orb_range_2_rdm_openmp_work_$N_int(big_array,dim1,norb,list_orb,ispin nkeys = 0 endif call orb_range_off_diag_single_to_all_states_ab_dm_buffer(tmp_det, tmp_det2,c_1,N_st,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) -! print*,'to do orb_range_off_diag_single_to_2_rdm_ab_dm_buffer' ! increment the beta /beta part for single excitations if (nkeys+4 * elec_alpha_num .ge. sze_buff) then call update_keys_values_n_states(keys,values,nkeys,dim1,n_st,big_array,lock_2rdm) diff --git a/src/two_rdm_routines/davidson_like_state_av_2rdm.irp.f b/src/two_rdm_routines/davidson_like_state_av_2rdm.irp.f index 2a6e10a2..eb247dea 100644 --- a/src/two_rdm_routines/davidson_like_state_av_2rdm.irp.f +++ b/src/two_rdm_routines/davidson_like_state_av_2rdm.irp.f @@ -139,7 +139,7 @@ subroutine orb_range_2_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,list_ PROVIDE N_int call list_to_bitstring( orb_bitmask, list_orb, norb, N_int) - sze_buff = norb ** 3 + 6 * norb + sze_buff = 6 * norb + elec_alpha_num * elec_alpha_num * 60 list_orb_reverse = -1000 do i = 1, norb list_orb_reverse(list_orb(i)) = i @@ -271,11 +271,12 @@ subroutine orb_range_2_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,list_ endif endif call orb_range_off_diag_double_to_2_rdm_ab_dm_buffer(tmp_det,tmp_det2,c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) -! print*,'todo orb_range_off_diag_double_to_2_rdm_ab_dm_buffer' - + enddo endif + call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) + nkeys = 0 enddo enddo @@ -364,6 +365,8 @@ subroutine orb_range_2_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,list_ enddo + call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) + nkeys = 0 ! Compute Hij for all alpha doubles ! ---------------------------------- @@ -389,6 +392,8 @@ subroutine orb_range_2_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,list_ call orb_range_off_diag_double_to_2_rdm_aa_dm_buffer(tmp_det(1,1),psi_det_alpha_unique(1, lrow),c_average,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) enddo endif + call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) + nkeys = 0 ! Single and double beta excitations @@ -466,6 +471,8 @@ subroutine orb_range_2_rdm_state_av_openmp_work_$N_int(big_array,dim1,norb,list_ call orb_range_off_diag_single_to_2_rdm_bb_dm_buffer(tmp_det, tmp_det2,c_average,orb_bitmask,list_orb_reverse,ispin,sze_buff,nkeys,keys,values) endif enddo + call update_keys_values(keys,values,nkeys,dim1,big_array,lock_2rdm) + nkeys = 0 ! Compute Hij for all beta doubles ! ---------------------------------- diff --git a/src/two_rdm_routines/update_rdm.irp.f b/src/two_rdm_routines/update_rdm.irp.f index 54ba59ec..4d74280e 100644 --- a/src/two_rdm_routines/update_rdm.irp.f +++ b/src/two_rdm_routines/update_rdm.irp.f @@ -257,11 +257,9 @@ if(list_orb_reverse(p2).lt.0)return p2 = list_orb_reverse(p2) if(alpha_beta)then -! print*,'coucou' nkeys += 1 do istate = 1, N_st values(istate,nkeys) = c_1(istate) * phase -! print*,'values',values(istate,nkeys),nkeys enddo keys(1,nkeys) = h1 keys(2,nkeys) = h2 diff --git a/src/two_rdm_routines/updata_state_av_rdm.irp.f b/src/two_rdm_routines/update_state_av_rdm.irp.f similarity index 100% rename from src/two_rdm_routines/updata_state_av_rdm.irp.f rename to src/two_rdm_routines/update_state_av_rdm.irp.f From 408af98512e93f4bf6a0a05495d1a7be4c6807d4 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Thu, 2 Apr 2020 16:24:33 +0200 Subject: [PATCH 052/138] renaming in functionals/sr_pbe.irp.f --- src/README.rst | 4 +- src/functionals/sr_pbe.irp.f | 172 +++++++++++++++++------------------ 2 files changed, 88 insertions(+), 88 deletions(-) diff --git a/src/README.rst b/src/README.rst index f4ca0e31..9bfd147f 100644 --- a/src/README.rst +++ b/src/README.rst @@ -22,8 +22,8 @@ The core modules of the QP Ex : if "exchange_functional" == "sr_pbe", then energy_x will contain the exchange correlation functional defined in "functiona/sr_pbe.irp.f", which corresponds to the short-range PBE functional (at the value mu_erf for the range separation parameter) -*** How are handled the DFT functionals in QP2 ? -================================================ +*** How to add a new functional in QP2 +====================================== Creating a new functional and propagating it through the whole QP2 programs is easy as all dependencies are handled by a script. diff --git a/src/functionals/sr_pbe.irp.f b/src/functionals/sr_pbe.irp.f index af202cfb..674a1ffb 100644 --- a/src/functionals/sr_pbe.irp.f +++ b/src/functionals/sr_pbe.irp.f @@ -62,11 +62,11 @@ END_PROVIDER do istate = 1, n_states do i = 1, ao_num do j = 1, ao_num - potential_x_alpha_ao_sr_pbe(j,i,istate) = pot_sr_scal_x_alpha_ao_pbe(j,i,istate) + pot_sr_grad_x_alpha_ao_pbe(j,i,istate) + pot_sr_grad_x_alpha_ao_pbe(i,j,istate) - potential_x_beta_ao_sr_pbe(j,i,istate) = pot_sr_scal_x_beta_ao_pbe(j,i,istate) + pot_sr_grad_x_beta_ao_pbe(j,i,istate) + pot_sr_grad_x_beta_ao_pbe(i,j,istate) + potential_x_alpha_ao_sr_pbe(j,i,istate) = pot_scal_x_alpha_ao_sr_pbe(j,i,istate) + pot_grad_x_alpha_ao_sr_pbe(j,i,istate) + pot_grad_x_alpha_ao_sr_pbe(i,j,istate) + potential_x_beta_ao_sr_pbe(j,i,istate) = pot_scal_x_beta_ao_sr_pbe(j,i,istate) + pot_grad_x_beta_ao_sr_pbe(j,i,istate) + pot_grad_x_beta_ao_sr_pbe(i,j,istate) - potential_c_alpha_ao_sr_pbe(j,i,istate) = pot_sr_scal_c_alpha_ao_pbe(j,i,istate) + pot_sr_grad_c_alpha_ao_pbe(j,i,istate) + pot_sr_grad_c_alpha_ao_pbe(i,j,istate) - potential_c_beta_ao_sr_pbe(j,i,istate) = pot_sr_scal_c_beta_ao_pbe(j,i,istate) + pot_sr_grad_c_beta_ao_pbe(j,i,istate) + pot_sr_grad_c_beta_ao_pbe(i,j,istate) + potential_c_alpha_ao_sr_pbe(j,i,istate) = pot_scal_c_alpha_ao_sr_pbe(j,i,istate) + pot_grad_c_alpha_ao_sr_pbe(j,i,istate) + pot_grad_c_alpha_ao_sr_pbe(i,j,istate) + potential_c_beta_ao_sr_pbe(j,i,istate) = pot_scal_c_beta_ao_sr_pbe(j,i,istate) + pot_grad_c_beta_ao_sr_pbe(j,i,istate) + pot_grad_c_beta_ao_sr_pbe(i,j,istate) enddo enddo enddo @@ -83,8 +83,8 @@ END_PROVIDER do istate = 1, n_states do i = 1, ao_num do j = 1, ao_num - potential_xc_alpha_ao_sr_pbe(j,i,istate) = pot_sr_scal_xc_alpha_ao_pbe(j,i,istate) + pot_sr_grad_xc_alpha_ao_pbe(j,i,istate) + pot_sr_grad_xc_alpha_ao_pbe(i,j,istate) - potential_xc_beta_ao_sr_pbe(j,i,istate) = pot_sr_scal_xc_beta_ao_pbe(j,i,istate) + pot_sr_grad_xc_beta_ao_pbe(j,i,istate) + pot_sr_grad_xc_beta_ao_pbe(i,j,istate) + potential_xc_alpha_ao_sr_pbe(j,i,istate) = pot_scal_xc_alpha_ao_sr_pbe(j,i,istate) + pot_grad_xc_alpha_ao_sr_pbe(j,i,istate) + pot_grad_xc_alpha_ao_sr_pbe(i,j,istate) + potential_xc_beta_ao_sr_pbe(j,i,istate) = pot_scal_xc_beta_ao_sr_pbe(j,i,istate) + pot_grad_xc_beta_ao_sr_pbe(j,i,istate) + pot_grad_xc_beta_ao_sr_pbe(i,j,istate) enddo enddo enddo @@ -93,19 +93,19 @@ END_PROVIDER - BEGIN_PROVIDER[double precision, aos_sr_vc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_sr_vc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_sr_vx_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_sr_vx_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dsr_vc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dsr_vc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dsr_vx_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dsr_vx_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] + BEGIN_PROVIDER[double precision, aos_vc_alpha_sr_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_vc_beta_sr_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_vx_alpha_sr_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_vx_beta_sr_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_d_vc_alpha_sr_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_d_vc_beta_sr_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_d_vx_alpha_sr_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_d_vx_beta_sr_pbe_w , (ao_num,n_points_final_grid,N_states)] implicit none BEGIN_DOC ! intermediates to compute the sr_pbe potentials ! -! aos_sr_vxc_alpha_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) +! aos_vxc_alpha_sr_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) END_DOC integer :: istate,i,j,m double precision :: mu,weight @@ -114,10 +114,10 @@ END_PROVIDER double precision :: contrib_grad_xa(3),contrib_grad_xb(3),contrib_grad_ca(3),contrib_grad_cb(3) double precision :: vc_rho_a, vc_rho_b, vx_rho_a, vx_rho_b double precision :: vx_grad_rho_a_2, vx_grad_rho_b_2, vx_grad_rho_a_b, vc_grad_rho_a_2, vc_grad_rho_b_2, vc_grad_rho_a_b - aos_dsr_vc_alpha_pbe_w= 0.d0 - aos_dsr_vc_beta_pbe_w = 0.d0 - aos_dsr_vx_alpha_pbe_w= 0.d0 - aos_dsr_vx_beta_pbe_w = 0.d0 + aos_d_vc_alpha_sr_pbe_w= 0.d0 + aos_d_vc_beta_sr_pbe_w = 0.d0 + aos_d_vx_alpha_sr_pbe_w= 0.d0 + aos_d_vx_beta_sr_pbe_w = 0.d0 do istate = 1, N_states do i = 1, n_points_final_grid weight = final_weight_at_r_vector(i) @@ -150,17 +150,17 @@ END_PROVIDER contrib_grad_xb(m) = weight * (2.d0 * vx_grad_rho_b_2 * grad_rho_b(m) + vx_grad_rho_a_b * grad_rho_a(m) ) enddo do j = 1, ao_num - aos_sr_vc_alpha_pbe_w(j,i,istate) = vc_rho_a * aos_in_r_array(j,i) - aos_sr_vc_beta_pbe_w (j,i,istate) = vc_rho_b * aos_in_r_array(j,i) - aos_sr_vx_alpha_pbe_w(j,i,istate) = vx_rho_a * aos_in_r_array(j,i) - aos_sr_vx_beta_pbe_w (j,i,istate) = vx_rho_b * aos_in_r_array(j,i) + aos_vc_alpha_sr_pbe_w(j,i,istate) = vc_rho_a * aos_in_r_array(j,i) + aos_vc_beta_sr_pbe_w (j,i,istate) = vc_rho_b * aos_in_r_array(j,i) + aos_vx_alpha_sr_pbe_w(j,i,istate) = vx_rho_a * aos_in_r_array(j,i) + aos_vx_beta_sr_pbe_w (j,i,istate) = vx_rho_b * aos_in_r_array(j,i) enddo do j = 1, ao_num do m = 1,3 - aos_dsr_vc_alpha_pbe_w(j,i,istate) += contrib_grad_ca(m) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dsr_vc_beta_pbe_w (j,i,istate) += contrib_grad_cb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dsr_vx_alpha_pbe_w(j,i,istate) += contrib_grad_xa(m) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dsr_vx_beta_pbe_w (j,i,istate) += contrib_grad_xb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vc_alpha_sr_pbe_w(j,i,istate) += contrib_grad_ca(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vc_beta_sr_pbe_w (j,i,istate) += contrib_grad_cb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vx_alpha_sr_pbe_w(j,i,istate) += contrib_grad_xa(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vx_beta_sr_pbe_w (j,i,istate) += contrib_grad_xb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) enddo enddo enddo @@ -169,10 +169,10 @@ END_PROVIDER END_PROVIDER - BEGIN_PROVIDER [double precision, pot_sr_scal_x_alpha_ao_pbe, (ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_scal_c_alpha_ao_pbe, (ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_scal_x_beta_ao_pbe, (ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_scal_c_beta_ao_pbe, (ao_num,ao_num,N_states)] + BEGIN_PROVIDER [double precision, pot_scal_x_alpha_ao_sr_pbe, (ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_scal_c_alpha_ao_sr_pbe, (ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_scal_x_beta_ao_sr_pbe, (ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_scal_c_beta_ao_sr_pbe, (ao_num,ao_num,N_states)] implicit none ! intermediates to compute the sr_pbe potentials ! @@ -180,33 +180,33 @@ END_PROVIDER BEGIN_DOC ! intermediate quantity for the calculation of the vxc potentials for the GGA functionals related to the scalar part of the potential END_DOC - pot_sr_scal_c_alpha_ao_pbe = 0.d0 - pot_sr_scal_x_alpha_ao_pbe = 0.d0 - pot_sr_scal_c_beta_ao_pbe = 0.d0 - pot_sr_scal_x_beta_ao_pbe = 0.d0 + pot_scal_c_alpha_ao_sr_pbe = 0.d0 + pot_scal_x_alpha_ao_sr_pbe = 0.d0 + pot_scal_c_beta_ao_sr_pbe = 0.d0 + pot_scal_x_beta_ao_sr_pbe = 0.d0 double precision :: wall_1,wall_2 call wall_time(wall_1) do istate = 1, N_states ! correlation alpha call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vc_alpha_pbe_w(1,1,istate),size(aos_sr_vc_alpha_pbe_w,1), & + aos_vc_alpha_sr_pbe_w(1,1,istate),size(aos_vc_alpha_sr_pbe_w,1), & aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_sr_scal_c_alpha_ao_pbe(1,1,istate),size(pot_sr_scal_c_alpha_ao_pbe,1)) + pot_scal_c_alpha_ao_sr_pbe(1,1,istate),size(pot_scal_c_alpha_ao_sr_pbe,1)) ! correlation beta call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vc_beta_pbe_w(1,1,istate),size(aos_sr_vc_beta_pbe_w,1), & + aos_vc_beta_sr_pbe_w(1,1,istate),size(aos_vc_beta_sr_pbe_w,1), & aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_sr_scal_c_beta_ao_pbe(1,1,istate),size(pot_sr_scal_c_beta_ao_pbe,1)) + pot_scal_c_beta_ao_sr_pbe(1,1,istate),size(pot_scal_c_beta_ao_sr_pbe,1)) ! exchange alpha call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vx_alpha_pbe_w(1,1,istate),size(aos_sr_vx_alpha_pbe_w,1), & + aos_vx_alpha_sr_pbe_w(1,1,istate),size(aos_vx_alpha_sr_pbe_w,1), & aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_sr_scal_x_alpha_ao_pbe(1,1,istate),size(pot_sr_scal_x_alpha_ao_pbe,1)) + pot_scal_x_alpha_ao_sr_pbe(1,1,istate),size(pot_scal_x_alpha_ao_sr_pbe,1)) ! exchange beta call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vx_beta_pbe_w(1,1,istate),size(aos_sr_vx_beta_pbe_w,1), & + aos_vx_beta_sr_pbe_w(1,1,istate),size(aos_vx_beta_sr_pbe_w,1), & aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_sr_scal_x_beta_ao_pbe(1,1,istate), size(pot_sr_scal_x_beta_ao_pbe,1)) + pot_scal_x_beta_ao_sr_pbe(1,1,istate), size(pot_scal_x_beta_ao_sr_pbe,1)) enddo call wall_time(wall_2) @@ -214,10 +214,10 @@ END_PROVIDER END_PROVIDER - BEGIN_PROVIDER [double precision, pot_sr_grad_x_alpha_ao_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_grad_x_beta_ao_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_grad_c_alpha_ao_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_grad_c_beta_ao_pbe,(ao_num,ao_num,N_states)] + BEGIN_PROVIDER [double precision, pot_grad_x_alpha_ao_sr_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_grad_x_beta_ao_sr_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_grad_c_alpha_ao_sr_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_grad_c_beta_ao_sr_pbe,(ao_num,ao_num,N_states)] implicit none BEGIN_DOC ! intermediate quantity for the calculation of the vxc potentials for the GGA functionals related to the gradienst of the density and orbitals @@ -225,31 +225,31 @@ END_PROVIDER integer :: istate double precision :: wall_1,wall_2 call wall_time(wall_1) - pot_sr_grad_c_alpha_ao_pbe = 0.d0 - pot_sr_grad_x_alpha_ao_pbe = 0.d0 - pot_sr_grad_c_beta_ao_pbe = 0.d0 - pot_sr_grad_x_beta_ao_pbe = 0.d0 + pot_grad_c_alpha_ao_sr_pbe = 0.d0 + pot_grad_x_alpha_ao_sr_pbe = 0.d0 + pot_grad_c_beta_ao_sr_pbe = 0.d0 + pot_grad_x_beta_ao_sr_pbe = 0.d0 do istate = 1, N_states ! correlation alpha call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vc_alpha_pbe_w(1,1,istate),size(aos_dsr_vc_alpha_pbe_w,1), & + aos_d_vc_alpha_sr_pbe_w(1,1,istate),size(aos_d_vc_alpha_sr_pbe_w,1), & aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_sr_grad_c_alpha_ao_pbe(1,1,istate),size(pot_sr_grad_c_alpha_ao_pbe,1)) + pot_grad_c_alpha_ao_sr_pbe(1,1,istate),size(pot_grad_c_alpha_ao_sr_pbe,1)) ! correlation beta call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vc_beta_pbe_w(1,1,istate),size(aos_dsr_vc_beta_pbe_w,1), & + aos_d_vc_beta_sr_pbe_w(1,1,istate),size(aos_d_vc_beta_sr_pbe_w,1), & aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_sr_grad_c_beta_ao_pbe(1,1,istate),size(pot_sr_grad_c_beta_ao_pbe,1)) + pot_grad_c_beta_ao_sr_pbe(1,1,istate),size(pot_grad_c_beta_ao_sr_pbe,1)) ! exchange alpha call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vx_alpha_pbe_w(1,1,istate),size(aos_dsr_vx_alpha_pbe_w,1), & + aos_d_vx_alpha_sr_pbe_w(1,1,istate),size(aos_d_vx_alpha_sr_pbe_w,1), & aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_sr_grad_x_alpha_ao_pbe(1,1,istate),size(pot_sr_grad_x_alpha_ao_pbe,1)) + pot_grad_x_alpha_ao_sr_pbe(1,1,istate),size(pot_grad_x_alpha_ao_sr_pbe,1)) ! exchange beta call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vx_beta_pbe_w(1,1,istate),size(aos_dsr_vx_beta_pbe_w,1), & + aos_d_vx_beta_sr_pbe_w(1,1,istate),size(aos_d_vx_beta_sr_pbe_w,1), & aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_sr_grad_x_beta_ao_pbe(1,1,istate),size(pot_sr_grad_x_beta_ao_pbe,1)) + pot_grad_x_beta_ao_sr_pbe(1,1,istate),size(pot_grad_x_beta_ao_sr_pbe,1)) enddo call wall_time(wall_2) @@ -257,13 +257,13 @@ END_PROVIDER END_PROVIDER - BEGIN_PROVIDER[double precision, aos_sr_vxc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_sr_vxc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dsr_vxc_alpha_pbe_w , (ao_num,n_points_final_grid,N_states)] -&BEGIN_PROVIDER[double precision, aos_dsr_vxc_beta_pbe_w , (ao_num,n_points_final_grid,N_states)] + BEGIN_PROVIDER[double precision, aos_vxc_alpha_sr_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_vxc_beta_sr_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_d_vxc_alpha_sr_pbe_w , (ao_num,n_points_final_grid,N_states)] +&BEGIN_PROVIDER[double precision, aos_d_vxc_beta_sr_pbe_w , (ao_num,n_points_final_grid,N_states)] implicit none BEGIN_DOC -! aos_sr_vxc_alpha_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) +! aos_vxc_alpha_sr_pbe_w(j,i) = ao_i(r_j) * (v^x_alpha(r_j) + v^c_alpha(r_j)) * W(r_j) END_DOC integer :: istate,i,j,m double precision :: mu,weight @@ -273,8 +273,8 @@ END_PROVIDER double precision :: vc_rho_a, vc_rho_b, vx_rho_a, vx_rho_b double precision :: vx_grad_rho_a_2, vx_grad_rho_b_2, vx_grad_rho_a_b, vc_grad_rho_a_2, vc_grad_rho_b_2, vc_grad_rho_a_b - aos_dsr_vxc_alpha_pbe_w = 0.d0 - aos_dsr_vxc_beta_pbe_w = 0.d0 + aos_d_vxc_alpha_sr_pbe_w = 0.d0 + aos_d_vxc_beta_sr_pbe_w = 0.d0 do istate = 1, N_states do i = 1, n_points_final_grid @@ -307,13 +307,13 @@ END_PROVIDER contrib_grad_xb(m) = weight * (2.d0 * vx_grad_rho_b_2 * grad_rho_b(m) + vx_grad_rho_a_b * grad_rho_a(m) ) enddo do j = 1, ao_num - aos_sr_vxc_alpha_pbe_w(j,i,istate) = ( vc_rho_a + vx_rho_a ) * aos_in_r_array(j,i) - aos_sr_vxc_beta_pbe_w (j,i,istate) = ( vc_rho_b + vx_rho_b ) * aos_in_r_array(j,i) + aos_vxc_alpha_sr_pbe_w(j,i,istate) = ( vc_rho_a + vx_rho_a ) * aos_in_r_array(j,i) + aos_vxc_beta_sr_pbe_w (j,i,istate) = ( vc_rho_b + vx_rho_b ) * aos_in_r_array(j,i) enddo do j = 1, ao_num do m = 1,3 - aos_dsr_vxc_alpha_pbe_w(j,i,istate) += ( contrib_grad_ca(m) + contrib_grad_xa(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_dsr_vxc_beta_pbe_w (j,i,istate) += ( contrib_grad_cb(m) + contrib_grad_xb(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vxc_alpha_sr_pbe_w(j,i,istate) += ( contrib_grad_ca(m) + contrib_grad_xa(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vxc_beta_sr_pbe_w (j,i,istate) += ( contrib_grad_cb(m) + contrib_grad_xb(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) enddo enddo enddo @@ -322,36 +322,36 @@ END_PROVIDER END_PROVIDER - BEGIN_PROVIDER [double precision, pot_sr_scal_xc_alpha_ao_pbe, (ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_scal_xc_beta_ao_pbe, (ao_num,ao_num,N_states)] + BEGIN_PROVIDER [double precision, pot_scal_xc_alpha_ao_sr_pbe, (ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_scal_xc_beta_ao_sr_pbe, (ao_num,ao_num,N_states)] implicit none integer :: istate BEGIN_DOC ! intermediate quantity for the calculation of the vxc potentials for the GGA functionals related to the scalar part of the potential END_DOC - pot_sr_scal_xc_alpha_ao_pbe = 0.d0 - pot_sr_scal_xc_beta_ao_pbe = 0.d0 + pot_scal_xc_alpha_ao_sr_pbe = 0.d0 + pot_scal_xc_beta_ao_sr_pbe = 0.d0 double precision :: wall_1,wall_2 call wall_time(wall_1) do istate = 1, N_states ! exchange - correlation alpha call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vxc_alpha_pbe_w(1,1,istate),size(aos_sr_vxc_alpha_pbe_w,1), & + aos_vxc_alpha_sr_pbe_w(1,1,istate),size(aos_vxc_alpha_sr_pbe_w,1), & aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_sr_scal_xc_alpha_ao_pbe(1,1,istate),size(pot_sr_scal_xc_alpha_ao_pbe,1)) + pot_scal_xc_alpha_ao_sr_pbe(1,1,istate),size(pot_scal_xc_alpha_ao_sr_pbe,1)) ! exchange - correlation beta call dgemm('N','T',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_sr_vxc_beta_pbe_w(1,1,istate),size(aos_sr_vxc_beta_pbe_w,1), & + aos_vxc_beta_sr_pbe_w(1,1,istate),size(aos_vxc_beta_sr_pbe_w,1), & aos_in_r_array,size(aos_in_r_array,1),1.d0, & - pot_sr_scal_xc_beta_ao_pbe(1,1,istate),size(pot_sr_scal_xc_beta_ao_pbe,1)) + pot_scal_xc_beta_ao_sr_pbe(1,1,istate),size(pot_scal_xc_beta_ao_sr_pbe,1)) enddo call wall_time(wall_2) END_PROVIDER - BEGIN_PROVIDER [double precision, pot_sr_grad_xc_alpha_ao_pbe,(ao_num,ao_num,N_states)] -&BEGIN_PROVIDER [double precision, pot_sr_grad_xc_beta_ao_pbe,(ao_num,ao_num,N_states)] + BEGIN_PROVIDER [double precision, pot_grad_xc_alpha_ao_sr_pbe,(ao_num,ao_num,N_states)] +&BEGIN_PROVIDER [double precision, pot_grad_xc_beta_ao_sr_pbe,(ao_num,ao_num,N_states)] implicit none BEGIN_DOC ! intermediate quantity for the calculation of the vxc potentials for the GGA functionals related to the gradienst of the density and orbitals @@ -359,19 +359,19 @@ END_PROVIDER integer :: istate double precision :: wall_1,wall_2 call wall_time(wall_1) - pot_sr_grad_xc_alpha_ao_pbe = 0.d0 - pot_sr_grad_xc_beta_ao_pbe = 0.d0 + pot_grad_xc_alpha_ao_sr_pbe = 0.d0 + pot_grad_xc_beta_ao_sr_pbe = 0.d0 do istate = 1, N_states ! exchange - correlation alpha call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vxc_alpha_pbe_w(1,1,istate),size(aos_dsr_vxc_alpha_pbe_w,1), & + aos_d_vxc_alpha_sr_pbe_w(1,1,istate),size(aos_d_vxc_alpha_sr_pbe_w,1), & aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_sr_grad_xc_alpha_ao_pbe(1,1,istate),size(pot_sr_grad_xc_alpha_ao_pbe,1)) + pot_grad_xc_alpha_ao_sr_pbe(1,1,istate),size(pot_grad_xc_alpha_ao_sr_pbe,1)) ! exchange - correlation beta call dgemm('N','N',ao_num,ao_num,n_points_final_grid,1.d0, & - aos_dsr_vxc_beta_pbe_w(1,1,istate),size(aos_dsr_vxc_beta_pbe_w,1), & + aos_d_vxc_beta_sr_pbe_w(1,1,istate),size(aos_d_vxc_beta_sr_pbe_w,1), & aos_in_r_array_transp,size(aos_in_r_array_transp,1),1.d0, & - pot_sr_grad_xc_beta_ao_pbe(1,1,istate),size(pot_sr_grad_xc_beta_ao_pbe,1)) + pot_grad_xc_beta_ao_sr_pbe(1,1,istate),size(pot_grad_xc_beta_ao_sr_pbe,1)) enddo call wall_time(wall_2) From 6db77c320b9f4de3e75aa9d3dc3ba1da3901ba8a Mon Sep 17 00:00:00 2001 From: Emmanuel Giner LCT Date: Sun, 5 Apr 2020 13:58:17 +0200 Subject: [PATCH 053/138] parallel sections for dft_utils_in_r --- src/dft_utils_in_r/ao_in_r.irp.f | 96 ++++++++++++++++++------------- src/dft_utils_in_r/dm_in_r.irp.f | 14 ++++- src/dft_utils_in_r/mo_in_r.irp.f | 54 +++++++++++++++-- src/functionals/pbe.irp.f | 12 ++-- src/functionals/sr_pbe.irp.f | 12 ++-- src/two_body_rdm/test_2_rdm.irp.f | 9 ++- 6 files changed, 134 insertions(+), 63 deletions(-) diff --git a/src/dft_utils_in_r/ao_in_r.irp.f b/src/dft_utils_in_r/ao_in_r.irp.f index 767f329c..4b1526dd 100644 --- a/src/dft_utils_in_r/ao_in_r.irp.f +++ b/src/dft_utils_in_r/ao_in_r.irp.f @@ -1,13 +1,15 @@ + BEGIN_PROVIDER[double precision, aos_in_r_array, (ao_num,n_points_final_grid)] -&BEGIN_PROVIDER[double precision, aos_in_r_array_transp, (n_points_final_grid,ao_num)] implicit none BEGIN_DOC ! aos_in_r_array(i,j) = value of the ith ao on the jth grid point - ! - ! aos_in_r_array_transp(i,j) = value of the jth ao on the ith grid point END_DOC integer :: i,j double precision :: aos_array(ao_num), r(3) + !$OMP PARALLEL DO & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (i,r,aos_array,j) & + !$OMP SHARED(aos_in_r_array,n_points_final_grid,ao_num,final_grid_points) do i = 1, n_points_final_grid r(1) = final_grid_points(1,i) r(2) = final_grid_points(2,i) @@ -15,11 +17,30 @@ call give_all_aos_at_r(r,aos_array) do j = 1, ao_num aos_in_r_array(j,i) = aos_array(j) - aos_in_r_array_transp(i,j) = aos_array(j) enddo enddo + !$OMP END PARALLEL DO + END_PROVIDER + + BEGIN_PROVIDER[double precision, aos_in_r_array_transp, (n_points_final_grid,ao_num)] + implicit none + BEGIN_DOC + ! aos_in_r_array_transp(i,j) = value of the jth ao on the ith grid point + END_DOC + integer :: i,j + double precision :: aos_array(ao_num), r(3) + do i = 1, n_points_final_grid + do j = 1, ao_num + aos_in_r_array_transp(i,j) = aos_in_r_array(j,i) + enddo + enddo + + END_PROVIDER + + + BEGIN_PROVIDER[double precision, aos_grad_in_r_array, (ao_num,n_points_final_grid,3)] implicit none BEGIN_DOC @@ -30,6 +51,10 @@ integer :: i,j,m double precision :: aos_array(ao_num), r(3) double precision :: aos_grad_array(3,ao_num) + !$OMP PARALLEL DO & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (i,r,aos_array,aos_grad_array,j,m) & + !$OMP SHARED(aos_grad_in_r_array,n_points_final_grid,ao_num,final_grid_points) do i = 1, n_points_final_grid r(1) = final_grid_points(1,i) r(2) = final_grid_points(2,i) @@ -41,15 +66,16 @@ enddo enddo enddo + !$OMP END PARALLEL DO END_PROVIDER - BEGIN_PROVIDER[double precision, aos_grad_in_r_array_transp, (n_points_final_grid,ao_num,3)] + BEGIN_PROVIDER[double precision, aos_grad_in_r_array_transp, (3,ao_num,n_points_final_grid)] implicit none BEGIN_DOC - ! aos_grad_in_r_array_transp(i,j,k) = value of the kth component of the gradient of jth ao on the ith grid point + ! aos_grad_in_r_array_transp(k,i,j) = value of the kth component of the gradient of jth ao on the ith grid point ! ! k = 1 : x, k= 2, y, k 3, z END_DOC @@ -57,49 +83,18 @@ double precision :: aos_array(ao_num), r(3) double precision :: aos_grad_array(3,ao_num) do i = 1, n_points_final_grid - r(1) = final_grid_points(1,i) - r(2) = final_grid_points(2,i) - r(3) = final_grid_points(3,i) - call give_all_aos_and_grad_at_r(r,aos_array,aos_grad_array) do m = 1, 3 do j = 1, ao_num - aos_grad_in_r_array_transp(i,j,m) = aos_grad_array(m,j) - enddo - enddo - enddo - - END_PROVIDER - - BEGIN_PROVIDER[double precision, aos_grad_in_r_array_transp_xyz, (3,ao_num,n_points_final_grid)] - implicit none - BEGIN_DOC - ! aos_grad_in_r_array_transp_xyz(k,i,j) = value of the kth component of the gradient of jth ao on the ith grid point - ! - ! k = 1 : x, k= 2, y, k 3, z - END_DOC - integer :: i,j,m - double precision :: aos_array(ao_num), r(3) - double precision :: aos_grad_array(3,ao_num) - do i = 1, n_points_final_grid - r(1) = final_grid_points(1,i) - r(2) = final_grid_points(2,i) - r(3) = final_grid_points(3,i) - call give_all_aos_and_grad_at_r(r,aos_array,aos_grad_array) - do m = 1, 3 - do j = 1, ao_num - aos_grad_in_r_array_transp_xyz(m,j,i) = aos_grad_array(m,j) + aos_grad_in_r_array_transp(m,j,i) = aos_grad_in_r_array(j,i,m) enddo enddo enddo END_PROVIDER BEGIN_PROVIDER[double precision, aos_lapl_in_r_array, (ao_num,n_points_final_grid,3)] -&BEGIN_PROVIDER[double precision, aos_lapl_in_r_array_transp, (n_points_final_grid,ao_num,3)] implicit none BEGIN_DOC - ! aos_lapl_in_r_array(i,j,k) = value of the kth component of the laplacian of ith ao on the jth grid point - ! - ! aos_lapl_in_r_array_transp(i,j,k) = value of the kth component of the laplacian of jth ao on the ith grid point + ! aos_lapl_in_r_array(i,j,k) = value of the kth component of the laplacian of jth ao on the ith grid point ! ! k = 1 : x, k= 2, y, k 3, z END_DOC @@ -107,6 +102,10 @@ double precision :: aos_array(ao_num), r(3) double precision :: aos_grad_array(ao_num,3) double precision :: aos_lapl_array(ao_num,3) + !$OMP PARALLEL DO & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (i,r,aos_array,aos_grad_array,aos_lapl_array,j,m) & + !$OMP SHARED(aos_lapl_in_r_array,n_points_final_grid,ao_num,final_grid_points) do m = 1, 3 do i = 1, n_points_final_grid r(1) = final_grid_points(1,i) @@ -115,7 +114,24 @@ call give_all_aos_and_grad_and_lapl_at_r(r,aos_array,aos_grad_array,aos_lapl_array) do j = 1, ao_num aos_lapl_in_r_array(j,i,m) = aos_lapl_array(j,m) - aos_lapl_in_r_array_transp(i,j,m) = aos_lapl_array(j,m) + enddo + enddo + enddo + !$OMP END PARALLEL DO + END_PROVIDER + + + BEGIN_PROVIDER[double precision, aos_lapl_in_r_array_transp, (n_points_final_grid,ao_num,3)] + implicit none + ! + ! aos_lapl_in_r_array_transp(i,j,k) = value of the kth component of the laplacian of jth ao on the ith grid point + ! + ! k = 1 : x, k= 2, y, k 3, z + integer :: i,j,m + do m = 1, 3 + do i = 1, n_points_final_grid + do j = 1, ao_num + aos_lapl_in_r_array_transp(i,j,m) = aos_lapl_in_r_array(j,i,m) enddo enddo enddo diff --git a/src/dft_utils_in_r/dm_in_r.irp.f b/src/dft_utils_in_r/dm_in_r.irp.f index 7b0b1e0f..53e15b06 100644 --- a/src/dft_utils_in_r/dm_in_r.irp.f +++ b/src/dft_utils_in_r/dm_in_r.irp.f @@ -29,11 +29,18 @@ double precision, allocatable :: dm_a(:),dm_b(:), dm_a_grad(:,:), dm_b_grad(:,:) allocate(dm_a(N_states),dm_b(N_states), dm_a_grad(3,N_states), dm_b_grad(3,N_states)) allocate(aos_array(ao_num),grad_aos_array(3,ao_num)) + !$OMP PARALLEL DO & + !$OMP DEFAULT (NONE) & + !$OMP SHARED(n_points_final_grid,final_grid_points,N_states, & + !$OMP one_e_dm_and_grad_alpha_in_r,one_e_dm_and_grad_beta_in_r, & + !$OMP one_e_grad_2_dm_alpha_at_r,one_e_grad_2_dm_beta_at_r, & + !$OMP scal_prod_grad_one_e_dm_ab,one_e_stuff_for_pbe) & + !$OMP PRIVATE (istate,i,r,dm_a,dm_b,dm_a_grad,dm_b_grad,aos_array, grad_aos_array) do istate = 1, N_states do i = 1, n_points_final_grid - r(1) = final_grid_points(1,i) - r(2) = final_grid_points(2,i) - r(3) = final_grid_points(3,i) + r(1) = final_grid_points(1,i) + r(2) = final_grid_points(2,i) + r(3) = final_grid_points(3,i) call density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r(r,dm_a,dm_b, dm_a_grad, dm_b_grad, aos_array, grad_aos_array) @@ -72,6 +79,7 @@ * (dm_a(istate) + dm_b(istate)) enddo enddo + !$OMP END PARALLEL DO END_PROVIDER diff --git a/src/dft_utils_in_r/mo_in_r.irp.f b/src/dft_utils_in_r/mo_in_r.irp.f index bfcc8abb..81863c3a 100644 --- a/src/dft_utils_in_r/mo_in_r.irp.f +++ b/src/dft_utils_in_r/mo_in_r.irp.f @@ -1,10 +1,7 @@ BEGIN_PROVIDER[double precision, mos_in_r_array, (mo_num,n_points_final_grid)] -&BEGIN_PROVIDER[double precision, mos_in_r_array_transp,(n_points_final_grid,mo_num)] implicit none BEGIN_DOC ! mos_in_r_array(i,j) = value of the ith mo on the jth grid point - ! - ! mos_in_r_array_transp(i,j) = value of the jth mo on the ith grid point END_DOC integer :: i,j double precision :: mos_array(mo_num), r(3) @@ -15,14 +12,49 @@ call give_all_mos_at_r(r,mos_array) do j = 1, mo_num mos_in_r_array(j,i) = mos_array(j) - mos_in_r_array_transp(i,j) = mos_array(j) + enddo + enddo + END_PROVIDER + + BEGIN_PROVIDER[double precision, mos_in_r_array_omp, (mo_num,n_points_final_grid)] + implicit none + BEGIN_DOC + ! mos_in_r_array(i,j) = value of the ith mo on the jth grid point + END_DOC + integer :: i,j + double precision :: mos_array(mo_num), r(3) + !$OMP PARALLEL DO & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (i,r,mos_array,j) & + !$OMP SHARED(mos_in_r_array_omp,n_points_final_grid,mo_num,final_grid_points) + do i = 1, n_points_final_grid + r(1) = final_grid_points(1,i) + r(2) = final_grid_points(2,i) + r(3) = final_grid_points(3,i) + call give_all_mos_at_r(r,mos_array) + do j = 1, mo_num + mos_in_r_array_omp(j,i) = mos_array(j) + enddo + enddo + !$OMP END PARALLEL DO + END_PROVIDER + + + BEGIN_PROVIDER[double precision, mos_in_r_array_transp,(n_points_final_grid,mo_num)] + implicit none + BEGIN_DOC + ! mos_in_r_array_transp(i,j) = value of the jth mo on the ith grid point + END_DOC + integer :: i,j + do i = 1, n_points_final_grid + do j = 1, mo_num + mos_in_r_array_transp(i,j) = mos_in_r_array(j,i) enddo enddo END_PROVIDER BEGIN_PROVIDER[double precision, mos_grad_in_r_array,(mo_num,n_points_final_grid,3)] -&BEGIN_PROVIDER[double precision, mos_grad_in_r_array_tranp,(3,mo_num,n_points_final_grid)] implicit none BEGIN_DOC ! mos_grad_in_r_array(i,j,k) = value of the kth component of the gradient of ith mo on the jth grid point @@ -32,12 +64,22 @@ ! k = 1 : x, k= 2, y, k 3, z END_DOC integer :: m - print*,'mo_num,n_points_final_grid',mo_num,n_points_final_grid mos_grad_in_r_array = 0.d0 do m=1,3 call dgemm('N','N',mo_num,n_points_final_grid,ao_num,1.d0,mo_coef_transp,mo_num,aos_grad_in_r_array(1,1,m),ao_num,0.d0,mos_grad_in_r_array(1,1,m),mo_num) enddo + END_PROVIDER + + BEGIN_PROVIDER[double precision, mos_grad_in_r_array_tranp,(3,mo_num,n_points_final_grid)] + implicit none + BEGIN_DOC + ! mos_grad_in_r_array_transp(i,j,k) = value of the kth component of the gradient of jth mo on the ith grid point + ! + ! k = 1 : x, k= 2, y, k 3, z + END_DOC + integer :: m integer :: i,j + mos_grad_in_r_array = 0.d0 do i = 1, n_points_final_grid do j = 1, mo_num do m = 1, 3 diff --git a/src/functionals/pbe.irp.f b/src/functionals/pbe.irp.f index 23b3925b..1515532e 100644 --- a/src/functionals/pbe.irp.f +++ b/src/functionals/pbe.irp.f @@ -159,10 +159,10 @@ END_PROVIDER enddo do j = 1, ao_num do m = 1,3 - aos_d_vc_alpha_pbe_w(j,i,istate) += contrib_grad_ca(m) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_d_vc_beta_pbe_w (j,i,istate) += contrib_grad_cb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_d_vx_alpha_pbe_w(j,i,istate) += contrib_grad_xa(m) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_d_vx_beta_pbe_w (j,i,istate) += contrib_grad_xb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vc_alpha_pbe_w(j,i,istate) += contrib_grad_ca(m) * aos_grad_in_r_array_transp(m,j,i) + aos_d_vc_beta_pbe_w (j,i,istate) += contrib_grad_cb(m) * aos_grad_in_r_array_transp(m,j,i) + aos_d_vx_alpha_pbe_w(j,i,istate) += contrib_grad_xa(m) * aos_grad_in_r_array_transp(m,j,i) + aos_d_vx_beta_pbe_w (j,i,istate) += contrib_grad_xb(m) * aos_grad_in_r_array_transp(m,j,i) enddo enddo enddo @@ -315,8 +315,8 @@ END_PROVIDER enddo do j = 1, ao_num do m = 1,3 - aos_d_vxc_alpha_pbe_w(j,i,istate) += ( contrib_grad_ca(m) + contrib_grad_xa(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_d_vxc_beta_pbe_w (j,i,istate) += ( contrib_grad_cb(m) + contrib_grad_xb(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vxc_alpha_pbe_w(j,i,istate) += ( contrib_grad_ca(m) + contrib_grad_xa(m) ) * aos_grad_in_r_array_transp(m,j,i) + aos_d_vxc_beta_pbe_w (j,i,istate) += ( contrib_grad_cb(m) + contrib_grad_xb(m) ) * aos_grad_in_r_array_transp(m,j,i) enddo enddo enddo diff --git a/src/functionals/sr_pbe.irp.f b/src/functionals/sr_pbe.irp.f index 674a1ffb..93c51067 100644 --- a/src/functionals/sr_pbe.irp.f +++ b/src/functionals/sr_pbe.irp.f @@ -157,10 +157,10 @@ END_PROVIDER enddo do j = 1, ao_num do m = 1,3 - aos_d_vc_alpha_sr_pbe_w(j,i,istate) += contrib_grad_ca(m) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_d_vc_beta_sr_pbe_w (j,i,istate) += contrib_grad_cb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_d_vx_alpha_sr_pbe_w(j,i,istate) += contrib_grad_xa(m) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_d_vx_beta_sr_pbe_w (j,i,istate) += contrib_grad_xb(m) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vc_alpha_sr_pbe_w(j,i,istate) += contrib_grad_ca(m) * aos_grad_in_r_array_transp(m,j,i) + aos_d_vc_beta_sr_pbe_w (j,i,istate) += contrib_grad_cb(m) * aos_grad_in_r_array_transp(m,j,i) + aos_d_vx_alpha_sr_pbe_w(j,i,istate) += contrib_grad_xa(m) * aos_grad_in_r_array_transp(m,j,i) + aos_d_vx_beta_sr_pbe_w (j,i,istate) += contrib_grad_xb(m) * aos_grad_in_r_array_transp(m,j,i) enddo enddo enddo @@ -312,8 +312,8 @@ END_PROVIDER enddo do j = 1, ao_num do m = 1,3 - aos_d_vxc_alpha_sr_pbe_w(j,i,istate) += ( contrib_grad_ca(m) + contrib_grad_xa(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) - aos_d_vxc_beta_sr_pbe_w (j,i,istate) += ( contrib_grad_cb(m) + contrib_grad_xb(m) ) * aos_grad_in_r_array_transp_xyz(m,j,i) + aos_d_vxc_alpha_sr_pbe_w(j,i,istate) += ( contrib_grad_ca(m) + contrib_grad_xa(m) ) * aos_grad_in_r_array_transp(m,j,i) + aos_d_vxc_beta_sr_pbe_w (j,i,istate) += ( contrib_grad_cb(m) + contrib_grad_xb(m) ) * aos_grad_in_r_array_transp(m,j,i) enddo enddo enddo diff --git a/src/two_body_rdm/test_2_rdm.irp.f b/src/two_body_rdm/test_2_rdm.irp.f index 123261d8..5c8054ff 100644 --- a/src/two_body_rdm/test_2_rdm.irp.f +++ b/src/two_body_rdm/test_2_rdm.irp.f @@ -2,7 +2,12 @@ program test_2_rdm implicit none read_wf = .True. touch read_wf - call routine_active_only - call routine_full_mos +! call routine_active_only +! call routine_full_mos + call routine end +subroutine routine + implicit none + provide act_2_rdm_ab_mo +end From a0e55498da0384da735d912232998d70e7359a13 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 6 Apr 2020 00:03:59 +0200 Subject: [PATCH 054/138] Fixed never stopping FCI --- config/ifort_avx.cfg | 2 +- src/cipsi/pt2_stoch_routines.irp.f | 43 +++++++++++++++-------------- src/cipsi/run_selection_slave.irp.f | 11 ++++++++ src/cipsi/selection.irp.f | 8 +++--- 4 files changed, 38 insertions(+), 26 deletions(-) diff --git a/config/ifort_avx.cfg b/config/ifort_avx.cfg index 25bf35eb..f410e3a6 100644 --- a/config/ifort_avx.cfg +++ b/config/ifort_avx.cfg @@ -32,7 +32,7 @@ OPENMP : 1 ; Append OpenMP flags # [OPT] FC : -traceback -FCFLAGS : -mavx -axAVX -O2 -ip -ftz -g +FCFLAGS : -mavx -O2 -ip -ftz -g # Profiling flags ################# diff --git a/src/cipsi/pt2_stoch_routines.irp.f b/src/cipsi/pt2_stoch_routines.irp.f index 281b0c5d..b81eecda 100644 --- a/src/cipsi/pt2_stoch_routines.irp.f +++ b/src/cipsi/pt2_stoch_routines.irp.f @@ -11,7 +11,7 @@ END_PROVIDER implicit none logical, external :: testTeethBuilding integer :: i,j - pt2_n_tasks_max = elec_alpha_num*elec_alpha_num + elec_alpha_num*elec_beta_num - n_core_orb*2 + pt2_n_tasks_max = elec_alpha_num*elec_alpha_num + elec_alpha_num*elec_beta_num - n_core_orb*2 pt2_n_tasks_max = min(pt2_n_tasks_max,1+N_det_generators/10000) call write_int(6,pt2_n_tasks_max,'pt2_n_tasks_max') @@ -88,7 +88,7 @@ logical function testTeethBuilding(minF, N) do u0 = tilde_cW(n0) r = tilde_cW(n0 + minF) - Wt = (1d0 - u0) * f + Wt = (1d0 - u0) * f if (dabs(Wt) <= 1.d-3) then exit endif @@ -115,6 +115,7 @@ subroutine ZMQ_pt2(E, pt2,relative_error, error, variance, norm, N_in) integer(ZMQ_PTR) :: zmq_to_qp_run_socket, zmq_socket_pull integer, intent(in) :: N_in +! integer, intent(inout) :: N_in double precision, intent(in) :: relative_error, E(N_states) double precision, intent(out) :: pt2(N_states),error(N_states) double precision, intent(out) :: variance(N_states),norm(N_states) @@ -136,7 +137,7 @@ subroutine ZMQ_pt2(E, pt2,relative_error, error, variance, norm, N_in) PROVIDE psi_occ_pattern_hii det_to_occ_pattern endif - if (N_det <= max(4,N_states)) then + if (N_det <= max(4,N_states) .or. pt2_N_teeth < 2) then pt2=0.d0 variance=0.d0 norm=0.d0 @@ -296,7 +297,7 @@ subroutine ZMQ_pt2(E, pt2,relative_error, error, variance, norm, N_in) print '(A)', ' Samples Energy Stat. Err Variance Norm Seconds ' print '(A)', '========== ================= =========== =============== =============== =================' - PROVIDE global_selection_buffer + PROVIDE global_selection_buffer !$OMP PARALLEL DEFAULT(shared) NUM_THREADS(nproc_target+1) & !$OMP PRIVATE(i) i = omp_get_thread_num() @@ -346,7 +347,7 @@ subroutine pt2_slave_inproc(i) implicit none integer, intent(in) :: i - PROVIDE global_selection_buffer + PROVIDE global_selection_buffer call run_pt2_slave(1,i,pt2_e0_denominator) end @@ -528,8 +529,8 @@ subroutine pt2_collector(zmq_socket_pull, E, relative_error, pt2, error, varianc print*,'PB !!!' print*,'If you see this, send an email to Anthony scemama with the following content' print*,irp_here - print*,'n_tasks,pt2_n_tasks_max = ',n_tasks,pt2_n_tasks_max - stop -1 + print*,'n_tasks,pt2_n_tasks_max = ',n_tasks,pt2_n_tasks_max + stop -1 endif if (zmq_delete_tasks_async_send(zmq_to_qp_run_socket,task_id,n_tasks,sending) == -1) then stop 'PT2: Unable to delete tasks (send)' @@ -540,7 +541,7 @@ subroutine pt2_collector(zmq_socket_pull, E, relative_error, pt2, error, varianc print*,'If you see this, send an email to Anthony scemama with the following content' print*,irp_here print*,'i,index(i),size(ei,2) = ',i,index(i),size(ei,2) - stop -1 + stop -1 endif eI(1:N_states, index(i)) += eI_task(1:N_states,i) vI(1:N_states, index(i)) += vI_task(1:N_states,i) @@ -731,39 +732,39 @@ END_PROVIDER double precision, allocatable :: tilde_w(:), tilde_cW(:) double precision :: r, tooth_width integer, external :: pt2_find_sample - + double precision :: rss double precision, external :: memory_of_double, memory_of_int rss = memory_of_double(2*N_det_generators+1) call check_mem(rss,irp_here) - + if (N_det_generators == 1) then - + pt2_w(1) = 1.d0 pt2_cw(1) = 1.d0 pt2_u_0 = 1.d0 pt2_W_T = 0.d0 pt2_n_0(1) = 0 pt2_n_0(2) = 1 - + else - + allocate(tilde_w(N_det_generators), tilde_cW(0:N_det_generators)) - + tilde_cW(0) = 0d0 - + do i=1,N_det_generators tilde_w(i) = psi_coef_sorted_gen(i,pt2_stoch_istate)**2 !+ 1.d-20 enddo - + double precision :: norm norm = 0.d0 do i=N_det_generators,1,-1 norm += tilde_w(i) enddo - + tilde_w(:) = tilde_w(:) / norm - + tilde_cW(0) = -1.d0 do i=1,N_det_generators tilde_cW(i) = tilde_cW(i-1) + tilde_w(i) @@ -784,13 +785,13 @@ END_PROVIDER stop -1 end if end do - + do t=2, pt2_N_teeth r = pt2_u_0 + pt2_W_T * dble(t-1) pt2_n_0(t) = pt2_find_sample(r, tilde_cW) end do pt2_n_0(pt2_N_teeth+1) = N_det_generators - + pt2_w(:pt2_n_0(1)) = tilde_w(:pt2_n_0(1)) do t=1, pt2_N_teeth tooth_width = tilde_cW(pt2_n_0(t+1)) - tilde_cW(pt2_n_0(t)) @@ -802,7 +803,7 @@ END_PROVIDER pt2_w(i) = tilde_w(i) * pt2_W_T / tooth_width end do end do - + pt2_cW(0) = 0d0 do i=1,N_det_generators pt2_cW(i) = pt2_cW(i-1) + pt2_w(i) diff --git a/src/cipsi/run_selection_slave.irp.f b/src/cipsi/run_selection_slave.irp.f index d9730d7f..feaa2440 100644 --- a/src/cipsi/run_selection_slave.irp.f +++ b/src/cipsi/run_selection_slave.irp.f @@ -99,6 +99,17 @@ subroutine run_selection_slave(thread,iproc,energy) ctask = ctask + 1 end do + if(ctask > 0) then + call sort_selection_buffer(buf) +! call merge_selection_buffers(buf,buf2) + call push_selection_results(zmq_socket_push, pt2, variance, norm, buf, task_id(1), ctask) +! buf%mini = buf2%mini + pt2(:) = 0d0 + variance(:) = 0d0 + norm(:) = 0d0 + buf%cur = 0 + end if + ctask = 0 integer, external :: disconnect_from_taskserver if (disconnect_from_taskserver(zmq_to_qp_run_socket,worker_id) == -1) then diff --git a/src/cipsi/selection.irp.f b/src/cipsi/selection.irp.f index 88012b50..a4266497 100644 --- a/src/cipsi/selection.irp.f +++ b/src/cipsi/selection.irp.f @@ -52,7 +52,7 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) rpt2(k) = pt2(k)/(1.d0 + norm(k)) enddo - avg = sum(rpt2(1:N_st)) / dble(N_st) + avg = sum(rpt2(1:N_st)) / dble(N_st) - 1.d-32 ! Avoid future division by zero do k=1,N_st element = exp(dt*(rpt2(k)/avg -1.d0)) element = min(1.5d0 , element) @@ -61,7 +61,7 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) pt2_match_weight(k) = product(memo_pt2(k,:)) enddo - avg = sum(variance(1:N_st)) / dble(N_st) + avg = sum(variance(1:N_st)) / dble(N_st) + 1.d-32 ! Avoid future division by zero do k=1,N_st element = exp(dt*(variance(k)/avg -1.d0)) element = min(1.5d0 , element) @@ -325,7 +325,7 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d i = psi_bilinear_matrix_rows(l_a) if (nt + exc_degree(i) <= 4) then idx = psi_det_sorted_order(psi_bilinear_matrix_order(l_a)) - if (psi_average_norm_contrib_sorted(idx) > 1.d-12) then + if (psi_average_norm_contrib_sorted(idx) > 0.d0) then indices(k) = idx k=k+1 endif @@ -349,7 +349,7 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d idx = psi_det_sorted_order( & psi_bilinear_matrix_order( & psi_bilinear_matrix_transp_order(l_a))) - if (psi_average_norm_contrib_sorted(idx) > 1.d-12) then + if (psi_average_norm_contrib_sorted(idx) > 0.d0) then indices(k) = idx k=k+1 endif From 7239f5a5b86846055a0d212a95271ab44faa2f81 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 6 Apr 2020 00:37:52 +0200 Subject: [PATCH 055/138] Clean ZMQ termination --- ocaml/TaskServer.ml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ocaml/TaskServer.ml b/ocaml/TaskServer.ml index 6f2d01f7..92a6f5ca 100644 --- a/ocaml/TaskServer.ml +++ b/ocaml/TaskServer.ml @@ -885,7 +885,9 @@ let run ~port = Zmq.Socket.send pair_socket @@ string_of_pub_state Stopped; Thread.join pub_thread; - Zmq.Socket.close rep_socket + Zmq.Socket.close pair_socket; + Zmq.Socket.close rep_socket; + Zmq.Context.terminate zmq_context From c4ded9dcfbef1b37b5283d011604eabae7b03cd4 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Mon, 6 Apr 2020 15:06:16 +0200 Subject: [PATCH 056/138] added basis correction and test --- src/basis_correction/51.basis_c.bats | 63 + src/ezfio_files/00.create.bats | 12 + src/ezfio_files/01.convert.bats | 6 + src/hartree_fock/10.hf.bats | 13 + src/two_body_rdm/test_2_rdm.irp.f | 9 +- tests/input/be.xyz | 1 + tests/input/f.xyz | 1 + tests/input/lif.xyz | 4 + tests/input/o2_cas.gms.out | 2385 ++++++++++++++++++++++++++ 9 files changed, 2487 insertions(+), 7 deletions(-) create mode 100644 src/basis_correction/51.basis_c.bats create mode 100644 tests/input/be.xyz create mode 100644 tests/input/f.xyz create mode 100644 tests/input/lif.xyz create mode 100644 tests/input/o2_cas.gms.out diff --git a/src/basis_correction/51.basis_c.bats b/src/basis_correction/51.basis_c.bats new file mode 100644 index 00000000..2682361b --- /dev/null +++ b/src/basis_correction/51.basis_c.bats @@ -0,0 +1,63 @@ +#!/usr/bin/env bats + +source $QP_ROOT/tests/bats/common.bats.sh +source $QP_ROOT/quantum_package.rc + +function run() { + thresh=$2 + test_exe fci || skip + qp edit --check + qp set perturbation do_pt2 False + qp set determinants n_det_max 8000 + qp set determinants n_states 1 + qp set davidson threshold_davidson 1.e-10 + qp set davidson n_states_diag 8 + qp run fci + energy1="$(ezfio get fci energy | tr '[]' ' ' | cut -d ',' -f 1)" + eq $energy1 $1 $thresh +} + + +function run_md() { + thresh=$2 + qp set mu_of_r mu_of_r_potential cas_ful + file_out=${EZFIO_FILE}.basis_corr.out + qp run basis_correction | tee $file_out + energy1="$(grep 'ECMD SU-PBE-OT , state 1 =' ${file_out} | cut -d '=' -f 2)" + eq $energy1 $1 $thresh +} + +function run_sd() { + thresh=$2 + qp set mu_of_r mu_of_r_potential hf + qp set_frozen_core + file_out=${EZFIO_FILE}.basis_corr.out + qp run basis_correction | tee $file_out + energy1="$(grep 'ECMD PBE-UEG , state 1 =' ${file_out} | cut -d '=' -f 2)" + eq $energy1 $1 $thresh +} + +@test "O2 CAS" { + qp set_file o2_cas.gms.ezfio + qp set_mo_class -c "[1-2]" -a "[3-10]" -d "[11-46]" + run -149.72435425 3.e-4 10000 + qp set_mo_class -c "[1-2]" -a "[3-10]" -v "[11-46]" + run_md -0.1160222327 1.e-6 +} + + +@test "LiF RHF" { + qp set_file lif.ezfio + run_sd -0.0649431665 1.e-6 +} + +@test "F ROHF" { + qp set_file f.ezfio + run_sd -0.0355395041 1.e-6 +} + +@test "Be RHF" { + qp set_file be.ezfio + run_sd -0.0325139011 1.e-6 +} + diff --git a/src/ezfio_files/00.create.bats b/src/ezfio_files/00.create.bats index 039d9092..cfa6247d 100644 --- a/src/ezfio_files/00.create.bats +++ b/src/ezfio_files/00.create.bats @@ -49,6 +49,18 @@ function run { run hcn.xyz 1 0 aug-cc-pvdz } +@test "LiF" { + run lif.xyz 1 0 cc-pvtz +} + +@test "F" { + run f.xyz 2 0 cc-pvtz +} + +@test "Be" { + run be.xyz 1 0 cc-pvtz +} + @test "N2" { run n2.xyz 1 0 cc-pvtz } diff --git a/src/ezfio_files/01.convert.bats b/src/ezfio_files/01.convert.bats index 691ec340..bff5e98c 100644 --- a/src/ezfio_files/01.convert.bats +++ b/src/ezfio_files/01.convert.bats @@ -25,3 +25,9 @@ function run { run cu_nh3_4_2plus.gms.out cu_nh3_4_2plus.ezfio qp set scf_utils thresh_scf 1.e-10 } + +@test "O2 CAS GAMESS" { # 1.38541s + run o2_cas.gms.out o2_cas.gms.ezfio + qp set scf_utils thresh_scf 1.e-10 + qp set_mo_class -c "[1-2]" -a "[3-10]" -v "[11-46]" +} diff --git a/src/hartree_fock/10.hf.bats b/src/hartree_fock/10.hf.bats index 4b750c87..0301748b 100644 --- a/src/hartree_fock/10.hf.bats +++ b/src/hartree_fock/10.hf.bats @@ -21,6 +21,19 @@ function run() { run b2_stretched.ezfio -48.9950585434279 } +@test "LiF" { # 3 s + run lif.ezfio -106.9801081911955 +} + +@test "Be" { # 3 s + run be.ezfio -14.57287346825270 +} + +@test "F" { # 3 s + run f.ezfio -99.40093527229389 +} + + @test "SiH2_3B1" { # 0.539000 1.51094s run sih2_3b1.ezfio -289.9654718453571 } diff --git a/src/two_body_rdm/test_2_rdm.irp.f b/src/two_body_rdm/test_2_rdm.irp.f index 5c8054ff..123261d8 100644 --- a/src/two_body_rdm/test_2_rdm.irp.f +++ b/src/two_body_rdm/test_2_rdm.irp.f @@ -2,12 +2,7 @@ program test_2_rdm implicit none read_wf = .True. touch read_wf -! call routine_active_only -! call routine_full_mos - call routine + call routine_active_only + call routine_full_mos end -subroutine routine - implicit none - provide act_2_rdm_ab_mo -end diff --git a/tests/input/be.xyz b/tests/input/be.xyz new file mode 100644 index 00000000..17f22818 --- /dev/null +++ b/tests/input/be.xyz @@ -0,0 +1 @@ +Be diff --git a/tests/input/f.xyz b/tests/input/f.xyz new file mode 100644 index 00000000..cf84443e --- /dev/null +++ b/tests/input/f.xyz @@ -0,0 +1 @@ +F diff --git a/tests/input/lif.xyz b/tests/input/lif.xyz new file mode 100644 index 00000000..5584fb30 --- /dev/null +++ b/tests/input/lif.xyz @@ -0,0 +1,4 @@ +2 + +Li 0. 0. 1.56359565 +F 0. 0. 0. diff --git a/tests/input/o2_cas.gms.out b/tests/input/o2_cas.gms.out new file mode 100644 index 00000000..922e3392 --- /dev/null +++ b/tests/input/o2_cas.gms.out @@ -0,0 +1,2385 @@ +----- GAMESS execution script 'rungms' ----- +This job is running on host quad7 +under operating system Linux at Wed Nov 6 15:30:05 CET 2019 +Available scratch disk space (Kbyte units) at beginning of the job is +Filesystem 1K-blocks Used Available Use% Mounted on +/dev/sda1 1922860892 1818125764 7059404 100% /scr +GAMESS temporary binary files will be written to /scr/giner +GAMESS supplementary output files will be written to /scr/giner +Copying input file 2.2816.CAS.inp to your run's scratch directory... + + Distributed Data Interface kickoff program. + Initiating 1 compute processes on 1 nodes to run the following command: + /opt/gamess/gamess.00.x 2.2816.CAS + + ****************************************************** + * GAMESS VERSION = 5 DEC 2014 (R1) * + * FROM IOWA STATE UNIVERSITY * + * M.W.SCHMIDT, K.K.BALDRIDGE, J.A.BOATZ, S.T.ELBERT, * + * M.S.GORDON, J.H.JENSEN, S.KOSEKI, N.MATSUNAGA, * + * K.A.NGUYEN, S.J.SU, T.L.WINDUS, * + * TOGETHER WITH M.DUPUIS, J.A.MONTGOMERY * + * J.COMPUT.CHEM. 14, 1347-1363(1993) * + **************** 64 BIT LINUX VERSION **************** + + SINCE 1993, STUDENTS AND POSTDOCS WORKING AT IOWA STATE UNIVERSITY + AND ALSO IN THEIR VARIOUS JOBS AFTER LEAVING ISU HAVE MADE IMPORTANT + CONTRIBUTIONS TO THE CODE: + IVANA ADAMOVIC, CHRISTINE AIKENS, YURI ALEXEEV, POOJA ARORA, + ANDREY ASADCHEV, ROB BELL, PRADIPTA BANDYOPADHYAY, JONATHAN BENTZ, + BRETT BODE, KURT BRORSEN, CALEB CARLIN, GALINA CHABAN, WEI CHEN, + CHEOL HO CHOI, PAUL DAY, ALBERT DEFUSCO, NUWAN DESILVA, TIM DUDLEY, + DMITRI FEDOROV, GRAHAM FLETCHER, MARK FREITAG, KURT GLAESEMANN, + DAN KEMP, GRANT MERRILL, NORIYUKI MINEZAWA, JONATHAN MULLIN, + TAKESHI NAGATA, SEAN NEDD, HEATHER NETZLOFF, BOSILJKA NJEGIC, RYAN OLSON, + MIKE PAK, SPENCER PRUITT, LUKE ROSKOP, JIM SHOEMAKER, LYUDMILA SLIPCHENKO, + TONY SMITH, SAROM SOK, JIE SONG, TETSUYA TAKETSUGU, SIMON WEBB, + PENG XU, SOOHAENG YOO, FEDERICO ZAHARIEV + + ADDITIONAL CODE HAS BEEN PROVIDED BY COLLABORATORS IN OTHER GROUPS: + IOWA STATE UNIVERSITY: + JOE IVANIC, AARON WEST, LAIMUTIS BYTAUTAS, KLAUS RUEDENBERG + UNIVERSITY OF TOKYO: KIMIHIKO HIRAO, TAKAHITO NAKAJIMA, + TAKAO TSUNEDA, MUNEAKI KAMIYA, SUSUMU YANAGISAWA, + KIYOSHI YAGI, MAHITO CHIBA, SEIKEN TOKURA, NAOAKI KAWAKAMI + UNIVERSITY OF AARHUS: FRANK JENSEN + UNIVERSITY OF IOWA: VISVALDAS KAIRYS, HUI LI + NATIONAL INST. OF STANDARDS AND TECHNOLOGY: WALT STEVENS, DAVID GARMER + UNIVERSITY OF PISA: BENEDETTA MENNUCCI, JACOPO TOMASI + UNIVERSITY OF MEMPHIS: HENRY KURTZ, PRAKASHAN KORAMBATH + UNIVERSITY OF ALBERTA: TOBY ZENG, MARIUSZ KLOBUKOWSKI + UNIVERSITY OF NEW ENGLAND: MARK SPACKMAN + MIE UNIVERSITY: HIROAKI UMEDA + NAT. INST. OF ADVANCED INDUSTRIAL SCIENCE AND TECHNOLOGY: KAZUO KITAURA + MICHIGAN STATE UNIVERSITY: + KAROL KOWALSKI, MARTA WLOCH, JEFFREY GOUR, JESSE LUTZ, + WEI LI, PIOTR PIECUCH + UNIVERSITY OF SILESIA: MONIKA MUSIAL, STANISLAW KUCHARSKI + FACULTES UNIVERSITAIRES NOTRE-DAME DE LA PAIX: + OLIVIER QUINET, BENOIT CHAMPAGNE + UNIVERSITY OF CALIFORNIA - SANTA BARBARA: BERNARD KIRTMAN + INSTITUTE FOR MOLECULAR SCIENCE: + KAZUYA ISHIMURA, MICHIO KATOUDA, AND SHIGERU NAGASE + UNIVERSITY OF NOTRE DAME: ANNA POMOGAEVA, DAN CHIPMAN + KYUSHU UNIVERSITY: + HARUYUKI NAKANO, + FENG LONG GU, JACEK KORCHOWIEC, MARCIN MAKOWSKI, AND YURIKO AOKI, + HIROTOSHI MORI AND EISAKU MIYOSHI + PENNSYLVANIA STATE UNIVERSITY: + TZVETELIN IORDANOV, CHET SWALINA, JONATHAN SKONE, + SHARON HAMMES-SCHIFFER + WASEDA UNIVERSITY: + MASATO KOBAYASHI, TOMOKO AKAMA, TSUGUKI TOUMA, + TAKESHI YOSHIKAWA, YASUHIRO IKABATA, HIROMI NAKAI + NANJING UNIVERSITY: SHUHUA LI + UNIVERSITY OF NEBRASKA: + PEIFENG SU, DEJUN SI, NANDUN THELLAMUREGE, YALI WANG, HUI LI + UNIVERSITY OF ZURICH: ROBERTO PEVERATI, KIM BALDRIDGE + N. COPERNICUS UNIVERSITY AND JACKSON STATE UNIVERSITY: + MARIA BARYSZ + UNIVERSITY OF COPENHAGEN: CASPER STEINMANN + TOKYO INSTITUTE OF TECHNOLOGY: HIROYA NAKATA + NAGOYA UNIVERSITY: YOSHIO NISHIMOTO, STEPHAN IRLE + + EXECUTION OF GAMESS BEGUN Wed Nov 6 15:30:05 2019 + + ECHO OF THE FIRST FEW INPUT CARDS - + INPUT CARD> $CONTRL + INPUT CARD> EXETYP= RUN + INPUT CARD> COORD= UNIQUE UNITS=BOHR + INPUT CARD> RUNTYP= ENERGY + INPUT CARD> SCFTYP=MCSCF + INPUT CARD> CITYP=NONE + INPUT CARD> MULT= 3 + INPUT CARD> ICHARG= 0 + INPUT CARD> MAXIT=100 + INPUT CARD> ISPHER = 1 + INPUT CARD> $END + INPUT CARD> + INPUT CARD> $SYSTEM MEMORY=2757400000 + INPUT CARD> $END + INPUT CARD> + INPUT CARD> $GUESS + INPUT CARD> GUESS=MOREAD + INPUT CARD> NORB=10 + INPUT CARD> PRTMO=.T. + INPUT CARD> $END + INPUT CARD> PURIFY=.TRUE. + INPUT CARD> + INPUT CARD> $SCF + INPUT CARD> DIRSCF=.T. + INPUT CARD> $END + INPUT CARD> + INPUT CARD> $TRANS DIRTRF=.TRUE. $END + INPUT CARD> + INPUT CARD> $MCSCF + INPUT CARD> FOCAS=.T. SOSCF=.F. FULLNR=.T. + INPUT CARD> FORS=.T. + INPUT CARD> CISTEP=GUGA EKT=.F. QUAD=.F. JACOBI=.f. + INPUT CARD> MAXIT=1000 + INPUT CARD> $END + INPUT CARD> + INPUT CARD> $DRT + INPUT CARD> NMCC=2 NDOC=5 NALP=2 NVAL=1 NEXT=0 ISTSYM=2 + INPUT CARD> FORS=.TRUE. + INPUT CARD> GROUP=D4H + INPUT CARD> MXNINT=600000 + INPUT CARD> NPRT=2 + INPUT CARD> $END + INPUT CARD> + INPUT CARD> $GUGDIA + INPUT CARD> PRTTOL=0.0001 + INPUT CARD> NSTATE=1 + INPUT CARD> ITERMX=500 + INPUT CARD> NIMPRV=1 + INPUT CARD> $END + INPUT CARD> + 2757400000 WORDS OF MEMORY AVAILABLE + + BASIS OPTIONS + ------------- + GBASIS=ACCD IGAUSS= 0 POLAR=NONE + NDFUNC= 0 NFFUNC= 0 DIFFSP= F + NPFUNC= 0 DIFFS= F BASNAM= + + + RUN TITLE + --------- + O_2 curve R=2.2816 + + THE POINT GROUP OF THE MOLECULE IS DNH + THE ORDER OF THE PRINCIPAL AXIS IS 4 + + ATOM ATOMIC COORDINATES (BOHR) + CHARGE X Y Z + O 8.0 0.0000000000 0.0000000000 -1.1408000000 + O 8.0 0.0000000000 0.0000000000 1.1408000000 + + INTERNUCLEAR DISTANCES (ANGS.) + ------------------------------ + + 1 O 2 O + + 1 O 0.0000000 1.2073708 * + 2 O 1.2073708 * 0.0000000 + + * ... LESS THAN 3.000 + + + ATOMIC BASIS SET + ---------------- + THE CONTRACTED PRIMITIVE FUNCTIONS HAVE BEEN UNNORMALIZED + THE CONTRACTED BASIS FUNCTIONS ARE NOW NORMALIZED TO UNITY + + SHELL TYPE PRIMITIVE EXPONENT CONTRACTION COEFFICIENT(S) + + O + + 10 S 1 11720.0000000 0.000709645947 + 10 S 2 1759.0000000 0.005467272292 + 10 S 3 400.8000000 0.027823118610 + 10 S 4 113.7000000 0.104747739711 + 10 S 5 37.0300000 0.282920846357 + 10 S 6 13.2700000 0.448495238698 + 10 S 7 5.0250000 0.270816885213 + 10 S 8 1.0130000 0.015450291607 + + 11 S 9 11720.0000000 -0.000314443412 + 11 S 10 1759.0000000 -0.002482137681 + 11 S 11 400.8000000 -0.012316355382 + 11 S 12 113.7000000 -0.050538917344 + 11 S 13 37.0300000 -0.139384903316 + 11 S 14 13.2700000 -0.325077494818 + 11 S 15 5.0250000 -0.229848307588 + 11 S 16 1.0130000 1.095379346788 + + 12 S 17 0.3023000 1.000000000000 + + 13 P 18 17.7000000 0.062679166282 + 13 P 19 3.8540000 0.333536565879 + 13 P 20 1.0460000 0.741239641640 + + 14 P 21 0.2753000 1.000000000000 + + 15 D 22 1.1850000 1.000000000000 + + 16 S 23 0.0789600 1.000000000000 + + 17 P 24 0.0685600 1.000000000000 + + 18 D 25 0.3320000 1.000000000000 + + TOTAL NUMBER OF BASIS SET SHELLS = 18 + NUMBER OF CARTESIAN GAUSSIAN BASIS FUNCTIONS = 50 + NOTE: THIS RUN WILL RESTRICT THE MO VARIATION SPACE TO SPHERICAL HARMONICS. + THE NUMBER OF ORBITALS KEPT IN THE VARIATIONAL SPACE WILL BE PRINTED LATER. + NUMBER OF ELECTRONS = 16 + CHARGE OF MOLECULE = 0 + SPIN MULTIPLICITY = 3 + NUMBER OF OCCUPIED ORBITALS (ALPHA) = 9 + NUMBER OF OCCUPIED ORBITALS (BETA ) = 7 + TOTAL NUMBER OF ATOMS = 2 + THE NUCLEAR REPULSION ENERGY IS 28.0504908836 + + THIS MOLECULE IS RECOGNIZED AS BEING LINEAR, + ORBITAL LZ DEGENERACY TOLERANCE ETOLLZ= 1.00E-06 + + $CONTRL OPTIONS + --------------- + SCFTYP=MCSCF RUNTYP=ENERGY EXETYP=RUN + MPLEVL= 0 CITYP =NONE CCTYP =NONE VBTYP =NONE + DFTTYP=NONE TDDFT =NONE + MULT = 3 ICHARG= 0 NZVAR = 0 COORD =UNIQUE + PP =NONE RELWFN=NONE LOCAL =NONE NUMGRD= F + ISPHER= 1 NOSYM = 0 MAXIT = 100 UNITS =BOHR + PLTORB= F MOLPLT= F AIMPAC= F FRIEND= + NPRINT= 7 IREST = 0 GEOM =INPUT + NORMF = 0 NORMP = 0 ITOL = 20 ICUT = 9 + INTTYP=BEST GRDTYP=BEST QMTTOL= 1.0E-06 + + $SYSTEM OPTIONS + --------------- + REPLICATED MEMORY= 2757400000 WORDS (ON EVERY NODE). + DISTRIBUTED MEMDDI= 0 MILLION WORDS IN AGGREGATE, + MEMDDI DISTRIBUTED OVER 1 PROCESSORS IS 0 WORDS/PROCESSOR. + TOTAL MEMORY REQUESTED ON EACH PROCESSOR= 2757400000 WORDS. + TIMLIM= 525600.00 MINUTES, OR 365.0 DAYS. + PARALL= F BALTYP= DLB KDIAG= 0 COREFL= F + MXSEQ2= 300 MXSEQ3= 150 mem10= 0 + + ---------------- + PROPERTIES INPUT + ---------------- + + MOMENTS FIELD POTENTIAL DENSITY + IEMOM = 1 IEFLD = 0 IEPOT = 0 IEDEN = 0 + WHERE =COMASS WHERE =NUCLEI WHERE =NUCLEI WHERE =NUCLEI + OUTPUT=BOTH OUTPUT=BOTH OUTPUT=BOTH OUTPUT=BOTH + IEMINT= 0 IEFINT= 0 IEDINT= 0 + MORB = 0 + + ------------------------------- + INTEGRAL TRANSFORMATION OPTIONS + ------------------------------- + NWORD = 0 + CUTOFF = 1.0E-09 MPTRAN = 0 + DIRTRF = T AOINTS =DUP + + ---------------------- + MCSCF INPUT PARAMETERS + ---------------------- + CONVERGER SELECTION: FOCAS = F SOSCF = F FULLNR = T QUD = F JACOBI = F + SECULAR EQUATION METHOD CISTEP = GUGA + --- GENERAL INPUT OPTIONS: + MAXIT = 1000 MICIT = 1 ACURCY= 1.000E-05 + DAMP = 0.000 CANONC= T ENGTOL= 1.000E-10 + EKT = F NPUNCH= 2 NWORD = 0 + REGENERATE CI AFTER CONVERGENCE = NONE + DIABATIZATION AFTER CONVERGENCE = F + --- INPUT FOR FULLNR CONVERGER: + METHOD=DM2 FORS = T DROPC = T + LINSER= F FCORE = F NORB = 50 + + ---------------------- + INTEGRAL INPUT OPTIONS + ---------------------- + NOPK = 1 NORDER= 0 SCHWRZ= T + + ------------------------------------------ + THE POINT GROUP IS DNH, NAXIS= 4, ORDER=16 + ------------------------------------------ + + -- VARIATIONAL SPACE WILL BE RESTRICTED TO PURE SPHERICAL HARMONICS ONLY -- + AFTER EXCLUDING CONTAMINANT COMBINATIONS FROM THE CARTESIAN GAUSSIAN BASIS + SET, THE NUMBER OF SPHERICAL HARMONICS KEPT IN THE VARIATION SPACE IS 46 + + DIMENSIONS OF THE SYMMETRY SUBSPACES ARE + A1G = 9 A1U = 0 B1G = 2 B1U = 2 A2G = 0 + A2U = 9 B2G = 2 B2U = 2 EG = 5 EU = 5 + + ..... DONE SETTING UP THE RUN ..... + STEP CPU TIME = 0.02 TOTAL CPU TIME = 0.0 ( 0.0 MIN) + TOTAL WALL CLOCK TIME= 0.0 SECONDS, CPU UTILIZATION IS 66.67% + + ******************** + 1 ELECTRON INTEGRALS + ******************** + TIME TO DO DIPOLE INTEGRALS= 0.00 + ...... END OF ONE-ELECTRON INTEGRALS ...... + STEP CPU TIME = 0.00 TOTAL CPU TIME = 0.0 ( 0.0 MIN) + TOTAL WALL CLOCK TIME= 0.0 SECONDS, CPU UTILIZATION IS 66.67% + + ------------- + GUESS OPTIONS + ------------- + GUESS =MOREAD NORB = 10 NORDER= 0 + MIX = F PRTMO = T PUNMO = F + TOLZ = 1.0E-08 TOLE = 1.0E-05 + SYMDEN= F PURIFY= F + + INITIAL GUESS ORBITALS GENERATED BY MOREAD ROUTINE. + + STATISTICS FOR GENERATION OF SYMMETRY ORBITAL -Q- MATRIX + NUMBER OF CARTESIAN ATOMIC ORBITALS= 50 + NUMBER OF SPHERICAL CONTAMINANTS DROPPED= 4 + NUMBER OF LINEARLY DEPENDENT MOS DROPPED= 0 + TOTAL NUMBER OF MOS IN VARIATION SPACE= 46 + EIGENVALUES ARE DIAGONAL OF 1E- H IN MO BASIS + + SYMMETRIES FOR INITIAL GUESS ORBITALS FOLLOW. BOTH SET(S). + 10 ORBITALS ARE OCCUPIED ( 2 CORE ORBITALS). + 1=A2U 2=A1G 3=A1G 4=A2U 5=EU 6=EU 7=A1G + 8=EG 9=EG 10=A2U 11=A1G 12=A1G 13=A1G 14=A1G + 15=A1G 16=A1G 17=B1G 18=B1G 19=B1U 20=B1U 21=A2U + 22=A2U 23=A2U 24=A2U 25=A2U 26=A2U 27=B2G 28=B2G + 29=B2U 30=B2U 31=EG 32=EG 33=EG 34=EG 35=EG + 36=EG 37=EG 38=EG 39=EU 40=EU 41=EU 42=EU + 43=EU 44=EU 45=EU 46=EU + + ---------------------- + INITIAL GUESS ORBITALS + ---------------------- + + 1 2 3 4 5 + -35.4451 -35.4293 -10.4508 -9.8215 -9.6626 + A2U A1G A1G A2U EU + 1 O 1 S 0.708324 0.707265 0.032601 -0.019302 0.000000 + 2 O 1 S -0.007561 -0.016087 0.346026 -0.354559 0.000000 + 3 O 1 S -0.029276 -0.019525 0.339756 -0.539802 0.000000 + 4 O 1 X 0.000000 0.000000 0.000000 -0.000000 0.450278 + 5 O 1 Y 0.000000 0.000000 0.000000 -0.000000 0.000000 + 6 O 1 Z 0.004673 0.004839 -0.045787 0.134452 0.000000 + 7 O 1 X 0.000000 0.000000 0.000000 -0.000000 0.267105 + 8 O 1 Y 0.000000 0.000000 0.000000 -0.000000 0.000000 + 9 O 1 Z -0.009591 0.002300 -0.054573 -0.025908 0.000000 + 10 O 1 XX -0.000357 0.000239 -0.005190 -0.004822 0.000000 + 11 O 1 YY -0.000357 0.000239 -0.005190 -0.004822 0.000000 + 12 O 1 ZZ 0.000714 -0.000477 0.010380 0.009644 0.000000 + 13 O 1 XY 0.000000 0.000000 0.000000 -0.000000 0.000000 + 14 O 1 XZ 0.000000 0.000000 0.000000 -0.000000 0.026719 + 15 O 1 YZ 0.000000 0.000000 0.000000 -0.000000 0.000000 + 16 O 1 S -0.008434 -0.000571 0.016470 -0.118896 0.000000 + 17 O 1 X 0.000000 0.000000 0.000000 -0.000000 0.012215 + 18 O 1 Y 0.000000 0.000000 0.000000 -0.000000 0.000000 + 19 O 1 Z -0.001643 0.000456 -0.006533 -0.019870 0.000000 + 20 O 1 XX 0.001571 0.000498 -0.001158 0.010408 0.000000 + 21 O 1 YY 0.001571 0.000498 -0.001158 0.010408 0.000000 + 22 O 1 ZZ -0.003141 -0.000995 0.002316 -0.020816 0.000000 + 23 O 1 XY 0.000000 0.000000 0.000000 -0.000000 0.000000 + 24 O 1 XZ 0.000000 0.000000 0.000000 -0.000000 0.015154 + 25 O 1 YZ 0.000000 0.000000 0.000000 -0.000000 0.000000 + 26 O 2 S -0.708324 0.707265 0.032601 0.019302 0.000000 + 27 O 2 S 0.007561 -0.016087 0.346026 0.354559 0.000000 + 28 O 2 S 0.029276 -0.019525 0.339756 0.539802 0.000000 + 29 O 2 X 0.000000 0.000000 0.000000 -0.000000 0.450278 + 30 O 2 Y 0.000000 0.000000 0.000000 -0.000000 0.000000 + 31 O 2 Z 0.004673 -0.004839 0.045787 0.134452 0.000000 + 32 O 2 X 0.000000 0.000000 0.000000 -0.000000 0.267105 + 33 O 2 Y 0.000000 0.000000 0.000000 -0.000000 0.000000 + 34 O 2 Z -0.009591 -0.002300 0.054573 -0.025908 0.000000 + 35 O 2 XX 0.000357 0.000239 -0.005190 0.004822 0.000000 + 36 O 2 YY 0.000357 0.000239 -0.005190 0.004822 0.000000 + 37 O 2 ZZ -0.000714 -0.000477 0.010380 -0.009644 0.000000 + 38 O 2 XY 0.000000 0.000000 0.000000 -0.000000 0.000000 + 39 O 2 XZ 0.000000 0.000000 0.000000 -0.000000 -0.026719 + 40 O 2 YZ 0.000000 0.000000 0.000000 -0.000000 0.000000 + 41 O 2 S 0.008434 -0.000571 0.016470 0.118896 0.000000 + 42 O 2 X 0.000000 0.000000 0.000000 -0.000000 0.012215 + 43 O 2 Y 0.000000 0.000000 0.000000 -0.000000 0.000000 + 44 O 2 Z -0.001643 -0.000456 0.006533 -0.019870 0.000000 + 45 O 2 XX -0.001571 0.000498 -0.001158 -0.010408 0.000000 + 46 O 2 YY -0.001571 0.000498 -0.001158 -0.010408 0.000000 + 47 O 2 ZZ 0.003141 -0.000995 0.002316 0.020816 0.000000 + 48 O 2 XY 0.000000 0.000000 0.000000 -0.000000 0.000000 + 49 O 2 XZ 0.000000 0.000000 0.000000 -0.000000 -0.015154 + 50 O 2 YZ 0.000000 0.000000 0.000000 -0.000000 0.000000 + + 6 7 8 9 10 + -9.6626 -10.7403 -9.6208 -9.6208 -10.8558 + EU A1G EG EG A2U + 1 O 1 S 0.000000 0.000977 0.000000 0.000000 0.036758 + 2 O 1 S 0.000000 -0.036274 0.000000 0.000000 0.247488 + 3 O 1 S 0.000000 0.103046 0.000000 0.000000 0.378732 + 4 O 1 X 0.000000 -0.000000 0.000000 0.537801 0.000000 + 5 O 1 Y 0.450278 -0.000000 0.537801 0.000000 0.000000 + 6 O 1 Z 0.000000 -0.487804 0.000000 0.000000 0.721421 + 7 O 1 X 0.000000 -0.000000 0.000000 0.391495 0.000000 + 8 O 1 Y 0.267105 -0.000000 0.391495 0.000000 0.000000 + 9 O 1 Z 0.000000 -0.236119 0.000000 0.000000 0.319259 + 10 O 1 XX 0.000000 0.015775 0.000000 0.000000 0.005605 + 11 O 1 YY 0.000000 0.015775 0.000000 0.000000 0.005605 + 12 O 1 ZZ 0.000000 -0.031551 0.000000 0.000000 -0.011210 + 13 O 1 XY 0.000000 -0.000000 0.000000 0.000000 0.000000 + 14 O 1 XZ 0.000000 -0.000000 0.000000 -0.005587 0.000000 + 15 O 1 YZ 0.026719 -0.000000 -0.005587 0.000000 0.000000 + 16 O 1 S 0.000000 0.033621 0.000000 0.000000 0.174666 + 17 O 1 X 0.000000 -0.000000 0.000000 0.045273 0.000000 + 18 O 1 Y 0.012215 -0.000000 0.045273 0.000000 0.000000 + 19 O 1 Z 0.000000 0.001872 0.000000 0.000000 0.035620 + 20 O 1 XX 0.000000 0.012476 0.000000 0.000000 -0.001038 + 21 O 1 YY 0.000000 0.012476 0.000000 0.000000 -0.001038 + 22 O 1 ZZ 0.000000 -0.024952 0.000000 0.000000 0.002077 + 23 O 1 XY 0.000000 -0.000000 0.000000 0.000000 0.000000 + 24 O 1 XZ 0.000000 -0.000000 0.000000 0.012132 0.000000 + 25 O 1 YZ 0.015154 -0.000000 0.012132 0.000000 0.000000 + 26 O 2 S 0.000000 0.000977 0.000000 0.000000 -0.036758 + 27 O 2 S 0.000000 -0.036274 0.000000 0.000000 -0.247488 + 28 O 2 S 0.000000 0.103046 0.000000 0.000000 -0.378732 + 29 O 2 X 0.000000 -0.000000 0.000000 -0.537801 0.000000 + 30 O 2 Y 0.450278 -0.000000 -0.537801 0.000000 0.000000 + 31 O 2 Z 0.000000 0.487804 0.000000 0.000000 0.721421 + 32 O 2 X 0.000000 -0.000000 0.000000 -0.391495 0.000000 + 33 O 2 Y 0.267105 -0.000000 -0.391495 0.000000 0.000000 + 34 O 2 Z 0.000000 0.236119 0.000000 0.000000 0.319259 + 35 O 2 XX 0.000000 0.015775 0.000000 0.000000 -0.005605 + 36 O 2 YY 0.000000 0.015775 0.000000 0.000000 -0.005605 + 37 O 2 ZZ 0.000000 -0.031551 0.000000 0.000000 0.011210 + 38 O 2 XY 0.000000 -0.000000 0.000000 0.000000 0.000000 + 39 O 2 XZ 0.000000 -0.000000 0.000000 -0.005587 0.000000 + 40 O 2 YZ -0.026719 -0.000000 -0.005587 0.000000 0.000000 + 41 O 2 S 0.000000 0.033621 0.000000 0.000000 -0.174666 + 42 O 2 X 0.000000 -0.000000 0.000000 -0.045273 0.000000 + 43 O 2 Y 0.012215 -0.000000 -0.045273 0.000000 0.000000 + 44 O 2 Z 0.000000 -0.001872 0.000000 0.000000 0.035620 + 45 O 2 XX 0.000000 0.012476 0.000000 0.000000 0.001038 + 46 O 2 YY 0.000000 0.012476 0.000000 0.000000 0.001038 + 47 O 2 ZZ 0.000000 -0.024952 0.000000 0.000000 -0.002077 + 48 O 2 XY 0.000000 -0.000000 0.000000 0.000000 0.000000 + 49 O 2 XZ 0.000000 -0.000000 0.000000 0.012132 0.000000 + 50 O 2 YZ -0.015154 -0.000000 0.012132 0.000000 0.000000 + + 11 12 13 14 15 + -4.2765 -6.0557 -3.5045 -5.4231 -5.6474 + A1G A1G A1G A1G A1G + 1 O 1 S -0.228072 0.594168 -0.017520 -0.040828 -0.077507 + 2 O 1 S -0.564901 1.267086 -0.026319 -0.107816 -0.311021 + 3 O 1 S 1.812663 -0.464594 -0.127201 -0.005296 -0.075737 + 4 O 1 X -0.000000 0.000000 0.000000 -0.000000 0.000000 + 5 O 1 Y -0.000000 0.000000 0.000000 -0.000000 0.000000 + 6 O 1 Z 0.288920 0.431784 -0.381844 0.465878 0.091100 + 7 O 1 X -0.000000 0.000000 0.000000 -0.000000 0.000000 + 8 O 1 Y -0.000000 0.000000 0.000000 -0.000000 0.000000 + 9 O 1 Z -0.560721 -0.645529 0.739702 -0.414621 -0.122992 + 10 O 1 XX -0.117736 -0.099601 -0.043224 0.203583 -0.207937 + 11 O 1 YY -0.117736 -0.099601 -0.043224 0.203583 -0.207937 + 12 O 1 ZZ 0.235472 0.199203 0.086448 -0.407166 0.415873 + 13 O 1 XY -0.000000 0.000000 0.000000 -0.000000 0.000000 + 14 O 1 XZ -0.000000 0.000000 0.000000 -0.000000 0.000000 + 15 O 1 YZ -0.000000 0.000000 0.000000 -0.000000 0.000000 + 16 O 1 S -0.791708 0.067986 0.459263 0.284255 0.457270 + 17 O 1 X -0.000000 0.000000 0.000000 -0.000000 0.000000 + 18 O 1 Y -0.000000 0.000000 0.000000 -0.000000 0.000000 + 19 O 1 Z -0.711012 -0.355904 -1.430768 -0.285648 0.110339 + 20 O 1 XX 0.457111 0.522558 0.036220 -0.166518 0.108593 + 21 O 1 YY 0.457111 0.522558 0.036220 -0.166518 0.108593 + 22 O 1 ZZ -0.914223 -1.045116 -0.072439 0.333035 -0.217187 + 23 O 1 XY -0.000000 0.000000 0.000000 -0.000000 0.000000 + 24 O 1 XZ -0.000000 0.000000 0.000000 -0.000000 0.000000 + 25 O 1 YZ -0.000000 0.000000 0.000000 -0.000000 0.000000 + 26 O 2 S -0.228072 0.594168 -0.017520 -0.040828 -0.077507 + 27 O 2 S -0.564901 1.267086 -0.026319 -0.107816 -0.311021 + 28 O 2 S 1.812663 -0.464594 -0.127201 -0.005296 -0.075737 + 29 O 2 X -0.000000 0.000000 0.000000 -0.000000 0.000000 + 30 O 2 Y -0.000000 0.000000 0.000000 -0.000000 0.000000 + 31 O 2 Z -0.288920 -0.431784 0.381844 -0.465878 -0.091100 + 32 O 2 X -0.000000 0.000000 0.000000 -0.000000 0.000000 + 33 O 2 Y -0.000000 0.000000 0.000000 -0.000000 0.000000 + 34 O 2 Z 0.560721 0.645529 -0.739702 0.414621 0.122992 + 35 O 2 XX -0.117736 -0.099601 -0.043224 0.203583 -0.207937 + 36 O 2 YY -0.117736 -0.099601 -0.043224 0.203583 -0.207937 + 37 O 2 ZZ 0.235472 0.199203 0.086448 -0.407166 0.415873 + 38 O 2 XY -0.000000 0.000000 0.000000 -0.000000 0.000000 + 39 O 2 XZ -0.000000 0.000000 0.000000 -0.000000 0.000000 + 40 O 2 YZ -0.000000 0.000000 0.000000 -0.000000 0.000000 + 41 O 2 S -0.791708 0.067986 0.459263 0.284255 0.457270 + 42 O 2 X -0.000000 0.000000 0.000000 -0.000000 0.000000 + 43 O 2 Y -0.000000 0.000000 0.000000 -0.000000 0.000000 + 44 O 2 Z 0.711012 0.355904 1.430768 0.285648 -0.110339 + 45 O 2 XX 0.457111 0.522558 0.036220 -0.166518 0.108593 + 46 O 2 YY 0.457111 0.522558 0.036220 -0.166518 0.108593 + 47 O 2 ZZ -0.914223 -1.045116 -0.072439 0.333035 -0.217187 + 48 O 2 XY -0.000000 0.000000 0.000000 -0.000000 0.000000 + 49 O 2 XZ -0.000000 0.000000 0.000000 -0.000000 0.000000 + 50 O 2 YZ -0.000000 0.000000 0.000000 -0.000000 0.000000 + + 16 17 18 19 20 + -6.5757 -4.8965 -6.4342 -4.1567 -6.3053 + A1G B1G B1G B1U B1U + 1 O 1 S 0.008556 0.000000 -0.000000 -0.000000 -0.000000 + 2 O 1 S 0.071682 0.000000 -0.000000 -0.000000 -0.000000 + 3 O 1 S -0.027217 0.000000 -0.000000 -0.000000 -0.000000 + 4 O 1 X 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 5 O 1 Y 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 6 O 1 Z 0.008621 0.000000 -0.000000 -0.000000 -0.000000 + 7 O 1 X 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 8 O 1 Y 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 9 O 1 Z -0.149592 0.000000 -0.000000 -0.000000 -0.000000 + 10 O 1 XX -0.184594 0.654662 -0.266273 -0.000000 -0.000000 + 11 O 1 YY -0.184594 -0.654662 0.266273 -0.000000 -0.000000 + 12 O 1 ZZ 0.369188 0.000000 -0.000000 -0.000000 -0.000000 + 13 O 1 XY 0.000000 0.000000 -0.000000 -0.638808 0.550186 + 14 O 1 XZ 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 15 O 1 YZ 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 16 O 1 S -0.140066 0.000000 -0.000000 -0.000000 -0.000000 + 17 O 1 X 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 18 O 1 Y 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 19 O 1 Z -0.117062 0.000000 -0.000000 -0.000000 -0.000000 + 20 O 1 XX -0.151747 -0.491751 -0.354485 -0.000000 -0.000000 + 21 O 1 YY -0.151747 0.491751 0.354485 -0.000000 -0.000000 + 22 O 1 ZZ 0.303494 0.000000 -0.000000 -0.000000 -0.000000 + 23 O 1 XY 0.000000 0.000000 -0.000000 1.027226 0.342148 + 24 O 1 XZ 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 25 O 1 YZ 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 26 O 2 S 0.008556 0.000000 -0.000000 -0.000000 -0.000000 + 27 O 2 S 0.071682 0.000000 -0.000000 -0.000000 -0.000000 + 28 O 2 S -0.027217 0.000000 -0.000000 -0.000000 -0.000000 + 29 O 2 X 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 30 O 2 Y 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 31 O 2 Z -0.008621 0.000000 -0.000000 -0.000000 -0.000000 + 32 O 2 X 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 33 O 2 Y 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 34 O 2 Z 0.149592 0.000000 -0.000000 -0.000000 -0.000000 + 35 O 2 XX -0.184594 0.654662 -0.266273 -0.000000 -0.000000 + 36 O 2 YY -0.184594 -0.654662 0.266273 -0.000000 -0.000000 + 37 O 2 ZZ 0.369188 0.000000 -0.000000 -0.000000 -0.000000 + 38 O 2 XY 0.000000 0.000000 -0.000000 0.638808 -0.550186 + 39 O 2 XZ 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 40 O 2 YZ 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 41 O 2 S -0.140066 0.000000 -0.000000 -0.000000 -0.000000 + 42 O 2 X 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 43 O 2 Y 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 44 O 2 Z 0.117062 0.000000 -0.000000 -0.000000 -0.000000 + 45 O 2 XX -0.151747 -0.491751 -0.354485 -0.000000 -0.000000 + 46 O 2 YY -0.151747 0.491751 0.354485 -0.000000 -0.000000 + 47 O 2 ZZ 0.303494 0.000000 -0.000000 -0.000000 -0.000000 + 48 O 2 XY 0.000000 0.000000 -0.000000 -1.027226 -0.342148 + 49 O 2 XZ 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 50 O 2 YZ 0.000000 0.000000 -0.000000 -0.000000 -0.000000 + + 21 22 23 24 25 + -2.3504 -3.0767 -5.2669 -4.1917 -6.1024 + A2U A2U A2U A2U A2U + 1 O 1 S 0.878196 -0.817155 0.378332 -0.076007 0.129459 + 2 O 1 S 1.550594 -1.510423 0.899451 -0.092482 0.352571 + 3 O 1 S -12.329855 8.133947 -0.529440 -0.057432 0.119059 + 4 O 1 X -0.000000 -0.000000 0.000000 0.000000 0.000000 + 5 O 1 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 6 O 1 Z -0.044103 0.156309 -0.299919 0.063034 0.381340 + 7 O 1 X -0.000000 -0.000000 0.000000 0.000000 0.000000 + 8 O 1 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 9 O 1 Z -10.151435 4.651856 0.971565 0.251573 -0.215012 + 10 O 1 XX 0.000931 -0.054029 0.026353 -0.473894 -0.228736 + 11 O 1 YY 0.000931 -0.054029 0.026353 -0.473894 -0.228736 + 12 O 1 ZZ -0.001862 0.108057 -0.052706 0.947788 0.457473 + 13 O 1 XY -0.000000 -0.000000 0.000000 0.000000 0.000000 + 14 O 1 XZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 15 O 1 YZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 16 O 1 S -19.684032 -7.208716 0.018823 0.050377 -0.052830 + 17 O 1 X -0.000000 -0.000000 0.000000 0.000000 0.000000 + 18 O 1 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 19 O 1 Z -5.185786 -2.543087 -0.516367 -0.152297 0.188380 + 20 O 1 XX 1.548686 -0.712740 -0.114598 0.365200 -0.228141 + 21 O 1 YY 1.548686 -0.712740 -0.114598 0.365200 -0.228141 + 22 O 1 ZZ -3.097372 1.425480 0.229195 -0.730400 0.456282 + 23 O 1 XY -0.000000 -0.000000 0.000000 0.000000 0.000000 + 24 O 1 XZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 25 O 1 YZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 26 O 2 S -0.878196 0.817155 -0.378332 0.076007 -0.129459 + 27 O 2 S -1.550594 1.510423 -0.899451 0.092482 -0.352571 + 28 O 2 S 12.329855 -8.133947 0.529440 0.057432 -0.119059 + 29 O 2 X -0.000000 -0.000000 0.000000 0.000000 0.000000 + 30 O 2 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 31 O 2 Z -0.044103 0.156309 -0.299919 0.063034 0.381340 + 32 O 2 X -0.000000 -0.000000 0.000000 0.000000 0.000000 + 33 O 2 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 34 O 2 Z -10.151435 4.651856 0.971565 0.251573 -0.215012 + 35 O 2 XX -0.000931 0.054029 -0.026353 0.473894 0.228736 + 36 O 2 YY -0.000931 0.054029 -0.026353 0.473894 0.228736 + 37 O 2 ZZ 0.001862 -0.108057 0.052706 -0.947788 -0.457473 + 38 O 2 XY -0.000000 -0.000000 0.000000 0.000000 0.000000 + 39 O 2 XZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 40 O 2 YZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 41 O 2 S 19.684032 7.208716 -0.018823 -0.050377 0.052830 + 42 O 2 X -0.000000 -0.000000 0.000000 0.000000 0.000000 + 43 O 2 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 44 O 2 Z -5.185786 -2.543087 -0.516367 -0.152297 0.188380 + 45 O 2 XX -1.548686 0.712740 0.114598 -0.365200 0.228141 + 46 O 2 YY -1.548686 0.712740 0.114598 -0.365200 0.228141 + 47 O 2 ZZ 3.097372 -1.425480 -0.229195 0.730400 -0.456282 + 48 O 2 XY -0.000000 -0.000000 0.000000 0.000000 0.000000 + 49 O 2 XZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 50 O 2 YZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + + 26 27 28 29 30 + -4.2665 -4.8965 -6.4342 -4.1567 -6.3053 + A2U B2G B2G B2U B2U + 1 O 1 S 0.049998 0.000000 0.000000 -0.000000 -0.000000 + 2 O 1 S 0.199313 0.000000 0.000000 -0.000000 -0.000000 + 3 O 1 S 0.056534 0.000000 0.000000 -0.000000 -0.000000 + 4 O 1 X 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 5 O 1 Y 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 6 O 1 Z -0.221071 0.000000 0.000000 -0.000000 -0.000000 + 7 O 1 X 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 8 O 1 Y 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 9 O 1 Z 0.059598 0.000000 0.000000 -0.000000 -0.000000 + 10 O 1 XX -0.007627 0.000000 0.000000 -0.553224 0.476475 + 11 O 1 YY -0.007627 0.000000 0.000000 0.553224 -0.476475 + 12 O 1 ZZ 0.015254 0.000000 0.000000 -0.000000 -0.000000 + 13 O 1 XY 0.000000 0.755939 0.307465 -0.000000 -0.000000 + 14 O 1 XZ 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 15 O 1 YZ 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 16 O 1 S -0.156338 0.000000 0.000000 -0.000000 -0.000000 + 17 O 1 X 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 18 O 1 Y 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 19 O 1 Z 0.501834 0.000000 0.000000 -0.000000 -0.000000 + 20 O 1 XX 0.075010 0.000000 0.000000 0.889604 0.296309 + 21 O 1 YY 0.075010 0.000000 0.000000 -0.889604 -0.296309 + 22 O 1 ZZ -0.150020 0.000000 0.000000 -0.000000 -0.000000 + 23 O 1 XY 0.000000 -0.567825 0.409325 -0.000000 -0.000000 + 24 O 1 XZ 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 25 O 1 YZ 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 26 O 2 S -0.049998 0.000000 0.000000 -0.000000 -0.000000 + 27 O 2 S -0.199313 0.000000 0.000000 -0.000000 -0.000000 + 28 O 2 S -0.056534 0.000000 0.000000 -0.000000 -0.000000 + 29 O 2 X 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 30 O 2 Y 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 31 O 2 Z -0.221071 0.000000 0.000000 -0.000000 -0.000000 + 32 O 2 X 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 33 O 2 Y 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 34 O 2 Z 0.059598 0.000000 0.000000 -0.000000 -0.000000 + 35 O 2 XX 0.007627 0.000000 0.000000 0.553224 -0.476475 + 36 O 2 YY 0.007627 0.000000 0.000000 -0.553224 0.476475 + 37 O 2 ZZ -0.015254 0.000000 0.000000 -0.000000 -0.000000 + 38 O 2 XY 0.000000 0.755939 0.307465 -0.000000 -0.000000 + 39 O 2 XZ 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 40 O 2 YZ 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 41 O 2 S 0.156338 0.000000 0.000000 -0.000000 -0.000000 + 42 O 2 X 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 43 O 2 Y 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 44 O 2 Z 0.501834 0.000000 0.000000 -0.000000 -0.000000 + 45 O 2 XX -0.075010 0.000000 0.000000 -0.889604 -0.296309 + 46 O 2 YY -0.075010 0.000000 0.000000 0.889604 0.296309 + 47 O 2 ZZ 0.150020 0.000000 0.000000 -0.000000 -0.000000 + 48 O 2 XY 0.000000 -0.567825 0.409325 -0.000000 -0.000000 + 49 O 2 XZ 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 50 O 2 YZ 0.000000 0.000000 0.000000 -0.000000 -0.000000 + + 31 32 33 34 35 + -4.4055 -2.8983 -5.3350 -6.5371 -4.4055 + EG EG EG EG EG + 1 O 1 S 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 2 O 1 S 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 3 O 1 S 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 4 O 1 X 0.000000 -0.000000 0.000000 0.000000 -0.335821 + 5 O 1 Y -0.335821 0.173717 -0.418743 0.356846 -0.000000 + 6 O 1 Z 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 7 O 1 X 0.000000 -0.000000 0.000000 0.000000 2.557700 + 8 O 1 Y 2.557700 -0.300042 0.401974 -0.120552 -0.000000 + 9 O 1 Z 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 10 O 1 XX 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 11 O 1 YY 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 12 O 1 ZZ 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 13 O 1 XY 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 14 O 1 XZ 0.000000 -0.000000 0.000000 0.000000 -0.324203 + 15 O 1 YZ -0.324203 -0.172054 0.589183 0.606493 -0.000000 + 16 O 1 S 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 17 O 1 X 0.000000 -0.000000 0.000000 0.000000 -0.132080 + 18 O 1 Y -0.132080 2.044910 0.250515 -0.066367 -0.000000 + 19 O 1 Z 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 20 O 1 XX 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 21 O 1 YY 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 22 O 1 ZZ 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 23 O 1 XY 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 24 O 1 XZ 0.000000 -0.000000 0.000000 0.000000 2.119225 + 25 O 1 YZ 2.119225 0.488024 -0.443374 0.285513 -0.000000 + 26 O 2 S 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 27 O 2 S 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 28 O 2 S 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 29 O 2 X 0.000000 -0.000000 0.000000 0.000000 0.335821 + 30 O 2 Y 0.335821 -0.173717 0.418743 -0.356846 -0.000000 + 31 O 2 Z 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 32 O 2 X 0.000000 -0.000000 0.000000 0.000000 -2.557700 + 33 O 2 Y -2.557700 0.300042 -0.401974 0.120552 -0.000000 + 34 O 2 Z 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 35 O 2 XX 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 36 O 2 YY 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 37 O 2 ZZ 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 38 O 2 XY 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 39 O 2 XZ 0.000000 -0.000000 0.000000 0.000000 -0.324203 + 40 O 2 YZ -0.324203 -0.172054 0.589183 0.606493 -0.000000 + 41 O 2 S 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 42 O 2 X 0.000000 -0.000000 0.000000 0.000000 0.132080 + 43 O 2 Y 0.132080 -2.044910 -0.250515 0.066367 -0.000000 + 44 O 2 Z 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 45 O 2 XX 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 46 O 2 YY 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 47 O 2 ZZ 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 48 O 2 XY 0.000000 -0.000000 0.000000 0.000000 -0.000000 + 49 O 2 XZ 0.000000 -0.000000 0.000000 0.000000 2.119225 + 50 O 2 YZ 2.119225 0.488024 -0.443374 0.285513 -0.000000 + + 36 37 38 39 40 + -2.8983 -5.3350 -6.5371 -4.9199 -5.6272 + EG EG EG EU EU + 1 O 1 S 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 2 O 1 S 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 3 O 1 S 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 4 O 1 X 0.173717 -0.418743 0.356846 -0.487921 -0.380824 + 5 O 1 Y 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 6 O 1 Z 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 7 O 1 X -0.300042 0.401974 -0.120552 0.845739 0.269329 + 8 O 1 Y 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 9 O 1 Z 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 10 O 1 XX 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 11 O 1 YY 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 12 O 1 ZZ 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 13 O 1 XY 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 14 O 1 XZ -0.172054 0.589183 0.606493 0.318169 -0.593758 + 15 O 1 YZ 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 16 O 1 S 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 17 O 1 X 2.044910 0.250515 -0.066367 -0.443764 -0.157442 + 18 O 1 Y 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 19 O 1 Z 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 20 O 1 XX 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 21 O 1 YY 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 22 O 1 ZZ 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 23 O 1 XY 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 24 O 1 XZ 0.488024 -0.443374 0.285513 -0.483619 0.608685 + 25 O 1 YZ 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 26 O 2 S 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 27 O 2 S 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 28 O 2 S 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 29 O 2 X -0.173717 0.418743 -0.356846 -0.487921 -0.380824 + 30 O 2 Y 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 31 O 2 Z 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 32 O 2 X 0.300042 -0.401974 0.120552 0.845739 0.269329 + 33 O 2 Y 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 34 O 2 Z 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 35 O 2 XX 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 36 O 2 YY 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 37 O 2 ZZ 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 38 O 2 XY 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 39 O 2 XZ -0.172054 0.589183 0.606493 -0.318169 0.593758 + 40 O 2 YZ 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 41 O 2 S 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 42 O 2 X -2.044910 -0.250515 0.066367 -0.443764 -0.157442 + 43 O 2 Y 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 44 O 2 Z 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 45 O 2 XX 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 46 O 2 YY 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 47 O 2 ZZ 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 48 O 2 XY 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + 49 O 2 XZ 0.488024 -0.443374 0.285513 0.483619 -0.608685 + 50 O 2 YZ 0.000000 -0.000000 -0.000000 -0.000000 -0.000000 + + 41 42 43 44 45 + -5.5345 -6.0614 -4.9199 -5.6272 -5.5345 + EU EU EU EU EU + 1 O 1 S -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 2 O 1 S -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 3 O 1 S -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 4 O 1 X -0.347779 0.023421 -0.000000 -0.000000 -0.000000 + 5 O 1 Y -0.000000 0.000000 -0.487921 -0.380824 -0.347779 + 6 O 1 Z -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 7 O 1 X -0.012133 -0.074094 -0.000000 -0.000000 -0.000000 + 8 O 1 Y -0.000000 0.000000 0.845739 0.269329 -0.012133 + 9 O 1 Z -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 10 O 1 XX -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 11 O 1 YY -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 12 O 1 ZZ -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 13 O 1 XY -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 14 O 1 XZ 0.257397 0.325326 -0.000000 -0.000000 -0.000000 + 15 O 1 YZ -0.000000 0.000000 0.318169 -0.593758 0.257397 + 16 O 1 S -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 17 O 1 X 0.421986 -0.258584 -0.000000 -0.000000 -0.000000 + 18 O 1 Y -0.000000 0.000000 -0.443764 -0.157442 0.421986 + 19 O 1 Z -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 20 O 1 XX -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 21 O 1 YY -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 22 O 1 ZZ -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 23 O 1 XY -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 24 O 1 XZ 0.111296 0.298104 -0.000000 -0.000000 -0.000000 + 25 O 1 YZ -0.000000 0.000000 -0.483619 0.608685 0.111296 + 26 O 2 S -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 27 O 2 S -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 28 O 2 S -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 29 O 2 X -0.347779 0.023421 -0.000000 -0.000000 -0.000000 + 30 O 2 Y -0.000000 0.000000 -0.487921 -0.380824 -0.347779 + 31 O 2 Z -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 32 O 2 X -0.012133 -0.074094 -0.000000 -0.000000 -0.000000 + 33 O 2 Y -0.000000 0.000000 0.845739 0.269329 -0.012133 + 34 O 2 Z -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 35 O 2 XX -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 36 O 2 YY -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 37 O 2 ZZ -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 38 O 2 XY -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 39 O 2 XZ -0.257397 -0.325326 -0.000000 -0.000000 -0.000000 + 40 O 2 YZ -0.000000 0.000000 -0.318169 0.593758 -0.257397 + 41 O 2 S -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 42 O 2 X 0.421986 -0.258584 -0.000000 -0.000000 -0.000000 + 43 O 2 Y -0.000000 0.000000 -0.443764 -0.157442 0.421986 + 44 O 2 Z -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 45 O 2 XX -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 46 O 2 YY -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 47 O 2 ZZ -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 48 O 2 XY -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 49 O 2 XZ -0.111296 -0.298104 -0.000000 -0.000000 -0.000000 + 50 O 2 YZ -0.000000 0.000000 0.483619 -0.608685 -0.111296 + + 46 + -6.0614 + EU + 1 O 1 S 0.000000 + 2 O 1 S 0.000000 + 3 O 1 S 0.000000 + 4 O 1 X 0.000000 + 5 O 1 Y 0.023421 + 6 O 1 Z 0.000000 + 7 O 1 X 0.000000 + 8 O 1 Y -0.074094 + 9 O 1 Z 0.000000 + 10 O 1 XX 0.000000 + 11 O 1 YY 0.000000 + 12 O 1 ZZ 0.000000 + 13 O 1 XY 0.000000 + 14 O 1 XZ 0.000000 + 15 O 1 YZ 0.325326 + 16 O 1 S 0.000000 + 17 O 1 X 0.000000 + 18 O 1 Y -0.258584 + 19 O 1 Z 0.000000 + 20 O 1 XX 0.000000 + 21 O 1 YY 0.000000 + 22 O 1 ZZ 0.000000 + 23 O 1 XY 0.000000 + 24 O 1 XZ 0.000000 + 25 O 1 YZ 0.298104 + 26 O 2 S 0.000000 + 27 O 2 S 0.000000 + 28 O 2 S 0.000000 + 29 O 2 X 0.000000 + 30 O 2 Y 0.023421 + 31 O 2 Z 0.000000 + 32 O 2 X 0.000000 + 33 O 2 Y -0.074094 + 34 O 2 Z 0.000000 + 35 O 2 XX 0.000000 + 36 O 2 YY 0.000000 + 37 O 2 ZZ 0.000000 + 38 O 2 XY 0.000000 + 39 O 2 XZ 0.000000 + 40 O 2 YZ -0.325326 + 41 O 2 S 0.000000 + 42 O 2 X 0.000000 + 43 O 2 Y -0.258584 + 44 O 2 Z 0.000000 + 45 O 2 XX 0.000000 + 46 O 2 YY 0.000000 + 47 O 2 ZZ 0.000000 + 48 O 2 XY 0.000000 + 49 O 2 XZ 0.000000 + 50 O 2 YZ -0.298104 + ...... END OF INITIAL ORBITAL SELECTION ...... + STEP CPU TIME = 0.01 TOTAL CPU TIME = 0.0 ( 0.0 MIN) + TOTAL WALL CLOCK TIME= 0.0 SECONDS, CPU UTILIZATION IS 100.00% + + ---------------------- + AO INTEGRAL TECHNOLOGY + ---------------------- + S,P,L SHELL ROTATED AXIS INTEGRALS, REPROGRAMMED BY + KAZUYA ISHIMURA (IMS) AND JOSE SIERRA (SYNSTAR). + S,P,D,L SHELL ROTATED AXIS INTEGRALS PROGRAMMED BY + KAZUYA ISHIMURA (INSTITUTE FOR MOLECULAR SCIENCE). + S,P,D,F,G SHELL TO TOTAL QUARTET ANGULAR MOMENTUM SUM 5, + ERIC PROGRAM BY GRAHAM FLETCHER (ELORET AND NASA ADVANCED + SUPERCOMPUTING DIVISION, AMES RESEARCH CENTER). + S,P,D,F,G,L SHELL GENERAL RYS QUADRATURE PROGRAMMED BY + MICHEL DUPUIS (PACIFIC NORTHWEST NATIONAL LABORATORY). + + -------------------- + 2 ELECTRON INTEGRALS + -------------------- + + DIRECT SCF METHOD SKIPS INTEGRAL STORAGE ON DISK. + DIRECT TRANSFORMATION SKIPS AO INTEGRAL STORAGE ON DISK. + ...... END OF TWO-ELECTRON INTEGRALS ..... + STEP CPU TIME = 0.01 TOTAL CPU TIME = 0.0 ( 0.0 MIN) + TOTAL WALL CLOCK TIME= 0.1 SECONDS, CPU UTILIZATION IS 80.00% + + ----------------- + MCSCF CALCULATION + ----------------- + + ----- NUCLEAR ENERGY ----- = 28.0504908836 + + ----------------------- ---------------------------- + GUGA DISTINCT ROW TABLE WRITTEN BY B.R.BROOKS,P.SAXE + ----------------------- ---------------------------- + + GROUP=D4H NPRT= 2 + FORS= T INTACT= F + FOCI= F MXNINT= 600000 + SOCI= F MXNEME= 10000 + IEXCIT= 0 + + -CORE- -INTERNAL- -EXTERNAL- + NFZC= 0 NDOC= 5 NEXT= 0 + NMCC= 2 NAOS= 0 NFZV= 0 + NBOS= 0 + NALP= 2 + NVAL= 1 + + THE MAXIMUM ELECTRON EXCITATION WILL BE 4 + + SYMMETRIES FOR THE 2 CORE, 8 ACTIVE, 0 EXTERNAL MO-S ARE + CORE= A2U A1G + ACTIVE= A1G A2U EU EU A1G EG EG A2U + DOC DOC DOC DOC DOC ALP ALP VAL + + MOLECULAR CHARGE = 0 + NUMBER OF ALPHA ELECTRONS = 9 + NUMBER OF BETA ELECTRONS = 7 + + THE ELECTRONIC STATE IS 3-A2G + THE ELECTRONIC STATE IS 3-B2G + + UNABLE TO MAKE AN UNAMBIGUOUS DETERMINATION OF THE + SPATIAL SYMMETRY IN THIS NONABELIAN GROUP. + + THE DISTINCT ROW TABLE HAS 64 ROWS. + THE WAVEFUNCTION CONTAINS 48 WALKS (CSF-S). + + + DETERMINANT CONTRIBUTION TO CSF'S (BETA IS MINUS) + ------------------------------------------------- + CASE VECTOR = 1 + 12244444 + + FOR MS=S-0 + CSF 1: C( 1)= 1.000000 : 5 6 4 -4 7 -7 3 -3 9 -9 8 -8 + CASE VECTOR = 2 + 14444422 + + FOR MS=S-0 + CSF 2: C( 1)= 1.000000 : 5 -5 6 -6 4 -4 7 -7 3 -3 9 8 + CASE VECTOR = 3 + 22234444 + + FOR MS=S-0 + CSF 3: C( 1)=-0.288675 : -10 5 6 4 7 -7 3 -3 9 -9 8 -8 + C( 2)=-0.288675 : 10 -5 6 4 7 -7 3 -3 9 -9 8 -8 + C( 3)=-0.288675 : 10 5 -6 4 7 -7 3 -3 9 -9 8 -8 + C( 4)= 0.866025 : 10 5 6 -4 7 -7 3 -3 9 -9 8 -8 + CASE VECTOR = 4 + 22324444 + + FOR MS=S-0 + CSF 4: C( 1)= 0.408248 : -10 5 6 4 7 -7 3 -3 9 -9 8 -8 + C( 2)= 0.408248 : 10 -5 6 4 7 -7 3 -3 9 -9 8 -8 + C( 3)=-0.816497 : 10 5 -6 4 7 -7 3 -3 9 -9 8 -8 + CASE VECTOR = 5 + 22442443 + + FOR MS=S-0 + CSF 5: C( 1)=-0.288675 : -10 5 6 -6 4 -4 7 3 -3 9 -9 8 + C( 2)=-0.288675 : 10 -5 6 -6 4 -4 7 3 -3 9 -9 8 + C( 3)=-0.288675 : 10 5 6 -6 4 -4 -7 3 -3 9 -9 8 + C( 4)= 0.866025 : 10 5 6 -6 4 -4 7 3 -3 9 -9 -8 + CASE VECTOR = 6 + 22443442 + + FOR MS=S-0 + CSF 6: C( 1)= 0.408248 : -10 5 6 -6 4 -4 7 3 -3 9 -9 8 + C( 2)= 0.408248 : 10 -5 6 -6 4 -4 7 3 -3 9 -9 8 + C( 3)=-0.816497 : 10 5 6 -6 4 -4 -7 3 -3 9 -9 8 + CASE VECTOR = 7 + 22444243 + + FOR MS=S-0 + CSF 7: C( 1)= 0.288675 : -10 5 6 -6 4 -4 7 -7 3 9 -9 8 + C( 2)= 0.288675 : 10 -5 6 -6 4 -4 7 -7 3 9 -9 8 + C( 3)= 0.288675 : 10 5 6 -6 4 -4 7 -7 -3 9 -9 8 + C( 4)=-0.866025 : 10 5 6 -6 4 -4 7 -7 3 9 -9 -8 + CASE VECTOR = 8 + 22444342 + + FOR MS=S-0 + CSF 8: C( 1)=-0.408248 : -10 5 6 -6 4 -4 7 -7 3 9 -9 8 + C( 2)=-0.408248 : 10 -5 6 -6 4 -4 7 -7 3 9 -9 8 + C( 3)= 0.816497 : 10 5 6 -6 4 -4 7 -7 -3 9 -9 8 + CASE VECTOR = 9 + 23224444 + + FOR MS=S-0 + CSF 9: C( 1)=-0.707107 : -10 5 6 4 7 -7 3 -3 9 -9 8 -8 + C( 2)= 0.707107 : 10 -5 6 4 7 -7 3 -3 9 -9 8 -8 + CASE VECTOR = 10 + 23442442 + + FOR MS=S-0 + CSF 10: C( 1)=-0.707107 : -10 5 6 -6 4 -4 7 3 -3 9 -9 8 + C( 2)= 0.707107 : 10 -5 6 -6 4 -4 7 3 -3 9 -9 8 + CASE VECTOR = 11 + 23444242 + + FOR MS=S-0 + CSF 11: C( 1)= 0.707107 : -10 5 6 -6 4 -4 7 -7 3 9 -9 8 + C( 2)=-0.707107 : 10 -5 6 -6 4 -4 7 -7 3 9 -9 8 + CASE VECTOR = 12 + 24242434 + + FOR MS=S-0 + CSF 12: C( 1)=-0.288675 : -10 5 -5 6 4 -4 7 3 -3 9 8 -8 + C( 2)=-0.288675 : 10 5 -5 -6 4 -4 7 3 -3 9 8 -8 + C( 3)=-0.288675 : 10 5 -5 6 4 -4 -7 3 -3 9 8 -8 + C( 4)= 0.866025 : 10 5 -5 6 4 -4 7 3 -3 -9 8 -8 + CASE VECTOR = 13 + 24243424 + + FOR MS=S-0 + CSF 13: C( 1)= 0.408248 : -10 5 -5 6 4 -4 7 3 -3 9 8 -8 + C( 2)= 0.408248 : 10 5 -5 -6 4 -4 7 3 -3 9 8 -8 + C( 3)=-0.816497 : 10 5 -5 6 4 -4 -7 3 -3 9 8 -8 + CASE VECTOR = 14 + 24244234 + + FOR MS=S-0 + CSF 14: C( 1)= 0.288675 : -10 5 -5 6 4 -4 7 -7 3 9 8 -8 + C( 2)= 0.288675 : 10 5 -5 -6 4 -4 7 -7 3 9 8 -8 + C( 3)= 0.288675 : 10 5 -5 6 4 -4 7 -7 -3 9 8 -8 + C( 4)=-0.866025 : 10 5 -5 6 4 -4 7 -7 3 -9 8 -8 + CASE VECTOR = 15 + 24244324 + + FOR MS=S-0 + CSF 15: C( 1)=-0.408248 : -10 5 -5 6 4 -4 7 -7 3 9 8 -8 + C( 2)=-0.408248 : 10 5 -5 -6 4 -4 7 -7 3 9 8 -8 + C( 3)= 0.816497 : 10 5 -5 6 4 -4 7 -7 -3 9 8 -8 + CASE VECTOR = 16 + 24342424 + + FOR MS=S-0 + CSF 16: C( 1)=-0.707107 : -10 5 -5 6 4 -4 7 3 -3 9 8 -8 + C( 2)= 0.707107 : 10 5 -5 -6 4 -4 7 3 -3 9 8 -8 + CASE VECTOR = 17 + 24344224 + + FOR MS=S-0 + CSF 17: C( 1)= 0.707107 : -10 5 -5 6 4 -4 7 -7 3 9 8 -8 + C( 2)=-0.707107 : 10 5 -5 -6 4 -4 7 -7 3 9 8 -8 + CASE VECTOR = 18 + 24424423 + + FOR MS=S-0 + CSF 18: C( 1)=-0.288675 : -10 5 -5 6 -6 4 7 -7 3 -3 9 8 + C( 2)=-0.288675 : 10 5 -5 6 -6 -4 7 -7 3 -3 9 8 + C( 3)=-0.288675 : 10 5 -5 6 -6 4 7 -7 3 -3 -9 8 + C( 4)= 0.866025 : 10 5 -5 6 -6 4 7 -7 3 -3 9 -8 + CASE VECTOR = 19 + 24424432 + + FOR MS=S-0 + CSF 19: C( 1)= 0.408248 : -10 5 -5 6 -6 4 7 -7 3 -3 9 8 + C( 2)= 0.408248 : 10 5 -5 6 -6 -4 7 -7 3 -3 9 8 + C( 3)=-0.816497 : 10 5 -5 6 -6 4 7 -7 3 -3 -9 8 + CASE VECTOR = 20 + 24434422 + + FOR MS=S-0 + CSF 20: C( 1)=-0.707107 : -10 5 -5 6 -6 4 7 -7 3 -3 9 8 + C( 2)= 0.707107 : 10 5 -5 6 -6 -4 7 -7 3 -3 9 8 + CASE VECTOR = 21 + 41444422 + + FOR MS=S-0 + CSF 21: C( 1)= 1.000000 : 10-10 6 -6 4 -4 7 -7 3 -3 9 8 + CASE VECTOR = 22 + 42214444 + + FOR MS=S-0 + CSF 22: C( 1)= 1.000000 : 10-10 5 6 7 -7 3 -3 9 -9 8 -8 + CASE VECTOR = 23 + 42241444 + + FOR MS=S-0 + CSF 23: C( 1)= 1.000000 : 10-10 5 6 4 -4 3 -3 9 -9 8 -8 + CASE VECTOR = 24 + 42242344 + + FOR MS=S-0 + CSF 24: C( 1)=-0.288675 : 10-10 -5 6 4 -4 7 3 9 -9 8 -8 + C( 2)=-0.288675 : 10-10 5 -6 4 -4 7 3 9 -9 8 -8 + C( 3)=-0.288675 : 10-10 5 6 4 -4 -7 3 9 -9 8 -8 + C( 4)= 0.866025 : 10-10 5 6 4 -4 7 -3 9 -9 8 -8 + CASE VECTOR = 25 + 42243244 + + FOR MS=S-0 + CSF 25: C( 1)= 0.408248 : 10-10 -5 6 4 -4 7 3 9 -9 8 -8 + C( 2)= 0.408248 : 10-10 5 -6 4 -4 7 3 9 -9 8 -8 + C( 3)=-0.816497 : 10-10 5 6 4 -4 -7 3 9 -9 8 -8 + CASE VECTOR = 26 + 42244144 + + FOR MS=S-0 + CSF 26: C( 1)= 1.000000 : 10-10 5 6 4 -4 7 -7 9 -9 8 -8 + CASE VECTOR = 27 + 42244414 + + FOR MS=S-0 + CSF 27: C( 1)= 1.000000 : 10-10 5 6 4 -4 7 -7 3 -3 8 -8 + CASE VECTOR = 28 + 42244441 + + FOR MS=S-0 + CSF 28: C( 1)= 1.000000 : 10-10 5 6 4 -4 7 -7 3 -3 9 -9 + CASE VECTOR = 29 + 42342244 + + FOR MS=S-0 + CSF 29: C( 1)=-0.707107 : 10-10 -5 6 4 -4 7 3 9 -9 8 -8 + C( 2)= 0.707107 : 10-10 5 -6 4 -4 7 3 9 -9 8 -8 + CASE VECTOR = 30 + 42422443 + + FOR MS=S-0 + CSF 30: C( 1)= 0.288675 : 10-10 -5 6 -6 4 7 3 -3 9 -9 8 + C( 2)= 0.288675 : 10-10 5 6 -6 -4 7 3 -3 9 -9 8 + C( 3)= 0.288675 : 10-10 5 6 -6 4 -7 3 -3 9 -9 8 + C( 4)=-0.866025 : 10-10 5 6 -6 4 7 3 -3 9 -9 -8 + CASE VECTOR = 31 + 42423442 + + FOR MS=S-0 + CSF 31: C( 1)=-0.408248 : 10-10 -5 6 -6 4 7 3 -3 9 -9 8 + C( 2)=-0.408248 : 10-10 5 6 -6 -4 7 3 -3 9 -9 8 + C( 3)= 0.816497 : 10-10 5 6 -6 4 -7 3 -3 9 -9 8 + CASE VECTOR = 32 + 42424243 + + FOR MS=S-0 + CSF 32: C( 1)=-0.288675 : 10-10 -5 6 -6 4 7 -7 3 9 -9 8 + C( 2)=-0.288675 : 10-10 5 6 -6 -4 7 -7 3 9 -9 8 + C( 3)=-0.288675 : 10-10 5 6 -6 4 7 -7 -3 9 -9 8 + C( 4)= 0.866025 : 10-10 5 6 -6 4 7 -7 3 9 -9 -8 + CASE VECTOR = 33 + 42424342 + + FOR MS=S-0 + CSF 33: C( 1)= 0.408248 : 10-10 -5 6 -6 4 7 -7 3 9 -9 8 + C( 2)= 0.408248 : 10-10 5 6 -6 -4 7 -7 3 9 -9 8 + C( 3)=-0.816497 : 10-10 5 6 -6 4 7 -7 -3 9 -9 8 + CASE VECTOR = 34 + 42432442 + + FOR MS=S-0 + CSF 34: C( 1)= 0.707107 : 10-10 -5 6 -6 4 7 3 -3 9 -9 8 + C( 2)=-0.707107 : 10-10 5 6 -6 -4 7 3 -3 9 -9 8 + CASE VECTOR = 35 + 42434242 + + FOR MS=S-0 + CSF 35: C( 1)=-0.707107 : 10-10 -5 6 -6 4 7 -7 3 9 -9 8 + C( 2)= 0.707107 : 10-10 5 6 -6 -4 7 -7 3 9 -9 8 + CASE VECTOR = 36 + 44144422 + + FOR MS=S-0 + CSF 36: C( 1)= 1.000000 : 10-10 5 -5 4 -4 7 -7 3 -3 9 8 + CASE VECTOR = 37 + 44222434 + + FOR MS=S-0 + CSF 37: C( 1)= 0.288675 : 10-10 5 -5 -6 4 7 3 -3 9 8 -8 + C( 2)= 0.288675 : 10-10 5 -5 6 -4 7 3 -3 9 8 -8 + C( 3)= 0.288675 : 10-10 5 -5 6 4 -7 3 -3 9 8 -8 + C( 4)=-0.866025 : 10-10 5 -5 6 4 7 3 -3 -9 8 -8 + CASE VECTOR = 38 + 44223424 + + FOR MS=S-0 + CSF 38: C( 1)=-0.408248 : 10-10 5 -5 -6 4 7 3 -3 9 8 -8 + C( 2)=-0.408248 : 10-10 5 -5 6 -4 7 3 -3 9 8 -8 + C( 3)= 0.816497 : 10-10 5 -5 6 4 -7 3 -3 9 8 -8 + CASE VECTOR = 39 + 44224234 + + FOR MS=S-0 + CSF 39: C( 1)=-0.288675 : 10-10 5 -5 -6 4 7 -7 3 9 8 -8 + C( 2)=-0.288675 : 10-10 5 -5 6 -4 7 -7 3 9 8 -8 + C( 3)=-0.288675 : 10-10 5 -5 6 4 7 -7 -3 9 8 -8 + C( 4)= 0.866025 : 10-10 5 -5 6 4 7 -7 3 -9 8 -8 + CASE VECTOR = 40 + 44224324 + + FOR MS=S-0 + CSF 40: C( 1)= 0.408248 : 10-10 5 -5 -6 4 7 -7 3 9 8 -8 + C( 2)= 0.408248 : 10-10 5 -5 6 -4 7 -7 3 9 8 -8 + C( 3)=-0.816497 : 10-10 5 -5 6 4 7 -7 -3 9 8 -8 + CASE VECTOR = 41 + 44232424 + + FOR MS=S-0 + CSF 41: C( 1)= 0.707107 : 10-10 5 -5 -6 4 7 3 -3 9 8 -8 + C( 2)=-0.707107 : 10-10 5 -5 6 -4 7 3 -3 9 8 -8 + CASE VECTOR = 42 + 44234224 + + FOR MS=S-0 + CSF 42: C( 1)=-0.707107 : 10-10 5 -5 -6 4 7 -7 3 9 8 -8 + C( 2)= 0.707107 : 10-10 5 -5 6 -4 7 -7 3 9 8 -8 + CASE VECTOR = 43 + 44414422 + + FOR MS=S-0 + CSF 43: C( 1)= 1.000000 : 10-10 5 -5 6 -6 7 -7 3 -3 9 8 + CASE VECTOR = 44 + 44441422 + + FOR MS=S-0 + CSF 44: C( 1)= 1.000000 : 10-10 5 -5 6 -6 4 -4 3 -3 9 8 + CASE VECTOR = 45 + 44442223 + + FOR MS=S-0 + CSF 45: C( 1)=-0.288675 : 10-10 5 -5 6 -6 4 -4 -7 3 9 8 + C( 2)=-0.288675 : 10-10 5 -5 6 -6 4 -4 7 -3 9 8 + C( 3)=-0.288675 : 10-10 5 -5 6 -6 4 -4 7 3 -9 8 + C( 4)= 0.866025 : 10-10 5 -5 6 -6 4 -4 7 3 9 -8 + CASE VECTOR = 46 + 44442232 + + FOR MS=S-0 + CSF 46: C( 1)= 0.408248 : 10-10 5 -5 6 -6 4 -4 -7 3 9 8 + C( 2)= 0.408248 : 10-10 5 -5 6 -6 4 -4 7 -3 9 8 + C( 3)=-0.816497 : 10-10 5 -5 6 -6 4 -4 7 3 -9 8 + CASE VECTOR = 47 + 44442322 + + FOR MS=S-0 + CSF 47: C( 1)=-0.707107 : 10-10 5 -5 6 -6 4 -4 -7 3 9 8 + C( 2)= 0.707107 : 10-10 5 -5 6 -6 4 -4 7 -3 9 8 + CASE VECTOR = 48 + 44444122 + + FOR MS=S-0 + CSF 48: C( 1)= 1.000000 : 10-10 5 -5 6 -6 4 -4 7 -7 9 8 + + TOTAL NUMBER OF INTEGRALS = 140 + NUMBER OF INTEGRALS/GROUP = 140 + NUMBER OF INTEGRAL GROUPS = 1 + MAXIMUM RECORD SIZES ARE 500 FOR UNIT 11 48 FOR UNIT 12 + 30001 FOR UNIT 15 30001 FOR UNIT 16 + ...... END OF -DRT- GENERATION ...... + STEP CPU TIME = 9.36 TOTAL CPU TIME = 9.4 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.4 SECONDS, CPU UTILIZATION IS 99.79% + + EVALUATING EXCHANGE INTEGRALS FOR DIRECT INTEGRAL TRANSFORMATION + SCHWARZ INEQUALITY OVERHEAD: 1275 INTEGRALS, T= 0.00 + + -------------------------------------------- + PARTIAL TWO ELECTRON INTEGRAL TRANSFORMATION + -------------------------------------------- + + NUMBER OF CORE MOLECULAR ORBITALS = 2 + NUMBER OF OCCUPIED MOLECULAR ORBITALS = 10 + TOTAL NUMBER OF MOLECULAR ORBITALS = 46 + TOTAL NUMBER OF ATOMIC ORBITALS = 50 + THRESHOLD FOR KEEPING TRANSFORMED 2E- INTEGRALS = 1.000E-09 + AO INTEGRALS WILL BE CALCULATED IN DIRECT MODE... + + PLAN A: REQUIREMENTS FOR FULLY IN-MEMORY TRANSFORMATION: + # OF WORDS AVAILABLE = 2757400000 + # OF WORDS NEEDED = 755840 + + CHOOSING IN MEMORY PARTIAL TRANSFORMATION... + DIRECT TRANSFORMATION SKIPS AO INTEGRAL STORAGE ON DISK. + TOTAL NUMBER OF TRANSFORMED 2E- INTEGRALS KEPT = 15580 + ----- FROZEN CORE ENERGY = -130.3920236175 + ... END OF INTEGRAL TRANSFORMATION ... + STEP CPU TIME = 0.13 TOTAL CPU TIME = 9.5 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.6 SECONDS, CPU UTILIZATION IS 99.79% + + ------------------------ + GUGA-CI INTEGRAL SORTING + ------------------------ + + 630273 WORDS NEEDED TO SORT 140 GUGA INTEGRALS IN MEMORY +2757400000 WORDS ARE AVAILABLE + CHOOSING IN-MEMORY SORTING... + IN CORE ALGORITHM SORTED 10 NON-ZERO 1E- INTEGRALS + IN CORE ALGORITHM SORTED 122 NON-ZERO 2E- INTEGRALS + ...... END OF INTEGRAL SORTING ...... + STEP CPU TIME = 0.00 TOTAL CPU TIME = 9.5 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.6 SECONDS, CPU UTILIZATION IS 99.79% + + ------------------------- --------------------------------------- + ENERGY MATRIX CALCULATION WRITTEN BY B.R.BROOKS,W.D.LAIDIG,P.SAXE + ------------------------- --------------------------------------- + + COMPUTING THE HAMILTONIAN FOR THE 48 CSF-S... + + 1851 IS THE TOTAL NUMBER OF GENERATED LOOPS + 1851 WERE CREATED BY THE LOOP-DRIVEN ALGORITHM + 0 WERE CREATED IMPLICITLY + + 1848 IS THE TOTAL NUMBER OF PROCESSED LOOPS + 954 DIAGONAL LOOPS ARE STORED ON WORK15 IN 1 BUFFERS OF 10000 ELEMENTS. + 894 OFF DIAGONAL LOOPS ARE STORED ON WORK16 IN 1 BUFFERS OF 10000 ELEMENTS. + ...... END OF ENERGY MATRIX CALCULATION ...... + STEP CPU TIME = 0.00 TOTAL CPU TIME = 9.5 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.6 SECONDS, CPU UTILIZATION IS 99.69% + + ----------------------------------------- + DAVIDSON METHOD CI-MATRIX DIAGONALIZATION + WRITTEN BY STEVE ELBERT + ----------------------------------------- + NUMBER OF STATES REQUESTED = 1 + MAX. NUMB. OF EXPAN. VEC = 30 + MAX. NUMB. IMPROVED STATES = 1 + MAX. NUMB. OF ITERATIONS = 500 + CONVERGENCE CRITERION = 1.0E-05 + + CHOOSING TO SOLVE SECULAR EQUATION IN MEMORY + NUMBER OF WORDS AVAILABLE = 2757400000 + NUMBER OF WORDS USED = 32826 + ENERGY MATRIX BUFFER SIZE = 10000 + SOLUTION FOUND WITH DIRECT METHOD + + STATE # 1 ENERGY = -149.724354222 + + CSF COEF OCCUPANCY (IGNORING CORE) + --- ---- --------- --------- ----- + 1 -0.153748 22112220 + 2 0.969927 22222110 + 4 0.003504 21112221 + 5 0.004565 22121121 + 6 -0.102676 22121121 + 7 0.004483 12122121 + 8 0.002229 12122121 + 9 -0.006070 21112221 + 10 0.038423 22121121 + 11 -0.011569 12122121 + 12 -0.004565 22211211 + 13 0.102676 22211211 + 14 -0.004483 12212211 + 15 -0.002229 12212211 + 16 -0.038423 22211211 + 17 0.011569 12212211 + 18 0.023948 21222111 + 19 -0.033868 21222111 + 20 -0.001719 21222111 + 21 -0.016377 22022112 + 22 0.002128 20112222 + 23 0.035935 22110222 + 24 0.000545 12111222 + 25 -0.000115 12111222 + 26 0.001380 02112222 + 27 -0.000206 22112202 + 28 -0.000206 22112022 + 30 0.001876 21121122 + 31 0.006754 21121122 + 32 -0.000329 11122122 + 33 -0.004426 11122122 + 34 -0.000135 21121122 + 35 -0.002525 11122122 + 36 -0.016377 22202112 + 37 -0.001876 21211212 + 38 -0.006754 21211212 + 39 0.000329 11212212 + 40 0.004426 11212212 + 41 0.000135 21211212 + 42 0.002525 11212212 + 43 -0.022549 20222112 + 44 -0.081291 22220112 + 45 -0.002421 12221112 + 46 0.003424 12221112 + 47 -0.009914 12221112 + 48 -0.014718 02222112 + ...... END OF CI-MATRIX DIAGONALIZATION ...... + STEP CPU TIME = 0.00 TOTAL CPU TIME = 9.5 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.6 SECONDS, CPU UTILIZATION IS 99.69% + + ------------------------------------- + 2-PARTICLE DENSITY MATRIX CALCULATION + ------------------------------------- + 2 BODY DENSITY IS AN AVERAGE OF 1 STATE(S). + STATE WEIGHT ENERGY + 1 1.000000 -149.7243542217 + 1851 -DM2- LOOPS WERE GENERATED + 1851 WERE CREATED BY THE LOOP-DRIVEN ALGORITHM + 0 WERE CREATED IMPLICITLY + 1 RECORDS OF LENGTH600000 WRITTEN TO FILE 15 + ...... END OF 2-PARTICLE DENSITY MATRIX CALCULATION ...... + STEP CPU TIME = 0.01 TOTAL CPU TIME = 9.5 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.6 SECONDS, CPU UTILIZATION IS 99.79% + + ---------------------------------- + 2-PARTICLE DENSITY MATRIX LABELING + ---------------------------------- + 646643 WORDS NEEDED TO LABEL DM2 MATRIX + 1 RECORDS OF LENGTH600000 READ FROM FILE 15 + 1 RECORDS OF LENGTH 15000 WRITTEN TO FILE 16 + ...... END OF 2-PARTICLE DENSITY MATRIX LABELING ...... + STEP CPU TIME = 0.00 TOTAL CPU TIME = 9.5 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.6 SECONDS, CPU UTILIZATION IS 99.79% + + -------------- + -DM2- ORDERING + -------------- + 30703 WORDS NEEDED (2757400000 AVAILABLE) TO ORDER DM2 IN MEMORY + CHOOSING IN MEMORY ORDERING... + 1 RECORDS OF LENGTH 15000 READ FROM FILE 16 + 122 DM2 VALUES IN 1 RECORDS OF LENGTH 15000 WRITTEN TO FILE 15 + ...... END OF -DM2- ORDERING ...... + STEP CPU TIME = 0.00 TOTAL CPU TIME = 9.5 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.6 SECONDS, CPU UTILIZATION IS 99.79% + + -------------------------------- ----------------------------- + MCHF NEWTON-RAPHSON OPTIMIZATION CODE WRITTEN BY MICHEL DUPUIS + -------------------------------- ----------------------------- + FORMING FOCK OPERATOR OVER ACTIVE ORBITAL DENSITY, MEMORY= 86207 + STEP CPU TIME = 0.05 TOTAL CPU TIME = 9.6 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.6 SECONDS, CPU UTILIZATION IS 99.79% + MEMORY DEMAND FOR 2 ELECTRON NTN-RPH CONTRIBUTIONS + METHOD=DM2 NEEDS 100105 WORDS + METHOD=TEI NEEDS 36629 WORDS + TOTAL AVAILABLE MEMORY IS2757400000 WORDS + CHOOSING DM2 DRIVEN METHOD... + FORMING -LGR- + -COU- + -EXC- FROM (IJ//KL) INTEGRALS + STEP CPU TIME = 0.00 TOTAL CPU TIME = 9.6 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.6 SECONDS, CPU UTILIZATION IS 99.79% + FORMING -LGR- + -COU- + -EXC- FROM (AJ//KL) INTEGRALS + STEP CPU TIME = 0.01 TOTAL CPU TIME = 9.6 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.6 SECONDS, CPU UTILIZATION IS 99.90% + FORMING -COU- FROM (AB//KL) INTEGRALS + STEP CPU TIME = 0.00 TOTAL CPU TIME = 9.6 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.6 SECONDS, CPU UTILIZATION IS 99.90% + FORMING -EXC- FROM (AJ//BL) INTEGRALS + ..... DONE WITH 2 ELECTRON CONTRIBUTIONS ..... + STEP CPU TIME = 0.00 TOTAL CPU TIME = 9.6 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.6 SECONDS, CPU UTILIZATION IS 99.90% + ..... DONE WITH 1 ELECTRON CONTRIBUTIONS ..... + STEP CPU TIME = 0.00 TOTAL CPU TIME = 9.6 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.6 SECONDS, CPU UTILIZATION IS 99.90% + NUMBER OF INDEPENDENT ORBITAL ROTATION PARAMETERS = 54 + ..... DONE SOLVING NEWTON-RAPHSON EQUATIONS ..... + STEP CPU TIME = 0.00 TOTAL CPU TIME = 9.6 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.6 SECONDS, CPU UTILIZATION IS 99.90% + ..... DONE WITH NTN-RPH ORBITAL ROTATIONS ..... + STEP CPU TIME = 0.00 TOTAL CPU TIME = 9.6 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.6 SECONDS, CPU UTILIZATION IS 99.90% + MAXIMUM MEMORY USED BY NTN-RPH CODE WAS 100105 WORDS. + + ITER TOTAL ENERGY DEL(E) LAGRANGIAN ASYMMETRY SQCDF MICIT DAMP + 1 -149.724354222 -0.724354222 0.000002 10 1 0.000E+00 1 0.0000 + 2 -149.724354222 0.000000000 0.000002 10 1 0.000E+00 1 0.0000 + + -------------------- + LAGRANGIAN CONVERGED + -------------------- + + FINAL MCSCF ENERGY IS -149.7243542217 AFTER 2 ITERATIONS + + -MCCI- BASED ON OPTIMIZED ORBITALS + ---------------------------------- + + PLEASE NOTE: IF THE ACTIVE ORBITALS ARE CANONICALIZED BELOW, + THE FOLLOWING CI EXPANSION COEFFICIENTS AND THE DENSITY DO NOT + CORRESPOND TO THE PRINTED ORBITALS. THE PRINTED EXPANSIONS MATCH + THE ORBITALS USED DURING THE LAST ITERATION. IF YOU WISH TO SEE + CI EXPANSIONS BASED ON THE CANONICAL (OR NATURAL) ORBITALS, YOU + MUST RUN A CI CALCULATION WITH THAT ORBITAL CHOICE READ IN $VEC. + + STATE # 1 ENERGY = -149.724354222 + + CSF COEF OCCUPANCY (IGNORING CORE) + --- ---- --------- --------- ----- + 1 -0.153748 22112220 + 2 0.969927 22222110 + 6 -0.102676 22121121 + 13 0.102676 22211211 + 44 -0.081291 22220112 + + DENSITY MATRIX OVER ACTIVE MO-S + + 1 2 3 4 5 + + 1 1.9990768 + 2 0.0000000 1.9970510 + 3 0.0000000 0.0000000 1.9622042 + 4 0.0000000 0.0000000 0.0000000 1.9622042 + 5 0.0000000 0.0000000 0.0000000 0.0000000 1.9599073 + 6 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 + 7 0.0000000 0.0000000 0.0000000 0.0000000 0.0000000 + 8 0.0000000 -0.0000000 0.0000000 0.0000000 0.0000000 + + 6 7 8 + + 6 1.0372593 + 7 0.0000000 1.0372593 + 8 0.0000000 0.0000000 0.0450379 + + FORMING THE "STANDARD FOCK OPERATOR" IN DIRECT AO INTEGRAL MODE... + 2 FILLED, 8 ACTIVE, AND 36 VIRTUAL ORBITALS WILL BE CANONICALIZED + + ---------------------- + MCSCF NATURAL ORBITALS + ---------------------- + + 1 2 3 4 5 + -20.6920 -20.6590 1.9991 1.9971 1.9622 + A2U A1G A1G A2U EU + 1 O 1 S 0.708324 0.707265 0.032601 0.019302 0.000000 + 2 O 1 S -0.007561 -0.016087 0.346026 0.354559 0.000000 + 3 O 1 S -0.029276 -0.019525 0.339756 0.539802 0.000000 + 4 O 1 X -0.000000 -0.000000 0.000000 0.000000 0.450278 + 5 O 1 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 6 O 1 Z 0.004673 0.004839 -0.045787 -0.134452 0.000000 + 7 O 1 X -0.000000 -0.000000 0.000000 0.000000 0.267105 + 8 O 1 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 9 O 1 Z -0.009591 0.002300 -0.054573 0.025908 0.000000 + 10 O 1 XX -0.000357 0.000239 -0.005190 0.004822 0.000000 + 11 O 1 YY -0.000357 0.000239 -0.005190 0.004822 0.000000 + 12 O 1 ZZ 0.000714 -0.000477 0.010380 -0.009644 0.000000 + 13 O 1 XY -0.000000 -0.000000 0.000000 0.000000 0.000000 + 14 O 1 XZ -0.000000 -0.000000 0.000000 0.000000 0.026719 + 15 O 1 YZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 16 O 1 S -0.008434 -0.000571 0.016470 0.118896 0.000000 + 17 O 1 X -0.000000 -0.000000 0.000000 0.000000 0.012215 + 18 O 1 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 19 O 1 Z -0.001643 0.000456 -0.006533 0.019870 0.000000 + 20 O 1 XX 0.001571 0.000498 -0.001158 -0.010408 0.000000 + 21 O 1 YY 0.001571 0.000498 -0.001158 -0.010408 0.000000 + 22 O 1 ZZ -0.003141 -0.000995 0.002316 0.020816 0.000000 + 23 O 1 XY -0.000000 -0.000000 0.000000 0.000000 0.000000 + 24 O 1 XZ -0.000000 -0.000000 0.000000 0.000000 0.015154 + 25 O 1 YZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 26 O 2 S -0.708324 0.707265 0.032601 -0.019302 0.000000 + 27 O 2 S 0.007561 -0.016087 0.346026 -0.354559 0.000000 + 28 O 2 S 0.029276 -0.019525 0.339756 -0.539802 0.000000 + 29 O 2 X -0.000000 -0.000000 0.000000 0.000000 0.450278 + 30 O 2 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 31 O 2 Z 0.004673 -0.004839 0.045787 -0.134452 0.000000 + 32 O 2 X -0.000000 -0.000000 0.000000 0.000000 0.267105 + 33 O 2 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 34 O 2 Z -0.009591 -0.002300 0.054573 0.025908 0.000000 + 35 O 2 XX 0.000357 0.000239 -0.005190 -0.004822 0.000000 + 36 O 2 YY 0.000357 0.000239 -0.005190 -0.004822 0.000000 + 37 O 2 ZZ -0.000714 -0.000477 0.010380 0.009644 0.000000 + 38 O 2 XY -0.000000 -0.000000 0.000000 0.000000 0.000000 + 39 O 2 XZ -0.000000 -0.000000 0.000000 0.000000 -0.026719 + 40 O 2 YZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 41 O 2 S 0.008434 -0.000571 0.016470 -0.118896 0.000000 + 42 O 2 X -0.000000 -0.000000 0.000000 0.000000 0.012215 + 43 O 2 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 44 O 2 Z -0.001643 -0.000456 0.006533 0.019870 0.000000 + 45 O 2 XX -0.001571 0.000498 -0.001158 0.010408 0.000000 + 46 O 2 YY -0.001571 0.000498 -0.001158 0.010408 0.000000 + 47 O 2 ZZ 0.003141 -0.000995 0.002316 -0.020816 0.000000 + 48 O 2 XY -0.000000 -0.000000 0.000000 0.000000 0.000000 + 49 O 2 XZ -0.000000 -0.000000 0.000000 0.000000 -0.015154 + 50 O 2 YZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + + 6 7 8 9 10 + 1.9622 1.9599 1.0373 1.0373 0.0450 + EU A1G EG EG A2U + 1 O 1 S 0.000000 -0.000977 0.000000 -0.000000 0.036758 + 2 O 1 S 0.000000 0.036274 0.000000 -0.000000 0.247488 + 3 O 1 S 0.000000 -0.103046 0.000000 -0.000000 0.378732 + 4 O 1 X 0.000000 0.000000 0.000000 0.537801 0.000000 + 5 O 1 Y 0.450278 0.000000 0.537801 -0.000000 0.000000 + 6 O 1 Z 0.000000 0.487804 0.000000 -0.000000 0.721421 + 7 O 1 X 0.000000 0.000000 0.000000 0.391495 0.000000 + 8 O 1 Y 0.267105 0.000000 0.391495 -0.000000 0.000000 + 9 O 1 Z 0.000000 0.236119 0.000000 -0.000000 0.319259 + 10 O 1 XX 0.000000 -0.015775 0.000000 -0.000000 0.005605 + 11 O 1 YY 0.000000 -0.015775 0.000000 -0.000000 0.005605 + 12 O 1 ZZ 0.000000 0.031551 0.000000 -0.000000 -0.011210 + 13 O 1 XY 0.000000 0.000000 0.000000 -0.000000 0.000000 + 14 O 1 XZ 0.000000 0.000000 0.000000 -0.005587 0.000000 + 15 O 1 YZ 0.026719 0.000000 -0.005587 -0.000000 0.000000 + 16 O 1 S 0.000000 -0.033621 0.000000 -0.000000 0.174666 + 17 O 1 X 0.000000 0.000000 0.000000 0.045273 0.000000 + 18 O 1 Y 0.012215 0.000000 0.045273 -0.000000 0.000000 + 19 O 1 Z 0.000000 -0.001872 0.000000 -0.000000 0.035620 + 20 O 1 XX 0.000000 -0.012476 0.000000 -0.000000 -0.001038 + 21 O 1 YY 0.000000 -0.012476 0.000000 -0.000000 -0.001038 + 22 O 1 ZZ 0.000000 0.024952 0.000000 -0.000000 0.002077 + 23 O 1 XY 0.000000 0.000000 0.000000 -0.000000 0.000000 + 24 O 1 XZ 0.000000 0.000000 0.000000 0.012132 0.000000 + 25 O 1 YZ 0.015154 0.000000 0.012132 -0.000000 0.000000 + 26 O 2 S 0.000000 -0.000977 0.000000 -0.000000 -0.036758 + 27 O 2 S 0.000000 0.036274 0.000000 -0.000000 -0.247488 + 28 O 2 S 0.000000 -0.103046 0.000000 -0.000000 -0.378732 + 29 O 2 X 0.000000 0.000000 0.000000 -0.537801 0.000000 + 30 O 2 Y 0.450278 0.000000 -0.537801 -0.000000 0.000000 + 31 O 2 Z 0.000000 -0.487804 0.000000 -0.000000 0.721421 + 32 O 2 X 0.000000 0.000000 0.000000 -0.391495 0.000000 + 33 O 2 Y 0.267105 0.000000 -0.391495 -0.000000 0.000000 + 34 O 2 Z 0.000000 -0.236119 0.000000 -0.000000 0.319259 + 35 O 2 XX 0.000000 -0.015775 0.000000 -0.000000 -0.005605 + 36 O 2 YY 0.000000 -0.015775 0.000000 -0.000000 -0.005605 + 37 O 2 ZZ 0.000000 0.031551 0.000000 -0.000000 0.011210 + 38 O 2 XY 0.000000 0.000000 0.000000 -0.000000 0.000000 + 39 O 2 XZ 0.000000 0.000000 0.000000 -0.005587 0.000000 + 40 O 2 YZ -0.026719 0.000000 -0.005587 -0.000000 0.000000 + 41 O 2 S 0.000000 -0.033621 0.000000 -0.000000 -0.174666 + 42 O 2 X 0.000000 0.000000 0.000000 -0.045273 0.000000 + 43 O 2 Y 0.012215 0.000000 -0.045273 -0.000000 0.000000 + 44 O 2 Z 0.000000 0.001872 0.000000 -0.000000 0.035620 + 45 O 2 XX 0.000000 -0.012476 0.000000 -0.000000 0.001038 + 46 O 2 YY 0.000000 -0.012476 0.000000 -0.000000 0.001038 + 47 O 2 ZZ 0.000000 0.024952 0.000000 -0.000000 -0.002077 + 48 O 2 XY 0.000000 0.000000 0.000000 -0.000000 0.000000 + 49 O 2 XZ 0.000000 0.000000 0.000000 0.012132 0.000000 + 50 O 2 YZ -0.015154 0.000000 0.012132 -0.000000 0.000000 + + LZ VALUE ANALYSIS FOR THE MOS + ---------------------------------------- + MO 1 ( 1) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 2 ( 2) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 3 ( 3) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 4 ( 4) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 5 ( 5) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 6 ( 6) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 7 ( 6) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 8 ( 7) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 9 ( 7) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 10 ( 8) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 11 ( 9) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 12 ( 10) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 13 ( 11) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 14 ( 11) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 15 ( 12) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 16 ( 12) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 17 ( 13) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 18 ( 14) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 19 ( 15) HAS LZ(WEIGHT)=-2.00( 50.0%) 2.00( 50.0%) + MO 20 ( 15) HAS LZ(WEIGHT)=-2.00( 50.0%) 2.00( 50.0%) + MO 21 ( 16) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 22 ( 17) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 23 ( 17) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 24 ( 18) HAS LZ(WEIGHT)=-2.00( 50.0%) 2.00( 50.0%) + MO 25 ( 18) HAS LZ(WEIGHT)=-2.00( 50.0%) 2.00( 50.0%) + MO 26 ( 19) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 27 ( 20) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 28 ( 20) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 29 ( 21) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 30 ( 22) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 31 ( 22) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 32 ( 23) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 33 ( 24) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 34 ( 24) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 35 ( 25) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 36 ( 26) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 37 ( 26) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 38 ( 27) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 39 ( 28) HAS LZ(WEIGHT)=-2.00( 50.0%) 2.00( 50.0%) + MO 40 ( 28) HAS LZ(WEIGHT)=-2.00( 50.0%) 2.00( 50.0%) + MO 41 ( 29) HAS LZ(WEIGHT)=-2.00( 50.0%) 2.00( 50.0%) + MO 42 ( 29) HAS LZ(WEIGHT)=-2.00( 50.0%) 2.00( 50.0%) + MO 43 ( 30) HAS LZ(WEIGHT)= 0.00(100.0%) + MO 44 ( 31) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 45 ( 31) HAS LZ(WEIGHT)=-1.00( 50.0%) 1.00( 50.0%) + MO 46 ( 32) HAS LZ(WEIGHT)= 0.00(100.0%) + + ------------------------ + MCSCF OPTIMIZED ORBITALS + ------------------------ + + 1 2 3 4 5 + -20.6920 -20.6590 -1.6816 -1.1071 -0.7280 + A2U A1G A1G A2U A1G + 1 O 1 S 0.708324 0.707265 0.029708 0.019127 -0.013462 + 2 O 1 S -0.007561 -0.016087 0.333290 0.353381 -0.099839 + 3 O 1 S -0.029276 -0.019525 0.273828 0.537999 -0.225988 + 4 O 1 X -0.000000 -0.000000 0.000000 0.000000 0.000000 + 5 O 1 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 6 O 1 Z 0.004673 0.004839 0.145683 -0.137873 0.467788 + 7 O 1 X -0.000000 -0.000000 0.000000 0.000000 0.000000 + 8 O 1 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 9 O 1 Z -0.009591 0.002300 0.040609 0.024392 0.238917 + 10 O 1 XX -0.000357 0.000239 -0.010867 0.004795 -0.012558 + 11 O 1 YY -0.000357 0.000239 -0.010867 0.004795 -0.012558 + 12 O 1 ZZ 0.000714 -0.000477 0.021735 -0.009590 0.025116 + 13 O 1 XY -0.000000 -0.000000 0.000000 0.000000 0.000000 + 14 O 1 XZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 15 O 1 YZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 16 O 1 S -0.008434 -0.000571 0.002245 0.118066 -0.037371 + 17 O 1 X -0.000000 -0.000000 0.000000 0.000000 0.000000 + 18 O 1 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 19 O 1 Z -0.001643 0.000456 -0.006749 0.019701 0.000789 + 20 O 1 XX 0.001571 0.000498 -0.005875 -0.010403 -0.011067 + 21 O 1 YY 0.001571 0.000498 -0.005875 -0.010403 -0.011067 + 22 O 1 ZZ -0.003141 -0.000995 0.011750 0.020805 0.022134 + 23 O 1 XY -0.000000 -0.000000 0.000000 0.000000 0.000000 + 24 O 1 XZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 25 O 1 YZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 26 O 2 S -0.708324 0.707265 0.029708 -0.019127 -0.013462 + 27 O 2 S 0.007561 -0.016087 0.333290 -0.353381 -0.099839 + 28 O 2 S 0.029276 -0.019525 0.273828 -0.537999 -0.225988 + 29 O 2 X -0.000000 -0.000000 0.000000 0.000000 0.000000 + 30 O 2 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 31 O 2 Z 0.004673 -0.004839 -0.145683 -0.137873 -0.467788 + 32 O 2 X -0.000000 -0.000000 0.000000 0.000000 0.000000 + 33 O 2 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 34 O 2 Z -0.009591 -0.002300 -0.040609 0.024392 -0.238917 + 35 O 2 XX 0.000357 0.000239 -0.010867 -0.004795 -0.012558 + 36 O 2 YY 0.000357 0.000239 -0.010867 -0.004795 -0.012558 + 37 O 2 ZZ -0.000714 -0.000477 0.021735 0.009590 0.025116 + 38 O 2 XY -0.000000 -0.000000 0.000000 0.000000 0.000000 + 39 O 2 XZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 40 O 2 YZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 41 O 2 S 0.008434 -0.000571 0.002245 -0.118066 -0.037371 + 42 O 2 X -0.000000 -0.000000 0.000000 0.000000 0.000000 + 43 O 2 Y -0.000000 -0.000000 0.000000 0.000000 0.000000 + 44 O 2 Z -0.001643 -0.000456 0.006749 0.019701 -0.000789 + 45 O 2 XX -0.001571 0.000498 -0.005875 0.010403 -0.011067 + 46 O 2 YY -0.001571 0.000498 -0.005875 0.010403 -0.011067 + 47 O 2 ZZ 0.003141 -0.000995 0.011750 -0.020805 0.022134 + 48 O 2 XY -0.000000 -0.000000 0.000000 0.000000 0.000000 + 49 O 2 XZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + 50 O 2 YZ -0.000000 -0.000000 0.000000 0.000000 0.000000 + + 6 7 8 9 10 + -0.6904 -0.6904 -0.2096 -0.2096 0.6300 + EU EU EG EG A2U + 1 O 1 S 0.000000 0.000000 0.000000 -0.000000 0.036850 + 2 O 1 S 0.000000 0.000000 0.000000 -0.000000 0.249168 + 3 O 1 S 0.000000 0.000000 0.000000 -0.000000 0.381289 + 4 O 1 X 0.000000 0.450278 0.000000 0.537801 -0.000000 + 5 O 1 Y 0.450278 0.000000 0.537801 -0.000000 -0.000000 + 6 O 1 Z 0.000000 0.000000 0.000000 -0.000000 0.720775 + 7 O 1 X 0.000000 0.267105 0.000000 0.391495 -0.000000 + 8 O 1 Y 0.267105 0.000000 0.391495 -0.000000 -0.000000 + 9 O 1 Z 0.000000 0.000000 0.000000 -0.000000 0.319378 + 10 O 1 XX 0.000000 0.000000 0.000000 -0.000000 0.005628 + 11 O 1 YY 0.000000 0.000000 0.000000 -0.000000 0.005628 + 12 O 1 ZZ 0.000000 0.000000 0.000000 -0.000000 -0.011256 + 13 O 1 XY 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 14 O 1 XZ 0.000000 0.026719 0.000000 -0.005587 -0.000000 + 15 O 1 YZ 0.026719 0.000000 -0.005587 -0.000000 -0.000000 + 16 O 1 S 0.000000 0.000000 0.000000 -0.000000 0.175228 + 17 O 1 X 0.000000 0.012215 0.000000 0.045273 -0.000000 + 18 O 1 Y 0.012215 0.000000 0.045273 -0.000000 -0.000000 + 19 O 1 Z 0.000000 0.000000 0.000000 -0.000000 0.035714 + 20 O 1 XX 0.000000 0.000000 0.000000 -0.000000 -0.001088 + 21 O 1 YY 0.000000 0.000000 0.000000 -0.000000 -0.001088 + 22 O 1 ZZ 0.000000 0.000000 0.000000 -0.000000 0.002176 + 23 O 1 XY 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 24 O 1 XZ 0.000000 0.015154 0.000000 0.012132 -0.000000 + 25 O 1 YZ 0.015154 0.000000 0.012132 -0.000000 -0.000000 + 26 O 2 S 0.000000 0.000000 0.000000 -0.000000 -0.036850 + 27 O 2 S 0.000000 0.000000 0.000000 -0.000000 -0.249168 + 28 O 2 S 0.000000 0.000000 0.000000 -0.000000 -0.381289 + 29 O 2 X 0.000000 0.450278 0.000000 -0.537801 -0.000000 + 30 O 2 Y 0.450278 0.000000 -0.537801 -0.000000 -0.000000 + 31 O 2 Z 0.000000 0.000000 0.000000 -0.000000 0.720775 + 32 O 2 X 0.000000 0.267105 0.000000 -0.391495 -0.000000 + 33 O 2 Y 0.267105 0.000000 -0.391495 -0.000000 -0.000000 + 34 O 2 Z 0.000000 0.000000 0.000000 -0.000000 0.319378 + 35 O 2 XX 0.000000 0.000000 0.000000 -0.000000 -0.005628 + 36 O 2 YY 0.000000 0.000000 0.000000 -0.000000 -0.005628 + 37 O 2 ZZ 0.000000 0.000000 0.000000 -0.000000 0.011256 + 38 O 2 XY 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 39 O 2 XZ 0.000000 -0.026719 0.000000 -0.005587 -0.000000 + 40 O 2 YZ -0.026719 0.000000 -0.005587 -0.000000 -0.000000 + 41 O 2 S 0.000000 0.000000 0.000000 -0.000000 -0.175228 + 42 O 2 X 0.000000 0.012215 0.000000 -0.045273 -0.000000 + 43 O 2 Y 0.012215 0.000000 -0.045273 -0.000000 -0.000000 + 44 O 2 Z 0.000000 0.000000 0.000000 -0.000000 0.035714 + 45 O 2 XX 0.000000 0.000000 0.000000 -0.000000 0.001088 + 46 O 2 YY 0.000000 0.000000 0.000000 -0.000000 0.001088 + 47 O 2 ZZ 0.000000 0.000000 0.000000 -0.000000 -0.002176 + 48 O 2 XY 0.000000 0.000000 0.000000 -0.000000 -0.000000 + 49 O 2 XZ 0.000000 -0.015154 0.000000 0.012132 -0.000000 + 50 O 2 YZ -0.015154 0.000000 0.012132 -0.000000 -0.000000 + + 11 12 13 14 15 + 0.1297 0.1739 0.1876 0.1876 0.2427 + A2U A1G EU EU EG + 1 O 1 S -0.006784 0.017863 -0.000000 -0.000000 0.000000 + 2 O 1 S 0.025694 -0.048025 -0.000000 -0.000000 0.000000 + 3 O 1 S 0.340237 -0.453391 -0.000000 -0.000000 0.000000 + 4 O 1 X 0.000000 -0.000000 -0.108031 -0.000000 0.000000 + 5 O 1 Y 0.000000 -0.000000 -0.000000 -0.108031 -0.090375 + 6 O 1 Z -0.050364 0.080726 -0.000000 -0.000000 0.000000 + 7 O 1 X 0.000000 -0.000000 -0.236813 -0.000000 0.000000 + 8 O 1 Y 0.000000 -0.000000 -0.000000 -0.236813 -0.221148 + 9 O 1 Z 0.353591 0.172912 -0.000000 -0.000000 0.000000 + 10 O 1 XX 0.003223 -0.000974 -0.000000 -0.000000 0.000000 + 11 O 1 YY 0.003223 -0.000974 -0.000000 -0.000000 0.000000 + 12 O 1 ZZ -0.006447 0.001948 -0.000000 -0.000000 0.000000 + 13 O 1 XY 0.000000 -0.000000 -0.000000 -0.000000 0.000000 + 14 O 1 XZ 0.000000 -0.000000 -0.010484 -0.000000 0.000000 + 15 O 1 YZ 0.000000 -0.000000 -0.000000 -0.010484 -0.008297 + 16 O 1 S 6.717811 0.833123 -0.000000 -0.000000 0.000000 + 17 O 1 X 0.000000 -0.000000 0.613053 -0.000000 0.000000 + 18 O 1 Y 0.000000 -0.000000 -0.000000 0.613053 1.909858 + 19 O 1 Z 2.672407 -0.791184 -0.000000 -0.000000 0.000000 + 20 O 1 XX -0.069405 -0.001696 -0.000000 -0.000000 0.000000 + 21 O 1 YY -0.069405 -0.001696 -0.000000 -0.000000 0.000000 + 22 O 1 ZZ 0.138810 0.003392 -0.000000 -0.000000 0.000000 + 23 O 1 XY 0.000000 -0.000000 -0.000000 -0.000000 0.000000 + 24 O 1 XZ 0.000000 -0.000000 0.003250 -0.000000 0.000000 + 25 O 1 YZ 0.000000 -0.000000 -0.000000 0.003250 0.031925 + 26 O 2 S 0.006784 0.017863 -0.000000 -0.000000 0.000000 + 27 O 2 S -0.025694 -0.048025 -0.000000 -0.000000 0.000000 + 28 O 2 S -0.340237 -0.453391 -0.000000 -0.000000 0.000000 + 29 O 2 X 0.000000 -0.000000 -0.108031 -0.000000 0.000000 + 30 O 2 Y 0.000000 -0.000000 -0.000000 -0.108031 0.090375 + 31 O 2 Z -0.050364 -0.080726 -0.000000 -0.000000 0.000000 + 32 O 2 X 0.000000 -0.000000 -0.236813 -0.000000 0.000000 + 33 O 2 Y 0.000000 -0.000000 -0.000000 -0.236813 0.221148 + 34 O 2 Z 0.353591 -0.172912 -0.000000 -0.000000 0.000000 + 35 O 2 XX -0.003223 -0.000974 -0.000000 -0.000000 0.000000 + 36 O 2 YY -0.003223 -0.000974 -0.000000 -0.000000 0.000000 + 37 O 2 ZZ 0.006447 0.001948 -0.000000 -0.000000 0.000000 + 38 O 2 XY 0.000000 -0.000000 -0.000000 -0.000000 0.000000 + 39 O 2 XZ 0.000000 -0.000000 0.010484 -0.000000 0.000000 + 40 O 2 YZ 0.000000 -0.000000 -0.000000 0.010484 -0.008297 + 41 O 2 S -6.717811 0.833123 -0.000000 -0.000000 0.000000 + 42 O 2 X 0.000000 -0.000000 0.613053 -0.000000 0.000000 + 43 O 2 Y 0.000000 -0.000000 -0.000000 0.613053 -1.909858 + 44 O 2 Z 2.672407 0.791184 -0.000000 -0.000000 0.000000 + 45 O 2 XX 0.069405 -0.001696 -0.000000 -0.000000 0.000000 + 46 O 2 YY 0.069405 -0.001696 -0.000000 -0.000000 0.000000 + 47 O 2 ZZ -0.138810 0.003392 -0.000000 -0.000000 0.000000 + 48 O 2 XY 0.000000 -0.000000 -0.000000 -0.000000 0.000000 + 49 O 2 XZ 0.000000 -0.000000 -0.003250 -0.000000 0.000000 + 50 O 2 YZ 0.000000 -0.000000 -0.000000 -0.003250 0.031925 + + 16 17 18 19 20 + 0.2427 0.2490 0.4105 0.8315 0.8315 + EG A1G A2U B2G B1G + 1 O 1 S -0.000000 0.016010 -0.061675 0.000000 0.000000 + 2 O 1 S -0.000000 -0.039044 -0.187103 0.000000 0.000000 + 3 O 1 S -0.000000 -0.575919 1.065364 0.000000 0.000000 + 4 O 1 X -0.090375 0.000000 0.000000 0.000000 0.000000 + 5 O 1 Y -0.000000 0.000000 0.000000 0.000000 0.000000 + 6 O 1 Z -0.000000 -0.015150 0.055003 0.000000 0.000000 + 7 O 1 X -0.221148 0.000000 0.000000 0.000000 0.000000 + 8 O 1 Y -0.000000 0.000000 0.000000 0.000000 0.000000 + 9 O 1 Z -0.000000 -0.012378 1.932156 0.000000 0.000000 + 10 O 1 XX -0.000000 0.013222 0.000622 0.000000 -0.006409 + 11 O 1 YY -0.000000 0.013222 0.000622 0.000000 0.006409 + 12 O 1 ZZ -0.000000 -0.026443 -0.001244 0.000000 0.000000 + 13 O 1 XY -0.000000 0.000000 0.000000 -0.007401 0.000000 + 14 O 1 XZ -0.008297 0.000000 0.000000 0.000000 0.000000 + 15 O 1 YZ -0.000000 0.000000 0.000000 0.000000 0.000000 + 16 O 1 S -0.000000 0.271144 14.660831 0.000000 0.000000 + 17 O 1 X 1.909858 0.000000 0.000000 0.000000 0.000000 + 18 O 1 Y -0.000000 0.000000 0.000000 0.000000 0.000000 + 19 O 1 Z -0.000000 1.215951 4.088542 0.000000 0.000000 + 20 O 1 XX -0.000000 -0.043738 -0.250046 0.000000 0.516535 + 21 O 1 YY -0.000000 -0.043738 -0.250046 0.000000 -0.516535 + 22 O 1 ZZ -0.000000 0.087475 0.500093 0.000000 0.000000 + 23 O 1 XY -0.000000 0.000000 0.000000 0.596443 0.000000 + 24 O 1 XZ 0.031925 0.000000 0.000000 0.000000 0.000000 + 25 O 1 YZ -0.000000 0.000000 0.000000 0.000000 0.000000 + 26 O 2 S -0.000000 0.016010 0.061675 0.000000 0.000000 + 27 O 2 S -0.000000 -0.039044 0.187103 0.000000 0.000000 + 28 O 2 S -0.000000 -0.575919 -1.065364 0.000000 0.000000 + 29 O 2 X 0.090375 0.000000 0.000000 0.000000 0.000000 + 30 O 2 Y -0.000000 0.000000 0.000000 0.000000 0.000000 + 31 O 2 Z -0.000000 0.015150 0.055003 0.000000 0.000000 + 32 O 2 X 0.221148 0.000000 0.000000 0.000000 0.000000 + 33 O 2 Y -0.000000 0.000000 0.000000 0.000000 0.000000 + 34 O 2 Z -0.000000 0.012378 1.932156 0.000000 0.000000 + 35 O 2 XX -0.000000 0.013222 -0.000622 0.000000 -0.006409 + 36 O 2 YY -0.000000 0.013222 -0.000622 0.000000 0.006409 + 37 O 2 ZZ -0.000000 -0.026443 0.001244 0.000000 0.000000 + 38 O 2 XY -0.000000 0.000000 0.000000 -0.007401 0.000000 + 39 O 2 XZ -0.008297 0.000000 0.000000 0.000000 0.000000 + 40 O 2 YZ -0.000000 0.000000 0.000000 0.000000 0.000000 + 41 O 2 S -0.000000 0.271144 -14.660831 0.000000 0.000000 + 42 O 2 X -1.909858 0.000000 0.000000 0.000000 0.000000 + 43 O 2 Y -0.000000 0.000000 0.000000 0.000000 0.000000 + 44 O 2 Z -0.000000 -1.215951 4.088542 0.000000 0.000000 + 45 O 2 XX -0.000000 -0.043738 0.250046 0.000000 0.516535 + 46 O 2 YY -0.000000 -0.043738 0.250046 0.000000 -0.516535 + 47 O 2 ZZ -0.000000 0.087475 -0.500093 0.000000 0.000000 + 48 O 2 XY -0.000000 0.000000 0.000000 0.596443 0.000000 + 49 O 2 XZ 0.031925 0.000000 0.000000 0.000000 0.000000 + 50 O 2 YZ -0.000000 0.000000 0.000000 0.000000 0.000000 + + 21 22 23 24 25 + 0.9950 1.0451 1.0451 1.1656 1.1656 + A1G EU EU B1U B2U + 1 O 1 S 0.031518 0.000000 0.000000 -0.000000 -0.000000 + 2 O 1 S 0.100535 0.000000 0.000000 -0.000000 -0.000000 + 3 O 1 S -0.679477 0.000000 0.000000 -0.000000 -0.000000 + 4 O 1 X 0.000000 0.053644 0.000000 -0.000000 -0.000000 + 5 O 1 Y 0.000000 0.000000 0.053644 -0.000000 -0.000000 + 6 O 1 Z 0.217094 0.000000 0.000000 -0.000000 -0.000000 + 7 O 1 X 0.000000 -0.434285 0.000000 -0.000000 -0.000000 + 8 O 1 Y 0.000000 0.000000 -0.434285 -0.000000 -0.000000 + 9 O 1 Z -0.326650 0.000000 0.000000 -0.000000 -0.000000 + 10 O 1 XX -0.001437 0.000000 0.000000 -0.000000 -0.020947 + 11 O 1 YY -0.001437 0.000000 0.000000 -0.000000 0.020947 + 12 O 1 ZZ 0.002873 0.000000 0.000000 -0.000000 -0.000000 + 13 O 1 XY 0.000000 0.000000 0.000000 -0.024187 -0.000000 + 14 O 1 XZ 0.000000 0.004679 0.000000 -0.000000 -0.000000 + 15 O 1 YZ 0.000000 0.000000 0.004679 -0.000000 -0.000000 + 16 O 1 S 0.200936 0.000000 0.000000 -0.000000 -0.000000 + 17 O 1 X 0.000000 0.152178 0.000000 -0.000000 -0.000000 + 18 O 1 Y 0.000000 0.000000 0.152178 -0.000000 -0.000000 + 19 O 1 Z 0.775379 0.000000 0.000000 -0.000000 -0.000000 + 20 O 1 XX -0.395949 0.000000 0.000000 -0.000000 0.818524 + 21 O 1 YY -0.395949 0.000000 0.000000 -0.000000 -0.818524 + 22 O 1 ZZ 0.791897 0.000000 0.000000 -0.000000 -0.000000 + 23 O 1 XY 0.000000 0.000000 0.000000 0.945150 -0.000000 + 24 O 1 XZ 0.000000 0.669950 0.000000 -0.000000 -0.000000 + 25 O 1 YZ 0.000000 0.000000 0.669950 -0.000000 -0.000000 + 26 O 2 S 0.031518 0.000000 0.000000 -0.000000 -0.000000 + 27 O 2 S 0.100535 0.000000 0.000000 -0.000000 -0.000000 + 28 O 2 S -0.679477 0.000000 0.000000 -0.000000 -0.000000 + 29 O 2 X 0.000000 0.053644 0.000000 -0.000000 -0.000000 + 30 O 2 Y 0.000000 0.000000 0.053644 -0.000000 -0.000000 + 31 O 2 Z -0.217094 0.000000 0.000000 -0.000000 -0.000000 + 32 O 2 X 0.000000 -0.434285 0.000000 -0.000000 -0.000000 + 33 O 2 Y 0.000000 0.000000 -0.434285 -0.000000 -0.000000 + 34 O 2 Z 0.326650 0.000000 0.000000 -0.000000 -0.000000 + 35 O 2 XX -0.001437 0.000000 0.000000 -0.000000 0.020947 + 36 O 2 YY -0.001437 0.000000 0.000000 -0.000000 -0.020947 + 37 O 2 ZZ 0.002873 0.000000 0.000000 -0.000000 -0.000000 + 38 O 2 XY 0.000000 0.000000 0.000000 0.024187 -0.000000 + 39 O 2 XZ 0.000000 -0.004679 0.000000 -0.000000 -0.000000 + 40 O 2 YZ 0.000000 0.000000 -0.004679 -0.000000 -0.000000 + 41 O 2 S 0.200936 0.000000 0.000000 -0.000000 -0.000000 + 42 O 2 X 0.000000 0.152178 0.000000 -0.000000 -0.000000 + 43 O 2 Y 0.000000 0.000000 0.152178 -0.000000 -0.000000 + 44 O 2 Z -0.775379 0.000000 0.000000 -0.000000 -0.000000 + 45 O 2 XX -0.395949 0.000000 0.000000 -0.000000 -0.818524 + 46 O 2 YY -0.395949 0.000000 0.000000 -0.000000 0.818524 + 47 O 2 ZZ 0.791897 0.000000 0.000000 -0.000000 -0.000000 + 48 O 2 XY 0.000000 0.000000 0.000000 -0.945150 -0.000000 + 49 O 2 XZ 0.000000 -0.669950 0.000000 -0.000000 -0.000000 + 50 O 2 YZ 0.000000 0.000000 -0.669950 -0.000000 -0.000000 + + 26 27 28 29 30 + 1.1933 1.2784 1.2784 1.2954 1.3171 + A2U EG EG A2U EU + 1 O 1 S -0.181113 0.000000 -0.000000 -0.029350 -0.000000 + 2 O 1 S -0.147089 0.000000 -0.000000 0.086245 -0.000000 + 3 O 1 S 5.395971 0.000000 -0.000000 3.832957 -0.000000 + 4 O 1 X -0.000000 0.000000 0.505289 -0.000000 -0.699394 + 5 O 1 Y -0.000000 0.505289 -0.000000 -0.000000 -0.000000 + 6 O 1 Z -0.370055 0.000000 -0.000000 0.219775 -0.000000 + 7 O 1 X -0.000000 0.000000 -0.077393 -0.000000 0.731350 + 8 O 1 Y -0.000000 -0.077393 -0.000000 -0.000000 -0.000000 + 9 O 1 Z 5.651856 0.000000 -0.000000 3.262505 -0.000000 + 10 O 1 XX -0.021870 0.000000 -0.000000 0.025583 -0.000000 + 11 O 1 YY -0.021870 0.000000 -0.000000 0.025583 -0.000000 + 12 O 1 ZZ 0.043739 0.000000 -0.000000 -0.051166 -0.000000 + 13 O 1 XY -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 14 O 1 XZ -0.000000 0.000000 -0.027944 -0.000000 -0.016037 + 15 O 1 YZ -0.000000 -0.027944 -0.000000 -0.000000 -0.000000 + 16 O 1 S 9.397236 0.000000 -0.000000 6.532202 -0.000000 + 17 O 1 X -0.000000 0.000000 0.741324 -0.000000 -0.258670 + 18 O 1 Y -0.000000 0.741324 -0.000000 -0.000000 -0.000000 + 19 O 1 Z 2.159671 0.000000 -0.000000 1.722058 -0.000000 + 20 O 1 XX -0.635768 0.000000 -0.000000 -0.867596 -0.000000 + 21 O 1 YY -0.635768 0.000000 -0.000000 -0.867596 -0.000000 + 22 O 1 ZZ 1.271537 0.000000 -0.000000 1.735192 -0.000000 + 23 O 1 XY -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 24 O 1 XZ -0.000000 0.000000 0.961795 -0.000000 0.111399 + 25 O 1 YZ -0.000000 0.961795 -0.000000 -0.000000 -0.000000 + 26 O 2 S 0.181113 0.000000 -0.000000 0.029350 -0.000000 + 27 O 2 S 0.147089 0.000000 -0.000000 -0.086245 -0.000000 + 28 O 2 S -5.395971 0.000000 -0.000000 -3.832957 -0.000000 + 29 O 2 X -0.000000 0.000000 -0.505289 -0.000000 -0.699394 + 30 O 2 Y -0.000000 -0.505289 -0.000000 -0.000000 -0.000000 + 31 O 2 Z -0.370055 0.000000 -0.000000 0.219775 -0.000000 + 32 O 2 X -0.000000 0.000000 0.077393 -0.000000 0.731350 + 33 O 2 Y -0.000000 0.077393 -0.000000 -0.000000 -0.000000 + 34 O 2 Z 5.651856 0.000000 -0.000000 3.262505 -0.000000 + 35 O 2 XX 0.021870 0.000000 -0.000000 -0.025583 -0.000000 + 36 O 2 YY 0.021870 0.000000 -0.000000 -0.025583 -0.000000 + 37 O 2 ZZ -0.043739 0.000000 -0.000000 0.051166 -0.000000 + 38 O 2 XY -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 39 O 2 XZ -0.000000 0.000000 -0.027944 -0.000000 0.016037 + 40 O 2 YZ -0.000000 -0.027944 -0.000000 -0.000000 -0.000000 + 41 O 2 S -9.397236 0.000000 -0.000000 -6.532202 -0.000000 + 42 O 2 X -0.000000 0.000000 -0.741324 -0.000000 -0.258670 + 43 O 2 Y -0.000000 -0.741324 -0.000000 -0.000000 -0.000000 + 44 O 2 Z 2.159671 0.000000 -0.000000 1.722058 -0.000000 + 45 O 2 XX 0.635768 0.000000 -0.000000 0.867596 -0.000000 + 46 O 2 YY 0.635768 0.000000 -0.000000 0.867596 -0.000000 + 47 O 2 ZZ -1.271537 0.000000 -0.000000 -1.735192 -0.000000 + 48 O 2 XY -0.000000 0.000000 -0.000000 -0.000000 -0.000000 + 49 O 2 XZ -0.000000 0.000000 0.961795 -0.000000 -0.111399 + 50 O 2 YZ -0.000000 0.961795 -0.000000 -0.000000 -0.000000 + + 31 32 33 34 35 + 1.3171 1.5635 1.6957 1.6957 2.4256 + EU A1G EG EG A1G + 1 O 1 S -0.000000 -0.306387 -0.000000 0.000000 0.561215 + 2 O 1 S -0.000000 -0.766429 -0.000000 0.000000 1.186185 + 3 O 1 S -0.000000 1.517476 -0.000000 0.000000 -0.281586 + 4 O 1 X -0.000000 0.000000 -0.423847 0.000000 -0.000000 + 5 O 1 Y -0.699394 0.000000 -0.000000 -0.423847 -0.000000 + 6 O 1 Z -0.000000 0.502321 -0.000000 0.000000 0.547953 + 7 O 1 X -0.000000 0.000000 2.535958 0.000000 -0.000000 + 8 O 1 Y 0.731350 0.000000 -0.000000 2.535958 -0.000000 + 9 O 1 Z -0.000000 -0.792534 -0.000000 0.000000 -0.848871 + 10 O 1 XX -0.000000 -0.013434 -0.000000 0.000000 -0.086988 + 11 O 1 YY -0.000000 -0.013434 -0.000000 0.000000 -0.086988 + 12 O 1 ZZ -0.000000 0.026867 -0.000000 0.000000 0.173975 + 13 O 1 XY -0.000000 0.000000 -0.000000 0.000000 -0.000000 + 14 O 1 XZ -0.000000 0.000000 -0.037659 0.000000 -0.000000 + 15 O 1 YZ -0.016037 0.000000 -0.000000 -0.037659 -0.000000 + 16 O 1 S -0.000000 -0.572230 -0.000000 0.000000 -0.074202 + 17 O 1 X -0.000000 0.000000 -0.184944 0.000000 -0.000000 + 18 O 1 Y -0.258670 0.000000 -0.000000 -0.184944 -0.000000 + 19 O 1 Z -0.000000 -0.008792 -0.000000 0.000000 -0.121134 + 20 O 1 XX -0.000000 0.226246 -0.000000 0.000000 0.529957 + 21 O 1 YY -0.000000 0.226246 -0.000000 0.000000 0.529957 + 22 O 1 ZZ -0.000000 -0.452493 -0.000000 0.000000 -1.059915 + 23 O 1 XY -0.000000 0.000000 -0.000000 0.000000 -0.000000 + 24 O 1 XZ -0.000000 0.000000 1.842581 0.000000 -0.000000 + 25 O 1 YZ 0.111399 0.000000 -0.000000 1.842581 -0.000000 + 26 O 2 S -0.000000 -0.306387 -0.000000 0.000000 0.561215 + 27 O 2 S -0.000000 -0.766429 -0.000000 0.000000 1.186185 + 28 O 2 S -0.000000 1.517476 -0.000000 0.000000 -0.281586 + 29 O 2 X -0.000000 0.000000 0.423847 0.000000 -0.000000 + 30 O 2 Y -0.699394 0.000000 -0.000000 0.423847 -0.000000 + 31 O 2 Z -0.000000 -0.502321 -0.000000 0.000000 -0.547953 + 32 O 2 X -0.000000 0.000000 -2.535958 0.000000 -0.000000 + 33 O 2 Y 0.731350 0.000000 -0.000000 -2.535958 -0.000000 + 34 O 2 Z -0.000000 0.792534 -0.000000 0.000000 0.848871 + 35 O 2 XX -0.000000 -0.013434 -0.000000 0.000000 -0.086988 + 36 O 2 YY -0.000000 -0.013434 -0.000000 0.000000 -0.086988 + 37 O 2 ZZ -0.000000 0.026867 -0.000000 0.000000 0.173975 + 38 O 2 XY -0.000000 0.000000 -0.000000 0.000000 -0.000000 + 39 O 2 XZ -0.000000 0.000000 -0.037659 0.000000 -0.000000 + 40 O 2 YZ 0.016037 0.000000 -0.000000 -0.037659 -0.000000 + 41 O 2 S -0.000000 -0.572230 -0.000000 0.000000 -0.074202 + 42 O 2 X -0.000000 0.000000 0.184944 0.000000 -0.000000 + 43 O 2 Y -0.258670 0.000000 -0.000000 0.184944 -0.000000 + 44 O 2 Z -0.000000 0.008792 -0.000000 0.000000 0.121134 + 45 O 2 XX -0.000000 0.226246 -0.000000 0.000000 0.529957 + 46 O 2 YY -0.000000 0.226246 -0.000000 0.000000 0.529957 + 47 O 2 ZZ -0.000000 -0.452493 -0.000000 0.000000 -1.059915 + 48 O 2 XY -0.000000 0.000000 -0.000000 0.000000 -0.000000 + 49 O 2 XZ -0.000000 0.000000 1.842581 0.000000 -0.000000 + 50 O 2 YZ -0.111399 0.000000 -0.000000 1.842581 -0.000000 + + 36 37 38 39 40 + 3.1317 3.1317 3.3245 3.3895 3.3895 + EU EU A1G B2G B1G + 1 O 1 S 0.000000 0.000000 -0.051994 0.000000 0.000000 + 2 O 1 S 0.000000 0.000000 -0.174416 0.000000 0.000000 + 3 O 1 S 0.000000 0.000000 0.378579 0.000000 0.000000 + 4 O 1 X -0.029868 0.000000 -0.000000 0.000000 0.000000 + 5 O 1 Y 0.000000 -0.029868 -0.000000 0.000000 0.000000 + 6 O 1 Z 0.000000 0.000000 -0.186221 0.000000 0.000000 + 7 O 1 X 0.117872 0.000000 -0.000000 0.000000 0.000000 + 8 O 1 Y 0.000000 0.117872 -0.000000 0.000000 0.000000 + 9 O 1 Z 0.000000 0.000000 0.047388 0.000000 0.000000 + 10 O 1 XX 0.000000 0.000000 -0.369437 0.000000 0.706712 + 11 O 1 YY 0.000000 0.000000 -0.369437 0.000000 -0.706712 + 12 O 1 ZZ 0.000000 0.000000 0.738875 0.000000 0.000000 + 13 O 1 XY 0.000000 0.000000 -0.000000 0.816041 0.000000 + 14 O 1 XZ 0.790874 0.000000 -0.000000 0.000000 0.000000 + 15 O 1 YZ 0.000000 0.790874 -0.000000 0.000000 0.000000 + 16 O 1 S 0.000000 0.000000 -0.104496 0.000000 0.000000 + 17 O 1 X -0.027374 0.000000 -0.000000 0.000000 0.000000 + 18 O 1 Y 0.000000 -0.027374 -0.000000 0.000000 0.000000 + 19 O 1 Z 0.000000 0.000000 -0.257491 0.000000 0.000000 + 20 O 1 XX 0.000000 0.000000 0.234827 0.000000 -0.317287 + 21 O 1 YY 0.000000 0.000000 0.234827 0.000000 0.317287 + 22 O 1 ZZ 0.000000 0.000000 -0.469653 0.000000 0.000000 + 23 O 1 XY 0.000000 0.000000 -0.000000 -0.366371 0.000000 + 24 O 1 XZ -0.494352 0.000000 -0.000000 0.000000 0.000000 + 25 O 1 YZ 0.000000 -0.494352 -0.000000 0.000000 0.000000 + 26 O 2 S 0.000000 0.000000 -0.051994 0.000000 0.000000 + 27 O 2 S 0.000000 0.000000 -0.174416 0.000000 0.000000 + 28 O 2 S 0.000000 0.000000 0.378579 0.000000 0.000000 + 29 O 2 X -0.029868 0.000000 -0.000000 0.000000 0.000000 + 30 O 2 Y 0.000000 -0.029868 -0.000000 0.000000 0.000000 + 31 O 2 Z 0.000000 0.000000 0.186221 0.000000 0.000000 + 32 O 2 X 0.117872 0.000000 -0.000000 0.000000 0.000000 + 33 O 2 Y 0.000000 0.117872 -0.000000 0.000000 0.000000 + 34 O 2 Z 0.000000 0.000000 -0.047388 0.000000 0.000000 + 35 O 2 XX 0.000000 0.000000 -0.369437 0.000000 0.706712 + 36 O 2 YY 0.000000 0.000000 -0.369437 0.000000 -0.706712 + 37 O 2 ZZ 0.000000 0.000000 0.738875 0.000000 0.000000 + 38 O 2 XY 0.000000 0.000000 -0.000000 0.816041 0.000000 + 39 O 2 XZ -0.790874 0.000000 -0.000000 0.000000 0.000000 + 40 O 2 YZ 0.000000 -0.790874 -0.000000 0.000000 0.000000 + 41 O 2 S 0.000000 0.000000 -0.104496 0.000000 0.000000 + 42 O 2 X -0.027374 0.000000 -0.000000 0.000000 0.000000 + 43 O 2 Y 0.000000 -0.027374 -0.000000 0.000000 0.000000 + 44 O 2 Z 0.000000 0.000000 0.257491 0.000000 0.000000 + 45 O 2 XX 0.000000 0.000000 0.234827 0.000000 -0.317287 + 46 O 2 YY 0.000000 0.000000 0.234827 0.000000 0.317287 + 47 O 2 ZZ 0.000000 0.000000 -0.469653 0.000000 0.000000 + 48 O 2 XY 0.000000 0.000000 -0.000000 -0.366371 0.000000 + 49 O 2 XZ 0.494352 0.000000 -0.000000 0.000000 0.000000 + 50 O 2 YZ 0.000000 0.494352 -0.000000 0.000000 0.000000 + + 41 42 43 44 45 + 3.5900 3.5900 3.6342 4.0226 4.0226 + B1U B2U A2U EG EG + 1 O 1 S 0.000000 0.000000 -1.250160 0.000000 -0.000000 + 2 O 1 S 0.000000 0.000000 -2.366015 0.000000 -0.000000 + 3 O 1 S 0.000000 0.000000 13.157402 0.000000 -0.000000 + 4 O 1 X 0.000000 0.000000 -0.000000 0.050081 -0.000000 + 5 O 1 Y 0.000000 0.000000 -0.000000 0.000000 0.050081 + 6 O 1 Z 0.000000 0.000000 0.225384 0.000000 -0.000000 + 7 O 1 X 0.000000 0.000000 -0.000000 -0.567446 -0.000000 + 8 O 1 Y 0.000000 0.000000 -0.000000 0.000000 -0.567446 + 9 O 1 Z 0.000000 0.000000 8.899742 0.000000 -0.000000 + 10 O 1 XX 0.000000 0.729826 -0.011573 0.000000 -0.000000 + 11 O 1 YY 0.000000 -0.729826 -0.011573 0.000000 -0.000000 + 12 O 1 ZZ 0.000000 0.000000 0.023146 0.000000 -0.000000 + 13 O 1 XY 0.842731 0.000000 -0.000000 0.000000 -0.000000 + 14 O 1 XZ 0.000000 0.000000 -0.000000 0.920550 -0.000000 + 15 O 1 YZ 0.000000 0.000000 -0.000000 0.000000 0.920550 + 16 O 1 S 0.000000 0.000000 6.905769 0.000000 -0.000000 + 17 O 1 X 0.000000 0.000000 -0.000000 -0.186920 -0.000000 + 18 O 1 Y 0.000000 0.000000 -0.000000 0.000000 -0.186920 + 19 O 1 Z 0.000000 0.000000 1.537620 0.000000 -0.000000 + 20 O 1 XX 0.000000 -0.457398 -1.362455 0.000000 -0.000000 + 21 O 1 YY 0.000000 0.457398 -1.362455 0.000000 -0.000000 + 22 O 1 ZZ 0.000000 0.000000 2.724910 0.000000 -0.000000 + 23 O 1 XY -0.528158 0.000000 -0.000000 0.000000 -0.000000 + 24 O 1 XZ 0.000000 0.000000 -0.000000 -0.828375 -0.000000 + 25 O 1 YZ 0.000000 0.000000 -0.000000 0.000000 -0.828375 + 26 O 2 S 0.000000 0.000000 1.250160 0.000000 -0.000000 + 27 O 2 S 0.000000 0.000000 2.366015 0.000000 -0.000000 + 28 O 2 S 0.000000 0.000000 -13.157402 0.000000 -0.000000 + 29 O 2 X 0.000000 0.000000 -0.000000 -0.050081 -0.000000 + 30 O 2 Y 0.000000 0.000000 -0.000000 0.000000 -0.050081 + 31 O 2 Z 0.000000 0.000000 0.225384 0.000000 -0.000000 + 32 O 2 X 0.000000 0.000000 -0.000000 0.567446 -0.000000 + 33 O 2 Y 0.000000 0.000000 -0.000000 0.000000 0.567446 + 34 O 2 Z 0.000000 0.000000 8.899742 0.000000 -0.000000 + 35 O 2 XX 0.000000 -0.729826 0.011573 0.000000 -0.000000 + 36 O 2 YY 0.000000 0.729826 0.011573 0.000000 -0.000000 + 37 O 2 ZZ 0.000000 0.000000 -0.023146 0.000000 -0.000000 + 38 O 2 XY -0.842731 0.000000 -0.000000 0.000000 -0.000000 + 39 O 2 XZ 0.000000 0.000000 -0.000000 0.920550 -0.000000 + 40 O 2 YZ 0.000000 0.000000 -0.000000 0.000000 0.920550 + 41 O 2 S 0.000000 0.000000 -6.905769 0.000000 -0.000000 + 42 O 2 X 0.000000 0.000000 -0.000000 0.186920 -0.000000 + 43 O 2 Y 0.000000 0.000000 -0.000000 0.000000 0.186920 + 44 O 2 Z 0.000000 0.000000 1.537620 0.000000 -0.000000 + 45 O 2 XX 0.000000 0.457398 1.362455 0.000000 -0.000000 + 46 O 2 YY 0.000000 -0.457398 1.362455 0.000000 -0.000000 + 47 O 2 ZZ 0.000000 0.000000 -2.724910 0.000000 -0.000000 + 48 O 2 XY 0.528158 0.000000 -0.000000 0.000000 -0.000000 + 49 O 2 XZ 0.000000 0.000000 -0.000000 -0.828375 -0.000000 + 50 O 2 YZ 0.000000 0.000000 -0.000000 0.000000 -0.828375 + + 46 + 4.2579 + A2U + 1 O 1 S -0.082019 + 2 O 1 S -0.067444 + 3 O 1 S 0.557990 + 4 O 1 X -0.000000 + 5 O 1 Y -0.000000 + 6 O 1 Z 0.270172 + 7 O 1 X -0.000000 + 8 O 1 Y -0.000000 + 9 O 1 Z 0.311989 + 10 O 1 XX -0.528480 + 11 O 1 YY -0.528480 + 12 O 1 ZZ 1.056960 + 13 O 1 XY -0.000000 + 14 O 1 XZ -0.000000 + 15 O 1 YZ -0.000000 + 16 O 1 S -0.848840 + 17 O 1 X -0.000000 + 18 O 1 Y -0.000000 + 19 O 1 Z -0.291462 + 20 O 1 XX 0.173366 + 21 O 1 YY 0.173366 + 22 O 1 ZZ -0.346732 + 23 O 1 XY -0.000000 + 24 O 1 XZ -0.000000 + 25 O 1 YZ -0.000000 + 26 O 2 S 0.082019 + 27 O 2 S 0.067444 + 28 O 2 S -0.557990 + 29 O 2 X -0.000000 + 30 O 2 Y -0.000000 + 31 O 2 Z 0.270172 + 32 O 2 X -0.000000 + 33 O 2 Y -0.000000 + 34 O 2 Z 0.311989 + 35 O 2 XX 0.528480 + 36 O 2 YY 0.528480 + 37 O 2 ZZ -1.056960 + 38 O 2 XY -0.000000 + 39 O 2 XZ -0.000000 + 40 O 2 YZ -0.000000 + 41 O 2 S 0.848840 + 42 O 2 X -0.000000 + 43 O 2 Y -0.000000 + 44 O 2 Z -0.291462 + 45 O 2 XX -0.173366 + 46 O 2 YY -0.173366 + 47 O 2 ZZ 0.346732 + 48 O 2 XY -0.000000 + 49 O 2 XZ -0.000000 + 50 O 2 YZ -0.000000 + .....DONE WITH MCSCF ITERATIONS..... + STEP CPU TIME = 0.24 TOTAL CPU TIME = 9.8 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.9 SECONDS, CPU UTILIZATION IS 99.80% + + ---------------------------------------------------------------- + PROPERTY VALUES FOR THE MCSCF SELF-CONSISTENT FIELD WAVEFUNCTION + ---------------------------------------------------------------- + + ----------------- + ENERGY COMPONENTS + ----------------- + + WAVEFUNCTION NORMALIZATION = 1.0000000000 + + ONE ELECTRON ENERGY = -261.6719878766 + TWO ELECTRON ENERGY = 83.8971427713 + NUCLEAR REPULSION ENERGY = 28.0504908836 + ------------------ + TOTAL ENERGY = -149.7243542217 + + ELECTRON-ELECTRON POTENTIAL ENERGY = 83.8971427713 + NUCLEUS-ELECTRON POTENTIAL ENERGY = -411.4304454259 + NUCLEUS-NUCLEUS POTENTIAL ENERGY = 28.0504908836 + ------------------ + TOTAL POTENTIAL ENERGY = -299.4828117710 + TOTAL KINETIC ENERGY = 149.7584575493 + VIRIAL RATIO (V/T) = 1.9997722778 + + --------------------------------------- + MULLIKEN AND LOWDIN POPULATION ANALYSES + --------------------------------------- + + ATOMIC MULLIKEN POPULATION IN EACH MOLECULAR ORBITAL + + 1 2 3 4 5 + + 2.000000 2.000000 1.999077 1.997051 1.962204 + + 1 1.000000 1.000000 0.999538 0.998525 0.981102 + 2 1.000000 1.000000 0.999538 0.998525 0.981102 + + 6 7 8 9 10 + + 1.962204 1.959907 1.037259 1.037259 0.045038 + + 1 0.981102 0.979954 0.518630 0.518630 0.022519 + 2 0.981102 0.979954 0.518630 0.518630 0.022519 + WARNING! MCSCF POPULATIONS SHOWN ABOVE ARE FOR THE NATURAL ORBITALS. + IGNORE THE ABOVE DATA FOR MCSCF FUNCTIONS WHICH ARE NOT OF -FORS- TYPE. + THE FOLLOWING POPULATIONS ARE CORRECT FOR ANY MCSCF WAVEFUNCTION. + + ----- POPULATIONS IN EACH AO ----- + MULLIKEN LOWDIN + 1 O 1 S 2.00335 1.86579 + 2 O 1 S 0.89696 0.65920 + 3 O 1 S 1.04291 0.39001 + 4 O 1 X 0.94047 0.88186 + 5 O 1 Y 0.94047 0.88186 + 6 O 1 Z 0.79460 0.75095 + 7 O 1 X 0.53346 0.47544 + 8 O 1 Y 0.53346 0.47544 + 9 O 1 Z 0.21405 0.42766 + 10 O 1 XX 0.01458 0.17345 + 11 O 1 YY 0.00000 0.17345 + 12 O 1 ZZ 0.00000 0.19749 + 13 O 1 XY 0.00768 0.00000 + 14 O 1 XZ 0.00768 0.00811 + 15 O 1 YZ 0.00000 0.00811 + 16 O 1 S 0.06343 0.08752 + 17 O 1 X 0.01325 0.04508 + 18 O 1 Y 0.01325 0.04508 + 19 O 1 Z -0.01881 0.04517 + 20 O 1 XX -0.01054 0.04422 + 21 O 1 YY 0.00000 0.04422 + 22 O 1 ZZ 0.00000 0.14141 + 23 O 1 XY 0.00488 0.00000 + 24 O 1 XZ 0.00488 0.08924 + 25 O 1 YZ 0.00000 0.08924 + 26 O 2 S 2.00335 1.86579 + 27 O 2 S 0.89696 0.65920 + 28 O 2 S 1.04291 0.39001 + 29 O 2 X 0.94047 0.88186 + 30 O 2 Y 0.94047 0.88186 + 31 O 2 Z 0.79460 0.75095 + 32 O 2 X 0.53346 0.47544 + 33 O 2 Y 0.53346 0.47544 + 34 O 2 Z 0.21405 0.42766 + 35 O 2 XX 0.01458 0.17345 + 36 O 2 YY 0.00000 0.17345 + 37 O 2 ZZ 0.00000 0.19749 + 38 O 2 XY 0.00768 0.00000 + 39 O 2 XZ 0.00768 0.00811 + 40 O 2 YZ 0.00000 0.00811 + 41 O 2 S 0.06343 0.08752 + 42 O 2 X 0.01325 0.04508 + 43 O 2 Y 0.01325 0.04508 + 44 O 2 Z -0.01881 0.04517 + 45 O 2 XX -0.01054 0.04422 + 46 O 2 YY 0.00000 0.04422 + 47 O 2 ZZ 0.00000 0.14141 + 48 O 2 XY 0.00488 0.00000 + 49 O 2 XZ 0.00488 0.08924 + 50 O 2 YZ 0.00000 0.08924 + + ----- MULLIKEN ATOMIC OVERLAP POPULATIONS ----- + (OFF-DIAGONAL ELEMENTS NEED TO BE MULTIPLIED BY 2) + + 1 2 + + 1 8.4076905 + 2 -0.4076905 8.4076905 + + TOTAL MULLIKEN AND LOWDIN ATOMIC POPULATIONS + ATOM MULL.POP. CHARGE LOW.POP. CHARGE + 1 O 8.000000 -0.000000 8.000000 -0.000000 + 2 O 8.000000 0.000000 8.000000 0.000000 + + MULLIKEN SPHERICAL HARMONIC POPULATIONS + ATOM S P D F G H I TOTAL + 1 O 4.01 3.96 0.03 0.00 0.00 0.00 0.00 8.00 + 2 O 4.01 3.96 0.03 0.00 0.00 0.00 0.00 8.00 + + --------------------- + ELECTROSTATIC MOMENTS + --------------------- + + POINT 1 X Y Z (BOHR) CHARGE + 0.000000 0.000000 0.000000 0.00 (A.U.) + DX DY DZ /D/ (DEBYE) + 0.000000 0.000000 0.000000 0.000000 + ...... END OF PROPERTY EVALUATION ...... + STEP CPU TIME = 0.00 TOTAL CPU TIME = 9.8 ( 0.2 MIN) + TOTAL WALL CLOCK TIME= 9.9 SECONDS, CPU UTILIZATION IS 99.70% + 799940 WORDS OF DYNAMIC MEMORY USED + EXECUTION OF GAMESS TERMINATED NORMALLY Wed Nov 6 15:30:16 2019 + DDI: 263640 bytes (0.3 MB / 0 MWords) used by master data server. + + ---------------------------------------- + CPU timing information for all processes + ======================================== + 0: 3.556 + 7.428 = 10.984 + ---------------------------------------- + ddikick.x: exited gracefully. +----- accounting info ----- +Files used on the master node quad7 were: +-rw-r--r-- 1 giner giner 46247 Nov 6 15:30 /scr/giner/2.2816.CAS.dat +-rw-r--r-- 1 giner giner 8836 Nov 6 15:30 /scr/giner/2.2816.CAS.F05 +-rw-r--r-- 1 giner giner 370240 Nov 6 15:30 /scr/giner/2.2816.CAS.F09 +-rw-r--r-- 1 giner giner 1865040 Nov 6 15:30 /scr/giner/2.2816.CAS.F10 +-rw-r--r-- 1 giner giner 283688 Nov 6 15:30 /scr/giner/2.2816.CAS.F11 +-rw-r--r-- 1 giner giner 576 Nov 6 15:30 /scr/giner/2.2816.CAS.F12 +-rw-r--r-- 1 giner giner 4800008 Nov 6 15:30 /scr/giner/2.2816.CAS.F14 +-rw-r--r-- 1 giner giner 180464 Nov 6 15:30 /scr/giner/2.2816.CAS.F15 +-rw-r--r-- 1 giner giner 21600 Nov 6 15:30 /scr/giner/2.2816.CAS.F16 +Wed Nov 6 15:30:19 CET 2019 +0.1u 0.0s 0:14.09 0.9% 0+0k 0+32io 0pf+0w From 51cf96a506a87c807b88f705e68f6522142d256c Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Tue, 7 Apr 2020 11:01:24 +0200 Subject: [PATCH 057/138] added mu_of_r --- src/mu_of_r/EZFIO.cfg | 18 ++ src/mu_of_r/NEED | 1 + src/mu_of_r/README.rst | 4 + src/mu_of_r/basis_def.irp.f | 106 +++++++++ src/mu_of_r/example.irp.f | 202 +++++++++++++++++ src/mu_of_r/f_hf_utils.irp.f | 138 ++++++++++++ src/mu_of_r/f_psi_i_a_v_utils.irp.f | 313 +++++++++++++++++++++++++++ src/mu_of_r/f_psi_old.irp.f | 39 ++++ src/mu_of_r/f_psi_utils.irp.f | 151 +++++++++++++ src/mu_of_r/f_val_general.irp.f | 90 ++++++++ src/mu_of_r/mu_of_r_conditions.irp.f | 150 +++++++++++++ src/mu_of_r/test_proj_op.irp.f | 21 ++ 12 files changed, 1233 insertions(+) create mode 100644 src/mu_of_r/EZFIO.cfg create mode 100644 src/mu_of_r/NEED create mode 100644 src/mu_of_r/README.rst create mode 100644 src/mu_of_r/basis_def.irp.f create mode 100644 src/mu_of_r/example.irp.f create mode 100644 src/mu_of_r/f_hf_utils.irp.f create mode 100644 src/mu_of_r/f_psi_i_a_v_utils.irp.f create mode 100644 src/mu_of_r/f_psi_old.irp.f create mode 100644 src/mu_of_r/f_psi_utils.irp.f create mode 100644 src/mu_of_r/f_val_general.irp.f create mode 100644 src/mu_of_r/mu_of_r_conditions.irp.f create mode 100644 src/mu_of_r/test_proj_op.irp.f diff --git a/src/mu_of_r/EZFIO.cfg b/src/mu_of_r/EZFIO.cfg new file mode 100644 index 00000000..5677b3ab --- /dev/null +++ b/src/mu_of_r/EZFIO.cfg @@ -0,0 +1,18 @@ +[mu_of_r_disk] +type: double precision +doc: array of the values of mu(r) +interface: ezfio +size: (becke_numerical_grid.n_points_final_grid,determinants.n_states) + +[mu_of_r_potential] +type: character*(32) +doc: type of potential for the mu(r) interaction: can be [ hf| cas_ful | cas_truncated] +interface: ezfio, provider, ocaml +default: hf + +[io_mu_of_r] +type: Disk_access +doc: Read/Write the mu(r) from/to disk [ Write | Read | None ] +interface: ezfio,provider,ocaml +default: None + diff --git a/src/mu_of_r/NEED b/src/mu_of_r/NEED new file mode 100644 index 00000000..22bb3ebe --- /dev/null +++ b/src/mu_of_r/NEED @@ -0,0 +1 @@ +cas_based_on_top diff --git a/src/mu_of_r/README.rst b/src/mu_of_r/README.rst new file mode 100644 index 00000000..b5234e7e --- /dev/null +++ b/src/mu_of_r/README.rst @@ -0,0 +1,4 @@ +================== +mu_of_r_definition +================== + diff --git a/src/mu_of_r/basis_def.irp.f b/src/mu_of_r/basis_def.irp.f new file mode 100644 index 00000000..4da27cb0 --- /dev/null +++ b/src/mu_of_r/basis_def.irp.f @@ -0,0 +1,106 @@ + + + BEGIN_PROVIDER [integer, n_occ_val_orb_for_hf,(2)] +&BEGIN_PROVIDER [integer, n_max_occ_val_orb_for_hf] + implicit none + BEGIN_DOC + ! Number of OCCUPIED VALENCE ORBITALS for each spin to build the f_{HF}(r_1,r_2) function + ! + ! This is typically elec_alpha_num - n_core_orb for alpha electrons and elec_beta_num - n_core_orb for beta electrons + ! + ! This determines the size of the space \mathcal{A} of Eqs. (15-16) of Phys.Chem.Lett.2019, 10, 2931 2937 + END_DOC + integer :: i + n_occ_val_orb_for_hf = 0 + ! You browse the ALPHA ELECTRONS and check if its not a CORE ORBITAL + do i = 1, elec_alpha_num + if( trim(mo_class(i))=="Inactive" & + .or. trim(mo_class(i))=="Active" & + .or. trim(mo_class(i))=="Virtual" )then + n_occ_val_orb_for_hf(1) +=1 + endif + enddo + + ! You browse the BETA ELECTRONS and check if its not a CORE ORBITAL + do i = 1, elec_beta_num + if( trim(mo_class(i))=="Inactive" & + .or. trim(mo_class(i))=="Active" & + .or. trim(mo_class(i))=="Virtual" )then + n_occ_val_orb_for_hf(2) +=1 + endif + enddo + n_max_occ_val_orb_for_hf = maxval(n_occ_val_orb_for_hf) + +END_PROVIDER + +BEGIN_PROVIDER [integer, list_valence_orb_for_hf, (n_max_occ_val_orb_for_hf,2)] + implicit none + BEGIN_DOC + ! List of OCCUPIED valence orbitals for each spin to build the f_{HF}(r_1,r_2) function + ! + ! This corresponds to ALL OCCUPIED orbitals in the HF wave function, except those defined as "core" + ! + ! This determines the space \mathcal{A} of Eqs. (15-16) of Phys.Chem.Lett.2019, 10, 2931 2937 + END_DOC + integer :: i,j + j = 0 + ! You browse the ALPHA ELECTRONS and check if its not a CORE ORBITAL + do i = 1, elec_alpha_num + if( trim(mo_class(i))=="Inactive" & + .or. trim(mo_class(i))=="Active" & + .or. trim(mo_class(i))=="Virtual" )then + j +=1 + list_valence_orb_for_hf(j,1) = i + endif + enddo + + j = 0 + ! You browse the BETA ELECTRONS and check if its not a CORE ORBITAL + do i = 1, elec_beta_num + if( trim(mo_class(i))=="Inactive" & + .or. trim(mo_class(i))=="Active" & + .or. trim(mo_class(i))=="Virtual" )then + j +=1 + list_valence_orb_for_hf(j,2) = i + endif + enddo + +END_PROVIDER + +BEGIN_PROVIDER [integer, n_basis_orb] + implicit none + BEGIN_DOC + ! Defines the number of orbitals you will use to explore the basis set + ! + ! This determines the size of the space \mathcal{B} of Eqs. (15-16) of Phys.Chem.Lett.2019, 10, 2931 2937 + ! + ! It corresponds to all MOs except those defined as "deleted" + END_DOC + n_basis_orb = n_all_but_del_orb +END_PROVIDER + +BEGIN_PROVIDER [integer, list_basis, (n_basis_orb)] + implicit none + BEGIN_DOC + ! Defines the set of orbitals you will use to explore the basis set + ! + ! This determines the space \mathcal{B} of Eqs. (15-16) of Phys.Chem.Lett.2019, 10, 2931 2937 + ! + ! It corresponds to all MOs except those defined as "deleted" + END_DOC + integer :: i + do i = 1, n_all_but_del_orb + list_basis(i) = list_all_but_del_orb(i) + enddo +END_PROVIDER + +BEGIN_PROVIDER [double precision, basis_mos_in_r_array, (n_basis_orb,n_points_final_grid)] + implicit none + integer :: ipoint,i,ii + do ipoint = 1, n_points_final_grid + do i = 1, n_basis_orb + ii = list_basis(i) + basis_mos_in_r_array(i,ipoint) = mos_in_r_array(ii,ipoint) + enddo + enddo +END_PROVIDER diff --git a/src/mu_of_r/example.irp.f b/src/mu_of_r/example.irp.f new file mode 100644 index 00000000..b32f4f4f --- /dev/null +++ b/src/mu_of_r/example.irp.f @@ -0,0 +1,202 @@ + +subroutine test_f_HF_valence_ab + implicit none + BEGIN_DOC +! routine to test the function f_HF(r1,r2) +! +! the integral over r1,r2 should be equal to the alpha/beta interaction of HF determinant + END_DOC + integer :: ipoint,i,j,i_i,j_j,jpoint + double precision :: accu_val,accu_ful, weight1,weight2, r1(3),integral_psi_val,integral_psi,r2(3),two_bod + accu_2 = 0.d0 + ! You compute the coulomb repulsion between alpha-beta electrons for HF + do i = 1, n_occ_val_orb_for_hf(1) + i_i = list_valence_orb_for_hf(i,1) + do j = 1, n_occ_val_orb_for_hf(2) + j_j = list_valence_orb_for_hf(j,2) + accu_2 += mo_two_e_integrals_jj(j_j,i_i) + enddo + enddo + print*,'' + print*,'' + print*,'' + print*,'**************************' + print*,'**************************' + print*,'Routine to test the f_HF(r1,r2) function' + print*,'**************************' + print*,'' + print*,'' + print*,'' + print*,'**************************' + print*,' = ',accu_2 + print*,'**************************' + + print*,'semi analytical form ' + accu_val = 0.d0 + ! You integrate on r2 the analytical integral over r1 of f_HF(r1,r2) + do ipoint = 1, n_points_final_grid + weight1 =final_weight_at_r_vector(ipoint) + r2(1) = final_grid_points(1,ipoint) + r2(2) = final_grid_points(2,ipoint) + r2(3) = final_grid_points(3,ipoint) + call integral_f_HF_valence_ab(r2,integral_psi_val) + accu_val += integral_psi_val * weight1 + enddo + print*,'**************************' + ! Should give you the alpha-beta repulsion of HF, excluding core contributions, + print*,'int dr1 dr2 f_HF(r1,r2) = ',accu_val + double precision :: accu_2 + + + print*,'pure numerical form (might take quite some time as it grows as N_g^2 * N_e^2 * N_b^2 ...)' + ! You integrate brut force on r1 and r2 + accu_val = 0.d0 + do jpoint = 1, n_points_final_grid + weight1 =final_weight_at_r_vector(jpoint) + r1(1) = final_grid_points(1,jpoint) + r1(2) = final_grid_points(2,jpoint) + r1(3) = final_grid_points(3,jpoint) + do ipoint = 1, n_points_final_grid + weight2 =final_weight_at_r_vector(ipoint) + r2(1) = final_grid_points(1,ipoint) + r2(2) = final_grid_points(2,ipoint) + r2(3) = final_grid_points(3,ipoint) + call f_HF_valence_ab(r1,r2,integral_psi_val,two_bod) + accu_val += integral_psi_val * weight1 * weight2 + enddo + enddo + print*,'int dr1 dr2 f_HF(r1,r2) = ',accu_val + + + print*,'**************************' + print*,'**************************' + print*,'**************************' + accu_val = 0.d0 + r1 = 0.d0 + r1(1) = 0.5d0 + print*,'r1 = ',r1 + ! You compute the integral over r2 of f_HF(r1,r2) + call integral_f_HF_valence_ab(r1,integral_psi) + do ipoint = 1, n_points_final_grid + weight1 =final_weight_at_r_vector(ipoint) + r2(1) = final_grid_points(1,ipoint) + r2(2) = final_grid_points(2,ipoint) + r2(3) = final_grid_points(3,ipoint) + call f_HF_valence_ab(r1,r2,integral_psi_val,two_bod) + accu_val += integral_psi_val * weight1 + enddo + print*,'int dr2 f_HF(r1,r2) = ',integral_psi + print*,'analytical form = ',accu_val + print*,'**************************' +end + + + +subroutine test_f_ii_valence_ab + implicit none + BEGIN_DOC +! routine to test the function f_ii(r1,r2) +! +! it should be the same that f_HF(r1,r2) only for inactive orbitals + END_DOC + integer :: ipoint + double precision :: accu_f, accu_n2, weight, r1(3),r2(3) + double precision :: accu_f_on_top + double precision :: f_HF_val_ab,two_bod_dens_hf,f_ii_val_ab,two_bod_dens_ii + accu_f = 0.d0 + accu_n2 = 0.d0 + do ipoint = 1, n_points_final_grid + weight = final_weight_at_r_vector(ipoint) + r1(1) = final_grid_points(1,ipoint) + r1(2) = final_grid_points(2,ipoint) + r1(3) = final_grid_points(3,ipoint) + r2 = r1 + call f_HF_valence_ab(r1,r2,f_HF_val_ab,two_bod_dens_hf) + call give_f_ii_val_ab(r1,r2,f_ii_val_ab,two_bod_dens_ii) + accu_f += dabs(f_HF_val_ab - f_ii_val_ab) * weight + accu_n2+= dabs(two_bod_dens_hf - two_bod_dens_ii) * weight + accu_f_on_top += dabs(two_bod_dens_hf) * weight + enddo + print*,'**************************' + print*,'' + print*,'accu_f = ',accu_f + print*,'accu_n2 = ',accu_n2 + print*,'' + print*,'accu_f_on_top = ',accu_f_on_top +end + + +subroutine test_f_ia_valence_ab + implicit none + BEGIN_DOC +! routine to test the function f_ii(r1,r2), f_ia(r1,r2) and f_aa(r1,r2) + END_DOC + integer :: ipoint,istate + double precision :: accu_f, accu_n2, weight, r1(3),r2(3) + double precision :: accu_f_on_top + double precision :: f_ref,f_comp,on_top_ref,on_top_comp + double precision :: f_ii_val_ab,two_bod_dens_ii,f_ia_val_ab,two_bod_dens_ia,f_aa_val_ab,two_bod_dens_aa + double precision :: accu + accu_f = 0.d0 + accu_n2 = 0.d0 + accu = 0.d0 + istate = 1 + do ipoint = 1, n_points_final_grid + weight = final_weight_at_r_vector(ipoint) + r1(1) = final_grid_points(1,ipoint) + r1(2) = final_grid_points(2,ipoint) + r1(3) = final_grid_points(3,ipoint) + r2 = r1 + call give_f_ii_val_ab(r1,r2,f_ii_val_ab,two_bod_dens_ii) + call give_f_ia_val_ab(r1,r2,f_ia_val_ab,two_bod_dens_ia,istate) + call give_f_aa_val_ab(r1,r2,f_aa_val_ab,two_bod_dens_aa,istate) + f_ref = f_psi_cas_ab_old(ipoint,istate) + f_comp = f_ii_val_ab + f_ia_val_ab + f_aa_val_ab + on_top_ref = total_cas_on_top_density(ipoint,istate) + on_top_comp= two_bod_dens_ii + two_bod_dens_ia + two_bod_dens_aa + accu_f += dabs(f_ref - f_comp) * weight + accu_n2+= dabs(on_top_ref - on_top_comp) * weight + accu += f_ref * weight + enddo + print*,'**************************' + print*,'' + print*,'accu_f = ',accu_f + print*,'accu_n2 = ',accu_n2 + print*,'' + print*,'accu = ',accu + +end + +subroutine test_f_ii_ia_aa_valence_ab + implicit none + BEGIN_DOC +! routine to test the function f_Psi(r1,r2) based on core/inactive/active orbitals + END_DOC + integer :: ipoint,istate + double precision :: accu_f, accu_n2, weight, r1(3),r2(3) + double precision :: accu_f_on_top + double precision :: f_ref,f_comp,on_top_ref,on_top_comp + double precision :: f_ii_val_ab,two_bod_dens_ii,f_ia_val_ab,two_bod_dens_ia,f_aa_val_ab,two_bod_dens_aa + double precision :: accu + accu_f = 0.d0 + accu_n2 = 0.d0 + accu = 0.d0 + istate = 1 + do ipoint = 1, n_points_final_grid + weight = final_weight_at_r_vector(ipoint) + f_ref = f_psi_cas_ab(ipoint,istate) + f_comp = f_psi_cas_ab_old(ipoint,istate) + on_top_ref = total_cas_on_top_density(ipoint,istate) + on_top_comp= on_top_cas_mu_r(ipoint,istate) + accu_f += dabs(f_ref - f_comp) * weight + accu_n2+= dabs(on_top_ref - on_top_comp) * weight + accu += f_ref * weight + enddo + print*,'**************************' + print*,'' + print*,'accu_f = ',accu_f + print*,'accu_n2 = ',accu_n2 + print*,'' + print*,'accu = ',accu + +end diff --git a/src/mu_of_r/f_hf_utils.irp.f b/src/mu_of_r/f_hf_utils.irp.f new file mode 100644 index 00000000..b89dda18 --- /dev/null +++ b/src/mu_of_r/f_hf_utils.irp.f @@ -0,0 +1,138 @@ +BEGIN_PROVIDER [double precision, two_e_int_hf_f, (n_basis_orb,n_basis_orb,n_max_occ_val_orb_for_hf,n_max_occ_val_orb_for_hf)] + implicit none + BEGIN_DOC +! list of two-electron integrals (built with the MOs belonging to the \mathcal{B} space) +! +! needed to compute the function f_{HF}(r_1,r_2) +! +! two_e_int_hf_f(j,i,n,m) = < j i | n m > where all orbitals belong to "list_basis" + END_DOC + integer :: orb_i,orb_j,i,j,orb_m,orb_n,m,n + double precision :: get_two_e_integral + do orb_m = 1, n_max_occ_val_orb_for_hf! electron 1 + m = list_valence_orb_for_hf(orb_m,1) + do orb_n = 1, n_max_occ_val_orb_for_hf! electron 2 + n = list_valence_orb_for_hf(orb_n,1) + do orb_i = 1, n_basis_orb ! electron 1 + i = list_basis(orb_i) + do orb_j = 1, n_basis_orb ! electron 2 + j = list_basis(orb_j) + ! 2 1 2 1 + two_e_int_hf_f(orb_j,orb_i,orb_n,orb_m) = get_two_e_integral(m,n,i,j,mo_integrals_map) + enddo + enddo + enddo + enddo +END_PROVIDER + +subroutine f_HF_valence_ab(r1,r2,f_HF_val_ab,two_bod_dens) + implicit none + BEGIN_DOC +! f_HF_val_ab(r1,r2) = function f_{\Psi^B}(X_1,X_2) of Eq. (22) of J. Chem. Phys. 149, 194301 (2018) +! +! for alpha beta spins and an HF wave function and excluding the "core" orbitals (see Eq. 16a of Phys.Chem.Lett.2019, 10, 2931 2937) +! +! two_bod_dens = on-top pair density of the HF wave function +! +! < HF | wee_{\alpha\beta} | HF > = \int (r1,r2) f_HF_ab(r1,r2) excluding all contributions from "core" "electrons" + END_DOC + double precision, intent(in) :: r1(3), r2(3) + double precision, intent(out):: f_HF_val_ab,two_bod_dens + integer :: i,j,m,n,i_m,i_n + integer :: i_i,i_j + double precision :: mo_two_e_integral + double precision, allocatable :: mos_array_r1(:) + double precision, allocatable :: mos_array_r2(:) + double precision, allocatable :: mos_array_valence_r1(:),mos_array_valence_r2(:) + double precision, allocatable :: mos_array_valence_hf_r1(:),mos_array_valence_hf_r2(:) + double precision :: get_two_e_integral + allocate(mos_array_valence_r1(n_basis_orb) , mos_array_valence_r2(n_basis_orb), mos_array_r1(mo_num), mos_array_r2(mo_num)) + allocate(mos_array_valence_hf_r1(n_occ_val_orb_for_hf(1)) , mos_array_valence_hf_r2(n_occ_val_orb_for_hf(2)) ) + ! You get all orbitals in r_1 and r_2 + call give_all_mos_at_r(r1,mos_array_r1) + call give_all_mos_at_r(r2,mos_array_r2) + ! You extract the occupied ALPHA/BETA orbitals belonging to the space \mathcal{A} + do i_m = 1, n_occ_val_orb_for_hf(1) + mos_array_valence_hf_r1(i_m) = mos_array_r1(list_valence_orb_for_hf(i_m,1)) + enddo + do i_m = 1, n_occ_val_orb_for_hf(2) + mos_array_valence_hf_r2(i_m) = mos_array_r2(list_valence_orb_for_hf(i_m,2)) + enddo + + ! You extract the orbitals belonging to the space \mathcal{B} + do i_m = 1, n_basis_orb + mos_array_valence_r1(i_m) = mos_array_r1(list_basis(i_m)) + mos_array_valence_r2(i_m) = mos_array_r2(list_basis(i_m)) + enddo + + + f_HF_val_ab = 0.d0 + two_bod_dens = 0.d0 + ! You browse all OCCUPIED ALPHA electrons in the \mathcal{A} space + do m = 1, n_occ_val_orb_for_hf(1)! electron 1 + ! You browse all OCCUPIED BETA electrons in the \mathcal{A} space + do n = 1, n_occ_val_orb_for_hf(2)! electron 2 + ! two_bod_dens(r_1,r_2) = n_alpha(r_1) * n_beta(r_2) + two_bod_dens += mos_array_valence_hf_r1(m) * mos_array_valence_hf_r1(m) * mos_array_valence_hf_r2(n) * mos_array_valence_hf_r2(n) + ! You browse all COUPLE OF ORBITALS in the \mathacal{B} space + do i = 1, n_basis_orb + do j = 1, n_basis_orb + ! 2 1 2 1 + f_HF_val_ab += two_e_int_hf_f(j,i,n,m) & + * mos_array_valence_r1(i) * mos_array_valence_hf_r1(m) & + * mos_array_valence_r2(j) * mos_array_valence_hf_r2(n) + enddo + enddo + enddo + enddo +end + + +subroutine integral_f_HF_valence_ab(r1,int_f_HF_val_ab) + implicit none + BEGIN_DOC +! in_f_HF_val_ab(r_1) = \int dr_2 f_{\Psi^B}(r_1,r_2) +! +! where f_{\Psi^B}(r_1,r_2) is defined by Eq. (22) of J. Chem. Phys. 149, 194301 (2018) +! +! for alpha beta spins and an HF wave function and excluding the "core" orbitals (see Eq. 16a of Phys.Chem.Lett.2019, 10, 2931 2937) +! +! Such function can be used to test if the f_HF_val_ab(r_1,r_2) is correctly built. +! +! < HF | wee_{\alpha\beta} | HF > = \int (r1) int_f_HF_val_ab(r_1) + END_DOC + double precision, intent(in) :: r1(3) + double precision, intent(out):: int_f_HF_val_ab + integer :: i,j,m,n,i_m,i_n + integer :: i_i,i_j + double precision :: mo_two_e_integral + double precision :: mos_array_r1(mo_num) + double precision, allocatable :: mos_array_valence_r1(:) + double precision, allocatable :: mos_array_valence_hf_r1(:) + double precision :: get_two_e_integral + call give_all_mos_at_r(r1,mos_array_r1) + allocate(mos_array_valence_r1( n_basis_orb )) + allocate(mos_array_valence_hf_r1( n_occ_val_orb_for_hf(1) ) ) + do i_m = 1, n_occ_val_orb_for_hf(1) + mos_array_valence_hf_r1(i_m) = mos_array_r1(list_valence_orb_for_hf(i_m,1)) + enddo + do i_m = 1, n_basis_orb + mos_array_valence_r1(i_m) = mos_array_r1(list_basis(i_m)) + enddo + + int_f_HF_val_ab = 0.d0 + ! You browse all OCCUPIED ALPHA electrons in the \mathcal{A} space + do m = 1, n_occ_val_orb_for_hf(1)! electron 1 + ! You browse all OCCUPIED BETA electrons in the \mathcal{A} space + do n = 1, n_occ_val_orb_for_hf(2)! electron 2 + ! You browse all ORBITALS in the \mathacal{B} space + do i = 1, n_basis_orb + ! due to integration in real-space and the use of orthonormal MOs, a Kronecker delta_jn shoes up + j = n + ! 2 1 2 1 + int_f_HF_val_ab += two_e_int_hf_f(j,i,n,m) & + * mos_array_valence_r1(i) * mos_array_valence_hf_r1(m) + enddo + enddo + enddo +end diff --git a/src/mu_of_r/f_psi_i_a_v_utils.irp.f b/src/mu_of_r/f_psi_i_a_v_utils.irp.f new file mode 100644 index 00000000..21f330d6 --- /dev/null +++ b/src/mu_of_r/f_psi_i_a_v_utils.irp.f @@ -0,0 +1,313 @@ +subroutine give_f_ii_val_ab(r1,r2,f_ii_val_ab,two_bod_dens) + implicit none + BEGIN_DOC +! contribution from purely inactive orbitals to f_{\Psi^B}(r_1,r_2) for a CAS wave function + END_DOC + double precision, intent(in) :: r1(3),r2(3) + double precision, intent(out):: f_ii_val_ab,two_bod_dens + integer :: i,j,m,n,i_m,i_n + integer :: i_i,i_j + double precision, allocatable :: mos_array_inact_r1(:),mos_array_inact_r2(:) + double precision, allocatable :: mos_array_basis_r1(:),mos_array_basis_r2(:) + double precision, allocatable :: mos_array_r1(:) , mos_array_r2(:) + double precision :: get_two_e_integral + ! You get all orbitals in r_1 and r_2 + allocate(mos_array_r1(mo_num) , mos_array_r2(mo_num) ) + call give_all_mos_at_r(r1,mos_array_r1) + call give_all_mos_at_r(r2,mos_array_r2) + ! You extract the inactive orbitals + allocate(mos_array_inact_r1(n_inact_orb) , mos_array_inact_r2(n_inact_orb) ) + do i_m = 1, n_inact_orb + mos_array_inact_r1(i_m) = mos_array_r1(list_inact(i_m)) + enddo + do i_m = 1, n_inact_orb + mos_array_inact_r2(i_m) = mos_array_r2(list_inact(i_m)) + enddo + + ! You extract the orbitals belonging to the space \mathcal{B} + allocate(mos_array_basis_r1(n_basis_orb) , mos_array_basis_r2(n_basis_orb) ) + do i_m = 1, n_basis_orb + mos_array_basis_r1(i_m) = mos_array_r1(list_basis(i_m)) + mos_array_basis_r2(i_m) = mos_array_r2(list_basis(i_m)) + enddo + + f_ii_val_ab = 0.d0 + two_bod_dens = 0.d0 + ! You browse all OCCUPIED ALPHA electrons in the \mathcal{A} space + do m = 1, n_inact_orb ! electron 1 + ! You browse all OCCUPIED BETA electrons in the \mathcal{A} space + do n = 1, n_inact_orb ! electron 2 + ! two_bod_dens(r_1,r_2) = n_alpha(r_1) * n_beta(r_2) + two_bod_dens += mos_array_inact_r1(m) * mos_array_inact_r1(m) * mos_array_inact_r2(n) * mos_array_inact_r2(n) + ! You browse all COUPLE OF ORBITALS in the \mathacal{B} space + do i = 1, n_basis_orb + do j = 1, n_basis_orb + ! 2 1 2 1 + f_ii_val_ab += two_e_int_ii_f(j,i,n,m) * mos_array_inact_r1(m) * mos_array_basis_r1(i) & + * mos_array_inact_r2(n) * mos_array_basis_r2(j) + enddo + enddo + enddo + enddo +end + + +subroutine give_f_ia_val_ab(r1,r2,f_ia_val_ab,two_bod_dens,istate) + BEGIN_DOC +! contribution from inactive and active orbitals to f_{\Psi^B}(r_1,r_2) for the "istate" state of a CAS wave function + END_DOC + implicit none + integer, intent(in) :: istate + double precision, intent(in) :: r1(3),r2(3) + double precision, intent(out):: f_ia_val_ab,two_bod_dens + integer :: i,orb_i,a,orb_a,n,m,b + double precision :: rho + double precision, allocatable :: mos_array_r1(:) , mos_array_r2(:) + double precision, allocatable :: mos_array_inact_r1(:),mos_array_inact_r2(:) + double precision, allocatable :: mos_array_basis_r1(:),mos_array_basis_r2(:) + double precision, allocatable :: mos_array_act_r1(:),mos_array_act_r2(:) + double precision, allocatable :: integrals_array(:,:),rho_tilde(:,:),v_tilde(:,:) + + f_ia_val_ab = 0.d0 + two_bod_dens = 0.d0 + ! You get all orbitals in r_1 and r_2 + allocate(mos_array_r1(mo_num) , mos_array_r2(mo_num) ) + call give_all_mos_at_r(r1,mos_array_r1) + call give_all_mos_at_r(r2,mos_array_r2) + + ! You extract the inactive orbitals + allocate( mos_array_inact_r1(n_inact_orb) , mos_array_inact_r2(n_inact_orb) ) + do i = 1, n_inact_orb + mos_array_inact_r1(i) = mos_array_r1(list_inact(i)) + enddo + do i= 1, n_inact_orb + mos_array_inact_r2(i) = mos_array_r2(list_inact(i)) + enddo + + ! You extract the active orbitals + allocate( mos_array_act_r1(n_basis_orb) , mos_array_act_r2(n_basis_orb) ) + do i= 1, n_act_orb + mos_array_act_r1(i) = mos_array_r1(list_act(i)) + enddo + do i= 1, n_act_orb + mos_array_act_r2(i) = mos_array_r2(list_act(i)) + enddo + + ! You extract the orbitals belonging to the space \mathcal{B} + allocate( mos_array_basis_r1(n_basis_orb) , mos_array_basis_r2(n_basis_orb) ) + do i= 1, n_basis_orb + mos_array_basis_r1(i) = mos_array_r1(list_basis(i)) + enddo + do i= 1, n_basis_orb + mos_array_basis_r2(i) = mos_array_r2(list_basis(i)) + enddo + + ! Contracted density : intermediate quantity + ! rho_tilde(i,a) = \sum_b rho(b,a) * phi_i(1) * phi_j(2) + allocate(rho_tilde(n_inact_orb,n_act_orb)) + two_bod_dens = 0.d0 + do a = 1, n_act_orb + do i = 1, n_inact_orb + rho_tilde(i,a) = 0.d0 + do b = 1, n_act_orb + rho = one_e_act_dm_beta_mo_for_dft(b,a,istate) + one_e_act_dm_alpha_mo_for_dft(b,a,istate) + two_bod_dens += mos_array_inact_r1(i) * mos_array_inact_r1(i) * mos_array_act_r2(a) * mos_array_act_r2(b) * rho + rho_tilde(i,a) += rho * mos_array_inact_r1(i) * mos_array_act_r2(b) + enddo + enddo + enddo + + ! Contracted two-e integrals : intermediate quantity + ! v_tilde(i,a) = \sum_{m,n} phi_m(1) * phi_n(2) < i a | m n > + allocate( v_tilde(n_act_orb,n_act_orb) ) + allocate( integrals_array(mo_num,mo_num) ) + v_tilde = 0.d0 + do a = 1, n_act_orb + orb_a = list_act(a) + do i = 1, n_inact_orb + v_tilde(i,a) = 0.d0 + orb_i = list_inact(i) +! call get_mo_two_e_integrals_ij(orb_i,orb_a,mo_num,integrals_array,mo_integrals_map) + do m = 1, n_basis_orb + do n = 1, n_basis_orb +! v_tilde(i,a) += integrals_array(n,m) * mos_array_basis_r2(n) * mos_array_basis_r1(m) + v_tilde(i,a) += two_e_int_ia_f(n,m,i,a) * mos_array_basis_r2(n) * mos_array_basis_r1(m) + enddo + enddo + enddo + enddo + + do a = 1, n_act_orb + do i = 1, n_inact_orb + f_ia_val_ab += v_tilde(i,a) * rho_tilde(i,a) + enddo + enddo +end + + +subroutine give_f_aa_val_ab(r1,r2,f_aa_val_ab,two_bod_dens,istate) + BEGIN_DOC +! contribution from purely active orbitals to f_{\Psi^B}(r_1,r_2) for the "istate" state of a CAS wave function + END_DOC + implicit none + integer, intent(in) :: istate + double precision, intent(in) :: r1(3),r2(3) + double precision, intent(out):: f_aa_val_ab,two_bod_dens + integer :: i,orb_i,a,orb_a,n,m,b,c,d + double precision :: rho + double precision, allocatable :: mos_array_r1(:) , mos_array_r2(:) + double precision, allocatable :: mos_array_basis_r1(:),mos_array_basis_r2(:) + double precision, allocatable :: mos_array_act_r1(:),mos_array_act_r2(:) + double precision, allocatable :: integrals_array(:,:),rho_tilde(:,:),v_tilde(:,:) + + f_aa_val_ab = 0.d0 + two_bod_dens = 0.d0 + ! You get all orbitals in r_1 and r_2 + allocate(mos_array_r1(mo_num) , mos_array_r2(mo_num) ) + call give_all_mos_at_r(r1,mos_array_r1) + call give_all_mos_at_r(r2,mos_array_r2) + + ! You extract the active orbitals + allocate( mos_array_act_r1(n_basis_orb) , mos_array_act_r2(n_basis_orb) ) + do i= 1, n_act_orb + mos_array_act_r1(i) = mos_array_r1(list_act(i)) + enddo + do i= 1, n_act_orb + mos_array_act_r2(i) = mos_array_r2(list_act(i)) + enddo + + ! You extract the orbitals belonging to the space \mathcal{B} + allocate( mos_array_basis_r1(n_basis_orb) , mos_array_basis_r2(n_basis_orb) ) + do i= 1, n_basis_orb + mos_array_basis_r1(i) = mos_array_r1(list_basis(i)) + enddo + do i= 1, n_basis_orb + mos_array_basis_r2(i) = mos_array_r2(list_basis(i)) + enddo + + ! Contracted density : intermediate quantity + ! rho_tilde(i,a) = \sum_b rho(b,a) * phi_i(1) * phi_j(2) + allocate(rho_tilde(n_act_orb,n_act_orb)) + two_bod_dens = 0.d0 + rho_tilde = 0.d0 + do a = 1, n_act_orb ! 1 + do b = 1, n_act_orb ! 2 + do c = 1, n_act_orb ! 1 + do d = 1, n_act_orb ! 2 + rho = mos_array_act_r1(c) * mos_array_act_r2(d) * act_2_rdm_ab_mo(d,c,b,a,istate) + rho_tilde(b,a) += rho + two_bod_dens += rho * mos_array_act_r1(a) * mos_array_act_r2(b) + enddo + enddo + enddo + enddo + + ! Contracted two-e integrals : intermediate quantity + ! v_tilde(i,a) = \sum_{m,n} phi_m(1) * phi_n(2) < i a | m n > + allocate( v_tilde(n_act_orb,n_act_orb) ) + v_tilde = 0.d0 + do a = 1, n_act_orb + do b = 1, n_act_orb + v_tilde(b,a) = 0.d0 + do m = 1, n_basis_orb + do n = 1, n_basis_orb + v_tilde(b,a) += two_e_int_aa_f(n,m,b,a) * mos_array_basis_r2(n) * mos_array_basis_r1(m) + enddo + enddo + enddo + enddo + + do a = 1, n_act_orb + do b = 1, n_act_orb + f_aa_val_ab += v_tilde(b,a) * rho_tilde(b,a) + enddo + enddo +end + +BEGIN_PROVIDER [double precision, two_e_int_aa_f, (n_basis_orb,n_basis_orb,n_act_orb,n_act_orb)] + implicit none + BEGIN_DOC +! list of two-electron integrals (built with the MOs belonging to the \mathcal{B} space) +! +! needed to compute the function f_{ii}(r_1,r_2) +! +! two_e_int_aa_f(j,i,n,m) = < j i | n m > where all orbitals belong to "list_basis" + END_DOC + integer :: orb_i,orb_j,i,j,orb_m,orb_n,m,n + double precision :: integrals_array(mo_num,mo_num),get_two_e_integral + do orb_m = 1, n_act_orb ! electron 1 + m = list_act(orb_m) + do orb_n = 1, n_act_orb ! electron 2 + n = list_act(orb_n) + call get_mo_two_e_integrals_ij(m,n,mo_num,integrals_array,mo_integrals_map) + do orb_i = 1, n_basis_orb ! electron 1 + i = list_basis(orb_i) + do orb_j = 1, n_basis_orb ! electron 2 + j = list_basis(orb_j) + ! 2 1 2 1 + two_e_int_aa_f(orb_j,orb_i,orb_n,orb_m) = get_two_e_integral(m,n,i,j,mo_integrals_map) +! two_e_int_aa_f(orb_j,orb_i,orb_n,orb_m) = integrals_array(j,i) + enddo + enddo + enddo + enddo +END_PROVIDER + +BEGIN_PROVIDER [double precision, two_e_int_ia_f, (n_basis_orb,n_basis_orb,n_inact_orb,n_act_orb)] + implicit none + BEGIN_DOC +! list of two-electron integrals (built with the MOs belonging to the \mathcal{B} space) +! +! needed to compute the function f_{ia}(r_1,r_2) +! +! two_e_int_aa_f(j,i,n,m) = < j i | n m > where all orbitals belong to "list_basis" + END_DOC + integer :: orb_i,orb_j,i,j,orb_m,orb_n,m,n + double precision :: integrals_array(mo_num,mo_num),get_two_e_integral + do orb_m = 1, n_act_orb ! electron 1 + m = list_act(orb_m) + do orb_n = 1, n_inact_orb ! electron 2 + n = list_inact(orb_n) + call get_mo_two_e_integrals_ij(m,n,mo_num,integrals_array,mo_integrals_map) + do orb_i = 1, n_basis_orb ! electron 1 + i = list_basis(orb_i) + do orb_j = 1, n_basis_orb ! electron 2 + j = list_basis(orb_j) + ! 2 1 2 1 +! two_e_int_ia_f(orb_j,orb_i,orb_n,orb_m) = get_two_e_integral(m,n,i,j,mo_integrals_map) + two_e_int_ia_f(orb_j,orb_i,orb_n,orb_m) = integrals_array(j,i) + enddo + enddo + enddo + enddo +END_PROVIDER + +BEGIN_PROVIDER [double precision, two_e_int_ii_f, (n_basis_orb,n_basis_orb,n_inact_orb,n_inact_orb)] + implicit none + BEGIN_DOC +! list of two-electron integrals (built with the MOs belonging to the \mathcal{B} space) +! +! needed to compute the function f_{ii}(r_1,r_2) +! +! two_e_int_ii_f(j,i,n,m) = < j i | n m > where all orbitals belong to "list_basis" + END_DOC + integer :: orb_i,orb_j,i,j,orb_m,orb_n,m,n + double precision :: get_two_e_integral,integrals_array(mo_num,mo_num) + do orb_m = 1, n_inact_orb ! electron 1 + m = list_inact(orb_m) + do orb_n = 1, n_inact_orb ! electron 2 + n = list_inact(orb_n) + call get_mo_two_e_integrals_ij(m,n,mo_num,integrals_array,mo_integrals_map) + do orb_i = 1, n_basis_orb ! electron 1 + i = list_basis(orb_i) + do orb_j = 1, n_basis_orb ! electron 2 + j = list_basis(orb_j) + ! 2 1 2 1 +! two_e_int_ii_f(orb_j,orb_i,orb_n,orb_m) = get_two_e_integral(m,n,i,j,mo_integrals_map) + two_e_int_ii_f(orb_j,orb_i,orb_n,orb_m) = integrals_array(j,i) + enddo + enddo + enddo + enddo +END_PROVIDER + diff --git a/src/mu_of_r/f_psi_old.irp.f b/src/mu_of_r/f_psi_old.irp.f new file mode 100644 index 00000000..643b0608 --- /dev/null +++ b/src/mu_of_r/f_psi_old.irp.f @@ -0,0 +1,39 @@ + + +BEGIN_PROVIDER [double precision, f_psi_cas_ab_old, (n_points_final_grid,N_states)] + implicit none + BEGIN_DOC +! +! Function f_{\Psi^B}(r,r) of Eq. (22) of J. Chem. Phys. 149, 194301 (2018) on each point of the grid and for all states +! +! Assumes that the wave function in psi_det is developped within an active space defined +! + END_DOC + integer :: ipoint,k,l,istate + double precision :: wall0,wall1 + print*,'Providing f_psi_cas_ab_old ..... ' + provide full_occ_2_rdm_ab_mo + call wall_time(wall0) + provide core_inact_act_V_kl_contracted full_occ_2_rdm_cntrctd + !$OMP PARALLEL & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (ipoint,k,l,istate) & + !$OMP SHARED (n_core_inact_act_orb, n_points_final_grid, full_occ_2_rdm_cntrctd, core_inact_act_V_kl_contracted, f_psi_cas_ab_old,N_states) + !$OMP DO + do istate = 1, N_states + do ipoint = 1, n_points_final_grid + f_psi_cas_ab_old(ipoint,istate) = 0.d0 + do l = 1, n_core_inact_act_orb ! 2 + do k = 1, n_core_inact_act_orb ! 1 + f_psi_cas_ab_old(ipoint,istate) += core_inact_act_V_kl_contracted(k,l,ipoint) * full_occ_2_rdm_cntrctd(k,l,ipoint,istate) + enddo + enddo + enddo + enddo + !$OMP END DO + !$OMP END PARALLEL + call wall_time(wall1) + print*,'Time to provide f_psi_cas_ab_old = ',wall1 - wall0 +END_PROVIDER + + diff --git a/src/mu_of_r/f_psi_utils.irp.f b/src/mu_of_r/f_psi_utils.irp.f new file mode 100644 index 00000000..bdd76f18 --- /dev/null +++ b/src/mu_of_r/f_psi_utils.irp.f @@ -0,0 +1,151 @@ +BEGIN_PROVIDER [double precision, core_inact_act_V_kl_contracted, (n_core_inact_act_orb,n_core_inact_act_orb,n_points_final_grid)] + implicit none + BEGIN_DOC +! core_inact_act_V_kl_contracted(k,l,ipoint) = \sum_{ij} V_{ij}^{kl} phi_i(r_ipoint) phi_j(r_ipoint) +! +! This is needed to build the function f_{\Psi^B}(X_1,X_2) of Eq. (22) of J. Chem. Phys. 149, 194301 (2018) +! + END_DOC + integer :: ipoint,k,l + do k = 1, n_core_inact_act_orb + do l = 1, n_core_inact_act_orb + do ipoint = 1, n_points_final_grid + core_inact_act_V_kl_contracted(k,l,ipoint) = full_occ_v_kl_cntrctd(ipoint,k,l) + enddo + enddo + enddo + free full_occ_v_kl_cntrctd + +END_PROVIDER + +BEGIN_PROVIDER [double precision, full_occ_2_rdm_cntrctd, (n_core_inact_act_orb,n_core_inact_act_orb,n_points_final_grid,N_states)] + implicit none + BEGIN_DOC +! full_occ_2_rdm_cntrctd(k,l,ipoint,istate) = \sum_{ij} \Gamma_{ij}^{kl} phi_i(r_ipoint) phi_j(r_ipoint) +! +! where \Gamma_{ij}^{kl}(istate) = +! +! This is needed to build the function f_{\Psi^B}(X_1,X_2) of Eq. (22) of J. Chem. Phys. 149, 194301 (2018) +! + END_DOC + integer :: ipoint,k,l,istate + do istate = 1, N_states + do k = 1, n_core_inact_act_orb + do l = 1, n_core_inact_act_orb + do ipoint = 1, n_points_final_grid + full_occ_2_rdm_cntrctd(k,l,ipoint,istate) = full_occ_2_rdm_cntrctd_trans(ipoint,k,l,istate) + enddo + enddo + enddo + enddo + free full_occ_2_rdm_cntrctd_trans +END_PROVIDER + + + + +BEGIN_PROVIDER [double precision, full_occ_2_rdm_cntrctd_trans, (n_points_final_grid,n_core_inact_act_orb,n_core_inact_act_orb,N_states)] + implicit none + BEGIN_DOC +! full_occ_2_rdm_cntrctd_trans(ipoint,k,l,istate) = \sum_{ij} \Gamma_{ij}^{kl} phi_i(r_ipoint) phi_j(r_ipoint) +! +! where \Gamma_{ij}^{kl}(istate) = +! +! This is needed to build the function f_{\Psi^B}(X_1,X_2) of Eq. (22) of J. Chem. Phys. 149, 194301 (2018) +! + END_DOC + integer :: i,j,k,l,istate + integer :: ipoint + double precision, allocatable :: mos_array_r(:),r(:) + provide full_occ_2_rdm_ab_mo + double precision :: wall0,wall1 + print*,'Providing full_occ_2_rdm_cntrctd_trans ..... ' + call wall_time(wall0) + full_occ_2_rdm_cntrctd_trans = 0.d0 + !$OMP PARALLEL & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (ipoint,k,l,i,j,istate) & + !$OMP SHARED (n_core_inact_act_orb, n_points_final_grid, full_occ_2_rdm_cntrctd_trans, final_grid_points,full_occ_2_rdm_ab_mo,core_inact_act_mos_in_r_array,N_states ) + !$OMP DO + do istate = 1, N_states + do l = 1, n_core_inact_act_orb ! 2 + do k = 1, n_core_inact_act_orb ! 1 + do ipoint = 1, n_points_final_grid + do j = 1, n_core_inact_act_orb + do i = 1, n_core_inact_act_orb + ! 1 2 1 2 + full_occ_2_rdm_cntrctd_trans(ipoint,k,l,istate) += full_occ_2_rdm_ab_mo(i,j,k,l,istate) * core_inact_act_mos_in_r_array(j,ipoint) * core_inact_act_mos_in_r_array(i,ipoint) + enddo + enddo + enddo + enddo + enddo + enddo + !$OMP END DO + !$OMP END PARALLEL + call wall_time(wall1) + print*,'Time to provide full_occ_2_rdm_cntrctd_trans = ',wall1 - wall0 + +END_PROVIDER + + + +BEGIN_PROVIDER [double precision, full_occ_v_kl_cntrctd, (n_points_final_grid,n_core_inact_act_orb,n_core_inact_act_orb)] + implicit none + BEGIN_DOC +! full_occ_v_kl_cntrctd(ipoint,k,l) = \sum_{ij} V_{ij}^{kl} phi_i(r_ipoint) phi_j(r_ipoint) +! +! This is needed to build the function f_{\Psi^B}(X_1,X_2) of Eq. (22) of J. Chem. Phys. 149, 194301 (2018) +! + END_DOC + integer :: i,j,k,l,kk,ll,ii,jj + integer :: ipoint + double precision, allocatable :: integrals_array(:,:), mos_array_r(:),r(:), integrals_basis(:,:) + ! just not to mess with parallelization + allocate(integrals_array(mo_num,mo_num)) + k = 1 + l = 1 + call get_mo_two_e_integrals_ij(k,l,mo_num,integrals_array,mo_integrals_map) + provide basis_mos_in_r_array + deallocate(integrals_array) + double precision :: wall0,wall1 + call wall_time(wall0) + + full_occ_v_kl_cntrctd = 0.d0 + print*,'Providing full_occ_v_kl_cntrctd ..... ' + !$OMP PARALLEL & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (ipoint,kk,ll,k,l,i,j,ii,jj,integrals_array,integrals_basis) & + !$OMP SHARED (mo_num, n_points_final_grid, n_basis_orb, list_basis, full_occ_v_kl_cntrctd, mo_integrals_map,final_grid_points,basis_mos_in_r_array, n_core_inact_act_orb, list_core_inact_act) + allocate(integrals_array(mo_num,mo_num), integrals_basis(n_basis_orb,n_basis_orb)) + !$OMP DO + do l = 1, n_core_inact_act_orb! 2 + ll = list_core_inact_act(l) + do k = 1, n_core_inact_act_orb ! 1 + kk = list_core_inact_act(k) + call get_mo_two_e_integrals_ij(kk,ll,mo_num,integrals_array,mo_integrals_map) + do j = 1, n_basis_orb + jj = list_basis(j) + do i = 1, n_basis_orb + ii = list_basis(i) + integrals_basis(i,j) = integrals_array(ii,jj) + enddo + enddo + do ipoint = 1, n_points_final_grid + do j = 1, n_basis_orb ! condition on mo_num in order to ensure the correct CBS limit + do i = 1, n_basis_orb ! + !1 2 1 2 + full_occ_v_kl_cntrctd(ipoint,k,l) += integrals_basis(i,j) * basis_mos_in_r_array(j,ipoint) * basis_mos_in_r_array(i,ipoint) + enddo + enddo + enddo + enddo + enddo + !$OMP END DO + deallocate(integrals_array,integrals_basis) + !$OMP END PARALLEL + + call wall_time(wall1) + print*,'Time to provide full_occ_v_kl_cntrctd = ',wall1 - wall0 +END_PROVIDER + diff --git a/src/mu_of_r/f_val_general.irp.f b/src/mu_of_r/f_val_general.irp.f new file mode 100644 index 00000000..7939dbf0 --- /dev/null +++ b/src/mu_of_r/f_val_general.irp.f @@ -0,0 +1,90 @@ + BEGIN_PROVIDER [double precision, f_psi_cas_ab, (n_points_final_grid,N_states)] +&BEGIN_PROVIDER [double precision, on_top_cas_mu_r, (n_points_final_grid,N_states)] + implicit none + BEGIN_DOC +! +! Function f_{\Psi^B}(r,r) of Eq. (22) of J. Chem. Phys. 149, 194301 (2018) on each point of the grid and for all states and for a CAS wave function +! +! Assumes that the wave function in psi_det is developped within an active space defined +! + END_DOC + integer :: ipoint,istate + double precision :: wall0,wall1,r(3) + double precision :: f_ii_val_ab,two_bod_dens_ii,f_ia_val_ab,two_bod_dens_ia,f_aa_val_ab,two_bod_dens_aa + double precision :: accu + accu = 0.d0 + r = 0.d0 + istate = 1 + ! To initialize parallelization + call give_f_ii_val_ab(r,r,f_ii_val_ab,two_bod_dens_ii) + call give_f_ia_val_ab(r,r,f_ia_val_ab,two_bod_dens_ia,istate) + call give_f_aa_val_ab(r,r,f_aa_val_ab,two_bod_dens_aa,istate) + provide final_grid_points act_2_rdm_ab_mo + + print*,'Providing f_psi_cas_ab..... ' + + + call wall_time(wall0) + do istate = 1, N_states + !$OMP PARALLEL & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (ipoint,r,f_ii_val_ab,two_bod_dens_ii,f_ia_val_ab,two_bod_dens_ia,f_aa_val_ab,two_bod_dens_aa) & + !$OMP SHARED (n_points_final_grid,f_psi_cas_ab,on_top_cas_mu_r,final_grid_points,istate) + !$OMP DO + do ipoint = 1, n_points_final_grid + r(1) = final_grid_points(1,ipoint) + r(2) = final_grid_points(2,ipoint) + r(3) = final_grid_points(3,ipoint) + ! inactive-inactive part of f_psi(r1,r2) + call give_f_ii_val_ab(r,r,f_ii_val_ab,two_bod_dens_ii) + ! inactive-active part of f_psi(r1,r2) + call give_f_ia_val_ab(r,r,f_ia_val_ab,two_bod_dens_ia,istate) + ! active-active part of f_psi(r1,r2) + call give_f_aa_val_ab(r,r,f_aa_val_ab,two_bod_dens_aa,istate) + f_psi_cas_ab(ipoint,istate) = f_ii_val_ab + f_ia_val_ab + f_aa_val_ab + on_top_cas_mu_r(ipoint,istate) = two_bod_dens_ii + two_bod_dens_ia + two_bod_dens_aa + enddo + !$OMP END DO + !$OMP END PARALLEL + enddo + call wall_time(wall1) + print*,'Time to provide f_psi_cas_ab = ',wall1 - wall0 + print*,'accu = ',accu + +END_PROVIDER + + BEGIN_PROVIDER [double precision, f_psi_hf_ab, (n_points_final_grid)] +&BEGIN_PROVIDER [double precision, on_top_hf_mu_r, (n_points_final_grid)] + implicit none + BEGIN_DOC +! +! Function f_{\Psi^B}(r,r) of Eq. (22) of J. Chem. Phys. 149, 194301 (2018) on each point of the grid for a HF wave function +! + END_DOC + integer :: ipoint + double precision :: wall0,wall1,r(3),f_HF_val_ab,two_bod_dens + f_psi_hf_ab = 0.d0 + r = 0.d0 + ! To initialize parallelization + call f_HF_valence_ab(r,r,f_HF_val_ab,two_bod_dens) + + call wall_time(wall0) + !$OMP PARALLEL & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (ipoint,r,f_HF_val_ab,two_bod_dens) & + !$OMP SHARED (n_points_final_grid,f_psi_hf_ab,on_top_hf_mu_r,final_grid_points) + !$OMP DO + do ipoint = 1, n_points_final_grid + r(1) = final_grid_points(1,ipoint) + r(2) = final_grid_points(2,ipoint) + r(3) = final_grid_points(3,ipoint) + call f_HF_valence_ab(r,r,f_HF_val_ab,two_bod_dens) + f_psi_hf_ab(ipoint) = f_HF_val_ab + on_top_hf_mu_r(ipoint) = two_bod_dens + enddo + !$OMP END DO + !$OMP END PARALLEL + call wall_time(wall1) + print*,'Time to provide f_psi_hf_ab = ',wall1 - wall0 + +END_PROVIDER diff --git a/src/mu_of_r/mu_of_r_conditions.irp.f b/src/mu_of_r/mu_of_r_conditions.irp.f new file mode 100644 index 00000000..05a2a4d7 --- /dev/null +++ b/src/mu_of_r/mu_of_r_conditions.irp.f @@ -0,0 +1,150 @@ + + BEGIN_PROVIDER [double precision, mu_of_r_prov, (n_points_final_grid,N_states) ] + implicit none + BEGIN_DOC + ! general variable for mu(r) + ! + ! corresponds to Eq. (37) of J. Chem. Phys. 149, 194301 (2018) + ! + ! !!!!!! WARNING !!!!!! if no_core_density == .True. then all contributions from the core orbitals + ! + ! in the two-body density matrix are excluded + END_DOC + integer :: ipoint,istate + double precision :: wall0,wall1 + print*,'providing mu_of_r ...' +! PROVIDE mo_two_e_integrals_in_map mo_integrals_map big_array_exchange_integrals + call wall_time(wall0) + + if (read_mu_of_r) then + print*,'Reading mu(r) from disk ...' + call ezfio_get_mu_of_r_mu_of_r_disk(mu_of_r_prov) + return + endif + + do istate = 1, N_states + do ipoint = 1, n_points_final_grid + if(mu_of_r_potential.EQ."hf")then + mu_of_r_prov(ipoint,istate) = mu_of_r_hf(ipoint) + else if(mu_of_r_potential.EQ."cas_ful".or.mu_of_r_potential.EQ."cas_truncated")then + mu_of_r_prov(ipoint,istate) = mu_of_r_psi_cas(ipoint,istate) + else + print*,'you requested the following mu_of_r_potential' + print*,mu_of_r_potential + print*,'which does not correspond to any of the options for such keyword' + stop + endif + enddo + enddo + + if (write_mu_of_r) then + print*,'Writing mu(r) on disk ...' + call ezfio_set_mu_of_r_io_mu_of_r('Read') + call ezfio_set_mu_of_r_mu_of_r_disk(mu_of_r_prov) + endif + + call wall_time(wall1) + print*,'Time to provide mu_of_r = ',wall1-wall0 + END_PROVIDER + + + BEGIN_PROVIDER [double precision, mu_of_r_hf, (n_points_final_grid) ] + implicit none + BEGIN_DOC + ! mu(r) computed with a HF wave function (assumes that HF MOs are stored in the EZFIO) + ! + ! corresponds to Eq. (37) of J. Chem. Phys. 149, 194301 (2018) but for \Psi^B = HF^B + ! + ! !!!!!! WARNING !!!!!! if no_core_density == .True. then all contributions from the core orbitals + ! + ! in the two-body density matrix are excluded + END_DOC + integer :: ipoint + double precision :: wall0,wall1,f_hf,on_top,w_hf,sqpi + PROVIDE mo_two_e_integrals_in_map mo_integrals_map big_array_exchange_integrals + print*,'providing mu_of_r_hf ...' + call wall_time(wall0) + sqpi = dsqrt(dacos(-1.d0)) + provide f_psi_hf_ab + !$OMP PARALLEL DO & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (ipoint,f_hf,on_top,w_hf) & + !$OMP ShARED (n_points_final_grid,mu_of_r_hf,f_psi_hf_ab,on_top_hf_mu_r,sqpi) + do ipoint = 1, n_points_final_grid + f_hf = f_psi_hf_ab(ipoint) + on_top = on_top_hf_mu_r(ipoint) + if(on_top.le.1.d-12.or.f_hf.le.0.d0.or.f_hf * on_top.lt.0.d0)then + w_hf = 1.d+10 + else + w_hf = f_hf / on_top + endif + mu_of_r_hf(ipoint) = w_hf * sqpi * 0.5d0 + enddo + !$OMP END PARALLEL DO + call wall_time(wall1) + print*,'Time to provide mu_of_r_hf = ',wall1-wall0 + END_PROVIDER + + BEGIN_PROVIDER [double precision, mu_of_r_psi_cas, (n_points_final_grid,N_states) ] + implicit none + BEGIN_DOC + ! mu(r) computed with a wave function developped in an active space + ! + ! corresponds to Eq. (37) of J. Chem. Phys. 149, 194301 (2018) + ! + ! !!!!!! WARNING !!!!!! if no_core_density == .True. then all contributions from the core orbitals + ! + ! in the one- and two-body density matrix are excluded + END_DOC + integer :: ipoint,istate + double precision :: wall0,wall1,f_psi,on_top,w_psi,sqpi + print*,'providing mu_of_r_psi_cas ...' + call wall_time(wall0) + sqpi = dsqrt(dacos(-1.d0)) + + provide f_psi_cas_ab + !$OMP PARALLEL DO & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (ipoint,f_psi,on_top,w_psi,istate) & + !$OMP SHARED (n_points_final_grid,mu_of_r_psi_cas,f_psi_cas_ab,on_top_cas_mu_r,sqpi,N_states) + do istate = 1, N_states + do ipoint = 1, n_points_final_grid + f_psi = f_psi_cas_ab(ipoint,istate) + on_top = on_top_cas_mu_r(ipoint,istate) + if(on_top.le.1.d-12.or.f_psi.le.0.d0.or.f_psi * on_top.lt.0.d0)then + w_psi = 1.d+10 + else + w_psi = f_psi / on_top + endif + mu_of_r_psi_cas(ipoint,istate) = w_psi * sqpi * 0.5d0 + enddo + enddo + !$OMP END PARALLEL DO + call wall_time(wall1) + print*,'Time to provide mu_of_r_psi_cas = ',wall1-wall0 + END_PROVIDER + + + BEGIN_PROVIDER [double precision, mu_average_prov, (N_states)] + implicit none + BEGIN_DOC + ! average value of mu(r) weighted with the total one-e density and divised by the number of electrons + ! + ! !!!!!! WARNING !!!!!! if no_core_density == .True. then all contributions from the core orbitals + ! + ! in the one- and two-body density matrix are excluded + END_DOC + integer :: ipoint,istate + double precision :: weight,density + mu_average_prov = 0.d0 + do istate = 1, N_states + do ipoint = 1, n_points_final_grid + weight =final_weight_at_r_vector(ipoint) + density = one_e_dm_and_grad_alpha_in_r(4,ipoint,istate) & + + one_e_dm_and_grad_beta_in_r(4,ipoint,istate) + if(mu_of_r_prov(ipoint,istate).gt.1.d+09)cycle + mu_average_prov(istate) += mu_of_r_prov(ipoint,istate) * weight * density + enddo + mu_average_prov(istate) = mu_average_prov(istate) / elec_num_grid_becke(istate) + enddo + END_PROVIDER diff --git a/src/mu_of_r/test_proj_op.irp.f b/src/mu_of_r/test_proj_op.irp.f new file mode 100644 index 00000000..1d46da5e --- /dev/null +++ b/src/mu_of_r/test_proj_op.irp.f @@ -0,0 +1,21 @@ +program projected_operators + implicit none + BEGIN_DOC +! TODO + END_DOC + read_wf = .True. + touch read_wf + ! You specify that you want to avoid any contribution from + ! orbitals coming from core + no_core_density = .True. + touch no_core_density + mu_of_r_potential = "cas_ful" + touch mu_of_r_potential + print*,'Using Valence Only functions' +! call test_f_HF_valence_ab +! call routine_full_mos +! call test_f_ii_valence_ab + call test_f_ia_valence_ab + call test_f_ii_ia_aa_valence_ab +end + From 2fc294cd566752d9768712eecb0b3be08c6c1d1d Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Tue, 7 Apr 2020 11:03:19 +0200 Subject: [PATCH 058/138] properly added basis_correction --- src/basis_correction/NEED | 3 + src/basis_correction/README.rst | 27 +++ src/basis_correction/TODO | 1 + src/basis_correction/basis_correction.irp.f | 27 +++ src/basis_correction/eff_xi_based_func.irp.f | 92 +++++++++ src/basis_correction/pbe_on_top.irp.f | 121 ++++++++++++ src/basis_correction/print_routine.irp.f | 82 ++++++++ src/basis_correction/weak_corr_func.irp.f | 83 ++++++++ src/ecmd_utils/NEED | 1 + src/ecmd_utils/README.rst | 4 + src/ecmd_utils/ecmd_lda.irp.f | 152 +++++++++++++++ src/ecmd_utils/ecmd_pbe_general.irp.f | 53 +++++ src/ecmd_utils/ecmd_pbe_on_top.irp.f | 72 +++++++ src/ecmd_utils/ecmd_pbe_ueg.irp.f | 194 +++++++++++++++++++ src/ecmd_utils/on_top_from_ueg.irp.f | 94 +++++++++ 15 files changed, 1006 insertions(+) create mode 100644 src/basis_correction/NEED create mode 100644 src/basis_correction/README.rst create mode 100644 src/basis_correction/TODO create mode 100644 src/basis_correction/basis_correction.irp.f create mode 100644 src/basis_correction/eff_xi_based_func.irp.f create mode 100644 src/basis_correction/pbe_on_top.irp.f create mode 100644 src/basis_correction/print_routine.irp.f create mode 100644 src/basis_correction/weak_corr_func.irp.f create mode 100644 src/ecmd_utils/NEED create mode 100644 src/ecmd_utils/README.rst create mode 100644 src/ecmd_utils/ecmd_lda.irp.f create mode 100644 src/ecmd_utils/ecmd_pbe_general.irp.f create mode 100644 src/ecmd_utils/ecmd_pbe_on_top.irp.f create mode 100644 src/ecmd_utils/ecmd_pbe_ueg.irp.f create mode 100644 src/ecmd_utils/on_top_from_ueg.irp.f diff --git a/src/basis_correction/NEED b/src/basis_correction/NEED new file mode 100644 index 00000000..212e2566 --- /dev/null +++ b/src/basis_correction/NEED @@ -0,0 +1,3 @@ +mu_of_r +ecmd_utils +dft_one_e diff --git a/src/basis_correction/README.rst b/src/basis_correction/README.rst new file mode 100644 index 00000000..311fec1c --- /dev/null +++ b/src/basis_correction/README.rst @@ -0,0 +1,27 @@ +================ +basis_correction +================ + +This module proposes the various flavours of the DFT-based basis set correction originally proposed in J. Chem. Phys. 149, 194301 (2018); https://doi.org/10.1063/1.5052714. + +This basis set correction relies mainy on : + + +) The definition of a range-separation function \mu(r) varying in space to mimic the incompleteness of the basis set used to represent the coulomb interaction. This procedure needs a two-body rdm representing qualitatively the spacial distribution of the opposite spin electron pairs. + Two types of \mu(r) are proposed, according to the strength of correlation, through the keyword "mu_of_r_potential" in the module "mu_of_r": + a) "mu_of_r_potential = hf" uses the two-body rdm of a HF-like wave function (i.e. a single Slater determinant developped with the MOs stored in the EZFIO folder). + When HF is a qualitative representation of the electron pairs (i.e. weakly correlated systems), such an approach for \mu(r) is OK. + See for instance JPCL, 10, 2931-2937 (2019) for typical flavours of the results. + Thanks to the trivial nature of such a two-body rdm, the equation (22) of J. Chem. Phys. 149, 194301 (2018) can be rewritten in a very efficient way, and therefore the limiting factor of such an approach is the AO->MO four-index transformation of the two-electron integrals. + b) "mu_of_r_potential = cas_ful" uses the two-body rdm of CAS-like wave function (i.e. linear combination of Slater determinants developped in an active space with the MOs stored in the EZFIO folder). + If the CAS is properly chosen (i.e. the CAS-like wave function qualitatively represents the wave function of the systems), then such an approach is OK for \mu(r) even in the case of strong correlation. + + +) The use of DFT correlation functionals with multi-determinant reference (Ecmd). These functionals are originally defined in the RS-DFT framework (see for instance Theor. Chem. Acc.114, 305(2005)) and design to capture short-range correlation effects. A important quantity arising in the Ecmd is the exact on-top pair density of the system, and the main differences of approximated Ecmd relies on different approximations for the exact on-top pair density. + + The two main flavours of Ecmd depends on the strength of correlation in the system: + + a) for weakly correlated systems, the ECMD PBE-UEG functional based on the seminal work of in RSDFT (see JCP, 150, 084103 1-10 (2019)) and adapted for the basis set correction in JPCL, 10, 2931-2937 (2019) uses the exact on-top pair density of the UEG at large mu and the PBE correlation functional at mu = 0. As shown in JPCL, 10, 2931-2937 (2019), such a functional is more accurate than the ECMD LDA for weakly correlated systems. + + b) for strongly correlated systems, the ECMD PBE-OT, which uses the extrapolated on-top pair density of the CAS wave function thanks to the large \mu behaviour of the on-top pair density, is accurate, but suffers from S_z dependence (i.e. is not invariant with respect to S_z) because of the spin-polarization dependence of the PBE correlation functional entering at mu=0. + + An alternative is ECMD SU-PBE-OT which uses the same on-top pair density that ECMD PBE-OT but a ZERO spin-polarization to remove the S_z dependence. As shown in ???????????, this strategy is one of the more accurate and respects S_z invariance and size consistency if the CAS wave function is correctly chosen. + diff --git a/src/basis_correction/TODO b/src/basis_correction/TODO new file mode 100644 index 00000000..e28d593a --- /dev/null +++ b/src/basis_correction/TODO @@ -0,0 +1 @@ +change all correlation functionals with the pbe_on_top general diff --git a/src/basis_correction/basis_correction.irp.f b/src/basis_correction/basis_correction.irp.f new file mode 100644 index 00000000..11e53fcd --- /dev/null +++ b/src/basis_correction/basis_correction.irp.f @@ -0,0 +1,27 @@ +program basis_correction + implicit none + BEGIN_DOC +! TODO : Put the documentation of the program here + END_DOC + read_wf = .True. + touch read_wf + no_core_density = .True. + touch no_core_density + provide mo_two_e_integrals_in_map + call print_basis_correction +! call print_e_b +end + +subroutine print_e_b + implicit none + print *, 'Hello world' + print*,'ecmd_lda_mu_of_r = ',ecmd_lda_mu_of_r + print*,'ecmd_pbe_ueg_mu_of_r = ',ecmd_pbe_ueg_mu_of_r + print*,'ecmd_pbe_ueg_eff_xi_mu_of_r = ',ecmd_pbe_ueg_eff_xi_mu_of_r + print*,'' + print*,'psi_energy + E^B_LDA = ',psi_energy + ecmd_lda_mu_of_r + print*,'psi_energy + E^B_PBE_UEG = ',psi_energy + ecmd_pbe_ueg_mu_of_r + print*,'psi_energy + E^B_PBE_UEG_Xi = ',psi_energy + ecmd_pbe_ueg_eff_xi_mu_of_r + print*,'' + print*,'mu_average_prov = ',mu_average_prov +end diff --git a/src/basis_correction/eff_xi_based_func.irp.f b/src/basis_correction/eff_xi_based_func.irp.f new file mode 100644 index 00000000..75de0de6 --- /dev/null +++ b/src/basis_correction/eff_xi_based_func.irp.f @@ -0,0 +1,92 @@ +BEGIN_PROVIDER [double precision, ecmd_pbe_ueg_eff_xi_mu_of_r, (N_states)] + BEGIN_DOC + ! ecmd_pbe_ueg_eff_xi_mu_of_r = multi-determinantal Ecmd within the PBE-UEG and effective spin polarization approximation with mu(r), + ! + ! see Eqs. 30 in ??????????? + ! + ! Based on the PBE-on-top functional (see Eqs. 26, 27 of J. Chem. Phys.150, 084103 (2019); doi: 10.1063/1.5082638) + ! + ! and replaces the approximation of the exact on-top pair density by the exact on-top of the UEG + ! + ! !!!! BUT !!!! with an EFFECTIVE SPIN POLARIZATION DEPENDING ON THE ON-TOP PAIR DENSITY + ! + ! See P. Perdew, A. Savin, and K. Burke, Phys. Rev. A 51, 4531 (1995). for original Ref., and Eq. 29 in ??????????? + END_DOC + implicit none + double precision :: weight,density + integer :: ipoint,istate + double precision :: eps_c_md_PBE,mu,rho_a,rho_b,grad_rho_a(3),grad_rho_b(3),g0_UEG_mu_inf,on_top + + ecmd_pbe_ueg_eff_xi_mu_of_r = 0.d0 + + print*,'Providing ecmd_pbe_ueg_eff_xi_mu_of_r ...' + call wall_time(wall0) + do istate = 1, N_states + do ipoint = 1, n_points_final_grid + weight=final_weight_at_r_vector(ipoint) + mu = mu_of_r_prov(ipoint,istate) + + density = one_e_dm_and_grad_alpha_in_r(4,ipoint,istate) + one_e_dm_and_grad_beta_in_r(4,ipoint,istate) + ! We use the effective spin density to define rho_a/rho_b + rho_a = 0.5d0 * (density + effective_spin_dm(ipoint,istate)) + rho_b = 0.5d0 * (density - effective_spin_dm(ipoint,istate)) + + grad_rho_a(1:3) = one_e_dm_and_grad_alpha_in_r(1:3,ipoint,istate) + grad_rho_b(1:3) = one_e_dm_and_grad_beta_in_r(1:3,ipoint,istate) + +! We take the on-top pair density of the UEG which is (1-zeta^2) rhoc^2 g0 = 4 rhoa * rhob * g0 +! with the effective rho_a and rho_b + on_top = 4.d0 * rho_a * rho_b * g0_UEG_mu_inf(rho_a,rho_b) + + call ec_md_pbe_on_top_general(mu,rho_a,rho_b,grad_rho_a,grad_rho_b,on_top,eps_c_md_PBE) + ecmd_pbe_ueg_eff_xi_mu_of_r(istate) += eps_c_md_PBE * weight + enddo + enddo + double precision :: wall1, wall0 + call wall_time(wall1) + print*,'Time for the ecmd_pbe_ueg_eff_xi_mu_of_r:',wall1-wall0 + +END_PROVIDER + + + BEGIN_PROVIDER [double precision, ecmd_lda_eff_xi_mu_of_r, (N_states)] + BEGIN_DOC + ! ecmd_lda_eff_xi_mu_of_r = multi-determinantal Ecmd within the LDA and effective spin polarization approximation with mu(r), + ! + ! corresponds to equation 40 in J. Chem. Phys. 149, 194301 (2018); https://doi.org/10.1063/1.5052714 + ! + ! !!!! BUT !!!! with an EFFECTIVE SPIN POLARIZATION DEPENDING ON THE ON-TOP PAIR DENSITY + ! + ! See P. Perdew, A. Savin, and K. Burke, Phys. Rev. A 51, 4531 (1995). for original Ref., and Eq. 29 in ??????????? + END_DOC + implicit none + integer :: ipoint,istate + double precision :: rho_a, rho_b, ec + logical :: dospin + double precision :: wall0,wall1,weight,mu,density + dospin = .true. ! JT dospin have to be set to true for open shell + print*,'Providing ecmd_lda_eff_xi_mu_of_r ...' + + ecmd_lda_eff_xi_mu_of_r = 0.d0 + call wall_time(wall0) + do istate = 1, N_states + do ipoint = 1, n_points_final_grid + mu = mu_of_r_prov(ipoint,istate) + weight = final_weight_at_r_vector(ipoint) + + density = one_e_dm_and_grad_alpha_in_r(4,ipoint,istate) + one_e_dm_and_grad_beta_in_r(4,ipoint,istate) + rho_a = 0.5d0 * (density + effective_spin_dm(ipoint,istate)) + rho_b = 0.5d0 * (density - effective_spin_dm(ipoint,istate)) + + call ESRC_MD_LDAERF (mu,rho_a,rho_b,dospin,ec) + if(isnan(ec))then + print*,'ec is nan' + stop + endif + ecmd_lda_eff_xi_mu_of_r(istate) += weight * ec + enddo + enddo + call wall_time(wall1) + print*,'Time for ecmd_lda_eff_xi_mu_of_r :',wall1-wall0 + END_PROVIDER + diff --git a/src/basis_correction/pbe_on_top.irp.f b/src/basis_correction/pbe_on_top.irp.f new file mode 100644 index 00000000..cb5a04b7 --- /dev/null +++ b/src/basis_correction/pbe_on_top.irp.f @@ -0,0 +1,121 @@ + BEGIN_PROVIDER [double precision, ecmd_pbe_on_top_mu_of_r, (N_states)] + BEGIN_DOC +! +! Ecmd functional evaluated with mu(r) and depending on +! +) the on-top pair density +! +! +) the total density, density gradients +! +! +) the spin density +! +! Defined originally in Eq. (25) of JCP, 150, 084103 1-10 (2019) for RS-DFT calculations, but evaluated with mu(r). +! +! Such a functional is built by interpolating between two regimes : +! +! +) the large mu behaviour in cst/(\mu^3) \int dr on-top(r) where on-top(r) is supposed to be the exact on-top of the system +! +! +) mu= 0 with the usal ec_pbe(rho_a,rho_b,grad_rho_a,grad_rho_b) +! +! Here the approximation to the exact on-top is done through the assymptotic expansion (in \mu) of the exact on-top pair density (see Eq. 29) but with a mu(r) instead of a constant mu +! +! Such an asymptotic expansion was introduced in P. Gori-Giorgi and A. Savin, Phys. Rev. A73, 032506 (2006) +! + END_DOC + implicit none + double precision :: weight + double precision :: eps_c_md_on_top_PBE,on_top_extrap,mu_correction_of_on_top + integer :: ipoint,istate + double precision :: eps_c_md_PBE,mu,rho_a,rho_b,grad_rho_a(3),grad_rho_b(3),on_top + ecmd_pbe_on_top_mu_of_r = 0.d0 + + do istate = 1, N_states + do ipoint = 1, n_points_final_grid + weight = final_weight_at_r_vector(ipoint) + + mu = mu_of_r_prov(ipoint,istate) + ! depends on (rho_a, rho_b) <==> (rho_tot,spin_pol) + rho_a = one_e_dm_and_grad_alpha_in_r(4,ipoint,istate) + rho_b = one_e_dm_and_grad_beta_in_r(4,ipoint,istate) + grad_rho_a(1:3) = one_e_dm_and_grad_alpha_in_r(1:3,ipoint,istate) + grad_rho_b(1:3) = one_e_dm_and_grad_beta_in_r(1:3,ipoint,istate) + + if(mu_of_r_potential == "cas_ful")then + ! You take the on-top of the CAS wave function which is computed with mu(r) + on_top = on_top_cas_mu_r(ipoint,istate) + else + ! You take the on-top of the CAS wave function computed separately + on_top = total_cas_on_top_density(ipoint,istate) + endif +! We take the extrapolated on-top pair density * 2 because of normalization + on_top_extrap = 2.d0 * mu_correction_of_on_top(mu,on_top) + + call ec_md_pbe_on_top_general(mu,rho_a,rho_b,grad_rho_a,grad_rho_b,on_top_extrap,eps_c_md_on_top_PBE) + + ecmd_pbe_on_top_mu_of_r(istate) += eps_c_md_on_top_PBE * weight + enddo + enddo + END_PROVIDER + + + BEGIN_PROVIDER [double precision, ecmd_pbe_on_top_su_mu_of_r, (N_states)] + BEGIN_DOC +! +! Ecmd functional evaluated with mu(r) and depending on +! +) the on-top pair density +! +! +) the total density, density gradients +! +! +) !!!!! NO SPIN POLAIRIZATION !!!!! +! +! Defined originally in Eq. (25) of JCP, 150, 084103 1-10 (2019) for RS-DFT calculations, but evaluated with mu(r). +! +! Such a functional is built by interpolating between two regimes : +! +! +) the large mu behaviour in cst/(\mu^3) \int dr on-top(r) where on-top(r) is supposed to be the exact on-top of the system +! +! +) mu= 0 with the usal ec_pbe(rho_a,rho_b,grad_rho_a,grad_rho_b) +! +! Here the approximation to the exact on-top is done through the assymptotic expansion (in \mu) of the exact on-top pair density (see Eq. 29) but with a mu(r) instead of a constant mu +! +! Such an asymptotic expansion was introduced in P. Gori-Giorgi and A. Savin, Phys. Rev. A73, 032506 (2006) +! + END_DOC + implicit none + double precision :: weight + double precision :: eps_c_md_on_top_PBE,on_top_extrap,mu_correction_of_on_top + integer :: ipoint,istate + double precision :: eps_c_md_PBE,mu,rho_a,rho_b,grad_rho_a(3),grad_rho_b(3),on_top,density + ecmd_pbe_on_top_su_mu_of_r = 0.d0 + + do istate = 1, N_states + do ipoint = 1, n_points_final_grid + weight = final_weight_at_r_vector(ipoint) + + mu = mu_of_r_prov(ipoint,istate) + + density = one_e_dm_and_grad_alpha_in_r(4,ipoint,istate) + one_e_dm_and_grad_beta_in_r(4,ipoint,istate) + ! rho_a = rho_b = rho_tot/2 ==> NO SPIN POLARIZATION + rho_a = 0.5d0 * density + rho_b = 0.5d0 * density + + grad_rho_a(1:3) = one_e_dm_and_grad_alpha_in_r(1:3,ipoint,istate) + grad_rho_b(1:3) = one_e_dm_and_grad_beta_in_r(1:3,ipoint,istate) + + if(mu_of_r_potential == "cas_ful")then + ! You take the on-top of the CAS wave function which is computed with mu(r) + on_top = on_top_cas_mu_r(ipoint,istate) + else + ! You take the on-top of the CAS wave function computed separately + on_top = total_cas_on_top_density(ipoint,istate) + endif +! We take the extrapolated on-top pair density * 2 because of normalization + on_top_extrap = 2.d0 * mu_correction_of_on_top(mu,on_top) + + call ec_md_pbe_on_top_general(mu,rho_a,rho_b,grad_rho_a,grad_rho_b,on_top_extrap,eps_c_md_on_top_PBE) + + ecmd_pbe_on_top_su_mu_of_r(istate) += eps_c_md_on_top_PBE * weight + enddo + enddo + END_PROVIDER + + diff --git a/src/basis_correction/print_routine.irp.f b/src/basis_correction/print_routine.irp.f new file mode 100644 index 00000000..05fbbf60 --- /dev/null +++ b/src/basis_correction/print_routine.irp.f @@ -0,0 +1,82 @@ +subroutine print_basis_correction + implicit none + integer :: istate + provide mu_average_prov + if(mu_of_r_potential.EQ."hf")then + provide ecmd_lda_mu_of_r ecmd_pbe_ueg_mu_of_r + else if(mu_of_r_potential.EQ."cas_ful".or.mu_of_r_potential.EQ."cas_truncated")then + provide ecmd_lda_mu_of_r ecmd_pbe_ueg_mu_of_r + provide ecmd_pbe_on_top_mu_of_r ecmd_pbe_on_top_su_mu_of_r + endif + + print*, '' + print*, '' + print*, '****************************************' + print*, '****************************************' + print*, 'Basis set correction for WFT using DFT Ecmd functionals' + print*, 'These functionals are accurate for short-range correlation' + print*, '' + print*, 'For more details look at Journal of Chemical Physics 149, 194301 1-15 (2018) ' + print*, ' Journal of Physical Chemistry Letters 10, 2931-2937 (2019) ' + print*, ' ???REF SC?' + print*, '****************************************' + print*, '****************************************' + print*, 'mu_of_r_potential = ',mu_of_r_potential + if(mu_of_r_potential.EQ."hf")then + print*, '' + print*,'Using a HF-like two-body density to define mu(r)' + print*,'This assumes that HF is a qualitative representation of the wave function ' + print*,'********************************************' + print*,'Functionals more suited for weak correlation' + print*,'********************************************' + print*,'+) LDA Ecmd functional : purely based on the UEG (JCP,149,194301,1-15 (2018)) ' + do istate = 1, N_states + write(*, '(A29,X,I3,X,A3,X,F16.10)') ' ECMD LDA , state ',istate,' = ',ecmd_lda_mu_of_r(istate) + enddo + print*,'+) PBE-UEG Ecmd functional : PBE at mu=0, UEG ontop pair density at large mu (JPCL, 10, 2931-2937 (2019))' + do istate = 1, N_states + write(*, '(A29,X,I3,X,A3,X,F16.10)') ' ECMD PBE-UEG , state ',istate,' = ',ecmd_pbe_ueg_mu_of_r(istate) + enddo + + else if(mu_of_r_potential.EQ."cas_ful")then + print*, '' + print*,'Using a CAS-like two-body density to define mu(r)' + print*,'This assumes that the CAS is a qualitative representation of the wave function ' + print*,'********************************************' + print*,'Functionals more suited for weak correlation' + print*,'********************************************' + print*,'+) LDA Ecmd functional : purely based on the UEG (JCP,149,194301,1-15 (2018)) ' + do istate = 1, N_states + write(*, '(A29,X,I3,X,A3,X,F16.10)') ' ECMD LDA , state ',istate,' = ',ecmd_lda_mu_of_r(istate) + enddo + print*,'+) PBE-UEG Ecmd functional : PBE at mu=0, UEG ontop pair density at large mu (JPCL, 10, 2931-2937 (2019))' + do istate = 1, N_states + write(*, '(A29,X,I3,X,A3,X,F16.10)') ' ECMD PBE-UEG , state ',istate,' = ',ecmd_pbe_ueg_mu_of_r(istate) + enddo + print*,'' + print*,'********************************************' + print*,'********************************************' + print*,'+) PBE-on-top Ecmd functional : (??????? REF-SCF ??????????)' + print*,'PBE at mu=0, extrapolated ontop pair density at large mu, usual spin-polarization' + do istate = 1, N_states + write(*, '(A29,X,I3,X,A3,X,F16.10)') ' ECMD PBE-OT , state ',istate,' = ',ecmd_pbe_on_top_mu_of_r(istate) + enddo + print*,'' + print*,'********************************************' + print*,'+) PBE-on-top no spin polarization Ecmd functional : (??????? REF-SCF ??????????)' + print*,'PBE at mu=0, extrapolated ontop pair density at large mu, and ZERO SPIN POLARIZATION' + do istate = 1, N_states + write(*, '(A29,X,I3,X,A3,X,F16.10)') ' ECMD SU-PBE-OT , state ',istate,' = ',ecmd_pbe_on_top_su_mu_of_r(istate) + enddo + print*,'' + + endif + print*,'' + print*,'**************' + do istate = 1, N_states + write(*, '(A29,X,I3,X,A3,X,F16.10)') ' Average mu(r) , state ',istate,' = ',mu_average_prov(istate) + enddo + +end + + diff --git a/src/basis_correction/weak_corr_func.irp.f b/src/basis_correction/weak_corr_func.irp.f new file mode 100644 index 00000000..d3e8bf0a --- /dev/null +++ b/src/basis_correction/weak_corr_func.irp.f @@ -0,0 +1,83 @@ + + BEGIN_PROVIDER [double precision, ecmd_lda_mu_of_r, (N_states)] + BEGIN_DOC +! ecmd_lda_mu_of_r = multi-determinantal Ecmd within the LDA approximation with mu(r) , +! +! see equation 40 in J. Chem. Phys. 149, 194301 (2018); https://doi.org/10.1063/1.5052714 + END_DOC + implicit none + integer :: ipoint,istate + double precision :: rho_a, rho_b, ec + logical :: dospin + double precision :: wall0,wall1,weight,mu + dospin = .true. ! JT dospin have to be set to true for open shell + print*,'Providing ecmd_lda_mu_of_r ...' + + ecmd_lda_mu_of_r = 0.d0 + call wall_time(wall0) + do istate = 1, N_states + do ipoint = 1, n_points_final_grid + ! mu(r) defined by Eq. (37) of J. Chem. Phys. 149, 194301 (2018) + mu = mu_of_r_prov(ipoint,istate) + weight = final_weight_at_r_vector(ipoint) + rho_a = one_e_dm_and_grad_alpha_in_r(4,ipoint,istate) + rho_b = one_e_dm_and_grad_beta_in_r(4,ipoint,istate) + ! Ecmd within the LDA approximation of PRB 73, 155111 (2006) + call ESRC_MD_LDAERF (mu,rho_a,rho_b,dospin,ec) + if(isnan(ec))then + print*,'ec is nan' + stop + endif + ecmd_lda_mu_of_r(istate) += weight * ec + enddo + enddo + call wall_time(wall1) + print*,'Time for ecmd_lda_mu_of_r :',wall1-wall0 + END_PROVIDER + + +BEGIN_PROVIDER [double precision, ecmd_pbe_ueg_mu_of_r, (N_states)] + BEGIN_DOC + ! ecmd_pbe_ueg_mu_of_r = multi-determinantal Ecmd within the PBE-UEG approximation with mu(r) , + ! + ! see Eqs. 13-14b in Phys.Chem.Lett.2019, 10, 2931 2937; https://pubs.acs.org/doi/10.1021/acs.jpclett.9b01176 + ! + ! Based on the PBE-on-top functional (see Eqs. 26, 27 of J. Chem. Phys.150, 084103 (2019); doi: 10.1063/1.5082638) + ! + ! but it the on-top pair density of the UEG as an approximation of the exact on-top pair density + END_DOC + implicit none + double precision :: weight + integer :: ipoint,istate + double precision :: eps_c_md_PBE,mu,rho_a,rho_b,grad_rho_a(3),grad_rho_b(3),on_top + double precision :: g0_UEG_mu_inf + + ecmd_pbe_ueg_mu_of_r = 0.d0 + + print*,'Providing ecmd_pbe_ueg_mu_of_r ...' + call wall_time(wall0) + do istate = 1, N_states + do ipoint = 1, n_points_final_grid + weight=final_weight_at_r_vector(ipoint) + + ! mu(r) defined by Eq. (37) of J. Chem. Phys. 149, 194301 (2018) + mu = mu_of_r_prov(ipoint,istate) + + rho_a = one_e_dm_and_grad_alpha_in_r(4,ipoint,istate) + rho_b = one_e_dm_and_grad_beta_in_r(4,ipoint,istate) + grad_rho_a(1:3) = one_e_dm_and_grad_alpha_in_r(1:3,ipoint,istate) + grad_rho_b(1:3) = one_e_dm_and_grad_beta_in_r(1:3,ipoint,istate) + +! We take the on-top pair density of the UEG which is (1-zeta^2) rhoc^2 g0 = 4 rhoa * rhob * g0 + on_top = 4.d0 * rho_a * rho_b * g0_UEG_mu_inf(rho_a,rho_b) + +! The form of interpolated (mu=0 ---> mu=infinity) functional originally introduced in JCP, 150, 084103 1-10 (2019) + call ec_md_pbe_on_top_general(mu,rho_a,rho_b,grad_rho_a,grad_rho_b,on_top,eps_c_md_PBE) + ecmd_pbe_ueg_mu_of_r(istate) += eps_c_md_PBE * weight + enddo + enddo + double precision :: wall1, wall0 + call wall_time(wall1) + print*,'Time for the ecmd_pbe_ueg_mu_of_r:',wall1-wall0 + +END_PROVIDER diff --git a/src/ecmd_utils/NEED b/src/ecmd_utils/NEED new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/src/ecmd_utils/NEED @@ -0,0 +1 @@ + diff --git a/src/ecmd_utils/README.rst b/src/ecmd_utils/README.rst new file mode 100644 index 00000000..2e36e1e1 --- /dev/null +++ b/src/ecmd_utils/README.rst @@ -0,0 +1,4 @@ +========== +ecmd_utils +========== + diff --git a/src/ecmd_utils/ecmd_lda.irp.f b/src/ecmd_utils/ecmd_lda.irp.f new file mode 100644 index 00000000..a66357b4 --- /dev/null +++ b/src/ecmd_utils/ecmd_lda.irp.f @@ -0,0 +1,152 @@ +!**************************************************************************** + subroutine ESRC_MD_LDAERF (mu,rho_a,rho_b,dospin,e) +!***************************************************************************** +! Short-range spin-dependent LDA correlation functional with multideterminant reference +! for OEP calculations from Section V of +! Paziani, Moroni, Gori-Giorgi and Bachelet, PRB 73, 155111 (2006) +! +! Input: rhot : total density +! rhos : spin density +! mu : Interation parameter +! dospin : use spin density +! +! Ouput: e : energy +! +! Created: 26-08-11, J. Toulouse +!***************************************************************************** + implicit none + + double precision, intent(in) :: rho_a,rho_b,mu + logical, intent(in) :: dospin + double precision, intent(out):: e + + double precision :: e1 + double precision :: rhoa,rhob + double precision :: rhot, rhos + rhoa=max(rho_a,1.0d-15) + rhob=max(rho_b,1.0d-15) + rhot = rhoa + rhob + rhos = rhoa - rhob + + call ec_only_lda_sr(mu,rho_a,rho_b,e1) + if(isnan(e1))then + print*,'e1 is NaN' + print*,mu,rho_a,rho_b + stop + endif + call DELTA_LRSR_LDAERF (rhot,rhos,mu,dospin,e) + if(isnan(e))then + print*,'e is NaN' + print*,mu,rhot,rhos + stop + endif + e = e1 + e + + end + +!**************************************************************************** + subroutine DELTA_LRSR_LDAERF (rhot,rhos,mu,dospin,e) +!***************************************************************************** +! LDA approximation to term Delta_(LR-SR) from Eq. 42 of +! Paziani, Moroni, Gori-Giorgi and Bachelet, PRB 73, 155111 (2006) +! +! Input: rhot : total density +! rhos : spin density +! mu : Interation parameter +! dospin : use spin density +! +! Ouput: e : energy +! +! Warning: not tested for z != 0 +! +! Created: 26-08-11, J. Toulouse +!***************************************************************************** + implicit none + + double precision rhot, rhos, mu + logical dospin + double precision e + + double precision f13, f83, pi, rsfac, alpha2 + double precision rs, rs2, rs3 + + double precision rhoa, rhob, z, z2, onepz, onemz, zp, zm, phi8 + double precision g0f, g0s + double precision bd2, bd3 + double precision c45, c4, c5 + double precision bc2, bc4, bc3t, bc5t, d0 + double precision delta2,delta3,delta4,delta5,delta6 + double precision delta + + parameter(f13 = 0.333333333333333d0) + parameter(f83 = 2.6666666666666665d0) + parameter(pi = 3.141592653589793d0) + parameter(rsfac = 0.620350490899400d0) + parameter(alpha2 = 0.2715053589826032d0) + + rs = rsfac/(rhot**f13) + rs2 = rs*rs + rs3 = rs2*rs + +! Spin-unpolarized case + if (.not.dospin) then + z = 0.d0 + +! Spin-polarized case + else + rhoa=max((rhot+rhos)*.5d0,1.0d-15) + rhob=max((rhot-rhos)*.5d0,1.0d-15) + z=min((rhoa-rhob)/(rhoa+rhob),0.9999999999d0) + endif + + z2=z*z + + bd2=dexp(-0.547d0*rs)*(-0.388d0*rs+0.676*rs2)/rs2 + bd3=dexp(-0.31d0*rs)*(-4.95d0*rs+rs2)/rs3 + + onepz=1.d0+z + onemz=1.d0-z + phi8=0.5d0*(onepz**f83+onemz**f83) + + zp=onepz/2.d0 + zm=onemz/2.d0 + c45=(zp**2)*g0s(rs*zp**(-f13))+(zm**2)*g0s(rs*zm**(-f13)) + c4=c45+(1.d0-z2)*bd2-phi8/(5.d0*alpha2*rs2) + c5=c45+(1.d0-z2)*bd3 + + bc2=-3.d0*(1-z2)*(g0f(rs)-0.5d0)/(8.d0*rs3) + bc4=-9.d0*c4/(64.d0*rs3) + bc3t=-(1-z2)*g0f(rs)*(2.d0*dsqrt(2.d0)-1)/(2.d0*dsqrt(pi)*rs3) + bc5t = -3.d0*c5*(3.d0-dsqrt(2.d0))/(20.d0*dsqrt(2.d0*pi)*rs3) + + d0=(0.70605d0+0.12927d0*z2)*rs + delta2=0.073867d0*(rs**(1.5d0)) + delta3=4*(d0**6)*bc3t+(d0**8)*bc5t; + delta4=4*(d0**6)*bc2+(d0**8)*bc4; + delta5=(d0**8)*bc3t; + delta6=(d0**8)*bc2; + delta=(delta2*(mu**2)+delta3*(mu**3)+delta4*(mu**4)+delta5*(mu**5)+delta6*(mu**6))/((1+(d0**2)*(mu**2))**4) + + +! multiply by rhot to get energy density + e=delta*rhot + + end + +!***************************************************************************** + double precision function g0s(rs) +!***************************************************************************** +! g"(0,rs,z=1) from Eq. 32 of +! Paziani, Moroni, Gori-Giorgi and Bachelet, PRB 73, 155111 (2006) +! +! Created: 26-08-11, J. Toulouse +!***************************************************************************** + implicit none + double precision rs + double precision rs2, f53, alpha2 + parameter(f53 = 1.6666666666666667d0) + parameter(alpha2 = 0.2715053589826032d0) + rs2=rs*rs + g0s=(2.d0**f53)*(1.d0-0.02267d0*rs)/((5.d0*alpha2*rs2)*(1.d0+0.4319d0*rs+0.04d0*rs2)) + end + diff --git a/src/ecmd_utils/ecmd_pbe_general.irp.f b/src/ecmd_utils/ecmd_pbe_general.irp.f new file mode 100644 index 00000000..80d63f90 --- /dev/null +++ b/src/ecmd_utils/ecmd_pbe_general.irp.f @@ -0,0 +1,53 @@ + +subroutine ec_md_pbe_on_top_general(mu,rho_a,rho_b,grad_rho_a,grad_rho_b,on_top,eps_c_md_on_top_PBE) + implicit none + BEGIN_DOC +! +! General e_cmd functional interpolating between : +! +! +) the large mu behaviour in cst/(\mu^3) on-top +! +! +) mu= 0 with the usal ec_pbe at +! +! Depends on : mu, the density (rho_a,rho_b), the square of the density gradient (grad_rho_a,grad_rho_b) +! +! the flavour of on-top densiyt (on_top) you fill in: in principle it should be the exact on-top +! +! The form of the functional was originally introduced in JCP, 150, 084103 1-10 (2019) +! + END_DOC + double precision, intent(in) :: mu,rho_a,rho_b,grad_rho_a(3),grad_rho_b(3),on_top + double precision, intent(out) :: eps_c_md_on_top_PBE + double precision :: pi, e_pbe,beta,denom + double precision :: grad_rho_a_2,grad_rho_b_2,grad_rho_a_b + double precision :: rhoc,rhoo,sigmacc,sigmaco,sigmaoo,vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo + integer :: m + + pi = 4.d0 * datan(1.d0) + + eps_c_md_on_top_PBE = 0.d0 + grad_rho_a_2 = 0.d0 + grad_rho_b_2 = 0.d0 + grad_rho_a_b = 0.d0 + do m = 1, 3 + grad_rho_a_2 += grad_rho_a(m)*grad_rho_a(m) + grad_rho_b_2 += grad_rho_b(m)*grad_rho_b(m) + grad_rho_a_b += grad_rho_a(m)*grad_rho_b(m) + enddo + ! convertion from (alpha,beta) formalism to (closed, open) formalism + call rho_ab_to_rho_oc(rho_a,rho_b,rhoo,rhoc) + call grad_rho_ab_to_grad_rho_oc(grad_rho_a_2,grad_rho_b_2,grad_rho_a_b,sigmaoo,sigmacc,sigmaco) + + ! usual PBE correlation energy using the density, spin polarization and density gradients for alpha/beta electrons + call ec_pbe_only(0.d0,rhoc,rhoo,sigmacc,sigmaco,sigmaoo,e_PBE) + denom = (-2.d0+sqrt(2d0))*sqrt(2.d0*pi)* on_top + if (dabs(denom) > 1.d-12) then + ! quantity of Eq. (26) + beta = (3.d0*e_PBE)/denom + eps_c_md_on_top_PBE = e_PBE/(1.d0+beta*mu**3) + else + eps_c_md_on_top_PBE =0.d0 + endif + end + + diff --git a/src/ecmd_utils/ecmd_pbe_on_top.irp.f b/src/ecmd_utils/ecmd_pbe_on_top.irp.f new file mode 100644 index 00000000..fd60f267 --- /dev/null +++ b/src/ecmd_utils/ecmd_pbe_on_top.irp.f @@ -0,0 +1,72 @@ + + +subroutine ec_md_on_top_PBE_mu_corrected(mu,r,two_dm,eps_c_md_on_top_PBE) + implicit none + BEGIN_DOC +! enter with "r(3)", and "two_dm(N_states)" which is the on-top pair density at "r" for each states +! +! you get out with the energy density defined in J. Chem. Phys.150, 084103 (2019); doi: 10.1063/1.508263 +! +! by Eq. (26), which includes the correction of the on-top pair density of Eq. (29). + END_DOC + double precision, intent(in) :: mu , r(3), two_dm + double precision, intent(out) :: eps_c_md_on_top_PBE(N_states) + double precision :: two_dm_in_r, pi, e_pbe(N_states),beta(N_states),mu_correction_of_on_top + double precision :: aos_array(ao_num), grad_aos_array(3,ao_num) + double precision :: rho_a(N_states),rho_b(N_states) + double precision :: grad_rho_a(3,N_states),grad_rho_b(3,N_states) + double precision :: grad_rho_a_2(N_states),grad_rho_b_2(N_states),grad_rho_a_b(N_states) + double precision :: rhoc,rhoo,sigmacc,sigmaco,sigmaoo,vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo,on_top_corrected + integer :: m, istate + + pi = 4.d0 * datan(1.d0) + + eps_c_md_on_top_PBE = 0.d0 + call density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r(r,rho_a,rho_b, grad_rho_a, grad_rho_b, aos_array, grad_aos_array) + grad_rho_a_2 = 0.d0 + grad_rho_b_2 = 0.d0 + grad_rho_a_b = 0.d0 + do istate = 1, N_states + do m = 1, 3 + grad_rho_a_2(istate) += grad_rho_a(m,istate)*grad_rho_a(m,istate) + grad_rho_b_2(istate) += grad_rho_b(m,istate)*grad_rho_b(m,istate) + grad_rho_a_b(istate) += grad_rho_a(m,istate)*grad_rho_b(m,istate) + enddo + enddo + do istate = 1, N_states + ! convertion from (alpha,beta) formalism to (closed, open) formalism + call rho_ab_to_rho_oc(rho_a(istate),rho_b(istate),rhoo,rhoc) + call grad_rho_ab_to_grad_rho_oc(grad_rho_a_2(istate),grad_rho_b_2(istate),grad_rho_a_b(istate),sigmaoo,sigmacc,sigmaco) + + ! usual PBE correlation energy using the density, spin polarization and density gradients for alpha/beta electrons + call ec_pbe_only(0.d0,rhoc,rhoo,sigmacc,sigmaco,sigmaoo,e_PBE(istate)) + + ! correction of the on-top pair density according to Eq. (29) + on_top_corrected = mu_correction_of_on_top(mu,two_dm) + + ! quantity of Eq. (27) with a factor two according to the difference of normalization + ! between the on-top of the JCP paper and that of QP2 + beta(istate) = (3.d0*e_PBE(istate))/( (-2.d0+sqrt(2d0))*sqrt(2.d0*pi)*2.d0* on_top_corrected) + + ! quantity of Eq. (26) + eps_c_md_on_top_PBE(istate)=e_PBE(istate)/(1.d0+beta(istate)*mu**3) + enddo + end + + + double precision function mu_correction_of_on_top(mu,on_top) + implicit none + BEGIN_DOC +! mu-based correction to the on-top pair density provided by the assymptotic expansion of +! +! P. Gori-Giorgi and A. Savin, Phys. Rev. A73, 032506 (2006) +! +! This is used in J. Chem. Phys.150, 084103 (2019); Eq. (29). + END_DOC + double precision, intent(in) :: mu,on_top + double precision :: pi + pi = 4.d0 * datan(1.d0) + mu_correction_of_on_top = on_top / ( 1.d0 + 2.d0/(dsqrt(pi)*mu) ) + mu_correction_of_on_top = max(mu_correction_of_on_top ,1.d-15) + end + diff --git a/src/ecmd_utils/ecmd_pbe_ueg.irp.f b/src/ecmd_utils/ecmd_pbe_ueg.irp.f new file mode 100644 index 00000000..8165aa72 --- /dev/null +++ b/src/ecmd_utils/ecmd_pbe_ueg.irp.f @@ -0,0 +1,194 @@ + +subroutine ecmd_pbe_ueg_at_r(mu,r,eps_c_md_PBE) + implicit none + BEGIN_DOC +! provides the integrand of Eq. (13) of Phys.Chem.Lett.2019, 10, 2931 2937 +! +! !!! WARNING !!! This is the total integrand of Eq. (13), which is e_cmd * n +! +! such a function is based on the exact behaviour of the Ecmd at large mu +! +! but with the exact on-top estimated with that of the UEG +! +! You enter with r(3), you get out with eps_c_md_PBE(1:N_states) + END_DOC + double precision, intent(in) :: mu , r(3) + double precision, intent(out) :: eps_c_md_PBE(N_states) + double precision :: pi, e_PBE, beta + double precision :: aos_array(ao_num), grad_aos_array(3,ao_num) + double precision :: rho_a(N_states),rho_b(N_states) + double precision :: grad_rho_a(3,N_states),grad_rho_b(3,N_states) + double precision :: grad_rho_a_2(N_states),grad_rho_b_2(N_states),grad_rho_a_b(N_states) + double precision :: rhoc,rhoo,sigmacc,sigmaco,sigmaoo,vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo + double precision :: g0_UEG_mu_inf, denom + integer :: m, istate + + pi = 4.d0 * datan(1.d0) + + eps_c_md_PBE = 0.d0 + call density_and_grad_alpha_beta_and_all_aos_and_grad_aos_at_r(r,rho_a,rho_b, grad_rho_a, grad_rho_b, aos_array, grad_aos_array) + grad_rho_a_2 = 0.d0 + grad_rho_b_2 = 0.d0 + grad_rho_a_b = 0.d0 + do istate = 1, N_states + do m = 1, 3 + grad_rho_a_2(istate) += grad_rho_a(m,istate)*grad_rho_a(m,istate) + grad_rho_b_2(istate) += grad_rho_b(m,istate)*grad_rho_b(m,istate) + grad_rho_a_b(istate) += grad_rho_a(m,istate)*grad_rho_b(m,istate) + enddo + enddo + do istate = 1, N_states + ! convertion from (alpha,beta) formalism to (closed, open) formalism + call rho_ab_to_rho_oc(rho_a(istate),rho_b(istate),rhoo,rhoc) + call grad_rho_ab_to_grad_rho_oc(grad_rho_a_2(istate),grad_rho_b_2(istate),grad_rho_a_b(istate),sigmaoo,sigmacc,sigmaco) + call ec_pbe_only(0.d0,rhoc,rhoo,sigmacc,sigmaco,sigmaoo,e_PBE) + + if(mu == 0.d0) then + eps_c_md_PBE(istate)=e_PBE + else +! note: the on-top pair density is (1-zeta^2) rhoc^2 g0 = 4 rhoa * rhob * g0 + denom = (-2.d0+sqrt(2d0))*sqrt(2.d0*pi) * 4.d0*rho_a(istate)*rho_b(istate)*g0_UEG_mu_inf(rho_a(istate),rho_b(istate)) + if (dabs(denom) > 1.d-12) then + beta = (3.d0*e_PBE)/denom + eps_c_md_PBE(istate)=e_PBE/(1.d0+beta*mu**3) + else + eps_c_md_PBE(istate)=0.d0 + endif + endif + enddo + end + + + +subroutine eps_c_md_PBE_from_density(mu,rho_a,rho_b, grad_rho_a, grad_rho_b,eps_c_md_PBE) ! EG + implicit none + BEGIN_DOC +! provides the integrand of Eq. (13) of Phys.Chem.Lett.2019, 10, 2931 2937 +! +! !!! WARNING !!! This is the total integrand of Eq. (13), which is e_cmd * n +! +! such a function is based on the exact behaviour of the Ecmd at large mu +! +! but with the exact on-top estimated with that of the UEG +! +! You enter with the alpha/beta density and density gradients +! +! You get out with eps_c_md_PBE(1:N_states) + END_DOC + double precision, intent(in) :: mu(N_states) , rho_a(N_states),rho_b(N_states), grad_rho_a(3,N_states),grad_rho_b(3,N_states) + double precision, intent(out) :: eps_c_md_PBE(N_states) + double precision :: pi, e_PBE, beta + double precision :: aos_array(ao_num), grad_aos_array(3,ao_num) + double precision :: grad_rho_a_2(N_states),grad_rho_b_2(N_states),grad_rho_a_b(N_states) + double precision :: rhoc,rhoo,sigmacc,sigmaco,sigmaoo,vrhoc,vrhoo,vsigmacc,vsigmaco,vsigmaoo + double precision :: g0_UEG_mu_inf, denom + integer :: m, istate + + pi = 4.d0 * datan(1.d0) + + eps_c_md_PBE = 0.d0 + grad_rho_a_2 = 0.d0 + grad_rho_b_2 = 0.d0 + grad_rho_a_b = 0.d0 + do istate = 1, N_states + do m = 1, 3 + grad_rho_a_2(istate) += grad_rho_a(m,istate)*grad_rho_a(m,istate) + grad_rho_b_2(istate) += grad_rho_b(m,istate)*grad_rho_b(m,istate) + grad_rho_a_b(istate) += grad_rho_a(m,istate)*grad_rho_b(m,istate) + enddo + enddo + do istate = 1, N_states + ! convertion from (alpha,beta) formalism to (closed, open) formalism + call rho_ab_to_rho_oc(rho_a(istate),rho_b(istate),rhoo,rhoc) + call grad_rho_ab_to_grad_rho_oc(grad_rho_a_2(istate),grad_rho_b_2(istate),grad_rho_a_b(istate),sigmaoo,sigmacc,sigmaco) + call ec_pbe_only(0.d0,rhoc,rhoo,sigmacc,sigmaco,sigmaoo,e_PBE) + + if(mu(istate) == 0.d0) then + eps_c_md_PBE(istate)=e_PBE + else +! note: the on-top pair density is (1-zeta^2) rhoc^2 g0 = 4 rhoa * rhob * g0 + denom = (-2.d0+sqrt(2d0))*sqrt(2.d0*pi) * 4.d0*rho_a(istate)*rho_b(istate)*g0_UEG_mu_inf(rho_a(istate),rho_b(istate)) + if (dabs(denom) > 1.d-12) then + beta = (3.d0*e_PBE)/denom + eps_c_md_PBE(istate)=e_PBE/(1.d0+beta*mu(istate)**3) + else + eps_c_md_PBE(istate)=0.d0 + endif + endif + enddo + end + + + + + +subroutine eps_c_md_PBE_at_grid_pt(mu,i_point,eps_c_md_PBE) + implicit none + BEGIN_DOC +! provides the integrand of Eq. (13) of Phys.Chem.Lett.2019, 10, 2931 2937 +! +! !!! WARNING !!! This is the total integrand of Eq. (13), which is e_cmd * n +! +! such a function is based on the exact behaviour of the Ecmd at large mu +! +! but with the exact on-top estimated with that of the UEG +! +! You enter with the alpha/beta density and density gradients +! +! You get out with eps_c_md_PBE(1:N_states) + END_DOC + double precision, intent(in) :: mu + double precision, intent(out) :: eps_c_md_PBE(N_states) + integer, intent(in) :: i_point + double precision :: two_dm, pi, e_pbe,beta,mu_correction_of_on_top + double precision :: grad_rho_a(3),grad_rho_b(3) + double precision :: grad_rho_a_2,grad_rho_b_2,grad_rho_a_b + double precision :: rhoc,rhoo,ec_pbe_88 + double precision :: delta,two_dm_corr,rho_a,rho_b + double precision :: grad_rho_2,denom,g0_UEG_mu_inf + double precision :: sigmacc,sigmaco,sigmaoo + integer :: m, istate + + pi = 4.d0 * datan(1.d0) + + eps_c_md_PBE = 0.d0 + do istate = 1, N_states + ! total and spin density + rhoc = one_e_dm_and_grad_alpha_in_r(4,i_point,istate) + one_e_dm_and_grad_beta_in_r(4,i_point,istate) + rhoo = one_e_dm_and_grad_alpha_in_r(4,i_point,istate) - one_e_dm_and_grad_beta_in_r(4,i_point,istate) + ! gradients of the effective spin density + grad_rho_a_2 = 0.D0 + grad_rho_b_2 = 0.D0 + grad_rho_a_b = 0.D0 + do m = 1, 3 + grad_rho_a_2 += one_e_dm_and_grad_alpha_in_r(m,i_point,istate)**2.d0 + grad_rho_b_2 += one_e_dm_and_grad_beta_in_r(m,i_point,istate) **2.d0 + grad_rho_a_b += one_e_dm_and_grad_alpha_in_r(m,i_point,istate) * one_e_dm_and_grad_beta_in_r(m,i_point,istate) + enddo + sigmacc = grad_rho_a_2 + grad_rho_b_2 + 2.d0 * grad_rho_a_b + sigmaco = 0.d0 + sigmaoo = 0.d0 + rho_a = one_e_dm_and_grad_alpha_in_r(4,i_point,istate) + rho_b = one_e_dm_and_grad_beta_in_r(4,i_point,istate) + + call ec_pbe_only(0.d0,rhoc,rhoo,sigmacc,sigmaco,sigmaoo,e_PBE) + if(e_PBE.gt.0.d0)then + print*,'PBE gt 0 with regular dens' + endif + if(mu == 0.d0) then + eps_c_md_PBE(istate)=e_PBE + else +! note: the on-top pair density is (1-zeta^2) rhoc^2 g0 = 4 rhoa * rhob * g0 + denom = (-2.d0+dsqrt(2d0))*sqrt(2.d0*pi) * 4.d0*rho_a*rho_b*g0_UEG_mu_inf(rho_a,rho_b) + if (dabs(denom) > 1.d-12) then + beta = (3.d0*e_PBE)/denom + ! Ecmd functional with the UEG ontop pair density when mu -> infty + ! and the usual PBE correlation energy when mu = 0 + eps_c_md_PBE(istate)=e_PBE/(1.d0+beta*mu**3) + else + eps_c_md_PBE(istate)=0.d0 + endif + endif + enddo +end + diff --git a/src/ecmd_utils/on_top_from_ueg.irp.f b/src/ecmd_utils/on_top_from_ueg.irp.f new file mode 100644 index 00000000..a9cc22c5 --- /dev/null +++ b/src/ecmd_utils/on_top_from_ueg.irp.f @@ -0,0 +1,94 @@ +!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! +double precision function correction_to_on_top_from_UEG(mu,r,istate) + implicit none + integer, intent(in) :: istate + double precision, intent(in) :: mu,r(3) + double precision :: rho_a(N_states),rho_b(N_states) + double precision :: g0_UEG_mu_inf, g0_UEG_mu + call dm_dft_alpha_beta_at_r(r,rho_a,rho_b) + + correction_to_on_top_from_UEG = g0_UEG_mu_inf(rho_a(istate),rho_b(istate)) / g0_UEG_mu(mu,rho_a(istate),rho_b(istate)) + +end + + + + +double precision function g0_UEG_mu_inf(rho_a,rho_b) + BEGIN_DOC +! Pair distribution function g0(n_alpha,n_beta) of the Colombic UEG +! +! Taken from Eq. (46) P. Gori-Giorgi and A. Savin, Phys. Rev. A 73, 032506 (2006). + END_DOC + implicit none + double precision, intent(in) :: rho_a,rho_b + double precision :: rho,pi,x + double precision :: B, C, D, E, d2, rs, ahd + rho = rho_a+rho_b + pi = 4d0 * datan(1d0) + ahd = -0.36583d0 + d2 = 0.7524d0 + B = -2d0 * ahd - d2 + C = 0.08193d0 + D = -0.01277d0 + E = 0.001859d0 + if (dabs(rho) > 1.d-12) then + rs = (3d0 / (4d0*pi*rho))**(1d0/3d0) ! JT: serious bug fixed 20/03/19 + x = -d2*rs + g0_UEG_mu_inf= 0.5d0 * (1d0- B*rs + C*rs**2 + D*rs**3 + E*rs**4)*exp(x) + else + g0_UEG_mu_inf= 0.d0 + endif + +end + + + +double precision function g0_UEG_mu(mu,rho_a,rho_b) + implicit none + BEGIN_DOC +! Pair distribution function g0(n_alpha,n_beta) of the UEG interacting with the long range interaction erf(mu r12)/r12 +! +! Taken from P. Gori-Giorgi and A. Savin, Phys. Rev. A 73, 032506 (2006). + END_DOC + double precision, intent(in) :: rho_a,rho_b,mu + double precision :: zeta,pi,rho,x,alpha + double precision :: B, C, D, E, d2, rs, ahd, h_func, kf + pi = 4d0 * datan(1d0) + rho = rho_a+rho_b + alpha = (4d0/(9d0*pi))**(1d0/3d0) + ahd = -0.36583d0 + d2 = 0.7524d0 + B = -2d0 * ahd - d2 + C = 0.08193d0 + D = -0.01277d0 + E = 0.001859d0 + rs = (3d0 / (4d0*pi*rho))**(1d0/3d0) ! JT: serious bug fixed 20/03/19 + kf = (alpha*rs)**(-1d0) + zeta = mu / kf + x = -d2*rs*h_func(zeta)/ahd + g0_UEG_mu = (exp(x)/2d0) * (1d0- B*(h_func(zeta)/ahd)*rs + C*((h_func(zeta)**2d0)/(ahd**2d0))*(rs**2d0) + D*((h_func(zeta)**3d0)/(ahd**3d0))*(rs**3d0) + E*((h_func(zeta)**4d0)/(ahd**4d0))*(rs**4d0) ) + +end + + + +double precision function h_func(zeta) + implicit none + double precision, intent(in) :: zeta + double precision :: pi + double precision :: a1, a2, b1, b2, b3, ahd, alpha + pi = 4d0 * datan(1d0) + ahd = -0.36583d0 + alpha = (4d0/(9d0*pi))**(1d0/3d0) + a1 = -(6d0*alpha/pi)*(1d0-log(2d0)) + b1 = 1.4919d0 + b3 = 1.91528d0 + a2 = ahd * b3 + b2 = (a1 - (b3*alpha/sqrt(pi)))/ahd + + h_func = (a1*zeta**2d0 + a2*zeta**3d0) / (1d0 + b1*zeta + b2*zeta**2d0 + b3*zeta**3d0) +end + + + From 87b4eab907acc0f94ffcf876ac41d19cad956082 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Tue, 7 Apr 2020 11:42:29 +0200 Subject: [PATCH 059/138] added cas_based_on_top --- src/cas_based_on_top/NEED | 2 + src/cas_based_on_top/README.rst | 9 ++ src/cas_based_on_top/c_i_a_v_mos.irp.f | 125 +++++++++++++++++++ src/cas_based_on_top/cas_based_density.irp.f | 47 +++++++ src/cas_based_on_top/cas_based_on_top.irp.f | 19 +++ src/cas_based_on_top/cas_dens_prov.irp.f | 99 +++++++++++++++ src/cas_based_on_top/cas_dens_rout.irp.f | 65 ++++++++++ src/cas_based_on_top/cas_one_e_rdm.irp.f | 37 ++++++ src/cas_based_on_top/eff_spin_dens.irp.f | 68 ++++++++++ src/cas_based_on_top/example.irp.f | 41 ++++++ src/cas_based_on_top/on_top_cas_prov.irp.f | 76 +++++++++++ src/cas_based_on_top/on_top_cas_rout.irp.f | 118 +++++++++++++++++ src/cas_based_on_top/on_top_grad.irp.f | 73 +++++++++++ 13 files changed, 779 insertions(+) create mode 100644 src/cas_based_on_top/NEED create mode 100644 src/cas_based_on_top/README.rst create mode 100644 src/cas_based_on_top/c_i_a_v_mos.irp.f create mode 100644 src/cas_based_on_top/cas_based_density.irp.f create mode 100644 src/cas_based_on_top/cas_based_on_top.irp.f create mode 100644 src/cas_based_on_top/cas_dens_prov.irp.f create mode 100644 src/cas_based_on_top/cas_dens_rout.irp.f create mode 100644 src/cas_based_on_top/cas_one_e_rdm.irp.f create mode 100644 src/cas_based_on_top/eff_spin_dens.irp.f create mode 100644 src/cas_based_on_top/example.irp.f create mode 100644 src/cas_based_on_top/on_top_cas_prov.irp.f create mode 100644 src/cas_based_on_top/on_top_cas_rout.irp.f create mode 100644 src/cas_based_on_top/on_top_grad.irp.f diff --git a/src/cas_based_on_top/NEED b/src/cas_based_on_top/NEED new file mode 100644 index 00000000..d9a14e4a --- /dev/null +++ b/src/cas_based_on_top/NEED @@ -0,0 +1,2 @@ +two_body_rdm +dft_utils_in_r diff --git a/src/cas_based_on_top/README.rst b/src/cas_based_on_top/README.rst new file mode 100644 index 00000000..3b8a1897 --- /dev/null +++ b/src/cas_based_on_top/README.rst @@ -0,0 +1,9 @@ +============== +on_top_density +============== + +This plugin proposes different routines/providers to compute the on-top pair density of a CAS-based wave function. + +This means that all determinants in psi_det must belong to an active-space. + +As usual, see the file "example.irp.f" to get introduced to the main providers/routines. diff --git a/src/cas_based_on_top/c_i_a_v_mos.irp.f b/src/cas_based_on_top/c_i_a_v_mos.irp.f new file mode 100644 index 00000000..58192f5a --- /dev/null +++ b/src/cas_based_on_top/c_i_a_v_mos.irp.f @@ -0,0 +1,125 @@ + + BEGIN_PROVIDER[double precision, core_mos_in_r_array, (n_core_orb,n_points_final_grid)] +&BEGIN_PROVIDER[double precision, core_mos_in_r_array_transp,(n_points_final_grid,n_core_orb)] + implicit none + BEGIN_DOC +! all COREE MOs on the grid points, arranged in two different ways + END_DOC + integer :: i,j,k + do i = 1, n_core_orb + j = list_core(i) + do k = 1, n_points_final_grid + core_mos_in_r_array_transp(k,i) = mos_in_r_array_transp(k,j) + enddo + enddo + + do k = 1, n_points_final_grid + do i = 1, n_core_orb + core_mos_in_r_array(i,k) = core_mos_in_r_array_transp(k,i) + enddo + enddo + +END_PROVIDER + + + BEGIN_PROVIDER[double precision, inact_mos_in_r_array, (n_inact_orb,n_points_final_grid)] +&BEGIN_PROVIDER[double precision, inact_mos_in_r_array_transp,(n_points_final_grid,n_inact_orb)] + implicit none + BEGIN_DOC +! all INACTIVE MOs on the grid points, arranged in two different ways + END_DOC + integer :: i,j,k + do i = 1, n_inact_orb + j = list_inact(i) + do k = 1, n_points_final_grid + inact_mos_in_r_array_transp(k,i) = mos_in_r_array_transp(k,j) + enddo + enddo + + do k = 1, n_points_final_grid + do i = 1, n_inact_orb + inact_mos_in_r_array(i,k) = inact_mos_in_r_array_transp(k,i) + enddo + enddo + +END_PROVIDER + + BEGIN_PROVIDER[double precision, act_mos_in_r_array, (n_act_orb,n_points_final_grid)] +&BEGIN_PROVIDER[double precision, act_mos_in_r_array_transp,(n_points_final_grid,n_act_orb)] + implicit none + BEGIN_DOC +! all ACTIVE MOs on the grid points, arranged in two different ways + END_DOC + integer :: i,j,k + do i = 1, n_act_orb + j = list_act(i) + do k = 1, n_points_final_grid + act_mos_in_r_array_transp(k,i) = mos_in_r_array_transp(k,j) + enddo + enddo + + do k = 1, n_points_final_grid + do i = 1, n_act_orb + act_mos_in_r_array(i,k) = act_mos_in_r_array_transp(k,i) + enddo + enddo + +END_PROVIDER + + + BEGIN_PROVIDER[double precision, virt_mos_in_r_array, (n_virt_orb,n_points_final_grid)] +&BEGIN_PROVIDER[double precision, virt_mos_in_r_array_transp,(n_points_final_grid,n_virt_orb)] + implicit none + BEGIN_DOC +! all VIRTUAL MOs on the grid points, arranged in two different ways + END_DOC + integer :: i,j,k + do i = 1, n_virt_orb + j = list_virt(i) + do k = 1, n_points_final_grid + virt_mos_in_r_array_transp(k,i) = mos_in_r_array_transp(k,j) + enddo + enddo + + do k = 1, n_points_final_grid + do i = 1, n_virt_orb + virt_mos_in_r_array(i,k) = virt_mos_in_r_array_transp(k,i) + enddo + enddo + +END_PROVIDER + + BEGIN_PROVIDER[double precision, core_inact_act_mos_in_r_array, (n_core_inact_act_orb,n_points_final_grid)] +&BEGIN_PROVIDER[double precision, core_inact_act_mos_in_r_array_transp,(n_points_final_grid,n_core_inact_act_orb)] + implicit none + integer :: i,j,k + do i = 1, n_core_inact_act_orb + j = list_core_inact_act(i) + do k = 1, n_points_final_grid + core_inact_act_mos_in_r_array_transp(k,i) = mos_in_r_array_transp(k,j) + enddo + enddo + + do k = 1, n_points_final_grid + do i = 1, n_core_inact_act_orb + core_inact_act_mos_in_r_array(i,k) = core_inact_act_mos_in_r_array_transp(k,i) + enddo + enddo + +END_PROVIDER + + BEGIN_PROVIDER[double precision, core_inact_act_mos_grad_in_r_array, (3,n_core_inact_act_orb,n_points_final_grid)] + implicit none + integer :: i,j,k,l + do i = 1, n_core_inact_act_orb + j = list_core_inact_act(i) + do k = 1, n_points_final_grid + do l = 1, 3 + core_inact_act_mos_grad_in_r_array(l,i,k) = mos_grad_in_r_array(j,k,l) + enddo + enddo + enddo + +END_PROVIDER + + diff --git a/src/cas_based_on_top/cas_based_density.irp.f b/src/cas_based_on_top/cas_based_density.irp.f new file mode 100644 index 00000000..bec4da15 --- /dev/null +++ b/src/cas_based_on_top/cas_based_density.irp.f @@ -0,0 +1,47 @@ +program cas_based_density + implicit none + BEGIN_DOC +! TODO : Small example to use the different quantities in this plugin + END_DOC + + !! You force QP2 to read the wave function in the EZFIO folder + !! It is assumed that all Slater determinants in the wave function + !! belongs to an active space defined by core, inactive and active list of orbitals + read_wf = .True. + touch read_wf + call routine_test_cas_based_density + +end + +subroutine routine_test_cas_based_density + implicit none + integer :: ipoint, istate + double precision :: accu_n_elec(N_states),accu_n_elec_2(N_states) + + ! PROVIDERS + accu_n_elec = 0.d0 + do istate = 1, N_states + do ipoint = 1, n_points_final_grid + accu_n_elec(istate) += one_e_cas_total_density(ipoint,istate) * final_weight_at_r_vector(ipoint) + enddo + print*,'istate = ',istate + print*,'accu_n_elec = ',accu_n_elec(istate) + enddo + + ! ROUTINES + double precision :: r(3),core_dens,inact_dens,act_dens(2,N_states),total_cas_dens(N_states) + accu_n_elec_2 = 0.d0 + do ipoint = 1, n_points_final_grid + r(:) = final_grid_points(:,ipoint) + call give_cas_density_in_r(core_dens,inact_dens,act_dens,total_cas_dens,r) + do istate = 1, N_states + accu_n_elec_2(istate) += total_cas_dens(istate) * final_weight_at_r_vector(ipoint) + enddo + enddo + + do istate = 1, N_states + print*,'istate = ',istate + print*,'accu_n_elec = ',accu_n_elec_2(istate) + enddo + +end diff --git a/src/cas_based_on_top/cas_based_on_top.irp.f b/src/cas_based_on_top/cas_based_on_top.irp.f new file mode 100644 index 00000000..89516336 --- /dev/null +++ b/src/cas_based_on_top/cas_based_on_top.irp.f @@ -0,0 +1,19 @@ +program cas_based_on_top_density + implicit none + BEGIN_DOC +! TODO : Small example to use the different quantities in this plugin + END_DOC + + !! You force QP2 to read the wave function in the EZFIO folder + !! It is assumed that all Slater determinants in the wave function + !! belongs to an active space defined by core, inactive and active list of orbitals + read_wf = .True. + touch read_wf +! call routine_test_cas_based_on_top_density + call routine +end + +subroutine routine + implicit none + provide total_cas_on_top_density +end diff --git a/src/cas_based_on_top/cas_dens_prov.irp.f b/src/cas_based_on_top/cas_dens_prov.irp.f new file mode 100644 index 00000000..453356b3 --- /dev/null +++ b/src/cas_based_on_top/cas_dens_prov.irp.f @@ -0,0 +1,99 @@ + + BEGIN_PROVIDER [double precision, one_e_cas_total_density ,(n_points_final_grid,N_states) ] + implicit none + BEGIN_DOC + ! one_e_cas_total_density = TOTAL DENSITY FOR a CAS wave function + ! + ! WARNING : if "no_core_density" == .True. then the core part of density is ignored + END_DOC + integer :: ipoint,i,j,istate + do istate = 1, N_states + do ipoint = 1, n_points_final_grid + one_e_cas_total_density(ipoint,istate) = one_e_act_density_alpha(ipoint,istate) + one_e_act_density_beta(ipoint,istate) & + + 2.d0 * inact_density(ipoint) + if(.not.no_core_density)then !!! YOU ADD THE CORE DENSITY + one_e_cas_total_density(ipoint,istate) += 2.d0 * core_density(ipoint) + endif + enddo + enddo + END_PROVIDER + + BEGIN_PROVIDER [double precision, one_e_act_density_alpha,(n_points_final_grid,N_states) ] + implicit none + BEGIN_DOC + ! one_e_act_density_alpha = pure ACTIVE part of the DENSITY for ALPHA ELECTRONS + END_DOC + one_e_act_density_alpha = 0.d0 + integer :: ipoint,i,j,istate + do istate = 1, N_states + do ipoint = 1, n_points_final_grid + do i = 1, n_act_orb + do j = 1, n_act_orb + one_e_act_density_alpha(ipoint,istate) += one_e_act_dm_alpha_mo_for_dft(j,i,istate) * act_mos_in_r_array(j,ipoint) * act_mos_in_r_array(i,ipoint) + enddo + enddo + enddo + enddo + END_PROVIDER + + + + + BEGIN_PROVIDER [double precision, one_e_act_density_beta,(n_points_final_grid,N_states) ] + implicit none + BEGIN_DOC + ! one_e_act_density_beta = pure ACTIVE part of the DENSITY for BETA ELECTRONS + END_DOC + one_e_act_density_beta = 0.d0 + integer :: ipoint,i,j,istate + do istate = 1, N_states + do ipoint = 1, n_points_final_grid + do i = 1, n_act_orb + do j = 1, n_act_orb + one_e_act_density_beta(ipoint,istate) += one_e_act_dm_beta_mo_for_dft(j,i,istate) * act_mos_in_r_array(j,ipoint) * act_mos_in_r_array(i,ipoint) + enddo + enddo + enddo + enddo + END_PROVIDER + + + + BEGIN_PROVIDER [double precision, inact_density, (n_points_final_grid) ] + implicit none + BEGIN_DOC +! INACTIVE part of the density for alpha/beta. +! +! WARNING :: IF YOU NEED THE TOTAL DENSITY COMING FROM THE INACTIVE, +! +! YOU MUST MULTIPLY BY TWO + END_DOC + integer :: i,j + inact_density = 0.d0 + do i = 1, n_points_final_grid + do j = 1, n_inact_orb + inact_density(i) += inact_mos_in_r_array(j,i) **2 + enddo + enddo + +END_PROVIDER + + BEGIN_PROVIDER [double precision, core_density, (n_points_final_grid) ] + implicit none + BEGIN_DOC +! CORE part of the density for alpha/beta. +! +! WARNING :: IF YOU NEED THE TOTAL DENSITY COMING FROM THE CORE, +! +! YOU MUST MULTIPLY BY TWO + END_DOC + integer :: i,j + core_density = 0.d0 + do i = 1, n_points_final_grid + do j = 1, n_core_orb + core_density(i) += core_mos_in_r_array(j,i) **2 + enddo + enddo + +END_PROVIDER + diff --git a/src/cas_based_on_top/cas_dens_rout.irp.f b/src/cas_based_on_top/cas_dens_rout.irp.f new file mode 100644 index 00000000..7e7d8d99 --- /dev/null +++ b/src/cas_based_on_top/cas_dens_rout.irp.f @@ -0,0 +1,65 @@ +subroutine give_cas_density_in_r(core_dens,inact_dens,act_dens,total_cas_dens,r) + implicit none + BEGIN_DOC + ! returns the different component of the density at grid point r(3) for a CAS wave function + ! + ! core_dens : density coming from the CORE orbitals + ! + ! inact_dens : density coming from the INACT orbitals + ! + ! act_dens(1/2,1:N_states) : active part of the alpha/beta electrons for all states + ! + ! total_cas_dens : total density of the cas wave function + ! + ! WARNING : if "no_core_density" == .True. then the core part of density is ignored in total_cas_dens + END_DOC + + double precision, intent(in) :: r(3) + double precision, intent(out) :: core_dens, inact_dens, act_dens(2,N_states), total_cas_dens(N_states) + + double precision, allocatable :: mos_array(:),act_mos(:) + allocate(mos_array(mo_num)) + call give_all_mos_at_r(r,mos_array) + integer :: i,iorb,j,jorb,istate + + ! core part of the density + core_dens = 0.d0 + do i = 1, n_core_orb + iorb = list_core(i) + core_dens += mos_array(iorb)*mos_array(iorb) + enddo + core_dens = core_dens * 2.d0 + + ! inactive part of the density + inact_dens = 0.d0 + do i = 1, n_inact_orb + iorb = list_inact(i) + inact_dens += mos_array(iorb)*mos_array(iorb) + enddo + inact_dens = inact_dens * 2.d0 + + allocate(act_mos(n_act_orb)) + do i = 1, n_act_orb + iorb = list_act(i) + act_mos(i) = mos_array(iorb) + enddo + + ! active part of the density for alpha/beta and all states + act_dens = 0.d0 + do istate = 1, N_states + do i = 1, n_act_orb + do j = 1, n_act_orb + act_dens(1,istate) += one_e_act_dm_alpha_mo_for_dft(j,i,istate) * act_mos(j) * act_mos(i) + act_dens(2,istate) += one_e_act_dm_beta_mo_for_dft(j,i,istate) * act_mos(j) * act_mos(i) + enddo + enddo + enddo + + ! TOTAL density for all states + do istate = 1, N_states + total_cas_dens(istate) = inact_dens + act_dens(1,istate) + act_dens(2,istate) + if(.not.no_core_density)then !!! YOU ADD THE CORE DENSITY + total_cas_dens(istate) += core_dens + endif + enddo +end diff --git a/src/cas_based_on_top/cas_one_e_rdm.irp.f b/src/cas_based_on_top/cas_one_e_rdm.irp.f new file mode 100644 index 00000000..df4ca271 --- /dev/null +++ b/src/cas_based_on_top/cas_one_e_rdm.irp.f @@ -0,0 +1,37 @@ + + BEGIN_PROVIDER [double precision, one_e_act_dm_beta_mo_for_dft, (n_act_orb,n_act_orb,N_states)] + implicit none + BEGIN_DOC + ! one_e_act_dm_beta_mo_for_dft = pure ACTIVE part of the ONE ELECTRON REDUCED DENSITY MATRIX for the BETA ELECTRONS + END_DOC + integer :: i,j,ii,jj,istate + do istate = 1, N_states + do ii = 1, n_act_orb + i = list_act(ii) + do jj = 1, n_act_orb + j = list_act(jj) + one_e_act_dm_beta_mo_for_dft(jj,ii,istate) = one_e_dm_mo_beta_for_dft(j,i,istate) + enddo + enddo + enddo + +END_PROVIDER + + BEGIN_PROVIDER [double precision, one_e_act_dm_alpha_mo_for_dft, (n_act_orb,n_act_orb,N_states)] + implicit none + BEGIN_DOC + ! one_e_act_dm_alpha_mo_for_dft = pure ACTIVE part of the ONE ELECTRON REDUCED DENSITY MATRIX for the ALPHA ELECTRONS + END_DOC + integer :: i,j,ii,jj,istate + do istate = 1, N_states + do ii = 1, n_act_orb + i = list_act(ii) + do jj = 1, n_act_orb + j = list_act(jj) + one_e_act_dm_alpha_mo_for_dft(jj,ii,istate) = one_e_dm_mo_alpha_for_dft(j,i,istate) + enddo + enddo + enddo + +END_PROVIDER + diff --git a/src/cas_based_on_top/eff_spin_dens.irp.f b/src/cas_based_on_top/eff_spin_dens.irp.f new file mode 100644 index 00000000..8a70846a --- /dev/null +++ b/src/cas_based_on_top/eff_spin_dens.irp.f @@ -0,0 +1,68 @@ + BEGIN_PROVIDER [double precision, effective_spin_dm, (n_points_final_grid,N_states) ] +&BEGIN_PROVIDER [double precision, grad_effective_spin_dm, (3,n_points_final_grid,N_states) ] + implicit none + BEGIN_DOC +! effective_spin_dm(r_i) = \sqrt( n(r)^2 - 4 * ontop(r) ) +! effective spin density obtained from the total density and on-top pair density +! see equation (6) of Phys. Chem. Chem. Phys., 2015, 17, 22412--22422 | 22413 + END_DOC + provide total_cas_on_top_density + integer :: i_point,i_state,i + double precision :: n2,m2,thr + thr = 1.d-14 + effective_spin_dm = 0.d0 + grad_effective_spin_dm = 0.d0 + do i_state = 1, N_states + do i_point = 1, n_points_final_grid + n2 = (one_e_dm_and_grad_alpha_in_r(4,i_point,i_state) + one_e_dm_and_grad_beta_in_r(4,i_point,i_state)) + ! density squared + n2 = n2 * n2 + if(n2 - 4.D0 * total_cas_on_top_density(i_point,i_state).gt.thr)then + effective_spin_dm(i_point,i_state) = dsqrt(n2 - 4.D0 * total_cas_on_top_density(i_point,i_state)) + if(isnan(effective_spin_dm(i_point,i_state)))then + print*,'isnan(effective_spin_dm(i_point,i_state)' + stop + endif + m2 = effective_spin_dm(i_point,i_state) + m2 = 0.5d0 / m2 ! 1/(2 * sqrt(n(r)^2 - 4 * ontop(r)) ) + do i = 1, 3 + grad_effective_spin_dm(i,i_point,i_state) = m2 * ( one_e_stuff_for_pbe(i,i_point,i_state) - 4.d0 * grad_total_cas_on_top_density(i,i_point,i_state) ) + enddo + else + effective_spin_dm(i_point,i_state) = 0.d0 + grad_effective_spin_dm(:,i_point,i_state) = 0.d0 + endif + enddo + enddo + +END_PROVIDER + + + BEGIN_PROVIDER [double precision, effective_alpha_dm, (n_points_final_grid,N_states) ] +&BEGIN_PROVIDER [double precision, effective_beta_dm, (n_points_final_grid,N_states) ] +&BEGIN_PROVIDER [double precision, grad_effective_alpha_dm, (3,n_points_final_grid,N_states) ] +&BEGIN_PROVIDER [double precision, grad_effective_beta_dm, (3,n_points_final_grid,N_states) ] + implicit none + BEGIN_DOC +! effective_alpha_dm(r_i) = 1/2 * (effective_spin_dm(r_i) + n(r_i)) +! effective_beta_dm(r_i) = 1/2 * (-effective_spin_dm(r_i) + n(r_i)) + END_DOC + provide total_cas_on_top_density + integer :: i_point,i_state,i + double precision :: n,grad_n + do i_state = 1, N_states + do i_point = 1, n_points_final_grid + n = (one_e_dm_and_grad_alpha_in_r(4,i_point,i_state) + one_e_dm_and_grad_beta_in_r(4,i_point,i_state)) + effective_alpha_dm(i_point,i_state) = 0.5d0 * (n + effective_spin_dm(i_point,i_state)) + effective_beta_dm(i_point,i_state) = 0.5d0 * (n - effective_spin_dm(i_point,i_state)) + do i = 1, 3 + grad_n = (one_e_dm_and_grad_alpha_in_r(i,i_point,i_state) + one_e_dm_and_grad_beta_in_r(i,i_point,i_state)) + grad_effective_alpha_dm(i,i_point,i_state) = 0.5d0 * (grad_n + grad_effective_spin_dm(i,i_point,i_state) ) + grad_effective_beta_dm(i,i_point,i_state) = 0.5d0 * (grad_n - grad_effective_spin_dm(i,i_point,i_state) ) + enddo + enddo + enddo + +END_PROVIDER + + diff --git a/src/cas_based_on_top/example.irp.f b/src/cas_based_on_top/example.irp.f new file mode 100644 index 00000000..f00956e3 --- /dev/null +++ b/src/cas_based_on_top/example.irp.f @@ -0,0 +1,41 @@ + +subroutine write_on_top_in_real_space + implicit none + BEGIN_DOC +! This routines is a simple example of how to plot the on-top pair density on a simple 1D grid + END_DOC + double precision :: zmax,dz,r(3),on_top_in_r,total_density,zcenter,dist + + integer :: nz,i,istate + character*(128) :: output + integer :: i_unit_output,getUnitAndOpen + PROVIDE ezfio_filename + output=trim(ezfio_filename)//'.on_top' + print*,'output = ',trim(output) + i_unit_output = getUnitAndOpen(output,'w') + + + zmax = 2.0d0 + print*,'nucl_coord(1,3) = ',nucl_coord(1,3) + print*,'nucl_coord(2,3) = ',nucl_coord(2,3) + dist = dabs(nucl_coord(1,3) - nucl_coord(2,3)) + zmax += dist + zcenter = (nucl_coord(1,3) + nucl_coord(2,3))*0.5d0 + print*,'zcenter = ',zcenter + print*,'zmax = ',zmax + nz = 1000 + dz = zmax / dble(nz) + r(:) = 0.d0 + r(3) = zcenter -zmax * 0.5d0 + print*,'r(3) = ',r(3) + istate = 1 + do i = 1, nz + call give_on_top_in_r_one_state(r,istate,on_top_in_r) + call give_cas_density_in_r(r,total_density) + write(i_unit_output,*)r(3),on_top_in_r,total_density + r(3) += dz + enddo + + +end + diff --git a/src/cas_based_on_top/on_top_cas_prov.irp.f b/src/cas_based_on_top/on_top_cas_prov.irp.f new file mode 100644 index 00000000..18a7b7d2 --- /dev/null +++ b/src/cas_based_on_top/on_top_cas_prov.irp.f @@ -0,0 +1,76 @@ + + subroutine act_on_top_on_grid_pt(ipoint,istate,pure_act_on_top_of_r) + implicit none + BEGIN_DOC + ! act_on_top_on_grid_pt returns the purely ACTIVE part of the on top pair density + ! + ! at the grid point ipoint, for the state istate + END_DOC + integer, intent(in) :: ipoint,istate + double precision, intent(out) :: pure_act_on_top_of_r + double precision :: phi_i,phi_j,phi_k,phi_l + integer :: i,j,k,l + ASSERT (istate <= N_states) + + pure_act_on_top_of_r = 0.d0 + do l = 1, n_act_orb + phi_l = act_mos_in_r_array(l,ipoint) + do k = 1, n_act_orb + phi_k = act_mos_in_r_array(k,ipoint) + do j = 1, n_act_orb + phi_j = act_mos_in_r_array(j,ipoint) + do i = 1, n_act_orb + phi_i = act_mos_in_r_array(i,ipoint) + ! 1 2 1 2 + pure_act_on_top_of_r += act_2_rdm_ab_mo(i,j,k,l,istate) * phi_i * phi_j * phi_k * phi_l + enddo + enddo + enddo + enddo + end + + + BEGIN_PROVIDER [double precision, total_cas_on_top_density,(n_points_final_grid,N_states) ] + implicit none + BEGIN_DOC + ! on top pair density :: n2(r,r) at each of the Becke's grid point of a CAS-BASED wf + ! + ! Contains all core/inact/act contribution. + ! + ! !!!!! WARNING !!!!! If no_core_density then you REMOVE ALL CONTRIBUTIONS COMING FROM THE CORE ORBITALS + END_DOC + integer :: i_point,istate + double precision :: wall_0,wall_1,core_inact_dm,pure_act_on_top_of_r + logical :: no_core + print*,'providing the total_cas_on_top_density' + ! for parallelization + provide inact_density core_density one_e_act_density_beta one_e_act_density_alpha act_mos_in_r_array + i_point = 1 + istate = 1 + call act_on_top_on_grid_pt(i_point,istate,pure_act_on_top_of_r) + call wall_time(wall_0) + if(no_core_density)then + print*,'USING THE VALENCE ONLY TWO BODY DENSITY' + endif + do istate = 1, N_states + !$OMP PARALLEL DO & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (i_point,core_inact_dm,pure_act_on_top_of_r) & + !$OMP SHARED(total_cas_on_top_density,n_points_final_grid,inact_density,core_density,one_e_act_density_beta,one_e_act_density_alpha,no_core_density,istate) + do i_point = 1, n_points_final_grid + call act_on_top_on_grid_pt(i_point,istate,pure_act_on_top_of_r) + if(no_core_density) then + core_inact_dm = inact_density(i_point) + else + core_inact_dm = (inact_density(i_point) + core_density(i_point)) + endif + total_cas_on_top_density(i_point,istate) = pure_act_on_top_of_r + core_inact_dm * (one_e_act_density_beta(i_point,istate) + one_e_act_density_alpha(i_point,istate)) + core_inact_dm*core_inact_dm + enddo + !$OMP END PARALLEL DO + enddo + call wall_time(wall_1) + print*,'provided the total_cas_on_top_density' + print*,'Time to provide :',wall_1 - wall_0 + + END_PROVIDER + diff --git a/src/cas_based_on_top/on_top_cas_rout.irp.f b/src/cas_based_on_top/on_top_cas_rout.irp.f new file mode 100644 index 00000000..6a4c15b9 --- /dev/null +++ b/src/cas_based_on_top/on_top_cas_rout.irp.f @@ -0,0 +1,118 @@ + +subroutine give_core_inact_act_density_in_r(r,mos_array,core_density_in_r,inact_density_in_r,act_density_in_r, total_density) + implicit none + double precision, intent(in) :: r(3),mos_array(mo_num) + double precision, intent(out):: core_density_in_r,inact_density_in_r,act_density_in_r(2,N_states),total_density(N_states) + BEGIN_DOC +! core, inactive and active part of the density for alpha/beta electrons +! +! the density coming from the core and inactive are the same for alpha/beta electrons +! +! act_density(1/2, i) = alpha/beta density for the ith state +! +! total_density(i) = 2 * (core_density_in_r+inact_density_in_r) + act_density_in_r(1,i) + act_density_in_r(2,i) + END_DOC + integer :: i,j,istate + + core_density_in_r = 0.d0 + do i = 1, n_core_orb + j = list_core(i) + core_density_in_r += mos_array(j) * mos_array(j) + enddo + + inact_density_in_r = 0.d0 + do i = 1, n_inact_orb + j = list_inact(i) + inact_density_in_r += mos_array(j) * mos_array(j) + enddo + + double precision, allocatable :: act_mos(:) + double precision :: tmp + allocate(act_mos(n_act_orb)) + do i = 1, n_act_orb + j = list_act(i) + act_mos(i) = mos_array(j) + enddo + + act_density_in_r = 0.d0 + do istate = 1, N_states + do i = 1, n_act_orb + do j = 1, n_act_orb + tmp = act_mos(i) * act_mos(j) + act_density_in_r(1,istate) += tmp * one_e_act_dm_alpha_mo_for_dft(j,i,istate) + act_density_in_r(2,istate) += tmp * one_e_act_dm_beta_mo_for_dft(j,i,istate) + enddo + enddo + total_density(istate) = 2.d0 * (core_density_in_r + inact_density_in_r) + act_density_in_r(1,istate) + act_density_in_r(2,istate) + enddo + +end + + subroutine give_active_on_top_in_r_one_state(r,istate,mos_array,act_on_top) + implicit none + BEGIN_DOC + ! gives the purely active on-top pair density for a given state + END_DOC + integer, intent(in) :: istate + double precision, intent(in) :: r(3),mos_array(mo_num) + double precision, intent(out) :: act_on_top + double precision :: phi_i,phi_j,phi_k,phi_l + integer :: i,j,k,l + + double precision, allocatable :: act_mos(:) + double precision :: tmp + allocate(act_mos(n_act_orb)) + do i = 1, n_act_orb + j = list_act(i) + act_mos(i) = mos_array(j) + enddo + + act_on_top = 0.d0 + do l = 1, n_act_orb + phi_l = act_mos(l) + do k = 1, n_act_orb + phi_k = act_mos(k) + do j = 1, n_act_orb + phi_j = act_mos(j) + tmp = phi_l * phi_k * phi_j + do i = 1, n_act_orb + phi_i = act_mos(i) + ! 1 2 1 2 + act_on_top += act_2_rdm_ab_mo(i,j,k,l,istate) * tmp * phi_i + enddo + enddo + enddo + enddo + end + + subroutine give_on_top_in_r_one_state(r,istate,on_top_in_r) + implicit none + integer, intent(in) :: istate + double precision, intent(in) :: r(3) + double precision, intent(out) :: on_top_in_r + BEGIN_DOC + ! on top pair density in r for the state istate a CAS-BASED wf + ! + ! note that if no_core_density .EQ. .True., all core contributions are excluded + END_DOC + double precision, allocatable :: mos_array(:) + provide act_2_rdm_ab_mo one_e_act_dm_alpha_mo_for_dft one_e_act_dm_beta_mo_for_dft + allocate(mos_array(mo_num)) + call give_all_mos_at_r(r,mos_array) + + double precision :: core_density_in_r, inact_density_in_r, act_density_in_r(2,N_states), total_density(N_states) + double precision :: act_on_top,core_inact_dm + ! getting the different part of the density in r + call give_core_inact_act_density_in_r(r,mos_array,core_density_in_r,inact_density_in_r,act_density_in_r, total_density) + ! getting the purely active part of the density in r + call give_active_on_top_in_r_one_state(r,istate,mos_array,act_on_top) + + if(no_core_density) then + core_inact_dm = inact_density_in_r + else + core_inact_dm = core_density_in_r + inact_density_in_r + endif + on_top_in_r = act_on_top + core_inact_dm * (act_density_in_r(1,istate) + act_density_in_r(2,istate)) + core_inact_dm*core_inact_dm + + end + diff --git a/src/cas_based_on_top/on_top_grad.irp.f b/src/cas_based_on_top/on_top_grad.irp.f new file mode 100644 index 00000000..4c581273 --- /dev/null +++ b/src/cas_based_on_top/on_top_grad.irp.f @@ -0,0 +1,73 @@ + subroutine give_on_top_gradient(ipoint,istate,ontop_grad) + implicit none + BEGIN_DOC + ! on top pair density and its gradient evaluated at a given point of the grid + ! ontop_grad(1:3) :: gradients of the on-top pair density + ! ontop_grad(4) :: on-top pair density + END_DOC + double precision, intent(out) :: ontop_grad(4) + integer, intent(in) :: ipoint,istate + double precision :: phi_jkl,phi_ikl,phi_ijl,phi_ijk + integer :: i,j,k,l,m + + ontop_grad = 0.d0 + do l = 1, n_core_inact_act_orb + do k = 1, n_core_inact_act_orb + do j = 1, n_core_inact_act_orb + do i = 1, n_core_inact_act_orb + phi_jkl = core_inact_act_mos_in_r_array(j,ipoint) * core_inact_act_mos_in_r_array(k,ipoint) * core_inact_act_mos_in_r_array(l,ipoint) + phi_ikl = core_inact_act_mos_in_r_array(i,ipoint) * core_inact_act_mos_in_r_array(k,ipoint) * core_inact_act_mos_in_r_array(l,ipoint) + phi_ijl = core_inact_act_mos_in_r_array(i,ipoint) * core_inact_act_mos_in_r_array(j,ipoint) * core_inact_act_mos_in_r_array(l,ipoint) + phi_ijk = core_inact_act_mos_in_r_array(i,ipoint) * core_inact_act_mos_in_r_array(j,ipoint) * core_inact_act_mos_in_r_array(k,ipoint) + ! 1 2 1 2 + ontop_grad(4) += phi_ijk * core_inact_act_mos_in_r_array(l,ipoint) * full_occ_2_rdm_ab_mo(i,j,k,l,istate) + do m = 1,3 + ontop_grad (m) += full_occ_2_rdm_ab_mo(i,j,k,l,istate) * & + ( core_inact_act_mos_grad_in_r_array(m,i,ipoint) * phi_jkl + core_inact_act_mos_grad_in_r_array(m,j,ipoint) * phi_ikl + & + core_inact_act_mos_grad_in_r_array(m,k,ipoint) * phi_ijl + core_inact_act_mos_grad_in_r_array(m,l,ipoint) * phi_ijk ) + enddo + enddo + enddo + enddo + enddo + end + + BEGIN_PROVIDER [double precision, grad_total_cas_on_top_density,(4,n_points_final_grid,N_states) ] +&BEGIN_PROVIDER [double precision, wall_time_core_inact_act_on_top_of_r ] + implicit none + BEGIN_DOC + ! grad_total_cas_on_top_density(1:3,ipoint,istate) : provider for the on top pair density gradient (x,y,z) for the point 'ipoint' and state 'istate' + ! + ! grad_total_cas_on_top_density(4,ipoint,istate) : on top pair density for the point 'ipoint' and state 'istate' + END_DOC + integer :: i_point,i_state,i + double precision :: wall_0,wall_1 + double precision :: core_inact_act_on_top_of_r_from_provider,ontop_grad(4) + + print*,'providing the core_inact_act_on_top_of_r' + i_point = 1 + provide full_occ_2_rdm_ab_mo + i_state = 1 + call give_on_top_gradient(i_point,i_state,ontop_grad) + call wall_time(wall_0) + !$OMP PARALLEL DO & + !$OMP DEFAULT (NONE) & + !$OMP PRIVATE (i_point,i_state,ontop_grad) & + !$OMP SHARED(grad_total_cas_on_top_density,n_points_final_grid,N_states) + do i_point = 1, n_points_final_grid + do i_state = 1, N_states + call give_on_top_gradient(i_point,i_state,ontop_grad) + do i = 1, 4 + grad_total_cas_on_top_density(i,i_point,i_state) = ontop_grad(i) + enddo + enddo + enddo + !$OMP END PARALLEL DO + call wall_time(wall_1) + print*,'provided the core_inact_act_on_top_of_r' + print*,'Time to provide :',wall_1 - wall_0 + wall_time_core_inact_act_on_top_of_r = wall_1 - wall_0 + + END_PROVIDER + + From 1aab926b66cb6c3589630ad92dcb17b1f8ad2bed Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Tue, 7 Apr 2020 12:19:17 +0200 Subject: [PATCH 060/138] beginning to reorganise stuffs --- src/dft_one_e/NEED | 2 +- src/{dft_utils_one_e => dft_one_e}/effective_pot.irp.f | 0 src/{dft_utils_one_e => dft_one_e}/mu_erf_dft.irp.f | 0 src/{dft_utils_one_e => dft_one_e}/one_e_energy_dft.irp.f | 0 src/{dft_utils_one_e => dft_one_e}/sr_coulomb.irp.f | 0 src/{dft_utils_one_e => dft_utils_func}/NEED | 0 src/{dft_utils_one_e => dft_utils_func}/README.rst | 0 src/{dft_utils_one_e => dft_utils_func}/garbage_func.irp.f | 0 src/{ecmd_utils => dft_utils_func}/on_top_from_ueg.irp.f | 0 src/{dft_utils_one_e => dft_utils_func}/rho_ab_to_rho_tot.irp.f | 0 .../routines_exc_sr_lda.irp.f | 0 .../routines_exc_sr_pbe.irp.f | 0 src/{dft_utils_one_e => dft_utils_func}/utils.irp.f | 0 src/dummy/NEED | 2 +- src/functionals/NEED | 2 +- 15 files changed, 3 insertions(+), 3 deletions(-) rename src/{dft_utils_one_e => dft_one_e}/effective_pot.irp.f (100%) rename src/{dft_utils_one_e => dft_one_e}/mu_erf_dft.irp.f (100%) rename src/{dft_utils_one_e => dft_one_e}/one_e_energy_dft.irp.f (100%) rename src/{dft_utils_one_e => dft_one_e}/sr_coulomb.irp.f (100%) rename src/{dft_utils_one_e => dft_utils_func}/NEED (100%) rename src/{dft_utils_one_e => dft_utils_func}/README.rst (100%) rename src/{dft_utils_one_e => dft_utils_func}/garbage_func.irp.f (100%) rename src/{ecmd_utils => dft_utils_func}/on_top_from_ueg.irp.f (100%) rename src/{dft_utils_one_e => dft_utils_func}/rho_ab_to_rho_tot.irp.f (100%) rename src/{dft_utils_one_e => dft_utils_func}/routines_exc_sr_lda.irp.f (100%) rename src/{dft_utils_one_e => dft_utils_func}/routines_exc_sr_pbe.irp.f (100%) rename src/{dft_utils_one_e => dft_utils_func}/utils.irp.f (100%) diff --git a/src/dft_one_e/NEED b/src/dft_one_e/NEED index 2f95a965..377e4ba0 100644 --- a/src/dft_one_e/NEED +++ b/src/dft_one_e/NEED @@ -1,2 +1,2 @@ -dft_utils_one_e +dft_utils_func functionals diff --git a/src/dft_utils_one_e/effective_pot.irp.f b/src/dft_one_e/effective_pot.irp.f similarity index 100% rename from src/dft_utils_one_e/effective_pot.irp.f rename to src/dft_one_e/effective_pot.irp.f diff --git a/src/dft_utils_one_e/mu_erf_dft.irp.f b/src/dft_one_e/mu_erf_dft.irp.f similarity index 100% rename from src/dft_utils_one_e/mu_erf_dft.irp.f rename to src/dft_one_e/mu_erf_dft.irp.f diff --git a/src/dft_utils_one_e/one_e_energy_dft.irp.f b/src/dft_one_e/one_e_energy_dft.irp.f similarity index 100% rename from src/dft_utils_one_e/one_e_energy_dft.irp.f rename to src/dft_one_e/one_e_energy_dft.irp.f diff --git a/src/dft_utils_one_e/sr_coulomb.irp.f b/src/dft_one_e/sr_coulomb.irp.f similarity index 100% rename from src/dft_utils_one_e/sr_coulomb.irp.f rename to src/dft_one_e/sr_coulomb.irp.f diff --git a/src/dft_utils_one_e/NEED b/src/dft_utils_func/NEED similarity index 100% rename from src/dft_utils_one_e/NEED rename to src/dft_utils_func/NEED diff --git a/src/dft_utils_one_e/README.rst b/src/dft_utils_func/README.rst similarity index 100% rename from src/dft_utils_one_e/README.rst rename to src/dft_utils_func/README.rst diff --git a/src/dft_utils_one_e/garbage_func.irp.f b/src/dft_utils_func/garbage_func.irp.f similarity index 100% rename from src/dft_utils_one_e/garbage_func.irp.f rename to src/dft_utils_func/garbage_func.irp.f diff --git a/src/ecmd_utils/on_top_from_ueg.irp.f b/src/dft_utils_func/on_top_from_ueg.irp.f similarity index 100% rename from src/ecmd_utils/on_top_from_ueg.irp.f rename to src/dft_utils_func/on_top_from_ueg.irp.f diff --git a/src/dft_utils_one_e/rho_ab_to_rho_tot.irp.f b/src/dft_utils_func/rho_ab_to_rho_tot.irp.f similarity index 100% rename from src/dft_utils_one_e/rho_ab_to_rho_tot.irp.f rename to src/dft_utils_func/rho_ab_to_rho_tot.irp.f diff --git a/src/dft_utils_one_e/routines_exc_sr_lda.irp.f b/src/dft_utils_func/routines_exc_sr_lda.irp.f similarity index 100% rename from src/dft_utils_one_e/routines_exc_sr_lda.irp.f rename to src/dft_utils_func/routines_exc_sr_lda.irp.f diff --git a/src/dft_utils_one_e/routines_exc_sr_pbe.irp.f b/src/dft_utils_func/routines_exc_sr_pbe.irp.f similarity index 100% rename from src/dft_utils_one_e/routines_exc_sr_pbe.irp.f rename to src/dft_utils_func/routines_exc_sr_pbe.irp.f diff --git a/src/dft_utils_one_e/utils.irp.f b/src/dft_utils_func/utils.irp.f similarity index 100% rename from src/dft_utils_one_e/utils.irp.f rename to src/dft_utils_func/utils.irp.f diff --git a/src/dummy/NEED b/src/dummy/NEED index c1d788cf..3d5eb1f7 100644 --- a/src/dummy/NEED +++ b/src/dummy/NEED @@ -15,7 +15,7 @@ density_for_dft determinants dft_keywords dft_utils_in_r -dft_utils_one_e +dft_utils_func dressing electrons ezfio_files diff --git a/src/functionals/NEED b/src/functionals/NEED index d81183d0..a0eb2778 100644 --- a/src/functionals/NEED +++ b/src/functionals/NEED @@ -1 +1 @@ -dft_utils_one_e +dft_utils_func From 316bc009c1847db310dbad497715ec1825e96148 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Tue, 7 Apr 2020 12:25:00 +0200 Subject: [PATCH 061/138] renaming done for dft --- src/basis_correction/NEED | 2 +- src/dft_one_e/NEED | 6 ++++++ src/dft_utils_func/NEED | 6 ------ src/{ecmd_utils => dft_utils_func}/ecmd_lda.irp.f | 0 src/{ecmd_utils => dft_utils_func}/ecmd_pbe_general.irp.f | 0 src/{ecmd_utils => dft_utils_func}/ecmd_pbe_on_top.irp.f | 0 src/{ecmd_utils => dft_utils_func}/ecmd_pbe_ueg.irp.f | 0 src/ecmd_utils/NEED | 1 - src/ecmd_utils/README.rst | 4 ---- 9 files changed, 7 insertions(+), 12 deletions(-) rename src/{ecmd_utils => dft_utils_func}/ecmd_lda.irp.f (100%) rename src/{ecmd_utils => dft_utils_func}/ecmd_pbe_general.irp.f (100%) rename src/{ecmd_utils => dft_utils_func}/ecmd_pbe_on_top.irp.f (100%) rename src/{ecmd_utils => dft_utils_func}/ecmd_pbe_ueg.irp.f (100%) delete mode 100644 src/ecmd_utils/NEED delete mode 100644 src/ecmd_utils/README.rst diff --git a/src/basis_correction/NEED b/src/basis_correction/NEED index 212e2566..990356c3 100644 --- a/src/basis_correction/NEED +++ b/src/basis_correction/NEED @@ -1,3 +1,3 @@ mu_of_r -ecmd_utils +dft_utils_func dft_one_e diff --git a/src/dft_one_e/NEED b/src/dft_one_e/NEED index 377e4ba0..3a942f28 100644 --- a/src/dft_one_e/NEED +++ b/src/dft_one_e/NEED @@ -1,2 +1,8 @@ dft_utils_func functionals +mo_one_e_ints +mo_two_e_ints +ao_one_e_ints +ao_two_e_ints +mo_two_e_erf_ints +ao_two_e_erf_ints diff --git a/src/dft_utils_func/NEED b/src/dft_utils_func/NEED index 3bebd333..7bd01bbf 100644 --- a/src/dft_utils_func/NEED +++ b/src/dft_utils_func/NEED @@ -1,8 +1,2 @@ density_for_dft dft_utils_in_r -mo_one_e_ints -mo_two_e_ints -ao_one_e_ints -ao_two_e_ints -mo_two_e_erf_ints -ao_two_e_erf_ints diff --git a/src/ecmd_utils/ecmd_lda.irp.f b/src/dft_utils_func/ecmd_lda.irp.f similarity index 100% rename from src/ecmd_utils/ecmd_lda.irp.f rename to src/dft_utils_func/ecmd_lda.irp.f diff --git a/src/ecmd_utils/ecmd_pbe_general.irp.f b/src/dft_utils_func/ecmd_pbe_general.irp.f similarity index 100% rename from src/ecmd_utils/ecmd_pbe_general.irp.f rename to src/dft_utils_func/ecmd_pbe_general.irp.f diff --git a/src/ecmd_utils/ecmd_pbe_on_top.irp.f b/src/dft_utils_func/ecmd_pbe_on_top.irp.f similarity index 100% rename from src/ecmd_utils/ecmd_pbe_on_top.irp.f rename to src/dft_utils_func/ecmd_pbe_on_top.irp.f diff --git a/src/ecmd_utils/ecmd_pbe_ueg.irp.f b/src/dft_utils_func/ecmd_pbe_ueg.irp.f similarity index 100% rename from src/ecmd_utils/ecmd_pbe_ueg.irp.f rename to src/dft_utils_func/ecmd_pbe_ueg.irp.f diff --git a/src/ecmd_utils/NEED b/src/ecmd_utils/NEED deleted file mode 100644 index 8b137891..00000000 --- a/src/ecmd_utils/NEED +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/ecmd_utils/README.rst b/src/ecmd_utils/README.rst deleted file mode 100644 index 2e36e1e1..00000000 --- a/src/ecmd_utils/README.rst +++ /dev/null @@ -1,4 +0,0 @@ -========== -ecmd_utils -========== - From 3ea456b20d9bf239ed8408a991b82119a521d422 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 14 Apr 2020 15:09:34 +0200 Subject: [PATCH 062/138] Fixed #97 --- etc/qp.rc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/etc/qp.rc b/etc/qp.rc index fd9b4031..5b2aa9a6 100644 --- a/etc/qp.rc +++ b/etc/qp.rc @@ -170,7 +170,7 @@ _qp_Complete() COMPREPLY=( $(compgen -W "" -- $cur ) ) return 0;; -b) - COMPREPLY=( $(compgen -W "$( cut -d ' ' -f 1 ${QP_ROOT}/data/basis/00_README.rst | grep -v \'#\' )" -- $cur ) ) + COMPREPLY=( $(compgen -W "$(ls ${QP_ROOT}/data/basis)" -- $cur ) ) return 0 ;; -p) From b8a29beaf6be6507b145e65e6268a07671a15f04 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 14 Apr 2020 15:18:10 +0200 Subject: [PATCH 063/138] Fixed qp_reset #97 --- bin/qp_reset | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/qp_reset b/bin/qp_reset index 59646835..70cc7c9f 100755 --- a/bin/qp_reset +++ b/bin/qp_reset @@ -95,6 +95,7 @@ qp set_file $ezfio if [[ $dets -eq 1 ]] ; then rm --force -- ${ezfio}/determinants/n_det rm --force -- ${ezfio}/determinants/psi_{det,coef}.gz + rm --force -- ${ezfio}/determinants/n_det_qp_edit rm --force -- ${ezfio}/determinants/psi_{det,coef}_qp_edit.gz fi From e061ab18d96f56e09540936aca8fcbc3b0e9d5c5 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Tue, 14 Apr 2020 17:45:01 +0200 Subject: [PATCH 064/138] added some functions in on_top_from_ueg.irp.f --- src/basis_correction/weak_corr_func.irp.f | 2 +- src/dft_utils_func/on_top_from_ueg.irp.f | 27 +++++++++++++++++++++++ src/mo_basis/mos_in_r.irp.f | 20 ++++++++--------- 3 files changed, 38 insertions(+), 11 deletions(-) diff --git a/src/basis_correction/weak_corr_func.irp.f b/src/basis_correction/weak_corr_func.irp.f index d3e8bf0a..6af5e49d 100644 --- a/src/basis_correction/weak_corr_func.irp.f +++ b/src/basis_correction/weak_corr_func.irp.f @@ -8,8 +8,8 @@ implicit none integer :: ipoint,istate double precision :: rho_a, rho_b, ec - logical :: dospin double precision :: wall0,wall1,weight,mu + logical :: dospin dospin = .true. ! JT dospin have to be set to true for open shell print*,'Providing ecmd_lda_mu_of_r ...' diff --git a/src/dft_utils_func/on_top_from_ueg.irp.f b/src/dft_utils_func/on_top_from_ueg.irp.f index a9cc22c5..70560a7a 100644 --- a/src/dft_utils_func/on_top_from_ueg.irp.f +++ b/src/dft_utils_func/on_top_from_ueg.irp.f @@ -91,4 +91,31 @@ double precision function h_func(zeta) end +!------------------------------------------------------------------------------------------------------------------------------------------- + subroutine g0_dg0(rho, rho_a, rho_b, g0, dg0drho) + + implicit none + BEGIN_DOC + ! Give the on-top pair distribution function g0 and its derivative according to rho dg0drho + END_DOC + + double precision, intent (in) :: rho, rho_a, rho_b + double precision, intent (out) :: g0, dg0drho + double precision :: pi + double precision :: g0_UEG_mu_inf, dg0drs + double precision :: C1, F1, D1, E1, B1, rs + + pi = dacos(-1.d0) + C1 = 0.0819306d0 + F1 = 0.752411d0 + D1 = -0.0127713d0 + E1 = 0.00185898d0 + B1 = 0.7317d0 - F1 + rs = (3.d0 / (4.d0*pi*rho))**(1.d0/3.d0) + + g0 = g0_UEG_mu_inf(rho_a, rho_b) + dg0drs = 0.5d0*((-B1 + 2.d0*C1*rs + 3.d0*D1*rs**2 + 4.d0*E1*rs**3)-F1*(1.d0 - B1*rs + C1*rs**2 + D1*rs**3 + E1*rs**4))*exp(-F1*rs) + dg0drho = -((6.d0*dsqrt(pi)*rho**2)**(-2.d0/3.d0))*dg0drs + + end subroutine g0_dg0 diff --git a/src/mo_basis/mos_in_r.irp.f b/src/mo_basis/mos_in_r.irp.f index 7759b222..049db8aa 100644 --- a/src/mo_basis/mos_in_r.irp.f +++ b/src/mo_basis/mos_in_r.irp.f @@ -37,18 +37,18 @@ subroutine give_all_mos_and_grad_and_lapl_at_r(r,mos_array,mos_grad_array,mos_la integer :: i,j,k double precision :: aos_array(ao_num),aos_grad_array(ao_num,3),aos_lapl_array(ao_num,3) call give_all_aos_and_grad_and_lapl_at_r(r,aos_array,aos_grad_array,aos_lapl_array) - mos_array=0d0 - mos_grad_array=0d0 - mos_lapl_array=0d0 + mos_array = 0.d0 + mos_grad_array = 0.d0 + mos_lapl_array = 0.d0 do j = 1, mo_num do k=1, ao_num - mos_array(j) += mo_coef(k,j)*aos_array(k) - mos_grad_array(j,1) += mo_coef(k,j)*aos_grad_array(k,1) - mos_grad_array(j,2) += mo_coef(k,j)*aos_grad_array(k,2) - mos_grad_array(j,3) += mo_coef(k,j)*aos_grad_array(k,3) - mos_lapl_array(j,1) += mo_coef(k,j)*aos_lapl_array(k,1) - mos_lapl_array(j,2) += mo_coef(k,j)*aos_lapl_array(k,2) - mos_lapl_array(j,3) += mo_coef(k,j)*aos_lapl_array(k,3) + mos_array(j) += mo_coef(k,j) * aos_array(k) + mos_grad_array(j,1) += mo_coef(k,j) * aos_grad_array(k,1) + mos_grad_array(j,2) += mo_coef(k,j) * aos_grad_array(k,2) + mos_grad_array(j,3) += mo_coef(k,j) * aos_grad_array(k,3) + mos_lapl_array(j,1) += mo_coef(k,j) * aos_lapl_array(k,1) + mos_lapl_array(j,2) += mo_coef(k,j) * aos_lapl_array(k,2) + mos_lapl_array(j,3) += mo_coef(k,j) * aos_lapl_array(k,3) enddo enddo end From bef6175ee49adbbb456e353248c5065a581c2fa2 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Wed, 15 Apr 2020 17:00:15 +0200 Subject: [PATCH 065/138] minor modifs --- src/basis_correction/pbe_on_top.irp.f | 62 +++++++++++++++++++ .../grid_becke_vector.irp.f | 1 + 2 files changed, 63 insertions(+) diff --git a/src/basis_correction/pbe_on_top.irp.f b/src/basis_correction/pbe_on_top.irp.f index cb5a04b7..cc9cdec9 100644 --- a/src/basis_correction/pbe_on_top.irp.f +++ b/src/basis_correction/pbe_on_top.irp.f @@ -119,3 +119,65 @@ END_PROVIDER + BEGIN_PROVIDER [double precision, ecmd_pbe_on_top_no_extrap_su_mu_of_r, (N_states)] + BEGIN_DOC +! +! Ecmd functional evaluated with mu(r) and depending on +! +) the on-top pair density +! +! +) the total density, density gradients +! +! +) !!!!! NO SPIN POLAIRIZATION !!!!! +! +! Defined originally in Eq. (25) of JCP, 150, 084103 1-10 (2019) for RS-DFT calculations, but evaluated with mu(r). +! +! Such a functional is built by interpolating between two regimes : +! +! +) the large mu behaviour in cst/(\mu^3) \int dr on-top(r) where on-top(r) is supposed to be the exact on-top of the system +! +! +) mu= 0 with the usal ec_pbe(rho_a,rho_b,grad_rho_a,grad_rho_b) +! +! Here the approximation to the exact on-top is done through the assymptotic expansion (in \mu) of the exact on-top pair density (see Eq. 29) but with a mu(r) instead of a constant mu +! +! Such an asymptotic expansion was introduced in P. Gori-Giorgi and A. Savin, Phys. Rev. A73, 032506 (2006) +! + END_DOC + implicit none + double precision :: weight + double precision :: eps_c_md_on_top_PBE,on_top_extrap,mu_correction_of_on_top + integer :: ipoint,istate + double precision :: eps_c_md_PBE,mu,rho_a,rho_b,grad_rho_a(3),grad_rho_b(3),on_top,density + ecmd_pbe_on_top_no_extrap_su_mu_of_r = 0.d0 + + do istate = 1, N_states + do ipoint = 1, n_points_final_grid + weight = final_weight_at_r_vector(ipoint) + + mu = mu_of_r_prov(ipoint,istate) + + density = one_e_dm_and_grad_alpha_in_r(4,ipoint,istate) + one_e_dm_and_grad_beta_in_r(4,ipoint,istate) + ! rho_a = rho_b = rho_tot/2 ==> NO SPIN POLARIZATION + rho_a = 0.5d0 * density + rho_b = 0.5d0 * density + + grad_rho_a(1:3) = one_e_dm_and_grad_alpha_in_r(1:3,ipoint,istate) + grad_rho_b(1:3) = one_e_dm_and_grad_beta_in_r(1:3,ipoint,istate) + + if(mu_of_r_potential == "cas_ful")then + ! You take the on-top of the CAS wave function which is computed with mu(r) + on_top = on_top_cas_mu_r(ipoint,istate) + else + ! You take the on-top of the CAS wave function computed separately + on_top = total_cas_on_top_density(ipoint,istate) + endif +! We DO NOT take the extrapolated on-top pair density, but there is * 2 because of normalization + on_top_extrap = 2.d0 * on_top + + call ec_md_pbe_on_top_general(mu,rho_a,rho_b,grad_rho_a,grad_rho_b,on_top_extrap,eps_c_md_on_top_PBE) + + ecmd_pbe_on_top_no_extrap_su_mu_of_r(istate) += eps_c_md_on_top_PBE * weight + enddo + enddo + END_PROVIDER + + diff --git a/src/becke_numerical_grid/grid_becke_vector.irp.f b/src/becke_numerical_grid/grid_becke_vector.irp.f index 3c2a6b91..a72200f7 100644 --- a/src/becke_numerical_grid/grid_becke_vector.irp.f +++ b/src/becke_numerical_grid/grid_becke_vector.irp.f @@ -18,6 +18,7 @@ BEGIN_PROVIDER [integer, n_points_final_grid] enddo print*,'n_points_final_grid = ',n_points_final_grid print*,'n max point = ',n_points_integration_angular*(n_points_radial_grid*nucl_num - 1) + call ezfio_set_becke_numerical_grid_n_points_final_grid(n_points_final_grid) END_PROVIDER BEGIN_PROVIDER [double precision, final_grid_points, (3,n_points_final_grid)] From b1673f66a844cfe6dc5f5b558368d596f037fc56 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 21 Apr 2020 01:02:48 +0200 Subject: [PATCH 066/138] istep in davidson_parallel --- src/davidson/davidson_parallel.irp.f | 5 +++++ src/zmq/utils.irp.f | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/davidson/davidson_parallel.irp.f b/src/davidson/davidson_parallel.irp.f index c0d94b35..aed81063 100644 --- a/src/davidson/davidson_parallel.irp.f +++ b/src/davidson/davidson_parallel.irp.f @@ -438,6 +438,11 @@ subroutine H_S2_u_0_nstates_zmq(v_0,s_0,u_0,N_st,sze) ipos=1 do imin=1,N_det,tasksize imax = min(N_det,imin-1+tasksize) + if (imin==1) then + istep = 2 + else + istep = 1 + endif do ishift=0,istep-1 write(task(ipos:ipos+50),'(4(I11,1X),1X,1A)') imin, imax, ishift, istep, '|' ipos = ipos+50 diff --git a/src/zmq/utils.irp.f b/src/zmq/utils.irp.f index fc6f2ba6..67b386e5 100644 --- a/src/zmq/utils.irp.f +++ b/src/zmq/utils.irp.f @@ -585,7 +585,7 @@ subroutine end_parallel_job(zmq_to_qp_run_socket,zmq_socket_pull,name_in) stop 'Wrong end of job' endif - do i=3600,1,-1 + do i=360,1,-1 rc = f77_zmq_send(zmq_to_qp_run_socket, 'end_job '//trim(zmq_state),8+len(trim(zmq_state)),0) rc = f77_zmq_recv(zmq_to_qp_run_socket, message, 512, 0) if (trim(message(1:13)) == 'error waiting') then From ee85889a80079fa757e9a0c0df9938f606e5f3a1 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner LCT Date: Tue, 21 Apr 2020 15:08:10 +0200 Subject: [PATCH 067/138] minor modifs --- src/two_body_rdm/act_2_rdm.irp.f | 1 + src/two_rdm_routines/davidson_like_2rdm.irp.f | 1 + 2 files changed, 2 insertions(+) diff --git a/src/two_body_rdm/act_2_rdm.irp.f b/src/two_body_rdm/act_2_rdm.irp.f index 3d4a9ace..2473d3c8 100644 --- a/src/two_body_rdm/act_2_rdm.irp.f +++ b/src/two_body_rdm/act_2_rdm.irp.f @@ -25,6 +25,7 @@ print*,'Providing act_2_rdm_ab_mo ' ispin = 3 act_2_rdm_ab_mo = 0.d0 + provide mo_two_e_integrals_in_map call wall_time(wall_1) if(read_two_body_rdm_ab)then print*,'Reading act_2_rdm_ab_mo from disk ...' diff --git a/src/two_rdm_routines/davidson_like_2rdm.irp.f b/src/two_rdm_routines/davidson_like_2rdm.irp.f index 3ad218e0..2e5aa4d1 100644 --- a/src/two_rdm_routines/davidson_like_2rdm.irp.f +++ b/src/two_rdm_routines/davidson_like_2rdm.irp.f @@ -19,6 +19,7 @@ subroutine orb_range_2_rdm_openmp(big_array,dim1,norb,list_orb,ispin,u_0,N_st,sz integer :: k double precision, allocatable :: u_t(:,:) !DIR$ ATTRIBUTES ALIGN : $IRP_ALIGN :: u_t + PROVIDE mo_two_e_integrals_in_map allocate(u_t(N_st,N_det)) do k=1,N_st call dset_order(u_0(1,k),psi_bilinear_matrix_order,N_det) From 27369e5df8c2bb8a1c286bd4bb2607584345c1ce Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 21 Apr 2020 23:30:37 +0200 Subject: [PATCH 068/138] Commented ZMH_HWM --- src/cipsi/selection_buffer.irp.f | 1 - src/determinants/prune_wf.irp.f | 2 +- src/zmq/utils.irp.f | 18 +++++++++--------- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/src/cipsi/selection_buffer.irp.f b/src/cipsi/selection_buffer.irp.f index cfa3b902..17b6e9a9 100644 --- a/src/cipsi/selection_buffer.irp.f +++ b/src/cipsi/selection_buffer.irp.f @@ -198,7 +198,6 @@ subroutine make_selection_buffer_s2(b) deallocate(b%det) - print*,'n_d = ',n_d call i8sort(bit_tmp,iorder,n_d) do i=1,n_d diff --git a/src/determinants/prune_wf.irp.f b/src/determinants/prune_wf.irp.f index c3cd8d12..7399945f 100644 --- a/src/determinants/prune_wf.irp.f +++ b/src/determinants/prune_wf.irp.f @@ -6,7 +6,7 @@ BEGIN_PROVIDER [ logical, pruned, (N_det) ] pruned(:) = .False. - if (pruning == 0.d0) then + if (pruning <= 0.d0) then return endif diff --git a/src/zmq/utils.irp.f b/src/zmq/utils.irp.f index fc6f2ba6..6b7aad7f 100644 --- a/src/zmq/utils.irp.f +++ b/src/zmq/utils.irp.f @@ -241,10 +241,10 @@ IRP_ENDIF stop 'Unable to set ZMQ_LINGER on pull socket' endif - rc = f77_zmq_setsockopt(new_zmq_pull_socket,ZMQ_RCVHWM,10,4) - if (rc /= 0) then - stop 'Unable to set ZMQ_RCVHWM on pull socket' - endif +! rc = f77_zmq_setsockopt(new_zmq_pull_socket,ZMQ_RCVHWM,10,4) +! if (rc /= 0) then +! stop 'Unable to set ZMQ_RCVHWM on pull socket' +! endif integer :: icount @@ -316,10 +316,10 @@ IRP_ENDIF stop 'Unable to set ZMQ_LINGER on push socket' endif - rc = f77_zmq_setsockopt(new_zmq_push_socket,ZMQ_SNDHWM,1,4) - if (rc /= 0) then - stop 'Unable to set ZMQ_SNDHWM on push socket' - endif +! rc = f77_zmq_setsockopt(new_zmq_push_socket,ZMQ_SNDHWM,1,4) +! if (rc /= 0) then +! stop 'Unable to set ZMQ_SNDHWM on push socket' +! endif rc = f77_zmq_setsockopt(new_zmq_push_socket,ZMQ_IMMEDIATE,1,4) if (rc /= 0) then @@ -585,7 +585,7 @@ subroutine end_parallel_job(zmq_to_qp_run_socket,zmq_socket_pull,name_in) stop 'Wrong end of job' endif - do i=3600,1,-1 + do i=1200,1,-1 rc = f77_zmq_send(zmq_to_qp_run_socket, 'end_job '//trim(zmq_state),8+len(trim(zmq_state)),0) rc = f77_zmq_recv(zmq_to_qp_run_socket, message, 512, 0) if (trim(message(1:13)) == 'error waiting') then From f382a275a7d8bb62168ce9a6c97f81e08db20301 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 22 Apr 2020 01:56:00 +0200 Subject: [PATCH 069/138] Improved selection dynamic weights --- src/cipsi/selection.irp.f | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/cipsi/selection.irp.f b/src/cipsi/selection.irp.f index a4266497..e488b07c 100644 --- a/src/cipsi/selection.irp.f +++ b/src/cipsi/selection.irp.f @@ -32,7 +32,7 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) double precision :: avg, rpt2(N_st), element, dt, x integer :: k integer, save :: i_iter=0 - integer, parameter :: i_itermax = 3 + integer, parameter :: i_itermax = 1 double precision, allocatable, save :: memo_variance(:,:), memo_pt2(:,:) if (i_iter == 0) then @@ -46,7 +46,7 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) i_iter = 1 endif - dt = 4.d0 + dt = 0.5d0 do k=1,N_st rpt2(k) = pt2(k)/(1.d0 + norm(k)) @@ -58,7 +58,7 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) element = min(1.5d0 , element) element = max(0.5d0 , element) memo_pt2(k,i_iter) = element - pt2_match_weight(k) = product(memo_pt2(k,:)) + pt2_match_weight(k) *= product(memo_pt2(k,:)) enddo avg = sum(variance(1:N_st)) / dble(N_st) + 1.d-32 ! Avoid future division by zero @@ -67,7 +67,7 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) element = min(1.5d0 , element) element = max(0.5d0 , element) memo_variance(k,i_iter) = element - variance_match_weight(k) = product(memo_variance(k,:)) + variance_match_weight(k) *= product(memo_variance(k,:)) enddo threshold_davidson_pt2 = min(1.d-6, & From 20a66a79b5398e535a5d85d7bf0f9d1d5ad158ef Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Thu, 23 Apr 2020 11:13:05 +0200 Subject: [PATCH 070/138] added function to compute mu(r) for a cas wave function in a given point in space --- src/mu_of_r/f_psi_i_a_v_utils.irp.f | 31 +++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/src/mu_of_r/f_psi_i_a_v_utils.irp.f b/src/mu_of_r/f_psi_i_a_v_utils.irp.f index 21f330d6..aed054ae 100644 --- a/src/mu_of_r/f_psi_i_a_v_utils.irp.f +++ b/src/mu_of_r/f_psi_i_a_v_utils.irp.f @@ -311,3 +311,34 @@ BEGIN_PROVIDER [double precision, two_e_int_ii_f, (n_basis_orb,n_basis_orb,n_ina enddo END_PROVIDER + +subroutine give_mu_of_r_cas(r,istate,mu_of_r,f_psi,n2_psi) + implicit none + BEGIN_DOC +! returns mu(r), f_psi, n2_psi for a general cas wave function + END_DOC + integer, intent(in) :: istate + double precision, intent(in) :: r(3) + double precision, intent(out) :: mu_of_r,f_psi,n2_psi + double precision :: f_ii_val_ab,two_bod_dens_ii + double precision :: f_ia_val_ab,two_bod_dens_ia + double precision :: f_aa_val_ab,two_bod_dens_aa + double precision :: sqpi,w_psi + sqpi = dsqrt(dacos(-1.d0)) + ! inactive-inactive part of f_psi(r1,r2) + call give_f_ii_val_ab(r,r,f_ii_val_ab,two_bod_dens_ii) + ! inactive-active part of f_psi(r1,r2) + call give_f_ia_val_ab(r,r,f_ia_val_ab,two_bod_dens_ia,istate) + ! active-active part of f_psi(r1,r2) + call give_f_aa_val_ab(r,r,f_aa_val_ab,two_bod_dens_aa,istate) + + f_psi = f_ii_val_ab + f_ia_val_ab + f_aa_val_ab + n2_psi = two_bod_dens_ii + two_bod_dens_ia + two_bod_dens_aa + if(n2_psi.le.1.d-12.or.f_psi.le.0.d0.or.f_psi * n2_psi.lt.0.d0)then + w_psi = 1.d+10 + else + w_psi = f_psi / n2_psi + endif + mu_of_r = w_psi * sqpi * 0.5d0 + +end From 88031a9968351ddf10cbc57bc83fae7063c26ceb Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Thu, 23 Apr 2020 12:42:06 +0200 Subject: [PATCH 071/138] minor modifs for small ot --- src/dft_utils_func/ecmd_pbe_general.irp.f | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/dft_utils_func/ecmd_pbe_general.irp.f b/src/dft_utils_func/ecmd_pbe_general.irp.f index 80d63f90..cf58092c 100644 --- a/src/dft_utils_func/ecmd_pbe_general.irp.f +++ b/src/dft_utils_func/ecmd_pbe_general.irp.f @@ -26,6 +26,14 @@ subroutine ec_md_pbe_on_top_general(mu,rho_a,rho_b,grad_rho_a,grad_rho_b,on_top, pi = 4.d0 * datan(1.d0) eps_c_md_on_top_PBE = 0.d0 + ! convertion from (alpha,beta) formalism to (closed, open) formalism for the density + call rho_ab_to_rho_oc(rho_a,rho_b,rhoo,rhoc) + if(rhoc.lt.1.d-10)then + return + else if(on_top/(rhoc**2) .lt. 1.d-6)then + return + endif + grad_rho_a_2 = 0.d0 grad_rho_b_2 = 0.d0 grad_rho_a_b = 0.d0 @@ -34,8 +42,7 @@ subroutine ec_md_pbe_on_top_general(mu,rho_a,rho_b,grad_rho_a,grad_rho_b,on_top, grad_rho_b_2 += grad_rho_b(m)*grad_rho_b(m) grad_rho_a_b += grad_rho_a(m)*grad_rho_b(m) enddo - ! convertion from (alpha,beta) formalism to (closed, open) formalism - call rho_ab_to_rho_oc(rho_a,rho_b,rhoo,rhoc) + ! same same for gradients : convertion from (alpha,beta) formalism to (closed, open) formalism call grad_rho_ab_to_grad_rho_oc(grad_rho_a_2,grad_rho_b_2,grad_rho_a_b,sigmaoo,sigmacc,sigmaco) ! usual PBE correlation energy using the density, spin polarization and density gradients for alpha/beta electrons From f182626685d5937ede71e75106652eea13cedc31 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 23 Apr 2020 23:18:12 +0200 Subject: [PATCH 072/138] Fixed Forcing kill message --- src/zmq/utils.irp.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/zmq/utils.irp.f b/src/zmq/utils.irp.f index 6b7aad7f..287a6024 100644 --- a/src/zmq/utils.irp.f +++ b/src/zmq/utils.irp.f @@ -589,11 +589,11 @@ subroutine end_parallel_job(zmq_to_qp_run_socket,zmq_socket_pull,name_in) rc = f77_zmq_send(zmq_to_qp_run_socket, 'end_job '//trim(zmq_state),8+len(trim(zmq_state)),0) rc = f77_zmq_recv(zmq_to_qp_run_socket, message, 512, 0) if (trim(message(1:13)) == 'error waiting') then + call sleep(1) cycle else if (message(1:2) == 'ok') then exit endif - call sleep(1) end do if (i==0) then print *, '.. Forcing kill ..' From 4df9ebf4e0a290371cc60a23604160e7dfd32c00 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Fri, 24 Apr 2020 16:11:11 +0200 Subject: [PATCH 073/138] moved pseudo from h_core to v_e_n in order to make it clean for DFT --- src/ao_one_e_ints/ao_one_e_ints.irp.f | 6 +++--- src/ao_one_e_ints/pot_ao_ints.irp.f | 6 ++++++ src/mo_one_e_ints/mo_one_e_ints.irp.f | 6 +++--- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/src/ao_one_e_ints/ao_one_e_ints.irp.f b/src/ao_one_e_ints/ao_one_e_ints.irp.f index c3084ae2..e5a5454d 100644 --- a/src/ao_one_e_ints/ao_one_e_ints.irp.f +++ b/src/ao_one_e_ints/ao_one_e_ints.irp.f @@ -11,9 +11,9 @@ ELSE ao_one_e_integrals = ao_integrals_n_e + ao_kinetic_integrals - IF (DO_PSEUDO) THEN - ao_one_e_integrals += ao_pseudo_integrals - ENDIF +! IF (DO_PSEUDO) THEN +! ao_one_e_integrals += ao_pseudo_integrals +! ENDIF ENDIF DO j = 1, ao_num diff --git a/src/ao_one_e_ints/pot_ao_ints.irp.f b/src/ao_one_e_ints/pot_ao_ints.irp.f index 1d4cab7d..486ff534 100644 --- a/src/ao_one_e_ints/pot_ao_ints.irp.f +++ b/src/ao_one_e_ints/pot_ao_ints.irp.f @@ -76,6 +76,12 @@ BEGIN_PROVIDER [ double precision, ao_integrals_n_e, (ao_num,ao_num)] !$OMP END DO !$OMP END PARALLEL endif + + IF (DO_PSEUDO) THEN + ao_integrals_n_e += ao_pseudo_integrals + ENDIF + + if (write_ao_integrals_n_e) then call ezfio_set_ao_one_e_ints_ao_integrals_n_e(ao_integrals_n_e) print *, 'AO N-e integrals written to disk' diff --git a/src/mo_one_e_ints/mo_one_e_ints.irp.f b/src/mo_one_e_ints/mo_one_e_ints.irp.f index ac4b4e3b..e7a91dee 100644 --- a/src/mo_one_e_ints/mo_one_e_ints.irp.f +++ b/src/mo_one_e_ints/mo_one_e_ints.irp.f @@ -12,9 +12,9 @@ BEGIN_PROVIDER [ double precision, mo_one_e_integrals,(mo_num,mo_num)] ELSE mo_one_e_integrals = mo_integrals_n_e + mo_kinetic_integrals - IF (DO_PSEUDO) THEN - mo_one_e_integrals += mo_pseudo_integrals - ENDIF +! IF (DO_PSEUDO) THEN +! mo_one_e_integrals += mo_pseudo_integrals +! ENDIF ENDIF From 792c685df3f959c8e8272ab3917a93b39e90c225 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Fri, 24 Apr 2020 16:12:25 +0200 Subject: [PATCH 074/138] added prim_in_r --- src/utils/prim_in_r.irp.f | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/utils/prim_in_r.irp.f diff --git a/src/utils/prim_in_r.irp.f b/src/utils/prim_in_r.irp.f new file mode 100644 index 00000000..4ab9799b --- /dev/null +++ b/src/utils/prim_in_r.irp.f @@ -0,0 +1,39 @@ +double precision function primitive_value_explicit(power_prim,center_prim,alpha,r) + implicit none + BEGIN_DOC +! Returns the value of the j-th primitive of the i-th |AO| at point $\textbf{r} +! **without the coefficient** + END_DOC + integer, intent(in) :: power_prim(3) + double precision, intent(in) :: center_prim(3),alpha + double precision, intent(in) :: r(3) + + double precision :: dx,dy,dz,r2 + dx = (r(1) - center_prim(1)) + dy = (r(2) - center_prim(2)) + dz = (r(3) - center_prim(3)) + r2 = dx*dx + dy*dy + dz*dz + dx = dx**power_prim(1) + dy = dy**power_prim(2) + dz = dz**power_prim(3) + + primitive_value_explicit = dexp(-alpha*r2) * dx * dy * dz + +end + +double precision function give_pol_in_r(r,pol,center, alpha,iorder, max_dim) + double precision :: r(3), center(3), alpha,pol(0:max_dim,3) + integer, intent(in) :: iorder(3), max_dim + integer :: i,m + double precision :: gauss(3), x + gauss = 0.d0 + + do m = 1, 3 + x = r(m) - center(m) + do i = 0, iorder(m) + gauss(m) += pol(i,m) * dexp(-alpha *x**2 ) * x**i + enddo + enddo + give_pol_in_r = gauss(1) * gauss(2) * gauss(3) + +end From 32030bc9c6f93a50a9f0c80956252f73e855298e Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Fri, 24 Apr 2020 16:14:59 +0200 Subject: [PATCH 075/138] added doc for prim_in_r --- src/utils/prim_in_r.irp.f | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/utils/prim_in_r.irp.f b/src/utils/prim_in_r.irp.f index 4ab9799b..af68ff6d 100644 --- a/src/utils/prim_in_r.irp.f +++ b/src/utils/prim_in_r.irp.f @@ -1,8 +1,10 @@ double precision function primitive_value_explicit(power_prim,center_prim,alpha,r) implicit none BEGIN_DOC -! Returns the value of the j-th primitive of the i-th |AO| at point $\textbf{r} -! **without the coefficient** +! Evaluates at "r" a primitive of type : +! (x - center_prim(1))**power_prim(1) (y - center_prim(2))**power_prim(2) * (z - center_prim(3))**power_prim(3) +! +! exp(-alpha * [(x - center_prim(1))**2 + (y - center_prim(2))**2 + (z - center_prim(3))**2] ) END_DOC integer, intent(in) :: power_prim(3) double precision, intent(in) :: center_prim(3),alpha From 47c1bec1d866e06bdeacad7cff9f0ea8f625bae8 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Fri, 24 Apr 2020 16:32:29 +0200 Subject: [PATCH 076/138] removed comments for pseudo --- src/ao_one_e_ints/ao_one_e_ints.irp.f | 3 --- src/mo_one_e_ints/mo_one_e_ints.irp.f | 4 ---- 2 files changed, 7 deletions(-) diff --git a/src/ao_one_e_ints/ao_one_e_ints.irp.f b/src/ao_one_e_ints/ao_one_e_ints.irp.f index e5a5454d..65981dc9 100644 --- a/src/ao_one_e_ints/ao_one_e_ints.irp.f +++ b/src/ao_one_e_ints/ao_one_e_ints.irp.f @@ -11,9 +11,6 @@ ELSE ao_one_e_integrals = ao_integrals_n_e + ao_kinetic_integrals -! IF (DO_PSEUDO) THEN -! ao_one_e_integrals += ao_pseudo_integrals -! ENDIF ENDIF DO j = 1, ao_num diff --git a/src/mo_one_e_ints/mo_one_e_ints.irp.f b/src/mo_one_e_ints/mo_one_e_ints.irp.f index e7a91dee..a6a614ab 100644 --- a/src/mo_one_e_ints/mo_one_e_ints.irp.f +++ b/src/mo_one_e_ints/mo_one_e_ints.irp.f @@ -12,10 +12,6 @@ BEGIN_PROVIDER [ double precision, mo_one_e_integrals,(mo_num,mo_num)] ELSE mo_one_e_integrals = mo_integrals_n_e + mo_kinetic_integrals -! IF (DO_PSEUDO) THEN -! mo_one_e_integrals += mo_pseudo_integrals -! ENDIF - ENDIF IF (write_mo_one_e_integrals) THEN From 92ad3766ebef835e2e1f9888215699b3d4007bcf Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Mon, 27 Apr 2020 11:31:24 +0200 Subject: [PATCH 077/138] added two_body_dens_rout.irp.f --- src/cas_based_on_top/two_body_dens_rout.irp.f | 189 ++++++++++++++++++ src/two_body_rdm/act_2_rdm.irp.f | 2 + 2 files changed, 191 insertions(+) create mode 100644 src/cas_based_on_top/two_body_dens_rout.irp.f diff --git a/src/cas_based_on_top/two_body_dens_rout.irp.f b/src/cas_based_on_top/two_body_dens_rout.irp.f new file mode 100644 index 00000000..be17fcaf --- /dev/null +++ b/src/cas_based_on_top/two_body_dens_rout.irp.f @@ -0,0 +1,189 @@ + +subroutine give_n2_ii_val_ab(r1,r2,two_bod_dens) + implicit none + BEGIN_DOC +! contribution from purely inactive orbitals to n2_{\Psi^B}(r_1,r_2) for a CAS wave function + END_DOC + double precision, intent(in) :: r1(3),r2(3) + double precision, intent(out):: two_bod_dens + integer :: i,j,m,n,i_m,i_n + integer :: i_i,i_j + double precision, allocatable :: mos_array_inact_r1(:),mos_array_inact_r2(:) + double precision, allocatable :: mos_array_basis_r1(:),mos_array_basis_r2(:) + double precision, allocatable :: mos_array_r1(:) , mos_array_r2(:) + ! You get all orbitals in r_1 and r_2 + allocate(mos_array_r1(mo_num) , mos_array_r2(mo_num) ) + call give_all_mos_at_r(r1,mos_array_r1) + call give_all_mos_at_r(r2,mos_array_r2) + ! You extract the inactive orbitals + allocate(mos_array_inact_r1(n_inact_orb) , mos_array_inact_r2(n_inact_orb) ) + do i_m = 1, n_inact_orb + mos_array_inact_r1(i_m) = mos_array_r1(list_inact(i_m)) + enddo + do i_m = 1, n_inact_orb + mos_array_inact_r2(i_m) = mos_array_r2(list_inact(i_m)) + enddo + + ! You extract the orbitals belonging to the space \mathcal{B} + allocate(mos_array_basis_r1(n_basis_orb) , mos_array_basis_r2(n_basis_orb) ) + do i_m = 1, n_basis_orb + mos_array_basis_r1(i_m) = mos_array_r1(list_basis(i_m)) + mos_array_basis_r2(i_m) = mos_array_r2(list_basis(i_m)) + enddo + + two_bod_dens = 0.d0 + ! You browse all OCCUPIED ALPHA electrons in the \mathcal{A} space + do m = 1, n_inact_orb ! electron 1 + ! You browse all OCCUPIED BETA electrons in the \mathcal{A} space + do n = 1, n_inact_orb ! electron 2 + ! two_bod_dens(r_1,r_2) = n_alpha(r_1) * n_beta(r_2) + two_bod_dens += mos_array_inact_r1(m) * mos_array_inact_r1(m) * mos_array_inact_r2(n) * mos_array_inact_r2(n) + enddo + enddo +end + + +subroutine give_n2_ia_val_ab(r1,r2,two_bod_dens,istate) + BEGIN_DOC +! contribution from inactive and active orbitals to n2_{\Psi^B}(r_1,r_2) for the "istate" state of a CAS wave function + END_DOC + implicit none + integer, intent(in) :: istate + double precision, intent(in) :: r1(3),r2(3) + double precision, intent(out):: two_bod_dens + integer :: i,orb_i,a,orb_a,n,m,b + double precision :: rho + double precision, allocatable :: mos_array_r1(:) , mos_array_r2(:) + double precision, allocatable :: mos_array_inact_r1(:),mos_array_inact_r2(:) + double precision, allocatable :: mos_array_basis_r1(:),mos_array_basis_r2(:) + double precision, allocatable :: mos_array_act_r1(:),mos_array_act_r2(:) + + two_bod_dens = 0.d0 + ! You get all orbitals in r_1 and r_2 + allocate(mos_array_r1(mo_num) , mos_array_r2(mo_num) ) + call give_all_mos_at_r(r1,mos_array_r1) + call give_all_mos_at_r(r2,mos_array_r2) + + ! You extract the inactive orbitals + allocate( mos_array_inact_r1(n_inact_orb) , mos_array_inact_r2(n_inact_orb) ) + do i = 1, n_inact_orb + mos_array_inact_r1(i) = mos_array_r1(list_inact(i)) + enddo + do i= 1, n_inact_orb + mos_array_inact_r2(i) = mos_array_r2(list_inact(i)) + enddo + + ! You extract the active orbitals + allocate( mos_array_act_r1(n_basis_orb) , mos_array_act_r2(n_basis_orb) ) + do i= 1, n_act_orb + mos_array_act_r1(i) = mos_array_r1(list_act(i)) + enddo + do i= 1, n_act_orb + mos_array_act_r2(i) = mos_array_r2(list_act(i)) + enddo + + ! You extract the orbitals belonging to the space \mathcal{B} + allocate( mos_array_basis_r1(n_basis_orb) , mos_array_basis_r2(n_basis_orb) ) + do i= 1, n_basis_orb + mos_array_basis_r1(i) = mos_array_r1(list_basis(i)) + enddo + do i= 1, n_basis_orb + mos_array_basis_r2(i) = mos_array_r2(list_basis(i)) + enddo + + ! Contracted density : intermediate quantity + ! rho_tilde(i,a) = \sum_b rho(b,a) * phi_i(1) * phi_j(2) + allocate(rho_tilde(n_inact_orb,n_act_orb)) + two_bod_dens = 0.d0 + do a = 1, n_act_orb + do i = 1, n_inact_orb + rho_tilde(i,a) = 0.d0 + do b = 1, n_act_orb + rho = one_e_act_dm_beta_mo_for_dft(b,a,istate) + one_e_act_dm_alpha_mo_for_dft(b,a,istate) + two_bod_dens += mos_array_inact_r1(i) * mos_array_inact_r1(i) * mos_array_act_r2(a) * mos_array_act_r2(b) * rho + rho_tilde(i,a) += rho * mos_array_inact_r1(i) * mos_array_act_r2(b) + enddo + enddo + enddo +end + + +subroutine give_n2_aa_val_ab(r1,r2,two_bod_dens,istate) + BEGIN_DOC +! contribution from purely active orbitals to n2_{\Psi^B}(r_1,r_2) for the "istate" state of a CAS wave function + END_DOC + implicit none + integer, intent(in) :: istate + double precision, intent(in) :: r1(3),r2(3) + double precision, intent(out):: two_bod_dens + integer :: i,orb_i,a,orb_a,n,m,b,c,d + double precision :: rho + double precision, allocatable :: mos_array_r1(:) , mos_array_r2(:) + double precision, allocatable :: mos_array_basis_r1(:),mos_array_basis_r2(:) + double precision, allocatable :: mos_array_act_r1(:),mos_array_act_r2(:) + + two_bod_dens = 0.d0 + ! You get all orbitals in r_1 and r_2 + allocate(mos_array_r1(mo_num) , mos_array_r2(mo_num) ) + call give_all_mos_at_r(r1,mos_array_r1) + call give_all_mos_at_r(r2,mos_array_r2) + + ! You extract the active orbitals + allocate( mos_array_act_r1(n_basis_orb) , mos_array_act_r2(n_basis_orb) ) + do i= 1, n_act_orb + mos_array_act_r1(i) = mos_array_r1(list_act(i)) + enddo + do i= 1, n_act_orb + mos_array_act_r2(i) = mos_array_r2(list_act(i)) + enddo + + ! You extract the orbitals belonging to the space \mathcal{B} + allocate( mos_array_basis_r1(n_basis_orb) , mos_array_basis_r2(n_basis_orb) ) + do i= 1, n_basis_orb + mos_array_basis_r1(i) = mos_array_r1(list_basis(i)) + enddo + do i= 1, n_basis_orb + mos_array_basis_r2(i) = mos_array_r2(list_basis(i)) + enddo + + ! Contracted density : intermediate quantity + ! rho_tilde(i,a) = \sum_b rho(b,a) * phi_i(1) * phi_j(2) + allocate(rho_tilde(n_act_orb,n_act_orb)) + two_bod_dens = 0.d0 + rho_tilde = 0.d0 + do a = 1, n_act_orb ! 1 + do b = 1, n_act_orb ! 2 + do c = 1, n_act_orb ! 1 + do d = 1, n_act_orb ! 2 + rho = mos_array_act_r1(c) * mos_array_act_r2(d) * act_2_rdm_ab_mo(d,c,b,a,istate) + rho_tilde(b,a) += rho + two_bod_dens += rho * mos_array_act_r1(a) * mos_array_act_r2(b) + enddo + enddo + enddo + enddo + +end + +subroutine give_n2_cas(r1,r2,istate,n2_psi) + implicit none + BEGIN_DOC +! returns mu(r), f_psi, n2_psi for a general cas wave function + END_DOC + integer, intent(in) :: istate + double precision, intent(in) :: r1(3),r2(3) + double precision, intent(out) :: n2_psi + double precision :: two_bod_dens_ii + double precision :: two_bod_dens_ia + double precision :: two_bod_dens_aa + ! inactive-inactive part of n2_psi(r1,r2) + call give_n2_ii_val_ab(r,r,two_bod_dens_ii) + ! inactive-active part of n2_psi(r1,r2) + call give_n2_ia_val_ab(r,r,two_bod_dens_ia,istate) + ! active-active part of n2_psi(r1,r2) + call give_n2_aa_val_ab(r,r,two_bod_dens_aa,istate) + + n2_psi = n2_ii_val_ab + n2_ia_val_ab + n2_aa_val_ab + n2_psi = two_bod_dens_ii + two_bod_dens_ia + two_bod_dens_aa + +end diff --git a/src/two_body_rdm/act_2_rdm.irp.f b/src/two_body_rdm/act_2_rdm.irp.f index 2473d3c8..e3265572 100644 --- a/src/two_body_rdm/act_2_rdm.irp.f +++ b/src/two_body_rdm/act_2_rdm.irp.f @@ -2,6 +2,8 @@ BEGIN_PROVIDER [double precision, act_2_rdm_ab_mo, (n_act_orb,n_act_orb,n_act_orb,n_act_orb,N_states)] implicit none BEGIN_DOC +! 12 12 +! 1 2 1 2 == ! act_2_rdm_ab_mo(i,j,k,l,istate) = STATE SPECIFIC physicist notation for 2RDM of alpha/beta electrons ! ! From 2047abcdb0dbf36ce7876cfae227df235511f6f3 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Wed, 29 Apr 2020 14:48:28 +0200 Subject: [PATCH 078/138] modifs --- src/cas_based_on_top/two_body_dens_rout.irp.f | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/cas_based_on_top/two_body_dens_rout.irp.f b/src/cas_based_on_top/two_body_dens_rout.irp.f index be17fcaf..19d7632f 100644 --- a/src/cas_based_on_top/two_body_dens_rout.irp.f +++ b/src/cas_based_on_top/two_body_dens_rout.irp.f @@ -92,16 +92,12 @@ subroutine give_n2_ia_val_ab(r1,r2,two_bod_dens,istate) enddo ! Contracted density : intermediate quantity - ! rho_tilde(i,a) = \sum_b rho(b,a) * phi_i(1) * phi_j(2) - allocate(rho_tilde(n_inact_orb,n_act_orb)) two_bod_dens = 0.d0 do a = 1, n_act_orb do i = 1, n_inact_orb - rho_tilde(i,a) = 0.d0 do b = 1, n_act_orb rho = one_e_act_dm_beta_mo_for_dft(b,a,istate) + one_e_act_dm_alpha_mo_for_dft(b,a,istate) two_bod_dens += mos_array_inact_r1(i) * mos_array_inact_r1(i) * mos_array_act_r2(a) * mos_array_act_r2(b) * rho - rho_tilde(i,a) += rho * mos_array_inact_r1(i) * mos_array_act_r2(b) enddo enddo enddo @@ -147,16 +143,12 @@ subroutine give_n2_aa_val_ab(r1,r2,two_bod_dens,istate) enddo ! Contracted density : intermediate quantity - ! rho_tilde(i,a) = \sum_b rho(b,a) * phi_i(1) * phi_j(2) - allocate(rho_tilde(n_act_orb,n_act_orb)) two_bod_dens = 0.d0 - rho_tilde = 0.d0 do a = 1, n_act_orb ! 1 do b = 1, n_act_orb ! 2 do c = 1, n_act_orb ! 1 do d = 1, n_act_orb ! 2 rho = mos_array_act_r1(c) * mos_array_act_r2(d) * act_2_rdm_ab_mo(d,c,b,a,istate) - rho_tilde(b,a) += rho two_bod_dens += rho * mos_array_act_r1(a) * mos_array_act_r2(b) enddo enddo @@ -177,13 +169,12 @@ subroutine give_n2_cas(r1,r2,istate,n2_psi) double precision :: two_bod_dens_ia double precision :: two_bod_dens_aa ! inactive-inactive part of n2_psi(r1,r2) - call give_n2_ii_val_ab(r,r,two_bod_dens_ii) + call give_n2_ii_val_ab(r1,r2,two_bod_dens_ii) ! inactive-active part of n2_psi(r1,r2) - call give_n2_ia_val_ab(r,r,two_bod_dens_ia,istate) + call give_n2_ia_val_ab(r1,r2,two_bod_dens_ia,istate) ! active-active part of n2_psi(r1,r2) - call give_n2_aa_val_ab(r,r,two_bod_dens_aa,istate) + call give_n2_aa_val_ab(r1,r2,two_bod_dens_aa,istate) - n2_psi = n2_ii_val_ab + n2_ia_val_ab + n2_aa_val_ab n2_psi = two_bod_dens_ii + two_bod_dens_ia + two_bod_dens_aa end From 9737de21b782309ae497dab0a7ffac854ae05819 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Wed, 29 Apr 2020 15:11:48 +0200 Subject: [PATCH 079/138] removed spurious dependency --- src/cas_based_on_top/two_body_dens_rout.irp.f | 32 ++----------------- 1 file changed, 2 insertions(+), 30 deletions(-) diff --git a/src/cas_based_on_top/two_body_dens_rout.irp.f b/src/cas_based_on_top/two_body_dens_rout.irp.f index 19d7632f..4a57a868 100644 --- a/src/cas_based_on_top/two_body_dens_rout.irp.f +++ b/src/cas_based_on_top/two_body_dens_rout.irp.f @@ -9,7 +9,6 @@ subroutine give_n2_ii_val_ab(r1,r2,two_bod_dens) integer :: i,j,m,n,i_m,i_n integer :: i_i,i_j double precision, allocatable :: mos_array_inact_r1(:),mos_array_inact_r2(:) - double precision, allocatable :: mos_array_basis_r1(:),mos_array_basis_r2(:) double precision, allocatable :: mos_array_r1(:) , mos_array_r2(:) ! You get all orbitals in r_1 and r_2 allocate(mos_array_r1(mo_num) , mos_array_r2(mo_num) ) @@ -24,13 +23,6 @@ subroutine give_n2_ii_val_ab(r1,r2,two_bod_dens) mos_array_inact_r2(i_m) = mos_array_r2(list_inact(i_m)) enddo - ! You extract the orbitals belonging to the space \mathcal{B} - allocate(mos_array_basis_r1(n_basis_orb) , mos_array_basis_r2(n_basis_orb) ) - do i_m = 1, n_basis_orb - mos_array_basis_r1(i_m) = mos_array_r1(list_basis(i_m)) - mos_array_basis_r2(i_m) = mos_array_r2(list_basis(i_m)) - enddo - two_bod_dens = 0.d0 ! You browse all OCCUPIED ALPHA electrons in the \mathcal{A} space do m = 1, n_inact_orb ! electron 1 @@ -55,7 +47,6 @@ subroutine give_n2_ia_val_ab(r1,r2,two_bod_dens,istate) double precision :: rho double precision, allocatable :: mos_array_r1(:) , mos_array_r2(:) double precision, allocatable :: mos_array_inact_r1(:),mos_array_inact_r2(:) - double precision, allocatable :: mos_array_basis_r1(:),mos_array_basis_r2(:) double precision, allocatable :: mos_array_act_r1(:),mos_array_act_r2(:) two_bod_dens = 0.d0 @@ -74,7 +65,7 @@ subroutine give_n2_ia_val_ab(r1,r2,two_bod_dens,istate) enddo ! You extract the active orbitals - allocate( mos_array_act_r1(n_basis_orb) , mos_array_act_r2(n_basis_orb) ) + allocate( mos_array_act_r1(n_act_orb) , mos_array_act_r2(n_act_orb) ) do i= 1, n_act_orb mos_array_act_r1(i) = mos_array_r1(list_act(i)) enddo @@ -82,15 +73,6 @@ subroutine give_n2_ia_val_ab(r1,r2,two_bod_dens,istate) mos_array_act_r2(i) = mos_array_r2(list_act(i)) enddo - ! You extract the orbitals belonging to the space \mathcal{B} - allocate( mos_array_basis_r1(n_basis_orb) , mos_array_basis_r2(n_basis_orb) ) - do i= 1, n_basis_orb - mos_array_basis_r1(i) = mos_array_r1(list_basis(i)) - enddo - do i= 1, n_basis_orb - mos_array_basis_r2(i) = mos_array_r2(list_basis(i)) - enddo - ! Contracted density : intermediate quantity two_bod_dens = 0.d0 do a = 1, n_act_orb @@ -115,7 +97,6 @@ subroutine give_n2_aa_val_ab(r1,r2,two_bod_dens,istate) integer :: i,orb_i,a,orb_a,n,m,b,c,d double precision :: rho double precision, allocatable :: mos_array_r1(:) , mos_array_r2(:) - double precision, allocatable :: mos_array_basis_r1(:),mos_array_basis_r2(:) double precision, allocatable :: mos_array_act_r1(:),mos_array_act_r2(:) two_bod_dens = 0.d0 @@ -125,7 +106,7 @@ subroutine give_n2_aa_val_ab(r1,r2,two_bod_dens,istate) call give_all_mos_at_r(r2,mos_array_r2) ! You extract the active orbitals - allocate( mos_array_act_r1(n_basis_orb) , mos_array_act_r2(n_basis_orb) ) + allocate( mos_array_act_r1(n_act_orb) , mos_array_act_r2(n_act_orb) ) do i= 1, n_act_orb mos_array_act_r1(i) = mos_array_r1(list_act(i)) enddo @@ -133,15 +114,6 @@ subroutine give_n2_aa_val_ab(r1,r2,two_bod_dens,istate) mos_array_act_r2(i) = mos_array_r2(list_act(i)) enddo - ! You extract the orbitals belonging to the space \mathcal{B} - allocate( mos_array_basis_r1(n_basis_orb) , mos_array_basis_r2(n_basis_orb) ) - do i= 1, n_basis_orb - mos_array_basis_r1(i) = mos_array_r1(list_basis(i)) - enddo - do i= 1, n_basis_orb - mos_array_basis_r2(i) = mos_array_r2(list_basis(i)) - enddo - ! Contracted density : intermediate quantity two_bod_dens = 0.d0 do a = 1, n_act_orb ! 1 From b0823fe00341810439df9d1af3b18668d519ac5b Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Thu, 30 Apr 2020 19:14:50 +0200 Subject: [PATCH 080/138] added shank --- src/utils/shank.irp.f | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/utils/shank.irp.f diff --git a/src/utils/shank.irp.f b/src/utils/shank.irp.f new file mode 100644 index 00000000..4ec10bbe --- /dev/null +++ b/src/utils/shank.irp.f @@ -0,0 +1,39 @@ +double precision function shank3_f(array,n,nmax) + implicit none + integer, intent(in) :: n,nmax + double precision, intent(in) :: array(0:nmax) ! array of the partial sums + integer :: ntmp + double precision :: shank1(0:nmax),shank2(0:nmax),shank3(0:nmax) + ntmp = n + call shank(array,ntmp,nmax,shank1) + ntmp = ntmp - 2 + call shank(shank1,ntmp,nmax,shank2) + ntmp = ntmp - 2 + call shank(shank2,ntmp,nmax,shank3) + ntmp = ntmp - 2 + shank3_f = shank3(ntmp) +end + + +subroutine shank(array,n,nmax,shank1) + implicit none + integer, intent(in) :: n,nmax + double precision, intent(in) :: array(0:nmax) + double precision, intent(out) :: shank1(0:nmax) + integer :: i,j + double precision :: shank_function + do i = 1, n-1 + shank1(i-1) = shank_function(array,i,nmax) + enddo +end + +double precision function shank_function(array,i,n) + implicit none + integer, intent(in) :: i,n + double precision, intent(in) :: array(0:n) + double precision :: b_n, b_n1 + b_n = array(i) - array(i-1) + b_n1 = array(i+1) - array(i) + shank_function = array(i+1) - b_n1*b_n1/(b_n1-b_n) +end + From 61df4e01dfebc7614284351a338ac70310c92a22 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Thu, 30 Apr 2020 19:35:21 +0200 Subject: [PATCH 081/138] added shank --- src/utils/shank.irp.f | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/utils/shank.irp.f b/src/utils/shank.irp.f index 4ec10bbe..238538f3 100644 --- a/src/utils/shank.irp.f +++ b/src/utils/shank.irp.f @@ -34,6 +34,12 @@ double precision function shank_function(array,i,n) double precision :: b_n, b_n1 b_n = array(i) - array(i-1) b_n1 = array(i+1) - array(i) - shank_function = array(i+1) - b_n1*b_n1/(b_n1-b_n) + if(dabs(b_n1-b_n).lt.1.d-12)then + shank_function = array(i+1) + else + shank_function = array(i+1) - b_n1*b_n1/(b_n1-b_n) + endif + end + From 7aa00c1fc3c53ff6b679823a379b424bbced26d7 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 7 May 2020 00:40:26 +0200 Subject: [PATCH 082/138] Changed ncsu in ccecp --- data/pseudo/ccecp | 418 ++++++++++++++++++++++++++++++++++++++ data/pseudo/ncsu | 263 ------------------------ src/cipsi/selection.irp.f | 6 +- 3 files changed, 421 insertions(+), 266 deletions(-) create mode 100644 data/pseudo/ccecp delete mode 100644 data/pseudo/ncsu diff --git a/data/pseudo/ccecp b/data/pseudo/ccecp new file mode 100644 index 00000000..118133b8 --- /dev/null +++ b/data/pseudo/ccecp @@ -0,0 +1,418 @@ +H GEN 0 1 +3 +1.00000000000000 1 21.24359508259891 +21.24359508259891 3 21.24359508259891 +-10.85192405303825 2 21.77696655044365 +1 +0.00000000000000 2 1.000000000000000 + +He GEN 0 1 +3 +2.000000 1 32.000000 +64.00000 3 32.000000 +-27.70084 2 33.713355 +1 +0.000000 2 1.0000000 + +Li GEN 2 1 +3 +1.000 1 15.0000000000000 +15.0000000000000 3 15.0479971422127 +-1.24272969818004 2 1.80605426846072 +1 +6.75286789026804 2 1.33024777689591 + +Be GEN 2 1 +4 +2 1 17.94900205362972 +35.89800410725944 3 24.13200289331664 +-12.77499846818315 2 20.13800265282147 +-2.96001382478467 2 4.333170937885760 +1 +12.66391859014478 2 2.487403700772570 + +B GEN 2 1 +3 + 3.00000 1 31.49298 + 94.47895 3 22.56509 +-9.74800 2 8.64669 +1 + 20.74800 2 4.06246 + +C GEN 2 1 +3 + 4.00000 1 14.43502 +57.74008 3 8.39889 +-25.81955 2 7.38188 +1 +52.13345 2 7.76079 + +N GEN 2 1 +6 + 3.25000 1 12.91881 + 1.75000 1 9.22825 + 41.98612 3 12.96581 + 16.14945 3 8.05477 + -26.09522 2 12.54876 + -10.32626 2 7.53360 +2 + 34.77692 2 9.41609 + 15.20330 2 8.16694 + +O GEN 2 1 +3 + 6.000000 1 12.30997 + 73.85984 3 14.76962 + -47.87600 2 13.71419 +1 + 85.86406 2 13.65512 + +F GEN 2 1 +3 +7.0 1 11.3954401213 +79.7680808491 3 10.49201883 +-49.4990068225 2 10.2868054098 +1 +51.3934743997 2 11.3903478843 + +Ne GEN 2 1 +3 +8.000 1 14.79351199705315 +118.34809597642520 3 16.58203947626090 +-70.27885884380557 2 16.08073529218220 +1 +81.62205749824426 2 16.55441468334002 + +Na GEN 10 2 +3 + 1.000000 1 4.311678 + 4.311678 3 1.925689 + -2.083137 2 1.549498 +2 + 6.234064 2 5.377666 + 9.075931 2 1.408414 +2 + 3.232724 2 1.379949 + 2.494079 2 0.862453 + +Mg GEN 10 2 +3 + 2.000000 1 6.048538 + 12.097075 3 2.796989 +-17.108313 2 2.547408 +2 + 6.428631 2 5.936017 + 14.195491 2 1.592891 +2 + 3.315069 2 1.583969 + 4.403025 2 1.077297 + +Al GEN 2 1 +3 + 11.000000 1 11.062056 + 121.682619 3 12.369778 + -82.624567 2 11.965444 +2 + 25.157259 2 81.815564 + 113.067525 2 24.522883 + +Si GEN 10 2 +3 + 4.000000 1 5.168316 + 20.673264 3 8.861690 + -14.818174 2 3.933474 +2 + 14.832760 2 9.447023 + 26.349664 2 2.553812 +2 + 7.621400 2 3.660001 + 10.331583 2 1.903653 + +P GEN 2 1 +3 + 13.000000 1 15.073300 + 195.952906 3 18.113176 + -117.611086 2 17.371539 +2 + 25.197230 2 101.982019 + 189.426261 2 37.485881 + +S GEN 2 1 +3 + 14.000000 1 17.977612 + 251.686565 3 20.435964 + -135.538891 2 19.796579 +2 + 25.243283 2 111.936344 + 227.060768 2 43.941844 + +Cl GEN 2 1 +3 + 15.000000 1 22.196266 + 332.943994 3 26.145117 + -161.999982 2 25.015118 +2 + 26.837357 2 124.640433 + 277.296696 2 52.205433 + +Ar GEN 2 1 +3 + 16.000000 1 23.431337 + 374.901386 3 26.735872 + -178.039517 2 26.003325 +2 + 25.069215 2 135.620522 + 332.151842 2 60.471053 + +K GEN 10 2 +4 + 9.000 1 7.27386331637373 + 65.46476984736357 3 11.1729834540799 +-10.84433558416271 2 7.70617523948938 +-15.96316084113368 2 5.62491694962345 +2 + 11.86687269408012 2 11.4425076498453 + 90.07677060151201 2 6.53712447768095 +2 + 11.53420167311457 2 9.63121897030662 + 27.72023517356577 2 4.50881062128081 + +Ca GEN 10 2 +4 + 10.000 1 7.041331745291820 + 70.41331745291820 3 14.01444871170631 +-92.87298019372959 2 13.76936244330539 +-5.753568238854550 2 4.717259669813990 +2 + 149.3026232361631 2 11.24016734279034 + 23.75932943609596 2 5.353611600469730 +2 + 99.20411436357747 2 13.06654848325639 + 13.45216129084917 2 4.027484971490170 + +Sc GEN 10 2 +4 + 11.00000000 1 16.02394388 + 176.26338271 3 14.08647403 + -83.68149599 2 11.93985121 + 0.43282764 2 3.69440111 +2 + 153.96530175 2 11.49466541 + 14.93675657 2 5.01031394 +2 + 97.21725690 2 11.45126730 + 10.81704018 2 4.76798446 + +Ti GEN 10 2 +4 + 12.00000000 1 18.41366202 + 220.96394426 3 15.92292414 + -94.29025824 2 13.65000623 + 0.09791142 2 5.09555210 +2 + 173.94657235 2 12.70580613 + 18.83768333 2 6.11178551 +2 + 111.45672882 2 12.64091929 + 11.17702682 2 5.35437415 + +V GEN 10 2 +4 + 13.00000000 1 20.32168914 + 264.18195885 3 19.59698040 + -115.29293208 2 17.33147348 + -0.66288726 2 5.12320657 +2 + 195.56713891 2 15.12502150 + 22.88642834 2 6.29898914 +2 + 126.42119500 2 15.93855113 + 16.03597127 2 5.74006266 + +Cr GEN 10 2 +4 + 14.00000000 1 18.28091074 + 255.93275041 3 17.09800655 + -132.01826317 2 16.72267276 + -0.77388761 2 5.02865105 +2 + 219.48146209 2 16.90078760 + 28.07933176 2 7.33662150 +2 + 139.98396871 2 17.31974516 + 19.54835786 2 6.92409757 + +Mn GEN 10 2 +4 + 15.00000000 1 21.91937433 + 328.79061500 3 21.35527127 + -162.05172805 2 21.27162653 + -1.82694272 2 7.93913962 +2 + 244.66870492 2 18.92044965 + 33.54162717 2 8.32764757 +2 + 162.35033685 2 20.17347020 + 24.17956695 2 7.80047874 + +Fe GEN 10 2 +4 + 16.00000000 1 23.22091713 + 371.53467417 3 23.54714679 + -181.22603445 2 23.47256344 + -2.37305236 2 9.85238815 +2 + 277.50032547 2 22.21062697 + 46.20495585 2 9.51515800 +2 + 194.99875056 2 24.57000871 + 31.67945132 2 8.86648776 + +Co GEN 10 2 +4 + 17.00000000 1 25.00124115 + 425.02109971 3 22.83490096 + -195.48211282 2 23.47468155 + -2.81572866 2 10.33794825 +2 + 271.77708486 2 23.41427030 + 54.26461121 2 10.76931694 +2 + 201.53430745 2 25.47446316 + 38.99231927 2 10.68404901 + +Ni GEN 10 2 +4 + 18.000 1 2.82630001015327e+01 + 508.7340018275886 3 2.69360254587070e+01 + -2.20099999296390e+02 2 2.70860075292970e+01 + -2.13493270999809e+00 2 1.22130001295874e+01 +2 + 3.21240002430625e+02 2 2.64320193944270e+01 + 6.03470084610628e+01 2 1.17489696842121e+01 +2 + 2.36539998999428e+02 2 2.94929998193907e+01 + 4.43969887908906e+01 2 1.15569831458722e+01 + +Cu GEN 10 2 +4 + 19.00000000 1 31.53811263 + 599.22413997 3 31.06925531 +-244.68915484 2 30.59035868 + -1.29349525 2 14.05141063 +2 + 370.71371824 2 29.35562242 + 66.27560813 2 12.77235919 +2 + 271.66281028 2 33.51694543 + 49.76265057 2 12.52471484 + +Zn GEN 10 2 +4 + 20.00000000 1 35.80797616 + 716.15952323 3 34.53646083 + -204.68393323 2 28.62830178 + 0.76026614 2 7.96239682 +2 + 431.70804302 2 35.02141356 + 95.87640437 2 14.63498691 +2 + 313.57770563 2 42.22979234 + 74.01270048 2 14.57429304 + +Ga GEN 28 3 +4 + 3.0 1 17.00473938158134 + 51.01421814474402 3 14.99961796477555 +-39.00062591247301 2 11.99279249750992 + 35.44659356093000 2 14.99282276192415 +2 + 21.78930966695012 2 1.85781132082231 +-2.86685089713932 2 0.91950586478827 +2 + 18.63985979160424 2 1.92030166263971 +-1.63369679761927 2 1.00895888918239 +2 + 2.03523714898590 2 0.62750876923831 +-0.08532375682035 2 0.32619029984635 + +Ge GEN 28 3 +4 +4.0 1 1.478962662442 +5.9158506497680 3 3.188905647765 +-12.033712959815 2 1.927438978253 +1.283543489065 2 1.545539235916 +2 +43.265429324814 2 2.894473589836 +-1.909339873965 2 1.550339816290 +2 +35.263014141211 2 2.986528872039 +0.963439928853 2 1.283381203893 +2 +2.339019442484 2 1.043001142249 +0.541380654081 2 0.554562729807 + +As GEN 28 3 +4 +5.0 1 1.28593131534589 +6.429656576729450 3 9.93487432688877 +-15.01243900647766 2 1.89568153750512 +2.89881363078702 2 1.72825641453405 +2 +75.65519437230579 2 3.47938697518409 +-3.31145348709338 2 1.63747973017064 +2 +67.96186740640852 2 3.22936389274538 +-3.09455795155570 2 1.66636575135787 +2 +24.30473448724631 2 2.06816256325470 +0.93945624468575 2 1.54699940726544 + +Se GEN 28 3 +4 +6.0 1 2.97705189898323 +17.862311393899380 3 7.01667360591764 +-20.00913150638712 2 3.96066255032528 +10.00573531473560 2 5.02826321004214 +2 +71.37928031464314 2 4.17536331935161 +0.42619859321245 2 2.14491059745542 +2 +50.94828961394475 2 4.28772186507645 +5.54288117697892 2 2.09538253707367 +2 +6.20469719059516 2 1.39403720595047 +0.53395702862692 2 1.69659923150419 + +Br GEN 28 3 +4 +7.00000000000000 1 3.665770450000000 +25.6603931500000 3 5.293022720000000 +13.0402619252684 2 3.176376149835153 +-21.908838668870 2 2.897543523376016 +2 +85.8843473075379 2 4.971806723636273 +4.62125463404037 2 2.042687217782981 +2 +55.3617154916148 2 4.711839367430644 +11.0314096124871 2 2.384292508891309 +2 +26.4104098578207 2 3.412863477885576 +5.46873883641966 2 1.530284946887900 + +Kr GEN 28 3 +4 +8.0 1 10.79423805030976 +86.353904402478080 3 13.32338941541937 +-11.11453291523170 2 9.292050205053670 +10.22951903851239 2 20.14895793077237 +2 +92.88955174083402 2 5.49072858263344 +12.92947788650997 2 3.86301190150576 +2 +43.09952401633328 2 4.03857692489950 +9.50975957670500 2 3.30678898758958 +2 +17.80494496367218 2 4.21348003421066 +4.58911494794530 2 1.54989721316990 + diff --git a/data/pseudo/ncsu b/data/pseudo/ncsu deleted file mode 100644 index ab54ffa9..00000000 --- a/data/pseudo/ncsu +++ /dev/null @@ -1,263 +0,0 @@ -H GEN 0 1 -3 -1.00000000000000 1 21.24359508259891 -21.24359508259891 3 21.24359508259891 --10.85192405303825 2 21.77696655044365 -1 -0.00000000000000 2 1.000000000000000 - -B GEN 2 1 -3 - 3.00000 1 31.49298 - 94.47895 3 22.56509 --9.74800 2 8.64669 -1 - 20.74800 2 4.06246 - -C GEN 2 1 -3 - 4.00000 1 14.43502 -57.74008 3 8.39889 --25.81955 2 7.38188 -1 -52.13345 2 7.76079 - -N GEN 2 1 -6 - 3.25000 1 12.91881 - 1.75000 1 9.22825 - 41.98612 3 12.96581 - 16.14945 3 8.05477 - -26.09522 2 12.54876 - -10.32626 2 7.53360 -2 - 34.77692 2 9.41609 - 15.20330 2 8.16694 - -O GEN 2 1 -3 - 6.000000 1 12.30997 - 73.85984 3 14.76962 - -47.87600 2 13.71419 -1 - 85.86406 2 13.65512 - -F GEN 2 1 -3 -7.0 1 11.3954401213 -79.7680808491 3 10.49201883 --49.4990068225 2 10.2868054098 -1 -51.3934743997 2 11.3903478843 - -Na GEN 10 2 -3 - 1.000000 1 4.311678 - 4.311678 3 1.925689 - -2.083137 2 1.549498 -2 - 6.234064 2 5.377666 - 9.075931 2 1.408414 -2 - 3.232724 2 1.379949 - 2.494079 2 0.862453 - -Mg GEN 10 2 -3 - 2.000000 1 6.048538 - 12.097075 3 2.796989 --17.108313 2 2.547408 -2 - 6.428631 2 5.936017 - 14.195491 2 1.592891 -2 - 3.315069 2 1.583969 - 4.403025 2 1.077297 - -Al GEN 2 1 -3 - 11.000000 1 11.062056 - 121.682619 3 12.369778 - -82.624567 2 11.965444 -2 - 25.157259 2 81.815564 - 113.067525 2 24.522883 - -Si GEN 10 2 -3 - 4.000000 1 5.168316 - 20.673264 3 8.861690 - -14.818174 2 3.933474 -2 - 14.832760 2 9.447023 - 26.349664 2 2.553812 -2 - 7.621400 2 3.660001 - 10.331583 2 1.903653 - -P GEN 2 1 -3 - 13.000000 1 15.073300 - 195.952906 3 18.113176 - -117.611086 2 17.371539 -2 - 25.197230 2 101.982019 - 189.426261 2 37.485881 - -S GEN 2 1 -3 - 14.000000 1 17.977612 - 251.686565 3 20.435964 - -135.538891 2 19.796579 -2 - 25.243283 2 111.936344 - 227.060768 2 43.941844 - -Cl GEN 2 1 -3 - 15.000000 1 22.196266 - 332.943994 3 26.145117 - -161.999982 2 25.015118 -2 - 26.837357 2 124.640433 - 277.296696 2 52.205433 - -Ar GEN 2 1 -3 - 16.000000 1 23.431337 - 374.901386 3 26.735872 - -178.039517 2 26.003325 -2 - 25.069215 2 135.620522 - 332.151842 2 60.471053 - -Sc GEN 10 2 -4 - 11.00000000 1 16.02394388 - 176.26338271 3 14.08647403 - -83.68149599 2 11.93985121 - 0.43282764 2 3.69440111 -2 - 153.96530175 2 11.49466541 - 14.93675657 2 5.01031394 -2 - 97.21725690 2 11.45126730 - 10.81704018 2 4.76798446 - -Ti GEN 10 2 -4 - 12.00000000 1 18.41366202 - 220.96394426 3 15.92292414 - -94.29025824 2 13.65000623 - 0.09791142 2 5.09555210 -2 - 173.94657235 2 12.70580613 - 18.83768333 2 6.11178551 -2 - 111.45672882 2 12.64091929 - 11.17702682 2 5.35437415 - -V GEN 10 2 -4 - 13.00000000 1 20.32168914 - 264.18195885 3 19.59698040 - -115.29293208 2 17.33147348 - -0.66288726 2 5.12320657 -2 - 195.56713891 2 15.12502150 - 22.88642834 2 6.29898914 -2 - 126.42119500 2 15.93855113 - 16.03597127 2 5.74006266 - -Cr GEN 10 2 -4 - 14.00000000 1 18.28091074 - 255.93275041 3 17.09800655 - -132.01826317 2 16.72267276 - -0.77388761 2 5.02865105 -2 - 219.48146209 2 16.90078760 - 28.07933176 2 7.33662150 -2 - 139.98396871 2 17.31974516 - 19.54835786 2 6.92409757 - -Mn GEN 10 2 -4 - 15.00000000 1 21.91937433 - 328.79061500 3 21.35527127 - -162.05172805 2 21.27162653 - -1.82694272 2 7.93913962 -2 - 244.66870492 2 18.92044965 - 33.54162717 2 8.32764757 -2 - 162.35033685 2 20.17347020 - 24.17956695 2 7.80047874 - -Fe GEN 10 2 -4 - 16.00000000 1 23.22091713 - 371.53467417 3 23.54714679 - -181.22603445 2 23.47256344 - -2.37305236 2 9.85238815 -2 - 277.50032547 2 22.21062697 - 46.20495585 2 9.51515800 -2 - 194.99875056 2 24.57000871 - 31.67945132 2 8.86648776 - -Co GEN 10 2 -4 - 17.00000000 1 25.00124115 - 425.02109971 3 22.83490096 - -195.48211282 2 23.47468155 - -2.81572866 2 10.33794825 -2 - 271.77708486 2 23.41427030 - 54.26461121 2 10.76931694 -2 - 201.53430745 2 25.47446316 - 38.99231927 2 10.68404901 - -Ni GEN 10 2 -4 - 18.000 1 2.82630001015327e+01 - 508.7340018275886 3 2.69360254587070e+01 - -2.20099999296390e+02 2 2.70860075292970e+01 - -2.13493270999809e+00 2 1.22130001295874e+01 -2 - 3.21240002430625e+02 2 2.64320193944270e+01 - 6.03470084610628e+01 2 1.17489696842121e+01 -2 - 2.36539998999428e+02 2 2.94929998193907e+01 - 4.43969887908906e+01 2 1.15569831458722e+01 - -Cu GEN 10 2 -4 - 19.00000000 1 31.53811263 - 599.22413997 3 31.06925531 --244.68915484 2 30.59035868 - -1.29349525 2 14.05141063 -2 - 370.71371824 2 29.35562242 - 66.27560813 2 12.77235919 -2 - 271.66281028 2 33.51694543 - 49.76265057 2 12.52471484 - -Zn GEN 10 2 -4 - 20.00000000 1 35.80797616 - 716.15952323 3 34.53646083 - -204.68393323 2 28.62830178 - 0.76026614 2 7.96239682 -2 - 431.70804302 2 35.02141356 - 95.87640437 2 14.63498691 -2 - 313.57770563 2 42.22979234 - 74.01270048 2 14.57429304 - diff --git a/src/cipsi/selection.irp.f b/src/cipsi/selection.irp.f index e488b07c..5237ab94 100644 --- a/src/cipsi/selection.irp.f +++ b/src/cipsi/selection.irp.f @@ -46,7 +46,7 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) i_iter = 1 endif - dt = 0.5d0 + dt = 1.0d0 do k=1,N_st rpt2(k) = pt2(k)/(1.d0 + norm(k)) @@ -55,7 +55,7 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) avg = sum(rpt2(1:N_st)) / dble(N_st) - 1.d-32 ! Avoid future division by zero do k=1,N_st element = exp(dt*(rpt2(k)/avg -1.d0)) - element = min(1.5d0 , element) + element = min(2.0d0 , element) element = max(0.5d0 , element) memo_pt2(k,i_iter) = element pt2_match_weight(k) *= product(memo_pt2(k,:)) @@ -64,7 +64,7 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) avg = sum(variance(1:N_st)) / dble(N_st) + 1.d-32 ! Avoid future division by zero do k=1,N_st element = exp(dt*(variance(k)/avg -1.d0)) - element = min(1.5d0 , element) + element = min(2.0d0 , element) element = max(0.5d0 , element) memo_variance(k,i_iter) = element variance_match_weight(k) *= product(memo_variance(k,:)) From 398b7a2d32d9c1da39bb21dd2dd3aa18c333d297 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 7 May 2020 01:16:13 +0200 Subject: [PATCH 083/138] Add ccECP data --- ...c-pv5z_ecp_ncsu => aug-cc-pcv5z_ecp_ccecp} | 1311 ++--- ...c-pvdz_ecp_ncsu => aug-cc-pcvdz_ecp_ccecp} | 835 ++-- ...c-pvqz_ecp_ncsu => aug-cc-pcvqz_ecp_ccecp} | 1130 ++--- ...c-pvtz_ecp_ncsu => aug-cc-pcvtz_ecp_ccecp} | 969 ++-- data/basis/aug-cc-pv5z_ecp_ccecp | 4309 +++++++++++++++++ data/basis/aug-cc-pvdz_ecp_ccecp | 2093 ++++++++ data/basis/aug-cc-pvqz_ecp_ccecp | 3509 ++++++++++++++ data/basis/aug-cc-pvtz_ecp_ccecp | 2769 +++++++++++ data/basis/cc-pcv5z_ecp_ccecp | 3054 ++++++++++++ data/basis/cc-pcvdz_ecp_ccecp | 1496 ++++++ data/basis/cc-pcvqz_ecp_ccecp | 2508 ++++++++++ data/basis/cc-pcvtz_ecp_ccecp | 1988 ++++++++ data/basis/cc-pv5z_ecp_ccecp | 3991 +++++++++++++++ data/basis/cc-pvdz_ecp_ccecp | 1950 ++++++++ data/basis/cc-pvqz_ecp_ccecp | 3239 +++++++++++++ data/basis/cc-pvtz_ecp_ccecp | 2551 ++++++++++ data/pseudo/ccecp | 89 +- 17 files changed, 35140 insertions(+), 2651 deletions(-) rename data/basis/{aug-cc-pv5z_ecp_ncsu => aug-cc-pcv5z_ecp_ccecp} (78%) rename data/basis/{aug-cc-pvdz_ecp_ncsu => aug-cc-pcvdz_ecp_ccecp} (71%) rename data/basis/{aug-cc-pvqz_ecp_ncsu => aug-cc-pcvqz_ecp_ccecp} (77%) rename data/basis/{aug-cc-pvtz_ecp_ncsu => aug-cc-pcvtz_ecp_ccecp} (74%) create mode 100644 data/basis/aug-cc-pv5z_ecp_ccecp create mode 100644 data/basis/aug-cc-pvdz_ecp_ccecp create mode 100644 data/basis/aug-cc-pvqz_ecp_ccecp create mode 100644 data/basis/aug-cc-pvtz_ecp_ccecp create mode 100644 data/basis/cc-pcv5z_ecp_ccecp create mode 100644 data/basis/cc-pcvdz_ecp_ccecp create mode 100644 data/basis/cc-pcvqz_ecp_ccecp create mode 100644 data/basis/cc-pcvtz_ecp_ccecp create mode 100644 data/basis/cc-pv5z_ecp_ccecp create mode 100644 data/basis/cc-pvdz_ecp_ccecp create mode 100644 data/basis/cc-pvqz_ecp_ccecp create mode 100644 data/basis/cc-pvtz_ecp_ccecp diff --git a/data/basis/aug-cc-pv5z_ecp_ncsu b/data/basis/aug-cc-pcv5z_ecp_ccecp similarity index 78% rename from data/basis/aug-cc-pv5z_ecp_ncsu rename to data/basis/aug-cc-pcv5z_ecp_ccecp index 1fd4b7d9..54cb9842 100644 --- a/data/basis/aug-cc-pv5z_ecp_ncsu +++ b/data/basis/aug-cc-pcv5z_ecp_ccecp @@ -1,837 +1,322 @@ -HYDROGEN -S 8 - 1 23.843185 0.00411490 - 2 10.212443 0.01046440 - 3 4.374164 0.02801110 - 4 1.873529 0.07588620 - 5 0.802465 0.18210620 - 6 0.343709 0.34852140 - 7 0.147217 0.37823130 - 8 0.063055 0.11642410 +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 S 1 - 1 0.026925 1.00000000 + 1 5.873270 1.00000000 S 1 - 1 0.068025 1.00000000 + 1 3.683273 1.00000000 S 1 - 1 0.171860 1.00000000 + 1 2.309872 1.00000000 S 1 - 1 0.434193 1.00000000 + 1 1.448578 1.00000000 S 1 - 1 1.096959 1.00000000 + 1 0.908439 1.00000000 +S 1 + 1 0.279981 1.00000000 +S 1 + 1 0.130352 1.00000000 +S 1 + 1 0.060689 1.00000000 +S 1 + 1 0.028255 1.00000000 +S 1 + 1 0.013155 1.00000000 +S 1 + 1 0.006578 1.00000000 P 1 - 1 0.087526 1.00000000 + 1 6.009499 1.00000000 P 1 - 1 0.236875 1.00000000 + 1 3.072831 1.00000000 P 1 - 1 0.641066 1.00000000 + 1 1.571228 1.00000000 P 1 - 1 1.734949 1.00000000 + 1 0.803414 1.00000000 P 1 - 1 4.695379 1.00000000 + 1 0.410809 1.00000000 +P 1 + 1 0.156073 1.00000000 +P 1 + 1 0.081288 1.00000000 +P 1 + 1 0.042338 1.00000000 +P 1 + 1 0.022051 1.00000000 +P 1 + 1 0.011485 1.00000000 +P 1 + 1 0.005743 1.00000000 D 1 - 1 0.176684 1.00000000 + 1 3.848391 1.00000000 D 1 - 1 0.451746 1.00000000 + 1 1.901701 1.00000000 D 1 - 1 1.155025 1.00000000 + 1 0.939734 1.00000000 D 1 - 1 2.953168 1.00000000 + 1 0.464374 1.00000000 +D 1 + 1 0.120204 1.00000000 +D 1 + 1 0.048011 1.00000000 +D 1 + 1 0.019176 1.00000000 +D 1 + 1 0.007659 1.00000000 +D 1 + 1 0.003830 1.00000000 F 1 - 1 0.408219 1.00000000 + 1 2.590701 1.00000000 F 1 - 1 1.100898 1.00000000 + 1 1.411529 1.00000000 F 1 - 1 2.968936 1.00000000 + 1 0.769064 1.00000000 +F 1 + 1 0.239153 1.00000000 +F 1 + 1 0.119089 1.00000000 +F 1 + 1 0.059302 1.00000000 +F 1 + 1 0.029651 1.00000000 G 1 - 1 0.661764 1.00000000 + 1 2.037301 1.00000000 G 1 - 1 1.819850 1.00000000 + 1 0.905571 1.00000000 +G 1 + 1 0.143170 1.00000000 +G 1 + 1 0.079847 1.00000000 +G 1 + 1 0.039924 1.00000000 +H 1 + 1 1.635516 1.00000000 +H 1 + 1 0.138324 1.00000000 +H 1 + 1 0.069162 1.00000000 -SODIUM -S 12 - 1 50.364926 -0.00144900 - 2 24.480199 -0.00059000 - 3 11.898760 -0.11881800 - 4 5.783470 -0.01085600 - 5 2.811093 0.25078300 - 6 1.366350 0.44727600 - 7 0.664123 0.34725400 - 8 0.322801 0.08065200 - 9 0.156900 0.00120800 - 10 0.076262 0.00040900 - 11 0.037068 0.00011200 - 12 0.018017 0.00007200 -S 12 - 1 50.364926 0.00021200 - 2 24.480199 0.00037900 - 3 11.898760 0.01958200 - 4 5.783470 0.00062300 - 5 2.811093 -0.04578100 - 6 1.366350 -0.08872800 - 7 0.664123 -0.11295200 - 8 0.322801 -0.10839600 - 9 0.156900 0.00990100 - 10 0.076262 0.35541800 - 11 0.037068 0.56145100 - 12 0.018017 0.19899800 -S 1 - 1 1.552511 1.00000000 -S 1 - 1 0.555267 1.00000000 -S 1 - 1 0.198595 1.00000000 -S 1 - 1 0.071029 1.00000000 -S 1 - 1 0.035514 1.00000000 -P 12 - 1 77.769943 0.00005400 - 2 42.060816 -0.00001600 - 3 22.748020 0.01257100 - 4 12.302957 0.07960100 - 5 6.653887 0.14044200 - 6 3.598664 0.21214100 - 7 1.946289 0.26179900 - 8 1.052624 0.25582000 - 9 0.569297 0.18035900 - 10 0.307897 0.07216500 - 11 0.166522 0.01066300 - 12 0.090061 0.00153800 -P 12 - 1 77.769943 -0.00065600 - 2 42.060816 0.00313700 - 3 22.748020 -0.01100400 - 4 12.302957 0.00937600 - 5 6.653887 -0.06647900 - 6 3.598664 0.05895900 - 7 1.946289 -0.22105000 - 8 1.052624 0.30349100 - 9 0.569297 -0.67170500 - 10 0.307897 1.06436000 - 11 0.166522 -1.53048900 - 12 0.090061 1.84316700 -P 1 - 1 0.527875 1.00000000 -P 1 - 1 0.214862 1.00000000 -P 1 - 1 0.087455 1.00000000 -P 1 - 1 0.035597 1.00000000 -P 1 - 1 0.017798 1.00000000 -D 1 - 1 1.195177 1.00000000 -D 1 - 1 0.443453 1.00000000 -D 1 - 1 0.164537 1.00000000 -D 1 - 1 0.061049 1.00000000 -D 1 - 1 0.030524 1.00000000 -F 1 - 1 0.292980 1.00000000 -F 1 - 1 0.161813 1.00000000 -F 1 - 1 0.089369 1.00000000 -F 1 - 1 0.044685 1.00000000 -G 1 - 1 0.237124 1.00000000 -G 1 - 1 0.125449 1.00000000 -G 1 - 1 0.062725 1.00000000 -H 1 - 1 0.249975 1.00000000 -H 1 - 1 0.124988 1.00000000 - -MAGNESIUM -S 12 - 1 63.931893 -0.00079400 - 2 31.602596 0.00747900 - 3 15.621687 -0.13624600 - 4 7.722059 -0.03203300 - 5 3.817142 0.21682300 - 6 1.886877 0.45136400 - 7 0.932714 0.37759900 - 8 0.461056 0.09431900 - 9 0.227908 0.00170300 - 10 0.112659 0.00048500 - 11 0.055689 -0.00015100 - 12 0.027528 0.00003100 -S 12 - 1 63.931893 0.00010600 - 2 31.602596 -0.00108600 - 3 15.621687 0.02867600 - 4 7.722059 0.00578100 - 5 3.817142 -0.05065300 - 6 1.886877 -0.11687700 - 7 0.932714 -0.16512100 - 8 0.461056 -0.11801600 - 9 0.227908 0.10836500 - 10 0.112659 0.41475500 - 11 0.055689 0.47763300 - 12 0.027528 0.17347600 -S 1 - 1 0.389199 1.00000000 -S 1 - 1 0.168798 1.00000000 -S 1 - 1 0.073209 1.00000000 -S 1 - 1 0.031751 1.00000000 -S 1 - 1 0.015876 1.00000000 -P 12 - 1 28.231094 0.01131700 - 2 14.891993 0.08703900 - 3 7.855575 0.16268300 - 4 4.143841 0.24138600 - 5 2.185889 0.29006400 - 6 1.153064 0.25299100 - 7 0.608245 0.13309700 - 8 0.320851 0.02894100 - 9 0.169250 0.00320900 - 10 0.089280 0.00026800 - 11 0.047095 0.00025700 - 12 0.024843 -0.00003700 -P 12 - 1 28.231094 -0.00182200 - 2 14.891993 -0.01360300 - 3 7.855575 -0.02570000 - 4 4.143841 -0.03907600 - 5 2.185889 -0.04877900 - 6 1.153064 -0.04599000 - 7 0.608245 -0.03165800 - 8 0.320851 0.04917800 - 9 0.169250 0.18690900 - 10 0.089280 0.37939600 - 11 0.047095 0.33543100 - 12 0.024843 0.18405800 -P 1 - 1 0.910185 1.00000000 -P 1 - 1 0.404109 1.00000000 -P 1 - 1 0.179418 1.00000000 -P 1 - 1 0.079659 1.00000000 -P 1 - 1 0.039829 1.00000000 -D 1 - 1 0.455794 1.00000000 -D 1 - 1 0.266469 1.00000000 -D 1 - 1 0.155785 1.00000000 -D 1 - 1 0.091076 1.00000000 -D 1 - 1 0.045538 1.00000000 -F 1 - 1 0.481014 1.00000000 -F 1 - 1 0.270337 1.00000000 -F 1 - 1 0.151933 1.00000000 -F 1 - 1 0.075967 1.00000000 -G 1 - 1 0.457878 1.00000000 -G 1 - 1 0.221686 1.00000000 -G 1 - 1 0.110843 1.00000000 -H 1 - 1 0.365865 1.00000000 -H 1 - 1 0.182932 1.00000000 - -ALUMINUM -S 12 - 1 78.990577 -0.00048100 - 2 39.484884 0.01309500 - 3 19.737241 -0.14615300 - 4 9.866021 -0.04520600 - 5 4.931711 0.19070800 - 6 2.465206 0.45320700 - 7 1.232278 0.39882400 - 8 0.615977 0.10364800 - 9 0.307907 0.00224700 - 10 0.153913 0.00079000 - 11 0.076936 -0.00014000 - 12 0.038458 0.00006400 -S 12 - 1 78.990577 0.00002400 - 2 39.484884 -0.00262700 - 3 19.737241 0.03694800 - 4 9.866021 0.01070500 - 5 4.931711 -0.05334200 - 6 2.465206 -0.14418800 - 7 1.232278 -0.21396900 - 8 0.615977 -0.12558500 - 9 0.307907 0.19397000 - 10 0.153913 0.48467400 - 11 0.076936 0.41941400 - 12 0.038458 0.11043000 -S 1 - 1 0.608105 1.00000000 -S 1 - 1 0.266890 1.00000000 -S 1 - 1 0.117135 1.00000000 -S 1 - 1 0.051409 1.00000000 -S 1 - 1 0.023503 1.00000000 -P 12 - 1 33.993368 0.01190800 - 2 17.617051 0.09748500 - 3 9.130030 0.18047400 - 4 4.731635 0.26552200 - 5 2.452168 0.30797700 - 6 1.270835 0.23506100 - 7 0.658610 0.08963100 - 8 0.341324 0.01108300 - 9 0.176891 0.00157700 - 10 0.091674 0.00000700 - 11 0.047510 0.00021500 - 12 0.024622 -0.00002200 -P 12 - 1 33.993368 -0.00218300 - 2 17.617051 -0.01736200 - 3 9.130030 -0.03229200 - 4 4.731635 -0.04981000 - 5 2.452168 -0.05992600 - 6 1.270835 -0.05255300 - 7 0.658610 0.00198900 - 8 0.341324 0.13005200 - 9 0.176891 0.28008900 - 10 0.091674 0.37433900 - 11 0.047510 0.27285700 - 12 0.024622 0.08514500 -P 1 - 1 1.196547 1.00000000 -P 1 - 1 0.542654 1.00000000 -P 1 - 1 0.246103 1.00000000 -P 1 - 1 0.111612 1.00000000 -P 1 - 1 0.052226 1.00000000 -D 1 - 1 1.207208 1.00000000 -D 1 - 1 0.490499 1.00000000 -D 1 - 1 0.199294 1.00000000 -D 1 - 1 0.080975 1.00000000 -D 1 - 1 0.033013 1.00000000 -F 1 - 1 0.495155 1.00000000 -F 1 - 1 0.244782 1.00000000 -F 1 - 1 0.121009 1.00000000 -F 1 - 1 0.051951 1.00000000 -G 1 - 1 0.518568 1.00000000 -G 1 - 1 0.239898 1.00000000 -G 1 - 1 0.103114 1.00000000 -H 1 - 1 0.441969 1.00000000 -H 1 - 1 0.212285 1.00000000 - -SILICON -S 12 - 1 96.651837 -0.00044000 - 2 48.652547 0.01867100 - 3 24.490692 -0.15435300 - 4 12.328111 -0.05773800 - 5 6.205717 0.16808700 - 6 3.123831 0.45342800 - 7 1.572472 0.41767500 - 8 0.791550 0.11190100 - 9 0.398450 0.00333700 - 10 0.200572 0.00099500 - 11 0.100964 -0.00003800 - 12 0.050823 0.00006900 -S 12 - 1 96.651837 -0.00000400 - 2 48.652547 -0.00442100 - 3 24.490692 0.04336200 - 4 12.328111 0.01585300 - 5 6.205717 -0.05170600 - 6 3.123831 -0.16289500 - 7 1.572472 -0.25021800 - 8 0.791550 -0.12421600 - 9 0.398450 0.24632500 - 10 0.200572 0.50589900 - 11 0.100964 0.38631400 - 12 0.050823 0.08770100 -S 1 - 1 0.873801 1.00000000 -S 1 - 1 0.382352 1.00000000 -S 1 - 1 0.167307 1.00000000 -S 1 - 1 0.073209 1.00000000 -S 1 - 1 0.033798 1.00000000 -P 12 - 1 40.315996 0.01293800 - 2 21.171265 0.09812900 - 3 11.117733 0.17932400 - 4 5.838290 0.26388600 - 5 3.065879 0.30927200 - 6 1.609995 0.23274800 - 7 0.845462 0.08590000 - 8 0.443980 0.01026000 - 9 0.233149 0.00156000 - 10 0.122434 -0.00000300 - 11 0.064294 0.00023200 - 12 0.033763 -0.00002300 -P 12 - 1 40.315996 0.00283300 - 2 21.171265 0.02086900 - 3 11.117733 0.03823600 - 4 5.838290 0.05967900 - 5 3.065879 0.07277600 - 6 1.609995 0.06112900 - 7 0.845462 -0.01677600 - 8 0.443980 -0.17225900 - 9 0.233149 -0.32119600 - 10 0.122434 -0.36282800 - 11 0.064294 -0.22078900 - 12 0.033763 -0.05515200 -P 1 - 1 1.610395 1.00000000 -P 1 - 1 0.749116 1.00000000 -P 1 - 1 0.348471 1.00000000 -P 1 - 1 0.162100 1.00000000 -P 1 - 1 0.082437 1.00000000 -D 1 - 1 1.813924 1.00000000 -D 1 - 1 0.729531 1.00000000 -D 1 - 1 0.293406 1.00000000 -D 1 - 1 0.118003 1.00000000 -D 1 - 1 0.049660 1.00000000 -F 1 - 1 0.660365 1.00000000 -F 1 - 1 0.327757 1.00000000 -F 1 - 1 0.162675 1.00000000 -F 1 - 1 0.075958 1.00000000 -G 1 - 1 0.676014 1.00000000 -G 1 - 1 0.309233 1.00000000 -G 1 - 1 0.143685 1.00000000 -H 1 - 1 0.575998 1.00000000 -H 1 - 1 0.302643 1.00000000 - -PHOSPHORUS -S 12 - 1 269.443884 0.00005500 - 2 127.601401 -0.00062400 - 3 60.428603 0.01940000 - 4 28.617367 -0.16550900 - 5 13.552418 -0.05426500 - 6 6.418062 0.25444000 - 7 3.039422 0.54966100 - 8 1.439389 0.32228500 - 9 0.681656 0.02663200 - 10 0.322814 0.00420300 - 11 0.152876 -0.00123300 - 12 0.072398 0.00049700 -S 12 - 1 269.443884 0.00001800 - 2 127.601401 -0.00002600 - 3 60.428603 -0.00493300 - 4 28.617367 0.05012000 - 5 13.552418 0.01580100 - 6 6.418062 -0.08446300 - 7 3.039422 -0.24674200 - 8 1.439389 -0.27632600 - 9 0.681656 0.10027400 - 10 0.322814 0.51720100 - 11 0.152876 0.47975800 - 12 0.072398 0.12409900 -S 1 - 1 1.132149 1.00000000 -S 1 - 1 0.495638 1.00000000 -S 1 - 1 0.216983 1.00000000 -S 1 - 1 0.094992 1.00000000 -S 1 - 1 0.046136 1.00000000 -P 12 - 1 48.154282 0.01288400 - 2 25.406431 0.09709500 - 3 13.404555 0.17821500 - 4 7.072308 0.26596400 - 5 3.731384 0.31293300 - 6 1.968696 0.23068600 - 7 1.038693 0.08048900 - 8 0.548020 0.00908500 - 9 0.289138 0.00124800 - 10 0.152550 -0.00006600 - 11 0.080486 0.00012900 - 12 0.042465 -0.00002900 -P 12 - 1 48.154282 -0.00315200 - 2 25.406431 -0.02300600 - 3 13.404555 -0.04239800 - 4 7.072308 -0.06747700 - 5 3.731384 -0.08295200 - 6 1.968696 -0.06602600 - 7 1.038693 0.03446800 - 8 0.548020 0.20901800 - 9 0.289138 0.34717900 - 10 0.152550 0.34480600 - 11 0.080486 0.18173100 - 12 0.042465 0.03664900 -P 1 - 1 2.103768 1.00000000 -P 1 - 1 0.988246 1.00000000 -P 1 - 1 0.464229 1.00000000 -P 1 - 1 0.218072 1.00000000 -P 1 - 1 0.115186 1.00000000 -D 1 - 1 2.461614 1.00000000 -D 1 - 1 0.989463 1.00000000 -D 1 - 1 0.397722 1.00000000 -D 1 - 1 0.159867 1.00000000 -D 1 - 1 0.067979 1.00000000 -F 1 - 1 0.861267 1.00000000 -F 1 - 1 0.429816 1.00000000 -F 1 - 1 0.214500 1.00000000 -F 1 - 1 0.094101 1.00000000 -G 1 - 1 0.871895 1.00000000 -G 1 - 1 0.398679 1.00000000 -G 1 - 1 0.176303 1.00000000 -H 1 - 1 0.737477 1.00000000 -H 1 - 1 0.358625 1.00000000 - -SULFUR -S 12 - 1 306.317903 0.00006400 - 2 146.602801 -0.00078500 - 3 70.163647 0.02247100 - 4 33.580104 -0.16987100 - 5 16.071334 -0.06189700 - 6 7.691691 0.24003900 - 7 3.681219 0.55164900 - 8 1.761820 0.33438600 - 9 0.843202 0.03132300 - 10 0.403554 0.00443600 - 11 0.193140 -0.00101500 - 12 0.092436 0.00050700 -S 12 - 1 306.317903 0.00002100 - 2 146.602801 -0.00000400 - 3 70.163647 -0.00611900 - 4 33.580104 0.05447100 - 5 16.071334 0.01934400 - 6 7.691691 -0.08383900 - 7 3.681219 -0.26532200 - 8 1.761820 -0.29306500 - 9 0.843202 0.11373000 - 10 0.403554 0.52928200 - 11 0.193140 0.46625400 - 12 0.092436 0.12580000 -S 1 - 1 1.476765 1.00000000 -S 1 - 1 0.646261 1.00000000 -S 1 - 1 0.282816 1.00000000 -S 1 - 1 0.123766 1.00000000 -S 1 - 1 0.059756 1.00000000 -P 12 - 1 55.148271 0.01344700 - 2 29.056588 0.10167000 - 3 15.309371 0.18519200 - 4 8.066220 0.27583600 - 5 4.249940 0.31707300 - 6 2.239213 0.21706600 - 7 1.179799 0.06576500 - 8 0.621614 0.00651700 - 9 0.327517 0.00111100 - 10 0.172562 0.00022200 - 11 0.090920 0.00018100 - 12 0.047904 0.00000800 -P 12 - 1 55.148271 0.00354200 - 2 29.056588 0.02579700 - 3 15.309371 0.04726000 - 4 8.066220 0.07559400 - 5 4.249940 0.09198000 - 6 2.239213 0.06206700 - 7 1.179799 -0.07125300 - 8 0.621614 -0.25020600 - 9 0.327517 -0.34929500 - 10 0.172562 -0.31270000 - 11 0.090920 -0.15589800 - 12 0.047904 -0.03041800 -P 1 - 1 2.497887 1.00000000 -P 1 - 1 1.144777 1.00000000 -P 1 - 1 0.524650 1.00000000 -P 1 - 1 0.240446 1.00000000 -P 1 - 1 0.146965 1.00000000 -D 1 - 1 2.921482 1.00000000 -D 1 - 1 1.185135 1.00000000 -D 1 - 1 0.480764 1.00000000 -D 1 - 1 0.195028 1.00000000 -D 1 - 1 0.083343 1.00000000 -F 1 - 1 1.064106 1.00000000 -F 1 - 1 0.512446 1.00000000 -F 1 - 1 0.246781 1.00000000 -F 1 - 1 0.114587 1.00000000 -G 1 - 1 1.040933 1.00000000 -G 1 - 1 0.450973 1.00000000 -G 1 - 1 0.203705 1.00000000 -H 1 - 1 0.865966 1.00000000 -H 1 - 1 0.406432 1.00000000 - -CHLORINE -S 10 - 1 15.583847 0.002501 - 2 8.858485 -0.010046 - 3 5.035519 0.085810 - 4 2.862391 -0.290136 - 5 1.627098 -0.140314 - 6 0.924908 0.146839 - 7 0.525755 0.392484 - 8 0.298860 0.425061 - 9 0.169884 0.227195 - 10 0.096569 0.059828 -S 1 - 1 1.312097 1.000000 -S 1 - 1 0.611646 1.000000 -S 1 - 1 0.285124 1.000000 -S 1 - 1 0.132913 1.000000 -S 1 - 1 0.065045 1.000000 -P 10 - 1 7.682894 -0.004609 - 2 4.507558 -0.001798 - 3 2.644587 -0.068614 - 4 1.551581 0.062352 - 5 0.910313 0.166337 - 6 0.534081 0.282292 - 7 0.313346 0.275967 - 8 0.183840 0.241328 - 9 0.107859 0.110223 - 10 0.063281 0.040289 -P 1 - 1 2.989744 1.000000 -P 1 - 1 1.418767 1.000000 -P 1 - 1 0.673268 1.000000 -P 1 - 1 0.319496 1.000000 -P 1 - 1 0.168796 1.000000 -D 1 - 1 3.508629 1.000000 -D 1 - 1 1.434082 1.000000 -D 1 - 1 0.586152 1.000000 -D 1 - 1 0.239578 1.000000 -D 1 - 1 0.103095 1.000000 -F 1 - 1 1.580619 1.000000 -F 1 - 1 0.721906 1.000000 -F 1 - 1 0.329711 1.000000 -F 1 - 1 0.159627 1.000000 -G 1 - 1 1.330843 1.000000 -G 1 - 1 0.560558 1.000000 -G 1 - 1 0.272474 1.000000 -H 1 - 1 1.054587 1.000000 -H 1 - 1 0.578705 1.000000 - -ARGON -S 12 - 1 400.805381 0.00009200 - 2 194.251428 -0.00125400 - 3 94.144487 0.02887900 - 4 45.627384 -0.17710600 - 5 22.113437 -0.07716500 - 6 10.717338 0.21018700 - 7 5.194187 0.55436900 - 8 2.517377 0.35907000 - 9 1.220054 0.04076900 - 10 0.591302 0.00508700 - 11 0.286576 -0.00064400 - 12 0.138890 0.00053300 -S 12 - 1 400.805381 0.00001900 - 2 194.251428 0.00011400 - 3 94.144487 -0.00869300 - 4 45.627384 0.06117500 - 5 22.113437 0.02679200 - 6 10.717338 -0.07778000 - 7 5.194187 -0.29074700 - 8 2.517377 -0.32003600 - 9 1.220054 0.12393300 - 10 0.591302 0.53916300 - 11 0.286576 0.45626000 - 12 0.138890 0.13189200 -S 1 - 1 2.177793 1.00000000 -S 1 - 1 0.961128 1.00000000 -S 1 - 1 0.424176 1.00000000 -S 1 - 1 0.187202 1.00000000 -S 1 - 1 0.093601 1.00000000 -P 12 - 1 71.845693 0.01423900 - 2 38.318786 0.10317800 - 3 20.437263 0.18518400 - 4 10.900182 0.27635700 - 5 5.813595 0.31813000 - 6 3.100671 0.21149400 - 7 1.653738 0.06192600 - 8 0.882019 0.00582100 - 9 0.470423 0.00083800 - 10 0.250899 -0.00004700 - 11 0.133817 0.00007700 - 12 0.071371 -0.00001800 -P 12 - 1 71.845693 0.00414500 - 2 38.318786 0.02880000 - 3 20.437263 0.05191600 - 4 10.900182 0.08435600 - 5 5.813595 0.10330300 - 6 3.100671 0.05976300 - 7 1.653738 -0.09852400 - 8 0.882019 -0.27287100 - 9 0.470423 -0.34211200 - 10 0.250899 -0.28931700 - 11 0.133817 -0.14332900 - 12 0.071371 -0.03249500 -P 1 - 1 1.813964 1.00000000 -P 1 - 1 0.720627 1.00000000 -P 1 - 1 0.286281 1.00000000 -P 1 - 1 0.113730 1.00000000 -P 1 - 1 0.056865 1.00000000 -D 1 - 1 4.461278 1.00000000 -D 1 - 1 1.806317 1.00000000 -D 1 - 1 0.731356 1.00000000 -D 1 - 1 0.296117 1.00000000 -D 1 - 1 0.148059 1.00000000 -F 1 - 1 1.631455 1.00000000 -F 1 - 1 0.816712 1.00000000 -F 1 - 1 0.408849 1.00000000 -F 1 - 1 0.204425 1.00000000 -G 1 - 1 1.531056 1.00000000 -G 1 - 1 0.655852 1.00000000 -G 1 - 1 0.327926 1.00000000 -H 1 - 1 1.257281 1.00000000 -H 1 - 1 0.628641 1.00000000 +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 7.012966 1.00000000 +S 1 + 1 4.484960 1.00000000 +S 1 + 1 2.868240 1.00000000 +S 1 + 1 1.834308 1.00000000 +S 1 + 1 1.173084 1.00000000 +S 1 + 1 0.327434 1.00000000 +S 1 + 1 0.142435 1.00000000 +S 1 + 1 0.079140 1.00000000 +S 1 + 1 0.037693 1.00000000 +S 1 + 1 0.018160 1.00000000 +S 1 + 1 0.006500 1.00000000 +P 1 + 1 7.065700 1.00000000 +P 1 + 1 4.206360 1.00000000 +P 1 + 1 2.504134 1.00000000 +P 1 + 1 1.490764 1.00000000 +P 1 + 1 0.887483 1.00000000 +P 1 + 1 0.467685 1.00000000 +P 1 + 1 0.233432 1.00000000 +P 1 + 1 0.093217 1.00000000 +P 1 + 1 0.041977 1.00000000 +P 1 + 1 0.018692 1.00000000 +P 1 + 1 0.004800 1.00000000 +D 1 + 1 3.644940 1.00000000 +D 1 + 1 2.350849 1.00000000 +D 1 + 1 1.516209 1.00000000 +D 1 + 1 0.977898 1.00000000 +D 1 + 1 0.502634 1.00000000 +D 1 + 1 0.189583 1.00000000 +D 1 + 1 0.070604 1.00000000 +D 1 + 1 0.025792 1.00000000 +D 1 + 1 0.004100 1.00000000 +F 1 + 1 3.578437 1.00000000 +F 1 + 1 2.436365 1.00000000 +F 1 + 1 1.658789 1.00000000 +F 1 + 1 0.736000 1.00000000 +F 1 + 1 0.247100 1.00000000 +F 1 + 1 0.083000 1.00000000 +F 1 + 1 0.027700 1.00000000 +G 1 + 1 2.548467 1.00000000 +G 1 + 1 1.178412 1.00000000 +G 1 + 1 0.290200 1.00000000 +G 1 + 1 0.096300 1.00000000 +G 1 + 1 0.032200 1.00000000 +H 1 + 1 2.041245 1.00000000 +H 1 + 1 0.278500 1.00000000 +H 1 + 1 0.057600 1.00000000 SCANDIUM S 13 @@ -1102,6 +587,26 @@ I 1 1 0.473293 1.00000000 I 1 1 2.384691 1.00000000 +S 1 + 1 2.579792 1.00000000 +S 1 + 1 3.907301 1.00000000 +P 1 + 1 1.149806 1.00000000 +P 1 + 1 3.785409 1.00000000 +D 1 + 1 1.726661 1.00000000 +D 1 + 1 2.428497 1.00000000 +F 1 + 1 2.972618 1.00000000 +G 1 + 1 3.296772 1.00000000 +H 1 + 1 3.362914 1.00000000 +I 1 + 1 3.811252 1.00000000 TITANIUM S 13 @@ -1372,6 +877,26 @@ I 1 1 0.372799 1.00000000 I 1 1 0.927112 1.00000000 +S 1 + 1 1.915355 1.00000000 +S 1 + 1 2.432281 1.00000000 +P 1 + 1 1.303007 1.00000000 +P 1 + 1 4.835111 1.00000000 +D 1 + 1 2.162081 1.00000000 +D 1 + 1 2.864191 1.00000000 +F 1 + 1 2.480939 1.00000000 +G 1 + 1 3.647632 1.00000000 +H 1 + 1 3.922726 1.00000000 +I 1 + 1 3.318603 1.00000000 VANADIUM S 13 @@ -1642,6 +1167,24 @@ I 1 1 1.400000 1.00000000 I 1 1 3.121626 1.00000000 +S 1 + 1 1.067978 1.00000000 +S 1 + 1 2.245459 1.00000000 +P 1 + 1 3.214499 1.00000000 +P 1 + 1 4.992590 1.00000000 +D 1 + 1 2.938037 1.00000000 +D 1 + 1 3.250980 1.00000000 +F 1 + 1 3.099663 1.00000000 +G 1 + 1 3.704309 1.00000000 +H 1 + 1 4.527979 1.00000000 CHROMIUM S 13 @@ -1912,6 +1455,26 @@ I 1 1 0.795554 1.00000000 I 1 1 2.215288 1.00000000 +S 1 + 1 2.608286 1.00000000 +S 1 + 1 2.932133 1.00000000 +P 1 + 1 2.454580 1.00000000 +P 1 + 1 6.564440 1.00000000 +D 1 + 1 3.480000 1.00000000 +D 1 + 1 3.680000 1.00000000 +F 1 + 1 3.400884 1.00000000 +G 1 + 1 3.643357 1.00000000 +H 1 + 1 5.445699 1.00000000 +I 1 + 1 5.303781 1.00000000 MANGANESE S 13 @@ -2182,6 +1745,26 @@ I 1 1 0.991671 1.00000000 I 1 1 2.739666 1.00000000 +S 1 + 1 2.765370 1.00000000 +S 1 + 1 3.360928 1.00000000 +P 1 + 1 3.237914 1.00000000 +P 1 + 1 8.446458 1.00000000 +D 1 + 1 3.423194 1.00000000 +D 1 + 1 3.852065 1.00000000 +F 1 + 1 3.846371 1.00000000 +G 1 + 1 4.016496 1.00000000 +H 1 + 1 6.157810 1.00000000 +I 1 + 1 6.318422 1.00000000 IRON S 13 @@ -2452,6 +2035,26 @@ I 1 1 1.216055 1.00000000 I 1 1 3.182222 1.00000000 +S 1 + 1 3.373881 1.00000000 +S 1 + 1 3.436892 1.00000000 +P 1 + 1 3.524160 1.00000000 +P 1 + 1 8.838502 1.00000000 +D 1 + 1 5.400000 1.00000000 +D 1 + 1 5.600000 1.00000000 +F 1 + 1 4.252984 1.00000000 +G 1 + 1 4.726458 1.00000000 +H 1 + 1 7.008543 1.00000000 +I 1 + 1 7.110853 1.00000000 COBALT S 13 @@ -2722,6 +2325,26 @@ I 1 1 1.496090 1.00000000 I 1 1 3.729940 1.00000000 +S 1 + 1 3.680000 1.00000000 +S 1 + 1 3.880000 1.00000000 +P 1 + 1 3.681986 1.00000000 +P 1 + 1 9.697976 1.00000000 +D 1 + 1 5.810000 1.00000000 +D 1 + 1 6.010000 1.00000000 +F 1 + 1 4.713714 1.00000000 +G 1 + 1 5.402288 1.00000000 +H 1 + 1 7.646335 1.00000000 +I 1 + 1 8.139987 1.00000000 NICKEL S 13 @@ -2992,6 +2615,26 @@ I 1 1 1.786540 1.00000000 I 1 1 4.485842 1.00000000 +S 1 + 1 3.839643 1.00000000 +S 1 + 1 4.440328 1.00000000 +P 1 + 1 4.337090 1.00000000 +P 1 + 1 10.973202 1.00000000 +D 1 + 1 6.303000 1.00000000 +D 1 + 1 6.503304 1.00000000 +F 1 + 1 5.165757 1.00000000 +G 1 + 1 5.827115 1.00000000 +H 1 + 1 8.338379 1.00000000 +I 1 + 1 9.183271 1.00000000 COPPER S 13 @@ -3262,6 +2905,26 @@ I 1 1 2.085929 1.00000000 I 1 1 4.948534 1.00000000 +S 1 + 1 4.316988 1.00000000 +S 1 + 1 4.665175 1.00000000 +P 1 + 1 4.677219 1.00000000 +P 1 + 1 12.829139 1.00000000 +D 1 + 1 6.897553 1.00000000 +D 1 + 1 7.457725 1.00000000 +F 1 + 1 5.644965 1.00000000 +G 1 + 1 6.697349 1.00000000 +H 1 + 1 8.903307 1.00000000 +I 1 + 1 9.924175 1.00000000 ZINC S 13 @@ -3532,4 +3195,24 @@ I 1 1 2.439342 1.00000000 I 1 1 5.639501 1.00000000 +S 1 + 1 5.112162 1.00000000 +S 1 + 1 5.414352 1.00000000 +P 1 + 1 4.949443 1.00000000 +P 1 + 1 13.016090 1.00000000 +D 1 + 1 7.377237 1.00000000 +D 1 + 1 8.775120 1.00000000 +F 1 + 1 6.326622 1.00000000 +G 1 + 1 7.599484 1.00000000 +H 1 + 1 9.972769 1.00000000 +I 1 + 1 11.154097 1.00000000 diff --git a/data/basis/aug-cc-pvdz_ecp_ncsu b/data/basis/aug-cc-pcvdz_ecp_ccecp similarity index 71% rename from data/basis/aug-cc-pvdz_ecp_ncsu rename to data/basis/aug-cc-pcvdz_ecp_ccecp index 9c1d4dfc..86aa5fd9 100644 --- a/data/basis/aug-cc-pvdz_ecp_ncsu +++ b/data/basis/aug-cc-pcvdz_ecp_ccecp @@ -1,519 +1,190 @@ -HYDROGEN -S 8 - 1 23.843185 0.00411490 - 2 10.212443 0.01046440 - 3 4.374164 0.02801110 - 4 1.873529 0.07588620 - 5 0.802465 0.18210620 - 6 0.343709 0.34852140 - 7 0.147217 0.37823130 - 8 0.063055 0.11642410 +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 S 1 - 1 0.040680 1.00000000 + 1 0.910504 1.00000000 S 1 - 1 0.139013 1.00000000 + 1 0.538624 1.00000000 +S 1 + 1 0.051786 1.00000000 +S 1 + 1 0.019252 1.00000000 +S 1 + 1 0.009626 1.00000000 P 1 - 1 0.166430 1.00000000 + 1 0.479550 1.00000000 P 1 - 1 0.740212 1.00000000 + 1 0.234482 1.00000000 +P 1 + 1 0.027763 1.00000000 +P 1 + 1 0.012100 1.00000000 +P 1 + 1 0.006050 1.00000000 +D 1 + 1 1.034207 1.00000000 +D 1 + 1 0.013386 1.00000000 +D 1 + 1 0.006693 1.00000000 -SODIUM -S 12 - 1 50.364926 -0.00144900 - 2 24.480199 -0.00059000 - 3 11.898760 -0.11881800 - 4 5.783470 -0.01085600 - 5 2.811093 0.25078300 - 6 1.366350 0.44727600 - 7 0.664123 0.34725400 - 8 0.322801 0.08065200 - 9 0.156900 0.00120800 - 10 0.076262 0.00040900 - 11 0.037068 0.00011200 - 12 0.018017 0.00007200 -S 12 - 1 50.364926 0.00021200 - 2 24.480199 0.00037900 - 3 11.898760 0.01958200 - 4 5.783470 0.00062300 - 5 2.811093 -0.04578100 - 6 1.366350 -0.08872800 - 7 0.664123 -0.11295200 - 8 0.322801 -0.10839600 - 9 0.156900 0.00990100 - 10 0.076262 0.35541800 - 11 0.037068 0.56145100 - 12 0.018017 0.19899800 -S 1 - 1 0.073591 1.00000000 -S 1 - 1 0.036796 1.00000000 -P 12 - 1 77.769943 0.00005400 - 2 42.060816 -0.00001600 - 3 22.748020 0.01257100 - 4 12.302957 0.07960100 - 5 6.653887 0.14044200 - 6 3.598664 0.21214100 - 7 1.946289 0.26179900 - 8 1.052624 0.25582000 - 9 0.569297 0.18035900 - 10 0.307897 0.07216500 - 11 0.166522 0.01066300 - 12 0.090061 0.00153800 -P 12 - 1 77.769943 -0.00065600 - 2 42.060816 0.00313700 - 3 22.748020 -0.01100400 - 4 12.302957 0.00937600 - 5 6.653887 -0.06647900 - 6 3.598664 0.05895900 - 7 1.946289 -0.22105000 - 8 1.052624 0.30349100 - 9 0.569297 -0.67170500 - 10 0.307897 1.06436000 - 11 0.166522 -1.53048900 - 12 0.090061 1.84316700 -P 1 - 1 0.063647 1.00000000 -P 1 - 1 0.031823 1.00000000 -D 1 - 1 0.093145 1.00000000 -D 1 - 1 0.046573 1.00000000 - -MAGNESIUM -S 12 - 1 63.931893 -0.00079400 - 2 31.602596 0.00747900 - 3 15.621687 -0.13624600 - 4 7.722059 -0.03203300 - 5 3.817142 0.21682300 - 6 1.886877 0.45136400 - 7 0.932714 0.37759900 - 8 0.461056 0.09431900 - 9 0.227908 0.00170300 - 10 0.112659 0.00048500 - 11 0.055689 -0.00015100 - 12 0.027528 0.00003100 -S 12 - 1 63.931893 0.00010600 - 2 31.602596 -0.00108600 - 3 15.621687 0.02867600 - 4 7.722059 0.00578100 - 5 3.817142 -0.05065300 - 6 1.886877 -0.11687700 - 7 0.932714 -0.16512100 - 8 0.461056 -0.11801600 - 9 0.227908 0.10836500 - 10 0.112659 0.41475500 - 11 0.055689 0.47763300 - 12 0.027528 0.17347600 -S 1 - 1 0.041150 1.00000000 -S 1 - 1 0.020575 1.00000000 -P 12 - 1 28.231094 0.01131700 - 2 14.891993 0.08703900 - 3 7.855575 0.16268300 - 4 4.143841 0.24138600 - 5 2.185889 0.29006400 - 6 1.153064 0.25299100 - 7 0.608245 0.13309700 - 8 0.320851 0.02894100 - 9 0.169250 0.00320900 - 10 0.089280 0.00026800 - 11 0.047095 0.00025700 - 12 0.024843 -0.00003700 -P 12 - 1 28.231094 -0.00182200 - 2 14.891993 -0.01360300 - 3 7.855575 -0.02570000 - 4 4.143841 -0.03907600 - 5 2.185889 -0.04877900 - 6 1.153064 -0.04599000 - 7 0.608245 -0.03165800 - 8 0.320851 0.04917800 - 9 0.169250 0.18690900 - 10 0.089280 0.37939600 - 11 0.047095 0.33543100 - 12 0.024843 0.18405800 -P 1 - 1 0.038365 1.00000000 -P 1 - 1 0.019183 1.00000000 -D 1 - 1 0.196017 1.00000000 -D 1 - 1 0.098008 1.00000000 - -ALUMINUM -S 12 - 1 78.990577 -0.00048100 - 2 39.484884 0.01309500 - 3 19.737241 -0.14615300 - 4 9.866021 -0.04520600 - 5 4.931711 0.19070800 - 6 2.465206 0.45320700 - 7 1.232278 0.39882400 - 8 0.615977 0.10364800 - 9 0.307907 0.00224700 - 10 0.153913 0.00079000 - 11 0.076936 -0.00014000 - 12 0.038458 0.00006400 -S 12 - 1 78.990577 0.00002400 - 2 39.484884 -0.00262700 - 3 19.737241 0.03694800 - 4 9.866021 0.01070500 - 5 4.931711 -0.05334200 - 6 2.465206 -0.14418800 - 7 1.232278 -0.21396900 - 8 0.615977 -0.12558500 - 9 0.307907 0.19397000 - 10 0.153913 0.48467400 - 11 0.076936 0.41941400 - 12 0.038458 0.11043000 -S 1 - 1 0.062950 1.00000000 -S 1 - 1 0.030399 1.00000000 -P 12 - 1 33.993368 0.01190800 - 2 17.617051 0.09748500 - 3 9.130030 0.18047400 - 4 4.731635 0.26552200 - 5 2.452168 0.30797700 - 6 1.270835 0.23506100 - 7 0.658610 0.08963100 - 8 0.341324 0.01108300 - 9 0.176891 0.00157700 - 10 0.091674 0.00000700 - 11 0.047510 0.00021500 - 12 0.024622 -0.00002200 -P 12 - 1 33.993368 -0.00218300 - 2 17.617051 -0.01736200 - 3 9.130030 -0.03229200 - 4 4.731635 -0.04981000 - 5 2.452168 -0.05992600 - 6 1.270835 -0.05255300 - 7 0.658610 0.00198900 - 8 0.341324 0.13005200 - 9 0.176891 0.28008900 - 10 0.091674 0.37433900 - 11 0.047510 0.27285700 - 12 0.024622 0.08514500 -P 1 - 1 0.053015 1.00000000 -P 1 - 1 0.014456 1.00000000 -D 1 - 1 0.189387 1.00000000 -D 1 - 1 0.053602 1.00000000 - -SILICON -S 12 - 1 96.651837 -0.00044000 - 2 48.652547 0.01867100 - 3 24.490692 -0.15435300 - 4 12.328111 -0.05773800 - 5 6.205717 0.16808700 - 6 3.123831 0.45342800 - 7 1.572472 0.41767500 - 8 0.791550 0.11190100 - 9 0.398450 0.00333700 - 10 0.200572 0.00099500 - 11 0.100964 -0.00003800 - 12 0.050823 0.00006900 -S 12 - 1 96.651837 -0.00000400 - 2 48.652547 -0.00442100 - 3 24.490692 0.04336200 - 4 12.328111 0.01585300 - 5 6.205717 -0.05170600 - 6 3.123831 -0.16289500 - 7 1.572472 -0.25021800 - 8 0.791550 -0.12421600 - 9 0.398450 0.24632500 - 10 0.200572 0.50589900 - 11 0.100964 0.38631400 - 12 0.050823 0.08770100 -S 1 - 1 0.086279 1.00000000 -S 1 - 1 0.052598 1.00000000 -P 12 - 1 40.315996 0.01293800 - 2 21.171265 0.09812900 - 3 11.117733 0.17932400 - 4 5.838290 0.26388600 - 5 3.065879 0.30927200 - 6 1.609995 0.23274800 - 7 0.845462 0.08590000 - 8 0.443980 0.01026000 - 9 0.233149 0.00156000 - 10 0.122434 -0.00000300 - 11 0.064294 0.00023200 - 12 0.033763 -0.00002300 -P 12 - 1 40.315996 0.00283300 - 2 21.171265 0.02086900 - 3 11.117733 0.03823600 - 4 5.838290 0.05967900 - 5 3.065879 0.07277600 - 6 1.609995 0.06112900 - 7 0.845462 -0.01677600 - 8 0.443980 -0.17225900 - 9 0.233149 -0.32119600 - 10 0.122434 -0.36282800 - 11 0.064294 -0.22078900 - 12 0.033763 -0.05515200 -P 1 - 1 0.079370 1.00000000 -P 1 - 1 0.025699 1.00000000 -D 1 - 1 0.274454 1.00000000 -D 1 - 1 0.082112 1.00000000 - -PHOSPHORUS -S 12 - 1 269.443884 0.00005500 - 2 127.601401 -0.00062400 - 3 60.428603 0.01940000 - 4 28.617367 -0.16550900 - 5 13.552418 -0.05426500 - 6 6.418062 0.25444000 - 7 3.039422 0.54966100 - 8 1.439389 0.32228500 - 9 0.681656 0.02663200 - 10 0.322814 0.00420300 - 11 0.152876 -0.00123300 - 12 0.072398 0.00049700 -S 12 - 1 269.443884 0.00001800 - 2 127.601401 -0.00002600 - 3 60.428603 -0.00493300 - 4 28.617367 0.05012000 - 5 13.552418 0.01580100 - 6 6.418062 -0.08446300 - 7 3.039422 -0.24674200 - 8 1.439389 -0.27632600 - 9 0.681656 0.10027400 - 10 0.322814 0.51720100 - 11 0.152876 0.47975800 - 12 0.072398 0.12409900 -S 1 - 1 0.111116 1.00000000 -S 1 - 1 0.070425 1.00000000 -P 12 - 1 48.154282 0.01288400 - 2 25.406431 0.09709500 - 3 13.404555 0.17821500 - 4 7.072308 0.26596400 - 5 3.731384 0.31293300 - 6 1.968696 0.23068600 - 7 1.038693 0.08048900 - 8 0.548020 0.00908500 - 9 0.289138 0.00124800 - 10 0.152550 -0.00006600 - 11 0.080486 0.00012900 - 12 0.042465 -0.00002900 -P 12 - 1 48.154282 -0.00315200 - 2 25.406431 -0.02300600 - 3 13.404555 -0.04239800 - 4 7.072308 -0.06747700 - 5 3.731384 -0.08295200 - 6 1.968696 -0.06602600 - 7 1.038693 0.03446800 - 8 0.548020 0.20901800 - 9 0.289138 0.34717900 - 10 0.152550 0.34480600 - 11 0.080486 0.18173100 - 12 0.042465 0.03664900 -P 1 - 1 0.110006 1.00000000 -P 1 - 1 0.032651 1.00000000 -D 1 - 1 0.373518 1.00000000 -D 1 - 1 0.111363 1.00000000 - -SULFUR -S 12 - 1 306.317903 0.00006400 - 2 146.602801 -0.00078500 - 3 70.163647 0.02247100 - 4 33.580104 -0.16987100 - 5 16.071334 -0.06189700 - 6 7.691691 0.24003900 - 7 3.681219 0.55164900 - 8 1.761820 0.33438600 - 9 0.843202 0.03132300 - 10 0.403554 0.00443600 - 11 0.193140 -0.00101500 - 12 0.092436 0.00050700 -S 12 - 1 306.317903 0.00002100 - 2 146.602801 -0.00000400 - 3 70.163647 -0.00611900 - 4 33.580104 0.05447100 - 5 16.071334 0.01934400 - 6 7.691691 -0.08383900 - 7 3.681219 -0.26532200 - 8 1.761820 -0.29306500 - 9 0.843202 0.11373000 - 10 0.403554 0.52928200 - 11 0.193140 0.46625400 - 12 0.092436 0.12580000 -S 1 - 1 0.138193 1.00000000 -S 1 - 1 0.091639 1.00000000 -P 12 - 1 55.148271 0.01344700 - 2 29.056588 0.10167000 - 3 15.309371 0.18519200 - 4 8.066220 0.27583600 - 5 4.249940 0.31707300 - 6 2.239213 0.21706600 - 7 1.179799 0.06576500 - 8 0.621614 0.00651700 - 9 0.327517 0.00111100 - 10 0.172562 0.00022200 - 11 0.090920 0.00018100 - 12 0.047904 0.00000800 -P 12 - 1 55.148271 0.00354200 - 2 29.056588 0.02579700 - 3 15.309371 0.04726000 - 4 8.066220 0.07559400 - 5 4.249940 0.09198000 - 6 2.239213 0.06206700 - 7 1.179799 -0.07125300 - 8 0.621614 -0.25020600 - 9 0.327517 -0.34929500 - 10 0.172562 -0.31270000 - 11 0.090920 -0.15589800 - 12 0.047904 -0.03041800 -P 1 - 1 0.132347 1.00000000 -P 1 - 1 0.043576 1.00000000 -D 1 - 1 0.480399 1.00000000 -D 1 - 1 0.145431 1.00000000 - -CHLORINE -S 10 - 1 15.583847 0.002501 - 2 8.858485 -0.010046 - 3 5.035519 0.085810 - 4 2.862391 -0.290136 - 5 1.627098 -0.140314 - 6 0.924908 0.146839 - 7 0.525755 0.392484 - 8 0.298860 0.425061 - 9 0.169884 0.227195 - 10 0.096569 0.059828 -S 1 - 1 0.648040 1.000000 -S 1 - 1 0.151979 1.000000 -P 10 - 1 7.682894 -0.004609 - 2 4.507558 -0.001798 - 3 2.644587 -0.068614 - 4 1.551581 0.062352 - 5 0.910313 0.166337 - 6 0.534081 0.282292 - 7 0.313346 0.275967 - 8 0.183840 0.241328 - 9 0.107859 0.110223 - 10 0.063281 0.040289 -P 1 - 1 0.633351 1.000000 -P 1 - 1 0.405005 1.000000 -D 1 - 1 0.633222 1.000000 -D 1 - 1 0.211734 1.000000 - -ARGON -S 12 - 1 400.805381 0.00009200 - 2 194.251428 -0.00125400 - 3 94.144487 0.02887900 - 4 45.627384 -0.17710600 - 5 22.113437 -0.07716500 - 6 10.717338 0.21018700 - 7 5.194187 0.55436900 - 8 2.517377 0.35907000 - 9 1.220054 0.04076900 - 10 0.591302 0.00508700 - 11 0.286576 -0.00064400 - 12 0.138890 0.00053300 -S 12 - 1 400.805381 0.00001900 - 2 194.251428 0.00011400 - 3 94.144487 -0.00869300 - 4 45.627384 0.06117500 - 5 22.113437 0.02679200 - 6 10.717338 -0.07778000 - 7 5.194187 -0.29074700 - 8 2.517377 -0.32003600 - 9 1.220054 0.12393300 - 10 0.591302 0.53916300 - 11 0.286576 0.45626000 - 12 0.138890 0.13189200 -S 1 - 1 0.200844 1.00000000 -S 1 - 1 0.100422 1.00000000 -P 12 - 1 71.845693 0.01423900 - 2 38.318786 0.10317800 - 3 20.437263 0.18518400 - 4 10.900182 0.27635700 - 5 5.813595 0.31813000 - 6 3.100671 0.21149400 - 7 1.653738 0.06192600 - 8 0.882019 0.00582100 - 9 0.470423 0.00083800 - 10 0.250899 -0.00004700 - 11 0.133817 0.00007700 - 12 0.071371 -0.00001800 -P 12 - 1 71.845693 0.00414500 - 2 38.318786 0.02880000 - 3 20.437263 0.05191600 - 4 10.900182 0.08435600 - 5 5.813595 0.10330300 - 6 3.100671 0.05976300 - 7 1.653738 -0.09852400 - 8 0.882019 -0.27287100 - 9 0.470423 -0.34211200 - 10 0.250899 -0.28931700 - 11 0.133817 -0.14332900 - 12 0.071371 -0.03249500 -P 1 - 1 0.205249 1.00000000 -P 1 - 1 0.102624 1.00000000 -D 1 - 1 0.745011 1.00000000 -D 1 - 1 0.372505 1.00000000 +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 1.383790 1.00000000 +S 1 + 1 0.701508 1.00000000 +S 1 + 1 0.066369 1.00000000 +S 1 + 1 0.026432 1.00000000 +S 1 + 1 0.006700 1.00000000 +P 1 + 1 0.563426 1.00000000 +P 1 + 1 0.261483 1.00000000 +P 1 + 1 0.076223 1.00000000 +P 1 + 1 0.027633 1.00000000 +P 1 + 1 0.005400 1.00000000 +D 1 + 1 1.493098 1.00000000 +D 1 + 1 0.050522 1.00000000 +D 1 + 1 0.008800 1.00000000 SCANDIUM S 13 @@ -640,6 +311,20 @@ F 1 1 0.083742 1.00000000 F 1 1 0.280673 1.00000000 +S 1 + 1 0.531583 1.00000000 +S 1 + 1 2.006315 1.00000000 +P 1 + 1 0.608728 1.00000000 +P 1 + 1 2.759507 1.00000000 +D 1 + 1 1.412796 1.00000000 +D 1 + 1 4.010741 1.00000000 +F 1 + 1 1.670187 1.00000000 TITANIUM S 13 @@ -766,6 +451,20 @@ F 1 1 0.146931 1.00000000 F 1 1 0.499717 1.00000000 +S 1 + 1 0.591537 1.00000000 +S 1 + 1 2.205011 1.00000000 +P 1 + 1 0.675360 1.00000000 +P 1 + 1 3.138882 1.00000000 +D 1 + 1 1.759833 1.00000000 +D 1 + 1 5.086016 1.00000000 +F 1 + 1 2.117563 1.00000000 VANADIUM S 13 @@ -892,6 +591,20 @@ F 1 1 0.308388 1.00000000 F 1 1 1.138450 1.00000000 +S 1 + 1 0.736615 1.00000000 +S 1 + 1 2.619861 1.00000000 +P 1 + 1 0.973954 1.00000000 +P 1 + 1 4.004062 1.00000000 +D 1 + 1 0.749306 1.00000000 +D 1 + 1 1.799378 1.00000000 +F 1 + 1 3.352552 1.00000000 CHROMIUM S 13 @@ -1018,6 +731,20 @@ F 1 1 0.311720 1.00000000 F 1 1 1.112997 1.00000000 +S 1 + 1 0.734112 1.00000000 +S 1 + 1 2.811823 1.00000000 +P 1 + 1 0.851456 1.00000000 +P 1 + 1 3.937167 1.00000000 +D 1 + 1 0.845872 1.00000000 +D 1 + 1 2.147155 1.00000000 +F 1 + 1 3.530639 1.00000000 MANGANESE S 13 @@ -1144,6 +871,20 @@ F 1 1 0.373591 1.00000000 F 1 1 1.357898 1.00000000 +S 1 + 1 0.832852 1.00000000 +S 1 + 1 3.133156 1.00000000 +P 1 + 1 1.020743 1.00000000 +P 1 + 1 4.582593 1.00000000 +D 1 + 1 0.985022 1.00000000 +D 1 + 1 2.435684 1.00000000 +F 1 + 1 4.198704 1.00000000 IRON S 13 @@ -1270,6 +1011,20 @@ F 1 1 0.463696 1.00000000 F 1 1 1.696126 1.00000000 +S 1 + 1 0.909741 1.00000000 +S 1 + 1 3.519995 1.00000000 +P 1 + 1 1.151345 1.00000000 +P 1 + 1 5.187368 1.00000000 +D 1 + 1 1.172100 1.00000000 +D 1 + 1 2.828034 1.00000000 +F 1 + 1 5.078925 1.00000000 COBALT S 13 @@ -1396,6 +1151,20 @@ F 1 1 0.557444 1.00000000 F 1 1 2.012568 1.00000000 +S 1 + 1 1.010269 1.00000000 +S 1 + 1 3.893671 1.00000000 +P 1 + 1 1.270490 1.00000000 +P 1 + 1 5.677091 1.00000000 +D 1 + 1 1.291245 1.00000000 +D 1 + 1 3.118104 1.00000000 +F 1 + 1 5.891548 1.00000000 NICKEL S 13 @@ -1522,7 +1291,21 @@ F 1 1 0.650562 1.00000000 F 1 1 2.317543 1.00000000 - +S 1 + 1 1.099912 1.00000000 +S 1 + 1 4.266474 1.00000000 +P 1 + 1 1.398024 1.00000000 +P 1 + 1 6.294441 1.00000000 +D 1 + 1 1.406397 1.00000000 +D 1 + 1 3.410393 1.00000000 +F 1 + 1 6.722827 1.00000000 + COPPER S 13 1 104.471138 0.00074100 @@ -1648,6 +1431,20 @@ F 1 1 0.771675 1.00000000 F 1 1 2.739578 1.00000000 +S 1 + 1 1.218913 1.00000000 +S 1 + 1 4.750059 1.00000000 +P 1 + 1 1.551117 1.00000000 +P 1 + 1 6.973554 1.00000000 +D 1 + 1 1.873424 1.00000000 +D 1 + 1 4.248371 1.00000000 +F 1 + 1 6.750816 1.00000000 ZINC S 13 @@ -1774,4 +1571,18 @@ F 1 1 0.893402 1.00000000 F 1 1 3.171936 1.00000000 +S 1 + 1 1.375940 1.00000000 +S 1 + 1 5.098898 1.00000000 +P 1 + 1 1.706665 1.00000000 +P 1 + 1 7.892989 1.00000000 +D 1 + 1 2.029918 1.00000000 +D 1 + 1 4.655140 1.00000000 +F 1 + 1 8.867564 1.00000000 diff --git a/data/basis/aug-cc-pvqz_ecp_ncsu b/data/basis/aug-cc-pcvqz_ecp_ccecp similarity index 77% rename from data/basis/aug-cc-pvqz_ecp_ncsu rename to data/basis/aug-cc-pcvqz_ecp_ccecp index f55577aa..677b000b 100644 --- a/data/basis/aug-cc-pvqz_ecp_ncsu +++ b/data/basis/aug-cc-pcvqz_ecp_ccecp @@ -1,713 +1,270 @@ -HYDROGEN -S 8 - 1 23.843185 0.00411490 - 2 10.212443 0.01046440 - 3 4.374164 0.02801110 - 4 1.873529 0.07588620 - 5 0.802465 0.18210620 - 6 0.343709 0.34852140 - 7 0.147217 0.37823130 - 8 0.063055 0.11642410 +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 S 1 - 1 0.028726 1.00000000 + 1 4.191649 1.00000000 S 1 - 1 0.081856 1.00000000 + 1 2.136485 1.00000000 S 1 - 1 0.233254 1.00000000 + 1 1.088967 1.00000000 S 1 - 1 0.664673 1.00000000 + 1 0.555047 1.00000000 +S 1 + 1 0.150724 1.00000000 +S 1 + 1 0.069050 1.00000000 +S 1 + 1 0.031633 1.00000000 +S 1 + 1 0.014492 1.00000000 +S 1 + 1 0.007246 1.00000000 P 1 - 1 0.095522 1.00000000 + 1 2.641303 1.00000000 P 1 - 1 0.284469 1.00000000 + 1 1.229180 1.00000000 P 1 - 1 0.847159 1.00000000 + 1 0.572022 1.00000000 P 1 - 1 2.522868 1.00000000 + 1 0.266201 1.00000000 +P 1 + 1 0.071025 1.00000000 +P 1 + 1 0.035889 1.00000000 +P 1 + 1 0.018135 1.00000000 +P 1 + 1 0.009164 1.00000000 +P 1 + 1 0.004582 1.00000000 D 1 - 1 0.216033 1.00000000 + 1 2.999124 1.00000000 D 1 - 1 0.665279 1.00000000 + 1 1.312519 1.00000000 D 1 - 1 2.048739 1.00000000 + 1 0.574403 1.00000000 +D 1 + 1 0.063256 1.00000000 +D 1 + 1 0.023163 1.00000000 +D 1 + 1 0.008482 1.00000000 +D 1 + 1 0.004241 1.00000000 F 1 - 1 0.444647 1.00000000 + 1 1.803234 1.00000000 F 1 - 1 1.421460 1.00000000 + 1 0.760278 1.00000000 +F 1 + 1 0.123997 1.00000000 +F 1 + 1 0.062758 1.00000000 +F 1 + 1 0.031379 1.00000000 +G 1 + 1 1.319213 1.00000000 +G 1 + 1 0.011607 1.00000000 +G 1 + 1 0.005803 1.00000000 -SODIUM -S 12 - 1 50.364926 -0.00144900 - 2 24.480199 -0.00059000 - 3 11.898760 -0.11881800 - 4 5.783470 -0.01085600 - 5 2.811093 0.25078300 - 6 1.366350 0.44727600 - 7 0.664123 0.34725400 - 8 0.322801 0.08065200 - 9 0.156900 0.00120800 - 10 0.076262 0.00040900 - 11 0.037068 0.00011200 - 12 0.018017 0.00007200 -S 12 - 1 50.364926 0.00021200 - 2 24.480199 0.00037900 - 3 11.898760 0.01958200 - 4 5.783470 0.00062300 - 5 2.811093 -0.04578100 - 6 1.366350 -0.08872800 - 7 0.664123 -0.11295200 - 8 0.322801 -0.10839600 - 9 0.156900 0.00990100 - 10 0.076262 0.35541800 - 11 0.037068 0.56145100 - 12 0.018017 0.19899800 -S 1 - 1 1.171050 1.00000000 -S 1 - 1 0.304809 1.00000000 -S 1 - 1 0.079338 1.00000000 -S 1 - 1 0.039669 1.00000000 -P 12 - 1 77.769943 0.00005400 - 2 42.060816 -0.00001600 - 3 22.748020 0.01257100 - 4 12.302957 0.07960100 - 5 6.653887 0.14044200 - 6 3.598664 0.21214100 - 7 1.946289 0.26179900 - 8 1.052624 0.25582000 - 9 0.569297 0.18035900 - 10 0.307897 0.07216500 - 11 0.166522 0.01066300 - 12 0.090061 0.00153800 -P 12 - 1 77.769943 -0.00065600 - 2 42.060816 0.00313700 - 3 22.748020 -0.01100400 - 4 12.302957 0.00937600 - 5 6.653887 -0.06647900 - 6 3.598664 0.05895900 - 7 1.946289 -0.22105000 - 8 1.052624 0.30349100 - 9 0.569297 -0.67170500 - 10 0.307897 1.06436000 - 11 0.166522 -1.53048900 - 12 0.090061 1.84316700 -P 1 - 1 0.375990 1.00000000 -P 1 - 1 0.119184 1.00000000 -P 1 - 1 0.037780 1.00000000 -P 1 - 1 0.018890 1.00000000 -D 1 - 1 0.671851 1.00000000 -D 1 - 1 0.217686 1.00000000 -D 1 - 1 0.070532 1.00000000 -D 1 - 1 0.035266 1.00000000 -F 1 - 1 0.210906 1.00000000 -F 1 - 1 0.102314 1.00000000 -F 1 - 1 0.051157 1.00000000 -G 1 - 1 0.169674 1.00000000 -G 1 - 1 0.084837 1.00000000 - -MAGNESIUM -S 12 - 1 63.931893 -0.00079400 - 2 31.602596 0.00747900 - 3 15.621687 -0.13624600 - 4 7.722059 -0.03203300 - 5 3.817142 0.21682300 - 6 1.886877 0.45136400 - 7 0.932714 0.37759900 - 8 0.461056 0.09431900 - 9 0.227908 0.00170300 - 10 0.112659 0.00048500 - 11 0.055689 -0.00015100 - 12 0.027528 0.00003100 -S 12 - 1 63.931893 0.00010600 - 2 31.602596 -0.00108600 - 3 15.621687 0.02867600 - 4 7.722059 0.00578100 - 5 3.817142 -0.05065300 - 6 1.886877 -0.11687700 - 7 0.932714 -0.16512100 - 8 0.461056 -0.11801600 - 9 0.227908 0.10836500 - 10 0.112659 0.41475500 - 11 0.055689 0.47763300 - 12 0.027528 0.17347600 -S 1 - 1 0.215508 1.00000000 -S 1 - 1 0.088055 1.00000000 -S 1 - 1 0.035979 1.00000000 -S 1 - 1 0.017989 1.00000000 -P 12 - 1 28.231094 0.01131700 - 2 14.891993 0.08703900 - 3 7.855575 0.16268300 - 4 4.143841 0.24138600 - 5 2.185889 0.29006400 - 6 1.153064 0.25299100 - 7 0.608245 0.13309700 - 8 0.320851 0.02894100 - 9 0.169250 0.00320900 - 10 0.089280 0.00026800 - 11 0.047095 0.00025700 - 12 0.024843 -0.00003700 -P 12 - 1 28.231094 -0.00182200 - 2 14.891993 -0.01360300 - 3 7.855575 -0.02570000 - 4 4.143841 -0.03907600 - 5 2.185889 -0.04877900 - 6 1.153064 -0.04599000 - 7 0.608245 -0.03165800 - 8 0.320851 0.04917800 - 9 0.169250 0.18690900 - 10 0.089280 0.37939600 - 11 0.047095 0.33543100 - 12 0.024843 0.18405800 -P 1 - 1 0.610333 1.00000000 -P 1 - 1 0.243027 1.00000000 -P 1 - 1 0.096770 1.00000000 -P 1 - 1 0.048385 1.00000000 -D 1 - 1 0.373257 1.00000000 -D 1 - 1 0.193055 1.00000000 -D 1 - 1 0.099851 1.00000000 -D 1 - 1 0.049925 1.00000000 -F 1 - 1 0.365954 1.00000000 -F 1 - 1 0.178764 1.00000000 -F 1 - 1 0.089382 1.00000000 -G 1 - 1 0.303088 1.00000000 -G 1 - 1 0.151544 1.00000000 - -ALUMINUM -S 12 - 1 78.990577 -0.00048100 - 2 39.484884 0.01309500 - 3 19.737241 -0.14615300 - 4 9.866021 -0.04520600 - 5 4.931711 0.19070800 - 6 2.465206 0.45320700 - 7 1.232278 0.39882400 - 8 0.615977 0.10364800 - 9 0.307907 0.00224700 - 10 0.153913 0.00079000 - 11 0.076936 -0.00014000 - 12 0.038458 0.00006400 -S 12 - 1 78.990577 0.00002400 - 2 39.484884 -0.00262700 - 3 19.737241 0.03694800 - 4 9.866021 0.01070500 - 5 4.931711 -0.05334200 - 6 2.465206 -0.14418800 - 7 1.232278 -0.21396900 - 8 0.615977 -0.12558500 - 9 0.307907 0.19397000 - 10 0.153913 0.48467400 - 11 0.076936 0.41941400 - 12 0.038458 0.11043000 -S 1 - 1 0.355123 1.00000000 -S 1 - 1 0.145459 1.00000000 -S 1 - 1 0.059580 1.00000000 -S 1 - 1 0.023248 1.00000000 -P 12 - 1 33.993368 0.01190800 - 2 17.617051 0.09748500 - 3 9.130030 0.18047400 - 4 4.731635 0.26552200 - 5 2.452168 0.30797700 - 6 1.270835 0.23506100 - 7 0.658610 0.08963100 - 8 0.341324 0.01108300 - 9 0.176891 0.00157700 - 10 0.091674 0.00000700 - 11 0.047510 0.00021500 - 12 0.024622 -0.00002200 -P 12 - 1 33.993368 -0.00218300 - 2 17.617051 -0.01736200 - 3 9.130030 -0.03229200 - 4 4.731635 -0.04981000 - 5 2.452168 -0.05992600 - 6 1.270835 -0.05255300 - 7 0.658610 0.00198900 - 8 0.341324 0.13005200 - 9 0.176891 0.28008900 - 10 0.091674 0.37433900 - 11 0.047510 0.27285700 - 12 0.024622 0.08514500 -P 1 - 1 0.308018 1.00000000 -P 1 - 1 0.189753 1.00000000 -P 1 - 1 0.116896 1.00000000 -P 1 - 1 0.012953 1.00000000 -D 1 - 1 0.474317 1.00000000 -D 1 - 1 0.194600 1.00000000 -D 1 - 1 0.079839 1.00000000 -D 1 - 1 0.027624 1.00000000 -F 1 - 1 0.399394 1.00000000 -F 1 - 1 0.157978 1.00000000 -F 1 - 1 0.059610 1.00000000 -G 1 - 1 0.352315 1.00000000 -G 1 - 1 0.146861 1.00000000 - -SILICON -S 12 - 1 96.651837 -0.00044000 - 2 48.652547 0.01867100 - 3 24.490692 -0.15435300 - 4 12.328111 -0.05773800 - 5 6.205717 0.16808700 - 6 3.123831 0.45342800 - 7 1.572472 0.41767500 - 8 0.791550 0.11190100 - 9 0.398450 0.00333700 - 10 0.200572 0.00099500 - 11 0.100964 -0.00003800 - 12 0.050823 0.00006900 -S 12 - 1 96.651837 -0.00000400 - 2 48.652547 -0.00442100 - 3 24.490692 0.04336200 - 4 12.328111 0.01585300 - 5 6.205717 -0.05170600 - 6 3.123831 -0.16289500 - 7 1.572472 -0.25021800 - 8 0.791550 -0.12421600 - 9 0.398450 0.24632500 - 10 0.200572 0.50589900 - 11 0.100964 0.38631400 - 12 0.050823 0.08770100 -S 1 - 1 0.521945 1.00000000 -S 1 - 1 0.210852 1.00000000 -S 1 - 1 0.085179 1.00000000 -S 1 - 1 0.038162 1.00000000 -P 12 - 1 40.315996 0.01293800 - 2 21.171265 0.09812900 - 3 11.117733 0.17932400 - 4 5.838290 0.26388600 - 5 3.065879 0.30927200 - 6 1.609995 0.23274800 - 7 0.845462 0.08590000 - 8 0.443980 0.01026000 - 9 0.233149 0.00156000 - 10 0.122434 -0.00000300 - 11 0.064294 0.00023200 - 12 0.033763 -0.00002300 -P 12 - 1 40.315996 0.00283300 - 2 21.171265 0.02086900 - 3 11.117733 0.03823600 - 4 5.838290 0.05967900 - 5 3.065879 0.07277600 - 6 1.609995 0.06112900 - 7 0.845462 -0.01677600 - 8 0.443980 -0.17225900 - 9 0.233149 -0.32119600 - 10 0.122434 -0.36282800 - 11 0.064294 -0.22078900 - 12 0.033763 -0.05515200 -P 1 - 1 1.198128 1.00000000 -P 1 - 1 0.493328 1.00000000 -P 1 - 1 0.203127 1.00000000 -P 1 - 1 0.096781 1.00000000 -D 1 - 1 0.700012 1.00000000 -D 1 - 1 0.285783 1.00000000 -D 1 - 1 0.116672 1.00000000 -D 1 - 1 0.048042 1.00000000 -F 1 - 1 0.532333 1.00000000 -F 1 - 1 0.212995 1.00000000 -F 1 - 1 0.089837 1.00000000 -G 1 - 1 0.457311 1.00000000 -G 1 - 1 0.206420 1.00000000 - -PHOSPHORUS -S 12 - 1 269.443884 0.00005500 - 2 127.601401 -0.00062400 - 3 60.428603 0.01940000 - 4 28.617367 -0.16550900 - 5 13.552418 -0.05426500 - 6 6.418062 0.25444000 - 7 3.039422 0.54966100 - 8 1.439389 0.32228500 - 9 0.681656 0.02663200 - 10 0.322814 0.00420300 - 11 0.152876 -0.00123300 - 12 0.072398 0.00049700 -S 12 - 1 269.443884 0.00001800 - 2 127.601401 -0.00002600 - 3 60.428603 -0.00493300 - 4 28.617367 0.05012000 - 5 13.552418 0.01580100 - 6 6.418062 -0.08446300 - 7 3.039422 -0.24674200 - 8 1.439389 -0.27632600 - 9 0.681656 0.10027400 - 10 0.322814 0.51720100 - 11 0.152876 0.47975800 - 12 0.072398 0.12409900 -S 1 - 1 0.686898 1.00000000 -S 1 - 1 0.276109 1.00000000 -S 1 - 1 0.110986 1.00000000 -S 1 - 1 0.052455 1.00000000 -P 12 - 1 48.154282 0.01288400 - 2 25.406431 0.09709500 - 3 13.404555 0.17821500 - 4 7.072308 0.26596400 - 5 3.731384 0.31293300 - 6 1.968696 0.23068600 - 7 1.038693 0.08048900 - 8 0.548020 0.00908500 - 9 0.289138 0.00124800 - 10 0.152550 -0.00006600 - 11 0.080486 0.00012900 - 12 0.042465 -0.00002900 -P 12 - 1 48.154282 -0.00315200 - 2 25.406431 -0.02300600 - 3 13.404555 -0.04239800 - 4 7.072308 -0.06747700 - 5 3.731384 -0.08295200 - 6 1.968696 -0.06602600 - 7 1.038693 0.03446800 - 8 0.548020 0.20901800 - 9 0.289138 0.34717900 - 10 0.152550 0.34480600 - 11 0.080486 0.18173100 - 12 0.042465 0.03664900 -P 1 - 1 1.581855 1.00000000 -P 1 - 1 0.658132 1.00000000 -P 1 - 1 0.273816 1.00000000 -P 1 - 1 0.134437 1.00000000 -D 1 - 1 0.984476 1.00000000 -D 1 - 1 0.399580 1.00000000 -D 1 - 1 0.162182 1.00000000 -D 1 - 1 0.067272 1.00000000 -F 1 - 1 0.694441 1.00000000 -F 1 - 1 0.279257 1.00000000 -F 1 - 1 0.113734 1.00000000 -G 1 - 1 0.589583 1.00000000 -G 1 - 1 0.245362 1.00000000 - -SULFUR -S 12 - 1 306.317903 0.00006400 - 2 146.602801 -0.00078500 - 3 70.163647 0.02247100 - 4 33.580104 -0.16987100 - 5 16.071334 -0.06189700 - 6 7.691691 0.24003900 - 7 3.681219 0.55164900 - 8 1.761820 0.33438600 - 9 0.843202 0.03132300 - 10 0.403554 0.00443600 - 11 0.193140 -0.00101500 - 12 0.092436 0.00050700 -S 12 - 1 306.317903 0.00002100 - 2 146.602801 -0.00000400 - 3 70.163647 -0.00611900 - 4 33.580104 0.05447100 - 5 16.071334 0.01934400 - 6 7.691691 -0.08383900 - 7 3.681219 -0.26532200 - 8 1.761820 -0.29306500 - 9 0.843202 0.11373000 - 10 0.403554 0.52928200 - 11 0.193140 0.46625400 - 12 0.092436 0.12580000 -S 1 - 1 0.893039 1.00000000 -S 1 - 1 0.358094 1.00000000 -S 1 - 1 0.143590 1.00000000 -S 1 - 1 0.067207 1.00000000 -P 12 - 1 55.148271 0.01344700 - 2 29.056588 0.10167000 - 3 15.309371 0.18519200 - 4 8.066220 0.27583600 - 5 4.249940 0.31707300 - 6 2.239213 0.21706600 - 7 1.179799 0.06576500 - 8 0.621614 0.00651700 - 9 0.327517 0.00111100 - 10 0.172562 0.00022200 - 11 0.090920 0.00018100 - 12 0.047904 0.00000800 -P 12 - 1 55.148271 0.00354200 - 2 29.056588 0.02579700 - 3 15.309371 0.04726000 - 4 8.066220 0.07559400 - 5 4.249940 0.09198000 - 6 2.239213 0.06206700 - 7 1.179799 -0.07125300 - 8 0.621614 -0.25020600 - 9 0.327517 -0.34929500 - 10 0.172562 -0.31270000 - 11 0.090920 -0.15589800 - 12 0.047904 -0.03041800 -P 1 - 1 1.862831 1.00000000 -P 1 - 1 0.770080 1.00000000 -P 1 - 1 0.318345 1.00000000 -P 1 - 1 0.173720 1.00000000 -D 1 - 1 1.259166 1.00000000 -D 1 - 1 0.507276 1.00000000 -D 1 - 1 0.204365 1.00000000 -D 1 - 1 0.081923 1.00000000 -F 1 - 1 0.849923 1.00000000 -F 1 - 1 0.329207 1.00000000 -F 1 - 1 0.140094 1.00000000 -G 1 - 1 0.683967 1.00000000 -G 1 - 1 0.281002 1.00000000 - -CHLORINE -S 10 - 1 15.583847 0.002501 - 2 8.858485 -0.010046 - 3 5.035519 0.085810 - 4 2.862391 -0.290136 - 5 1.627098 -0.140314 - 6 0.924908 0.146839 - 7 0.525755 0.392484 - 8 0.298860 0.425061 - 9 0.169884 0.227195 - 10 0.096569 0.059828 -S 1 - 1 1.038268 1.000000 -S 1 - 1 0.418863 1.000000 -S 1 - 1 0.168980 1.000000 -S 1 - 1 0.080650 1.000000 -P 10 - 1 7.682894 -0.004609 - 2 4.507558 -0.001798 - 3 2.644587 -0.068614 - 4 1.551581 0.062352 - 5 0.910313 0.166337 - 6 0.534081 0.282292 - 7 0.313346 0.275967 - 8 0.183840 0.241328 - 9 0.107859 0.110223 - 10 0.063281 0.040289 -P 1 - 1 2.626653 1.000000 -P 1 - 1 1.069041 1.000000 -P 1 - 1 0.435097 1.000000 -P 1 - 1 0.204536 1.000000 -D 1 - 1 2.102692 1.000000 -D 1 - 1 0.763188 1.000000 -D 1 - 1 0.277005 1.000000 -D 1 - 1 0.110075 1.000000 -F 1 - 1 1.139446 1.000000 -F 1 - 1 0.434852 1.000000 -F 1 - 1 0.209794 1.000000 -G 1 - 1 0.844301 1.000000 -G 1 - 1 0.374704 1.000000 - -ARGON -S 12 - 1 400.805381 0.00009200 - 2 194.251428 -0.00125400 - 3 94.144487 0.02887900 - 4 45.627384 -0.17710600 - 5 22.113437 -0.07716500 - 6 10.717338 0.21018700 - 7 5.194187 0.55436900 - 8 2.517377 0.35907000 - 9 1.220054 0.04076900 - 10 0.591302 0.00508700 - 11 0.286576 -0.00064400 - 12 0.138890 0.00053300 -S 12 - 1 400.805381 0.00001900 - 2 194.251428 0.00011400 - 3 94.144487 -0.00869300 - 4 45.627384 0.06117500 - 5 22.113437 0.02679200 - 6 10.717338 -0.07778000 - 7 5.194187 -0.29074700 - 8 2.517377 -0.32003600 - 9 1.220054 0.12393300 - 10 0.591302 0.53916300 - 11 0.286576 0.45626000 - 12 0.138890 0.13189200 -S 1 - 1 1.352818 1.00000000 -S 1 - 1 0.542896 1.00000000 -S 1 - 1 0.217868 1.00000000 -S 1 - 1 0.108934 1.00000000 -P 12 - 1 71.845693 0.01423900 - 2 38.318786 0.10317800 - 3 20.437263 0.18518400 - 4 10.900182 0.27635700 - 5 5.813595 0.31813000 - 6 3.100671 0.21149400 - 7 1.653738 0.06192600 - 8 0.882019 0.00582100 - 9 0.470423 0.00083800 - 10 0.250899 -0.00004700 - 11 0.133817 0.00007700 - 12 0.071371 -0.00001800 -P 12 - 1 71.845693 0.00414500 - 2 38.318786 0.02880000 - 3 20.437263 0.05191600 - 4 10.900182 0.08435600 - 5 5.813595 0.10330300 - 6 3.100671 0.05976300 - 7 1.653738 -0.09852400 - 8 0.882019 -0.27287100 - 9 0.470423 -0.34211200 - 10 0.250899 -0.28931700 - 11 0.133817 -0.14332900 - 12 0.071371 -0.03249500 -P 1 - 1 2.812209 1.00000000 -P 1 - 1 1.197871 1.00000000 -P 1 - 1 0.510238 1.00000000 -P 1 - 1 0.255119 1.00000000 -D 1 - 1 1.938501 1.00000000 -D 1 - 1 0.776699 1.00000000 -D 1 - 1 0.311200 1.00000000 -D 1 - 1 0.155600 1.00000000 -F 1 - 1 1.311840 1.00000000 -F 1 - 1 0.535630 1.00000000 -F 1 - 1 0.267815 1.00000000 -G 1 - 1 1.003431 1.00000000 -G 1 - 1 0.501715 1.00000000 +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 4.502074 1.00000000 +S 1 + 1 2.275854 1.00000000 +S 1 + 1 1.150472 1.00000000 +S 1 + 1 0.581578 1.00000000 +S 1 + 1 0.299840 1.00000000 +S 1 + 1 0.087500 1.00000000 +S 1 + 1 0.042030 1.00000000 +S 1 + 1 0.019731 1.00000000 +S 1 + 1 0.007000 1.00000000 +P 1 + 1 3.909234 1.00000000 +P 1 + 1 2.021526 1.00000000 +P 1 + 1 1.045362 1.00000000 +P 1 + 1 0.540573 1.00000000 +P 1 + 1 0.228266 1.00000000 +P 1 + 1 0.092361 1.00000000 +P 1 + 1 0.041625 1.00000000 +P 1 + 1 0.018573 1.00000000 +P 1 + 1 0.004800 1.00000000 +D 1 + 1 2.531844 1.00000000 +D 1 + 1 1.361957 1.00000000 +D 1 + 1 0.732638 1.00000000 +D 1 + 1 0.267718 1.00000000 +D 1 + 1 0.091527 1.00000000 +D 1 + 1 0.030733 1.00000000 +D 1 + 1 0.006000 1.00000000 +F 1 + 1 2.643539 1.00000000 +F 1 + 1 1.288079 1.00000000 +F 1 + 1 0.501100 1.00000000 +F 1 + 1 0.116000 1.00000000 +F 1 + 1 0.025400 1.00000000 +G 1 + 1 1.638534 1.00000000 +G 1 + 1 0.143100 1.00000000 +G 1 + 1 0.046500 1.00000000 SCANDIUM S 13 @@ -928,6 +485,24 @@ H 1 1 0.472110 1.00000000 H 1 1 3.057835 1.00000000 +S 1 + 1 2.944740 1.00000000 +S 1 + 1 3.520437 1.00000000 +P 1 + 1 1.079934 1.00000000 +P 1 + 1 3.608023 1.00000000 +D 1 + 1 1.246811 1.00000000 +D 1 + 1 2.093727 1.00000000 +F 1 + 1 3.174444 1.00000000 +G 1 + 1 2.256684 1.00000000 +H 1 + 1 2.610600 1.00000000 TITANIUM S 13 @@ -1148,6 +723,24 @@ H 1 1 0.316183 1.00000000 H 1 1 0.848174 1.00000000 +S 1 + 1 1.523349 1.00000000 +S 1 + 1 1.707554 1.00000000 +P 1 + 1 1.270037 1.00000000 +P 1 + 1 4.415783 1.00000000 +D 1 + 1 1.527212 1.00000000 +D 1 + 1 2.503695 1.00000000 +F 1 + 1 3.304687 1.00000000 +G 1 + 1 3.520886 1.00000000 +H 1 + 1 2.900797 1.00000000 VANADIUM S 13 @@ -1368,6 +961,24 @@ H 1 1 0.913918 1.00000000 H 1 1 2.514905 1.00000000 +S 1 + 1 0.820525 1.00000000 +S 1 + 1 1.521457 1.00000000 +P 1 + 1 2.371806 1.00000000 +P 1 + 1 5.892088 1.00000000 +D 1 + 1 2.679882 1.00000000 +D 1 + 1 3.248775 1.00000000 +F 1 + 1 2.371670 1.00000000 +G 1 + 1 3.899112 1.00000000 +H 1 + 1 4.872470 1.00000000 CHROMIUM S 13 @@ -1588,6 +1199,24 @@ H 1 1 0.590356 1.00000000 H 1 1 1.706513 1.00000000 +S 1 + 1 1.569123 1.00000000 +S 1 + 1 2.404948 1.00000000 +P 1 + 1 1.704263 1.00000000 +P 1 + 1 5.834098 1.00000000 +D 1 + 1 2.459131 1.00000000 +D 1 + 1 3.320540 1.00000000 +F 1 + 1 2.544401 1.00000000 +G 1 + 1 5.007964 1.00000000 +H 1 + 1 4.457403 1.00000000 MANGANESE S 13 @@ -1808,7 +1437,26 @@ H 1 1 0.740197 1.00000000 H 1 1 2.093484 1.00000000 +S 1 + 1 1.916448 1.00000000 +S 1 + 1 2.807571 1.00000000 +P 1 + 1 2.153887 1.00000000 +P 1 + 1 7.123182 1.00000000 +D 1 + 1 3.346946 1.00000000 +D 1 + 1 3.910783 1.00000000 +F 1 + 1 2.949498 1.00000000 +G 1 + 1 5.760733 1.00000000 +H 1 + 1 5.267512 1.00000000 +IRON S 13 1 84.322332 0.00078500 2 44.203528 -0.01278100 @@ -2027,6 +1675,24 @@ H 1 1 0.886940 1.00000000 H 1 1 2.480792 1.00000000 +S 1 + 1 1.937918 1.00000000 +S 1 + 1 3.396351 1.00000000 +P 1 + 1 2.405611 1.00000000 +P 1 + 1 7.650382 1.00000000 +D 1 + 1 3.700729 1.00000000 +D 1 + 1 4.277366 1.00000000 +F 1 + 1 3.362783 1.00000000 +G 1 + 1 6.451713 1.00000000 +H 1 + 1 6.074060 1.00000000 COBALT S 13 @@ -2247,6 +1913,24 @@ H 1 1 1.061794 1.00000000 H 1 1 2.901601 1.00000000 +S 1 + 1 2.586299 1.00000000 +S 1 + 1 3.168493 1.00000000 +P 1 + 1 2.724786 1.00000000 +P 1 + 1 8.491665 1.00000000 +D 1 + 1 4.048276 1.00000000 +D 1 + 1 4.726625 1.00000000 +F 1 + 1 3.823826 1.00000000 +G 1 + 1 6.901363 1.00000000 +H 1 + 1 6.891833 1.00000000 NICKEL S 13 @@ -2467,6 +2151,24 @@ H 1 1 1.243132 1.00000000 H 1 1 3.361535 1.00000000 +S 1 + 1 2.749235 1.00000000 +S 1 + 1 3.424032 1.00000000 +P 1 + 1 2.987946 1.00000000 +P 1 + 1 9.332016 1.00000000 +D 1 + 1 4.388587 1.00000000 +D 1 + 1 5.303761 1.00000000 +F 1 + 1 4.238774 1.00000000 +G 1 + 1 7.523045 1.00000000 +H 1 + 1 7.787971 1.00000000 COPPER S 13 @@ -2687,6 +2389,24 @@ H 1 1 1.443462 1.00000000 H 1 1 3.867803 1.00000000 +S 1 + 1 3.034502 1.00000000 +S 1 + 1 3.688859 1.00000000 +P 1 + 1 3.294315 1.00000000 +P 1 + 1 10.527718 1.00000000 +D 1 + 1 4.610790 1.00000000 +D 1 + 1 6.028078 1.00000000 +F 1 + 1 4.705392 1.00000000 +G 1 + 1 7.396044 1.00000000 +H 1 + 1 8.650303 1.00000000 ZINC S 13 @@ -2907,4 +2627,22 @@ H 1 1 1.655939 1.00000000 H 1 1 4.405055 1.00000000 +S 1 + 1 3.627705 1.00000000 +S 1 + 1 4.596407 1.00000000 +P 1 + 1 3.439684 1.00000000 +P 1 + 1 10.763329 1.00000000 +D 1 + 1 5.872018 1.00000000 +D 1 + 1 6.223852 1.00000000 +F 1 + 1 5.193386 1.00000000 +G 1 + 1 7.952907 1.00000000 +H 1 + 1 9.808424 1.00000000 diff --git a/data/basis/aug-cc-pvtz_ecp_ncsu b/data/basis/aug-cc-pcvtz_ecp_ccecp similarity index 74% rename from data/basis/aug-cc-pvtz_ecp_ncsu rename to data/basis/aug-cc-pcvtz_ecp_ccecp index 0d1bfa10..419f3345 100644 --- a/data/basis/aug-cc-pvtz_ecp_ncsu +++ b/data/basis/aug-cc-pcvtz_ecp_ccecp @@ -1,607 +1,226 @@ -HYDROGEN -S 8 - 1 23.843185 0.00411490 - 2 10.212443 0.01046440 - 3 4.374164 0.02801110 - 4 1.873529 0.07588620 - 5 0.802465 0.18210620 - 6 0.343709 0.34852140 - 7 0.147217 0.37823130 - 8 0.063055 0.11642410 +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 S 1 - 1 0.029292 1.00000000 + 1 1.308177 1.00000000 S 1 - 1 0.091791 1.00000000 + 1 0.824788 1.00000000 S 1 - 1 0.287637 1.00000000 + 1 0.520018 1.00000000 +S 1 + 1 0.065911 1.00000000 +S 1 + 1 0.031297 1.00000000 +S 1 + 1 0.014861 1.00000000 +S 1 + 1 0.007430 1.00000000 P 1 - 1 0.106105 1.00000000 + 1 1.784995 1.00000000 P 1 - 1 0.393954 1.00000000 + 1 0.787254 1.00000000 P 1 - 1 1.462694 1.00000000 + 1 0.347210 1.00000000 +P 1 + 1 0.065260 1.00000000 +P 1 + 1 0.028736 1.00000000 +P 1 + 1 0.012653 1.00000000 +P 1 + 1 0.006326 1.00000000 D 1 - 1 0.295883 1.00000000 + 1 1.794937 1.00000000 D 1 - 1 1.065841 1.00000000 + 1 0.589584 1.00000000 +D 1 + 1 0.067129 1.00000000 +D 1 + 1 0.011669 1.00000000 +D 1 + 1 0.005835 1.00000000 +F 1 + 1 1.176422 1.00000000 +F 1 + 1 0.070437 1.00000000 +F 1 + 1 0.035218 1.00000000 -SODIUM -S 12 - 1 50.364926 -0.00144900 - 2 24.480199 -0.00059000 - 3 11.898760 -0.11881800 - 4 5.783470 -0.01085600 - 5 2.811093 0.25078300 - 6 1.366350 0.44727600 - 7 0.664123 0.34725400 - 8 0.322801 0.08065200 - 9 0.156900 0.00120800 - 10 0.076262 0.00040900 - 11 0.037068 0.00011200 - 12 0.018017 0.00007200 -S 12 - 1 50.364926 0.00021200 - 2 24.480199 0.00037900 - 3 11.898760 0.01958200 - 4 5.783470 0.00062300 - 5 2.811093 -0.04578100 - 6 1.366350 -0.08872800 - 7 0.664123 -0.11295200 - 8 0.322801 -0.10839600 - 9 0.156900 0.00990100 - 10 0.076262 0.35541800 - 11 0.037068 0.56145100 - 12 0.018017 0.19899800 -S 1 - 1 0.521238 1.00000000 -S 1 - 1 0.067262 1.00000000 -S 1 - 1 0.033631 1.00000000 -P 12 - 1 77.769943 0.00005400 - 2 42.060816 -0.00001600 - 3 22.748020 0.01257100 - 4 12.302957 0.07960100 - 5 6.653887 0.14044200 - 6 3.598664 0.21214100 - 7 1.946289 0.26179900 - 8 1.052624 0.25582000 - 9 0.569297 0.18035900 - 10 0.307897 0.07216500 - 11 0.166522 0.01066300 - 12 0.090061 0.00153800 -P 12 - 1 77.769943 -0.00065600 - 2 42.060816 0.00313700 - 3 22.748020 -0.01100400 - 4 12.302957 0.00937600 - 5 6.653887 -0.06647900 - 6 3.598664 0.05895900 - 7 1.946289 -0.22105000 - 8 1.052624 0.30349100 - 9 0.569297 -0.67170500 - 10 0.307897 1.06436000 - 11 0.166522 -1.53048900 - 12 0.090061 1.84316700 -P 1 - 1 0.083396 1.00000000 -P 1 - 1 0.036236 1.00000000 -P 1 - 1 0.018118 1.00000000 -D 1 - 1 0.669522 1.00000000 -D 1 - 1 0.089604 1.00000000 -D 1 - 1 0.044802 1.00000000 -F 1 - 1 0.134692 1.00000000 -F 1 - 1 0.067346 1.00000000 - -MAGNESIUM -S 12 - 1 63.931893 -0.00079400 - 2 31.602596 0.00747900 - 3 15.621687 -0.13624600 - 4 7.722059 -0.03203300 - 5 3.817142 0.21682300 - 6 1.886877 0.45136400 - 7 0.932714 0.37759900 - 8 0.461056 0.09431900 - 9 0.227908 0.00170300 - 10 0.112659 0.00048500 - 11 0.055689 -0.00015100 - 12 0.027528 0.00003100 -S 12 - 1 63.931893 0.00010600 - 2 31.602596 -0.00108600 - 3 15.621687 0.02867600 - 4 7.722059 0.00578100 - 5 3.817142 -0.05065300 - 6 1.886877 -0.11687700 - 7 0.932714 -0.16512100 - 8 0.461056 -0.11801600 - 9 0.227908 0.10836500 - 10 0.112659 0.41475500 - 11 0.055689 0.47763300 - 12 0.027528 0.17347600 -S 1 - 1 0.244655 1.00000000 -S 1 - 1 0.038921 1.00000000 -S 1 - 1 0.019460 1.00000000 -P 12 - 1 28.231094 0.01131700 - 2 14.891993 0.08703900 - 3 7.855575 0.16268300 - 4 4.143841 0.24138600 - 5 2.185889 0.29006400 - 6 1.153064 0.25299100 - 7 0.608245 0.13309700 - 8 0.320851 0.02894100 - 9 0.169250 0.00320900 - 10 0.089280 0.00026800 - 11 0.047095 0.00025700 - 12 0.024843 -0.00003700 -P 12 - 1 28.231094 -0.00182200 - 2 14.891993 -0.01360300 - 3 7.855575 -0.02570000 - 4 4.143841 -0.03907600 - 5 2.185889 -0.04877900 - 6 1.153064 -0.04599000 - 7 0.608245 -0.03165800 - 8 0.320851 0.04917800 - 9 0.169250 0.18690900 - 10 0.089280 0.37939600 - 11 0.047095 0.33543100 - 12 0.024843 0.18405800 -P 1 - 1 0.183646 1.00000000 -P 1 - 1 0.085242 1.00000000 -P 1 - 1 0.042621 1.00000000 -D 1 - 1 0.301585 1.00000000 -D 1 - 1 0.124814 1.00000000 -D 1 - 1 0.062407 1.00000000 -F 1 - 1 0.243874 1.00000000 -F 1 - 1 0.121937 1.00000000 - -ALUMINUM -S 12 - 1 78.990577 -0.00048100 - 2 39.484884 0.01309500 - 3 19.737241 -0.14615300 - 4 9.866021 -0.04520600 - 5 4.931711 0.19070800 - 6 2.465206 0.45320700 - 7 1.232278 0.39882400 - 8 0.615977 0.10364800 - 9 0.307907 0.00224700 - 10 0.153913 0.00079000 - 11 0.076936 -0.00014000 - 12 0.038458 0.00006400 -S 12 - 1 78.990577 0.00002400 - 2 39.484884 -0.00262700 - 3 19.737241 0.03694800 - 4 9.866021 0.01070500 - 5 4.931711 -0.05334200 - 6 2.465206 -0.14418800 - 7 1.232278 -0.21396900 - 8 0.615977 -0.12558500 - 9 0.307907 0.19397000 - 10 0.153913 0.48467400 - 11 0.076936 0.41941400 - 12 0.038458 0.11043000 -S 1 - 1 0.385867 1.00000000 -S 1 - 1 0.062744 1.00000000 -S 1 - 1 0.029245 1.00000000 -P 12 - 1 33.993368 0.01190800 - 2 17.617051 0.09748500 - 3 9.130030 0.18047400 - 4 4.731635 0.26552200 - 5 2.452168 0.30797700 - 6 1.270835 0.23506100 - 7 0.658610 0.08963100 - 8 0.341324 0.01108300 - 9 0.176891 0.00157700 - 10 0.091674 0.00000700 - 11 0.047510 0.00021500 - 12 0.024622 -0.00002200 -P 12 - 1 33.993368 -0.00218300 - 2 17.617051 -0.01736200 - 3 9.130030 -0.03229200 - 4 4.731635 -0.04981000 - 5 2.452168 -0.05992600 - 6 1.270835 -0.05255300 - 7 0.658610 0.00198900 - 8 0.341324 0.13005200 - 9 0.176891 0.28008900 - 10 0.091674 0.37433900 - 11 0.047510 0.27285700 - 12 0.024622 0.08514500 -P 1 - 1 0.286002 1.00000000 -P 1 - 1 0.043756 1.00000000 -P 1 - 1 0.012790 1.00000000 -D 1 - 1 0.327838 1.00000000 -D 1 - 1 0.109206 1.00000000 -D 1 - 1 0.035729 1.00000000 -F 1 - 1 0.254342 1.00000000 -F 1 - 1 0.088873 1.00000000 - -SILICON -S 12 - 1 96.651837 -0.00044000 - 2 48.652547 0.01867100 - 3 24.490692 -0.15435300 - 4 12.328111 -0.05773800 - 5 6.205717 0.16808700 - 6 3.123831 0.45342800 - 7 1.572472 0.41767500 - 8 0.791550 0.11190100 - 9 0.398450 0.00333700 - 10 0.200572 0.00099500 - 11 0.100964 -0.00003800 - 12 0.050823 0.00006900 -S 12 - 1 96.651837 -0.00000400 - 2 48.652547 -0.00442100 - 3 24.490692 0.04336200 - 4 12.328111 0.01585300 - 5 6.205717 -0.05170600 - 6 3.123831 -0.16289500 - 7 1.572472 -0.25021800 - 8 0.791550 -0.12421600 - 9 0.398450 0.24632500 - 10 0.200572 0.50589900 - 11 0.100964 0.38631400 - 12 0.050823 0.08770100 -S 1 - 1 0.547336 1.00000000 -S 1 - 1 0.088480 1.00000000 -S 1 - 1 0.048885 1.00000000 -P 12 - 1 40.315996 0.01293800 - 2 21.171265 0.09812900 - 3 11.117733 0.17932400 - 4 5.838290 0.26388600 - 5 3.065879 0.30927200 - 6 1.609995 0.23274800 - 7 0.845462 0.08590000 - 8 0.443980 0.01026000 - 9 0.233149 0.00156000 - 10 0.122434 -0.00000300 - 11 0.064294 0.00023200 - 12 0.033763 -0.00002300 -P 12 - 1 40.315996 0.00283300 - 2 21.171265 0.02086900 - 3 11.117733 0.03823600 - 4 5.838290 0.05967900 - 5 3.065879 0.07277600 - 6 1.609995 0.06112900 - 7 0.845462 -0.01677600 - 8 0.443980 -0.17225900 - 9 0.233149 -0.32119600 - 10 0.122434 -0.36282800 - 11 0.064294 -0.22078900 - 12 0.033763 -0.05515200 -P 1 - 1 0.443733 1.00000000 -P 1 - 1 0.067145 1.00000000 -P 1 - 1 0.022901 1.00000000 -D 1 - 1 0.473506 1.00000000 -D 1 - 1 0.157898 1.00000000 -D 1 - 1 0.055512 1.00000000 -F 1 - 1 0.345983 1.00000000 -F 1 - 1 0.128806 1.00000000 - -PHOSPHORUS -S 12 - 1 269.443884 0.00005500 - 2 127.601401 -0.00062400 - 3 60.428603 0.01940000 - 4 28.617367 -0.16550900 - 5 13.552418 -0.05426500 - 6 6.418062 0.25444000 - 7 3.039422 0.54966100 - 8 1.439389 0.32228500 - 9 0.681656 0.02663200 - 10 0.322814 0.00420300 - 11 0.152876 -0.00123300 - 12 0.072398 0.00049700 -S 12 - 1 269.443884 0.00001800 - 2 127.601401 -0.00002600 - 3 60.428603 -0.00493300 - 4 28.617367 0.05012000 - 5 13.552418 0.01580100 - 6 6.418062 -0.08446300 - 7 3.039422 -0.24674200 - 8 1.439389 -0.27632600 - 9 0.681656 0.10027400 - 10 0.322814 0.51720100 - 11 0.152876 0.47975800 - 12 0.072398 0.12409900 -S 1 - 1 0.725938 1.00000000 -S 1 - 1 0.115599 1.00000000 -S 1 - 1 0.067680 1.00000000 -P 12 - 1 48.154282 0.01288400 - 2 25.406431 0.09709500 - 3 13.404555 0.17821500 - 4 7.072308 0.26596400 - 5 3.731384 0.31293300 - 6 1.968696 0.23068600 - 7 1.038693 0.08048900 - 8 0.548020 0.00908500 - 9 0.289138 0.00124800 - 10 0.152550 -0.00006600 - 11 0.080486 0.00012900 - 12 0.042465 -0.00002900 -P 12 - 1 48.154282 -0.00315200 - 2 25.406431 -0.02300600 - 3 13.404555 -0.04239800 - 4 7.072308 -0.06747700 - 5 3.731384 -0.08295200 - 6 1.968696 -0.06602600 - 7 1.038693 0.03446800 - 8 0.548020 0.20901800 - 9 0.289138 0.34717900 - 10 0.152550 0.34480600 - 11 0.080486 0.18173100 - 12 0.042465 0.03664900 -P 1 - 1 0.625438 1.00000000 -P 1 - 1 0.093233 1.00000000 -P 1 - 1 0.028410 1.00000000 -D 1 - 1 0.643126 1.00000000 -D 1 - 1 0.214392 1.00000000 -D 1 - 1 0.075767 1.00000000 -F 1 - 1 0.457026 1.00000000 -F 1 - 1 0.164691 1.00000000 - -SULFUR -S 12 - 1 306.317903 0.00006400 - 2 146.602801 -0.00078500 - 3 70.163647 0.02247100 - 4 33.580104 -0.16987100 - 5 16.071334 -0.06189700 - 6 7.691691 0.24003900 - 7 3.681219 0.55164900 - 8 1.761820 0.33438600 - 9 0.843202 0.03132300 - 10 0.403554 0.00443600 - 11 0.193140 -0.00101500 - 12 0.092436 0.00050700 -S 12 - 1 306.317903 0.00002100 - 2 146.602801 -0.00000400 - 3 70.163647 -0.00611900 - 4 33.580104 0.05447100 - 5 16.071334 0.01934400 - 6 7.691691 -0.08383900 - 7 3.681219 -0.26532200 - 8 1.761820 -0.29306500 - 9 0.843202 0.11373000 - 10 0.403554 0.52928200 - 11 0.193140 0.46625400 - 12 0.092436 0.12580000 -S 1 - 1 0.898845 1.00000000 -S 1 - 1 0.146364 1.00000000 -S 1 - 1 0.079073 1.00000000 -P 12 - 1 55.148271 0.01344700 - 2 29.056588 0.10167000 - 3 15.309371 0.18519200 - 4 8.066220 0.27583600 - 5 4.249940 0.31707300 - 6 2.239213 0.21706600 - 7 1.179799 0.06576500 - 8 0.621614 0.00651700 - 9 0.327517 0.00111100 - 10 0.172562 0.00022200 - 11 0.090920 0.00018100 - 12 0.047904 0.00000800 -P 12 - 1 55.148271 0.00354200 - 2 29.056588 0.02579700 - 3 15.309371 0.04726000 - 4 8.066220 0.07559400 - 5 4.249940 0.09198000 - 6 2.239213 0.06206700 - 7 1.179799 -0.07125300 - 8 0.621614 -0.25020600 - 9 0.327517 -0.34929500 - 10 0.172562 -0.31270000 - 11 0.090920 -0.15589800 - 12 0.047904 -0.03041800 -P 1 - 1 0.801169 1.00000000 -P 1 - 1 0.110470 1.00000000 -P 1 - 1 0.037876 1.00000000 -D 1 - 1 0.812301 1.00000000 -D 1 - 1 0.268088 1.00000000 -D 1 - 1 0.095992 1.00000000 -F 1 - 1 0.555565 1.00000000 -F 1 - 1 0.210154 1.00000000 - -CHLORINE -S 10 - 1 15.583847 0.002501 - 2 8.858485 -0.010046 - 3 5.035519 0.085810 - 4 2.862391 -0.290136 - 5 1.627098 -0.140314 - 6 0.924908 0.146839 - 7 0.525755 0.392484 - 8 0.298860 0.425061 - 9 0.169884 0.227195 - 10 0.096569 0.059828 -S 1 - 1 1.020976 1.000000 -S 1 - 1 0.186161 1.000000 -S 1 - 1 0.132342 1.000000 -P 10 - 1 7.682894 -0.004609 - 2 4.507558 -0.001798 - 3 2.644587 -0.068614 - 4 1.551581 0.062352 - 5 0.910313 0.166337 - 6 0.534081 0.282292 - 7 0.313346 0.275967 - 8 0.183840 0.241328 - 9 0.107859 0.110223 - 10 0.063281 0.040289 -P 1 - 1 0.899235 1.000000 -P 1 - 1 0.143669 1.000000 -P 1 - 1 0.051775 1.000000 -D 1 - 1 1.172371 1.000000 -D 1 - 1 0.363254 1.000000 -D 1 - 1 0.137654 1.000000 -F 1 - 1 0.720453 1.000000 -F 1 - 1 0.300374 1.000000 - -ARGON -S 12 - 1 400.805381 0.00009200 - 2 194.251428 -0.00125400 - 3 94.144487 0.02887900 - 4 45.627384 -0.17710600 - 5 22.113437 -0.07716500 - 6 10.717338 0.21018700 - 7 5.194187 0.55436900 - 8 2.517377 0.35907000 - 9 1.220054 0.04076900 - 10 0.591302 0.00508700 - 11 0.286576 -0.00064400 - 12 0.138890 0.00053300 -S 12 - 1 400.805381 0.00001900 - 2 194.251428 0.00011400 - 3 94.144487 -0.00869300 - 4 45.627384 0.06117500 - 5 22.113437 0.02679200 - 6 10.717338 -0.07778000 - 7 5.194187 -0.29074700 - 8 2.517377 -0.32003600 - 9 1.220054 0.12393300 - 10 0.591302 0.53916300 - 11 0.286576 0.45626000 - 12 0.138890 0.13189200 -S 1 - 1 1.313766 1.00000000 -S 1 - 1 0.221075 1.00000000 -S 1 - 1 0.110537 1.00000000 -P 12 - 1 71.845693 0.01423900 - 2 38.318786 0.10317800 - 3 20.437263 0.18518400 - 4 10.900182 0.27635700 - 5 5.813595 0.31813000 - 6 3.100671 0.21149400 - 7 1.653738 0.06192600 - 8 0.882019 0.00582100 - 9 0.470423 0.00083800 - 10 0.250899 -0.00004700 - 11 0.133817 0.00007700 - 12 0.071371 -0.00001800 -P 12 - 1 71.845693 0.00414500 - 2 38.318786 0.02880000 - 3 20.437263 0.05191600 - 4 10.900182 0.08435600 - 5 5.813595 0.10330300 - 6 3.100671 0.05976300 - 7 1.653738 -0.09852400 - 8 0.882019 -0.27287100 - 9 0.470423 -0.34211200 - 10 0.250899 -0.28931700 - 11 0.133817 -0.14332900 - 12 0.071371 -0.03249500 -P 1 - 1 1.273346 1.00000000 -P 1 - 1 0.171614 1.00000000 -P 1 - 1 0.085807 1.00000000 -D 1 - 1 1.242323 1.00000000 -D 1 - 1 0.404943 1.00000000 -D 1 - 1 0.202471 1.00000000 -F 1 - 1 0.885752 1.00000000 -F 1 - 1 0.442876 1.00000000 +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 1.633930 1.00000000 +S 1 + 1 0.957624 1.00000000 +S 1 + 1 0.561250 1.00000000 +S 1 + 1 0.090426 1.00000000 +S 1 + 1 0.042935 1.00000000 +S 1 + 1 0.019981 1.00000000 +S 1 + 1 0.007400 1.00000000 +P 1 + 1 2.317268 1.00000000 +P 1 + 1 1.045363 1.00000000 +P 1 + 1 0.471583 1.00000000 +P 1 + 1 0.125510 1.00000000 +P 1 + 1 0.053549 1.00000000 +P 1 + 1 0.022081 1.00000000 +P 1 + 1 0.004900 1.00000000 +D 1 + 1 1.277696 1.00000000 +D 1 + 1 0.475378 1.00000000 +D 1 + 1 0.127163 1.00000000 +D 1 + 1 0.038262 1.00000000 +D 1 + 1 0.007100 1.00000000 +F 1 + 1 1.454974 1.00000000 +F 1 + 1 0.136800 1.00000000 +F 1 + 1 0.036400 1.00000000 SCANDIUM S 13 @@ -774,6 +393,22 @@ G 1 1 0.132455 1.00000000 G 1 1 0.413265 1.00000000 +S 1 + 1 0.693020 1.00000000 +S 1 + 1 2.017719 1.00000000 +P 1 + 1 0.772305 1.00000000 +P 1 + 1 3.139671 1.00000000 +D 1 + 1 0.858283 1.00000000 +D 1 + 1 1.676449 1.00000000 +F 1 + 1 2.198729 1.00000000 +G 1 + 1 2.006030 1.00000000 TITANIUM S 13 @@ -946,6 +581,22 @@ G 1 1 0.227422 1.00000000 G 1 1 0.707265 1.00000000 +S 1 + 1 0.790662 1.00000000 +S 1 + 1 2.191541 1.00000000 +P 1 + 1 0.902705 1.00000000 +P 1 + 1 3.650546 1.00000000 +D 1 + 1 2.318162 1.00000000 +D 1 + 1 5.672148 1.00000000 +F 1 + 1 3.186116 1.00000000 +G 1 + 1 2.521341 1.00000000 VANADIUM S 13 @@ -1118,6 +769,22 @@ G 1 1 0.616440 1.00000000 G 1 1 1.977796 1.00000000 +S 1 + 1 0.500174 1.00000000 +S 1 + 1 1.490795 1.00000000 +P 1 + 1 1.552979 1.00000000 +P 1 + 1 4.879132 1.00000000 +D 1 + 1 1.563648 1.00000000 +D 1 + 1 2.740176 1.00000000 +F 1 + 1 4.698117 1.00000000 +G 1 + 1 4.370840 1.00000000 CHROMIUM S 13 @@ -1290,6 +957,22 @@ G 1 1 0.436321 1.00000000 G 1 1 1.422099 1.00000000 +S 1 + 1 1.024744 1.00000000 +S 1 + 1 2.833892 1.00000000 +P 1 + 1 1.196915 1.00000000 +P 1 + 1 4.766939 1.00000000 +D 1 + 1 1.632674 1.00000000 +D 1 + 1 2.942314 1.00000000 +F 1 + 1 5.326814 1.00000000 +G 1 + 1 3.919920 1.00000000 MANGANESE S 13 @@ -1462,6 +1145,22 @@ G 1 1 0.541534 1.00000000 G 1 1 1.740920 1.00000000 +S 1 + 1 1.199951 1.00000000 +S 1 + 1 3.121964 1.00000000 +P 1 + 1 1.467265 1.00000000 +P 1 + 1 5.604722 1.00000000 +D 1 + 1 1.999257 1.00000000 +D 1 + 1 3.454746 1.00000000 +F 1 + 1 6.309190 1.00000000 +G 1 + 1 4.628708 1.00000000 IRON S 13 @@ -1634,6 +1333,22 @@ G 1 1 0.679723 1.00000000 G 1 1 2.137024 1.00000000 +S 1 + 1 1.360370 1.00000000 +S 1 + 1 3.337166 1.00000000 +P 1 + 1 1.604522 1.00000000 +P 1 + 1 6.253507 1.00000000 +D 1 + 1 2.185217 1.00000000 +D 1 + 1 3.894144 1.00000000 +F 1 + 1 7.308585 1.00000000 +G 1 + 1 5.501497 1.00000000 COBALT S 13 @@ -1806,6 +1521,22 @@ G 1 1 0.828324 1.00000000 G 1 1 2.525364 1.00000000 +S 1 + 1 1.447389 1.00000000 +S 1 + 1 3.880139 1.00000000 +P 1 + 1 1.784890 1.00000000 +P 1 + 1 6.847001 1.00000000 +D 1 + 1 2.363138 1.00000000 +D 1 + 1 4.221080 1.00000000 +F 1 + 1 8.206890 1.00000000 +G 1 + 1 6.296469 1.00000000 NICKEL S 13 @@ -1978,6 +1709,22 @@ G 1 1 0.981401 1.00000000 G 1 1 2.896680 1.00000000 +S 1 + 1 1.554348 1.00000000 +S 1 + 1 4.246101 1.00000000 +P 1 + 1 1.939264 1.00000000 +P 1 + 1 7.600387 1.00000000 +D 1 + 1 2.566254 1.00000000 +D 1 + 1 4.627077 1.00000000 +F 1 + 1 9.190898 1.00000000 +G 1 + 1 7.108284 1.00000000 COPPER S 13 @@ -2150,6 +1897,22 @@ G 1 1 1.168290 1.00000000 G 1 1 3.445758 1.00000000 +S 1 + 1 1.753253 1.00000000 +S 1 + 1 4.527313 1.00000000 +P 1 + 1 2.153325 1.00000000 +P 1 + 1 8.444453 1.00000000 +D 1 + 1 2.849045 1.00000000 +D 1 + 1 5.133828 1.00000000 +F 1 + 1 10.218472 1.00000000 +G 1 + 1 8.017573 1.00000000 ZINC S 13 @@ -2322,4 +2085,20 @@ G 1 1 1.418972 1.00000000 G 1 1 4.099533 1.00000000 +S 1 + 1 2.070009 1.00000000 +S 1 + 1 4.949808 1.00000000 +P 1 + 1 2.419925 1.00000000 +P 1 + 1 9.481024 1.00000000 +D 1 + 1 3.443296 1.00000000 +D 1 + 1 6.122191 1.00000000 +F 1 + 1 11.180611 1.00000000 +G 1 + 1 9.295253 1.00000000 diff --git a/data/basis/aug-cc-pv5z_ecp_ccecp b/data/basis/aug-cc-pv5z_ecp_ccecp new file mode 100644 index 00000000..fcf04a68 --- /dev/null +++ b/data/basis/aug-cc-pv5z_ecp_ccecp @@ -0,0 +1,4309 @@ +HYDROGEN +S 8 + 1 23.843185 0.00411490 + 2 10.212443 0.01046440 + 3 4.374164 0.02801110 + 4 1.873529 0.07588620 + 5 0.802465 0.18210620 + 6 0.343709 0.34852140 + 7 0.147217 0.37823130 + 8 0.063055 0.11642410 +S 1 + 1 0.026925 1.00000000 +S 1 + 1 0.068025 1.00000000 +S 1 + 1 0.171860 1.00000000 +S 1 + 1 0.434193 1.00000000 +S 1 + 1 1.096959 1.00000000 +P 1 + 1 0.087526 1.00000000 +P 1 + 1 0.236875 1.00000000 +P 1 + 1 0.641066 1.00000000 +P 1 + 1 1.734949 1.00000000 +P 1 + 1 4.695379 1.00000000 +D 1 + 1 0.176684 1.00000000 +D 1 + 1 0.451746 1.00000000 +D 1 + 1 1.155025 1.00000000 +D 1 + 1 2.953168 1.00000000 +F 1 + 1 0.408219 1.00000000 +F 1 + 1 1.100898 1.00000000 +F 1 + 1 2.968936 1.00000000 +G 1 + 1 0.661764 1.00000000 +G 1 + 1 1.819850 1.00000000 + + +HELIUM +S 8 + 1 39.320931 0.01006570 + 2 17.174528 0.02487620 + 3 7.501461 0.05825370 + 4 3.276475 0.13445960 + 5 1.431093 0.24431180 + 6 0.625070 0.34250610 + 7 0.273017 0.28264700 + 8 0.119248 0.07392530 +S 1 + 1 3.912326 1.00000000 +S 1 + 1 1.397551 1.00000000 +S 1 + 1 0.499229 1.00000000 +S 1 + 1 0.178333 1.00000000 +S 1 + 1 0.063704 1.00000000 +P 1 + 1 10.505867 1.00000000 +P 1 + 1 3.702589 1.00000000 +P 1 + 1 1.304906 1.00000000 +P 1 + 1 0.459889 1.00000000 +P 1 + 1 0.162079 1.00000000 +D 1 + 1 7.804576 1.00000000 +D 1 + 1 2.665013 1.00000000 +D 1 + 1 0.910017 1.00000000 +D 1 + 1 0.310742 1.00000000 +F 1 + 1 5.453553 1.00000000 +F 1 + 1 1.702130 1.00000000 +F 1 + 1 0.531258 1.00000000 +G 1 + 1 3.423618 1.00000000 +G 1 + 1 0.978177 1.00000000 + +LITHIUM +S 10 + 1 16.001258 0.00004340 + 2 7.583113 -0.00075310 + 3 3.593693 -0.00025190 + 4 1.703077 0.01696740 + 5 0.807101 -0.09099210 + 6 0.382491 -0.08931550 + 7 0.181265 0.02941550 + 8 0.085903 0.36440200 + 9 0.040710 0.55049730 + 10 0.019293 0.17444120 +P 10 + 1 7.004881 -0.00053060 + 2 3.451199 0.00129490 + 3 1.700353 0.00701150 + 4 0.837738 0.01716040 + 5 0.412741 0.03672400 + 6 0.203351 0.09650420 + 7 0.100188 0.22110130 + 8 0.049361 0.38353580 + 9 0.024320 0.33505640 + 10 0.011982 0.07814530 +S 1 + 1 1.004881 1.00000000 +S 1 + 1 0.670681 1.00000000 +S 1 + 1 0.104917 1.00000000 +S 1 + 1 0.025010 1.00000000 +S 1 + 1 0.010004 1.00000000 +P 1 + 1 0.806184 1.00000000 +P 1 + 1 0.404355 1.00000000 +P 1 + 1 0.138470 1.00000000 +P 1 + 1 0.081041 1.00000000 +P 1 + 1 0.032416 1.00000000 +D 1 + 1 0.986350 1.00000000 +D 1 + 1 0.835758 1.00000000 +D 1 + 1 0.161784 1.00000000 +D 1 + 1 0.065574 1.00000000 +D 1 + 1 0.026229 1.00000000 +F 1 + 1 0.856748 1.00000000 +F 1 + 1 0.420698 1.00000000 +F 1 + 1 0.152988 1.00000000 +F 1 + 1 0.061195 1.00000000 +G 1 + 1 0.457496 1.00000000 +G 1 + 1 0.254479 1.00000000 +G 1 + 1 0.101791 1.00000000 + +BERYLLIUM +S 9 + 1 15.965877 0.00069000 + 2 7.367361 -0.00037700 + 3 3.399626 0.02406900 + 4 1.568738 -0.11198900 + 5 0.723885 -0.07644200 + 6 0.334032 0.13574400 + 7 0.154137 0.41851500 + 8 0.071126 0.46292400 + 9 0.032821 0.12826600 +P 9 + 1 16.554942 0.00034100 + 2 7.526050 0.00322800 + 3 3.421421 0.01766000 + 4 1.555414 0.03866400 + 5 0.707108 0.09863900 + 6 0.321458 0.23125900 + 7 0.146138 0.38710900 + 8 0.066436 0.33944800 + 9 0.030203 0.08910200 +S 1 + 1 1.347510 1.00000000 +S 1 + 1 0.256393 1.00000000 +S 1 + 1 0.048784 1.00000000 +S 1 + 1 0.009282 1.00000000 +S 1 + 1 0.003713 1.00000000 +P 1 + 1 2.741691 1.00000000 +P 1 + 1 1.017428 1.00000000 +P 1 + 1 0.377562 1.00000000 +P 1 + 1 0.140111 1.00000000 +P 1 + 1 0.056045 1.00000000 +D 1 + 1 1.449201 1.00000000 +D 1 + 1 0.672965 1.00000000 +D 1 + 1 0.312505 1.00000000 +D 1 + 1 0.145118 1.00000000 +D 1 + 1 0.058047 1.00000000 +F 1 + 1 0.739767 1.00000000 +F 1 + 1 0.393276 1.00000000 +F 1 + 1 0.209074 1.00000000 +F 1 + 1 0.083629 1.00000000 +G 1 + 1 0.611064 1.00000000 +G 1 + 1 0.317358 1.00000000 +G 1 + 1 0.126943 1.00000000 +H 1 + 1 0.507936 1.00000000 +H 1 + 1 0.203174 1.00000000 + +BORON +S 9 + 1 11.760500 -0.00367570 + 2 5.150520 0.02505170 + 3 2.578276 -0.12492280 + 4 1.290648 -0.06628740 + 5 0.646080 0.10073410 + 6 0.323418 0.33754920 + 7 0.161898 0.43084310 + 8 0.081044 0.24865580 + 9 0.040569 0.03172950 +P 9 + 1 7.470701 0.00473970 + 2 3.735743 0.03760090 + 3 1.868068 0.05106000 + 4 0.934132 0.14565870 + 5 0.467115 0.22379330 + 6 0.233582 0.31994670 + 7 0.116803 0.28501850 + 8 0.058408 0.14488080 + 9 0.029207 0.01769620 +S 1 + 1 0.614105 1.00000000 +S 1 + 1 0.375720 1.00000000 +S 1 + 1 0.170896 1.00000000 +S 1 + 1 0.070664 1.00000000 +S 1 + 1 0.028266 1.00000000 +P 1 + 1 0.566611 1.00000000 +P 1 + 1 0.436327 1.00000000 +P 1 + 1 0.143772 1.00000000 +P 1 + 1 0.057917 1.00000000 +P 1 + 1 0.023167 1.00000000 +D 1 + 1 1.022256 1.00000000 +D 1 + 1 0.808233 1.00000000 +D 1 + 1 0.380163 1.00000000 +D 1 + 1 0.134838 1.00000000 +D 1 + 1 0.053935 1.00000000 +F 1 + 1 1.002171 1.00000000 +F 1 + 1 0.799174 1.00000000 +F 1 + 1 0.272717 1.00000000 +F 1 + 1 0.109087 1.00000000 +G 1 + 1 0.824366 1.00000000 +G 1 + 1 0.486131 1.00000000 +G 1 + 1 0.194452 1.00000000 +H 1 + 1 0.632779 1.00000000 +H 1 + 1 0.253112 1.00000000 + +CARBON +S 9 + 1 13.073594 0.00515830 + 2 6.541187 0.06034240 + 3 4.573411 -0.19784710 + 4 1.637494 -0.08103400 + 5 0.819297 0.23217260 + 6 0.409924 0.29146430 + 7 0.231300 0.43364050 + 8 0.102619 0.21319400 + 9 0.051344 0.00498480 +P 9 + 1 9.934169 0.02090760 + 2 3.886955 0.05726980 + 3 1.871016 0.11226820 + 4 0.935757 0.21300820 + 5 0.468003 0.28358150 + 6 0.239473 0.30112070 + 7 0.117063 0.20169340 + 8 0.058547 0.04535750 + 9 0.029281 0.00297750 +S 1 + 1 1.009914 1.00000000 +S 1 + 1 0.744448 1.00000000 +S 1 + 1 0.232034 1.00000000 +S 1 + 1 0.098302 1.00000000 +S 1 + 1 0.039321 1.00000000 +P 1 + 1 1.006252 1.00000000 +P 1 + 1 0.576869 1.00000000 +P 1 + 1 0.216618 1.00000000 +P 1 + 1 0.084047 1.00000000 +P 1 + 1 0.033619 1.00000000 +D 1 + 1 1.504882 1.00000000 +D 1 + 1 1.001526 1.00000000 +D 1 + 1 0.606933 1.00000000 +D 1 + 1 0.206619 1.00000000 +D 1 + 1 0.082648 1.00000000 +F 1 + 1 1.501091 1.00000000 +F 1 + 1 1.099564 1.00000000 +F 1 + 1 0.400573 1.00000000 +F 1 + 1 0.160229 1.00000000 +G 1 + 1 1.401343 1.00000000 +G 1 + 1 0.797648 1.00000000 +G 1 + 1 0.319059 1.00000000 +H 1 + 1 1.001703 1.00000000 +H 1 + 1 0.400681 1.00000000 + +NITROGEN +S 9 + 1 42.693822 -0.00093570 + 2 19.963207 0.00632950 + 3 9.334597 0.01050380 + 4 4.927819 -0.16537350 + 5 2.040920 -0.00053520 + 6 0.967080 0.24520630 + 7 0.476131 0.45821280 + 8 0.211443 0.36412240 + 9 0.098869 0.06204060 +P 9 + 1 18.925871 0.00735050 + 2 9.225603 0.02928440 + 3 4.581431 0.06521680 + 4 2.300164 0.14051530 + 5 1.154825 0.23281880 + 6 0.582039 0.29895560 + 7 0.290535 0.28025070 + 8 0.145867 0.15279950 + 9 0.073234 0.03554750 +S 1 + 1 1.532221 1.00000000 +S 1 + 1 0.702011 1.00000000 +S 1 + 1 0.286632 1.00000000 +S 1 + 1 0.115320 1.00000000 +S 1 + 1 0.046128 1.00000000 +P 1 + 1 1.272759 1.00000000 +P 1 + 1 0.978538 1.00000000 +P 1 + 1 0.322697 1.00000000 +P 1 + 1 0.120601 1.00000000 +P 1 + 1 0.048240 1.00000000 +D 1 + 1 2.798122 1.00000000 +D 1 + 1 1.542532 1.00000000 +D 1 + 1 0.891436 1.00000000 +D 1 + 1 0.305579 1.00000000 +D 1 + 1 0.122232 1.00000000 +F 1 + 1 2.443045 1.00000000 +F 1 + 1 1.592967 1.00000000 +F 1 + 1 0.587676 1.00000000 +F 1 + 1 0.235070 1.00000000 +G 1 + 1 2.842018 1.00000000 +G 1 + 1 1.038637 1.00000000 +G 1 + 1 0.415455 1.00000000 +H 1 + 1 2.272542 1.00000000 +H 1 + 1 0.909017 1.00000000 + +OXYGEN +S 9 + 1 54.775216 -0.00124440 + 2 25.616801 0.01073300 + 3 11.980245 0.00188890 + 4 6.992317 -0.17425370 + 5 2.620277 0.00176220 + 6 1.225429 0.31618460 + 7 0.577797 0.45120230 + 8 0.268022 0.31215340 + 9 0.125346 0.05111670 +P 9 + 1 22.217266 0.01048660 + 2 10.747550 0.03664350 + 3 5.315785 0.08036740 + 4 2.660761 0.16270100 + 5 1.331816 0.23777910 + 6 0.678626 0.28114220 + 7 0.333673 0.26431890 + 8 0.167017 0.14660140 + 9 0.083598 0.04581450 +S 1 + 1 1.937532 1.00000000 +S 1 + 1 0.935157 1.00000000 +S 1 + 1 0.384526 1.00000000 +S 1 + 1 0.160664 1.00000000 +S 1 + 1 0.064266 1.00000000 +P 1 + 1 1.589967 1.00000000 +P 1 + 1 1.178227 1.00000000 +P 1 + 1 0.372674 1.00000000 +P 1 + 1 0.130580 1.00000000 +P 1 + 1 0.052232 1.00000000 +D 1 + 1 4.292433 1.00000000 +D 1 + 1 2.823972 1.00000000 +D 1 + 1 1.174596 1.00000000 +D 1 + 1 0.401152 1.00000000 +D 1 + 1 0.160461 1.00000000 +F 1 + 1 3.223721 1.00000000 +F 1 + 1 2.006788 1.00000000 +F 1 + 1 0.708666 1.00000000 +F 1 + 1 0.283466 1.00000000 +G 1 + 1 3.584495 1.00000000 +G 1 + 1 1.207657 1.00000000 +G 1 + 1 0.483063 1.00000000 +H 1 + 1 2.615818 1.00000000 +H 1 + 1 1.046327 1.00000000 + +FLUORINE +S 10 + 1 84.048652 -0.00000280 + 2 41.094617 -0.00035430 + 3 20.092738 0.01840880 + 4 9.824112 -0.12776610 + 5 4.803386 -0.07028720 + 6 2.348560 0.15716040 + 7 1.148301 0.37690120 + 8 0.561449 0.40951650 + 9 0.274514 0.19708930 + 10 0.134220 0.02434820 +P 10 + 1 31.642619 0.00296730 + 2 16.243233 0.02980490 + 3 8.338204 0.06694890 + 4 4.280284 0.13377900 + 5 2.197215 0.21483120 + 6 1.127906 0.26648620 + 7 0.578992 0.26189540 + 8 0.297216 0.19202170 + 9 0.152571 0.08284650 + 10 0.078320 0.01330460 +S 1 + 1 2.542428 1.00000000 +S 1 + 1 1.250265 1.00000000 +S 1 + 1 0.459697 1.00000000 +S 1 + 1 0.191146 1.00000000 +S 1 + 1 0.076458 1.00000000 +P 1 + 1 2.018698 1.00000000 +P 1 + 1 1.505085 1.00000000 +P 1 + 1 0.489019 1.00000000 +P 1 + 1 0.170574 1.00000000 +P 1 + 1 0.068230 1.00000000 +D 1 + 1 5.603581 1.00000000 +D 1 + 1 3.901897 1.00000000 +D 1 + 1 1.523306 1.00000000 +D 1 + 1 0.517711 1.00000000 +D 1 + 1 0.207084 1.00000000 +F 1 + 1 4.297889 1.00000000 +F 1 + 1 2.950321 1.00000000 +F 1 + 1 0.981494 1.00000000 +F 1 + 1 0.392598 1.00000000 +G 1 + 1 4.619953 1.00000000 +G 1 + 1 1.638933 1.00000000 +G 1 + 1 0.655573 1.00000000 +H 1 + 1 2.963127 1.00000000 +H 1 + 1 1.185251 1.00000000 + +ALUMINUM +S 10 + 1 8.257944 0.003287 + 2 4.514245 -0.017168 + 3 2.467734 0.069766 + 4 1.348998 -0.183475 + 5 0.737436 -0.147133 + 6 0.403123 0.046882 + 7 0.220369 0.308423 + 8 0.120466 0.451564 + 9 0.065853 0.302904 + 10 0.035999 0.079545 +S 1 + 1 0.967736 1.000000 +S 1 + 1 0.379373 1.000000 +S 1 + 1 0.148722 1.000000 +S 1 + 1 0.058302 1.000000 +S 1 + 1 0.024250 1.000000 +P 10 + 1 1.570603 -0.002645 + 2 0.977752 -0.037850 + 3 0.608683 0.006636 + 4 0.378925 0.089291 + 5 0.235893 0.134421 + 6 0.146851 0.256105 + 7 0.091420 0.238970 + 8 0.056912 0.260677 + 9 0.035429 0.112350 + 10 0.022056 0.052665 +P 1 + 1 0.951381 1.000000 +P 1 + 1 0.456240 1.000000 +P 1 + 1 0.218792 1.000000 +P 1 + 1 0.104923 1.000000 +P 1 + 1 0.046262 1.000000 +D 1 + 1 1.586180 1.000000 +D 1 + 1 0.603516 1.000000 +D 1 + 1 0.229628 1.000000 +D 1 + 1 0.087370 1.000000 +D 1 + 1 0.031509 1.000000 +F 1 + 1 0.546132 1.000000 +F 1 + 1 0.262335 1.000000 +F 1 + 1 0.126013 1.000000 +F 1 + 1 0.050636 1.000000 +G 1 + 1 0.535941 1.000000 +G 1 + 1 0.243699 1.000000 +G 1 + 1 0.104421 1.000000 +H 1 + 1 0.443982 1.000000 +H 1 + 1 0.216180 1.000000 + +SILICON +S 10 + 1 9.998274 0.002894 + 2 5.517644 -0.014523 + 3 3.044965 0.077634 + 4 1.680393 -0.224022 + 5 0.927341 -0.149080 + 6 0.511762 0.085944 + 7 0.282421 0.355394 + 8 0.155857 0.445219 + 9 0.086011 0.267230 + 10 0.047466 0.060787 +S 1 + 1 0.700625 1.000000 +S 1 + 1 0.318864 1.000000 +S 1 + 1 0.145120 1.000000 +S 1 + 1 0.066046 1.000000 +S 1 + 1 0.030094 1.000000 +P 10 + 1 5.027868 -0.003242 + 2 2.867751 0.010649 + 3 1.635683 -0.049761 + 4 0.932947 -0.000017 + 5 0.532126 0.106060 + 6 0.303509 0.236202 + 7 0.173113 0.310665 + 8 0.098739 0.294696 + 9 0.056318 0.153898 + 10 0.032122 0.042337 +P 1 + 1 1.336968 1.000000 +P 1 + 1 0.652035 1.000000 +P 1 + 1 0.317995 1.000000 +P 1 + 1 0.155085 1.000000 +P 1 + 1 0.072391 1.000000 +D 1 + 1 2.145983 1.000000 +D 1 + 1 0.828929 1.000000 +D 1 + 1 0.320190 1.000000 +D 1 + 1 0.123680 1.000000 +D 1 + 1 0.047779 1.000000 +F 1 + 1 0.756775 1.000000 +F 1 + 1 0.357607 1.000000 +F 1 + 1 0.168984 1.000000 +F 1 + 1 0.073194 1.000000 +G 1 + 1 0.702896 1.000000 +G 1 + 1 0.316879 1.000000 +G 1 + 1 0.146875 1.000000 +H 1 + 1 0.575435 1.000000 +H 1 + 1 0.306338 1.000000 + +PHOSPHORUS +S 10 + 1 5.054268 0.001781 + 2 3.094719 0.077653 + 3 1.894891 -0.312344 + 4 1.160239 -0.045804 + 5 0.710412 -0.029427 + 6 0.434984 0.318560 + 7 0.266340 0.309169 + 8 0.163080 0.376899 + 9 0.099853 0.152113 + 10 0.061140 0.054943 +S 1 + 1 0.880402 1.000000 +S 1 + 1 0.402152 1.000000 +S 1 + 1 0.183696 1.000000 +S 1 + 1 0.083909 1.000000 +S 1 + 1 0.033844 1.000000 +P 10 + 1 5.861284 -0.003160 + 2 3.406365 0.007462 + 3 1.979655 -0.060893 + 4 1.150503 0.015297 + 5 0.668631 0.123431 + 6 0.388584 0.257276 + 7 0.225831 0.305131 + 8 0.131245 0.276016 + 9 0.076275 0.134133 + 10 0.044328 0.040073 +P 1 + 1 1.818940 1.000000 +P 1 + 1 0.887311 1.000000 +P 1 + 1 0.432846 1.000000 +P 1 + 1 0.211150 1.000000 +P 1 + 1 0.027376 1.000000 +D 1 + 1 2.631593 1.000000 +D 1 + 1 1.041129 1.000000 +D 1 + 1 0.411898 1.000000 +D 1 + 1 0.162958 1.000000 +D 1 + 1 0.059481 1.000000 +F 1 + 1 1.006219 1.000000 +F 1 + 1 0.473918 1.000000 +F 1 + 1 0.223210 1.000000 +F 1 + 1 0.089747 1.000000 +G 1 + 1 0.912065 1.000000 +G 1 + 1 0.408483 1.000000 +G 1 + 1 0.178650 1.000000 +H 1 + 1 0.739580 1.000000 +H 1 + 1 0.358149 1.000000 + +SULFUR +S 10 + 1 14.052570 0.002102 + 2 7.864913 -0.011042 + 3 4.401818 0.086618 + 4 2.463600 -0.271004 + 5 1.378823 -0.151274 + 6 0.771696 0.136044 + 7 0.431901 0.394360 + 8 0.241726 0.432098 + 9 0.135289 0.230974 + 10 0.075718 0.051205 +S 1 + 1 1.063029 1.000000 +S 1 + 1 0.493066 1.000000 +S 1 + 1 0.228700 1.000000 +S 1 + 1 0.106078 1.000000 +S 1 + 1 0.052553 1.000000 +P 10 + 1 6.808844 -0.003573 + 2 3.941560 0.001903 + 3 2.281723 -0.065016 + 4 1.320863 0.042305 + 5 0.764632 0.158772 + 6 0.442637 0.278172 + 7 0.256237 0.293821 + 8 0.148333 0.248015 + 9 0.085868 0.114905 + 10 0.049708 0.032934 +P 1 + 1 2.340619 1.000000 +P 1 + 1 1.091901 1.000000 +P 1 + 1 0.509373 1.000000 +P 1 + 1 0.237623 1.000000 +P 1 + 1 0.130591 1.000000 +D 1 + 1 2.970037 1.000000 +D 1 + 1 1.199940 1.000000 +D 1 + 1 0.484794 1.000000 +D 1 + 1 0.195864 1.000000 +D 1 + 1 0.082302 1.000000 +F 1 + 1 1.247601 1.000000 +F 1 + 1 0.566437 1.000000 +F 1 + 1 0.257174 1.000000 +F 1 + 1 0.114058 1.000000 +G 1 + 1 1.084319 1.000000 +G 1 + 1 0.461540 1.000000 +G 1 + 1 0.216088 1.000000 +H 1 + 1 0.868299 1.000000 +H 1 + 1 0.457479 1.000000 + +CHLORINE +S 10 + 1 15.583847 0.002501 + 2 8.858485 -0.010046 + 3 5.035519 0.085810 + 4 2.862391 -0.290136 + 5 1.627098 -0.140314 + 6 0.924908 0.146839 + 7 0.525755 0.392484 + 8 0.298860 0.425061 + 9 0.169884 0.227195 + 10 0.096569 0.059828 +S 1 + 1 1.312097 1.000000 +S 1 + 1 0.611646 1.000000 +S 1 + 1 0.285124 1.000000 +S 1 + 1 0.132913 1.000000 +S 1 + 1 0.065045 1.000000 +P 10 + 1 7.682894 -0.004609 + 2 4.507558 -0.001798 + 3 2.644587 -0.068614 + 4 1.551581 0.062352 + 5 0.910313 0.166337 + 6 0.534081 0.282292 + 7 0.313346 0.275967 + 8 0.183840 0.241328 + 9 0.107859 0.110223 + 10 0.063281 0.040289 +P 1 + 1 2.989744 1.000000 +P 1 + 1 1.418767 1.000000 +P 1 + 1 0.673268 1.000000 +P 1 + 1 0.319496 1.000000 +P 1 + 1 0.168796 1.000000 +D 1 + 1 3.508629 1.000000 +D 1 + 1 1.434082 1.000000 +D 1 + 1 0.586152 1.000000 +D 1 + 1 0.239578 1.000000 +D 1 + 1 0.103095 1.000000 +F 1 + 1 1.580619 1.000000 +F 1 + 1 0.721906 1.000000 +F 1 + 1 0.329711 1.000000 +F 1 + 1 0.159627 1.000000 +G 1 + 1 1.330843 1.000000 +G 1 + 1 0.560558 1.000000 +G 1 + 1 0.272474 1.000000 +H 1 + 1 1.054587 1.000000 +H 1 + 1 0.578705 1.000000 + +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 +S 1 + 1 0.279981 1.00000000 +S 1 + 1 0.130352 1.00000000 +S 1 + 1 0.060689 1.00000000 +S 1 + 1 0.028255 1.00000000 +S 1 + 1 0.013155 1.00000000 +S 1 + 1 0.006578 1.00000000 +P 1 + 1 0.156073 1.00000000 +P 1 + 1 0.081288 1.00000000 +P 1 + 1 0.042338 1.00000000 +P 1 + 1 0.022051 1.00000000 +P 1 + 1 0.011485 1.00000000 +P 1 + 1 0.005743 1.00000000 +D 1 + 1 0.120204 1.00000000 +D 1 + 1 0.048011 1.00000000 +D 1 + 1 0.019176 1.00000000 +D 1 + 1 0.007659 1.00000000 +D 1 + 1 0.003830 1.00000000 +F 1 + 1 0.239153 1.00000000 +F 1 + 1 0.119089 1.00000000 +F 1 + 1 0.059302 1.00000000 +F 1 + 1 0.029651 1.00000000 +G 1 + 1 0.143170 1.00000000 +G 1 + 1 0.079847 1.00000000 +G 1 + 1 0.039924 1.00000000 +H 1 + 1 0.138324 1.00000000 +H 1 + 1 0.069162 1.00000000 + +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 0.327434 1.00000000 +S 1 + 1 0.142435 1.00000000 +S 1 + 1 0.079140 1.00000000 +S 1 + 1 0.037693 1.00000000 +S 1 + 1 0.018160 1.00000000 +S 1 + 1 0.006500 1.00000000 +P 1 + 1 0.467685 1.00000000 +P 1 + 1 0.233432 1.00000000 +P 1 + 1 0.093217 1.00000000 +P 1 + 1 0.041977 1.00000000 +P 1 + 1 0.018692 1.00000000 +P 1 + 1 0.004800 1.00000000 +D 1 + 1 0.502634 1.00000000 +D 1 + 1 0.189583 1.00000000 +D 1 + 1 0.070604 1.00000000 +D 1 + 1 0.025792 1.00000000 +D 1 + 1 0.004100 1.00000000 +F 1 + 1 0.736000 1.00000000 +F 1 + 1 0.247100 1.00000000 +F 1 + 1 0.083000 1.00000000 +F 1 + 1 0.027700 1.00000000 +G 1 + 1 0.290200 1.00000000 +G 1 + 1 0.096300 1.00000000 +G 1 + 1 0.032200 1.00000000 +H 1 + 1 0.278500 1.00000000 +H 1 + 1 0.057600 1.00000000 + +SCANDIUM +S 13 + 1 66.882574 0.00055300 + 2 33.776681 -0.00511500 + 3 18.185884 0.00416100 + 4 11.748619 0.12160300 + 5 6.895190 -0.27013700 + 6 3.222124 -0.32441000 + 7 1.772120 0.29116200 + 8 0.841163 0.62893100 + 9 0.471976 0.27340600 + 10 0.313224 0.13535200 + 11 0.101013 0.00804100 + 12 0.049071 -0.00261000 + 13 0.022782 0.00059700 +S 13 + 1 66.882574 -0.00013900 + 2 33.776681 0.00134500 + 3 18.185884 -0.00144500 + 4 11.748619 -0.03208200 + 5 6.895190 0.07550600 + 6 3.222124 0.08992700 + 7 1.772120 -0.09008600 + 8 0.841163 -0.21644400 + 9 0.471976 -0.17925000 + 10 0.313224 -0.12816000 + 11 0.101013 0.33793500 + 12 0.049071 0.60918100 + 13 0.022782 0.24418100 +S 13 + 1 66.882574 -0.00067900 + 2 33.776681 0.00545600 + 3 18.185884 -0.01668400 + 4 11.748619 -0.03173900 + 5 6.895190 0.10956000 + 6 3.222124 0.23329300 + 7 1.772120 -0.31020700 + 8 0.841163 -0.24508300 + 9 0.471976 -1.17524800 + 10 0.313224 1.03235900 + 11 0.101013 1.59903900 + 12 0.049071 -0.62399000 + 13 0.022782 -0.84749800 +S 13 + 1 66.882574 -0.00145200 + 2 33.776681 0.01136200 + 3 18.185884 -0.03987600 + 4 11.748619 -0.02581000 + 5 6.895190 0.15794300 + 6 3.222124 0.45286800 + 7 1.772120 -0.76658700 + 8 0.841163 -0.60780000 + 9 0.471976 -1.71600200 + 10 0.313224 3.61400300 + 11 0.101013 -0.56948000 + 12 0.049071 -2.25596700 + 13 0.022782 1.91016000 +S 13 + 1 66.882574 0.00043000 + 2 33.776681 -0.00113700 + 3 18.185884 0.02081200 + 4 11.748619 -0.18957800 + 5 6.895190 0.43867600 + 6 3.222124 0.26761800 + 7 1.772120 -0.73280800 + 8 0.841163 -3.04424000 + 9 0.471976 5.47606700 + 10 0.313224 -1.01760200 + 11 0.101013 -5.01443900 + 12 0.049071 6.15979200 + 13 0.022782 -2.69036800 +S 13 + 1 66.882574 0.00024200 + 2 33.776681 -0.00502700 + 3 18.185884 -0.00112700 + 4 11.748619 0.26943700 + 5 6.895190 -0.78145300 + 6 3.222124 -0.63475600 + 7 1.772120 3.60158600 + 8 0.841163 -0.10790900 + 9 0.471976 -12.73645800 + 10 0.313224 14.34975300 + 11 0.101013 -8.02316200 + 12 0.049071 6.21689300 + 13 0.022782 -2.06426000 +S 1 + 1 0.022782 1.00000000 +S 1 + 1 0.011000 1.00000000 +P 13 + 1 77.690832 0.00008800 + 2 39.751864 -0.00075400 + 3 20.615633 0.00658400 + 4 11.537150 -0.00718900 + 5 7.597186 -0.06890300 + 6 3.765117 -0.01384200 + 7 2.051006 0.24870400 + 8 1.048648 0.43432800 + 9 0.550231 0.32690600 + 10 0.303840 0.10461700 + 11 0.165809 0.01851200 + 12 0.060419 0.00139500 + 13 0.024751 0.00009300 +P 13 + 1 77.690832 0.00001700 + 2 39.751864 -0.00002600 + 3 20.615633 -0.00086100 + 4 11.537150 -0.00048300 + 5 7.597186 0.02136400 + 6 3.765117 -0.00370600 + 7 2.051006 -0.05871800 + 8 1.048648 -0.14336400 + 9 0.550231 -0.07728000 + 10 0.303840 -0.10776400 + 11 0.165809 0.32285900 + 12 0.060419 0.62172600 + 13 0.024751 0.25378700 +P 13 + 1 77.690832 -0.00006300 + 2 39.751864 0.00054900 + 3 20.615633 -0.00512000 + 4 11.537150 0.00701100 + 5 7.597186 0.05366100 + 6 3.765117 0.00357400 + 7 2.051006 -0.23586100 + 8 1.048648 -0.49480100 + 9 0.550231 -0.22957500 + 10 0.303840 0.91797300 + 11 0.165809 0.62115500 + 12 0.060419 -0.82464800 + 13 0.024751 -0.15759200 +P 13 + 1 77.690832 -0.00024300 + 2 39.751864 0.00156800 + 3 20.615633 -0.00955400 + 4 11.537150 0.01802000 + 5 7.597186 0.05100800 + 6 3.765117 0.04328000 + 7 2.051006 -0.40417800 + 8 1.048648 -0.82490400 + 9 0.550231 0.71001400 + 10 0.303840 2.22525500 + 11 0.165809 -2.74290300 + 12 0.060419 0.58142300 + 13 0.024751 0.48091000 +P 13 + 1 77.690832 -0.00025600 + 2 39.751864 0.00108400 + 3 20.615633 0.00040000 + 4 11.537150 0.02195600 + 5 7.597186 -0.16269400 + 6 3.765117 0.00037100 + 7 2.051006 1.05365400 + 8 1.048648 0.65865100 + 9 0.550231 -4.72226800 + 10 0.303840 5.40799300 + 11 0.165809 -2.00216600 + 12 0.060419 -0.71482200 + 13 0.024751 0.92680100 +P 13 + 1 77.690832 -0.00390100 + 2 39.751864 0.02143200 + 3 20.615633 -0.08584900 + 4 11.537150 0.25570200 + 5 7.597186 -0.24426600 + 6 3.765117 0.62236300 + 7 2.051006 -2.77179400 + 8 1.048648 3.61583800 + 9 0.550231 -0.69783100 + 10 0.303840 -3.54879700 + 11 0.165809 4.29188800 + 12 0.060419 -2.92420100 + 13 0.024751 1.61346300 +P 1 + 1 0.024751 1.00000000 +P 1 + 1 0.012000 1.00000000 +D 11 + 1 60.996829 0.00005600 + 2 22.097637 0.00505400 + 3 10.186744 0.03222300 + 4 4.633892 0.08247900 + 5 2.146927 0.15936300 + 6 1.014536 0.22860400 + 7 0.487206 0.24369100 + 8 0.248191 0.23165100 + 9 0.131273 0.19543100 + 10 0.063714 0.21458900 + 11 0.021542 0.07411300 +D 11 + 1 60.996829 -0.00007200 + 2 22.097637 -0.00607900 + 3 10.186744 -0.03905400 + 4 4.633892 -0.10065200 + 5 2.146927 -0.19433000 + 6 1.014536 -0.25355600 + 7 0.487206 -0.21355600 + 8 0.248191 0.05418200 + 9 0.131273 0.26118800 + 10 0.063714 0.52021500 + 11 0.021542 0.16690700 +D 11 + 1 60.996829 0.00005400 + 2 22.097637 0.00819500 + 3 10.186744 0.05007300 + 4 4.633892 0.13617400 + 5 2.146927 0.24651600 + 6 1.014536 0.25815800 + 7 0.487206 -0.12479900 + 8 0.248191 -0.43908100 + 9 0.131273 -0.47534700 + 10 0.063714 0.52718700 + 11 0.021542 0.47337300 +D 11 + 1 60.996829 -0.00013200 + 2 22.097637 -0.01019500 + 3 10.186744 -0.06681500 + 4 4.633892 -0.17925500 + 5 2.146927 -0.33873300 + 6 1.014536 -0.14578400 + 7 0.487206 0.70044400 + 8 0.248191 0.51197600 + 9 0.131273 -1.01912300 + 10 0.063714 -0.09222100 + 11 0.021542 0.69667500 +D 11 + 1 60.996829 -0.00029800 + 2 22.097637 -0.01395600 + 3 10.186744 -0.09848700 + 4 4.633892 -0.25947100 + 5 2.146927 -0.44684300 + 6 1.014536 0.52521200 + 7 0.487206 1.06147800 + 8 0.248191 -1.66905500 + 9 0.131273 0.14972100 + 10 0.063714 1.01628900 + 11 0.021542 -0.74556300 +D 1 + 1 0.021542 1.00000000 +D 1 + 1 0.010000 1.00000000 +F 1 + 1 0.033734 1.00000000 +F 1 + 1 0.096700 1.00000000 +F 1 + 1 0.277193 1.00000000 +F 1 + 1 0.794579 1.00000000 +F 1 + 1 2.277680 1.00000000 +G 1 + 1 0.043958 1.00000000 +G 1 + 1 0.147726 1.00000000 +G 1 + 1 0.496450 1.00000000 +G 1 + 1 1.668377 1.00000000 +H 1 + 1 0.370749 1.00000000 +H 1 + 1 0.730205 1.00000000 +H 1 + 1 1.438169 1.00000000 +I 1 + 1 0.473293 1.00000000 +I 1 + 1 2.384691 1.00000000 + +TITANIUM +S 13 + 1 68.910511 0.00061600 + 2 33.720700 -0.00750100 + 3 18.159676 0.01221800 + 4 12.419305 0.14473900 + 5 7.532195 -0.32862100 + 6 3.504444 -0.31751700 + 7 1.910727 0.35742200 + 8 0.888840 0.67140600 + 9 0.447198 0.28222600 + 10 0.281192 0.03867300 + 11 0.100258 0.00455900 + 12 0.046525 -0.00156500 + 13 0.021840 0.00039800 +S 13 + 1 68.910511 -0.00015600 + 2 33.720700 0.00196600 + 3 18.159676 -0.00399400 + 4 12.419305 -0.03637700 + 5 7.532195 0.08859300 + 6 3.504444 0.08563000 + 7 1.910727 -0.10599300 + 8 0.888840 -0.23742100 + 9 0.447198 -0.23535900 + 10 0.281192 -0.01296000 + 11 0.100258 0.43358200 + 12 0.046525 0.57787300 + 13 0.021840 0.16436000 +S 13 + 1 68.910511 0.00063500 + 2 33.720700 -0.00646800 + 3 18.159676 0.02344400 + 4 12.419305 0.03892100 + 5 7.532195 -0.14118000 + 6 3.504444 -0.21476500 + 7 1.910727 0.32015100 + 8 0.888840 0.45106200 + 9 0.447198 0.85519100 + 10 0.281192 -1.20922400 + 11 0.100258 -1.31948100 + 12 0.046525 0.86651700 + 13 0.021840 0.61891600 +S 13 + 1 68.910511 -0.00117800 + 2 33.720700 0.01187700 + 3 18.159676 -0.04724000 + 4 12.419305 -0.05092200 + 5 7.532195 0.23774600 + 6 3.504444 0.40318500 + 7 1.910727 -0.79096100 + 8 0.888840 -1.10227600 + 9 0.447198 0.20944600 + 10 0.281192 2.52735200 + 11 0.100258 -1.78904100 + 12 0.046525 -0.86784200 + 13 0.021840 1.42739500 +S 13 + 1 68.910511 0.00011500 + 2 33.720700 0.00283300 + 3 18.159676 0.00614100 + 4 12.419305 -0.20968200 + 5 7.532195 0.51836700 + 6 3.504444 0.30416400 + 7 1.910727 -1.23286300 + 8 0.888840 -2.09050800 + 9 0.447198 7.09271500 + 10 0.281192 -4.54374400 + 11 0.100258 -2.24827000 + 12 0.046525 4.47391800 + 13 0.021840 -2.42629600 +S 13 + 1 68.910511 -0.00502200 + 2 33.720700 0.04581200 + 3 18.159676 -0.22302100 + 4 12.419305 0.09844300 + 5 7.532195 0.47843000 + 6 3.504444 1.06108500 + 7 1.910727 -4.89319600 + 8 0.888840 4.88955200 + 9 0.447198 2.48209600 + 10 0.281192 -7.42136100 + 11 0.100258 7.32453500 + 12 0.046525 -6.28225700 + 13 0.021840 2.41326500 +S 1 + 1 0.021840 1.00000000 +S 1 + 1 0.010000 1.00000000 +P 13 + 1 84.914002 0.00009300 + 2 42.855051 -0.00083600 + 3 21.700131 0.00867900 + 4 12.214690 -0.01117800 + 5 8.319164 -0.07776700 + 6 4.091071 -0.00611300 + 7 2.286543 0.27182800 + 8 1.159810 0.45958500 + 9 0.591343 0.31590000 + 10 0.312862 0.07168300 + 11 0.184828 0.01054100 + 12 0.068590 0.00004500 + 13 0.026791 -0.00083700 +P 13 + 1 84.914002 0.00002000 + 2 42.855051 -0.00004900 + 3 21.700131 -0.00076100 + 4 12.214690 -0.00057500 + 5 8.319164 0.01828400 + 6 4.091071 -0.00594300 + 7 2.286543 -0.04321200 + 8 1.159810 -0.11251300 + 9 0.591343 -0.05207300 + 10 0.312862 -0.09226300 + 11 0.184828 0.24394600 + 12 0.068590 0.41310100 + 13 0.026791 0.54398500 +P 13 + 1 84.914002 0.00001900 + 2 42.855051 0.00013800 + 3 21.700131 -0.00462200 + 4 12.214690 0.00446500 + 5 8.319164 0.06576000 + 6 4.091071 -0.01892700 + 7 2.286543 -0.22252400 + 8 1.159810 -0.52389000 + 9 0.591343 -0.07127700 + 10 0.312862 0.81271200 + 11 0.184828 0.62549800 + 12 0.068590 -0.81218900 + 13 0.026791 -0.18579600 +P 13 + 1 84.914002 -0.00025700 + 2 42.855051 0.00172500 + 3 21.700131 -0.01264600 + 4 12.214690 0.02906200 + 5 8.319164 0.05897900 + 6 4.091071 0.03080600 + 7 2.286543 -0.52437300 + 8 1.159810 -0.72096800 + 9 0.591343 1.02320400 + 10 0.312862 1.97387400 + 11 0.184828 -2.80509200 + 12 0.068590 0.60795400 + 13 0.026791 0.44765300 +P 13 + 1 84.914002 0.00027100 + 2 42.855051 -0.00190200 + 3 21.700131 0.01541200 + 4 12.214690 -0.03758600 + 5 8.319164 -0.12453600 + 6 4.091071 0.04081200 + 7 2.286543 1.34382300 + 8 1.159810 -0.26941100 + 9 0.591343 -3.72959000 + 10 0.312862 5.88498300 + 11 0.184828 -3.11385300 + 12 0.068590 -0.25697300 + 13 0.026791 0.71073300 +P 13 + 1 84.914002 -0.00374600 + 2 42.855051 0.02080700 + 3 21.700131 -0.09320200 + 4 12.214690 0.32919000 + 5 8.319164 -0.26508700 + 6 4.091071 0.35306800 + 7 2.286543 -2.77876500 + 8 1.159810 4.95982700 + 9 0.591343 -3.87445400 + 10 0.312862 -0.17839700 + 11 0.184828 2.64474200 + 12 0.068590 -2.41663200 + 13 0.026791 1.41897300 +P 1 + 1 0.026791 1.00000000 +P 1 + 1 0.013000 1.00000000 +D 11 + 1 77.434559 0.00002200 + 2 27.708477 0.00421800 + 3 12.914284 0.03008700 + 4 6.062674 0.08482100 + 5 2.863898 0.17111000 + 6 1.386559 0.24745100 + 7 0.677058 0.27731000 + 8 0.329864 0.26107700 + 9 0.159474 0.19033600 + 10 0.076174 0.11938500 + 11 0.028570 0.03129700 +D 11 + 1 77.434559 -0.00002500 + 2 27.708477 -0.00431100 + 3 12.914284 -0.03091300 + 4 6.062674 -0.08804900 + 5 2.863898 -0.17833000 + 6 1.386559 -0.23433500 + 7 0.677058 -0.19577500 + 8 0.329864 0.06587200 + 9 0.159474 0.33053600 + 10 0.076174 0.46122900 + 11 0.028570 0.18427300 +D 11 + 1 77.434559 0.00001000 + 2 27.708477 0.00618700 + 3 12.914284 0.04263000 + 4 6.062674 0.12752400 + 5 2.863898 0.24828900 + 6 1.386559 0.25976100 + 7 0.677058 -0.07079400 + 8 0.329864 -0.51939600 + 9 0.159474 -0.37365800 + 10 0.076174 0.45506700 + 11 0.028570 0.48958600 +D 11 + 1 77.434559 0.00001100 + 2 27.708477 -0.00802600 + 3 12.914284 -0.05387500 + 4 6.062674 -0.16879500 + 5 2.863898 -0.31234400 + 6 1.386559 -0.17203100 + 7 0.677058 0.58763300 + 8 0.329864 0.52859200 + 9 0.159474 -0.85964400 + 10 0.076174 -0.27383100 + 11 0.028570 0.80275400 +D 11 + 1 77.434559 -0.00001300 + 2 27.708477 -0.01172700 + 3 12.914284 -0.08166200 + 4 6.062674 -0.26347400 + 5 2.863898 -0.44608900 + 6 1.386559 0.34288500 + 7 0.677058 1.15809700 + 8 0.329864 -1.39803900 + 9 0.159474 -0.13932000 + 10 0.076174 1.17395400 + 11 0.028570 -0.80232000 +D 1 + 1 0.028570 1.00000000 +D 1 + 1 0.014000 1.00000000 +F 1 + 1 0.047687 1.00000000 +F 1 + 1 0.141956 1.00000000 +F 1 + 1 0.422577 1.00000000 +F 1 + 1 1.257932 1.00000000 +F 1 + 1 3.744629 1.00000000 +G 1 + 1 0.085644 1.00000000 +G 1 + 1 0.268404 1.00000000 +G 1 + 1 0.841165 1.00000000 +G 1 + 1 2.636172 1.00000000 +H 1 + 1 0.143461 1.00000000 +H 1 + 1 0.518283 1.00000000 +H 1 + 1 1.872404 1.00000000 +I 1 + 1 0.372799 1.00000000 +I 1 + 1 0.927112 1.00000000 + +VANADIUM +S 13 + 1 68.577621 0.00080400 + 2 34.937147 -0.01159400 + 3 17.939491 0.09220900 + 4 11.262123 -0.04547700 + 5 6.776264 -0.28798300 + 6 3.524091 -0.21764800 + 7 1.938421 0.40750900 + 8 0.927153 0.65819300 + 9 0.448420 0.25523400 + 10 0.209668 0.00862000 + 11 0.103660 0.00273400 + 12 0.050630 -0.00116100 + 13 0.024201 0.00029400 +S 13 + 1 68.577621 -0.00017700 + 2 34.937147 0.00279100 + 3 17.939491 -0.02365000 + 4 11.262123 0.01250400 + 5 6.776264 0.07876100 + 6 3.524091 0.05497400 + 7 1.938421 -0.11895500 + 8 0.927153 -0.24534100 + 9 0.448420 -0.22295900 + 10 0.209668 0.04780900 + 11 0.103660 0.41537400 + 12 0.050630 0.54088000 + 13 0.024201 0.18342100 +S 13 + 1 68.577621 -0.00058300 + 2 34.937147 0.00957000 + 3 17.939491 -0.08560600 + 4 11.262123 0.04842600 + 5 6.776264 0.33123900 + 6 3.524091 0.14035200 + 7 1.938421 -0.90796200 + 8 0.927153 -0.50387800 + 9 0.448420 0.39893800 + 10 0.209668 0.97113100 + 11 0.103660 0.42399900 + 12 0.050630 -0.62864600 + 13 0.024201 -0.46749500 +S 13 + 1 68.577621 -0.00076500 + 2 34.937147 0.01452900 + 3 17.939491 -0.13961800 + 4 11.262123 0.06307300 + 5 6.776264 0.70419300 + 6 3.524091 -0.01160200 + 7 1.938421 -2.31160400 + 8 0.927153 0.76826900 + 9 0.448420 2.16892000 + 10 0.209668 -1.06267100 + 11 0.103660 -1.21815100 + 12 0.050630 0.34080900 + 13 0.024201 0.71332200 +S 13 + 1 68.577621 -0.00356700 + 2 34.937147 0.01000700 + 3 17.939491 0.04020200 + 4 11.262123 0.34329500 + 5 6.776264 -2.09702200 + 6 3.524091 2.80403900 + 7 1.938421 1.20663800 + 8 0.927153 -4.50572400 + 9 0.448420 2.15832500 + 10 0.209668 2.12989200 + 11 0.103660 -2.26503700 + 12 0.050630 -0.68105100 + 13 0.024201 1.25786200 +S 13 + 1 68.577621 -0.00349500 + 2 34.937147 0.00042500 + 3 17.939491 0.17364100 + 4 11.262123 0.27067600 + 5 6.776264 -3.72961400 + 6 3.524091 9.16051900 + 7 1.938421 -7.57229300 + 8 0.927153 -0.10606800 + 9 0.448420 5.60709100 + 10 0.209668 -6.00811100 + 11 0.103660 1.90641600 + 12 0.050630 1.90268500 + 13 0.024201 -1.57531500 +S 1 + 1 0.024201 1.00000000 +S 1 + 1 0.012000 1.00000000 +P 13 + 1 96.215967 0.00006900 + 2 49.579340 -0.00067200 + 3 25.638009 0.00819900 + 4 14.025942 -0.02710800 + 5 8.740334 -0.05302100 + 6 4.634840 0.00500200 + 7 2.553374 0.26198600 + 8 1.321166 0.43354400 + 9 0.681285 0.32494700 + 10 0.349458 0.09234200 + 11 0.172773 0.00896400 + 12 0.063300 0.00118500 + 13 0.033969 0.00010400 +P 13 + 1 96.215967 0.00004000 + 2 49.579340 -0.00013300 + 3 25.638009 -0.00095500 + 4 14.025942 0.00371900 + 5 8.740334 0.01886600 + 6 4.634840 -0.01207400 + 7 2.553374 -0.05710700 + 8 1.321166 -0.14643300 + 9 0.681285 -0.06736500 + 10 0.349458 -0.06825400 + 11 0.172773 0.40310300 + 12 0.063300 0.50266800 + 13 0.033969 0.26129100 +P 13 + 1 96.215967 -0.00005300 + 2 49.579340 0.00002300 + 3 25.638009 0.00462900 + 4 14.025942 -0.00775500 + 5 8.740334 -0.10413300 + 6 4.634840 -0.01776200 + 7 2.553374 0.72821200 + 8 1.321166 0.21882600 + 9 0.681285 -0.49322300 + 10 0.349458 -0.83819200 + 11 0.172773 0.39840100 + 12 0.063300 0.66458900 + 13 0.033969 0.03301100 +P 13 + 1 96.215967 -0.00126200 + 2 49.579340 0.00641900 + 3 25.638009 -0.02122900 + 4 14.025942 0.11577700 + 5 8.740334 -0.42074000 + 6 4.634840 0.19774200 + 7 2.553374 1.57560000 + 8 1.321166 -1.06791300 + 9 0.681285 -1.31008300 + 10 0.349458 1.19114700 + 11 0.172773 0.55051600 + 12 0.063300 -0.71878800 + 13 0.033969 -0.15744100 +P 13 + 1 96.215967 -0.00478000 + 2 49.579340 0.02531200 + 3 25.638009 -0.09426700 + 4 14.025942 0.43789600 + 5 8.740334 -1.44316600 + 6 4.634840 2.63678000 + 7 2.553374 -0.38243600 + 8 1.321166 -2.76188100 + 9 0.681285 2.15975600 + 10 0.349458 0.67615100 + 11 0.172773 -1.62151700 + 12 0.063300 0.42916400 + 13 0.033969 0.40017800 +P 13 + 1 96.215967 0.00319600 + 2 49.579340 -0.01674000 + 3 25.638009 0.07050700 + 4 14.025942 -0.16152300 + 5 8.740334 -0.90376500 + 6 4.634840 4.91640900 + 7 2.553374 -6.34586700 + 8 1.321166 2.97416800 + 9 0.681285 1.41665700 + 10 0.349458 -3.39692200 + 11 0.172773 2.17013500 + 12 0.063300 -0.05908100 + 13 0.033969 -0.60399500 +P 1 + 1 0.033969 1.00000000 +P 1 + 1 0.016000 1.00000000 +D 11 + 1 89.989649 0.00005100 + 2 33.132961 0.00480400 + 3 15.879656 0.02948500 + 4 7.465803 0.08624900 + 5 3.551993 0.17972800 + 6 1.728185 0.26185000 + 7 0.850498 0.29179400 + 8 0.417673 0.25935600 + 9 0.201523 0.17494400 + 10 0.100711 0.06227800 + 11 0.058959 0.02765300 +D 11 + 1 89.989649 -0.00003800 + 2 33.132961 -0.00459000 + 3 15.879656 -0.02756300 + 4 7.465803 -0.08277500 + 5 3.551993 -0.17349400 + 6 1.728185 -0.23618800 + 7 0.850498 -0.14922600 + 8 0.417673 0.04414500 + 9 0.201523 0.39050000 + 10 0.100711 0.20306400 + 11 0.058959 0.39800200 +D 11 + 1 89.989649 0.00012800 + 2 33.132961 0.00665200 + 3 15.879656 0.04463500 + 4 7.465803 0.12255900 + 5 3.551993 0.31114700 + 6 1.728185 0.28881300 + 7 0.850498 -0.14224600 + 8 0.417673 -0.61373700 + 9 0.201523 -0.12391600 + 10 0.100711 -0.02023500 + 11 0.058959 0.73325900 +D 11 + 1 89.989649 0.00004500 + 2 33.132961 -0.01039400 + 3 15.879656 -0.05505100 + 4 7.465803 -0.17145700 + 5 3.551993 -0.51992200 + 6 1.728185 0.09902600 + 7 0.850498 0.82933200 + 8 0.417673 -0.07090800 + 9 0.201523 -0.47117100 + 10 0.100711 -0.87878900 + 11 0.058959 1.21174700 +D 11 + 1 89.989649 0.00186400 + 2 33.132961 -0.03115700 + 3 15.879656 -0.04978300 + 4 7.465803 -0.53262200 + 5 3.551993 -0.46373800 + 6 1.728185 1.44037300 + 7 0.850498 -0.38405900 + 8 0.417673 -0.78370500 + 9 0.201523 0.10773300 + 10 0.100711 1.43533300 + 11 0.058959 -1.21509400 +D 1 + 1 0.058959 1.00000000 +D 1 + 1 0.027000 1.00000000 +F 1 + 1 0.077911 1.00000000 +F 1 + 1 0.222627 1.00000000 +F 1 + 1 0.636150 1.00000000 +F 1 + 1 1.817778 1.00000000 +F 1 + 1 5.194245 1.00000000 +G 1 + 1 0.207787 1.00000000 +G 1 + 1 0.567011 1.00000000 +G 1 + 1 1.547265 1.00000000 +G 1 + 1 4.222190 1.00000000 +H 1 + 1 0.436881 1.00000000 +H 1 + 1 1.277114 1.00000000 +H 1 + 1 3.733326 1.00000000 +I 1 + 1 1.400000 1.00000000 +I 1 + 1 3.121626 1.00000000 + +CHROMIUM +S 13 + 1 73.977737 0.00086400 + 2 37.684349 -0.01159500 + 3 19.278723 0.09046700 + 4 12.130763 -0.02483700 + 5 7.453002 -0.33040700 + 6 3.756296 -0.20059800 + 7 2.084137 0.44976600 + 8 0.993314 0.64757500 + 9 0.483094 0.22902500 + 10 0.225854 0.00921700 + 11 0.115338 0.00113200 + 12 0.052134 -0.00036700 + 13 0.023679 0.00009200 +S 13 + 1 73.977737 -0.00018300 + 2 37.684349 0.00270400 + 3 19.278723 -0.02265000 + 4 12.130763 0.00718100 + 5 7.453002 0.08770500 + 6 3.756296 0.04761600 + 7 2.084137 -0.12567200 + 8 0.993314 -0.24457100 + 9 0.483094 -0.19841900 + 10 0.225854 0.03088900 + 11 0.115338 0.42393500 + 12 0.052134 0.57694100 + 13 0.023679 0.14832300 +S 13 + 1 73.977737 -0.00032700 + 2 37.684349 0.00530900 + 3 19.278723 -0.04690500 + 4 12.130763 0.01541100 + 5 7.453002 0.19169700 + 6 3.756296 0.09975900 + 7 2.084137 -0.33899400 + 8 0.993314 -0.69580600 + 9 0.483094 -0.00731500 + 10 0.225854 1.11859900 + 11 0.115338 0.71725700 + 12 0.052134 -0.86856500 + 13 0.023679 -0.46718600 +S 13 + 1 73.977737 -0.00069800 + 2 37.684349 0.01020700 + 3 19.278723 -0.09126100 + 4 12.130763 0.05220700 + 5 7.453002 0.34216400 + 6 3.756296 0.17486600 + 7 2.084137 -0.99425800 + 8 0.993314 -1.19060400 + 9 0.483094 2.27183400 + 10 0.225854 1.00301300 + 11 0.115338 -2.60523500 + 12 0.052134 0.26515800 + 13 0.023679 0.90228600 +S 13 + 1 73.977737 0.00298300 + 2 37.684349 -0.02696900 + 3 19.278723 0.19930400 + 4 12.130763 -0.25709400 + 5 7.453002 -0.31292400 + 6 3.756296 -0.37282300 + 7 2.084137 2.61267600 + 8 0.993314 -1.10831900 + 9 0.483094 -3.52097300 + 10 0.225854 5.38631500 + 11 0.115338 -1.94819200 + 12 0.052134 -1.98569900 + 13 0.023679 1.70618700 +S 13 + 1 73.977737 -0.00503000 + 2 37.684349 0.04329800 + 3 19.278723 -0.31895300 + 4 12.130763 0.46095400 + 5 7.453002 0.49760800 + 6 3.756296 -0.04452100 + 7 2.084137 -4.50396700 + 8 0.993314 8.00572300 + 9 0.483094 -5.85396000 + 10 0.225854 -0.58924700 + 11 0.115338 5.46040600 + 12 0.052134 -5.53660500 + 13 0.023679 2.40098000 +S 1 + 1 0.023679 1.00000000 +S 1 + 1 0.011000 1.00000000 +P 13 + 1 101.951240 0.00008800 + 2 52.309865 -0.00074700 + 3 27.142574 0.00713500 + 4 15.066862 -0.01470200 + 5 9.693669 -0.07335300 + 6 4.985710 0.01200700 + 7 2.761266 0.28311700 + 8 1.417673 0.44078600 + 9 0.728201 0.30677500 + 10 0.378189 0.08180400 + 11 0.189359 0.00883900 + 12 0.072301 0.00102200 + 13 0.037471 0.00032500 +P 13 + 1 101.951240 0.00002800 + 2 52.309865 -0.00008500 + 3 27.142574 -0.00075100 + 4 15.066862 0.00084400 + 5 9.693669 0.02265600 + 6 4.985710 -0.01278100 + 7 2.761266 -0.06238600 + 8 1.417673 -0.14358100 + 9 0.728201 -0.06228100 + 10 0.378189 -0.05447100 + 11 0.189359 0.37713500 + 12 0.072301 0.47163300 + 13 0.037471 0.31162400 +P 13 + 1 101.951240 -0.00013700 + 2 52.309865 0.00093200 + 3 27.142574 -0.00684500 + 4 15.066862 0.01983100 + 5 9.693669 0.04364700 + 6 4.985710 -0.01928900 + 7 2.761266 -0.28118700 + 8 1.417673 -0.37029800 + 9 0.728201 -0.19987300 + 10 0.378189 1.02855200 + 11 0.189359 0.42371100 + 12 0.072301 -0.80092600 + 13 0.037471 -0.14191000 +P 13 + 1 101.951240 0.00002700 + 2 52.309865 0.00018000 + 3 27.142574 -0.00574200 + 4 15.066862 0.02041900 + 5 9.693669 0.10052700 + 6 4.985710 -0.10060800 + 7 2.761266 -0.60774600 + 8 1.417673 -0.60170500 + 9 0.728201 1.45090500 + 10 0.378189 0.67229900 + 11 0.189359 -1.90482300 + 12 0.072301 0.66581400 + 13 0.037471 0.34852200 +P 13 + 1 101.951240 0.00053400 + 2 52.309865 -0.00333900 + 3 27.142574 0.01766200 + 4 15.066862 -0.08424900 + 5 9.693669 -0.08077700 + 6 4.985710 0.27239200 + 7 2.761266 1.31045500 + 8 1.417673 -1.06179300 + 9 0.728201 -2.37680500 + 10 0.378189 4.47731700 + 11 0.189359 -2.79579800 + 12 0.072301 0.20300800 + 13 0.037471 0.57055500 +P 13 + 1 101.951240 0.00317100 + 2 52.309865 -0.01768100 + 3 27.142574 0.06746800 + 4 15.066862 -0.29076600 + 5 9.693669 0.17750700 + 6 4.985710 0.43340900 + 7 2.761266 2.00710400 + 8 1.417673 -6.01948100 + 9 0.728201 7.25807400 + 10 0.378189 -4.55824500 + 11 0.189359 0.80240900 + 12 0.072301 1.46140600 + 13 0.037471 -1.30932300 +P 1 + 1 0.037471 1.00000000 +P 1 + 1 0.018000 1.00000000 +D 11 + 1 120.683729 -0.00000600 + 2 42.646591 0.00311100 + 3 21.154405 0.02864100 + 4 9.708242 0.07622200 + 5 4.614990 0.17059500 + 6 2.243726 0.26690800 + 7 1.086491 0.31103900 + 8 0.524700 0.26731200 + 9 0.255752 0.16333600 + 10 0.121497 0.06278200 + 11 0.054339 0.00787200 +D 11 + 1 120.683729 0.00001700 + 2 42.646591 -0.00357600 + 3 21.154405 -0.03147600 + 4 9.708242 -0.08758300 + 5 4.614990 -0.19574000 + 6 2.243726 -0.27013200 + 7 1.086491 -0.17003400 + 8 0.524700 0.14341200 + 9 0.255752 0.40868700 + 10 0.121497 0.37025700 + 11 0.054339 0.12311200 +D 11 + 1 120.683729 0.00004000 + 2 42.646591 -0.00518100 + 3 21.154405 -0.04339300 + 4 9.708242 -0.12773400 + 5 4.614990 -0.28207000 + 6 2.243726 -0.28839000 + 7 1.086491 0.16826900 + 8 0.524700 0.67306200 + 9 0.255752 0.09919600 + 10 0.121497 -0.57061200 + 11 0.054339 -0.29719700 +D 11 + 1 120.683729 0.00011900 + 2 42.646591 -0.00795400 + 3 21.154405 -0.06042500 + 4 9.708242 -0.19681000 + 5 4.614990 -0.40138900 + 6 2.243726 -0.07218600 + 7 1.086491 0.94089500 + 8 0.524700 0.03586300 + 9 0.255752 -1.15352900 + 10 0.121497 0.43219200 + 11 0.054339 0.48316100 +D 11 + 1 120.683729 -0.00005500 + 2 42.646591 0.00855300 + 3 21.154405 0.07058300 + 4 9.708242 0.23887900 + 5 4.614990 0.46015900 + 6 2.243726 -0.56480100 + 7 1.086491 -0.95714200 + 8 0.524700 2.02722100 + 9 0.255752 -1.08791800 + 10 0.121497 -0.60621300 + 11 0.054339 0.92580400 +D 1 + 1 0.054339 1.00000000 +D 1 + 1 0.026000 1.00000000 +F 1 + 1 0.083055 1.00000000 +F 1 + 1 0.241298 1.00000000 +F 1 + 1 0.701040 1.00000000 +F 1 + 1 2.036722 1.00000000 +F 1 + 1 5.917263 1.00000000 +G 1 + 1 0.148673 1.00000000 +G 1 + 1 0.453904 1.00000000 +G 1 + 1 1.385784 1.00000000 +G 1 + 1 4.230847 1.00000000 +H 1 + 1 0.265950 1.00000000 +H 1 + 1 0.908139 1.00000000 +H 1 + 1 3.101020 1.00000000 +I 1 + 1 0.795554 1.00000000 +I 1 + 1 2.215288 1.00000000 + +MANGANESE +S 13 + 1 76.008334 0.00099300 + 2 39.277974 -0.01479600 + 3 20.405805 0.12071000 + 4 12.218680 -0.12400100 + 5 7.182690 -0.32020000 + 6 3.850780 -0.10562200 + 7 2.142489 0.47272100 + 8 1.049631 0.62038700 + 9 0.508682 0.20455300 + 10 0.192243 0.00592400 + 11 0.108899 -0.00009700 + 12 0.053425 -0.00018500 + 13 0.025236 0.00006100 +S 13 + 1 76.008334 -0.00019900 + 2 39.277974 0.00335200 + 3 20.405805 -0.02941300 + 4 12.218680 0.03209100 + 5 7.182690 0.08315200 + 6 3.850780 0.02128300 + 7 2.142489 -0.12998900 + 8 1.049631 -0.23900600 + 9 0.508682 -0.18031500 + 10 0.192243 0.11014800 + 11 0.108899 0.40442600 + 12 0.053425 0.51730700 + 13 0.025236 0.14813900 +S 13 + 1 76.008334 -0.00009100 + 2 39.277974 0.00537400 + 3 20.405805 -0.05849400 + 4 12.218680 0.05634500 + 5 7.182690 0.22787400 + 6 3.850780 -0.00842000 + 7 2.142489 -0.32077700 + 8 1.049631 -0.81313700 + 9 0.508682 0.32647500 + 10 0.192243 1.44754000 + 11 0.108899 0.02132100 + 12 0.053425 -0.67832300 + 13 0.025236 -0.45282800 +S 13 + 1 76.008334 -0.00052600 + 2 39.277974 0.01138000 + 3 20.405805 -0.11603400 + 4 12.218680 0.14932900 + 5 7.182690 0.36015400 + 6 3.850780 0.02517400 + 7 2.142489 -1.17012500 + 8 1.049631 -0.87212300 + 9 0.508682 2.55063300 + 10 0.192243 0.09034300 + 11 0.108899 -2.21058800 + 12 0.053425 0.47058200 + 13 0.025236 0.83217500 +S 13 + 1 76.008334 0.00409700 + 2 39.277974 -0.03635300 + 3 20.405805 0.26570800 + 4 12.218680 -0.48518700 + 5 7.182690 -0.23228800 + 6 3.850780 -0.24179800 + 7 2.142489 3.38791800 + 8 1.049631 -3.26857300 + 9 0.508682 -0.83790100 + 10 0.192243 5.26227100 + 11 0.108899 -4.29984700 + 12 0.053425 -0.44524000 + 13 0.025236 1.29402600 +S 13 + 1 76.008334 -0.00307900 + 2 39.277974 0.00346300 + 3 20.405805 0.15710600 + 4 12.218680 -0.17988400 + 5 7.182690 -1.57436000 + 6 3.850780 2.93715800 + 7 2.142489 1.63382500 + 8 1.049631 -7.64894400 + 9 0.508682 8.00185900 + 10 0.192243 -5.11761000 + 11 0.108899 0.53926100 + 12 0.053425 3.13143300 + 13 0.025236 -1.86377400 +S 1 + 1 0.025236 1.00000000 +S 1 + 1 0.012000 1.00000000 +P 13 + 1 113.479709 0.00010300 + 2 58.160819 -0.00089400 + 3 30.043076 0.00884400 + 4 16.753323 -0.01968500 + 5 10.705604 -0.06919000 + 6 5.557903 0.01150800 + 7 3.080151 0.28231300 + 8 1.582963 0.43867800 + 9 0.810922 0.30984300 + 10 0.413396 0.08394500 + 11 0.195480 0.00751700 + 12 0.072688 0.00110000 + 13 0.035877 0.00029000 +P 13 + 1 113.479709 0.00001900 + 2 58.160819 -0.00002400 + 3 30.043076 -0.00122400 + 4 16.753323 0.00232000 + 5 10.705604 0.02075800 + 6 5.557903 -0.01157200 + 7 3.080151 -0.06291900 + 8 1.582963 -0.13675400 + 9 0.810922 -0.06729500 + 10 0.413396 -0.03102400 + 11 0.195480 0.37898100 + 12 0.072688 0.50782400 + 13 0.035877 0.26094100 +P 13 + 1 113.479709 -0.00019700 + 2 58.160819 0.00135400 + 3 30.043076 -0.01010200 + 4 16.753323 0.03060300 + 5 10.705604 0.04620000 + 6 5.557903 -0.01758800 + 7 3.080151 -0.39592000 + 8 1.582963 -0.41909300 + 9 0.810922 0.07501700 + 10 0.413396 1.09298600 + 11 0.195480 0.00868000 + 12 0.072688 -0.75636900 + 13 0.035877 -0.04514900 +P 13 + 1 113.479709 0.00001400 + 2 58.160819 0.00042100 + 3 30.043076 -0.00857300 + 4 16.753323 0.03879700 + 5 10.705604 0.09933800 + 6 5.557903 -0.14444500 + 7 3.080151 -0.82118200 + 8 1.582963 -0.25078500 + 9 0.810922 1.79017000 + 10 0.413396 -0.39954700 + 11 0.195480 -1.29438200 + 12 0.072688 0.84704700 + 13 0.035877 0.15171000 +P 13 + 1 113.479709 -0.00021400 + 2 58.160819 0.00186900 + 3 30.043076 -0.01439900 + 4 16.753323 0.08866300 + 5 10.705604 0.11611700 + 6 5.557903 -0.47666500 + 7 3.080151 -1.47189600 + 8 1.582963 2.46363500 + 9 0.810922 0.10250800 + 10 0.413396 -2.77460100 + 11 0.195480 2.43625400 + 12 0.072688 -0.61701900 + 13 0.035877 -0.32367600 +P 13 + 1 113.479709 -0.00328700 + 2 58.160819 0.01670100 + 3 30.043076 -0.06009200 + 4 16.753323 0.06901300 + 5 10.705604 -0.50906300 + 6 5.557903 2.28144200 + 7 3.080151 -1.06091100 + 8 1.582963 -3.26457300 + 9 0.810922 6.07665300 + 10 0.413396 -5.03607800 + 11 0.195480 1.96624400 + 12 0.072688 0.35917900 + 13 0.035877 -0.79020200 +P 1 + 1 0.035877 1.00000000 +P 1 + 1 0.017000 1.00000000 +D 11 + 1 132.688182 0.00003000 + 2 45.266024 0.00529400 + 3 23.267336 0.02914300 + 4 10.605694 0.07677500 + 5 5.074684 0.16855100 + 6 2.469857 0.25683200 + 7 1.205883 0.28989100 + 8 0.590569 0.25715400 + 9 0.292055 0.18172600 + 10 0.149190 0.08998600 + 11 0.076511 0.03459500 +D 11 + 1 132.688182 -0.00002100 + 2 45.266024 -0.00544900 + 3 23.267336 -0.02903200 + 4 10.605694 -0.07982500 + 5 5.074684 -0.17441500 + 6 2.469857 -0.25340400 + 7 1.205883 -0.17430500 + 8 0.590569 0.04508100 + 9 0.292055 0.34576000 + 10 0.149190 0.26372500 + 11 0.076511 0.37171500 +D 11 + 1 132.688182 0.00006000 + 2 45.266024 0.00838500 + 3 23.267336 0.04580000 + 4 10.605694 0.12921500 + 5 5.074684 0.28432700 + 6 2.469857 0.27076000 + 7 1.205883 -0.10159100 + 8 0.590569 -0.58067700 + 9 0.292055 -0.18169600 + 10 0.149190 0.02100300 + 11 0.076511 0.72365800 +D 11 + 1 132.688182 -0.00003700 + 2 45.266024 -0.01080900 + 3 23.267336 -0.05558200 + 4 10.605694 -0.17205300 + 5 5.074684 -0.38188900 + 6 2.469857 -0.13039900 + 7 1.205883 0.81899300 + 8 0.590569 0.18014500 + 9 0.292055 -0.60472000 + 10 0.149190 -0.73358400 + 11 0.076511 1.05874100 +D 11 + 1 132.688182 0.00016800 + 2 45.266024 0.01533800 + 3 23.267336 0.08469200 + 4 10.605694 0.27899300 + 5 5.074684 0.55870300 + 6 2.469857 -0.79413700 + 7 1.205883 -0.68566600 + 8 0.590569 1.37685100 + 9 0.292055 0.10636900 + 10 0.149190 -1.65453800 + 11 0.076511 1.14932300 +D 1 + 1 0.076511 1.00000000 +D 1 + 1 0.034000 1.00000000 +F 1 + 1 0.097646 1.00000000 +F 1 + 1 0.283007 1.00000000 +F 1 + 1 0.820240 1.00000000 +F 1 + 1 2.377304 1.00000000 +F 1 + 1 6.890148 1.00000000 +G 1 + 1 0.187447 1.00000000 +G 1 + 1 0.563286 1.00000000 +G 1 + 1 1.692696 1.00000000 +G 1 + 1 5.086615 1.00000000 +H 1 + 1 0.339473 1.00000000 +H 1 + 1 1.129723 1.00000000 +H 1 + 1 3.759579 1.00000000 +I 1 + 1 0.991671 1.00000000 +I 1 + 1 2.739666 1.00000000 + +IRON +S 13 + 1 84.322332 0.00078500 + 2 44.203528 -0.01278100 + 3 23.288963 0.10463500 + 4 13.385163 -0.11938500 + 5 7.518052 -0.33980400 + 6 4.101835 -0.04999400 + 7 2.253571 0.47695500 + 8 1.134924 0.59322200 + 9 0.561550 0.20015100 + 10 0.201961 0.00859100 + 11 0.108698 -0.00218800 + 12 0.053619 0.00067700 + 13 0.025823 -0.00014400 +S 13 + 1 84.322332 -0.00016200 + 2 44.203528 0.00292100 + 3 23.288963 -0.02546600 + 4 13.385163 0.03118200 + 5 7.518052 0.08684900 + 6 4.101835 0.00684600 + 7 2.253571 -0.13185600 + 8 1.134924 -0.22774600 + 9 0.561550 -0.17307900 + 10 0.201961 0.13614200 + 11 0.108698 0.43401300 + 12 0.053619 0.47755500 + 13 0.025823 0.12880400 +S 13 + 1 84.322332 0.00000200 + 2 44.203528 0.00410300 + 3 23.288963 -0.04684000 + 4 13.385163 0.05283300 + 5 7.518052 0.21809400 + 6 4.101835 -0.04499900 + 7 2.253571 -0.28738600 + 8 1.134924 -0.71322000 + 9 0.561550 0.24917400 + 10 0.201961 1.29987200 + 11 0.108698 0.19211900 + 12 0.053619 -0.65861600 + 13 0.025823 -0.52104700 +S 13 + 1 84.322332 0.00001200 + 2 44.203528 0.00759800 + 3 23.288963 -0.09413300 + 4 13.385163 0.12765500 + 5 7.518052 0.43559800 + 6 4.101835 -0.14791100 + 7 2.253571 -1.08447700 + 8 1.134924 -0.88700300 + 9 0.561550 2.44994600 + 10 0.201961 0.16797600 + 11 0.108698 -2.11466800 + 12 0.053619 0.45257900 + 13 0.025823 0.80144400 +S 13 + 1 84.322332 0.00330100 + 2 44.203528 -0.02919700 + 3 23.288963 0.21322700 + 4 13.385163 -0.40810900 + 5 7.518052 -0.38565100 + 6 4.101835 0.16809300 + 7 2.253571 3.10252900 + 8 1.134924 -3.36044600 + 9 0.561550 -0.53161900 + 10 0.201961 4.49398100 + 11 0.108698 -3.68975000 + 12 0.053619 -0.51060400 + 13 0.025823 1.30102100 +S 13 + 1 84.322332 -0.00129800 + 2 44.203528 -0.00553800 + 3 23.288963 0.18408000 + 4 13.385163 -0.33916500 + 5 7.518052 -1.46083900 + 6 4.101835 3.38230300 + 7 2.253571 0.84327700 + 8 1.134924 -7.01737100 + 9 0.561550 7.29137200 + 10 0.201961 -4.24668000 + 11 0.108698 0.08957600 + 12 0.053619 3.22692400 + 13 0.025823 -1.92971900 +S 1 + 1 0.025823 1.00000000 +S 1 + 1 0.012000 1.00000000 +P 13 + 1 125.092775 0.00005600 + 2 65.211589 -0.00057200 + 3 34.437599 0.00738800 + 4 18.930704 -0.02848100 + 5 10.873415 -0.06300500 + 6 6.012172 0.02485500 + 7 3.372205 0.27747400 + 8 1.768641 0.42538600 + 9 0.914516 0.31414500 + 10 0.460895 0.09042200 + 11 0.204490 0.00697700 + 12 0.074741 0.00115400 + 13 0.035671 0.00030300 +P 13 + 1 125.092775 0.00002500 + 2 65.211589 -0.00007000 + 3 34.437599 -0.00104200 + 4 18.930704 0.00512700 + 5 10.873415 0.01840400 + 6 6.012172 -0.01469200 + 7 3.372205 -0.06130700 + 8 1.768641 -0.12863800 + 9 0.914516 -0.07063700 + 10 0.460895 -0.01631400 + 11 0.204490 0.38070200 + 12 0.074741 0.52307100 + 13 0.035671 0.23576500 +P 13 + 1 125.092775 -0.00019700 + 2 65.211589 0.00125100 + 3 34.437599 -0.00915400 + 4 18.930704 0.03820100 + 5 10.873415 0.04309700 + 6 6.012172 -0.02947500 + 7 3.372205 -0.42699600 + 8 1.768641 -0.39484000 + 9 0.914516 0.07723000 + 10 0.460895 1.11988100 + 11 0.204490 -0.06649400 + 12 0.074741 -0.72158300 + 13 0.035671 -0.00569500 +P 13 + 1 125.092775 0.00026400 + 2 65.211589 -0.00107600 + 3 34.437599 -0.00259100 + 4 18.930704 0.03551900 + 5 10.873415 0.11955400 + 6 6.012172 -0.20471400 + 7 3.372205 -0.76062700 + 8 1.768641 -0.26274000 + 9 0.914516 1.77903000 + 10 0.460895 -0.46274200 + 11 0.204490 -1.24103000 + 12 0.074741 0.94098700 + 13 0.035671 0.08349600 +P 13 + 1 125.092775 -0.00008400 + 2 65.211589 0.00076800 + 3 34.437599 -0.00948500 + 4 18.930704 0.08806200 + 5 10.873415 0.15619100 + 6 6.012172 -0.61916600 + 7 3.372205 -1.38553400 + 8 1.768641 2.49212500 + 9 0.914516 0.00807600 + 10 0.460895 -2.49951500 + 11 0.204490 2.26557600 + 12 0.074741 -0.74834200 + 13 0.035671 -0.21159800 +P 13 + 1 125.092775 -0.00254400 + 2 65.211589 0.01304000 + 3 34.437599 -0.03944400 + 4 18.930704 -0.02459400 + 5 10.873415 -0.52157100 + 6 6.012172 2.73999300 + 7 3.372205 -1.74264900 + 8 1.768641 -2.84400600 + 9 0.914516 5.87082600 + 10 0.460895 -4.90230600 + 11 0.204490 2.13617600 + 12 0.074741 -0.12162600 + 13 0.035671 -0.48621900 +P 1 + 1 0.035671 1.00000000 +P 1 + 1 0.017000 1.00000000 +D 11 + 1 152.736742 0.00002900 + 2 50.772485 0.00523800 + 3 26.253589 0.02932500 + 4 12.137022 0.07490100 + 5 5.853719 0.16341100 + 6 2.856224 0.25105700 + 7 1.386132 0.28760300 + 8 0.670802 0.25186200 + 9 0.330280 0.18673600 + 10 0.170907 0.09357000 + 11 0.086794 0.07381100 +D 11 + 1 152.736742 -0.00002600 + 2 50.772485 -0.00632900 + 3 26.253589 -0.03439800 + 4 12.137022 -0.09176500 + 5 5.853719 -0.20159200 + 6 2.856224 -0.28393000 + 7 1.386132 -0.16198100 + 8 0.670802 0.12882200 + 9 0.330280 0.36016000 + 10 0.170907 0.27759200 + 11 0.086794 0.26140300 +D 11 + 1 152.736742 0.00005100 + 2 50.772485 0.00876900 + 3 26.253589 0.04792100 + 4 12.137022 0.13247500 + 5 5.853719 0.29727900 + 6 2.856224 0.27501800 + 7 1.386132 -0.22284200 + 8 0.670802 -0.61906700 + 9 0.330280 -0.07629000 + 10 0.170907 0.25605600 + 11 0.086794 0.54148200 +D 11 + 1 152.736742 -0.00009600 + 2 50.772485 -0.01214400 + 3 26.253589 -0.06697100 + 4 12.137022 -0.19602500 + 5 5.853719 -0.46900300 + 6 2.856224 0.04656000 + 7 1.386132 0.98594000 + 8 0.670802 -0.22043500 + 9 0.330280 -0.75248200 + 10 0.170907 -0.11112300 + 11 0.086794 0.75310000 +D 11 + 1 152.736742 -0.00003200 + 2 50.772485 -0.01641100 + 3 26.253589 -0.08103600 + 4 12.137022 -0.29264100 + 5 5.853719 -0.57581900 + 6 2.856224 1.15115600 + 7 1.386132 0.16896300 + 8 0.670802 -1.48954500 + 9 0.330280 0.74153600 + 10 0.170907 0.97927900 + 11 0.086794 -1.04490500 +D 1 + 1 0.086794 1.00000000 +D 1 + 1 0.040000 1.00000000 +F 1 + 1 0.115778 1.00000000 +F 1 + 1 0.334367 1.00000000 +F 1 + 1 0.965650 1.00000000 +F 1 + 1 2.788793 1.00000000 +F 1 + 1 8.054020 1.00000000 +G 1 + 1 0.227726 1.00000000 +G 1 + 1 0.673444 1.00000000 +G 1 + 1 1.991550 1.00000000 +G 1 + 1 5.889532 1.00000000 +H 1 + 1 0.414855 1.00000000 +H 1 + 1 1.344807 1.00000000 +H 1 + 1 4.359371 1.00000000 +I 1 + 1 1.216055 1.00000000 +I 1 + 1 3.182222 1.00000000 + +COBALT +S 13 + 1 90.663831 0.00077400 + 2 46.961414 -0.01131600 + 3 24.110274 0.10120900 + 4 14.430881 -0.08164200 + 5 8.757423 -0.35481200 + 6 4.484459 -0.09036200 + 7 2.519739 0.49817400 + 8 1.236850 0.60412300 + 9 0.601882 0.19077500 + 10 0.223338 0.00657800 + 11 0.123422 -0.00090500 + 12 0.059941 0.00017100 + 13 0.027978 -0.00002500 +S 13 + 1 90.663831 -0.00015400 + 2 46.961414 0.00252500 + 3 24.110274 -0.02444300 + 4 14.430881 0.02220000 + 5 8.757423 0.08841600 + 6 4.484459 0.01682000 + 7 2.519739 -0.13458200 + 8 1.236850 -0.23129500 + 9 0.601882 -0.16398600 + 10 0.223338 0.12133700 + 11 0.123422 0.40241400 + 12 0.059941 0.50611300 + 13 0.027978 0.14543600 +S 13 + 1 90.663831 -0.00004700 + 2 46.961414 0.00365400 + 3 24.110274 -0.04613200 + 4 14.430881 0.03648300 + 5 8.757423 0.21726500 + 6 4.484459 -0.01188300 + 7 2.519739 -0.32468800 + 8 1.236850 -0.68058100 + 9 0.601882 0.25693600 + 10 0.223338 1.22400500 + 11 0.123422 0.23683700 + 12 0.059941 -0.60406400 + 13 0.027978 -0.57494700 +S 13 + 1 90.663831 -0.00023100 + 2 46.961414 0.00753600 + 3 24.110274 -0.09729800 + 4 14.430881 0.11161100 + 5 8.757423 0.40362100 + 6 4.484459 -0.04832400 + 7 2.519739 -1.15760000 + 8 1.236850 -0.75683900 + 9 0.601882 2.31368300 + 10 0.223338 0.25307400 + 11 0.123422 -1.99146600 + 12 0.059941 0.16694200 + 13 0.027978 0.91722100 +S 13 + 1 90.663831 0.00280900 + 2 46.961414 -0.02445900 + 3 24.110274 0.21171700 + 4 14.430881 -0.38745200 + 5 8.757423 -0.36690900 + 6 4.484459 0.13914300 + 7 2.519739 2.83452700 + 8 1.236850 -2.90639800 + 9 0.601882 -0.80689600 + 10 0.223338 4.33605500 + 11 0.123422 -2.91360700 + 12 0.059941 -1.25330700 + 13 0.027978 1.50957200 +S 13 + 1 90.663831 -0.00143600 + 2 46.961414 -0.00099500 + 3 24.110274 0.17402400 + 4 14.430881 -0.27705900 + 5 8.757423 -1.32202800 + 6 4.484459 3.04818800 + 7 2.519739 0.88698400 + 8 1.236850 -6.51886800 + 9 0.601882 6.58588500 + 10 0.223338 -2.92841300 + 11 0.123422 -1.62261500 + 12 0.059941 4.04814300 + 13 0.027978 -2.04577100 +S 1 + 1 0.027978 1.00000000 +S 1 + 1 0.013000 1.00000000 +P 13 + 1 139.038145 0.00007500 + 2 71.928971 -0.00062700 + 3 37.806311 0.00571900 + 4 21.054252 -0.00931000 + 5 12.973193 -0.08385700 + 6 6.791461 0.01239400 + 7 3.794018 0.28198700 + 8 1.960649 0.43417900 + 9 1.006283 0.31340900 + 10 0.509539 0.08977800 + 11 0.233091 0.00740500 + 12 0.083890 0.00098000 + 13 0.039802 0.00027400 +P 13 + 1 139.038145 0.00002500 + 2 71.928971 -0.00008400 + 3 37.806311 -0.00048500 + 4 21.054252 0.00009500 + 5 12.973193 0.02240200 + 6 6.791461 -0.01153400 + 7 3.794018 -0.05686600 + 8 1.960649 -0.12607000 + 9 1.006283 -0.06088900 + 10 0.509539 -0.03508600 + 11 0.233091 0.35184700 + 12 0.083890 0.51044900 + 13 0.039802 0.28970700 +P 13 + 1 139.038145 -0.00023800 + 2 71.928971 0.00148900 + 3 37.806311 -0.00872300 + 4 21.054252 0.02453800 + 5 12.973193 0.06085600 + 6 6.791461 -0.02038000 + 7 3.794018 -0.43019500 + 8 1.960649 -0.40769200 + 9 1.006283 0.08532600 + 10 0.509539 1.07332600 + 11 0.233091 0.01506700 + 12 0.083890 -0.71963100 + 13 0.039802 -0.02460300 +P 13 + 1 139.038145 -0.00005500 + 2 71.928971 -0.00001700 + 3 37.806311 0.00432000 + 4 21.054252 -0.02133900 + 5 12.973193 -0.12713400 + 6 6.791461 0.15720800 + 7 3.794018 0.79492700 + 8 1.960649 0.23357400 + 9 1.006283 -1.66603300 + 10 0.509539 0.28271600 + 11 0.233091 1.33562500 + 12 0.083890 -0.88546900 + 13 0.039802 -0.13034000 +P 13 + 1 139.038145 0.00005200 + 2 71.928971 0.00014400 + 3 37.806311 -0.00506500 + 4 21.054252 0.05166200 + 5 12.973193 0.20930600 + 6 6.791461 -0.63605200 + 7 3.794018 -1.33476100 + 8 1.960649 2.33740900 + 9 1.006283 0.19062400 + 10 0.509539 -2.65784100 + 11 0.233091 2.26444400 + 12 0.083890 -0.61258400 + 13 0.039802 -0.27662000 +P 13 + 1 139.038145 -0.00258700 + 2 71.928971 0.01345800 + 3 37.806311 -0.04646400 + 4 21.054252 0.03715700 + 5 12.973193 -0.58198600 + 6 6.791461 2.70958900 + 7 3.794018 -1.68255200 + 8 1.960649 -2.80074300 + 9 1.006283 5.80223100 + 10 0.509539 -4.89926500 + 11 0.233091 2.05329300 + 12 0.083890 0.03335700 + 13 0.039802 -0.55647600 +P 1 + 1 0.039802 1.00000000 +P 1 + 1 0.019000 1.00000000 +D 11 + 1 160.444504 0.00003400 + 2 52.598830 0.00655300 + 3 27.491581 0.03618500 + 4 12.745988 0.08302600 + 5 6.184310 0.17696000 + 6 3.029146 0.26399000 + 7 1.474099 0.29244700 + 8 0.714391 0.24959700 + 9 0.348520 0.17163700 + 10 0.174166 0.08064900 + 11 0.087891 0.04121200 +D 11 + 1 160.444504 -0.00003100 + 2 52.598830 -0.00786900 + 3 27.491581 -0.04199200 + 4 12.745988 -0.10138800 + 5 6.184310 -0.21699600 + 6 3.029146 -0.28396200 + 7 1.474099 -0.12717900 + 8 0.714391 0.17712500 + 9 0.348520 0.37559600 + 10 0.174166 0.28463100 + 11 0.087891 0.20027700 +D 11 + 1 160.444504 0.00004800 + 2 52.598830 0.01053100 + 3 27.491581 0.05555900 + 4 12.745988 0.14075800 + 5 6.184310 0.30578500 + 6 3.029146 0.24281200 + 7 1.474099 -0.28504400 + 8 0.714391 -0.59481900 + 9 0.348520 -0.01793700 + 10 0.174166 0.34815000 + 11 0.087891 0.45517000 +D 11 + 1 160.444504 -0.00007000 + 2 52.598830 -0.01526900 + 3 27.491581 -0.07877000 + 4 12.745988 -0.21855600 + 5 6.184310 -0.47927100 + 6 3.029146 0.17362300 + 7 1.474099 0.95417300 + 8 0.714391 -0.34849000 + 9 0.348520 -0.73737100 + 10 0.174166 0.07194100 + 11 0.087891 0.64488200 +D 11 + 1 160.444504 0.00020500 + 2 52.598830 -0.02193300 + 3 27.491581 -0.08750800 + 4 12.745988 -0.34161200 + 5 6.184310 -0.49762900 + 6 3.029146 1.28072500 + 7 1.474099 -0.12625700 + 8 0.714391 -1.36065500 + 9 0.348520 0.96428800 + 10 0.174166 0.66161100 + 11 0.087891 -0.94435000 +D 1 + 1 0.087891 1.00000000 +D 1 + 1 0.043000 1.00000000 +F 1 + 1 0.137400 1.00000000 +F 1 + 1 0.394252 1.00000000 +F 1 + 1 1.131258 1.00000000 +F 1 + 1 3.246009 1.00000000 +F 1 + 1 9.314030 1.00000000 +G 1 + 1 0.277447 1.00000000 +G 1 + 1 0.808427 1.00000000 +G 1 + 1 2.355598 1.00000000 +G 1 + 1 6.863750 1.00000000 +H 1 + 1 0.499466 1.00000000 +H 1 + 1 1.591062 1.00000000 +H 1 + 1 5.068373 1.00000000 +I 1 + 1 1.496090 1.00000000 +I 1 + 1 3.729940 1.00000000 + +NICKEL +S 13 + 1 97.161835 0.00070900 + 2 51.187866 -0.01239900 + 3 26.996725 0.10722000 + 4 15.523536 -0.12455600 + 5 8.916168 -0.35102300 + 6 4.795806 -0.02575800 + 7 2.619926 0.49894800 + 8 1.330111 0.56898600 + 9 0.668901 0.19112100 + 10 0.230439 0.01027800 + 11 0.121518 -0.00362700 + 12 0.057951 0.00129500 + 13 0.027201 -0.00030700 +S 13 + 1 97.161835 -0.00014000 + 2 51.187866 0.00275600 + 3 26.996725 -0.02548200 + 4 15.523536 0.03218200 + 5 8.916168 0.08622600 + 6 4.795806 0.00110400 + 7 2.619926 -0.13579000 + 8 1.330111 -0.21572400 + 9 0.668901 -0.15836700 + 10 0.230439 0.14349900 + 11 0.121518 0.44367200 + 12 0.057951 0.47255800 + 13 0.027201 0.11017300 +S 13 + 1 97.161835 0.00012100 + 2 51.187866 0.00332200 + 3 26.996725 -0.04578500 + 4 15.523536 0.05341500 + 5 8.916168 0.22227000 + 6 4.795806 -0.07306500 + 7 2.619926 -0.29399800 + 8 1.330111 -0.66893800 + 9 0.668901 0.29750400 + 10 0.230439 1.23374800 + 11 0.121518 0.12931700 + 12 0.057951 -0.60340700 + 13 0.027201 -0.53306200 +S 13 + 1 97.161835 0.00043400 + 2 51.187866 0.00484800 + 3 26.996725 -0.08781800 + 4 15.523536 0.12185200 + 5 8.916168 0.45421800 + 6 4.795806 -0.24576500 + 7 2.619926 -0.99734500 + 8 1.330111 -0.83458600 + 9 0.668901 2.28567500 + 10 0.230439 0.25153800 + 11 0.121518 -1.98879600 + 12 0.057951 0.34760200 + 13 0.027201 0.82415000 +S 13 + 1 97.161835 0.00246100 + 2 51.187866 -0.02346000 + 3 26.996725 0.19859000 + 4 15.523536 -0.40252500 + 5 8.916168 -0.40556800 + 6 4.795806 0.38789300 + 7 2.619926 2.68467900 + 8 1.330111 -2.95595600 + 9 0.668901 -0.66746700 + 10 0.230439 4.09407400 + 11 0.121518 -3.10335500 + 12 0.057951 -0.76872800 + 13 0.027201 1.33121700 +S 13 + 1 97.161835 0.00000200 + 2 51.187866 -0.01179900 + 3 26.996725 0.22803400 + 4 15.523536 -0.51850500 + 5 8.916168 -1.14326400 + 6 4.795806 3.24177400 + 7 2.619926 0.66793500 + 8 1.330111 -6.65833200 + 9 0.668901 6.62725100 + 10 0.230439 -3.19901800 + 11 0.121518 -0.63288800 + 12 0.057951 3.28743600 + 13 0.027201 -1.86177800 +S 1 + 1 0.027201 1.00000000 +S 1 + 1 0.013000 1.00000000 +P 13 + 1 148.087630 0.00005500 + 2 77.452187 -0.00054800 + 3 40.915636 0.00697900 + 4 22.575667 -0.02365800 + 5 13.218268 -0.07568200 + 6 7.232093 0.02725300 + 7 4.054870 0.28477800 + 8 2.122089 0.42763200 + 9 1.092769 0.30993700 + 10 0.548240 0.08853500 + 11 0.238886 0.00642700 + 12 0.084667 0.00070800 + 13 0.038921 0.00018600 +P 13 + 1 148.087630 0.00002700 + 2 77.452187 -0.00008800 + 3 40.915636 -0.00077300 + 4 22.575667 0.00334500 + 5 13.218268 0.01940500 + 6 7.232093 -0.01428800 + 7 4.054870 -0.05452700 + 8 2.122089 -0.11645400 + 9 1.092769 -0.06023600 + 10 0.548240 -0.02392800 + 11 0.238886 0.34786900 + 12 0.084667 0.52262600 + 13 0.038921 0.27647100 +P 13 + 1 148.087630 -0.00023700 + 2 77.452187 0.00145600 + 3 40.915636 -0.00974500 + 4 22.575667 0.03779900 + 5 13.218268 0.05252100 + 6 7.232093 -0.03500600 + 7 4.054870 -0.45557700 + 8 2.122089 -0.36830600 + 9 1.092769 0.10039200 + 10 0.548240 1.07665200 + 11 0.238886 -0.04532600 + 12 0.084667 -0.70318600 + 13 0.038921 0.00458000 +P 13 + 1 148.087630 -0.00026000 + 2 77.452187 0.00107100 + 3 40.915636 0.00232200 + 4 22.575667 -0.03214000 + 5 13.218268 -0.13413600 + 6 7.232093 0.22906200 + 7 4.054870 0.75223900 + 8 2.122089 0.20553500 + 9 1.092769 -1.69291000 + 10 0.548240 0.43629500 + 11 0.238886 1.21951400 + 12 0.084667 -0.94551600 + 13 0.038921 -0.06223200 +P 13 + 1 148.087630 0.00008000 + 2 77.452187 -0.00010100 + 3 40.915636 -0.00649200 + 4 22.575667 0.08312900 + 5 13.218268 0.19539300 + 6 7.232093 -0.76580600 + 7 4.054870 -1.20601700 + 8 2.122089 2.42444400 + 9 1.092769 -0.07938700 + 10 0.548240 -2.32544900 + 11 0.238886 2.12913300 + 12 0.084667 -0.73358500 + 13 0.038921 -0.18044400 +P 13 + 1 148.087630 -0.00198500 + 2 77.452187 0.01015900 + 3 40.915636 -0.02936700 + 4 22.575667 -0.06649700 + 5 13.218268 -0.46488300 + 6 7.232093 2.88107400 + 7 4.054870 -2.20114400 + 8 2.122089 -2.24015400 + 9 1.092769 5.38016000 + 10 0.548240 -4.63838100 + 11 0.238886 2.07635300 + 12 0.084667 -0.21119500 + 13 0.038921 -0.40801500 +P 1 + 1 0.038921 1.00000000 +P 1 + 1 0.019000 1.00000000 +D 11 + 1 177.900125 0.00004900 + 2 57.372112 0.00751900 + 3 29.881432 0.03645500 + 4 13.971757 0.08690100 + 5 6.841152 0.18056800 + 6 3.379983 0.26818700 + 7 1.651827 0.29675600 + 8 0.799251 0.25155800 + 9 0.388057 0.16231900 + 10 0.191191 0.07211900 + 11 0.093358 0.02368900 +D 11 + 1 177.900125 -0.00005300 + 2 57.372112 -0.00885000 + 3 29.881432 -0.04191600 + 4 13.971757 -0.10469100 + 5 6.841152 -0.21946400 + 6 3.379983 -0.28371200 + 7 1.651827 -0.12212700 + 8 0.799251 0.19012300 + 9 0.388057 0.37659800 + 10 0.191191 0.29512200 + 11 0.093358 0.17825200 +D 11 + 1 177.900125 0.00007900 + 2 57.372112 0.01144200 + 3 29.881432 0.05397200 + 4 13.971757 0.14106800 + 5 6.841152 0.30229400 + 6 3.379983 0.23655800 + 7 1.651827 -0.29131100 + 8 0.799251 -0.58175800 + 9 0.388057 -0.02406300 + 10 0.191191 0.38938700 + 11 0.093358 0.43083300 +D 11 + 1 177.900125 -0.00012400 + 2 57.372112 -0.01660200 + 3 29.881432 -0.07753300 + 4 13.971757 -0.22182600 + 5 6.841152 -0.48165800 + 6 3.379983 0.18244700 + 7 1.651827 0.94562600 + 8 0.799251 -0.33424100 + 9 0.388057 -0.76116400 + 10 0.191191 0.13681600 + 11 0.093358 0.60078500 +D 11 + 1 177.900125 0.00014300 + 2 57.372112 -0.02412900 + 3 29.881432 -0.08706500 + 4 13.971757 -0.35946500 + 5 6.841152 -0.49030300 + 6 3.379983 1.31820700 + 7 1.651827 -0.17241700 + 8 0.799251 -1.34248700 + 9 0.388057 1.01361400 + 10 0.191191 0.53343200 + 11 0.093358 -0.86604900 +D 1 + 1 0.093358 1.00000000 +D 1 + 1 0.045000 1.00000000 +F 1 + 1 0.155394 1.00000000 +F 1 + 1 0.443146 1.00000000 +F 1 + 1 1.263741 1.00000000 +F 1 + 1 3.603870 1.00000000 +F 1 + 1 10.277329 1.00000000 +G 1 + 1 0.321652 1.00000000 +G 1 + 1 0.944121 1.00000000 +G 1 + 1 2.771204 1.00000000 +G 1 + 1 8.134096 1.00000000 +H 1 + 1 0.573745 1.00000000 +H 1 + 1 1.828195 1.00000000 +H 1 + 1 5.825403 1.00000000 +I 1 + 1 1.786540 1.00000000 +I 1 + 1 4.485842 1.00000000 + +COPPER +S 13 + 1 104.471138 0.00074100 + 2 55.955221 -0.01395300 + 3 30.553953 0.10526600 + 4 16.942394 -0.12939900 + 5 9.452707 -0.36273800 + 6 5.174537 0.01326600 + 7 2.779171 0.48928800 + 8 1.441817 0.56208800 + 9 0.710674 0.19004700 + 10 0.241540 0.00563500 + 11 0.129621 -0.00058200 + 12 0.059229 -0.00002400 + 13 0.027110 0.00003000 +S 13 + 1 104.471138 -0.00013300 + 2 55.955221 0.00299900 + 3 30.553953 -0.02431000 + 4 16.942394 0.03198600 + 5 9.452707 0.08914900 + 6 5.174537 -0.01075000 + 7 2.779171 -0.12822400 + 8 1.441817 -0.21572000 + 9 0.710674 -0.14955900 + 10 0.241540 0.14291700 + 11 0.129621 0.44630700 + 12 0.059229 0.48464300 + 13 0.027110 0.09306900 +S 13 + 1 104.471138 0.00021000 + 2 55.955221 0.00380600 + 3 30.553953 -0.04731200 + 4 16.942394 0.05995700 + 5 9.452707 0.25064200 + 6 5.174537 -0.11910200 + 7 2.779171 -0.31406900 + 8 1.441817 -0.68930000 + 9 0.710674 0.40305000 + 10 0.241540 1.27044000 + 11 0.129621 -0.02902900 + 12 0.059229 -0.62215700 + 13 0.027110 -0.44207400 +S 13 + 1 104.471138 0.00036600 + 2 55.955221 0.00672000 + 3 30.553953 -0.09149300 + 4 16.942394 0.14226300 + 5 9.452707 0.47188100 + 6 5.174537 -0.31970800 + 7 2.779171 -1.06825500 + 8 1.441817 -0.61504900 + 9 0.710674 2.26128200 + 10 0.241540 -0.02005900 + 11 0.129621 -1.81574600 + 12 0.059229 0.47417400 + 13 0.027110 0.71359700 +S 13 + 1 104.471138 0.00267900 + 2 55.955221 -0.02626700 + 3 30.553953 0.19212900 + 4 16.942394 -0.40421800 + 5 9.452707 -0.43460200 + 6 5.174537 0.55567400 + 7 2.779171 2.61821100 + 8 1.441817 -3.20734300 + 9 0.710674 -0.33054500 + 10 0.241540 4.04196600 + 11 0.129621 -3.35549700 + 12 0.059229 -0.48399100 + 13 0.027110 1.21366400 +S 13 + 1 104.471138 -0.00002500 + 2 55.955221 -0.01438300 + 3 30.553953 0.22413500 + 4 16.942394 -0.55516400 + 5 9.452707 -1.11162800 + 6 5.174537 3.39371200 + 7 2.779171 0.29284800 + 8 1.441817 -6.10751500 + 9 0.710674 6.27824000 + 10 0.241540 -3.38862200 + 11 0.129621 -0.13982400 + 12 0.059229 2.89254600 + 13 0.027110 -1.75159900 +S 1 + 1 0.027110 1.00000000 +S 1 + 1 0.013000 1.00000000 +P 13 + 1 159.152840 0.00002600 + 2 83.322776 -0.00040200 + 3 44.840311 0.00740500 + 4 25.020360 -0.03071400 + 5 13.610016 -0.07434800 + 6 7.761318 0.04343000 + 7 4.303947 0.28970300 + 8 2.290080 0.41346700 + 9 1.202173 0.30376200 + 10 0.607647 0.09349400 + 11 0.257656 0.00666300 + 12 0.090897 0.00056700 + 13 0.041925 0.00017600 +P 13 + 1 159.152840 0.00003400 + 2 83.322776 -0.00012900 + 3 44.840311 -0.00080200 + 4 25.020360 0.00474700 + 5 13.610016 0.01859500 + 6 7.761318 -0.01769200 + 7 4.303947 -0.05261400 + 8 2.290080 -0.11034900 + 9 1.202173 -0.05470100 + 10 0.607647 -0.02665500 + 11 0.257656 0.33588000 + 12 0.090897 0.50947800 + 13 0.041925 0.30255900 +P 13 + 1 159.152840 -0.00022800 + 2 83.322776 0.00141400 + 3 44.840311 -0.01029000 + 4 25.020360 0.04389600 + 5 13.610016 0.05286500 + 6 7.761318 -0.05656500 + 7 4.303947 -0.48071500 + 8 2.290080 -0.31598400 + 9 1.202173 0.07567900 + 10 0.607647 1.06074700 + 11 0.257656 -0.00806100 + 12 0.090897 -0.70160100 + 13 0.041925 0.00694100 +P 13 + 1 159.152840 -0.00041200 + 2 83.322776 0.00195700 + 3 44.840311 0.00064000 + 4 25.020360 -0.03675300 + 5 13.610016 -0.14719300 + 6 7.761318 0.29778200 + 7 4.303947 0.70527100 + 8 2.290080 0.19646600 + 9 1.202173 -1.65940600 + 10 0.607647 0.39150000 + 11 0.257656 1.24328400 + 12 0.090897 -0.95752900 + 13 0.041925 -0.05609100 +P 13 + 1 159.152840 0.00032900 + 2 83.322776 -0.00156500 + 3 44.840311 -0.00336900 + 4 25.020360 0.08790300 + 5 13.610016 0.22132700 + 6 7.761318 -0.92400600 + 7 4.303947 -1.00731600 + 8 2.290080 2.32431200 + 9 1.202173 0.00119100 + 10 0.607647 -2.32974500 + 11 0.257656 2.05959900 + 12 0.090897 -0.70662000 + 13 0.041925 -0.18479700 +P 13 + 1 159.152840 -0.00066300 + 2 83.322776 0.00351400 + 3 44.840311 -0.00304100 + 4 25.020360 -0.16209700 + 5 13.610016 -0.29931000 + 6 7.761318 2.77138200 + 7 4.303947 -2.29610400 + 8 2.290080 -2.15880200 + 9 1.202173 5.40521000 + 10 0.607647 -4.52127300 + 11 0.257656 1.93483100 + 12 0.090897 -0.16591400 + 13 0.041925 -0.42278400 +P 1 + 1 0.041925 1.00000000 +P 1 + 1 0.020000 1.00000000 +D 11 + 1 226.693527 0.00001500 + 2 73.010278 0.00410800 + 3 38.536518 0.02822300 + 4 18.726700 0.06932300 + 5 9.155485 0.15604500 + 6 4.540884 0.25123800 + 7 2.241175 0.29746300 + 8 1.085869 0.27498100 + 9 0.510612 0.19309800 + 10 0.229608 0.08639300 + 11 0.095781 0.01464500 +D 11 + 1 226.693527 -0.00001300 + 2 73.010278 -0.00525200 + 3 38.536518 -0.03498200 + 4 18.726700 -0.08895000 + 5 9.155485 -0.20719400 + 6 4.540884 -0.30259700 + 7 2.241175 -0.17932700 + 8 1.085869 0.16906900 + 9 0.510612 0.40590400 + 10 0.229608 0.34187100 + 11 0.095781 0.11708000 +D 11 + 1 226.693527 0.00001600 + 2 73.010278 0.00615700 + 3 38.536518 0.04036100 + 4 18.726700 0.10603800 + 5 9.155485 0.26329900 + 6 4.540884 0.28849600 + 7 2.241175 -0.18674500 + 8 1.085869 -0.59153900 + 9 0.510612 -0.13868100 + 10 0.229608 0.54774900 + 11 0.095781 0.36235300 +D 11 + 1 226.693527 -0.00007200 + 2 73.010278 -0.00870300 + 3 38.536518 -0.06059400 + 4 18.726700 -0.16022100 + 5 9.155485 -0.45749500 + 6 4.540884 -0.08760700 + 7 2.241175 0.95305600 + 8 1.085869 0.02518500 + 9 0.510612 -0.98463700 + 10 0.229608 0.25844200 + 11 0.095781 0.52511300 +D 11 + 1 226.693527 0.00004900 + 2 73.010278 0.01189500 + 3 38.536518 0.07542500 + 4 18.726700 0.23802600 + 5 9.155485 0.66103100 + 6 4.540884 -0.97854000 + 7 2.241175 -0.55996800 + 8 1.085869 1.69394200 + 9 0.510612 -0.91595800 + 10 0.229608 -0.49361100 + 11 0.095781 0.76641700 +D 1 + 1 0.095781 1.00000000 +D 1 + 1 0.045000 1.00000000 +F 1 + 1 0.184922 1.00000000 +F 1 + 1 0.523275 1.00000000 +F 1 + 1 1.480718 1.00000000 +F 1 + 1 4.190004 1.00000000 +F 1 + 1 11.856505 1.00000000 +G 1 + 1 0.387320 1.00000000 +G 1 + 1 1.106138 1.00000000 +G 1 + 1 3.158997 1.00000000 +G 1 + 1 9.021717 1.00000000 +H 1 + 1 0.680582 1.00000000 +H 1 + 1 2.124621 1.00000000 +H 1 + 1 6.632584 1.00000000 +I 1 + 1 2.085929 1.00000000 +I 1 + 1 4.948534 1.00000000 + +ZINC +S 13 + 1 114.485022 0.00042900 + 2 61.996430 -0.01933900 + 3 40.117132 0.08625400 + 4 20.119649 -0.08895500 + 5 10.171676 -0.40267100 + 6 5.601641 0.06730400 + 7 2.864122 0.47921500 + 8 1.592779 0.50396000 + 9 0.826525 0.22208800 + 10 0.263975 0.01220300 + 11 0.145302 -0.00430000 + 12 0.068195 0.00124300 + 13 0.031465 -0.00026700 +S 13 + 1 114.485022 -0.00010900 + 2 61.996430 0.00445900 + 3 40.117132 -0.02006700 + 4 20.119649 0.02233800 + 5 10.171676 0.09669800 + 6 5.601641 -0.02196600 + 7 2.864122 -0.12876800 + 8 1.592779 -0.18170600 + 9 0.826525 -0.16231100 + 10 0.263975 0.11626400 + 11 0.145302 0.41131400 + 12 0.068195 0.49425700 + 13 0.031465 0.13810300 +S 13 + 1 114.485022 0.00066600 + 2 61.996430 0.00626900 + 3 40.117132 -0.04660300 + 4 20.119649 0.05039900 + 5 10.171676 0.36349300 + 6 5.601641 -0.24284000 + 7 2.864122 -0.38228100 + 8 1.592779 -0.86156700 + 9 0.826525 0.70607700 + 10 0.263975 1.49500100 + 11 0.145302 -0.45399400 + 12 0.068195 -0.59782200 + 13 0.031465 -0.25611700 +S 13 + 1 114.485022 0.00070400 + 2 61.996430 0.01284100 + 3 40.117132 -0.08591000 + 4 20.119649 0.11798200 + 5 10.171676 0.63016400 + 6 5.601641 -0.60034400 + 7 2.864122 -1.24906000 + 8 1.592779 -0.32949800 + 9 0.826525 2.59246900 + 10 0.263975 -1.00448100 + 11 0.145302 -1.37951400 + 12 0.068195 1.04684200 + 13 0.031465 0.32467600 +S 13 + 1 114.485022 0.00561400 + 2 61.996430 -0.06659000 + 3 40.117132 0.24276300 + 4 20.119649 -0.43396800 + 5 10.171676 -0.79971200 + 6 5.601641 1.54215100 + 7 2.864122 3.08029900 + 8 1.592779 -6.19825000 + 9 0.826525 2.58176600 + 10 0.263975 3.21198800 + 11 0.145302 -4.76745700 + 12 0.068195 1.67656100 + 13 0.031465 0.27090900 +S 13 + 1 114.485022 -0.00145800 + 2 61.996430 0.05360200 + 3 40.117132 -0.29854900 + 4 20.119649 0.71066200 + 5 10.171676 1.69169500 + 6 5.601641 -6.87135200 + 7 2.864122 6.72361500 + 8 1.592779 0.19685400 + 9 0.826525 -4.99731400 + 10 0.263975 7.57331800 + 11 0.145302 -6.94339000 + 12 0.068195 1.83160800 + 13 0.031465 0.26083500 +S 1 + 1 0.031465 1.00000000 +S 1 + 1 0.015000 1.00000000 +P 13 + 1 158.770986 -0.00015300 + 2 75.802876 0.00189300 + 3 44.547824 0.01046100 + 4 31.445269 -0.04514100 + 5 13.080125 -0.08420100 + 6 7.788616 0.10497300 + 7 4.195040 0.30771400 + 8 2.362276 0.36856300 + 9 1.302584 0.28633600 + 10 0.660704 0.09515600 + 11 0.249042 0.00585100 + 12 0.091781 -0.00003400 + 13 0.048931 0.00025200 +P 13 + 1 158.770986 0.00005300 + 2 75.802876 -0.00057100 + 3 44.547824 -0.00107300 + 4 31.445269 0.00746300 + 5 13.080125 0.01867600 + 6 7.788616 -0.02809000 + 7 4.195040 -0.05443800 + 8 2.362276 -0.09374400 + 9 1.302584 -0.05416900 + 10 0.660704 -0.00797200 + 11 0.249042 0.35619800 + 12 0.091781 0.41239900 + 13 0.048931 0.36132100 +P 13 + 1 158.770986 -0.00017000 + 2 75.802876 0.00060400 + 3 44.547824 -0.01998700 + 4 31.445269 0.06115300 + 5 13.080125 0.06731700 + 6 7.788616 -0.13921100 + 7 4.195040 -0.52704100 + 8 2.362276 -0.17619400 + 9 1.302584 0.03712900 + 10 0.660704 1.07932200 + 11 0.249042 -0.05014900 + 12 0.091781 -0.68897100 + 13 0.048931 0.03733100 +P 13 + 1 158.770986 -0.00078100 + 2 75.802876 0.00785500 + 3 44.547824 -0.00867100 + 4 31.445269 -0.04055300 + 5 13.080125 -0.20006200 + 6 7.788616 0.52859900 + 7 4.195040 0.52855200 + 8 2.362276 0.24357600 + 9 1.302584 -1.80718200 + 10 0.660704 0.62949600 + 11 0.249042 1.13761300 + 12 0.091781 -1.06715000 + 13 0.048931 0.02219000 +P 13 + 1 158.770986 -0.00030400 + 2 75.802876 0.00006000 + 3 44.547824 -0.03693100 + 4 31.445269 0.14601900 + 5 13.080125 0.22210400 + 6 7.788616 -1.20631000 + 7 4.195040 -0.64408400 + 8 2.362276 2.39813600 + 9 1.302584 -0.30444100 + 10 0.660704 -1.96089400 + 11 0.249042 1.89540000 + 12 0.091781 -0.82157700 + 13 0.048931 -0.13247100 +P 13 + 1 158.770986 0.00325100 + 2 75.802876 -0.02360900 + 3 44.547824 0.15491100 + 4 31.445269 -0.38553900 + 5 13.080125 0.04302800 + 6 7.788616 2.49137200 + 7 4.195040 -2.76365900 + 8 2.362276 -1.61456300 + 9 1.302584 5.18203200 + 10 0.660704 -4.10536000 + 11 0.249042 1.71270200 + 12 0.091781 -0.16883700 + 13 0.048931 -0.45499800 +P 1 + 1 0.048931 1.00000000 +P 1 + 1 0.024000 1.00000000 +D 11 + 1 270.014061 -0.00001600 + 2 100.161579 0.00069600 + 3 43.530609 0.01353600 + 4 21.262419 0.06935000 + 5 10.577821 0.14955900 + 6 5.343620 0.23958800 + 7 2.704857 0.28674400 + 8 1.353018 0.27145900 + 9 0.660873 0.20242600 + 10 0.309149 0.10330700 + 11 0.133879 0.02321100 +D 11 + 1 270.014061 0.00001300 + 2 100.161579 -0.00088900 + 3 43.530609 -0.01864000 + 4 21.262419 -0.09464600 + 5 10.577821 -0.21565900 + 6 5.343620 -0.32246900 + 7 2.704857 -0.19752900 + 8 1.353018 0.16444800 + 9 0.660873 0.41001700 + 10 0.309149 0.32783800 + 11 0.133879 0.10574900 +D 11 + 1 270.014061 0.00000700 + 2 100.161579 0.00086800 + 3 43.530609 0.02163100 + 4 21.262419 0.10774800 + 5 10.577821 0.27899700 + 6 5.343620 0.31454300 + 7 2.704857 -0.24192600 + 8 1.353018 -0.60241500 + 9 0.660873 -0.11801300 + 10 0.309149 0.54548200 + 11 0.133879 0.36382900 +D 11 + 1 270.014061 -0.00008800 + 2 100.161579 -0.00067400 + 3 43.530609 -0.03072600 + 4 21.262419 -0.14321800 + 5 10.577821 -0.44533000 + 6 5.343620 -0.13669300 + 7 2.704857 0.92782300 + 8 1.353018 0.14320400 + 9 0.660873 -1.06020200 + 10 0.309149 0.16045200 + 11 0.133879 0.65854200 +D 11 + 1 270.014061 0.00011500 + 2 100.161579 0.00099700 + 3 43.530609 0.04174200 + 4 21.262419 0.22376100 + 5 10.577821 0.73092800 + 6 5.343620 -0.86990000 + 7 2.704857 -0.85052900 + 8 1.353018 1.81569400 + 9 0.660873 -0.68110900 + 10 0.309149 -0.81728000 + 11 0.133879 0.88730900 +D 1 + 1 0.133879 1.00000000 +D 1 + 1 0.060000 1.00000000 +F 1 + 1 0.210567 1.00000000 +F 1 + 1 0.588643 1.00000000 +F 1 + 1 1.645556 1.00000000 +F 1 + 1 4.600166 1.00000000 +F 1 + 1 12.859800 1.00000000 +G 1 + 1 0.453073 1.00000000 +G 1 + 1 1.280919 1.00000000 +G 1 + 1 3.621387 1.00000000 +G 1 + 1 10.238310 1.00000000 +H 1 + 1 0.780736 1.00000000 +H 1 + 1 2.421611 1.00000000 +H 1 + 1 7.511113 1.00000000 +I 1 + 1 2.439342 1.00000000 +I 1 + 1 5.639501 1.00000000 + +GALLIUM +S 9 + 1 31.011369 -0.00004600 + 2 13.757663 0.00020700 + 3 6.103352 -0.00828200 + 4 2.707648 0.08572200 + 5 1.201202 -0.35069900 + 6 0.532893 0.00456700 + 7 0.236409 0.45296800 + 8 0.104879 0.55818700 + 9 0.046528 0.16331900 +P 9 + 1 15.391968 -0.00012000 + 2 6.919798 -0.00020200 + 3 3.110948 0.00885300 + 4 1.398595 -0.07370800 + 5 0.628769 0.02826000 + 6 0.282677 0.22146300 + 7 0.127084 0.41332000 + 8 0.057133 0.38568600 + 9 0.025686 0.11229200 +S 1 + 1 0.433600 1.00000000 +S 1 + 1 0.216864 1.00000000 +S 1 + 1 0.108464 1.00000000 +S 1 + 1 0.054248 1.00000000 +S 1 + 1 0.021699 1.00000000 +P 1 + 1 0.518134 1.00000000 +P 1 + 1 0.209184 1.00000000 +P 1 + 1 0.084453 1.00000000 +P 1 + 1 0.034096 1.00000000 +P 1 + 1 0.013638 1.00000000 +D 1 + 1 0.782969 1.00000000 +D 1 + 1 0.362956 1.00000000 +D 1 + 1 0.168253 1.00000000 +D 1 + 1 0.077996 1.00000000 +D 1 + 1 0.031198 1.00000000 +F 1 + 1 0.603610 1.00000000 +F 1 + 1 0.311095 1.00000000 +F 1 + 1 0.160335 1.00000000 +F 1 + 1 0.064134 1.00000000 +G 1 + 1 0.591927 1.00000000 +G 1 + 1 0.292266 1.00000000 +G 1 + 1 0.116906 1.00000000 +H 1 + 1 0.525905 1.00000000 +H 1 + 1 0.210362 1.00000000 + +GERMANIUM +S 9 + 1 46.470485 -0.00022900 + 2 20.357328 0.00157400 + 3 8.917936 -0.01134500 + 4 3.906681 0.09897200 + 5 1.711400 -0.33154500 + 6 0.749713 -0.09480900 + 7 0.328427 0.43893300 + 8 0.143874 0.59677700 + 9 0.063027 0.18625100 +P 9 + 1 22.641155 0.00005200 + 2 10.174686 -0.00067500 + 3 4.572392 0.01127600 + 4 2.054783 -0.07462800 + 5 0.923397 -0.01207000 + 6 0.414964 0.21691900 + 7 0.186480 0.43873500 + 8 0.083802 0.38512600 + 9 0.037660 0.10807400 +S 1 + 1 0.565850 1.00000000 +S 1 + 1 0.283882 1.00000000 +S 1 + 1 0.142421 1.00000000 +S 1 + 1 0.071451 1.00000000 +S 1 + 1 0.028580 1.00000000 +P 1 + 1 0.705223 1.00000000 +P 1 + 1 0.294310 1.00000000 +P 1 + 1 0.122824 1.00000000 +P 1 + 1 0.051258 1.00000000 +P 1 + 1 0.020503 1.00000000 +D 1 + 1 0.647917 1.00000000 +D 1 + 1 0.338926 1.00000000 +D 1 + 1 0.177293 1.00000000 +D 1 + 1 0.092742 1.00000000 +D 1 + 1 0.037097 1.00000000 +F 1 + 1 0.718181 1.00000000 +F 1 + 1 0.355812 1.00000000 +F 1 + 1 0.176282 1.00000000 +F 1 + 1 0.070513 1.00000000 +G 1 + 1 0.710421 1.00000000 +G 1 + 1 0.329953 1.00000000 +G 1 + 1 0.131981 1.00000000 +H 1 + 1 0.597954 1.00000000 +H 1 + 1 0.239182 1.00000000 + +ARSENIC +S 9 + 1 50.230536 -0.00053800 + 2 22.441775 0.00366000 + 3 10.026436 -0.02399200 + 4 4.479567 0.15807600 + 5 2.001361 -0.41934600 + 6 0.894159 -0.10051900 + 7 0.399488 0.45002000 + 8 0.178482 0.60510400 + 9 0.079741 0.19000900 +P 9 + 1 22.695464 0.00032200 + 2 10.529662 -0.00312000 + 3 4.885284 0.02984900 + 4 2.266549 -0.12788200 + 5 1.051576 -0.00446100 + 6 0.487883 0.24866600 + 7 0.226356 0.45708300 + 8 0.105019 0.35148300 + 9 0.048724 0.09163600 +S 1 + 1 0.547920 1.00000000 +S 1 + 1 0.295142 1.00000000 +S 1 + 1 0.158980 1.00000000 +S 1 + 1 0.085636 1.00000000 +S 1 + 1 0.034254 1.00000000 +P 1 + 1 0.876022 1.00000000 +P 1 + 1 0.372655 1.00000000 +P 1 + 1 0.158526 1.00000000 +P 1 + 1 0.067436 1.00000000 +P 1 + 1 0.026974 1.00000000 +D 1 + 1 1.494090 1.00000000 +D 1 + 1 0.672936 1.00000000 +D 1 + 1 0.303089 1.00000000 +D 1 + 1 0.136511 1.00000000 +D 1 + 1 0.054604 1.00000000 +F 1 + 1 0.809189 1.00000000 +F 1 + 1 0.407052 1.00000000 +F 1 + 1 0.204762 1.00000000 +F 1 + 1 0.081905 1.00000000 +G 1 + 1 0.838980 1.00000000 +G 1 + 1 0.389390 1.00000000 +G 1 + 1 0.155756 1.00000000 +H 1 + 1 0.703049 1.00000000 +H 1 + 1 0.281220 1.00000000 + +SELENIUM +S 9 + 1 53.235856 -0.00017300 + 2 24.069480 0.00151800 + 3 10.882513 -0.01538400 + 4 4.920301 0.13681600 + 5 2.224611 -0.39461000 + 6 1.005811 -0.13955900 + 7 0.454757 0.50733100 + 8 0.205609 0.58687500 + 9 0.092962 0.17717000 +P 9 + 1 25.056177 -0.00015300 + 2 11.673683 0.00033200 + 3 5.438773 0.01417500 + 4 2.533927 -0.10389300 + 5 1.180557 -0.00813400 + 6 0.550022 0.28490400 + 7 0.256256 0.42743700 + 8 0.119390 0.33406600 + 9 0.055624 0.11234000 +S 1 + 1 0.672927 1.00000000 +S 1 + 1 0.356851 1.00000000 +S 1 + 1 0.189237 1.00000000 +S 1 + 1 0.100352 1.00000000 +S 1 + 1 0.040141 1.00000000 +P 1 + 1 0.941327 1.00000000 +P 1 + 1 0.395488 1.00000000 +P 1 + 1 0.166159 1.00000000 +P 1 + 1 0.069810 1.00000000 +P 1 + 1 0.027924 1.00000000 +D 1 + 1 1.544013 1.00000000 +D 1 + 1 0.723875 1.00000000 +D 1 + 1 0.339372 1.00000000 +D 1 + 1 0.159107 1.00000000 +D 1 + 1 0.063643 1.00000000 +F 1 + 1 0.901595 1.00000000 +F 1 + 1 0.447175 1.00000000 +F 1 + 1 0.221791 1.00000000 +F 1 + 1 0.088716 1.00000000 +G 1 + 1 0.894034 1.00000000 +G 1 + 1 0.399571 1.00000000 +G 1 + 1 0.159828 1.00000000 +H 1 + 1 0.742989 1.00000000 +H 1 + 1 0.297196 1.00000000 + +BROMINE +S 9 + 1 60.457695 -0.00045200 + 2 27.422852 0.00337200 + 3 12.438662 -0.02504500 + 4 5.642021 0.17010100 + 5 2.559150 -0.43099200 + 6 1.160798 -0.15435800 + 7 0.526524 0.52545800 + 8 0.238824 0.59273500 + 9 0.108328 0.16949000 +P 9 + 1 27.437987 0.00008700 + 2 12.887440 -0.00179700 + 3 6.053145 0.02715000 + 4 2.843122 -0.13414300 + 5 1.335395 -0.00623400 + 6 0.627226 0.30955100 + 7 0.294604 0.44028500 + 8 0.138374 0.31675000 + 9 0.064993 0.09253300 +S 1 + 1 0.717852 1.00000000 +S 1 + 1 0.387636 1.00000000 +S 1 + 1 0.209321 1.00000000 +S 1 + 1 0.113032 1.00000000 +S 1 + 1 0.045213 1.00000000 +P 1 + 1 1.077437 1.00000000 +P 1 + 1 0.464537 1.00000000 +P 1 + 1 0.200285 1.00000000 +P 1 + 1 0.086353 1.00000000 +P 1 + 1 0.034541 1.00000000 +D 1 + 1 2.131944 1.00000000 +D 1 + 1 0.965261 1.00000000 +D 1 + 1 0.437032 1.00000000 +D 1 + 1 0.197871 1.00000000 +D 1 + 1 0.079148 1.00000000 +F 1 + 1 1.053363 1.00000000 +F 1 + 1 0.531391 1.00000000 +F 1 + 1 0.268071 1.00000000 +F 1 + 1 0.107228 1.00000000 +G 1 + 1 1.023572 1.00000000 +G 1 + 1 0.454585 1.00000000 +G 1 + 1 0.181834 1.00000000 +H 1 + 1 0.837913 1.00000000 +H 1 + 1 0.335165 1.00000000 + +KRYPTON +S 9 + 1 59.995647 -0.00020300 + 2 27.757709 0.00179400 + 3 12.842438 -0.01925200 + 4 5.941709 0.17119400 + 5 2.749003 -0.47784700 + 6 1.271859 -0.11968600 + 7 0.588441 0.56843400 + 8 0.272249 0.56402800 + 9 0.125959 0.15760800 +P 9 + 1 24.020781 0.00010600 + 2 11.612963 -0.00089200 + 3 5.614344 0.02038000 + 4 2.714282 -0.15516000 + 5 1.312233 0.05764300 + 6 0.634405 0.35555900 + 7 0.306706 0.42666700 + 8 0.148279 0.27115100 + 9 0.071686 0.06768000 +S 1 + 1 0.799541 1.00000000 +S 1 + 1 0.459102 1.00000000 +S 1 + 1 0.263619 1.00000000 +S 1 + 1 0.151372 1.00000000 +S 1 + 1 0.060549 1.00000000 +P 1 + 1 1.290452 1.00000000 +P 1 + 1 0.557200 1.00000000 +P 1 + 1 0.240591 1.00000000 +P 1 + 1 0.103884 1.00000000 +P 1 + 1 0.041554 1.00000000 +D 1 + 1 2.309916 1.00000000 +D 1 + 1 1.071164 1.00000000 +D 1 + 1 0.496724 1.00000000 +D 1 + 1 0.230343 1.00000000 +D 1 + 1 0.092137 1.00000000 +F 1 + 1 1.241282 1.00000000 +F 1 + 1 0.651246 1.00000000 +F 1 + 1 0.341680 1.00000000 +F 1 + 1 0.136672 1.00000000 +G 1 + 1 1.169259 1.00000000 +G 1 + 1 0.522994 1.00000000 +G 1 + 1 0.209198 1.00000000 +H 1 + 1 0.965141 1.00000000 +H 1 + 1 0.386056 1.00000000 + diff --git a/data/basis/aug-cc-pvdz_ecp_ccecp b/data/basis/aug-cc-pvdz_ecp_ccecp new file mode 100644 index 00000000..6debec25 --- /dev/null +++ b/data/basis/aug-cc-pvdz_ecp_ccecp @@ -0,0 +1,2093 @@ +HYDROGEN +S 8 + 1 23.843185 0.00411490 + 2 10.212443 0.01046440 + 3 4.374164 0.02801110 + 4 1.873529 0.07588620 + 5 0.802465 0.18210620 + 6 0.343709 0.34852140 + 7 0.147217 0.37823130 + 8 0.063055 0.11642410 +S 1 + 1 0.040680 1.00000000 +S 1 + 1 0.139013 1.00000000 +P 1 + 1 0.166430 1.00000000 +P 1 + 1 0.740212 1.00000000 + + +HELIUM +S 8 + 1 39.320931 0.01006570 + 2 17.174528 0.02487620 + 3 7.501461 0.05825370 + 4 3.276475 0.13445960 + 5 1.431093 0.24431180 + 6 0.625070 0.34250610 + 7 0.273017 0.28264700 + 8 0.119248 0.07392530 +S 1 + 1 0.320560 1.00000000 +S 1 + 1 0.112477 1.00000000 +P 1 + 1 1.272523 1.00000000 +P 1 + 1 0.257075 1.00000000 + +LITHIUM +S 10 + 1 16.001258 0.00004340 + 2 7.583113 -0.00075310 + 3 3.593693 -0.00025190 + 4 1.703077 0.01696740 + 5 0.807101 -0.09099210 + 6 0.382491 -0.08931550 + 7 0.181265 0.02941550 + 8 0.085903 0.36440200 + 9 0.040710 0.55049730 + 10 0.019293 0.17444120 +P 10 + 1 7.004881 -0.00053060 + 2 3.451199 0.00129490 + 3 1.700353 0.00701150 + 4 0.837738 0.01716040 + 5 0.412741 0.03672400 + 6 0.203351 0.09650420 + 7 0.100188 0.22110130 + 8 0.049361 0.38353580 + 9 0.024320 0.33505640 + 10 0.011982 0.07814530 +S 1 + 1 0.103721 1.00000000 +S 1 + 1 0.041488 1.00000000 +P 1 + 1 0.070391 1.00000000 +P 1 + 1 0.028156 1.00000000 +D 1 + 1 0.110720 1.00000000 +D 1 + 1 0.044288 1.00000000 + +BERYLLIUM +S 9 + 1 15.965877 0.00069000 + 2 7.367361 -0.00037700 + 3 3.399626 0.02406900 + 4 1.568738 -0.11198900 + 5 0.723885 -0.07644200 + 6 0.334032 0.13574400 + 7 0.154137 0.41851500 + 8 0.071126 0.46292400 + 9 0.032821 0.12826600 +P 9 + 1 16.554942 0.00034100 + 2 7.526050 0.00322800 + 3 3.421421 0.01766000 + 4 1.555414 0.03866400 + 5 0.707108 0.09863900 + 6 0.321458 0.23125900 + 7 0.146138 0.38710900 + 8 0.066436 0.33944800 + 9 0.030203 0.08910200 +S 1 + 1 0.213567 1.00000000 +S 1 + 1 0.085427 1.00000000 +P 1 + 1 0.261244 1.00000000 +P 1 + 1 0.104498 1.00000000 +D 1 + 1 0.227966 1.00000000 +D 1 + 1 0.091186 1.00000000 + +BORON +S 9 + 1 11.760500 -0.00367570 + 2 5.150520 0.02505170 + 3 2.578276 -0.12492280 + 4 1.290648 -0.06628740 + 5 0.646080 0.10073410 + 6 0.323418 0.33754920 + 7 0.161898 0.43084310 + 8 0.081044 0.24865580 + 9 0.040569 0.03172950 +P 9 + 1 7.470701 0.00473970 + 2 3.735743 0.03760090 + 3 1.868068 0.05106000 + 4 0.934132 0.14565870 + 5 0.467115 0.22379330 + 6 0.233582 0.31994670 + 7 0.116803 0.28501850 + 8 0.058408 0.14488080 + 9 0.029207 0.01769620 +S 1 + 1 0.082513 1.00000000 +S 1 + 1 0.033005 1.00000000 +P 1 + 1 0.086803 1.00000000 +P 1 + 1 0.034721 1.00000000 +D 1 + 1 0.349879 1.00000000 +D 1 + 1 0.139952 1.00000000 + +CARBON +S 9 + 1 13.073594 0.00515830 + 2 6.541187 0.06034240 + 3 4.573411 -0.19784710 + 4 1.637494 -0.08103400 + 5 0.819297 0.23217260 + 6 0.409924 0.29146430 + 7 0.231300 0.43364050 + 8 0.102619 0.21319400 + 9 0.051344 0.00498480 +P 9 + 1 9.934169 0.02090760 + 2 3.886955 0.05726980 + 3 1.871016 0.11226820 + 4 0.935757 0.21300820 + 5 0.468003 0.28358150 + 6 0.239473 0.30112070 + 7 0.117063 0.20169340 + 8 0.058547 0.04535750 + 9 0.029281 0.00297750 +S 1 + 1 0.127852 1.00000000 +S 1 + 1 0.051141 1.00000000 +P 1 + 1 0.149161 1.00000000 +P 1 + 1 0.059664 1.00000000 +D 1 + 1 0.561160 1.00000000 +D 1 + 1 0.224464 1.00000000 + +NITROGEN +S 9 + 1 42.693822 -0.00093570 + 2 19.963207 0.00632950 + 3 9.334597 0.01050380 + 4 4.927819 -0.16537350 + 5 2.040920 -0.00053520 + 6 0.967080 0.24520630 + 7 0.476131 0.45821280 + 8 0.211443 0.36412240 + 9 0.098869 0.06204060 +P 9 + 1 18.925871 0.00735050 + 2 9.225603 0.02928440 + 3 4.581431 0.06521680 + 4 2.300164 0.14051530 + 5 1.154825 0.23281880 + 6 0.582039 0.29895560 + 7 0.290535 0.28025070 + 8 0.145867 0.15279950 + 9 0.073234 0.03554750 +S 1 + 1 0.175123 1.00000000 +S 1 + 1 0.070049 1.00000000 +P 1 + 1 0.223042 1.00000000 +P 1 + 1 0.089217 1.00000000 +D 1 + 1 0.832058 1.00000000 +D 1 + 1 0.332823 1.00000000 + +OXYGEN +S 9 + 1 54.775216 -0.00124440 + 2 25.616801 0.01073300 + 3 11.980245 0.00188890 + 4 6.992317 -0.17425370 + 5 2.620277 0.00176220 + 6 1.225429 0.31618460 + 7 0.577797 0.45120230 + 8 0.268022 0.31215340 + 9 0.125346 0.05111670 +P 9 + 1 22.217266 0.01048660 + 2 10.747550 0.03664350 + 3 5.315785 0.08036740 + 4 2.660761 0.16270100 + 5 1.331816 0.23777910 + 6 0.678626 0.28114220 + 7 0.333673 0.26431890 + 8 0.167017 0.14660140 + 9 0.083598 0.04581450 +S 1 + 1 0.258551 1.00000000 +S 1 + 1 0.103420 1.00000000 +P 1 + 1 0.267865 1.00000000 +P 1 + 1 0.107146 1.00000000 +D 1 + 1 1.232753 1.00000000 +D 1 + 1 0.493101 1.00000000 + +FLUORINE +S 10 + 1 84.048652 -0.00000280 + 2 41.094617 -0.00035430 + 3 20.092738 0.01840880 + 4 9.824112 -0.12776610 + 5 4.803386 -0.07028720 + 6 2.348560 0.15716040 + 7 1.148301 0.37690120 + 8 0.561449 0.40951650 + 9 0.274514 0.19708930 + 10 0.134220 0.02434820 +P 10 + 1 31.642619 0.00296730 + 2 16.243233 0.02980490 + 3 8.338204 0.06694890 + 4 4.280284 0.13377900 + 5 2.197215 0.21483120 + 6 1.127906 0.26648620 + 7 0.578992 0.26189540 + 8 0.297216 0.19202170 + 9 0.152571 0.08284650 + 10 0.078320 0.01330460 +S 1 + 1 0.344569 1.00000000 +S 1 + 1 0.137828 1.00000000 +P 1 + 1 0.364831 1.00000000 +P 1 + 1 0.145932 1.00000000 +D 1 + 1 1.722479 1.00000000 +D 1 + 1 0.688992 1.00000000 + +ALUMINUM +S 10 + 1 8.257944 0.003287 + 2 4.514245 -0.017168 + 3 2.467734 0.069766 + 4 1.348998 -0.183475 + 5 0.737436 -0.147133 + 6 0.403123 0.046882 + 7 0.220369 0.308423 + 8 0.120466 0.451564 + 9 0.065853 0.302904 + 10 0.035999 0.079545 +S 1 + 1 0.236926 1.000000 +S 1 + 1 0.043827 1.000000 +P 10 + 1 1.570603 -0.002645 + 2 0.977752 -0.037850 + 3 0.608683 0.006636 + 4 0.378925 0.089291 + 5 0.235893 0.134421 + 6 0.146851 0.256105 + 7 0.091420 0.238970 + 8 0.056912 0.260677 + 9 0.035429 0.112350 + 10 0.022056 0.052665 +P 1 + 1 0.202698 1.000000 +P 1 + 1 0.090017 1.000000 +D 1 + 1 0.192882 1.000000 +D 1 + 1 0.059624 1.000000 + +SILICON +S 10 + 1 9.998274 0.002894 + 2 5.517644 -0.014523 + 3 3.044965 0.077634 + 4 1.680393 -0.224022 + 5 0.927341 -0.149080 + 6 0.511762 0.085944 + 7 0.282421 0.355394 + 8 0.155857 0.445219 + 9 0.086011 0.267230 + 10 0.047466 0.060787 +S 1 + 1 0.325961 1.000000 +S 1 + 1 0.065039 1.000000 +P 10 + 1 5.027868 -0.003242 + 2 2.867751 0.010649 + 3 1.635683 -0.049761 + 4 0.932947 -0.000017 + 5 0.532126 0.106060 + 6 0.303509 0.236202 + 7 0.173113 0.310665 + 8 0.098739 0.294696 + 9 0.056318 0.153898 + 10 0.032122 0.042337 +P 1 + 1 0.289072 1.000000 +P 1 + 1 0.152843 1.000000 +D 1 + 1 0.281966 1.000000 +D 1 + 1 0.090255 1.000000 + +PHOSPHORUS +S 10 + 1 5.054268 0.001781 + 2 3.094719 0.077653 + 3 1.894891 -0.312344 + 4 1.160239 -0.045804 + 5 0.710412 -0.029427 + 6 0.434984 0.318560 + 7 0.266340 0.309169 + 8 0.163080 0.376899 + 9 0.099853 0.152113 + 10 0.061140 0.054943 +S 1 + 1 0.423189 1.000000 +S 1 + 1 0.090090 1.000000 +P 10 + 1 5.861284 -0.003160 + 2 3.406365 0.007462 + 3 1.979655 -0.060893 + 4 1.150503 0.015297 + 5 0.668631 0.123431 + 6 0.388584 0.257276 + 7 0.225831 0.305131 + 8 0.131245 0.276016 + 9 0.076275 0.134133 + 10 0.044328 0.040073 +P 1 + 1 0.392030 1.000000 +P 1 + 1 0.243925 1.000000 +D 1 + 1 0.386250 1.000000 +D 1 + 1 0.127408 1.000000 + +SULFUR +S 10 + 1 14.052570 0.002102 + 2 7.864913 -0.011042 + 3 4.401818 0.086618 + 4 2.463600 -0.271004 + 5 1.378823 -0.151274 + 6 0.771696 0.136044 + 7 0.431901 0.394360 + 8 0.241726 0.432098 + 9 0.135289 0.230974 + 10 0.075718 0.051205 +S 1 + 1 0.529726 1.000000 +S 1 + 1 0.119300 1.000000 +P 10 + 1 6.808844 -0.003573 + 2 3.941560 0.001903 + 3 2.281723 -0.065016 + 4 1.320863 0.042305 + 5 0.764632 0.158772 + 6 0.442637 0.278172 + 7 0.256237 0.293821 + 8 0.148333 0.248015 + 9 0.085868 0.114905 + 10 0.049708 0.032934 +P 1 + 1 0.497174 1.000000 +S 1 + 1 0.305874 1.000000 +D 1 + 1 0.499639 1.000000 +D 1 + 1 0.165988 1.000000 + +CHLORINE +S 10 + 1 15.583847 0.002501 + 2 8.858485 -0.010046 + 3 5.035519 0.085810 + 4 2.862391 -0.290136 + 5 1.627098 -0.140314 + 6 0.924908 0.146839 + 7 0.525755 0.392484 + 8 0.298860 0.425061 + 9 0.169884 0.227195 + 10 0.096569 0.059828 +S 1 + 1 0.648040 1.000000 +S 1 + 1 0.151979 1.000000 +P 10 + 1 7.682894 -0.004609 + 2 4.507558 -0.001798 + 3 2.644587 -0.068614 + 4 1.551581 0.062352 + 5 0.910313 0.166337 + 6 0.534081 0.282292 + 7 0.313346 0.275967 + 8 0.183840 0.241328 + 9 0.107859 0.110223 + 10 0.063281 0.040289 +P 1 + 1 0.633351 1.000000 +P 1 + 1 0.405005 1.000000 +D 1 + 1 0.633222 1.000000 +D 1 + 1 0.211734 1.000000 + +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 +S 1 + 1 0.051786 1.00000000 +S 1 + 1 0.019252 1.00000000 +S 1 + 1 0.009626 1.00000000 +P 1 + 1 0.027763 1.00000000 +P 1 + 1 0.012100 1.00000000 +P 1 + 1 0.006050 1.00000000 +D 1 + 1 0.013386 1.00000000 +D 1 + 1 0.006693 1.00000000 + +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 0.066369 1.00000000 +S 1 + 1 0.026432 1.00000000 +S 1 + 1 0.006700 1.00000000 +P 1 + 1 0.076223 1.00000000 +P 1 + 1 0.027633 1.00000000 +P 1 + 1 0.005400 1.00000000 +D 1 + 1 0.050522 1.00000000 +D 1 + 1 0.008800 1.00000000 + +SCANDIUM +S 13 + 1 66.882574 0.00055300 + 2 33.776681 -0.00511500 + 3 18.185884 0.00416100 + 4 11.748619 0.12160300 + 5 6.895190 -0.27013700 + 6 3.222124 -0.32441000 + 7 1.772120 0.29116200 + 8 0.841163 0.62893100 + 9 0.471976 0.27340600 + 10 0.313224 0.13535200 + 11 0.101013 0.00804100 + 12 0.049071 -0.00261000 + 13 0.022782 0.00059700 +S 13 + 1 66.882574 -0.00013900 + 2 33.776681 0.00134500 + 3 18.185884 -0.00144500 + 4 11.748619 -0.03208200 + 5 6.895190 0.07550600 + 6 3.222124 0.08992700 + 7 1.772120 -0.09008600 + 8 0.841163 -0.21644400 + 9 0.471976 -0.17925000 + 10 0.313224 -0.12816000 + 11 0.101013 0.33793500 + 12 0.049071 0.60918100 + 13 0.022782 0.24418100 +S 13 + 1 66.882574 -0.00067900 + 2 33.776681 0.00545600 + 3 18.185884 -0.01668400 + 4 11.748619 -0.03173900 + 5 6.895190 0.10956000 + 6 3.222124 0.23329300 + 7 1.772120 -0.31020700 + 8 0.841163 -0.24508300 + 9 0.471976 -1.17524800 + 10 0.313224 1.03235900 + 11 0.101013 1.59903900 + 12 0.049071 -0.62399000 + 13 0.022782 -0.84749800 +S 1 + 1 0.022782 1.00000000 +S 1 + 1 0.011000 1.00000000 +P 13 + 1 77.690832 0.00008800 + 2 39.751864 -0.00075400 + 3 20.615633 0.00658400 + 4 11.537150 -0.00718900 + 5 7.597186 -0.06890300 + 6 3.765117 -0.01384200 + 7 2.051006 0.24870400 + 8 1.048648 0.43432800 + 9 0.550231 0.32690600 + 10 0.303840 0.10461700 + 11 0.165809 0.01851200 + 12 0.060419 0.00139500 + 13 0.024751 0.00009300 +P 13 + 1 77.690832 0.00001700 + 2 39.751864 -0.00002600 + 3 20.615633 -0.00086100 + 4 11.537150 -0.00048300 + 5 7.597186 0.02136400 + 6 3.765117 -0.00370600 + 7 2.051006 -0.05871800 + 8 1.048648 -0.14336400 + 9 0.550231 -0.07728000 + 10 0.303840 -0.10776400 + 11 0.165809 0.32285900 + 12 0.060419 0.62172600 + 13 0.024751 0.25378700 +P 13 + 1 77.690832 -0.00006300 + 2 39.751864 0.00054900 + 3 20.615633 -0.00512000 + 4 11.537150 0.00701100 + 5 7.597186 0.05366100 + 6 3.765117 0.00357400 + 7 2.051006 -0.23586100 + 8 1.048648 -0.49480100 + 9 0.550231 -0.22957500 + 10 0.303840 0.91797300 + 11 0.165809 0.62115500 + 12 0.060419 -0.82464800 + 13 0.024751 -0.15759200 +P 1 + 1 0.024751 1.00000000 +P 1 + 1 0.012000 1.00000000 +D 11 + 1 60.996829 0.00005600 + 2 22.097637 0.00505400 + 3 10.186744 0.03222300 + 4 4.633892 0.08247900 + 5 2.146927 0.15936300 + 6 1.014536 0.22860400 + 7 0.487206 0.24369100 + 8 0.248191 0.23165100 + 9 0.131273 0.19543100 + 10 0.063714 0.21458900 + 11 0.021542 0.07411300 +D 11 + 1 60.996829 -0.00007200 + 2 22.097637 -0.00607900 + 3 10.186744 -0.03905400 + 4 4.633892 -0.10065200 + 5 2.146927 -0.19433000 + 6 1.014536 -0.25355600 + 7 0.487206 -0.21355600 + 8 0.248191 0.05418200 + 9 0.131273 0.26118800 + 10 0.063714 0.52021500 + 11 0.021542 0.16690700 +D 1 + 1 0.021542 1.00000000 +D 1 + 1 0.010000 1.00000000 +F 1 + 1 0.083742 1.00000000 +F 1 + 1 0.280673 1.00000000 + +TITANIUM +S 13 + 1 68.910511 0.00061600 + 2 33.720700 -0.00750100 + 3 18.159676 0.01221800 + 4 12.419305 0.14473900 + 5 7.532195 -0.32862100 + 6 3.504444 -0.31751700 + 7 1.910727 0.35742200 + 8 0.888840 0.67140600 + 9 0.447198 0.28222600 + 10 0.281192 0.03867300 + 11 0.100258 0.00455900 + 12 0.046525 -0.00156500 + 13 0.021840 0.00039800 +S 13 + 1 68.910511 -0.00015600 + 2 33.720700 0.00196600 + 3 18.159676 -0.00399400 + 4 12.419305 -0.03637700 + 5 7.532195 0.08859300 + 6 3.504444 0.08563000 + 7 1.910727 -0.10599300 + 8 0.888840 -0.23742100 + 9 0.447198 -0.23535900 + 10 0.281192 -0.01296000 + 11 0.100258 0.43358200 + 12 0.046525 0.57787300 + 13 0.021840 0.16436000 +S 13 + 1 68.910511 0.00063500 + 2 33.720700 -0.00646800 + 3 18.159676 0.02344400 + 4 12.419305 0.03892100 + 5 7.532195 -0.14118000 + 6 3.504444 -0.21476500 + 7 1.910727 0.32015100 + 8 0.888840 0.45106200 + 9 0.447198 0.85519100 + 10 0.281192 -1.20922400 + 11 0.100258 -1.31948100 + 12 0.046525 0.86651700 + 13 0.021840 0.61891600 +S 1 + 1 0.021840 1.00000000 +S 1 + 1 0.010000 1.00000000 +P 13 + 1 84.914002 0.00009300 + 2 42.855051 -0.00083600 + 3 21.700131 0.00867900 + 4 12.214690 -0.01117800 + 5 8.319164 -0.07776700 + 6 4.091071 -0.00611300 + 7 2.286543 0.27182800 + 8 1.159810 0.45958500 + 9 0.591343 0.31590000 + 10 0.312862 0.07168300 + 11 0.184828 0.01054100 + 12 0.068590 0.00004500 + 13 0.026791 -0.00083700 +P 13 + 1 84.914002 0.00002000 + 2 42.855051 -0.00004900 + 3 21.700131 -0.00076100 + 4 12.214690 -0.00057500 + 5 8.319164 0.01828400 + 6 4.091071 -0.00594300 + 7 2.286543 -0.04321200 + 8 1.159810 -0.11251300 + 9 0.591343 -0.05207300 + 10 0.312862 -0.09226300 + 11 0.184828 0.24394600 + 12 0.068590 0.41310100 + 13 0.026791 0.54398500 +P 13 + 1 84.914002 0.00001900 + 2 42.855051 0.00013800 + 3 21.700131 -0.00462200 + 4 12.214690 0.00446500 + 5 8.319164 0.06576000 + 6 4.091071 -0.01892700 + 7 2.286543 -0.22252400 + 8 1.159810 -0.52389000 + 9 0.591343 -0.07127700 + 10 0.312862 0.81271200 + 11 0.184828 0.62549800 + 12 0.068590 -0.81218900 + 13 0.026791 -0.18579600 +P 1 + 1 0.026791 1.00000000 +P 1 + 1 0.013000 1.00000000 +D 11 + 1 77.434559 0.00002200 + 2 27.708477 0.00421800 + 3 12.914284 0.03008700 + 4 6.062674 0.08482100 + 5 2.863898 0.17111000 + 6 1.386559 0.24745100 + 7 0.677058 0.27731000 + 8 0.329864 0.26107700 + 9 0.159474 0.19033600 + 10 0.076174 0.11938500 + 11 0.028570 0.03129700 +D 11 + 1 77.434559 -0.00002500 + 2 27.708477 -0.00431100 + 3 12.914284 -0.03091300 + 4 6.062674 -0.08804900 + 5 2.863898 -0.17833000 + 6 1.386559 -0.23433500 + 7 0.677058 -0.19577500 + 8 0.329864 0.06587200 + 9 0.159474 0.33053600 + 10 0.076174 0.46122900 + 11 0.028570 0.18427300 +D 1 + 1 0.028570 1.00000000 +D 1 + 1 0.014000 1.00000000 +F 1 + 1 0.146931 1.00000000 +F 1 + 1 0.499717 1.00000000 + +VANADIUM +S 13 + 1 68.577621 0.00080400 + 2 34.937147 -0.01159400 + 3 17.939491 0.09220900 + 4 11.262123 -0.04547700 + 5 6.776264 -0.28798300 + 6 3.524091 -0.21764800 + 7 1.938421 0.40750900 + 8 0.927153 0.65819300 + 9 0.448420 0.25523400 + 10 0.209668 0.00862000 + 11 0.103660 0.00273400 + 12 0.050630 -0.00116100 + 13 0.024201 0.00029400 +S 13 + 1 68.577621 -0.00017700 + 2 34.937147 0.00279100 + 3 17.939491 -0.02365000 + 4 11.262123 0.01250400 + 5 6.776264 0.07876100 + 6 3.524091 0.05497400 + 7 1.938421 -0.11895500 + 8 0.927153 -0.24534100 + 9 0.448420 -0.22295900 + 10 0.209668 0.04780900 + 11 0.103660 0.41537400 + 12 0.050630 0.54088000 + 13 0.024201 0.18342100 +S 13 + 1 68.577621 -0.00058300 + 2 34.937147 0.00957000 + 3 17.939491 -0.08560600 + 4 11.262123 0.04842600 + 5 6.776264 0.33123900 + 6 3.524091 0.14035200 + 7 1.938421 -0.90796200 + 8 0.927153 -0.50387800 + 9 0.448420 0.39893800 + 10 0.209668 0.97113100 + 11 0.103660 0.42399900 + 12 0.050630 -0.62864600 + 13 0.024201 -0.46749500 +S 1 + 1 0.024201 1.00000000 +S 1 + 1 0.012000 1.00000000 +P 13 + 1 96.215967 0.00006900 + 2 49.579340 -0.00067200 + 3 25.638009 0.00819900 + 4 14.025942 -0.02710800 + 5 8.740334 -0.05302100 + 6 4.634840 0.00500200 + 7 2.553374 0.26198600 + 8 1.321166 0.43354400 + 9 0.681285 0.32494700 + 10 0.349458 0.09234200 + 11 0.172773 0.00896400 + 12 0.063300 0.00118500 + 13 0.033969 0.00010400 +P 13 + 1 96.215967 0.00004000 + 2 49.579340 -0.00013300 + 3 25.638009 -0.00095500 + 4 14.025942 0.00371900 + 5 8.740334 0.01886600 + 6 4.634840 -0.01207400 + 7 2.553374 -0.05710700 + 8 1.321166 -0.14643300 + 9 0.681285 -0.06736500 + 10 0.349458 -0.06825400 + 11 0.172773 0.40310300 + 12 0.063300 0.50266800 + 13 0.033969 0.26129100 +P 13 + 1 96.215967 -0.00005300 + 2 49.579340 0.00002300 + 3 25.638009 0.00462900 + 4 14.025942 -0.00775500 + 5 8.740334 -0.10413300 + 6 4.634840 -0.01776200 + 7 2.553374 0.72821200 + 8 1.321166 0.21882600 + 9 0.681285 -0.49322300 + 10 0.349458 -0.83819200 + 11 0.172773 0.39840100 + 12 0.063300 0.66458900 + 13 0.033969 0.03301100 +P 1 + 1 0.033969 1.00000000 +P 1 + 1 0.016000 1.00000000 +D 11 + 1 89.989649 0.00005100 + 2 33.132961 0.00480400 + 3 15.879656 0.02948500 + 4 7.465803 0.08624900 + 5 3.551993 0.17972800 + 6 1.728185 0.26185000 + 7 0.850498 0.29179400 + 8 0.417673 0.25935600 + 9 0.201523 0.17494400 + 10 0.100711 0.06227800 + 11 0.058959 0.02765300 +D 11 + 1 89.989649 -0.00003800 + 2 33.132961 -0.00459000 + 3 15.879656 -0.02756300 + 4 7.465803 -0.08277500 + 5 3.551993 -0.17349400 + 6 1.728185 -0.23618800 + 7 0.850498 -0.14922600 + 8 0.417673 0.04414500 + 9 0.201523 0.39050000 + 10 0.100711 0.20306400 + 11 0.058959 0.39800200 +D 1 + 1 0.058959 1.00000000 +D 1 + 1 0.027000 1.00000000 +F 1 + 1 0.308388 1.00000000 +F 1 + 1 1.138450 1.00000000 + +CHROMIUM +S 13 + 1 73.977737 0.00086400 + 2 37.684349 -0.01159500 + 3 19.278723 0.09046700 + 4 12.130763 -0.02483700 + 5 7.453002 -0.33040700 + 6 3.756296 -0.20059800 + 7 2.084137 0.44976600 + 8 0.993314 0.64757500 + 9 0.483094 0.22902500 + 10 0.225854 0.00921700 + 11 0.115338 0.00113200 + 12 0.052134 -0.00036700 + 13 0.023679 0.00009200 +S 13 + 1 73.977737 -0.00018300 + 2 37.684349 0.00270400 + 3 19.278723 -0.02265000 + 4 12.130763 0.00718100 + 5 7.453002 0.08770500 + 6 3.756296 0.04761600 + 7 2.084137 -0.12567200 + 8 0.993314 -0.24457100 + 9 0.483094 -0.19841900 + 10 0.225854 0.03088900 + 11 0.115338 0.42393500 + 12 0.052134 0.57694100 + 13 0.023679 0.14832300 +S 13 + 1 73.977737 -0.00032700 + 2 37.684349 0.00530900 + 3 19.278723 -0.04690500 + 4 12.130763 0.01541100 + 5 7.453002 0.19169700 + 6 3.756296 0.09975900 + 7 2.084137 -0.33899400 + 8 0.993314 -0.69580600 + 9 0.483094 -0.00731500 + 10 0.225854 1.11859900 + 11 0.115338 0.71725700 + 12 0.052134 -0.86856500 + 13 0.023679 -0.46718600 +S 1 + 1 0.023679 1.00000000 +S 1 + 1 0.011000 1.00000000 +P 13 + 1 101.951240 0.00008800 + 2 52.309865 -0.00074700 + 3 27.142574 0.00713500 + 4 15.066862 -0.01470200 + 5 9.693669 -0.07335300 + 6 4.985710 0.01200700 + 7 2.761266 0.28311700 + 8 1.417673 0.44078600 + 9 0.728201 0.30677500 + 10 0.378189 0.08180400 + 11 0.189359 0.00883900 + 12 0.072301 0.00102200 + 13 0.037471 0.00032500 +P 13 + 1 101.951240 0.00002800 + 2 52.309865 -0.00008500 + 3 27.142574 -0.00075100 + 4 15.066862 0.00084400 + 5 9.693669 0.02265600 + 6 4.985710 -0.01278100 + 7 2.761266 -0.06238600 + 8 1.417673 -0.14358100 + 9 0.728201 -0.06228100 + 10 0.378189 -0.05447100 + 11 0.189359 0.37713500 + 12 0.072301 0.47163300 + 13 0.037471 0.31162400 +P 13 + 1 101.951240 -0.00013700 + 2 52.309865 0.00093200 + 3 27.142574 -0.00684500 + 4 15.066862 0.01983100 + 5 9.693669 0.04364700 + 6 4.985710 -0.01928900 + 7 2.761266 -0.28118700 + 8 1.417673 -0.37029800 + 9 0.728201 -0.19987300 + 10 0.378189 1.02855200 + 11 0.189359 0.42371100 + 12 0.072301 -0.80092600 + 13 0.037471 -0.14191000 +P 1 + 1 0.037471 1.00000000 +P 1 + 1 0.018000 1.00000000 +D 11 + 1 120.683729 -0.00000600 + 2 42.646591 0.00311100 + 3 21.154405 0.02864100 + 4 9.708242 0.07622200 + 5 4.614990 0.17059500 + 6 2.243726 0.26690800 + 7 1.086491 0.31103900 + 8 0.524700 0.26731200 + 9 0.255752 0.16333600 + 10 0.121497 0.06278200 + 11 0.054339 0.00787200 +D 11 + 1 120.683729 0.00001700 + 2 42.646591 -0.00357600 + 3 21.154405 -0.03147600 + 4 9.708242 -0.08758300 + 5 4.614990 -0.19574000 + 6 2.243726 -0.27013200 + 7 1.086491 -0.17003400 + 8 0.524700 0.14341200 + 9 0.255752 0.40868700 + 10 0.121497 0.37025700 + 11 0.054339 0.12311200 +D 1 + 1 0.054339 1.00000000 +D 1 + 1 0.026000 1.00000000 +F 1 + 1 0.311720 1.00000000 +F 1 + 1 1.112997 1.00000000 + +MANGANESE +S 13 + 1 76.008334 0.00099300 + 2 39.277974 -0.01479600 + 3 20.405805 0.12071000 + 4 12.218680 -0.12400100 + 5 7.182690 -0.32020000 + 6 3.850780 -0.10562200 + 7 2.142489 0.47272100 + 8 1.049631 0.62038700 + 9 0.508682 0.20455300 + 10 0.192243 0.00592400 + 11 0.108899 -0.00009700 + 12 0.053425 -0.00018500 + 13 0.025236 0.00006100 +S 13 + 1 76.008334 -0.00019900 + 2 39.277974 0.00335200 + 3 20.405805 -0.02941300 + 4 12.218680 0.03209100 + 5 7.182690 0.08315200 + 6 3.850780 0.02128300 + 7 2.142489 -0.12998900 + 8 1.049631 -0.23900600 + 9 0.508682 -0.18031500 + 10 0.192243 0.11014800 + 11 0.108899 0.40442600 + 12 0.053425 0.51730700 + 13 0.025236 0.14813900 +S 13 + 1 76.008334 -0.00009100 + 2 39.277974 0.00537400 + 3 20.405805 -0.05849400 + 4 12.218680 0.05634500 + 5 7.182690 0.22787400 + 6 3.850780 -0.00842000 + 7 2.142489 -0.32077700 + 8 1.049631 -0.81313700 + 9 0.508682 0.32647500 + 10 0.192243 1.44754000 + 11 0.108899 0.02132100 + 12 0.053425 -0.67832300 + 13 0.025236 -0.45282800 +S 1 + 1 0.025236 1.00000000 +S 1 + 1 0.012000 1.00000000 +P 13 + 1 113.479709 0.00010300 + 2 58.160819 -0.00089400 + 3 30.043076 0.00884400 + 4 16.753323 -0.01968500 + 5 10.705604 -0.06919000 + 6 5.557903 0.01150800 + 7 3.080151 0.28231300 + 8 1.582963 0.43867800 + 9 0.810922 0.30984300 + 10 0.413396 0.08394500 + 11 0.195480 0.00751700 + 12 0.072688 0.00110000 + 13 0.035877 0.00029000 +P 13 + 1 113.479709 0.00001900 + 2 58.160819 -0.00002400 + 3 30.043076 -0.00122400 + 4 16.753323 0.00232000 + 5 10.705604 0.02075800 + 6 5.557903 -0.01157200 + 7 3.080151 -0.06291900 + 8 1.582963 -0.13675400 + 9 0.810922 -0.06729500 + 10 0.413396 -0.03102400 + 11 0.195480 0.37898100 + 12 0.072688 0.50782400 + 13 0.035877 0.26094100 +P 13 + 1 113.479709 -0.00019700 + 2 58.160819 0.00135400 + 3 30.043076 -0.01010200 + 4 16.753323 0.03060300 + 5 10.705604 0.04620000 + 6 5.557903 -0.01758800 + 7 3.080151 -0.39592000 + 8 1.582963 -0.41909300 + 9 0.810922 0.07501700 + 10 0.413396 1.09298600 + 11 0.195480 0.00868000 + 12 0.072688 -0.75636900 + 13 0.035877 -0.04514900 +P 1 + 1 0.035877 1.00000000 +P 1 + 1 0.017000 1.00000000 +D 11 + 1 132.688182 0.00003000 + 2 45.266024 0.00529400 + 3 23.267336 0.02914300 + 4 10.605694 0.07677500 + 5 5.074684 0.16855100 + 6 2.469857 0.25683200 + 7 1.205883 0.28989100 + 8 0.590569 0.25715400 + 9 0.292055 0.18172600 + 10 0.149190 0.08998600 + 11 0.076511 0.03459500 +D 11 + 1 132.688182 -0.00002100 + 2 45.266024 -0.00544900 + 3 23.267336 -0.02903200 + 4 10.605694 -0.07982500 + 5 5.074684 -0.17441500 + 6 2.469857 -0.25340400 + 7 1.205883 -0.17430500 + 8 0.590569 0.04508100 + 9 0.292055 0.34576000 + 10 0.149190 0.26372500 + 11 0.076511 0.37171500 +D 1 + 1 0.076511 1.00000000 +D 1 + 1 0.034000 1.00000000 +F 1 + 1 0.373591 1.00000000 +F 1 + 1 1.357898 1.00000000 + +IRON +S 13 + 1 84.322332 0.00078500 + 2 44.203528 -0.01278100 + 3 23.288963 0.10463500 + 4 13.385163 -0.11938500 + 5 7.518052 -0.33980400 + 6 4.101835 -0.04999400 + 7 2.253571 0.47695500 + 8 1.134924 0.59322200 + 9 0.561550 0.20015100 + 10 0.201961 0.00859100 + 11 0.108698 -0.00218800 + 12 0.053619 0.00067700 + 13 0.025823 -0.00014400 +S 13 + 1 84.322332 -0.00016200 + 2 44.203528 0.00292100 + 3 23.288963 -0.02546600 + 4 13.385163 0.03118200 + 5 7.518052 0.08684900 + 6 4.101835 0.00684600 + 7 2.253571 -0.13185600 + 8 1.134924 -0.22774600 + 9 0.561550 -0.17307900 + 10 0.201961 0.13614200 + 11 0.108698 0.43401300 + 12 0.053619 0.47755500 + 13 0.025823 0.12880400 +S 13 + 1 84.322332 0.00000200 + 2 44.203528 0.00410300 + 3 23.288963 -0.04684000 + 4 13.385163 0.05283300 + 5 7.518052 0.21809400 + 6 4.101835 -0.04499900 + 7 2.253571 -0.28738600 + 8 1.134924 -0.71322000 + 9 0.561550 0.24917400 + 10 0.201961 1.29987200 + 11 0.108698 0.19211900 + 12 0.053619 -0.65861600 + 13 0.025823 -0.52104700 +S 1 + 1 0.025823 1.00000000 +S 1 + 1 0.012000 1.00000000 +P 13 + 1 125.092775 0.00005600 + 2 65.211589 -0.00057200 + 3 34.437599 0.00738800 + 4 18.930704 -0.02848100 + 5 10.873415 -0.06300500 + 6 6.012172 0.02485500 + 7 3.372205 0.27747400 + 8 1.768641 0.42538600 + 9 0.914516 0.31414500 + 10 0.460895 0.09042200 + 11 0.204490 0.00697700 + 12 0.074741 0.00115400 + 13 0.035671 0.00030300 +P 13 + 1 125.092775 0.00002500 + 2 65.211589 -0.00007000 + 3 34.437599 -0.00104200 + 4 18.930704 0.00512700 + 5 10.873415 0.01840400 + 6 6.012172 -0.01469200 + 7 3.372205 -0.06130700 + 8 1.768641 -0.12863800 + 9 0.914516 -0.07063700 + 10 0.460895 -0.01631400 + 11 0.204490 0.38070200 + 12 0.074741 0.52307100 + 13 0.035671 0.23576500 +P 13 + 1 125.092775 -0.00019700 + 2 65.211589 0.00125100 + 3 34.437599 -0.00915400 + 4 18.930704 0.03820100 + 5 10.873415 0.04309700 + 6 6.012172 -0.02947500 + 7 3.372205 -0.42699600 + 8 1.768641 -0.39484000 + 9 0.914516 0.07723000 + 10 0.460895 1.11988100 + 11 0.204490 -0.06649400 + 12 0.074741 -0.72158300 + 13 0.035671 -0.00569500 +P 1 + 1 0.035671 1.00000000 +P 1 + 1 0.017000 1.00000000 +D 11 + 1 152.736742 0.00002900 + 2 50.772485 0.00523800 + 3 26.253589 0.02932500 + 4 12.137022 0.07490100 + 5 5.853719 0.16341100 + 6 2.856224 0.25105700 + 7 1.386132 0.28760300 + 8 0.670802 0.25186200 + 9 0.330280 0.18673600 + 10 0.170907 0.09357000 + 11 0.086794 0.07381100 +D 11 + 1 152.736742 -0.00002600 + 2 50.772485 -0.00632900 + 3 26.253589 -0.03439800 + 4 12.137022 -0.09176500 + 5 5.853719 -0.20159200 + 6 2.856224 -0.28393000 + 7 1.386132 -0.16198100 + 8 0.670802 0.12882200 + 9 0.330280 0.36016000 + 10 0.170907 0.27759200 + 11 0.086794 0.26140300 +D 1 + 1 0.086794 1.00000000 +D 1 + 1 0.040000 1.00000000 +F 1 + 1 0.463696 1.00000000 +F 1 + 1 1.696126 1.00000000 + +COBALT +S 13 + 1 90.663831 0.00077400 + 2 46.961414 -0.01131600 + 3 24.110274 0.10120900 + 4 14.430881 -0.08164200 + 5 8.757423 -0.35481200 + 6 4.484459 -0.09036200 + 7 2.519739 0.49817400 + 8 1.236850 0.60412300 + 9 0.601882 0.19077500 + 10 0.223338 0.00657800 + 11 0.123422 -0.00090500 + 12 0.059941 0.00017100 + 13 0.027978 -0.00002500 +S 13 + 1 90.663831 -0.00015400 + 2 46.961414 0.00252500 + 3 24.110274 -0.02444300 + 4 14.430881 0.02220000 + 5 8.757423 0.08841600 + 6 4.484459 0.01682000 + 7 2.519739 -0.13458200 + 8 1.236850 -0.23129500 + 9 0.601882 -0.16398600 + 10 0.223338 0.12133700 + 11 0.123422 0.40241400 + 12 0.059941 0.50611300 + 13 0.027978 0.14543600 +S 13 + 1 90.663831 -0.00004700 + 2 46.961414 0.00365400 + 3 24.110274 -0.04613200 + 4 14.430881 0.03648300 + 5 8.757423 0.21726500 + 6 4.484459 -0.01188300 + 7 2.519739 -0.32468800 + 8 1.236850 -0.68058100 + 9 0.601882 0.25693600 + 10 0.223338 1.22400500 + 11 0.123422 0.23683700 + 12 0.059941 -0.60406400 + 13 0.027978 -0.57494700 +S 1 + 1 0.027978 1.00000000 +S 1 + 1 0.013000 1.00000000 +P 13 + 1 139.038145 0.00007500 + 2 71.928971 -0.00062700 + 3 37.806311 0.00571900 + 4 21.054252 -0.00931000 + 5 12.973193 -0.08385700 + 6 6.791461 0.01239400 + 7 3.794018 0.28198700 + 8 1.960649 0.43417900 + 9 1.006283 0.31340900 + 10 0.509539 0.08977800 + 11 0.233091 0.00740500 + 12 0.083890 0.00098000 + 13 0.039802 0.00027400 +P 13 + 1 139.038145 0.00002500 + 2 71.928971 -0.00008400 + 3 37.806311 -0.00048500 + 4 21.054252 0.00009500 + 5 12.973193 0.02240200 + 6 6.791461 -0.01153400 + 7 3.794018 -0.05686600 + 8 1.960649 -0.12607000 + 9 1.006283 -0.06088900 + 10 0.509539 -0.03508600 + 11 0.233091 0.35184700 + 12 0.083890 0.51044900 + 13 0.039802 0.28970700 +P 13 + 1 139.038145 -0.00023800 + 2 71.928971 0.00148900 + 3 37.806311 -0.00872300 + 4 21.054252 0.02453800 + 5 12.973193 0.06085600 + 6 6.791461 -0.02038000 + 7 3.794018 -0.43019500 + 8 1.960649 -0.40769200 + 9 1.006283 0.08532600 + 10 0.509539 1.07332600 + 11 0.233091 0.01506700 + 12 0.083890 -0.71963100 + 13 0.039802 -0.02460300 +P 1 + 1 0.039802 1.00000000 +P 1 + 1 0.019000 1.00000000 +D 11 + 1 160.444504 0.00003400 + 2 52.598830 0.00655300 + 3 27.491581 0.03618500 + 4 12.745988 0.08302600 + 5 6.184310 0.17696000 + 6 3.029146 0.26399000 + 7 1.474099 0.29244700 + 8 0.714391 0.24959700 + 9 0.348520 0.17163700 + 10 0.174166 0.08064900 + 11 0.087891 0.04121200 +D 11 + 1 160.444504 -0.00003100 + 2 52.598830 -0.00786900 + 3 27.491581 -0.04199200 + 4 12.745988 -0.10138800 + 5 6.184310 -0.21699600 + 6 3.029146 -0.28396200 + 7 1.474099 -0.12717900 + 8 0.714391 0.17712500 + 9 0.348520 0.37559600 + 10 0.174166 0.28463100 + 11 0.087891 0.20027700 +D 1 + 1 0.087891 1.00000000 +D 1 + 1 0.043000 1.00000000 +F 1 + 1 0.557444 1.00000000 +F 1 + 1 2.012568 1.00000000 + +NICKEL +S 13 + 1 97.161835 0.00070900 + 2 51.187866 -0.01239900 + 3 26.996725 0.10722000 + 4 15.523536 -0.12455600 + 5 8.916168 -0.35102300 + 6 4.795806 -0.02575800 + 7 2.619926 0.49894800 + 8 1.330111 0.56898600 + 9 0.668901 0.19112100 + 10 0.230439 0.01027800 + 11 0.121518 -0.00362700 + 12 0.057951 0.00129500 + 13 0.027201 -0.00030700 +S 13 + 1 97.161835 -0.00014000 + 2 51.187866 0.00275600 + 3 26.996725 -0.02548200 + 4 15.523536 0.03218200 + 5 8.916168 0.08622600 + 6 4.795806 0.00110400 + 7 2.619926 -0.13579000 + 8 1.330111 -0.21572400 + 9 0.668901 -0.15836700 + 10 0.230439 0.14349900 + 11 0.121518 0.44367200 + 12 0.057951 0.47255800 + 13 0.027201 0.11017300 +S 13 + 1 97.161835 0.00012100 + 2 51.187866 0.00332200 + 3 26.996725 -0.04578500 + 4 15.523536 0.05341500 + 5 8.916168 0.22227000 + 6 4.795806 -0.07306500 + 7 2.619926 -0.29399800 + 8 1.330111 -0.66893800 + 9 0.668901 0.29750400 + 10 0.230439 1.23374800 + 11 0.121518 0.12931700 + 12 0.057951 -0.60340700 + 13 0.027201 -0.53306200 +S 1 + 1 0.027201 1.00000000 +S 1 + 1 0.013000 1.00000000 +P 13 + 1 148.087630 0.00005500 + 2 77.452187 -0.00054800 + 3 40.915636 0.00697900 + 4 22.575667 -0.02365800 + 5 13.218268 -0.07568200 + 6 7.232093 0.02725300 + 7 4.054870 0.28477800 + 8 2.122089 0.42763200 + 9 1.092769 0.30993700 + 10 0.548240 0.08853500 + 11 0.238886 0.00642700 + 12 0.084667 0.00070800 + 13 0.038921 0.00018600 +P 13 + 1 148.087630 0.00002700 + 2 77.452187 -0.00008800 + 3 40.915636 -0.00077300 + 4 22.575667 0.00334500 + 5 13.218268 0.01940500 + 6 7.232093 -0.01428800 + 7 4.054870 -0.05452700 + 8 2.122089 -0.11645400 + 9 1.092769 -0.06023600 + 10 0.548240 -0.02392800 + 11 0.238886 0.34786900 + 12 0.084667 0.52262600 + 13 0.038921 0.27647100 +P 13 + 1 148.087630 -0.00023700 + 2 77.452187 0.00145600 + 3 40.915636 -0.00974500 + 4 22.575667 0.03779900 + 5 13.218268 0.05252100 + 6 7.232093 -0.03500600 + 7 4.054870 -0.45557700 + 8 2.122089 -0.36830600 + 9 1.092769 0.10039200 + 10 0.548240 1.07665200 + 11 0.238886 -0.04532600 + 12 0.084667 -0.70318600 + 13 0.038921 0.00458000 +P 1 + 1 0.038921 1.00000000 +P 1 + 1 0.019000 1.00000000 +D 11 + 1 177.900125 0.00004900 + 2 57.372112 0.00751900 + 3 29.881432 0.03645500 + 4 13.971757 0.08690100 + 5 6.841152 0.18056800 + 6 3.379983 0.26818700 + 7 1.651827 0.29675600 + 8 0.799251 0.25155800 + 9 0.388057 0.16231900 + 10 0.191191 0.07211900 + 11 0.093358 0.02368900 +D 11 + 1 177.900125 -0.00005300 + 2 57.372112 -0.00885000 + 3 29.881432 -0.04191600 + 4 13.971757 -0.10469100 + 5 6.841152 -0.21946400 + 6 3.379983 -0.28371200 + 7 1.651827 -0.12212700 + 8 0.799251 0.19012300 + 9 0.388057 0.37659800 + 10 0.191191 0.29512200 + 11 0.093358 0.17825200 +D 1 + 1 0.093358 1.00000000 +D 1 + 1 0.045000 1.00000000 +F 1 + 1 0.650562 1.00000000 +F 1 + 1 2.317543 1.00000000 + +COPPER +S 13 + 1 104.471138 0.00074100 + 2 55.955221 -0.01395300 + 3 30.553953 0.10526600 + 4 16.942394 -0.12939900 + 5 9.452707 -0.36273800 + 6 5.174537 0.01326600 + 7 2.779171 0.48928800 + 8 1.441817 0.56208800 + 9 0.710674 0.19004700 + 10 0.241540 0.00563500 + 11 0.129621 -0.00058200 + 12 0.059229 -0.00002400 + 13 0.027110 0.00003000 +S 13 + 1 104.471138 -0.00013300 + 2 55.955221 0.00299900 + 3 30.553953 -0.02431000 + 4 16.942394 0.03198600 + 5 9.452707 0.08914900 + 6 5.174537 -0.01075000 + 7 2.779171 -0.12822400 + 8 1.441817 -0.21572000 + 9 0.710674 -0.14955900 + 10 0.241540 0.14291700 + 11 0.129621 0.44630700 + 12 0.059229 0.48464300 + 13 0.027110 0.09306900 +S 13 + 1 104.471138 0.00021000 + 2 55.955221 0.00380600 + 3 30.553953 -0.04731200 + 4 16.942394 0.05995700 + 5 9.452707 0.25064200 + 6 5.174537 -0.11910200 + 7 2.779171 -0.31406900 + 8 1.441817 -0.68930000 + 9 0.710674 0.40305000 + 10 0.241540 1.27044000 + 11 0.129621 -0.02902900 + 12 0.059229 -0.62215700 + 13 0.027110 -0.44207400 +S 1 + 1 0.027110 1.00000000 +S 1 + 1 0.013000 1.00000000 +P 13 + 1 159.152840 0.00002600 + 2 83.322776 -0.00040200 + 3 44.840311 0.00740500 + 4 25.020360 -0.03071400 + 5 13.610016 -0.07434800 + 6 7.761318 0.04343000 + 7 4.303947 0.28970300 + 8 2.290080 0.41346700 + 9 1.202173 0.30376200 + 10 0.607647 0.09349400 + 11 0.257656 0.00666300 + 12 0.090897 0.00056700 + 13 0.041925 0.00017600 +P 13 + 1 159.152840 0.00003400 + 2 83.322776 -0.00012900 + 3 44.840311 -0.00080200 + 4 25.020360 0.00474700 + 5 13.610016 0.01859500 + 6 7.761318 -0.01769200 + 7 4.303947 -0.05261400 + 8 2.290080 -0.11034900 + 9 1.202173 -0.05470100 + 10 0.607647 -0.02665500 + 11 0.257656 0.33588000 + 12 0.090897 0.50947800 + 13 0.041925 0.30255900 +P 13 + 1 159.152840 -0.00022800 + 2 83.322776 0.00141400 + 3 44.840311 -0.01029000 + 4 25.020360 0.04389600 + 5 13.610016 0.05286500 + 6 7.761318 -0.05656500 + 7 4.303947 -0.48071500 + 8 2.290080 -0.31598400 + 9 1.202173 0.07567900 + 10 0.607647 1.06074700 + 11 0.257656 -0.00806100 + 12 0.090897 -0.70160100 + 13 0.041925 0.00694100 +P 1 + 1 0.041925 1.00000000 +P 1 + 1 0.020000 1.00000000 +D 11 + 1 226.693527 0.00001500 + 2 73.010278 0.00410800 + 3 38.536518 0.02822300 + 4 18.726700 0.06932300 + 5 9.155485 0.15604500 + 6 4.540884 0.25123800 + 7 2.241175 0.29746300 + 8 1.085869 0.27498100 + 9 0.510612 0.19309800 + 10 0.229608 0.08639300 + 11 0.095781 0.01464500 +D 11 + 1 226.693527 -0.00001300 + 2 73.010278 -0.00525200 + 3 38.536518 -0.03498200 + 4 18.726700 -0.08895000 + 5 9.155485 -0.20719400 + 6 4.540884 -0.30259700 + 7 2.241175 -0.17932700 + 8 1.085869 0.16906900 + 9 0.510612 0.40590400 + 10 0.229608 0.34187100 + 11 0.095781 0.11708000 +D 1 + 1 0.095781 1.00000000 +D 1 + 1 0.045000 1.00000000 +F 1 + 1 0.771675 1.00000000 +F 1 + 1 2.739578 1.00000000 + +ZINC +S 13 + 1 114.485022 0.00042900 + 2 61.996430 -0.01933900 + 3 40.117132 0.08625400 + 4 20.119649 -0.08895500 + 5 10.171676 -0.40267100 + 6 5.601641 0.06730400 + 7 2.864122 0.47921500 + 8 1.592779 0.50396000 + 9 0.826525 0.22208800 + 10 0.263975 0.01220300 + 11 0.145302 -0.00430000 + 12 0.068195 0.00124300 + 13 0.031465 -0.00026700 +S 13 + 1 114.485022 -0.00010900 + 2 61.996430 0.00445900 + 3 40.117132 -0.02006700 + 4 20.119649 0.02233800 + 5 10.171676 0.09669800 + 6 5.601641 -0.02196600 + 7 2.864122 -0.12876800 + 8 1.592779 -0.18170600 + 9 0.826525 -0.16231100 + 10 0.263975 0.11626400 + 11 0.145302 0.41131400 + 12 0.068195 0.49425700 + 13 0.031465 0.13810300 +S 13 + 1 114.485022 0.00066600 + 2 61.996430 0.00626900 + 3 40.117132 -0.04660300 + 4 20.119649 0.05039900 + 5 10.171676 0.36349300 + 6 5.601641 -0.24284000 + 7 2.864122 -0.38228100 + 8 1.592779 -0.86156700 + 9 0.826525 0.70607700 + 10 0.263975 1.49500100 + 11 0.145302 -0.45399400 + 12 0.068195 -0.59782200 + 13 0.031465 -0.25611700 +S 1 + 1 0.031465 1.00000000 +S 1 + 1 0.015000 1.00000000 +P 13 + 1 158.770986 -0.00015300 + 2 75.802876 0.00189300 + 3 44.547824 0.01046100 + 4 31.445269 -0.04514100 + 5 13.080125 -0.08420100 + 6 7.788616 0.10497300 + 7 4.195040 0.30771400 + 8 2.362276 0.36856300 + 9 1.302584 0.28633600 + 10 0.660704 0.09515600 + 11 0.249042 0.00585100 + 12 0.091781 -0.00003400 + 13 0.048931 0.00025200 +P 13 + 1 158.770986 0.00005300 + 2 75.802876 -0.00057100 + 3 44.547824 -0.00107300 + 4 31.445269 0.00746300 + 5 13.080125 0.01867600 + 6 7.788616 -0.02809000 + 7 4.195040 -0.05443800 + 8 2.362276 -0.09374400 + 9 1.302584 -0.05416900 + 10 0.660704 -0.00797200 + 11 0.249042 0.35619800 + 12 0.091781 0.41239900 + 13 0.048931 0.36132100 +P 13 + 1 158.770986 -0.00017000 + 2 75.802876 0.00060400 + 3 44.547824 -0.01998700 + 4 31.445269 0.06115300 + 5 13.080125 0.06731700 + 6 7.788616 -0.13921100 + 7 4.195040 -0.52704100 + 8 2.362276 -0.17619400 + 9 1.302584 0.03712900 + 10 0.660704 1.07932200 + 11 0.249042 -0.05014900 + 12 0.091781 -0.68897100 + 13 0.048931 0.03733100 +P 1 + 1 0.048931 1.00000000 +P 1 + 1 0.024000 1.00000000 +D 11 + 1 270.014061 -0.00001600 + 2 100.161579 0.00069600 + 3 43.530609 0.01353600 + 4 21.262419 0.06935000 + 5 10.577821 0.14955900 + 6 5.343620 0.23958800 + 7 2.704857 0.28674400 + 8 1.353018 0.27145900 + 9 0.660873 0.20242600 + 10 0.309149 0.10330700 + 11 0.133879 0.02321100 +D 11 + 1 270.014061 0.00001300 + 2 100.161579 -0.00088900 + 3 43.530609 -0.01864000 + 4 21.262419 -0.09464600 + 5 10.577821 -0.21565900 + 6 5.343620 -0.32246900 + 7 2.704857 -0.19752900 + 8 1.353018 0.16444800 + 9 0.660873 0.41001700 + 10 0.309149 0.32783800 + 11 0.133879 0.10574900 +D 1 + 1 0.133879 1.00000000 +D 1 + 1 0.060000 1.00000000 +F 1 + 1 0.893402 1.00000000 +F 1 + 1 3.171936 1.00000000 + +GALLIUM +S 9 + 1 31.011369 -0.00004600 + 2 13.757663 0.00020700 + 3 6.103352 -0.00828200 + 4 2.707648 0.08572200 + 5 1.201202 -0.35069900 + 6 0.532893 0.00456700 + 7 0.236409 0.45296800 + 8 0.104879 0.55818700 + 9 0.046528 0.16331900 +P 9 + 1 15.391968 -0.00012000 + 2 6.919798 -0.00020200 + 3 3.110948 0.00885300 + 4 1.398595 -0.07370800 + 5 0.628769 0.02826000 + 6 0.282677 0.22146300 + 7 0.127084 0.41332000 + 8 0.057133 0.38568600 + 9 0.025686 0.11229200 +S 1 + 1 0.043204 1.00000000 +S 1 + 1 0.017282 1.00000000 +P 1 + 1 0.054969 1.00000000 +P 1 + 1 0.021988 1.00000000 +D 1 + 1 0.186277 1.00000000 +D 1 + 1 0.074511 1.00000000 + +GERMANIUM +S 9 + 1 46.470485 -0.00022900 + 2 20.357328 0.00157400 + 3 8.917936 -0.01134500 + 4 3.906681 0.09897200 + 5 1.711400 -0.33154500 + 6 0.749713 -0.09480900 + 7 0.328427 0.43893300 + 8 0.143874 0.59677700 + 9 0.063027 0.18625100 +P 9 + 1 22.641155 0.00005200 + 2 10.174686 -0.00067500 + 3 4.572392 0.01127600 + 4 2.054783 -0.07462800 + 5 0.923397 -0.01207000 + 6 0.414964 0.21691900 + 7 0.186480 0.43873500 + 8 0.083802 0.38512600 + 9 0.037660 0.10807400 +S 1 + 1 0.048637 1.00000000 +S 1 + 1 0.019455 1.00000000 +P 1 + 1 0.075745 1.00000000 +P 1 + 1 0.030298 1.00000000 +D 1 + 1 0.249989 1.00000000 +D 1 + 1 0.099996 1.00000000 + +ARSENIC +S 9 + 1 50.230536 -0.00053800 + 2 22.441775 0.00366000 + 3 10.026436 -0.02399200 + 4 4.479567 0.15807600 + 5 2.001361 -0.41934600 + 6 0.894159 -0.10051900 + 7 0.399488 0.45002000 + 8 0.178482 0.60510400 + 9 0.079741 0.19000900 +P 9 + 1 22.695464 0.00032200 + 2 10.529662 -0.00312000 + 3 4.885284 0.02984900 + 4 2.266549 -0.12788200 + 5 1.051576 -0.00446100 + 6 0.487883 0.24866600 + 7 0.226356 0.45708300 + 8 0.105019 0.35148300 + 9 0.048724 0.09163600 +S 1 + 1 0.051680 1.00000000 +S 1 + 1 0.020672 1.00000000 +P 1 + 1 0.093979 1.00000000 +P 1 + 1 0.037592 1.00000000 +D 1 + 1 0.294836 1.00000000 +D 1 + 1 0.117934 1.00000000 + +SELENIUM +S 9 + 1 53.235856 -0.00017300 + 2 24.069480 0.00151800 + 3 10.882513 -0.01538400 + 4 4.920301 0.13681600 + 5 2.224611 -0.39461000 + 6 1.005811 -0.13955900 + 7 0.454757 0.50733100 + 8 0.205609 0.58687500 + 9 0.092962 0.17717000 +P 9 + 1 25.056177 -0.00015300 + 2 11.673683 0.00033200 + 3 5.438773 0.01417500 + 4 2.533927 -0.10389300 + 5 1.180557 -0.00813400 + 6 0.550022 0.28490400 + 7 0.256256 0.42743700 + 8 0.119390 0.33406600 + 9 0.055624 0.11234000 +S 1 + 1 0.063298 1.00000000 +S 1 + 1 0.025319 1.00000000 +P 1 + 1 0.103012 1.00000000 +P 1 + 1 0.041205 1.00000000 +D 1 + 1 0.364897 1.00000000 +D 1 + 1 0.145959 1.00000000 + +BROMINE +S 9 + 1 60.457695 -0.00045200 + 2 27.422852 0.00337200 + 3 12.438662 -0.02504500 + 4 5.642021 0.17010100 + 5 2.559150 -0.43099200 + 6 1.160798 -0.15435800 + 7 0.526524 0.52545800 + 8 0.238824 0.59273500 + 9 0.108328 0.16949000 +P 9 + 1 27.437987 0.00008700 + 2 12.887440 -0.00179700 + 3 6.053145 0.02715000 + 4 2.843122 -0.13414300 + 5 1.335395 -0.00623400 + 6 0.627226 0.30955100 + 7 0.294604 0.44028500 + 8 0.138374 0.31675000 + 9 0.064993 0.09253300 +S 1 + 1 0.071724 1.00000000 +S 1 + 1 0.028690 1.00000000 +P 1 + 1 0.126435 1.00000000 +P 1 + 1 0.050574 1.00000000 +D 1 + 1 0.416740 1.00000000 +D 1 + 1 0.166696 1.00000000 + +KRYPTON +S 9 + 1 59.995647 -0.00020300 + 2 27.757709 0.00179400 + 3 12.842438 -0.01925200 + 4 5.941709 0.17119400 + 5 2.749003 -0.47784700 + 6 1.271859 -0.11968600 + 7 0.588441 0.56843400 + 8 0.272249 0.56402800 + 9 0.125959 0.15760800 +P 9 + 1 24.020781 0.00010600 + 2 11.612963 -0.00089200 + 3 5.614344 0.02038000 + 4 2.714282 -0.15516000 + 5 1.312233 0.05764300 + 6 0.634405 0.35555900 + 7 0.306706 0.42666700 + 8 0.148279 0.27115100 + 9 0.071686 0.06768000 +S 1 + 1 0.658059 1.00000000 +S 1 + 1 0.263224 1.00000000 +P 1 + 1 0.155190 1.00000000 +P 1 + 1 0.062076 1.00000000 +D 1 + 1 0.502317 1.00000000 +D 1 + 1 0.200927 1.00000000 + diff --git a/data/basis/aug-cc-pvqz_ecp_ccecp b/data/basis/aug-cc-pvqz_ecp_ccecp new file mode 100644 index 00000000..cf9af9df --- /dev/null +++ b/data/basis/aug-cc-pvqz_ecp_ccecp @@ -0,0 +1,3509 @@ +HYDROGEN +S 8 + 1 23.843185 0.00411490 + 2 10.212443 0.01046440 + 3 4.374164 0.02801110 + 4 1.873529 0.07588620 + 5 0.802465 0.18210620 + 6 0.343709 0.34852140 + 7 0.147217 0.37823130 + 8 0.063055 0.11642410 +S 1 + 1 0.028726 1.00000000 +S 1 + 1 0.081856 1.00000000 +S 1 + 1 0.233254 1.00000000 +S 1 + 1 0.664673 1.00000000 +P 1 + 1 0.095522 1.00000000 +P 1 + 1 0.284469 1.00000000 +P 1 + 1 0.847159 1.00000000 +P 1 + 1 2.522868 1.00000000 +D 1 + 1 0.216033 1.00000000 +D 1 + 1 0.665279 1.00000000 +D 1 + 1 2.048739 1.00000000 +F 1 + 1 0.444647 1.00000000 +F 1 + 1 1.421460 1.00000000 + + +HELIUM +S 8 + 1 39.320931 0.01006570 + 2 17.174528 0.02487620 + 3 7.501461 0.05825370 + 4 3.276475 0.13445960 + 5 1.431093 0.24431180 + 6 0.625070 0.34250610 + 7 0.273017 0.28264700 + 8 0.119248 0.07392530 +S 1 + 1 2.065565 1.00000000 +S 1 + 1 0.657436 1.00000000 +S 1 + 1 0.209251 1.00000000 +S 1 + 1 0.066601 1.00000000 +P 1 + 1 5.989802 1.00000000 +P 1 + 1 1.842859 1.00000000 +P 1 + 1 0.566985 1.00000000 +P 1 + 1 0.174442 1.00000000 +D 1 + 1 4.312957 1.00000000 +D 1 + 1 1.213445 1.00000000 +D 1 + 1 0.341401 1.00000000 +F 1 + 1 2.677255 1.00000000 +F 1 + 1 0.704541 1.00000000 + +LITHIUM +S 10 + 1 16.001258 0.00004340 + 2 7.583113 -0.00075310 + 3 3.593693 -0.00025190 + 4 1.703077 0.01696740 + 5 0.807101 -0.09099210 + 6 0.382491 -0.08931550 + 7 0.181265 0.02941550 + 8 0.085903 0.36440200 + 9 0.040710 0.55049730 + 10 0.019293 0.17444120 +P 10 + 1 7.004881 -0.00053060 + 2 3.451199 0.00129490 + 3 1.700353 0.00701150 + 4 0.837738 0.01716040 + 5 0.412741 0.03672400 + 6 0.203351 0.09650420 + 7 0.100188 0.22110130 + 8 0.049361 0.38353580 + 9 0.024320 0.33505640 + 10 0.011982 0.07814530 +S 1 + 1 0.519693 1.00000000 +S 1 + 1 0.109770 1.00000000 +S 1 + 1 0.024834 1.00000000 +S 1 + 1 0.009933 1.00000000 +P 1 + 1 0.207505 1.00000000 +P 1 + 1 0.115823 1.00000000 +P 1 + 1 0.070662 1.00000000 +P 1 + 1 0.028264 1.00000000 +D 1 + 1 0.214990 1.00000000 +D 1 + 1 0.089353 1.00000000 +D 1 + 1 0.029817 1.00000000 +D 1 + 1 0.011926 1.00000000 +F 1 + 1 0.240323 1.00000000 +F 1 + 1 0.099930 1.00000000 +F 1 + 1 0.039972 1.00000000 +G 1 + 1 0.199570 1.00000000 +G 1 + 1 0.079828 1.00000000 + +BERYLLIUM +S 9 + 1 15.965877 0.00069000 + 2 7.367361 -0.00037700 + 3 3.399626 0.02406900 + 4 1.568738 -0.11198900 + 5 0.723885 -0.07644200 + 6 0.334032 0.13574400 + 7 0.154137 0.41851500 + 8 0.071126 0.46292400 + 9 0.032821 0.12826600 +P 9 + 1 16.554942 0.00034100 + 2 7.526050 0.00322800 + 3 3.421421 0.01766000 + 4 1.555414 0.03866400 + 5 0.707108 0.09863900 + 6 0.321458 0.23125900 + 7 0.146138 0.38710900 + 8 0.066436 0.33944800 + 9 0.030203 0.08910200 +S 1 + 1 1.332887 1.00000000 +S 1 + 1 0.245509 1.00000000 +S 1 + 1 0.045221 1.00000000 +S 1 + 1 0.018088 1.00000000 +P 1 + 1 2.453623 1.00000000 +P 1 + 1 0.683999 1.00000000 +P 1 + 1 0.190679 1.00000000 +P 1 + 1 0.076272 1.00000000 +D 1 + 1 0.984098 1.00000000 +D 1 + 1 0.408510 1.00000000 +D 1 + 1 0.169577 1.00000000 +D 1 + 1 0.067831 1.00000000 +F 1 + 1 0.477034 1.00000000 +F 1 + 1 0.237971 1.00000000 +F 1 + 1 0.095188 1.00000000 +G 1 + 1 0.422045 1.00000000 +G 1 + 1 0.168818 1.00000000 + +BORON +S 9 + 1 11.760500 -0.00367570 + 2 5.150520 0.02505170 + 3 2.578276 -0.12492280 + 4 1.290648 -0.06628740 + 5 0.646080 0.10073410 + 6 0.323418 0.33754920 + 7 0.161898 0.43084310 + 8 0.081044 0.24865580 + 9 0.040569 0.03172950 +P 9 + 1 7.470701 0.00473970 + 2 3.735743 0.03760090 + 3 1.868068 0.05106000 + 4 0.934132 0.14565870 + 5 0.467115 0.22379330 + 6 0.233582 0.31994670 + 7 0.116803 0.28501850 + 8 0.058408 0.14488080 + 9 0.029207 0.01769620 +S 1 + 1 0.422217 1.00000000 +S 1 + 1 0.305133 1.00000000 +S 1 + 1 0.082968 1.00000000 +S 1 + 1 0.033187 1.00000000 +P 1 + 1 0.447031 1.00000000 +P 1 + 1 0.196614 1.00000000 +P 1 + 1 0.066445 1.00000000 +P 1 + 1 0.026578 1.00000000 +D 1 + 1 1.142614 1.00000000 +D 1 + 1 0.410733 1.00000000 +D 1 + 1 0.149100 1.00000000 +D 1 + 1 0.059640 1.00000000 +F 1 + 1 0.870011 1.00000000 +F 1 + 1 0.315902 1.00000000 +F 1 + 1 0.126361 1.00000000 +G 1 + 1 0.710746 1.00000000 +G 1 + 1 0.284298 1.00000000 + +CARBON +S 9 + 1 13.073594 0.00515830 + 2 6.541187 0.06034240 + 3 4.573411 -0.19784710 + 4 1.637494 -0.08103400 + 5 0.819297 0.23217260 + 6 0.409924 0.29146430 + 7 0.231300 0.43364050 + 8 0.102619 0.21319400 + 9 0.051344 0.00498480 +P 9 + 1 9.934169 0.02090760 + 2 3.886955 0.05726980 + 3 1.871016 0.11226820 + 4 0.935757 0.21300820 + 5 0.468003 0.28358150 + 6 0.239473 0.30112070 + 7 0.117063 0.20169340 + 8 0.058547 0.04535750 + 9 0.029281 0.00297750 +S 1 + 1 0.846879 1.00000000 +S 1 + 1 0.269659 1.00000000 +S 1 + 1 0.109576 1.00000000 +S 1 + 1 0.043830 1.00000000 +P 1 + 1 0.804681 1.00000000 +P 1 + 1 0.313254 1.00000000 +P 1 + 1 0.105389 1.00000000 +P 1 + 1 0.042156 1.00000000 +D 1 + 1 2.013760 1.00000000 +D 1 + 1 0.684884 1.00000000 +D 1 + 1 0.240171 1.00000000 +D 1 + 1 0.096069 1.00000000 +F 1 + 1 0.457302 1.00000000 +F 1 + 1 1.324930 1.00000000 +F 1 + 1 0.529972 1.00000000 +G 1 + 1 1.034180 1.00000000 +G 1 + 1 0.413672 1.00000000 + +NITROGEN +S 9 + 1 42.693822 -0.00093570 + 2 19.963207 0.00632950 + 3 9.334597 0.01050380 + 4 4.927819 -0.16537350 + 5 2.040920 -0.00053520 + 6 0.967080 0.24520630 + 7 0.476131 0.45821280 + 8 0.211443 0.36412240 + 9 0.098869 0.06204060 +P 9 + 1 18.925871 0.00735050 + 2 9.225603 0.02928440 + 3 4.581431 0.06521680 + 4 2.300164 0.14051530 + 5 1.154825 0.23281880 + 6 0.582039 0.29895560 + 7 0.290535 0.28025070 + 8 0.145867 0.15279950 + 9 0.073234 0.03554750 +S 1 + 1 1.625001 1.00000000 +S 1 + 1 0.310826 1.00000000 +S 1 + 1 0.135764 1.00000000 +S 1 + 1 0.054306 1.00000000 +P 1 + 1 1.020750 1.00000000 +P 1 + 1 0.413103 1.00000000 +P 1 + 1 0.140736 1.00000000 +P 1 + 1 0.056294 1.00000000 +D 1 + 1 3.028459 1.00000000 +D 1 + 1 1.009895 1.00000000 +D 1 + 1 0.346233 1.00000000 +D 1 + 1 0.138493 1.00000000 +F 1 + 1 2.024747 1.00000000 +F 1 + 1 0.691129 1.00000000 +F 1 + 1 0.276452 1.00000000 +G 1 + 1 1.357512 1.00000000 +G 1 + 1 0.543005 1.00000000 + +OXYGEN +S 9 + 1 54.775216 -0.00124440 + 2 25.616801 0.01073300 + 3 11.980245 0.00188890 + 4 6.992317 -0.17425370 + 5 2.620277 0.00176220 + 6 1.225429 0.31618460 + 7 0.577797 0.45120230 + 8 0.268022 0.31215340 + 9 0.125346 0.05111670 +P 9 + 1 22.217266 0.01048660 + 2 10.747550 0.03664350 + 3 5.315785 0.08036740 + 4 2.660761 0.16270100 + 5 1.331816 0.23777910 + 6 0.678626 0.28114220 + 7 0.333673 0.26431890 + 8 0.167017 0.14660140 + 9 0.083598 0.04581450 +S 1 + 1 1.351771 1.00000000 +S 1 + 1 0.843157 1.00000000 +S 1 + 1 0.224380 1.00000000 +S 1 + 1 0.089752 1.00000000 +P 1 + 1 1.106737 1.00000000 +P 1 + 1 0.452364 1.00000000 +P 1 + 1 0.148562 1.00000000 +P 1 + 1 0.059425 1.00000000 +D 1 + 1 4.008867 1.00000000 +D 1 + 1 1.344331 1.00000000 +D 1 + 1 0.455711 1.00000000 +D 1 + 1 0.182284 1.00000000 +F 1 + 1 2.763115 1.00000000 +F 1 + 1 0.876289 1.00000000 +F 1 + 1 0.350516 1.00000000 +G 1 + 1 1.759081 1.00000000 +G 1 + 1 0.703632 1.00000000 + +FLUORINE +S 10 + 1 84.048652 -0.00000280 + 2 41.094617 -0.00035430 + 3 20.092738 0.01840880 + 4 9.824112 -0.12776610 + 5 4.803386 -0.07028720 + 6 2.348560 0.15716040 + 7 1.148301 0.37690120 + 8 0.561449 0.40951650 + 9 0.274514 0.19708930 + 10 0.134220 0.02434820 +P 10 + 1 31.642619 0.00296730 + 2 16.243233 0.02980490 + 3 8.338204 0.06694890 + 4 4.280284 0.13377900 + 5 2.197215 0.21483120 + 6 1.127906 0.26648620 + 7 0.578992 0.26189540 + 8 0.297216 0.19202170 + 9 0.152571 0.08284650 + 10 0.078320 0.01330460 +S 1 + 1 1.705653 1.00000000 +S 1 + 1 1.048013 1.00000000 +S 1 + 1 0.294345 1.00000000 +S 1 + 1 0.117738 1.00000000 +P 1 + 1 1.650688 1.00000000 +P 1 + 1 0.647240 1.00000000 +P 1 + 1 0.205806 1.00000000 +P 1 + 1 0.082322 1.00000000 +D 1 + 1 4.998085 1.00000000 +D 1 + 1 1.724392 1.00000000 +D 1 + 1 0.587354 1.00000000 +D 1 + 1 0.234942 1.00000000 +F 1 + 1 3.694285 1.00000000 +F 1 + 1 1.178147 1.00000000 +F 1 + 1 0.471259 1.00000000 +G 1 + 1 2.406583 1.00000000 +G 1 + 1 0.962633 1.00000000 + +ALUMINUM +S 10 + 1 8.257944 0.003287 + 2 4.514245 -0.017168 + 3 2.467734 0.069766 + 4 1.348998 -0.183475 + 5 0.737436 -0.147133 + 6 0.403123 0.046882 + 7 0.220369 0.308423 + 8 0.120466 0.451564 + 9 0.065853 0.302904 + 10 0.035999 0.079545 +S 1 + 1 0.347290 1.000000 +S 1 + 1 0.142082 1.000000 +S 1 + 1 0.058128 1.000000 +S 1 + 1 0.025443 1.000000 +P 10 + 1 1.570603 -0.002645 + 2 0.977752 -0.037850 + 3 0.608683 0.006636 + 4 0.378925 0.089291 + 5 0.235893 0.134421 + 6 0.146851 0.256105 + 7 0.091420 0.238970 + 8 0.056912 0.260677 + 9 0.035429 0.112350 + 10 0.022056 0.052665 +P 1 + 1 0.868497 1.000000 +P 1 + 1 0.350263 1.000000 +P 1 + 1 0.141260 1.000000 +P 1 + 1 0.058377 1.000000 +D 1 + 1 0.641818 1.000000 +D 1 + 1 0.240140 1.000000 +D 1 + 1 0.089850 1.000000 +D 1 + 1 0.032712 1.000000 +F 1 + 1 0.407281 1.000000 +F 1 + 1 0.159215 1.000000 +F 1 + 1 0.061594 1.000000 +G 1 + 1 0.351808 1.000000 +G 1 + 1 0.147657 1.000000 + +SILICON +S 10 + 1 9.998274 0.002894 + 2 5.517644 -0.014523 + 3 3.044965 0.077634 + 4 1.680393 -0.224022 + 5 0.927341 -0.149080 + 6 0.511762 0.085944 + 7 0.282421 0.355394 + 8 0.155857 0.445219 + 9 0.086011 0.267230 + 10 0.047466 0.060787 +S 1 + 1 0.488504 1.000000 +S 1 + 1 0.199457 1.000000 +S 1 + 1 0.081439 1.000000 +S 1 + 1 0.034983 1.000000 +P 10 + 1 5.027868 -0.003242 + 2 2.867751 0.010649 + 3 1.635683 -0.049761 + 4 0.932947 -0.000017 + 5 0.532126 0.106060 + 6 0.303509 0.236202 + 7 0.173113 0.310665 + 8 0.098739 0.294696 + 9 0.056318 0.153898 + 10 0.032122 0.042337 +P 1 + 1 1.225790 1.000000 +P 1 + 1 0.501364 1.000000 +P 1 + 1 0.205064 1.000000 +P 1 + 1 0.025472 1.000000 +D 1 + 1 0.997003 1.000000 +D 1 + 1 0.365942 1.000000 +D 1 + 1 0.134316 1.000000 +D 1 + 1 0.046497 1.000000 +F 1 + 1 0.549116 1.000000 +F 1 + 1 0.214998 1.000000 +F 1 + 1 0.086852 1.000000 +G 1 + 1 0.459547 1.000000 +G 1 + 1 0.207380 1.000000 + +PHOSPHORUS +S 10 + 1 5.054268 0.001781 + 2 3.094719 0.077653 + 3 1.894891 -0.312344 + 4 1.160239 -0.045804 + 5 0.710412 -0.029427 + 6 0.434984 0.318560 + 7 0.266340 0.309169 + 8 0.163080 0.376899 + 9 0.099853 0.152113 + 10 0.061140 0.054943 +S 1 + 1 0.636005 1.000000 +S 1 + 1 0.258590 1.000000 +S 1 + 1 0.105139 1.000000 +S 1 + 1 0.050176 1.000000 +P 10 + 1 5.861284 -0.003160 + 2 3.406365 0.007462 + 3 1.979655 -0.060893 + 4 1.150503 0.015297 + 5 0.668631 0.123431 + 6 0.388584 0.257276 + 7 0.225831 0.305131 + 8 0.131245 0.276016 + 9 0.076275 0.134133 + 10 0.044328 0.040073 +P 1 + 1 1.653678 1.000000 +P 1 + 1 0.679946 1.000000 +P 1 + 1 0.279575 1.000000 +P 1 + 1 0.123990 1.000000 +D 1 + 1 1.375779 1.000000 +D 1 + 1 0.502887 1.000000 +D 1 + 1 0.183820 1.000000 +D 1 + 1 0.070223 1.000000 +F 1 + 1 0.726730 1.000000 +F 1 + 1 0.284724 1.000000 +F 1 + 1 0.113959 1.000000 +G 1 + 1 0.594990 1.000000 +G 1 + 1 0.246805 1.000000 + +SULFUR +S 10 + 1 14.052570 0.002102 + 2 7.864913 -0.011042 + 3 4.401818 0.086618 + 4 2.463600 -0.271004 + 5 1.378823 -0.151274 + 6 0.771696 0.136044 + 7 0.431901 0.394360 + 8 0.241726 0.432098 + 9 0.135289 0.230974 + 10 0.075718 0.051205 +S 1 + 1 0.818729 1.000000 +S 1 + 1 0.332501 1.000000 +S 1 + 1 0.135035 1.000000 +S 1 + 1 0.064704 1.000000 +P 10 + 1 6.808844 -0.003573 + 2 3.941560 0.001903 + 3 2.281723 -0.065016 + 4 1.320863 0.042305 + 5 0.764632 0.158772 + 6 0.442637 0.278172 + 7 0.256237 0.293821 + 8 0.148333 0.248015 + 9 0.085868 0.114905 + 10 0.049708 0.032934 +P 1 + 1 2.088209 1.000000 +P 1 + 1 0.838124 1.000000 +P 1 + 1 0.336390 1.000000 +P 1 + 1 0.159376 1.000000 +D 1 + 1 1.681890 1.000000 +D 1 + 1 0.613672 1.000000 +D 1 + 1 0.223911 1.000000 +D 1 + 1 0.088063 1.000000 +F 1 + 1 0.898397 1.000000 +F 1 + 1 0.339271 1.000000 +F 1 + 1 0.145572 1.000000 +G 1 + 1 0.691446 1.000000 +G 1 + 1 0.300224 1.000000 + +CHLORINE +S 10 + 1 15.583847 0.002501 + 2 8.858485 -0.010046 + 3 5.035519 0.085810 + 4 2.862391 -0.290136 + 5 1.627098 -0.140314 + 6 0.924908 0.146839 + 7 0.525755 0.392484 + 8 0.298860 0.425061 + 9 0.169884 0.227195 + 10 0.096569 0.059828 +S 1 + 1 1.038268 1.000000 +S 1 + 1 0.418863 1.000000 +S 1 + 1 0.168980 1.000000 +S 1 + 1 0.080650 1.000000 +P 10 + 1 7.682894 -0.004609 + 2 4.507558 -0.001798 + 3 2.644587 -0.068614 + 4 1.551581 0.062352 + 5 0.910313 0.166337 + 6 0.534081 0.282292 + 7 0.313346 0.275967 + 8 0.183840 0.241328 + 9 0.107859 0.110223 + 10 0.063281 0.040289 +P 1 + 1 2.626653 1.000000 +P 1 + 1 1.069041 1.000000 +P 1 + 1 0.435097 1.000000 +P 1 + 1 0.204536 1.000000 +D 1 + 1 2.102692 1.000000 +D 1 + 1 0.763188 1.000000 +D 1 + 1 0.277005 1.000000 +D 1 + 1 0.110075 1.000000 +F 1 + 1 1.139446 1.000000 +F 1 + 1 0.434852 1.000000 +F 1 + 1 0.209794 1.000000 +G 1 + 1 0.844301 1.000000 +G 1 + 1 0.374704 1.000000 + +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 +S 1 + 1 0.150724 1.00000000 +S 1 + 1 0.069050 1.00000000 +S 1 + 1 0.031633 1.00000000 +S 1 + 1 0.014492 1.00000000 +S 1 + 1 0.007246 1.00000000 +P 1 + 1 0.071025 1.00000000 +P 1 + 1 0.035889 1.00000000 +P 1 + 1 0.018135 1.00000000 +P 1 + 1 0.009164 1.00000000 +P 1 + 1 0.004582 1.00000000 +D 1 + 1 0.063256 1.00000000 +D 1 + 1 0.023163 1.00000000 +D 1 + 1 0.008482 1.00000000 +D 1 + 1 0.004241 1.00000000 +F 1 + 1 0.123997 1.00000000 +F 1 + 1 0.062758 1.00000000 +F 1 + 1 0.031379 1.00000000 +G 1 + 1 0.011607 1.00000000 +G 1 + 1 0.005803 1.00000000 + +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 0.299840 1.00000000 +S 1 + 1 0.087500 1.00000000 +S 1 + 1 0.042030 1.00000000 +S 1 + 1 0.019731 1.00000000 +S 1 + 1 0.007000 1.00000000 +P 1 + 1 0.228266 1.00000000 +P 1 + 1 0.092361 1.00000000 +P 1 + 1 0.041625 1.00000000 +P 1 + 1 0.018573 1.00000000 +P 1 + 1 0.004800 1.00000000 +D 1 + 1 0.267718 1.00000000 +D 1 + 1 0.091527 1.00000000 +D 1 + 1 0.030733 1.00000000 +D 1 + 1 0.006000 1.00000000 +F 1 + 1 0.501100 1.00000000 +F 1 + 1 0.116000 1.00000000 +F 1 + 1 0.025400 1.00000000 +G 1 + 1 0.143100 1.00000000 +G 1 + 1 0.046500 1.00000000 + +SCANDIUM +S 13 + 1 66.882574 0.00055300 + 2 33.776681 -0.00511500 + 3 18.185884 0.00416100 + 4 11.748619 0.12160300 + 5 6.895190 -0.27013700 + 6 3.222124 -0.32441000 + 7 1.772120 0.29116200 + 8 0.841163 0.62893100 + 9 0.471976 0.27340600 + 10 0.313224 0.13535200 + 11 0.101013 0.00804100 + 12 0.049071 -0.00261000 + 13 0.022782 0.00059700 +S 13 + 1 66.882574 -0.00013900 + 2 33.776681 0.00134500 + 3 18.185884 -0.00144500 + 4 11.748619 -0.03208200 + 5 6.895190 0.07550600 + 6 3.222124 0.08992700 + 7 1.772120 -0.09008600 + 8 0.841163 -0.21644400 + 9 0.471976 -0.17925000 + 10 0.313224 -0.12816000 + 11 0.101013 0.33793500 + 12 0.049071 0.60918100 + 13 0.022782 0.24418100 +S 13 + 1 66.882574 -0.00067900 + 2 33.776681 0.00545600 + 3 18.185884 -0.01668400 + 4 11.748619 -0.03173900 + 5 6.895190 0.10956000 + 6 3.222124 0.23329300 + 7 1.772120 -0.31020700 + 8 0.841163 -0.24508300 + 9 0.471976 -1.17524800 + 10 0.313224 1.03235900 + 11 0.101013 1.59903900 + 12 0.049071 -0.62399000 + 13 0.022782 -0.84749800 +S 13 + 1 66.882574 -0.00145200 + 2 33.776681 0.01136200 + 3 18.185884 -0.03987600 + 4 11.748619 -0.02581000 + 5 6.895190 0.15794300 + 6 3.222124 0.45286800 + 7 1.772120 -0.76658700 + 8 0.841163 -0.60780000 + 9 0.471976 -1.71600200 + 10 0.313224 3.61400300 + 11 0.101013 -0.56948000 + 12 0.049071 -2.25596700 + 13 0.022782 1.91016000 +S 13 + 1 66.882574 0.00043000 + 2 33.776681 -0.00113700 + 3 18.185884 0.02081200 + 4 11.748619 -0.18957800 + 5 6.895190 0.43867600 + 6 3.222124 0.26761800 + 7 1.772120 -0.73280800 + 8 0.841163 -3.04424000 + 9 0.471976 5.47606700 + 10 0.313224 -1.01760200 + 11 0.101013 -5.01443900 + 12 0.049071 6.15979200 + 13 0.022782 -2.69036800 +S 1 + 1 0.022782 1.00000000 +S 1 + 1 0.011000 1.00000000 +P 13 + 1 77.690832 0.00008800 + 2 39.751864 -0.00075400 + 3 20.615633 0.00658400 + 4 11.537150 -0.00718900 + 5 7.597186 -0.06890300 + 6 3.765117 -0.01384200 + 7 2.051006 0.24870400 + 8 1.048648 0.43432800 + 9 0.550231 0.32690600 + 10 0.303840 0.10461700 + 11 0.165809 0.01851200 + 12 0.060419 0.00139500 + 13 0.024751 0.00009300 +P 13 + 1 77.690832 0.00001700 + 2 39.751864 -0.00002600 + 3 20.615633 -0.00086100 + 4 11.537150 -0.00048300 + 5 7.597186 0.02136400 + 6 3.765117 -0.00370600 + 7 2.051006 -0.05871800 + 8 1.048648 -0.14336400 + 9 0.550231 -0.07728000 + 10 0.303840 -0.10776400 + 11 0.165809 0.32285900 + 12 0.060419 0.62172600 + 13 0.024751 0.25378700 +P 13 + 1 77.690832 -0.00006300 + 2 39.751864 0.00054900 + 3 20.615633 -0.00512000 + 4 11.537150 0.00701100 + 5 7.597186 0.05366100 + 6 3.765117 0.00357400 + 7 2.051006 -0.23586100 + 8 1.048648 -0.49480100 + 9 0.550231 -0.22957500 + 10 0.303840 0.91797300 + 11 0.165809 0.62115500 + 12 0.060419 -0.82464800 + 13 0.024751 -0.15759200 +P 13 + 1 77.690832 -0.00024300 + 2 39.751864 0.00156800 + 3 20.615633 -0.00955400 + 4 11.537150 0.01802000 + 5 7.597186 0.05100800 + 6 3.765117 0.04328000 + 7 2.051006 -0.40417800 + 8 1.048648 -0.82490400 + 9 0.550231 0.71001400 + 10 0.303840 2.22525500 + 11 0.165809 -2.74290300 + 12 0.060419 0.58142300 + 13 0.024751 0.48091000 +P 13 + 1 77.690832 -0.00025600 + 2 39.751864 0.00108400 + 3 20.615633 0.00040000 + 4 11.537150 0.02195600 + 5 7.597186 -0.16269400 + 6 3.765117 0.00037100 + 7 2.051006 1.05365400 + 8 1.048648 0.65865100 + 9 0.550231 -4.72226800 + 10 0.303840 5.40799300 + 11 0.165809 -2.00216600 + 12 0.060419 -0.71482200 + 13 0.024751 0.92680100 +P 1 + 1 0.024751 1.00000000 +P 1 + 1 0.012000 1.00000000 +D 11 + 1 60.996829 0.00005600 + 2 22.097637 0.00505400 + 3 10.186744 0.03222300 + 4 4.633892 0.08247900 + 5 2.146927 0.15936300 + 6 1.014536 0.22860400 + 7 0.487206 0.24369100 + 8 0.248191 0.23165100 + 9 0.131273 0.19543100 + 10 0.063714 0.21458900 + 11 0.021542 0.07411300 +D 11 + 1 60.996829 -0.00007200 + 2 22.097637 -0.00607900 + 3 10.186744 -0.03905400 + 4 4.633892 -0.10065200 + 5 2.146927 -0.19433000 + 6 1.014536 -0.25355600 + 7 0.487206 -0.21355600 + 8 0.248191 0.05418200 + 9 0.131273 0.26118800 + 10 0.063714 0.52021500 + 11 0.021542 0.16690700 +D 11 + 1 60.996829 0.00005400 + 2 22.097637 0.00819500 + 3 10.186744 0.05007300 + 4 4.633892 0.13617400 + 5 2.146927 0.24651600 + 6 1.014536 0.25815800 + 7 0.487206 -0.12479900 + 8 0.248191 -0.43908100 + 9 0.131273 -0.47534700 + 10 0.063714 0.52718700 + 11 0.021542 0.47337300 +D 11 + 1 60.996829 -0.00013200 + 2 22.097637 -0.01019500 + 3 10.186744 -0.06681500 + 4 4.633892 -0.17925500 + 5 2.146927 -0.33873300 + 6 1.014536 -0.14578400 + 7 0.487206 0.70044400 + 8 0.248191 0.51197600 + 9 0.131273 -1.01912300 + 10 0.063714 -0.09222100 + 11 0.021542 0.69667500 +D 1 + 1 0.021542 1.00000000 +D 1 + 1 0.010000 1.00000000 +F 1 + 1 0.034940 1.00000000 +F 1 + 1 0.121673 1.00000000 +F 1 + 1 0.423707 1.00000000 +F 1 + 1 1.475494 1.00000000 +G 1 + 1 0.155030 1.00000000 +G 1 + 1 0.318017 1.00000000 +G 1 + 1 0.652356 1.00000000 +H 1 + 1 0.472110 1.00000000 +H 1 + 1 3.057835 1.00000000 + +TITANIUM +S 13 + 1 68.910511 0.00061600 + 2 33.720700 -0.00750100 + 3 18.159676 0.01221800 + 4 12.419305 0.14473900 + 5 7.532195 -0.32862100 + 6 3.504444 -0.31751700 + 7 1.910727 0.35742200 + 8 0.888840 0.67140600 + 9 0.447198 0.28222600 + 10 0.281192 0.03867300 + 11 0.100258 0.00455900 + 12 0.046525 -0.00156500 + 13 0.021840 0.00039800 +S 13 + 1 68.910511 -0.00015600 + 2 33.720700 0.00196600 + 3 18.159676 -0.00399400 + 4 12.419305 -0.03637700 + 5 7.532195 0.08859300 + 6 3.504444 0.08563000 + 7 1.910727 -0.10599300 + 8 0.888840 -0.23742100 + 9 0.447198 -0.23535900 + 10 0.281192 -0.01296000 + 11 0.100258 0.43358200 + 12 0.046525 0.57787300 + 13 0.021840 0.16436000 +S 13 + 1 68.910511 0.00063500 + 2 33.720700 -0.00646800 + 3 18.159676 0.02344400 + 4 12.419305 0.03892100 + 5 7.532195 -0.14118000 + 6 3.504444 -0.21476500 + 7 1.910727 0.32015100 + 8 0.888840 0.45106200 + 9 0.447198 0.85519100 + 10 0.281192 -1.20922400 + 11 0.100258 -1.31948100 + 12 0.046525 0.86651700 + 13 0.021840 0.61891600 +S 13 + 1 68.910511 -0.00117800 + 2 33.720700 0.01187700 + 3 18.159676 -0.04724000 + 4 12.419305 -0.05092200 + 5 7.532195 0.23774600 + 6 3.504444 0.40318500 + 7 1.910727 -0.79096100 + 8 0.888840 -1.10227600 + 9 0.447198 0.20944600 + 10 0.281192 2.52735200 + 11 0.100258 -1.78904100 + 12 0.046525 -0.86784200 + 13 0.021840 1.42739500 +S 13 + 1 68.910511 0.00011500 + 2 33.720700 0.00283300 + 3 18.159676 0.00614100 + 4 12.419305 -0.20968200 + 5 7.532195 0.51836700 + 6 3.504444 0.30416400 + 7 1.910727 -1.23286300 + 8 0.888840 -2.09050800 + 9 0.447198 7.09271500 + 10 0.281192 -4.54374400 + 11 0.100258 -2.24827000 + 12 0.046525 4.47391800 + 13 0.021840 -2.42629600 +S 1 + 1 0.021840 1.00000000 +S 1 + 1 0.010000 1.00000000 +P 13 + 1 84.914002 0.00009300 + 2 42.855051 -0.00083600 + 3 21.700131 0.00867900 + 4 12.214690 -0.01117800 + 5 8.319164 -0.07776700 + 6 4.091071 -0.00611300 + 7 2.286543 0.27182800 + 8 1.159810 0.45958500 + 9 0.591343 0.31590000 + 10 0.312862 0.07168300 + 11 0.184828 0.01054100 + 12 0.068590 0.00004500 + 13 0.026791 -0.00083700 +P 13 + 1 84.914002 0.00002000 + 2 42.855051 -0.00004900 + 3 21.700131 -0.00076100 + 4 12.214690 -0.00057500 + 5 8.319164 0.01828400 + 6 4.091071 -0.00594300 + 7 2.286543 -0.04321200 + 8 1.159810 -0.11251300 + 9 0.591343 -0.05207300 + 10 0.312862 -0.09226300 + 11 0.184828 0.24394600 + 12 0.068590 0.41310100 + 13 0.026791 0.54398500 +P 13 + 1 84.914002 0.00001900 + 2 42.855051 0.00013800 + 3 21.700131 -0.00462200 + 4 12.214690 0.00446500 + 5 8.319164 0.06576000 + 6 4.091071 -0.01892700 + 7 2.286543 -0.22252400 + 8 1.159810 -0.52389000 + 9 0.591343 -0.07127700 + 10 0.312862 0.81271200 + 11 0.184828 0.62549800 + 12 0.068590 -0.81218900 + 13 0.026791 -0.18579600 +P 13 + 1 84.914002 -0.00025700 + 2 42.855051 0.00172500 + 3 21.700131 -0.01264600 + 4 12.214690 0.02906200 + 5 8.319164 0.05897900 + 6 4.091071 0.03080600 + 7 2.286543 -0.52437300 + 8 1.159810 -0.72096800 + 9 0.591343 1.02320400 + 10 0.312862 1.97387400 + 11 0.184828 -2.80509200 + 12 0.068590 0.60795400 + 13 0.026791 0.44765300 +P 13 + 1 84.914002 0.00027100 + 2 42.855051 -0.00190200 + 3 21.700131 0.01541200 + 4 12.214690 -0.03758600 + 5 8.319164 -0.12453600 + 6 4.091071 0.04081200 + 7 2.286543 1.34382300 + 8 1.159810 -0.26941100 + 9 0.591343 -3.72959000 + 10 0.312862 5.88498300 + 11 0.184828 -3.11385300 + 12 0.068590 -0.25697300 + 13 0.026791 0.71073300 +P 1 + 1 0.026791 1.00000000 +P 1 + 1 0.013000 1.00000000 +D 11 + 1 77.434559 0.00002200 + 2 27.708477 0.00421800 + 3 12.914284 0.03008700 + 4 6.062674 0.08482100 + 5 2.863898 0.17111000 + 6 1.386559 0.24745100 + 7 0.677058 0.27731000 + 8 0.329864 0.26107700 + 9 0.159474 0.19033600 + 10 0.076174 0.11938500 + 11 0.028570 0.03129700 +D 11 + 1 77.434559 -0.00002500 + 2 27.708477 -0.00431100 + 3 12.914284 -0.03091300 + 4 6.062674 -0.08804900 + 5 2.863898 -0.17833000 + 6 1.386559 -0.23433500 + 7 0.677058 -0.19577500 + 8 0.329864 0.06587200 + 9 0.159474 0.33053600 + 10 0.076174 0.46122900 + 11 0.028570 0.18427300 +D 11 + 1 77.434559 0.00001000 + 2 27.708477 0.00618700 + 3 12.914284 0.04263000 + 4 6.062674 0.12752400 + 5 2.863898 0.24828900 + 6 1.386559 0.25976100 + 7 0.677058 -0.07079400 + 8 0.329864 -0.51939600 + 9 0.159474 -0.37365800 + 10 0.076174 0.45506700 + 11 0.028570 0.48958600 +D 11 + 1 77.434559 0.00001100 + 2 27.708477 -0.00802600 + 3 12.914284 -0.05387500 + 4 6.062674 -0.16879500 + 5 2.863898 -0.31234400 + 6 1.386559 -0.17203100 + 7 0.677058 0.58763300 + 8 0.329864 0.52859200 + 9 0.159474 -0.85964400 + 10 0.076174 -0.27383100 + 11 0.028570 0.80275400 +D 1 + 1 0.028570 1.00000000 +D 1 + 1 0.014000 1.00000000 +F 1 + 1 0.055499 1.00000000 +F 1 + 1 0.193613 1.00000000 +F 1 + 1 0.675430 1.00000000 +F 1 + 1 2.356279 1.00000000 +G 1 + 1 0.101467 1.00000000 +G 1 + 1 0.402576 1.00000000 +G 1 + 1 1.597247 1.00000000 +H 1 + 1 0.316183 1.00000000 +H 1 + 1 0.848174 1.00000000 + +VANADIUM +S 13 + 1 68.577621 0.00080400 + 2 34.937147 -0.01159400 + 3 17.939491 0.09220900 + 4 11.262123 -0.04547700 + 5 6.776264 -0.28798300 + 6 3.524091 -0.21764800 + 7 1.938421 0.40750900 + 8 0.927153 0.65819300 + 9 0.448420 0.25523400 + 10 0.209668 0.00862000 + 11 0.103660 0.00273400 + 12 0.050630 -0.00116100 + 13 0.024201 0.00029400 +S 13 + 1 68.577621 -0.00017700 + 2 34.937147 0.00279100 + 3 17.939491 -0.02365000 + 4 11.262123 0.01250400 + 5 6.776264 0.07876100 + 6 3.524091 0.05497400 + 7 1.938421 -0.11895500 + 8 0.927153 -0.24534100 + 9 0.448420 -0.22295900 + 10 0.209668 0.04780900 + 11 0.103660 0.41537400 + 12 0.050630 0.54088000 + 13 0.024201 0.18342100 +S 13 + 1 68.577621 -0.00058300 + 2 34.937147 0.00957000 + 3 17.939491 -0.08560600 + 4 11.262123 0.04842600 + 5 6.776264 0.33123900 + 6 3.524091 0.14035200 + 7 1.938421 -0.90796200 + 8 0.927153 -0.50387800 + 9 0.448420 0.39893800 + 10 0.209668 0.97113100 + 11 0.103660 0.42399900 + 12 0.050630 -0.62864600 + 13 0.024201 -0.46749500 +S 13 + 1 68.577621 -0.00076500 + 2 34.937147 0.01452900 + 3 17.939491 -0.13961800 + 4 11.262123 0.06307300 + 5 6.776264 0.70419300 + 6 3.524091 -0.01160200 + 7 1.938421 -2.31160400 + 8 0.927153 0.76826900 + 9 0.448420 2.16892000 + 10 0.209668 -1.06267100 + 11 0.103660 -1.21815100 + 12 0.050630 0.34080900 + 13 0.024201 0.71332200 +S 13 + 1 68.577621 -0.00356700 + 2 34.937147 0.01000700 + 3 17.939491 0.04020200 + 4 11.262123 0.34329500 + 5 6.776264 -2.09702200 + 6 3.524091 2.80403900 + 7 1.938421 1.20663800 + 8 0.927153 -4.50572400 + 9 0.448420 2.15832500 + 10 0.209668 2.12989200 + 11 0.103660 -2.26503700 + 12 0.050630 -0.68105100 + 13 0.024201 1.25786200 +S 1 + 1 0.024201 1.00000000 +S 1 + 1 0.012000 1.00000000 +P 13 + 1 96.215967 0.00006900 + 2 49.579340 -0.00067200 + 3 25.638009 0.00819900 + 4 14.025942 -0.02710800 + 5 8.740334 -0.05302100 + 6 4.634840 0.00500200 + 7 2.553374 0.26198600 + 8 1.321166 0.43354400 + 9 0.681285 0.32494700 + 10 0.349458 0.09234200 + 11 0.172773 0.00896400 + 12 0.063300 0.00118500 + 13 0.033969 0.00010400 +P 13 + 1 96.215967 0.00004000 + 2 49.579340 -0.00013300 + 3 25.638009 -0.00095500 + 4 14.025942 0.00371900 + 5 8.740334 0.01886600 + 6 4.634840 -0.01207400 + 7 2.553374 -0.05710700 + 8 1.321166 -0.14643300 + 9 0.681285 -0.06736500 + 10 0.349458 -0.06825400 + 11 0.172773 0.40310300 + 12 0.063300 0.50266800 + 13 0.033969 0.26129100 +P 13 + 1 96.215967 -0.00005300 + 2 49.579340 0.00002300 + 3 25.638009 0.00462900 + 4 14.025942 -0.00775500 + 5 8.740334 -0.10413300 + 6 4.634840 -0.01776200 + 7 2.553374 0.72821200 + 8 1.321166 0.21882600 + 9 0.681285 -0.49322300 + 10 0.349458 -0.83819200 + 11 0.172773 0.39840100 + 12 0.063300 0.66458900 + 13 0.033969 0.03301100 +P 13 + 1 96.215967 -0.00126200 + 2 49.579340 0.00641900 + 3 25.638009 -0.02122900 + 4 14.025942 0.11577700 + 5 8.740334 -0.42074000 + 6 4.634840 0.19774200 + 7 2.553374 1.57560000 + 8 1.321166 -1.06791300 + 9 0.681285 -1.31008300 + 10 0.349458 1.19114700 + 11 0.172773 0.55051600 + 12 0.063300 -0.71878800 + 13 0.033969 -0.15744100 +P 13 + 1 96.215967 -0.00478000 + 2 49.579340 0.02531200 + 3 25.638009 -0.09426700 + 4 14.025942 0.43789600 + 5 8.740334 -1.44316600 + 6 4.634840 2.63678000 + 7 2.553374 -0.38243600 + 8 1.321166 -2.76188100 + 9 0.681285 2.15975600 + 10 0.349458 0.67615100 + 11 0.172773 -1.62151700 + 12 0.063300 0.42916400 + 13 0.033969 0.40017800 +P 1 + 1 0.033969 1.00000000 +P 1 + 1 0.016000 1.00000000 +D 11 + 1 89.989649 0.00005100 + 2 33.132961 0.00480400 + 3 15.879656 0.02948500 + 4 7.465803 0.08624900 + 5 3.551993 0.17972800 + 6 1.728185 0.26185000 + 7 0.850498 0.29179400 + 8 0.417673 0.25935600 + 9 0.201523 0.17494400 + 10 0.100711 0.06227800 + 11 0.058959 0.02765300 +D 11 + 1 89.989649 -0.00003800 + 2 33.132961 -0.00459000 + 3 15.879656 -0.02756300 + 4 7.465803 -0.08277500 + 5 3.551993 -0.17349400 + 6 1.728185 -0.23618800 + 7 0.850498 -0.14922600 + 8 0.417673 0.04414500 + 9 0.201523 0.39050000 + 10 0.100711 0.20306400 + 11 0.058959 0.39800200 +D 11 + 1 89.989649 0.00012800 + 2 33.132961 0.00665200 + 3 15.879656 0.04463500 + 4 7.465803 0.12255900 + 5 3.551993 0.31114700 + 6 1.728185 0.28881300 + 7 0.850498 -0.14224600 + 8 0.417673 -0.61373700 + 9 0.201523 -0.12391600 + 10 0.100711 -0.02023500 + 11 0.058959 0.73325900 +D 11 + 1 89.989649 0.00004500 + 2 33.132961 -0.01039400 + 3 15.879656 -0.05505100 + 4 7.465803 -0.17145700 + 5 3.551993 -0.51992200 + 6 1.728185 0.09902600 + 7 0.850498 0.82933200 + 8 0.417673 -0.07090800 + 9 0.201523 -0.47117100 + 10 0.100711 -0.87878900 + 11 0.058959 1.21174700 +D 1 + 1 0.058959 1.00000000 +D 1 + 1 0.027000 1.00000000 +F 1 + 1 0.092956 1.00000000 +F 1 + 1 0.309164 1.00000000 +F 1 + 1 1.028253 1.00000000 +F 1 + 1 3.419885 1.00000000 +G 1 + 1 0.290466 1.00000000 +G 1 + 1 0.946128 1.00000000 +G 1 + 1 3.081804 1.00000000 +H 1 + 1 0.913918 1.00000000 +H 1 + 1 2.514905 1.00000000 + +CHROMIUM +S 13 + 1 73.977737 0.00086400 + 2 37.684349 -0.01159500 + 3 19.278723 0.09046700 + 4 12.130763 -0.02483700 + 5 7.453002 -0.33040700 + 6 3.756296 -0.20059800 + 7 2.084137 0.44976600 + 8 0.993314 0.64757500 + 9 0.483094 0.22902500 + 10 0.225854 0.00921700 + 11 0.115338 0.00113200 + 12 0.052134 -0.00036700 + 13 0.023679 0.00009200 +S 13 + 1 73.977737 -0.00018300 + 2 37.684349 0.00270400 + 3 19.278723 -0.02265000 + 4 12.130763 0.00718100 + 5 7.453002 0.08770500 + 6 3.756296 0.04761600 + 7 2.084137 -0.12567200 + 8 0.993314 -0.24457100 + 9 0.483094 -0.19841900 + 10 0.225854 0.03088900 + 11 0.115338 0.42393500 + 12 0.052134 0.57694100 + 13 0.023679 0.14832300 +S 13 + 1 73.977737 -0.00032700 + 2 37.684349 0.00530900 + 3 19.278723 -0.04690500 + 4 12.130763 0.01541100 + 5 7.453002 0.19169700 + 6 3.756296 0.09975900 + 7 2.084137 -0.33899400 + 8 0.993314 -0.69580600 + 9 0.483094 -0.00731500 + 10 0.225854 1.11859900 + 11 0.115338 0.71725700 + 12 0.052134 -0.86856500 + 13 0.023679 -0.46718600 +S 13 + 1 73.977737 -0.00069800 + 2 37.684349 0.01020700 + 3 19.278723 -0.09126100 + 4 12.130763 0.05220700 + 5 7.453002 0.34216400 + 6 3.756296 0.17486600 + 7 2.084137 -0.99425800 + 8 0.993314 -1.19060400 + 9 0.483094 2.27183400 + 10 0.225854 1.00301300 + 11 0.115338 -2.60523500 + 12 0.052134 0.26515800 + 13 0.023679 0.90228600 +S 13 + 1 73.977737 0.00298300 + 2 37.684349 -0.02696900 + 3 19.278723 0.19930400 + 4 12.130763 -0.25709400 + 5 7.453002 -0.31292400 + 6 3.756296 -0.37282300 + 7 2.084137 2.61267600 + 8 0.993314 -1.10831900 + 9 0.483094 -3.52097300 + 10 0.225854 5.38631500 + 11 0.115338 -1.94819200 + 12 0.052134 -1.98569900 + 13 0.023679 1.70618700 +S 1 + 1 0.023679 1.00000000 +S 1 + 1 0.011000 1.00000000 +P 13 + 1 101.951240 0.00008800 + 2 52.309865 -0.00074700 + 3 27.142574 0.00713500 + 4 15.066862 -0.01470200 + 5 9.693669 -0.07335300 + 6 4.985710 0.01200700 + 7 2.761266 0.28311700 + 8 1.417673 0.44078600 + 9 0.728201 0.30677500 + 10 0.378189 0.08180400 + 11 0.189359 0.00883900 + 12 0.072301 0.00102200 + 13 0.037471 0.00032500 +P 13 + 1 101.951240 0.00002800 + 2 52.309865 -0.00008500 + 3 27.142574 -0.00075100 + 4 15.066862 0.00084400 + 5 9.693669 0.02265600 + 6 4.985710 -0.01278100 + 7 2.761266 -0.06238600 + 8 1.417673 -0.14358100 + 9 0.728201 -0.06228100 + 10 0.378189 -0.05447100 + 11 0.189359 0.37713500 + 12 0.072301 0.47163300 + 13 0.037471 0.31162400 +P 13 + 1 101.951240 -0.00013700 + 2 52.309865 0.00093200 + 3 27.142574 -0.00684500 + 4 15.066862 0.01983100 + 5 9.693669 0.04364700 + 6 4.985710 -0.01928900 + 7 2.761266 -0.28118700 + 8 1.417673 -0.37029800 + 9 0.728201 -0.19987300 + 10 0.378189 1.02855200 + 11 0.189359 0.42371100 + 12 0.072301 -0.80092600 + 13 0.037471 -0.14191000 +P 13 + 1 101.951240 0.00002700 + 2 52.309865 0.00018000 + 3 27.142574 -0.00574200 + 4 15.066862 0.02041900 + 5 9.693669 0.10052700 + 6 4.985710 -0.10060800 + 7 2.761266 -0.60774600 + 8 1.417673 -0.60170500 + 9 0.728201 1.45090500 + 10 0.378189 0.67229900 + 11 0.189359 -1.90482300 + 12 0.072301 0.66581400 + 13 0.037471 0.34852200 +P 13 + 1 101.951240 0.00053400 + 2 52.309865 -0.00333900 + 3 27.142574 0.01766200 + 4 15.066862 -0.08424900 + 5 9.693669 -0.08077700 + 6 4.985710 0.27239200 + 7 2.761266 1.31045500 + 8 1.417673 -1.06179300 + 9 0.728201 -2.37680500 + 10 0.378189 4.47731700 + 11 0.189359 -2.79579800 + 12 0.072301 0.20300800 + 13 0.037471 0.57055500 +P 1 + 1 0.037471 1.00000000 +P 1 + 1 0.018000 1.00000000 +D 11 + 1 120.683729 -0.00000600 + 2 42.646591 0.00311100 + 3 21.154405 0.02864100 + 4 9.708242 0.07622200 + 5 4.614990 0.17059500 + 6 2.243726 0.26690800 + 7 1.086491 0.31103900 + 8 0.524700 0.26731200 + 9 0.255752 0.16333600 + 10 0.121497 0.06278200 + 11 0.054339 0.00787200 +D 11 + 1 120.683729 0.00001700 + 2 42.646591 -0.00357600 + 3 21.154405 -0.03147600 + 4 9.708242 -0.08758300 + 5 4.614990 -0.19574000 + 6 2.243726 -0.27013200 + 7 1.086491 -0.17003400 + 8 0.524700 0.14341200 + 9 0.255752 0.40868700 + 10 0.121497 0.37025700 + 11 0.054339 0.12311200 +D 11 + 1 120.683729 0.00004000 + 2 42.646591 -0.00518100 + 3 21.154405 -0.04339300 + 4 9.708242 -0.12773400 + 5 4.614990 -0.28207000 + 6 2.243726 -0.28839000 + 7 1.086491 0.16826900 + 8 0.524700 0.67306200 + 9 0.255752 0.09919600 + 10 0.121497 -0.57061200 + 11 0.054339 -0.29719700 +D 11 + 1 120.683729 0.00011900 + 2 42.646591 -0.00795400 + 3 21.154405 -0.06042500 + 4 9.708242 -0.19681000 + 5 4.614990 -0.40138900 + 6 2.243726 -0.07218600 + 7 1.086491 0.94089500 + 8 0.524700 0.03586300 + 9 0.255752 -1.15352900 + 10 0.121497 0.43219200 + 11 0.054339 0.48316100 +D 1 + 1 0.054339 1.00000000 +D 1 + 1 0.026000 1.00000000 +F 1 + 1 0.100815 1.00000000 +F 1 + 1 0.342104 1.00000000 +F 1 + 1 1.160895 1.00000000 +F 1 + 1 3.939379 1.00000000 +G 1 + 1 0.190079 1.00000000 +G 1 + 1 0.715513 1.00000000 +G 1 + 1 2.693396 1.00000000 +H 1 + 1 0.590356 1.00000000 +H 1 + 1 1.706513 1.00000000 + +MANGANESE +S 13 + 1 76.008334 0.00099300 + 2 39.277974 -0.01479600 + 3 20.405805 0.12071000 + 4 12.218680 -0.12400100 + 5 7.182690 -0.32020000 + 6 3.850780 -0.10562200 + 7 2.142489 0.47272100 + 8 1.049631 0.62038700 + 9 0.508682 0.20455300 + 10 0.192243 0.00592400 + 11 0.108899 -0.00009700 + 12 0.053425 -0.00018500 + 13 0.025236 0.00006100 +S 13 + 1 76.008334 -0.00019900 + 2 39.277974 0.00335200 + 3 20.405805 -0.02941300 + 4 12.218680 0.03209100 + 5 7.182690 0.08315200 + 6 3.850780 0.02128300 + 7 2.142489 -0.12998900 + 8 1.049631 -0.23900600 + 9 0.508682 -0.18031500 + 10 0.192243 0.11014800 + 11 0.108899 0.40442600 + 12 0.053425 0.51730700 + 13 0.025236 0.14813900 +S 13 + 1 76.008334 -0.00009100 + 2 39.277974 0.00537400 + 3 20.405805 -0.05849400 + 4 12.218680 0.05634500 + 5 7.182690 0.22787400 + 6 3.850780 -0.00842000 + 7 2.142489 -0.32077700 + 8 1.049631 -0.81313700 + 9 0.508682 0.32647500 + 10 0.192243 1.44754000 + 11 0.108899 0.02132100 + 12 0.053425 -0.67832300 + 13 0.025236 -0.45282800 +S 13 + 1 76.008334 -0.00052600 + 2 39.277974 0.01138000 + 3 20.405805 -0.11603400 + 4 12.218680 0.14932900 + 5 7.182690 0.36015400 + 6 3.850780 0.02517400 + 7 2.142489 -1.17012500 + 8 1.049631 -0.87212300 + 9 0.508682 2.55063300 + 10 0.192243 0.09034300 + 11 0.108899 -2.21058800 + 12 0.053425 0.47058200 + 13 0.025236 0.83217500 +S 13 + 1 76.008334 0.00409700 + 2 39.277974 -0.03635300 + 3 20.405805 0.26570800 + 4 12.218680 -0.48518700 + 5 7.182690 -0.23228800 + 6 3.850780 -0.24179800 + 7 2.142489 3.38791800 + 8 1.049631 -3.26857300 + 9 0.508682 -0.83790100 + 10 0.192243 5.26227100 + 11 0.108899 -4.29984700 + 12 0.053425 -0.44524000 + 13 0.025236 1.29402600 +S 1 + 1 0.025236 1.00000000 +S 1 + 1 0.012000 1.00000000 +P 13 + 1 113.479709 0.00010300 + 2 58.160819 -0.00089400 + 3 30.043076 0.00884400 + 4 16.753323 -0.01968500 + 5 10.705604 -0.06919000 + 6 5.557903 0.01150800 + 7 3.080151 0.28231300 + 8 1.582963 0.43867800 + 9 0.810922 0.30984300 + 10 0.413396 0.08394500 + 11 0.195480 0.00751700 + 12 0.072688 0.00110000 + 13 0.035877 0.00029000 +P 13 + 1 113.479709 0.00001900 + 2 58.160819 -0.00002400 + 3 30.043076 -0.00122400 + 4 16.753323 0.00232000 + 5 10.705604 0.02075800 + 6 5.557903 -0.01157200 + 7 3.080151 -0.06291900 + 8 1.582963 -0.13675400 + 9 0.810922 -0.06729500 + 10 0.413396 -0.03102400 + 11 0.195480 0.37898100 + 12 0.072688 0.50782400 + 13 0.035877 0.26094100 +P 13 + 1 113.479709 -0.00019700 + 2 58.160819 0.00135400 + 3 30.043076 -0.01010200 + 4 16.753323 0.03060300 + 5 10.705604 0.04620000 + 6 5.557903 -0.01758800 + 7 3.080151 -0.39592000 + 8 1.582963 -0.41909300 + 9 0.810922 0.07501700 + 10 0.413396 1.09298600 + 11 0.195480 0.00868000 + 12 0.072688 -0.75636900 + 13 0.035877 -0.04514900 +P 13 + 1 113.479709 0.00001400 + 2 58.160819 0.00042100 + 3 30.043076 -0.00857300 + 4 16.753323 0.03879700 + 5 10.705604 0.09933800 + 6 5.557903 -0.14444500 + 7 3.080151 -0.82118200 + 8 1.582963 -0.25078500 + 9 0.810922 1.79017000 + 10 0.413396 -0.39954700 + 11 0.195480 -1.29438200 + 12 0.072688 0.84704700 + 13 0.035877 0.15171000 +P 13 + 1 113.479709 -0.00021400 + 2 58.160819 0.00186900 + 3 30.043076 -0.01439900 + 4 16.753323 0.08866300 + 5 10.705604 0.11611700 + 6 5.557903 -0.47666500 + 7 3.080151 -1.47189600 + 8 1.582963 2.46363500 + 9 0.810922 0.10250800 + 10 0.413396 -2.77460100 + 11 0.195480 2.43625400 + 12 0.072688 -0.61701900 + 13 0.035877 -0.32367600 +P 1 + 1 0.035877 1.00000000 +P 1 + 1 0.017000 1.00000000 +D 11 + 1 132.688182 0.00003000 + 2 45.266024 0.00529400 + 3 23.267336 0.02914300 + 4 10.605694 0.07677500 + 5 5.074684 0.16855100 + 6 2.469857 0.25683200 + 7 1.205883 0.28989100 + 8 0.590569 0.25715400 + 9 0.292055 0.18172600 + 10 0.149190 0.08998600 + 11 0.076511 0.03459500 +D 11 + 1 132.688182 -0.00002100 + 2 45.266024 -0.00544900 + 3 23.267336 -0.02903200 + 4 10.605694 -0.07982500 + 5 5.074684 -0.17441500 + 6 2.469857 -0.25340400 + 7 1.205883 -0.17430500 + 8 0.590569 0.04508100 + 9 0.292055 0.34576000 + 10 0.149190 0.26372500 + 11 0.076511 0.37171500 +D 11 + 1 132.688182 0.00006000 + 2 45.266024 0.00838500 + 3 23.267336 0.04580000 + 4 10.605694 0.12921500 + 5 5.074684 0.28432700 + 6 2.469857 0.27076000 + 7 1.205883 -0.10159100 + 8 0.590569 -0.58067700 + 9 0.292055 -0.18169600 + 10 0.149190 0.02100300 + 11 0.076511 0.72365800 +D 11 + 1 132.688182 -0.00003700 + 2 45.266024 -0.01080900 + 3 23.267336 -0.05558200 + 4 10.605694 -0.17205300 + 5 5.074684 -0.38188900 + 6 2.469857 -0.13039900 + 7 1.205883 0.81899300 + 8 0.590569 0.18014500 + 9 0.292055 -0.60472000 + 10 0.149190 -0.73358400 + 11 0.076511 1.05874100 +D 1 + 1 0.076511 1.00000000 +D 1 + 1 0.034000 1.00000000 +F 1 + 1 0.119783 1.00000000 +F 1 + 1 0.405052 1.00000000 +F 1 + 1 1.369701 1.00000000 +F 1 + 1 4.631705 1.00000000 +G 1 + 1 0.244611 1.00000000 +G 1 + 1 0.893773 1.00000000 +G 1 + 1 3.265719 1.00000000 +H 1 + 1 0.740197 1.00000000 +H 1 + 1 2.093484 1.00000000 + +IRON +S 13 + 1 84.322332 0.00078500 + 2 44.203528 -0.01278100 + 3 23.288963 0.10463500 + 4 13.385163 -0.11938500 + 5 7.518052 -0.33980400 + 6 4.101835 -0.04999400 + 7 2.253571 0.47695500 + 8 1.134924 0.59322200 + 9 0.561550 0.20015100 + 10 0.201961 0.00859100 + 11 0.108698 -0.00218800 + 12 0.053619 0.00067700 + 13 0.025823 -0.00014400 +S 13 + 1 84.322332 -0.00016200 + 2 44.203528 0.00292100 + 3 23.288963 -0.02546600 + 4 13.385163 0.03118200 + 5 7.518052 0.08684900 + 6 4.101835 0.00684600 + 7 2.253571 -0.13185600 + 8 1.134924 -0.22774600 + 9 0.561550 -0.17307900 + 10 0.201961 0.13614200 + 11 0.108698 0.43401300 + 12 0.053619 0.47755500 + 13 0.025823 0.12880400 +S 13 + 1 84.322332 0.00000200 + 2 44.203528 0.00410300 + 3 23.288963 -0.04684000 + 4 13.385163 0.05283300 + 5 7.518052 0.21809400 + 6 4.101835 -0.04499900 + 7 2.253571 -0.28738600 + 8 1.134924 -0.71322000 + 9 0.561550 0.24917400 + 10 0.201961 1.29987200 + 11 0.108698 0.19211900 + 12 0.053619 -0.65861600 + 13 0.025823 -0.52104700 +S 13 + 1 84.322332 0.00001200 + 2 44.203528 0.00759800 + 3 23.288963 -0.09413300 + 4 13.385163 0.12765500 + 5 7.518052 0.43559800 + 6 4.101835 -0.14791100 + 7 2.253571 -1.08447700 + 8 1.134924 -0.88700300 + 9 0.561550 2.44994600 + 10 0.201961 0.16797600 + 11 0.108698 -2.11466800 + 12 0.053619 0.45257900 + 13 0.025823 0.80144400 +S 13 + 1 84.322332 0.00330100 + 2 44.203528 -0.02919700 + 3 23.288963 0.21322700 + 4 13.385163 -0.40810900 + 5 7.518052 -0.38565100 + 6 4.101835 0.16809300 + 7 2.253571 3.10252900 + 8 1.134924 -3.36044600 + 9 0.561550 -0.53161900 + 10 0.201961 4.49398100 + 11 0.108698 -3.68975000 + 12 0.053619 -0.51060400 + 13 0.025823 1.30102100 +S 1 + 1 0.025823 1.00000000 +S 1 + 1 0.012000 1.00000000 +P 13 + 1 125.092775 0.00005600 + 2 65.211589 -0.00057200 + 3 34.437599 0.00738800 + 4 18.930704 -0.02848100 + 5 10.873415 -0.06300500 + 6 6.012172 0.02485500 + 7 3.372205 0.27747400 + 8 1.768641 0.42538600 + 9 0.914516 0.31414500 + 10 0.460895 0.09042200 + 11 0.204490 0.00697700 + 12 0.074741 0.00115400 + 13 0.035671 0.00030300 +P 13 + 1 125.092775 0.00002500 + 2 65.211589 -0.00007000 + 3 34.437599 -0.00104200 + 4 18.930704 0.00512700 + 5 10.873415 0.01840400 + 6 6.012172 -0.01469200 + 7 3.372205 -0.06130700 + 8 1.768641 -0.12863800 + 9 0.914516 -0.07063700 + 10 0.460895 -0.01631400 + 11 0.204490 0.38070200 + 12 0.074741 0.52307100 + 13 0.035671 0.23576500 +P 13 + 1 125.092775 -0.00019700 + 2 65.211589 0.00125100 + 3 34.437599 -0.00915400 + 4 18.930704 0.03820100 + 5 10.873415 0.04309700 + 6 6.012172 -0.02947500 + 7 3.372205 -0.42699600 + 8 1.768641 -0.39484000 + 9 0.914516 0.07723000 + 10 0.460895 1.11988100 + 11 0.204490 -0.06649400 + 12 0.074741 -0.72158300 + 13 0.035671 -0.00569500 +P 13 + 1 125.092775 0.00026400 + 2 65.211589 -0.00107600 + 3 34.437599 -0.00259100 + 4 18.930704 0.03551900 + 5 10.873415 0.11955400 + 6 6.012172 -0.20471400 + 7 3.372205 -0.76062700 + 8 1.768641 -0.26274000 + 9 0.914516 1.77903000 + 10 0.460895 -0.46274200 + 11 0.204490 -1.24103000 + 12 0.074741 0.94098700 + 13 0.035671 0.08349600 +P 13 + 1 125.092775 -0.00008400 + 2 65.211589 0.00076800 + 3 34.437599 -0.00948500 + 4 18.930704 0.08806200 + 5 10.873415 0.15619100 + 6 6.012172 -0.61916600 + 7 3.372205 -1.38553400 + 8 1.768641 2.49212500 + 9 0.914516 0.00807600 + 10 0.460895 -2.49951500 + 11 0.204490 2.26557600 + 12 0.074741 -0.74834200 + 13 0.035671 -0.21159800 +P 1 + 1 0.035671 1.00000000 +P 1 + 1 0.017000 1.00000000 +D 11 + 1 152.736742 0.00002900 + 2 50.772485 0.00523800 + 3 26.253589 0.02932500 + 4 12.137022 0.07490100 + 5 5.853719 0.16341100 + 6 2.856224 0.25105700 + 7 1.386132 0.28760300 + 8 0.670802 0.25186200 + 9 0.330280 0.18673600 + 10 0.170907 0.09357000 + 11 0.086794 0.07381100 +D 11 + 1 152.736742 -0.00002600 + 2 50.772485 -0.00632900 + 3 26.253589 -0.03439800 + 4 12.137022 -0.09176500 + 5 5.853719 -0.20159200 + 6 2.856224 -0.28393000 + 7 1.386132 -0.16198100 + 8 0.670802 0.12882200 + 9 0.330280 0.36016000 + 10 0.170907 0.27759200 + 11 0.086794 0.26140300 +D 11 + 1 152.736742 0.00005100 + 2 50.772485 0.00876900 + 3 26.253589 0.04792100 + 4 12.137022 0.13247500 + 5 5.853719 0.29727900 + 6 2.856224 0.27501800 + 7 1.386132 -0.22284200 + 8 0.670802 -0.61906700 + 9 0.330280 -0.07629000 + 10 0.170907 0.25605600 + 11 0.086794 0.54148200 +D 11 + 1 152.736742 -0.00009600 + 2 50.772485 -0.01214400 + 3 26.253589 -0.06697100 + 4 12.137022 -0.19602500 + 5 5.853719 -0.46900300 + 6 2.856224 0.04656000 + 7 1.386132 0.98594000 + 8 0.670802 -0.22043500 + 9 0.330280 -0.75248200 + 10 0.170907 -0.11112300 + 11 0.086794 0.75310000 +D 1 + 1 0.086794 1.00000000 +D 1 + 1 0.040000 1.00000000 +F 1 + 1 0.144926 1.00000000 +F 1 + 1 0.486122 1.00000000 +F 1 + 1 1.630591 1.00000000 +F 1 + 1 5.469463 1.00000000 +G 1 + 1 0.307135 1.00000000 +G 1 + 1 1.093014 1.00000000 +G 1 + 1 3.889759 1.00000000 +H 1 + 1 0.886940 1.00000000 +H 1 + 1 2.480792 1.00000000 + +COBALT +S 13 + 1 90.663831 0.00077400 + 2 46.961414 -0.01131600 + 3 24.110274 0.10120900 + 4 14.430881 -0.08164200 + 5 8.757423 -0.35481200 + 6 4.484459 -0.09036200 + 7 2.519739 0.49817400 + 8 1.236850 0.60412300 + 9 0.601882 0.19077500 + 10 0.223338 0.00657800 + 11 0.123422 -0.00090500 + 12 0.059941 0.00017100 + 13 0.027978 -0.00002500 +S 13 + 1 90.663831 -0.00015400 + 2 46.961414 0.00252500 + 3 24.110274 -0.02444300 + 4 14.430881 0.02220000 + 5 8.757423 0.08841600 + 6 4.484459 0.01682000 + 7 2.519739 -0.13458200 + 8 1.236850 -0.23129500 + 9 0.601882 -0.16398600 + 10 0.223338 0.12133700 + 11 0.123422 0.40241400 + 12 0.059941 0.50611300 + 13 0.027978 0.14543600 +S 13 + 1 90.663831 -0.00004700 + 2 46.961414 0.00365400 + 3 24.110274 -0.04613200 + 4 14.430881 0.03648300 + 5 8.757423 0.21726500 + 6 4.484459 -0.01188300 + 7 2.519739 -0.32468800 + 8 1.236850 -0.68058100 + 9 0.601882 0.25693600 + 10 0.223338 1.22400500 + 11 0.123422 0.23683700 + 12 0.059941 -0.60406400 + 13 0.027978 -0.57494700 +S 13 + 1 90.663831 -0.00023100 + 2 46.961414 0.00753600 + 3 24.110274 -0.09729800 + 4 14.430881 0.11161100 + 5 8.757423 0.40362100 + 6 4.484459 -0.04832400 + 7 2.519739 -1.15760000 + 8 1.236850 -0.75683900 + 9 0.601882 2.31368300 + 10 0.223338 0.25307400 + 11 0.123422 -1.99146600 + 12 0.059941 0.16694200 + 13 0.027978 0.91722100 +S 13 + 1 90.663831 0.00280900 + 2 46.961414 -0.02445900 + 3 24.110274 0.21171700 + 4 14.430881 -0.38745200 + 5 8.757423 -0.36690900 + 6 4.484459 0.13914300 + 7 2.519739 2.83452700 + 8 1.236850 -2.90639800 + 9 0.601882 -0.80689600 + 10 0.223338 4.33605500 + 11 0.123422 -2.91360700 + 12 0.059941 -1.25330700 + 13 0.027978 1.50957200 +S 1 + 1 0.027978 1.00000000 +S 1 + 1 0.013000 1.00000000 +P 13 + 1 139.038145 0.00007500 + 2 71.928971 -0.00062700 + 3 37.806311 0.00571900 + 4 21.054252 -0.00931000 + 5 12.973193 -0.08385700 + 6 6.791461 0.01239400 + 7 3.794018 0.28198700 + 8 1.960649 0.43417900 + 9 1.006283 0.31340900 + 10 0.509539 0.08977800 + 11 0.233091 0.00740500 + 12 0.083890 0.00098000 + 13 0.039802 0.00027400 +P 13 + 1 139.038145 0.00002500 + 2 71.928971 -0.00008400 + 3 37.806311 -0.00048500 + 4 21.054252 0.00009500 + 5 12.973193 0.02240200 + 6 6.791461 -0.01153400 + 7 3.794018 -0.05686600 + 8 1.960649 -0.12607000 + 9 1.006283 -0.06088900 + 10 0.509539 -0.03508600 + 11 0.233091 0.35184700 + 12 0.083890 0.51044900 + 13 0.039802 0.28970700 +P 13 + 1 139.038145 -0.00023800 + 2 71.928971 0.00148900 + 3 37.806311 -0.00872300 + 4 21.054252 0.02453800 + 5 12.973193 0.06085600 + 6 6.791461 -0.02038000 + 7 3.794018 -0.43019500 + 8 1.960649 -0.40769200 + 9 1.006283 0.08532600 + 10 0.509539 1.07332600 + 11 0.233091 0.01506700 + 12 0.083890 -0.71963100 + 13 0.039802 -0.02460300 +P 13 + 1 139.038145 -0.00005500 + 2 71.928971 -0.00001700 + 3 37.806311 0.00432000 + 4 21.054252 -0.02133900 + 5 12.973193 -0.12713400 + 6 6.791461 0.15720800 + 7 3.794018 0.79492700 + 8 1.960649 0.23357400 + 9 1.006283 -1.66603300 + 10 0.509539 0.28271600 + 11 0.233091 1.33562500 + 12 0.083890 -0.88546900 + 13 0.039802 -0.13034000 +P 13 + 1 139.038145 0.00005200 + 2 71.928971 0.00014400 + 3 37.806311 -0.00506500 + 4 21.054252 0.05166200 + 5 12.973193 0.20930600 + 6 6.791461 -0.63605200 + 7 3.794018 -1.33476100 + 8 1.960649 2.33740900 + 9 1.006283 0.19062400 + 10 0.509539 -2.65784100 + 11 0.233091 2.26444400 + 12 0.083890 -0.61258400 + 13 0.039802 -0.27662000 +P 1 + 1 0.039802 1.00000000 +P 1 + 1 0.019000 1.00000000 +D 11 + 1 160.444504 0.00003400 + 2 52.598830 0.00655300 + 3 27.491581 0.03618500 + 4 12.745988 0.08302600 + 5 6.184310 0.17696000 + 6 3.029146 0.26399000 + 7 1.474099 0.29244700 + 8 0.714391 0.24959700 + 9 0.348520 0.17163700 + 10 0.174166 0.08064900 + 11 0.087891 0.04121200 +D 11 + 1 160.444504 -0.00003100 + 2 52.598830 -0.00786900 + 3 27.491581 -0.04199200 + 4 12.745988 -0.10138800 + 5 6.184310 -0.21699600 + 6 3.029146 -0.28396200 + 7 1.474099 -0.12717900 + 8 0.714391 0.17712500 + 9 0.348520 0.37559600 + 10 0.174166 0.28463100 + 11 0.087891 0.20027700 +D 11 + 1 160.444504 0.00004800 + 2 52.598830 0.01053100 + 3 27.491581 0.05555900 + 4 12.745988 0.14075800 + 5 6.184310 0.30578500 + 6 3.029146 0.24281200 + 7 1.474099 -0.28504400 + 8 0.714391 -0.59481900 + 9 0.348520 -0.01793700 + 10 0.174166 0.34815000 + 11 0.087891 0.45517000 +D 11 + 1 160.444504 -0.00007000 + 2 52.598830 -0.01526900 + 3 27.491581 -0.07877000 + 4 12.745988 -0.21855600 + 5 6.184310 -0.47927100 + 6 3.029146 0.17362300 + 7 1.474099 0.95417300 + 8 0.714391 -0.34849000 + 9 0.348520 -0.73737100 + 10 0.174166 0.07194100 + 11 0.087891 0.64488200 +D 1 + 1 0.087891 1.00000000 +D 1 + 1 0.043000 1.00000000 +F 1 + 1 0.173088 1.00000000 +F 1 + 1 0.574342 1.00000000 +F 1 + 1 1.905783 1.00000000 +F 1 + 1 6.323772 1.00000000 +G 1 + 1 0.375999 1.00000000 +G 1 + 1 1.312433 1.00000000 +G 1 + 1 4.581075 1.00000000 +H 1 + 1 1.061794 1.00000000 +H 1 + 1 2.901601 1.00000000 + +NICKEL +S 13 + 1 97.161835 0.00070900 + 2 51.187866 -0.01239900 + 3 26.996725 0.10722000 + 4 15.523536 -0.12455600 + 5 8.916168 -0.35102300 + 6 4.795806 -0.02575800 + 7 2.619926 0.49894800 + 8 1.330111 0.56898600 + 9 0.668901 0.19112100 + 10 0.230439 0.01027800 + 11 0.121518 -0.00362700 + 12 0.057951 0.00129500 + 13 0.027201 -0.00030700 +S 13 + 1 97.161835 -0.00014000 + 2 51.187866 0.00275600 + 3 26.996725 -0.02548200 + 4 15.523536 0.03218200 + 5 8.916168 0.08622600 + 6 4.795806 0.00110400 + 7 2.619926 -0.13579000 + 8 1.330111 -0.21572400 + 9 0.668901 -0.15836700 + 10 0.230439 0.14349900 + 11 0.121518 0.44367200 + 12 0.057951 0.47255800 + 13 0.027201 0.11017300 +S 13 + 1 97.161835 0.00012100 + 2 51.187866 0.00332200 + 3 26.996725 -0.04578500 + 4 15.523536 0.05341500 + 5 8.916168 0.22227000 + 6 4.795806 -0.07306500 + 7 2.619926 -0.29399800 + 8 1.330111 -0.66893800 + 9 0.668901 0.29750400 + 10 0.230439 1.23374800 + 11 0.121518 0.12931700 + 12 0.057951 -0.60340700 + 13 0.027201 -0.53306200 +S 13 + 1 97.161835 0.00043400 + 2 51.187866 0.00484800 + 3 26.996725 -0.08781800 + 4 15.523536 0.12185200 + 5 8.916168 0.45421800 + 6 4.795806 -0.24576500 + 7 2.619926 -0.99734500 + 8 1.330111 -0.83458600 + 9 0.668901 2.28567500 + 10 0.230439 0.25153800 + 11 0.121518 -1.98879600 + 12 0.057951 0.34760200 + 13 0.027201 0.82415000 +S 13 + 1 97.161835 0.00246100 + 2 51.187866 -0.02346000 + 3 26.996725 0.19859000 + 4 15.523536 -0.40252500 + 5 8.916168 -0.40556800 + 6 4.795806 0.38789300 + 7 2.619926 2.68467900 + 8 1.330111 -2.95595600 + 9 0.668901 -0.66746700 + 10 0.230439 4.09407400 + 11 0.121518 -3.10335500 + 12 0.057951 -0.76872800 + 13 0.027201 1.33121700 +S 1 + 1 0.027201 1.00000000 +S 1 + 1 0.013000 1.00000000 +P 13 + 1 148.087630 0.00005500 + 2 77.452187 -0.00054800 + 3 40.915636 0.00697900 + 4 22.575667 -0.02365800 + 5 13.218268 -0.07568200 + 6 7.232093 0.02725300 + 7 4.054870 0.28477800 + 8 2.122089 0.42763200 + 9 1.092769 0.30993700 + 10 0.548240 0.08853500 + 11 0.238886 0.00642700 + 12 0.084667 0.00070800 + 13 0.038921 0.00018600 +P 13 + 1 148.087630 0.00002700 + 2 77.452187 -0.00008800 + 3 40.915636 -0.00077300 + 4 22.575667 0.00334500 + 5 13.218268 0.01940500 + 6 7.232093 -0.01428800 + 7 4.054870 -0.05452700 + 8 2.122089 -0.11645400 + 9 1.092769 -0.06023600 + 10 0.548240 -0.02392800 + 11 0.238886 0.34786900 + 12 0.084667 0.52262600 + 13 0.038921 0.27647100 +P 13 + 1 148.087630 -0.00023700 + 2 77.452187 0.00145600 + 3 40.915636 -0.00974500 + 4 22.575667 0.03779900 + 5 13.218268 0.05252100 + 6 7.232093 -0.03500600 + 7 4.054870 -0.45557700 + 8 2.122089 -0.36830600 + 9 1.092769 0.10039200 + 10 0.548240 1.07665200 + 11 0.238886 -0.04532600 + 12 0.084667 -0.70318600 + 13 0.038921 0.00458000 +P 13 + 1 148.087630 -0.00026000 + 2 77.452187 0.00107100 + 3 40.915636 0.00232200 + 4 22.575667 -0.03214000 + 5 13.218268 -0.13413600 + 6 7.232093 0.22906200 + 7 4.054870 0.75223900 + 8 2.122089 0.20553500 + 9 1.092769 -1.69291000 + 10 0.548240 0.43629500 + 11 0.238886 1.21951400 + 12 0.084667 -0.94551600 + 13 0.038921 -0.06223200 +P 13 + 1 148.087630 0.00008000 + 2 77.452187 -0.00010100 + 3 40.915636 -0.00649200 + 4 22.575667 0.08312900 + 5 13.218268 0.19539300 + 6 7.232093 -0.76580600 + 7 4.054870 -1.20601700 + 8 2.122089 2.42444400 + 9 1.092769 -0.07938700 + 10 0.548240 -2.32544900 + 11 0.238886 2.12913300 + 12 0.084667 -0.73358500 + 13 0.038921 -0.18044400 +P 1 + 1 0.038921 1.00000000 +P 1 + 1 0.019000 1.00000000 +D 11 + 1 177.900125 0.00004900 + 2 57.372112 0.00751900 + 3 29.881432 0.03645500 + 4 13.971757 0.08690100 + 5 6.841152 0.18056800 + 6 3.379983 0.26818700 + 7 1.651827 0.29675600 + 8 0.799251 0.25155800 + 9 0.388057 0.16231900 + 10 0.191191 0.07211900 + 11 0.093358 0.02368900 +D 11 + 1 177.900125 -0.00005300 + 2 57.372112 -0.00885000 + 3 29.881432 -0.04191600 + 4 13.971757 -0.10469100 + 5 6.841152 -0.21946400 + 6 3.379983 -0.28371200 + 7 1.651827 -0.12212700 + 8 0.799251 0.19012300 + 9 0.388057 0.37659800 + 10 0.191191 0.29512200 + 11 0.093358 0.17825200 +D 11 + 1 177.900125 0.00007900 + 2 57.372112 0.01144200 + 3 29.881432 0.05397200 + 4 13.971757 0.14106800 + 5 6.841152 0.30229400 + 6 3.379983 0.23655800 + 7 1.651827 -0.29131100 + 8 0.799251 -0.58175800 + 9 0.388057 -0.02406300 + 10 0.191191 0.38938700 + 11 0.093358 0.43083300 +D 11 + 1 177.900125 -0.00012400 + 2 57.372112 -0.01660200 + 3 29.881432 -0.07753300 + 4 13.971757 -0.22182600 + 5 6.841152 -0.48165800 + 6 3.379983 0.18244700 + 7 1.651827 0.94562600 + 8 0.799251 -0.33424100 + 9 0.388057 -0.76116400 + 10 0.191191 0.13681600 + 11 0.093358 0.60078500 +D 1 + 1 0.093358 1.00000000 +D 1 + 1 0.045000 1.00000000 +F 1 + 1 0.199600 1.00000000 +F 1 + 1 0.659980 1.00000000 +F 1 + 1 2.182234 1.00000000 +F 1 + 1 7.215589 1.00000000 +G 1 + 1 0.453559 1.00000000 +G 1 + 1 1.549000 1.00000000 +G 1 + 1 5.290163 1.00000000 +H 1 + 1 1.243132 1.00000000 +H 1 + 1 3.361535 1.00000000 + +COPPER +S 13 + 1 104.471138 0.00074100 + 2 55.955221 -0.01395300 + 3 30.553953 0.10526600 + 4 16.942394 -0.12939900 + 5 9.452707 -0.36273800 + 6 5.174537 0.01326600 + 7 2.779171 0.48928800 + 8 1.441817 0.56208800 + 9 0.710674 0.19004700 + 10 0.241540 0.00563500 + 11 0.129621 -0.00058200 + 12 0.059229 -0.00002400 + 13 0.027110 0.00003000 +S 13 + 1 104.471138 -0.00013300 + 2 55.955221 0.00299900 + 3 30.553953 -0.02431000 + 4 16.942394 0.03198600 + 5 9.452707 0.08914900 + 6 5.174537 -0.01075000 + 7 2.779171 -0.12822400 + 8 1.441817 -0.21572000 + 9 0.710674 -0.14955900 + 10 0.241540 0.14291700 + 11 0.129621 0.44630700 + 12 0.059229 0.48464300 + 13 0.027110 0.09306900 +S 13 + 1 104.471138 0.00021000 + 2 55.955221 0.00380600 + 3 30.553953 -0.04731200 + 4 16.942394 0.05995700 + 5 9.452707 0.25064200 + 6 5.174537 -0.11910200 + 7 2.779171 -0.31406900 + 8 1.441817 -0.68930000 + 9 0.710674 0.40305000 + 10 0.241540 1.27044000 + 11 0.129621 -0.02902900 + 12 0.059229 -0.62215700 + 13 0.027110 -0.44207400 +S 13 + 1 104.471138 0.00036600 + 2 55.955221 0.00672000 + 3 30.553953 -0.09149300 + 4 16.942394 0.14226300 + 5 9.452707 0.47188100 + 6 5.174537 -0.31970800 + 7 2.779171 -1.06825500 + 8 1.441817 -0.61504900 + 9 0.710674 2.26128200 + 10 0.241540 -0.02005900 + 11 0.129621 -1.81574600 + 12 0.059229 0.47417400 + 13 0.027110 0.71359700 +S 13 + 1 104.471138 0.00267900 + 2 55.955221 -0.02626700 + 3 30.553953 0.19212900 + 4 16.942394 -0.40421800 + 5 9.452707 -0.43460200 + 6 5.174537 0.55567400 + 7 2.779171 2.61821100 + 8 1.441817 -3.20734300 + 9 0.710674 -0.33054500 + 10 0.241540 4.04196600 + 11 0.129621 -3.35549700 + 12 0.059229 -0.48399100 + 13 0.027110 1.21366400 +S 1 + 1 0.027110 1.00000000 +S 1 + 1 0.013000 1.00000000 +P 13 + 1 159.152840 0.00002600 + 2 83.322776 -0.00040200 + 3 44.840311 0.00740500 + 4 25.020360 -0.03071400 + 5 13.610016 -0.07434800 + 6 7.761318 0.04343000 + 7 4.303947 0.28970300 + 8 2.290080 0.41346700 + 9 1.202173 0.30376200 + 10 0.607647 0.09349400 + 11 0.257656 0.00666300 + 12 0.090897 0.00056700 + 13 0.041925 0.00017600 +P 13 + 1 159.152840 0.00003400 + 2 83.322776 -0.00012900 + 3 44.840311 -0.00080200 + 4 25.020360 0.00474700 + 5 13.610016 0.01859500 + 6 7.761318 -0.01769200 + 7 4.303947 -0.05261400 + 8 2.290080 -0.11034900 + 9 1.202173 -0.05470100 + 10 0.607647 -0.02665500 + 11 0.257656 0.33588000 + 12 0.090897 0.50947800 + 13 0.041925 0.30255900 +P 13 + 1 159.152840 -0.00022800 + 2 83.322776 0.00141400 + 3 44.840311 -0.01029000 + 4 25.020360 0.04389600 + 5 13.610016 0.05286500 + 6 7.761318 -0.05656500 + 7 4.303947 -0.48071500 + 8 2.290080 -0.31598400 + 9 1.202173 0.07567900 + 10 0.607647 1.06074700 + 11 0.257656 -0.00806100 + 12 0.090897 -0.70160100 + 13 0.041925 0.00694100 +P 13 + 1 159.152840 -0.00041200 + 2 83.322776 0.00195700 + 3 44.840311 0.00064000 + 4 25.020360 -0.03675300 + 5 13.610016 -0.14719300 + 6 7.761318 0.29778200 + 7 4.303947 0.70527100 + 8 2.290080 0.19646600 + 9 1.202173 -1.65940600 + 10 0.607647 0.39150000 + 11 0.257656 1.24328400 + 12 0.090897 -0.95752900 + 13 0.041925 -0.05609100 +P 13 + 1 159.152840 0.00032900 + 2 83.322776 -0.00156500 + 3 44.840311 -0.00336900 + 4 25.020360 0.08790300 + 5 13.610016 0.22132700 + 6 7.761318 -0.92400600 + 7 4.303947 -1.00731600 + 8 2.290080 2.32431200 + 9 1.202173 0.00119100 + 10 0.607647 -2.32974500 + 11 0.257656 2.05959900 + 12 0.090897 -0.70662000 + 13 0.041925 -0.18479700 +P 1 + 1 0.041925 1.00000000 +P 1 + 1 0.020000 1.00000000 +D 11 + 1 226.693527 0.00001500 + 2 73.010278 0.00410800 + 3 38.536518 0.02822300 + 4 18.726700 0.06932300 + 5 9.155485 0.15604500 + 6 4.540884 0.25123800 + 7 2.241175 0.29746300 + 8 1.085869 0.27498100 + 9 0.510612 0.19309800 + 10 0.229608 0.08639300 + 11 0.095781 0.01464500 +D 11 + 1 226.693527 -0.00001300 + 2 73.010278 -0.00525200 + 3 38.536518 -0.03498200 + 4 18.726700 -0.08895000 + 5 9.155485 -0.20719400 + 6 4.540884 -0.30259700 + 7 2.241175 -0.17932700 + 8 1.085869 0.16906900 + 9 0.510612 0.40590400 + 10 0.229608 0.34187100 + 11 0.095781 0.11708000 +D 11 + 1 226.693527 0.00001600 + 2 73.010278 0.00615700 + 3 38.536518 0.04036100 + 4 18.726700 0.10603800 + 5 9.155485 0.26329900 + 6 4.540884 0.28849600 + 7 2.241175 -0.18674500 + 8 1.085869 -0.59153900 + 9 0.510612 -0.13868100 + 10 0.229608 0.54774900 + 11 0.095781 0.36235300 +D 11 + 1 226.693527 -0.00007200 + 2 73.010278 -0.00870300 + 3 38.536518 -0.06059400 + 4 18.726700 -0.16022100 + 5 9.155485 -0.45749500 + 6 4.540884 -0.08760700 + 7 2.241175 0.95305600 + 8 1.085869 0.02518500 + 9 0.510612 -0.98463700 + 10 0.229608 0.25844200 + 11 0.095781 0.52511300 +D 1 + 1 0.095781 1.00000000 +D 1 + 1 0.045000 1.00000000 +F 1 + 1 0.236517 1.00000000 +F 1 + 1 0.771365 1.00000000 +F 1 + 1 2.515691 1.00000000 +F 1 + 1 8.204550 1.00000000 +G 1 + 1 0.527388 1.00000000 +G 1 + 1 1.798933 1.00000000 +G 1 + 1 6.136209 1.00000000 +H 1 + 1 1.443462 1.00000000 +H 1 + 1 3.867803 1.00000000 + +ZINC +S 13 + 1 114.485022 0.00042900 + 2 61.996430 -0.01933900 + 3 40.117132 0.08625400 + 4 20.119649 -0.08895500 + 5 10.171676 -0.40267100 + 6 5.601641 0.06730400 + 7 2.864122 0.47921500 + 8 1.592779 0.50396000 + 9 0.826525 0.22208800 + 10 0.263975 0.01220300 + 11 0.145302 -0.00430000 + 12 0.068195 0.00124300 + 13 0.031465 -0.00026700 +S 13 + 1 114.485022 -0.00010900 + 2 61.996430 0.00445900 + 3 40.117132 -0.02006700 + 4 20.119649 0.02233800 + 5 10.171676 0.09669800 + 6 5.601641 -0.02196600 + 7 2.864122 -0.12876800 + 8 1.592779 -0.18170600 + 9 0.826525 -0.16231100 + 10 0.263975 0.11626400 + 11 0.145302 0.41131400 + 12 0.068195 0.49425700 + 13 0.031465 0.13810300 +S 13 + 1 114.485022 0.00066600 + 2 61.996430 0.00626900 + 3 40.117132 -0.04660300 + 4 20.119649 0.05039900 + 5 10.171676 0.36349300 + 6 5.601641 -0.24284000 + 7 2.864122 -0.38228100 + 8 1.592779 -0.86156700 + 9 0.826525 0.70607700 + 10 0.263975 1.49500100 + 11 0.145302 -0.45399400 + 12 0.068195 -0.59782200 + 13 0.031465 -0.25611700 +S 13 + 1 114.485022 0.00070400 + 2 61.996430 0.01284100 + 3 40.117132 -0.08591000 + 4 20.119649 0.11798200 + 5 10.171676 0.63016400 + 6 5.601641 -0.60034400 + 7 2.864122 -1.24906000 + 8 1.592779 -0.32949800 + 9 0.826525 2.59246900 + 10 0.263975 -1.00448100 + 11 0.145302 -1.37951400 + 12 0.068195 1.04684200 + 13 0.031465 0.32467600 +S 13 + 1 114.485022 0.00561400 + 2 61.996430 -0.06659000 + 3 40.117132 0.24276300 + 4 20.119649 -0.43396800 + 5 10.171676 -0.79971200 + 6 5.601641 1.54215100 + 7 2.864122 3.08029900 + 8 1.592779 -6.19825000 + 9 0.826525 2.58176600 + 10 0.263975 3.21198800 + 11 0.145302 -4.76745700 + 12 0.068195 1.67656100 + 13 0.031465 0.27090900 +S 1 + 1 0.031465 1.00000000 +S 1 + 1 0.015000 1.00000000 +P 13 + 1 158.770986 -0.00015300 + 2 75.802876 0.00189300 + 3 44.547824 0.01046100 + 4 31.445269 -0.04514100 + 5 13.080125 -0.08420100 + 6 7.788616 0.10497300 + 7 4.195040 0.30771400 + 8 2.362276 0.36856300 + 9 1.302584 0.28633600 + 10 0.660704 0.09515600 + 11 0.249042 0.00585100 + 12 0.091781 -0.00003400 + 13 0.048931 0.00025200 +P 13 + 1 158.770986 0.00005300 + 2 75.802876 -0.00057100 + 3 44.547824 -0.00107300 + 4 31.445269 0.00746300 + 5 13.080125 0.01867600 + 6 7.788616 -0.02809000 + 7 4.195040 -0.05443800 + 8 2.362276 -0.09374400 + 9 1.302584 -0.05416900 + 10 0.660704 -0.00797200 + 11 0.249042 0.35619800 + 12 0.091781 0.41239900 + 13 0.048931 0.36132100 +P 13 + 1 158.770986 -0.00017000 + 2 75.802876 0.00060400 + 3 44.547824 -0.01998700 + 4 31.445269 0.06115300 + 5 13.080125 0.06731700 + 6 7.788616 -0.13921100 + 7 4.195040 -0.52704100 + 8 2.362276 -0.17619400 + 9 1.302584 0.03712900 + 10 0.660704 1.07932200 + 11 0.249042 -0.05014900 + 12 0.091781 -0.68897100 + 13 0.048931 0.03733100 +P 13 + 1 158.770986 -0.00078100 + 2 75.802876 0.00785500 + 3 44.547824 -0.00867100 + 4 31.445269 -0.04055300 + 5 13.080125 -0.20006200 + 6 7.788616 0.52859900 + 7 4.195040 0.52855200 + 8 2.362276 0.24357600 + 9 1.302584 -1.80718200 + 10 0.660704 0.62949600 + 11 0.249042 1.13761300 + 12 0.091781 -1.06715000 + 13 0.048931 0.02219000 +P 13 + 1 158.770986 -0.00030400 + 2 75.802876 0.00006000 + 3 44.547824 -0.03693100 + 4 31.445269 0.14601900 + 5 13.080125 0.22210400 + 6 7.788616 -1.20631000 + 7 4.195040 -0.64408400 + 8 2.362276 2.39813600 + 9 1.302584 -0.30444100 + 10 0.660704 -1.96089400 + 11 0.249042 1.89540000 + 12 0.091781 -0.82157700 + 13 0.048931 -0.13247100 +P 1 + 1 0.048931 1.00000000 +P 1 + 1 0.024000 1.00000000 +D 11 + 1 270.014061 -0.00001600 + 2 100.161579 0.00069600 + 3 43.530609 0.01353600 + 4 21.262419 0.06935000 + 5 10.577821 0.14955900 + 6 5.343620 0.23958800 + 7 2.704857 0.28674400 + 8 1.353018 0.27145900 + 9 0.660873 0.20242600 + 10 0.309149 0.10330700 + 11 0.133879 0.02321100 +D 11 + 1 270.014061 0.00001300 + 2 100.161579 -0.00088900 + 3 43.530609 -0.01864000 + 4 21.262419 -0.09464600 + 5 10.577821 -0.21565900 + 6 5.343620 -0.32246900 + 7 2.704857 -0.19752900 + 8 1.353018 0.16444800 + 9 0.660873 0.41001700 + 10 0.309149 0.32783800 + 11 0.133879 0.10574900 +D 11 + 1 270.014061 0.00000700 + 2 100.161579 0.00086800 + 3 43.530609 0.02163100 + 4 21.262419 0.10774800 + 5 10.577821 0.27899700 + 6 5.343620 0.31454300 + 7 2.704857 -0.24192600 + 8 1.353018 -0.60241500 + 9 0.660873 -0.11801300 + 10 0.309149 0.54548200 + 11 0.133879 0.36382900 +D 11 + 1 270.014061 -0.00008800 + 2 100.161579 -0.00067400 + 3 43.530609 -0.03072600 + 4 21.262419 -0.14321800 + 5 10.577821 -0.44533000 + 6 5.343620 -0.13669300 + 7 2.704857 0.92782300 + 8 1.353018 0.14320400 + 9 0.660873 -1.06020200 + 10 0.309149 0.16045200 + 11 0.133879 0.65854200 +D 1 + 1 0.133879 1.00000000 +D 1 + 1 0.060000 1.00000000 +F 1 + 1 0.271994 1.00000000 +F 1 + 1 0.881237 1.00000000 +F 1 + 1 2.855136 1.00000000 +F 1 + 1 9.250405 1.00000000 +G 1 + 1 0.622986 1.00000000 +G 1 + 1 2.097503 1.00000000 +G 1 + 1 7.061991 1.00000000 +H 1 + 1 1.655939 1.00000000 +H 1 + 1 4.405055 1.00000000 + +GALLIUM +S 9 + 1 31.011369 -0.00004600 + 2 13.757663 0.00020700 + 3 6.103352 -0.00828200 + 4 2.707648 0.08572200 + 5 1.201202 -0.35069900 + 6 0.532893 0.00456700 + 7 0.236409 0.45296800 + 8 0.104879 0.55818700 + 9 0.046528 0.16331900 +P 9 + 1 15.391968 -0.00012000 + 2 6.919798 -0.00020200 + 3 3.110948 0.00885300 + 4 1.398595 -0.07370800 + 5 0.628769 0.02826000 + 6 0.282677 0.22146300 + 7 0.127084 0.41332000 + 8 0.057133 0.38568600 + 9 0.025686 0.11229200 +S 1 + 1 0.382198 1.00000000 +S 1 + 1 0.155250 1.00000000 +S 1 + 1 0.063063 1.00000000 +S 1 + 1 0.025225 1.00000000 +P 1 + 1 0.303209 1.00000000 +P 1 + 1 0.113225 1.00000000 +P 1 + 1 0.042281 1.00000000 +P 1 + 1 0.016912 1.00000000 +D 1 + 1 0.373226 1.00000000 +D 1 + 1 0.173594 1.00000000 +D 1 + 1 0.080742 1.00000000 +D 1 + 1 0.032297 1.00000000 +F 1 + 1 0.450135 1.00000000 +F 1 + 1 0.175748 1.00000000 +F 1 + 1 0.070299 1.00000000 +G 1 + 1 0.406448 1.00000000 +G 1 + 1 0.162579 1.00000000 + +GERMANIUM +S 9 + 1 46.470485 -0.00022900 + 2 20.357328 0.00157400 + 3 8.917936 -0.01134500 + 4 3.906681 0.09897200 + 5 1.711400 -0.33154500 + 6 0.749713 -0.09480900 + 7 0.328427 0.43893300 + 8 0.143874 0.59677700 + 9 0.063027 0.18625100 +P 9 + 1 22.641155 0.00005200 + 2 10.174686 -0.00067500 + 3 4.572392 0.01127600 + 4 2.054783 -0.07462800 + 5 0.923397 -0.01207000 + 6 0.414964 0.21691900 + 7 0.186480 0.43873500 + 8 0.083802 0.38512600 + 9 0.037660 0.10807400 +S 1 + 1 0.472336 1.00000000 +S 1 + 1 0.198545 1.00000000 +S 1 + 1 0.083458 1.00000000 +S 1 + 1 0.033383 1.00000000 +P 1 + 1 0.435049 1.00000000 +P 1 + 1 0.164783 1.00000000 +P 1 + 1 0.062415 1.00000000 +P 1 + 1 0.024966 1.00000000 +D 1 + 1 0.505266 1.00000000 +D 1 + 1 0.230692 1.00000000 +D 1 + 1 0.105328 1.00000000 +D 1 + 1 0.042131 1.00000000 +F 1 + 1 0.554284 1.00000000 +F 1 + 1 0.221254 1.00000000 +F 1 + 1 0.088502 1.00000000 +G 1 + 1 0.480349 1.00000000 +G 1 + 1 0.192140 1.00000000 + +ARSENIC +S 9 + 1 50.230536 -0.00053800 + 2 22.441775 0.00366000 + 3 10.026436 -0.02399200 + 4 4.479567 0.15807600 + 5 2.001361 -0.41934600 + 6 0.894159 -0.10051900 + 7 0.399488 0.45002000 + 8 0.178482 0.60510400 + 9 0.079741 0.19000900 +P 9 + 1 22.695464 0.00032200 + 2 10.529662 -0.00312000 + 3 4.885284 0.02984900 + 4 2.266549 -0.12788200 + 5 1.051576 -0.00446100 + 6 0.487883 0.24866600 + 7 0.226356 0.45708300 + 8 0.105019 0.35148300 + 9 0.048724 0.09163600 +S 1 + 1 0.530586 1.00000000 +S 1 + 1 0.234584 1.00000000 +S 1 + 1 0.103715 1.00000000 +S 1 + 1 0.041486 1.00000000 +P 1 + 1 0.550578 1.00000000 +P 1 + 1 0.212539 1.00000000 +P 1 + 1 0.082046 1.00000000 +P 1 + 1 0.032818 1.00000000 +D 1 + 1 1.374619 1.00000000 +D 1 + 1 0.506785 1.00000000 +D 1 + 1 0.186838 1.00000000 +D 1 + 1 0.074735 1.00000000 +F 1 + 1 0.642896 1.00000000 +F 1 + 1 0.261483 1.00000000 +F 1 + 1 0.104593 1.00000000 +G 1 + 1 0.561801 1.00000000 +G 1 + 1 0.224720 1.00000000 + +SELENIUM +S 9 + 1 53.235856 -0.00017300 + 2 24.069480 0.00151800 + 3 10.882513 -0.01538400 + 4 4.920301 0.13681600 + 5 2.224611 -0.39461000 + 6 1.005811 -0.13955900 + 7 0.454757 0.50733100 + 8 0.205609 0.58687500 + 9 0.092962 0.17717000 +P 9 + 1 25.056177 -0.00015300 + 2 11.673683 0.00033200 + 3 5.438773 0.01417500 + 4 2.533927 -0.10389300 + 5 1.180557 -0.00813400 + 6 0.550022 0.28490400 + 7 0.256256 0.42743700 + 8 0.119390 0.33406600 + 9 0.055624 0.11234000 +S 1 + 1 0.635024 1.00000000 +S 1 + 1 0.280784 1.00000000 +S 1 + 1 0.124152 1.00000000 +S 1 + 1 0.049661 1.00000000 +P 1 + 1 0.623700 1.00000000 +P 1 + 1 0.231660 1.00000000 +P 1 + 1 0.086045 1.00000000 +P 1 + 1 0.034418 1.00000000 +D 1 + 1 1.309673 1.00000000 +D 1 + 1 0.519002 1.00000000 +D 1 + 1 0.205672 1.00000000 +D 1 + 1 0.082269 1.00000000 +F 1 + 1 0.720580 1.00000000 +F 1 + 1 0.288011 1.00000000 +F 1 + 1 0.115204 1.00000000 +G 1 + 1 0.591247 1.00000000 +G 1 + 1 0.236499 1.00000000 + +BROMINE +S 9 + 1 60.457695 -0.00045200 + 2 27.422852 0.00337200 + 3 12.438662 -0.02504500 + 4 5.642021 0.17010100 + 5 2.559150 -0.43099200 + 6 1.160798 -0.15435800 + 7 0.526524 0.52545800 + 8 0.238824 0.59273500 + 9 0.108328 0.16949000 +P 9 + 1 27.437987 0.00008700 + 2 12.887440 -0.00179700 + 3 6.053145 0.02715000 + 4 2.843122 -0.13414300 + 5 1.335395 -0.00623400 + 6 0.627226 0.30955100 + 7 0.294604 0.44028500 + 8 0.138374 0.31675000 + 9 0.064993 0.09253300 +S 1 + 1 0.716355 1.00000000 +S 1 + 1 0.328206 1.00000000 +S 1 + 1 0.150371 1.00000000 +S 1 + 1 0.060148 1.00000000 +P 1 + 1 0.750243 1.00000000 +P 1 + 1 0.285597 1.00000000 +P 1 + 1 0.108719 1.00000000 +P 1 + 1 0.043488 1.00000000 +D 1 + 1 1.865751 1.00000000 +D 1 + 1 0.698782 1.00000000 +D 1 + 1 0.261716 1.00000000 +D 1 + 1 0.104686 1.00000000 +F 1 + 1 0.852676 1.00000000 +F 1 + 1 0.345036 1.00000000 +F 1 + 1 0.138014 1.00000000 +G 1 + 1 0.673499 1.00000000 +G 1 + 1 0.269400 1.00000000 + +KRYPTON +S 9 + 1 59.995647 -0.00020300 + 2 27.757709 0.00179400 + 3 12.842438 -0.01925200 + 4 5.941709 0.17119400 + 5 2.749003 -0.47784700 + 6 1.271859 -0.11968600 + 7 0.588441 0.56843400 + 8 0.272249 0.56402800 + 9 0.125959 0.15760800 +P 9 + 1 24.020781 0.00010600 + 2 11.612963 -0.00089200 + 3 5.614344 0.02038000 + 4 2.714282 -0.15516000 + 5 1.312233 0.05764300 + 6 0.634405 0.35555900 + 7 0.306706 0.42666700 + 8 0.148279 0.27115100 + 9 0.071686 0.06768000 +S 1 + 1 0.812154 1.00000000 +S 1 + 1 0.376882 1.00000000 +S 1 + 1 0.174893 1.00000000 +S 1 + 1 0.069957 1.00000000 +P 1 + 1 0.907972 1.00000000 +P 1 + 1 0.346506 1.00000000 +P 1 + 1 0.132236 1.00000000 +P 1 + 1 0.052894 1.00000000 +D 1 + 1 0.795395 1.00000000 +D 1 + 1 0.430905 1.00000000 +D 1 + 1 0.233442 1.00000000 +D 1 + 1 0.093377 1.00000000 +F 1 + 1 1.016655 1.00000000 +F 1 + 1 0.438099 1.00000000 +F 1 + 1 0.175240 1.00000000 +G 1 + 1 0.769765 1.00000000 +G 1 + 1 0.307906 1.00000000 + diff --git a/data/basis/aug-cc-pvtz_ecp_ccecp b/data/basis/aug-cc-pvtz_ecp_ccecp new file mode 100644 index 00000000..201926b2 --- /dev/null +++ b/data/basis/aug-cc-pvtz_ecp_ccecp @@ -0,0 +1,2769 @@ +HYDROGEN +S 8 + 1 23.843185 0.00411490 + 2 10.212443 0.01046440 + 3 4.374164 0.02801110 + 4 1.873529 0.07588620 + 5 0.802465 0.18210620 + 6 0.343709 0.34852140 + 7 0.147217 0.37823130 + 8 0.063055 0.11642410 +S 1 + 1 0.029292 1.00000000 +S 1 + 1 0.091791 1.00000000 +S 1 + 1 0.287637 1.00000000 +P 1 + 1 0.106105 1.00000000 +P 1 + 1 0.393954 1.00000000 +P 1 + 1 1.462694 1.00000000 +D 1 + 1 0.295883 1.00000000 +D 1 + 1 1.065841 1.00000000 + + +HELIUM +S 8 + 1 39.320931 0.01006570 + 2 17.174528 0.02487620 + 3 7.501461 0.05825370 + 4 3.276475 0.13445960 + 5 1.431093 0.24431180 + 6 0.625070 0.34250610 + 7 0.273017 0.28264700 + 8 0.119248 0.07392530 +S 1 + 1 0.687805 1.00000000 +S 1 + 1 0.227171 1.00000000 +S 1 + 1 0.075031 1.00000000 +P 1 + 1 3.091688 1.00000000 +P 1 + 1 0.758588 1.00000000 +P 1 + 1 0.186130 1.00000000 +D 1 + 1 1.964056 1.00000000 +D 1 + 1 0.491014 1.00000000 + +LITHIUM +S 10 + 1 16.001258 0.00004340 + 2 7.583113 -0.00075310 + 3 3.593693 -0.00025190 + 4 1.703077 0.01696740 + 5 0.807101 -0.09099210 + 6 0.382491 -0.08931550 + 7 0.181265 0.02941550 + 8 0.085903 0.36440200 + 9 0.040710 0.55049730 + 10 0.019293 0.17444120 +P 10 + 1 7.004881 -0.00053060 + 2 3.451199 0.00129490 + 3 1.700353 0.00701150 + 4 0.837738 0.01716040 + 5 0.412741 0.03672400 + 6 0.203351 0.09650420 + 7 0.100188 0.22110130 + 8 0.049361 0.38353580 + 9 0.024320 0.33505640 + 10 0.011982 0.07814530 +S 1 + 1 0.132259 1.00000000 +S 1 + 1 0.026170 1.00000000 +S 1 + 1 0.010468 1.00000000 +P 1 + 1 0.110075 1.00000000 +P 1 + 1 0.052959 1.00000000 +P 1 + 1 0.021183 1.00000000 +D 1 + 1 0.177140 1.00000000 +D 1 + 1 0.067795 1.00000000 +D 1 + 1 0.027118 1.00000000 +F 1 + 1 0.180758 1.00000000 +F 1 + 1 0.072303 1.00000000 + +BERYLLIUM +S 9 + 1 15.965877 0.00069000 + 2 7.367361 -0.00037700 + 3 3.399626 0.02406900 + 4 1.568738 -0.11198900 + 5 0.723885 -0.07644200 + 6 0.334032 0.13574400 + 7 0.154137 0.41851500 + 8 0.071126 0.46292400 + 9 0.032821 0.12826600 +P 9 + 1 16.554942 0.00034100 + 2 7.526050 0.00322800 + 3 3.421421 0.01766000 + 4 1.555414 0.03866400 + 5 0.707108 0.09863900 + 6 0.321458 0.23125900 + 7 0.146138 0.38710900 + 8 0.066436 0.33944800 + 9 0.030203 0.08910200 +S 1 + 1 0.345184 1.00000000 +S 1 + 1 0.053614 1.00000000 +S 1 + 1 0.021446 1.00000000 +P 1 + 1 1.352043 1.00000000 +P 1 + 1 0.225842 1.00000000 +P 1 + 1 0.090337 1.00000000 +D 1 + 1 0.382692 1.00000000 +D 1 + 1 0.176399 1.00000000 +D 1 + 1 0.070560 1.00000000 +F 1 + 1 0.323452 1.00000000 +F 1 + 1 0.129381 1.00000000 + +BORON +S 9 + 1 11.760500 -0.00367570 + 2 5.150520 0.02505170 + 3 2.578276 -0.12492280 + 4 1.290648 -0.06628740 + 5 0.646080 0.10073410 + 6 0.323418 0.33754920 + 7 0.161898 0.43084310 + 8 0.081044 0.24865580 + 9 0.040569 0.03172950 +P 9 + 1 7.470701 0.00473970 + 2 3.735743 0.03760090 + 3 1.868068 0.05106000 + 4 0.934132 0.14565870 + 5 0.467115 0.22379330 + 6 0.233582 0.31994670 + 7 0.116803 0.28501850 + 8 0.058408 0.14488080 + 9 0.029207 0.01769620 +S 1 + 1 0.626026 1.00000000 +S 1 + 1 0.092094 1.00000000 +S 1 + 1 0.036838 1.00000000 +P 1 + 1 0.235016 1.00000000 +P 1 + 1 0.082056 1.00000000 +P 1 + 1 0.032822 1.00000000 +D 1 + 1 0.699153 1.00000000 +D 1 + 1 0.207316 1.00000000 +D 1 + 1 0.082926 1.00000000 +F 1 + 1 0.478872 1.00000000 +F 1 + 1 0.191549 1.00000000 + +CARBON +S 9 + 1 13.073594 0.00515830 + 2 6.541187 0.06034240 + 3 4.573411 -0.19784710 + 4 1.637494 -0.08103400 + 5 0.819297 0.23217260 + 6 0.409924 0.29146430 + 7 0.231300 0.43364050 + 8 0.102619 0.21319400 + 9 0.051344 0.00498480 +P 9 + 1 9.934169 0.02090760 + 2 3.886955 0.05726980 + 3 1.871016 0.11226820 + 4 0.935757 0.21300820 + 5 0.468003 0.28358150 + 6 0.239473 0.30112070 + 7 0.117063 0.20169340 + 8 0.058547 0.04535750 + 9 0.029281 0.00297750 +S 1 + 1 0.921552 1.00000000 +S 1 + 1 0.132800 1.00000000 +S 1 + 1 0.053120 1.00000000 +P 1 + 1 0.376742 1.00000000 +P 1 + 1 0.126772 1.00000000 +P 1 + 1 0.050709 1.00000000 +D 1 + 1 1.141611 1.00000000 +D 1 + 1 0.329486 1.00000000 +D 1 + 1 0.131794 1.00000000 +F 1 + 1 0.773485 1.00000000 +F 1 + 1 0.309394 1.00000000 + +NITROGEN +S 9 + 1 42.693822 -0.00093570 + 2 19.963207 0.00632950 + 3 9.334597 0.01050380 + 4 4.927819 -0.16537350 + 5 2.040920 -0.00053520 + 6 0.967080 0.24520630 + 7 0.476131 0.45821280 + 8 0.211443 0.36412240 + 9 0.098869 0.06204060 +P 9 + 1 18.925871 0.00735050 + 2 9.225603 0.02928440 + 3 4.581431 0.06521680 + 4 2.300164 0.14051530 + 5 1.154825 0.23281880 + 6 0.582039 0.29895560 + 7 0.290535 0.28025070 + 8 0.145867 0.15279950 + 9 0.073234 0.03554750 +S 1 + 1 1.202183 1.00000000 +S 1 + 1 0.163243 1.00000000 +S 1 + 1 0.065297 1.00000000 +P 1 + 1 0.517547 1.00000000 +P 1 + 1 0.170104 1.00000000 +P 1 + 1 0.068042 1.00000000 +D 1 + 1 1.712416 1.00000000 +D 1 + 1 0.483567 1.00000000 +D 1 + 1 0.193427 1.00000000 +F 1 + 1 1.093097 1.00000000 +F 1 + 1 0.437239 1.00000000 + +OXYGEN +S 9 + 1 54.775216 -0.00124440 + 2 25.616801 0.01073300 + 3 11.980245 0.00188890 + 4 6.992317 -0.17425370 + 5 2.620277 0.00176220 + 6 1.225429 0.31618460 + 7 0.577797 0.45120230 + 8 0.268022 0.31215340 + 9 0.125346 0.05111670 +P 9 + 1 22.217266 0.01048660 + 2 10.747550 0.03664350 + 3 5.315785 0.08036740 + 4 2.660761 0.16270100 + 5 1.331816 0.23777910 + 6 0.678626 0.28114220 + 7 0.333673 0.26431890 + 8 0.167017 0.14660140 + 9 0.083598 0.04581450 +S 1 + 1 1.686633 1.00000000 +S 1 + 1 0.237997 1.00000000 +S 1 + 1 0.095199 1.00000000 +P 1 + 1 0.600621 1.00000000 +P 1 + 1 0.184696 1.00000000 +P 1 + 1 0.073878 1.00000000 +D 1 + 1 2.404278 1.00000000 +D 1 + 1 0.669340 1.00000000 +D 1 + 1 0.267736 1.00000000 +F 1 + 1 1.423104 1.00000000 +F 1 + 1 0.569242 1.00000000 + +FLUORINE +S 10 + 1 84.048652 -0.00000280 + 2 41.094617 -0.00035430 + 3 20.092738 0.01840880 + 4 9.824112 -0.12776610 + 5 4.803386 -0.07028720 + 6 2.348560 0.15716040 + 7 1.148301 0.37690120 + 8 0.561449 0.40951650 + 9 0.274514 0.19708930 + 10 0.134220 0.02434820 +P 10 + 1 31.642619 0.00296730 + 2 16.243233 0.02980490 + 3 8.338204 0.06694890 + 4 4.280284 0.13377900 + 5 2.197215 0.21483120 + 6 1.127906 0.26648620 + 7 0.578992 0.26189540 + 8 0.297216 0.19202170 + 9 0.152571 0.08284650 + 10 0.078320 0.01330460 +S 1 + 1 2.289795 1.00000000 +S 1 + 1 0.327712 1.00000000 +S 1 + 1 0.131085 1.00000000 +P 1 + 1 0.804181 1.00000000 +P 1 + 1 0.243660 1.00000000 +P 1 + 1 0.097464 1.00000000 +D 1 + 1 3.297425 1.00000000 +D 1 + 1 0.900763 1.00000000 +D 1 + 1 0.360305 1.00000000 +F 1 + 1 1.859274 1.00000000 +F 1 + 1 0.743710 1.00000000 + +ALUMINUM +S 10 + 1 8.257944 0.003287 + 2 4.514245 -0.017168 + 3 2.467734 0.069766 + 4 1.348998 -0.183475 + 5 0.737436 -0.147133 + 6 0.403123 0.046882 + 7 0.220369 0.308423 + 8 0.120466 0.451564 + 9 0.065853 0.302904 + 10 0.035999 0.079545 +S 1 + 1 0.384847 1.000000 +S 1 + 1 0.064802 1.000000 +S 1 + 1 0.031410 1.000000 +P 10 + 1 1.570603 -0.002645 + 2 0.977752 -0.037850 + 3 0.608683 0.006636 + 4 0.378925 0.089291 + 5 0.235893 0.134421 + 6 0.146851 0.256105 + 7 0.091420 0.238970 + 8 0.056912 0.260677 + 9 0.035429 0.112350 + 10 0.022056 0.052665 +P 1 + 1 0.276146 1.000000 +P 1 + 1 0.045973 1.000000 +P 1 + 1 0.013480 1.000000 +D 1 + 1 0.354021 1.000000 +D 1 + 1 0.114469 1.000000 +D 1 + 1 0.037038 1.000000 +F 1 + 1 0.256594 1.000000 +F 1 + 1 0.089824 1.000000 + +SILICON +S 10 + 1 9.998274 0.002894 + 2 5.517644 -0.014523 + 3 3.044965 0.077634 + 4 1.680393 -0.224022 + 5 0.927341 -0.149080 + 6 0.511762 0.085944 + 7 0.282421 0.355394 + 8 0.155857 0.445219 + 9 0.086011 0.267230 + 10 0.047466 0.060787 +S 1 + 1 0.528701 1.000000 +S 1 + 1 0.090848 1.000000 +S 1 + 1 0.050501 1.000000 +P 10 + 1 5.027868 -0.003242 + 2 2.867751 0.010649 + 3 1.635683 -0.049761 + 4 0.932947 -0.000017 + 5 0.532126 0.106060 + 6 0.303509 0.236202 + 7 0.173113 0.310665 + 8 0.098739 0.294696 + 9 0.056318 0.153898 + 10 0.032122 0.042337 +P 1 + 1 0.411682 1.000000 +P 1 + 1 0.070048 1.000000 +P 1 + 1 0.024162 1.000000 +D 1 + 1 0.524220 1.000000 +D 1 + 1 0.168245 1.000000 +D 1 + 1 0.058408 1.000000 +F 1 + 1 0.350329 1.000000 +F 1 + 1 0.130364 1.000000 + +PHOSPHORUS +S 10 + 1 5.054268 0.001781 + 2 3.094719 0.077653 + 3 1.894891 -0.312344 + 4 1.160239 -0.045804 + 5 0.710412 -0.029427 + 6 0.434984 0.318560 + 7 0.266340 0.309169 + 8 0.163080 0.376899 + 9 0.099853 0.152113 + 10 0.061140 0.054943 +S 1 + 1 0.677625 1.000000 +S 1 + 1 0.117987 1.000000 +S 1 + 1 0.066872 1.000000 +P 10 + 1 5.861284 -0.003160 + 2 3.406365 0.007462 + 3 1.979655 -0.060893 + 4 1.150503 0.015297 + 5 0.668631 0.123431 + 6 0.388584 0.257276 + 7 0.225831 0.305131 + 8 0.131245 0.276016 + 9 0.076275 0.134133 + 10 0.044328 0.040073 +P 1 + 1 0.566577 1.000000 +P 1 + 1 0.097308 1.000000 +P 1 + 1 0.030303 1.000000 +D 1 + 1 0.725126 1.000000 +D 1 + 1 0.230876 1.000000 +D 1 + 1 0.080290 1.000000 +F 1 + 1 0.463938 1.000000 +F 1 + 1 0.166814 1.000000 + +SULFUR +S 10 + 1 14.052570 0.002102 + 2 7.864913 -0.011042 + 3 4.401818 0.086618 + 4 2.463600 -0.271004 + 5 1.378823 -0.151274 + 6 0.771696 0.136044 + 7 0.431901 0.394360 + 8 0.241726 0.432098 + 9 0.135289 0.230974 + 10 0.075718 0.051205 +S 1 + 1 0.833303 1.000000 +S 1 + 1 0.149345 1.000000 +S 1 + 1 0.096761 1.000000 +P 10 + 1 6.808844 -0.003573 + 2 3.941560 0.001903 + 3 2.281723 -0.065016 + 4 1.320863 0.042305 + 5 0.764632 0.158772 + 6 0.442637 0.278172 + 7 0.256237 0.293821 + 8 0.148333 0.248015 + 9 0.085868 0.114905 + 10 0.049708 0.032934 +P 1 + 1 0.708198 1.000000 +P 1 + 1 0.114216 1.000000 +P 1 + 1 0.039512 1.000000 +D 1 + 1 0.921034 1.000000 +D 1 + 1 0.289603 1.000000 +D 1 + 1 0.105883 1.000000 +F 1 + 1 0.565677 1.000000 +F 1 + 1 0.215158 1.000000 + +CHLORINE +S 10 + 1 15.583847 0.002501 + 2 8.858485 -0.010046 + 3 5.035519 0.085810 + 4 2.862391 -0.290136 + 5 1.627098 -0.140314 + 6 0.924908 0.146839 + 7 0.525755 0.392484 + 8 0.298860 0.425061 + 9 0.169884 0.227195 + 10 0.096569 0.059828 +S 1 + 1 1.020976 1.000000 +S 1 + 1 0.186161 1.000000 +S 1 + 1 0.132342 1.000000 +P 10 + 1 7.682894 -0.004609 + 2 4.507558 -0.001798 + 3 2.644587 -0.068614 + 4 1.551581 0.062352 + 5 0.910313 0.166337 + 6 0.534081 0.282292 + 7 0.313346 0.275967 + 8 0.183840 0.241328 + 9 0.107859 0.110223 + 10 0.063281 0.040289 +P 1 + 1 0.899235 1.000000 +P 1 + 1 0.143669 1.000000 +P 1 + 1 0.051775 1.000000 +D 1 + 1 1.172371 1.000000 +D 1 + 1 0.363254 1.000000 +D 1 + 1 0.137654 1.000000 +F 1 + 1 0.720453 1.000000 +F 1 + 1 0.300374 1.000000 + +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 +S 1 + 1 0.065911 1.00000000 +S 1 + 1 0.031297 1.00000000 +S 1 + 1 0.014861 1.00000000 +S 1 + 1 0.007430 1.00000000 +P 1 + 1 0.065260 1.00000000 +P 1 + 1 0.028736 1.00000000 +P 1 + 1 0.012653 1.00000000 +P 1 + 1 0.006326 1.00000000 +D 1 + 1 0.067129 1.00000000 +D 1 + 1 0.011669 1.00000000 +D 1 + 1 0.005835 1.00000000 +F 1 + 1 0.070437 1.00000000 +F 1 + 1 0.035218 1.00000000 + +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 0.090426 1.00000000 +S 1 + 1 0.042935 1.00000000 +S 1 + 1 0.019981 1.00000000 +S 1 + 1 0.007400 1.00000000 +P 1 + 1 0.125510 1.00000000 +P 1 + 1 0.053549 1.00000000 +P 1 + 1 0.022081 1.00000000 +P 1 + 1 0.004900 1.00000000 +D 1 + 1 0.127163 1.00000000 +D 1 + 1 0.038262 1.00000000 +D 1 + 1 0.007100 1.00000000 +F 1 + 1 0.136800 1.00000000 +F 1 + 1 0.036400 1.00000000 + +SCANDIUM +S 13 + 1 66.882574 0.00055300 + 2 33.776681 -0.00511500 + 3 18.185884 0.00416100 + 4 11.748619 0.12160300 + 5 6.895190 -0.27013700 + 6 3.222124 -0.32441000 + 7 1.772120 0.29116200 + 8 0.841163 0.62893100 + 9 0.471976 0.27340600 + 10 0.313224 0.13535200 + 11 0.101013 0.00804100 + 12 0.049071 -0.00261000 + 13 0.022782 0.00059700 +S 13 + 1 66.882574 -0.00013900 + 2 33.776681 0.00134500 + 3 18.185884 -0.00144500 + 4 11.748619 -0.03208200 + 5 6.895190 0.07550600 + 6 3.222124 0.08992700 + 7 1.772120 -0.09008600 + 8 0.841163 -0.21644400 + 9 0.471976 -0.17925000 + 10 0.313224 -0.12816000 + 11 0.101013 0.33793500 + 12 0.049071 0.60918100 + 13 0.022782 0.24418100 +S 13 + 1 66.882574 -0.00067900 + 2 33.776681 0.00545600 + 3 18.185884 -0.01668400 + 4 11.748619 -0.03173900 + 5 6.895190 0.10956000 + 6 3.222124 0.23329300 + 7 1.772120 -0.31020700 + 8 0.841163 -0.24508300 + 9 0.471976 -1.17524800 + 10 0.313224 1.03235900 + 11 0.101013 1.59903900 + 12 0.049071 -0.62399000 + 13 0.022782 -0.84749800 +S 13 + 1 66.882574 -0.00145200 + 2 33.776681 0.01136200 + 3 18.185884 -0.03987600 + 4 11.748619 -0.02581000 + 5 6.895190 0.15794300 + 6 3.222124 0.45286800 + 7 1.772120 -0.76658700 + 8 0.841163 -0.60780000 + 9 0.471976 -1.71600200 + 10 0.313224 3.61400300 + 11 0.101013 -0.56948000 + 12 0.049071 -2.25596700 + 13 0.022782 1.91016000 +S 1 + 1 0.022782 1.00000000 +S 1 + 1 0.011000 1.00000000 +P 13 + 1 77.690832 0.00008800 + 2 39.751864 -0.00075400 + 3 20.615633 0.00658400 + 4 11.537150 -0.00718900 + 5 7.597186 -0.06890300 + 6 3.765117 -0.01384200 + 7 2.051006 0.24870400 + 8 1.048648 0.43432800 + 9 0.550231 0.32690600 + 10 0.303840 0.10461700 + 11 0.165809 0.01851200 + 12 0.060419 0.00139500 + 13 0.024751 0.00009300 +P 13 + 1 77.690832 0.00001700 + 2 39.751864 -0.00002600 + 3 20.615633 -0.00086100 + 4 11.537150 -0.00048300 + 5 7.597186 0.02136400 + 6 3.765117 -0.00370600 + 7 2.051006 -0.05871800 + 8 1.048648 -0.14336400 + 9 0.550231 -0.07728000 + 10 0.303840 -0.10776400 + 11 0.165809 0.32285900 + 12 0.060419 0.62172600 + 13 0.024751 0.25378700 +P 13 + 1 77.690832 -0.00006300 + 2 39.751864 0.00054900 + 3 20.615633 -0.00512000 + 4 11.537150 0.00701100 + 5 7.597186 0.05366100 + 6 3.765117 0.00357400 + 7 2.051006 -0.23586100 + 8 1.048648 -0.49480100 + 9 0.550231 -0.22957500 + 10 0.303840 0.91797300 + 11 0.165809 0.62115500 + 12 0.060419 -0.82464800 + 13 0.024751 -0.15759200 +P 13 + 1 77.690832 -0.00024300 + 2 39.751864 0.00156800 + 3 20.615633 -0.00955400 + 4 11.537150 0.01802000 + 5 7.597186 0.05100800 + 6 3.765117 0.04328000 + 7 2.051006 -0.40417800 + 8 1.048648 -0.82490400 + 9 0.550231 0.71001400 + 10 0.303840 2.22525500 + 11 0.165809 -2.74290300 + 12 0.060419 0.58142300 + 13 0.024751 0.48091000 +P 1 + 1 0.024751 1.00000000 +P 1 + 1 0.012000 1.00000000 +D 11 + 1 60.996829 0.00005600 + 2 22.097637 0.00505400 + 3 10.186744 0.03222300 + 4 4.633892 0.08247900 + 5 2.146927 0.15936300 + 6 1.014536 0.22860400 + 7 0.487206 0.24369100 + 8 0.248191 0.23165100 + 9 0.131273 0.19543100 + 10 0.063714 0.21458900 + 11 0.021542 0.07411300 +D 11 + 1 60.996829 -0.00007200 + 2 22.097637 -0.00607900 + 3 10.186744 -0.03905400 + 4 4.633892 -0.10065200 + 5 2.146927 -0.19433000 + 6 1.014536 -0.25355600 + 7 0.487206 -0.21355600 + 8 0.248191 0.05418200 + 9 0.131273 0.26118800 + 10 0.063714 0.52021500 + 11 0.021542 0.16690700 +D 11 + 1 60.996829 0.00005400 + 2 22.097637 0.00819500 + 3 10.186744 0.05007300 + 4 4.633892 0.13617400 + 5 2.146927 0.24651600 + 6 1.014536 0.25815800 + 7 0.487206 -0.12479900 + 8 0.248191 -0.43908100 + 9 0.131273 -0.47534700 + 10 0.063714 0.52718700 + 11 0.021542 0.47337300 +D 1 + 1 0.021542 1.00000000 +D 1 + 1 0.010000 1.00000000 +F 1 + 1 0.040310 1.00000000 +F 1 + 1 0.173012 1.00000000 +F 1 + 1 0.742579 1.00000000 +G 1 + 1 0.132455 1.00000000 +G 1 + 1 0.413265 1.00000000 + +TITANIUM +S 13 + 1 68.910511 0.00061600 + 2 33.720700 -0.00750100 + 3 18.159676 0.01221800 + 4 12.419305 0.14473900 + 5 7.532195 -0.32862100 + 6 3.504444 -0.31751700 + 7 1.910727 0.35742200 + 8 0.888840 0.67140600 + 9 0.447198 0.28222600 + 10 0.281192 0.03867300 + 11 0.100258 0.00455900 + 12 0.046525 -0.00156500 + 13 0.021840 0.00039800 +S 13 + 1 68.910511 -0.00015600 + 2 33.720700 0.00196600 + 3 18.159676 -0.00399400 + 4 12.419305 -0.03637700 + 5 7.532195 0.08859300 + 6 3.504444 0.08563000 + 7 1.910727 -0.10599300 + 8 0.888840 -0.23742100 + 9 0.447198 -0.23535900 + 10 0.281192 -0.01296000 + 11 0.100258 0.43358200 + 12 0.046525 0.57787300 + 13 0.021840 0.16436000 +S 13 + 1 68.910511 0.00063500 + 2 33.720700 -0.00646800 + 3 18.159676 0.02344400 + 4 12.419305 0.03892100 + 5 7.532195 -0.14118000 + 6 3.504444 -0.21476500 + 7 1.910727 0.32015100 + 8 0.888840 0.45106200 + 9 0.447198 0.85519100 + 10 0.281192 -1.20922400 + 11 0.100258 -1.31948100 + 12 0.046525 0.86651700 + 13 0.021840 0.61891600 +S 13 + 1 68.910511 -0.00117800 + 2 33.720700 0.01187700 + 3 18.159676 -0.04724000 + 4 12.419305 -0.05092200 + 5 7.532195 0.23774600 + 6 3.504444 0.40318500 + 7 1.910727 -0.79096100 + 8 0.888840 -1.10227600 + 9 0.447198 0.20944600 + 10 0.281192 2.52735200 + 11 0.100258 -1.78904100 + 12 0.046525 -0.86784200 + 13 0.021840 1.42739500 +S 1 + 1 0.021840 1.00000000 +S 1 + 1 0.010000 1.00000000 +P 13 + 1 84.914002 0.00009300 + 2 42.855051 -0.00083600 + 3 21.700131 0.00867900 + 4 12.214690 -0.01117800 + 5 8.319164 -0.07776700 + 6 4.091071 -0.00611300 + 7 2.286543 0.27182800 + 8 1.159810 0.45958500 + 9 0.591343 0.31590000 + 10 0.312862 0.07168300 + 11 0.184828 0.01054100 + 12 0.068590 0.00004500 + 13 0.026791 -0.00083700 +P 13 + 1 84.914002 0.00002000 + 2 42.855051 -0.00004900 + 3 21.700131 -0.00076100 + 4 12.214690 -0.00057500 + 5 8.319164 0.01828400 + 6 4.091071 -0.00594300 + 7 2.286543 -0.04321200 + 8 1.159810 -0.11251300 + 9 0.591343 -0.05207300 + 10 0.312862 -0.09226300 + 11 0.184828 0.24394600 + 12 0.068590 0.41310100 + 13 0.026791 0.54398500 +P 13 + 1 84.914002 0.00001900 + 2 42.855051 0.00013800 + 3 21.700131 -0.00462200 + 4 12.214690 0.00446500 + 5 8.319164 0.06576000 + 6 4.091071 -0.01892700 + 7 2.286543 -0.22252400 + 8 1.159810 -0.52389000 + 9 0.591343 -0.07127700 + 10 0.312862 0.81271200 + 11 0.184828 0.62549800 + 12 0.068590 -0.81218900 + 13 0.026791 -0.18579600 +P 13 + 1 84.914002 -0.00025700 + 2 42.855051 0.00172500 + 3 21.700131 -0.01264600 + 4 12.214690 0.02906200 + 5 8.319164 0.05897900 + 6 4.091071 0.03080600 + 7 2.286543 -0.52437300 + 8 1.159810 -0.72096800 + 9 0.591343 1.02320400 + 10 0.312862 1.97387400 + 11 0.184828 -2.80509200 + 12 0.068590 0.60795400 + 13 0.026791 0.44765300 +P 1 + 1 0.026791 1.00000000 +P 1 + 1 0.013000 1.00000000 +D 11 + 1 77.434559 0.00002200 + 2 27.708477 0.00421800 + 3 12.914284 0.03008700 + 4 6.062674 0.08482100 + 5 2.863898 0.17111000 + 6 1.386559 0.24745100 + 7 0.677058 0.27731000 + 8 0.329864 0.26107700 + 9 0.159474 0.19033600 + 10 0.076174 0.11938500 + 11 0.028570 0.03129700 +D 11 + 1 77.434559 -0.00002500 + 2 27.708477 -0.00431100 + 3 12.914284 -0.03091300 + 4 6.062674 -0.08804900 + 5 2.863898 -0.17833000 + 6 1.386559 -0.23433500 + 7 0.677058 -0.19577500 + 8 0.329864 0.06587200 + 9 0.159474 0.33053600 + 10 0.076174 0.46122900 + 11 0.028570 0.18427300 +D 11 + 1 77.434559 0.00001000 + 2 27.708477 0.00618700 + 3 12.914284 0.04263000 + 4 6.062674 0.12752400 + 5 2.863898 0.24828900 + 6 1.386559 0.25976100 + 7 0.677058 -0.07079400 + 8 0.329864 -0.51939600 + 9 0.159474 -0.37365800 + 10 0.076174 0.45506700 + 11 0.028570 0.48958600 +D 1 + 1 0.028570 1.00000000 +D 1 + 1 0.014000 1.00000000 +F 1 + 1 0.066981 1.00000000 +F 1 + 1 0.291553 1.00000000 +F 1 + 1 1.269061 1.00000000 +G 1 + 1 0.227422 1.00000000 +G 1 + 1 0.707265 1.00000000 + +VANADIUM +S 13 + 1 68.577621 0.00080400 + 2 34.937147 -0.01159400 + 3 17.939491 0.09220900 + 4 11.262123 -0.04547700 + 5 6.776264 -0.28798300 + 6 3.524091 -0.21764800 + 7 1.938421 0.40750900 + 8 0.927153 0.65819300 + 9 0.448420 0.25523400 + 10 0.209668 0.00862000 + 11 0.103660 0.00273400 + 12 0.050630 -0.00116100 + 13 0.024201 0.00029400 +S 13 + 1 68.577621 -0.00017700 + 2 34.937147 0.00279100 + 3 17.939491 -0.02365000 + 4 11.262123 0.01250400 + 5 6.776264 0.07876100 + 6 3.524091 0.05497400 + 7 1.938421 -0.11895500 + 8 0.927153 -0.24534100 + 9 0.448420 -0.22295900 + 10 0.209668 0.04780900 + 11 0.103660 0.41537400 + 12 0.050630 0.54088000 + 13 0.024201 0.18342100 +S 13 + 1 68.577621 -0.00058300 + 2 34.937147 0.00957000 + 3 17.939491 -0.08560600 + 4 11.262123 0.04842600 + 5 6.776264 0.33123900 + 6 3.524091 0.14035200 + 7 1.938421 -0.90796200 + 8 0.927153 -0.50387800 + 9 0.448420 0.39893800 + 10 0.209668 0.97113100 + 11 0.103660 0.42399900 + 12 0.050630 -0.62864600 + 13 0.024201 -0.46749500 +S 13 + 1 68.577621 -0.00076500 + 2 34.937147 0.01452900 + 3 17.939491 -0.13961800 + 4 11.262123 0.06307300 + 5 6.776264 0.70419300 + 6 3.524091 -0.01160200 + 7 1.938421 -2.31160400 + 8 0.927153 0.76826900 + 9 0.448420 2.16892000 + 10 0.209668 -1.06267100 + 11 0.103660 -1.21815100 + 12 0.050630 0.34080900 + 13 0.024201 0.71332200 +S 1 + 1 0.024201 1.00000000 +S 1 + 1 0.012000 1.00000000 +P 13 + 1 96.215967 0.00006900 + 2 49.579340 -0.00067200 + 3 25.638009 0.00819900 + 4 14.025942 -0.02710800 + 5 8.740334 -0.05302100 + 6 4.634840 0.00500200 + 7 2.553374 0.26198600 + 8 1.321166 0.43354400 + 9 0.681285 0.32494700 + 10 0.349458 0.09234200 + 11 0.172773 0.00896400 + 12 0.063300 0.00118500 + 13 0.033969 0.00010400 +P 13 + 1 96.215967 0.00004000 + 2 49.579340 -0.00013300 + 3 25.638009 -0.00095500 + 4 14.025942 0.00371900 + 5 8.740334 0.01886600 + 6 4.634840 -0.01207400 + 7 2.553374 -0.05710700 + 8 1.321166 -0.14643300 + 9 0.681285 -0.06736500 + 10 0.349458 -0.06825400 + 11 0.172773 0.40310300 + 12 0.063300 0.50266800 + 13 0.033969 0.26129100 +P 13 + 1 96.215967 -0.00005300 + 2 49.579340 0.00002300 + 3 25.638009 0.00462900 + 4 14.025942 -0.00775500 + 5 8.740334 -0.10413300 + 6 4.634840 -0.01776200 + 7 2.553374 0.72821200 + 8 1.321166 0.21882600 + 9 0.681285 -0.49322300 + 10 0.349458 -0.83819200 + 11 0.172773 0.39840100 + 12 0.063300 0.66458900 + 13 0.033969 0.03301100 +P 13 + 1 96.215967 -0.00126200 + 2 49.579340 0.00641900 + 3 25.638009 -0.02122900 + 4 14.025942 0.11577700 + 5 8.740334 -0.42074000 + 6 4.634840 0.19774200 + 7 2.553374 1.57560000 + 8 1.321166 -1.06791300 + 9 0.681285 -1.31008300 + 10 0.349458 1.19114700 + 11 0.172773 0.55051600 + 12 0.063300 -0.71878800 + 13 0.033969 -0.15744100 +P 1 + 1 0.033969 1.00000000 +P 1 + 1 0.016000 1.00000000 +D 11 + 1 89.989649 0.00005100 + 2 33.132961 0.00480400 + 3 15.879656 0.02948500 + 4 7.465803 0.08624900 + 5 3.551993 0.17972800 + 6 1.728185 0.26185000 + 7 0.850498 0.29179400 + 8 0.417673 0.25935600 + 9 0.201523 0.17494400 + 10 0.100711 0.06227800 + 11 0.058959 0.02765300 +D 11 + 1 89.989649 -0.00003800 + 2 33.132961 -0.00459000 + 3 15.879656 -0.02756300 + 4 7.465803 -0.08277500 + 5 3.551993 -0.17349400 + 6 1.728185 -0.23618800 + 7 0.850498 -0.14922600 + 8 0.417673 0.04414500 + 9 0.201523 0.39050000 + 10 0.100711 0.20306400 + 11 0.058959 0.39800200 +D 11 + 1 89.989649 0.00012800 + 2 33.132961 0.00665200 + 3 15.879656 0.04463500 + 4 7.465803 0.12255900 + 5 3.551993 0.31114700 + 6 1.728185 0.28881300 + 7 0.850498 -0.14224600 + 8 0.417673 -0.61373700 + 9 0.201523 -0.12391600 + 10 0.100711 -0.02023500 + 11 0.058959 0.73325900 +D 1 + 1 0.058959 1.00000000 +D 1 + 1 0.027000 1.00000000 +F 1 + 1 0.131136 1.00000000 +F 1 + 1 0.552620 1.00000000 +F 1 + 1 2.328788 1.00000000 +G 1 + 1 0.616440 1.00000000 +G 1 + 1 1.977796 1.00000000 + +CHROMIUM +S 13 + 1 73.977737 0.00086400 + 2 37.684349 -0.01159500 + 3 19.278723 0.09046700 + 4 12.130763 -0.02483700 + 5 7.453002 -0.33040700 + 6 3.756296 -0.20059800 + 7 2.084137 0.44976600 + 8 0.993314 0.64757500 + 9 0.483094 0.22902500 + 10 0.225854 0.00921700 + 11 0.115338 0.00113200 + 12 0.052134 -0.00036700 + 13 0.023679 0.00009200 +S 13 + 1 73.977737 -0.00018300 + 2 37.684349 0.00270400 + 3 19.278723 -0.02265000 + 4 12.130763 0.00718100 + 5 7.453002 0.08770500 + 6 3.756296 0.04761600 + 7 2.084137 -0.12567200 + 8 0.993314 -0.24457100 + 9 0.483094 -0.19841900 + 10 0.225854 0.03088900 + 11 0.115338 0.42393500 + 12 0.052134 0.57694100 + 13 0.023679 0.14832300 +S 13 + 1 73.977737 -0.00032700 + 2 37.684349 0.00530900 + 3 19.278723 -0.04690500 + 4 12.130763 0.01541100 + 5 7.453002 0.19169700 + 6 3.756296 0.09975900 + 7 2.084137 -0.33899400 + 8 0.993314 -0.69580600 + 9 0.483094 -0.00731500 + 10 0.225854 1.11859900 + 11 0.115338 0.71725700 + 12 0.052134 -0.86856500 + 13 0.023679 -0.46718600 +S 13 + 1 73.977737 -0.00069800 + 2 37.684349 0.01020700 + 3 19.278723 -0.09126100 + 4 12.130763 0.05220700 + 5 7.453002 0.34216400 + 6 3.756296 0.17486600 + 7 2.084137 -0.99425800 + 8 0.993314 -1.19060400 + 9 0.483094 2.27183400 + 10 0.225854 1.00301300 + 11 0.115338 -2.60523500 + 12 0.052134 0.26515800 + 13 0.023679 0.90228600 +S 1 + 1 0.023679 1.00000000 +S 1 + 1 0.011000 1.00000000 +P 13 + 1 101.951240 0.00008800 + 2 52.309865 -0.00074700 + 3 27.142574 0.00713500 + 4 15.066862 -0.01470200 + 5 9.693669 -0.07335300 + 6 4.985710 0.01200700 + 7 2.761266 0.28311700 + 8 1.417673 0.44078600 + 9 0.728201 0.30677500 + 10 0.378189 0.08180400 + 11 0.189359 0.00883900 + 12 0.072301 0.00102200 + 13 0.037471 0.00032500 +P 13 + 1 101.951240 0.00002800 + 2 52.309865 -0.00008500 + 3 27.142574 -0.00075100 + 4 15.066862 0.00084400 + 5 9.693669 0.02265600 + 6 4.985710 -0.01278100 + 7 2.761266 -0.06238600 + 8 1.417673 -0.14358100 + 9 0.728201 -0.06228100 + 10 0.378189 -0.05447100 + 11 0.189359 0.37713500 + 12 0.072301 0.47163300 + 13 0.037471 0.31162400 +P 13 + 1 101.951240 -0.00013700 + 2 52.309865 0.00093200 + 3 27.142574 -0.00684500 + 4 15.066862 0.01983100 + 5 9.693669 0.04364700 + 6 4.985710 -0.01928900 + 7 2.761266 -0.28118700 + 8 1.417673 -0.37029800 + 9 0.728201 -0.19987300 + 10 0.378189 1.02855200 + 11 0.189359 0.42371100 + 12 0.072301 -0.80092600 + 13 0.037471 -0.14191000 +P 13 + 1 101.951240 0.00002700 + 2 52.309865 0.00018000 + 3 27.142574 -0.00574200 + 4 15.066862 0.02041900 + 5 9.693669 0.10052700 + 6 4.985710 -0.10060800 + 7 2.761266 -0.60774600 + 8 1.417673 -0.60170500 + 9 0.728201 1.45090500 + 10 0.378189 0.67229900 + 11 0.189359 -1.90482300 + 12 0.072301 0.66581400 + 13 0.037471 0.34852200 +P 1 + 1 0.037471 1.00000000 +P 1 + 1 0.018000 1.00000000 +D 11 + 1 120.683729 -0.00000600 + 2 42.646591 0.00311100 + 3 21.154405 0.02864100 + 4 9.708242 0.07622200 + 5 4.614990 0.17059500 + 6 2.243726 0.26690800 + 7 1.086491 0.31103900 + 8 0.524700 0.26731200 + 9 0.255752 0.16333600 + 10 0.121497 0.06278200 + 11 0.054339 0.00787200 +D 11 + 1 120.683729 0.00001700 + 2 42.646591 -0.00357600 + 3 21.154405 -0.03147600 + 4 9.708242 -0.08758300 + 5 4.614990 -0.19574000 + 6 2.243726 -0.27013200 + 7 1.086491 -0.17003400 + 8 0.524700 0.14341200 + 9 0.255752 0.40868700 + 10 0.121497 0.37025700 + 11 0.054339 0.12311200 +D 11 + 1 120.683729 0.00004000 + 2 42.646591 -0.00518100 + 3 21.154405 -0.04339300 + 4 9.708242 -0.12773400 + 5 4.614990 -0.28207000 + 6 2.243726 -0.28839000 + 7 1.086491 0.16826900 + 8 0.524700 0.67306200 + 9 0.255752 0.09919600 + 10 0.121497 -0.57061200 + 11 0.054339 -0.29719700 +D 1 + 1 0.054339 1.00000000 +D 1 + 1 0.026000 1.00000000 +F 1 + 1 0.133195 1.00000000 +F 1 + 1 0.558910 1.00000000 +F 1 + 1 2.345290 1.00000000 +G 1 + 1 0.436321 1.00000000 +G 1 + 1 1.422099 1.00000000 + +MANGANESE +S 13 + 1 76.008334 0.00099300 + 2 39.277974 -0.01479600 + 3 20.405805 0.12071000 + 4 12.218680 -0.12400100 + 5 7.182690 -0.32020000 + 6 3.850780 -0.10562200 + 7 2.142489 0.47272100 + 8 1.049631 0.62038700 + 9 0.508682 0.20455300 + 10 0.192243 0.00592400 + 11 0.108899 -0.00009700 + 12 0.053425 -0.00018500 + 13 0.025236 0.00006100 +S 13 + 1 76.008334 -0.00019900 + 2 39.277974 0.00335200 + 3 20.405805 -0.02941300 + 4 12.218680 0.03209100 + 5 7.182690 0.08315200 + 6 3.850780 0.02128300 + 7 2.142489 -0.12998900 + 8 1.049631 -0.23900600 + 9 0.508682 -0.18031500 + 10 0.192243 0.11014800 + 11 0.108899 0.40442600 + 12 0.053425 0.51730700 + 13 0.025236 0.14813900 +S 13 + 1 76.008334 -0.00009100 + 2 39.277974 0.00537400 + 3 20.405805 -0.05849400 + 4 12.218680 0.05634500 + 5 7.182690 0.22787400 + 6 3.850780 -0.00842000 + 7 2.142489 -0.32077700 + 8 1.049631 -0.81313700 + 9 0.508682 0.32647500 + 10 0.192243 1.44754000 + 11 0.108899 0.02132100 + 12 0.053425 -0.67832300 + 13 0.025236 -0.45282800 +S 13 + 1 76.008334 -0.00052600 + 2 39.277974 0.01138000 + 3 20.405805 -0.11603400 + 4 12.218680 0.14932900 + 5 7.182690 0.36015400 + 6 3.850780 0.02517400 + 7 2.142489 -1.17012500 + 8 1.049631 -0.87212300 + 9 0.508682 2.55063300 + 10 0.192243 0.09034300 + 11 0.108899 -2.21058800 + 12 0.053425 0.47058200 + 13 0.025236 0.83217500 +S 1 + 1 0.025236 1.00000000 +S 1 + 1 0.012000 1.00000000 +P 13 + 1 113.479709 0.00010300 + 2 58.160819 -0.00089400 + 3 30.043076 0.00884400 + 4 16.753323 -0.01968500 + 5 10.705604 -0.06919000 + 6 5.557903 0.01150800 + 7 3.080151 0.28231300 + 8 1.582963 0.43867800 + 9 0.810922 0.30984300 + 10 0.413396 0.08394500 + 11 0.195480 0.00751700 + 12 0.072688 0.00110000 + 13 0.035877 0.00029000 +P 13 + 1 113.479709 0.00001900 + 2 58.160819 -0.00002400 + 3 30.043076 -0.00122400 + 4 16.753323 0.00232000 + 5 10.705604 0.02075800 + 6 5.557903 -0.01157200 + 7 3.080151 -0.06291900 + 8 1.582963 -0.13675400 + 9 0.810922 -0.06729500 + 10 0.413396 -0.03102400 + 11 0.195480 0.37898100 + 12 0.072688 0.50782400 + 13 0.035877 0.26094100 +P 13 + 1 113.479709 -0.00019700 + 2 58.160819 0.00135400 + 3 30.043076 -0.01010200 + 4 16.753323 0.03060300 + 5 10.705604 0.04620000 + 6 5.557903 -0.01758800 + 7 3.080151 -0.39592000 + 8 1.582963 -0.41909300 + 9 0.810922 0.07501700 + 10 0.413396 1.09298600 + 11 0.195480 0.00868000 + 12 0.072688 -0.75636900 + 13 0.035877 -0.04514900 +P 13 + 1 113.479709 0.00001400 + 2 58.160819 0.00042100 + 3 30.043076 -0.00857300 + 4 16.753323 0.03879700 + 5 10.705604 0.09933800 + 6 5.557903 -0.14444500 + 7 3.080151 -0.82118200 + 8 1.582963 -0.25078500 + 9 0.810922 1.79017000 + 10 0.413396 -0.39954700 + 11 0.195480 -1.29438200 + 12 0.072688 0.84704700 + 13 0.035877 0.15171000 +P 1 + 1 0.035877 1.00000000 +P 1 + 1 0.017000 1.00000000 +D 11 + 1 132.688182 0.00003000 + 2 45.266024 0.00529400 + 3 23.267336 0.02914300 + 4 10.605694 0.07677500 + 5 5.074684 0.16855100 + 6 2.469857 0.25683200 + 7 1.205883 0.28989100 + 8 0.590569 0.25715400 + 9 0.292055 0.18172600 + 10 0.149190 0.08998600 + 11 0.076511 0.03459500 +D 11 + 1 132.688182 -0.00002100 + 2 45.266024 -0.00544900 + 3 23.267336 -0.02903200 + 4 10.605694 -0.07982500 + 5 5.074684 -0.17441500 + 6 2.469857 -0.25340400 + 7 1.205883 -0.17430500 + 8 0.590569 0.04508100 + 9 0.292055 0.34576000 + 10 0.149190 0.26372500 + 11 0.076511 0.37171500 +D 11 + 1 132.688182 0.00006000 + 2 45.266024 0.00838500 + 3 23.267336 0.04580000 + 4 10.605694 0.12921500 + 5 5.074684 0.28432700 + 6 2.469857 0.27076000 + 7 1.205883 -0.10159100 + 8 0.590569 -0.58067700 + 9 0.292055 -0.18169600 + 10 0.149190 0.02100300 + 11 0.076511 0.72365800 +D 1 + 1 0.076511 1.00000000 +D 1 + 1 0.034000 1.00000000 +F 1 + 1 0.162331 1.00000000 +F 1 + 1 0.677099 1.00000000 +F 1 + 1 2.824255 1.00000000 +G 1 + 1 0.541534 1.00000000 +G 1 + 1 1.740920 1.00000000 + +IRON +S 13 + 1 84.322332 0.00078500 + 2 44.203528 -0.01278100 + 3 23.288963 0.10463500 + 4 13.385163 -0.11938500 + 5 7.518052 -0.33980400 + 6 4.101835 -0.04999400 + 7 2.253571 0.47695500 + 8 1.134924 0.59322200 + 9 0.561550 0.20015100 + 10 0.201961 0.00859100 + 11 0.108698 -0.00218800 + 12 0.053619 0.00067700 + 13 0.025823 -0.00014400 +S 13 + 1 84.322332 -0.00016200 + 2 44.203528 0.00292100 + 3 23.288963 -0.02546600 + 4 13.385163 0.03118200 + 5 7.518052 0.08684900 + 6 4.101835 0.00684600 + 7 2.253571 -0.13185600 + 8 1.134924 -0.22774600 + 9 0.561550 -0.17307900 + 10 0.201961 0.13614200 + 11 0.108698 0.43401300 + 12 0.053619 0.47755500 + 13 0.025823 0.12880400 +S 13 + 1 84.322332 0.00000200 + 2 44.203528 0.00410300 + 3 23.288963 -0.04684000 + 4 13.385163 0.05283300 + 5 7.518052 0.21809400 + 6 4.101835 -0.04499900 + 7 2.253571 -0.28738600 + 8 1.134924 -0.71322000 + 9 0.561550 0.24917400 + 10 0.201961 1.29987200 + 11 0.108698 0.19211900 + 12 0.053619 -0.65861600 + 13 0.025823 -0.52104700 +S 13 + 1 84.322332 0.00001200 + 2 44.203528 0.00759800 + 3 23.288963 -0.09413300 + 4 13.385163 0.12765500 + 5 7.518052 0.43559800 + 6 4.101835 -0.14791100 + 7 2.253571 -1.08447700 + 8 1.134924 -0.88700300 + 9 0.561550 2.44994600 + 10 0.201961 0.16797600 + 11 0.108698 -2.11466800 + 12 0.053619 0.45257900 + 13 0.025823 0.80144400 +S 1 + 1 0.025823 1.00000000 +S 1 + 1 0.012000 1.00000000 +P 13 + 1 125.092775 0.00005600 + 2 65.211589 -0.00057200 + 3 34.437599 0.00738800 + 4 18.930704 -0.02848100 + 5 10.873415 -0.06300500 + 6 6.012172 0.02485500 + 7 3.372205 0.27747400 + 8 1.768641 0.42538600 + 9 0.914516 0.31414500 + 10 0.460895 0.09042200 + 11 0.204490 0.00697700 + 12 0.074741 0.00115400 + 13 0.035671 0.00030300 +P 13 + 1 125.092775 0.00002500 + 2 65.211589 -0.00007000 + 3 34.437599 -0.00104200 + 4 18.930704 0.00512700 + 5 10.873415 0.01840400 + 6 6.012172 -0.01469200 + 7 3.372205 -0.06130700 + 8 1.768641 -0.12863800 + 9 0.914516 -0.07063700 + 10 0.460895 -0.01631400 + 11 0.204490 0.38070200 + 12 0.074741 0.52307100 + 13 0.035671 0.23576500 +P 13 + 1 125.092775 -0.00019700 + 2 65.211589 0.00125100 + 3 34.437599 -0.00915400 + 4 18.930704 0.03820100 + 5 10.873415 0.04309700 + 6 6.012172 -0.02947500 + 7 3.372205 -0.42699600 + 8 1.768641 -0.39484000 + 9 0.914516 0.07723000 + 10 0.460895 1.11988100 + 11 0.204490 -0.06649400 + 12 0.074741 -0.72158300 + 13 0.035671 -0.00569500 +P 13 + 1 125.092775 0.00026400 + 2 65.211589 -0.00107600 + 3 34.437599 -0.00259100 + 4 18.930704 0.03551900 + 5 10.873415 0.11955400 + 6 6.012172 -0.20471400 + 7 3.372205 -0.76062700 + 8 1.768641 -0.26274000 + 9 0.914516 1.77903000 + 10 0.460895 -0.46274200 + 11 0.204490 -1.24103000 + 12 0.074741 0.94098700 + 13 0.035671 0.08349600 +P 1 + 1 0.035671 1.00000000 +P 1 + 1 0.017000 1.00000000 +D 11 + 1 152.736742 0.00002900 + 2 50.772485 0.00523800 + 3 26.253589 0.02932500 + 4 12.137022 0.07490100 + 5 5.853719 0.16341100 + 6 2.856224 0.25105700 + 7 1.386132 0.28760300 + 8 0.670802 0.25186200 + 9 0.330280 0.18673600 + 10 0.170907 0.09357000 + 11 0.086794 0.07381100 +D 11 + 1 152.736742 -0.00002600 + 2 50.772485 -0.00632900 + 3 26.253589 -0.03439800 + 4 12.137022 -0.09176500 + 5 5.853719 -0.20159200 + 6 2.856224 -0.28393000 + 7 1.386132 -0.16198100 + 8 0.670802 0.12882200 + 9 0.330280 0.36016000 + 10 0.170907 0.27759200 + 11 0.086794 0.26140300 +D 11 + 1 152.736742 0.00005100 + 2 50.772485 0.00876900 + 3 26.253589 0.04792100 + 4 12.137022 0.13247500 + 5 5.853719 0.29727900 + 6 2.856224 0.27501800 + 7 1.386132 -0.22284200 + 8 0.670802 -0.61906700 + 9 0.330280 -0.07629000 + 10 0.170907 0.25605600 + 11 0.086794 0.54148200 +D 1 + 1 0.086794 1.00000000 +D 1 + 1 0.040000 1.00000000 +F 1 + 1 0.200905 1.00000000 +F 1 + 1 0.824745 1.00000000 +F 1 + 1 3.385699 1.00000000 +G 1 + 1 0.679723 1.00000000 +G 1 + 1 2.137024 1.00000000 + +COBALT +S 13 + 1 90.663831 0.00077400 + 2 46.961414 -0.01131600 + 3 24.110274 0.10120900 + 4 14.430881 -0.08164200 + 5 8.757423 -0.35481200 + 6 4.484459 -0.09036200 + 7 2.519739 0.49817400 + 8 1.236850 0.60412300 + 9 0.601882 0.19077500 + 10 0.223338 0.00657800 + 11 0.123422 -0.00090500 + 12 0.059941 0.00017100 + 13 0.027978 -0.00002500 +S 13 + 1 90.663831 -0.00015400 + 2 46.961414 0.00252500 + 3 24.110274 -0.02444300 + 4 14.430881 0.02220000 + 5 8.757423 0.08841600 + 6 4.484459 0.01682000 + 7 2.519739 -0.13458200 + 8 1.236850 -0.23129500 + 9 0.601882 -0.16398600 + 10 0.223338 0.12133700 + 11 0.123422 0.40241400 + 12 0.059941 0.50611300 + 13 0.027978 0.14543600 +S 13 + 1 90.663831 -0.00004700 + 2 46.961414 0.00365400 + 3 24.110274 -0.04613200 + 4 14.430881 0.03648300 + 5 8.757423 0.21726500 + 6 4.484459 -0.01188300 + 7 2.519739 -0.32468800 + 8 1.236850 -0.68058100 + 9 0.601882 0.25693600 + 10 0.223338 1.22400500 + 11 0.123422 0.23683700 + 12 0.059941 -0.60406400 + 13 0.027978 -0.57494700 +S 13 + 1 90.663831 -0.00023100 + 2 46.961414 0.00753600 + 3 24.110274 -0.09729800 + 4 14.430881 0.11161100 + 5 8.757423 0.40362100 + 6 4.484459 -0.04832400 + 7 2.519739 -1.15760000 + 8 1.236850 -0.75683900 + 9 0.601882 2.31368300 + 10 0.223338 0.25307400 + 11 0.123422 -1.99146600 + 12 0.059941 0.16694200 + 13 0.027978 0.91722100 +S 1 + 1 0.027978 1.00000000 +S 1 + 1 0.013000 1.00000000 +P 13 + 1 139.038145 0.00007500 + 2 71.928971 -0.00062700 + 3 37.806311 0.00571900 + 4 21.054252 -0.00931000 + 5 12.973193 -0.08385700 + 6 6.791461 0.01239400 + 7 3.794018 0.28198700 + 8 1.960649 0.43417900 + 9 1.006283 0.31340900 + 10 0.509539 0.08977800 + 11 0.233091 0.00740500 + 12 0.083890 0.00098000 + 13 0.039802 0.00027400 +P 13 + 1 139.038145 0.00002500 + 2 71.928971 -0.00008400 + 3 37.806311 -0.00048500 + 4 21.054252 0.00009500 + 5 12.973193 0.02240200 + 6 6.791461 -0.01153400 + 7 3.794018 -0.05686600 + 8 1.960649 -0.12607000 + 9 1.006283 -0.06088900 + 10 0.509539 -0.03508600 + 11 0.233091 0.35184700 + 12 0.083890 0.51044900 + 13 0.039802 0.28970700 +P 13 + 1 139.038145 -0.00023800 + 2 71.928971 0.00148900 + 3 37.806311 -0.00872300 + 4 21.054252 0.02453800 + 5 12.973193 0.06085600 + 6 6.791461 -0.02038000 + 7 3.794018 -0.43019500 + 8 1.960649 -0.40769200 + 9 1.006283 0.08532600 + 10 0.509539 1.07332600 + 11 0.233091 0.01506700 + 12 0.083890 -0.71963100 + 13 0.039802 -0.02460300 +P 13 + 1 139.038145 -0.00005500 + 2 71.928971 -0.00001700 + 3 37.806311 0.00432000 + 4 21.054252 -0.02133900 + 5 12.973193 -0.12713400 + 6 6.791461 0.15720800 + 7 3.794018 0.79492700 + 8 1.960649 0.23357400 + 9 1.006283 -1.66603300 + 10 0.509539 0.28271600 + 11 0.233091 1.33562500 + 12 0.083890 -0.88546900 + 13 0.039802 -0.13034000 +P 1 + 1 0.039802 1.00000000 +P 1 + 1 0.019000 1.00000000 +D 11 + 1 160.444504 0.00003400 + 2 52.598830 0.00655300 + 3 27.491581 0.03618500 + 4 12.745988 0.08302600 + 5 6.184310 0.17696000 + 6 3.029146 0.26399000 + 7 1.474099 0.29244700 + 8 0.714391 0.24959700 + 9 0.348520 0.17163700 + 10 0.174166 0.08064900 + 11 0.087891 0.04121200 +D 11 + 1 160.444504 -0.00003100 + 2 52.598830 -0.00786900 + 3 27.491581 -0.04199200 + 4 12.745988 -0.10138800 + 5 6.184310 -0.21699600 + 6 3.029146 -0.28396200 + 7 1.474099 -0.12717900 + 8 0.714391 0.17712500 + 9 0.348520 0.37559600 + 10 0.174166 0.28463100 + 11 0.087891 0.20027700 +D 11 + 1 160.444504 0.00004800 + 2 52.598830 0.01053100 + 3 27.491581 0.05555900 + 4 12.745988 0.14075800 + 5 6.184310 0.30578500 + 6 3.029146 0.24281200 + 7 1.474099 -0.28504400 + 8 0.714391 -0.59481900 + 9 0.348520 -0.01793700 + 10 0.174166 0.34815000 + 11 0.087891 0.45517000 +D 1 + 1 0.087891 1.00000000 +D 1 + 1 0.043000 1.00000000 +F 1 + 1 0.240295 1.00000000 +F 1 + 1 0.975120 1.00000000 +F 1 + 1 3.957052 1.00000000 +G 1 + 1 0.828324 1.00000000 +G 1 + 1 2.525364 1.00000000 + +NICKEL +S 13 + 1 97.161835 0.00070900 + 2 51.187866 -0.01239900 + 3 26.996725 0.10722000 + 4 15.523536 -0.12455600 + 5 8.916168 -0.35102300 + 6 4.795806 -0.02575800 + 7 2.619926 0.49894800 + 8 1.330111 0.56898600 + 9 0.668901 0.19112100 + 10 0.230439 0.01027800 + 11 0.121518 -0.00362700 + 12 0.057951 0.00129500 + 13 0.027201 -0.00030700 +S 13 + 1 97.161835 -0.00014000 + 2 51.187866 0.00275600 + 3 26.996725 -0.02548200 + 4 15.523536 0.03218200 + 5 8.916168 0.08622600 + 6 4.795806 0.00110400 + 7 2.619926 -0.13579000 + 8 1.330111 -0.21572400 + 9 0.668901 -0.15836700 + 10 0.230439 0.14349900 + 11 0.121518 0.44367200 + 12 0.057951 0.47255800 + 13 0.027201 0.11017300 +S 13 + 1 97.161835 0.00012100 + 2 51.187866 0.00332200 + 3 26.996725 -0.04578500 + 4 15.523536 0.05341500 + 5 8.916168 0.22227000 + 6 4.795806 -0.07306500 + 7 2.619926 -0.29399800 + 8 1.330111 -0.66893800 + 9 0.668901 0.29750400 + 10 0.230439 1.23374800 + 11 0.121518 0.12931700 + 12 0.057951 -0.60340700 + 13 0.027201 -0.53306200 +S 13 + 1 97.161835 0.00043400 + 2 51.187866 0.00484800 + 3 26.996725 -0.08781800 + 4 15.523536 0.12185200 + 5 8.916168 0.45421800 + 6 4.795806 -0.24576500 + 7 2.619926 -0.99734500 + 8 1.330111 -0.83458600 + 9 0.668901 2.28567500 + 10 0.230439 0.25153800 + 11 0.121518 -1.98879600 + 12 0.057951 0.34760200 + 13 0.027201 0.82415000 +S 1 + 1 0.027201 1.00000000 +S 1 + 1 0.013000 1.00000000 +P 13 + 1 148.087630 0.00005500 + 2 77.452187 -0.00054800 + 3 40.915636 0.00697900 + 4 22.575667 -0.02365800 + 5 13.218268 -0.07568200 + 6 7.232093 0.02725300 + 7 4.054870 0.28477800 + 8 2.122089 0.42763200 + 9 1.092769 0.30993700 + 10 0.548240 0.08853500 + 11 0.238886 0.00642700 + 12 0.084667 0.00070800 + 13 0.038921 0.00018600 +P 13 + 1 148.087630 0.00002700 + 2 77.452187 -0.00008800 + 3 40.915636 -0.00077300 + 4 22.575667 0.00334500 + 5 13.218268 0.01940500 + 6 7.232093 -0.01428800 + 7 4.054870 -0.05452700 + 8 2.122089 -0.11645400 + 9 1.092769 -0.06023600 + 10 0.548240 -0.02392800 + 11 0.238886 0.34786900 + 12 0.084667 0.52262600 + 13 0.038921 0.27647100 +P 13 + 1 148.087630 -0.00023700 + 2 77.452187 0.00145600 + 3 40.915636 -0.00974500 + 4 22.575667 0.03779900 + 5 13.218268 0.05252100 + 6 7.232093 -0.03500600 + 7 4.054870 -0.45557700 + 8 2.122089 -0.36830600 + 9 1.092769 0.10039200 + 10 0.548240 1.07665200 + 11 0.238886 -0.04532600 + 12 0.084667 -0.70318600 + 13 0.038921 0.00458000 +P 13 + 1 148.087630 -0.00026000 + 2 77.452187 0.00107100 + 3 40.915636 0.00232200 + 4 22.575667 -0.03214000 + 5 13.218268 -0.13413600 + 6 7.232093 0.22906200 + 7 4.054870 0.75223900 + 8 2.122089 0.20553500 + 9 1.092769 -1.69291000 + 10 0.548240 0.43629500 + 11 0.238886 1.21951400 + 12 0.084667 -0.94551600 + 13 0.038921 -0.06223200 +P 1 + 1 0.038921 1.00000000 +P 1 + 1 0.019000 1.00000000 +D 11 + 1 177.900125 0.00004900 + 2 57.372112 0.00751900 + 3 29.881432 0.03645500 + 4 13.971757 0.08690100 + 5 6.841152 0.18056800 + 6 3.379983 0.26818700 + 7 1.651827 0.29675600 + 8 0.799251 0.25155800 + 9 0.388057 0.16231900 + 10 0.191191 0.07211900 + 11 0.093358 0.02368900 +D 11 + 1 177.900125 -0.00005300 + 2 57.372112 -0.00885000 + 3 29.881432 -0.04191600 + 4 13.971757 -0.10469100 + 5 6.841152 -0.21946400 + 6 3.379983 -0.28371200 + 7 1.651827 -0.12212700 + 8 0.799251 0.19012300 + 9 0.388057 0.37659800 + 10 0.191191 0.29512200 + 11 0.093358 0.17825200 +D 11 + 1 177.900125 0.00007900 + 2 57.372112 0.01144200 + 3 29.881432 0.05397200 + 4 13.971757 0.14106800 + 5 6.841152 0.30229400 + 6 3.379983 0.23655800 + 7 1.651827 -0.29131100 + 8 0.799251 -0.58175800 + 9 0.388057 -0.02406300 + 10 0.191191 0.38938700 + 11 0.093358 0.43083300 +D 1 + 1 0.093358 1.00000000 +D 1 + 1 0.045000 1.00000000 +F 1 + 1 0.285375 1.00000000 +F 1 + 1 1.144322 1.00000000 +F 1 + 1 4.588601 1.00000000 +G 1 + 1 0.981401 1.00000000 +G 1 + 1 2.896680 1.00000000 + +COPPER +S 13 + 1 104.471138 0.00074100 + 2 55.955221 -0.01395300 + 3 30.553953 0.10526600 + 4 16.942394 -0.12939900 + 5 9.452707 -0.36273800 + 6 5.174537 0.01326600 + 7 2.779171 0.48928800 + 8 1.441817 0.56208800 + 9 0.710674 0.19004700 + 10 0.241540 0.00563500 + 11 0.129621 -0.00058200 + 12 0.059229 -0.00002400 + 13 0.027110 0.00003000 +S 13 + 1 104.471138 -0.00013300 + 2 55.955221 0.00299900 + 3 30.553953 -0.02431000 + 4 16.942394 0.03198600 + 5 9.452707 0.08914900 + 6 5.174537 -0.01075000 + 7 2.779171 -0.12822400 + 8 1.441817 -0.21572000 + 9 0.710674 -0.14955900 + 10 0.241540 0.14291700 + 11 0.129621 0.44630700 + 12 0.059229 0.48464300 + 13 0.027110 0.09306900 +S 13 + 1 104.471138 0.00021000 + 2 55.955221 0.00380600 + 3 30.553953 -0.04731200 + 4 16.942394 0.05995700 + 5 9.452707 0.25064200 + 6 5.174537 -0.11910200 + 7 2.779171 -0.31406900 + 8 1.441817 -0.68930000 + 9 0.710674 0.40305000 + 10 0.241540 1.27044000 + 11 0.129621 -0.02902900 + 12 0.059229 -0.62215700 + 13 0.027110 -0.44207400 +S 13 + 1 104.471138 0.00036600 + 2 55.955221 0.00672000 + 3 30.553953 -0.09149300 + 4 16.942394 0.14226300 + 5 9.452707 0.47188100 + 6 5.174537 -0.31970800 + 7 2.779171 -1.06825500 + 8 1.441817 -0.61504900 + 9 0.710674 2.26128200 + 10 0.241540 -0.02005900 + 11 0.129621 -1.81574600 + 12 0.059229 0.47417400 + 13 0.027110 0.71359700 +S 1 + 1 0.027110 1.00000000 +S 1 + 1 0.013000 1.00000000 +P 13 + 1 159.152840 0.00002600 + 2 83.322776 -0.00040200 + 3 44.840311 0.00740500 + 4 25.020360 -0.03071400 + 5 13.610016 -0.07434800 + 6 7.761318 0.04343000 + 7 4.303947 0.28970300 + 8 2.290080 0.41346700 + 9 1.202173 0.30376200 + 10 0.607647 0.09349400 + 11 0.257656 0.00666300 + 12 0.090897 0.00056700 + 13 0.041925 0.00017600 +P 13 + 1 159.152840 0.00003400 + 2 83.322776 -0.00012900 + 3 44.840311 -0.00080200 + 4 25.020360 0.00474700 + 5 13.610016 0.01859500 + 6 7.761318 -0.01769200 + 7 4.303947 -0.05261400 + 8 2.290080 -0.11034900 + 9 1.202173 -0.05470100 + 10 0.607647 -0.02665500 + 11 0.257656 0.33588000 + 12 0.090897 0.50947800 + 13 0.041925 0.30255900 +P 13 + 1 159.152840 -0.00022800 + 2 83.322776 0.00141400 + 3 44.840311 -0.01029000 + 4 25.020360 0.04389600 + 5 13.610016 0.05286500 + 6 7.761318 -0.05656500 + 7 4.303947 -0.48071500 + 8 2.290080 -0.31598400 + 9 1.202173 0.07567900 + 10 0.607647 1.06074700 + 11 0.257656 -0.00806100 + 12 0.090897 -0.70160100 + 13 0.041925 0.00694100 +P 13 + 1 159.152840 -0.00041200 + 2 83.322776 0.00195700 + 3 44.840311 0.00064000 + 4 25.020360 -0.03675300 + 5 13.610016 -0.14719300 + 6 7.761318 0.29778200 + 7 4.303947 0.70527100 + 8 2.290080 0.19646600 + 9 1.202173 -1.65940600 + 10 0.607647 0.39150000 + 11 0.257656 1.24328400 + 12 0.090897 -0.95752900 + 13 0.041925 -0.05609100 +P 1 + 1 0.041925 1.00000000 +P 1 + 1 0.020000 1.00000000 +D 11 + 1 226.693527 0.00001500 + 2 73.010278 0.00410800 + 3 38.536518 0.02822300 + 4 18.726700 0.06932300 + 5 9.155485 0.15604500 + 6 4.540884 0.25123800 + 7 2.241175 0.29746300 + 8 1.085869 0.27498100 + 9 0.510612 0.19309800 + 10 0.229608 0.08639300 + 11 0.095781 0.01464500 +D 11 + 1 226.693527 -0.00001300 + 2 73.010278 -0.00525200 + 3 38.536518 -0.03498200 + 4 18.726700 -0.08895000 + 5 9.155485 -0.20719400 + 6 4.540884 -0.30259700 + 7 2.241175 -0.17932700 + 8 1.085869 0.16906900 + 9 0.510612 0.40590400 + 10 0.229608 0.34187100 + 11 0.095781 0.11708000 +D 11 + 1 226.693527 0.00001600 + 2 73.010278 0.00615700 + 3 38.536518 0.04036100 + 4 18.726700 0.10603800 + 5 9.155485 0.26329900 + 6 4.540884 0.28849600 + 7 2.241175 -0.18674500 + 8 1.085869 -0.59153900 + 9 0.510612 -0.13868100 + 10 0.229608 0.54774900 + 11 0.095781 0.36235300 +D 1 + 1 0.095781 1.00000000 +D 1 + 1 0.045000 1.00000000 +F 1 + 1 0.331485 1.00000000 +F 1 + 1 1.316717 1.00000000 +F 1 + 1 5.230236 1.00000000 +G 1 + 1 1.168290 1.00000000 +G 1 + 1 3.445758 1.00000000 + +ZINC +S 13 + 1 114.485022 0.00042900 + 2 61.996430 -0.01933900 + 3 40.117132 0.08625400 + 4 20.119649 -0.08895500 + 5 10.171676 -0.40267100 + 6 5.601641 0.06730400 + 7 2.864122 0.47921500 + 8 1.592779 0.50396000 + 9 0.826525 0.22208800 + 10 0.263975 0.01220300 + 11 0.145302 -0.00430000 + 12 0.068195 0.00124300 + 13 0.031465 -0.00026700 +S 13 + 1 114.485022 -0.00010900 + 2 61.996430 0.00445900 + 3 40.117132 -0.02006700 + 4 20.119649 0.02233800 + 5 10.171676 0.09669800 + 6 5.601641 -0.02196600 + 7 2.864122 -0.12876800 + 8 1.592779 -0.18170600 + 9 0.826525 -0.16231100 + 10 0.263975 0.11626400 + 11 0.145302 0.41131400 + 12 0.068195 0.49425700 + 13 0.031465 0.13810300 +S 13 + 1 114.485022 0.00066600 + 2 61.996430 0.00626900 + 3 40.117132 -0.04660300 + 4 20.119649 0.05039900 + 5 10.171676 0.36349300 + 6 5.601641 -0.24284000 + 7 2.864122 -0.38228100 + 8 1.592779 -0.86156700 + 9 0.826525 0.70607700 + 10 0.263975 1.49500100 + 11 0.145302 -0.45399400 + 12 0.068195 -0.59782200 + 13 0.031465 -0.25611700 +S 13 + 1 114.485022 0.00070400 + 2 61.996430 0.01284100 + 3 40.117132 -0.08591000 + 4 20.119649 0.11798200 + 5 10.171676 0.63016400 + 6 5.601641 -0.60034400 + 7 2.864122 -1.24906000 + 8 1.592779 -0.32949800 + 9 0.826525 2.59246900 + 10 0.263975 -1.00448100 + 11 0.145302 -1.37951400 + 12 0.068195 1.04684200 + 13 0.031465 0.32467600 +S 1 + 1 0.031465 1.00000000 +S 1 + 1 0.015000 1.00000000 +P 13 + 1 158.770986 -0.00015300 + 2 75.802876 0.00189300 + 3 44.547824 0.01046100 + 4 31.445269 -0.04514100 + 5 13.080125 -0.08420100 + 6 7.788616 0.10497300 + 7 4.195040 0.30771400 + 8 2.362276 0.36856300 + 9 1.302584 0.28633600 + 10 0.660704 0.09515600 + 11 0.249042 0.00585100 + 12 0.091781 -0.00003400 + 13 0.048931 0.00025200 +P 13 + 1 158.770986 0.00005300 + 2 75.802876 -0.00057100 + 3 44.547824 -0.00107300 + 4 31.445269 0.00746300 + 5 13.080125 0.01867600 + 6 7.788616 -0.02809000 + 7 4.195040 -0.05443800 + 8 2.362276 -0.09374400 + 9 1.302584 -0.05416900 + 10 0.660704 -0.00797200 + 11 0.249042 0.35619800 + 12 0.091781 0.41239900 + 13 0.048931 0.36132100 +P 13 + 1 158.770986 -0.00017000 + 2 75.802876 0.00060400 + 3 44.547824 -0.01998700 + 4 31.445269 0.06115300 + 5 13.080125 0.06731700 + 6 7.788616 -0.13921100 + 7 4.195040 -0.52704100 + 8 2.362276 -0.17619400 + 9 1.302584 0.03712900 + 10 0.660704 1.07932200 + 11 0.249042 -0.05014900 + 12 0.091781 -0.68897100 + 13 0.048931 0.03733100 +P 13 + 1 158.770986 -0.00078100 + 2 75.802876 0.00785500 + 3 44.547824 -0.00867100 + 4 31.445269 -0.04055300 + 5 13.080125 -0.20006200 + 6 7.788616 0.52859900 + 7 4.195040 0.52855200 + 8 2.362276 0.24357600 + 9 1.302584 -1.80718200 + 10 0.660704 0.62949600 + 11 0.249042 1.13761300 + 12 0.091781 -1.06715000 + 13 0.048931 0.02219000 +P 1 + 1 0.048931 1.00000000 +P 1 + 1 0.024000 1.00000000 +D 11 + 1 270.014061 -0.00001600 + 2 100.161579 0.00069600 + 3 43.530609 0.01353600 + 4 21.262419 0.06935000 + 5 10.577821 0.14955900 + 6 5.343620 0.23958800 + 7 2.704857 0.28674400 + 8 1.353018 0.27145900 + 9 0.660873 0.20242600 + 10 0.309149 0.10330700 + 11 0.133879 0.02321100 +D 11 + 1 270.014061 0.00001300 + 2 100.161579 -0.00088900 + 3 43.530609 -0.01864000 + 4 21.262419 -0.09464600 + 5 10.577821 -0.21565900 + 6 5.343620 -0.32246900 + 7 2.704857 -0.19752900 + 8 1.353018 0.16444800 + 9 0.660873 0.41001700 + 10 0.309149 0.32783800 + 11 0.133879 0.10574900 +D 11 + 1 270.014061 0.00000700 + 2 100.161579 0.00086800 + 3 43.530609 0.02163100 + 4 21.262419 0.10774800 + 5 10.577821 0.27899700 + 6 5.343620 0.31454300 + 7 2.704857 -0.24192600 + 8 1.353018 -0.60241500 + 9 0.660873 -0.11801300 + 10 0.309149 0.54548200 + 11 0.133879 0.36382900 +D 1 + 1 0.133879 1.00000000 +D 1 + 1 0.060000 1.00000000 +F 1 + 1 0.385246 1.00000000 +F 1 + 1 1.520399 1.00000000 +F 1 + 1 6.000349 1.00000000 +G 1 + 1 1.418972 1.00000000 +G 1 + 1 4.099533 1.00000000 + +GALLIUM +S 9 + 1 31.011369 -0.00004600 + 2 13.757663 0.00020700 + 3 6.103352 -0.00828200 + 4 2.707648 0.08572200 + 5 1.201202 -0.35069900 + 6 0.532893 0.00456700 + 7 0.236409 0.45296800 + 8 0.104879 0.55818700 + 9 0.046528 0.16331900 +P 9 + 1 15.391968 -0.00012000 + 2 6.919798 -0.00020200 + 3 3.110948 0.00885300 + 4 1.398595 -0.07370800 + 5 0.628769 0.02826000 + 6 0.282677 0.22146300 + 7 0.127084 0.41332000 + 8 0.057133 0.38568600 + 9 0.025686 0.11229200 +S 1 + 1 0.391111 1.00000000 +S 1 + 1 0.071697 1.00000000 +S 1 + 1 0.028679 1.00000000 +P 1 + 1 0.083880 1.00000000 +P 1 + 1 0.033495 1.00000000 +P 1 + 1 0.013398 1.00000000 +D 1 + 1 0.298873 1.00000000 +D 1 + 1 0.109099 1.00000000 +D 1 + 1 0.043640 1.00000000 +F 1 + 1 0.295473 1.00000000 +F 1 + 1 0.118189 1.00000000 + +GERMANIUM +S 9 + 1 46.470485 -0.00022900 + 2 20.357328 0.00157400 + 3 8.917936 -0.01134500 + 4 3.906681 0.09897200 + 5 1.711400 -0.33154500 + 6 0.749713 -0.09480900 + 7 0.328427 0.43893300 + 8 0.143874 0.59677700 + 9 0.063027 0.18625100 +P 9 + 1 22.641155 0.00005200 + 2 10.174686 -0.00067500 + 3 4.572392 0.01127600 + 4 2.054783 -0.07462800 + 5 0.923397 -0.01207000 + 6 0.414964 0.21691900 + 7 0.186480 0.43873500 + 8 0.083802 0.38512600 + 9 0.037660 0.10807400 +S 1 + 1 0.487752 1.00000000 +S 1 + 1 0.093287 1.00000000 +S 1 + 1 0.037315 1.00000000 +P 1 + 1 0.106229 1.00000000 +P 1 + 1 0.045719 1.00000000 +P 1 + 1 0.018288 1.00000000 +D 1 + 1 0.398162 1.00000000 +D 1 + 1 0.145611 1.00000000 +D 1 + 1 0.058244 1.00000000 +F 1 + 1 0.357699 1.00000000 +F 1 + 1 0.143080 1.00000000 + +ARSENIC +S 9 + 1 50.230536 -0.00053800 + 2 22.441775 0.00366000 + 3 10.026436 -0.02399200 + 4 4.479567 0.15807600 + 5 2.001361 -0.41934600 + 6 0.894159 -0.10051900 + 7 0.399488 0.45002000 + 8 0.178482 0.60510400 + 9 0.079741 0.19000900 +P 9 + 1 22.695464 0.00032200 + 2 10.529662 -0.00312000 + 3 4.885284 0.02984900 + 4 2.266549 -0.12788200 + 5 1.051576 -0.00446100 + 6 0.487883 0.24866600 + 7 0.226356 0.45708300 + 8 0.105019 0.35148300 + 9 0.048724 0.09163600 +S 1 + 1 0.549347 1.00000000 +S 1 + 1 0.115547 1.00000000 +S 1 + 1 0.046219 1.00000000 +P 1 + 1 0.603543 1.00000000 +P 1 + 1 0.099669 1.00000000 +P 1 + 1 0.039868 1.00000000 +D 1 + 1 0.401888 1.00000000 +D 1 + 1 0.166254 1.00000000 +D 1 + 1 0.066502 1.00000000 +F 1 + 1 0.430378 1.00000000 +F 1 + 1 0.172151 1.00000000 + +SELENIUM +S 9 + 1 53.235856 -0.00017300 + 2 24.069480 0.00151800 + 3 10.882513 -0.01538400 + 4 4.920301 0.13681600 + 5 2.224611 -0.39461000 + 6 1.005811 -0.13955900 + 7 0.454757 0.50733100 + 8 0.205609 0.58687500 + 9 0.092962 0.17717000 +P 9 + 1 25.056177 -0.00015300 + 2 11.673683 0.00033200 + 3 5.438773 0.01417500 + 4 2.533927 -0.10389300 + 5 1.180557 -0.00813400 + 6 0.550022 0.28490400 + 7 0.256256 0.42743700 + 8 0.119390 0.33406600 + 9 0.055624 0.11234000 +S 1 + 1 0.607975 1.00000000 +S 1 + 1 0.134187 1.00000000 +S 1 + 1 0.053675 1.00000000 +P 1 + 1 0.147697 1.00000000 +P 1 + 1 0.069503 1.00000000 +P 1 + 1 0.027801 1.00000000 +D 1 + 1 0.525911 1.00000000 +D 1 + 1 0.209516 1.00000000 +D 1 + 1 0.083806 1.00000000 +F 1 + 1 0.478915 1.00000000 +F 1 + 1 0.191566 1.00000000 + +BROMINE +S 9 + 1 60.457695 -0.00045200 + 2 27.422852 0.00337200 + 3 12.438662 -0.02504500 + 4 5.642021 0.17010100 + 5 2.559150 -0.43099200 + 6 1.160798 -0.15435800 + 7 0.526524 0.52545800 + 8 0.238824 0.59273500 + 9 0.108328 0.16949000 +P 9 + 1 27.437987 0.00008700 + 2 12.887440 -0.00179700 + 3 6.053145 0.02715000 + 4 2.843122 -0.13414300 + 5 1.335395 -0.00623400 + 6 0.627226 0.30955100 + 7 0.294604 0.44028500 + 8 0.138374 0.31675000 + 9 0.064993 0.09253300 +S 1 + 1 0.663065 1.00000000 +S 1 + 1 0.158034 1.00000000 +S 1 + 1 0.063214 1.00000000 +P 1 + 1 0.163319 1.00000000 +P 1 + 1 0.085667 1.00000000 +P 1 + 1 0.034267 1.00000000 +D 1 + 1 0.569580 1.00000000 +D 1 + 1 0.242720 1.00000000 +D 1 + 1 0.097088 1.00000000 +F 1 + 1 0.576157 1.00000000 +F 1 + 1 0.230463 1.00000000 + +KRYPTON +S 9 + 1 59.995647 -0.00020300 + 2 27.757709 0.00179400 + 3 12.842438 -0.01925200 + 4 5.941709 0.17119400 + 5 2.749003 -0.47784700 + 6 1.271859 -0.11968600 + 7 0.588441 0.56843400 + 8 0.272249 0.56402800 + 9 0.125959 0.15760800 +P 9 + 1 24.020781 0.00010600 + 2 11.612963 -0.00089200 + 3 5.614344 0.02038000 + 4 2.714282 -0.15516000 + 5 1.312233 0.05764300 + 6 0.634405 0.35555900 + 7 0.306706 0.42666700 + 8 0.148279 0.27115100 + 9 0.071686 0.06768000 +S 1 + 1 1.799033 1.00000000 +S 1 + 1 0.340362 1.00000000 +S 1 + 1 0.136145 1.00000000 +P 1 + 1 0.202260 1.00000000 +P 1 + 1 0.109890 1.00000000 +P 1 + 1 0.043956 1.00000000 +D 1 + 1 0.699202 1.00000000 +D 1 + 1 0.284803 1.00000000 +D 1 + 1 0.113921 1.00000000 +F 1 + 1 0.696837 1.00000000 +F 1 + 1 0.278735 1.00000000 + diff --git a/data/basis/cc-pcv5z_ecp_ccecp b/data/basis/cc-pcv5z_ecp_ccecp new file mode 100644 index 00000000..63d33c38 --- /dev/null +++ b/data/basis/cc-pcv5z_ecp_ccecp @@ -0,0 +1,3054 @@ +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 +S 1 + 1 5.873270 1.00000000 +S 1 + 1 3.683273 1.00000000 +S 1 + 1 2.309872 1.00000000 +S 1 + 1 1.448578 1.00000000 +S 1 + 1 0.908439 1.00000000 +S 1 + 1 0.279981 1.00000000 +S 1 + 1 0.130352 1.00000000 +S 1 + 1 0.060689 1.00000000 +S 1 + 1 0.028255 1.00000000 +S 1 + 1 0.013155 1.00000000 +P 1 + 1 6.009499 1.00000000 +P 1 + 1 3.072831 1.00000000 +P 1 + 1 1.571228 1.00000000 +P 1 + 1 0.803414 1.00000000 +P 1 + 1 0.410809 1.00000000 +P 1 + 1 0.156073 1.00000000 +P 1 + 1 0.081288 1.00000000 +P 1 + 1 0.042338 1.00000000 +P 1 + 1 0.022051 1.00000000 +P 1 + 1 0.011485 1.00000000 +D 1 + 1 3.848391 1.00000000 +D 1 + 1 1.901701 1.00000000 +D 1 + 1 0.939734 1.00000000 +D 1 + 1 0.464374 1.00000000 +D 1 + 1 0.120204 1.00000000 +D 1 + 1 0.048011 1.00000000 +D 1 + 1 0.019176 1.00000000 +D 1 + 1 0.007659 1.00000000 +F 1 + 1 2.590701 1.00000000 +F 1 + 1 1.411529 1.00000000 +F 1 + 1 0.769064 1.00000000 +F 1 + 1 0.239153 1.00000000 +F 1 + 1 0.119089 1.00000000 +F 1 + 1 0.059302 1.00000000 +G 1 + 1 2.037301 1.00000000 +G 1 + 1 0.905571 1.00000000 +G 1 + 1 0.143170 1.00000000 +G 1 + 1 0.079847 1.00000000 +H 1 + 1 1.635516 1.00000000 +H 1 + 1 0.138324 1.00000000 + +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 7.012966 1.00000000 +S 1 + 1 4.484960 1.00000000 +S 1 + 1 2.868240 1.00000000 +S 1 + 1 1.834308 1.00000000 +S 1 + 1 1.173084 1.00000000 +S 1 + 1 0.327434 1.00000000 +S 1 + 1 0.142435 1.00000000 +S 1 + 1 0.079140 1.00000000 +S 1 + 1 0.037693 1.00000000 +S 1 + 1 0.018160 1.00000000 +P 1 + 1 7.065700 1.00000000 +P 1 + 1 4.206360 1.00000000 +P 1 + 1 2.504134 1.00000000 +P 1 + 1 1.490764 1.00000000 +P 1 + 1 0.887483 1.00000000 +P 1 + 1 0.467685 1.00000000 +P 1 + 1 0.233432 1.00000000 +P 1 + 1 0.093217 1.00000000 +P 1 + 1 0.041977 1.00000000 +P 1 + 1 0.018692 1.00000000 +D 1 + 1 3.644940 1.00000000 +D 1 + 1 2.350849 1.00000000 +D 1 + 1 1.516209 1.00000000 +D 1 + 1 0.977898 1.00000000 +D 1 + 1 0.502634 1.00000000 +D 1 + 1 0.189583 1.00000000 +D 1 + 1 0.070604 1.00000000 +D 1 + 1 0.025792 1.00000000 +F 1 + 1 3.578437 1.00000000 +F 1 + 1 2.436365 1.00000000 +F 1 + 1 1.658789 1.00000000 +F 1 + 1 0.736000 1.00000000 +F 1 + 1 0.247100 1.00000000 +F 1 + 1 0.083000 1.00000000 +G 1 + 1 2.548467 1.00000000 +G 1 + 1 1.178412 1.00000000 +G 1 + 1 0.290200 1.00000000 +G 1 + 1 0.096300 1.00000000 +H 1 + 1 2.041245 1.00000000 +H 1 + 1 0.278500 1.00000000 + +SCANDIUM +S 13 + 1 66.882574 0.00055300 + 2 33.776681 -0.00511500 + 3 18.185884 0.00416100 + 4 11.748619 0.12160300 + 5 6.895190 -0.27013700 + 6 3.222124 -0.32441000 + 7 1.772120 0.29116200 + 8 0.841163 0.62893100 + 9 0.471976 0.27340600 + 10 0.313224 0.13535200 + 11 0.101013 0.00804100 + 12 0.049071 -0.00261000 + 13 0.022782 0.00059700 +S 13 + 1 66.882574 -0.00013900 + 2 33.776681 0.00134500 + 3 18.185884 -0.00144500 + 4 11.748619 -0.03208200 + 5 6.895190 0.07550600 + 6 3.222124 0.08992700 + 7 1.772120 -0.09008600 + 8 0.841163 -0.21644400 + 9 0.471976 -0.17925000 + 10 0.313224 -0.12816000 + 11 0.101013 0.33793500 + 12 0.049071 0.60918100 + 13 0.022782 0.24418100 +S 13 + 1 66.882574 -0.00067900 + 2 33.776681 0.00545600 + 3 18.185884 -0.01668400 + 4 11.748619 -0.03173900 + 5 6.895190 0.10956000 + 6 3.222124 0.23329300 + 7 1.772120 -0.31020700 + 8 0.841163 -0.24508300 + 9 0.471976 -1.17524800 + 10 0.313224 1.03235900 + 11 0.101013 1.59903900 + 12 0.049071 -0.62399000 + 13 0.022782 -0.84749800 +S 13 + 1 66.882574 -0.00145200 + 2 33.776681 0.01136200 + 3 18.185884 -0.03987600 + 4 11.748619 -0.02581000 + 5 6.895190 0.15794300 + 6 3.222124 0.45286800 + 7 1.772120 -0.76658700 + 8 0.841163 -0.60780000 + 9 0.471976 -1.71600200 + 10 0.313224 3.61400300 + 11 0.101013 -0.56948000 + 12 0.049071 -2.25596700 + 13 0.022782 1.91016000 +S 13 + 1 66.882574 0.00043000 + 2 33.776681 -0.00113700 + 3 18.185884 0.02081200 + 4 11.748619 -0.18957800 + 5 6.895190 0.43867600 + 6 3.222124 0.26761800 + 7 1.772120 -0.73280800 + 8 0.841163 -3.04424000 + 9 0.471976 5.47606700 + 10 0.313224 -1.01760200 + 11 0.101013 -5.01443900 + 12 0.049071 6.15979200 + 13 0.022782 -2.69036800 +S 13 + 1 66.882574 0.00024200 + 2 33.776681 -0.00502700 + 3 18.185884 -0.00112700 + 4 11.748619 0.26943700 + 5 6.895190 -0.78145300 + 6 3.222124 -0.63475600 + 7 1.772120 3.60158600 + 8 0.841163 -0.10790900 + 9 0.471976 -12.73645800 + 10 0.313224 14.34975300 + 11 0.101013 -8.02316200 + 12 0.049071 6.21689300 + 13 0.022782 -2.06426000 +S 1 + 1 0.022782 1.00000000 +P 13 + 1 77.690832 0.00008800 + 2 39.751864 -0.00075400 + 3 20.615633 0.00658400 + 4 11.537150 -0.00718900 + 5 7.597186 -0.06890300 + 6 3.765117 -0.01384200 + 7 2.051006 0.24870400 + 8 1.048648 0.43432800 + 9 0.550231 0.32690600 + 10 0.303840 0.10461700 + 11 0.165809 0.01851200 + 12 0.060419 0.00139500 + 13 0.024751 0.00009300 +P 13 + 1 77.690832 0.00001700 + 2 39.751864 -0.00002600 + 3 20.615633 -0.00086100 + 4 11.537150 -0.00048300 + 5 7.597186 0.02136400 + 6 3.765117 -0.00370600 + 7 2.051006 -0.05871800 + 8 1.048648 -0.14336400 + 9 0.550231 -0.07728000 + 10 0.303840 -0.10776400 + 11 0.165809 0.32285900 + 12 0.060419 0.62172600 + 13 0.024751 0.25378700 +P 13 + 1 77.690832 -0.00006300 + 2 39.751864 0.00054900 + 3 20.615633 -0.00512000 + 4 11.537150 0.00701100 + 5 7.597186 0.05366100 + 6 3.765117 0.00357400 + 7 2.051006 -0.23586100 + 8 1.048648 -0.49480100 + 9 0.550231 -0.22957500 + 10 0.303840 0.91797300 + 11 0.165809 0.62115500 + 12 0.060419 -0.82464800 + 13 0.024751 -0.15759200 +P 13 + 1 77.690832 -0.00024300 + 2 39.751864 0.00156800 + 3 20.615633 -0.00955400 + 4 11.537150 0.01802000 + 5 7.597186 0.05100800 + 6 3.765117 0.04328000 + 7 2.051006 -0.40417800 + 8 1.048648 -0.82490400 + 9 0.550231 0.71001400 + 10 0.303840 2.22525500 + 11 0.165809 -2.74290300 + 12 0.060419 0.58142300 + 13 0.024751 0.48091000 +P 13 + 1 77.690832 -0.00025600 + 2 39.751864 0.00108400 + 3 20.615633 0.00040000 + 4 11.537150 0.02195600 + 5 7.597186 -0.16269400 + 6 3.765117 0.00037100 + 7 2.051006 1.05365400 + 8 1.048648 0.65865100 + 9 0.550231 -4.72226800 + 10 0.303840 5.40799300 + 11 0.165809 -2.00216600 + 12 0.060419 -0.71482200 + 13 0.024751 0.92680100 +P 13 + 1 77.690832 -0.00390100 + 2 39.751864 0.02143200 + 3 20.615633 -0.08584900 + 4 11.537150 0.25570200 + 5 7.597186 -0.24426600 + 6 3.765117 0.62236300 + 7 2.051006 -2.77179400 + 8 1.048648 3.61583800 + 9 0.550231 -0.69783100 + 10 0.303840 -3.54879700 + 11 0.165809 4.29188800 + 12 0.060419 -2.92420100 + 13 0.024751 1.61346300 +P 1 + 1 0.024751 1.00000000 +D 11 + 1 60.996829 0.00005600 + 2 22.097637 0.00505400 + 3 10.186744 0.03222300 + 4 4.633892 0.08247900 + 5 2.146927 0.15936300 + 6 1.014536 0.22860400 + 7 0.487206 0.24369100 + 8 0.248191 0.23165100 + 9 0.131273 0.19543100 + 10 0.063714 0.21458900 + 11 0.021542 0.07411300 +D 11 + 1 60.996829 -0.00007200 + 2 22.097637 -0.00607900 + 3 10.186744 -0.03905400 + 4 4.633892 -0.10065200 + 5 2.146927 -0.19433000 + 6 1.014536 -0.25355600 + 7 0.487206 -0.21355600 + 8 0.248191 0.05418200 + 9 0.131273 0.26118800 + 10 0.063714 0.52021500 + 11 0.021542 0.16690700 +D 11 + 1 60.996829 0.00005400 + 2 22.097637 0.00819500 + 3 10.186744 0.05007300 + 4 4.633892 0.13617400 + 5 2.146927 0.24651600 + 6 1.014536 0.25815800 + 7 0.487206 -0.12479900 + 8 0.248191 -0.43908100 + 9 0.131273 -0.47534700 + 10 0.063714 0.52718700 + 11 0.021542 0.47337300 +D 11 + 1 60.996829 -0.00013200 + 2 22.097637 -0.01019500 + 3 10.186744 -0.06681500 + 4 4.633892 -0.17925500 + 5 2.146927 -0.33873300 + 6 1.014536 -0.14578400 + 7 0.487206 0.70044400 + 8 0.248191 0.51197600 + 9 0.131273 -1.01912300 + 10 0.063714 -0.09222100 + 11 0.021542 0.69667500 +D 11 + 1 60.996829 -0.00029800 + 2 22.097637 -0.01395600 + 3 10.186744 -0.09848700 + 4 4.633892 -0.25947100 + 5 2.146927 -0.44684300 + 6 1.014536 0.52521200 + 7 0.487206 1.06147800 + 8 0.248191 -1.66905500 + 9 0.131273 0.14972100 + 10 0.063714 1.01628900 + 11 0.021542 -0.74556300 +D 1 + 1 0.021542 1.00000000 +F 1 + 1 0.096700 1.00000000 +F 1 + 1 0.277193 1.00000000 +F 1 + 1 0.794579 1.00000000 +F 1 + 1 2.277680 1.00000000 +G 1 + 1 0.147726 1.00000000 +G 1 + 1 0.496450 1.00000000 +G 1 + 1 1.668377 1.00000000 +H 1 + 1 0.730205 1.00000000 +H 1 + 1 1.438169 1.00000000 +I 1 + 1 2.384691 1.00000000 +S 1 + 1 2.579792 1.00000000 +S 1 + 1 3.907301 1.00000000 +P 1 + 1 1.149806 1.00000000 +P 1 + 1 3.785409 1.00000000 +D 1 + 1 1.726661 1.00000000 +D 1 + 1 2.428497 1.00000000 +F 1 + 1 2.972618 1.00000000 +G 1 + 1 3.296772 1.00000000 +H 1 + 1 3.362914 1.00000000 +I 1 + 1 3.811252 1.00000000 + +TITANIUM +S 13 + 1 68.910511 0.00061600 + 2 33.720700 -0.00750100 + 3 18.159676 0.01221800 + 4 12.419305 0.14473900 + 5 7.532195 -0.32862100 + 6 3.504444 -0.31751700 + 7 1.910727 0.35742200 + 8 0.888840 0.67140600 + 9 0.447198 0.28222600 + 10 0.281192 0.03867300 + 11 0.100258 0.00455900 + 12 0.046525 -0.00156500 + 13 0.021840 0.00039800 +S 13 + 1 68.910511 -0.00015600 + 2 33.720700 0.00196600 + 3 18.159676 -0.00399400 + 4 12.419305 -0.03637700 + 5 7.532195 0.08859300 + 6 3.504444 0.08563000 + 7 1.910727 -0.10599300 + 8 0.888840 -0.23742100 + 9 0.447198 -0.23535900 + 10 0.281192 -0.01296000 + 11 0.100258 0.43358200 + 12 0.046525 0.57787300 + 13 0.021840 0.16436000 +S 13 + 1 68.910511 0.00063500 + 2 33.720700 -0.00646800 + 3 18.159676 0.02344400 + 4 12.419305 0.03892100 + 5 7.532195 -0.14118000 + 6 3.504444 -0.21476500 + 7 1.910727 0.32015100 + 8 0.888840 0.45106200 + 9 0.447198 0.85519100 + 10 0.281192 -1.20922400 + 11 0.100258 -1.31948100 + 12 0.046525 0.86651700 + 13 0.021840 0.61891600 +S 13 + 1 68.910511 -0.00117800 + 2 33.720700 0.01187700 + 3 18.159676 -0.04724000 + 4 12.419305 -0.05092200 + 5 7.532195 0.23774600 + 6 3.504444 0.40318500 + 7 1.910727 -0.79096100 + 8 0.888840 -1.10227600 + 9 0.447198 0.20944600 + 10 0.281192 2.52735200 + 11 0.100258 -1.78904100 + 12 0.046525 -0.86784200 + 13 0.021840 1.42739500 +S 13 + 1 68.910511 0.00011500 + 2 33.720700 0.00283300 + 3 18.159676 0.00614100 + 4 12.419305 -0.20968200 + 5 7.532195 0.51836700 + 6 3.504444 0.30416400 + 7 1.910727 -1.23286300 + 8 0.888840 -2.09050800 + 9 0.447198 7.09271500 + 10 0.281192 -4.54374400 + 11 0.100258 -2.24827000 + 12 0.046525 4.47391800 + 13 0.021840 -2.42629600 +S 13 + 1 68.910511 -0.00502200 + 2 33.720700 0.04581200 + 3 18.159676 -0.22302100 + 4 12.419305 0.09844300 + 5 7.532195 0.47843000 + 6 3.504444 1.06108500 + 7 1.910727 -4.89319600 + 8 0.888840 4.88955200 + 9 0.447198 2.48209600 + 10 0.281192 -7.42136100 + 11 0.100258 7.32453500 + 12 0.046525 -6.28225700 + 13 0.021840 2.41326500 +S 1 + 1 0.021840 1.00000000 +P 13 + 1 84.914002 0.00009300 + 2 42.855051 -0.00083600 + 3 21.700131 0.00867900 + 4 12.214690 -0.01117800 + 5 8.319164 -0.07776700 + 6 4.091071 -0.00611300 + 7 2.286543 0.27182800 + 8 1.159810 0.45958500 + 9 0.591343 0.31590000 + 10 0.312862 0.07168300 + 11 0.184828 0.01054100 + 12 0.068590 0.00004500 + 13 0.026791 -0.00083700 +P 13 + 1 84.914002 0.00002000 + 2 42.855051 -0.00004900 + 3 21.700131 -0.00076100 + 4 12.214690 -0.00057500 + 5 8.319164 0.01828400 + 6 4.091071 -0.00594300 + 7 2.286543 -0.04321200 + 8 1.159810 -0.11251300 + 9 0.591343 -0.05207300 + 10 0.312862 -0.09226300 + 11 0.184828 0.24394600 + 12 0.068590 0.41310100 + 13 0.026791 0.54398500 +P 13 + 1 84.914002 0.00001900 + 2 42.855051 0.00013800 + 3 21.700131 -0.00462200 + 4 12.214690 0.00446500 + 5 8.319164 0.06576000 + 6 4.091071 -0.01892700 + 7 2.286543 -0.22252400 + 8 1.159810 -0.52389000 + 9 0.591343 -0.07127700 + 10 0.312862 0.81271200 + 11 0.184828 0.62549800 + 12 0.068590 -0.81218900 + 13 0.026791 -0.18579600 +P 13 + 1 84.914002 -0.00025700 + 2 42.855051 0.00172500 + 3 21.700131 -0.01264600 + 4 12.214690 0.02906200 + 5 8.319164 0.05897900 + 6 4.091071 0.03080600 + 7 2.286543 -0.52437300 + 8 1.159810 -0.72096800 + 9 0.591343 1.02320400 + 10 0.312862 1.97387400 + 11 0.184828 -2.80509200 + 12 0.068590 0.60795400 + 13 0.026791 0.44765300 +P 13 + 1 84.914002 0.00027100 + 2 42.855051 -0.00190200 + 3 21.700131 0.01541200 + 4 12.214690 -0.03758600 + 5 8.319164 -0.12453600 + 6 4.091071 0.04081200 + 7 2.286543 1.34382300 + 8 1.159810 -0.26941100 + 9 0.591343 -3.72959000 + 10 0.312862 5.88498300 + 11 0.184828 -3.11385300 + 12 0.068590 -0.25697300 + 13 0.026791 0.71073300 +P 13 + 1 84.914002 -0.00374600 + 2 42.855051 0.02080700 + 3 21.700131 -0.09320200 + 4 12.214690 0.32919000 + 5 8.319164 -0.26508700 + 6 4.091071 0.35306800 + 7 2.286543 -2.77876500 + 8 1.159810 4.95982700 + 9 0.591343 -3.87445400 + 10 0.312862 -0.17839700 + 11 0.184828 2.64474200 + 12 0.068590 -2.41663200 + 13 0.026791 1.41897300 +P 1 + 1 0.026791 1.00000000 +D 11 + 1 77.434559 0.00002200 + 2 27.708477 0.00421800 + 3 12.914284 0.03008700 + 4 6.062674 0.08482100 + 5 2.863898 0.17111000 + 6 1.386559 0.24745100 + 7 0.677058 0.27731000 + 8 0.329864 0.26107700 + 9 0.159474 0.19033600 + 10 0.076174 0.11938500 + 11 0.028570 0.03129700 +D 11 + 1 77.434559 -0.00002500 + 2 27.708477 -0.00431100 + 3 12.914284 -0.03091300 + 4 6.062674 -0.08804900 + 5 2.863898 -0.17833000 + 6 1.386559 -0.23433500 + 7 0.677058 -0.19577500 + 8 0.329864 0.06587200 + 9 0.159474 0.33053600 + 10 0.076174 0.46122900 + 11 0.028570 0.18427300 +D 11 + 1 77.434559 0.00001000 + 2 27.708477 0.00618700 + 3 12.914284 0.04263000 + 4 6.062674 0.12752400 + 5 2.863898 0.24828900 + 6 1.386559 0.25976100 + 7 0.677058 -0.07079400 + 8 0.329864 -0.51939600 + 9 0.159474 -0.37365800 + 10 0.076174 0.45506700 + 11 0.028570 0.48958600 +D 11 + 1 77.434559 0.00001100 + 2 27.708477 -0.00802600 + 3 12.914284 -0.05387500 + 4 6.062674 -0.16879500 + 5 2.863898 -0.31234400 + 6 1.386559 -0.17203100 + 7 0.677058 0.58763300 + 8 0.329864 0.52859200 + 9 0.159474 -0.85964400 + 10 0.076174 -0.27383100 + 11 0.028570 0.80275400 +D 11 + 1 77.434559 -0.00001300 + 2 27.708477 -0.01172700 + 3 12.914284 -0.08166200 + 4 6.062674 -0.26347400 + 5 2.863898 -0.44608900 + 6 1.386559 0.34288500 + 7 0.677058 1.15809700 + 8 0.329864 -1.39803900 + 9 0.159474 -0.13932000 + 10 0.076174 1.17395400 + 11 0.028570 -0.80232000 +D 1 + 1 0.028570 1.00000000 +F 1 + 1 0.141956 1.00000000 +F 1 + 1 0.422577 1.00000000 +F 1 + 1 1.257932 1.00000000 +F 1 + 1 3.744629 1.00000000 +G 1 + 1 0.268404 1.00000000 +G 1 + 1 0.841165 1.00000000 +G 1 + 1 2.636172 1.00000000 +H 1 + 1 0.518283 1.00000000 +H 1 + 1 1.872404 1.00000000 +I 1 + 1 0.927112 1.00000000 +S 1 + 1 1.915355 1.00000000 +S 1 + 1 2.432281 1.00000000 +P 1 + 1 1.303007 1.00000000 +P 1 + 1 4.835111 1.00000000 +D 1 + 1 2.162081 1.00000000 +D 1 + 1 2.864191 1.00000000 +F 1 + 1 2.480939 1.00000000 +G 1 + 1 3.647632 1.00000000 +H 1 + 1 3.922726 1.00000000 +I 1 + 1 3.318603 1.00000000 + +VANADIUM +S 13 + 1 68.577621 0.00080400 + 2 34.937147 -0.01159400 + 3 17.939491 0.09220900 + 4 11.262123 -0.04547700 + 5 6.776264 -0.28798300 + 6 3.524091 -0.21764800 + 7 1.938421 0.40750900 + 8 0.927153 0.65819300 + 9 0.448420 0.25523400 + 10 0.209668 0.00862000 + 11 0.103660 0.00273400 + 12 0.050630 -0.00116100 + 13 0.024201 0.00029400 +S 13 + 1 68.577621 -0.00017700 + 2 34.937147 0.00279100 + 3 17.939491 -0.02365000 + 4 11.262123 0.01250400 + 5 6.776264 0.07876100 + 6 3.524091 0.05497400 + 7 1.938421 -0.11895500 + 8 0.927153 -0.24534100 + 9 0.448420 -0.22295900 + 10 0.209668 0.04780900 + 11 0.103660 0.41537400 + 12 0.050630 0.54088000 + 13 0.024201 0.18342100 +S 13 + 1 68.577621 -0.00058300 + 2 34.937147 0.00957000 + 3 17.939491 -0.08560600 + 4 11.262123 0.04842600 + 5 6.776264 0.33123900 + 6 3.524091 0.14035200 + 7 1.938421 -0.90796200 + 8 0.927153 -0.50387800 + 9 0.448420 0.39893800 + 10 0.209668 0.97113100 + 11 0.103660 0.42399900 + 12 0.050630 -0.62864600 + 13 0.024201 -0.46749500 +S 13 + 1 68.577621 -0.00076500 + 2 34.937147 0.01452900 + 3 17.939491 -0.13961800 + 4 11.262123 0.06307300 + 5 6.776264 0.70419300 + 6 3.524091 -0.01160200 + 7 1.938421 -2.31160400 + 8 0.927153 0.76826900 + 9 0.448420 2.16892000 + 10 0.209668 -1.06267100 + 11 0.103660 -1.21815100 + 12 0.050630 0.34080900 + 13 0.024201 0.71332200 +S 13 + 1 68.577621 -0.00356700 + 2 34.937147 0.01000700 + 3 17.939491 0.04020200 + 4 11.262123 0.34329500 + 5 6.776264 -2.09702200 + 6 3.524091 2.80403900 + 7 1.938421 1.20663800 + 8 0.927153 -4.50572400 + 9 0.448420 2.15832500 + 10 0.209668 2.12989200 + 11 0.103660 -2.26503700 + 12 0.050630 -0.68105100 + 13 0.024201 1.25786200 +S 13 + 1 68.577621 -0.00349500 + 2 34.937147 0.00042500 + 3 17.939491 0.17364100 + 4 11.262123 0.27067600 + 5 6.776264 -3.72961400 + 6 3.524091 9.16051900 + 7 1.938421 -7.57229300 + 8 0.927153 -0.10606800 + 9 0.448420 5.60709100 + 10 0.209668 -6.00811100 + 11 0.103660 1.90641600 + 12 0.050630 1.90268500 + 13 0.024201 -1.57531500 +S 1 + 1 0.024201 1.00000000 +P 13 + 1 96.215967 0.00006900 + 2 49.579340 -0.00067200 + 3 25.638009 0.00819900 + 4 14.025942 -0.02710800 + 5 8.740334 -0.05302100 + 6 4.634840 0.00500200 + 7 2.553374 0.26198600 + 8 1.321166 0.43354400 + 9 0.681285 0.32494700 + 10 0.349458 0.09234200 + 11 0.172773 0.00896400 + 12 0.063300 0.00118500 + 13 0.033969 0.00010400 +P 13 + 1 96.215967 0.00004000 + 2 49.579340 -0.00013300 + 3 25.638009 -0.00095500 + 4 14.025942 0.00371900 + 5 8.740334 0.01886600 + 6 4.634840 -0.01207400 + 7 2.553374 -0.05710700 + 8 1.321166 -0.14643300 + 9 0.681285 -0.06736500 + 10 0.349458 -0.06825400 + 11 0.172773 0.40310300 + 12 0.063300 0.50266800 + 13 0.033969 0.26129100 +P 13 + 1 96.215967 -0.00005300 + 2 49.579340 0.00002300 + 3 25.638009 0.00462900 + 4 14.025942 -0.00775500 + 5 8.740334 -0.10413300 + 6 4.634840 -0.01776200 + 7 2.553374 0.72821200 + 8 1.321166 0.21882600 + 9 0.681285 -0.49322300 + 10 0.349458 -0.83819200 + 11 0.172773 0.39840100 + 12 0.063300 0.66458900 + 13 0.033969 0.03301100 +P 13 + 1 96.215967 -0.00126200 + 2 49.579340 0.00641900 + 3 25.638009 -0.02122900 + 4 14.025942 0.11577700 + 5 8.740334 -0.42074000 + 6 4.634840 0.19774200 + 7 2.553374 1.57560000 + 8 1.321166 -1.06791300 + 9 0.681285 -1.31008300 + 10 0.349458 1.19114700 + 11 0.172773 0.55051600 + 12 0.063300 -0.71878800 + 13 0.033969 -0.15744100 +P 13 + 1 96.215967 -0.00478000 + 2 49.579340 0.02531200 + 3 25.638009 -0.09426700 + 4 14.025942 0.43789600 + 5 8.740334 -1.44316600 + 6 4.634840 2.63678000 + 7 2.553374 -0.38243600 + 8 1.321166 -2.76188100 + 9 0.681285 2.15975600 + 10 0.349458 0.67615100 + 11 0.172773 -1.62151700 + 12 0.063300 0.42916400 + 13 0.033969 0.40017800 +P 13 + 1 96.215967 0.00319600 + 2 49.579340 -0.01674000 + 3 25.638009 0.07050700 + 4 14.025942 -0.16152300 + 5 8.740334 -0.90376500 + 6 4.634840 4.91640900 + 7 2.553374 -6.34586700 + 8 1.321166 2.97416800 + 9 0.681285 1.41665700 + 10 0.349458 -3.39692200 + 11 0.172773 2.17013500 + 12 0.063300 -0.05908100 + 13 0.033969 -0.60399500 +P 1 + 1 0.033969 1.00000000 +D 11 + 1 89.989649 0.00005100 + 2 33.132961 0.00480400 + 3 15.879656 0.02948500 + 4 7.465803 0.08624900 + 5 3.551993 0.17972800 + 6 1.728185 0.26185000 + 7 0.850498 0.29179400 + 8 0.417673 0.25935600 + 9 0.201523 0.17494400 + 10 0.100711 0.06227800 + 11 0.058959 0.02765300 +D 11 + 1 89.989649 -0.00003800 + 2 33.132961 -0.00459000 + 3 15.879656 -0.02756300 + 4 7.465803 -0.08277500 + 5 3.551993 -0.17349400 + 6 1.728185 -0.23618800 + 7 0.850498 -0.14922600 + 8 0.417673 0.04414500 + 9 0.201523 0.39050000 + 10 0.100711 0.20306400 + 11 0.058959 0.39800200 +D 11 + 1 89.989649 0.00012800 + 2 33.132961 0.00665200 + 3 15.879656 0.04463500 + 4 7.465803 0.12255900 + 5 3.551993 0.31114700 + 6 1.728185 0.28881300 + 7 0.850498 -0.14224600 + 8 0.417673 -0.61373700 + 9 0.201523 -0.12391600 + 10 0.100711 -0.02023500 + 11 0.058959 0.73325900 +D 11 + 1 89.989649 0.00004500 + 2 33.132961 -0.01039400 + 3 15.879656 -0.05505100 + 4 7.465803 -0.17145700 + 5 3.551993 -0.51992200 + 6 1.728185 0.09902600 + 7 0.850498 0.82933200 + 8 0.417673 -0.07090800 + 9 0.201523 -0.47117100 + 10 0.100711 -0.87878900 + 11 0.058959 1.21174700 +D 11 + 1 89.989649 0.00186400 + 2 33.132961 -0.03115700 + 3 15.879656 -0.04978300 + 4 7.465803 -0.53262200 + 5 3.551993 -0.46373800 + 6 1.728185 1.44037300 + 7 0.850498 -0.38405900 + 8 0.417673 -0.78370500 + 9 0.201523 0.10773300 + 10 0.100711 1.43533300 + 11 0.058959 -1.21509400 +D 1 + 1 0.058959 1.00000000 +F 1 + 1 0.222627 1.00000000 +F 1 + 1 0.636150 1.00000000 +F 1 + 1 1.817778 1.00000000 +F 1 + 1 5.194245 1.00000000 +G 1 + 1 0.567011 1.00000000 +G 1 + 1 1.547265 1.00000000 +G 1 + 1 4.222190 1.00000000 +H 1 + 1 1.277114 1.00000000 +H 1 + 1 3.733326 1.00000000 +I 1 + 1 3.121626 1.00000000 +S 1 + 1 1.067978 1.00000000 +S 1 + 1 2.245459 1.00000000 +P 1 + 1 3.214499 1.00000000 +P 1 + 1 4.992590 1.00000000 +D 1 + 1 2.938037 1.00000000 +D 1 + 1 3.250980 1.00000000 +F 1 + 1 3.099663 1.00000000 +G 1 + 1 3.704309 1.00000000 +H 1 + 1 4.527979 1.00000000 + +CHROMIUM +S 13 + 1 73.977737 0.00086400 + 2 37.684349 -0.01159500 + 3 19.278723 0.09046700 + 4 12.130763 -0.02483700 + 5 7.453002 -0.33040700 + 6 3.756296 -0.20059800 + 7 2.084137 0.44976600 + 8 0.993314 0.64757500 + 9 0.483094 0.22902500 + 10 0.225854 0.00921700 + 11 0.115338 0.00113200 + 12 0.052134 -0.00036700 + 13 0.023679 0.00009200 +S 13 + 1 73.977737 -0.00018300 + 2 37.684349 0.00270400 + 3 19.278723 -0.02265000 + 4 12.130763 0.00718100 + 5 7.453002 0.08770500 + 6 3.756296 0.04761600 + 7 2.084137 -0.12567200 + 8 0.993314 -0.24457100 + 9 0.483094 -0.19841900 + 10 0.225854 0.03088900 + 11 0.115338 0.42393500 + 12 0.052134 0.57694100 + 13 0.023679 0.14832300 +S 13 + 1 73.977737 -0.00032700 + 2 37.684349 0.00530900 + 3 19.278723 -0.04690500 + 4 12.130763 0.01541100 + 5 7.453002 0.19169700 + 6 3.756296 0.09975900 + 7 2.084137 -0.33899400 + 8 0.993314 -0.69580600 + 9 0.483094 -0.00731500 + 10 0.225854 1.11859900 + 11 0.115338 0.71725700 + 12 0.052134 -0.86856500 + 13 0.023679 -0.46718600 +S 13 + 1 73.977737 -0.00069800 + 2 37.684349 0.01020700 + 3 19.278723 -0.09126100 + 4 12.130763 0.05220700 + 5 7.453002 0.34216400 + 6 3.756296 0.17486600 + 7 2.084137 -0.99425800 + 8 0.993314 -1.19060400 + 9 0.483094 2.27183400 + 10 0.225854 1.00301300 + 11 0.115338 -2.60523500 + 12 0.052134 0.26515800 + 13 0.023679 0.90228600 +S 13 + 1 73.977737 0.00298300 + 2 37.684349 -0.02696900 + 3 19.278723 0.19930400 + 4 12.130763 -0.25709400 + 5 7.453002 -0.31292400 + 6 3.756296 -0.37282300 + 7 2.084137 2.61267600 + 8 0.993314 -1.10831900 + 9 0.483094 -3.52097300 + 10 0.225854 5.38631500 + 11 0.115338 -1.94819200 + 12 0.052134 -1.98569900 + 13 0.023679 1.70618700 +S 13 + 1 73.977737 -0.00503000 + 2 37.684349 0.04329800 + 3 19.278723 -0.31895300 + 4 12.130763 0.46095400 + 5 7.453002 0.49760800 + 6 3.756296 -0.04452100 + 7 2.084137 -4.50396700 + 8 0.993314 8.00572300 + 9 0.483094 -5.85396000 + 10 0.225854 -0.58924700 + 11 0.115338 5.46040600 + 12 0.052134 -5.53660500 + 13 0.023679 2.40098000 +S 1 + 1 0.023679 1.00000000 +P 13 + 1 101.951240 0.00008800 + 2 52.309865 -0.00074700 + 3 27.142574 0.00713500 + 4 15.066862 -0.01470200 + 5 9.693669 -0.07335300 + 6 4.985710 0.01200700 + 7 2.761266 0.28311700 + 8 1.417673 0.44078600 + 9 0.728201 0.30677500 + 10 0.378189 0.08180400 + 11 0.189359 0.00883900 + 12 0.072301 0.00102200 + 13 0.037471 0.00032500 +P 13 + 1 101.951240 0.00002800 + 2 52.309865 -0.00008500 + 3 27.142574 -0.00075100 + 4 15.066862 0.00084400 + 5 9.693669 0.02265600 + 6 4.985710 -0.01278100 + 7 2.761266 -0.06238600 + 8 1.417673 -0.14358100 + 9 0.728201 -0.06228100 + 10 0.378189 -0.05447100 + 11 0.189359 0.37713500 + 12 0.072301 0.47163300 + 13 0.037471 0.31162400 +P 13 + 1 101.951240 -0.00013700 + 2 52.309865 0.00093200 + 3 27.142574 -0.00684500 + 4 15.066862 0.01983100 + 5 9.693669 0.04364700 + 6 4.985710 -0.01928900 + 7 2.761266 -0.28118700 + 8 1.417673 -0.37029800 + 9 0.728201 -0.19987300 + 10 0.378189 1.02855200 + 11 0.189359 0.42371100 + 12 0.072301 -0.80092600 + 13 0.037471 -0.14191000 +P 13 + 1 101.951240 0.00002700 + 2 52.309865 0.00018000 + 3 27.142574 -0.00574200 + 4 15.066862 0.02041900 + 5 9.693669 0.10052700 + 6 4.985710 -0.10060800 + 7 2.761266 -0.60774600 + 8 1.417673 -0.60170500 + 9 0.728201 1.45090500 + 10 0.378189 0.67229900 + 11 0.189359 -1.90482300 + 12 0.072301 0.66581400 + 13 0.037471 0.34852200 +P 13 + 1 101.951240 0.00053400 + 2 52.309865 -0.00333900 + 3 27.142574 0.01766200 + 4 15.066862 -0.08424900 + 5 9.693669 -0.08077700 + 6 4.985710 0.27239200 + 7 2.761266 1.31045500 + 8 1.417673 -1.06179300 + 9 0.728201 -2.37680500 + 10 0.378189 4.47731700 + 11 0.189359 -2.79579800 + 12 0.072301 0.20300800 + 13 0.037471 0.57055500 +P 13 + 1 101.951240 0.00317100 + 2 52.309865 -0.01768100 + 3 27.142574 0.06746800 + 4 15.066862 -0.29076600 + 5 9.693669 0.17750700 + 6 4.985710 0.43340900 + 7 2.761266 2.00710400 + 8 1.417673 -6.01948100 + 9 0.728201 7.25807400 + 10 0.378189 -4.55824500 + 11 0.189359 0.80240900 + 12 0.072301 1.46140600 + 13 0.037471 -1.30932300 +P 1 + 1 0.037471 1.00000000 +D 11 + 1 120.683729 -0.00000600 + 2 42.646591 0.00311100 + 3 21.154405 0.02864100 + 4 9.708242 0.07622200 + 5 4.614990 0.17059500 + 6 2.243726 0.26690800 + 7 1.086491 0.31103900 + 8 0.524700 0.26731200 + 9 0.255752 0.16333600 + 10 0.121497 0.06278200 + 11 0.054339 0.00787200 +D 11 + 1 120.683729 0.00001700 + 2 42.646591 -0.00357600 + 3 21.154405 -0.03147600 + 4 9.708242 -0.08758300 + 5 4.614990 -0.19574000 + 6 2.243726 -0.27013200 + 7 1.086491 -0.17003400 + 8 0.524700 0.14341200 + 9 0.255752 0.40868700 + 10 0.121497 0.37025700 + 11 0.054339 0.12311200 +D 11 + 1 120.683729 0.00004000 + 2 42.646591 -0.00518100 + 3 21.154405 -0.04339300 + 4 9.708242 -0.12773400 + 5 4.614990 -0.28207000 + 6 2.243726 -0.28839000 + 7 1.086491 0.16826900 + 8 0.524700 0.67306200 + 9 0.255752 0.09919600 + 10 0.121497 -0.57061200 + 11 0.054339 -0.29719700 +D 11 + 1 120.683729 0.00011900 + 2 42.646591 -0.00795400 + 3 21.154405 -0.06042500 + 4 9.708242 -0.19681000 + 5 4.614990 -0.40138900 + 6 2.243726 -0.07218600 + 7 1.086491 0.94089500 + 8 0.524700 0.03586300 + 9 0.255752 -1.15352900 + 10 0.121497 0.43219200 + 11 0.054339 0.48316100 +D 11 + 1 120.683729 -0.00005500 + 2 42.646591 0.00855300 + 3 21.154405 0.07058300 + 4 9.708242 0.23887900 + 5 4.614990 0.46015900 + 6 2.243726 -0.56480100 + 7 1.086491 -0.95714200 + 8 0.524700 2.02722100 + 9 0.255752 -1.08791800 + 10 0.121497 -0.60621300 + 11 0.054339 0.92580400 +D 1 + 1 0.054339 1.00000000 +F 1 + 1 0.241298 1.00000000 +F 1 + 1 0.701040 1.00000000 +F 1 + 1 2.036722 1.00000000 +F 1 + 1 5.917263 1.00000000 +G 1 + 1 0.453904 1.00000000 +G 1 + 1 1.385784 1.00000000 +G 1 + 1 4.230847 1.00000000 +H 1 + 1 0.908139 1.00000000 +H 1 + 1 3.101020 1.00000000 +I 1 + 1 2.215288 1.00000000 +S 1 + 1 2.608286 1.00000000 +S 1 + 1 2.932133 1.00000000 +P 1 + 1 2.454580 1.00000000 +P 1 + 1 6.564440 1.00000000 +D 1 + 1 3.480000 1.00000000 +D 1 + 1 3.680000 1.00000000 +F 1 + 1 3.400884 1.00000000 +G 1 + 1 3.643357 1.00000000 +H 1 + 1 5.445699 1.00000000 +I 1 + 1 5.303781 1.00000000 + +MANGANESE +S 13 + 1 76.008334 0.00099300 + 2 39.277974 -0.01479600 + 3 20.405805 0.12071000 + 4 12.218680 -0.12400100 + 5 7.182690 -0.32020000 + 6 3.850780 -0.10562200 + 7 2.142489 0.47272100 + 8 1.049631 0.62038700 + 9 0.508682 0.20455300 + 10 0.192243 0.00592400 + 11 0.108899 -0.00009700 + 12 0.053425 -0.00018500 + 13 0.025236 0.00006100 +S 13 + 1 76.008334 -0.00019900 + 2 39.277974 0.00335200 + 3 20.405805 -0.02941300 + 4 12.218680 0.03209100 + 5 7.182690 0.08315200 + 6 3.850780 0.02128300 + 7 2.142489 -0.12998900 + 8 1.049631 -0.23900600 + 9 0.508682 -0.18031500 + 10 0.192243 0.11014800 + 11 0.108899 0.40442600 + 12 0.053425 0.51730700 + 13 0.025236 0.14813900 +S 13 + 1 76.008334 -0.00009100 + 2 39.277974 0.00537400 + 3 20.405805 -0.05849400 + 4 12.218680 0.05634500 + 5 7.182690 0.22787400 + 6 3.850780 -0.00842000 + 7 2.142489 -0.32077700 + 8 1.049631 -0.81313700 + 9 0.508682 0.32647500 + 10 0.192243 1.44754000 + 11 0.108899 0.02132100 + 12 0.053425 -0.67832300 + 13 0.025236 -0.45282800 +S 13 + 1 76.008334 -0.00052600 + 2 39.277974 0.01138000 + 3 20.405805 -0.11603400 + 4 12.218680 0.14932900 + 5 7.182690 0.36015400 + 6 3.850780 0.02517400 + 7 2.142489 -1.17012500 + 8 1.049631 -0.87212300 + 9 0.508682 2.55063300 + 10 0.192243 0.09034300 + 11 0.108899 -2.21058800 + 12 0.053425 0.47058200 + 13 0.025236 0.83217500 +S 13 + 1 76.008334 0.00409700 + 2 39.277974 -0.03635300 + 3 20.405805 0.26570800 + 4 12.218680 -0.48518700 + 5 7.182690 -0.23228800 + 6 3.850780 -0.24179800 + 7 2.142489 3.38791800 + 8 1.049631 -3.26857300 + 9 0.508682 -0.83790100 + 10 0.192243 5.26227100 + 11 0.108899 -4.29984700 + 12 0.053425 -0.44524000 + 13 0.025236 1.29402600 +S 13 + 1 76.008334 -0.00307900 + 2 39.277974 0.00346300 + 3 20.405805 0.15710600 + 4 12.218680 -0.17988400 + 5 7.182690 -1.57436000 + 6 3.850780 2.93715800 + 7 2.142489 1.63382500 + 8 1.049631 -7.64894400 + 9 0.508682 8.00185900 + 10 0.192243 -5.11761000 + 11 0.108899 0.53926100 + 12 0.053425 3.13143300 + 13 0.025236 -1.86377400 +S 1 + 1 0.025236 1.00000000 +P 13 + 1 113.479709 0.00010300 + 2 58.160819 -0.00089400 + 3 30.043076 0.00884400 + 4 16.753323 -0.01968500 + 5 10.705604 -0.06919000 + 6 5.557903 0.01150800 + 7 3.080151 0.28231300 + 8 1.582963 0.43867800 + 9 0.810922 0.30984300 + 10 0.413396 0.08394500 + 11 0.195480 0.00751700 + 12 0.072688 0.00110000 + 13 0.035877 0.00029000 +P 13 + 1 113.479709 0.00001900 + 2 58.160819 -0.00002400 + 3 30.043076 -0.00122400 + 4 16.753323 0.00232000 + 5 10.705604 0.02075800 + 6 5.557903 -0.01157200 + 7 3.080151 -0.06291900 + 8 1.582963 -0.13675400 + 9 0.810922 -0.06729500 + 10 0.413396 -0.03102400 + 11 0.195480 0.37898100 + 12 0.072688 0.50782400 + 13 0.035877 0.26094100 +P 13 + 1 113.479709 -0.00019700 + 2 58.160819 0.00135400 + 3 30.043076 -0.01010200 + 4 16.753323 0.03060300 + 5 10.705604 0.04620000 + 6 5.557903 -0.01758800 + 7 3.080151 -0.39592000 + 8 1.582963 -0.41909300 + 9 0.810922 0.07501700 + 10 0.413396 1.09298600 + 11 0.195480 0.00868000 + 12 0.072688 -0.75636900 + 13 0.035877 -0.04514900 +P 13 + 1 113.479709 0.00001400 + 2 58.160819 0.00042100 + 3 30.043076 -0.00857300 + 4 16.753323 0.03879700 + 5 10.705604 0.09933800 + 6 5.557903 -0.14444500 + 7 3.080151 -0.82118200 + 8 1.582963 -0.25078500 + 9 0.810922 1.79017000 + 10 0.413396 -0.39954700 + 11 0.195480 -1.29438200 + 12 0.072688 0.84704700 + 13 0.035877 0.15171000 +P 13 + 1 113.479709 -0.00021400 + 2 58.160819 0.00186900 + 3 30.043076 -0.01439900 + 4 16.753323 0.08866300 + 5 10.705604 0.11611700 + 6 5.557903 -0.47666500 + 7 3.080151 -1.47189600 + 8 1.582963 2.46363500 + 9 0.810922 0.10250800 + 10 0.413396 -2.77460100 + 11 0.195480 2.43625400 + 12 0.072688 -0.61701900 + 13 0.035877 -0.32367600 +P 13 + 1 113.479709 -0.00328700 + 2 58.160819 0.01670100 + 3 30.043076 -0.06009200 + 4 16.753323 0.06901300 + 5 10.705604 -0.50906300 + 6 5.557903 2.28144200 + 7 3.080151 -1.06091100 + 8 1.582963 -3.26457300 + 9 0.810922 6.07665300 + 10 0.413396 -5.03607800 + 11 0.195480 1.96624400 + 12 0.072688 0.35917900 + 13 0.035877 -0.79020200 +P 1 + 1 0.035877 1.00000000 +D 11 + 1 132.688182 0.00003000 + 2 45.266024 0.00529400 + 3 23.267336 0.02914300 + 4 10.605694 0.07677500 + 5 5.074684 0.16855100 + 6 2.469857 0.25683200 + 7 1.205883 0.28989100 + 8 0.590569 0.25715400 + 9 0.292055 0.18172600 + 10 0.149190 0.08998600 + 11 0.076511 0.03459500 +D 11 + 1 132.688182 -0.00002100 + 2 45.266024 -0.00544900 + 3 23.267336 -0.02903200 + 4 10.605694 -0.07982500 + 5 5.074684 -0.17441500 + 6 2.469857 -0.25340400 + 7 1.205883 -0.17430500 + 8 0.590569 0.04508100 + 9 0.292055 0.34576000 + 10 0.149190 0.26372500 + 11 0.076511 0.37171500 +D 11 + 1 132.688182 0.00006000 + 2 45.266024 0.00838500 + 3 23.267336 0.04580000 + 4 10.605694 0.12921500 + 5 5.074684 0.28432700 + 6 2.469857 0.27076000 + 7 1.205883 -0.10159100 + 8 0.590569 -0.58067700 + 9 0.292055 -0.18169600 + 10 0.149190 0.02100300 + 11 0.076511 0.72365800 +D 11 + 1 132.688182 -0.00003700 + 2 45.266024 -0.01080900 + 3 23.267336 -0.05558200 + 4 10.605694 -0.17205300 + 5 5.074684 -0.38188900 + 6 2.469857 -0.13039900 + 7 1.205883 0.81899300 + 8 0.590569 0.18014500 + 9 0.292055 -0.60472000 + 10 0.149190 -0.73358400 + 11 0.076511 1.05874100 +D 11 + 1 132.688182 0.00016800 + 2 45.266024 0.01533800 + 3 23.267336 0.08469200 + 4 10.605694 0.27899300 + 5 5.074684 0.55870300 + 6 2.469857 -0.79413700 + 7 1.205883 -0.68566600 + 8 0.590569 1.37685100 + 9 0.292055 0.10636900 + 10 0.149190 -1.65453800 + 11 0.076511 1.14932300 +D 1 + 1 0.076511 1.00000000 +F 1 + 1 0.283007 1.00000000 +F 1 + 1 0.820240 1.00000000 +F 1 + 1 2.377304 1.00000000 +F 1 + 1 6.890148 1.00000000 +G 1 + 1 0.563286 1.00000000 +G 1 + 1 1.692696 1.00000000 +G 1 + 1 5.086615 1.00000000 +H 1 + 1 1.129723 1.00000000 +H 1 + 1 3.759579 1.00000000 +I 1 + 1 2.739666 1.00000000 +S 1 + 1 2.765370 1.00000000 +S 1 + 1 3.360928 1.00000000 +P 1 + 1 3.237914 1.00000000 +P 1 + 1 8.446458 1.00000000 +D 1 + 1 3.423194 1.00000000 +D 1 + 1 3.852065 1.00000000 +F 1 + 1 3.846371 1.00000000 +G 1 + 1 4.016496 1.00000000 +H 1 + 1 6.157810 1.00000000 +I 1 + 1 6.318422 1.00000000 + +IRON +S 13 + 1 84.322332 0.00078500 + 2 44.203528 -0.01278100 + 3 23.288963 0.10463500 + 4 13.385163 -0.11938500 + 5 7.518052 -0.33980400 + 6 4.101835 -0.04999400 + 7 2.253571 0.47695500 + 8 1.134924 0.59322200 + 9 0.561550 0.20015100 + 10 0.201961 0.00859100 + 11 0.108698 -0.00218800 + 12 0.053619 0.00067700 + 13 0.025823 -0.00014400 +S 13 + 1 84.322332 -0.00016200 + 2 44.203528 0.00292100 + 3 23.288963 -0.02546600 + 4 13.385163 0.03118200 + 5 7.518052 0.08684900 + 6 4.101835 0.00684600 + 7 2.253571 -0.13185600 + 8 1.134924 -0.22774600 + 9 0.561550 -0.17307900 + 10 0.201961 0.13614200 + 11 0.108698 0.43401300 + 12 0.053619 0.47755500 + 13 0.025823 0.12880400 +S 13 + 1 84.322332 0.00000200 + 2 44.203528 0.00410300 + 3 23.288963 -0.04684000 + 4 13.385163 0.05283300 + 5 7.518052 0.21809400 + 6 4.101835 -0.04499900 + 7 2.253571 -0.28738600 + 8 1.134924 -0.71322000 + 9 0.561550 0.24917400 + 10 0.201961 1.29987200 + 11 0.108698 0.19211900 + 12 0.053619 -0.65861600 + 13 0.025823 -0.52104700 +S 13 + 1 84.322332 0.00001200 + 2 44.203528 0.00759800 + 3 23.288963 -0.09413300 + 4 13.385163 0.12765500 + 5 7.518052 0.43559800 + 6 4.101835 -0.14791100 + 7 2.253571 -1.08447700 + 8 1.134924 -0.88700300 + 9 0.561550 2.44994600 + 10 0.201961 0.16797600 + 11 0.108698 -2.11466800 + 12 0.053619 0.45257900 + 13 0.025823 0.80144400 +S 13 + 1 84.322332 0.00330100 + 2 44.203528 -0.02919700 + 3 23.288963 0.21322700 + 4 13.385163 -0.40810900 + 5 7.518052 -0.38565100 + 6 4.101835 0.16809300 + 7 2.253571 3.10252900 + 8 1.134924 -3.36044600 + 9 0.561550 -0.53161900 + 10 0.201961 4.49398100 + 11 0.108698 -3.68975000 + 12 0.053619 -0.51060400 + 13 0.025823 1.30102100 +S 13 + 1 84.322332 -0.00129800 + 2 44.203528 -0.00553800 + 3 23.288963 0.18408000 + 4 13.385163 -0.33916500 + 5 7.518052 -1.46083900 + 6 4.101835 3.38230300 + 7 2.253571 0.84327700 + 8 1.134924 -7.01737100 + 9 0.561550 7.29137200 + 10 0.201961 -4.24668000 + 11 0.108698 0.08957600 + 12 0.053619 3.22692400 + 13 0.025823 -1.92971900 +S 1 + 1 0.025823 1.00000000 +P 13 + 1 125.092775 0.00005600 + 2 65.211589 -0.00057200 + 3 34.437599 0.00738800 + 4 18.930704 -0.02848100 + 5 10.873415 -0.06300500 + 6 6.012172 0.02485500 + 7 3.372205 0.27747400 + 8 1.768641 0.42538600 + 9 0.914516 0.31414500 + 10 0.460895 0.09042200 + 11 0.204490 0.00697700 + 12 0.074741 0.00115400 + 13 0.035671 0.00030300 +P 13 + 1 125.092775 0.00002500 + 2 65.211589 -0.00007000 + 3 34.437599 -0.00104200 + 4 18.930704 0.00512700 + 5 10.873415 0.01840400 + 6 6.012172 -0.01469200 + 7 3.372205 -0.06130700 + 8 1.768641 -0.12863800 + 9 0.914516 -0.07063700 + 10 0.460895 -0.01631400 + 11 0.204490 0.38070200 + 12 0.074741 0.52307100 + 13 0.035671 0.23576500 +P 13 + 1 125.092775 -0.00019700 + 2 65.211589 0.00125100 + 3 34.437599 -0.00915400 + 4 18.930704 0.03820100 + 5 10.873415 0.04309700 + 6 6.012172 -0.02947500 + 7 3.372205 -0.42699600 + 8 1.768641 -0.39484000 + 9 0.914516 0.07723000 + 10 0.460895 1.11988100 + 11 0.204490 -0.06649400 + 12 0.074741 -0.72158300 + 13 0.035671 -0.00569500 +P 13 + 1 125.092775 0.00026400 + 2 65.211589 -0.00107600 + 3 34.437599 -0.00259100 + 4 18.930704 0.03551900 + 5 10.873415 0.11955400 + 6 6.012172 -0.20471400 + 7 3.372205 -0.76062700 + 8 1.768641 -0.26274000 + 9 0.914516 1.77903000 + 10 0.460895 -0.46274200 + 11 0.204490 -1.24103000 + 12 0.074741 0.94098700 + 13 0.035671 0.08349600 +P 13 + 1 125.092775 -0.00008400 + 2 65.211589 0.00076800 + 3 34.437599 -0.00948500 + 4 18.930704 0.08806200 + 5 10.873415 0.15619100 + 6 6.012172 -0.61916600 + 7 3.372205 -1.38553400 + 8 1.768641 2.49212500 + 9 0.914516 0.00807600 + 10 0.460895 -2.49951500 + 11 0.204490 2.26557600 + 12 0.074741 -0.74834200 + 13 0.035671 -0.21159800 +P 13 + 1 125.092775 -0.00254400 + 2 65.211589 0.01304000 + 3 34.437599 -0.03944400 + 4 18.930704 -0.02459400 + 5 10.873415 -0.52157100 + 6 6.012172 2.73999300 + 7 3.372205 -1.74264900 + 8 1.768641 -2.84400600 + 9 0.914516 5.87082600 + 10 0.460895 -4.90230600 + 11 0.204490 2.13617600 + 12 0.074741 -0.12162600 + 13 0.035671 -0.48621900 +P 1 + 1 0.035671 1.00000000 +D 11 + 1 152.736742 0.00002900 + 2 50.772485 0.00523800 + 3 26.253589 0.02932500 + 4 12.137022 0.07490100 + 5 5.853719 0.16341100 + 6 2.856224 0.25105700 + 7 1.386132 0.28760300 + 8 0.670802 0.25186200 + 9 0.330280 0.18673600 + 10 0.170907 0.09357000 + 11 0.086794 0.07381100 +D 11 + 1 152.736742 -0.00002600 + 2 50.772485 -0.00632900 + 3 26.253589 -0.03439800 + 4 12.137022 -0.09176500 + 5 5.853719 -0.20159200 + 6 2.856224 -0.28393000 + 7 1.386132 -0.16198100 + 8 0.670802 0.12882200 + 9 0.330280 0.36016000 + 10 0.170907 0.27759200 + 11 0.086794 0.26140300 +D 11 + 1 152.736742 0.00005100 + 2 50.772485 0.00876900 + 3 26.253589 0.04792100 + 4 12.137022 0.13247500 + 5 5.853719 0.29727900 + 6 2.856224 0.27501800 + 7 1.386132 -0.22284200 + 8 0.670802 -0.61906700 + 9 0.330280 -0.07629000 + 10 0.170907 0.25605600 + 11 0.086794 0.54148200 +D 11 + 1 152.736742 -0.00009600 + 2 50.772485 -0.01214400 + 3 26.253589 -0.06697100 + 4 12.137022 -0.19602500 + 5 5.853719 -0.46900300 + 6 2.856224 0.04656000 + 7 1.386132 0.98594000 + 8 0.670802 -0.22043500 + 9 0.330280 -0.75248200 + 10 0.170907 -0.11112300 + 11 0.086794 0.75310000 +D 11 + 1 152.736742 -0.00003200 + 2 50.772485 -0.01641100 + 3 26.253589 -0.08103600 + 4 12.137022 -0.29264100 + 5 5.853719 -0.57581900 + 6 2.856224 1.15115600 + 7 1.386132 0.16896300 + 8 0.670802 -1.48954500 + 9 0.330280 0.74153600 + 10 0.170907 0.97927900 + 11 0.086794 -1.04490500 +D 1 + 1 0.086794 1.00000000 +F 1 + 1 0.334367 1.00000000 +F 1 + 1 0.965650 1.00000000 +F 1 + 1 2.788793 1.00000000 +F 1 + 1 8.054020 1.00000000 +G 1 + 1 0.673444 1.00000000 +G 1 + 1 1.991550 1.00000000 +G 1 + 1 5.889532 1.00000000 +H 1 + 1 1.344807 1.00000000 +H 1 + 1 4.359371 1.00000000 +I 1 + 1 3.182222 1.00000000 +S 1 + 1 3.373881 1.00000000 +S 1 + 1 3.436892 1.00000000 +P 1 + 1 3.524160 1.00000000 +P 1 + 1 8.838502 1.00000000 +D 1 + 1 5.400000 1.00000000 +D 1 + 1 5.600000 1.00000000 +F 1 + 1 4.252984 1.00000000 +G 1 + 1 4.726458 1.00000000 +H 1 + 1 7.008543 1.00000000 +I 1 + 1 7.110853 1.00000000 + +COBALT +S 13 + 1 90.663831 0.00077400 + 2 46.961414 -0.01131600 + 3 24.110274 0.10120900 + 4 14.430881 -0.08164200 + 5 8.757423 -0.35481200 + 6 4.484459 -0.09036200 + 7 2.519739 0.49817400 + 8 1.236850 0.60412300 + 9 0.601882 0.19077500 + 10 0.223338 0.00657800 + 11 0.123422 -0.00090500 + 12 0.059941 0.00017100 + 13 0.027978 -0.00002500 +S 13 + 1 90.663831 -0.00015400 + 2 46.961414 0.00252500 + 3 24.110274 -0.02444300 + 4 14.430881 0.02220000 + 5 8.757423 0.08841600 + 6 4.484459 0.01682000 + 7 2.519739 -0.13458200 + 8 1.236850 -0.23129500 + 9 0.601882 -0.16398600 + 10 0.223338 0.12133700 + 11 0.123422 0.40241400 + 12 0.059941 0.50611300 + 13 0.027978 0.14543600 +S 13 + 1 90.663831 -0.00004700 + 2 46.961414 0.00365400 + 3 24.110274 -0.04613200 + 4 14.430881 0.03648300 + 5 8.757423 0.21726500 + 6 4.484459 -0.01188300 + 7 2.519739 -0.32468800 + 8 1.236850 -0.68058100 + 9 0.601882 0.25693600 + 10 0.223338 1.22400500 + 11 0.123422 0.23683700 + 12 0.059941 -0.60406400 + 13 0.027978 -0.57494700 +S 13 + 1 90.663831 -0.00023100 + 2 46.961414 0.00753600 + 3 24.110274 -0.09729800 + 4 14.430881 0.11161100 + 5 8.757423 0.40362100 + 6 4.484459 -0.04832400 + 7 2.519739 -1.15760000 + 8 1.236850 -0.75683900 + 9 0.601882 2.31368300 + 10 0.223338 0.25307400 + 11 0.123422 -1.99146600 + 12 0.059941 0.16694200 + 13 0.027978 0.91722100 +S 13 + 1 90.663831 0.00280900 + 2 46.961414 -0.02445900 + 3 24.110274 0.21171700 + 4 14.430881 -0.38745200 + 5 8.757423 -0.36690900 + 6 4.484459 0.13914300 + 7 2.519739 2.83452700 + 8 1.236850 -2.90639800 + 9 0.601882 -0.80689600 + 10 0.223338 4.33605500 + 11 0.123422 -2.91360700 + 12 0.059941 -1.25330700 + 13 0.027978 1.50957200 +S 13 + 1 90.663831 -0.00143600 + 2 46.961414 -0.00099500 + 3 24.110274 0.17402400 + 4 14.430881 -0.27705900 + 5 8.757423 -1.32202800 + 6 4.484459 3.04818800 + 7 2.519739 0.88698400 + 8 1.236850 -6.51886800 + 9 0.601882 6.58588500 + 10 0.223338 -2.92841300 + 11 0.123422 -1.62261500 + 12 0.059941 4.04814300 + 13 0.027978 -2.04577100 +S 1 + 1 0.027978 1.00000000 +P 13 + 1 139.038145 0.00007500 + 2 71.928971 -0.00062700 + 3 37.806311 0.00571900 + 4 21.054252 -0.00931000 + 5 12.973193 -0.08385700 + 6 6.791461 0.01239400 + 7 3.794018 0.28198700 + 8 1.960649 0.43417900 + 9 1.006283 0.31340900 + 10 0.509539 0.08977800 + 11 0.233091 0.00740500 + 12 0.083890 0.00098000 + 13 0.039802 0.00027400 +P 13 + 1 139.038145 0.00002500 + 2 71.928971 -0.00008400 + 3 37.806311 -0.00048500 + 4 21.054252 0.00009500 + 5 12.973193 0.02240200 + 6 6.791461 -0.01153400 + 7 3.794018 -0.05686600 + 8 1.960649 -0.12607000 + 9 1.006283 -0.06088900 + 10 0.509539 -0.03508600 + 11 0.233091 0.35184700 + 12 0.083890 0.51044900 + 13 0.039802 0.28970700 +P 13 + 1 139.038145 -0.00023800 + 2 71.928971 0.00148900 + 3 37.806311 -0.00872300 + 4 21.054252 0.02453800 + 5 12.973193 0.06085600 + 6 6.791461 -0.02038000 + 7 3.794018 -0.43019500 + 8 1.960649 -0.40769200 + 9 1.006283 0.08532600 + 10 0.509539 1.07332600 + 11 0.233091 0.01506700 + 12 0.083890 -0.71963100 + 13 0.039802 -0.02460300 +P 13 + 1 139.038145 -0.00005500 + 2 71.928971 -0.00001700 + 3 37.806311 0.00432000 + 4 21.054252 -0.02133900 + 5 12.973193 -0.12713400 + 6 6.791461 0.15720800 + 7 3.794018 0.79492700 + 8 1.960649 0.23357400 + 9 1.006283 -1.66603300 + 10 0.509539 0.28271600 + 11 0.233091 1.33562500 + 12 0.083890 -0.88546900 + 13 0.039802 -0.13034000 +P 13 + 1 139.038145 0.00005200 + 2 71.928971 0.00014400 + 3 37.806311 -0.00506500 + 4 21.054252 0.05166200 + 5 12.973193 0.20930600 + 6 6.791461 -0.63605200 + 7 3.794018 -1.33476100 + 8 1.960649 2.33740900 + 9 1.006283 0.19062400 + 10 0.509539 -2.65784100 + 11 0.233091 2.26444400 + 12 0.083890 -0.61258400 + 13 0.039802 -0.27662000 +P 13 + 1 139.038145 -0.00258700 + 2 71.928971 0.01345800 + 3 37.806311 -0.04646400 + 4 21.054252 0.03715700 + 5 12.973193 -0.58198600 + 6 6.791461 2.70958900 + 7 3.794018 -1.68255200 + 8 1.960649 -2.80074300 + 9 1.006283 5.80223100 + 10 0.509539 -4.89926500 + 11 0.233091 2.05329300 + 12 0.083890 0.03335700 + 13 0.039802 -0.55647600 +P 1 + 1 0.039802 1.00000000 +D 11 + 1 160.444504 0.00003400 + 2 52.598830 0.00655300 + 3 27.491581 0.03618500 + 4 12.745988 0.08302600 + 5 6.184310 0.17696000 + 6 3.029146 0.26399000 + 7 1.474099 0.29244700 + 8 0.714391 0.24959700 + 9 0.348520 0.17163700 + 10 0.174166 0.08064900 + 11 0.087891 0.04121200 +D 11 + 1 160.444504 -0.00003100 + 2 52.598830 -0.00786900 + 3 27.491581 -0.04199200 + 4 12.745988 -0.10138800 + 5 6.184310 -0.21699600 + 6 3.029146 -0.28396200 + 7 1.474099 -0.12717900 + 8 0.714391 0.17712500 + 9 0.348520 0.37559600 + 10 0.174166 0.28463100 + 11 0.087891 0.20027700 +D 11 + 1 160.444504 0.00004800 + 2 52.598830 0.01053100 + 3 27.491581 0.05555900 + 4 12.745988 0.14075800 + 5 6.184310 0.30578500 + 6 3.029146 0.24281200 + 7 1.474099 -0.28504400 + 8 0.714391 -0.59481900 + 9 0.348520 -0.01793700 + 10 0.174166 0.34815000 + 11 0.087891 0.45517000 +D 11 + 1 160.444504 -0.00007000 + 2 52.598830 -0.01526900 + 3 27.491581 -0.07877000 + 4 12.745988 -0.21855600 + 5 6.184310 -0.47927100 + 6 3.029146 0.17362300 + 7 1.474099 0.95417300 + 8 0.714391 -0.34849000 + 9 0.348520 -0.73737100 + 10 0.174166 0.07194100 + 11 0.087891 0.64488200 +D 11 + 1 160.444504 0.00020500 + 2 52.598830 -0.02193300 + 3 27.491581 -0.08750800 + 4 12.745988 -0.34161200 + 5 6.184310 -0.49762900 + 6 3.029146 1.28072500 + 7 1.474099 -0.12625700 + 8 0.714391 -1.36065500 + 9 0.348520 0.96428800 + 10 0.174166 0.66161100 + 11 0.087891 -0.94435000 +D 1 + 1 0.087891 1.00000000 +F 1 + 1 0.394252 1.00000000 +F 1 + 1 1.131258 1.00000000 +F 1 + 1 3.246009 1.00000000 +F 1 + 1 9.314030 1.00000000 +G 1 + 1 0.808427 1.00000000 +G 1 + 1 2.355598 1.00000000 +G 1 + 1 6.863750 1.00000000 +H 1 + 1 1.591062 1.00000000 +H 1 + 1 5.068373 1.00000000 +I 1 + 1 3.729940 1.00000000 +S 1 + 1 3.680000 1.00000000 +S 1 + 1 3.880000 1.00000000 +P 1 + 1 3.681986 1.00000000 +P 1 + 1 9.697976 1.00000000 +D 1 + 1 5.810000 1.00000000 +D 1 + 1 6.010000 1.00000000 +F 1 + 1 4.713714 1.00000000 +G 1 + 1 5.402288 1.00000000 +H 1 + 1 7.646335 1.00000000 +I 1 + 1 8.139987 1.00000000 + +NICKEL +S 13 + 1 97.161835 0.00070900 + 2 51.187866 -0.01239900 + 3 26.996725 0.10722000 + 4 15.523536 -0.12455600 + 5 8.916168 -0.35102300 + 6 4.795806 -0.02575800 + 7 2.619926 0.49894800 + 8 1.330111 0.56898600 + 9 0.668901 0.19112100 + 10 0.230439 0.01027800 + 11 0.121518 -0.00362700 + 12 0.057951 0.00129500 + 13 0.027201 -0.00030700 +S 13 + 1 97.161835 -0.00014000 + 2 51.187866 0.00275600 + 3 26.996725 -0.02548200 + 4 15.523536 0.03218200 + 5 8.916168 0.08622600 + 6 4.795806 0.00110400 + 7 2.619926 -0.13579000 + 8 1.330111 -0.21572400 + 9 0.668901 -0.15836700 + 10 0.230439 0.14349900 + 11 0.121518 0.44367200 + 12 0.057951 0.47255800 + 13 0.027201 0.11017300 +S 13 + 1 97.161835 0.00012100 + 2 51.187866 0.00332200 + 3 26.996725 -0.04578500 + 4 15.523536 0.05341500 + 5 8.916168 0.22227000 + 6 4.795806 -0.07306500 + 7 2.619926 -0.29399800 + 8 1.330111 -0.66893800 + 9 0.668901 0.29750400 + 10 0.230439 1.23374800 + 11 0.121518 0.12931700 + 12 0.057951 -0.60340700 + 13 0.027201 -0.53306200 +S 13 + 1 97.161835 0.00043400 + 2 51.187866 0.00484800 + 3 26.996725 -0.08781800 + 4 15.523536 0.12185200 + 5 8.916168 0.45421800 + 6 4.795806 -0.24576500 + 7 2.619926 -0.99734500 + 8 1.330111 -0.83458600 + 9 0.668901 2.28567500 + 10 0.230439 0.25153800 + 11 0.121518 -1.98879600 + 12 0.057951 0.34760200 + 13 0.027201 0.82415000 +S 13 + 1 97.161835 0.00246100 + 2 51.187866 -0.02346000 + 3 26.996725 0.19859000 + 4 15.523536 -0.40252500 + 5 8.916168 -0.40556800 + 6 4.795806 0.38789300 + 7 2.619926 2.68467900 + 8 1.330111 -2.95595600 + 9 0.668901 -0.66746700 + 10 0.230439 4.09407400 + 11 0.121518 -3.10335500 + 12 0.057951 -0.76872800 + 13 0.027201 1.33121700 +S 13 + 1 97.161835 0.00000200 + 2 51.187866 -0.01179900 + 3 26.996725 0.22803400 + 4 15.523536 -0.51850500 + 5 8.916168 -1.14326400 + 6 4.795806 3.24177400 + 7 2.619926 0.66793500 + 8 1.330111 -6.65833200 + 9 0.668901 6.62725100 + 10 0.230439 -3.19901800 + 11 0.121518 -0.63288800 + 12 0.057951 3.28743600 + 13 0.027201 -1.86177800 +S 1 + 1 0.027201 1.00000000 +P 13 + 1 148.087630 0.00005500 + 2 77.452187 -0.00054800 + 3 40.915636 0.00697900 + 4 22.575667 -0.02365800 + 5 13.218268 -0.07568200 + 6 7.232093 0.02725300 + 7 4.054870 0.28477800 + 8 2.122089 0.42763200 + 9 1.092769 0.30993700 + 10 0.548240 0.08853500 + 11 0.238886 0.00642700 + 12 0.084667 0.00070800 + 13 0.038921 0.00018600 +P 13 + 1 148.087630 0.00002700 + 2 77.452187 -0.00008800 + 3 40.915636 -0.00077300 + 4 22.575667 0.00334500 + 5 13.218268 0.01940500 + 6 7.232093 -0.01428800 + 7 4.054870 -0.05452700 + 8 2.122089 -0.11645400 + 9 1.092769 -0.06023600 + 10 0.548240 -0.02392800 + 11 0.238886 0.34786900 + 12 0.084667 0.52262600 + 13 0.038921 0.27647100 +P 13 + 1 148.087630 -0.00023700 + 2 77.452187 0.00145600 + 3 40.915636 -0.00974500 + 4 22.575667 0.03779900 + 5 13.218268 0.05252100 + 6 7.232093 -0.03500600 + 7 4.054870 -0.45557700 + 8 2.122089 -0.36830600 + 9 1.092769 0.10039200 + 10 0.548240 1.07665200 + 11 0.238886 -0.04532600 + 12 0.084667 -0.70318600 + 13 0.038921 0.00458000 +P 13 + 1 148.087630 -0.00026000 + 2 77.452187 0.00107100 + 3 40.915636 0.00232200 + 4 22.575667 -0.03214000 + 5 13.218268 -0.13413600 + 6 7.232093 0.22906200 + 7 4.054870 0.75223900 + 8 2.122089 0.20553500 + 9 1.092769 -1.69291000 + 10 0.548240 0.43629500 + 11 0.238886 1.21951400 + 12 0.084667 -0.94551600 + 13 0.038921 -0.06223200 +P 13 + 1 148.087630 0.00008000 + 2 77.452187 -0.00010100 + 3 40.915636 -0.00649200 + 4 22.575667 0.08312900 + 5 13.218268 0.19539300 + 6 7.232093 -0.76580600 + 7 4.054870 -1.20601700 + 8 2.122089 2.42444400 + 9 1.092769 -0.07938700 + 10 0.548240 -2.32544900 + 11 0.238886 2.12913300 + 12 0.084667 -0.73358500 + 13 0.038921 -0.18044400 +P 13 + 1 148.087630 -0.00198500 + 2 77.452187 0.01015900 + 3 40.915636 -0.02936700 + 4 22.575667 -0.06649700 + 5 13.218268 -0.46488300 + 6 7.232093 2.88107400 + 7 4.054870 -2.20114400 + 8 2.122089 -2.24015400 + 9 1.092769 5.38016000 + 10 0.548240 -4.63838100 + 11 0.238886 2.07635300 + 12 0.084667 -0.21119500 + 13 0.038921 -0.40801500 +P 1 + 1 0.038921 1.00000000 +D 11 + 1 177.900125 0.00004900 + 2 57.372112 0.00751900 + 3 29.881432 0.03645500 + 4 13.971757 0.08690100 + 5 6.841152 0.18056800 + 6 3.379983 0.26818700 + 7 1.651827 0.29675600 + 8 0.799251 0.25155800 + 9 0.388057 0.16231900 + 10 0.191191 0.07211900 + 11 0.093358 0.02368900 +D 11 + 1 177.900125 -0.00005300 + 2 57.372112 -0.00885000 + 3 29.881432 -0.04191600 + 4 13.971757 -0.10469100 + 5 6.841152 -0.21946400 + 6 3.379983 -0.28371200 + 7 1.651827 -0.12212700 + 8 0.799251 0.19012300 + 9 0.388057 0.37659800 + 10 0.191191 0.29512200 + 11 0.093358 0.17825200 +D 11 + 1 177.900125 0.00007900 + 2 57.372112 0.01144200 + 3 29.881432 0.05397200 + 4 13.971757 0.14106800 + 5 6.841152 0.30229400 + 6 3.379983 0.23655800 + 7 1.651827 -0.29131100 + 8 0.799251 -0.58175800 + 9 0.388057 -0.02406300 + 10 0.191191 0.38938700 + 11 0.093358 0.43083300 +D 11 + 1 177.900125 -0.00012400 + 2 57.372112 -0.01660200 + 3 29.881432 -0.07753300 + 4 13.971757 -0.22182600 + 5 6.841152 -0.48165800 + 6 3.379983 0.18244700 + 7 1.651827 0.94562600 + 8 0.799251 -0.33424100 + 9 0.388057 -0.76116400 + 10 0.191191 0.13681600 + 11 0.093358 0.60078500 +D 11 + 1 177.900125 0.00014300 + 2 57.372112 -0.02412900 + 3 29.881432 -0.08706500 + 4 13.971757 -0.35946500 + 5 6.841152 -0.49030300 + 6 3.379983 1.31820700 + 7 1.651827 -0.17241700 + 8 0.799251 -1.34248700 + 9 0.388057 1.01361400 + 10 0.191191 0.53343200 + 11 0.093358 -0.86604900 +D 1 + 1 0.093358 1.00000000 +F 1 + 1 0.443146 1.00000000 +F 1 + 1 1.263741 1.00000000 +F 1 + 1 3.603870 1.00000000 +F 1 + 1 10.277329 1.00000000 +G 1 + 1 0.944121 1.00000000 +G 1 + 1 2.771204 1.00000000 +G 1 + 1 8.134096 1.00000000 +H 1 + 1 1.828195 1.00000000 +H 1 + 1 5.825403 1.00000000 +I 1 + 1 4.485842 1.00000000 +S 1 + 1 3.839643 1.00000000 +S 1 + 1 4.440328 1.00000000 +P 1 + 1 4.337090 1.00000000 +P 1 + 1 10.973202 1.00000000 +D 1 + 1 6.303000 1.00000000 +D 1 + 1 6.503304 1.00000000 +F 1 + 1 5.165757 1.00000000 +G 1 + 1 5.827115 1.00000000 +H 1 + 1 8.338379 1.00000000 +I 1 + 1 9.183271 1.00000000 + +COPPER +S 13 + 1 104.471138 0.00074100 + 2 55.955221 -0.01395300 + 3 30.553953 0.10526600 + 4 16.942394 -0.12939900 + 5 9.452707 -0.36273800 + 6 5.174537 0.01326600 + 7 2.779171 0.48928800 + 8 1.441817 0.56208800 + 9 0.710674 0.19004700 + 10 0.241540 0.00563500 + 11 0.129621 -0.00058200 + 12 0.059229 -0.00002400 + 13 0.027110 0.00003000 +S 13 + 1 104.471138 -0.00013300 + 2 55.955221 0.00299900 + 3 30.553953 -0.02431000 + 4 16.942394 0.03198600 + 5 9.452707 0.08914900 + 6 5.174537 -0.01075000 + 7 2.779171 -0.12822400 + 8 1.441817 -0.21572000 + 9 0.710674 -0.14955900 + 10 0.241540 0.14291700 + 11 0.129621 0.44630700 + 12 0.059229 0.48464300 + 13 0.027110 0.09306900 +S 13 + 1 104.471138 0.00021000 + 2 55.955221 0.00380600 + 3 30.553953 -0.04731200 + 4 16.942394 0.05995700 + 5 9.452707 0.25064200 + 6 5.174537 -0.11910200 + 7 2.779171 -0.31406900 + 8 1.441817 -0.68930000 + 9 0.710674 0.40305000 + 10 0.241540 1.27044000 + 11 0.129621 -0.02902900 + 12 0.059229 -0.62215700 + 13 0.027110 -0.44207400 +S 13 + 1 104.471138 0.00036600 + 2 55.955221 0.00672000 + 3 30.553953 -0.09149300 + 4 16.942394 0.14226300 + 5 9.452707 0.47188100 + 6 5.174537 -0.31970800 + 7 2.779171 -1.06825500 + 8 1.441817 -0.61504900 + 9 0.710674 2.26128200 + 10 0.241540 -0.02005900 + 11 0.129621 -1.81574600 + 12 0.059229 0.47417400 + 13 0.027110 0.71359700 +S 13 + 1 104.471138 0.00267900 + 2 55.955221 -0.02626700 + 3 30.553953 0.19212900 + 4 16.942394 -0.40421800 + 5 9.452707 -0.43460200 + 6 5.174537 0.55567400 + 7 2.779171 2.61821100 + 8 1.441817 -3.20734300 + 9 0.710674 -0.33054500 + 10 0.241540 4.04196600 + 11 0.129621 -3.35549700 + 12 0.059229 -0.48399100 + 13 0.027110 1.21366400 +S 13 + 1 104.471138 -0.00002500 + 2 55.955221 -0.01438300 + 3 30.553953 0.22413500 + 4 16.942394 -0.55516400 + 5 9.452707 -1.11162800 + 6 5.174537 3.39371200 + 7 2.779171 0.29284800 + 8 1.441817 -6.10751500 + 9 0.710674 6.27824000 + 10 0.241540 -3.38862200 + 11 0.129621 -0.13982400 + 12 0.059229 2.89254600 + 13 0.027110 -1.75159900 +S 1 + 1 0.027110 1.00000000 +P 13 + 1 159.152840 0.00002600 + 2 83.322776 -0.00040200 + 3 44.840311 0.00740500 + 4 25.020360 -0.03071400 + 5 13.610016 -0.07434800 + 6 7.761318 0.04343000 + 7 4.303947 0.28970300 + 8 2.290080 0.41346700 + 9 1.202173 0.30376200 + 10 0.607647 0.09349400 + 11 0.257656 0.00666300 + 12 0.090897 0.00056700 + 13 0.041925 0.00017600 +P 13 + 1 159.152840 0.00003400 + 2 83.322776 -0.00012900 + 3 44.840311 -0.00080200 + 4 25.020360 0.00474700 + 5 13.610016 0.01859500 + 6 7.761318 -0.01769200 + 7 4.303947 -0.05261400 + 8 2.290080 -0.11034900 + 9 1.202173 -0.05470100 + 10 0.607647 -0.02665500 + 11 0.257656 0.33588000 + 12 0.090897 0.50947800 + 13 0.041925 0.30255900 +P 13 + 1 159.152840 -0.00022800 + 2 83.322776 0.00141400 + 3 44.840311 -0.01029000 + 4 25.020360 0.04389600 + 5 13.610016 0.05286500 + 6 7.761318 -0.05656500 + 7 4.303947 -0.48071500 + 8 2.290080 -0.31598400 + 9 1.202173 0.07567900 + 10 0.607647 1.06074700 + 11 0.257656 -0.00806100 + 12 0.090897 -0.70160100 + 13 0.041925 0.00694100 +P 13 + 1 159.152840 -0.00041200 + 2 83.322776 0.00195700 + 3 44.840311 0.00064000 + 4 25.020360 -0.03675300 + 5 13.610016 -0.14719300 + 6 7.761318 0.29778200 + 7 4.303947 0.70527100 + 8 2.290080 0.19646600 + 9 1.202173 -1.65940600 + 10 0.607647 0.39150000 + 11 0.257656 1.24328400 + 12 0.090897 -0.95752900 + 13 0.041925 -0.05609100 +P 13 + 1 159.152840 0.00032900 + 2 83.322776 -0.00156500 + 3 44.840311 -0.00336900 + 4 25.020360 0.08790300 + 5 13.610016 0.22132700 + 6 7.761318 -0.92400600 + 7 4.303947 -1.00731600 + 8 2.290080 2.32431200 + 9 1.202173 0.00119100 + 10 0.607647 -2.32974500 + 11 0.257656 2.05959900 + 12 0.090897 -0.70662000 + 13 0.041925 -0.18479700 +P 13 + 1 159.152840 -0.00066300 + 2 83.322776 0.00351400 + 3 44.840311 -0.00304100 + 4 25.020360 -0.16209700 + 5 13.610016 -0.29931000 + 6 7.761318 2.77138200 + 7 4.303947 -2.29610400 + 8 2.290080 -2.15880200 + 9 1.202173 5.40521000 + 10 0.607647 -4.52127300 + 11 0.257656 1.93483100 + 12 0.090897 -0.16591400 + 13 0.041925 -0.42278400 +P 1 + 1 0.041925 1.00000000 +D 11 + 1 226.693527 0.00001500 + 2 73.010278 0.00410800 + 3 38.536518 0.02822300 + 4 18.726700 0.06932300 + 5 9.155485 0.15604500 + 6 4.540884 0.25123800 + 7 2.241175 0.29746300 + 8 1.085869 0.27498100 + 9 0.510612 0.19309800 + 10 0.229608 0.08639300 + 11 0.095781 0.01464500 +D 11 + 1 226.693527 -0.00001300 + 2 73.010278 -0.00525200 + 3 38.536518 -0.03498200 + 4 18.726700 -0.08895000 + 5 9.155485 -0.20719400 + 6 4.540884 -0.30259700 + 7 2.241175 -0.17932700 + 8 1.085869 0.16906900 + 9 0.510612 0.40590400 + 10 0.229608 0.34187100 + 11 0.095781 0.11708000 +D 11 + 1 226.693527 0.00001600 + 2 73.010278 0.00615700 + 3 38.536518 0.04036100 + 4 18.726700 0.10603800 + 5 9.155485 0.26329900 + 6 4.540884 0.28849600 + 7 2.241175 -0.18674500 + 8 1.085869 -0.59153900 + 9 0.510612 -0.13868100 + 10 0.229608 0.54774900 + 11 0.095781 0.36235300 +D 11 + 1 226.693527 -0.00007200 + 2 73.010278 -0.00870300 + 3 38.536518 -0.06059400 + 4 18.726700 -0.16022100 + 5 9.155485 -0.45749500 + 6 4.540884 -0.08760700 + 7 2.241175 0.95305600 + 8 1.085869 0.02518500 + 9 0.510612 -0.98463700 + 10 0.229608 0.25844200 + 11 0.095781 0.52511300 +D 11 + 1 226.693527 0.00004900 + 2 73.010278 0.01189500 + 3 38.536518 0.07542500 + 4 18.726700 0.23802600 + 5 9.155485 0.66103100 + 6 4.540884 -0.97854000 + 7 2.241175 -0.55996800 + 8 1.085869 1.69394200 + 9 0.510612 -0.91595800 + 10 0.229608 -0.49361100 + 11 0.095781 0.76641700 +D 1 + 1 0.095781 1.00000000 +F 1 + 1 0.523275 1.00000000 +F 1 + 1 1.480718 1.00000000 +F 1 + 1 4.190004 1.00000000 +F 1 + 1 11.856505 1.00000000 +G 1 + 1 1.106138 1.00000000 +G 1 + 1 3.158997 1.00000000 +G 1 + 1 9.021717 1.00000000 +H 1 + 1 2.124621 1.00000000 +H 1 + 1 6.632584 1.00000000 +I 1 + 1 4.948534 1.00000000 +S 1 + 1 4.316988 1.00000000 +S 1 + 1 4.665175 1.00000000 +P 1 + 1 4.677219 1.00000000 +P 1 + 1 12.829139 1.00000000 +D 1 + 1 6.897553 1.00000000 +D 1 + 1 7.457725 1.00000000 +F 1 + 1 5.644965 1.00000000 +G 1 + 1 6.697349 1.00000000 +H 1 + 1 8.903307 1.00000000 +I 1 + 1 9.924175 1.00000000 + +ZINC +S 13 + 1 114.485022 0.00042900 + 2 61.996430 -0.01933900 + 3 40.117132 0.08625400 + 4 20.119649 -0.08895500 + 5 10.171676 -0.40267100 + 6 5.601641 0.06730400 + 7 2.864122 0.47921500 + 8 1.592779 0.50396000 + 9 0.826525 0.22208800 + 10 0.263975 0.01220300 + 11 0.145302 -0.00430000 + 12 0.068195 0.00124300 + 13 0.031465 -0.00026700 +S 13 + 1 114.485022 -0.00010900 + 2 61.996430 0.00445900 + 3 40.117132 -0.02006700 + 4 20.119649 0.02233800 + 5 10.171676 0.09669800 + 6 5.601641 -0.02196600 + 7 2.864122 -0.12876800 + 8 1.592779 -0.18170600 + 9 0.826525 -0.16231100 + 10 0.263975 0.11626400 + 11 0.145302 0.41131400 + 12 0.068195 0.49425700 + 13 0.031465 0.13810300 +S 13 + 1 114.485022 0.00066600 + 2 61.996430 0.00626900 + 3 40.117132 -0.04660300 + 4 20.119649 0.05039900 + 5 10.171676 0.36349300 + 6 5.601641 -0.24284000 + 7 2.864122 -0.38228100 + 8 1.592779 -0.86156700 + 9 0.826525 0.70607700 + 10 0.263975 1.49500100 + 11 0.145302 -0.45399400 + 12 0.068195 -0.59782200 + 13 0.031465 -0.25611700 +S 13 + 1 114.485022 0.00070400 + 2 61.996430 0.01284100 + 3 40.117132 -0.08591000 + 4 20.119649 0.11798200 + 5 10.171676 0.63016400 + 6 5.601641 -0.60034400 + 7 2.864122 -1.24906000 + 8 1.592779 -0.32949800 + 9 0.826525 2.59246900 + 10 0.263975 -1.00448100 + 11 0.145302 -1.37951400 + 12 0.068195 1.04684200 + 13 0.031465 0.32467600 +S 13 + 1 114.485022 0.00561400 + 2 61.996430 -0.06659000 + 3 40.117132 0.24276300 + 4 20.119649 -0.43396800 + 5 10.171676 -0.79971200 + 6 5.601641 1.54215100 + 7 2.864122 3.08029900 + 8 1.592779 -6.19825000 + 9 0.826525 2.58176600 + 10 0.263975 3.21198800 + 11 0.145302 -4.76745700 + 12 0.068195 1.67656100 + 13 0.031465 0.27090900 +S 13 + 1 114.485022 -0.00145800 + 2 61.996430 0.05360200 + 3 40.117132 -0.29854900 + 4 20.119649 0.71066200 + 5 10.171676 1.69169500 + 6 5.601641 -6.87135200 + 7 2.864122 6.72361500 + 8 1.592779 0.19685400 + 9 0.826525 -4.99731400 + 10 0.263975 7.57331800 + 11 0.145302 -6.94339000 + 12 0.068195 1.83160800 + 13 0.031465 0.26083500 +S 1 + 1 0.031465 1.00000000 +P 13 + 1 158.770986 -0.00015300 + 2 75.802876 0.00189300 + 3 44.547824 0.01046100 + 4 31.445269 -0.04514100 + 5 13.080125 -0.08420100 + 6 7.788616 0.10497300 + 7 4.195040 0.30771400 + 8 2.362276 0.36856300 + 9 1.302584 0.28633600 + 10 0.660704 0.09515600 + 11 0.249042 0.00585100 + 12 0.091781 -0.00003400 + 13 0.048931 0.00025200 +P 13 + 1 158.770986 0.00005300 + 2 75.802876 -0.00057100 + 3 44.547824 -0.00107300 + 4 31.445269 0.00746300 + 5 13.080125 0.01867600 + 6 7.788616 -0.02809000 + 7 4.195040 -0.05443800 + 8 2.362276 -0.09374400 + 9 1.302584 -0.05416900 + 10 0.660704 -0.00797200 + 11 0.249042 0.35619800 + 12 0.091781 0.41239900 + 13 0.048931 0.36132100 +P 13 + 1 158.770986 -0.00017000 + 2 75.802876 0.00060400 + 3 44.547824 -0.01998700 + 4 31.445269 0.06115300 + 5 13.080125 0.06731700 + 6 7.788616 -0.13921100 + 7 4.195040 -0.52704100 + 8 2.362276 -0.17619400 + 9 1.302584 0.03712900 + 10 0.660704 1.07932200 + 11 0.249042 -0.05014900 + 12 0.091781 -0.68897100 + 13 0.048931 0.03733100 +P 13 + 1 158.770986 -0.00078100 + 2 75.802876 0.00785500 + 3 44.547824 -0.00867100 + 4 31.445269 -0.04055300 + 5 13.080125 -0.20006200 + 6 7.788616 0.52859900 + 7 4.195040 0.52855200 + 8 2.362276 0.24357600 + 9 1.302584 -1.80718200 + 10 0.660704 0.62949600 + 11 0.249042 1.13761300 + 12 0.091781 -1.06715000 + 13 0.048931 0.02219000 +P 13 + 1 158.770986 -0.00030400 + 2 75.802876 0.00006000 + 3 44.547824 -0.03693100 + 4 31.445269 0.14601900 + 5 13.080125 0.22210400 + 6 7.788616 -1.20631000 + 7 4.195040 -0.64408400 + 8 2.362276 2.39813600 + 9 1.302584 -0.30444100 + 10 0.660704 -1.96089400 + 11 0.249042 1.89540000 + 12 0.091781 -0.82157700 + 13 0.048931 -0.13247100 +P 13 + 1 158.770986 0.00325100 + 2 75.802876 -0.02360900 + 3 44.547824 0.15491100 + 4 31.445269 -0.38553900 + 5 13.080125 0.04302800 + 6 7.788616 2.49137200 + 7 4.195040 -2.76365900 + 8 2.362276 -1.61456300 + 9 1.302584 5.18203200 + 10 0.660704 -4.10536000 + 11 0.249042 1.71270200 + 12 0.091781 -0.16883700 + 13 0.048931 -0.45499800 +P 1 + 1 0.048931 1.00000000 +D 11 + 1 270.014061 -0.00001600 + 2 100.161579 0.00069600 + 3 43.530609 0.01353600 + 4 21.262419 0.06935000 + 5 10.577821 0.14955900 + 6 5.343620 0.23958800 + 7 2.704857 0.28674400 + 8 1.353018 0.27145900 + 9 0.660873 0.20242600 + 10 0.309149 0.10330700 + 11 0.133879 0.02321100 +D 11 + 1 270.014061 0.00001300 + 2 100.161579 -0.00088900 + 3 43.530609 -0.01864000 + 4 21.262419 -0.09464600 + 5 10.577821 -0.21565900 + 6 5.343620 -0.32246900 + 7 2.704857 -0.19752900 + 8 1.353018 0.16444800 + 9 0.660873 0.41001700 + 10 0.309149 0.32783800 + 11 0.133879 0.10574900 +D 11 + 1 270.014061 0.00000700 + 2 100.161579 0.00086800 + 3 43.530609 0.02163100 + 4 21.262419 0.10774800 + 5 10.577821 0.27899700 + 6 5.343620 0.31454300 + 7 2.704857 -0.24192600 + 8 1.353018 -0.60241500 + 9 0.660873 -0.11801300 + 10 0.309149 0.54548200 + 11 0.133879 0.36382900 +D 11 + 1 270.014061 -0.00008800 + 2 100.161579 -0.00067400 + 3 43.530609 -0.03072600 + 4 21.262419 -0.14321800 + 5 10.577821 -0.44533000 + 6 5.343620 -0.13669300 + 7 2.704857 0.92782300 + 8 1.353018 0.14320400 + 9 0.660873 -1.06020200 + 10 0.309149 0.16045200 + 11 0.133879 0.65854200 +D 11 + 1 270.014061 0.00011500 + 2 100.161579 0.00099700 + 3 43.530609 0.04174200 + 4 21.262419 0.22376100 + 5 10.577821 0.73092800 + 6 5.343620 -0.86990000 + 7 2.704857 -0.85052900 + 8 1.353018 1.81569400 + 9 0.660873 -0.68110900 + 10 0.309149 -0.81728000 + 11 0.133879 0.88730900 +D 1 + 1 0.133879 1.00000000 +F 1 + 1 0.588643 1.00000000 +F 1 + 1 1.645556 1.00000000 +F 1 + 1 4.600166 1.00000000 +F 1 + 1 12.859800 1.00000000 +G 1 + 1 1.280919 1.00000000 +G 1 + 1 3.621387 1.00000000 +G 1 + 1 10.238310 1.00000000 +H 1 + 1 2.421611 1.00000000 +H 1 + 1 7.511113 1.00000000 +I 1 + 1 5.639501 1.00000000 +S 1 + 1 5.112162 1.00000000 +S 1 + 1 5.414352 1.00000000 +P 1 + 1 4.949443 1.00000000 +P 1 + 1 13.016090 1.00000000 +D 1 + 1 7.377237 1.00000000 +D 1 + 1 8.775120 1.00000000 +F 1 + 1 6.326622 1.00000000 +G 1 + 1 7.599484 1.00000000 +H 1 + 1 9.972769 1.00000000 +I 1 + 1 11.154097 1.00000000 + diff --git a/data/basis/cc-pcvdz_ecp_ccecp b/data/basis/cc-pcvdz_ecp_ccecp new file mode 100644 index 00000000..13f3a414 --- /dev/null +++ b/data/basis/cc-pcvdz_ecp_ccecp @@ -0,0 +1,1496 @@ +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 +S 1 + 1 0.910504 1.00000000 +S 1 + 1 0.538624 1.00000000 +S 1 + 1 0.051786 1.00000000 +S 1 + 1 0.019252 1.00000000 +P 1 + 1 0.479550 1.00000000 +P 1 + 1 0.234482 1.00000000 +P 1 + 1 0.027763 1.00000000 +P 1 + 1 0.012100 1.00000000 +D 1 + 1 1.034207 1.00000000 +D 1 + 1 0.013386 1.00000000 + +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 1.383790 1.00000000 +S 1 + 1 0.701508 1.00000000 +S 1 + 1 0.066369 1.00000000 +S 1 + 1 0.026432 1.00000000 +P 1 + 1 0.563426 1.00000000 +P 1 + 1 0.261483 1.00000000 +P 1 + 1 0.076223 1.00000000 +P 1 + 1 0.027633 1.00000000 +D 1 + 1 1.493098 1.00000000 +D 1 + 1 0.050522 1.00000000 + +SCANDIUM +S 13 + 1 66.882574 0.00055300 + 2 33.776681 -0.00511500 + 3 18.185884 0.00416100 + 4 11.748619 0.12160300 + 5 6.895190 -0.27013700 + 6 3.222124 -0.32441000 + 7 1.772120 0.29116200 + 8 0.841163 0.62893100 + 9 0.471976 0.27340600 + 10 0.313224 0.13535200 + 11 0.101013 0.00804100 + 12 0.049071 -0.00261000 + 13 0.022782 0.00059700 +S 13 + 1 66.882574 -0.00013900 + 2 33.776681 0.00134500 + 3 18.185884 -0.00144500 + 4 11.748619 -0.03208200 + 5 6.895190 0.07550600 + 6 3.222124 0.08992700 + 7 1.772120 -0.09008600 + 8 0.841163 -0.21644400 + 9 0.471976 -0.17925000 + 10 0.313224 -0.12816000 + 11 0.101013 0.33793500 + 12 0.049071 0.60918100 + 13 0.022782 0.24418100 +S 13 + 1 66.882574 -0.00067900 + 2 33.776681 0.00545600 + 3 18.185884 -0.01668400 + 4 11.748619 -0.03173900 + 5 6.895190 0.10956000 + 6 3.222124 0.23329300 + 7 1.772120 -0.31020700 + 8 0.841163 -0.24508300 + 9 0.471976 -1.17524800 + 10 0.313224 1.03235900 + 11 0.101013 1.59903900 + 12 0.049071 -0.62399000 + 13 0.022782 -0.84749800 +S 1 + 1 0.022782 1.00000000 +P 13 + 1 77.690832 0.00008800 + 2 39.751864 -0.00075400 + 3 20.615633 0.00658400 + 4 11.537150 -0.00718900 + 5 7.597186 -0.06890300 + 6 3.765117 -0.01384200 + 7 2.051006 0.24870400 + 8 1.048648 0.43432800 + 9 0.550231 0.32690600 + 10 0.303840 0.10461700 + 11 0.165809 0.01851200 + 12 0.060419 0.00139500 + 13 0.024751 0.00009300 +P 13 + 1 77.690832 0.00001700 + 2 39.751864 -0.00002600 + 3 20.615633 -0.00086100 + 4 11.537150 -0.00048300 + 5 7.597186 0.02136400 + 6 3.765117 -0.00370600 + 7 2.051006 -0.05871800 + 8 1.048648 -0.14336400 + 9 0.550231 -0.07728000 + 10 0.303840 -0.10776400 + 11 0.165809 0.32285900 + 12 0.060419 0.62172600 + 13 0.024751 0.25378700 +P 13 + 1 77.690832 -0.00006300 + 2 39.751864 0.00054900 + 3 20.615633 -0.00512000 + 4 11.537150 0.00701100 + 5 7.597186 0.05366100 + 6 3.765117 0.00357400 + 7 2.051006 -0.23586100 + 8 1.048648 -0.49480100 + 9 0.550231 -0.22957500 + 10 0.303840 0.91797300 + 11 0.165809 0.62115500 + 12 0.060419 -0.82464800 + 13 0.024751 -0.15759200 +P 1 + 1 0.024751 1.00000000 +D 11 + 1 60.996829 0.00005600 + 2 22.097637 0.00505400 + 3 10.186744 0.03222300 + 4 4.633892 0.08247900 + 5 2.146927 0.15936300 + 6 1.014536 0.22860400 + 7 0.487206 0.24369100 + 8 0.248191 0.23165100 + 9 0.131273 0.19543100 + 10 0.063714 0.21458900 + 11 0.021542 0.07411300 +D 11 + 1 60.996829 -0.00007200 + 2 22.097637 -0.00607900 + 3 10.186744 -0.03905400 + 4 4.633892 -0.10065200 + 5 2.146927 -0.19433000 + 6 1.014536 -0.25355600 + 7 0.487206 -0.21355600 + 8 0.248191 0.05418200 + 9 0.131273 0.26118800 + 10 0.063714 0.52021500 + 11 0.021542 0.16690700 +D 1 + 1 0.021542 1.00000000 +F 1 + 1 0.280673 1.00000000 +S 1 + 1 0.531583 1.00000000 +S 1 + 1 2.006315 1.00000000 +P 1 + 1 0.608728 1.00000000 +P 1 + 1 2.759507 1.00000000 +D 1 + 1 1.412796 1.00000000 +D 1 + 1 4.010741 1.00000000 +F 1 + 1 1.670187 1.00000000 + +TITANIUM +S 13 + 1 68.910511 0.00061600 + 2 33.720700 -0.00750100 + 3 18.159676 0.01221800 + 4 12.419305 0.14473900 + 5 7.532195 -0.32862100 + 6 3.504444 -0.31751700 + 7 1.910727 0.35742200 + 8 0.888840 0.67140600 + 9 0.447198 0.28222600 + 10 0.281192 0.03867300 + 11 0.100258 0.00455900 + 12 0.046525 -0.00156500 + 13 0.021840 0.00039800 +S 13 + 1 68.910511 -0.00015600 + 2 33.720700 0.00196600 + 3 18.159676 -0.00399400 + 4 12.419305 -0.03637700 + 5 7.532195 0.08859300 + 6 3.504444 0.08563000 + 7 1.910727 -0.10599300 + 8 0.888840 -0.23742100 + 9 0.447198 -0.23535900 + 10 0.281192 -0.01296000 + 11 0.100258 0.43358200 + 12 0.046525 0.57787300 + 13 0.021840 0.16436000 +S 13 + 1 68.910511 0.00063500 + 2 33.720700 -0.00646800 + 3 18.159676 0.02344400 + 4 12.419305 0.03892100 + 5 7.532195 -0.14118000 + 6 3.504444 -0.21476500 + 7 1.910727 0.32015100 + 8 0.888840 0.45106200 + 9 0.447198 0.85519100 + 10 0.281192 -1.20922400 + 11 0.100258 -1.31948100 + 12 0.046525 0.86651700 + 13 0.021840 0.61891600 +S 1 + 1 0.021840 1.00000000 +P 13 + 1 84.914002 0.00009300 + 2 42.855051 -0.00083600 + 3 21.700131 0.00867900 + 4 12.214690 -0.01117800 + 5 8.319164 -0.07776700 + 6 4.091071 -0.00611300 + 7 2.286543 0.27182800 + 8 1.159810 0.45958500 + 9 0.591343 0.31590000 + 10 0.312862 0.07168300 + 11 0.184828 0.01054100 + 12 0.068590 0.00004500 + 13 0.026791 -0.00083700 +P 13 + 1 84.914002 0.00002000 + 2 42.855051 -0.00004900 + 3 21.700131 -0.00076100 + 4 12.214690 -0.00057500 + 5 8.319164 0.01828400 + 6 4.091071 -0.00594300 + 7 2.286543 -0.04321200 + 8 1.159810 -0.11251300 + 9 0.591343 -0.05207300 + 10 0.312862 -0.09226300 + 11 0.184828 0.24394600 + 12 0.068590 0.41310100 + 13 0.026791 0.54398500 +P 13 + 1 84.914002 0.00001900 + 2 42.855051 0.00013800 + 3 21.700131 -0.00462200 + 4 12.214690 0.00446500 + 5 8.319164 0.06576000 + 6 4.091071 -0.01892700 + 7 2.286543 -0.22252400 + 8 1.159810 -0.52389000 + 9 0.591343 -0.07127700 + 10 0.312862 0.81271200 + 11 0.184828 0.62549800 + 12 0.068590 -0.81218900 + 13 0.026791 -0.18579600 +P 1 + 1 0.026791 1.00000000 +D 11 + 1 77.434559 0.00002200 + 2 27.708477 0.00421800 + 3 12.914284 0.03008700 + 4 6.062674 0.08482100 + 5 2.863898 0.17111000 + 6 1.386559 0.24745100 + 7 0.677058 0.27731000 + 8 0.329864 0.26107700 + 9 0.159474 0.19033600 + 10 0.076174 0.11938500 + 11 0.028570 0.03129700 +D 11 + 1 77.434559 -0.00002500 + 2 27.708477 -0.00431100 + 3 12.914284 -0.03091300 + 4 6.062674 -0.08804900 + 5 2.863898 -0.17833000 + 6 1.386559 -0.23433500 + 7 0.677058 -0.19577500 + 8 0.329864 0.06587200 + 9 0.159474 0.33053600 + 10 0.076174 0.46122900 + 11 0.028570 0.18427300 +D 1 + 1 0.028570 1.00000000 +F 1 + 1 0.499717 1.00000000 +S 1 + 1 0.591537 1.00000000 +S 1 + 1 2.205011 1.00000000 +P 1 + 1 0.675360 1.00000000 +P 1 + 1 3.138882 1.00000000 +D 1 + 1 1.759833 1.00000000 +D 1 + 1 5.086016 1.00000000 +F 1 + 1 2.117563 1.00000000 + +VANADIUM +S 13 + 1 68.577621 0.00080400 + 2 34.937147 -0.01159400 + 3 17.939491 0.09220900 + 4 11.262123 -0.04547700 + 5 6.776264 -0.28798300 + 6 3.524091 -0.21764800 + 7 1.938421 0.40750900 + 8 0.927153 0.65819300 + 9 0.448420 0.25523400 + 10 0.209668 0.00862000 + 11 0.103660 0.00273400 + 12 0.050630 -0.00116100 + 13 0.024201 0.00029400 +S 13 + 1 68.577621 -0.00017700 + 2 34.937147 0.00279100 + 3 17.939491 -0.02365000 + 4 11.262123 0.01250400 + 5 6.776264 0.07876100 + 6 3.524091 0.05497400 + 7 1.938421 -0.11895500 + 8 0.927153 -0.24534100 + 9 0.448420 -0.22295900 + 10 0.209668 0.04780900 + 11 0.103660 0.41537400 + 12 0.050630 0.54088000 + 13 0.024201 0.18342100 +S 13 + 1 68.577621 -0.00058300 + 2 34.937147 0.00957000 + 3 17.939491 -0.08560600 + 4 11.262123 0.04842600 + 5 6.776264 0.33123900 + 6 3.524091 0.14035200 + 7 1.938421 -0.90796200 + 8 0.927153 -0.50387800 + 9 0.448420 0.39893800 + 10 0.209668 0.97113100 + 11 0.103660 0.42399900 + 12 0.050630 -0.62864600 + 13 0.024201 -0.46749500 +S 1 + 1 0.024201 1.00000000 +P 13 + 1 96.215967 0.00006900 + 2 49.579340 -0.00067200 + 3 25.638009 0.00819900 + 4 14.025942 -0.02710800 + 5 8.740334 -0.05302100 + 6 4.634840 0.00500200 + 7 2.553374 0.26198600 + 8 1.321166 0.43354400 + 9 0.681285 0.32494700 + 10 0.349458 0.09234200 + 11 0.172773 0.00896400 + 12 0.063300 0.00118500 + 13 0.033969 0.00010400 +P 13 + 1 96.215967 0.00004000 + 2 49.579340 -0.00013300 + 3 25.638009 -0.00095500 + 4 14.025942 0.00371900 + 5 8.740334 0.01886600 + 6 4.634840 -0.01207400 + 7 2.553374 -0.05710700 + 8 1.321166 -0.14643300 + 9 0.681285 -0.06736500 + 10 0.349458 -0.06825400 + 11 0.172773 0.40310300 + 12 0.063300 0.50266800 + 13 0.033969 0.26129100 +P 13 + 1 96.215967 -0.00005300 + 2 49.579340 0.00002300 + 3 25.638009 0.00462900 + 4 14.025942 -0.00775500 + 5 8.740334 -0.10413300 + 6 4.634840 -0.01776200 + 7 2.553374 0.72821200 + 8 1.321166 0.21882600 + 9 0.681285 -0.49322300 + 10 0.349458 -0.83819200 + 11 0.172773 0.39840100 + 12 0.063300 0.66458900 + 13 0.033969 0.03301100 +P 1 + 1 0.033969 1.00000000 +D 11 + 1 89.989649 0.00005100 + 2 33.132961 0.00480400 + 3 15.879656 0.02948500 + 4 7.465803 0.08624900 + 5 3.551993 0.17972800 + 6 1.728185 0.26185000 + 7 0.850498 0.29179400 + 8 0.417673 0.25935600 + 9 0.201523 0.17494400 + 10 0.100711 0.06227800 + 11 0.058959 0.02765300 +D 11 + 1 89.989649 -0.00003800 + 2 33.132961 -0.00459000 + 3 15.879656 -0.02756300 + 4 7.465803 -0.08277500 + 5 3.551993 -0.17349400 + 6 1.728185 -0.23618800 + 7 0.850498 -0.14922600 + 8 0.417673 0.04414500 + 9 0.201523 0.39050000 + 10 0.100711 0.20306400 + 11 0.058959 0.39800200 +D 1 + 1 0.058959 1.00000000 +F 1 + 1 1.138450 1.00000000 +S 1 + 1 0.736615 1.00000000 +S 1 + 1 2.619861 1.00000000 +P 1 + 1 0.973954 1.00000000 +P 1 + 1 4.004062 1.00000000 +D 1 + 1 0.749306 1.00000000 +D 1 + 1 1.799378 1.00000000 +F 1 + 1 3.352552 1.00000000 + +CHROMIUM +S 13 + 1 73.977737 0.00086400 + 2 37.684349 -0.01159500 + 3 19.278723 0.09046700 + 4 12.130763 -0.02483700 + 5 7.453002 -0.33040700 + 6 3.756296 -0.20059800 + 7 2.084137 0.44976600 + 8 0.993314 0.64757500 + 9 0.483094 0.22902500 + 10 0.225854 0.00921700 + 11 0.115338 0.00113200 + 12 0.052134 -0.00036700 + 13 0.023679 0.00009200 +S 13 + 1 73.977737 -0.00018300 + 2 37.684349 0.00270400 + 3 19.278723 -0.02265000 + 4 12.130763 0.00718100 + 5 7.453002 0.08770500 + 6 3.756296 0.04761600 + 7 2.084137 -0.12567200 + 8 0.993314 -0.24457100 + 9 0.483094 -0.19841900 + 10 0.225854 0.03088900 + 11 0.115338 0.42393500 + 12 0.052134 0.57694100 + 13 0.023679 0.14832300 +S 13 + 1 73.977737 -0.00032700 + 2 37.684349 0.00530900 + 3 19.278723 -0.04690500 + 4 12.130763 0.01541100 + 5 7.453002 0.19169700 + 6 3.756296 0.09975900 + 7 2.084137 -0.33899400 + 8 0.993314 -0.69580600 + 9 0.483094 -0.00731500 + 10 0.225854 1.11859900 + 11 0.115338 0.71725700 + 12 0.052134 -0.86856500 + 13 0.023679 -0.46718600 +S 1 + 1 0.023679 1.00000000 +P 13 + 1 101.951240 0.00008800 + 2 52.309865 -0.00074700 + 3 27.142574 0.00713500 + 4 15.066862 -0.01470200 + 5 9.693669 -0.07335300 + 6 4.985710 0.01200700 + 7 2.761266 0.28311700 + 8 1.417673 0.44078600 + 9 0.728201 0.30677500 + 10 0.378189 0.08180400 + 11 0.189359 0.00883900 + 12 0.072301 0.00102200 + 13 0.037471 0.00032500 +P 13 + 1 101.951240 0.00002800 + 2 52.309865 -0.00008500 + 3 27.142574 -0.00075100 + 4 15.066862 0.00084400 + 5 9.693669 0.02265600 + 6 4.985710 -0.01278100 + 7 2.761266 -0.06238600 + 8 1.417673 -0.14358100 + 9 0.728201 -0.06228100 + 10 0.378189 -0.05447100 + 11 0.189359 0.37713500 + 12 0.072301 0.47163300 + 13 0.037471 0.31162400 +P 13 + 1 101.951240 -0.00013700 + 2 52.309865 0.00093200 + 3 27.142574 -0.00684500 + 4 15.066862 0.01983100 + 5 9.693669 0.04364700 + 6 4.985710 -0.01928900 + 7 2.761266 -0.28118700 + 8 1.417673 -0.37029800 + 9 0.728201 -0.19987300 + 10 0.378189 1.02855200 + 11 0.189359 0.42371100 + 12 0.072301 -0.80092600 + 13 0.037471 -0.14191000 +P 1 + 1 0.037471 1.00000000 +D 11 + 1 120.683729 -0.00000600 + 2 42.646591 0.00311100 + 3 21.154405 0.02864100 + 4 9.708242 0.07622200 + 5 4.614990 0.17059500 + 6 2.243726 0.26690800 + 7 1.086491 0.31103900 + 8 0.524700 0.26731200 + 9 0.255752 0.16333600 + 10 0.121497 0.06278200 + 11 0.054339 0.00787200 +D 11 + 1 120.683729 0.00001700 + 2 42.646591 -0.00357600 + 3 21.154405 -0.03147600 + 4 9.708242 -0.08758300 + 5 4.614990 -0.19574000 + 6 2.243726 -0.27013200 + 7 1.086491 -0.17003400 + 8 0.524700 0.14341200 + 9 0.255752 0.40868700 + 10 0.121497 0.37025700 + 11 0.054339 0.12311200 +D 1 + 1 0.054339 1.00000000 +F 1 + 1 1.112997 1.00000000 +S 1 + 1 0.734112 1.00000000 +S 1 + 1 2.811823 1.00000000 +P 1 + 1 0.851456 1.00000000 +P 1 + 1 3.937167 1.00000000 +D 1 + 1 0.845872 1.00000000 +D 1 + 1 2.147155 1.00000000 +F 1 + 1 3.530639 1.00000000 + +MANGANESE +S 13 + 1 76.008334 0.00099300 + 2 39.277974 -0.01479600 + 3 20.405805 0.12071000 + 4 12.218680 -0.12400100 + 5 7.182690 -0.32020000 + 6 3.850780 -0.10562200 + 7 2.142489 0.47272100 + 8 1.049631 0.62038700 + 9 0.508682 0.20455300 + 10 0.192243 0.00592400 + 11 0.108899 -0.00009700 + 12 0.053425 -0.00018500 + 13 0.025236 0.00006100 +S 13 + 1 76.008334 -0.00019900 + 2 39.277974 0.00335200 + 3 20.405805 -0.02941300 + 4 12.218680 0.03209100 + 5 7.182690 0.08315200 + 6 3.850780 0.02128300 + 7 2.142489 -0.12998900 + 8 1.049631 -0.23900600 + 9 0.508682 -0.18031500 + 10 0.192243 0.11014800 + 11 0.108899 0.40442600 + 12 0.053425 0.51730700 + 13 0.025236 0.14813900 +S 13 + 1 76.008334 -0.00009100 + 2 39.277974 0.00537400 + 3 20.405805 -0.05849400 + 4 12.218680 0.05634500 + 5 7.182690 0.22787400 + 6 3.850780 -0.00842000 + 7 2.142489 -0.32077700 + 8 1.049631 -0.81313700 + 9 0.508682 0.32647500 + 10 0.192243 1.44754000 + 11 0.108899 0.02132100 + 12 0.053425 -0.67832300 + 13 0.025236 -0.45282800 +S 1 + 1 0.025236 1.00000000 +P 13 + 1 113.479709 0.00010300 + 2 58.160819 -0.00089400 + 3 30.043076 0.00884400 + 4 16.753323 -0.01968500 + 5 10.705604 -0.06919000 + 6 5.557903 0.01150800 + 7 3.080151 0.28231300 + 8 1.582963 0.43867800 + 9 0.810922 0.30984300 + 10 0.413396 0.08394500 + 11 0.195480 0.00751700 + 12 0.072688 0.00110000 + 13 0.035877 0.00029000 +P 13 + 1 113.479709 0.00001900 + 2 58.160819 -0.00002400 + 3 30.043076 -0.00122400 + 4 16.753323 0.00232000 + 5 10.705604 0.02075800 + 6 5.557903 -0.01157200 + 7 3.080151 -0.06291900 + 8 1.582963 -0.13675400 + 9 0.810922 -0.06729500 + 10 0.413396 -0.03102400 + 11 0.195480 0.37898100 + 12 0.072688 0.50782400 + 13 0.035877 0.26094100 +P 13 + 1 113.479709 -0.00019700 + 2 58.160819 0.00135400 + 3 30.043076 -0.01010200 + 4 16.753323 0.03060300 + 5 10.705604 0.04620000 + 6 5.557903 -0.01758800 + 7 3.080151 -0.39592000 + 8 1.582963 -0.41909300 + 9 0.810922 0.07501700 + 10 0.413396 1.09298600 + 11 0.195480 0.00868000 + 12 0.072688 -0.75636900 + 13 0.035877 -0.04514900 +P 1 + 1 0.035877 1.00000000 +D 11 + 1 132.688182 0.00003000 + 2 45.266024 0.00529400 + 3 23.267336 0.02914300 + 4 10.605694 0.07677500 + 5 5.074684 0.16855100 + 6 2.469857 0.25683200 + 7 1.205883 0.28989100 + 8 0.590569 0.25715400 + 9 0.292055 0.18172600 + 10 0.149190 0.08998600 + 11 0.076511 0.03459500 +D 11 + 1 132.688182 -0.00002100 + 2 45.266024 -0.00544900 + 3 23.267336 -0.02903200 + 4 10.605694 -0.07982500 + 5 5.074684 -0.17441500 + 6 2.469857 -0.25340400 + 7 1.205883 -0.17430500 + 8 0.590569 0.04508100 + 9 0.292055 0.34576000 + 10 0.149190 0.26372500 + 11 0.076511 0.37171500 +D 1 + 1 0.076511 1.00000000 +F 1 + 1 1.357898 1.00000000 +S 1 + 1 0.832852 1.00000000 +S 1 + 1 3.133156 1.00000000 +P 1 + 1 1.020743 1.00000000 +P 1 + 1 4.582593 1.00000000 +D 1 + 1 0.985022 1.00000000 +D 1 + 1 2.435684 1.00000000 +F 1 + 1 4.198704 1.00000000 + +IRON +S 13 + 1 84.322332 0.00078500 + 2 44.203528 -0.01278100 + 3 23.288963 0.10463500 + 4 13.385163 -0.11938500 + 5 7.518052 -0.33980400 + 6 4.101835 -0.04999400 + 7 2.253571 0.47695500 + 8 1.134924 0.59322200 + 9 0.561550 0.20015100 + 10 0.201961 0.00859100 + 11 0.108698 -0.00218800 + 12 0.053619 0.00067700 + 13 0.025823 -0.00014400 +S 13 + 1 84.322332 -0.00016200 + 2 44.203528 0.00292100 + 3 23.288963 -0.02546600 + 4 13.385163 0.03118200 + 5 7.518052 0.08684900 + 6 4.101835 0.00684600 + 7 2.253571 -0.13185600 + 8 1.134924 -0.22774600 + 9 0.561550 -0.17307900 + 10 0.201961 0.13614200 + 11 0.108698 0.43401300 + 12 0.053619 0.47755500 + 13 0.025823 0.12880400 +S 13 + 1 84.322332 0.00000200 + 2 44.203528 0.00410300 + 3 23.288963 -0.04684000 + 4 13.385163 0.05283300 + 5 7.518052 0.21809400 + 6 4.101835 -0.04499900 + 7 2.253571 -0.28738600 + 8 1.134924 -0.71322000 + 9 0.561550 0.24917400 + 10 0.201961 1.29987200 + 11 0.108698 0.19211900 + 12 0.053619 -0.65861600 + 13 0.025823 -0.52104700 +S 1 + 1 0.025823 1.00000000 +P 13 + 1 125.092775 0.00005600 + 2 65.211589 -0.00057200 + 3 34.437599 0.00738800 + 4 18.930704 -0.02848100 + 5 10.873415 -0.06300500 + 6 6.012172 0.02485500 + 7 3.372205 0.27747400 + 8 1.768641 0.42538600 + 9 0.914516 0.31414500 + 10 0.460895 0.09042200 + 11 0.204490 0.00697700 + 12 0.074741 0.00115400 + 13 0.035671 0.00030300 +P 13 + 1 125.092775 0.00002500 + 2 65.211589 -0.00007000 + 3 34.437599 -0.00104200 + 4 18.930704 0.00512700 + 5 10.873415 0.01840400 + 6 6.012172 -0.01469200 + 7 3.372205 -0.06130700 + 8 1.768641 -0.12863800 + 9 0.914516 -0.07063700 + 10 0.460895 -0.01631400 + 11 0.204490 0.38070200 + 12 0.074741 0.52307100 + 13 0.035671 0.23576500 +P 13 + 1 125.092775 -0.00019700 + 2 65.211589 0.00125100 + 3 34.437599 -0.00915400 + 4 18.930704 0.03820100 + 5 10.873415 0.04309700 + 6 6.012172 -0.02947500 + 7 3.372205 -0.42699600 + 8 1.768641 -0.39484000 + 9 0.914516 0.07723000 + 10 0.460895 1.11988100 + 11 0.204490 -0.06649400 + 12 0.074741 -0.72158300 + 13 0.035671 -0.00569500 +P 1 + 1 0.035671 1.00000000 +D 11 + 1 152.736742 0.00002900 + 2 50.772485 0.00523800 + 3 26.253589 0.02932500 + 4 12.137022 0.07490100 + 5 5.853719 0.16341100 + 6 2.856224 0.25105700 + 7 1.386132 0.28760300 + 8 0.670802 0.25186200 + 9 0.330280 0.18673600 + 10 0.170907 0.09357000 + 11 0.086794 0.07381100 +D 11 + 1 152.736742 -0.00002600 + 2 50.772485 -0.00632900 + 3 26.253589 -0.03439800 + 4 12.137022 -0.09176500 + 5 5.853719 -0.20159200 + 6 2.856224 -0.28393000 + 7 1.386132 -0.16198100 + 8 0.670802 0.12882200 + 9 0.330280 0.36016000 + 10 0.170907 0.27759200 + 11 0.086794 0.26140300 +D 1 + 1 0.086794 1.00000000 +F 1 + 1 1.696126 1.00000000 +S 1 + 1 0.909741 1.00000000 +S 1 + 1 3.519995 1.00000000 +P 1 + 1 1.151345 1.00000000 +P 1 + 1 5.187368 1.00000000 +D 1 + 1 1.172100 1.00000000 +D 1 + 1 2.828034 1.00000000 +F 1 + 1 5.078925 1.00000000 + +COBALT +S 13 + 1 90.663831 0.00077400 + 2 46.961414 -0.01131600 + 3 24.110274 0.10120900 + 4 14.430881 -0.08164200 + 5 8.757423 -0.35481200 + 6 4.484459 -0.09036200 + 7 2.519739 0.49817400 + 8 1.236850 0.60412300 + 9 0.601882 0.19077500 + 10 0.223338 0.00657800 + 11 0.123422 -0.00090500 + 12 0.059941 0.00017100 + 13 0.027978 -0.00002500 +S 13 + 1 90.663831 -0.00015400 + 2 46.961414 0.00252500 + 3 24.110274 -0.02444300 + 4 14.430881 0.02220000 + 5 8.757423 0.08841600 + 6 4.484459 0.01682000 + 7 2.519739 -0.13458200 + 8 1.236850 -0.23129500 + 9 0.601882 -0.16398600 + 10 0.223338 0.12133700 + 11 0.123422 0.40241400 + 12 0.059941 0.50611300 + 13 0.027978 0.14543600 +S 13 + 1 90.663831 -0.00004700 + 2 46.961414 0.00365400 + 3 24.110274 -0.04613200 + 4 14.430881 0.03648300 + 5 8.757423 0.21726500 + 6 4.484459 -0.01188300 + 7 2.519739 -0.32468800 + 8 1.236850 -0.68058100 + 9 0.601882 0.25693600 + 10 0.223338 1.22400500 + 11 0.123422 0.23683700 + 12 0.059941 -0.60406400 + 13 0.027978 -0.57494700 +S 1 + 1 0.027978 1.00000000 +P 13 + 1 139.038145 0.00007500 + 2 71.928971 -0.00062700 + 3 37.806311 0.00571900 + 4 21.054252 -0.00931000 + 5 12.973193 -0.08385700 + 6 6.791461 0.01239400 + 7 3.794018 0.28198700 + 8 1.960649 0.43417900 + 9 1.006283 0.31340900 + 10 0.509539 0.08977800 + 11 0.233091 0.00740500 + 12 0.083890 0.00098000 + 13 0.039802 0.00027400 +P 13 + 1 139.038145 0.00002500 + 2 71.928971 -0.00008400 + 3 37.806311 -0.00048500 + 4 21.054252 0.00009500 + 5 12.973193 0.02240200 + 6 6.791461 -0.01153400 + 7 3.794018 -0.05686600 + 8 1.960649 -0.12607000 + 9 1.006283 -0.06088900 + 10 0.509539 -0.03508600 + 11 0.233091 0.35184700 + 12 0.083890 0.51044900 + 13 0.039802 0.28970700 +P 13 + 1 139.038145 -0.00023800 + 2 71.928971 0.00148900 + 3 37.806311 -0.00872300 + 4 21.054252 0.02453800 + 5 12.973193 0.06085600 + 6 6.791461 -0.02038000 + 7 3.794018 -0.43019500 + 8 1.960649 -0.40769200 + 9 1.006283 0.08532600 + 10 0.509539 1.07332600 + 11 0.233091 0.01506700 + 12 0.083890 -0.71963100 + 13 0.039802 -0.02460300 +P 1 + 1 0.039802 1.00000000 +D 11 + 1 160.444504 0.00003400 + 2 52.598830 0.00655300 + 3 27.491581 0.03618500 + 4 12.745988 0.08302600 + 5 6.184310 0.17696000 + 6 3.029146 0.26399000 + 7 1.474099 0.29244700 + 8 0.714391 0.24959700 + 9 0.348520 0.17163700 + 10 0.174166 0.08064900 + 11 0.087891 0.04121200 +D 11 + 1 160.444504 -0.00003100 + 2 52.598830 -0.00786900 + 3 27.491581 -0.04199200 + 4 12.745988 -0.10138800 + 5 6.184310 -0.21699600 + 6 3.029146 -0.28396200 + 7 1.474099 -0.12717900 + 8 0.714391 0.17712500 + 9 0.348520 0.37559600 + 10 0.174166 0.28463100 + 11 0.087891 0.20027700 +D 1 + 1 0.087891 1.00000000 +F 1 + 1 2.012568 1.00000000 +S 1 + 1 1.010269 1.00000000 +S 1 + 1 3.893671 1.00000000 +P 1 + 1 1.270490 1.00000000 +P 1 + 1 5.677091 1.00000000 +D 1 + 1 1.291245 1.00000000 +D 1 + 1 3.118104 1.00000000 +F 1 + 1 5.891548 1.00000000 + +NICKEL +S 13 + 1 97.161835 0.00070900 + 2 51.187866 -0.01239900 + 3 26.996725 0.10722000 + 4 15.523536 -0.12455600 + 5 8.916168 -0.35102300 + 6 4.795806 -0.02575800 + 7 2.619926 0.49894800 + 8 1.330111 0.56898600 + 9 0.668901 0.19112100 + 10 0.230439 0.01027800 + 11 0.121518 -0.00362700 + 12 0.057951 0.00129500 + 13 0.027201 -0.00030700 +S 13 + 1 97.161835 -0.00014000 + 2 51.187866 0.00275600 + 3 26.996725 -0.02548200 + 4 15.523536 0.03218200 + 5 8.916168 0.08622600 + 6 4.795806 0.00110400 + 7 2.619926 -0.13579000 + 8 1.330111 -0.21572400 + 9 0.668901 -0.15836700 + 10 0.230439 0.14349900 + 11 0.121518 0.44367200 + 12 0.057951 0.47255800 + 13 0.027201 0.11017300 +S 13 + 1 97.161835 0.00012100 + 2 51.187866 0.00332200 + 3 26.996725 -0.04578500 + 4 15.523536 0.05341500 + 5 8.916168 0.22227000 + 6 4.795806 -0.07306500 + 7 2.619926 -0.29399800 + 8 1.330111 -0.66893800 + 9 0.668901 0.29750400 + 10 0.230439 1.23374800 + 11 0.121518 0.12931700 + 12 0.057951 -0.60340700 + 13 0.027201 -0.53306200 +S 1 + 1 0.027201 1.00000000 +P 13 + 1 148.087630 0.00005500 + 2 77.452187 -0.00054800 + 3 40.915636 0.00697900 + 4 22.575667 -0.02365800 + 5 13.218268 -0.07568200 + 6 7.232093 0.02725300 + 7 4.054870 0.28477800 + 8 2.122089 0.42763200 + 9 1.092769 0.30993700 + 10 0.548240 0.08853500 + 11 0.238886 0.00642700 + 12 0.084667 0.00070800 + 13 0.038921 0.00018600 +P 13 + 1 148.087630 0.00002700 + 2 77.452187 -0.00008800 + 3 40.915636 -0.00077300 + 4 22.575667 0.00334500 + 5 13.218268 0.01940500 + 6 7.232093 -0.01428800 + 7 4.054870 -0.05452700 + 8 2.122089 -0.11645400 + 9 1.092769 -0.06023600 + 10 0.548240 -0.02392800 + 11 0.238886 0.34786900 + 12 0.084667 0.52262600 + 13 0.038921 0.27647100 +P 13 + 1 148.087630 -0.00023700 + 2 77.452187 0.00145600 + 3 40.915636 -0.00974500 + 4 22.575667 0.03779900 + 5 13.218268 0.05252100 + 6 7.232093 -0.03500600 + 7 4.054870 -0.45557700 + 8 2.122089 -0.36830600 + 9 1.092769 0.10039200 + 10 0.548240 1.07665200 + 11 0.238886 -0.04532600 + 12 0.084667 -0.70318600 + 13 0.038921 0.00458000 +P 1 + 1 0.038921 1.00000000 +D 11 + 1 177.900125 0.00004900 + 2 57.372112 0.00751900 + 3 29.881432 0.03645500 + 4 13.971757 0.08690100 + 5 6.841152 0.18056800 + 6 3.379983 0.26818700 + 7 1.651827 0.29675600 + 8 0.799251 0.25155800 + 9 0.388057 0.16231900 + 10 0.191191 0.07211900 + 11 0.093358 0.02368900 +D 11 + 1 177.900125 -0.00005300 + 2 57.372112 -0.00885000 + 3 29.881432 -0.04191600 + 4 13.971757 -0.10469100 + 5 6.841152 -0.21946400 + 6 3.379983 -0.28371200 + 7 1.651827 -0.12212700 + 8 0.799251 0.19012300 + 9 0.388057 0.37659800 + 10 0.191191 0.29512200 + 11 0.093358 0.17825200 +D 1 + 1 0.093358 1.00000000 +F 1 + 1 2.317543 1.00000000 +S 1 + 1 1.099912 1.00000000 +S 1 + 1 4.266474 1.00000000 +P 1 + 1 1.398024 1.00000000 +P 1 + 1 6.294441 1.00000000 +D 1 + 1 1.406397 1.00000000 +D 1 + 1 3.410393 1.00000000 +F 1 + 1 6.722827 1.00000000 + +COPPER +S 13 + 1 104.471138 0.00074100 + 2 55.955221 -0.01395300 + 3 30.553953 0.10526600 + 4 16.942394 -0.12939900 + 5 9.452707 -0.36273800 + 6 5.174537 0.01326600 + 7 2.779171 0.48928800 + 8 1.441817 0.56208800 + 9 0.710674 0.19004700 + 10 0.241540 0.00563500 + 11 0.129621 -0.00058200 + 12 0.059229 -0.00002400 + 13 0.027110 0.00003000 +S 13 + 1 104.471138 -0.00013300 + 2 55.955221 0.00299900 + 3 30.553953 -0.02431000 + 4 16.942394 0.03198600 + 5 9.452707 0.08914900 + 6 5.174537 -0.01075000 + 7 2.779171 -0.12822400 + 8 1.441817 -0.21572000 + 9 0.710674 -0.14955900 + 10 0.241540 0.14291700 + 11 0.129621 0.44630700 + 12 0.059229 0.48464300 + 13 0.027110 0.09306900 +S 13 + 1 104.471138 0.00021000 + 2 55.955221 0.00380600 + 3 30.553953 -0.04731200 + 4 16.942394 0.05995700 + 5 9.452707 0.25064200 + 6 5.174537 -0.11910200 + 7 2.779171 -0.31406900 + 8 1.441817 -0.68930000 + 9 0.710674 0.40305000 + 10 0.241540 1.27044000 + 11 0.129621 -0.02902900 + 12 0.059229 -0.62215700 + 13 0.027110 -0.44207400 +S 1 + 1 0.027110 1.00000000 +P 13 + 1 159.152840 0.00002600 + 2 83.322776 -0.00040200 + 3 44.840311 0.00740500 + 4 25.020360 -0.03071400 + 5 13.610016 -0.07434800 + 6 7.761318 0.04343000 + 7 4.303947 0.28970300 + 8 2.290080 0.41346700 + 9 1.202173 0.30376200 + 10 0.607647 0.09349400 + 11 0.257656 0.00666300 + 12 0.090897 0.00056700 + 13 0.041925 0.00017600 +P 13 + 1 159.152840 0.00003400 + 2 83.322776 -0.00012900 + 3 44.840311 -0.00080200 + 4 25.020360 0.00474700 + 5 13.610016 0.01859500 + 6 7.761318 -0.01769200 + 7 4.303947 -0.05261400 + 8 2.290080 -0.11034900 + 9 1.202173 -0.05470100 + 10 0.607647 -0.02665500 + 11 0.257656 0.33588000 + 12 0.090897 0.50947800 + 13 0.041925 0.30255900 +P 13 + 1 159.152840 -0.00022800 + 2 83.322776 0.00141400 + 3 44.840311 -0.01029000 + 4 25.020360 0.04389600 + 5 13.610016 0.05286500 + 6 7.761318 -0.05656500 + 7 4.303947 -0.48071500 + 8 2.290080 -0.31598400 + 9 1.202173 0.07567900 + 10 0.607647 1.06074700 + 11 0.257656 -0.00806100 + 12 0.090897 -0.70160100 + 13 0.041925 0.00694100 +P 1 + 1 0.041925 1.00000000 +D 11 + 1 226.693527 0.00001500 + 2 73.010278 0.00410800 + 3 38.536518 0.02822300 + 4 18.726700 0.06932300 + 5 9.155485 0.15604500 + 6 4.540884 0.25123800 + 7 2.241175 0.29746300 + 8 1.085869 0.27498100 + 9 0.510612 0.19309800 + 10 0.229608 0.08639300 + 11 0.095781 0.01464500 +D 11 + 1 226.693527 -0.00001300 + 2 73.010278 -0.00525200 + 3 38.536518 -0.03498200 + 4 18.726700 -0.08895000 + 5 9.155485 -0.20719400 + 6 4.540884 -0.30259700 + 7 2.241175 -0.17932700 + 8 1.085869 0.16906900 + 9 0.510612 0.40590400 + 10 0.229608 0.34187100 + 11 0.095781 0.11708000 +D 1 + 1 0.095781 1.00000000 +F 1 + 1 2.739578 1.00000000 +S 1 + 1 1.218913 1.00000000 +S 1 + 1 4.750059 1.00000000 +P 1 + 1 1.551117 1.00000000 +P 1 + 1 6.973554 1.00000000 +D 1 + 1 1.873424 1.00000000 +D 1 + 1 4.248371 1.00000000 +F 1 + 1 6.750816 1.00000000 + +ZINC +S 13 + 1 114.485022 0.00042900 + 2 61.996430 -0.01933900 + 3 40.117132 0.08625400 + 4 20.119649 -0.08895500 + 5 10.171676 -0.40267100 + 6 5.601641 0.06730400 + 7 2.864122 0.47921500 + 8 1.592779 0.50396000 + 9 0.826525 0.22208800 + 10 0.263975 0.01220300 + 11 0.145302 -0.00430000 + 12 0.068195 0.00124300 + 13 0.031465 -0.00026700 +S 13 + 1 114.485022 -0.00010900 + 2 61.996430 0.00445900 + 3 40.117132 -0.02006700 + 4 20.119649 0.02233800 + 5 10.171676 0.09669800 + 6 5.601641 -0.02196600 + 7 2.864122 -0.12876800 + 8 1.592779 -0.18170600 + 9 0.826525 -0.16231100 + 10 0.263975 0.11626400 + 11 0.145302 0.41131400 + 12 0.068195 0.49425700 + 13 0.031465 0.13810300 +S 13 + 1 114.485022 0.00066600 + 2 61.996430 0.00626900 + 3 40.117132 -0.04660300 + 4 20.119649 0.05039900 + 5 10.171676 0.36349300 + 6 5.601641 -0.24284000 + 7 2.864122 -0.38228100 + 8 1.592779 -0.86156700 + 9 0.826525 0.70607700 + 10 0.263975 1.49500100 + 11 0.145302 -0.45399400 + 12 0.068195 -0.59782200 + 13 0.031465 -0.25611700 +S 1 + 1 0.031465 1.00000000 +P 13 + 1 158.770986 -0.00015300 + 2 75.802876 0.00189300 + 3 44.547824 0.01046100 + 4 31.445269 -0.04514100 + 5 13.080125 -0.08420100 + 6 7.788616 0.10497300 + 7 4.195040 0.30771400 + 8 2.362276 0.36856300 + 9 1.302584 0.28633600 + 10 0.660704 0.09515600 + 11 0.249042 0.00585100 + 12 0.091781 -0.00003400 + 13 0.048931 0.00025200 +P 13 + 1 158.770986 0.00005300 + 2 75.802876 -0.00057100 + 3 44.547824 -0.00107300 + 4 31.445269 0.00746300 + 5 13.080125 0.01867600 + 6 7.788616 -0.02809000 + 7 4.195040 -0.05443800 + 8 2.362276 -0.09374400 + 9 1.302584 -0.05416900 + 10 0.660704 -0.00797200 + 11 0.249042 0.35619800 + 12 0.091781 0.41239900 + 13 0.048931 0.36132100 +P 13 + 1 158.770986 -0.00017000 + 2 75.802876 0.00060400 + 3 44.547824 -0.01998700 + 4 31.445269 0.06115300 + 5 13.080125 0.06731700 + 6 7.788616 -0.13921100 + 7 4.195040 -0.52704100 + 8 2.362276 -0.17619400 + 9 1.302584 0.03712900 + 10 0.660704 1.07932200 + 11 0.249042 -0.05014900 + 12 0.091781 -0.68897100 + 13 0.048931 0.03733100 +P 1 + 1 0.048931 1.00000000 +D 11 + 1 270.014061 -0.00001600 + 2 100.161579 0.00069600 + 3 43.530609 0.01353600 + 4 21.262419 0.06935000 + 5 10.577821 0.14955900 + 6 5.343620 0.23958800 + 7 2.704857 0.28674400 + 8 1.353018 0.27145900 + 9 0.660873 0.20242600 + 10 0.309149 0.10330700 + 11 0.133879 0.02321100 +D 11 + 1 270.014061 0.00001300 + 2 100.161579 -0.00088900 + 3 43.530609 -0.01864000 + 4 21.262419 -0.09464600 + 5 10.577821 -0.21565900 + 6 5.343620 -0.32246900 + 7 2.704857 -0.19752900 + 8 1.353018 0.16444800 + 9 0.660873 0.41001700 + 10 0.309149 0.32783800 + 11 0.133879 0.10574900 +D 1 + 1 0.133879 1.00000000 +F 1 + 1 3.171936 1.00000000 +S 1 + 1 1.375940 1.00000000 +S 1 + 1 5.098898 1.00000000 +P 1 + 1 1.706665 1.00000000 +P 1 + 1 7.892989 1.00000000 +D 1 + 1 2.029918 1.00000000 +D 1 + 1 4.655140 1.00000000 +F 1 + 1 8.867564 1.00000000 + diff --git a/data/basis/cc-pcvqz_ecp_ccecp b/data/basis/cc-pcvqz_ecp_ccecp new file mode 100644 index 00000000..801cc645 --- /dev/null +++ b/data/basis/cc-pcvqz_ecp_ccecp @@ -0,0 +1,2508 @@ +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 +S 1 + 1 4.191649 1.00000000 +S 1 + 1 2.136485 1.00000000 +S 1 + 1 1.088967 1.00000000 +S 1 + 1 0.555047 1.00000000 +S 1 + 1 0.150724 1.00000000 +S 1 + 1 0.069050 1.00000000 +S 1 + 1 0.031633 1.00000000 +S 1 + 1 0.014492 1.00000000 +P 1 + 1 2.641303 1.00000000 +P 1 + 1 1.229180 1.00000000 +P 1 + 1 0.572022 1.00000000 +P 1 + 1 0.266201 1.00000000 +P 1 + 1 0.071025 1.00000000 +P 1 + 1 0.035889 1.00000000 +P 1 + 1 0.018135 1.00000000 +P 1 + 1 0.009164 1.00000000 +D 1 + 1 2.999124 1.00000000 +D 1 + 1 1.312519 1.00000000 +D 1 + 1 0.574403 1.00000000 +D 1 + 1 0.063256 1.00000000 +D 1 + 1 0.023163 1.00000000 +D 1 + 1 0.008482 1.00000000 +F 1 + 1 1.803234 1.00000000 +F 1 + 1 0.760278 1.00000000 +F 1 + 1 0.123997 1.00000000 +F 1 + 1 0.062758 1.00000000 +G 1 + 1 1.319213 1.00000000 +G 1 + 1 0.011607 1.00000000 + +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 4.502074 1.00000000 +S 1 + 1 2.275854 1.00000000 +S 1 + 1 1.150472 1.00000000 +S 1 + 1 0.581578 1.00000000 +S 1 + 1 0.299840 1.00000000 +S 1 + 1 0.087500 1.00000000 +S 1 + 1 0.042030 1.00000000 +S 1 + 1 0.019731 1.00000000 +P 1 + 1 3.909234 1.00000000 +P 1 + 1 2.021526 1.00000000 +P 1 + 1 1.045362 1.00000000 +P 1 + 1 0.540573 1.00000000 +P 1 + 1 0.228266 1.00000000 +P 1 + 1 0.092361 1.00000000 +P 1 + 1 0.041625 1.00000000 +P 1 + 1 0.018573 1.00000000 +D 1 + 1 2.531844 1.00000000 +D 1 + 1 1.361957 1.00000000 +D 1 + 1 0.732638 1.00000000 +D 1 + 1 0.267718 1.00000000 +D 1 + 1 0.091527 1.00000000 +D 1 + 1 0.030733 1.00000000 +F 1 + 1 2.643539 1.00000000 +F 1 + 1 1.288079 1.00000000 +F 1 + 1 0.501100 1.00000000 +F 1 + 1 0.116000 1.00000000 +G 1 + 1 1.638534 1.00000000 +G 1 + 1 0.143100 1.00000000 + +SCANDIUM +S 13 + 1 66.882574 0.00055300 + 2 33.776681 -0.00511500 + 3 18.185884 0.00416100 + 4 11.748619 0.12160300 + 5 6.895190 -0.27013700 + 6 3.222124 -0.32441000 + 7 1.772120 0.29116200 + 8 0.841163 0.62893100 + 9 0.471976 0.27340600 + 10 0.313224 0.13535200 + 11 0.101013 0.00804100 + 12 0.049071 -0.00261000 + 13 0.022782 0.00059700 +S 13 + 1 66.882574 -0.00013900 + 2 33.776681 0.00134500 + 3 18.185884 -0.00144500 + 4 11.748619 -0.03208200 + 5 6.895190 0.07550600 + 6 3.222124 0.08992700 + 7 1.772120 -0.09008600 + 8 0.841163 -0.21644400 + 9 0.471976 -0.17925000 + 10 0.313224 -0.12816000 + 11 0.101013 0.33793500 + 12 0.049071 0.60918100 + 13 0.022782 0.24418100 +S 13 + 1 66.882574 -0.00067900 + 2 33.776681 0.00545600 + 3 18.185884 -0.01668400 + 4 11.748619 -0.03173900 + 5 6.895190 0.10956000 + 6 3.222124 0.23329300 + 7 1.772120 -0.31020700 + 8 0.841163 -0.24508300 + 9 0.471976 -1.17524800 + 10 0.313224 1.03235900 + 11 0.101013 1.59903900 + 12 0.049071 -0.62399000 + 13 0.022782 -0.84749800 +S 13 + 1 66.882574 -0.00145200 + 2 33.776681 0.01136200 + 3 18.185884 -0.03987600 + 4 11.748619 -0.02581000 + 5 6.895190 0.15794300 + 6 3.222124 0.45286800 + 7 1.772120 -0.76658700 + 8 0.841163 -0.60780000 + 9 0.471976 -1.71600200 + 10 0.313224 3.61400300 + 11 0.101013 -0.56948000 + 12 0.049071 -2.25596700 + 13 0.022782 1.91016000 +S 13 + 1 66.882574 0.00043000 + 2 33.776681 -0.00113700 + 3 18.185884 0.02081200 + 4 11.748619 -0.18957800 + 5 6.895190 0.43867600 + 6 3.222124 0.26761800 + 7 1.772120 -0.73280800 + 8 0.841163 -3.04424000 + 9 0.471976 5.47606700 + 10 0.313224 -1.01760200 + 11 0.101013 -5.01443900 + 12 0.049071 6.15979200 + 13 0.022782 -2.69036800 +S 1 + 1 0.022782 1.00000000 +P 13 + 1 77.690832 0.00008800 + 2 39.751864 -0.00075400 + 3 20.615633 0.00658400 + 4 11.537150 -0.00718900 + 5 7.597186 -0.06890300 + 6 3.765117 -0.01384200 + 7 2.051006 0.24870400 + 8 1.048648 0.43432800 + 9 0.550231 0.32690600 + 10 0.303840 0.10461700 + 11 0.165809 0.01851200 + 12 0.060419 0.00139500 + 13 0.024751 0.00009300 +P 13 + 1 77.690832 0.00001700 + 2 39.751864 -0.00002600 + 3 20.615633 -0.00086100 + 4 11.537150 -0.00048300 + 5 7.597186 0.02136400 + 6 3.765117 -0.00370600 + 7 2.051006 -0.05871800 + 8 1.048648 -0.14336400 + 9 0.550231 -0.07728000 + 10 0.303840 -0.10776400 + 11 0.165809 0.32285900 + 12 0.060419 0.62172600 + 13 0.024751 0.25378700 +P 13 + 1 77.690832 -0.00006300 + 2 39.751864 0.00054900 + 3 20.615633 -0.00512000 + 4 11.537150 0.00701100 + 5 7.597186 0.05366100 + 6 3.765117 0.00357400 + 7 2.051006 -0.23586100 + 8 1.048648 -0.49480100 + 9 0.550231 -0.22957500 + 10 0.303840 0.91797300 + 11 0.165809 0.62115500 + 12 0.060419 -0.82464800 + 13 0.024751 -0.15759200 +P 13 + 1 77.690832 -0.00024300 + 2 39.751864 0.00156800 + 3 20.615633 -0.00955400 + 4 11.537150 0.01802000 + 5 7.597186 0.05100800 + 6 3.765117 0.04328000 + 7 2.051006 -0.40417800 + 8 1.048648 -0.82490400 + 9 0.550231 0.71001400 + 10 0.303840 2.22525500 + 11 0.165809 -2.74290300 + 12 0.060419 0.58142300 + 13 0.024751 0.48091000 +P 13 + 1 77.690832 -0.00025600 + 2 39.751864 0.00108400 + 3 20.615633 0.00040000 + 4 11.537150 0.02195600 + 5 7.597186 -0.16269400 + 6 3.765117 0.00037100 + 7 2.051006 1.05365400 + 8 1.048648 0.65865100 + 9 0.550231 -4.72226800 + 10 0.303840 5.40799300 + 11 0.165809 -2.00216600 + 12 0.060419 -0.71482200 + 13 0.024751 0.92680100 +P 1 + 1 0.024751 1.00000000 +D 11 + 1 60.996829 0.00005600 + 2 22.097637 0.00505400 + 3 10.186744 0.03222300 + 4 4.633892 0.08247900 + 5 2.146927 0.15936300 + 6 1.014536 0.22860400 + 7 0.487206 0.24369100 + 8 0.248191 0.23165100 + 9 0.131273 0.19543100 + 10 0.063714 0.21458900 + 11 0.021542 0.07411300 +D 11 + 1 60.996829 -0.00007200 + 2 22.097637 -0.00607900 + 3 10.186744 -0.03905400 + 4 4.633892 -0.10065200 + 5 2.146927 -0.19433000 + 6 1.014536 -0.25355600 + 7 0.487206 -0.21355600 + 8 0.248191 0.05418200 + 9 0.131273 0.26118800 + 10 0.063714 0.52021500 + 11 0.021542 0.16690700 +D 11 + 1 60.996829 0.00005400 + 2 22.097637 0.00819500 + 3 10.186744 0.05007300 + 4 4.633892 0.13617400 + 5 2.146927 0.24651600 + 6 1.014536 0.25815800 + 7 0.487206 -0.12479900 + 8 0.248191 -0.43908100 + 9 0.131273 -0.47534700 + 10 0.063714 0.52718700 + 11 0.021542 0.47337300 +D 11 + 1 60.996829 -0.00013200 + 2 22.097637 -0.01019500 + 3 10.186744 -0.06681500 + 4 4.633892 -0.17925500 + 5 2.146927 -0.33873300 + 6 1.014536 -0.14578400 + 7 0.487206 0.70044400 + 8 0.248191 0.51197600 + 9 0.131273 -1.01912300 + 10 0.063714 -0.09222100 + 11 0.021542 0.69667500 +D 1 + 1 0.021542 1.00000000 +F 1 + 1 0.121673 1.00000000 +F 1 + 1 0.423707 1.00000000 +F 1 + 1 1.475494 1.00000000 +G 1 + 1 0.318017 1.00000000 +G 1 + 1 0.652356 1.00000000 +H 1 + 1 3.057835 1.00000000 +S 1 + 1 2.944740 1.00000000 +S 1 + 1 3.520437 1.00000000 +P 1 + 1 1.079934 1.00000000 +P 1 + 1 3.608023 1.00000000 +D 1 + 1 1.246811 1.00000000 +D 1 + 1 2.093727 1.00000000 +F 1 + 1 3.174444 1.00000000 +G 1 + 1 2.256684 1.00000000 +H 1 + 1 2.610600 1.00000000 + +TITANIUM +S 13 + 1 68.910511 0.00061600 + 2 33.720700 -0.00750100 + 3 18.159676 0.01221800 + 4 12.419305 0.14473900 + 5 7.532195 -0.32862100 + 6 3.504444 -0.31751700 + 7 1.910727 0.35742200 + 8 0.888840 0.67140600 + 9 0.447198 0.28222600 + 10 0.281192 0.03867300 + 11 0.100258 0.00455900 + 12 0.046525 -0.00156500 + 13 0.021840 0.00039800 +S 13 + 1 68.910511 -0.00015600 + 2 33.720700 0.00196600 + 3 18.159676 -0.00399400 + 4 12.419305 -0.03637700 + 5 7.532195 0.08859300 + 6 3.504444 0.08563000 + 7 1.910727 -0.10599300 + 8 0.888840 -0.23742100 + 9 0.447198 -0.23535900 + 10 0.281192 -0.01296000 + 11 0.100258 0.43358200 + 12 0.046525 0.57787300 + 13 0.021840 0.16436000 +S 13 + 1 68.910511 0.00063500 + 2 33.720700 -0.00646800 + 3 18.159676 0.02344400 + 4 12.419305 0.03892100 + 5 7.532195 -0.14118000 + 6 3.504444 -0.21476500 + 7 1.910727 0.32015100 + 8 0.888840 0.45106200 + 9 0.447198 0.85519100 + 10 0.281192 -1.20922400 + 11 0.100258 -1.31948100 + 12 0.046525 0.86651700 + 13 0.021840 0.61891600 +S 13 + 1 68.910511 -0.00117800 + 2 33.720700 0.01187700 + 3 18.159676 -0.04724000 + 4 12.419305 -0.05092200 + 5 7.532195 0.23774600 + 6 3.504444 0.40318500 + 7 1.910727 -0.79096100 + 8 0.888840 -1.10227600 + 9 0.447198 0.20944600 + 10 0.281192 2.52735200 + 11 0.100258 -1.78904100 + 12 0.046525 -0.86784200 + 13 0.021840 1.42739500 +S 13 + 1 68.910511 0.00011500 + 2 33.720700 0.00283300 + 3 18.159676 0.00614100 + 4 12.419305 -0.20968200 + 5 7.532195 0.51836700 + 6 3.504444 0.30416400 + 7 1.910727 -1.23286300 + 8 0.888840 -2.09050800 + 9 0.447198 7.09271500 + 10 0.281192 -4.54374400 + 11 0.100258 -2.24827000 + 12 0.046525 4.47391800 + 13 0.021840 -2.42629600 +S 1 + 1 0.021840 1.00000000 +P 13 + 1 84.914002 0.00009300 + 2 42.855051 -0.00083600 + 3 21.700131 0.00867900 + 4 12.214690 -0.01117800 + 5 8.319164 -0.07776700 + 6 4.091071 -0.00611300 + 7 2.286543 0.27182800 + 8 1.159810 0.45958500 + 9 0.591343 0.31590000 + 10 0.312862 0.07168300 + 11 0.184828 0.01054100 + 12 0.068590 0.00004500 + 13 0.026791 -0.00083700 +P 13 + 1 84.914002 0.00002000 + 2 42.855051 -0.00004900 + 3 21.700131 -0.00076100 + 4 12.214690 -0.00057500 + 5 8.319164 0.01828400 + 6 4.091071 -0.00594300 + 7 2.286543 -0.04321200 + 8 1.159810 -0.11251300 + 9 0.591343 -0.05207300 + 10 0.312862 -0.09226300 + 11 0.184828 0.24394600 + 12 0.068590 0.41310100 + 13 0.026791 0.54398500 +P 13 + 1 84.914002 0.00001900 + 2 42.855051 0.00013800 + 3 21.700131 -0.00462200 + 4 12.214690 0.00446500 + 5 8.319164 0.06576000 + 6 4.091071 -0.01892700 + 7 2.286543 -0.22252400 + 8 1.159810 -0.52389000 + 9 0.591343 -0.07127700 + 10 0.312862 0.81271200 + 11 0.184828 0.62549800 + 12 0.068590 -0.81218900 + 13 0.026791 -0.18579600 +P 13 + 1 84.914002 -0.00025700 + 2 42.855051 0.00172500 + 3 21.700131 -0.01264600 + 4 12.214690 0.02906200 + 5 8.319164 0.05897900 + 6 4.091071 0.03080600 + 7 2.286543 -0.52437300 + 8 1.159810 -0.72096800 + 9 0.591343 1.02320400 + 10 0.312862 1.97387400 + 11 0.184828 -2.80509200 + 12 0.068590 0.60795400 + 13 0.026791 0.44765300 +P 13 + 1 84.914002 0.00027100 + 2 42.855051 -0.00190200 + 3 21.700131 0.01541200 + 4 12.214690 -0.03758600 + 5 8.319164 -0.12453600 + 6 4.091071 0.04081200 + 7 2.286543 1.34382300 + 8 1.159810 -0.26941100 + 9 0.591343 -3.72959000 + 10 0.312862 5.88498300 + 11 0.184828 -3.11385300 + 12 0.068590 -0.25697300 + 13 0.026791 0.71073300 +P 1 + 1 0.026791 1.00000000 +D 11 + 1 77.434559 0.00002200 + 2 27.708477 0.00421800 + 3 12.914284 0.03008700 + 4 6.062674 0.08482100 + 5 2.863898 0.17111000 + 6 1.386559 0.24745100 + 7 0.677058 0.27731000 + 8 0.329864 0.26107700 + 9 0.159474 0.19033600 + 10 0.076174 0.11938500 + 11 0.028570 0.03129700 +D 11 + 1 77.434559 -0.00002500 + 2 27.708477 -0.00431100 + 3 12.914284 -0.03091300 + 4 6.062674 -0.08804900 + 5 2.863898 -0.17833000 + 6 1.386559 -0.23433500 + 7 0.677058 -0.19577500 + 8 0.329864 0.06587200 + 9 0.159474 0.33053600 + 10 0.076174 0.46122900 + 11 0.028570 0.18427300 +D 11 + 1 77.434559 0.00001000 + 2 27.708477 0.00618700 + 3 12.914284 0.04263000 + 4 6.062674 0.12752400 + 5 2.863898 0.24828900 + 6 1.386559 0.25976100 + 7 0.677058 -0.07079400 + 8 0.329864 -0.51939600 + 9 0.159474 -0.37365800 + 10 0.076174 0.45506700 + 11 0.028570 0.48958600 +D 11 + 1 77.434559 0.00001100 + 2 27.708477 -0.00802600 + 3 12.914284 -0.05387500 + 4 6.062674 -0.16879500 + 5 2.863898 -0.31234400 + 6 1.386559 -0.17203100 + 7 0.677058 0.58763300 + 8 0.329864 0.52859200 + 9 0.159474 -0.85964400 + 10 0.076174 -0.27383100 + 11 0.028570 0.80275400 +D 1 + 1 0.028570 1.00000000 +F 1 + 1 0.193613 1.00000000 +F 1 + 1 0.675430 1.00000000 +F 1 + 1 2.356279 1.00000000 +G 1 + 1 0.402576 1.00000000 +G 1 + 1 1.597247 1.00000000 +H 1 + 1 0.848174 1.00000000 +S 1 + 1 1.523349 1.00000000 +S 1 + 1 1.707554 1.00000000 +P 1 + 1 1.270037 1.00000000 +P 1 + 1 4.415783 1.00000000 +D 1 + 1 1.527212 1.00000000 +D 1 + 1 2.503695 1.00000000 +F 1 + 1 3.304687 1.00000000 +G 1 + 1 3.520886 1.00000000 +H 1 + 1 2.900797 1.00000000 + +VANADIUM +S 13 + 1 68.577621 0.00080400 + 2 34.937147 -0.01159400 + 3 17.939491 0.09220900 + 4 11.262123 -0.04547700 + 5 6.776264 -0.28798300 + 6 3.524091 -0.21764800 + 7 1.938421 0.40750900 + 8 0.927153 0.65819300 + 9 0.448420 0.25523400 + 10 0.209668 0.00862000 + 11 0.103660 0.00273400 + 12 0.050630 -0.00116100 + 13 0.024201 0.00029400 +S 13 + 1 68.577621 -0.00017700 + 2 34.937147 0.00279100 + 3 17.939491 -0.02365000 + 4 11.262123 0.01250400 + 5 6.776264 0.07876100 + 6 3.524091 0.05497400 + 7 1.938421 -0.11895500 + 8 0.927153 -0.24534100 + 9 0.448420 -0.22295900 + 10 0.209668 0.04780900 + 11 0.103660 0.41537400 + 12 0.050630 0.54088000 + 13 0.024201 0.18342100 +S 13 + 1 68.577621 -0.00058300 + 2 34.937147 0.00957000 + 3 17.939491 -0.08560600 + 4 11.262123 0.04842600 + 5 6.776264 0.33123900 + 6 3.524091 0.14035200 + 7 1.938421 -0.90796200 + 8 0.927153 -0.50387800 + 9 0.448420 0.39893800 + 10 0.209668 0.97113100 + 11 0.103660 0.42399900 + 12 0.050630 -0.62864600 + 13 0.024201 -0.46749500 +S 13 + 1 68.577621 -0.00076500 + 2 34.937147 0.01452900 + 3 17.939491 -0.13961800 + 4 11.262123 0.06307300 + 5 6.776264 0.70419300 + 6 3.524091 -0.01160200 + 7 1.938421 -2.31160400 + 8 0.927153 0.76826900 + 9 0.448420 2.16892000 + 10 0.209668 -1.06267100 + 11 0.103660 -1.21815100 + 12 0.050630 0.34080900 + 13 0.024201 0.71332200 +S 13 + 1 68.577621 -0.00356700 + 2 34.937147 0.01000700 + 3 17.939491 0.04020200 + 4 11.262123 0.34329500 + 5 6.776264 -2.09702200 + 6 3.524091 2.80403900 + 7 1.938421 1.20663800 + 8 0.927153 -4.50572400 + 9 0.448420 2.15832500 + 10 0.209668 2.12989200 + 11 0.103660 -2.26503700 + 12 0.050630 -0.68105100 + 13 0.024201 1.25786200 +S 1 + 1 0.024201 1.00000000 +P 13 + 1 96.215967 0.00006900 + 2 49.579340 -0.00067200 + 3 25.638009 0.00819900 + 4 14.025942 -0.02710800 + 5 8.740334 -0.05302100 + 6 4.634840 0.00500200 + 7 2.553374 0.26198600 + 8 1.321166 0.43354400 + 9 0.681285 0.32494700 + 10 0.349458 0.09234200 + 11 0.172773 0.00896400 + 12 0.063300 0.00118500 + 13 0.033969 0.00010400 +P 13 + 1 96.215967 0.00004000 + 2 49.579340 -0.00013300 + 3 25.638009 -0.00095500 + 4 14.025942 0.00371900 + 5 8.740334 0.01886600 + 6 4.634840 -0.01207400 + 7 2.553374 -0.05710700 + 8 1.321166 -0.14643300 + 9 0.681285 -0.06736500 + 10 0.349458 -0.06825400 + 11 0.172773 0.40310300 + 12 0.063300 0.50266800 + 13 0.033969 0.26129100 +P 13 + 1 96.215967 -0.00005300 + 2 49.579340 0.00002300 + 3 25.638009 0.00462900 + 4 14.025942 -0.00775500 + 5 8.740334 -0.10413300 + 6 4.634840 -0.01776200 + 7 2.553374 0.72821200 + 8 1.321166 0.21882600 + 9 0.681285 -0.49322300 + 10 0.349458 -0.83819200 + 11 0.172773 0.39840100 + 12 0.063300 0.66458900 + 13 0.033969 0.03301100 +P 13 + 1 96.215967 -0.00126200 + 2 49.579340 0.00641900 + 3 25.638009 -0.02122900 + 4 14.025942 0.11577700 + 5 8.740334 -0.42074000 + 6 4.634840 0.19774200 + 7 2.553374 1.57560000 + 8 1.321166 -1.06791300 + 9 0.681285 -1.31008300 + 10 0.349458 1.19114700 + 11 0.172773 0.55051600 + 12 0.063300 -0.71878800 + 13 0.033969 -0.15744100 +P 13 + 1 96.215967 -0.00478000 + 2 49.579340 0.02531200 + 3 25.638009 -0.09426700 + 4 14.025942 0.43789600 + 5 8.740334 -1.44316600 + 6 4.634840 2.63678000 + 7 2.553374 -0.38243600 + 8 1.321166 -2.76188100 + 9 0.681285 2.15975600 + 10 0.349458 0.67615100 + 11 0.172773 -1.62151700 + 12 0.063300 0.42916400 + 13 0.033969 0.40017800 +P 1 + 1 0.033969 1.00000000 +D 11 + 1 89.989649 0.00005100 + 2 33.132961 0.00480400 + 3 15.879656 0.02948500 + 4 7.465803 0.08624900 + 5 3.551993 0.17972800 + 6 1.728185 0.26185000 + 7 0.850498 0.29179400 + 8 0.417673 0.25935600 + 9 0.201523 0.17494400 + 10 0.100711 0.06227800 + 11 0.058959 0.02765300 +D 11 + 1 89.989649 -0.00003800 + 2 33.132961 -0.00459000 + 3 15.879656 -0.02756300 + 4 7.465803 -0.08277500 + 5 3.551993 -0.17349400 + 6 1.728185 -0.23618800 + 7 0.850498 -0.14922600 + 8 0.417673 0.04414500 + 9 0.201523 0.39050000 + 10 0.100711 0.20306400 + 11 0.058959 0.39800200 +D 11 + 1 89.989649 0.00012800 + 2 33.132961 0.00665200 + 3 15.879656 0.04463500 + 4 7.465803 0.12255900 + 5 3.551993 0.31114700 + 6 1.728185 0.28881300 + 7 0.850498 -0.14224600 + 8 0.417673 -0.61373700 + 9 0.201523 -0.12391600 + 10 0.100711 -0.02023500 + 11 0.058959 0.73325900 +D 11 + 1 89.989649 0.00004500 + 2 33.132961 -0.01039400 + 3 15.879656 -0.05505100 + 4 7.465803 -0.17145700 + 5 3.551993 -0.51992200 + 6 1.728185 0.09902600 + 7 0.850498 0.82933200 + 8 0.417673 -0.07090800 + 9 0.201523 -0.47117100 + 10 0.100711 -0.87878900 + 11 0.058959 1.21174700 +D 1 + 1 0.058959 1.00000000 +F 1 + 1 0.309164 1.00000000 +F 1 + 1 1.028253 1.00000000 +F 1 + 1 3.419885 1.00000000 +G 1 + 1 0.946128 1.00000000 +G 1 + 1 3.081804 1.00000000 +H 1 + 1 2.514905 1.00000000 +S 1 + 1 0.820525 1.00000000 +S 1 + 1 1.521457 1.00000000 +P 1 + 1 2.371806 1.00000000 +P 1 + 1 5.892088 1.00000000 +D 1 + 1 2.679882 1.00000000 +D 1 + 1 3.248775 1.00000000 +F 1 + 1 2.371670 1.00000000 +G 1 + 1 3.899112 1.00000000 +H 1 + 1 4.872470 1.00000000 + +CHROMIUM +S 13 + 1 73.977737 0.00086400 + 2 37.684349 -0.01159500 + 3 19.278723 0.09046700 + 4 12.130763 -0.02483700 + 5 7.453002 -0.33040700 + 6 3.756296 -0.20059800 + 7 2.084137 0.44976600 + 8 0.993314 0.64757500 + 9 0.483094 0.22902500 + 10 0.225854 0.00921700 + 11 0.115338 0.00113200 + 12 0.052134 -0.00036700 + 13 0.023679 0.00009200 +S 13 + 1 73.977737 -0.00018300 + 2 37.684349 0.00270400 + 3 19.278723 -0.02265000 + 4 12.130763 0.00718100 + 5 7.453002 0.08770500 + 6 3.756296 0.04761600 + 7 2.084137 -0.12567200 + 8 0.993314 -0.24457100 + 9 0.483094 -0.19841900 + 10 0.225854 0.03088900 + 11 0.115338 0.42393500 + 12 0.052134 0.57694100 + 13 0.023679 0.14832300 +S 13 + 1 73.977737 -0.00032700 + 2 37.684349 0.00530900 + 3 19.278723 -0.04690500 + 4 12.130763 0.01541100 + 5 7.453002 0.19169700 + 6 3.756296 0.09975900 + 7 2.084137 -0.33899400 + 8 0.993314 -0.69580600 + 9 0.483094 -0.00731500 + 10 0.225854 1.11859900 + 11 0.115338 0.71725700 + 12 0.052134 -0.86856500 + 13 0.023679 -0.46718600 +S 13 + 1 73.977737 -0.00069800 + 2 37.684349 0.01020700 + 3 19.278723 -0.09126100 + 4 12.130763 0.05220700 + 5 7.453002 0.34216400 + 6 3.756296 0.17486600 + 7 2.084137 -0.99425800 + 8 0.993314 -1.19060400 + 9 0.483094 2.27183400 + 10 0.225854 1.00301300 + 11 0.115338 -2.60523500 + 12 0.052134 0.26515800 + 13 0.023679 0.90228600 +S 13 + 1 73.977737 0.00298300 + 2 37.684349 -0.02696900 + 3 19.278723 0.19930400 + 4 12.130763 -0.25709400 + 5 7.453002 -0.31292400 + 6 3.756296 -0.37282300 + 7 2.084137 2.61267600 + 8 0.993314 -1.10831900 + 9 0.483094 -3.52097300 + 10 0.225854 5.38631500 + 11 0.115338 -1.94819200 + 12 0.052134 -1.98569900 + 13 0.023679 1.70618700 +S 1 + 1 0.023679 1.00000000 +P 13 + 1 101.951240 0.00008800 + 2 52.309865 -0.00074700 + 3 27.142574 0.00713500 + 4 15.066862 -0.01470200 + 5 9.693669 -0.07335300 + 6 4.985710 0.01200700 + 7 2.761266 0.28311700 + 8 1.417673 0.44078600 + 9 0.728201 0.30677500 + 10 0.378189 0.08180400 + 11 0.189359 0.00883900 + 12 0.072301 0.00102200 + 13 0.037471 0.00032500 +P 13 + 1 101.951240 0.00002800 + 2 52.309865 -0.00008500 + 3 27.142574 -0.00075100 + 4 15.066862 0.00084400 + 5 9.693669 0.02265600 + 6 4.985710 -0.01278100 + 7 2.761266 -0.06238600 + 8 1.417673 -0.14358100 + 9 0.728201 -0.06228100 + 10 0.378189 -0.05447100 + 11 0.189359 0.37713500 + 12 0.072301 0.47163300 + 13 0.037471 0.31162400 +P 13 + 1 101.951240 -0.00013700 + 2 52.309865 0.00093200 + 3 27.142574 -0.00684500 + 4 15.066862 0.01983100 + 5 9.693669 0.04364700 + 6 4.985710 -0.01928900 + 7 2.761266 -0.28118700 + 8 1.417673 -0.37029800 + 9 0.728201 -0.19987300 + 10 0.378189 1.02855200 + 11 0.189359 0.42371100 + 12 0.072301 -0.80092600 + 13 0.037471 -0.14191000 +P 13 + 1 101.951240 0.00002700 + 2 52.309865 0.00018000 + 3 27.142574 -0.00574200 + 4 15.066862 0.02041900 + 5 9.693669 0.10052700 + 6 4.985710 -0.10060800 + 7 2.761266 -0.60774600 + 8 1.417673 -0.60170500 + 9 0.728201 1.45090500 + 10 0.378189 0.67229900 + 11 0.189359 -1.90482300 + 12 0.072301 0.66581400 + 13 0.037471 0.34852200 +P 13 + 1 101.951240 0.00053400 + 2 52.309865 -0.00333900 + 3 27.142574 0.01766200 + 4 15.066862 -0.08424900 + 5 9.693669 -0.08077700 + 6 4.985710 0.27239200 + 7 2.761266 1.31045500 + 8 1.417673 -1.06179300 + 9 0.728201 -2.37680500 + 10 0.378189 4.47731700 + 11 0.189359 -2.79579800 + 12 0.072301 0.20300800 + 13 0.037471 0.57055500 +P 1 + 1 0.037471 1.00000000 +D 11 + 1 120.683729 -0.00000600 + 2 42.646591 0.00311100 + 3 21.154405 0.02864100 + 4 9.708242 0.07622200 + 5 4.614990 0.17059500 + 6 2.243726 0.26690800 + 7 1.086491 0.31103900 + 8 0.524700 0.26731200 + 9 0.255752 0.16333600 + 10 0.121497 0.06278200 + 11 0.054339 0.00787200 +D 11 + 1 120.683729 0.00001700 + 2 42.646591 -0.00357600 + 3 21.154405 -0.03147600 + 4 9.708242 -0.08758300 + 5 4.614990 -0.19574000 + 6 2.243726 -0.27013200 + 7 1.086491 -0.17003400 + 8 0.524700 0.14341200 + 9 0.255752 0.40868700 + 10 0.121497 0.37025700 + 11 0.054339 0.12311200 +D 11 + 1 120.683729 0.00004000 + 2 42.646591 -0.00518100 + 3 21.154405 -0.04339300 + 4 9.708242 -0.12773400 + 5 4.614990 -0.28207000 + 6 2.243726 -0.28839000 + 7 1.086491 0.16826900 + 8 0.524700 0.67306200 + 9 0.255752 0.09919600 + 10 0.121497 -0.57061200 + 11 0.054339 -0.29719700 +D 11 + 1 120.683729 0.00011900 + 2 42.646591 -0.00795400 + 3 21.154405 -0.06042500 + 4 9.708242 -0.19681000 + 5 4.614990 -0.40138900 + 6 2.243726 -0.07218600 + 7 1.086491 0.94089500 + 8 0.524700 0.03586300 + 9 0.255752 -1.15352900 + 10 0.121497 0.43219200 + 11 0.054339 0.48316100 +D 1 + 1 0.054339 1.00000000 +F 1 + 1 0.342104 1.00000000 +F 1 + 1 1.160895 1.00000000 +F 1 + 1 3.939379 1.00000000 +G 1 + 1 0.715513 1.00000000 +G 1 + 1 2.693396 1.00000000 +H 1 + 1 1.706513 1.00000000 +S 1 + 1 1.569123 1.00000000 +S 1 + 1 2.404948 1.00000000 +P 1 + 1 1.704263 1.00000000 +P 1 + 1 5.834098 1.00000000 +D 1 + 1 2.459131 1.00000000 +D 1 + 1 3.320540 1.00000000 +F 1 + 1 2.544401 1.00000000 +G 1 + 1 5.007964 1.00000000 +H 1 + 1 4.457403 1.00000000 + +MANGANESE +S 13 + 1 76.008334 0.00099300 + 2 39.277974 -0.01479600 + 3 20.405805 0.12071000 + 4 12.218680 -0.12400100 + 5 7.182690 -0.32020000 + 6 3.850780 -0.10562200 + 7 2.142489 0.47272100 + 8 1.049631 0.62038700 + 9 0.508682 0.20455300 + 10 0.192243 0.00592400 + 11 0.108899 -0.00009700 + 12 0.053425 -0.00018500 + 13 0.025236 0.00006100 +S 13 + 1 76.008334 -0.00019900 + 2 39.277974 0.00335200 + 3 20.405805 -0.02941300 + 4 12.218680 0.03209100 + 5 7.182690 0.08315200 + 6 3.850780 0.02128300 + 7 2.142489 -0.12998900 + 8 1.049631 -0.23900600 + 9 0.508682 -0.18031500 + 10 0.192243 0.11014800 + 11 0.108899 0.40442600 + 12 0.053425 0.51730700 + 13 0.025236 0.14813900 +S 13 + 1 76.008334 -0.00009100 + 2 39.277974 0.00537400 + 3 20.405805 -0.05849400 + 4 12.218680 0.05634500 + 5 7.182690 0.22787400 + 6 3.850780 -0.00842000 + 7 2.142489 -0.32077700 + 8 1.049631 -0.81313700 + 9 0.508682 0.32647500 + 10 0.192243 1.44754000 + 11 0.108899 0.02132100 + 12 0.053425 -0.67832300 + 13 0.025236 -0.45282800 +S 13 + 1 76.008334 -0.00052600 + 2 39.277974 0.01138000 + 3 20.405805 -0.11603400 + 4 12.218680 0.14932900 + 5 7.182690 0.36015400 + 6 3.850780 0.02517400 + 7 2.142489 -1.17012500 + 8 1.049631 -0.87212300 + 9 0.508682 2.55063300 + 10 0.192243 0.09034300 + 11 0.108899 -2.21058800 + 12 0.053425 0.47058200 + 13 0.025236 0.83217500 +S 13 + 1 76.008334 0.00409700 + 2 39.277974 -0.03635300 + 3 20.405805 0.26570800 + 4 12.218680 -0.48518700 + 5 7.182690 -0.23228800 + 6 3.850780 -0.24179800 + 7 2.142489 3.38791800 + 8 1.049631 -3.26857300 + 9 0.508682 -0.83790100 + 10 0.192243 5.26227100 + 11 0.108899 -4.29984700 + 12 0.053425 -0.44524000 + 13 0.025236 1.29402600 +S 1 + 1 0.025236 1.00000000 +P 13 + 1 113.479709 0.00010300 + 2 58.160819 -0.00089400 + 3 30.043076 0.00884400 + 4 16.753323 -0.01968500 + 5 10.705604 -0.06919000 + 6 5.557903 0.01150800 + 7 3.080151 0.28231300 + 8 1.582963 0.43867800 + 9 0.810922 0.30984300 + 10 0.413396 0.08394500 + 11 0.195480 0.00751700 + 12 0.072688 0.00110000 + 13 0.035877 0.00029000 +P 13 + 1 113.479709 0.00001900 + 2 58.160819 -0.00002400 + 3 30.043076 -0.00122400 + 4 16.753323 0.00232000 + 5 10.705604 0.02075800 + 6 5.557903 -0.01157200 + 7 3.080151 -0.06291900 + 8 1.582963 -0.13675400 + 9 0.810922 -0.06729500 + 10 0.413396 -0.03102400 + 11 0.195480 0.37898100 + 12 0.072688 0.50782400 + 13 0.035877 0.26094100 +P 13 + 1 113.479709 -0.00019700 + 2 58.160819 0.00135400 + 3 30.043076 -0.01010200 + 4 16.753323 0.03060300 + 5 10.705604 0.04620000 + 6 5.557903 -0.01758800 + 7 3.080151 -0.39592000 + 8 1.582963 -0.41909300 + 9 0.810922 0.07501700 + 10 0.413396 1.09298600 + 11 0.195480 0.00868000 + 12 0.072688 -0.75636900 + 13 0.035877 -0.04514900 +P 13 + 1 113.479709 0.00001400 + 2 58.160819 0.00042100 + 3 30.043076 -0.00857300 + 4 16.753323 0.03879700 + 5 10.705604 0.09933800 + 6 5.557903 -0.14444500 + 7 3.080151 -0.82118200 + 8 1.582963 -0.25078500 + 9 0.810922 1.79017000 + 10 0.413396 -0.39954700 + 11 0.195480 -1.29438200 + 12 0.072688 0.84704700 + 13 0.035877 0.15171000 +P 13 + 1 113.479709 -0.00021400 + 2 58.160819 0.00186900 + 3 30.043076 -0.01439900 + 4 16.753323 0.08866300 + 5 10.705604 0.11611700 + 6 5.557903 -0.47666500 + 7 3.080151 -1.47189600 + 8 1.582963 2.46363500 + 9 0.810922 0.10250800 + 10 0.413396 -2.77460100 + 11 0.195480 2.43625400 + 12 0.072688 -0.61701900 + 13 0.035877 -0.32367600 +P 1 + 1 0.035877 1.00000000 +D 11 + 1 132.688182 0.00003000 + 2 45.266024 0.00529400 + 3 23.267336 0.02914300 + 4 10.605694 0.07677500 + 5 5.074684 0.16855100 + 6 2.469857 0.25683200 + 7 1.205883 0.28989100 + 8 0.590569 0.25715400 + 9 0.292055 0.18172600 + 10 0.149190 0.08998600 + 11 0.076511 0.03459500 +D 11 + 1 132.688182 -0.00002100 + 2 45.266024 -0.00544900 + 3 23.267336 -0.02903200 + 4 10.605694 -0.07982500 + 5 5.074684 -0.17441500 + 6 2.469857 -0.25340400 + 7 1.205883 -0.17430500 + 8 0.590569 0.04508100 + 9 0.292055 0.34576000 + 10 0.149190 0.26372500 + 11 0.076511 0.37171500 +D 11 + 1 132.688182 0.00006000 + 2 45.266024 0.00838500 + 3 23.267336 0.04580000 + 4 10.605694 0.12921500 + 5 5.074684 0.28432700 + 6 2.469857 0.27076000 + 7 1.205883 -0.10159100 + 8 0.590569 -0.58067700 + 9 0.292055 -0.18169600 + 10 0.149190 0.02100300 + 11 0.076511 0.72365800 +D 11 + 1 132.688182 -0.00003700 + 2 45.266024 -0.01080900 + 3 23.267336 -0.05558200 + 4 10.605694 -0.17205300 + 5 5.074684 -0.38188900 + 6 2.469857 -0.13039900 + 7 1.205883 0.81899300 + 8 0.590569 0.18014500 + 9 0.292055 -0.60472000 + 10 0.149190 -0.73358400 + 11 0.076511 1.05874100 +D 1 + 1 0.076511 1.00000000 +F 1 + 1 0.405052 1.00000000 +F 1 + 1 1.369701 1.00000000 +F 1 + 1 4.631705 1.00000000 +G 1 + 1 0.893773 1.00000000 +G 1 + 1 3.265719 1.00000000 +H 1 + 1 2.093484 1.00000000 +S 1 + 1 1.916448 1.00000000 +S 1 + 1 2.807571 1.00000000 +P 1 + 1 2.153887 1.00000000 +P 1 + 1 7.123182 1.00000000 +D 1 + 1 3.346946 1.00000000 +D 1 + 1 3.910783 1.00000000 +F 1 + 1 2.949498 1.00000000 +G 1 + 1 5.760733 1.00000000 +H 1 + 1 5.267512 1.00000000 + +IRON +S 13 + 1 84.322332 0.00078500 + 2 44.203528 -0.01278100 + 3 23.288963 0.10463500 + 4 13.385163 -0.11938500 + 5 7.518052 -0.33980400 + 6 4.101835 -0.04999400 + 7 2.253571 0.47695500 + 8 1.134924 0.59322200 + 9 0.561550 0.20015100 + 10 0.201961 0.00859100 + 11 0.108698 -0.00218800 + 12 0.053619 0.00067700 + 13 0.025823 -0.00014400 +S 13 + 1 84.322332 -0.00016200 + 2 44.203528 0.00292100 + 3 23.288963 -0.02546600 + 4 13.385163 0.03118200 + 5 7.518052 0.08684900 + 6 4.101835 0.00684600 + 7 2.253571 -0.13185600 + 8 1.134924 -0.22774600 + 9 0.561550 -0.17307900 + 10 0.201961 0.13614200 + 11 0.108698 0.43401300 + 12 0.053619 0.47755500 + 13 0.025823 0.12880400 +S 13 + 1 84.322332 0.00000200 + 2 44.203528 0.00410300 + 3 23.288963 -0.04684000 + 4 13.385163 0.05283300 + 5 7.518052 0.21809400 + 6 4.101835 -0.04499900 + 7 2.253571 -0.28738600 + 8 1.134924 -0.71322000 + 9 0.561550 0.24917400 + 10 0.201961 1.29987200 + 11 0.108698 0.19211900 + 12 0.053619 -0.65861600 + 13 0.025823 -0.52104700 +S 13 + 1 84.322332 0.00001200 + 2 44.203528 0.00759800 + 3 23.288963 -0.09413300 + 4 13.385163 0.12765500 + 5 7.518052 0.43559800 + 6 4.101835 -0.14791100 + 7 2.253571 -1.08447700 + 8 1.134924 -0.88700300 + 9 0.561550 2.44994600 + 10 0.201961 0.16797600 + 11 0.108698 -2.11466800 + 12 0.053619 0.45257900 + 13 0.025823 0.80144400 +S 13 + 1 84.322332 0.00330100 + 2 44.203528 -0.02919700 + 3 23.288963 0.21322700 + 4 13.385163 -0.40810900 + 5 7.518052 -0.38565100 + 6 4.101835 0.16809300 + 7 2.253571 3.10252900 + 8 1.134924 -3.36044600 + 9 0.561550 -0.53161900 + 10 0.201961 4.49398100 + 11 0.108698 -3.68975000 + 12 0.053619 -0.51060400 + 13 0.025823 1.30102100 +S 1 + 1 0.025823 1.00000000 +P 13 + 1 125.092775 0.00005600 + 2 65.211589 -0.00057200 + 3 34.437599 0.00738800 + 4 18.930704 -0.02848100 + 5 10.873415 -0.06300500 + 6 6.012172 0.02485500 + 7 3.372205 0.27747400 + 8 1.768641 0.42538600 + 9 0.914516 0.31414500 + 10 0.460895 0.09042200 + 11 0.204490 0.00697700 + 12 0.074741 0.00115400 + 13 0.035671 0.00030300 +P 13 + 1 125.092775 0.00002500 + 2 65.211589 -0.00007000 + 3 34.437599 -0.00104200 + 4 18.930704 0.00512700 + 5 10.873415 0.01840400 + 6 6.012172 -0.01469200 + 7 3.372205 -0.06130700 + 8 1.768641 -0.12863800 + 9 0.914516 -0.07063700 + 10 0.460895 -0.01631400 + 11 0.204490 0.38070200 + 12 0.074741 0.52307100 + 13 0.035671 0.23576500 +P 13 + 1 125.092775 -0.00019700 + 2 65.211589 0.00125100 + 3 34.437599 -0.00915400 + 4 18.930704 0.03820100 + 5 10.873415 0.04309700 + 6 6.012172 -0.02947500 + 7 3.372205 -0.42699600 + 8 1.768641 -0.39484000 + 9 0.914516 0.07723000 + 10 0.460895 1.11988100 + 11 0.204490 -0.06649400 + 12 0.074741 -0.72158300 + 13 0.035671 -0.00569500 +P 13 + 1 125.092775 0.00026400 + 2 65.211589 -0.00107600 + 3 34.437599 -0.00259100 + 4 18.930704 0.03551900 + 5 10.873415 0.11955400 + 6 6.012172 -0.20471400 + 7 3.372205 -0.76062700 + 8 1.768641 -0.26274000 + 9 0.914516 1.77903000 + 10 0.460895 -0.46274200 + 11 0.204490 -1.24103000 + 12 0.074741 0.94098700 + 13 0.035671 0.08349600 +P 13 + 1 125.092775 -0.00008400 + 2 65.211589 0.00076800 + 3 34.437599 -0.00948500 + 4 18.930704 0.08806200 + 5 10.873415 0.15619100 + 6 6.012172 -0.61916600 + 7 3.372205 -1.38553400 + 8 1.768641 2.49212500 + 9 0.914516 0.00807600 + 10 0.460895 -2.49951500 + 11 0.204490 2.26557600 + 12 0.074741 -0.74834200 + 13 0.035671 -0.21159800 +P 1 + 1 0.035671 1.00000000 +D 11 + 1 152.736742 0.00002900 + 2 50.772485 0.00523800 + 3 26.253589 0.02932500 + 4 12.137022 0.07490100 + 5 5.853719 0.16341100 + 6 2.856224 0.25105700 + 7 1.386132 0.28760300 + 8 0.670802 0.25186200 + 9 0.330280 0.18673600 + 10 0.170907 0.09357000 + 11 0.086794 0.07381100 +D 11 + 1 152.736742 -0.00002600 + 2 50.772485 -0.00632900 + 3 26.253589 -0.03439800 + 4 12.137022 -0.09176500 + 5 5.853719 -0.20159200 + 6 2.856224 -0.28393000 + 7 1.386132 -0.16198100 + 8 0.670802 0.12882200 + 9 0.330280 0.36016000 + 10 0.170907 0.27759200 + 11 0.086794 0.26140300 +D 11 + 1 152.736742 0.00005100 + 2 50.772485 0.00876900 + 3 26.253589 0.04792100 + 4 12.137022 0.13247500 + 5 5.853719 0.29727900 + 6 2.856224 0.27501800 + 7 1.386132 -0.22284200 + 8 0.670802 -0.61906700 + 9 0.330280 -0.07629000 + 10 0.170907 0.25605600 + 11 0.086794 0.54148200 +D 11 + 1 152.736742 -0.00009600 + 2 50.772485 -0.01214400 + 3 26.253589 -0.06697100 + 4 12.137022 -0.19602500 + 5 5.853719 -0.46900300 + 6 2.856224 0.04656000 + 7 1.386132 0.98594000 + 8 0.670802 -0.22043500 + 9 0.330280 -0.75248200 + 10 0.170907 -0.11112300 + 11 0.086794 0.75310000 +D 1 + 1 0.086794 1.00000000 +F 1 + 1 0.486122 1.00000000 +F 1 + 1 1.630591 1.00000000 +F 1 + 1 5.469463 1.00000000 +G 1 + 1 1.093014 1.00000000 +G 1 + 1 3.889759 1.00000000 +H 1 + 1 2.480792 1.00000000 +S 1 + 1 1.937918 1.00000000 +S 1 + 1 3.396351 1.00000000 +P 1 + 1 2.405611 1.00000000 +P 1 + 1 7.650382 1.00000000 +D 1 + 1 3.700729 1.00000000 +D 1 + 1 4.277366 1.00000000 +F 1 + 1 3.362783 1.00000000 +G 1 + 1 6.451713 1.00000000 +H 1 + 1 6.074060 1.00000000 + +COBALT +S 13 + 1 90.663831 0.00077400 + 2 46.961414 -0.01131600 + 3 24.110274 0.10120900 + 4 14.430881 -0.08164200 + 5 8.757423 -0.35481200 + 6 4.484459 -0.09036200 + 7 2.519739 0.49817400 + 8 1.236850 0.60412300 + 9 0.601882 0.19077500 + 10 0.223338 0.00657800 + 11 0.123422 -0.00090500 + 12 0.059941 0.00017100 + 13 0.027978 -0.00002500 +S 13 + 1 90.663831 -0.00015400 + 2 46.961414 0.00252500 + 3 24.110274 -0.02444300 + 4 14.430881 0.02220000 + 5 8.757423 0.08841600 + 6 4.484459 0.01682000 + 7 2.519739 -0.13458200 + 8 1.236850 -0.23129500 + 9 0.601882 -0.16398600 + 10 0.223338 0.12133700 + 11 0.123422 0.40241400 + 12 0.059941 0.50611300 + 13 0.027978 0.14543600 +S 13 + 1 90.663831 -0.00004700 + 2 46.961414 0.00365400 + 3 24.110274 -0.04613200 + 4 14.430881 0.03648300 + 5 8.757423 0.21726500 + 6 4.484459 -0.01188300 + 7 2.519739 -0.32468800 + 8 1.236850 -0.68058100 + 9 0.601882 0.25693600 + 10 0.223338 1.22400500 + 11 0.123422 0.23683700 + 12 0.059941 -0.60406400 + 13 0.027978 -0.57494700 +S 13 + 1 90.663831 -0.00023100 + 2 46.961414 0.00753600 + 3 24.110274 -0.09729800 + 4 14.430881 0.11161100 + 5 8.757423 0.40362100 + 6 4.484459 -0.04832400 + 7 2.519739 -1.15760000 + 8 1.236850 -0.75683900 + 9 0.601882 2.31368300 + 10 0.223338 0.25307400 + 11 0.123422 -1.99146600 + 12 0.059941 0.16694200 + 13 0.027978 0.91722100 +S 13 + 1 90.663831 0.00280900 + 2 46.961414 -0.02445900 + 3 24.110274 0.21171700 + 4 14.430881 -0.38745200 + 5 8.757423 -0.36690900 + 6 4.484459 0.13914300 + 7 2.519739 2.83452700 + 8 1.236850 -2.90639800 + 9 0.601882 -0.80689600 + 10 0.223338 4.33605500 + 11 0.123422 -2.91360700 + 12 0.059941 -1.25330700 + 13 0.027978 1.50957200 +S 1 + 1 0.027978 1.00000000 +P 13 + 1 139.038145 0.00007500 + 2 71.928971 -0.00062700 + 3 37.806311 0.00571900 + 4 21.054252 -0.00931000 + 5 12.973193 -0.08385700 + 6 6.791461 0.01239400 + 7 3.794018 0.28198700 + 8 1.960649 0.43417900 + 9 1.006283 0.31340900 + 10 0.509539 0.08977800 + 11 0.233091 0.00740500 + 12 0.083890 0.00098000 + 13 0.039802 0.00027400 +P 13 + 1 139.038145 0.00002500 + 2 71.928971 -0.00008400 + 3 37.806311 -0.00048500 + 4 21.054252 0.00009500 + 5 12.973193 0.02240200 + 6 6.791461 -0.01153400 + 7 3.794018 -0.05686600 + 8 1.960649 -0.12607000 + 9 1.006283 -0.06088900 + 10 0.509539 -0.03508600 + 11 0.233091 0.35184700 + 12 0.083890 0.51044900 + 13 0.039802 0.28970700 +P 13 + 1 139.038145 -0.00023800 + 2 71.928971 0.00148900 + 3 37.806311 -0.00872300 + 4 21.054252 0.02453800 + 5 12.973193 0.06085600 + 6 6.791461 -0.02038000 + 7 3.794018 -0.43019500 + 8 1.960649 -0.40769200 + 9 1.006283 0.08532600 + 10 0.509539 1.07332600 + 11 0.233091 0.01506700 + 12 0.083890 -0.71963100 + 13 0.039802 -0.02460300 +P 13 + 1 139.038145 -0.00005500 + 2 71.928971 -0.00001700 + 3 37.806311 0.00432000 + 4 21.054252 -0.02133900 + 5 12.973193 -0.12713400 + 6 6.791461 0.15720800 + 7 3.794018 0.79492700 + 8 1.960649 0.23357400 + 9 1.006283 -1.66603300 + 10 0.509539 0.28271600 + 11 0.233091 1.33562500 + 12 0.083890 -0.88546900 + 13 0.039802 -0.13034000 +P 13 + 1 139.038145 0.00005200 + 2 71.928971 0.00014400 + 3 37.806311 -0.00506500 + 4 21.054252 0.05166200 + 5 12.973193 0.20930600 + 6 6.791461 -0.63605200 + 7 3.794018 -1.33476100 + 8 1.960649 2.33740900 + 9 1.006283 0.19062400 + 10 0.509539 -2.65784100 + 11 0.233091 2.26444400 + 12 0.083890 -0.61258400 + 13 0.039802 -0.27662000 +P 1 + 1 0.039802 1.00000000 +D 11 + 1 160.444504 0.00003400 + 2 52.598830 0.00655300 + 3 27.491581 0.03618500 + 4 12.745988 0.08302600 + 5 6.184310 0.17696000 + 6 3.029146 0.26399000 + 7 1.474099 0.29244700 + 8 0.714391 0.24959700 + 9 0.348520 0.17163700 + 10 0.174166 0.08064900 + 11 0.087891 0.04121200 +D 11 + 1 160.444504 -0.00003100 + 2 52.598830 -0.00786900 + 3 27.491581 -0.04199200 + 4 12.745988 -0.10138800 + 5 6.184310 -0.21699600 + 6 3.029146 -0.28396200 + 7 1.474099 -0.12717900 + 8 0.714391 0.17712500 + 9 0.348520 0.37559600 + 10 0.174166 0.28463100 + 11 0.087891 0.20027700 +D 11 + 1 160.444504 0.00004800 + 2 52.598830 0.01053100 + 3 27.491581 0.05555900 + 4 12.745988 0.14075800 + 5 6.184310 0.30578500 + 6 3.029146 0.24281200 + 7 1.474099 -0.28504400 + 8 0.714391 -0.59481900 + 9 0.348520 -0.01793700 + 10 0.174166 0.34815000 + 11 0.087891 0.45517000 +D 11 + 1 160.444504 -0.00007000 + 2 52.598830 -0.01526900 + 3 27.491581 -0.07877000 + 4 12.745988 -0.21855600 + 5 6.184310 -0.47927100 + 6 3.029146 0.17362300 + 7 1.474099 0.95417300 + 8 0.714391 -0.34849000 + 9 0.348520 -0.73737100 + 10 0.174166 0.07194100 + 11 0.087891 0.64488200 +D 1 + 1 0.087891 1.00000000 +F 1 + 1 0.574342 1.00000000 +F 1 + 1 1.905783 1.00000000 +F 1 + 1 6.323772 1.00000000 +G 1 + 1 1.312433 1.00000000 +G 1 + 1 4.581075 1.00000000 +H 1 + 1 2.901601 1.00000000 +S 1 + 1 2.586299 1.00000000 +S 1 + 1 3.168493 1.00000000 +P 1 + 1 2.724786 1.00000000 +P 1 + 1 8.491665 1.00000000 +D 1 + 1 4.048276 1.00000000 +D 1 + 1 4.726625 1.00000000 +F 1 + 1 3.823826 1.00000000 +G 1 + 1 6.901363 1.00000000 +H 1 + 1 6.891833 1.00000000 + +NICKEL +S 13 + 1 97.161835 0.00070900 + 2 51.187866 -0.01239900 + 3 26.996725 0.10722000 + 4 15.523536 -0.12455600 + 5 8.916168 -0.35102300 + 6 4.795806 -0.02575800 + 7 2.619926 0.49894800 + 8 1.330111 0.56898600 + 9 0.668901 0.19112100 + 10 0.230439 0.01027800 + 11 0.121518 -0.00362700 + 12 0.057951 0.00129500 + 13 0.027201 -0.00030700 +S 13 + 1 97.161835 -0.00014000 + 2 51.187866 0.00275600 + 3 26.996725 -0.02548200 + 4 15.523536 0.03218200 + 5 8.916168 0.08622600 + 6 4.795806 0.00110400 + 7 2.619926 -0.13579000 + 8 1.330111 -0.21572400 + 9 0.668901 -0.15836700 + 10 0.230439 0.14349900 + 11 0.121518 0.44367200 + 12 0.057951 0.47255800 + 13 0.027201 0.11017300 +S 13 + 1 97.161835 0.00012100 + 2 51.187866 0.00332200 + 3 26.996725 -0.04578500 + 4 15.523536 0.05341500 + 5 8.916168 0.22227000 + 6 4.795806 -0.07306500 + 7 2.619926 -0.29399800 + 8 1.330111 -0.66893800 + 9 0.668901 0.29750400 + 10 0.230439 1.23374800 + 11 0.121518 0.12931700 + 12 0.057951 -0.60340700 + 13 0.027201 -0.53306200 +S 13 + 1 97.161835 0.00043400 + 2 51.187866 0.00484800 + 3 26.996725 -0.08781800 + 4 15.523536 0.12185200 + 5 8.916168 0.45421800 + 6 4.795806 -0.24576500 + 7 2.619926 -0.99734500 + 8 1.330111 -0.83458600 + 9 0.668901 2.28567500 + 10 0.230439 0.25153800 + 11 0.121518 -1.98879600 + 12 0.057951 0.34760200 + 13 0.027201 0.82415000 +S 13 + 1 97.161835 0.00246100 + 2 51.187866 -0.02346000 + 3 26.996725 0.19859000 + 4 15.523536 -0.40252500 + 5 8.916168 -0.40556800 + 6 4.795806 0.38789300 + 7 2.619926 2.68467900 + 8 1.330111 -2.95595600 + 9 0.668901 -0.66746700 + 10 0.230439 4.09407400 + 11 0.121518 -3.10335500 + 12 0.057951 -0.76872800 + 13 0.027201 1.33121700 +S 1 + 1 0.027201 1.00000000 +P 13 + 1 148.087630 0.00005500 + 2 77.452187 -0.00054800 + 3 40.915636 0.00697900 + 4 22.575667 -0.02365800 + 5 13.218268 -0.07568200 + 6 7.232093 0.02725300 + 7 4.054870 0.28477800 + 8 2.122089 0.42763200 + 9 1.092769 0.30993700 + 10 0.548240 0.08853500 + 11 0.238886 0.00642700 + 12 0.084667 0.00070800 + 13 0.038921 0.00018600 +P 13 + 1 148.087630 0.00002700 + 2 77.452187 -0.00008800 + 3 40.915636 -0.00077300 + 4 22.575667 0.00334500 + 5 13.218268 0.01940500 + 6 7.232093 -0.01428800 + 7 4.054870 -0.05452700 + 8 2.122089 -0.11645400 + 9 1.092769 -0.06023600 + 10 0.548240 -0.02392800 + 11 0.238886 0.34786900 + 12 0.084667 0.52262600 + 13 0.038921 0.27647100 +P 13 + 1 148.087630 -0.00023700 + 2 77.452187 0.00145600 + 3 40.915636 -0.00974500 + 4 22.575667 0.03779900 + 5 13.218268 0.05252100 + 6 7.232093 -0.03500600 + 7 4.054870 -0.45557700 + 8 2.122089 -0.36830600 + 9 1.092769 0.10039200 + 10 0.548240 1.07665200 + 11 0.238886 -0.04532600 + 12 0.084667 -0.70318600 + 13 0.038921 0.00458000 +P 13 + 1 148.087630 -0.00026000 + 2 77.452187 0.00107100 + 3 40.915636 0.00232200 + 4 22.575667 -0.03214000 + 5 13.218268 -0.13413600 + 6 7.232093 0.22906200 + 7 4.054870 0.75223900 + 8 2.122089 0.20553500 + 9 1.092769 -1.69291000 + 10 0.548240 0.43629500 + 11 0.238886 1.21951400 + 12 0.084667 -0.94551600 + 13 0.038921 -0.06223200 +P 13 + 1 148.087630 0.00008000 + 2 77.452187 -0.00010100 + 3 40.915636 -0.00649200 + 4 22.575667 0.08312900 + 5 13.218268 0.19539300 + 6 7.232093 -0.76580600 + 7 4.054870 -1.20601700 + 8 2.122089 2.42444400 + 9 1.092769 -0.07938700 + 10 0.548240 -2.32544900 + 11 0.238886 2.12913300 + 12 0.084667 -0.73358500 + 13 0.038921 -0.18044400 +P 1 + 1 0.038921 1.00000000 +D 11 + 1 177.900125 0.00004900 + 2 57.372112 0.00751900 + 3 29.881432 0.03645500 + 4 13.971757 0.08690100 + 5 6.841152 0.18056800 + 6 3.379983 0.26818700 + 7 1.651827 0.29675600 + 8 0.799251 0.25155800 + 9 0.388057 0.16231900 + 10 0.191191 0.07211900 + 11 0.093358 0.02368900 +D 11 + 1 177.900125 -0.00005300 + 2 57.372112 -0.00885000 + 3 29.881432 -0.04191600 + 4 13.971757 -0.10469100 + 5 6.841152 -0.21946400 + 6 3.379983 -0.28371200 + 7 1.651827 -0.12212700 + 8 0.799251 0.19012300 + 9 0.388057 0.37659800 + 10 0.191191 0.29512200 + 11 0.093358 0.17825200 +D 11 + 1 177.900125 0.00007900 + 2 57.372112 0.01144200 + 3 29.881432 0.05397200 + 4 13.971757 0.14106800 + 5 6.841152 0.30229400 + 6 3.379983 0.23655800 + 7 1.651827 -0.29131100 + 8 0.799251 -0.58175800 + 9 0.388057 -0.02406300 + 10 0.191191 0.38938700 + 11 0.093358 0.43083300 +D 11 + 1 177.900125 -0.00012400 + 2 57.372112 -0.01660200 + 3 29.881432 -0.07753300 + 4 13.971757 -0.22182600 + 5 6.841152 -0.48165800 + 6 3.379983 0.18244700 + 7 1.651827 0.94562600 + 8 0.799251 -0.33424100 + 9 0.388057 -0.76116400 + 10 0.191191 0.13681600 + 11 0.093358 0.60078500 +D 1 + 1 0.093358 1.00000000 +F 1 + 1 0.659980 1.00000000 +F 1 + 1 2.182234 1.00000000 +F 1 + 1 7.215589 1.00000000 +G 1 + 1 1.549000 1.00000000 +G 1 + 1 5.290163 1.00000000 +H 1 + 1 3.361535 1.00000000 +S 1 + 1 2.749235 1.00000000 +S 1 + 1 3.424032 1.00000000 +P 1 + 1 2.987946 1.00000000 +P 1 + 1 9.332016 1.00000000 +D 1 + 1 4.388587 1.00000000 +D 1 + 1 5.303761 1.00000000 +F 1 + 1 4.238774 1.00000000 +G 1 + 1 7.523045 1.00000000 +H 1 + 1 7.787971 1.00000000 + +COPPER +S 13 + 1 104.471138 0.00074100 + 2 55.955221 -0.01395300 + 3 30.553953 0.10526600 + 4 16.942394 -0.12939900 + 5 9.452707 -0.36273800 + 6 5.174537 0.01326600 + 7 2.779171 0.48928800 + 8 1.441817 0.56208800 + 9 0.710674 0.19004700 + 10 0.241540 0.00563500 + 11 0.129621 -0.00058200 + 12 0.059229 -0.00002400 + 13 0.027110 0.00003000 +S 13 + 1 104.471138 -0.00013300 + 2 55.955221 0.00299900 + 3 30.553953 -0.02431000 + 4 16.942394 0.03198600 + 5 9.452707 0.08914900 + 6 5.174537 -0.01075000 + 7 2.779171 -0.12822400 + 8 1.441817 -0.21572000 + 9 0.710674 -0.14955900 + 10 0.241540 0.14291700 + 11 0.129621 0.44630700 + 12 0.059229 0.48464300 + 13 0.027110 0.09306900 +S 13 + 1 104.471138 0.00021000 + 2 55.955221 0.00380600 + 3 30.553953 -0.04731200 + 4 16.942394 0.05995700 + 5 9.452707 0.25064200 + 6 5.174537 -0.11910200 + 7 2.779171 -0.31406900 + 8 1.441817 -0.68930000 + 9 0.710674 0.40305000 + 10 0.241540 1.27044000 + 11 0.129621 -0.02902900 + 12 0.059229 -0.62215700 + 13 0.027110 -0.44207400 +S 13 + 1 104.471138 0.00036600 + 2 55.955221 0.00672000 + 3 30.553953 -0.09149300 + 4 16.942394 0.14226300 + 5 9.452707 0.47188100 + 6 5.174537 -0.31970800 + 7 2.779171 -1.06825500 + 8 1.441817 -0.61504900 + 9 0.710674 2.26128200 + 10 0.241540 -0.02005900 + 11 0.129621 -1.81574600 + 12 0.059229 0.47417400 + 13 0.027110 0.71359700 +S 13 + 1 104.471138 0.00267900 + 2 55.955221 -0.02626700 + 3 30.553953 0.19212900 + 4 16.942394 -0.40421800 + 5 9.452707 -0.43460200 + 6 5.174537 0.55567400 + 7 2.779171 2.61821100 + 8 1.441817 -3.20734300 + 9 0.710674 -0.33054500 + 10 0.241540 4.04196600 + 11 0.129621 -3.35549700 + 12 0.059229 -0.48399100 + 13 0.027110 1.21366400 +S 1 + 1 0.027110 1.00000000 +P 13 + 1 159.152840 0.00002600 + 2 83.322776 -0.00040200 + 3 44.840311 0.00740500 + 4 25.020360 -0.03071400 + 5 13.610016 -0.07434800 + 6 7.761318 0.04343000 + 7 4.303947 0.28970300 + 8 2.290080 0.41346700 + 9 1.202173 0.30376200 + 10 0.607647 0.09349400 + 11 0.257656 0.00666300 + 12 0.090897 0.00056700 + 13 0.041925 0.00017600 +P 13 + 1 159.152840 0.00003400 + 2 83.322776 -0.00012900 + 3 44.840311 -0.00080200 + 4 25.020360 0.00474700 + 5 13.610016 0.01859500 + 6 7.761318 -0.01769200 + 7 4.303947 -0.05261400 + 8 2.290080 -0.11034900 + 9 1.202173 -0.05470100 + 10 0.607647 -0.02665500 + 11 0.257656 0.33588000 + 12 0.090897 0.50947800 + 13 0.041925 0.30255900 +P 13 + 1 159.152840 -0.00022800 + 2 83.322776 0.00141400 + 3 44.840311 -0.01029000 + 4 25.020360 0.04389600 + 5 13.610016 0.05286500 + 6 7.761318 -0.05656500 + 7 4.303947 -0.48071500 + 8 2.290080 -0.31598400 + 9 1.202173 0.07567900 + 10 0.607647 1.06074700 + 11 0.257656 -0.00806100 + 12 0.090897 -0.70160100 + 13 0.041925 0.00694100 +P 13 + 1 159.152840 -0.00041200 + 2 83.322776 0.00195700 + 3 44.840311 0.00064000 + 4 25.020360 -0.03675300 + 5 13.610016 -0.14719300 + 6 7.761318 0.29778200 + 7 4.303947 0.70527100 + 8 2.290080 0.19646600 + 9 1.202173 -1.65940600 + 10 0.607647 0.39150000 + 11 0.257656 1.24328400 + 12 0.090897 -0.95752900 + 13 0.041925 -0.05609100 +P 13 + 1 159.152840 0.00032900 + 2 83.322776 -0.00156500 + 3 44.840311 -0.00336900 + 4 25.020360 0.08790300 + 5 13.610016 0.22132700 + 6 7.761318 -0.92400600 + 7 4.303947 -1.00731600 + 8 2.290080 2.32431200 + 9 1.202173 0.00119100 + 10 0.607647 -2.32974500 + 11 0.257656 2.05959900 + 12 0.090897 -0.70662000 + 13 0.041925 -0.18479700 +P 1 + 1 0.041925 1.00000000 +D 11 + 1 226.693527 0.00001500 + 2 73.010278 0.00410800 + 3 38.536518 0.02822300 + 4 18.726700 0.06932300 + 5 9.155485 0.15604500 + 6 4.540884 0.25123800 + 7 2.241175 0.29746300 + 8 1.085869 0.27498100 + 9 0.510612 0.19309800 + 10 0.229608 0.08639300 + 11 0.095781 0.01464500 +D 11 + 1 226.693527 -0.00001300 + 2 73.010278 -0.00525200 + 3 38.536518 -0.03498200 + 4 18.726700 -0.08895000 + 5 9.155485 -0.20719400 + 6 4.540884 -0.30259700 + 7 2.241175 -0.17932700 + 8 1.085869 0.16906900 + 9 0.510612 0.40590400 + 10 0.229608 0.34187100 + 11 0.095781 0.11708000 +D 11 + 1 226.693527 0.00001600 + 2 73.010278 0.00615700 + 3 38.536518 0.04036100 + 4 18.726700 0.10603800 + 5 9.155485 0.26329900 + 6 4.540884 0.28849600 + 7 2.241175 -0.18674500 + 8 1.085869 -0.59153900 + 9 0.510612 -0.13868100 + 10 0.229608 0.54774900 + 11 0.095781 0.36235300 +D 11 + 1 226.693527 -0.00007200 + 2 73.010278 -0.00870300 + 3 38.536518 -0.06059400 + 4 18.726700 -0.16022100 + 5 9.155485 -0.45749500 + 6 4.540884 -0.08760700 + 7 2.241175 0.95305600 + 8 1.085869 0.02518500 + 9 0.510612 -0.98463700 + 10 0.229608 0.25844200 + 11 0.095781 0.52511300 +D 1 + 1 0.095781 1.00000000 +F 1 + 1 0.771365 1.00000000 +F 1 + 1 2.515691 1.00000000 +F 1 + 1 8.204550 1.00000000 +G 1 + 1 1.798933 1.00000000 +G 1 + 1 6.136209 1.00000000 +H 1 + 1 3.867803 1.00000000 +S 1 + 1 3.034502 1.00000000 +S 1 + 1 3.688859 1.00000000 +P 1 + 1 3.294315 1.00000000 +P 1 + 1 10.527718 1.00000000 +D 1 + 1 4.610790 1.00000000 +D 1 + 1 6.028078 1.00000000 +F 1 + 1 4.705392 1.00000000 +G 1 + 1 7.396044 1.00000000 +H 1 + 1 8.650303 1.00000000 + +ZINC +S 13 + 1 114.485022 0.00042900 + 2 61.996430 -0.01933900 + 3 40.117132 0.08625400 + 4 20.119649 -0.08895500 + 5 10.171676 -0.40267100 + 6 5.601641 0.06730400 + 7 2.864122 0.47921500 + 8 1.592779 0.50396000 + 9 0.826525 0.22208800 + 10 0.263975 0.01220300 + 11 0.145302 -0.00430000 + 12 0.068195 0.00124300 + 13 0.031465 -0.00026700 +S 13 + 1 114.485022 -0.00010900 + 2 61.996430 0.00445900 + 3 40.117132 -0.02006700 + 4 20.119649 0.02233800 + 5 10.171676 0.09669800 + 6 5.601641 -0.02196600 + 7 2.864122 -0.12876800 + 8 1.592779 -0.18170600 + 9 0.826525 -0.16231100 + 10 0.263975 0.11626400 + 11 0.145302 0.41131400 + 12 0.068195 0.49425700 + 13 0.031465 0.13810300 +S 13 + 1 114.485022 0.00066600 + 2 61.996430 0.00626900 + 3 40.117132 -0.04660300 + 4 20.119649 0.05039900 + 5 10.171676 0.36349300 + 6 5.601641 -0.24284000 + 7 2.864122 -0.38228100 + 8 1.592779 -0.86156700 + 9 0.826525 0.70607700 + 10 0.263975 1.49500100 + 11 0.145302 -0.45399400 + 12 0.068195 -0.59782200 + 13 0.031465 -0.25611700 +S 13 + 1 114.485022 0.00070400 + 2 61.996430 0.01284100 + 3 40.117132 -0.08591000 + 4 20.119649 0.11798200 + 5 10.171676 0.63016400 + 6 5.601641 -0.60034400 + 7 2.864122 -1.24906000 + 8 1.592779 -0.32949800 + 9 0.826525 2.59246900 + 10 0.263975 -1.00448100 + 11 0.145302 -1.37951400 + 12 0.068195 1.04684200 + 13 0.031465 0.32467600 +S 13 + 1 114.485022 0.00561400 + 2 61.996430 -0.06659000 + 3 40.117132 0.24276300 + 4 20.119649 -0.43396800 + 5 10.171676 -0.79971200 + 6 5.601641 1.54215100 + 7 2.864122 3.08029900 + 8 1.592779 -6.19825000 + 9 0.826525 2.58176600 + 10 0.263975 3.21198800 + 11 0.145302 -4.76745700 + 12 0.068195 1.67656100 + 13 0.031465 0.27090900 +S 1 + 1 0.031465 1.00000000 +P 13 + 1 158.770986 -0.00015300 + 2 75.802876 0.00189300 + 3 44.547824 0.01046100 + 4 31.445269 -0.04514100 + 5 13.080125 -0.08420100 + 6 7.788616 0.10497300 + 7 4.195040 0.30771400 + 8 2.362276 0.36856300 + 9 1.302584 0.28633600 + 10 0.660704 0.09515600 + 11 0.249042 0.00585100 + 12 0.091781 -0.00003400 + 13 0.048931 0.00025200 +P 13 + 1 158.770986 0.00005300 + 2 75.802876 -0.00057100 + 3 44.547824 -0.00107300 + 4 31.445269 0.00746300 + 5 13.080125 0.01867600 + 6 7.788616 -0.02809000 + 7 4.195040 -0.05443800 + 8 2.362276 -0.09374400 + 9 1.302584 -0.05416900 + 10 0.660704 -0.00797200 + 11 0.249042 0.35619800 + 12 0.091781 0.41239900 + 13 0.048931 0.36132100 +P 13 + 1 158.770986 -0.00017000 + 2 75.802876 0.00060400 + 3 44.547824 -0.01998700 + 4 31.445269 0.06115300 + 5 13.080125 0.06731700 + 6 7.788616 -0.13921100 + 7 4.195040 -0.52704100 + 8 2.362276 -0.17619400 + 9 1.302584 0.03712900 + 10 0.660704 1.07932200 + 11 0.249042 -0.05014900 + 12 0.091781 -0.68897100 + 13 0.048931 0.03733100 +P 13 + 1 158.770986 -0.00078100 + 2 75.802876 0.00785500 + 3 44.547824 -0.00867100 + 4 31.445269 -0.04055300 + 5 13.080125 -0.20006200 + 6 7.788616 0.52859900 + 7 4.195040 0.52855200 + 8 2.362276 0.24357600 + 9 1.302584 -1.80718200 + 10 0.660704 0.62949600 + 11 0.249042 1.13761300 + 12 0.091781 -1.06715000 + 13 0.048931 0.02219000 +P 13 + 1 158.770986 -0.00030400 + 2 75.802876 0.00006000 + 3 44.547824 -0.03693100 + 4 31.445269 0.14601900 + 5 13.080125 0.22210400 + 6 7.788616 -1.20631000 + 7 4.195040 -0.64408400 + 8 2.362276 2.39813600 + 9 1.302584 -0.30444100 + 10 0.660704 -1.96089400 + 11 0.249042 1.89540000 + 12 0.091781 -0.82157700 + 13 0.048931 -0.13247100 +P 1 + 1 0.048931 1.00000000 +D 11 + 1 270.014061 -0.00001600 + 2 100.161579 0.00069600 + 3 43.530609 0.01353600 + 4 21.262419 0.06935000 + 5 10.577821 0.14955900 + 6 5.343620 0.23958800 + 7 2.704857 0.28674400 + 8 1.353018 0.27145900 + 9 0.660873 0.20242600 + 10 0.309149 0.10330700 + 11 0.133879 0.02321100 +D 11 + 1 270.014061 0.00001300 + 2 100.161579 -0.00088900 + 3 43.530609 -0.01864000 + 4 21.262419 -0.09464600 + 5 10.577821 -0.21565900 + 6 5.343620 -0.32246900 + 7 2.704857 -0.19752900 + 8 1.353018 0.16444800 + 9 0.660873 0.41001700 + 10 0.309149 0.32783800 + 11 0.133879 0.10574900 +D 11 + 1 270.014061 0.00000700 + 2 100.161579 0.00086800 + 3 43.530609 0.02163100 + 4 21.262419 0.10774800 + 5 10.577821 0.27899700 + 6 5.343620 0.31454300 + 7 2.704857 -0.24192600 + 8 1.353018 -0.60241500 + 9 0.660873 -0.11801300 + 10 0.309149 0.54548200 + 11 0.133879 0.36382900 +D 11 + 1 270.014061 -0.00008800 + 2 100.161579 -0.00067400 + 3 43.530609 -0.03072600 + 4 21.262419 -0.14321800 + 5 10.577821 -0.44533000 + 6 5.343620 -0.13669300 + 7 2.704857 0.92782300 + 8 1.353018 0.14320400 + 9 0.660873 -1.06020200 + 10 0.309149 0.16045200 + 11 0.133879 0.65854200 +D 1 + 1 0.133879 1.00000000 +F 1 + 1 0.881237 1.00000000 +F 1 + 1 2.855136 1.00000000 +F 1 + 1 9.250405 1.00000000 +G 1 + 1 2.097503 1.00000000 +G 1 + 1 7.061991 1.00000000 +H 1 + 1 4.405055 1.00000000 +S 1 + 1 3.627705 1.00000000 +S 1 + 1 4.596407 1.00000000 +P 1 + 1 3.439684 1.00000000 +P 1 + 1 10.763329 1.00000000 +D 1 + 1 5.872018 1.00000000 +D 1 + 1 6.223852 1.00000000 +F 1 + 1 5.193386 1.00000000 +G 1 + 1 7.952907 1.00000000 +H 1 + 1 9.808424 1.00000000 + diff --git a/data/basis/cc-pcvtz_ecp_ccecp b/data/basis/cc-pcvtz_ecp_ccecp new file mode 100644 index 00000000..ba8e8392 --- /dev/null +++ b/data/basis/cc-pcvtz_ecp_ccecp @@ -0,0 +1,1988 @@ +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 +S 1 + 1 1.308177 1.00000000 +S 1 + 1 0.824788 1.00000000 +S 1 + 1 0.520018 1.00000000 +S 1 + 1 0.065911 1.00000000 +S 1 + 1 0.031297 1.00000000 +S 1 + 1 0.014861 1.00000000 +P 1 + 1 1.784995 1.00000000 +P 1 + 1 0.787254 1.00000000 +P 1 + 1 0.347210 1.00000000 +P 1 + 1 0.065260 1.00000000 +P 1 + 1 0.028736 1.00000000 +P 1 + 1 0.012653 1.00000000 +D 1 + 1 1.794937 1.00000000 +D 1 + 1 0.589584 1.00000000 +D 1 + 1 0.067129 1.00000000 +D 1 + 1 0.011669 1.00000000 +F 1 + 1 1.176422 1.00000000 +F 1 + 1 0.070437 1.00000000 + +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 1.633930 1.00000000 +S 1 + 1 0.957624 1.00000000 +S 1 + 1 0.561250 1.00000000 +S 1 + 1 0.090426 1.00000000 +S 1 + 1 0.042935 1.00000000 +S 1 + 1 0.019981 1.00000000 +P 1 + 1 2.317268 1.00000000 +P 1 + 1 1.045363 1.00000000 +P 1 + 1 0.471583 1.00000000 +P 1 + 1 0.125510 1.00000000 +P 1 + 1 0.053549 1.00000000 +P 1 + 1 0.022081 1.00000000 +D 1 + 1 1.277696 1.00000000 +D 1 + 1 0.475378 1.00000000 +D 1 + 1 0.127163 1.00000000 +D 1 + 1 0.038262 1.00000000 +F 1 + 1 1.454974 1.00000000 +F 1 + 1 0.136800 1.00000000 + +SCANDIUM +S 13 + 1 66.882574 0.00055300 + 2 33.776681 -0.00511500 + 3 18.185884 0.00416100 + 4 11.748619 0.12160300 + 5 6.895190 -0.27013700 + 6 3.222124 -0.32441000 + 7 1.772120 0.29116200 + 8 0.841163 0.62893100 + 9 0.471976 0.27340600 + 10 0.313224 0.13535200 + 11 0.101013 0.00804100 + 12 0.049071 -0.00261000 + 13 0.022782 0.00059700 +S 13 + 1 66.882574 -0.00013900 + 2 33.776681 0.00134500 + 3 18.185884 -0.00144500 + 4 11.748619 -0.03208200 + 5 6.895190 0.07550600 + 6 3.222124 0.08992700 + 7 1.772120 -0.09008600 + 8 0.841163 -0.21644400 + 9 0.471976 -0.17925000 + 10 0.313224 -0.12816000 + 11 0.101013 0.33793500 + 12 0.049071 0.60918100 + 13 0.022782 0.24418100 +S 13 + 1 66.882574 -0.00067900 + 2 33.776681 0.00545600 + 3 18.185884 -0.01668400 + 4 11.748619 -0.03173900 + 5 6.895190 0.10956000 + 6 3.222124 0.23329300 + 7 1.772120 -0.31020700 + 8 0.841163 -0.24508300 + 9 0.471976 -1.17524800 + 10 0.313224 1.03235900 + 11 0.101013 1.59903900 + 12 0.049071 -0.62399000 + 13 0.022782 -0.84749800 +S 13 + 1 66.882574 -0.00145200 + 2 33.776681 0.01136200 + 3 18.185884 -0.03987600 + 4 11.748619 -0.02581000 + 5 6.895190 0.15794300 + 6 3.222124 0.45286800 + 7 1.772120 -0.76658700 + 8 0.841163 -0.60780000 + 9 0.471976 -1.71600200 + 10 0.313224 3.61400300 + 11 0.101013 -0.56948000 + 12 0.049071 -2.25596700 + 13 0.022782 1.91016000 +S 1 + 1 0.022782 1.00000000 +P 13 + 1 77.690832 0.00008800 + 2 39.751864 -0.00075400 + 3 20.615633 0.00658400 + 4 11.537150 -0.00718900 + 5 7.597186 -0.06890300 + 6 3.765117 -0.01384200 + 7 2.051006 0.24870400 + 8 1.048648 0.43432800 + 9 0.550231 0.32690600 + 10 0.303840 0.10461700 + 11 0.165809 0.01851200 + 12 0.060419 0.00139500 + 13 0.024751 0.00009300 +P 13 + 1 77.690832 0.00001700 + 2 39.751864 -0.00002600 + 3 20.615633 -0.00086100 + 4 11.537150 -0.00048300 + 5 7.597186 0.02136400 + 6 3.765117 -0.00370600 + 7 2.051006 -0.05871800 + 8 1.048648 -0.14336400 + 9 0.550231 -0.07728000 + 10 0.303840 -0.10776400 + 11 0.165809 0.32285900 + 12 0.060419 0.62172600 + 13 0.024751 0.25378700 +P 13 + 1 77.690832 -0.00006300 + 2 39.751864 0.00054900 + 3 20.615633 -0.00512000 + 4 11.537150 0.00701100 + 5 7.597186 0.05366100 + 6 3.765117 0.00357400 + 7 2.051006 -0.23586100 + 8 1.048648 -0.49480100 + 9 0.550231 -0.22957500 + 10 0.303840 0.91797300 + 11 0.165809 0.62115500 + 12 0.060419 -0.82464800 + 13 0.024751 -0.15759200 +P 13 + 1 77.690832 -0.00024300 + 2 39.751864 0.00156800 + 3 20.615633 -0.00955400 + 4 11.537150 0.01802000 + 5 7.597186 0.05100800 + 6 3.765117 0.04328000 + 7 2.051006 -0.40417800 + 8 1.048648 -0.82490400 + 9 0.550231 0.71001400 + 10 0.303840 2.22525500 + 11 0.165809 -2.74290300 + 12 0.060419 0.58142300 + 13 0.024751 0.48091000 +P 1 + 1 0.024751 1.00000000 +D 11 + 1 60.996829 0.00005600 + 2 22.097637 0.00505400 + 3 10.186744 0.03222300 + 4 4.633892 0.08247900 + 5 2.146927 0.15936300 + 6 1.014536 0.22860400 + 7 0.487206 0.24369100 + 8 0.248191 0.23165100 + 9 0.131273 0.19543100 + 10 0.063714 0.21458900 + 11 0.021542 0.07411300 +D 11 + 1 60.996829 -0.00007200 + 2 22.097637 -0.00607900 + 3 10.186744 -0.03905400 + 4 4.633892 -0.10065200 + 5 2.146927 -0.19433000 + 6 1.014536 -0.25355600 + 7 0.487206 -0.21355600 + 8 0.248191 0.05418200 + 9 0.131273 0.26118800 + 10 0.063714 0.52021500 + 11 0.021542 0.16690700 +D 11 + 1 60.996829 0.00005400 + 2 22.097637 0.00819500 + 3 10.186744 0.05007300 + 4 4.633892 0.13617400 + 5 2.146927 0.24651600 + 6 1.014536 0.25815800 + 7 0.487206 -0.12479900 + 8 0.248191 -0.43908100 + 9 0.131273 -0.47534700 + 10 0.063714 0.52718700 + 11 0.021542 0.47337300 +D 1 + 1 0.021542 1.00000000 +F 1 + 1 0.173012 1.00000000 +F 1 + 1 0.742579 1.00000000 +G 1 + 1 0.413265 1.00000000 +S 1 + 1 0.693020 1.00000000 +S 1 + 1 2.017719 1.00000000 +P 1 + 1 0.772305 1.00000000 +P 1 + 1 3.139671 1.00000000 +D 1 + 1 0.858283 1.00000000 +D 1 + 1 1.676449 1.00000000 +F 1 + 1 2.198729 1.00000000 +G 1 + 1 2.006030 1.00000000 + +TITANIUM +S 13 + 1 68.910511 0.00061600 + 2 33.720700 -0.00750100 + 3 18.159676 0.01221800 + 4 12.419305 0.14473900 + 5 7.532195 -0.32862100 + 6 3.504444 -0.31751700 + 7 1.910727 0.35742200 + 8 0.888840 0.67140600 + 9 0.447198 0.28222600 + 10 0.281192 0.03867300 + 11 0.100258 0.00455900 + 12 0.046525 -0.00156500 + 13 0.021840 0.00039800 +S 13 + 1 68.910511 -0.00015600 + 2 33.720700 0.00196600 + 3 18.159676 -0.00399400 + 4 12.419305 -0.03637700 + 5 7.532195 0.08859300 + 6 3.504444 0.08563000 + 7 1.910727 -0.10599300 + 8 0.888840 -0.23742100 + 9 0.447198 -0.23535900 + 10 0.281192 -0.01296000 + 11 0.100258 0.43358200 + 12 0.046525 0.57787300 + 13 0.021840 0.16436000 +S 13 + 1 68.910511 0.00063500 + 2 33.720700 -0.00646800 + 3 18.159676 0.02344400 + 4 12.419305 0.03892100 + 5 7.532195 -0.14118000 + 6 3.504444 -0.21476500 + 7 1.910727 0.32015100 + 8 0.888840 0.45106200 + 9 0.447198 0.85519100 + 10 0.281192 -1.20922400 + 11 0.100258 -1.31948100 + 12 0.046525 0.86651700 + 13 0.021840 0.61891600 +S 13 + 1 68.910511 -0.00117800 + 2 33.720700 0.01187700 + 3 18.159676 -0.04724000 + 4 12.419305 -0.05092200 + 5 7.532195 0.23774600 + 6 3.504444 0.40318500 + 7 1.910727 -0.79096100 + 8 0.888840 -1.10227600 + 9 0.447198 0.20944600 + 10 0.281192 2.52735200 + 11 0.100258 -1.78904100 + 12 0.046525 -0.86784200 + 13 0.021840 1.42739500 +S 1 + 1 0.021840 1.00000000 +P 13 + 1 84.914002 0.00009300 + 2 42.855051 -0.00083600 + 3 21.700131 0.00867900 + 4 12.214690 -0.01117800 + 5 8.319164 -0.07776700 + 6 4.091071 -0.00611300 + 7 2.286543 0.27182800 + 8 1.159810 0.45958500 + 9 0.591343 0.31590000 + 10 0.312862 0.07168300 + 11 0.184828 0.01054100 + 12 0.068590 0.00004500 + 13 0.026791 -0.00083700 +P 13 + 1 84.914002 0.00002000 + 2 42.855051 -0.00004900 + 3 21.700131 -0.00076100 + 4 12.214690 -0.00057500 + 5 8.319164 0.01828400 + 6 4.091071 -0.00594300 + 7 2.286543 -0.04321200 + 8 1.159810 -0.11251300 + 9 0.591343 -0.05207300 + 10 0.312862 -0.09226300 + 11 0.184828 0.24394600 + 12 0.068590 0.41310100 + 13 0.026791 0.54398500 +P 13 + 1 84.914002 0.00001900 + 2 42.855051 0.00013800 + 3 21.700131 -0.00462200 + 4 12.214690 0.00446500 + 5 8.319164 0.06576000 + 6 4.091071 -0.01892700 + 7 2.286543 -0.22252400 + 8 1.159810 -0.52389000 + 9 0.591343 -0.07127700 + 10 0.312862 0.81271200 + 11 0.184828 0.62549800 + 12 0.068590 -0.81218900 + 13 0.026791 -0.18579600 +P 13 + 1 84.914002 -0.00025700 + 2 42.855051 0.00172500 + 3 21.700131 -0.01264600 + 4 12.214690 0.02906200 + 5 8.319164 0.05897900 + 6 4.091071 0.03080600 + 7 2.286543 -0.52437300 + 8 1.159810 -0.72096800 + 9 0.591343 1.02320400 + 10 0.312862 1.97387400 + 11 0.184828 -2.80509200 + 12 0.068590 0.60795400 + 13 0.026791 0.44765300 +P 1 + 1 0.026791 1.00000000 +D 11 + 1 77.434559 0.00002200 + 2 27.708477 0.00421800 + 3 12.914284 0.03008700 + 4 6.062674 0.08482100 + 5 2.863898 0.17111000 + 6 1.386559 0.24745100 + 7 0.677058 0.27731000 + 8 0.329864 0.26107700 + 9 0.159474 0.19033600 + 10 0.076174 0.11938500 + 11 0.028570 0.03129700 +D 11 + 1 77.434559 -0.00002500 + 2 27.708477 -0.00431100 + 3 12.914284 -0.03091300 + 4 6.062674 -0.08804900 + 5 2.863898 -0.17833000 + 6 1.386559 -0.23433500 + 7 0.677058 -0.19577500 + 8 0.329864 0.06587200 + 9 0.159474 0.33053600 + 10 0.076174 0.46122900 + 11 0.028570 0.18427300 +D 11 + 1 77.434559 0.00001000 + 2 27.708477 0.00618700 + 3 12.914284 0.04263000 + 4 6.062674 0.12752400 + 5 2.863898 0.24828900 + 6 1.386559 0.25976100 + 7 0.677058 -0.07079400 + 8 0.329864 -0.51939600 + 9 0.159474 -0.37365800 + 10 0.076174 0.45506700 + 11 0.028570 0.48958600 +D 1 + 1 0.028570 1.00000000 +F 1 + 1 0.291553 1.00000000 +F 1 + 1 1.269061 1.00000000 +G 1 + 1 0.707265 1.00000000 +S 1 + 1 0.790662 1.00000000 +S 1 + 1 2.191541 1.00000000 +P 1 + 1 0.902705 1.00000000 +P 1 + 1 3.650546 1.00000000 +D 1 + 1 2.318162 1.00000000 +D 1 + 1 5.672148 1.00000000 +F 1 + 1 3.186116 1.00000000 +G 1 + 1 2.521341 1.00000000 + +VANADIUM +S 13 + 1 68.577621 0.00080400 + 2 34.937147 -0.01159400 + 3 17.939491 0.09220900 + 4 11.262123 -0.04547700 + 5 6.776264 -0.28798300 + 6 3.524091 -0.21764800 + 7 1.938421 0.40750900 + 8 0.927153 0.65819300 + 9 0.448420 0.25523400 + 10 0.209668 0.00862000 + 11 0.103660 0.00273400 + 12 0.050630 -0.00116100 + 13 0.024201 0.00029400 +S 13 + 1 68.577621 -0.00017700 + 2 34.937147 0.00279100 + 3 17.939491 -0.02365000 + 4 11.262123 0.01250400 + 5 6.776264 0.07876100 + 6 3.524091 0.05497400 + 7 1.938421 -0.11895500 + 8 0.927153 -0.24534100 + 9 0.448420 -0.22295900 + 10 0.209668 0.04780900 + 11 0.103660 0.41537400 + 12 0.050630 0.54088000 + 13 0.024201 0.18342100 +S 13 + 1 68.577621 -0.00058300 + 2 34.937147 0.00957000 + 3 17.939491 -0.08560600 + 4 11.262123 0.04842600 + 5 6.776264 0.33123900 + 6 3.524091 0.14035200 + 7 1.938421 -0.90796200 + 8 0.927153 -0.50387800 + 9 0.448420 0.39893800 + 10 0.209668 0.97113100 + 11 0.103660 0.42399900 + 12 0.050630 -0.62864600 + 13 0.024201 -0.46749500 +S 13 + 1 68.577621 -0.00076500 + 2 34.937147 0.01452900 + 3 17.939491 -0.13961800 + 4 11.262123 0.06307300 + 5 6.776264 0.70419300 + 6 3.524091 -0.01160200 + 7 1.938421 -2.31160400 + 8 0.927153 0.76826900 + 9 0.448420 2.16892000 + 10 0.209668 -1.06267100 + 11 0.103660 -1.21815100 + 12 0.050630 0.34080900 + 13 0.024201 0.71332200 +S 1 + 1 0.024201 1.00000000 +P 13 + 1 96.215967 0.00006900 + 2 49.579340 -0.00067200 + 3 25.638009 0.00819900 + 4 14.025942 -0.02710800 + 5 8.740334 -0.05302100 + 6 4.634840 0.00500200 + 7 2.553374 0.26198600 + 8 1.321166 0.43354400 + 9 0.681285 0.32494700 + 10 0.349458 0.09234200 + 11 0.172773 0.00896400 + 12 0.063300 0.00118500 + 13 0.033969 0.00010400 +P 13 + 1 96.215967 0.00004000 + 2 49.579340 -0.00013300 + 3 25.638009 -0.00095500 + 4 14.025942 0.00371900 + 5 8.740334 0.01886600 + 6 4.634840 -0.01207400 + 7 2.553374 -0.05710700 + 8 1.321166 -0.14643300 + 9 0.681285 -0.06736500 + 10 0.349458 -0.06825400 + 11 0.172773 0.40310300 + 12 0.063300 0.50266800 + 13 0.033969 0.26129100 +P 13 + 1 96.215967 -0.00005300 + 2 49.579340 0.00002300 + 3 25.638009 0.00462900 + 4 14.025942 -0.00775500 + 5 8.740334 -0.10413300 + 6 4.634840 -0.01776200 + 7 2.553374 0.72821200 + 8 1.321166 0.21882600 + 9 0.681285 -0.49322300 + 10 0.349458 -0.83819200 + 11 0.172773 0.39840100 + 12 0.063300 0.66458900 + 13 0.033969 0.03301100 +P 13 + 1 96.215967 -0.00126200 + 2 49.579340 0.00641900 + 3 25.638009 -0.02122900 + 4 14.025942 0.11577700 + 5 8.740334 -0.42074000 + 6 4.634840 0.19774200 + 7 2.553374 1.57560000 + 8 1.321166 -1.06791300 + 9 0.681285 -1.31008300 + 10 0.349458 1.19114700 + 11 0.172773 0.55051600 + 12 0.063300 -0.71878800 + 13 0.033969 -0.15744100 +P 1 + 1 0.033969 1.00000000 +D 11 + 1 89.989649 0.00005100 + 2 33.132961 0.00480400 + 3 15.879656 0.02948500 + 4 7.465803 0.08624900 + 5 3.551993 0.17972800 + 6 1.728185 0.26185000 + 7 0.850498 0.29179400 + 8 0.417673 0.25935600 + 9 0.201523 0.17494400 + 10 0.100711 0.06227800 + 11 0.058959 0.02765300 +D 11 + 1 89.989649 -0.00003800 + 2 33.132961 -0.00459000 + 3 15.879656 -0.02756300 + 4 7.465803 -0.08277500 + 5 3.551993 -0.17349400 + 6 1.728185 -0.23618800 + 7 0.850498 -0.14922600 + 8 0.417673 0.04414500 + 9 0.201523 0.39050000 + 10 0.100711 0.20306400 + 11 0.058959 0.39800200 +D 11 + 1 89.989649 0.00012800 + 2 33.132961 0.00665200 + 3 15.879656 0.04463500 + 4 7.465803 0.12255900 + 5 3.551993 0.31114700 + 6 1.728185 0.28881300 + 7 0.850498 -0.14224600 + 8 0.417673 -0.61373700 + 9 0.201523 -0.12391600 + 10 0.100711 -0.02023500 + 11 0.058959 0.73325900 +D 1 + 1 0.058959 1.00000000 +F 1 + 1 0.552620 1.00000000 +F 1 + 1 2.328788 1.00000000 +G 1 + 1 1.977796 1.00000000 +S 1 + 1 0.500174 1.00000000 +S 1 + 1 1.490795 1.00000000 +P 1 + 1 1.552979 1.00000000 +P 1 + 1 4.879132 1.00000000 +D 1 + 1 1.563648 1.00000000 +D 1 + 1 2.740176 1.00000000 +F 1 + 1 4.698117 1.00000000 +G 1 + 1 4.370840 1.00000000 + +CHROMIUM +S 13 + 1 73.977737 0.00086400 + 2 37.684349 -0.01159500 + 3 19.278723 0.09046700 + 4 12.130763 -0.02483700 + 5 7.453002 -0.33040700 + 6 3.756296 -0.20059800 + 7 2.084137 0.44976600 + 8 0.993314 0.64757500 + 9 0.483094 0.22902500 + 10 0.225854 0.00921700 + 11 0.115338 0.00113200 + 12 0.052134 -0.00036700 + 13 0.023679 0.00009200 +S 13 + 1 73.977737 -0.00018300 + 2 37.684349 0.00270400 + 3 19.278723 -0.02265000 + 4 12.130763 0.00718100 + 5 7.453002 0.08770500 + 6 3.756296 0.04761600 + 7 2.084137 -0.12567200 + 8 0.993314 -0.24457100 + 9 0.483094 -0.19841900 + 10 0.225854 0.03088900 + 11 0.115338 0.42393500 + 12 0.052134 0.57694100 + 13 0.023679 0.14832300 +S 13 + 1 73.977737 -0.00032700 + 2 37.684349 0.00530900 + 3 19.278723 -0.04690500 + 4 12.130763 0.01541100 + 5 7.453002 0.19169700 + 6 3.756296 0.09975900 + 7 2.084137 -0.33899400 + 8 0.993314 -0.69580600 + 9 0.483094 -0.00731500 + 10 0.225854 1.11859900 + 11 0.115338 0.71725700 + 12 0.052134 -0.86856500 + 13 0.023679 -0.46718600 +S 13 + 1 73.977737 -0.00069800 + 2 37.684349 0.01020700 + 3 19.278723 -0.09126100 + 4 12.130763 0.05220700 + 5 7.453002 0.34216400 + 6 3.756296 0.17486600 + 7 2.084137 -0.99425800 + 8 0.993314 -1.19060400 + 9 0.483094 2.27183400 + 10 0.225854 1.00301300 + 11 0.115338 -2.60523500 + 12 0.052134 0.26515800 + 13 0.023679 0.90228600 +S 1 + 1 0.023679 1.00000000 +P 13 + 1 101.951240 0.00008800 + 2 52.309865 -0.00074700 + 3 27.142574 0.00713500 + 4 15.066862 -0.01470200 + 5 9.693669 -0.07335300 + 6 4.985710 0.01200700 + 7 2.761266 0.28311700 + 8 1.417673 0.44078600 + 9 0.728201 0.30677500 + 10 0.378189 0.08180400 + 11 0.189359 0.00883900 + 12 0.072301 0.00102200 + 13 0.037471 0.00032500 +P 13 + 1 101.951240 0.00002800 + 2 52.309865 -0.00008500 + 3 27.142574 -0.00075100 + 4 15.066862 0.00084400 + 5 9.693669 0.02265600 + 6 4.985710 -0.01278100 + 7 2.761266 -0.06238600 + 8 1.417673 -0.14358100 + 9 0.728201 -0.06228100 + 10 0.378189 -0.05447100 + 11 0.189359 0.37713500 + 12 0.072301 0.47163300 + 13 0.037471 0.31162400 +P 13 + 1 101.951240 -0.00013700 + 2 52.309865 0.00093200 + 3 27.142574 -0.00684500 + 4 15.066862 0.01983100 + 5 9.693669 0.04364700 + 6 4.985710 -0.01928900 + 7 2.761266 -0.28118700 + 8 1.417673 -0.37029800 + 9 0.728201 -0.19987300 + 10 0.378189 1.02855200 + 11 0.189359 0.42371100 + 12 0.072301 -0.80092600 + 13 0.037471 -0.14191000 +P 13 + 1 101.951240 0.00002700 + 2 52.309865 0.00018000 + 3 27.142574 -0.00574200 + 4 15.066862 0.02041900 + 5 9.693669 0.10052700 + 6 4.985710 -0.10060800 + 7 2.761266 -0.60774600 + 8 1.417673 -0.60170500 + 9 0.728201 1.45090500 + 10 0.378189 0.67229900 + 11 0.189359 -1.90482300 + 12 0.072301 0.66581400 + 13 0.037471 0.34852200 +P 1 + 1 0.037471 1.00000000 +D 11 + 1 120.683729 -0.00000600 + 2 42.646591 0.00311100 + 3 21.154405 0.02864100 + 4 9.708242 0.07622200 + 5 4.614990 0.17059500 + 6 2.243726 0.26690800 + 7 1.086491 0.31103900 + 8 0.524700 0.26731200 + 9 0.255752 0.16333600 + 10 0.121497 0.06278200 + 11 0.054339 0.00787200 +D 11 + 1 120.683729 0.00001700 + 2 42.646591 -0.00357600 + 3 21.154405 -0.03147600 + 4 9.708242 -0.08758300 + 5 4.614990 -0.19574000 + 6 2.243726 -0.27013200 + 7 1.086491 -0.17003400 + 8 0.524700 0.14341200 + 9 0.255752 0.40868700 + 10 0.121497 0.37025700 + 11 0.054339 0.12311200 +D 11 + 1 120.683729 0.00004000 + 2 42.646591 -0.00518100 + 3 21.154405 -0.04339300 + 4 9.708242 -0.12773400 + 5 4.614990 -0.28207000 + 6 2.243726 -0.28839000 + 7 1.086491 0.16826900 + 8 0.524700 0.67306200 + 9 0.255752 0.09919600 + 10 0.121497 -0.57061200 + 11 0.054339 -0.29719700 +D 1 + 1 0.054339 1.00000000 +F 1 + 1 0.558910 1.00000000 +F 1 + 1 2.345290 1.00000000 +G 1 + 1 1.422099 1.00000000 +S 1 + 1 1.024744 1.00000000 +S 1 + 1 2.833892 1.00000000 +P 1 + 1 1.196915 1.00000000 +P 1 + 1 4.766939 1.00000000 +D 1 + 1 1.632674 1.00000000 +D 1 + 1 2.942314 1.00000000 +F 1 + 1 5.326814 1.00000000 +G 1 + 1 3.919920 1.00000000 + +MANGANESE +S 13 + 1 76.008334 0.00099300 + 2 39.277974 -0.01479600 + 3 20.405805 0.12071000 + 4 12.218680 -0.12400100 + 5 7.182690 -0.32020000 + 6 3.850780 -0.10562200 + 7 2.142489 0.47272100 + 8 1.049631 0.62038700 + 9 0.508682 0.20455300 + 10 0.192243 0.00592400 + 11 0.108899 -0.00009700 + 12 0.053425 -0.00018500 + 13 0.025236 0.00006100 +S 13 + 1 76.008334 -0.00019900 + 2 39.277974 0.00335200 + 3 20.405805 -0.02941300 + 4 12.218680 0.03209100 + 5 7.182690 0.08315200 + 6 3.850780 0.02128300 + 7 2.142489 -0.12998900 + 8 1.049631 -0.23900600 + 9 0.508682 -0.18031500 + 10 0.192243 0.11014800 + 11 0.108899 0.40442600 + 12 0.053425 0.51730700 + 13 0.025236 0.14813900 +S 13 + 1 76.008334 -0.00009100 + 2 39.277974 0.00537400 + 3 20.405805 -0.05849400 + 4 12.218680 0.05634500 + 5 7.182690 0.22787400 + 6 3.850780 -0.00842000 + 7 2.142489 -0.32077700 + 8 1.049631 -0.81313700 + 9 0.508682 0.32647500 + 10 0.192243 1.44754000 + 11 0.108899 0.02132100 + 12 0.053425 -0.67832300 + 13 0.025236 -0.45282800 +S 13 + 1 76.008334 -0.00052600 + 2 39.277974 0.01138000 + 3 20.405805 -0.11603400 + 4 12.218680 0.14932900 + 5 7.182690 0.36015400 + 6 3.850780 0.02517400 + 7 2.142489 -1.17012500 + 8 1.049631 -0.87212300 + 9 0.508682 2.55063300 + 10 0.192243 0.09034300 + 11 0.108899 -2.21058800 + 12 0.053425 0.47058200 + 13 0.025236 0.83217500 +S 1 + 1 0.025236 1.00000000 +P 13 + 1 113.479709 0.00010300 + 2 58.160819 -0.00089400 + 3 30.043076 0.00884400 + 4 16.753323 -0.01968500 + 5 10.705604 -0.06919000 + 6 5.557903 0.01150800 + 7 3.080151 0.28231300 + 8 1.582963 0.43867800 + 9 0.810922 0.30984300 + 10 0.413396 0.08394500 + 11 0.195480 0.00751700 + 12 0.072688 0.00110000 + 13 0.035877 0.00029000 +P 13 + 1 113.479709 0.00001900 + 2 58.160819 -0.00002400 + 3 30.043076 -0.00122400 + 4 16.753323 0.00232000 + 5 10.705604 0.02075800 + 6 5.557903 -0.01157200 + 7 3.080151 -0.06291900 + 8 1.582963 -0.13675400 + 9 0.810922 -0.06729500 + 10 0.413396 -0.03102400 + 11 0.195480 0.37898100 + 12 0.072688 0.50782400 + 13 0.035877 0.26094100 +P 13 + 1 113.479709 -0.00019700 + 2 58.160819 0.00135400 + 3 30.043076 -0.01010200 + 4 16.753323 0.03060300 + 5 10.705604 0.04620000 + 6 5.557903 -0.01758800 + 7 3.080151 -0.39592000 + 8 1.582963 -0.41909300 + 9 0.810922 0.07501700 + 10 0.413396 1.09298600 + 11 0.195480 0.00868000 + 12 0.072688 -0.75636900 + 13 0.035877 -0.04514900 +P 13 + 1 113.479709 0.00001400 + 2 58.160819 0.00042100 + 3 30.043076 -0.00857300 + 4 16.753323 0.03879700 + 5 10.705604 0.09933800 + 6 5.557903 -0.14444500 + 7 3.080151 -0.82118200 + 8 1.582963 -0.25078500 + 9 0.810922 1.79017000 + 10 0.413396 -0.39954700 + 11 0.195480 -1.29438200 + 12 0.072688 0.84704700 + 13 0.035877 0.15171000 +P 1 + 1 0.035877 1.00000000 +D 11 + 1 132.688182 0.00003000 + 2 45.266024 0.00529400 + 3 23.267336 0.02914300 + 4 10.605694 0.07677500 + 5 5.074684 0.16855100 + 6 2.469857 0.25683200 + 7 1.205883 0.28989100 + 8 0.590569 0.25715400 + 9 0.292055 0.18172600 + 10 0.149190 0.08998600 + 11 0.076511 0.03459500 +D 11 + 1 132.688182 -0.00002100 + 2 45.266024 -0.00544900 + 3 23.267336 -0.02903200 + 4 10.605694 -0.07982500 + 5 5.074684 -0.17441500 + 6 2.469857 -0.25340400 + 7 1.205883 -0.17430500 + 8 0.590569 0.04508100 + 9 0.292055 0.34576000 + 10 0.149190 0.26372500 + 11 0.076511 0.37171500 +D 11 + 1 132.688182 0.00006000 + 2 45.266024 0.00838500 + 3 23.267336 0.04580000 + 4 10.605694 0.12921500 + 5 5.074684 0.28432700 + 6 2.469857 0.27076000 + 7 1.205883 -0.10159100 + 8 0.590569 -0.58067700 + 9 0.292055 -0.18169600 + 10 0.149190 0.02100300 + 11 0.076511 0.72365800 +D 1 + 1 0.076511 1.00000000 +F 1 + 1 0.677099 1.00000000 +F 1 + 1 2.824255 1.00000000 +G 1 + 1 1.740920 1.00000000 +S 1 + 1 1.199951 1.00000000 +S 1 + 1 3.121964 1.00000000 +P 1 + 1 1.467265 1.00000000 +P 1 + 1 5.604722 1.00000000 +D 1 + 1 1.999257 1.00000000 +D 1 + 1 3.454746 1.00000000 +F 1 + 1 6.309190 1.00000000 +G 1 + 1 4.628708 1.00000000 + +IRON +S 13 + 1 84.322332 0.00078500 + 2 44.203528 -0.01278100 + 3 23.288963 0.10463500 + 4 13.385163 -0.11938500 + 5 7.518052 -0.33980400 + 6 4.101835 -0.04999400 + 7 2.253571 0.47695500 + 8 1.134924 0.59322200 + 9 0.561550 0.20015100 + 10 0.201961 0.00859100 + 11 0.108698 -0.00218800 + 12 0.053619 0.00067700 + 13 0.025823 -0.00014400 +S 13 + 1 84.322332 -0.00016200 + 2 44.203528 0.00292100 + 3 23.288963 -0.02546600 + 4 13.385163 0.03118200 + 5 7.518052 0.08684900 + 6 4.101835 0.00684600 + 7 2.253571 -0.13185600 + 8 1.134924 -0.22774600 + 9 0.561550 -0.17307900 + 10 0.201961 0.13614200 + 11 0.108698 0.43401300 + 12 0.053619 0.47755500 + 13 0.025823 0.12880400 +S 13 + 1 84.322332 0.00000200 + 2 44.203528 0.00410300 + 3 23.288963 -0.04684000 + 4 13.385163 0.05283300 + 5 7.518052 0.21809400 + 6 4.101835 -0.04499900 + 7 2.253571 -0.28738600 + 8 1.134924 -0.71322000 + 9 0.561550 0.24917400 + 10 0.201961 1.29987200 + 11 0.108698 0.19211900 + 12 0.053619 -0.65861600 + 13 0.025823 -0.52104700 +S 13 + 1 84.322332 0.00001200 + 2 44.203528 0.00759800 + 3 23.288963 -0.09413300 + 4 13.385163 0.12765500 + 5 7.518052 0.43559800 + 6 4.101835 -0.14791100 + 7 2.253571 -1.08447700 + 8 1.134924 -0.88700300 + 9 0.561550 2.44994600 + 10 0.201961 0.16797600 + 11 0.108698 -2.11466800 + 12 0.053619 0.45257900 + 13 0.025823 0.80144400 +S 1 + 1 0.025823 1.00000000 +P 13 + 1 125.092775 0.00005600 + 2 65.211589 -0.00057200 + 3 34.437599 0.00738800 + 4 18.930704 -0.02848100 + 5 10.873415 -0.06300500 + 6 6.012172 0.02485500 + 7 3.372205 0.27747400 + 8 1.768641 0.42538600 + 9 0.914516 0.31414500 + 10 0.460895 0.09042200 + 11 0.204490 0.00697700 + 12 0.074741 0.00115400 + 13 0.035671 0.00030300 +P 13 + 1 125.092775 0.00002500 + 2 65.211589 -0.00007000 + 3 34.437599 -0.00104200 + 4 18.930704 0.00512700 + 5 10.873415 0.01840400 + 6 6.012172 -0.01469200 + 7 3.372205 -0.06130700 + 8 1.768641 -0.12863800 + 9 0.914516 -0.07063700 + 10 0.460895 -0.01631400 + 11 0.204490 0.38070200 + 12 0.074741 0.52307100 + 13 0.035671 0.23576500 +P 13 + 1 125.092775 -0.00019700 + 2 65.211589 0.00125100 + 3 34.437599 -0.00915400 + 4 18.930704 0.03820100 + 5 10.873415 0.04309700 + 6 6.012172 -0.02947500 + 7 3.372205 -0.42699600 + 8 1.768641 -0.39484000 + 9 0.914516 0.07723000 + 10 0.460895 1.11988100 + 11 0.204490 -0.06649400 + 12 0.074741 -0.72158300 + 13 0.035671 -0.00569500 +P 13 + 1 125.092775 0.00026400 + 2 65.211589 -0.00107600 + 3 34.437599 -0.00259100 + 4 18.930704 0.03551900 + 5 10.873415 0.11955400 + 6 6.012172 -0.20471400 + 7 3.372205 -0.76062700 + 8 1.768641 -0.26274000 + 9 0.914516 1.77903000 + 10 0.460895 -0.46274200 + 11 0.204490 -1.24103000 + 12 0.074741 0.94098700 + 13 0.035671 0.08349600 +P 1 + 1 0.035671 1.00000000 +D 11 + 1 152.736742 0.00002900 + 2 50.772485 0.00523800 + 3 26.253589 0.02932500 + 4 12.137022 0.07490100 + 5 5.853719 0.16341100 + 6 2.856224 0.25105700 + 7 1.386132 0.28760300 + 8 0.670802 0.25186200 + 9 0.330280 0.18673600 + 10 0.170907 0.09357000 + 11 0.086794 0.07381100 +D 11 + 1 152.736742 -0.00002600 + 2 50.772485 -0.00632900 + 3 26.253589 -0.03439800 + 4 12.137022 -0.09176500 + 5 5.853719 -0.20159200 + 6 2.856224 -0.28393000 + 7 1.386132 -0.16198100 + 8 0.670802 0.12882200 + 9 0.330280 0.36016000 + 10 0.170907 0.27759200 + 11 0.086794 0.26140300 +D 11 + 1 152.736742 0.00005100 + 2 50.772485 0.00876900 + 3 26.253589 0.04792100 + 4 12.137022 0.13247500 + 5 5.853719 0.29727900 + 6 2.856224 0.27501800 + 7 1.386132 -0.22284200 + 8 0.670802 -0.61906700 + 9 0.330280 -0.07629000 + 10 0.170907 0.25605600 + 11 0.086794 0.54148200 +D 1 + 1 0.086794 1.00000000 +F 1 + 1 0.824745 1.00000000 +F 1 + 1 3.385699 1.00000000 +G 1 + 1 2.137024 1.00000000 +S 1 + 1 1.360370 1.00000000 +S 1 + 1 3.337166 1.00000000 +P 1 + 1 1.604522 1.00000000 +P 1 + 1 6.253507 1.00000000 +D 1 + 1 2.185217 1.00000000 +D 1 + 1 3.894144 1.00000000 +F 1 + 1 7.308585 1.00000000 +G 1 + 1 5.501497 1.00000000 + +COBALT +S 13 + 1 90.663831 0.00077400 + 2 46.961414 -0.01131600 + 3 24.110274 0.10120900 + 4 14.430881 -0.08164200 + 5 8.757423 -0.35481200 + 6 4.484459 -0.09036200 + 7 2.519739 0.49817400 + 8 1.236850 0.60412300 + 9 0.601882 0.19077500 + 10 0.223338 0.00657800 + 11 0.123422 -0.00090500 + 12 0.059941 0.00017100 + 13 0.027978 -0.00002500 +S 13 + 1 90.663831 -0.00015400 + 2 46.961414 0.00252500 + 3 24.110274 -0.02444300 + 4 14.430881 0.02220000 + 5 8.757423 0.08841600 + 6 4.484459 0.01682000 + 7 2.519739 -0.13458200 + 8 1.236850 -0.23129500 + 9 0.601882 -0.16398600 + 10 0.223338 0.12133700 + 11 0.123422 0.40241400 + 12 0.059941 0.50611300 + 13 0.027978 0.14543600 +S 13 + 1 90.663831 -0.00004700 + 2 46.961414 0.00365400 + 3 24.110274 -0.04613200 + 4 14.430881 0.03648300 + 5 8.757423 0.21726500 + 6 4.484459 -0.01188300 + 7 2.519739 -0.32468800 + 8 1.236850 -0.68058100 + 9 0.601882 0.25693600 + 10 0.223338 1.22400500 + 11 0.123422 0.23683700 + 12 0.059941 -0.60406400 + 13 0.027978 -0.57494700 +S 13 + 1 90.663831 -0.00023100 + 2 46.961414 0.00753600 + 3 24.110274 -0.09729800 + 4 14.430881 0.11161100 + 5 8.757423 0.40362100 + 6 4.484459 -0.04832400 + 7 2.519739 -1.15760000 + 8 1.236850 -0.75683900 + 9 0.601882 2.31368300 + 10 0.223338 0.25307400 + 11 0.123422 -1.99146600 + 12 0.059941 0.16694200 + 13 0.027978 0.91722100 +S 1 + 1 0.027978 1.00000000 +P 13 + 1 139.038145 0.00007500 + 2 71.928971 -0.00062700 + 3 37.806311 0.00571900 + 4 21.054252 -0.00931000 + 5 12.973193 -0.08385700 + 6 6.791461 0.01239400 + 7 3.794018 0.28198700 + 8 1.960649 0.43417900 + 9 1.006283 0.31340900 + 10 0.509539 0.08977800 + 11 0.233091 0.00740500 + 12 0.083890 0.00098000 + 13 0.039802 0.00027400 +P 13 + 1 139.038145 0.00002500 + 2 71.928971 -0.00008400 + 3 37.806311 -0.00048500 + 4 21.054252 0.00009500 + 5 12.973193 0.02240200 + 6 6.791461 -0.01153400 + 7 3.794018 -0.05686600 + 8 1.960649 -0.12607000 + 9 1.006283 -0.06088900 + 10 0.509539 -0.03508600 + 11 0.233091 0.35184700 + 12 0.083890 0.51044900 + 13 0.039802 0.28970700 +P 13 + 1 139.038145 -0.00023800 + 2 71.928971 0.00148900 + 3 37.806311 -0.00872300 + 4 21.054252 0.02453800 + 5 12.973193 0.06085600 + 6 6.791461 -0.02038000 + 7 3.794018 -0.43019500 + 8 1.960649 -0.40769200 + 9 1.006283 0.08532600 + 10 0.509539 1.07332600 + 11 0.233091 0.01506700 + 12 0.083890 -0.71963100 + 13 0.039802 -0.02460300 +P 13 + 1 139.038145 -0.00005500 + 2 71.928971 -0.00001700 + 3 37.806311 0.00432000 + 4 21.054252 -0.02133900 + 5 12.973193 -0.12713400 + 6 6.791461 0.15720800 + 7 3.794018 0.79492700 + 8 1.960649 0.23357400 + 9 1.006283 -1.66603300 + 10 0.509539 0.28271600 + 11 0.233091 1.33562500 + 12 0.083890 -0.88546900 + 13 0.039802 -0.13034000 +P 1 + 1 0.039802 1.00000000 +D 11 + 1 160.444504 0.00003400 + 2 52.598830 0.00655300 + 3 27.491581 0.03618500 + 4 12.745988 0.08302600 + 5 6.184310 0.17696000 + 6 3.029146 0.26399000 + 7 1.474099 0.29244700 + 8 0.714391 0.24959700 + 9 0.348520 0.17163700 + 10 0.174166 0.08064900 + 11 0.087891 0.04121200 +D 11 + 1 160.444504 -0.00003100 + 2 52.598830 -0.00786900 + 3 27.491581 -0.04199200 + 4 12.745988 -0.10138800 + 5 6.184310 -0.21699600 + 6 3.029146 -0.28396200 + 7 1.474099 -0.12717900 + 8 0.714391 0.17712500 + 9 0.348520 0.37559600 + 10 0.174166 0.28463100 + 11 0.087891 0.20027700 +D 11 + 1 160.444504 0.00004800 + 2 52.598830 0.01053100 + 3 27.491581 0.05555900 + 4 12.745988 0.14075800 + 5 6.184310 0.30578500 + 6 3.029146 0.24281200 + 7 1.474099 -0.28504400 + 8 0.714391 -0.59481900 + 9 0.348520 -0.01793700 + 10 0.174166 0.34815000 + 11 0.087891 0.45517000 +D 1 + 1 0.087891 1.00000000 +F 1 + 1 0.975120 1.00000000 +F 1 + 1 3.957052 1.00000000 +G 1 + 1 2.525364 1.00000000 +S 1 + 1 1.447389 1.00000000 +S 1 + 1 3.880139 1.00000000 +P 1 + 1 1.784890 1.00000000 +P 1 + 1 6.847001 1.00000000 +D 1 + 1 2.363138 1.00000000 +D 1 + 1 4.221080 1.00000000 +F 1 + 1 8.206890 1.00000000 +G 1 + 1 6.296469 1.00000000 + +NICKEL +S 13 + 1 97.161835 0.00070900 + 2 51.187866 -0.01239900 + 3 26.996725 0.10722000 + 4 15.523536 -0.12455600 + 5 8.916168 -0.35102300 + 6 4.795806 -0.02575800 + 7 2.619926 0.49894800 + 8 1.330111 0.56898600 + 9 0.668901 0.19112100 + 10 0.230439 0.01027800 + 11 0.121518 -0.00362700 + 12 0.057951 0.00129500 + 13 0.027201 -0.00030700 +S 13 + 1 97.161835 -0.00014000 + 2 51.187866 0.00275600 + 3 26.996725 -0.02548200 + 4 15.523536 0.03218200 + 5 8.916168 0.08622600 + 6 4.795806 0.00110400 + 7 2.619926 -0.13579000 + 8 1.330111 -0.21572400 + 9 0.668901 -0.15836700 + 10 0.230439 0.14349900 + 11 0.121518 0.44367200 + 12 0.057951 0.47255800 + 13 0.027201 0.11017300 +S 13 + 1 97.161835 0.00012100 + 2 51.187866 0.00332200 + 3 26.996725 -0.04578500 + 4 15.523536 0.05341500 + 5 8.916168 0.22227000 + 6 4.795806 -0.07306500 + 7 2.619926 -0.29399800 + 8 1.330111 -0.66893800 + 9 0.668901 0.29750400 + 10 0.230439 1.23374800 + 11 0.121518 0.12931700 + 12 0.057951 -0.60340700 + 13 0.027201 -0.53306200 +S 13 + 1 97.161835 0.00043400 + 2 51.187866 0.00484800 + 3 26.996725 -0.08781800 + 4 15.523536 0.12185200 + 5 8.916168 0.45421800 + 6 4.795806 -0.24576500 + 7 2.619926 -0.99734500 + 8 1.330111 -0.83458600 + 9 0.668901 2.28567500 + 10 0.230439 0.25153800 + 11 0.121518 -1.98879600 + 12 0.057951 0.34760200 + 13 0.027201 0.82415000 +S 1 + 1 0.027201 1.00000000 +P 13 + 1 148.087630 0.00005500 + 2 77.452187 -0.00054800 + 3 40.915636 0.00697900 + 4 22.575667 -0.02365800 + 5 13.218268 -0.07568200 + 6 7.232093 0.02725300 + 7 4.054870 0.28477800 + 8 2.122089 0.42763200 + 9 1.092769 0.30993700 + 10 0.548240 0.08853500 + 11 0.238886 0.00642700 + 12 0.084667 0.00070800 + 13 0.038921 0.00018600 +P 13 + 1 148.087630 0.00002700 + 2 77.452187 -0.00008800 + 3 40.915636 -0.00077300 + 4 22.575667 0.00334500 + 5 13.218268 0.01940500 + 6 7.232093 -0.01428800 + 7 4.054870 -0.05452700 + 8 2.122089 -0.11645400 + 9 1.092769 -0.06023600 + 10 0.548240 -0.02392800 + 11 0.238886 0.34786900 + 12 0.084667 0.52262600 + 13 0.038921 0.27647100 +P 13 + 1 148.087630 -0.00023700 + 2 77.452187 0.00145600 + 3 40.915636 -0.00974500 + 4 22.575667 0.03779900 + 5 13.218268 0.05252100 + 6 7.232093 -0.03500600 + 7 4.054870 -0.45557700 + 8 2.122089 -0.36830600 + 9 1.092769 0.10039200 + 10 0.548240 1.07665200 + 11 0.238886 -0.04532600 + 12 0.084667 -0.70318600 + 13 0.038921 0.00458000 +P 13 + 1 148.087630 -0.00026000 + 2 77.452187 0.00107100 + 3 40.915636 0.00232200 + 4 22.575667 -0.03214000 + 5 13.218268 -0.13413600 + 6 7.232093 0.22906200 + 7 4.054870 0.75223900 + 8 2.122089 0.20553500 + 9 1.092769 -1.69291000 + 10 0.548240 0.43629500 + 11 0.238886 1.21951400 + 12 0.084667 -0.94551600 + 13 0.038921 -0.06223200 +P 1 + 1 0.038921 1.00000000 +D 11 + 1 177.900125 0.00004900 + 2 57.372112 0.00751900 + 3 29.881432 0.03645500 + 4 13.971757 0.08690100 + 5 6.841152 0.18056800 + 6 3.379983 0.26818700 + 7 1.651827 0.29675600 + 8 0.799251 0.25155800 + 9 0.388057 0.16231900 + 10 0.191191 0.07211900 + 11 0.093358 0.02368900 +D 11 + 1 177.900125 -0.00005300 + 2 57.372112 -0.00885000 + 3 29.881432 -0.04191600 + 4 13.971757 -0.10469100 + 5 6.841152 -0.21946400 + 6 3.379983 -0.28371200 + 7 1.651827 -0.12212700 + 8 0.799251 0.19012300 + 9 0.388057 0.37659800 + 10 0.191191 0.29512200 + 11 0.093358 0.17825200 +D 11 + 1 177.900125 0.00007900 + 2 57.372112 0.01144200 + 3 29.881432 0.05397200 + 4 13.971757 0.14106800 + 5 6.841152 0.30229400 + 6 3.379983 0.23655800 + 7 1.651827 -0.29131100 + 8 0.799251 -0.58175800 + 9 0.388057 -0.02406300 + 10 0.191191 0.38938700 + 11 0.093358 0.43083300 +D 1 + 1 0.093358 1.00000000 +F 1 + 1 1.144322 1.00000000 +F 1 + 1 4.588601 1.00000000 +G 1 + 1 2.896680 1.00000000 +S 1 + 1 1.554348 1.00000000 +S 1 + 1 4.246101 1.00000000 +P 1 + 1 1.939264 1.00000000 +P 1 + 1 7.600387 1.00000000 +D 1 + 1 2.566254 1.00000000 +D 1 + 1 4.627077 1.00000000 +F 1 + 1 9.190898 1.00000000 +G 1 + 1 7.108284 1.00000000 + +COPPER +S 13 + 1 104.471138 0.00074100 + 2 55.955221 -0.01395300 + 3 30.553953 0.10526600 + 4 16.942394 -0.12939900 + 5 9.452707 -0.36273800 + 6 5.174537 0.01326600 + 7 2.779171 0.48928800 + 8 1.441817 0.56208800 + 9 0.710674 0.19004700 + 10 0.241540 0.00563500 + 11 0.129621 -0.00058200 + 12 0.059229 -0.00002400 + 13 0.027110 0.00003000 +S 13 + 1 104.471138 -0.00013300 + 2 55.955221 0.00299900 + 3 30.553953 -0.02431000 + 4 16.942394 0.03198600 + 5 9.452707 0.08914900 + 6 5.174537 -0.01075000 + 7 2.779171 -0.12822400 + 8 1.441817 -0.21572000 + 9 0.710674 -0.14955900 + 10 0.241540 0.14291700 + 11 0.129621 0.44630700 + 12 0.059229 0.48464300 + 13 0.027110 0.09306900 +S 13 + 1 104.471138 0.00021000 + 2 55.955221 0.00380600 + 3 30.553953 -0.04731200 + 4 16.942394 0.05995700 + 5 9.452707 0.25064200 + 6 5.174537 -0.11910200 + 7 2.779171 -0.31406900 + 8 1.441817 -0.68930000 + 9 0.710674 0.40305000 + 10 0.241540 1.27044000 + 11 0.129621 -0.02902900 + 12 0.059229 -0.62215700 + 13 0.027110 -0.44207400 +S 13 + 1 104.471138 0.00036600 + 2 55.955221 0.00672000 + 3 30.553953 -0.09149300 + 4 16.942394 0.14226300 + 5 9.452707 0.47188100 + 6 5.174537 -0.31970800 + 7 2.779171 -1.06825500 + 8 1.441817 -0.61504900 + 9 0.710674 2.26128200 + 10 0.241540 -0.02005900 + 11 0.129621 -1.81574600 + 12 0.059229 0.47417400 + 13 0.027110 0.71359700 +S 1 + 1 0.027110 1.00000000 +P 13 + 1 159.152840 0.00002600 + 2 83.322776 -0.00040200 + 3 44.840311 0.00740500 + 4 25.020360 -0.03071400 + 5 13.610016 -0.07434800 + 6 7.761318 0.04343000 + 7 4.303947 0.28970300 + 8 2.290080 0.41346700 + 9 1.202173 0.30376200 + 10 0.607647 0.09349400 + 11 0.257656 0.00666300 + 12 0.090897 0.00056700 + 13 0.041925 0.00017600 +P 13 + 1 159.152840 0.00003400 + 2 83.322776 -0.00012900 + 3 44.840311 -0.00080200 + 4 25.020360 0.00474700 + 5 13.610016 0.01859500 + 6 7.761318 -0.01769200 + 7 4.303947 -0.05261400 + 8 2.290080 -0.11034900 + 9 1.202173 -0.05470100 + 10 0.607647 -0.02665500 + 11 0.257656 0.33588000 + 12 0.090897 0.50947800 + 13 0.041925 0.30255900 +P 13 + 1 159.152840 -0.00022800 + 2 83.322776 0.00141400 + 3 44.840311 -0.01029000 + 4 25.020360 0.04389600 + 5 13.610016 0.05286500 + 6 7.761318 -0.05656500 + 7 4.303947 -0.48071500 + 8 2.290080 -0.31598400 + 9 1.202173 0.07567900 + 10 0.607647 1.06074700 + 11 0.257656 -0.00806100 + 12 0.090897 -0.70160100 + 13 0.041925 0.00694100 +P 13 + 1 159.152840 -0.00041200 + 2 83.322776 0.00195700 + 3 44.840311 0.00064000 + 4 25.020360 -0.03675300 + 5 13.610016 -0.14719300 + 6 7.761318 0.29778200 + 7 4.303947 0.70527100 + 8 2.290080 0.19646600 + 9 1.202173 -1.65940600 + 10 0.607647 0.39150000 + 11 0.257656 1.24328400 + 12 0.090897 -0.95752900 + 13 0.041925 -0.05609100 +P 1 + 1 0.041925 1.00000000 +D 11 + 1 226.693527 0.00001500 + 2 73.010278 0.00410800 + 3 38.536518 0.02822300 + 4 18.726700 0.06932300 + 5 9.155485 0.15604500 + 6 4.540884 0.25123800 + 7 2.241175 0.29746300 + 8 1.085869 0.27498100 + 9 0.510612 0.19309800 + 10 0.229608 0.08639300 + 11 0.095781 0.01464500 +D 11 + 1 226.693527 -0.00001300 + 2 73.010278 -0.00525200 + 3 38.536518 -0.03498200 + 4 18.726700 -0.08895000 + 5 9.155485 -0.20719400 + 6 4.540884 -0.30259700 + 7 2.241175 -0.17932700 + 8 1.085869 0.16906900 + 9 0.510612 0.40590400 + 10 0.229608 0.34187100 + 11 0.095781 0.11708000 +D 11 + 1 226.693527 0.00001600 + 2 73.010278 0.00615700 + 3 38.536518 0.04036100 + 4 18.726700 0.10603800 + 5 9.155485 0.26329900 + 6 4.540884 0.28849600 + 7 2.241175 -0.18674500 + 8 1.085869 -0.59153900 + 9 0.510612 -0.13868100 + 10 0.229608 0.54774900 + 11 0.095781 0.36235300 +D 1 + 1 0.095781 1.00000000 +F 1 + 1 1.316717 1.00000000 +F 1 + 1 5.230236 1.00000000 +G 1 + 1 3.445758 1.00000000 +S 1 + 1 1.753253 1.00000000 +S 1 + 1 4.527313 1.00000000 +P 1 + 1 2.153325 1.00000000 +P 1 + 1 8.444453 1.00000000 +D 1 + 1 2.849045 1.00000000 +D 1 + 1 5.133828 1.00000000 +F 1 + 1 10.218472 1.00000000 +G 1 + 1 8.017573 1.00000000 + +ZINC +S 13 + 1 114.485022 0.00042900 + 2 61.996430 -0.01933900 + 3 40.117132 0.08625400 + 4 20.119649 -0.08895500 + 5 10.171676 -0.40267100 + 6 5.601641 0.06730400 + 7 2.864122 0.47921500 + 8 1.592779 0.50396000 + 9 0.826525 0.22208800 + 10 0.263975 0.01220300 + 11 0.145302 -0.00430000 + 12 0.068195 0.00124300 + 13 0.031465 -0.00026700 +S 13 + 1 114.485022 -0.00010900 + 2 61.996430 0.00445900 + 3 40.117132 -0.02006700 + 4 20.119649 0.02233800 + 5 10.171676 0.09669800 + 6 5.601641 -0.02196600 + 7 2.864122 -0.12876800 + 8 1.592779 -0.18170600 + 9 0.826525 -0.16231100 + 10 0.263975 0.11626400 + 11 0.145302 0.41131400 + 12 0.068195 0.49425700 + 13 0.031465 0.13810300 +S 13 + 1 114.485022 0.00066600 + 2 61.996430 0.00626900 + 3 40.117132 -0.04660300 + 4 20.119649 0.05039900 + 5 10.171676 0.36349300 + 6 5.601641 -0.24284000 + 7 2.864122 -0.38228100 + 8 1.592779 -0.86156700 + 9 0.826525 0.70607700 + 10 0.263975 1.49500100 + 11 0.145302 -0.45399400 + 12 0.068195 -0.59782200 + 13 0.031465 -0.25611700 +S 13 + 1 114.485022 0.00070400 + 2 61.996430 0.01284100 + 3 40.117132 -0.08591000 + 4 20.119649 0.11798200 + 5 10.171676 0.63016400 + 6 5.601641 -0.60034400 + 7 2.864122 -1.24906000 + 8 1.592779 -0.32949800 + 9 0.826525 2.59246900 + 10 0.263975 -1.00448100 + 11 0.145302 -1.37951400 + 12 0.068195 1.04684200 + 13 0.031465 0.32467600 +S 1 + 1 0.031465 1.00000000 +P 13 + 1 158.770986 -0.00015300 + 2 75.802876 0.00189300 + 3 44.547824 0.01046100 + 4 31.445269 -0.04514100 + 5 13.080125 -0.08420100 + 6 7.788616 0.10497300 + 7 4.195040 0.30771400 + 8 2.362276 0.36856300 + 9 1.302584 0.28633600 + 10 0.660704 0.09515600 + 11 0.249042 0.00585100 + 12 0.091781 -0.00003400 + 13 0.048931 0.00025200 +P 13 + 1 158.770986 0.00005300 + 2 75.802876 -0.00057100 + 3 44.547824 -0.00107300 + 4 31.445269 0.00746300 + 5 13.080125 0.01867600 + 6 7.788616 -0.02809000 + 7 4.195040 -0.05443800 + 8 2.362276 -0.09374400 + 9 1.302584 -0.05416900 + 10 0.660704 -0.00797200 + 11 0.249042 0.35619800 + 12 0.091781 0.41239900 + 13 0.048931 0.36132100 +P 13 + 1 158.770986 -0.00017000 + 2 75.802876 0.00060400 + 3 44.547824 -0.01998700 + 4 31.445269 0.06115300 + 5 13.080125 0.06731700 + 6 7.788616 -0.13921100 + 7 4.195040 -0.52704100 + 8 2.362276 -0.17619400 + 9 1.302584 0.03712900 + 10 0.660704 1.07932200 + 11 0.249042 -0.05014900 + 12 0.091781 -0.68897100 + 13 0.048931 0.03733100 +P 13 + 1 158.770986 -0.00078100 + 2 75.802876 0.00785500 + 3 44.547824 -0.00867100 + 4 31.445269 -0.04055300 + 5 13.080125 -0.20006200 + 6 7.788616 0.52859900 + 7 4.195040 0.52855200 + 8 2.362276 0.24357600 + 9 1.302584 -1.80718200 + 10 0.660704 0.62949600 + 11 0.249042 1.13761300 + 12 0.091781 -1.06715000 + 13 0.048931 0.02219000 +P 1 + 1 0.048931 1.00000000 +D 11 + 1 270.014061 -0.00001600 + 2 100.161579 0.00069600 + 3 43.530609 0.01353600 + 4 21.262419 0.06935000 + 5 10.577821 0.14955900 + 6 5.343620 0.23958800 + 7 2.704857 0.28674400 + 8 1.353018 0.27145900 + 9 0.660873 0.20242600 + 10 0.309149 0.10330700 + 11 0.133879 0.02321100 +D 11 + 1 270.014061 0.00001300 + 2 100.161579 -0.00088900 + 3 43.530609 -0.01864000 + 4 21.262419 -0.09464600 + 5 10.577821 -0.21565900 + 6 5.343620 -0.32246900 + 7 2.704857 -0.19752900 + 8 1.353018 0.16444800 + 9 0.660873 0.41001700 + 10 0.309149 0.32783800 + 11 0.133879 0.10574900 +D 11 + 1 270.014061 0.00000700 + 2 100.161579 0.00086800 + 3 43.530609 0.02163100 + 4 21.262419 0.10774800 + 5 10.577821 0.27899700 + 6 5.343620 0.31454300 + 7 2.704857 -0.24192600 + 8 1.353018 -0.60241500 + 9 0.660873 -0.11801300 + 10 0.309149 0.54548200 + 11 0.133879 0.36382900 +D 1 + 1 0.133879 1.00000000 +F 1 + 1 1.520399 1.00000000 +F 1 + 1 6.000349 1.00000000 +G 1 + 1 4.099533 1.00000000 +S 1 + 1 2.070009 1.00000000 +S 1 + 1 4.949808 1.00000000 +P 1 + 1 2.419925 1.00000000 +P 1 + 1 9.481024 1.00000000 +D 1 + 1 3.443296 1.00000000 +D 1 + 1 6.122191 1.00000000 +F 1 + 1 11.180611 1.00000000 +G 1 + 1 9.295253 1.00000000 + diff --git a/data/basis/cc-pv5z_ecp_ccecp b/data/basis/cc-pv5z_ecp_ccecp new file mode 100644 index 00000000..6af1f148 --- /dev/null +++ b/data/basis/cc-pv5z_ecp_ccecp @@ -0,0 +1,3991 @@ +HELIUM +S 8 + 1 39.320931 0.01006570 + 2 17.174528 0.02487620 + 3 7.501461 0.05825370 + 4 3.276475 0.13445960 + 5 1.431093 0.24431180 + 6 0.625070 0.34250610 + 7 0.273017 0.28264700 + 8 0.119248 0.07392530 +S 1 + 1 3.912326 1.00000000 +S 1 + 1 1.397551 1.00000000 +S 1 + 1 0.499229 1.00000000 +S 1 + 1 0.178333 1.00000000 +P 1 + 1 10.505867 1.00000000 +P 1 + 1 3.702589 1.00000000 +P 1 + 1 1.304906 1.00000000 +P 1 + 1 0.459889 1.00000000 +D 1 + 1 7.804576 1.00000000 +D 1 + 1 2.665013 1.00000000 +D 1 + 1 0.910017 1.00000000 +F 1 + 1 5.453553 1.00000000 +F 1 + 1 1.702130 1.00000000 +G 1 + 1 3.423618 1.00000000 + +LITHIUM +S 10 + 1 16.001258 0.00004340 + 2 7.583113 -0.00075310 + 3 3.593693 -0.00025190 + 4 1.703077 0.01696740 + 5 0.807101 -0.09099210 + 6 0.382491 -0.08931550 + 7 0.181265 0.02941550 + 8 0.085903 0.36440200 + 9 0.040710 0.55049730 + 10 0.019293 0.17444120 +P 10 + 1 7.004881 -0.00053060 + 2 3.451199 0.00129490 + 3 1.700353 0.00701150 + 4 0.837738 0.01716040 + 5 0.412741 0.03672400 + 6 0.203351 0.09650420 + 7 0.100188 0.22110130 + 8 0.049361 0.38353580 + 9 0.024320 0.33505640 + 10 0.011982 0.07814530 +S 1 + 1 1.004881 1.00000000 +S 1 + 1 0.670681 1.00000000 +S 1 + 1 0.104917 1.00000000 +S 1 + 1 0.025010 1.00000000 +P 1 + 1 0.806184 1.00000000 +P 1 + 1 0.404355 1.00000000 +P 1 + 1 0.138470 1.00000000 +P 1 + 1 0.081041 1.00000000 +D 1 + 1 0.986350 1.00000000 +D 1 + 1 0.835758 1.00000000 +D 1 + 1 0.161784 1.00000000 +D 1 + 1 0.065574 1.00000000 +F 1 + 1 0.856748 1.00000000 +F 1 + 1 0.420698 1.00000000 +F 1 + 1 0.152988 1.00000000 +G 1 + 1 0.457496 1.00000000 +G 1 + 1 0.254479 1.00000000 + +BERYLLIUM +S 9 + 1 15.965877 0.00069000 + 2 7.367361 -0.00037700 + 3 3.399626 0.02406900 + 4 1.568738 -0.11198900 + 5 0.723885 -0.07644200 + 6 0.334032 0.13574400 + 7 0.154137 0.41851500 + 8 0.071126 0.46292400 + 9 0.032821 0.12826600 +P 9 + 1 16.554942 0.00034100 + 2 7.526050 0.00322800 + 3 3.421421 0.01766000 + 4 1.555414 0.03866400 + 5 0.707108 0.09863900 + 6 0.321458 0.23125900 + 7 0.146138 0.38710900 + 8 0.066436 0.33944800 + 9 0.030203 0.08910200 +S 1 + 1 1.347510 1.00000000 +S 1 + 1 0.256393 1.00000000 +S 1 + 1 0.048784 1.00000000 +S 1 + 1 0.009282 1.00000000 +P 1 + 1 2.741691 1.00000000 +P 1 + 1 1.017428 1.00000000 +P 1 + 1 0.377562 1.00000000 +P 1 + 1 0.140111 1.00000000 +D 1 + 1 1.449201 1.00000000 +D 1 + 1 0.672965 1.00000000 +D 1 + 1 0.312505 1.00000000 +D 1 + 1 0.145118 1.00000000 +F 1 + 1 0.739767 1.00000000 +F 1 + 1 0.393276 1.00000000 +F 1 + 1 0.209074 1.00000000 +G 1 + 1 0.611064 1.00000000 +G 1 + 1 0.317358 1.00000000 +H 1 + 1 0.507936 1.00000000 + +BORON +s 9 1.00 +1 11.76050 -0.0036757 +2 5.150520 0.0250517 +3 2.578276 -0.1249228 +4 1.290648 -0.0662874 +5 0.646080 0.1007341 +6 0.323418 0.3375492 +7 0.161898 0.4308431 +8 0.081044 0.2486558 +9 0.040569 0.0317295 +s 1 1.00 +1 0.614105 1.000000 +s 1 1.00 +1 0.375720 1.000000 +s 1 1.00 +1 0.170896 1.000000 +s 1 1.00 +1 0.070664 1.000000 +p 9 1.00 +1 7.470701 0.0047397 +2 3.735743 0.0376009 +3 1.868068 0.0510600 +4 0.934132 0.1456587 +5 0.467115 0.2237933 +6 0.233582 0.3199467 +7 0.116803 0.2850185 +8 0.058408 0.1448808 +9 0.029207 0.0176962 +p 1 1.00 +1 0.566611 1.000000 +p 1 1.00 +1 0.436327 1.000000 +p 1 1.00 +1 0.143772 1.000000 +p 1 1.00 +1 0.057917 1.000000 +d 1 1.00 +1 1.022256 1.000000 +d 1 1.00 +1 0.808233 1.000000 +d 1 1.00 +1 0.380163 1.000000 +d 1 1.00 +1 0.134838 1.000000 +f 1 1.00 +1 1.002171 1.000000 +f 1 1.00 +1 0.799174 1.000000 +f 1 1.00 +1 0.272717 1.000000 +g 1 1.00 +1 0.824366 1.000000 +g 1 1.00 +1 0.486131 1.000000 +h 1 1.00 +1 0.632779 1.000000 + +CARBON +s 9 1.00 +1 13.073594 0.0051583 +2 6.541187 0.0603424 +3 4.573411 -0.1978471 +4 1.637494 -0.0810340 +5 0.819297 0.2321726 +6 0.409924 0.2914643 +7 0.231300 0.4336405 +8 0.102619 0.2131940 +9 0.051344 0.0049848 +s 1 1.00 +1 0.098302 1.000000 +s 1 1.00 +1 0.232034 1.000000 +s 1 1.00 +1 0.744448 1.000000 +s 1 1.00 +1 1.009914 1.000000 +p 9 1.00 +1 9.934169 0.0209076 +2 3.886955 0.0572698 +3 1.871016 0.1122682 +4 0.935757 0.2130082 +5 0.468003 0.2835815 +6 0.239473 0.3011207 +7 0.117063 0.2016934 +8 0.058547 0.0453575 +9 0.029281 0.0029775 +p 1 1.00 +1 0.084047 1.000000 +p 1 1.00 +1 0.216618 1.000000 +p 1 1.00 +1 0.576869 1.000000 +p 1 1.00 +1 1.006252 1.000000 +d 1 1.00 +1 0.206619 1.000000 +d 1 1.00 +1 0.606933 1.000000 +d 1 1.00 +1 1.001526 1.000000 +d 1 1.00 +1 1.504882 1.000000 +f 1 1.00 +1 0.400573 1.000000 +f 1 1.00 +1 1.099564 1.000000 +f 1 1.00 +1 1.501091 1.000000 +g 1 1.00 +1 0.797648 1.000000 +g 1 1.00 +1 1.401343 1.000000 +h 1 1.00 +1 1.001703 1.000000 + +NITROGEN +S 9 +1 42.693822 -0.0009357 +2 19.963207 0.0063295 +3 9.3345971 0.0105038 +4 4.9278187 -0.1653735 +5 2.040920 -0.0005352 +6 0.967080 0.2452063 +7 0.476131 0.4582128 +8 0.211443 0.3641224 +9 0.098869 0.0620406 +S 1 +1 1.532221 1.0000000 +S 1 +1 0.702011 1.0000000 +S 1 +1 0.286632 1.0000000 +S 1 +1 0.115320 1.0000000 +P 9 +1 18.925871 0.0073505 +2 9.225603 0.0292844 +3 4.581431 0.0652168 +4 2.300164 0.1405153 +5 1.154825 0.2328188 +6 0.582039 0.2989556 +7 0.290535 0.2802507 +8 0.145867 0.1527995 +9 0.073234 0.0355475 +P 1 +1 1.272759 1.0000000 +P 1 +1 0.978538 1.0000000 +P 1 +1 0.322697 1.0000000 +P 1 +1 0.120601 1.0000000 +D 1 +1 2.798122 1.0000000 +D 1 +1 1.542532 1.0000000 +D 1 +1 0.891436 1.0000000 +D 1 +1 0.305579 1.0000000 +F 1 +1 2.443045 1.0000000 +F 1 +1 1.592967 1.0000000 +F 1 +1 0.587676 1.0000000 +G 1 +1 2.842018 1.0000000 +G 1 +1 1.038637 1.0000000 +H 1 +1 2.272542 1.0000000 + +OXYGEN +S 9 +1 54.775216 -0.0012444 +2 25.616801 0.0107330 +3 11.980245 0.0018889 +4 6.992317 -0.1742537 +5 2.620277 0.0017622 +6 1.225429 0.3161846 +7 0.577797 0.4512023 +8 0.268022 0.3121534 +9 0.125346 0.0511167 +S 1 +1 1.937532 1.0000000 +S 1 +1 0.935157 1.0000000 +S 1 +1 0.384526 1.0000000 +S 1 +1 0.160664 1.0000000 +P 9 +1 22.217266 0.0104866 +2 10.747550 0.0366435 +3 5.315785 0.0803674 +4 2.660761 0.1627010 +5 1.331816 0.2377791 +6 0.678626 0.2811422 +7 0.333673 0.2643189 +8 0.167017 0.1466014 +9 0.083598 0.0458145 +P 1 +1 1.589967 1.0000000 +P 1 +1 1.178227 1.0000000 +P 1 +1 0.372674 1.0000000 +P 1 +1 0.130580 1.0000000 +D 1 +1 4.292433 1.0000000 +D 1 +1 2.823972 1.0000000 +D 1 +1 1.174596 1.0000000 +D 1 +1 0.401152 1.0000000 +F 1 +1 3.223721 1.0000000 +F 1 +1 2.006788 1.0000000 +F 1 +1 0.708666 1.0000000 +G 1 +1 3.584495 1.0000000 +G 1 +1 1.207657 1.0000000 +H 1 +1 2.615818 1.0000000 + +FLUORINE +S 10 + 1 84.048652 -0.00000280 + 2 41.094617 -0.00035430 + 3 20.092738 0.01840880 + 4 9.824112 -0.12776610 + 5 4.803386 -0.07028720 + 6 2.348560 0.15716040 + 7 1.148301 0.37690120 + 8 0.561449 0.40951650 + 9 0.274514 0.19708930 + 10 0.134220 0.02434820 +P 10 + 1 31.642619 0.00296730 + 2 16.243233 0.02980490 + 3 8.338204 0.06694890 + 4 4.280284 0.13377900 + 5 2.197215 0.21483120 + 6 1.127906 0.26648620 + 7 0.578992 0.26189540 + 8 0.297216 0.19202170 + 9 0.152571 0.08284650 + 10 0.078320 0.01330460 +S 1 + 1 2.542428 1.00000000 +S 1 + 1 1.250265 1.00000000 +S 1 + 1 0.459697 1.00000000 +S 1 + 1 0.191146 1.00000000 +P 1 + 1 2.018698 1.00000000 +P 1 + 1 1.505085 1.00000000 +P 1 + 1 0.489019 1.00000000 +P 1 + 1 0.170574 1.00000000 +D 1 + 1 5.603581 1.00000000 +D 1 + 1 3.901897 1.00000000 +D 1 + 1 1.523306 1.00000000 +D 1 + 1 0.517711 1.00000000 +F 1 + 1 4.297889 1.00000000 +F 1 + 1 2.950321 1.00000000 +F 1 + 1 0.981494 1.00000000 +G 1 + 1 4.619953 1.00000000 +G 1 + 1 1.638933 1.00000000 +H 1 + 1 2.963127 1.00000000 + +NEON +S 10 + 1 89.999848 0.00003370 + 2 44.745732 -0.00055860 + 3 22.246488 0.01858840 + 4 11.060411 -0.12689730 + 5 5.498967 -0.04853020 + 6 2.733953 0.17891780 + 7 1.359255 0.37701020 + 8 0.675788 0.39006930 + 9 0.335985 0.18553010 + 10 0.167044 0.02494380 +P 10 + 1 40.001333 0.00364740 + 2 20.592442 0.03301820 + 3 10.600863 0.06814330 + 4 5.457260 0.13511940 + 5 2.809364 0.21484190 + 6 1.446244 0.26495200 + 7 0.744517 0.25843380 + 8 0.383273 0.19042960 + 9 0.197307 0.08474940 + 10 0.101572 0.01542050 +S 1 + 1 4.912719 1.00000000 +S 1 + 1 1.972598 1.00000000 +S 1 + 1 0.792055 1.00000000 +S 1 + 1 0.318033 1.00000000 +P 1 + 1 3.803053 1.00000000 +P 1 + 1 1.469942 1.00000000 +P 1 + 1 0.568157 1.00000000 +P 1 + 1 0.219602 1.00000000 +D 1 + 1 10.513557 1.00000000 +D 1 + 1 4.094747 1.00000000 +D 1 + 1 1.594793 1.00000000 +D 1 + 1 0.621129 1.00000000 +F 1 + 1 7.163506 1.00000000 +F 1 + 1 2.796987 1.00000000 +F 1 + 1 1.092082 1.00000000 +G 1 + 1 5.407637 1.00000000 +G 1 + 1 1.907344 1.00000000 +H 1 + 1 3.797706 1.00000000 + +ALUMINUM +S 10 + 1 8.257944 0.003287 + 2 4.514245 -0.017168 + 3 2.467734 0.069766 + 4 1.348998 -0.183475 + 5 0.737436 -0.147133 + 6 0.403123 0.046882 + 7 0.220369 0.308423 + 8 0.120466 0.451564 + 9 0.065853 0.302904 + 10 0.035999 0.079545 +S 1 + 1 0.967736 1.000000 +S 1 + 1 0.379373 1.000000 +S 1 + 1 0.148722 1.000000 +S 1 + 1 0.058302 1.000000 +P 10 + 1 1.570603 -0.002645 + 2 0.977752 -0.037850 + 3 0.608683 0.006636 + 4 0.378925 0.089291 + 5 0.235893 0.134421 + 6 0.146851 0.256105 + 7 0.091420 0.238970 + 8 0.056912 0.260677 + 9 0.035429 0.112350 + 10 0.022056 0.052665 +P 1 + 1 0.951381 1.000000 +P 1 + 1 0.456240 1.000000 +P 1 + 1 0.218792 1.000000 +P 1 + 1 0.104923 1.000000 +D 1 + 1 1.586180 1.000000 +D 1 + 1 0.603516 1.000000 +D 1 + 1 0.229628 1.000000 +D 1 + 1 0.087370 1.000000 +F 1 + 1 0.546132 1.000000 +F 1 + 1 0.262335 1.000000 +F 1 + 1 0.126013 1.000000 +G 1 + 1 0.535941 1.000000 +G 1 + 1 0.243699 1.000000 +H 1 + 1 0.443982 1.000000 + +SILICON +S 10 + 1 9.998274 0.002894 + 2 5.517644 -0.014523 + 3 3.044965 0.077634 + 4 1.680393 -0.224022 + 5 0.927341 -0.149080 + 6 0.511762 0.085944 + 7 0.282421 0.355394 + 8 0.155857 0.445219 + 9 0.086011 0.267230 + 10 0.047466 0.060787 +S 1 + 1 0.700625 1.000000 +S 1 + 1 0.318864 1.000000 +S 1 + 1 0.145120 1.000000 +S 1 + 1 0.066046 1.000000 +P 10 + 1 5.027868 -0.003242 + 2 2.867751 0.010649 + 3 1.635683 -0.049761 + 4 0.932947 -0.000017 + 5 0.532126 0.106060 + 6 0.303509 0.236202 + 7 0.173113 0.310665 + 8 0.098739 0.294696 + 9 0.056318 0.153898 + 10 0.032122 0.042337 +P 1 + 1 1.336968 1.000000 +P 1 + 1 0.652035 1.000000 +P 1 + 1 0.317995 1.000000 +P 1 + 1 0.155085 1.000000 +D 1 + 1 2.145983 1.000000 +D 1 + 1 0.828929 1.000000 +D 1 + 1 0.320190 1.000000 +D 1 + 1 0.123680 1.000000 +F 1 + 1 0.756775 1.000000 +F 1 + 1 0.357607 1.000000 +F 1 + 1 0.168984 1.000000 +G 1 + 1 0.702896 1.000000 +G 1 + 1 0.316879 1.000000 +H 1 + 1 0.575435 1.000000 + +PHOSPHORUS +S 10 + 1 5.054268 0.001781 + 2 3.094719 0.077653 + 3 1.894891 -0.312344 + 4 1.160239 -0.045804 + 5 0.710412 -0.029427 + 6 0.434984 0.318560 + 7 0.266340 0.309169 + 8 0.163080 0.376899 + 9 0.099853 0.152113 + 10 0.061140 0.054943 +S 1 + 1 0.880402 1.000000 +S 1 + 1 0.402152 1.000000 +S 1 + 1 0.183696 1.000000 +S 1 + 1 0.083909 1.000000 +P 10 + 1 5.861284 -0.003160 + 2 3.406365 0.007462 + 3 1.979655 -0.060893 + 4 1.150503 0.015297 + 5 0.668631 0.123431 + 6 0.388584 0.257276 + 7 0.225831 0.305131 + 8 0.131245 0.276016 + 9 0.076275 0.134133 + 10 0.044328 0.040073 +P 1 + 1 1.818940 1.000000 +P 1 + 1 0.887311 1.000000 +P 1 + 1 0.432846 1.000000 +P 1 + 1 0.211150 1.000000 +D 1 + 1 2.631593 1.000000 +D 1 + 1 1.041129 1.000000 +D 1 + 1 0.411898 1.000000 +D 1 + 1 0.162958 1.000000 +F 1 + 1 1.006219 1.000000 +F 1 + 1 0.473918 1.000000 +F 1 + 1 0.223210 1.000000 +G 1 + 1 0.912065 1.000000 +G 1 + 1 0.408483 1.000000 +H 1 + 1 0.739580 1.000000 + +SULFUR +S 10 + 1 14.052570 0.002102 + 2 7.864913 -0.011042 + 3 4.401818 0.086618 + 4 2.463600 -0.271004 + 5 1.378823 -0.151274 + 6 0.771696 0.136044 + 7 0.431901 0.394360 + 8 0.241726 0.432098 + 9 0.135289 0.230974 + 10 0.075718 0.051205 +S 1 + 1 1.063029 1.000000 +S 1 + 1 0.493066 1.000000 +S 1 + 1 0.228700 1.000000 +S 1 + 1 0.106078 1.000000 +P 10 + 1 6.808844 -0.003573 + 2 3.941560 0.001903 + 3 2.281723 -0.065016 + 4 1.320863 0.042305 + 5 0.764632 0.158772 + 6 0.442637 0.278172 + 7 0.256237 0.293821 + 8 0.148333 0.248015 + 9 0.085868 0.114905 + 10 0.049708 0.032934 +P 1 + 1 2.340619 1.000000 +P 1 + 1 1.091901 1.000000 +P 1 + 1 0.509373 1.000000 +P 1 + 1 0.237623 1.000000 +D 1 + 1 2.970037 1.000000 +D 1 + 1 1.199940 1.000000 +D 1 + 1 0.484794 1.000000 +D 1 + 1 0.195864 1.000000 +F 1 + 1 1.247601 1.000000 +F 1 + 1 0.566437 1.000000 +F 1 + 1 0.257174 1.000000 +G 1 + 1 1.084319 1.000000 +G 1 + 1 0.461540 1.000000 +H 1 + 1 0.868299 1.000000 + +CHLORINE +S 10 + 1 15.583847 0.002501 + 2 8.858485 -0.010046 + 3 5.035519 0.085810 + 4 2.862391 -0.290136 + 5 1.627098 -0.140314 + 6 0.924908 0.146839 + 7 0.525755 0.392484 + 8 0.298860 0.425061 + 9 0.169884 0.227195 + 10 0.096569 0.059828 +S 1 + 1 1.312097 1.000000 +S 1 + 1 0.611646 1.000000 +S 1 + 1 0.285124 1.000000 +S 1 + 1 0.132913 1.000000 +P 10 + 1 7.682894 -0.004609 + 2 4.507558 -0.001798 + 3 2.644587 -0.068614 + 4 1.551581 0.062352 + 5 0.910313 0.166337 + 6 0.534081 0.282292 + 7 0.313346 0.275967 + 8 0.183840 0.241328 + 9 0.107859 0.110223 + 10 0.063281 0.040289 +P 1 + 1 2.989744 1.000000 +P 1 + 1 1.418767 1.000000 +P 1 + 1 0.673268 1.000000 +P 1 + 1 0.319496 1.000000 +D 1 + 1 3.508629 1.000000 +D 1 + 1 1.434082 1.000000 +D 1 + 1 0.586152 1.000000 +D 1 + 1 0.239578 1.000000 +F 1 + 1 1.580619 1.000000 +F 1 + 1 0.721906 1.000000 +F 1 + 1 0.329711 1.000000 +G 1 + 1 1.330843 1.000000 +G 1 + 1 0.560558 1.000000 +H 1 + 1 1.054587 1.000000 + +ARGON +S 10 + 1 17.798602 0.000155 + 2 10.185798 0.002011 + 3 5.829136 0.072819 + 4 3.335903 -0.297567 + 5 1.909073 -0.143663 + 6 1.092526 0.157775 + 7 0.625231 0.391895 + 8 0.357808 0.424724 + 9 0.204767 0.223240 + 10 0.117184 0.063299 +S 1 + 1 1.529505 1.000000 +S 1 + 1 0.723273 1.000000 +S 1 + 1 0.342021 1.000000 +S 1 + 1 0.161735 1.000000 +P 10 + 1 7.610920 -0.008071 + 2 4.581784 -0.012332 + 3 2.758240 -0.061298 + 4 1.660464 0.101944 + 5 0.999601 0.172497 + 6 0.601761 0.288747 + 7 0.362261 0.247918 + 8 0.218082 0.231893 + 9 0.131285 0.095994 + 10 0.079034 0.046211 +P 1 + 1 3.848596 1.000000 +P 1 + 1 1.837529 1.000000 +P 1 + 1 0.877336 1.000000 +P 1 + 1 0.418888 1.000000 +D 1 + 1 3.766125 1.000000 +D 1 + 1 1.581658 1.000000 +D 1 + 1 0.664248 1.000000 +D 1 + 1 0.278964 1.000000 +F 1 + 1 1.962257 1.000000 +F 1 + 1 0.915696 1.000000 +F 1 + 1 0.427314 1.000000 +G 1 + 1 1.608765 1.000000 +G 1 + 1 0.673020 1.000000 +H 1 + 1 1.266388 1.000000 + +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 +S 1 + 1 0.279981 1.00000000 +S 1 + 1 0.130352 1.00000000 +S 1 + 1 0.060689 1.00000000 +S 1 + 1 0.028255 1.00000000 +S 1 + 1 0.013155 1.00000000 +P 1 + 1 0.156073 1.00000000 +P 1 + 1 0.081288 1.00000000 +P 1 + 1 0.042338 1.00000000 +P 1 + 1 0.022051 1.00000000 +P 1 + 1 0.011485 1.00000000 +D 1 + 1 0.120204 1.00000000 +D 1 + 1 0.048011 1.00000000 +D 1 + 1 0.019176 1.00000000 +D 1 + 1 0.007659 1.00000000 +F 1 + 1 0.239153 1.00000000 +F 1 + 1 0.119089 1.00000000 +F 1 + 1 0.059302 1.00000000 +G 1 + 1 0.143170 1.00000000 +G 1 + 1 0.079847 1.00000000 +H 1 + 1 0.138324 1.00000000 + +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 0.327434 1.00000000 +S 1 + 1 0.142435 1.00000000 +S 1 + 1 0.079140 1.00000000 +S 1 + 1 0.037693 1.00000000 +S 1 + 1 0.018160 1.00000000 +P 1 + 1 0.467685 1.00000000 +P 1 + 1 0.233432 1.00000000 +P 1 + 1 0.093217 1.00000000 +P 1 + 1 0.041977 1.00000000 +P 1 + 1 0.018692 1.00000000 +D 1 + 1 0.502634 1.00000000 +D 1 + 1 0.189583 1.00000000 +D 1 + 1 0.070604 1.00000000 +D 1 + 1 0.025792 1.00000000 +F 1 + 1 0.736000 1.00000000 +F 1 + 1 0.247100 1.00000000 +F 1 + 1 0.083000 1.00000000 +G 1 + 1 0.290200 1.00000000 +G 1 + 1 0.096300 1.00000000 +H 1 + 1 0.278500 1.00000000 + +SCANDIUM +S 13 + 1 66.882574 0.00055300 + 2 33.776681 -0.00511500 + 3 18.185884 0.00416100 + 4 11.748619 0.12160300 + 5 6.895190 -0.27013700 + 6 3.222124 -0.32441000 + 7 1.772120 0.29116200 + 8 0.841163 0.62893100 + 9 0.471976 0.27340600 + 10 0.313224 0.13535200 + 11 0.101013 0.00804100 + 12 0.049071 -0.00261000 + 13 0.022782 0.00059700 +S 13 + 1 66.882574 -0.00013900 + 2 33.776681 0.00134500 + 3 18.185884 -0.00144500 + 4 11.748619 -0.03208200 + 5 6.895190 0.07550600 + 6 3.222124 0.08992700 + 7 1.772120 -0.09008600 + 8 0.841163 -0.21644400 + 9 0.471976 -0.17925000 + 10 0.313224 -0.12816000 + 11 0.101013 0.33793500 + 12 0.049071 0.60918100 + 13 0.022782 0.24418100 +S 13 + 1 66.882574 -0.00067900 + 2 33.776681 0.00545600 + 3 18.185884 -0.01668400 + 4 11.748619 -0.03173900 + 5 6.895190 0.10956000 + 6 3.222124 0.23329300 + 7 1.772120 -0.31020700 + 8 0.841163 -0.24508300 + 9 0.471976 -1.17524800 + 10 0.313224 1.03235900 + 11 0.101013 1.59903900 + 12 0.049071 -0.62399000 + 13 0.022782 -0.84749800 +S 13 + 1 66.882574 -0.00145200 + 2 33.776681 0.01136200 + 3 18.185884 -0.03987600 + 4 11.748619 -0.02581000 + 5 6.895190 0.15794300 + 6 3.222124 0.45286800 + 7 1.772120 -0.76658700 + 8 0.841163 -0.60780000 + 9 0.471976 -1.71600200 + 10 0.313224 3.61400300 + 11 0.101013 -0.56948000 + 12 0.049071 -2.25596700 + 13 0.022782 1.91016000 +S 13 + 1 66.882574 0.00043000 + 2 33.776681 -0.00113700 + 3 18.185884 0.02081200 + 4 11.748619 -0.18957800 + 5 6.895190 0.43867600 + 6 3.222124 0.26761800 + 7 1.772120 -0.73280800 + 8 0.841163 -3.04424000 + 9 0.471976 5.47606700 + 10 0.313224 -1.01760200 + 11 0.101013 -5.01443900 + 12 0.049071 6.15979200 + 13 0.022782 -2.69036800 +S 13 + 1 66.882574 0.00024200 + 2 33.776681 -0.00502700 + 3 18.185884 -0.00112700 + 4 11.748619 0.26943700 + 5 6.895190 -0.78145300 + 6 3.222124 -0.63475600 + 7 1.772120 3.60158600 + 8 0.841163 -0.10790900 + 9 0.471976 -12.73645800 + 10 0.313224 14.34975300 + 11 0.101013 -8.02316200 + 12 0.049071 6.21689300 + 13 0.022782 -2.06426000 +S 1 + 1 0.022782 1.00000000 +P 13 + 1 77.690832 0.00008800 + 2 39.751864 -0.00075400 + 3 20.615633 0.00658400 + 4 11.537150 -0.00718900 + 5 7.597186 -0.06890300 + 6 3.765117 -0.01384200 + 7 2.051006 0.24870400 + 8 1.048648 0.43432800 + 9 0.550231 0.32690600 + 10 0.303840 0.10461700 + 11 0.165809 0.01851200 + 12 0.060419 0.00139500 + 13 0.024751 0.00009300 +P 13 + 1 77.690832 0.00001700 + 2 39.751864 -0.00002600 + 3 20.615633 -0.00086100 + 4 11.537150 -0.00048300 + 5 7.597186 0.02136400 + 6 3.765117 -0.00370600 + 7 2.051006 -0.05871800 + 8 1.048648 -0.14336400 + 9 0.550231 -0.07728000 + 10 0.303840 -0.10776400 + 11 0.165809 0.32285900 + 12 0.060419 0.62172600 + 13 0.024751 0.25378700 +P 13 + 1 77.690832 -0.00006300 + 2 39.751864 0.00054900 + 3 20.615633 -0.00512000 + 4 11.537150 0.00701100 + 5 7.597186 0.05366100 + 6 3.765117 0.00357400 + 7 2.051006 -0.23586100 + 8 1.048648 -0.49480100 + 9 0.550231 -0.22957500 + 10 0.303840 0.91797300 + 11 0.165809 0.62115500 + 12 0.060419 -0.82464800 + 13 0.024751 -0.15759200 +P 13 + 1 77.690832 -0.00024300 + 2 39.751864 0.00156800 + 3 20.615633 -0.00955400 + 4 11.537150 0.01802000 + 5 7.597186 0.05100800 + 6 3.765117 0.04328000 + 7 2.051006 -0.40417800 + 8 1.048648 -0.82490400 + 9 0.550231 0.71001400 + 10 0.303840 2.22525500 + 11 0.165809 -2.74290300 + 12 0.060419 0.58142300 + 13 0.024751 0.48091000 +P 13 + 1 77.690832 -0.00025600 + 2 39.751864 0.00108400 + 3 20.615633 0.00040000 + 4 11.537150 0.02195600 + 5 7.597186 -0.16269400 + 6 3.765117 0.00037100 + 7 2.051006 1.05365400 + 8 1.048648 0.65865100 + 9 0.550231 -4.72226800 + 10 0.303840 5.40799300 + 11 0.165809 -2.00216600 + 12 0.060419 -0.71482200 + 13 0.024751 0.92680100 +P 13 + 1 77.690832 -0.00390100 + 2 39.751864 0.02143200 + 3 20.615633 -0.08584900 + 4 11.537150 0.25570200 + 5 7.597186 -0.24426600 + 6 3.765117 0.62236300 + 7 2.051006 -2.77179400 + 8 1.048648 3.61583800 + 9 0.550231 -0.69783100 + 10 0.303840 -3.54879700 + 11 0.165809 4.29188800 + 12 0.060419 -2.92420100 + 13 0.024751 1.61346300 +P 1 + 1 0.024751 1.00000000 +D 11 + 1 60.996829 0.00005600 + 2 22.097637 0.00505400 + 3 10.186744 0.03222300 + 4 4.633892 0.08247900 + 5 2.146927 0.15936300 + 6 1.014536 0.22860400 + 7 0.487206 0.24369100 + 8 0.248191 0.23165100 + 9 0.131273 0.19543100 + 10 0.063714 0.21458900 + 11 0.021542 0.07411300 +D 11 + 1 60.996829 -0.00007200 + 2 22.097637 -0.00607900 + 3 10.186744 -0.03905400 + 4 4.633892 -0.10065200 + 5 2.146927 -0.19433000 + 6 1.014536 -0.25355600 + 7 0.487206 -0.21355600 + 8 0.248191 0.05418200 + 9 0.131273 0.26118800 + 10 0.063714 0.52021500 + 11 0.021542 0.16690700 +D 11 + 1 60.996829 0.00005400 + 2 22.097637 0.00819500 + 3 10.186744 0.05007300 + 4 4.633892 0.13617400 + 5 2.146927 0.24651600 + 6 1.014536 0.25815800 + 7 0.487206 -0.12479900 + 8 0.248191 -0.43908100 + 9 0.131273 -0.47534700 + 10 0.063714 0.52718700 + 11 0.021542 0.47337300 +D 11 + 1 60.996829 -0.00013200 + 2 22.097637 -0.01019500 + 3 10.186744 -0.06681500 + 4 4.633892 -0.17925500 + 5 2.146927 -0.33873300 + 6 1.014536 -0.14578400 + 7 0.487206 0.70044400 + 8 0.248191 0.51197600 + 9 0.131273 -1.01912300 + 10 0.063714 -0.09222100 + 11 0.021542 0.69667500 +D 11 + 1 60.996829 -0.00029800 + 2 22.097637 -0.01395600 + 3 10.186744 -0.09848700 + 4 4.633892 -0.25947100 + 5 2.146927 -0.44684300 + 6 1.014536 0.52521200 + 7 0.487206 1.06147800 + 8 0.248191 -1.66905500 + 9 0.131273 0.14972100 + 10 0.063714 1.01628900 + 11 0.021542 -0.74556300 +D 1 + 1 0.021542 1.00000000 +F 1 + 1 0.096700 1.00000000 +F 1 + 1 0.277193 1.00000000 +F 1 + 1 0.794579 1.00000000 +F 1 + 1 2.277680 1.00000000 +G 1 + 1 0.147726 1.00000000 +G 1 + 1 0.496450 1.00000000 +G 1 + 1 1.668377 1.00000000 +H 1 + 1 0.730205 1.00000000 +H 1 + 1 1.438169 1.00000000 +I 1 + 1 2.384691 1.00000000 + +TITANIUM +S 13 + 1 68.910511 0.00061600 + 2 33.720700 -0.00750100 + 3 18.159676 0.01221800 + 4 12.419305 0.14473900 + 5 7.532195 -0.32862100 + 6 3.504444 -0.31751700 + 7 1.910727 0.35742200 + 8 0.888840 0.67140600 + 9 0.447198 0.28222600 + 10 0.281192 0.03867300 + 11 0.100258 0.00455900 + 12 0.046525 -0.00156500 + 13 0.021840 0.00039800 +S 13 + 1 68.910511 -0.00015600 + 2 33.720700 0.00196600 + 3 18.159676 -0.00399400 + 4 12.419305 -0.03637700 + 5 7.532195 0.08859300 + 6 3.504444 0.08563000 + 7 1.910727 -0.10599300 + 8 0.888840 -0.23742100 + 9 0.447198 -0.23535900 + 10 0.281192 -0.01296000 + 11 0.100258 0.43358200 + 12 0.046525 0.57787300 + 13 0.021840 0.16436000 +S 13 + 1 68.910511 0.00063500 + 2 33.720700 -0.00646800 + 3 18.159676 0.02344400 + 4 12.419305 0.03892100 + 5 7.532195 -0.14118000 + 6 3.504444 -0.21476500 + 7 1.910727 0.32015100 + 8 0.888840 0.45106200 + 9 0.447198 0.85519100 + 10 0.281192 -1.20922400 + 11 0.100258 -1.31948100 + 12 0.046525 0.86651700 + 13 0.021840 0.61891600 +S 13 + 1 68.910511 -0.00117800 + 2 33.720700 0.01187700 + 3 18.159676 -0.04724000 + 4 12.419305 -0.05092200 + 5 7.532195 0.23774600 + 6 3.504444 0.40318500 + 7 1.910727 -0.79096100 + 8 0.888840 -1.10227600 + 9 0.447198 0.20944600 + 10 0.281192 2.52735200 + 11 0.100258 -1.78904100 + 12 0.046525 -0.86784200 + 13 0.021840 1.42739500 +S 13 + 1 68.910511 0.00011500 + 2 33.720700 0.00283300 + 3 18.159676 0.00614100 + 4 12.419305 -0.20968200 + 5 7.532195 0.51836700 + 6 3.504444 0.30416400 + 7 1.910727 -1.23286300 + 8 0.888840 -2.09050800 + 9 0.447198 7.09271500 + 10 0.281192 -4.54374400 + 11 0.100258 -2.24827000 + 12 0.046525 4.47391800 + 13 0.021840 -2.42629600 +S 13 + 1 68.910511 -0.00502200 + 2 33.720700 0.04581200 + 3 18.159676 -0.22302100 + 4 12.419305 0.09844300 + 5 7.532195 0.47843000 + 6 3.504444 1.06108500 + 7 1.910727 -4.89319600 + 8 0.888840 4.88955200 + 9 0.447198 2.48209600 + 10 0.281192 -7.42136100 + 11 0.100258 7.32453500 + 12 0.046525 -6.28225700 + 13 0.021840 2.41326500 +S 1 + 1 0.021840 1.00000000 +P 13 + 1 84.914002 0.00009300 + 2 42.855051 -0.00083600 + 3 21.700131 0.00867900 + 4 12.214690 -0.01117800 + 5 8.319164 -0.07776700 + 6 4.091071 -0.00611300 + 7 2.286543 0.27182800 + 8 1.159810 0.45958500 + 9 0.591343 0.31590000 + 10 0.312862 0.07168300 + 11 0.184828 0.01054100 + 12 0.068590 0.00004500 + 13 0.026791 -0.00083700 +P 13 + 1 84.914002 0.00002000 + 2 42.855051 -0.00004900 + 3 21.700131 -0.00076100 + 4 12.214690 -0.00057500 + 5 8.319164 0.01828400 + 6 4.091071 -0.00594300 + 7 2.286543 -0.04321200 + 8 1.159810 -0.11251300 + 9 0.591343 -0.05207300 + 10 0.312862 -0.09226300 + 11 0.184828 0.24394600 + 12 0.068590 0.41310100 + 13 0.026791 0.54398500 +P 13 + 1 84.914002 0.00001900 + 2 42.855051 0.00013800 + 3 21.700131 -0.00462200 + 4 12.214690 0.00446500 + 5 8.319164 0.06576000 + 6 4.091071 -0.01892700 + 7 2.286543 -0.22252400 + 8 1.159810 -0.52389000 + 9 0.591343 -0.07127700 + 10 0.312862 0.81271200 + 11 0.184828 0.62549800 + 12 0.068590 -0.81218900 + 13 0.026791 -0.18579600 +P 13 + 1 84.914002 -0.00025700 + 2 42.855051 0.00172500 + 3 21.700131 -0.01264600 + 4 12.214690 0.02906200 + 5 8.319164 0.05897900 + 6 4.091071 0.03080600 + 7 2.286543 -0.52437300 + 8 1.159810 -0.72096800 + 9 0.591343 1.02320400 + 10 0.312862 1.97387400 + 11 0.184828 -2.80509200 + 12 0.068590 0.60795400 + 13 0.026791 0.44765300 +P 13 + 1 84.914002 0.00027100 + 2 42.855051 -0.00190200 + 3 21.700131 0.01541200 + 4 12.214690 -0.03758600 + 5 8.319164 -0.12453600 + 6 4.091071 0.04081200 + 7 2.286543 1.34382300 + 8 1.159810 -0.26941100 + 9 0.591343 -3.72959000 + 10 0.312862 5.88498300 + 11 0.184828 -3.11385300 + 12 0.068590 -0.25697300 + 13 0.026791 0.71073300 +P 13 + 1 84.914002 -0.00374600 + 2 42.855051 0.02080700 + 3 21.700131 -0.09320200 + 4 12.214690 0.32919000 + 5 8.319164 -0.26508700 + 6 4.091071 0.35306800 + 7 2.286543 -2.77876500 + 8 1.159810 4.95982700 + 9 0.591343 -3.87445400 + 10 0.312862 -0.17839700 + 11 0.184828 2.64474200 + 12 0.068590 -2.41663200 + 13 0.026791 1.41897300 +P 1 + 1 0.026791 1.00000000 +D 11 + 1 77.434559 0.00002200 + 2 27.708477 0.00421800 + 3 12.914284 0.03008700 + 4 6.062674 0.08482100 + 5 2.863898 0.17111000 + 6 1.386559 0.24745100 + 7 0.677058 0.27731000 + 8 0.329864 0.26107700 + 9 0.159474 0.19033600 + 10 0.076174 0.11938500 + 11 0.028570 0.03129700 +D 11 + 1 77.434559 -0.00002500 + 2 27.708477 -0.00431100 + 3 12.914284 -0.03091300 + 4 6.062674 -0.08804900 + 5 2.863898 -0.17833000 + 6 1.386559 -0.23433500 + 7 0.677058 -0.19577500 + 8 0.329864 0.06587200 + 9 0.159474 0.33053600 + 10 0.076174 0.46122900 + 11 0.028570 0.18427300 +D 11 + 1 77.434559 0.00001000 + 2 27.708477 0.00618700 + 3 12.914284 0.04263000 + 4 6.062674 0.12752400 + 5 2.863898 0.24828900 + 6 1.386559 0.25976100 + 7 0.677058 -0.07079400 + 8 0.329864 -0.51939600 + 9 0.159474 -0.37365800 + 10 0.076174 0.45506700 + 11 0.028570 0.48958600 +D 11 + 1 77.434559 0.00001100 + 2 27.708477 -0.00802600 + 3 12.914284 -0.05387500 + 4 6.062674 -0.16879500 + 5 2.863898 -0.31234400 + 6 1.386559 -0.17203100 + 7 0.677058 0.58763300 + 8 0.329864 0.52859200 + 9 0.159474 -0.85964400 + 10 0.076174 -0.27383100 + 11 0.028570 0.80275400 +D 11 + 1 77.434559 -0.00001300 + 2 27.708477 -0.01172700 + 3 12.914284 -0.08166200 + 4 6.062674 -0.26347400 + 5 2.863898 -0.44608900 + 6 1.386559 0.34288500 + 7 0.677058 1.15809700 + 8 0.329864 -1.39803900 + 9 0.159474 -0.13932000 + 10 0.076174 1.17395400 + 11 0.028570 -0.80232000 +D 1 + 1 0.028570 1.00000000 +F 1 + 1 0.141956 1.00000000 +F 1 + 1 0.422577 1.00000000 +F 1 + 1 1.257932 1.00000000 +F 1 + 1 3.744629 1.00000000 +G 1 + 1 0.268404 1.00000000 +G 1 + 1 0.841165 1.00000000 +G 1 + 1 2.636172 1.00000000 +H 1 + 1 0.518283 1.00000000 +H 1 + 1 1.872404 1.00000000 +I 1 + 1 0.927112 1.00000000 + +VANADIUM +S 13 + 1 68.577621 0.00080400 + 2 34.937147 -0.01159400 + 3 17.939491 0.09220900 + 4 11.262123 -0.04547700 + 5 6.776264 -0.28798300 + 6 3.524091 -0.21764800 + 7 1.938421 0.40750900 + 8 0.927153 0.65819300 + 9 0.448420 0.25523400 + 10 0.209668 0.00862000 + 11 0.103660 0.00273400 + 12 0.050630 -0.00116100 + 13 0.024201 0.00029400 +S 13 + 1 68.577621 -0.00017700 + 2 34.937147 0.00279100 + 3 17.939491 -0.02365000 + 4 11.262123 0.01250400 + 5 6.776264 0.07876100 + 6 3.524091 0.05497400 + 7 1.938421 -0.11895500 + 8 0.927153 -0.24534100 + 9 0.448420 -0.22295900 + 10 0.209668 0.04780900 + 11 0.103660 0.41537400 + 12 0.050630 0.54088000 + 13 0.024201 0.18342100 +S 13 + 1 68.577621 -0.00058300 + 2 34.937147 0.00957000 + 3 17.939491 -0.08560600 + 4 11.262123 0.04842600 + 5 6.776264 0.33123900 + 6 3.524091 0.14035200 + 7 1.938421 -0.90796200 + 8 0.927153 -0.50387800 + 9 0.448420 0.39893800 + 10 0.209668 0.97113100 + 11 0.103660 0.42399900 + 12 0.050630 -0.62864600 + 13 0.024201 -0.46749500 +S 13 + 1 68.577621 -0.00076500 + 2 34.937147 0.01452900 + 3 17.939491 -0.13961800 + 4 11.262123 0.06307300 + 5 6.776264 0.70419300 + 6 3.524091 -0.01160200 + 7 1.938421 -2.31160400 + 8 0.927153 0.76826900 + 9 0.448420 2.16892000 + 10 0.209668 -1.06267100 + 11 0.103660 -1.21815100 + 12 0.050630 0.34080900 + 13 0.024201 0.71332200 +S 13 + 1 68.577621 -0.00356700 + 2 34.937147 0.01000700 + 3 17.939491 0.04020200 + 4 11.262123 0.34329500 + 5 6.776264 -2.09702200 + 6 3.524091 2.80403900 + 7 1.938421 1.20663800 + 8 0.927153 -4.50572400 + 9 0.448420 2.15832500 + 10 0.209668 2.12989200 + 11 0.103660 -2.26503700 + 12 0.050630 -0.68105100 + 13 0.024201 1.25786200 +S 13 + 1 68.577621 -0.00349500 + 2 34.937147 0.00042500 + 3 17.939491 0.17364100 + 4 11.262123 0.27067600 + 5 6.776264 -3.72961400 + 6 3.524091 9.16051900 + 7 1.938421 -7.57229300 + 8 0.927153 -0.10606800 + 9 0.448420 5.60709100 + 10 0.209668 -6.00811100 + 11 0.103660 1.90641600 + 12 0.050630 1.90268500 + 13 0.024201 -1.57531500 +S 1 + 1 0.024201 1.00000000 +P 13 + 1 96.215967 0.00006900 + 2 49.579340 -0.00067200 + 3 25.638009 0.00819900 + 4 14.025942 -0.02710800 + 5 8.740334 -0.05302100 + 6 4.634840 0.00500200 + 7 2.553374 0.26198600 + 8 1.321166 0.43354400 + 9 0.681285 0.32494700 + 10 0.349458 0.09234200 + 11 0.172773 0.00896400 + 12 0.063300 0.00118500 + 13 0.033969 0.00010400 +P 13 + 1 96.215967 0.00004000 + 2 49.579340 -0.00013300 + 3 25.638009 -0.00095500 + 4 14.025942 0.00371900 + 5 8.740334 0.01886600 + 6 4.634840 -0.01207400 + 7 2.553374 -0.05710700 + 8 1.321166 -0.14643300 + 9 0.681285 -0.06736500 + 10 0.349458 -0.06825400 + 11 0.172773 0.40310300 + 12 0.063300 0.50266800 + 13 0.033969 0.26129100 +P 13 + 1 96.215967 -0.00005300 + 2 49.579340 0.00002300 + 3 25.638009 0.00462900 + 4 14.025942 -0.00775500 + 5 8.740334 -0.10413300 + 6 4.634840 -0.01776200 + 7 2.553374 0.72821200 + 8 1.321166 0.21882600 + 9 0.681285 -0.49322300 + 10 0.349458 -0.83819200 + 11 0.172773 0.39840100 + 12 0.063300 0.66458900 + 13 0.033969 0.03301100 +P 13 + 1 96.215967 -0.00126200 + 2 49.579340 0.00641900 + 3 25.638009 -0.02122900 + 4 14.025942 0.11577700 + 5 8.740334 -0.42074000 + 6 4.634840 0.19774200 + 7 2.553374 1.57560000 + 8 1.321166 -1.06791300 + 9 0.681285 -1.31008300 + 10 0.349458 1.19114700 + 11 0.172773 0.55051600 + 12 0.063300 -0.71878800 + 13 0.033969 -0.15744100 +P 13 + 1 96.215967 -0.00478000 + 2 49.579340 0.02531200 + 3 25.638009 -0.09426700 + 4 14.025942 0.43789600 + 5 8.740334 -1.44316600 + 6 4.634840 2.63678000 + 7 2.553374 -0.38243600 + 8 1.321166 -2.76188100 + 9 0.681285 2.15975600 + 10 0.349458 0.67615100 + 11 0.172773 -1.62151700 + 12 0.063300 0.42916400 + 13 0.033969 0.40017800 +P 13 + 1 96.215967 0.00319600 + 2 49.579340 -0.01674000 + 3 25.638009 0.07050700 + 4 14.025942 -0.16152300 + 5 8.740334 -0.90376500 + 6 4.634840 4.91640900 + 7 2.553374 -6.34586700 + 8 1.321166 2.97416800 + 9 0.681285 1.41665700 + 10 0.349458 -3.39692200 + 11 0.172773 2.17013500 + 12 0.063300 -0.05908100 + 13 0.033969 -0.60399500 +P 1 + 1 0.033969 1.00000000 +D 11 + 1 89.989649 0.00005100 + 2 33.132961 0.00480400 + 3 15.879656 0.02948500 + 4 7.465803 0.08624900 + 5 3.551993 0.17972800 + 6 1.728185 0.26185000 + 7 0.850498 0.29179400 + 8 0.417673 0.25935600 + 9 0.201523 0.17494400 + 10 0.100711 0.06227800 + 11 0.058959 0.02765300 +D 11 + 1 89.989649 -0.00003800 + 2 33.132961 -0.00459000 + 3 15.879656 -0.02756300 + 4 7.465803 -0.08277500 + 5 3.551993 -0.17349400 + 6 1.728185 -0.23618800 + 7 0.850498 -0.14922600 + 8 0.417673 0.04414500 + 9 0.201523 0.39050000 + 10 0.100711 0.20306400 + 11 0.058959 0.39800200 +D 11 + 1 89.989649 0.00012800 + 2 33.132961 0.00665200 + 3 15.879656 0.04463500 + 4 7.465803 0.12255900 + 5 3.551993 0.31114700 + 6 1.728185 0.28881300 + 7 0.850498 -0.14224600 + 8 0.417673 -0.61373700 + 9 0.201523 -0.12391600 + 10 0.100711 -0.02023500 + 11 0.058959 0.73325900 +D 11 + 1 89.989649 0.00004500 + 2 33.132961 -0.01039400 + 3 15.879656 -0.05505100 + 4 7.465803 -0.17145700 + 5 3.551993 -0.51992200 + 6 1.728185 0.09902600 + 7 0.850498 0.82933200 + 8 0.417673 -0.07090800 + 9 0.201523 -0.47117100 + 10 0.100711 -0.87878900 + 11 0.058959 1.21174700 +D 11 + 1 89.989649 0.00186400 + 2 33.132961 -0.03115700 + 3 15.879656 -0.04978300 + 4 7.465803 -0.53262200 + 5 3.551993 -0.46373800 + 6 1.728185 1.44037300 + 7 0.850498 -0.38405900 + 8 0.417673 -0.78370500 + 9 0.201523 0.10773300 + 10 0.100711 1.43533300 + 11 0.058959 -1.21509400 +D 1 + 1 0.058959 1.00000000 +F 1 + 1 0.222627 1.00000000 +F 1 + 1 0.636150 1.00000000 +F 1 + 1 1.817778 1.00000000 +F 1 + 1 5.194245 1.00000000 +G 1 + 1 0.567011 1.00000000 +G 1 + 1 1.547265 1.00000000 +G 1 + 1 4.222190 1.00000000 +H 1 + 1 1.277114 1.00000000 +H 1 + 1 3.733326 1.00000000 +I 1 + 1 3.121626 1.00000000 + +CHROMIUM +S 13 + 1 73.977737 0.00086400 + 2 37.684349 -0.01159500 + 3 19.278723 0.09046700 + 4 12.130763 -0.02483700 + 5 7.453002 -0.33040700 + 6 3.756296 -0.20059800 + 7 2.084137 0.44976600 + 8 0.993314 0.64757500 + 9 0.483094 0.22902500 + 10 0.225854 0.00921700 + 11 0.115338 0.00113200 + 12 0.052134 -0.00036700 + 13 0.023679 0.00009200 +S 13 + 1 73.977737 -0.00018300 + 2 37.684349 0.00270400 + 3 19.278723 -0.02265000 + 4 12.130763 0.00718100 + 5 7.453002 0.08770500 + 6 3.756296 0.04761600 + 7 2.084137 -0.12567200 + 8 0.993314 -0.24457100 + 9 0.483094 -0.19841900 + 10 0.225854 0.03088900 + 11 0.115338 0.42393500 + 12 0.052134 0.57694100 + 13 0.023679 0.14832300 +S 13 + 1 73.977737 -0.00032700 + 2 37.684349 0.00530900 + 3 19.278723 -0.04690500 + 4 12.130763 0.01541100 + 5 7.453002 0.19169700 + 6 3.756296 0.09975900 + 7 2.084137 -0.33899400 + 8 0.993314 -0.69580600 + 9 0.483094 -0.00731500 + 10 0.225854 1.11859900 + 11 0.115338 0.71725700 + 12 0.052134 -0.86856500 + 13 0.023679 -0.46718600 +S 13 + 1 73.977737 -0.00069800 + 2 37.684349 0.01020700 + 3 19.278723 -0.09126100 + 4 12.130763 0.05220700 + 5 7.453002 0.34216400 + 6 3.756296 0.17486600 + 7 2.084137 -0.99425800 + 8 0.993314 -1.19060400 + 9 0.483094 2.27183400 + 10 0.225854 1.00301300 + 11 0.115338 -2.60523500 + 12 0.052134 0.26515800 + 13 0.023679 0.90228600 +S 13 + 1 73.977737 0.00298300 + 2 37.684349 -0.02696900 + 3 19.278723 0.19930400 + 4 12.130763 -0.25709400 + 5 7.453002 -0.31292400 + 6 3.756296 -0.37282300 + 7 2.084137 2.61267600 + 8 0.993314 -1.10831900 + 9 0.483094 -3.52097300 + 10 0.225854 5.38631500 + 11 0.115338 -1.94819200 + 12 0.052134 -1.98569900 + 13 0.023679 1.70618700 +S 13 + 1 73.977737 -0.00503000 + 2 37.684349 0.04329800 + 3 19.278723 -0.31895300 + 4 12.130763 0.46095400 + 5 7.453002 0.49760800 + 6 3.756296 -0.04452100 + 7 2.084137 -4.50396700 + 8 0.993314 8.00572300 + 9 0.483094 -5.85396000 + 10 0.225854 -0.58924700 + 11 0.115338 5.46040600 + 12 0.052134 -5.53660500 + 13 0.023679 2.40098000 +S 1 + 1 0.023679 1.00000000 +P 13 + 1 101.951240 0.00008800 + 2 52.309865 -0.00074700 + 3 27.142574 0.00713500 + 4 15.066862 -0.01470200 + 5 9.693669 -0.07335300 + 6 4.985710 0.01200700 + 7 2.761266 0.28311700 + 8 1.417673 0.44078600 + 9 0.728201 0.30677500 + 10 0.378189 0.08180400 + 11 0.189359 0.00883900 + 12 0.072301 0.00102200 + 13 0.037471 0.00032500 +P 13 + 1 101.951240 0.00002800 + 2 52.309865 -0.00008500 + 3 27.142574 -0.00075100 + 4 15.066862 0.00084400 + 5 9.693669 0.02265600 + 6 4.985710 -0.01278100 + 7 2.761266 -0.06238600 + 8 1.417673 -0.14358100 + 9 0.728201 -0.06228100 + 10 0.378189 -0.05447100 + 11 0.189359 0.37713500 + 12 0.072301 0.47163300 + 13 0.037471 0.31162400 +P 13 + 1 101.951240 -0.00013700 + 2 52.309865 0.00093200 + 3 27.142574 -0.00684500 + 4 15.066862 0.01983100 + 5 9.693669 0.04364700 + 6 4.985710 -0.01928900 + 7 2.761266 -0.28118700 + 8 1.417673 -0.37029800 + 9 0.728201 -0.19987300 + 10 0.378189 1.02855200 + 11 0.189359 0.42371100 + 12 0.072301 -0.80092600 + 13 0.037471 -0.14191000 +P 13 + 1 101.951240 0.00002700 + 2 52.309865 0.00018000 + 3 27.142574 -0.00574200 + 4 15.066862 0.02041900 + 5 9.693669 0.10052700 + 6 4.985710 -0.10060800 + 7 2.761266 -0.60774600 + 8 1.417673 -0.60170500 + 9 0.728201 1.45090500 + 10 0.378189 0.67229900 + 11 0.189359 -1.90482300 + 12 0.072301 0.66581400 + 13 0.037471 0.34852200 +P 13 + 1 101.951240 0.00053400 + 2 52.309865 -0.00333900 + 3 27.142574 0.01766200 + 4 15.066862 -0.08424900 + 5 9.693669 -0.08077700 + 6 4.985710 0.27239200 + 7 2.761266 1.31045500 + 8 1.417673 -1.06179300 + 9 0.728201 -2.37680500 + 10 0.378189 4.47731700 + 11 0.189359 -2.79579800 + 12 0.072301 0.20300800 + 13 0.037471 0.57055500 +P 13 + 1 101.951240 0.00317100 + 2 52.309865 -0.01768100 + 3 27.142574 0.06746800 + 4 15.066862 -0.29076600 + 5 9.693669 0.17750700 + 6 4.985710 0.43340900 + 7 2.761266 2.00710400 + 8 1.417673 -6.01948100 + 9 0.728201 7.25807400 + 10 0.378189 -4.55824500 + 11 0.189359 0.80240900 + 12 0.072301 1.46140600 + 13 0.037471 -1.30932300 +P 1 + 1 0.037471 1.00000000 +D 11 + 1 120.683729 -0.00000600 + 2 42.646591 0.00311100 + 3 21.154405 0.02864100 + 4 9.708242 0.07622200 + 5 4.614990 0.17059500 + 6 2.243726 0.26690800 + 7 1.086491 0.31103900 + 8 0.524700 0.26731200 + 9 0.255752 0.16333600 + 10 0.121497 0.06278200 + 11 0.054339 0.00787200 +D 11 + 1 120.683729 0.00001700 + 2 42.646591 -0.00357600 + 3 21.154405 -0.03147600 + 4 9.708242 -0.08758300 + 5 4.614990 -0.19574000 + 6 2.243726 -0.27013200 + 7 1.086491 -0.17003400 + 8 0.524700 0.14341200 + 9 0.255752 0.40868700 + 10 0.121497 0.37025700 + 11 0.054339 0.12311200 +D 11 + 1 120.683729 0.00004000 + 2 42.646591 -0.00518100 + 3 21.154405 -0.04339300 + 4 9.708242 -0.12773400 + 5 4.614990 -0.28207000 + 6 2.243726 -0.28839000 + 7 1.086491 0.16826900 + 8 0.524700 0.67306200 + 9 0.255752 0.09919600 + 10 0.121497 -0.57061200 + 11 0.054339 -0.29719700 +D 11 + 1 120.683729 0.00011900 + 2 42.646591 -0.00795400 + 3 21.154405 -0.06042500 + 4 9.708242 -0.19681000 + 5 4.614990 -0.40138900 + 6 2.243726 -0.07218600 + 7 1.086491 0.94089500 + 8 0.524700 0.03586300 + 9 0.255752 -1.15352900 + 10 0.121497 0.43219200 + 11 0.054339 0.48316100 +D 11 + 1 120.683729 -0.00005500 + 2 42.646591 0.00855300 + 3 21.154405 0.07058300 + 4 9.708242 0.23887900 + 5 4.614990 0.46015900 + 6 2.243726 -0.56480100 + 7 1.086491 -0.95714200 + 8 0.524700 2.02722100 + 9 0.255752 -1.08791800 + 10 0.121497 -0.60621300 + 11 0.054339 0.92580400 +D 1 + 1 0.054339 1.00000000 +F 1 + 1 0.241298 1.00000000 +F 1 + 1 0.701040 1.00000000 +F 1 + 1 2.036722 1.00000000 +F 1 + 1 5.917263 1.00000000 +G 1 + 1 0.453904 1.00000000 +G 1 + 1 1.385784 1.00000000 +G 1 + 1 4.230847 1.00000000 +H 1 + 1 0.908139 1.00000000 +H 1 + 1 3.101020 1.00000000 +I 1 + 1 2.215288 1.00000000 + +MANGANESE +S 13 + 1 76.008334 0.00099300 + 2 39.277974 -0.01479600 + 3 20.405805 0.12071000 + 4 12.218680 -0.12400100 + 5 7.182690 -0.32020000 + 6 3.850780 -0.10562200 + 7 2.142489 0.47272100 + 8 1.049631 0.62038700 + 9 0.508682 0.20455300 + 10 0.192243 0.00592400 + 11 0.108899 -0.00009700 + 12 0.053425 -0.00018500 + 13 0.025236 0.00006100 +S 13 + 1 76.008334 -0.00019900 + 2 39.277974 0.00335200 + 3 20.405805 -0.02941300 + 4 12.218680 0.03209100 + 5 7.182690 0.08315200 + 6 3.850780 0.02128300 + 7 2.142489 -0.12998900 + 8 1.049631 -0.23900600 + 9 0.508682 -0.18031500 + 10 0.192243 0.11014800 + 11 0.108899 0.40442600 + 12 0.053425 0.51730700 + 13 0.025236 0.14813900 +S 13 + 1 76.008334 -0.00009100 + 2 39.277974 0.00537400 + 3 20.405805 -0.05849400 + 4 12.218680 0.05634500 + 5 7.182690 0.22787400 + 6 3.850780 -0.00842000 + 7 2.142489 -0.32077700 + 8 1.049631 -0.81313700 + 9 0.508682 0.32647500 + 10 0.192243 1.44754000 + 11 0.108899 0.02132100 + 12 0.053425 -0.67832300 + 13 0.025236 -0.45282800 +S 13 + 1 76.008334 -0.00052600 + 2 39.277974 0.01138000 + 3 20.405805 -0.11603400 + 4 12.218680 0.14932900 + 5 7.182690 0.36015400 + 6 3.850780 0.02517400 + 7 2.142489 -1.17012500 + 8 1.049631 -0.87212300 + 9 0.508682 2.55063300 + 10 0.192243 0.09034300 + 11 0.108899 -2.21058800 + 12 0.053425 0.47058200 + 13 0.025236 0.83217500 +S 13 + 1 76.008334 0.00409700 + 2 39.277974 -0.03635300 + 3 20.405805 0.26570800 + 4 12.218680 -0.48518700 + 5 7.182690 -0.23228800 + 6 3.850780 -0.24179800 + 7 2.142489 3.38791800 + 8 1.049631 -3.26857300 + 9 0.508682 -0.83790100 + 10 0.192243 5.26227100 + 11 0.108899 -4.29984700 + 12 0.053425 -0.44524000 + 13 0.025236 1.29402600 +S 13 + 1 76.008334 -0.00307900 + 2 39.277974 0.00346300 + 3 20.405805 0.15710600 + 4 12.218680 -0.17988400 + 5 7.182690 -1.57436000 + 6 3.850780 2.93715800 + 7 2.142489 1.63382500 + 8 1.049631 -7.64894400 + 9 0.508682 8.00185900 + 10 0.192243 -5.11761000 + 11 0.108899 0.53926100 + 12 0.053425 3.13143300 + 13 0.025236 -1.86377400 +S 1 + 1 0.025236 1.00000000 +P 13 + 1 113.479709 0.00010300 + 2 58.160819 -0.00089400 + 3 30.043076 0.00884400 + 4 16.753323 -0.01968500 + 5 10.705604 -0.06919000 + 6 5.557903 0.01150800 + 7 3.080151 0.28231300 + 8 1.582963 0.43867800 + 9 0.810922 0.30984300 + 10 0.413396 0.08394500 + 11 0.195480 0.00751700 + 12 0.072688 0.00110000 + 13 0.035877 0.00029000 +P 13 + 1 113.479709 0.00001900 + 2 58.160819 -0.00002400 + 3 30.043076 -0.00122400 + 4 16.753323 0.00232000 + 5 10.705604 0.02075800 + 6 5.557903 -0.01157200 + 7 3.080151 -0.06291900 + 8 1.582963 -0.13675400 + 9 0.810922 -0.06729500 + 10 0.413396 -0.03102400 + 11 0.195480 0.37898100 + 12 0.072688 0.50782400 + 13 0.035877 0.26094100 +P 13 + 1 113.479709 -0.00019700 + 2 58.160819 0.00135400 + 3 30.043076 -0.01010200 + 4 16.753323 0.03060300 + 5 10.705604 0.04620000 + 6 5.557903 -0.01758800 + 7 3.080151 -0.39592000 + 8 1.582963 -0.41909300 + 9 0.810922 0.07501700 + 10 0.413396 1.09298600 + 11 0.195480 0.00868000 + 12 0.072688 -0.75636900 + 13 0.035877 -0.04514900 +P 13 + 1 113.479709 0.00001400 + 2 58.160819 0.00042100 + 3 30.043076 -0.00857300 + 4 16.753323 0.03879700 + 5 10.705604 0.09933800 + 6 5.557903 -0.14444500 + 7 3.080151 -0.82118200 + 8 1.582963 -0.25078500 + 9 0.810922 1.79017000 + 10 0.413396 -0.39954700 + 11 0.195480 -1.29438200 + 12 0.072688 0.84704700 + 13 0.035877 0.15171000 +P 13 + 1 113.479709 -0.00021400 + 2 58.160819 0.00186900 + 3 30.043076 -0.01439900 + 4 16.753323 0.08866300 + 5 10.705604 0.11611700 + 6 5.557903 -0.47666500 + 7 3.080151 -1.47189600 + 8 1.582963 2.46363500 + 9 0.810922 0.10250800 + 10 0.413396 -2.77460100 + 11 0.195480 2.43625400 + 12 0.072688 -0.61701900 + 13 0.035877 -0.32367600 +P 13 + 1 113.479709 -0.00328700 + 2 58.160819 0.01670100 + 3 30.043076 -0.06009200 + 4 16.753323 0.06901300 + 5 10.705604 -0.50906300 + 6 5.557903 2.28144200 + 7 3.080151 -1.06091100 + 8 1.582963 -3.26457300 + 9 0.810922 6.07665300 + 10 0.413396 -5.03607800 + 11 0.195480 1.96624400 + 12 0.072688 0.35917900 + 13 0.035877 -0.79020200 +P 1 + 1 0.035877 1.00000000 +D 11 + 1 132.688182 0.00003000 + 2 45.266024 0.00529400 + 3 23.267336 0.02914300 + 4 10.605694 0.07677500 + 5 5.074684 0.16855100 + 6 2.469857 0.25683200 + 7 1.205883 0.28989100 + 8 0.590569 0.25715400 + 9 0.292055 0.18172600 + 10 0.149190 0.08998600 + 11 0.076511 0.03459500 +D 11 + 1 132.688182 -0.00002100 + 2 45.266024 -0.00544900 + 3 23.267336 -0.02903200 + 4 10.605694 -0.07982500 + 5 5.074684 -0.17441500 + 6 2.469857 -0.25340400 + 7 1.205883 -0.17430500 + 8 0.590569 0.04508100 + 9 0.292055 0.34576000 + 10 0.149190 0.26372500 + 11 0.076511 0.37171500 +D 11 + 1 132.688182 0.00006000 + 2 45.266024 0.00838500 + 3 23.267336 0.04580000 + 4 10.605694 0.12921500 + 5 5.074684 0.28432700 + 6 2.469857 0.27076000 + 7 1.205883 -0.10159100 + 8 0.590569 -0.58067700 + 9 0.292055 -0.18169600 + 10 0.149190 0.02100300 + 11 0.076511 0.72365800 +D 11 + 1 132.688182 -0.00003700 + 2 45.266024 -0.01080900 + 3 23.267336 -0.05558200 + 4 10.605694 -0.17205300 + 5 5.074684 -0.38188900 + 6 2.469857 -0.13039900 + 7 1.205883 0.81899300 + 8 0.590569 0.18014500 + 9 0.292055 -0.60472000 + 10 0.149190 -0.73358400 + 11 0.076511 1.05874100 +D 11 + 1 132.688182 0.00016800 + 2 45.266024 0.01533800 + 3 23.267336 0.08469200 + 4 10.605694 0.27899300 + 5 5.074684 0.55870300 + 6 2.469857 -0.79413700 + 7 1.205883 -0.68566600 + 8 0.590569 1.37685100 + 9 0.292055 0.10636900 + 10 0.149190 -1.65453800 + 11 0.076511 1.14932300 +D 1 + 1 0.076511 1.00000000 +F 1 + 1 0.283007 1.00000000 +F 1 + 1 0.820240 1.00000000 +F 1 + 1 2.377304 1.00000000 +F 1 + 1 6.890148 1.00000000 +G 1 + 1 0.563286 1.00000000 +G 1 + 1 1.692696 1.00000000 +G 1 + 1 5.086615 1.00000000 +H 1 + 1 1.129723 1.00000000 +H 1 + 1 3.759579 1.00000000 +I 1 + 1 2.739666 1.00000000 + +IRON +S 13 + 1 84.322332 0.00078500 + 2 44.203528 -0.01278100 + 3 23.288963 0.10463500 + 4 13.385163 -0.11938500 + 5 7.518052 -0.33980400 + 6 4.101835 -0.04999400 + 7 2.253571 0.47695500 + 8 1.134924 0.59322200 + 9 0.561550 0.20015100 + 10 0.201961 0.00859100 + 11 0.108698 -0.00218800 + 12 0.053619 0.00067700 + 13 0.025823 -0.00014400 +S 13 + 1 84.322332 -0.00016200 + 2 44.203528 0.00292100 + 3 23.288963 -0.02546600 + 4 13.385163 0.03118200 + 5 7.518052 0.08684900 + 6 4.101835 0.00684600 + 7 2.253571 -0.13185600 + 8 1.134924 -0.22774600 + 9 0.561550 -0.17307900 + 10 0.201961 0.13614200 + 11 0.108698 0.43401300 + 12 0.053619 0.47755500 + 13 0.025823 0.12880400 +S 13 + 1 84.322332 0.00000200 + 2 44.203528 0.00410300 + 3 23.288963 -0.04684000 + 4 13.385163 0.05283300 + 5 7.518052 0.21809400 + 6 4.101835 -0.04499900 + 7 2.253571 -0.28738600 + 8 1.134924 -0.71322000 + 9 0.561550 0.24917400 + 10 0.201961 1.29987200 + 11 0.108698 0.19211900 + 12 0.053619 -0.65861600 + 13 0.025823 -0.52104700 +S 13 + 1 84.322332 0.00001200 + 2 44.203528 0.00759800 + 3 23.288963 -0.09413300 + 4 13.385163 0.12765500 + 5 7.518052 0.43559800 + 6 4.101835 -0.14791100 + 7 2.253571 -1.08447700 + 8 1.134924 -0.88700300 + 9 0.561550 2.44994600 + 10 0.201961 0.16797600 + 11 0.108698 -2.11466800 + 12 0.053619 0.45257900 + 13 0.025823 0.80144400 +S 13 + 1 84.322332 0.00330100 + 2 44.203528 -0.02919700 + 3 23.288963 0.21322700 + 4 13.385163 -0.40810900 + 5 7.518052 -0.38565100 + 6 4.101835 0.16809300 + 7 2.253571 3.10252900 + 8 1.134924 -3.36044600 + 9 0.561550 -0.53161900 + 10 0.201961 4.49398100 + 11 0.108698 -3.68975000 + 12 0.053619 -0.51060400 + 13 0.025823 1.30102100 +S 13 + 1 84.322332 -0.00129800 + 2 44.203528 -0.00553800 + 3 23.288963 0.18408000 + 4 13.385163 -0.33916500 + 5 7.518052 -1.46083900 + 6 4.101835 3.38230300 + 7 2.253571 0.84327700 + 8 1.134924 -7.01737100 + 9 0.561550 7.29137200 + 10 0.201961 -4.24668000 + 11 0.108698 0.08957600 + 12 0.053619 3.22692400 + 13 0.025823 -1.92971900 +S 1 + 1 0.025823 1.00000000 +P 13 + 1 125.092775 0.00005600 + 2 65.211589 -0.00057200 + 3 34.437599 0.00738800 + 4 18.930704 -0.02848100 + 5 10.873415 -0.06300500 + 6 6.012172 0.02485500 + 7 3.372205 0.27747400 + 8 1.768641 0.42538600 + 9 0.914516 0.31414500 + 10 0.460895 0.09042200 + 11 0.204490 0.00697700 + 12 0.074741 0.00115400 + 13 0.035671 0.00030300 +P 13 + 1 125.092775 0.00002500 + 2 65.211589 -0.00007000 + 3 34.437599 -0.00104200 + 4 18.930704 0.00512700 + 5 10.873415 0.01840400 + 6 6.012172 -0.01469200 + 7 3.372205 -0.06130700 + 8 1.768641 -0.12863800 + 9 0.914516 -0.07063700 + 10 0.460895 -0.01631400 + 11 0.204490 0.38070200 + 12 0.074741 0.52307100 + 13 0.035671 0.23576500 +P 13 + 1 125.092775 -0.00019700 + 2 65.211589 0.00125100 + 3 34.437599 -0.00915400 + 4 18.930704 0.03820100 + 5 10.873415 0.04309700 + 6 6.012172 -0.02947500 + 7 3.372205 -0.42699600 + 8 1.768641 -0.39484000 + 9 0.914516 0.07723000 + 10 0.460895 1.11988100 + 11 0.204490 -0.06649400 + 12 0.074741 -0.72158300 + 13 0.035671 -0.00569500 +P 13 + 1 125.092775 0.00026400 + 2 65.211589 -0.00107600 + 3 34.437599 -0.00259100 + 4 18.930704 0.03551900 + 5 10.873415 0.11955400 + 6 6.012172 -0.20471400 + 7 3.372205 -0.76062700 + 8 1.768641 -0.26274000 + 9 0.914516 1.77903000 + 10 0.460895 -0.46274200 + 11 0.204490 -1.24103000 + 12 0.074741 0.94098700 + 13 0.035671 0.08349600 +P 13 + 1 125.092775 -0.00008400 + 2 65.211589 0.00076800 + 3 34.437599 -0.00948500 + 4 18.930704 0.08806200 + 5 10.873415 0.15619100 + 6 6.012172 -0.61916600 + 7 3.372205 -1.38553400 + 8 1.768641 2.49212500 + 9 0.914516 0.00807600 + 10 0.460895 -2.49951500 + 11 0.204490 2.26557600 + 12 0.074741 -0.74834200 + 13 0.035671 -0.21159800 +P 13 + 1 125.092775 -0.00254400 + 2 65.211589 0.01304000 + 3 34.437599 -0.03944400 + 4 18.930704 -0.02459400 + 5 10.873415 -0.52157100 + 6 6.012172 2.73999300 + 7 3.372205 -1.74264900 + 8 1.768641 -2.84400600 + 9 0.914516 5.87082600 + 10 0.460895 -4.90230600 + 11 0.204490 2.13617600 + 12 0.074741 -0.12162600 + 13 0.035671 -0.48621900 +P 1 + 1 0.035671 1.00000000 +D 11 + 1 152.736742 0.00002900 + 2 50.772485 0.00523800 + 3 26.253589 0.02932500 + 4 12.137022 0.07490100 + 5 5.853719 0.16341100 + 6 2.856224 0.25105700 + 7 1.386132 0.28760300 + 8 0.670802 0.25186200 + 9 0.330280 0.18673600 + 10 0.170907 0.09357000 + 11 0.086794 0.07381100 +D 11 + 1 152.736742 -0.00002600 + 2 50.772485 -0.00632900 + 3 26.253589 -0.03439800 + 4 12.137022 -0.09176500 + 5 5.853719 -0.20159200 + 6 2.856224 -0.28393000 + 7 1.386132 -0.16198100 + 8 0.670802 0.12882200 + 9 0.330280 0.36016000 + 10 0.170907 0.27759200 + 11 0.086794 0.26140300 +D 11 + 1 152.736742 0.00005100 + 2 50.772485 0.00876900 + 3 26.253589 0.04792100 + 4 12.137022 0.13247500 + 5 5.853719 0.29727900 + 6 2.856224 0.27501800 + 7 1.386132 -0.22284200 + 8 0.670802 -0.61906700 + 9 0.330280 -0.07629000 + 10 0.170907 0.25605600 + 11 0.086794 0.54148200 +D 11 + 1 152.736742 -0.00009600 + 2 50.772485 -0.01214400 + 3 26.253589 -0.06697100 + 4 12.137022 -0.19602500 + 5 5.853719 -0.46900300 + 6 2.856224 0.04656000 + 7 1.386132 0.98594000 + 8 0.670802 -0.22043500 + 9 0.330280 -0.75248200 + 10 0.170907 -0.11112300 + 11 0.086794 0.75310000 +D 11 + 1 152.736742 -0.00003200 + 2 50.772485 -0.01641100 + 3 26.253589 -0.08103600 + 4 12.137022 -0.29264100 + 5 5.853719 -0.57581900 + 6 2.856224 1.15115600 + 7 1.386132 0.16896300 + 8 0.670802 -1.48954500 + 9 0.330280 0.74153600 + 10 0.170907 0.97927900 + 11 0.086794 -1.04490500 +D 1 + 1 0.086794 1.00000000 +F 1 + 1 0.334367 1.00000000 +F 1 + 1 0.965650 1.00000000 +F 1 + 1 2.788793 1.00000000 +F 1 + 1 8.054020 1.00000000 +G 1 + 1 0.673444 1.00000000 +G 1 + 1 1.991550 1.00000000 +G 1 + 1 5.889532 1.00000000 +H 1 + 1 1.344807 1.00000000 +H 1 + 1 4.359371 1.00000000 +I 1 + 1 3.182222 1.00000000 + +COBALT +S 13 + 1 90.663831 0.00077400 + 2 46.961414 -0.01131600 + 3 24.110274 0.10120900 + 4 14.430881 -0.08164200 + 5 8.757423 -0.35481200 + 6 4.484459 -0.09036200 + 7 2.519739 0.49817400 + 8 1.236850 0.60412300 + 9 0.601882 0.19077500 + 10 0.223338 0.00657800 + 11 0.123422 -0.00090500 + 12 0.059941 0.00017100 + 13 0.027978 -0.00002500 +S 13 + 1 90.663831 -0.00015400 + 2 46.961414 0.00252500 + 3 24.110274 -0.02444300 + 4 14.430881 0.02220000 + 5 8.757423 0.08841600 + 6 4.484459 0.01682000 + 7 2.519739 -0.13458200 + 8 1.236850 -0.23129500 + 9 0.601882 -0.16398600 + 10 0.223338 0.12133700 + 11 0.123422 0.40241400 + 12 0.059941 0.50611300 + 13 0.027978 0.14543600 +S 13 + 1 90.663831 -0.00004700 + 2 46.961414 0.00365400 + 3 24.110274 -0.04613200 + 4 14.430881 0.03648300 + 5 8.757423 0.21726500 + 6 4.484459 -0.01188300 + 7 2.519739 -0.32468800 + 8 1.236850 -0.68058100 + 9 0.601882 0.25693600 + 10 0.223338 1.22400500 + 11 0.123422 0.23683700 + 12 0.059941 -0.60406400 + 13 0.027978 -0.57494700 +S 13 + 1 90.663831 -0.00023100 + 2 46.961414 0.00753600 + 3 24.110274 -0.09729800 + 4 14.430881 0.11161100 + 5 8.757423 0.40362100 + 6 4.484459 -0.04832400 + 7 2.519739 -1.15760000 + 8 1.236850 -0.75683900 + 9 0.601882 2.31368300 + 10 0.223338 0.25307400 + 11 0.123422 -1.99146600 + 12 0.059941 0.16694200 + 13 0.027978 0.91722100 +S 13 + 1 90.663831 0.00280900 + 2 46.961414 -0.02445900 + 3 24.110274 0.21171700 + 4 14.430881 -0.38745200 + 5 8.757423 -0.36690900 + 6 4.484459 0.13914300 + 7 2.519739 2.83452700 + 8 1.236850 -2.90639800 + 9 0.601882 -0.80689600 + 10 0.223338 4.33605500 + 11 0.123422 -2.91360700 + 12 0.059941 -1.25330700 + 13 0.027978 1.50957200 +S 13 + 1 90.663831 -0.00143600 + 2 46.961414 -0.00099500 + 3 24.110274 0.17402400 + 4 14.430881 -0.27705900 + 5 8.757423 -1.32202800 + 6 4.484459 3.04818800 + 7 2.519739 0.88698400 + 8 1.236850 -6.51886800 + 9 0.601882 6.58588500 + 10 0.223338 -2.92841300 + 11 0.123422 -1.62261500 + 12 0.059941 4.04814300 + 13 0.027978 -2.04577100 +S 1 + 1 0.027978 1.00000000 +P 13 + 1 139.038145 0.00007500 + 2 71.928971 -0.00062700 + 3 37.806311 0.00571900 + 4 21.054252 -0.00931000 + 5 12.973193 -0.08385700 + 6 6.791461 0.01239400 + 7 3.794018 0.28198700 + 8 1.960649 0.43417900 + 9 1.006283 0.31340900 + 10 0.509539 0.08977800 + 11 0.233091 0.00740500 + 12 0.083890 0.00098000 + 13 0.039802 0.00027400 +P 13 + 1 139.038145 0.00002500 + 2 71.928971 -0.00008400 + 3 37.806311 -0.00048500 + 4 21.054252 0.00009500 + 5 12.973193 0.02240200 + 6 6.791461 -0.01153400 + 7 3.794018 -0.05686600 + 8 1.960649 -0.12607000 + 9 1.006283 -0.06088900 + 10 0.509539 -0.03508600 + 11 0.233091 0.35184700 + 12 0.083890 0.51044900 + 13 0.039802 0.28970700 +P 13 + 1 139.038145 -0.00023800 + 2 71.928971 0.00148900 + 3 37.806311 -0.00872300 + 4 21.054252 0.02453800 + 5 12.973193 0.06085600 + 6 6.791461 -0.02038000 + 7 3.794018 -0.43019500 + 8 1.960649 -0.40769200 + 9 1.006283 0.08532600 + 10 0.509539 1.07332600 + 11 0.233091 0.01506700 + 12 0.083890 -0.71963100 + 13 0.039802 -0.02460300 +P 13 + 1 139.038145 -0.00005500 + 2 71.928971 -0.00001700 + 3 37.806311 0.00432000 + 4 21.054252 -0.02133900 + 5 12.973193 -0.12713400 + 6 6.791461 0.15720800 + 7 3.794018 0.79492700 + 8 1.960649 0.23357400 + 9 1.006283 -1.66603300 + 10 0.509539 0.28271600 + 11 0.233091 1.33562500 + 12 0.083890 -0.88546900 + 13 0.039802 -0.13034000 +P 13 + 1 139.038145 0.00005200 + 2 71.928971 0.00014400 + 3 37.806311 -0.00506500 + 4 21.054252 0.05166200 + 5 12.973193 0.20930600 + 6 6.791461 -0.63605200 + 7 3.794018 -1.33476100 + 8 1.960649 2.33740900 + 9 1.006283 0.19062400 + 10 0.509539 -2.65784100 + 11 0.233091 2.26444400 + 12 0.083890 -0.61258400 + 13 0.039802 -0.27662000 +P 13 + 1 139.038145 -0.00258700 + 2 71.928971 0.01345800 + 3 37.806311 -0.04646400 + 4 21.054252 0.03715700 + 5 12.973193 -0.58198600 + 6 6.791461 2.70958900 + 7 3.794018 -1.68255200 + 8 1.960649 -2.80074300 + 9 1.006283 5.80223100 + 10 0.509539 -4.89926500 + 11 0.233091 2.05329300 + 12 0.083890 0.03335700 + 13 0.039802 -0.55647600 +P 1 + 1 0.039802 1.00000000 +D 11 + 1 160.444504 0.00003400 + 2 52.598830 0.00655300 + 3 27.491581 0.03618500 + 4 12.745988 0.08302600 + 5 6.184310 0.17696000 + 6 3.029146 0.26399000 + 7 1.474099 0.29244700 + 8 0.714391 0.24959700 + 9 0.348520 0.17163700 + 10 0.174166 0.08064900 + 11 0.087891 0.04121200 +D 11 + 1 160.444504 -0.00003100 + 2 52.598830 -0.00786900 + 3 27.491581 -0.04199200 + 4 12.745988 -0.10138800 + 5 6.184310 -0.21699600 + 6 3.029146 -0.28396200 + 7 1.474099 -0.12717900 + 8 0.714391 0.17712500 + 9 0.348520 0.37559600 + 10 0.174166 0.28463100 + 11 0.087891 0.20027700 +D 11 + 1 160.444504 0.00004800 + 2 52.598830 0.01053100 + 3 27.491581 0.05555900 + 4 12.745988 0.14075800 + 5 6.184310 0.30578500 + 6 3.029146 0.24281200 + 7 1.474099 -0.28504400 + 8 0.714391 -0.59481900 + 9 0.348520 -0.01793700 + 10 0.174166 0.34815000 + 11 0.087891 0.45517000 +D 11 + 1 160.444504 -0.00007000 + 2 52.598830 -0.01526900 + 3 27.491581 -0.07877000 + 4 12.745988 -0.21855600 + 5 6.184310 -0.47927100 + 6 3.029146 0.17362300 + 7 1.474099 0.95417300 + 8 0.714391 -0.34849000 + 9 0.348520 -0.73737100 + 10 0.174166 0.07194100 + 11 0.087891 0.64488200 +D 11 + 1 160.444504 0.00020500 + 2 52.598830 -0.02193300 + 3 27.491581 -0.08750800 + 4 12.745988 -0.34161200 + 5 6.184310 -0.49762900 + 6 3.029146 1.28072500 + 7 1.474099 -0.12625700 + 8 0.714391 -1.36065500 + 9 0.348520 0.96428800 + 10 0.174166 0.66161100 + 11 0.087891 -0.94435000 +D 1 + 1 0.087891 1.00000000 +F 1 + 1 0.394252 1.00000000 +F 1 + 1 1.131258 1.00000000 +F 1 + 1 3.246009 1.00000000 +F 1 + 1 9.314030 1.00000000 +G 1 + 1 0.808427 1.00000000 +G 1 + 1 2.355598 1.00000000 +G 1 + 1 6.863750 1.00000000 +H 1 + 1 1.591062 1.00000000 +H 1 + 1 5.068373 1.00000000 +I 1 + 1 3.729940 1.00000000 + +NICKEL +S 13 + 1 97.161835 0.00070900 + 2 51.187866 -0.01239900 + 3 26.996725 0.10722000 + 4 15.523536 -0.12455600 + 5 8.916168 -0.35102300 + 6 4.795806 -0.02575800 + 7 2.619926 0.49894800 + 8 1.330111 0.56898600 + 9 0.668901 0.19112100 + 10 0.230439 0.01027800 + 11 0.121518 -0.00362700 + 12 0.057951 0.00129500 + 13 0.027201 -0.00030700 +S 13 + 1 97.161835 -0.00014000 + 2 51.187866 0.00275600 + 3 26.996725 -0.02548200 + 4 15.523536 0.03218200 + 5 8.916168 0.08622600 + 6 4.795806 0.00110400 + 7 2.619926 -0.13579000 + 8 1.330111 -0.21572400 + 9 0.668901 -0.15836700 + 10 0.230439 0.14349900 + 11 0.121518 0.44367200 + 12 0.057951 0.47255800 + 13 0.027201 0.11017300 +S 13 + 1 97.161835 0.00012100 + 2 51.187866 0.00332200 + 3 26.996725 -0.04578500 + 4 15.523536 0.05341500 + 5 8.916168 0.22227000 + 6 4.795806 -0.07306500 + 7 2.619926 -0.29399800 + 8 1.330111 -0.66893800 + 9 0.668901 0.29750400 + 10 0.230439 1.23374800 + 11 0.121518 0.12931700 + 12 0.057951 -0.60340700 + 13 0.027201 -0.53306200 +S 13 + 1 97.161835 0.00043400 + 2 51.187866 0.00484800 + 3 26.996725 -0.08781800 + 4 15.523536 0.12185200 + 5 8.916168 0.45421800 + 6 4.795806 -0.24576500 + 7 2.619926 -0.99734500 + 8 1.330111 -0.83458600 + 9 0.668901 2.28567500 + 10 0.230439 0.25153800 + 11 0.121518 -1.98879600 + 12 0.057951 0.34760200 + 13 0.027201 0.82415000 +S 13 + 1 97.161835 0.00246100 + 2 51.187866 -0.02346000 + 3 26.996725 0.19859000 + 4 15.523536 -0.40252500 + 5 8.916168 -0.40556800 + 6 4.795806 0.38789300 + 7 2.619926 2.68467900 + 8 1.330111 -2.95595600 + 9 0.668901 -0.66746700 + 10 0.230439 4.09407400 + 11 0.121518 -3.10335500 + 12 0.057951 -0.76872800 + 13 0.027201 1.33121700 +S 13 + 1 97.161835 0.00000200 + 2 51.187866 -0.01179900 + 3 26.996725 0.22803400 + 4 15.523536 -0.51850500 + 5 8.916168 -1.14326400 + 6 4.795806 3.24177400 + 7 2.619926 0.66793500 + 8 1.330111 -6.65833200 + 9 0.668901 6.62725100 + 10 0.230439 -3.19901800 + 11 0.121518 -0.63288800 + 12 0.057951 3.28743600 + 13 0.027201 -1.86177800 +S 1 + 1 0.027201 1.00000000 +P 13 + 1 148.087630 0.00005500 + 2 77.452187 -0.00054800 + 3 40.915636 0.00697900 + 4 22.575667 -0.02365800 + 5 13.218268 -0.07568200 + 6 7.232093 0.02725300 + 7 4.054870 0.28477800 + 8 2.122089 0.42763200 + 9 1.092769 0.30993700 + 10 0.548240 0.08853500 + 11 0.238886 0.00642700 + 12 0.084667 0.00070800 + 13 0.038921 0.00018600 +P 13 + 1 148.087630 0.00002700 + 2 77.452187 -0.00008800 + 3 40.915636 -0.00077300 + 4 22.575667 0.00334500 + 5 13.218268 0.01940500 + 6 7.232093 -0.01428800 + 7 4.054870 -0.05452700 + 8 2.122089 -0.11645400 + 9 1.092769 -0.06023600 + 10 0.548240 -0.02392800 + 11 0.238886 0.34786900 + 12 0.084667 0.52262600 + 13 0.038921 0.27647100 +P 13 + 1 148.087630 -0.00023700 + 2 77.452187 0.00145600 + 3 40.915636 -0.00974500 + 4 22.575667 0.03779900 + 5 13.218268 0.05252100 + 6 7.232093 -0.03500600 + 7 4.054870 -0.45557700 + 8 2.122089 -0.36830600 + 9 1.092769 0.10039200 + 10 0.548240 1.07665200 + 11 0.238886 -0.04532600 + 12 0.084667 -0.70318600 + 13 0.038921 0.00458000 +P 13 + 1 148.087630 -0.00026000 + 2 77.452187 0.00107100 + 3 40.915636 0.00232200 + 4 22.575667 -0.03214000 + 5 13.218268 -0.13413600 + 6 7.232093 0.22906200 + 7 4.054870 0.75223900 + 8 2.122089 0.20553500 + 9 1.092769 -1.69291000 + 10 0.548240 0.43629500 + 11 0.238886 1.21951400 + 12 0.084667 -0.94551600 + 13 0.038921 -0.06223200 +P 13 + 1 148.087630 0.00008000 + 2 77.452187 -0.00010100 + 3 40.915636 -0.00649200 + 4 22.575667 0.08312900 + 5 13.218268 0.19539300 + 6 7.232093 -0.76580600 + 7 4.054870 -1.20601700 + 8 2.122089 2.42444400 + 9 1.092769 -0.07938700 + 10 0.548240 -2.32544900 + 11 0.238886 2.12913300 + 12 0.084667 -0.73358500 + 13 0.038921 -0.18044400 +P 13 + 1 148.087630 -0.00198500 + 2 77.452187 0.01015900 + 3 40.915636 -0.02936700 + 4 22.575667 -0.06649700 + 5 13.218268 -0.46488300 + 6 7.232093 2.88107400 + 7 4.054870 -2.20114400 + 8 2.122089 -2.24015400 + 9 1.092769 5.38016000 + 10 0.548240 -4.63838100 + 11 0.238886 2.07635300 + 12 0.084667 -0.21119500 + 13 0.038921 -0.40801500 +P 1 + 1 0.038921 1.00000000 +D 11 + 1 177.900125 0.00004900 + 2 57.372112 0.00751900 + 3 29.881432 0.03645500 + 4 13.971757 0.08690100 + 5 6.841152 0.18056800 + 6 3.379983 0.26818700 + 7 1.651827 0.29675600 + 8 0.799251 0.25155800 + 9 0.388057 0.16231900 + 10 0.191191 0.07211900 + 11 0.093358 0.02368900 +D 11 + 1 177.900125 -0.00005300 + 2 57.372112 -0.00885000 + 3 29.881432 -0.04191600 + 4 13.971757 -0.10469100 + 5 6.841152 -0.21946400 + 6 3.379983 -0.28371200 + 7 1.651827 -0.12212700 + 8 0.799251 0.19012300 + 9 0.388057 0.37659800 + 10 0.191191 0.29512200 + 11 0.093358 0.17825200 +D 11 + 1 177.900125 0.00007900 + 2 57.372112 0.01144200 + 3 29.881432 0.05397200 + 4 13.971757 0.14106800 + 5 6.841152 0.30229400 + 6 3.379983 0.23655800 + 7 1.651827 -0.29131100 + 8 0.799251 -0.58175800 + 9 0.388057 -0.02406300 + 10 0.191191 0.38938700 + 11 0.093358 0.43083300 +D 11 + 1 177.900125 -0.00012400 + 2 57.372112 -0.01660200 + 3 29.881432 -0.07753300 + 4 13.971757 -0.22182600 + 5 6.841152 -0.48165800 + 6 3.379983 0.18244700 + 7 1.651827 0.94562600 + 8 0.799251 -0.33424100 + 9 0.388057 -0.76116400 + 10 0.191191 0.13681600 + 11 0.093358 0.60078500 +D 11 + 1 177.900125 0.00014300 + 2 57.372112 -0.02412900 + 3 29.881432 -0.08706500 + 4 13.971757 -0.35946500 + 5 6.841152 -0.49030300 + 6 3.379983 1.31820700 + 7 1.651827 -0.17241700 + 8 0.799251 -1.34248700 + 9 0.388057 1.01361400 + 10 0.191191 0.53343200 + 11 0.093358 -0.86604900 +D 1 + 1 0.093358 1.00000000 +F 1 + 1 0.443146 1.00000000 +F 1 + 1 1.263741 1.00000000 +F 1 + 1 3.603870 1.00000000 +F 1 + 1 10.277329 1.00000000 +G 1 + 1 0.944121 1.00000000 +G 1 + 1 2.771204 1.00000000 +G 1 + 1 8.134096 1.00000000 +H 1 + 1 1.828195 1.00000000 +H 1 + 1 5.825403 1.00000000 +I 1 + 1 4.485842 1.00000000 + +COPPER +S 13 + 1 104.471138 0.00074100 + 2 55.955221 -0.01395300 + 3 30.553953 0.10526600 + 4 16.942394 -0.12939900 + 5 9.452707 -0.36273800 + 6 5.174537 0.01326600 + 7 2.779171 0.48928800 + 8 1.441817 0.56208800 + 9 0.710674 0.19004700 + 10 0.241540 0.00563500 + 11 0.129621 -0.00058200 + 12 0.059229 -0.00002400 + 13 0.027110 0.00003000 +S 13 + 1 104.471138 -0.00013300 + 2 55.955221 0.00299900 + 3 30.553953 -0.02431000 + 4 16.942394 0.03198600 + 5 9.452707 0.08914900 + 6 5.174537 -0.01075000 + 7 2.779171 -0.12822400 + 8 1.441817 -0.21572000 + 9 0.710674 -0.14955900 + 10 0.241540 0.14291700 + 11 0.129621 0.44630700 + 12 0.059229 0.48464300 + 13 0.027110 0.09306900 +S 13 + 1 104.471138 0.00021000 + 2 55.955221 0.00380600 + 3 30.553953 -0.04731200 + 4 16.942394 0.05995700 + 5 9.452707 0.25064200 + 6 5.174537 -0.11910200 + 7 2.779171 -0.31406900 + 8 1.441817 -0.68930000 + 9 0.710674 0.40305000 + 10 0.241540 1.27044000 + 11 0.129621 -0.02902900 + 12 0.059229 -0.62215700 + 13 0.027110 -0.44207400 +S 13 + 1 104.471138 0.00036600 + 2 55.955221 0.00672000 + 3 30.553953 -0.09149300 + 4 16.942394 0.14226300 + 5 9.452707 0.47188100 + 6 5.174537 -0.31970800 + 7 2.779171 -1.06825500 + 8 1.441817 -0.61504900 + 9 0.710674 2.26128200 + 10 0.241540 -0.02005900 + 11 0.129621 -1.81574600 + 12 0.059229 0.47417400 + 13 0.027110 0.71359700 +S 13 + 1 104.471138 0.00267900 + 2 55.955221 -0.02626700 + 3 30.553953 0.19212900 + 4 16.942394 -0.40421800 + 5 9.452707 -0.43460200 + 6 5.174537 0.55567400 + 7 2.779171 2.61821100 + 8 1.441817 -3.20734300 + 9 0.710674 -0.33054500 + 10 0.241540 4.04196600 + 11 0.129621 -3.35549700 + 12 0.059229 -0.48399100 + 13 0.027110 1.21366400 +S 13 + 1 104.471138 -0.00002500 + 2 55.955221 -0.01438300 + 3 30.553953 0.22413500 + 4 16.942394 -0.55516400 + 5 9.452707 -1.11162800 + 6 5.174537 3.39371200 + 7 2.779171 0.29284800 + 8 1.441817 -6.10751500 + 9 0.710674 6.27824000 + 10 0.241540 -3.38862200 + 11 0.129621 -0.13982400 + 12 0.059229 2.89254600 + 13 0.027110 -1.75159900 +S 1 + 1 0.027110 1.00000000 +P 13 + 1 159.152840 0.00002600 + 2 83.322776 -0.00040200 + 3 44.840311 0.00740500 + 4 25.020360 -0.03071400 + 5 13.610016 -0.07434800 + 6 7.761318 0.04343000 + 7 4.303947 0.28970300 + 8 2.290080 0.41346700 + 9 1.202173 0.30376200 + 10 0.607647 0.09349400 + 11 0.257656 0.00666300 + 12 0.090897 0.00056700 + 13 0.041925 0.00017600 +P 13 + 1 159.152840 0.00003400 + 2 83.322776 -0.00012900 + 3 44.840311 -0.00080200 + 4 25.020360 0.00474700 + 5 13.610016 0.01859500 + 6 7.761318 -0.01769200 + 7 4.303947 -0.05261400 + 8 2.290080 -0.11034900 + 9 1.202173 -0.05470100 + 10 0.607647 -0.02665500 + 11 0.257656 0.33588000 + 12 0.090897 0.50947800 + 13 0.041925 0.30255900 +P 13 + 1 159.152840 -0.00022800 + 2 83.322776 0.00141400 + 3 44.840311 -0.01029000 + 4 25.020360 0.04389600 + 5 13.610016 0.05286500 + 6 7.761318 -0.05656500 + 7 4.303947 -0.48071500 + 8 2.290080 -0.31598400 + 9 1.202173 0.07567900 + 10 0.607647 1.06074700 + 11 0.257656 -0.00806100 + 12 0.090897 -0.70160100 + 13 0.041925 0.00694100 +P 13 + 1 159.152840 -0.00041200 + 2 83.322776 0.00195700 + 3 44.840311 0.00064000 + 4 25.020360 -0.03675300 + 5 13.610016 -0.14719300 + 6 7.761318 0.29778200 + 7 4.303947 0.70527100 + 8 2.290080 0.19646600 + 9 1.202173 -1.65940600 + 10 0.607647 0.39150000 + 11 0.257656 1.24328400 + 12 0.090897 -0.95752900 + 13 0.041925 -0.05609100 +P 13 + 1 159.152840 0.00032900 + 2 83.322776 -0.00156500 + 3 44.840311 -0.00336900 + 4 25.020360 0.08790300 + 5 13.610016 0.22132700 + 6 7.761318 -0.92400600 + 7 4.303947 -1.00731600 + 8 2.290080 2.32431200 + 9 1.202173 0.00119100 + 10 0.607647 -2.32974500 + 11 0.257656 2.05959900 + 12 0.090897 -0.70662000 + 13 0.041925 -0.18479700 +P 13 + 1 159.152840 -0.00066300 + 2 83.322776 0.00351400 + 3 44.840311 -0.00304100 + 4 25.020360 -0.16209700 + 5 13.610016 -0.29931000 + 6 7.761318 2.77138200 + 7 4.303947 -2.29610400 + 8 2.290080 -2.15880200 + 9 1.202173 5.40521000 + 10 0.607647 -4.52127300 + 11 0.257656 1.93483100 + 12 0.090897 -0.16591400 + 13 0.041925 -0.42278400 +P 1 + 1 0.041925 1.00000000 +D 11 + 1 226.693527 0.00001500 + 2 73.010278 0.00410800 + 3 38.536518 0.02822300 + 4 18.726700 0.06932300 + 5 9.155485 0.15604500 + 6 4.540884 0.25123800 + 7 2.241175 0.29746300 + 8 1.085869 0.27498100 + 9 0.510612 0.19309800 + 10 0.229608 0.08639300 + 11 0.095781 0.01464500 +D 11 + 1 226.693527 -0.00001300 + 2 73.010278 -0.00525200 + 3 38.536518 -0.03498200 + 4 18.726700 -0.08895000 + 5 9.155485 -0.20719400 + 6 4.540884 -0.30259700 + 7 2.241175 -0.17932700 + 8 1.085869 0.16906900 + 9 0.510612 0.40590400 + 10 0.229608 0.34187100 + 11 0.095781 0.11708000 +D 11 + 1 226.693527 0.00001600 + 2 73.010278 0.00615700 + 3 38.536518 0.04036100 + 4 18.726700 0.10603800 + 5 9.155485 0.26329900 + 6 4.540884 0.28849600 + 7 2.241175 -0.18674500 + 8 1.085869 -0.59153900 + 9 0.510612 -0.13868100 + 10 0.229608 0.54774900 + 11 0.095781 0.36235300 +D 11 + 1 226.693527 -0.00007200 + 2 73.010278 -0.00870300 + 3 38.536518 -0.06059400 + 4 18.726700 -0.16022100 + 5 9.155485 -0.45749500 + 6 4.540884 -0.08760700 + 7 2.241175 0.95305600 + 8 1.085869 0.02518500 + 9 0.510612 -0.98463700 + 10 0.229608 0.25844200 + 11 0.095781 0.52511300 +D 11 + 1 226.693527 0.00004900 + 2 73.010278 0.01189500 + 3 38.536518 0.07542500 + 4 18.726700 0.23802600 + 5 9.155485 0.66103100 + 6 4.540884 -0.97854000 + 7 2.241175 -0.55996800 + 8 1.085869 1.69394200 + 9 0.510612 -0.91595800 + 10 0.229608 -0.49361100 + 11 0.095781 0.76641700 +D 1 + 1 0.095781 1.00000000 +F 1 + 1 0.523275 1.00000000 +F 1 + 1 1.480718 1.00000000 +F 1 + 1 4.190004 1.00000000 +F 1 + 1 11.856505 1.00000000 +G 1 + 1 1.106138 1.00000000 +G 1 + 1 3.158997 1.00000000 +G 1 + 1 9.021717 1.00000000 +H 1 + 1 2.124621 1.00000000 +H 1 + 1 6.632584 1.00000000 +I 1 + 1 4.948534 1.00000000 + +ZINC +S 13 + 1 114.485022 0.00042900 + 2 61.996430 -0.01933900 + 3 40.117132 0.08625400 + 4 20.119649 -0.08895500 + 5 10.171676 -0.40267100 + 6 5.601641 0.06730400 + 7 2.864122 0.47921500 + 8 1.592779 0.50396000 + 9 0.826525 0.22208800 + 10 0.263975 0.01220300 + 11 0.145302 -0.00430000 + 12 0.068195 0.00124300 + 13 0.031465 -0.00026700 +S 13 + 1 114.485022 -0.00010900 + 2 61.996430 0.00445900 + 3 40.117132 -0.02006700 + 4 20.119649 0.02233800 + 5 10.171676 0.09669800 + 6 5.601641 -0.02196600 + 7 2.864122 -0.12876800 + 8 1.592779 -0.18170600 + 9 0.826525 -0.16231100 + 10 0.263975 0.11626400 + 11 0.145302 0.41131400 + 12 0.068195 0.49425700 + 13 0.031465 0.13810300 +S 13 + 1 114.485022 0.00066600 + 2 61.996430 0.00626900 + 3 40.117132 -0.04660300 + 4 20.119649 0.05039900 + 5 10.171676 0.36349300 + 6 5.601641 -0.24284000 + 7 2.864122 -0.38228100 + 8 1.592779 -0.86156700 + 9 0.826525 0.70607700 + 10 0.263975 1.49500100 + 11 0.145302 -0.45399400 + 12 0.068195 -0.59782200 + 13 0.031465 -0.25611700 +S 13 + 1 114.485022 0.00070400 + 2 61.996430 0.01284100 + 3 40.117132 -0.08591000 + 4 20.119649 0.11798200 + 5 10.171676 0.63016400 + 6 5.601641 -0.60034400 + 7 2.864122 -1.24906000 + 8 1.592779 -0.32949800 + 9 0.826525 2.59246900 + 10 0.263975 -1.00448100 + 11 0.145302 -1.37951400 + 12 0.068195 1.04684200 + 13 0.031465 0.32467600 +S 13 + 1 114.485022 0.00561400 + 2 61.996430 -0.06659000 + 3 40.117132 0.24276300 + 4 20.119649 -0.43396800 + 5 10.171676 -0.79971200 + 6 5.601641 1.54215100 + 7 2.864122 3.08029900 + 8 1.592779 -6.19825000 + 9 0.826525 2.58176600 + 10 0.263975 3.21198800 + 11 0.145302 -4.76745700 + 12 0.068195 1.67656100 + 13 0.031465 0.27090900 +S 13 + 1 114.485022 -0.00145800 + 2 61.996430 0.05360200 + 3 40.117132 -0.29854900 + 4 20.119649 0.71066200 + 5 10.171676 1.69169500 + 6 5.601641 -6.87135200 + 7 2.864122 6.72361500 + 8 1.592779 0.19685400 + 9 0.826525 -4.99731400 + 10 0.263975 7.57331800 + 11 0.145302 -6.94339000 + 12 0.068195 1.83160800 + 13 0.031465 0.26083500 +S 1 + 1 0.031465 1.00000000 +P 13 + 1 158.770986 -0.00015300 + 2 75.802876 0.00189300 + 3 44.547824 0.01046100 + 4 31.445269 -0.04514100 + 5 13.080125 -0.08420100 + 6 7.788616 0.10497300 + 7 4.195040 0.30771400 + 8 2.362276 0.36856300 + 9 1.302584 0.28633600 + 10 0.660704 0.09515600 + 11 0.249042 0.00585100 + 12 0.091781 -0.00003400 + 13 0.048931 0.00025200 +P 13 + 1 158.770986 0.00005300 + 2 75.802876 -0.00057100 + 3 44.547824 -0.00107300 + 4 31.445269 0.00746300 + 5 13.080125 0.01867600 + 6 7.788616 -0.02809000 + 7 4.195040 -0.05443800 + 8 2.362276 -0.09374400 + 9 1.302584 -0.05416900 + 10 0.660704 -0.00797200 + 11 0.249042 0.35619800 + 12 0.091781 0.41239900 + 13 0.048931 0.36132100 +P 13 + 1 158.770986 -0.00017000 + 2 75.802876 0.00060400 + 3 44.547824 -0.01998700 + 4 31.445269 0.06115300 + 5 13.080125 0.06731700 + 6 7.788616 -0.13921100 + 7 4.195040 -0.52704100 + 8 2.362276 -0.17619400 + 9 1.302584 0.03712900 + 10 0.660704 1.07932200 + 11 0.249042 -0.05014900 + 12 0.091781 -0.68897100 + 13 0.048931 0.03733100 +P 13 + 1 158.770986 -0.00078100 + 2 75.802876 0.00785500 + 3 44.547824 -0.00867100 + 4 31.445269 -0.04055300 + 5 13.080125 -0.20006200 + 6 7.788616 0.52859900 + 7 4.195040 0.52855200 + 8 2.362276 0.24357600 + 9 1.302584 -1.80718200 + 10 0.660704 0.62949600 + 11 0.249042 1.13761300 + 12 0.091781 -1.06715000 + 13 0.048931 0.02219000 +P 13 + 1 158.770986 -0.00030400 + 2 75.802876 0.00006000 + 3 44.547824 -0.03693100 + 4 31.445269 0.14601900 + 5 13.080125 0.22210400 + 6 7.788616 -1.20631000 + 7 4.195040 -0.64408400 + 8 2.362276 2.39813600 + 9 1.302584 -0.30444100 + 10 0.660704 -1.96089400 + 11 0.249042 1.89540000 + 12 0.091781 -0.82157700 + 13 0.048931 -0.13247100 +P 13 + 1 158.770986 0.00325100 + 2 75.802876 -0.02360900 + 3 44.547824 0.15491100 + 4 31.445269 -0.38553900 + 5 13.080125 0.04302800 + 6 7.788616 2.49137200 + 7 4.195040 -2.76365900 + 8 2.362276 -1.61456300 + 9 1.302584 5.18203200 + 10 0.660704 -4.10536000 + 11 0.249042 1.71270200 + 12 0.091781 -0.16883700 + 13 0.048931 -0.45499800 +P 1 + 1 0.048931 1.00000000 +D 11 + 1 270.014061 -0.00001600 + 2 100.161579 0.00069600 + 3 43.530609 0.01353600 + 4 21.262419 0.06935000 + 5 10.577821 0.14955900 + 6 5.343620 0.23958800 + 7 2.704857 0.28674400 + 8 1.353018 0.27145900 + 9 0.660873 0.20242600 + 10 0.309149 0.10330700 + 11 0.133879 0.02321100 +D 11 + 1 270.014061 0.00001300 + 2 100.161579 -0.00088900 + 3 43.530609 -0.01864000 + 4 21.262419 -0.09464600 + 5 10.577821 -0.21565900 + 6 5.343620 -0.32246900 + 7 2.704857 -0.19752900 + 8 1.353018 0.16444800 + 9 0.660873 0.41001700 + 10 0.309149 0.32783800 + 11 0.133879 0.10574900 +D 11 + 1 270.014061 0.00000700 + 2 100.161579 0.00086800 + 3 43.530609 0.02163100 + 4 21.262419 0.10774800 + 5 10.577821 0.27899700 + 6 5.343620 0.31454300 + 7 2.704857 -0.24192600 + 8 1.353018 -0.60241500 + 9 0.660873 -0.11801300 + 10 0.309149 0.54548200 + 11 0.133879 0.36382900 +D 11 + 1 270.014061 -0.00008800 + 2 100.161579 -0.00067400 + 3 43.530609 -0.03072600 + 4 21.262419 -0.14321800 + 5 10.577821 -0.44533000 + 6 5.343620 -0.13669300 + 7 2.704857 0.92782300 + 8 1.353018 0.14320400 + 9 0.660873 -1.06020200 + 10 0.309149 0.16045200 + 11 0.133879 0.65854200 +D 11 + 1 270.014061 0.00011500 + 2 100.161579 0.00099700 + 3 43.530609 0.04174200 + 4 21.262419 0.22376100 + 5 10.577821 0.73092800 + 6 5.343620 -0.86990000 + 7 2.704857 -0.85052900 + 8 1.353018 1.81569400 + 9 0.660873 -0.68110900 + 10 0.309149 -0.81728000 + 11 0.133879 0.88730900 +D 1 + 1 0.133879 1.00000000 +F 1 + 1 0.588643 1.00000000 +F 1 + 1 1.645556 1.00000000 +F 1 + 1 4.600166 1.00000000 +F 1 + 1 12.859800 1.00000000 +G 1 + 1 1.280919 1.00000000 +G 1 + 1 3.621387 1.00000000 +G 1 + 1 10.238310 1.00000000 +H 1 + 1 2.421611 1.00000000 +H 1 + 1 7.511113 1.00000000 +I 1 + 1 5.639501 1.00000000 + +GALLIUM +S 9 + 1 31.011369 -0.00004600 + 2 13.757663 0.00020700 + 3 6.103352 -0.00828200 + 4 2.707648 0.08572200 + 5 1.201202 -0.35069900 + 6 0.532893 0.00456700 + 7 0.236409 0.45296800 + 8 0.104879 0.55818700 + 9 0.046528 0.16331900 +P 9 + 1 15.391968 -0.00012000 + 2 6.919798 -0.00020200 + 3 3.110948 0.00885300 + 4 1.398595 -0.07370800 + 5 0.628769 0.02826000 + 6 0.282677 0.22146300 + 7 0.127084 0.41332000 + 8 0.057133 0.38568600 + 9 0.025686 0.11229200 +S 1 + 1 0.433600 1.00000000 +S 1 + 1 0.216864 1.00000000 +S 1 + 1 0.108464 1.00000000 +S 1 + 1 0.054248 1.00000000 +P 1 + 1 0.518134 1.00000000 +P 1 + 1 0.209184 1.00000000 +P 1 + 1 0.084453 1.00000000 +P 1 + 1 0.034096 1.00000000 +D 1 + 1 0.782969 1.00000000 +D 1 + 1 0.362956 1.00000000 +D 1 + 1 0.168253 1.00000000 +D 1 + 1 0.077996 1.00000000 +F 1 + 1 0.603610 1.00000000 +F 1 + 1 0.311095 1.00000000 +F 1 + 1 0.160335 1.00000000 +G 1 + 1 0.591927 1.00000000 +G 1 + 1 0.292266 1.00000000 +H 1 + 1 0.525905 1.00000000 + +GERMANIUM +S 9 + 1 46.470485 -0.00022900 + 2 20.357328 0.00157400 + 3 8.917936 -0.01134500 + 4 3.906681 0.09897200 + 5 1.711400 -0.33154500 + 6 0.749713 -0.09480900 + 7 0.328427 0.43893300 + 8 0.143874 0.59677700 + 9 0.063027 0.18625100 +P 9 + 1 22.641155 0.00005200 + 2 10.174686 -0.00067500 + 3 4.572392 0.01127600 + 4 2.054783 -0.07462800 + 5 0.923397 -0.01207000 + 6 0.414964 0.21691900 + 7 0.186480 0.43873500 + 8 0.083802 0.38512600 + 9 0.037660 0.10807400 +S 1 + 1 0.565850 1.00000000 +S 1 + 1 0.283882 1.00000000 +S 1 + 1 0.142421 1.00000000 +S 1 + 1 0.071451 1.00000000 +P 1 + 1 0.705223 1.00000000 +P 1 + 1 0.294310 1.00000000 +P 1 + 1 0.122824 1.00000000 +P 1 + 1 0.051258 1.00000000 +D 1 + 1 0.647917 1.00000000 +D 1 + 1 0.338926 1.00000000 +D 1 + 1 0.177293 1.00000000 +D 1 + 1 0.092742 1.00000000 +F 1 + 1 0.718181 1.00000000 +F 1 + 1 0.355812 1.00000000 +F 1 + 1 0.176282 1.00000000 +G 1 + 1 0.710421 1.00000000 +G 1 + 1 0.329953 1.00000000 +H 1 + 1 0.597954 1.00000000 + +ARSENIC +S 9 + 1 50.230536 -0.00053800 + 2 22.441775 0.00366000 + 3 10.026436 -0.02399200 + 4 4.479567 0.15807600 + 5 2.001361 -0.41934600 + 6 0.894159 -0.10051900 + 7 0.399488 0.45002000 + 8 0.178482 0.60510400 + 9 0.079741 0.19000900 +P 9 + 1 22.695464 0.00032200 + 2 10.529662 -0.00312000 + 3 4.885284 0.02984900 + 4 2.266549 -0.12788200 + 5 1.051576 -0.00446100 + 6 0.487883 0.24866600 + 7 0.226356 0.45708300 + 8 0.105019 0.35148300 + 9 0.048724 0.09163600 +S 1 + 1 0.547920 1.00000000 +S 1 + 1 0.295142 1.00000000 +S 1 + 1 0.158980 1.00000000 +S 1 + 1 0.085636 1.00000000 +P 1 + 1 0.876022 1.00000000 +P 1 + 1 0.372655 1.00000000 +P 1 + 1 0.158526 1.00000000 +P 1 + 1 0.067436 1.00000000 +D 1 + 1 1.494090 1.00000000 +D 1 + 1 0.672936 1.00000000 +D 1 + 1 0.303089 1.00000000 +D 1 + 1 0.136511 1.00000000 +F 1 + 1 0.809189 1.00000000 +F 1 + 1 0.407052 1.00000000 +F 1 + 1 0.204762 1.00000000 +G 1 + 1 0.838980 1.00000000 +G 1 + 1 0.389390 1.00000000 +H 1 + 1 0.703049 1.00000000 + +SELENIUM +S 9 + 1 53.235856 -0.00017300 + 2 24.069480 0.00151800 + 3 10.882513 -0.01538400 + 4 4.920301 0.13681600 + 5 2.224611 -0.39461000 + 6 1.005811 -0.13955900 + 7 0.454757 0.50733100 + 8 0.205609 0.58687500 + 9 0.092962 0.17717000 +P 9 + 1 25.056177 -0.00015300 + 2 11.673683 0.00033200 + 3 5.438773 0.01417500 + 4 2.533927 -0.10389300 + 5 1.180557 -0.00813400 + 6 0.550022 0.28490400 + 7 0.256256 0.42743700 + 8 0.119390 0.33406600 + 9 0.055624 0.11234000 +S 1 + 1 0.672927 1.00000000 +S 1 + 1 0.356851 1.00000000 +S 1 + 1 0.189237 1.00000000 +S 1 + 1 0.100352 1.00000000 +P 1 + 1 0.941327 1.00000000 +P 1 + 1 0.395488 1.00000000 +P 1 + 1 0.166159 1.00000000 +P 1 + 1 0.069810 1.00000000 +D 1 + 1 1.544013 1.00000000 +D 1 + 1 0.723875 1.00000000 +D 1 + 1 0.339372 1.00000000 +D 1 + 1 0.159107 1.00000000 +F 1 + 1 0.901595 1.00000000 +F 1 + 1 0.447175 1.00000000 +F 1 + 1 0.221791 1.00000000 +G 1 + 1 0.894034 1.00000000 +G 1 + 1 0.399571 1.00000000 +H 1 + 1 0.742989 1.00000000 + +BROMINE +S 9 + 1 60.457695 -0.00045200 + 2 27.422852 0.00337200 + 3 12.438662 -0.02504500 + 4 5.642021 0.17010100 + 5 2.559150 -0.43099200 + 6 1.160798 -0.15435800 + 7 0.526524 0.52545800 + 8 0.238824 0.59273500 + 9 0.108328 0.16949000 +P 9 + 1 27.437987 0.00008700 + 2 12.887440 -0.00179700 + 3 6.053145 0.02715000 + 4 2.843122 -0.13414300 + 5 1.335395 -0.00623400 + 6 0.627226 0.30955100 + 7 0.294604 0.44028500 + 8 0.138374 0.31675000 + 9 0.064993 0.09253300 +S 1 + 1 0.717852 1.00000000 +S 1 + 1 0.387636 1.00000000 +S 1 + 1 0.209321 1.00000000 +S 1 + 1 0.113032 1.00000000 +P 1 + 1 1.077437 1.00000000 +P 1 + 1 0.464537 1.00000000 +P 1 + 1 0.200285 1.00000000 +P 1 + 1 0.086353 1.00000000 +D 1 + 1 2.131944 1.00000000 +D 1 + 1 0.965261 1.00000000 +D 1 + 1 0.437032 1.00000000 +D 1 + 1 0.197871 1.00000000 +F 1 + 1 1.053363 1.00000000 +F 1 + 1 0.531391 1.00000000 +F 1 + 1 0.268071 1.00000000 +G 1 + 1 1.023572 1.00000000 +G 1 + 1 0.454585 1.00000000 +H 1 + 1 0.837913 1.00000000 + +KRYPTON +S 9 + 1 59.995647 -0.00020300 + 2 27.757709 0.00179400 + 3 12.842438 -0.01925200 + 4 5.941709 0.17119400 + 5 2.749003 -0.47784700 + 6 1.271859 -0.11968600 + 7 0.588441 0.56843400 + 8 0.272249 0.56402800 + 9 0.125959 0.15760800 +P 9 + 1 24.020781 0.00010600 + 2 11.612963 -0.00089200 + 3 5.614344 0.02038000 + 4 2.714282 -0.15516000 + 5 1.312233 0.05764300 + 6 0.634405 0.35555900 + 7 0.306706 0.42666700 + 8 0.148279 0.27115100 + 9 0.071686 0.06768000 +S 1 + 1 0.799541 1.00000000 +S 1 + 1 0.459102 1.00000000 +S 1 + 1 0.263619 1.00000000 +S 1 + 1 0.151372 1.00000000 +P 1 + 1 1.290452 1.00000000 +P 1 + 1 0.557200 1.00000000 +P 1 + 1 0.240591 1.00000000 +P 1 + 1 0.103884 1.00000000 +D 1 + 1 2.309916 1.00000000 +D 1 + 1 1.071164 1.00000000 +D 1 + 1 0.496724 1.00000000 +D 1 + 1 0.230343 1.00000000 +F 1 + 1 1.241282 1.00000000 +F 1 + 1 0.651246 1.00000000 +F 1 + 1 0.341680 1.00000000 +G 1 + 1 1.169259 1.00000000 +G 1 + 1 0.522994 1.00000000 +H 1 + 1 0.965141 1.00000000 + diff --git a/data/basis/cc-pvdz_ecp_ccecp b/data/basis/cc-pvdz_ecp_ccecp new file mode 100644 index 00000000..cdf74139 --- /dev/null +++ b/data/basis/cc-pvdz_ecp_ccecp @@ -0,0 +1,1950 @@ +HELIUM +S 8 + 1 39.320931 0.01006570 + 2 17.174528 0.02487620 + 3 7.501461 0.05825370 + 4 3.276475 0.13445960 + 5 1.431093 0.24431180 + 6 0.625070 0.34250610 + 7 0.273017 0.28264700 + 8 0.119248 0.07392530 +S 1 + 1 0.320560 1.00000000 +P 1 + 1 1.272523 1.00000000 + +LITHIUM +S 10 + 1 16.001258 0.00004340 + 2 7.583113 -0.00075310 + 3 3.593693 -0.00025190 + 4 1.703077 0.01696740 + 5 0.807101 -0.09099210 + 6 0.382491 -0.08931550 + 7 0.181265 0.02941550 + 8 0.085903 0.36440200 + 9 0.040710 0.55049730 + 10 0.019293 0.17444120 +P 10 + 1 7.004881 -0.00053060 + 2 3.451199 0.00129490 + 3 1.700353 0.00701150 + 4 0.837738 0.01716040 + 5 0.412741 0.03672400 + 6 0.203351 0.09650420 + 7 0.100188 0.22110130 + 8 0.049361 0.38353580 + 9 0.024320 0.33505640 + 10 0.011982 0.07814530 +S 1 + 1 0.103721 1.00000000 +P 1 + 1 0.070391 1.00000000 +D 1 + 1 0.110720 1.00000000 + +BERYLLIUM +S 9 + 1 15.965877 0.00069000 + 2 7.367361 -0.00037700 + 3 3.399626 0.02406900 + 4 1.568738 -0.11198900 + 5 0.723885 -0.07644200 + 6 0.334032 0.13574400 + 7 0.154137 0.41851500 + 8 0.071126 0.46292400 + 9 0.032821 0.12826600 +P 9 + 1 16.554942 0.00034100 + 2 7.526050 0.00322800 + 3 3.421421 0.01766000 + 4 1.555414 0.03866400 + 5 0.707108 0.09863900 + 6 0.321458 0.23125900 + 7 0.146138 0.38710900 + 8 0.066436 0.33944800 + 9 0.030203 0.08910200 +S 1 + 1 0.213567 1.00000000 +P 1 + 1 0.261244 1.00000000 +D 1 + 1 0.227966 1.00000000 + +BORON +s 9 1.00 +1 11.76050 -0.0036757 +2 5.150520 0.0250517 +3 2.578276 -0.1249228 +4 1.290648 -0.0662874 +5 0.646080 0.1007341 +6 0.323418 0.3375492 +7 0.161898 0.4308431 +8 0.081044 0.2486558 +9 0.040569 0.0317295 +s 1 1.00 +1 0.082513 1.000000 +p 9 1.00 +1 7.470701 0.0047397 +2 3.735743 0.0376009 +3 1.868068 0.0510600 +4 0.934132 0.1456587 +5 0.467115 0.2237933 +6 0.233582 0.3199467 +7 0.116803 0.2850185 +8 0.058408 0.1448808 +9 0.029207 0.0176962 +p 1 1.00 +1 0.086803 1.000000 +d 1 1.00 +1 0.349879 1.000000 + +CARBON +s 9 1.00 +1 13.073594 0.0051583 +2 6.541187 0.0603424 +3 4.573411 -0.1978471 +4 1.637494 -0.0810340 +5 0.819297 0.2321726 +6 0.409924 0.2914643 +7 0.231300 0.4336405 +8 0.102619 0.2131940 +9 0.051344 0.0049848 +s 1 1.00 +1 0.127852 1.000000 +p 9 1.00 +1 9.934169 0.0209076 +2 3.886955 0.0572698 +3 1.871016 0.1122682 +4 0.935757 0.2130082 +5 0.468003 0.2835815 +6 0.239473 0.3011207 +7 0.117063 0.2016934 +8 0.058547 0.0453575 +9 0.029281 0.0029775 +p 1 1.00 +1 0.149161 1.000000 +d 1 1.00 +1 0.561160 1.000000 + +NITROGEN +S 9 +1 42.693822 -0.0009357 +2 19.963207 0.0063295 +3 9.3345971 0.0105038 +4 4.9278187 -0.1653735 +5 2.040920 -0.0005352 +6 0.967080 0.2452063 +7 0.476131 0.4582128 +8 0.211443 0.3641224 +9 0.098869 0.0620406 +S 1 +1 0.175123 1.0000000 +P 9 +1 18.925871 0.0073505 +2 9.225603 0.0292844 +3 4.581431 0.0652168 +4 2.300164 0.1405153 +5 1.154825 0.2328188 +6 0.582039 0.2989556 +7 0.290535 0.2802507 +8 0.145867 0.1527995 +9 0.073234 0.0355475 +P 1 +1 0.223042 1.0000000 +D 1 +1 0.832058 1.0000000 + +OXYGEN +S 9 +1 54.775216 -0.0012444 +2 25.616801 0.0107330 +3 11.980245 0.0018889 +4 6.992317 -0.1742537 +5 2.620277 0.0017622 +6 1.225429 0.3161846 +7 0.577797 0.4512023 +8 0.268022 0.3121534 +9 0.125346 0.0511167 +S 1 +1 0.258551 1.0000000 +P 9 +1 22.217266 0.0104866 +2 10.74755 0.0366435 +3 5.315785 0.0803674 +4 2.660761 0.1627010 +5 1.331816 0.2377791 +6 0.678626 0.2811422 +7 0.333673 0.2643189 +8 0.167017 0.1466014 +9 0.083598 0.0458145 +P 1 +1 0.267865 1.0000000 +D 1 +1 1.232753 1.0000000 + +FLUORINE +S 10 + 1 84.048652 -0.00000280 + 2 41.094617 -0.00035430 + 3 20.092738 0.01840880 + 4 9.824112 -0.12776610 + 5 4.803386 -0.07028720 + 6 2.348560 0.15716040 + 7 1.148301 0.37690120 + 8 0.561449 0.40951650 + 9 0.274514 0.19708930 + 10 0.134220 0.02434820 +P 10 + 1 31.642619 0.00296730 + 2 16.243233 0.02980490 + 3 8.338204 0.06694890 + 4 4.280284 0.13377900 + 5 2.197215 0.21483120 + 6 1.127906 0.26648620 + 7 0.578992 0.26189540 + 8 0.297216 0.19202170 + 9 0.152571 0.08284650 + 10 0.078320 0.01330460 +S 1 + 1 0.344569 1.00000000 +P 1 + 1 0.364831 1.00000000 +D 1 + 1 1.722479 1.00000000 + +NEON +S 10 + 1 89.999848 0.00003370 + 2 44.745732 -0.00055860 + 3 22.246488 0.01858840 + 4 11.060411 -0.12689730 + 5 5.498967 -0.04853020 + 6 2.733953 0.17891780 + 7 1.359255 0.37701020 + 8 0.675788 0.39006930 + 9 0.335985 0.18553010 + 10 0.167044 0.02494380 +P 10 + 1 40.001333 0.00364740 + 2 20.592442 0.03301820 + 3 10.600863 0.06814330 + 4 5.457260 0.13511940 + 5 2.809364 0.21484190 + 6 1.446244 0.26495200 + 7 0.744517 0.25843380 + 8 0.383273 0.19042960 + 9 0.197307 0.08474940 + 10 0.101572 0.01542050 +S 1 + 1 0.455383 1.00000000 +P 1 + 1 0.472224 1.00000000 +D 1 + 1 2.371533 1.00000000 + +ALUMINUM +S 10 + 1 8.257944 0.003287 + 2 4.514245 -0.017168 + 3 2.467734 0.069766 + 4 1.348998 -0.183475 + 5 0.737436 -0.147133 + 6 0.403123 0.046882 + 7 0.220369 0.308423 + 8 0.120466 0.451564 + 9 0.065853 0.302904 + 10 0.035999 0.079545 +S 1 + 1 0.236926 1.000000 +P 10 + 1 1.570603 -0.002645 + 2 0.977752 -0.037850 + 3 0.608683 0.006636 + 4 0.378925 0.089291 + 5 0.235893 0.134421 + 6 0.146851 0.256105 + 7 0.091420 0.238970 + 8 0.056912 0.260677 + 9 0.035429 0.112350 + 10 0.022056 0.052665 +P 1 + 1 0.202698 1.000000 +D 1 + 1 0.192882 1.000000 + +SILICON +S 10 + 1 9.998274 0.002894 + 2 5.517644 -0.014523 + 3 3.044965 0.077634 + 4 1.680393 -0.224022 + 5 0.927341 -0.149080 + 6 0.511762 0.085944 + 7 0.282421 0.355394 + 8 0.155857 0.445219 + 9 0.086011 0.267230 + 10 0.047466 0.060787 +S 1 + 1 0.325961 1.000000 +P 10 + 1 5.027868 -0.003242 + 2 2.867751 0.010649 + 3 1.635683 -0.049761 + 4 0.932947 -0.000017 + 5 0.532126 0.106060 + 6 0.303509 0.236202 + 7 0.173113 0.310665 + 8 0.098739 0.294696 + 9 0.056318 0.153898 + 10 0.032122 0.042337 +P 1 + 1 0.289072 1.000000 +D 1 + 1 0.281966 1.000000 + +PHOSPHORUS +S 10 + 1 5.054268 0.001781 + 2 3.094719 0.077653 + 3 1.894891 -0.312344 + 4 1.160239 -0.045804 + 5 0.710412 -0.029427 + 6 0.434984 0.318560 + 7 0.266340 0.309169 + 8 0.163080 0.376899 + 9 0.099853 0.152113 + 10 0.061140 0.054943 +S 1 + 1 0.423189 1.000000 +P 10 + 1 5.861284 -0.003160 + 2 3.406365 0.007462 + 3 1.979655 -0.060893 + 4 1.150503 0.015297 + 5 0.668631 0.123431 + 6 0.388584 0.257276 + 7 0.225831 0.305131 + 8 0.131245 0.276016 + 9 0.076275 0.134133 + 10 0.044328 0.040073 +P 1 + 1 0.392030 1.000000 +D 1 + 1 0.386250 1.000000 + +SULFUR +S 10 + 1 14.052570 0.002102 + 2 7.864913 -0.011042 + 3 4.401818 0.086618 + 4 2.463600 -0.271004 + 5 1.378823 -0.151274 + 6 0.771696 0.136044 + 7 0.431901 0.394360 + 8 0.241726 0.432098 + 9 0.135289 0.230974 + 10 0.075718 0.051205 +S 1 + 1 0.529726 1.000000 +P 10 + 1 6.808844 -0.003573 + 2 3.941560 0.001903 + 3 2.281723 -0.065016 + 4 1.320863 0.042305 + 5 0.764632 0.158772 + 6 0.442637 0.278172 + 7 0.256237 0.293821 + 8 0.148333 0.248015 + 9 0.085868 0.114905 + 10 0.049708 0.032934 +P 1 + 1 0.497174 1.000000 +D 1 + 1 0.499639 1.000000 + +CHLORINE +S 10 + 1 15.583847 0.002501 + 2 8.858485 -0.010046 + 3 5.035519 0.085810 + 4 2.862391 -0.290136 + 5 1.627098 -0.140314 + 6 0.924908 0.146839 + 7 0.525755 0.392484 + 8 0.298860 0.425061 + 9 0.169884 0.227195 + 10 0.096569 0.059828 +S 1 + 1 0.648040 1.000000 +P 10 + 1 7.682894 -0.004609 + 2 4.507558 -0.001798 + 3 2.644587 -0.068614 + 4 1.551581 0.062352 + 5 0.910313 0.166337 + 6 0.534081 0.282292 + 7 0.313346 0.275967 + 8 0.183840 0.241328 + 9 0.107859 0.110223 + 10 0.063281 0.040289 +P 1 + 1 0.633351 1.000000 +D 1 + 1 0.633222 1.000000 + +ARGON +S 10 + 1 17.798602 0.000155 + 2 10.185798 0.002011 + 3 5.829136 0.072819 + 4 3.335903 -0.297567 + 5 1.909073 -0.143663 + 6 1.092526 0.157775 + 7 0.625231 0.391895 + 8 0.357808 0.424724 + 9 0.204767 0.223240 + 10 0.117184 0.063299 +S 1 + 1 0.777098 1.000000 +P 10 + 1 7.610920 -0.008071 + 2 4.581784 -0.012332 + 3 2.758240 -0.061298 + 4 1.660464 0.101944 + 5 0.999601 0.172497 + 6 0.601761 0.288747 + 7 0.362261 0.247918 + 8 0.218082 0.231893 + 9 0.131285 0.095994 + 10 0.079034 0.046211 +P 1 + 1 0.784009 1.000000 +D 1 + 1 0.785910 1.000000 + + + + + + + + + + + + + + + + + + + + + + +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 +S 1 + 1 0.051786 1.00000000 +S 1 + 1 0.019252 1.00000000 +P 1 + 1 0.027763 1.00000000 +P 1 + 1 0.012100 1.00000000 +D 1 + 1 0.013386 1.00000000 + +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 0.066369 1.00000000 +S 1 + 1 0.026432 1.00000000 +P 1 + 1 0.076223 1.00000000 +P 1 + 1 0.027633 1.00000000 +D 1 + 1 0.050522 1.00000000 + +SCANDIUM +S 13 + 1 66.882574 0.00055300 + 2 33.776681 -0.00511500 + 3 18.185884 0.00416100 + 4 11.748619 0.12160300 + 5 6.895190 -0.27013700 + 6 3.222124 -0.32441000 + 7 1.772120 0.29116200 + 8 0.841163 0.62893100 + 9 0.471976 0.27340600 + 10 0.313224 0.13535200 + 11 0.101013 0.00804100 + 12 0.049071 -0.00261000 + 13 0.022782 0.00059700 +S 13 + 1 66.882574 -0.00013900 + 2 33.776681 0.00134500 + 3 18.185884 -0.00144500 + 4 11.748619 -0.03208200 + 5 6.895190 0.07550600 + 6 3.222124 0.08992700 + 7 1.772120 -0.09008600 + 8 0.841163 -0.21644400 + 9 0.471976 -0.17925000 + 10 0.313224 -0.12816000 + 11 0.101013 0.33793500 + 12 0.049071 0.60918100 + 13 0.022782 0.24418100 +S 13 + 1 66.882574 -0.00067900 + 2 33.776681 0.00545600 + 3 18.185884 -0.01668400 + 4 11.748619 -0.03173900 + 5 6.895190 0.10956000 + 6 3.222124 0.23329300 + 7 1.772120 -0.31020700 + 8 0.841163 -0.24508300 + 9 0.471976 -1.17524800 + 10 0.313224 1.03235900 + 11 0.101013 1.59903900 + 12 0.049071 -0.62399000 + 13 0.022782 -0.84749800 +S 1 + 1 0.022782 1.00000000 +P 13 + 1 77.690832 0.00008800 + 2 39.751864 -0.00075400 + 3 20.615633 0.00658400 + 4 11.537150 -0.00718900 + 5 7.597186 -0.06890300 + 6 3.765117 -0.01384200 + 7 2.051006 0.24870400 + 8 1.048648 0.43432800 + 9 0.550231 0.32690600 + 10 0.303840 0.10461700 + 11 0.165809 0.01851200 + 12 0.060419 0.00139500 + 13 0.024751 0.00009300 +P 13 + 1 77.690832 0.00001700 + 2 39.751864 -0.00002600 + 3 20.615633 -0.00086100 + 4 11.537150 -0.00048300 + 5 7.597186 0.02136400 + 6 3.765117 -0.00370600 + 7 2.051006 -0.05871800 + 8 1.048648 -0.14336400 + 9 0.550231 -0.07728000 + 10 0.303840 -0.10776400 + 11 0.165809 0.32285900 + 12 0.060419 0.62172600 + 13 0.024751 0.25378700 +P 13 + 1 77.690832 -0.00006300 + 2 39.751864 0.00054900 + 3 20.615633 -0.00512000 + 4 11.537150 0.00701100 + 5 7.597186 0.05366100 + 6 3.765117 0.00357400 + 7 2.051006 -0.23586100 + 8 1.048648 -0.49480100 + 9 0.550231 -0.22957500 + 10 0.303840 0.91797300 + 11 0.165809 0.62115500 + 12 0.060419 -0.82464800 + 13 0.024751 -0.15759200 +P 1 + 1 0.024751 1.00000000 +D 11 + 1 60.996829 0.00005600 + 2 22.097637 0.00505400 + 3 10.186744 0.03222300 + 4 4.633892 0.08247900 + 5 2.146927 0.15936300 + 6 1.014536 0.22860400 + 7 0.487206 0.24369100 + 8 0.248191 0.23165100 + 9 0.131273 0.19543100 + 10 0.063714 0.21458900 + 11 0.021542 0.07411300 +D 11 + 1 60.996829 -0.00007200 + 2 22.097637 -0.00607900 + 3 10.186744 -0.03905400 + 4 4.633892 -0.10065200 + 5 2.146927 -0.19433000 + 6 1.014536 -0.25355600 + 7 0.487206 -0.21355600 + 8 0.248191 0.05418200 + 9 0.131273 0.26118800 + 10 0.063714 0.52021500 + 11 0.021542 0.16690700 +D 1 + 1 0.021542 1.00000000 +F 1 + 1 0.280673 1.00000000 + +TITANIUM +S 13 + 1 68.910511 0.00061600 + 2 33.720700 -0.00750100 + 3 18.159676 0.01221800 + 4 12.419305 0.14473900 + 5 7.532195 -0.32862100 + 6 3.504444 -0.31751700 + 7 1.910727 0.35742200 + 8 0.888840 0.67140600 + 9 0.447198 0.28222600 + 10 0.281192 0.03867300 + 11 0.100258 0.00455900 + 12 0.046525 -0.00156500 + 13 0.021840 0.00039800 +S 13 + 1 68.910511 -0.00015600 + 2 33.720700 0.00196600 + 3 18.159676 -0.00399400 + 4 12.419305 -0.03637700 + 5 7.532195 0.08859300 + 6 3.504444 0.08563000 + 7 1.910727 -0.10599300 + 8 0.888840 -0.23742100 + 9 0.447198 -0.23535900 + 10 0.281192 -0.01296000 + 11 0.100258 0.43358200 + 12 0.046525 0.57787300 + 13 0.021840 0.16436000 +S 13 + 1 68.910511 0.00063500 + 2 33.720700 -0.00646800 + 3 18.159676 0.02344400 + 4 12.419305 0.03892100 + 5 7.532195 -0.14118000 + 6 3.504444 -0.21476500 + 7 1.910727 0.32015100 + 8 0.888840 0.45106200 + 9 0.447198 0.85519100 + 10 0.281192 -1.20922400 + 11 0.100258 -1.31948100 + 12 0.046525 0.86651700 + 13 0.021840 0.61891600 +S 1 + 1 0.021840 1.00000000 +P 13 + 1 84.914002 0.00009300 + 2 42.855051 -0.00083600 + 3 21.700131 0.00867900 + 4 12.214690 -0.01117800 + 5 8.319164 -0.07776700 + 6 4.091071 -0.00611300 + 7 2.286543 0.27182800 + 8 1.159810 0.45958500 + 9 0.591343 0.31590000 + 10 0.312862 0.07168300 + 11 0.184828 0.01054100 + 12 0.068590 0.00004500 + 13 0.026791 -0.00083700 +P 13 + 1 84.914002 0.00002000 + 2 42.855051 -0.00004900 + 3 21.700131 -0.00076100 + 4 12.214690 -0.00057500 + 5 8.319164 0.01828400 + 6 4.091071 -0.00594300 + 7 2.286543 -0.04321200 + 8 1.159810 -0.11251300 + 9 0.591343 -0.05207300 + 10 0.312862 -0.09226300 + 11 0.184828 0.24394600 + 12 0.068590 0.41310100 + 13 0.026791 0.54398500 +P 13 + 1 84.914002 0.00001900 + 2 42.855051 0.00013800 + 3 21.700131 -0.00462200 + 4 12.214690 0.00446500 + 5 8.319164 0.06576000 + 6 4.091071 -0.01892700 + 7 2.286543 -0.22252400 + 8 1.159810 -0.52389000 + 9 0.591343 -0.07127700 + 10 0.312862 0.81271200 + 11 0.184828 0.62549800 + 12 0.068590 -0.81218900 + 13 0.026791 -0.18579600 +P 1 + 1 0.026791 1.00000000 +D 11 + 1 77.434559 0.00002200 + 2 27.708477 0.00421800 + 3 12.914284 0.03008700 + 4 6.062674 0.08482100 + 5 2.863898 0.17111000 + 6 1.386559 0.24745100 + 7 0.677058 0.27731000 + 8 0.329864 0.26107700 + 9 0.159474 0.19033600 + 10 0.076174 0.11938500 + 11 0.028570 0.03129700 +D 11 + 1 77.434559 -0.00002500 + 2 27.708477 -0.00431100 + 3 12.914284 -0.03091300 + 4 6.062674 -0.08804900 + 5 2.863898 -0.17833000 + 6 1.386559 -0.23433500 + 7 0.677058 -0.19577500 + 8 0.329864 0.06587200 + 9 0.159474 0.33053600 + 10 0.076174 0.46122900 + 11 0.028570 0.18427300 +D 1 + 1 0.028570 1.00000000 +F 1 + 1 0.499717 1.00000000 + +VANADIUM +S 13 + 1 68.577621 0.00080400 + 2 34.937147 -0.01159400 + 3 17.939491 0.09220900 + 4 11.262123 -0.04547700 + 5 6.776264 -0.28798300 + 6 3.524091 -0.21764800 + 7 1.938421 0.40750900 + 8 0.927153 0.65819300 + 9 0.448420 0.25523400 + 10 0.209668 0.00862000 + 11 0.103660 0.00273400 + 12 0.050630 -0.00116100 + 13 0.024201 0.00029400 +S 13 + 1 68.577621 -0.00017700 + 2 34.937147 0.00279100 + 3 17.939491 -0.02365000 + 4 11.262123 0.01250400 + 5 6.776264 0.07876100 + 6 3.524091 0.05497400 + 7 1.938421 -0.11895500 + 8 0.927153 -0.24534100 + 9 0.448420 -0.22295900 + 10 0.209668 0.04780900 + 11 0.103660 0.41537400 + 12 0.050630 0.54088000 + 13 0.024201 0.18342100 +S 13 + 1 68.577621 -0.00058300 + 2 34.937147 0.00957000 + 3 17.939491 -0.08560600 + 4 11.262123 0.04842600 + 5 6.776264 0.33123900 + 6 3.524091 0.14035200 + 7 1.938421 -0.90796200 + 8 0.927153 -0.50387800 + 9 0.448420 0.39893800 + 10 0.209668 0.97113100 + 11 0.103660 0.42399900 + 12 0.050630 -0.62864600 + 13 0.024201 -0.46749500 +S 1 + 1 0.024201 1.00000000 +P 13 + 1 96.215967 0.00006900 + 2 49.579340 -0.00067200 + 3 25.638009 0.00819900 + 4 14.025942 -0.02710800 + 5 8.740334 -0.05302100 + 6 4.634840 0.00500200 + 7 2.553374 0.26198600 + 8 1.321166 0.43354400 + 9 0.681285 0.32494700 + 10 0.349458 0.09234200 + 11 0.172773 0.00896400 + 12 0.063300 0.00118500 + 13 0.033969 0.00010400 +P 13 + 1 96.215967 0.00004000 + 2 49.579340 -0.00013300 + 3 25.638009 -0.00095500 + 4 14.025942 0.00371900 + 5 8.740334 0.01886600 + 6 4.634840 -0.01207400 + 7 2.553374 -0.05710700 + 8 1.321166 -0.14643300 + 9 0.681285 -0.06736500 + 10 0.349458 -0.06825400 + 11 0.172773 0.40310300 + 12 0.063300 0.50266800 + 13 0.033969 0.26129100 +P 13 + 1 96.215967 -0.00005300 + 2 49.579340 0.00002300 + 3 25.638009 0.00462900 + 4 14.025942 -0.00775500 + 5 8.740334 -0.10413300 + 6 4.634840 -0.01776200 + 7 2.553374 0.72821200 + 8 1.321166 0.21882600 + 9 0.681285 -0.49322300 + 10 0.349458 -0.83819200 + 11 0.172773 0.39840100 + 12 0.063300 0.66458900 + 13 0.033969 0.03301100 +P 1 + 1 0.033969 1.00000000 +D 11 + 1 89.989649 0.00005100 + 2 33.132961 0.00480400 + 3 15.879656 0.02948500 + 4 7.465803 0.08624900 + 5 3.551993 0.17972800 + 6 1.728185 0.26185000 + 7 0.850498 0.29179400 + 8 0.417673 0.25935600 + 9 0.201523 0.17494400 + 10 0.100711 0.06227800 + 11 0.058959 0.02765300 +D 11 + 1 89.989649 -0.00003800 + 2 33.132961 -0.00459000 + 3 15.879656 -0.02756300 + 4 7.465803 -0.08277500 + 5 3.551993 -0.17349400 + 6 1.728185 -0.23618800 + 7 0.850498 -0.14922600 + 8 0.417673 0.04414500 + 9 0.201523 0.39050000 + 10 0.100711 0.20306400 + 11 0.058959 0.39800200 +D 1 + 1 0.058959 1.00000000 +F 1 + 1 1.138450 1.00000000 + +CHROMIUM +S 13 + 1 73.977737 0.00086400 + 2 37.684349 -0.01159500 + 3 19.278723 0.09046700 + 4 12.130763 -0.02483700 + 5 7.453002 -0.33040700 + 6 3.756296 -0.20059800 + 7 2.084137 0.44976600 + 8 0.993314 0.64757500 + 9 0.483094 0.22902500 + 10 0.225854 0.00921700 + 11 0.115338 0.00113200 + 12 0.052134 -0.00036700 + 13 0.023679 0.00009200 +S 13 + 1 73.977737 -0.00018300 + 2 37.684349 0.00270400 + 3 19.278723 -0.02265000 + 4 12.130763 0.00718100 + 5 7.453002 0.08770500 + 6 3.756296 0.04761600 + 7 2.084137 -0.12567200 + 8 0.993314 -0.24457100 + 9 0.483094 -0.19841900 + 10 0.225854 0.03088900 + 11 0.115338 0.42393500 + 12 0.052134 0.57694100 + 13 0.023679 0.14832300 +S 13 + 1 73.977737 -0.00032700 + 2 37.684349 0.00530900 + 3 19.278723 -0.04690500 + 4 12.130763 0.01541100 + 5 7.453002 0.19169700 + 6 3.756296 0.09975900 + 7 2.084137 -0.33899400 + 8 0.993314 -0.69580600 + 9 0.483094 -0.00731500 + 10 0.225854 1.11859900 + 11 0.115338 0.71725700 + 12 0.052134 -0.86856500 + 13 0.023679 -0.46718600 +S 1 + 1 0.023679 1.00000000 +P 13 + 1 101.951240 0.00008800 + 2 52.309865 -0.00074700 + 3 27.142574 0.00713500 + 4 15.066862 -0.01470200 + 5 9.693669 -0.07335300 + 6 4.985710 0.01200700 + 7 2.761266 0.28311700 + 8 1.417673 0.44078600 + 9 0.728201 0.30677500 + 10 0.378189 0.08180400 + 11 0.189359 0.00883900 + 12 0.072301 0.00102200 + 13 0.037471 0.00032500 +P 13 + 1 101.951240 0.00002800 + 2 52.309865 -0.00008500 + 3 27.142574 -0.00075100 + 4 15.066862 0.00084400 + 5 9.693669 0.02265600 + 6 4.985710 -0.01278100 + 7 2.761266 -0.06238600 + 8 1.417673 -0.14358100 + 9 0.728201 -0.06228100 + 10 0.378189 -0.05447100 + 11 0.189359 0.37713500 + 12 0.072301 0.47163300 + 13 0.037471 0.31162400 +P 13 + 1 101.951240 -0.00013700 + 2 52.309865 0.00093200 + 3 27.142574 -0.00684500 + 4 15.066862 0.01983100 + 5 9.693669 0.04364700 + 6 4.985710 -0.01928900 + 7 2.761266 -0.28118700 + 8 1.417673 -0.37029800 + 9 0.728201 -0.19987300 + 10 0.378189 1.02855200 + 11 0.189359 0.42371100 + 12 0.072301 -0.80092600 + 13 0.037471 -0.14191000 +P 1 + 1 0.037471 1.00000000 +D 11 + 1 120.683729 -0.00000600 + 2 42.646591 0.00311100 + 3 21.154405 0.02864100 + 4 9.708242 0.07622200 + 5 4.614990 0.17059500 + 6 2.243726 0.26690800 + 7 1.086491 0.31103900 + 8 0.524700 0.26731200 + 9 0.255752 0.16333600 + 10 0.121497 0.06278200 + 11 0.054339 0.00787200 +D 11 + 1 120.683729 0.00001700 + 2 42.646591 -0.00357600 + 3 21.154405 -0.03147600 + 4 9.708242 -0.08758300 + 5 4.614990 -0.19574000 + 6 2.243726 -0.27013200 + 7 1.086491 -0.17003400 + 8 0.524700 0.14341200 + 9 0.255752 0.40868700 + 10 0.121497 0.37025700 + 11 0.054339 0.12311200 +D 1 + 1 0.054339 1.00000000 +F 1 + 1 1.112997 1.00000000 + +MANGANESE +S 13 + 1 76.008334 0.00099300 + 2 39.277974 -0.01479600 + 3 20.405805 0.12071000 + 4 12.218680 -0.12400100 + 5 7.182690 -0.32020000 + 6 3.850780 -0.10562200 + 7 2.142489 0.47272100 + 8 1.049631 0.62038700 + 9 0.508682 0.20455300 + 10 0.192243 0.00592400 + 11 0.108899 -0.00009700 + 12 0.053425 -0.00018500 + 13 0.025236 0.00006100 +S 13 + 1 76.008334 -0.00019900 + 2 39.277974 0.00335200 + 3 20.405805 -0.02941300 + 4 12.218680 0.03209100 + 5 7.182690 0.08315200 + 6 3.850780 0.02128300 + 7 2.142489 -0.12998900 + 8 1.049631 -0.23900600 + 9 0.508682 -0.18031500 + 10 0.192243 0.11014800 + 11 0.108899 0.40442600 + 12 0.053425 0.51730700 + 13 0.025236 0.14813900 +S 13 + 1 76.008334 -0.00009100 + 2 39.277974 0.00537400 + 3 20.405805 -0.05849400 + 4 12.218680 0.05634500 + 5 7.182690 0.22787400 + 6 3.850780 -0.00842000 + 7 2.142489 -0.32077700 + 8 1.049631 -0.81313700 + 9 0.508682 0.32647500 + 10 0.192243 1.44754000 + 11 0.108899 0.02132100 + 12 0.053425 -0.67832300 + 13 0.025236 -0.45282800 +S 1 + 1 0.025236 1.00000000 +P 13 + 1 113.479709 0.00010300 + 2 58.160819 -0.00089400 + 3 30.043076 0.00884400 + 4 16.753323 -0.01968500 + 5 10.705604 -0.06919000 + 6 5.557903 0.01150800 + 7 3.080151 0.28231300 + 8 1.582963 0.43867800 + 9 0.810922 0.30984300 + 10 0.413396 0.08394500 + 11 0.195480 0.00751700 + 12 0.072688 0.00110000 + 13 0.035877 0.00029000 +P 13 + 1 113.479709 0.00001900 + 2 58.160819 -0.00002400 + 3 30.043076 -0.00122400 + 4 16.753323 0.00232000 + 5 10.705604 0.02075800 + 6 5.557903 -0.01157200 + 7 3.080151 -0.06291900 + 8 1.582963 -0.13675400 + 9 0.810922 -0.06729500 + 10 0.413396 -0.03102400 + 11 0.195480 0.37898100 + 12 0.072688 0.50782400 + 13 0.035877 0.26094100 +P 13 + 1 113.479709 -0.00019700 + 2 58.160819 0.00135400 + 3 30.043076 -0.01010200 + 4 16.753323 0.03060300 + 5 10.705604 0.04620000 + 6 5.557903 -0.01758800 + 7 3.080151 -0.39592000 + 8 1.582963 -0.41909300 + 9 0.810922 0.07501700 + 10 0.413396 1.09298600 + 11 0.195480 0.00868000 + 12 0.072688 -0.75636900 + 13 0.035877 -0.04514900 +P 1 + 1 0.035877 1.00000000 +D 11 + 1 132.688182 0.00003000 + 2 45.266024 0.00529400 + 3 23.267336 0.02914300 + 4 10.605694 0.07677500 + 5 5.074684 0.16855100 + 6 2.469857 0.25683200 + 7 1.205883 0.28989100 + 8 0.590569 0.25715400 + 9 0.292055 0.18172600 + 10 0.149190 0.08998600 + 11 0.076511 0.03459500 +D 11 + 1 132.688182 -0.00002100 + 2 45.266024 -0.00544900 + 3 23.267336 -0.02903200 + 4 10.605694 -0.07982500 + 5 5.074684 -0.17441500 + 6 2.469857 -0.25340400 + 7 1.205883 -0.17430500 + 8 0.590569 0.04508100 + 9 0.292055 0.34576000 + 10 0.149190 0.26372500 + 11 0.076511 0.37171500 +D 1 + 1 0.076511 1.00000000 +F 1 + 1 1.357898 1.00000000 + +IRON +S 13 + 1 84.322332 0.00078500 + 2 44.203528 -0.01278100 + 3 23.288963 0.10463500 + 4 13.385163 -0.11938500 + 5 7.518052 -0.33980400 + 6 4.101835 -0.04999400 + 7 2.253571 0.47695500 + 8 1.134924 0.59322200 + 9 0.561550 0.20015100 + 10 0.201961 0.00859100 + 11 0.108698 -0.00218800 + 12 0.053619 0.00067700 + 13 0.025823 -0.00014400 +S 13 + 1 84.322332 -0.00016200 + 2 44.203528 0.00292100 + 3 23.288963 -0.02546600 + 4 13.385163 0.03118200 + 5 7.518052 0.08684900 + 6 4.101835 0.00684600 + 7 2.253571 -0.13185600 + 8 1.134924 -0.22774600 + 9 0.561550 -0.17307900 + 10 0.201961 0.13614200 + 11 0.108698 0.43401300 + 12 0.053619 0.47755500 + 13 0.025823 0.12880400 +S 13 + 1 84.322332 0.00000200 + 2 44.203528 0.00410300 + 3 23.288963 -0.04684000 + 4 13.385163 0.05283300 + 5 7.518052 0.21809400 + 6 4.101835 -0.04499900 + 7 2.253571 -0.28738600 + 8 1.134924 -0.71322000 + 9 0.561550 0.24917400 + 10 0.201961 1.29987200 + 11 0.108698 0.19211900 + 12 0.053619 -0.65861600 + 13 0.025823 -0.52104700 +S 1 + 1 0.025823 1.00000000 +P 13 + 1 125.092775 0.00005600 + 2 65.211589 -0.00057200 + 3 34.437599 0.00738800 + 4 18.930704 -0.02848100 + 5 10.873415 -0.06300500 + 6 6.012172 0.02485500 + 7 3.372205 0.27747400 + 8 1.768641 0.42538600 + 9 0.914516 0.31414500 + 10 0.460895 0.09042200 + 11 0.204490 0.00697700 + 12 0.074741 0.00115400 + 13 0.035671 0.00030300 +P 13 + 1 125.092775 0.00002500 + 2 65.211589 -0.00007000 + 3 34.437599 -0.00104200 + 4 18.930704 0.00512700 + 5 10.873415 0.01840400 + 6 6.012172 -0.01469200 + 7 3.372205 -0.06130700 + 8 1.768641 -0.12863800 + 9 0.914516 -0.07063700 + 10 0.460895 -0.01631400 + 11 0.204490 0.38070200 + 12 0.074741 0.52307100 + 13 0.035671 0.23576500 +P 13 + 1 125.092775 -0.00019700 + 2 65.211589 0.00125100 + 3 34.437599 -0.00915400 + 4 18.930704 0.03820100 + 5 10.873415 0.04309700 + 6 6.012172 -0.02947500 + 7 3.372205 -0.42699600 + 8 1.768641 -0.39484000 + 9 0.914516 0.07723000 + 10 0.460895 1.11988100 + 11 0.204490 -0.06649400 + 12 0.074741 -0.72158300 + 13 0.035671 -0.00569500 +P 1 + 1 0.035671 1.00000000 +D 11 + 1 152.736742 0.00002900 + 2 50.772485 0.00523800 + 3 26.253589 0.02932500 + 4 12.137022 0.07490100 + 5 5.853719 0.16341100 + 6 2.856224 0.25105700 + 7 1.386132 0.28760300 + 8 0.670802 0.25186200 + 9 0.330280 0.18673600 + 10 0.170907 0.09357000 + 11 0.086794 0.07381100 +D 11 + 1 152.736742 -0.00002600 + 2 50.772485 -0.00632900 + 3 26.253589 -0.03439800 + 4 12.137022 -0.09176500 + 5 5.853719 -0.20159200 + 6 2.856224 -0.28393000 + 7 1.386132 -0.16198100 + 8 0.670802 0.12882200 + 9 0.330280 0.36016000 + 10 0.170907 0.27759200 + 11 0.086794 0.26140300 +D 1 + 1 0.086794 1.00000000 +F 1 + 1 1.696126 1.00000000 + +COBALT +S 13 + 1 90.663831 0.00077400 + 2 46.961414 -0.01131600 + 3 24.110274 0.10120900 + 4 14.430881 -0.08164200 + 5 8.757423 -0.35481200 + 6 4.484459 -0.09036200 + 7 2.519739 0.49817400 + 8 1.236850 0.60412300 + 9 0.601882 0.19077500 + 10 0.223338 0.00657800 + 11 0.123422 -0.00090500 + 12 0.059941 0.00017100 + 13 0.027978 -0.00002500 +S 13 + 1 90.663831 -0.00015400 + 2 46.961414 0.00252500 + 3 24.110274 -0.02444300 + 4 14.430881 0.02220000 + 5 8.757423 0.08841600 + 6 4.484459 0.01682000 + 7 2.519739 -0.13458200 + 8 1.236850 -0.23129500 + 9 0.601882 -0.16398600 + 10 0.223338 0.12133700 + 11 0.123422 0.40241400 + 12 0.059941 0.50611300 + 13 0.027978 0.14543600 +S 13 + 1 90.663831 -0.00004700 + 2 46.961414 0.00365400 + 3 24.110274 -0.04613200 + 4 14.430881 0.03648300 + 5 8.757423 0.21726500 + 6 4.484459 -0.01188300 + 7 2.519739 -0.32468800 + 8 1.236850 -0.68058100 + 9 0.601882 0.25693600 + 10 0.223338 1.22400500 + 11 0.123422 0.23683700 + 12 0.059941 -0.60406400 + 13 0.027978 -0.57494700 +S 1 + 1 0.027978 1.00000000 +P 13 + 1 139.038145 0.00007500 + 2 71.928971 -0.00062700 + 3 37.806311 0.00571900 + 4 21.054252 -0.00931000 + 5 12.973193 -0.08385700 + 6 6.791461 0.01239400 + 7 3.794018 0.28198700 + 8 1.960649 0.43417900 + 9 1.006283 0.31340900 + 10 0.509539 0.08977800 + 11 0.233091 0.00740500 + 12 0.083890 0.00098000 + 13 0.039802 0.00027400 +P 13 + 1 139.038145 0.00002500 + 2 71.928971 -0.00008400 + 3 37.806311 -0.00048500 + 4 21.054252 0.00009500 + 5 12.973193 0.02240200 + 6 6.791461 -0.01153400 + 7 3.794018 -0.05686600 + 8 1.960649 -0.12607000 + 9 1.006283 -0.06088900 + 10 0.509539 -0.03508600 + 11 0.233091 0.35184700 + 12 0.083890 0.51044900 + 13 0.039802 0.28970700 +P 13 + 1 139.038145 -0.00023800 + 2 71.928971 0.00148900 + 3 37.806311 -0.00872300 + 4 21.054252 0.02453800 + 5 12.973193 0.06085600 + 6 6.791461 -0.02038000 + 7 3.794018 -0.43019500 + 8 1.960649 -0.40769200 + 9 1.006283 0.08532600 + 10 0.509539 1.07332600 + 11 0.233091 0.01506700 + 12 0.083890 -0.71963100 + 13 0.039802 -0.02460300 +P 1 + 1 0.039802 1.00000000 +D 11 + 1 160.444504 0.00003400 + 2 52.598830 0.00655300 + 3 27.491581 0.03618500 + 4 12.745988 0.08302600 + 5 6.184310 0.17696000 + 6 3.029146 0.26399000 + 7 1.474099 0.29244700 + 8 0.714391 0.24959700 + 9 0.348520 0.17163700 + 10 0.174166 0.08064900 + 11 0.087891 0.04121200 +D 11 + 1 160.444504 -0.00003100 + 2 52.598830 -0.00786900 + 3 27.491581 -0.04199200 + 4 12.745988 -0.10138800 + 5 6.184310 -0.21699600 + 6 3.029146 -0.28396200 + 7 1.474099 -0.12717900 + 8 0.714391 0.17712500 + 9 0.348520 0.37559600 + 10 0.174166 0.28463100 + 11 0.087891 0.20027700 +D 1 + 1 0.087891 1.00000000 +F 1 + 1 2.012568 1.00000000 + +NICKEL +S 13 + 1 97.161835 0.00070900 + 2 51.187866 -0.01239900 + 3 26.996725 0.10722000 + 4 15.523536 -0.12455600 + 5 8.916168 -0.35102300 + 6 4.795806 -0.02575800 + 7 2.619926 0.49894800 + 8 1.330111 0.56898600 + 9 0.668901 0.19112100 + 10 0.230439 0.01027800 + 11 0.121518 -0.00362700 + 12 0.057951 0.00129500 + 13 0.027201 -0.00030700 +S 13 + 1 97.161835 -0.00014000 + 2 51.187866 0.00275600 + 3 26.996725 -0.02548200 + 4 15.523536 0.03218200 + 5 8.916168 0.08622600 + 6 4.795806 0.00110400 + 7 2.619926 -0.13579000 + 8 1.330111 -0.21572400 + 9 0.668901 -0.15836700 + 10 0.230439 0.14349900 + 11 0.121518 0.44367200 + 12 0.057951 0.47255800 + 13 0.027201 0.11017300 +S 13 + 1 97.161835 0.00012100 + 2 51.187866 0.00332200 + 3 26.996725 -0.04578500 + 4 15.523536 0.05341500 + 5 8.916168 0.22227000 + 6 4.795806 -0.07306500 + 7 2.619926 -0.29399800 + 8 1.330111 -0.66893800 + 9 0.668901 0.29750400 + 10 0.230439 1.23374800 + 11 0.121518 0.12931700 + 12 0.057951 -0.60340700 + 13 0.027201 -0.53306200 +S 1 + 1 0.027201 1.00000000 +P 13 + 1 148.087630 0.00005500 + 2 77.452187 -0.00054800 + 3 40.915636 0.00697900 + 4 22.575667 -0.02365800 + 5 13.218268 -0.07568200 + 6 7.232093 0.02725300 + 7 4.054870 0.28477800 + 8 2.122089 0.42763200 + 9 1.092769 0.30993700 + 10 0.548240 0.08853500 + 11 0.238886 0.00642700 + 12 0.084667 0.00070800 + 13 0.038921 0.00018600 +P 13 + 1 148.087630 0.00002700 + 2 77.452187 -0.00008800 + 3 40.915636 -0.00077300 + 4 22.575667 0.00334500 + 5 13.218268 0.01940500 + 6 7.232093 -0.01428800 + 7 4.054870 -0.05452700 + 8 2.122089 -0.11645400 + 9 1.092769 -0.06023600 + 10 0.548240 -0.02392800 + 11 0.238886 0.34786900 + 12 0.084667 0.52262600 + 13 0.038921 0.27647100 +P 13 + 1 148.087630 -0.00023700 + 2 77.452187 0.00145600 + 3 40.915636 -0.00974500 + 4 22.575667 0.03779900 + 5 13.218268 0.05252100 + 6 7.232093 -0.03500600 + 7 4.054870 -0.45557700 + 8 2.122089 -0.36830600 + 9 1.092769 0.10039200 + 10 0.548240 1.07665200 + 11 0.238886 -0.04532600 + 12 0.084667 -0.70318600 + 13 0.038921 0.00458000 +P 1 + 1 0.038921 1.00000000 +D 11 + 1 177.900125 0.00004900 + 2 57.372112 0.00751900 + 3 29.881432 0.03645500 + 4 13.971757 0.08690100 + 5 6.841152 0.18056800 + 6 3.379983 0.26818700 + 7 1.651827 0.29675600 + 8 0.799251 0.25155800 + 9 0.388057 0.16231900 + 10 0.191191 0.07211900 + 11 0.093358 0.02368900 +D 11 + 1 177.900125 -0.00005300 + 2 57.372112 -0.00885000 + 3 29.881432 -0.04191600 + 4 13.971757 -0.10469100 + 5 6.841152 -0.21946400 + 6 3.379983 -0.28371200 + 7 1.651827 -0.12212700 + 8 0.799251 0.19012300 + 9 0.388057 0.37659800 + 10 0.191191 0.29512200 + 11 0.093358 0.17825200 +D 1 + 1 0.093358 1.00000000 +F 1 + 1 2.317543 1.00000000 + +COPPER +S 13 + 1 104.471138 0.00074100 + 2 55.955221 -0.01395300 + 3 30.553953 0.10526600 + 4 16.942394 -0.12939900 + 5 9.452707 -0.36273800 + 6 5.174537 0.01326600 + 7 2.779171 0.48928800 + 8 1.441817 0.56208800 + 9 0.710674 0.19004700 + 10 0.241540 0.00563500 + 11 0.129621 -0.00058200 + 12 0.059229 -0.00002400 + 13 0.027110 0.00003000 +S 13 + 1 104.471138 -0.00013300 + 2 55.955221 0.00299900 + 3 30.553953 -0.02431000 + 4 16.942394 0.03198600 + 5 9.452707 0.08914900 + 6 5.174537 -0.01075000 + 7 2.779171 -0.12822400 + 8 1.441817 -0.21572000 + 9 0.710674 -0.14955900 + 10 0.241540 0.14291700 + 11 0.129621 0.44630700 + 12 0.059229 0.48464300 + 13 0.027110 0.09306900 +S 13 + 1 104.471138 0.00021000 + 2 55.955221 0.00380600 + 3 30.553953 -0.04731200 + 4 16.942394 0.05995700 + 5 9.452707 0.25064200 + 6 5.174537 -0.11910200 + 7 2.779171 -0.31406900 + 8 1.441817 -0.68930000 + 9 0.710674 0.40305000 + 10 0.241540 1.27044000 + 11 0.129621 -0.02902900 + 12 0.059229 -0.62215700 + 13 0.027110 -0.44207400 +S 1 + 1 0.027110 1.00000000 +P 13 + 1 159.152840 0.00002600 + 2 83.322776 -0.00040200 + 3 44.840311 0.00740500 + 4 25.020360 -0.03071400 + 5 13.610016 -0.07434800 + 6 7.761318 0.04343000 + 7 4.303947 0.28970300 + 8 2.290080 0.41346700 + 9 1.202173 0.30376200 + 10 0.607647 0.09349400 + 11 0.257656 0.00666300 + 12 0.090897 0.00056700 + 13 0.041925 0.00017600 +P 13 + 1 159.152840 0.00003400 + 2 83.322776 -0.00012900 + 3 44.840311 -0.00080200 + 4 25.020360 0.00474700 + 5 13.610016 0.01859500 + 6 7.761318 -0.01769200 + 7 4.303947 -0.05261400 + 8 2.290080 -0.11034900 + 9 1.202173 -0.05470100 + 10 0.607647 -0.02665500 + 11 0.257656 0.33588000 + 12 0.090897 0.50947800 + 13 0.041925 0.30255900 +P 13 + 1 159.152840 -0.00022800 + 2 83.322776 0.00141400 + 3 44.840311 -0.01029000 + 4 25.020360 0.04389600 + 5 13.610016 0.05286500 + 6 7.761318 -0.05656500 + 7 4.303947 -0.48071500 + 8 2.290080 -0.31598400 + 9 1.202173 0.07567900 + 10 0.607647 1.06074700 + 11 0.257656 -0.00806100 + 12 0.090897 -0.70160100 + 13 0.041925 0.00694100 +P 1 + 1 0.041925 1.00000000 +D 11 + 1 226.693527 0.00001500 + 2 73.010278 0.00410800 + 3 38.536518 0.02822300 + 4 18.726700 0.06932300 + 5 9.155485 0.15604500 + 6 4.540884 0.25123800 + 7 2.241175 0.29746300 + 8 1.085869 0.27498100 + 9 0.510612 0.19309800 + 10 0.229608 0.08639300 + 11 0.095781 0.01464500 +D 11 + 1 226.693527 -0.00001300 + 2 73.010278 -0.00525200 + 3 38.536518 -0.03498200 + 4 18.726700 -0.08895000 + 5 9.155485 -0.20719400 + 6 4.540884 -0.30259700 + 7 2.241175 -0.17932700 + 8 1.085869 0.16906900 + 9 0.510612 0.40590400 + 10 0.229608 0.34187100 + 11 0.095781 0.11708000 +D 1 + 1 0.095781 1.00000000 +F 1 + 1 2.739578 1.00000000 + +ZINC +S 13 + 1 114.485022 0.00042900 + 2 61.996430 -0.01933900 + 3 40.117132 0.08625400 + 4 20.119649 -0.08895500 + 5 10.171676 -0.40267100 + 6 5.601641 0.06730400 + 7 2.864122 0.47921500 + 8 1.592779 0.50396000 + 9 0.826525 0.22208800 + 10 0.263975 0.01220300 + 11 0.145302 -0.00430000 + 12 0.068195 0.00124300 + 13 0.031465 -0.00026700 +S 13 + 1 114.485022 -0.00010900 + 2 61.996430 0.00445900 + 3 40.117132 -0.02006700 + 4 20.119649 0.02233800 + 5 10.171676 0.09669800 + 6 5.601641 -0.02196600 + 7 2.864122 -0.12876800 + 8 1.592779 -0.18170600 + 9 0.826525 -0.16231100 + 10 0.263975 0.11626400 + 11 0.145302 0.41131400 + 12 0.068195 0.49425700 + 13 0.031465 0.13810300 +S 13 + 1 114.485022 0.00066600 + 2 61.996430 0.00626900 + 3 40.117132 -0.04660300 + 4 20.119649 0.05039900 + 5 10.171676 0.36349300 + 6 5.601641 -0.24284000 + 7 2.864122 -0.38228100 + 8 1.592779 -0.86156700 + 9 0.826525 0.70607700 + 10 0.263975 1.49500100 + 11 0.145302 -0.45399400 + 12 0.068195 -0.59782200 + 13 0.031465 -0.25611700 +S 1 + 1 0.031465 1.00000000 +P 13 + 1 158.770986 -0.00015300 + 2 75.802876 0.00189300 + 3 44.547824 0.01046100 + 4 31.445269 -0.04514100 + 5 13.080125 -0.08420100 + 6 7.788616 0.10497300 + 7 4.195040 0.30771400 + 8 2.362276 0.36856300 + 9 1.302584 0.28633600 + 10 0.660704 0.09515600 + 11 0.249042 0.00585100 + 12 0.091781 -0.00003400 + 13 0.048931 0.00025200 +P 13 + 1 158.770986 0.00005300 + 2 75.802876 -0.00057100 + 3 44.547824 -0.00107300 + 4 31.445269 0.00746300 + 5 13.080125 0.01867600 + 6 7.788616 -0.02809000 + 7 4.195040 -0.05443800 + 8 2.362276 -0.09374400 + 9 1.302584 -0.05416900 + 10 0.660704 -0.00797200 + 11 0.249042 0.35619800 + 12 0.091781 0.41239900 + 13 0.048931 0.36132100 +P 13 + 1 158.770986 -0.00017000 + 2 75.802876 0.00060400 + 3 44.547824 -0.01998700 + 4 31.445269 0.06115300 + 5 13.080125 0.06731700 + 6 7.788616 -0.13921100 + 7 4.195040 -0.52704100 + 8 2.362276 -0.17619400 + 9 1.302584 0.03712900 + 10 0.660704 1.07932200 + 11 0.249042 -0.05014900 + 12 0.091781 -0.68897100 + 13 0.048931 0.03733100 +P 1 + 1 0.048931 1.00000000 +D 11 + 1 270.014061 -0.00001600 + 2 100.161579 0.00069600 + 3 43.530609 0.01353600 + 4 21.262419 0.06935000 + 5 10.577821 0.14955900 + 6 5.343620 0.23958800 + 7 2.704857 0.28674400 + 8 1.353018 0.27145900 + 9 0.660873 0.20242600 + 10 0.309149 0.10330700 + 11 0.133879 0.02321100 +D 11 + 1 270.014061 0.00001300 + 2 100.161579 -0.00088900 + 3 43.530609 -0.01864000 + 4 21.262419 -0.09464600 + 5 10.577821 -0.21565900 + 6 5.343620 -0.32246900 + 7 2.704857 -0.19752900 + 8 1.353018 0.16444800 + 9 0.660873 0.41001700 + 10 0.309149 0.32783800 + 11 0.133879 0.10574900 +D 1 + 1 0.133879 1.00000000 +F 1 + 1 3.171936 1.00000000 + +GALLIUM +S 9 + 1 31.011369 -0.00004600 + 2 13.757663 0.00020700 + 3 6.103352 -0.00828200 + 4 2.707648 0.08572200 + 5 1.201202 -0.35069900 + 6 0.532893 0.00456700 + 7 0.236409 0.45296800 + 8 0.104879 0.55818700 + 9 0.046528 0.16331900 +P 9 + 1 15.391968 -0.00012000 + 2 6.919798 -0.00020200 + 3 3.110948 0.00885300 + 4 1.398595 -0.07370800 + 5 0.628769 0.02826000 + 6 0.282677 0.22146300 + 7 0.127084 0.41332000 + 8 0.057133 0.38568600 + 9 0.025686 0.11229200 +S 1 + 1 0.043204 1.00000000 +P 1 + 1 0.054969 1.00000000 +D 1 + 1 0.186277 1.00000000 + +GERMANIUM +S 9 + 1 46.470485 -0.00022900 + 2 20.357328 0.00157400 + 3 8.917936 -0.01134500 + 4 3.906681 0.09897200 + 5 1.711400 -0.33154500 + 6 0.749713 -0.09480900 + 7 0.328427 0.43893300 + 8 0.143874 0.59677700 + 9 0.063027 0.18625100 +P 9 + 1 22.641155 0.00005200 + 2 10.174686 -0.00067500 + 3 4.572392 0.01127600 + 4 2.054783 -0.07462800 + 5 0.923397 -0.01207000 + 6 0.414964 0.21691900 + 7 0.186480 0.43873500 + 8 0.083802 0.38512600 + 9 0.037660 0.10807400 +S 1 + 1 0.048637 1.00000000 +P 1 + 1 0.075745 1.00000000 +D 1 + 1 0.249989 1.00000000 + +ARSENIC +S 9 + 1 50.230536 -0.00053800 + 2 22.441775 0.00366000 + 3 10.026436 -0.02399200 + 4 4.479567 0.15807600 + 5 2.001361 -0.41934600 + 6 0.894159 -0.10051900 + 7 0.399488 0.45002000 + 8 0.178482 0.60510400 + 9 0.079741 0.19000900 +P 9 + 1 22.695464 0.00032200 + 2 10.529662 -0.00312000 + 3 4.885284 0.02984900 + 4 2.266549 -0.12788200 + 5 1.051576 -0.00446100 + 6 0.487883 0.24866600 + 7 0.226356 0.45708300 + 8 0.105019 0.35148300 + 9 0.048724 0.09163600 +S 1 + 1 0.051680 1.00000000 +P 1 + 1 0.093979 1.00000000 +D 1 + 1 0.294836 1.00000000 + +SELENIUM +S 9 + 1 53.235856 -0.00017300 + 2 24.069480 0.00151800 + 3 10.882513 -0.01538400 + 4 4.920301 0.13681600 + 5 2.224611 -0.39461000 + 6 1.005811 -0.13955900 + 7 0.454757 0.50733100 + 8 0.205609 0.58687500 + 9 0.092962 0.17717000 +P 9 + 1 25.056177 -0.00015300 + 2 11.673683 0.00033200 + 3 5.438773 0.01417500 + 4 2.533927 -0.10389300 + 5 1.180557 -0.00813400 + 6 0.550022 0.28490400 + 7 0.256256 0.42743700 + 8 0.119390 0.33406600 + 9 0.055624 0.11234000 +S 1 + 1 0.063298 1.00000000 +P 1 + 1 0.103012 1.00000000 +D 1 + 1 0.364897 1.00000000 + +BROMINE +S 9 + 1 60.457695 -0.00045200 + 2 27.422852 0.00337200 + 3 12.438662 -0.02504500 + 4 5.642021 0.17010100 + 5 2.559150 -0.43099200 + 6 1.160798 -0.15435800 + 7 0.526524 0.52545800 + 8 0.238824 0.59273500 + 9 0.108328 0.16949000 +P 9 + 1 27.437987 0.00008700 + 2 12.887440 -0.00179700 + 3 6.053145 0.02715000 + 4 2.843122 -0.13414300 + 5 1.335395 -0.00623400 + 6 0.627226 0.30955100 + 7 0.294604 0.44028500 + 8 0.138374 0.31675000 + 9 0.064993 0.09253300 +S 1 + 1 0.071724 1.00000000 +P 1 + 1 0.126435 1.00000000 +D 1 + 1 0.416740 1.00000000 + +KRYPTON +S 9 + 1 59.995647 -0.00020300 + 2 27.757709 0.00179400 + 3 12.842438 -0.01925200 + 4 5.941709 0.17119400 + 5 2.749003 -0.47784700 + 6 1.271859 -0.11968600 + 7 0.588441 0.56843400 + 8 0.272249 0.56402800 + 9 0.125959 0.15760800 +P 9 + 1 24.020781 0.00010600 + 2 11.612963 -0.00089200 + 3 5.614344 0.02038000 + 4 2.714282 -0.15516000 + 5 1.312233 0.05764300 + 6 0.634405 0.35555900 + 7 0.306706 0.42666700 + 8 0.148279 0.27115100 + 9 0.071686 0.06768000 +S 1 + 1 0.658059 1.00000000 +P 1 + 1 0.155190 1.00000000 +D 1 + 1 0.502317 1.00000000 + diff --git a/data/basis/cc-pvqz_ecp_ccecp b/data/basis/cc-pvqz_ecp_ccecp new file mode 100644 index 00000000..3fe0516e --- /dev/null +++ b/data/basis/cc-pvqz_ecp_ccecp @@ -0,0 +1,3239 @@ +HELIUM +S 8 + 1 39.320931 0.01006570 + 2 17.174528 0.02487620 + 3 7.501461 0.05825370 + 4 3.276475 0.13445960 + 5 1.431093 0.24431180 + 6 0.625070 0.34250610 + 7 0.273017 0.28264700 + 8 0.119248 0.07392530 +S 1 + 1 2.065565 1.00000000 +S 1 + 1 0.657436 1.00000000 +S 1 + 1 0.209251 1.00000000 +P 1 + 1 5.989802 1.00000000 +P 1 + 1 1.842859 1.00000000 +P 1 + 1 0.566985 1.00000000 +D 1 + 1 4.312957 1.00000000 +D 1 + 1 1.213445 1.00000000 +F 1 + 1 2.677255 1.00000000 + +LITHIUM +S 10 + 1 16.001258 0.00004340 + 2 7.583113 -0.00075310 + 3 3.593693 -0.00025190 + 4 1.703077 0.01696740 + 5 0.807101 -0.09099210 + 6 0.382491 -0.08931550 + 7 0.181265 0.02941550 + 8 0.085903 0.36440200 + 9 0.040710 0.55049730 + 10 0.019293 0.17444120 +P 10 + 1 7.004881 -0.00053060 + 2 3.451199 0.00129490 + 3 1.700353 0.00701150 + 4 0.837738 0.01716040 + 5 0.412741 0.03672400 + 6 0.203351 0.09650420 + 7 0.100188 0.22110130 + 8 0.049361 0.38353580 + 9 0.024320 0.33505640 + 10 0.011982 0.07814530 +S 1 + 1 0.519693 1.00000000 +S 1 + 1 0.109770 1.00000000 +S 1 + 1 0.024834 1.00000000 +P 1 + 1 0.207505 1.00000000 +P 1 + 1 0.115823 1.00000000 +P 1 + 1 0.070662 1.00000000 +D 1 + 1 0.214990 1.00000000 +D 1 + 1 0.089353 1.00000000 +D 1 + 1 0.029817 1.00000000 +F 1 + 1 0.240323 1.00000000 +F 1 + 1 0.099930 1.00000000 +G 1 + 1 0.199570 1.00000000 + +BERYLLIUM +S 9 + 1 15.965877 0.00069000 + 2 7.367361 -0.00037700 + 3 3.399626 0.02406900 + 4 1.568738 -0.11198900 + 5 0.723885 -0.07644200 + 6 0.334032 0.13574400 + 7 0.154137 0.41851500 + 8 0.071126 0.46292400 + 9 0.032821 0.12826600 +P 9 + 1 16.554942 0.00034100 + 2 7.526050 0.00322800 + 3 3.421421 0.01766000 + 4 1.555414 0.03866400 + 5 0.707108 0.09863900 + 6 0.321458 0.23125900 + 7 0.146138 0.38710900 + 8 0.066436 0.33944800 + 9 0.030203 0.08910200 +S 1 + 1 1.332887 1.00000000 +S 1 + 1 0.245509 1.00000000 +S 1 + 1 0.045221 1.00000000 +P 1 + 1 2.453623 1.00000000 +P 1 + 1 0.683999 1.00000000 +P 1 + 1 0.190679 1.00000000 +D 1 + 1 0.984098 1.00000000 +D 1 + 1 0.408510 1.00000000 +D 1 + 1 0.169577 1.00000000 +F 1 + 1 0.477034 1.00000000 +F 1 + 1 0.237971 1.00000000 +G 1 + 1 0.422045 1.00000000 + +BORON +s 9 1.00 +1 11.76050 -0.0036757 +2 5.150520 0.0250517 +3 2.578276 -0.1249228 +4 1.290648 -0.0662874 +5 0.646080 0.1007341 +6 0.323418 0.3375492 +7 0.161898 0.4308431 +8 0.081044 0.2486558 +9 0.040569 0.0317295 +s 1 1.00 +1 0.422217 1.000000 +s 1 1.00 +1 0.305133 1.000000 +s 1 1.00 +1 0.082968 1.000000 +p 9 1.00 +1 7.470701 0.0047397 +2 3.735743 0.0376009 +3 1.868068 0.0510600 +4 0.934132 0.1456587 +5 0.467115 0.2237933 +6 0.233582 0.3199467 +7 0.116803 0.2850185 +8 0.058408 0.1448808 +9 0.029207 0.0176962 +p 1 1.00 +1 0.447031 1.000000 +p 1 1.00 +1 0.196614 1.000000 +p 1 1.00 +1 0.066445 1.000000 +d 1 1.00 +1 1.142614 1.000000 +d 1 1.00 +1 0.410733 1.000000 +d 1 1.00 +1 0.149100 1.000000 +f 1 1.00 +1 0.870011 1.000000 +f 1 1.00 +1 0.315902 1.000000 +g 1 1.00 +1 0.710746 1.000000 + +CARBON +s 9 1.00 +1 13.073594 0.0051583 +2 6.541187 0.0603424 +3 4.573411 -0.1978471 +4 1.637494 -0.0810340 +5 0.819297 0.2321726 +6 0.409924 0.2914643 +7 0.231300 0.4336405 +8 0.102619 0.2131940 +9 0.051344 0.0049848 +s 1 1.00 +1 0.846879 1.000000 +s 1 1.00 +1 0.269659 1.000000 +s 1 1.00 +1 0.109576 1.000000 +p 9 1.00 +1 9.934169 0.0209076 +2 3.886955 0.0572698 +3 1.871016 0.1122682 +4 0.935757 0.2130082 +5 0.468003 0.2835815 +6 0.239473 0.3011207 +7 0.117063 0.2016934 +8 0.058547 0.0453575 +9 0.029281 0.0029775 +p 1 1.00 +1 0.804681 1.000000 +p 1 1.00 +1 0.313254 1.000000 +p 1 1.00 +1 0.105389 1.000000 +d 1 1.00 +1 2.013760 1.000000 +d 1 1.00 +1 0.684884 1.000000 +d 1 1.00 +1 0.240171 1.000000 +f 1 1.00 +1 0.457302 1.000000 +f 1 1.00 +1 1.324930 1.000000 +g 1 1.00 +1 1.034180 1.000000 + +NITROGEN +S 9 +1 42.693822 -0.0009357 +2 19.963207 0.0063295 +3 9.3345971 0.0105038 +4 4.9278187 -0.1653735 +5 2.040920 -0.0005352 +6 0.967080 0.2452063 +7 0.476131 0.4582128 +8 0.211443 0.3641224 +9 0.098869 0.0620406 +S 1 +1 1.625001 1.0000000 +S 1 +1 0.310826 1.0000000 +S 1 +1 0.135764 1.0000000 +P 9 +1 18.925871 0.0073505 +2 9.225603 0.0292844 +3 4.581431 0.0652168 +4 2.300164 0.1405153 +5 1.154825 0.2328188 +6 0.582039 0.2989556 +7 0.290535 0.2802507 +8 0.145867 0.1527995 +9 0.073234 0.0355475 +P 1 +1 1.020750 1.0000000 +P 1 +1 0.413103 1.0000000 +P 1 +1 0.140736 1.0000000 +D 1 +1 3.028459 1.0000000 +D 1 +1 1.009895 1.0000000 +D 1 +1 0.346233 1.0000000 +F 1 +1 2.024747 1.0000000 +F 1 +1 0.691129 1.0000000 +G 1 +1 1.357512 1.0000000 + +OXYGEN +S 9 +1 54.775216 -0.0012444 +2 25.616801 0.0107330 +3 11.980245 0.0018889 +4 6.992317 -0.1742537 +5 2.620277 0.0017622 +6 1.225429 0.3161846 +7 0.577797 0.4512023 +8 0.268022 0.3121534 +9 0.125346 0.0511167 +S 1 +1 1.351771 1.0000000 +S 1 +1 0.843157 1.0000000 +S 1 +1 0.224380 1.0000000 +P 9 +1 22.217266 0.0104866 +2 10.747550 0.0366435 +3 5.315785 0.0803674 +4 2.660761 0.1627010 +5 1.331816 0.2377791 +6 0.678626 0.2811422 +7 0.333673 0.2643189 +8 0.167017 0.1466014 +9 0.083598 0.0458145 +P 1 +1 1.106737 1.0000000 +P 1 +1 0.452364 1.0000000 +P 1 +1 0.148562 1.0000000 +D 1 +1 4.008867 1.0000000 +D 1 +1 1.344331 1.0000000 +D 1 +1 0.455711 1.0000000 +F 1 +1 2.763115 1.0000000 +F 1 +1 0.876289 1.0000000 +G 1 +1 1.759081 1.0000000 + +FLUORINE +S 10 + 1 84.048652 -0.00000280 + 2 41.094617 -0.00035430 + 3 20.092738 0.01840880 + 4 9.824112 -0.12776610 + 5 4.803386 -0.07028720 + 6 2.348560 0.15716040 + 7 1.148301 0.37690120 + 8 0.561449 0.40951650 + 9 0.274514 0.19708930 + 10 0.134220 0.02434820 +P 10 + 1 31.642619 0.00296730 + 2 16.243233 0.02980490 + 3 8.338204 0.06694890 + 4 4.280284 0.13377900 + 5 2.197215 0.21483120 + 6 1.127906 0.26648620 + 7 0.578992 0.26189540 + 8 0.297216 0.19202170 + 9 0.152571 0.08284650 + 10 0.078320 0.01330460 +S 1 + 1 1.705653 1.00000000 +S 1 + 1 1.048013 1.00000000 +S 1 + 1 0.294345 1.00000000 +P 1 + 1 1.650688 1.00000000 +P 1 + 1 0.647240 1.00000000 +P 1 + 1 0.205806 1.00000000 +D 1 + 1 4.998085 1.00000000 +D 1 + 1 1.724392 1.00000000 +D 1 + 1 0.587354 1.00000000 +F 1 + 1 3.694285 1.00000000 +F 1 + 1 1.178147 1.00000000 +G 1 + 1 2.406583 1.00000000 + +NEON +S 10 + 1 89.999848 0.00003370 + 2 44.745732 -0.00055860 + 3 22.246488 0.01858840 + 4 11.060411 -0.12689730 + 5 5.498967 -0.04853020 + 6 2.733953 0.17891780 + 7 1.359255 0.37701020 + 8 0.675788 0.39006930 + 9 0.335985 0.18553010 + 10 0.167044 0.02494380 +P 10 + 1 40.001333 0.00364740 + 2 20.592442 0.03301820 + 3 10.600863 0.06814330 + 4 5.457260 0.13511940 + 5 2.809364 0.21484190 + 6 1.446244 0.26495200 + 7 0.744517 0.25843380 + 8 0.383273 0.19042960 + 9 0.197307 0.08474940 + 10 0.101572 0.01542050 +S 1 + 1 2.261159 1.00000000 +S 1 + 1 1.658402 1.00000000 +S 1 + 1 0.399186 1.00000000 +P 1 + 1 1.938376 1.00000000 +P 1 + 1 0.757342 1.00000000 +P 1 + 1 0.245215 1.00000000 +D 1 + 1 6.170224 1.00000000 +D 1 + 1 2.188751 1.00000000 +D 1 + 1 0.738131 1.00000000 +F 1 + 1 4.849402 1.00000000 +F 1 + 1 1.589986 1.00000000 +G 1 + 1 3.228793 1.00000000 + +ALUMINUM +S 10 + 1 8.257944 0.003287 + 2 4.514245 -0.017168 + 3 2.467734 0.069766 + 4 1.348998 -0.183475 + 5 0.737436 -0.147133 + 6 0.403123 0.046882 + 7 0.220369 0.308423 + 8 0.120466 0.451564 + 9 0.065853 0.302904 + 10 0.035999 0.079545 +S 1 + 1 0.347290 1.000000 +S 1 + 1 0.142082 1.000000 +S 1 + 1 0.058128 1.000000 +P 10 + 1 1.570603 -0.002645 + 2 0.977752 -0.037850 + 3 0.608683 0.006636 + 4 0.378925 0.089291 + 5 0.235893 0.134421 + 6 0.146851 0.256105 + 7 0.091420 0.238970 + 8 0.056912 0.260677 + 9 0.035429 0.112350 + 10 0.022056 0.052665 +P 1 + 1 0.868497 1.000000 +P 1 + 1 0.350263 1.000000 +P 1 + 1 0.141260 1.000000 +D 1 + 1 0.641818 1.000000 +D 1 + 1 0.240140 1.000000 +D 1 + 1 0.089850 1.000000 +F 1 + 1 0.407281 1.000000 +F 1 + 1 0.159215 1.000000 +G 1 + 1 0.351808 1.000000 + +SILICON +S 10 + 1 9.998274 0.002894 + 2 5.517644 -0.014523 + 3 3.044965 0.077634 + 4 1.680393 -0.224022 + 5 0.927341 -0.149080 + 6 0.511762 0.085944 + 7 0.282421 0.355394 + 8 0.155857 0.445219 + 9 0.086011 0.267230 + 10 0.047466 0.060787 +S 1 + 1 0.488504 1.000000 +S 1 + 1 0.199457 1.000000 +S 1 + 1 0.081439 1.000000 +P 10 + 1 5.027868 -0.003242 + 2 2.867751 0.010649 + 3 1.635683 -0.049761 + 4 0.932947 -0.000017 + 5 0.532126 0.106060 + 6 0.303509 0.236202 + 7 0.173113 0.310665 + 8 0.098739 0.294696 + 9 0.056318 0.153898 + 10 0.032122 0.042337 +P 1 + 1 1.225790 1.000000 +P 1 + 1 0.501364 1.000000 +P 1 + 1 0.205064 1.000000 +D 1 + 1 0.997003 1.000000 +D 1 + 1 0.365942 1.000000 +D 1 + 1 0.134316 1.000000 +F 1 + 1 0.549116 1.000000 +F 1 + 1 0.214998 1.000000 +G 1 + 1 0.459547 1.000000 + +PHOSPHORUS +S 10 + 1 5.054268 0.001781 + 2 3.094719 0.077653 + 3 1.894891 -0.312344 + 4 1.160239 -0.045804 + 5 0.710412 -0.029427 + 6 0.434984 0.318560 + 7 0.266340 0.309169 + 8 0.163080 0.376899 + 9 0.099853 0.152113 + 10 0.061140 0.054943 +S 1 + 1 0.636005 1.000000 +S 1 + 1 0.258590 1.000000 +S 1 + 1 0.105139 1.000000 +P 10 + 1 5.861284 -0.003160 + 2 3.406365 0.007462 + 3 1.979655 -0.060893 + 4 1.150503 0.015297 + 5 0.668631 0.123431 + 6 0.388584 0.257276 + 7 0.225831 0.305131 + 8 0.131245 0.276016 + 9 0.076275 0.134133 + 10 0.044328 0.040073 +P 1 + 1 1.653678 1.000000 +P 1 + 1 0.679946 1.000000 +P 1 + 1 0.279575 1.000000 +D 1 + 1 1.375779 1.000000 +D 1 + 1 0.502887 1.000000 +D 1 + 1 0.183820 1.000000 +F 1 + 1 0.726730 1.000000 +F 1 + 1 0.284724 1.000000 +G 1 + 1 0.594990 1.000000 + +SULFUR +S 10 + 1 14.052570 0.002102 + 2 7.864913 -0.011042 + 3 4.401818 0.086618 + 4 2.463600 -0.271004 + 5 1.378823 -0.151274 + 6 0.771696 0.136044 + 7 0.431901 0.394360 + 8 0.241726 0.432098 + 9 0.135289 0.230974 + 10 0.075718 0.051205 +S 1 + 1 0.818729 1.000000 +S 1 + 1 0.332501 1.000000 +S 1 + 1 0.135035 1.000000 +P 10 + 1 6.808844 -0.003573 + 2 3.941560 0.001903 + 3 2.281723 -0.065016 + 4 1.320863 0.042305 + 5 0.764632 0.158772 + 6 0.442637 0.278172 + 7 0.256237 0.293821 + 8 0.148333 0.248015 + 9 0.085868 0.114905 + 10 0.049708 0.032934 +P 1 + 1 2.088209 1.000000 +P 1 + 1 0.838124 1.000000 +P 1 + 1 0.336390 1.000000 +D 1 + 1 1.681890 1.000000 +D 1 + 1 0.613672 1.000000 +D 1 + 1 0.223911 1.000000 +F 1 + 1 0.898397 1.000000 +F 1 + 1 0.339271 1.000000 +G 1 + 1 0.691446 1.000000 + +CHLORINE +S 10 + 1 15.583847 0.002501 + 2 8.858485 -0.010046 + 3 5.035519 0.085810 + 4 2.862391 -0.290136 + 5 1.627098 -0.140314 + 6 0.924908 0.146839 + 7 0.525755 0.392484 + 8 0.298860 0.425061 + 9 0.169884 0.227195 + 10 0.096569 0.059828 +S 1 + 1 1.038268 1.000000 +S 1 + 1 0.418863 1.000000 +S 1 + 1 0.168980 1.000000 +P 10 + 1 7.682894 -0.004609 + 2 4.507558 -0.001798 + 3 2.644587 -0.068614 + 4 1.551581 0.062352 + 5 0.910313 0.166337 + 6 0.534081 0.282292 + 7 0.313346 0.275967 + 8 0.183840 0.241328 + 9 0.107859 0.110223 + 10 0.063281 0.040289 +P 1 + 1 2.626653 1.000000 +P 1 + 1 1.069041 1.000000 +P 1 + 1 0.435097 1.000000 +D 1 + 1 2.102692 1.000000 +D 1 + 1 0.763188 1.000000 +D 1 + 1 0.277005 1.000000 +F 1 + 1 1.139446 1.000000 +F 1 + 1 0.434852 1.000000 +G 1 + 1 0.844301 1.000000 + +ARGON +S 10 + 1 17.798602 0.000155 + 2 10.185798 0.002011 + 3 5.829136 0.072819 + 4 3.335903 -0.297567 + 5 1.909073 -0.143663 + 6 1.092526 0.157775 + 7 0.625231 0.391895 + 8 0.357808 0.424724 + 9 0.204767 0.223240 + 10 0.117184 0.063299 +S 1 + 1 1.261554 1.000000 +S 1 + 1 0.507496 1.000000 +S 1 + 1 0.204155 1.000000 +P 10 + 1 7.610920 -0.008071 + 2 4.581784 -0.012332 + 3 2.758240 -0.061298 + 4 1.660464 0.101944 + 5 0.999601 0.172497 + 6 0.601761 0.288747 + 7 0.362261 0.247918 + 8 0.218082 0.231893 + 9 0.131285 0.095994 + 10 0.079034 0.046211 +P 1 + 1 3.256840 1.000000 +P 1 + 1 1.339778 1.000000 +P 1 + 1 0.551149 1.000000 +D 1 + 1 2.467298 1.000000 +D 1 + 1 0.904123 1.000000 +D 1 + 1 0.331309 1.000000 +F 1 + 1 1.430464 1.000000 +F 1 + 1 0.561192 1.000000 +G 1 + 1 1.018010 1.000000 + +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 +S 1 + 1 0.150724 1.00000000 +S 1 + 1 0.069050 1.00000000 +S 1 + 1 0.031633 1.00000000 +S 1 + 1 0.014492 1.00000000 +P 1 + 1 0.071025 1.00000000 +P 1 + 1 0.035889 1.00000000 +P 1 + 1 0.018135 1.00000000 +P 1 + 1 0.009164 1.00000000 +D 1 + 1 0.063256 1.00000000 +D 1 + 1 0.023163 1.00000000 +D 1 + 1 0.008482 1.00000000 +F 1 + 1 0.123997 1.00000000 +F 1 + 1 0.062758 1.00000000 +G 1 + 1 0.011607 1.00000000 + +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 0.299840 1.00000000 +S 1 + 1 0.087500 1.00000000 +S 1 + 1 0.042030 1.00000000 +S 1 + 1 0.019731 1.00000000 +P 1 + 1 0.228266 1.00000000 +P 1 + 1 0.092361 1.00000000 +P 1 + 1 0.041625 1.00000000 +P 1 + 1 0.018573 1.00000000 +D 1 + 1 0.267718 1.00000000 +D 1 + 1 0.091527 1.00000000 +D 1 + 1 0.030733 1.00000000 +F 1 + 1 0.501100 1.00000000 +F 1 + 1 0.116000 1.00000000 +G 1 + 1 0.143100 1.00000000 + +SCANDIUM +S 13 + 1 66.882574 0.00055300 + 2 33.776681 -0.00511500 + 3 18.185884 0.00416100 + 4 11.748619 0.12160300 + 5 6.895190 -0.27013700 + 6 3.222124 -0.32441000 + 7 1.772120 0.29116200 + 8 0.841163 0.62893100 + 9 0.471976 0.27340600 + 10 0.313224 0.13535200 + 11 0.101013 0.00804100 + 12 0.049071 -0.00261000 + 13 0.022782 0.00059700 +S 13 + 1 66.882574 -0.00013900 + 2 33.776681 0.00134500 + 3 18.185884 -0.00144500 + 4 11.748619 -0.03208200 + 5 6.895190 0.07550600 + 6 3.222124 0.08992700 + 7 1.772120 -0.09008600 + 8 0.841163 -0.21644400 + 9 0.471976 -0.17925000 + 10 0.313224 -0.12816000 + 11 0.101013 0.33793500 + 12 0.049071 0.60918100 + 13 0.022782 0.24418100 +S 13 + 1 66.882574 -0.00067900 + 2 33.776681 0.00545600 + 3 18.185884 -0.01668400 + 4 11.748619 -0.03173900 + 5 6.895190 0.10956000 + 6 3.222124 0.23329300 + 7 1.772120 -0.31020700 + 8 0.841163 -0.24508300 + 9 0.471976 -1.17524800 + 10 0.313224 1.03235900 + 11 0.101013 1.59903900 + 12 0.049071 -0.62399000 + 13 0.022782 -0.84749800 +S 13 + 1 66.882574 -0.00145200 + 2 33.776681 0.01136200 + 3 18.185884 -0.03987600 + 4 11.748619 -0.02581000 + 5 6.895190 0.15794300 + 6 3.222124 0.45286800 + 7 1.772120 -0.76658700 + 8 0.841163 -0.60780000 + 9 0.471976 -1.71600200 + 10 0.313224 3.61400300 + 11 0.101013 -0.56948000 + 12 0.049071 -2.25596700 + 13 0.022782 1.91016000 +S 13 + 1 66.882574 0.00043000 + 2 33.776681 -0.00113700 + 3 18.185884 0.02081200 + 4 11.748619 -0.18957800 + 5 6.895190 0.43867600 + 6 3.222124 0.26761800 + 7 1.772120 -0.73280800 + 8 0.841163 -3.04424000 + 9 0.471976 5.47606700 + 10 0.313224 -1.01760200 + 11 0.101013 -5.01443900 + 12 0.049071 6.15979200 + 13 0.022782 -2.69036800 +S 1 + 1 0.022782 1.00000000 +P 13 + 1 77.690832 0.00008800 + 2 39.751864 -0.00075400 + 3 20.615633 0.00658400 + 4 11.537150 -0.00718900 + 5 7.597186 -0.06890300 + 6 3.765117 -0.01384200 + 7 2.051006 0.24870400 + 8 1.048648 0.43432800 + 9 0.550231 0.32690600 + 10 0.303840 0.10461700 + 11 0.165809 0.01851200 + 12 0.060419 0.00139500 + 13 0.024751 0.00009300 +P 13 + 1 77.690832 0.00001700 + 2 39.751864 -0.00002600 + 3 20.615633 -0.00086100 + 4 11.537150 -0.00048300 + 5 7.597186 0.02136400 + 6 3.765117 -0.00370600 + 7 2.051006 -0.05871800 + 8 1.048648 -0.14336400 + 9 0.550231 -0.07728000 + 10 0.303840 -0.10776400 + 11 0.165809 0.32285900 + 12 0.060419 0.62172600 + 13 0.024751 0.25378700 +P 13 + 1 77.690832 -0.00006300 + 2 39.751864 0.00054900 + 3 20.615633 -0.00512000 + 4 11.537150 0.00701100 + 5 7.597186 0.05366100 + 6 3.765117 0.00357400 + 7 2.051006 -0.23586100 + 8 1.048648 -0.49480100 + 9 0.550231 -0.22957500 + 10 0.303840 0.91797300 + 11 0.165809 0.62115500 + 12 0.060419 -0.82464800 + 13 0.024751 -0.15759200 +P 13 + 1 77.690832 -0.00024300 + 2 39.751864 0.00156800 + 3 20.615633 -0.00955400 + 4 11.537150 0.01802000 + 5 7.597186 0.05100800 + 6 3.765117 0.04328000 + 7 2.051006 -0.40417800 + 8 1.048648 -0.82490400 + 9 0.550231 0.71001400 + 10 0.303840 2.22525500 + 11 0.165809 -2.74290300 + 12 0.060419 0.58142300 + 13 0.024751 0.48091000 +P 13 + 1 77.690832 -0.00025600 + 2 39.751864 0.00108400 + 3 20.615633 0.00040000 + 4 11.537150 0.02195600 + 5 7.597186 -0.16269400 + 6 3.765117 0.00037100 + 7 2.051006 1.05365400 + 8 1.048648 0.65865100 + 9 0.550231 -4.72226800 + 10 0.303840 5.40799300 + 11 0.165809 -2.00216600 + 12 0.060419 -0.71482200 + 13 0.024751 0.92680100 +P 1 + 1 0.024751 1.00000000 +D 11 + 1 60.996829 0.00005600 + 2 22.097637 0.00505400 + 3 10.186744 0.03222300 + 4 4.633892 0.08247900 + 5 2.146927 0.15936300 + 6 1.014536 0.22860400 + 7 0.487206 0.24369100 + 8 0.248191 0.23165100 + 9 0.131273 0.19543100 + 10 0.063714 0.21458900 + 11 0.021542 0.07411300 +D 11 + 1 60.996829 -0.00007200 + 2 22.097637 -0.00607900 + 3 10.186744 -0.03905400 + 4 4.633892 -0.10065200 + 5 2.146927 -0.19433000 + 6 1.014536 -0.25355600 + 7 0.487206 -0.21355600 + 8 0.248191 0.05418200 + 9 0.131273 0.26118800 + 10 0.063714 0.52021500 + 11 0.021542 0.16690700 +D 11 + 1 60.996829 0.00005400 + 2 22.097637 0.00819500 + 3 10.186744 0.05007300 + 4 4.633892 0.13617400 + 5 2.146927 0.24651600 + 6 1.014536 0.25815800 + 7 0.487206 -0.12479900 + 8 0.248191 -0.43908100 + 9 0.131273 -0.47534700 + 10 0.063714 0.52718700 + 11 0.021542 0.47337300 +D 11 + 1 60.996829 -0.00013200 + 2 22.097637 -0.01019500 + 3 10.186744 -0.06681500 + 4 4.633892 -0.17925500 + 5 2.146927 -0.33873300 + 6 1.014536 -0.14578400 + 7 0.487206 0.70044400 + 8 0.248191 0.51197600 + 9 0.131273 -1.01912300 + 10 0.063714 -0.09222100 + 11 0.021542 0.69667500 +D 1 + 1 0.021542 1.00000000 +F 1 + 1 0.121673 1.00000000 +F 1 + 1 0.423707 1.00000000 +F 1 + 1 1.475494 1.00000000 +G 1 + 1 0.318017 1.00000000 +G 1 + 1 0.652356 1.00000000 +H 1 + 1 3.057835 1.00000000 + +TITANIUM +S 13 + 1 68.910511 0.00061600 + 2 33.720700 -0.00750100 + 3 18.159676 0.01221800 + 4 12.419305 0.14473900 + 5 7.532195 -0.32862100 + 6 3.504444 -0.31751700 + 7 1.910727 0.35742200 + 8 0.888840 0.67140600 + 9 0.447198 0.28222600 + 10 0.281192 0.03867300 + 11 0.100258 0.00455900 + 12 0.046525 -0.00156500 + 13 0.021840 0.00039800 +S 13 + 1 68.910511 -0.00015600 + 2 33.720700 0.00196600 + 3 18.159676 -0.00399400 + 4 12.419305 -0.03637700 + 5 7.532195 0.08859300 + 6 3.504444 0.08563000 + 7 1.910727 -0.10599300 + 8 0.888840 -0.23742100 + 9 0.447198 -0.23535900 + 10 0.281192 -0.01296000 + 11 0.100258 0.43358200 + 12 0.046525 0.57787300 + 13 0.021840 0.16436000 +S 13 + 1 68.910511 0.00063500 + 2 33.720700 -0.00646800 + 3 18.159676 0.02344400 + 4 12.419305 0.03892100 + 5 7.532195 -0.14118000 + 6 3.504444 -0.21476500 + 7 1.910727 0.32015100 + 8 0.888840 0.45106200 + 9 0.447198 0.85519100 + 10 0.281192 -1.20922400 + 11 0.100258 -1.31948100 + 12 0.046525 0.86651700 + 13 0.021840 0.61891600 +S 13 + 1 68.910511 -0.00117800 + 2 33.720700 0.01187700 + 3 18.159676 -0.04724000 + 4 12.419305 -0.05092200 + 5 7.532195 0.23774600 + 6 3.504444 0.40318500 + 7 1.910727 -0.79096100 + 8 0.888840 -1.10227600 + 9 0.447198 0.20944600 + 10 0.281192 2.52735200 + 11 0.100258 -1.78904100 + 12 0.046525 -0.86784200 + 13 0.021840 1.42739500 +S 13 + 1 68.910511 0.00011500 + 2 33.720700 0.00283300 + 3 18.159676 0.00614100 + 4 12.419305 -0.20968200 + 5 7.532195 0.51836700 + 6 3.504444 0.30416400 + 7 1.910727 -1.23286300 + 8 0.888840 -2.09050800 + 9 0.447198 7.09271500 + 10 0.281192 -4.54374400 + 11 0.100258 -2.24827000 + 12 0.046525 4.47391800 + 13 0.021840 -2.42629600 +S 1 + 1 0.021840 1.00000000 +P 13 + 1 84.914002 0.00009300 + 2 42.855051 -0.00083600 + 3 21.700131 0.00867900 + 4 12.214690 -0.01117800 + 5 8.319164 -0.07776700 + 6 4.091071 -0.00611300 + 7 2.286543 0.27182800 + 8 1.159810 0.45958500 + 9 0.591343 0.31590000 + 10 0.312862 0.07168300 + 11 0.184828 0.01054100 + 12 0.068590 0.00004500 + 13 0.026791 -0.00083700 +P 13 + 1 84.914002 0.00002000 + 2 42.855051 -0.00004900 + 3 21.700131 -0.00076100 + 4 12.214690 -0.00057500 + 5 8.319164 0.01828400 + 6 4.091071 -0.00594300 + 7 2.286543 -0.04321200 + 8 1.159810 -0.11251300 + 9 0.591343 -0.05207300 + 10 0.312862 -0.09226300 + 11 0.184828 0.24394600 + 12 0.068590 0.41310100 + 13 0.026791 0.54398500 +P 13 + 1 84.914002 0.00001900 + 2 42.855051 0.00013800 + 3 21.700131 -0.00462200 + 4 12.214690 0.00446500 + 5 8.319164 0.06576000 + 6 4.091071 -0.01892700 + 7 2.286543 -0.22252400 + 8 1.159810 -0.52389000 + 9 0.591343 -0.07127700 + 10 0.312862 0.81271200 + 11 0.184828 0.62549800 + 12 0.068590 -0.81218900 + 13 0.026791 -0.18579600 +P 13 + 1 84.914002 -0.00025700 + 2 42.855051 0.00172500 + 3 21.700131 -0.01264600 + 4 12.214690 0.02906200 + 5 8.319164 0.05897900 + 6 4.091071 0.03080600 + 7 2.286543 -0.52437300 + 8 1.159810 -0.72096800 + 9 0.591343 1.02320400 + 10 0.312862 1.97387400 + 11 0.184828 -2.80509200 + 12 0.068590 0.60795400 + 13 0.026791 0.44765300 +P 13 + 1 84.914002 0.00027100 + 2 42.855051 -0.00190200 + 3 21.700131 0.01541200 + 4 12.214690 -0.03758600 + 5 8.319164 -0.12453600 + 6 4.091071 0.04081200 + 7 2.286543 1.34382300 + 8 1.159810 -0.26941100 + 9 0.591343 -3.72959000 + 10 0.312862 5.88498300 + 11 0.184828 -3.11385300 + 12 0.068590 -0.25697300 + 13 0.026791 0.71073300 +P 1 + 1 0.026791 1.00000000 +D 11 + 1 77.434559 0.00002200 + 2 27.708477 0.00421800 + 3 12.914284 0.03008700 + 4 6.062674 0.08482100 + 5 2.863898 0.17111000 + 6 1.386559 0.24745100 + 7 0.677058 0.27731000 + 8 0.329864 0.26107700 + 9 0.159474 0.19033600 + 10 0.076174 0.11938500 + 11 0.028570 0.03129700 +D 11 + 1 77.434559 -0.00002500 + 2 27.708477 -0.00431100 + 3 12.914284 -0.03091300 + 4 6.062674 -0.08804900 + 5 2.863898 -0.17833000 + 6 1.386559 -0.23433500 + 7 0.677058 -0.19577500 + 8 0.329864 0.06587200 + 9 0.159474 0.33053600 + 10 0.076174 0.46122900 + 11 0.028570 0.18427300 +D 11 + 1 77.434559 0.00001000 + 2 27.708477 0.00618700 + 3 12.914284 0.04263000 + 4 6.062674 0.12752400 + 5 2.863898 0.24828900 + 6 1.386559 0.25976100 + 7 0.677058 -0.07079400 + 8 0.329864 -0.51939600 + 9 0.159474 -0.37365800 + 10 0.076174 0.45506700 + 11 0.028570 0.48958600 +D 11 + 1 77.434559 0.00001100 + 2 27.708477 -0.00802600 + 3 12.914284 -0.05387500 + 4 6.062674 -0.16879500 + 5 2.863898 -0.31234400 + 6 1.386559 -0.17203100 + 7 0.677058 0.58763300 + 8 0.329864 0.52859200 + 9 0.159474 -0.85964400 + 10 0.076174 -0.27383100 + 11 0.028570 0.80275400 +D 1 + 1 0.028570 1.00000000 +F 1 + 1 0.193613 1.00000000 +F 1 + 1 0.675430 1.00000000 +F 1 + 1 2.356279 1.00000000 +G 1 + 1 0.402576 1.00000000 +G 1 + 1 1.597247 1.00000000 +H 1 + 1 0.848174 1.00000000 + +VANADIUM +S 13 + 1 68.577621 0.00080400 + 2 34.937147 -0.01159400 + 3 17.939491 0.09220900 + 4 11.262123 -0.04547700 + 5 6.776264 -0.28798300 + 6 3.524091 -0.21764800 + 7 1.938421 0.40750900 + 8 0.927153 0.65819300 + 9 0.448420 0.25523400 + 10 0.209668 0.00862000 + 11 0.103660 0.00273400 + 12 0.050630 -0.00116100 + 13 0.024201 0.00029400 +S 13 + 1 68.577621 -0.00017700 + 2 34.937147 0.00279100 + 3 17.939491 -0.02365000 + 4 11.262123 0.01250400 + 5 6.776264 0.07876100 + 6 3.524091 0.05497400 + 7 1.938421 -0.11895500 + 8 0.927153 -0.24534100 + 9 0.448420 -0.22295900 + 10 0.209668 0.04780900 + 11 0.103660 0.41537400 + 12 0.050630 0.54088000 + 13 0.024201 0.18342100 +S 13 + 1 68.577621 -0.00058300 + 2 34.937147 0.00957000 + 3 17.939491 -0.08560600 + 4 11.262123 0.04842600 + 5 6.776264 0.33123900 + 6 3.524091 0.14035200 + 7 1.938421 -0.90796200 + 8 0.927153 -0.50387800 + 9 0.448420 0.39893800 + 10 0.209668 0.97113100 + 11 0.103660 0.42399900 + 12 0.050630 -0.62864600 + 13 0.024201 -0.46749500 +S 13 + 1 68.577621 -0.00076500 + 2 34.937147 0.01452900 + 3 17.939491 -0.13961800 + 4 11.262123 0.06307300 + 5 6.776264 0.70419300 + 6 3.524091 -0.01160200 + 7 1.938421 -2.31160400 + 8 0.927153 0.76826900 + 9 0.448420 2.16892000 + 10 0.209668 -1.06267100 + 11 0.103660 -1.21815100 + 12 0.050630 0.34080900 + 13 0.024201 0.71332200 +S 13 + 1 68.577621 -0.00356700 + 2 34.937147 0.01000700 + 3 17.939491 0.04020200 + 4 11.262123 0.34329500 + 5 6.776264 -2.09702200 + 6 3.524091 2.80403900 + 7 1.938421 1.20663800 + 8 0.927153 -4.50572400 + 9 0.448420 2.15832500 + 10 0.209668 2.12989200 + 11 0.103660 -2.26503700 + 12 0.050630 -0.68105100 + 13 0.024201 1.25786200 +S 1 + 1 0.024201 1.00000000 +P 13 + 1 96.215967 0.00006900 + 2 49.579340 -0.00067200 + 3 25.638009 0.00819900 + 4 14.025942 -0.02710800 + 5 8.740334 -0.05302100 + 6 4.634840 0.00500200 + 7 2.553374 0.26198600 + 8 1.321166 0.43354400 + 9 0.681285 0.32494700 + 10 0.349458 0.09234200 + 11 0.172773 0.00896400 + 12 0.063300 0.00118500 + 13 0.033969 0.00010400 +P 13 + 1 96.215967 0.00004000 + 2 49.579340 -0.00013300 + 3 25.638009 -0.00095500 + 4 14.025942 0.00371900 + 5 8.740334 0.01886600 + 6 4.634840 -0.01207400 + 7 2.553374 -0.05710700 + 8 1.321166 -0.14643300 + 9 0.681285 -0.06736500 + 10 0.349458 -0.06825400 + 11 0.172773 0.40310300 + 12 0.063300 0.50266800 + 13 0.033969 0.26129100 +P 13 + 1 96.215967 -0.00005300 + 2 49.579340 0.00002300 + 3 25.638009 0.00462900 + 4 14.025942 -0.00775500 + 5 8.740334 -0.10413300 + 6 4.634840 -0.01776200 + 7 2.553374 0.72821200 + 8 1.321166 0.21882600 + 9 0.681285 -0.49322300 + 10 0.349458 -0.83819200 + 11 0.172773 0.39840100 + 12 0.063300 0.66458900 + 13 0.033969 0.03301100 +P 13 + 1 96.215967 -0.00126200 + 2 49.579340 0.00641900 + 3 25.638009 -0.02122900 + 4 14.025942 0.11577700 + 5 8.740334 -0.42074000 + 6 4.634840 0.19774200 + 7 2.553374 1.57560000 + 8 1.321166 -1.06791300 + 9 0.681285 -1.31008300 + 10 0.349458 1.19114700 + 11 0.172773 0.55051600 + 12 0.063300 -0.71878800 + 13 0.033969 -0.15744100 +P 13 + 1 96.215967 -0.00478000 + 2 49.579340 0.02531200 + 3 25.638009 -0.09426700 + 4 14.025942 0.43789600 + 5 8.740334 -1.44316600 + 6 4.634840 2.63678000 + 7 2.553374 -0.38243600 + 8 1.321166 -2.76188100 + 9 0.681285 2.15975600 + 10 0.349458 0.67615100 + 11 0.172773 -1.62151700 + 12 0.063300 0.42916400 + 13 0.033969 0.40017800 +P 1 + 1 0.033969 1.00000000 +D 11 + 1 89.989649 0.00005100 + 2 33.132961 0.00480400 + 3 15.879656 0.02948500 + 4 7.465803 0.08624900 + 5 3.551993 0.17972800 + 6 1.728185 0.26185000 + 7 0.850498 0.29179400 + 8 0.417673 0.25935600 + 9 0.201523 0.17494400 + 10 0.100711 0.06227800 + 11 0.058959 0.02765300 +D 11 + 1 89.989649 -0.00003800 + 2 33.132961 -0.00459000 + 3 15.879656 -0.02756300 + 4 7.465803 -0.08277500 + 5 3.551993 -0.17349400 + 6 1.728185 -0.23618800 + 7 0.850498 -0.14922600 + 8 0.417673 0.04414500 + 9 0.201523 0.39050000 + 10 0.100711 0.20306400 + 11 0.058959 0.39800200 +D 11 + 1 89.989649 0.00012800 + 2 33.132961 0.00665200 + 3 15.879656 0.04463500 + 4 7.465803 0.12255900 + 5 3.551993 0.31114700 + 6 1.728185 0.28881300 + 7 0.850498 -0.14224600 + 8 0.417673 -0.61373700 + 9 0.201523 -0.12391600 + 10 0.100711 -0.02023500 + 11 0.058959 0.73325900 +D 11 + 1 89.989649 0.00004500 + 2 33.132961 -0.01039400 + 3 15.879656 -0.05505100 + 4 7.465803 -0.17145700 + 5 3.551993 -0.51992200 + 6 1.728185 0.09902600 + 7 0.850498 0.82933200 + 8 0.417673 -0.07090800 + 9 0.201523 -0.47117100 + 10 0.100711 -0.87878900 + 11 0.058959 1.21174700 +D 1 + 1 0.058959 1.00000000 +F 1 + 1 0.309164 1.00000000 +F 1 + 1 1.028253 1.00000000 +F 1 + 1 3.419885 1.00000000 +G 1 + 1 0.946128 1.00000000 +G 1 + 1 3.081804 1.00000000 +H 1 + 1 2.514905 1.00000000 + +CHROMIUM +S 13 + 1 73.977737 0.00086400 + 2 37.684349 -0.01159500 + 3 19.278723 0.09046700 + 4 12.130763 -0.02483700 + 5 7.453002 -0.33040700 + 6 3.756296 -0.20059800 + 7 2.084137 0.44976600 + 8 0.993314 0.64757500 + 9 0.483094 0.22902500 + 10 0.225854 0.00921700 + 11 0.115338 0.00113200 + 12 0.052134 -0.00036700 + 13 0.023679 0.00009200 +S 13 + 1 73.977737 -0.00018300 + 2 37.684349 0.00270400 + 3 19.278723 -0.02265000 + 4 12.130763 0.00718100 + 5 7.453002 0.08770500 + 6 3.756296 0.04761600 + 7 2.084137 -0.12567200 + 8 0.993314 -0.24457100 + 9 0.483094 -0.19841900 + 10 0.225854 0.03088900 + 11 0.115338 0.42393500 + 12 0.052134 0.57694100 + 13 0.023679 0.14832300 +S 13 + 1 73.977737 -0.00032700 + 2 37.684349 0.00530900 + 3 19.278723 -0.04690500 + 4 12.130763 0.01541100 + 5 7.453002 0.19169700 + 6 3.756296 0.09975900 + 7 2.084137 -0.33899400 + 8 0.993314 -0.69580600 + 9 0.483094 -0.00731500 + 10 0.225854 1.11859900 + 11 0.115338 0.71725700 + 12 0.052134 -0.86856500 + 13 0.023679 -0.46718600 +S 13 + 1 73.977737 -0.00069800 + 2 37.684349 0.01020700 + 3 19.278723 -0.09126100 + 4 12.130763 0.05220700 + 5 7.453002 0.34216400 + 6 3.756296 0.17486600 + 7 2.084137 -0.99425800 + 8 0.993314 -1.19060400 + 9 0.483094 2.27183400 + 10 0.225854 1.00301300 + 11 0.115338 -2.60523500 + 12 0.052134 0.26515800 + 13 0.023679 0.90228600 +S 13 + 1 73.977737 0.00298300 + 2 37.684349 -0.02696900 + 3 19.278723 0.19930400 + 4 12.130763 -0.25709400 + 5 7.453002 -0.31292400 + 6 3.756296 -0.37282300 + 7 2.084137 2.61267600 + 8 0.993314 -1.10831900 + 9 0.483094 -3.52097300 + 10 0.225854 5.38631500 + 11 0.115338 -1.94819200 + 12 0.052134 -1.98569900 + 13 0.023679 1.70618700 +S 1 + 1 0.023679 1.00000000 +P 13 + 1 101.951240 0.00008800 + 2 52.309865 -0.00074700 + 3 27.142574 0.00713500 + 4 15.066862 -0.01470200 + 5 9.693669 -0.07335300 + 6 4.985710 0.01200700 + 7 2.761266 0.28311700 + 8 1.417673 0.44078600 + 9 0.728201 0.30677500 + 10 0.378189 0.08180400 + 11 0.189359 0.00883900 + 12 0.072301 0.00102200 + 13 0.037471 0.00032500 +P 13 + 1 101.951240 0.00002800 + 2 52.309865 -0.00008500 + 3 27.142574 -0.00075100 + 4 15.066862 0.00084400 + 5 9.693669 0.02265600 + 6 4.985710 -0.01278100 + 7 2.761266 -0.06238600 + 8 1.417673 -0.14358100 + 9 0.728201 -0.06228100 + 10 0.378189 -0.05447100 + 11 0.189359 0.37713500 + 12 0.072301 0.47163300 + 13 0.037471 0.31162400 +P 13 + 1 101.951240 -0.00013700 + 2 52.309865 0.00093200 + 3 27.142574 -0.00684500 + 4 15.066862 0.01983100 + 5 9.693669 0.04364700 + 6 4.985710 -0.01928900 + 7 2.761266 -0.28118700 + 8 1.417673 -0.37029800 + 9 0.728201 -0.19987300 + 10 0.378189 1.02855200 + 11 0.189359 0.42371100 + 12 0.072301 -0.80092600 + 13 0.037471 -0.14191000 +P 13 + 1 101.951240 0.00002700 + 2 52.309865 0.00018000 + 3 27.142574 -0.00574200 + 4 15.066862 0.02041900 + 5 9.693669 0.10052700 + 6 4.985710 -0.10060800 + 7 2.761266 -0.60774600 + 8 1.417673 -0.60170500 + 9 0.728201 1.45090500 + 10 0.378189 0.67229900 + 11 0.189359 -1.90482300 + 12 0.072301 0.66581400 + 13 0.037471 0.34852200 +P 13 + 1 101.951240 0.00053400 + 2 52.309865 -0.00333900 + 3 27.142574 0.01766200 + 4 15.066862 -0.08424900 + 5 9.693669 -0.08077700 + 6 4.985710 0.27239200 + 7 2.761266 1.31045500 + 8 1.417673 -1.06179300 + 9 0.728201 -2.37680500 + 10 0.378189 4.47731700 + 11 0.189359 -2.79579800 + 12 0.072301 0.20300800 + 13 0.037471 0.57055500 +P 1 + 1 0.037471 1.00000000 +D 11 + 1 120.683729 -0.00000600 + 2 42.646591 0.00311100 + 3 21.154405 0.02864100 + 4 9.708242 0.07622200 + 5 4.614990 0.17059500 + 6 2.243726 0.26690800 + 7 1.086491 0.31103900 + 8 0.524700 0.26731200 + 9 0.255752 0.16333600 + 10 0.121497 0.06278200 + 11 0.054339 0.00787200 +D 11 + 1 120.683729 0.00001700 + 2 42.646591 -0.00357600 + 3 21.154405 -0.03147600 + 4 9.708242 -0.08758300 + 5 4.614990 -0.19574000 + 6 2.243726 -0.27013200 + 7 1.086491 -0.17003400 + 8 0.524700 0.14341200 + 9 0.255752 0.40868700 + 10 0.121497 0.37025700 + 11 0.054339 0.12311200 +D 11 + 1 120.683729 0.00004000 + 2 42.646591 -0.00518100 + 3 21.154405 -0.04339300 + 4 9.708242 -0.12773400 + 5 4.614990 -0.28207000 + 6 2.243726 -0.28839000 + 7 1.086491 0.16826900 + 8 0.524700 0.67306200 + 9 0.255752 0.09919600 + 10 0.121497 -0.57061200 + 11 0.054339 -0.29719700 +D 11 + 1 120.683729 0.00011900 + 2 42.646591 -0.00795400 + 3 21.154405 -0.06042500 + 4 9.708242 -0.19681000 + 5 4.614990 -0.40138900 + 6 2.243726 -0.07218600 + 7 1.086491 0.94089500 + 8 0.524700 0.03586300 + 9 0.255752 -1.15352900 + 10 0.121497 0.43219200 + 11 0.054339 0.48316100 +D 1 + 1 0.054339 1.00000000 +F 1 + 1 0.342104 1.00000000 +F 1 + 1 1.160895 1.00000000 +F 1 + 1 3.939379 1.00000000 +G 1 + 1 0.715513 1.00000000 +G 1 + 1 2.693396 1.00000000 +H 1 + 1 1.706513 1.00000000 + +MANGANESE +S 13 + 1 76.008334 0.00099300 + 2 39.277974 -0.01479600 + 3 20.405805 0.12071000 + 4 12.218680 -0.12400100 + 5 7.182690 -0.32020000 + 6 3.850780 -0.10562200 + 7 2.142489 0.47272100 + 8 1.049631 0.62038700 + 9 0.508682 0.20455300 + 10 0.192243 0.00592400 + 11 0.108899 -0.00009700 + 12 0.053425 -0.00018500 + 13 0.025236 0.00006100 +S 13 + 1 76.008334 -0.00019900 + 2 39.277974 0.00335200 + 3 20.405805 -0.02941300 + 4 12.218680 0.03209100 + 5 7.182690 0.08315200 + 6 3.850780 0.02128300 + 7 2.142489 -0.12998900 + 8 1.049631 -0.23900600 + 9 0.508682 -0.18031500 + 10 0.192243 0.11014800 + 11 0.108899 0.40442600 + 12 0.053425 0.51730700 + 13 0.025236 0.14813900 +S 13 + 1 76.008334 -0.00009100 + 2 39.277974 0.00537400 + 3 20.405805 -0.05849400 + 4 12.218680 0.05634500 + 5 7.182690 0.22787400 + 6 3.850780 -0.00842000 + 7 2.142489 -0.32077700 + 8 1.049631 -0.81313700 + 9 0.508682 0.32647500 + 10 0.192243 1.44754000 + 11 0.108899 0.02132100 + 12 0.053425 -0.67832300 + 13 0.025236 -0.45282800 +S 13 + 1 76.008334 -0.00052600 + 2 39.277974 0.01138000 + 3 20.405805 -0.11603400 + 4 12.218680 0.14932900 + 5 7.182690 0.36015400 + 6 3.850780 0.02517400 + 7 2.142489 -1.17012500 + 8 1.049631 -0.87212300 + 9 0.508682 2.55063300 + 10 0.192243 0.09034300 + 11 0.108899 -2.21058800 + 12 0.053425 0.47058200 + 13 0.025236 0.83217500 +S 13 + 1 76.008334 0.00409700 + 2 39.277974 -0.03635300 + 3 20.405805 0.26570800 + 4 12.218680 -0.48518700 + 5 7.182690 -0.23228800 + 6 3.850780 -0.24179800 + 7 2.142489 3.38791800 + 8 1.049631 -3.26857300 + 9 0.508682 -0.83790100 + 10 0.192243 5.26227100 + 11 0.108899 -4.29984700 + 12 0.053425 -0.44524000 + 13 0.025236 1.29402600 +S 1 + 1 0.025236 1.00000000 +P 13 + 1 113.479709 0.00010300 + 2 58.160819 -0.00089400 + 3 30.043076 0.00884400 + 4 16.753323 -0.01968500 + 5 10.705604 -0.06919000 + 6 5.557903 0.01150800 + 7 3.080151 0.28231300 + 8 1.582963 0.43867800 + 9 0.810922 0.30984300 + 10 0.413396 0.08394500 + 11 0.195480 0.00751700 + 12 0.072688 0.00110000 + 13 0.035877 0.00029000 +P 13 + 1 113.479709 0.00001900 + 2 58.160819 -0.00002400 + 3 30.043076 -0.00122400 + 4 16.753323 0.00232000 + 5 10.705604 0.02075800 + 6 5.557903 -0.01157200 + 7 3.080151 -0.06291900 + 8 1.582963 -0.13675400 + 9 0.810922 -0.06729500 + 10 0.413396 -0.03102400 + 11 0.195480 0.37898100 + 12 0.072688 0.50782400 + 13 0.035877 0.26094100 +P 13 + 1 113.479709 -0.00019700 + 2 58.160819 0.00135400 + 3 30.043076 -0.01010200 + 4 16.753323 0.03060300 + 5 10.705604 0.04620000 + 6 5.557903 -0.01758800 + 7 3.080151 -0.39592000 + 8 1.582963 -0.41909300 + 9 0.810922 0.07501700 + 10 0.413396 1.09298600 + 11 0.195480 0.00868000 + 12 0.072688 -0.75636900 + 13 0.035877 -0.04514900 +P 13 + 1 113.479709 0.00001400 + 2 58.160819 0.00042100 + 3 30.043076 -0.00857300 + 4 16.753323 0.03879700 + 5 10.705604 0.09933800 + 6 5.557903 -0.14444500 + 7 3.080151 -0.82118200 + 8 1.582963 -0.25078500 + 9 0.810922 1.79017000 + 10 0.413396 -0.39954700 + 11 0.195480 -1.29438200 + 12 0.072688 0.84704700 + 13 0.035877 0.15171000 +P 13 + 1 113.479709 -0.00021400 + 2 58.160819 0.00186900 + 3 30.043076 -0.01439900 + 4 16.753323 0.08866300 + 5 10.705604 0.11611700 + 6 5.557903 -0.47666500 + 7 3.080151 -1.47189600 + 8 1.582963 2.46363500 + 9 0.810922 0.10250800 + 10 0.413396 -2.77460100 + 11 0.195480 2.43625400 + 12 0.072688 -0.61701900 + 13 0.035877 -0.32367600 +P 1 + 1 0.035877 1.00000000 +D 11 + 1 132.688182 0.00003000 + 2 45.266024 0.00529400 + 3 23.267336 0.02914300 + 4 10.605694 0.07677500 + 5 5.074684 0.16855100 + 6 2.469857 0.25683200 + 7 1.205883 0.28989100 + 8 0.590569 0.25715400 + 9 0.292055 0.18172600 + 10 0.149190 0.08998600 + 11 0.076511 0.03459500 +D 11 + 1 132.688182 -0.00002100 + 2 45.266024 -0.00544900 + 3 23.267336 -0.02903200 + 4 10.605694 -0.07982500 + 5 5.074684 -0.17441500 + 6 2.469857 -0.25340400 + 7 1.205883 -0.17430500 + 8 0.590569 0.04508100 + 9 0.292055 0.34576000 + 10 0.149190 0.26372500 + 11 0.076511 0.37171500 +D 11 + 1 132.688182 0.00006000 + 2 45.266024 0.00838500 + 3 23.267336 0.04580000 + 4 10.605694 0.12921500 + 5 5.074684 0.28432700 + 6 2.469857 0.27076000 + 7 1.205883 -0.10159100 + 8 0.590569 -0.58067700 + 9 0.292055 -0.18169600 + 10 0.149190 0.02100300 + 11 0.076511 0.72365800 +D 11 + 1 132.688182 -0.00003700 + 2 45.266024 -0.01080900 + 3 23.267336 -0.05558200 + 4 10.605694 -0.17205300 + 5 5.074684 -0.38188900 + 6 2.469857 -0.13039900 + 7 1.205883 0.81899300 + 8 0.590569 0.18014500 + 9 0.292055 -0.60472000 + 10 0.149190 -0.73358400 + 11 0.076511 1.05874100 +D 1 + 1 0.076511 1.00000000 +F 1 + 1 0.405052 1.00000000 +F 1 + 1 1.369701 1.00000000 +F 1 + 1 4.631705 1.00000000 +G 1 + 1 0.893773 1.00000000 +G 1 + 1 3.265719 1.00000000 +H 1 + 1 2.093484 1.00000000 + +IRON +S 13 + 1 84.322332 0.00078500 + 2 44.203528 -0.01278100 + 3 23.288963 0.10463500 + 4 13.385163 -0.11938500 + 5 7.518052 -0.33980400 + 6 4.101835 -0.04999400 + 7 2.253571 0.47695500 + 8 1.134924 0.59322200 + 9 0.561550 0.20015100 + 10 0.201961 0.00859100 + 11 0.108698 -0.00218800 + 12 0.053619 0.00067700 + 13 0.025823 -0.00014400 +S 13 + 1 84.322332 -0.00016200 + 2 44.203528 0.00292100 + 3 23.288963 -0.02546600 + 4 13.385163 0.03118200 + 5 7.518052 0.08684900 + 6 4.101835 0.00684600 + 7 2.253571 -0.13185600 + 8 1.134924 -0.22774600 + 9 0.561550 -0.17307900 + 10 0.201961 0.13614200 + 11 0.108698 0.43401300 + 12 0.053619 0.47755500 + 13 0.025823 0.12880400 +S 13 + 1 84.322332 0.00000200 + 2 44.203528 0.00410300 + 3 23.288963 -0.04684000 + 4 13.385163 0.05283300 + 5 7.518052 0.21809400 + 6 4.101835 -0.04499900 + 7 2.253571 -0.28738600 + 8 1.134924 -0.71322000 + 9 0.561550 0.24917400 + 10 0.201961 1.29987200 + 11 0.108698 0.19211900 + 12 0.053619 -0.65861600 + 13 0.025823 -0.52104700 +S 13 + 1 84.322332 0.00001200 + 2 44.203528 0.00759800 + 3 23.288963 -0.09413300 + 4 13.385163 0.12765500 + 5 7.518052 0.43559800 + 6 4.101835 -0.14791100 + 7 2.253571 -1.08447700 + 8 1.134924 -0.88700300 + 9 0.561550 2.44994600 + 10 0.201961 0.16797600 + 11 0.108698 -2.11466800 + 12 0.053619 0.45257900 + 13 0.025823 0.80144400 +S 13 + 1 84.322332 0.00330100 + 2 44.203528 -0.02919700 + 3 23.288963 0.21322700 + 4 13.385163 -0.40810900 + 5 7.518052 -0.38565100 + 6 4.101835 0.16809300 + 7 2.253571 3.10252900 + 8 1.134924 -3.36044600 + 9 0.561550 -0.53161900 + 10 0.201961 4.49398100 + 11 0.108698 -3.68975000 + 12 0.053619 -0.51060400 + 13 0.025823 1.30102100 +S 1 + 1 0.025823 1.00000000 +P 13 + 1 125.092775 0.00005600 + 2 65.211589 -0.00057200 + 3 34.437599 0.00738800 + 4 18.930704 -0.02848100 + 5 10.873415 -0.06300500 + 6 6.012172 0.02485500 + 7 3.372205 0.27747400 + 8 1.768641 0.42538600 + 9 0.914516 0.31414500 + 10 0.460895 0.09042200 + 11 0.204490 0.00697700 + 12 0.074741 0.00115400 + 13 0.035671 0.00030300 +P 13 + 1 125.092775 0.00002500 + 2 65.211589 -0.00007000 + 3 34.437599 -0.00104200 + 4 18.930704 0.00512700 + 5 10.873415 0.01840400 + 6 6.012172 -0.01469200 + 7 3.372205 -0.06130700 + 8 1.768641 -0.12863800 + 9 0.914516 -0.07063700 + 10 0.460895 -0.01631400 + 11 0.204490 0.38070200 + 12 0.074741 0.52307100 + 13 0.035671 0.23576500 +P 13 + 1 125.092775 -0.00019700 + 2 65.211589 0.00125100 + 3 34.437599 -0.00915400 + 4 18.930704 0.03820100 + 5 10.873415 0.04309700 + 6 6.012172 -0.02947500 + 7 3.372205 -0.42699600 + 8 1.768641 -0.39484000 + 9 0.914516 0.07723000 + 10 0.460895 1.11988100 + 11 0.204490 -0.06649400 + 12 0.074741 -0.72158300 + 13 0.035671 -0.00569500 +P 13 + 1 125.092775 0.00026400 + 2 65.211589 -0.00107600 + 3 34.437599 -0.00259100 + 4 18.930704 0.03551900 + 5 10.873415 0.11955400 + 6 6.012172 -0.20471400 + 7 3.372205 -0.76062700 + 8 1.768641 -0.26274000 + 9 0.914516 1.77903000 + 10 0.460895 -0.46274200 + 11 0.204490 -1.24103000 + 12 0.074741 0.94098700 + 13 0.035671 0.08349600 +P 13 + 1 125.092775 -0.00008400 + 2 65.211589 0.00076800 + 3 34.437599 -0.00948500 + 4 18.930704 0.08806200 + 5 10.873415 0.15619100 + 6 6.012172 -0.61916600 + 7 3.372205 -1.38553400 + 8 1.768641 2.49212500 + 9 0.914516 0.00807600 + 10 0.460895 -2.49951500 + 11 0.204490 2.26557600 + 12 0.074741 -0.74834200 + 13 0.035671 -0.21159800 +P 1 + 1 0.035671 1.00000000 +D 11 + 1 152.736742 0.00002900 + 2 50.772485 0.00523800 + 3 26.253589 0.02932500 + 4 12.137022 0.07490100 + 5 5.853719 0.16341100 + 6 2.856224 0.25105700 + 7 1.386132 0.28760300 + 8 0.670802 0.25186200 + 9 0.330280 0.18673600 + 10 0.170907 0.09357000 + 11 0.086794 0.07381100 +D 11 + 1 152.736742 -0.00002600 + 2 50.772485 -0.00632900 + 3 26.253589 -0.03439800 + 4 12.137022 -0.09176500 + 5 5.853719 -0.20159200 + 6 2.856224 -0.28393000 + 7 1.386132 -0.16198100 + 8 0.670802 0.12882200 + 9 0.330280 0.36016000 + 10 0.170907 0.27759200 + 11 0.086794 0.26140300 +D 11 + 1 152.736742 0.00005100 + 2 50.772485 0.00876900 + 3 26.253589 0.04792100 + 4 12.137022 0.13247500 + 5 5.853719 0.29727900 + 6 2.856224 0.27501800 + 7 1.386132 -0.22284200 + 8 0.670802 -0.61906700 + 9 0.330280 -0.07629000 + 10 0.170907 0.25605600 + 11 0.086794 0.54148200 +D 11 + 1 152.736742 -0.00009600 + 2 50.772485 -0.01214400 + 3 26.253589 -0.06697100 + 4 12.137022 -0.19602500 + 5 5.853719 -0.46900300 + 6 2.856224 0.04656000 + 7 1.386132 0.98594000 + 8 0.670802 -0.22043500 + 9 0.330280 -0.75248200 + 10 0.170907 -0.11112300 + 11 0.086794 0.75310000 +D 1 + 1 0.086794 1.00000000 +F 1 + 1 0.486122 1.00000000 +F 1 + 1 1.630591 1.00000000 +F 1 + 1 5.469463 1.00000000 +G 1 + 1 1.093014 1.00000000 +G 1 + 1 3.889759 1.00000000 +H 1 + 1 2.480792 1.00000000 + +COBALT +S 13 + 1 90.663831 0.00077400 + 2 46.961414 -0.01131600 + 3 24.110274 0.10120900 + 4 14.430881 -0.08164200 + 5 8.757423 -0.35481200 + 6 4.484459 -0.09036200 + 7 2.519739 0.49817400 + 8 1.236850 0.60412300 + 9 0.601882 0.19077500 + 10 0.223338 0.00657800 + 11 0.123422 -0.00090500 + 12 0.059941 0.00017100 + 13 0.027978 -0.00002500 +S 13 + 1 90.663831 -0.00015400 + 2 46.961414 0.00252500 + 3 24.110274 -0.02444300 + 4 14.430881 0.02220000 + 5 8.757423 0.08841600 + 6 4.484459 0.01682000 + 7 2.519739 -0.13458200 + 8 1.236850 -0.23129500 + 9 0.601882 -0.16398600 + 10 0.223338 0.12133700 + 11 0.123422 0.40241400 + 12 0.059941 0.50611300 + 13 0.027978 0.14543600 +S 13 + 1 90.663831 -0.00004700 + 2 46.961414 0.00365400 + 3 24.110274 -0.04613200 + 4 14.430881 0.03648300 + 5 8.757423 0.21726500 + 6 4.484459 -0.01188300 + 7 2.519739 -0.32468800 + 8 1.236850 -0.68058100 + 9 0.601882 0.25693600 + 10 0.223338 1.22400500 + 11 0.123422 0.23683700 + 12 0.059941 -0.60406400 + 13 0.027978 -0.57494700 +S 13 + 1 90.663831 -0.00023100 + 2 46.961414 0.00753600 + 3 24.110274 -0.09729800 + 4 14.430881 0.11161100 + 5 8.757423 0.40362100 + 6 4.484459 -0.04832400 + 7 2.519739 -1.15760000 + 8 1.236850 -0.75683900 + 9 0.601882 2.31368300 + 10 0.223338 0.25307400 + 11 0.123422 -1.99146600 + 12 0.059941 0.16694200 + 13 0.027978 0.91722100 +S 13 + 1 90.663831 0.00280900 + 2 46.961414 -0.02445900 + 3 24.110274 0.21171700 + 4 14.430881 -0.38745200 + 5 8.757423 -0.36690900 + 6 4.484459 0.13914300 + 7 2.519739 2.83452700 + 8 1.236850 -2.90639800 + 9 0.601882 -0.80689600 + 10 0.223338 4.33605500 + 11 0.123422 -2.91360700 + 12 0.059941 -1.25330700 + 13 0.027978 1.50957200 +S 1 + 1 0.027978 1.00000000 +P 13 + 1 139.038145 0.00007500 + 2 71.928971 -0.00062700 + 3 37.806311 0.00571900 + 4 21.054252 -0.00931000 + 5 12.973193 -0.08385700 + 6 6.791461 0.01239400 + 7 3.794018 0.28198700 + 8 1.960649 0.43417900 + 9 1.006283 0.31340900 + 10 0.509539 0.08977800 + 11 0.233091 0.00740500 + 12 0.083890 0.00098000 + 13 0.039802 0.00027400 +P 13 + 1 139.038145 0.00002500 + 2 71.928971 -0.00008400 + 3 37.806311 -0.00048500 + 4 21.054252 0.00009500 + 5 12.973193 0.02240200 + 6 6.791461 -0.01153400 + 7 3.794018 -0.05686600 + 8 1.960649 -0.12607000 + 9 1.006283 -0.06088900 + 10 0.509539 -0.03508600 + 11 0.233091 0.35184700 + 12 0.083890 0.51044900 + 13 0.039802 0.28970700 +P 13 + 1 139.038145 -0.00023800 + 2 71.928971 0.00148900 + 3 37.806311 -0.00872300 + 4 21.054252 0.02453800 + 5 12.973193 0.06085600 + 6 6.791461 -0.02038000 + 7 3.794018 -0.43019500 + 8 1.960649 -0.40769200 + 9 1.006283 0.08532600 + 10 0.509539 1.07332600 + 11 0.233091 0.01506700 + 12 0.083890 -0.71963100 + 13 0.039802 -0.02460300 +P 13 + 1 139.038145 -0.00005500 + 2 71.928971 -0.00001700 + 3 37.806311 0.00432000 + 4 21.054252 -0.02133900 + 5 12.973193 -0.12713400 + 6 6.791461 0.15720800 + 7 3.794018 0.79492700 + 8 1.960649 0.23357400 + 9 1.006283 -1.66603300 + 10 0.509539 0.28271600 + 11 0.233091 1.33562500 + 12 0.083890 -0.88546900 + 13 0.039802 -0.13034000 +P 13 + 1 139.038145 0.00005200 + 2 71.928971 0.00014400 + 3 37.806311 -0.00506500 + 4 21.054252 0.05166200 + 5 12.973193 0.20930600 + 6 6.791461 -0.63605200 + 7 3.794018 -1.33476100 + 8 1.960649 2.33740900 + 9 1.006283 0.19062400 + 10 0.509539 -2.65784100 + 11 0.233091 2.26444400 + 12 0.083890 -0.61258400 + 13 0.039802 -0.27662000 +P 1 + 1 0.039802 1.00000000 +D 11 + 1 160.444504 0.00003400 + 2 52.598830 0.00655300 + 3 27.491581 0.03618500 + 4 12.745988 0.08302600 + 5 6.184310 0.17696000 + 6 3.029146 0.26399000 + 7 1.474099 0.29244700 + 8 0.714391 0.24959700 + 9 0.348520 0.17163700 + 10 0.174166 0.08064900 + 11 0.087891 0.04121200 +D 11 + 1 160.444504 -0.00003100 + 2 52.598830 -0.00786900 + 3 27.491581 -0.04199200 + 4 12.745988 -0.10138800 + 5 6.184310 -0.21699600 + 6 3.029146 -0.28396200 + 7 1.474099 -0.12717900 + 8 0.714391 0.17712500 + 9 0.348520 0.37559600 + 10 0.174166 0.28463100 + 11 0.087891 0.20027700 +D 11 + 1 160.444504 0.00004800 + 2 52.598830 0.01053100 + 3 27.491581 0.05555900 + 4 12.745988 0.14075800 + 5 6.184310 0.30578500 + 6 3.029146 0.24281200 + 7 1.474099 -0.28504400 + 8 0.714391 -0.59481900 + 9 0.348520 -0.01793700 + 10 0.174166 0.34815000 + 11 0.087891 0.45517000 +D 11 + 1 160.444504 -0.00007000 + 2 52.598830 -0.01526900 + 3 27.491581 -0.07877000 + 4 12.745988 -0.21855600 + 5 6.184310 -0.47927100 + 6 3.029146 0.17362300 + 7 1.474099 0.95417300 + 8 0.714391 -0.34849000 + 9 0.348520 -0.73737100 + 10 0.174166 0.07194100 + 11 0.087891 0.64488200 +D 1 + 1 0.087891 1.00000000 +F 1 + 1 0.574342 1.00000000 +F 1 + 1 1.905783 1.00000000 +F 1 + 1 6.323772 1.00000000 +G 1 + 1 1.312433 1.00000000 +G 1 + 1 4.581075 1.00000000 +H 1 + 1 2.901601 1.00000000 + +NICKEL +S 13 + 1 97.161835 0.00070900 + 2 51.187866 -0.01239900 + 3 26.996725 0.10722000 + 4 15.523536 -0.12455600 + 5 8.916168 -0.35102300 + 6 4.795806 -0.02575800 + 7 2.619926 0.49894800 + 8 1.330111 0.56898600 + 9 0.668901 0.19112100 + 10 0.230439 0.01027800 + 11 0.121518 -0.00362700 + 12 0.057951 0.00129500 + 13 0.027201 -0.00030700 +S 13 + 1 97.161835 -0.00014000 + 2 51.187866 0.00275600 + 3 26.996725 -0.02548200 + 4 15.523536 0.03218200 + 5 8.916168 0.08622600 + 6 4.795806 0.00110400 + 7 2.619926 -0.13579000 + 8 1.330111 -0.21572400 + 9 0.668901 -0.15836700 + 10 0.230439 0.14349900 + 11 0.121518 0.44367200 + 12 0.057951 0.47255800 + 13 0.027201 0.11017300 +S 13 + 1 97.161835 0.00012100 + 2 51.187866 0.00332200 + 3 26.996725 -0.04578500 + 4 15.523536 0.05341500 + 5 8.916168 0.22227000 + 6 4.795806 -0.07306500 + 7 2.619926 -0.29399800 + 8 1.330111 -0.66893800 + 9 0.668901 0.29750400 + 10 0.230439 1.23374800 + 11 0.121518 0.12931700 + 12 0.057951 -0.60340700 + 13 0.027201 -0.53306200 +S 13 + 1 97.161835 0.00043400 + 2 51.187866 0.00484800 + 3 26.996725 -0.08781800 + 4 15.523536 0.12185200 + 5 8.916168 0.45421800 + 6 4.795806 -0.24576500 + 7 2.619926 -0.99734500 + 8 1.330111 -0.83458600 + 9 0.668901 2.28567500 + 10 0.230439 0.25153800 + 11 0.121518 -1.98879600 + 12 0.057951 0.34760200 + 13 0.027201 0.82415000 +S 13 + 1 97.161835 0.00246100 + 2 51.187866 -0.02346000 + 3 26.996725 0.19859000 + 4 15.523536 -0.40252500 + 5 8.916168 -0.40556800 + 6 4.795806 0.38789300 + 7 2.619926 2.68467900 + 8 1.330111 -2.95595600 + 9 0.668901 -0.66746700 + 10 0.230439 4.09407400 + 11 0.121518 -3.10335500 + 12 0.057951 -0.76872800 + 13 0.027201 1.33121700 +S 1 + 1 0.027201 1.00000000 +P 13 + 1 148.087630 0.00005500 + 2 77.452187 -0.00054800 + 3 40.915636 0.00697900 + 4 22.575667 -0.02365800 + 5 13.218268 -0.07568200 + 6 7.232093 0.02725300 + 7 4.054870 0.28477800 + 8 2.122089 0.42763200 + 9 1.092769 0.30993700 + 10 0.548240 0.08853500 + 11 0.238886 0.00642700 + 12 0.084667 0.00070800 + 13 0.038921 0.00018600 +P 13 + 1 148.087630 0.00002700 + 2 77.452187 -0.00008800 + 3 40.915636 -0.00077300 + 4 22.575667 0.00334500 + 5 13.218268 0.01940500 + 6 7.232093 -0.01428800 + 7 4.054870 -0.05452700 + 8 2.122089 -0.11645400 + 9 1.092769 -0.06023600 + 10 0.548240 -0.02392800 + 11 0.238886 0.34786900 + 12 0.084667 0.52262600 + 13 0.038921 0.27647100 +P 13 + 1 148.087630 -0.00023700 + 2 77.452187 0.00145600 + 3 40.915636 -0.00974500 + 4 22.575667 0.03779900 + 5 13.218268 0.05252100 + 6 7.232093 -0.03500600 + 7 4.054870 -0.45557700 + 8 2.122089 -0.36830600 + 9 1.092769 0.10039200 + 10 0.548240 1.07665200 + 11 0.238886 -0.04532600 + 12 0.084667 -0.70318600 + 13 0.038921 0.00458000 +P 13 + 1 148.087630 -0.00026000 + 2 77.452187 0.00107100 + 3 40.915636 0.00232200 + 4 22.575667 -0.03214000 + 5 13.218268 -0.13413600 + 6 7.232093 0.22906200 + 7 4.054870 0.75223900 + 8 2.122089 0.20553500 + 9 1.092769 -1.69291000 + 10 0.548240 0.43629500 + 11 0.238886 1.21951400 + 12 0.084667 -0.94551600 + 13 0.038921 -0.06223200 +P 13 + 1 148.087630 0.00008000 + 2 77.452187 -0.00010100 + 3 40.915636 -0.00649200 + 4 22.575667 0.08312900 + 5 13.218268 0.19539300 + 6 7.232093 -0.76580600 + 7 4.054870 -1.20601700 + 8 2.122089 2.42444400 + 9 1.092769 -0.07938700 + 10 0.548240 -2.32544900 + 11 0.238886 2.12913300 + 12 0.084667 -0.73358500 + 13 0.038921 -0.18044400 +P 1 + 1 0.038921 1.00000000 +D 11 + 1 177.900125 0.00004900 + 2 57.372112 0.00751900 + 3 29.881432 0.03645500 + 4 13.971757 0.08690100 + 5 6.841152 0.18056800 + 6 3.379983 0.26818700 + 7 1.651827 0.29675600 + 8 0.799251 0.25155800 + 9 0.388057 0.16231900 + 10 0.191191 0.07211900 + 11 0.093358 0.02368900 +D 11 + 1 177.900125 -0.00005300 + 2 57.372112 -0.00885000 + 3 29.881432 -0.04191600 + 4 13.971757 -0.10469100 + 5 6.841152 -0.21946400 + 6 3.379983 -0.28371200 + 7 1.651827 -0.12212700 + 8 0.799251 0.19012300 + 9 0.388057 0.37659800 + 10 0.191191 0.29512200 + 11 0.093358 0.17825200 +D 11 + 1 177.900125 0.00007900 + 2 57.372112 0.01144200 + 3 29.881432 0.05397200 + 4 13.971757 0.14106800 + 5 6.841152 0.30229400 + 6 3.379983 0.23655800 + 7 1.651827 -0.29131100 + 8 0.799251 -0.58175800 + 9 0.388057 -0.02406300 + 10 0.191191 0.38938700 + 11 0.093358 0.43083300 +D 11 + 1 177.900125 -0.00012400 + 2 57.372112 -0.01660200 + 3 29.881432 -0.07753300 + 4 13.971757 -0.22182600 + 5 6.841152 -0.48165800 + 6 3.379983 0.18244700 + 7 1.651827 0.94562600 + 8 0.799251 -0.33424100 + 9 0.388057 -0.76116400 + 10 0.191191 0.13681600 + 11 0.093358 0.60078500 +D 1 + 1 0.093358 1.00000000 +F 1 + 1 0.659980 1.00000000 +F 1 + 1 2.182234 1.00000000 +F 1 + 1 7.215589 1.00000000 +G 1 + 1 1.549000 1.00000000 +G 1 + 1 5.290163 1.00000000 +H 1 + 1 3.361535 1.00000000 + +COPPER +S 13 + 1 104.471138 0.00074100 + 2 55.955221 -0.01395300 + 3 30.553953 0.10526600 + 4 16.942394 -0.12939900 + 5 9.452707 -0.36273800 + 6 5.174537 0.01326600 + 7 2.779171 0.48928800 + 8 1.441817 0.56208800 + 9 0.710674 0.19004700 + 10 0.241540 0.00563500 + 11 0.129621 -0.00058200 + 12 0.059229 -0.00002400 + 13 0.027110 0.00003000 +S 13 + 1 104.471138 -0.00013300 + 2 55.955221 0.00299900 + 3 30.553953 -0.02431000 + 4 16.942394 0.03198600 + 5 9.452707 0.08914900 + 6 5.174537 -0.01075000 + 7 2.779171 -0.12822400 + 8 1.441817 -0.21572000 + 9 0.710674 -0.14955900 + 10 0.241540 0.14291700 + 11 0.129621 0.44630700 + 12 0.059229 0.48464300 + 13 0.027110 0.09306900 +S 13 + 1 104.471138 0.00021000 + 2 55.955221 0.00380600 + 3 30.553953 -0.04731200 + 4 16.942394 0.05995700 + 5 9.452707 0.25064200 + 6 5.174537 -0.11910200 + 7 2.779171 -0.31406900 + 8 1.441817 -0.68930000 + 9 0.710674 0.40305000 + 10 0.241540 1.27044000 + 11 0.129621 -0.02902900 + 12 0.059229 -0.62215700 + 13 0.027110 -0.44207400 +S 13 + 1 104.471138 0.00036600 + 2 55.955221 0.00672000 + 3 30.553953 -0.09149300 + 4 16.942394 0.14226300 + 5 9.452707 0.47188100 + 6 5.174537 -0.31970800 + 7 2.779171 -1.06825500 + 8 1.441817 -0.61504900 + 9 0.710674 2.26128200 + 10 0.241540 -0.02005900 + 11 0.129621 -1.81574600 + 12 0.059229 0.47417400 + 13 0.027110 0.71359700 +S 13 + 1 104.471138 0.00267900 + 2 55.955221 -0.02626700 + 3 30.553953 0.19212900 + 4 16.942394 -0.40421800 + 5 9.452707 -0.43460200 + 6 5.174537 0.55567400 + 7 2.779171 2.61821100 + 8 1.441817 -3.20734300 + 9 0.710674 -0.33054500 + 10 0.241540 4.04196600 + 11 0.129621 -3.35549700 + 12 0.059229 -0.48399100 + 13 0.027110 1.21366400 +S 1 + 1 0.027110 1.00000000 +P 13 + 1 159.152840 0.00002600 + 2 83.322776 -0.00040200 + 3 44.840311 0.00740500 + 4 25.020360 -0.03071400 + 5 13.610016 -0.07434800 + 6 7.761318 0.04343000 + 7 4.303947 0.28970300 + 8 2.290080 0.41346700 + 9 1.202173 0.30376200 + 10 0.607647 0.09349400 + 11 0.257656 0.00666300 + 12 0.090897 0.00056700 + 13 0.041925 0.00017600 +P 13 + 1 159.152840 0.00003400 + 2 83.322776 -0.00012900 + 3 44.840311 -0.00080200 + 4 25.020360 0.00474700 + 5 13.610016 0.01859500 + 6 7.761318 -0.01769200 + 7 4.303947 -0.05261400 + 8 2.290080 -0.11034900 + 9 1.202173 -0.05470100 + 10 0.607647 -0.02665500 + 11 0.257656 0.33588000 + 12 0.090897 0.50947800 + 13 0.041925 0.30255900 +P 13 + 1 159.152840 -0.00022800 + 2 83.322776 0.00141400 + 3 44.840311 -0.01029000 + 4 25.020360 0.04389600 + 5 13.610016 0.05286500 + 6 7.761318 -0.05656500 + 7 4.303947 -0.48071500 + 8 2.290080 -0.31598400 + 9 1.202173 0.07567900 + 10 0.607647 1.06074700 + 11 0.257656 -0.00806100 + 12 0.090897 -0.70160100 + 13 0.041925 0.00694100 +P 13 + 1 159.152840 -0.00041200 + 2 83.322776 0.00195700 + 3 44.840311 0.00064000 + 4 25.020360 -0.03675300 + 5 13.610016 -0.14719300 + 6 7.761318 0.29778200 + 7 4.303947 0.70527100 + 8 2.290080 0.19646600 + 9 1.202173 -1.65940600 + 10 0.607647 0.39150000 + 11 0.257656 1.24328400 + 12 0.090897 -0.95752900 + 13 0.041925 -0.05609100 +P 13 + 1 159.152840 0.00032900 + 2 83.322776 -0.00156500 + 3 44.840311 -0.00336900 + 4 25.020360 0.08790300 + 5 13.610016 0.22132700 + 6 7.761318 -0.92400600 + 7 4.303947 -1.00731600 + 8 2.290080 2.32431200 + 9 1.202173 0.00119100 + 10 0.607647 -2.32974500 + 11 0.257656 2.05959900 + 12 0.090897 -0.70662000 + 13 0.041925 -0.18479700 +P 1 + 1 0.041925 1.00000000 +D 11 + 1 226.693527 0.00001500 + 2 73.010278 0.00410800 + 3 38.536518 0.02822300 + 4 18.726700 0.06932300 + 5 9.155485 0.15604500 + 6 4.540884 0.25123800 + 7 2.241175 0.29746300 + 8 1.085869 0.27498100 + 9 0.510612 0.19309800 + 10 0.229608 0.08639300 + 11 0.095781 0.01464500 +D 11 + 1 226.693527 -0.00001300 + 2 73.010278 -0.00525200 + 3 38.536518 -0.03498200 + 4 18.726700 -0.08895000 + 5 9.155485 -0.20719400 + 6 4.540884 -0.30259700 + 7 2.241175 -0.17932700 + 8 1.085869 0.16906900 + 9 0.510612 0.40590400 + 10 0.229608 0.34187100 + 11 0.095781 0.11708000 +D 11 + 1 226.693527 0.00001600 + 2 73.010278 0.00615700 + 3 38.536518 0.04036100 + 4 18.726700 0.10603800 + 5 9.155485 0.26329900 + 6 4.540884 0.28849600 + 7 2.241175 -0.18674500 + 8 1.085869 -0.59153900 + 9 0.510612 -0.13868100 + 10 0.229608 0.54774900 + 11 0.095781 0.36235300 +D 11 + 1 226.693527 -0.00007200 + 2 73.010278 -0.00870300 + 3 38.536518 -0.06059400 + 4 18.726700 -0.16022100 + 5 9.155485 -0.45749500 + 6 4.540884 -0.08760700 + 7 2.241175 0.95305600 + 8 1.085869 0.02518500 + 9 0.510612 -0.98463700 + 10 0.229608 0.25844200 + 11 0.095781 0.52511300 +D 1 + 1 0.095781 1.00000000 +F 1 + 1 0.771365 1.00000000 +F 1 + 1 2.515691 1.00000000 +F 1 + 1 8.204550 1.00000000 +G 1 + 1 1.798933 1.00000000 +G 1 + 1 6.136209 1.00000000 +H 1 + 1 3.867803 1.00000000 + +ZINC +S 13 + 1 114.485022 0.00042900 + 2 61.996430 -0.01933900 + 3 40.117132 0.08625400 + 4 20.119649 -0.08895500 + 5 10.171676 -0.40267100 + 6 5.601641 0.06730400 + 7 2.864122 0.47921500 + 8 1.592779 0.50396000 + 9 0.826525 0.22208800 + 10 0.263975 0.01220300 + 11 0.145302 -0.00430000 + 12 0.068195 0.00124300 + 13 0.031465 -0.00026700 +S 13 + 1 114.485022 -0.00010900 + 2 61.996430 0.00445900 + 3 40.117132 -0.02006700 + 4 20.119649 0.02233800 + 5 10.171676 0.09669800 + 6 5.601641 -0.02196600 + 7 2.864122 -0.12876800 + 8 1.592779 -0.18170600 + 9 0.826525 -0.16231100 + 10 0.263975 0.11626400 + 11 0.145302 0.41131400 + 12 0.068195 0.49425700 + 13 0.031465 0.13810300 +S 13 + 1 114.485022 0.00066600 + 2 61.996430 0.00626900 + 3 40.117132 -0.04660300 + 4 20.119649 0.05039900 + 5 10.171676 0.36349300 + 6 5.601641 -0.24284000 + 7 2.864122 -0.38228100 + 8 1.592779 -0.86156700 + 9 0.826525 0.70607700 + 10 0.263975 1.49500100 + 11 0.145302 -0.45399400 + 12 0.068195 -0.59782200 + 13 0.031465 -0.25611700 +S 13 + 1 114.485022 0.00070400 + 2 61.996430 0.01284100 + 3 40.117132 -0.08591000 + 4 20.119649 0.11798200 + 5 10.171676 0.63016400 + 6 5.601641 -0.60034400 + 7 2.864122 -1.24906000 + 8 1.592779 -0.32949800 + 9 0.826525 2.59246900 + 10 0.263975 -1.00448100 + 11 0.145302 -1.37951400 + 12 0.068195 1.04684200 + 13 0.031465 0.32467600 +S 13 + 1 114.485022 0.00561400 + 2 61.996430 -0.06659000 + 3 40.117132 0.24276300 + 4 20.119649 -0.43396800 + 5 10.171676 -0.79971200 + 6 5.601641 1.54215100 + 7 2.864122 3.08029900 + 8 1.592779 -6.19825000 + 9 0.826525 2.58176600 + 10 0.263975 3.21198800 + 11 0.145302 -4.76745700 + 12 0.068195 1.67656100 + 13 0.031465 0.27090900 +S 1 + 1 0.031465 1.00000000 +P 13 + 1 158.770986 -0.00015300 + 2 75.802876 0.00189300 + 3 44.547824 0.01046100 + 4 31.445269 -0.04514100 + 5 13.080125 -0.08420100 + 6 7.788616 0.10497300 + 7 4.195040 0.30771400 + 8 2.362276 0.36856300 + 9 1.302584 0.28633600 + 10 0.660704 0.09515600 + 11 0.249042 0.00585100 + 12 0.091781 -0.00003400 + 13 0.048931 0.00025200 +P 13 + 1 158.770986 0.00005300 + 2 75.802876 -0.00057100 + 3 44.547824 -0.00107300 + 4 31.445269 0.00746300 + 5 13.080125 0.01867600 + 6 7.788616 -0.02809000 + 7 4.195040 -0.05443800 + 8 2.362276 -0.09374400 + 9 1.302584 -0.05416900 + 10 0.660704 -0.00797200 + 11 0.249042 0.35619800 + 12 0.091781 0.41239900 + 13 0.048931 0.36132100 +P 13 + 1 158.770986 -0.00017000 + 2 75.802876 0.00060400 + 3 44.547824 -0.01998700 + 4 31.445269 0.06115300 + 5 13.080125 0.06731700 + 6 7.788616 -0.13921100 + 7 4.195040 -0.52704100 + 8 2.362276 -0.17619400 + 9 1.302584 0.03712900 + 10 0.660704 1.07932200 + 11 0.249042 -0.05014900 + 12 0.091781 -0.68897100 + 13 0.048931 0.03733100 +P 13 + 1 158.770986 -0.00078100 + 2 75.802876 0.00785500 + 3 44.547824 -0.00867100 + 4 31.445269 -0.04055300 + 5 13.080125 -0.20006200 + 6 7.788616 0.52859900 + 7 4.195040 0.52855200 + 8 2.362276 0.24357600 + 9 1.302584 -1.80718200 + 10 0.660704 0.62949600 + 11 0.249042 1.13761300 + 12 0.091781 -1.06715000 + 13 0.048931 0.02219000 +P 13 + 1 158.770986 -0.00030400 + 2 75.802876 0.00006000 + 3 44.547824 -0.03693100 + 4 31.445269 0.14601900 + 5 13.080125 0.22210400 + 6 7.788616 -1.20631000 + 7 4.195040 -0.64408400 + 8 2.362276 2.39813600 + 9 1.302584 -0.30444100 + 10 0.660704 -1.96089400 + 11 0.249042 1.89540000 + 12 0.091781 -0.82157700 + 13 0.048931 -0.13247100 +P 1 + 1 0.048931 1.00000000 +D 11 + 1 270.014061 -0.00001600 + 2 100.161579 0.00069600 + 3 43.530609 0.01353600 + 4 21.262419 0.06935000 + 5 10.577821 0.14955900 + 6 5.343620 0.23958800 + 7 2.704857 0.28674400 + 8 1.353018 0.27145900 + 9 0.660873 0.20242600 + 10 0.309149 0.10330700 + 11 0.133879 0.02321100 +D 11 + 1 270.014061 0.00001300 + 2 100.161579 -0.00088900 + 3 43.530609 -0.01864000 + 4 21.262419 -0.09464600 + 5 10.577821 -0.21565900 + 6 5.343620 -0.32246900 + 7 2.704857 -0.19752900 + 8 1.353018 0.16444800 + 9 0.660873 0.41001700 + 10 0.309149 0.32783800 + 11 0.133879 0.10574900 +D 11 + 1 270.014061 0.00000700 + 2 100.161579 0.00086800 + 3 43.530609 0.02163100 + 4 21.262419 0.10774800 + 5 10.577821 0.27899700 + 6 5.343620 0.31454300 + 7 2.704857 -0.24192600 + 8 1.353018 -0.60241500 + 9 0.660873 -0.11801300 + 10 0.309149 0.54548200 + 11 0.133879 0.36382900 +D 11 + 1 270.014061 -0.00008800 + 2 100.161579 -0.00067400 + 3 43.530609 -0.03072600 + 4 21.262419 -0.14321800 + 5 10.577821 -0.44533000 + 6 5.343620 -0.13669300 + 7 2.704857 0.92782300 + 8 1.353018 0.14320400 + 9 0.660873 -1.06020200 + 10 0.309149 0.16045200 + 11 0.133879 0.65854200 +D 1 + 1 0.133879 1.00000000 +F 1 + 1 0.881237 1.00000000 +F 1 + 1 2.855136 1.00000000 +F 1 + 1 9.250405 1.00000000 +G 1 + 1 2.097503 1.00000000 +G 1 + 1 7.061991 1.00000000 +H 1 + 1 4.405055 1.00000000 + +GALLIUM +S 9 + 1 31.011369 -0.00004600 + 2 13.757663 0.00020700 + 3 6.103352 -0.00828200 + 4 2.707648 0.08572200 + 5 1.201202 -0.35069900 + 6 0.532893 0.00456700 + 7 0.236409 0.45296800 + 8 0.104879 0.55818700 + 9 0.046528 0.16331900 +P 9 + 1 15.391968 -0.00012000 + 2 6.919798 -0.00020200 + 3 3.110948 0.00885300 + 4 1.398595 -0.07370800 + 5 0.628769 0.02826000 + 6 0.282677 0.22146300 + 7 0.127084 0.41332000 + 8 0.057133 0.38568600 + 9 0.025686 0.11229200 +S 1 + 1 0.382198 1.00000000 +S 1 + 1 0.155250 1.00000000 +S 1 + 1 0.063063 1.00000000 +P 1 + 1 0.303209 1.00000000 +P 1 + 1 0.113225 1.00000000 +P 1 + 1 0.042281 1.00000000 +D 1 + 1 0.373226 1.00000000 +D 1 + 1 0.173594 1.00000000 +D 1 + 1 0.080742 1.00000000 +F 1 + 1 0.450135 1.00000000 +F 1 + 1 0.175748 1.00000000 +G 1 + 1 0.406448 1.00000000 + +GERMANIUM +S 9 + 1 46.470485 -0.00022900 + 2 20.357328 0.00157400 + 3 8.917936 -0.01134500 + 4 3.906681 0.09897200 + 5 1.711400 -0.33154500 + 6 0.749713 -0.09480900 + 7 0.328427 0.43893300 + 8 0.143874 0.59677700 + 9 0.063027 0.18625100 +P 9 + 1 22.641155 0.00005200 + 2 10.174686 -0.00067500 + 3 4.572392 0.01127600 + 4 2.054783 -0.07462800 + 5 0.923397 -0.01207000 + 6 0.414964 0.21691900 + 7 0.186480 0.43873500 + 8 0.083802 0.38512600 + 9 0.037660 0.10807400 +S 1 + 1 0.472336 1.00000000 +S 1 + 1 0.198545 1.00000000 +S 1 + 1 0.083458 1.00000000 +P 1 + 1 0.435049 1.00000000 +P 1 + 1 0.164783 1.00000000 +P 1 + 1 0.062415 1.00000000 +D 1 + 1 0.505266 1.00000000 +D 1 + 1 0.230692 1.00000000 +D 1 + 1 0.105328 1.00000000 +F 1 + 1 0.554284 1.00000000 +F 1 + 1 0.221254 1.00000000 +G 1 + 1 0.480349 1.00000000 + +ARSENIC +S 9 + 1 50.230536 -0.00053800 + 2 22.441775 0.00366000 + 3 10.026436 -0.02399200 + 4 4.479567 0.15807600 + 5 2.001361 -0.41934600 + 6 0.894159 -0.10051900 + 7 0.399488 0.45002000 + 8 0.178482 0.60510400 + 9 0.079741 0.19000900 +P 9 + 1 22.695464 0.00032200 + 2 10.529662 -0.00312000 + 3 4.885284 0.02984900 + 4 2.266549 -0.12788200 + 5 1.051576 -0.00446100 + 6 0.487883 0.24866600 + 7 0.226356 0.45708300 + 8 0.105019 0.35148300 + 9 0.048724 0.09163600 +S 1 + 1 0.530586 1.00000000 +S 1 + 1 0.234584 1.00000000 +S 1 + 1 0.103715 1.00000000 +P 1 + 1 0.550578 1.00000000 +P 1 + 1 0.212539 1.00000000 +P 1 + 1 0.082046 1.00000000 +D 1 + 1 1.374619 1.00000000 +D 1 + 1 0.506785 1.00000000 +D 1 + 1 0.186838 1.00000000 +F 1 + 1 0.642896 1.00000000 +F 1 + 1 0.261483 1.00000000 +G 1 + 1 0.561801 1.00000000 + +SELENIUM +S 9 + 1 53.235856 -0.00017300 + 2 24.069480 0.00151800 + 3 10.882513 -0.01538400 + 4 4.920301 0.13681600 + 5 2.224611 -0.39461000 + 6 1.005811 -0.13955900 + 7 0.454757 0.50733100 + 8 0.205609 0.58687500 + 9 0.092962 0.17717000 +P 9 + 1 25.056177 -0.00015300 + 2 11.673683 0.00033200 + 3 5.438773 0.01417500 + 4 2.533927 -0.10389300 + 5 1.180557 -0.00813400 + 6 0.550022 0.28490400 + 7 0.256256 0.42743700 + 8 0.119390 0.33406600 + 9 0.055624 0.11234000 +S 1 + 1 0.635024 1.00000000 +S 1 + 1 0.280784 1.00000000 +S 1 + 1 0.124152 1.00000000 +P 1 + 1 0.623700 1.00000000 +P 1 + 1 0.231660 1.00000000 +P 1 + 1 0.086045 1.00000000 +D 1 + 1 1.309673 1.00000000 +D 1 + 1 0.519002 1.00000000 +D 1 + 1 0.205672 1.00000000 +F 1 + 1 0.720580 1.00000000 +F 1 + 1 0.288011 1.00000000 +G 1 + 1 0.591247 1.00000000 + +BROMINE +S 9 + 1 60.457695 -0.00045200 + 2 27.422852 0.00337200 + 3 12.438662 -0.02504500 + 4 5.642021 0.17010100 + 5 2.559150 -0.43099200 + 6 1.160798 -0.15435800 + 7 0.526524 0.52545800 + 8 0.238824 0.59273500 + 9 0.108328 0.16949000 +P 9 + 1 27.437987 0.00008700 + 2 12.887440 -0.00179700 + 3 6.053145 0.02715000 + 4 2.843122 -0.13414300 + 5 1.335395 -0.00623400 + 6 0.627226 0.30955100 + 7 0.294604 0.44028500 + 8 0.138374 0.31675000 + 9 0.064993 0.09253300 +S 1 + 1 0.716355 1.00000000 +S 1 + 1 0.328206 1.00000000 +S 1 + 1 0.150371 1.00000000 +P 1 + 1 0.750243 1.00000000 +P 1 + 1 0.285597 1.00000000 +P 1 + 1 0.108719 1.00000000 +D 1 + 1 1.865751 1.00000000 +D 1 + 1 0.698782 1.00000000 +D 1 + 1 0.261716 1.00000000 +F 1 + 1 0.852676 1.00000000 +F 1 + 1 0.345036 1.00000000 +G 1 + 1 0.673499 1.00000000 + +KRYPTON +S 9 + 1 59.995647 -0.00020300 + 2 27.757709 0.00179400 + 3 12.842438 -0.01925200 + 4 5.941709 0.17119400 + 5 2.749003 -0.47784700 + 6 1.271859 -0.11968600 + 7 0.588441 0.56843400 + 8 0.272249 0.56402800 + 9 0.125959 0.15760800 +P 9 + 1 24.020781 0.00010600 + 2 11.612963 -0.00089200 + 3 5.614344 0.02038000 + 4 2.714282 -0.15516000 + 5 1.312233 0.05764300 + 6 0.634405 0.35555900 + 7 0.306706 0.42666700 + 8 0.148279 0.27115100 + 9 0.071686 0.06768000 +S 1 + 1 0.812154 1.00000000 +S 1 + 1 0.376882 1.00000000 +S 1 + 1 0.174893 1.00000000 +P 1 + 1 0.907972 1.00000000 +P 1 + 1 0.346506 1.00000000 +P 1 + 1 0.132236 1.00000000 +D 1 + 1 0.795395 1.00000000 +D 1 + 1 0.430905 1.00000000 +D 1 + 1 0.233442 1.00000000 +F 1 + 1 1.016655 1.00000000 +F 1 + 1 0.438099 1.00000000 +G 1 + 1 0.769765 1.00000000 + diff --git a/data/basis/cc-pvtz_ecp_ccecp b/data/basis/cc-pvtz_ecp_ccecp new file mode 100644 index 00000000..8045e350 --- /dev/null +++ b/data/basis/cc-pvtz_ecp_ccecp @@ -0,0 +1,2551 @@ +HELIUM +S 8 + 1 39.320931 0.01006570 + 2 17.174528 0.02487620 + 3 7.501461 0.05825370 + 4 3.276475 0.13445960 + 5 1.431093 0.24431180 + 6 0.625070 0.34250610 + 7 0.273017 0.28264700 + 8 0.119248 0.07392530 +S 1 + 1 0.687805 1.00000000 +S 1 + 1 0.227171 1.00000000 +P 1 + 1 3.091688 1.00000000 +P 1 + 1 0.758588 1.00000000 +D 1 + 1 1.964056 1.00000000 + +LITHIUM +S 10 + 1 16.001258 0.00004340 + 2 7.583113 -0.00075310 + 3 3.593693 -0.00025190 + 4 1.703077 0.01696740 + 5 0.807101 -0.09099210 + 6 0.382491 -0.08931550 + 7 0.181265 0.02941550 + 8 0.085903 0.36440200 + 9 0.040710 0.55049730 + 10 0.019293 0.17444120 +P 10 + 1 7.004881 -0.00053060 + 2 3.451199 0.00129490 + 3 1.700353 0.00701150 + 4 0.837738 0.01716040 + 5 0.412741 0.03672400 + 6 0.203351 0.09650420 + 7 0.100188 0.22110130 + 8 0.049361 0.38353580 + 9 0.024320 0.33505640 + 10 0.011982 0.07814530 +S 1 + 1 0.132259 1.00000000 +S 1 + 1 0.026170 1.00000000 +P 1 + 1 0.110075 1.00000000 +P 1 + 1 0.052959 1.00000000 +D 1 + 1 0.177140 1.00000000 +D 1 + 1 0.067795 1.00000000 +F 1 + 1 0.180758 1.00000000 + +BERYLLIUM +S 9 + 1 15.965877 0.00069000 + 2 7.367361 -0.00037700 + 3 3.399626 0.02406900 + 4 1.568738 -0.11198900 + 5 0.723885 -0.07644200 + 6 0.334032 0.13574400 + 7 0.154137 0.41851500 + 8 0.071126 0.46292400 + 9 0.032821 0.12826600 +P 9 + 1 16.554942 0.00034100 + 2 7.526050 0.00322800 + 3 3.421421 0.01766000 + 4 1.555414 0.03866400 + 5 0.707108 0.09863900 + 6 0.321458 0.23125900 + 7 0.146138 0.38710900 + 8 0.066436 0.33944800 + 9 0.030203 0.08910200 +S 1 + 1 0.345184 1.00000000 +S 1 + 1 0.053614 1.00000000 +P 1 + 1 1.352043 1.00000000 +P 1 + 1 0.225842 1.00000000 +D 1 + 1 0.382692 1.00000000 +D 1 + 1 0.176399 1.00000000 +F 1 + 1 0.323452 1.00000000 + +BORON +s 9 1.00 +1 11.76050 -0.0036757 +2 5.150520 0.0250517 +3 2.578276 -0.1249228 +4 1.290648 -0.0662874 +5 0.646080 0.1007341 +6 0.323418 0.3375492 +7 0.161898 0.4308431 +8 0.081044 0.2486558 +9 0.040569 0.0317295 +s 1 1.00 +1 0.626026 1.000000 +s 1 1.00 +1 0.092094 1.000000 +p 9 1.00 +1 7.470701 0.0047397 +2 3.735743 0.0376009 +3 1.868068 0.0510600 +4 0.934132 0.1456587 +5 0.467115 0.2237933 +6 0.233582 0.3199467 +7 0.116803 0.2850185 +8 0.058408 0.1448808 +9 0.029207 0.0176962 +p 1 1.00 +1 0.235016 1.000000 +p 1 1.00 +1 0.082056 1.000000 +d 1 1.00 +1 0.699153 1.000000 +d 1 1.00 +1 0.207316 1.000000 +f 1 1.00 +1 0.478872 1.000000 + +CARBON +s 9 1.00 +1 13.073594 0.0051583 +2 6.541187 0.0603424 +3 4.573411 -0.1978471 +4 1.637494 -0.0810340 +5 0.819297 0.2321726 +6 0.409924 0.2914643 +7 0.231300 0.4336405 +8 0.102619 0.2131940 +9 0.051344 0.0049848 +s 1 1.00 +1 0.921552 1.000000 +s 1 1.00 +1 0.132800 1.000000 +p 9 1.00 +1 9.934169 0.0209076 +2 3.886955 0.0572698 +3 1.871016 0.1122682 +4 0.935757 0.2130082 +5 0.468003 0.2835815 +6 0.239473 0.3011207 +7 0.117063 0.2016934 +8 0.058547 0.0453575 +9 0.029281 0.0029775 +p 1 1.00 +1 0.376742 1.000000 +p 1 1.00 +1 0.126772 1.000000 +d 1 1.00 +1 1.141611 1.000000 +d 1 1.00 +1 0.329486 1.000000 +f 1 1.00 +1 0.773485 1.000000 + +NITROGEN +S 9 +1 42.693822 -0.0009357 +2 19.963207 0.0063295 +3 9.3345971 0.0105038 +4 4.9278187 -0.1653735 +5 2.040920 -0.0005352 +6 0.967080 0.2452063 +7 0.476131 0.4582128 +8 0.211443 0.3641224 +9 0.098869 0.0620406 +S 1 +1 1.202183 1.0000000 +S 1 +1 0.163243 1.0000000 +P 9 +1 18.925871 0.0073505 +2 9.225603 0.0292844 +3 4.581431 0.0652168 +4 2.300164 0.1405153 +5 1.154825 0.2328188 +6 0.582039 0.2989556 +7 0.290535 0.2802507 +8 0.145867 0.1527995 +9 0.073234 0.0355475 +P 1 +1 0.517547 1.0000000 +P 1 +1 0.170104 1.0000000 +D 1 +1 1.712416 1.0000000 +D 1 +1 0.483567 1.0000000 +F 1 +1 1.093097 1.0000000 + +OXYGEN +S 9 +1 54.775216 -0.0012444 +2 25.616801 0.0107330 +3 11.980245 0.0018889 +4 6.992317 -0.1742537 +5 2.620277 0.0017622 +6 1.225429 0.3161846 +7 0.577797 0.4512023 +8 0.268022 0.3121534 +9 0.125346 0.0511167 +S 1 +1 1.686633 1.0000000 +S 1 +1 0.237997 1.0000000 +P 9 +1 22.217266 0.0104866 +2 10.74755 0.0366435 +3 5.315785 0.0803674 +4 2.660761 0.1627010 +5 1.331816 0.2377791 +6 0.678626 0.2811422 +7 0.333673 0.2643189 +8 0.167017 0.1466014 +9 0.083598 0.0458145 +P 1 +1 0.600621 1.0000000 +P 1 +1 0.184696 1.0000000 +D 1 +1 2.404278 1.0000000 +D 1 +1 0.669340 1.0000000 +F 1 +1 1.423104 1.0000000 + +FLUORINE +S 10 + 1 84.048652 -0.00000280 + 2 41.094617 -0.00035430 + 3 20.092738 0.01840880 + 4 9.824112 -0.12776610 + 5 4.803386 -0.07028720 + 6 2.348560 0.15716040 + 7 1.148301 0.37690120 + 8 0.561449 0.40951650 + 9 0.274514 0.19708930 + 10 0.134220 0.02434820 +P 10 + 1 31.642619 0.00296730 + 2 16.243233 0.02980490 + 3 8.338204 0.06694890 + 4 4.280284 0.13377900 + 5 2.197215 0.21483120 + 6 1.127906 0.26648620 + 7 0.578992 0.26189540 + 8 0.297216 0.19202170 + 9 0.152571 0.08284650 + 10 0.078320 0.01330460 +S 1 + 1 2.289795 1.00000000 +S 1 + 1 0.327712 1.00000000 +P 1 + 1 0.804181 1.00000000 +P 1 + 1 0.243660 1.00000000 +D 1 + 1 3.297425 1.00000000 +D 1 + 1 0.900763 1.00000000 +F 1 + 1 1.859274 1.00000000 + +NEON +S 10 + 1 89.999848 0.00003370 + 2 44.745732 -0.00055860 + 3 22.246488 0.01858840 + 4 11.060411 -0.12689730 + 5 5.498967 -0.04853020 + 6 2.733953 0.17891780 + 7 1.359255 0.37701020 + 8 0.675788 0.39006930 + 9 0.335985 0.18553010 + 10 0.167044 0.02494380 +P 10 + 1 40.001333 0.00364740 + 2 20.592442 0.03301820 + 3 10.600863 0.06814330 + 4 5.457260 0.13511940 + 5 2.809364 0.21484190 + 6 1.446244 0.26495200 + 7 0.744517 0.25843380 + 8 0.383273 0.19042960 + 9 0.197307 0.08474940 + 10 0.101572 0.01542050 +S 1 + 1 0.534557 1.00000000 +S 1 + 1 0.317767 1.00000000 +P 1 + 1 0.962126 1.00000000 +P 1 + 1 0.294665 1.00000000 +D 1 + 1 4.161437 1.00000000 +D 1 + 1 1.134063 1.00000000 +F 1 + 1 2.556751 1.00000000 + +ALUMINUM +S 10 + 1 8.257944 0.003287 + 2 4.514245 -0.017168 + 3 2.467734 0.069766 + 4 1.348998 -0.183475 + 5 0.737436 -0.147133 + 6 0.403123 0.046882 + 7 0.220369 0.308423 + 8 0.120466 0.451564 + 9 0.065853 0.302904 + 10 0.035999 0.079545 +S 1 + 1 0.384847 1.000000 +S 1 + 1 0.064802 1.000000 +P 10 + 1 1.570603 -0.002645 + 2 0.977752 -0.037850 + 3 0.608683 0.006636 + 4 0.378925 0.089291 + 5 0.235893 0.134421 + 6 0.146851 0.256105 + 7 0.091420 0.238970 + 8 0.056912 0.260677 + 9 0.035429 0.112350 + 10 0.022056 0.052665 +P 1 + 1 0.276146 1.000000 +P 1 + 1 0.045973 1.000000 +D 1 + 1 0.354021 1.000000 +D 1 + 1 0.114469 1.000000 +F 1 + 1 0.256594 1.000000 + +SILICON +S 10 + 1 9.998274 0.002894 + 2 5.517644 -0.014523 + 3 3.044965 0.077634 + 4 1.680393 -0.224022 + 5 0.927341 -0.149080 + 6 0.511762 0.085944 + 7 0.282421 0.355394 + 8 0.155857 0.445219 + 9 0.086011 0.267230 + 10 0.047466 0.060787 +S 1 + 1 0.528701 1.000000 +S 1 + 1 0.090848 1.000000 +P 10 + 1 5.027868 -0.003242 + 2 2.867751 0.010649 + 3 1.635683 -0.049761 + 4 0.932947 -0.000017 + 5 0.532126 0.106060 + 6 0.303509 0.236202 + 7 0.173113 0.310665 + 8 0.098739 0.294696 + 9 0.056318 0.153898 + 10 0.032122 0.042337 +P 1 + 1 0.411682 1.000000 +P 1 + 1 0.070048 1.000000 +D 1 + 1 0.524220 1.000000 +D 1 + 1 0.168245 1.000000 +F 1 + 1 0.350329 1.000000 + +PHOSPHORUS +S 10 + 1 5.054268 0.001781 + 2 3.094719 0.077653 + 3 1.894891 -0.312344 + 4 1.160239 -0.045804 + 5 0.710412 -0.029427 + 6 0.434984 0.318560 + 7 0.266340 0.309169 + 8 0.163080 0.376899 + 9 0.099853 0.152113 + 10 0.061140 0.054943 +S 1 + 1 0.677625 1.000000 +S 1 + 1 0.117987 1.000000 +P 10 + 1 5.861284 -0.003160 + 2 3.406365 0.007462 + 3 1.979655 -0.060893 + 4 1.150503 0.015297 + 5 0.668631 0.123431 + 6 0.388584 0.257276 + 7 0.225831 0.305131 + 8 0.131245 0.276016 + 9 0.076275 0.134133 + 10 0.044328 0.040073 +P 1 + 1 0.566577 1.000000 +P 1 + 1 0.097308 1.000000 +D 1 + 1 0.725126 1.000000 +D 1 + 1 0.230876 1.000000 +F 1 + 1 0.463938 1.000000 + +SULFUR +S 10 + 1 14.052570 0.002102 + 2 7.864913 -0.011042 + 3 4.401818 0.086618 + 4 2.463600 -0.271004 + 5 1.378823 -0.151274 + 6 0.771696 0.136044 + 7 0.431901 0.394360 + 8 0.241726 0.432098 + 9 0.135289 0.230974 + 10 0.075718 0.051205 +S 1 + 1 0.833303 1.000000 +S 1 + 1 0.149345 1.000000 +P 10 + 1 6.808844 -0.003573 + 2 3.941560 0.001903 + 3 2.281723 -0.065016 + 4 1.320863 0.042305 + 5 0.764632 0.158772 + 6 0.442637 0.278172 + 7 0.256237 0.293821 + 8 0.148333 0.248015 + 9 0.085868 0.114905 + 10 0.049708 0.032934 +P 1 + 1 0.708198 1.000000 +P 1 + 1 0.114216 1.000000 +D 1 + 1 0.921034 1.000000 +D 1 + 1 0.289603 1.000000 +F 1 + 1 0.565677 1.000000 + +CHLORINE +S 10 + 1 15.583847 0.002501 + 2 8.858485 -0.010046 + 3 5.035519 0.085810 + 4 2.862391 -0.290136 + 5 1.627098 -0.140314 + 6 0.924908 0.146839 + 7 0.525755 0.392484 + 8 0.298860 0.425061 + 9 0.169884 0.227195 + 10 0.096569 0.059828 +S 1 + 1 1.020976 1.000000 +S 1 + 1 0.186161 1.000000 +P 10 + 1 7.682894 -0.004609 + 2 4.507558 -0.001798 + 3 2.644587 -0.068614 + 4 1.551581 0.062352 + 5 0.910313 0.166337 + 6 0.534081 0.282292 + 7 0.313346 0.275967 + 8 0.183840 0.241328 + 9 0.107859 0.110223 + 10 0.063281 0.040289 +P 1 + 1 0.899235 1.000000 +P 1 + 1 0.143669 1.000000 +D 1 + 1 1.172371 1.000000 +D 1 + 1 0.363254 1.000000 +F 1 + 1 0.720453 1.000000 + +ARGON +S 10 + 1 17.798602 0.000155 + 2 10.185798 0.002011 + 3 5.829136 0.072819 + 4 3.335903 -0.297567 + 5 1.909073 -0.143663 + 6 1.092526 0.157775 + 7 0.625231 0.391895 + 8 0.357808 0.424724 + 9 0.204767 0.223240 + 10 0.117184 0.063299 +S 1 + 1 1.218276 1.000000 +S 1 + 1 0.225444 1.000000 +P 10 + 1 7.610920 -0.008071 + 2 4.581784 -0.012332 + 3 2.758240 -0.061298 + 4 1.660464 0.101944 + 5 0.999601 0.172497 + 6 0.601761 0.288747 + 7 0.362261 0.247918 + 8 0.218082 0.231893 + 9 0.131285 0.095994 + 10 0.079034 0.046211 +P 1 + 1 1.112833 1.000000 +P 1 + 1 0.178044 1.000000 +D 1 + 1 1.452494 1.000000 +D 1 + 1 0.444353 1.000000 +F 1 + 1 0.913483 1.000000 + +POTASSIUM +S 13 + 1 33.190598 0.00093460 + 2 17.266513 -0.01746080 + 3 8.982438 0.15299840 + 4 4.672871 -0.34050680 + 5 2.430935 -0.22863440 + 6 1.264628 0.22672980 + 7 0.657889 0.54910420 + 8 0.342249 0.42310450 + 9 0.178046 0.09104080 + 10 0.092623 0.00345520 + 11 0.048185 -0.00028370 + 12 0.025067 0.00055460 + 13 0.013040 0.00000310 +S 13 + 1 33.190598 -0.00013550 + 2 17.266513 0.00327580 + 3 8.982438 -0.03127550 + 4 4.672871 0.07304500 + 5 2.430935 0.04905170 + 6 1.264628 -0.05320270 + 7 0.657889 -0.13678160 + 8 0.342249 -0.16629980 + 9 0.178046 -0.15469740 + 10 0.092623 0.00178980 + 11 0.048185 0.40887000 + 12 0.025067 0.56715150 + 13 0.013040 0.18420760 +P 12 + 1 25.955983 0.00005310 + 2 12.863527 0.00359740 + 3 6.375036 -0.04058580 + 4 3.159405 -0.04220760 + 5 1.565770 0.20965770 + 6 0.775980 0.39509450 + 7 0.384568 0.37504360 + 8 0.190588 0.15682480 + 9 0.094453 0.01966940 + 10 0.046810 0.00125380 + 11 0.023199 0.00029050 + 12 0.011497 -0.00000980 +P 12 + 1 25.955983 -0.00001130 + 2 12.863527 -0.00050130 + 3 6.375036 0.00601080 + 4 3.159405 0.00570550 + 5 1.565770 -0.03288980 + 6 0.775980 -0.05912520 + 7 0.384568 -0.06798030 + 8 0.190588 -0.04852530 + 9 0.094453 0.02182800 + 10 0.046810 0.27827650 + 11 0.023199 0.48640440 + 12 0.011497 0.31832720 +D 11 + 1 25.002828 0.00002860 + 2 10.959775 -0.00030190 + 3 4.804124 0.00482980 + 4 2.105846 0.01402200 + 5 0.923080 0.02589140 + 6 0.404624 0.03605440 + 7 0.177364 0.04862730 + 8 0.077746 0.10242950 + 9 0.034079 0.28114010 + 10 0.014938 0.51238900 + 11 0.006548 0.25265610 +S 1 + 1 0.065911 1.00000000 +S 1 + 1 0.031297 1.00000000 +S 1 + 1 0.014861 1.00000000 +P 1 + 1 0.065260 1.00000000 +P 1 + 1 0.028736 1.00000000 +P 1 + 1 0.012653 1.00000000 +D 1 + 1 0.067129 1.00000000 +D 1 + 1 0.011669 1.00000000 +F 1 + 1 0.070437 1.00000000 + +CALCIUM +S 13 + 1 38.909972 0.00094450 + 2 20.573489 -0.01770900 + 3 10.878148 0.14349340 + 4 5.751777 -0.28035140 + 5 3.041228 -0.28847700 + 6 1.608037 0.17248640 + 7 0.850243 0.55290080 + 8 0.449563 0.46769880 + 9 0.237704 0.09929150 + 10 0.125685 0.00665130 + 11 0.066456 -0.00192570 + 12 0.035138 0.00096120 + 13 0.018579 -0.00024390 +S 13 + 1 38.909972 -0.00018310 + 2 20.573489 0.00425520 + 3 10.878148 -0.03727720 + 4 5.751777 0.07704740 + 5 3.041228 0.07822310 + 6 1.608037 -0.05175260 + 7 0.850243 -0.17462310 + 8 0.449563 -0.25326320 + 9 0.237704 -0.16061050 + 10 0.125685 0.12654760 + 11 0.066456 0.46487670 + 12 0.035138 0.47840060 + 13 0.018579 0.15642960 +P 12 + 1 31.519451 -0.00013110 + 2 15.831494 0.00581110 + 3 7.951795 -0.04461000 + 4 3.994003 -0.04239180 + 5 2.006096 0.18028850 + 6 1.007616 0.40747440 + 7 0.506102 0.38646720 + 8 0.254203 0.15452190 + 9 0.127681 0.01706770 + 10 0.064131 0.00315970 + 11 0.032211 -0.00022470 + 12 0.016179 0.00016830 +P 12 + 1 31.519451 0.00002060 + 2 15.831494 -0.00124550 + 3 7.951795 0.01011140 + 4 3.994003 0.00894270 + 5 2.006096 -0.04458680 + 6 1.007616 -0.09627520 + 7 0.506102 -0.11300730 + 8 0.254203 -0.06533320 + 9 0.127681 0.14680910 + 10 0.064131 0.44119800 + 11 0.032211 0.42763180 + 12 0.016179 0.12519670 +D 11 + 1 28.997930 0.00227830 + 2 13.712713 0.01197270 + 3 6.484549 0.02273230 + 4 3.066452 0.06997740 + 5 1.450082 0.12588700 + 6 0.685723 0.17597110 + 7 0.324269 0.20962750 + 8 0.153342 0.25661550 + 9 0.072513 0.28874140 + 10 0.034291 0.22477940 + 11 0.016216 0.08294810 +S 1 + 1 0.090426 1.00000000 +S 1 + 1 0.042935 1.00000000 +S 1 + 1 0.019981 1.00000000 +P 1 + 1 0.125510 1.00000000 +P 1 + 1 0.053549 1.00000000 +P 1 + 1 0.022081 1.00000000 +D 1 + 1 0.127163 1.00000000 +D 1 + 1 0.038262 1.00000000 +F 1 + 1 0.136800 1.00000000 + +SCANDIUM +S 13 + 1 66.882574 0.00055300 + 2 33.776681 -0.00511500 + 3 18.185884 0.00416100 + 4 11.748619 0.12160300 + 5 6.895190 -0.27013700 + 6 3.222124 -0.32441000 + 7 1.772120 0.29116200 + 8 0.841163 0.62893100 + 9 0.471976 0.27340600 + 10 0.313224 0.13535200 + 11 0.101013 0.00804100 + 12 0.049071 -0.00261000 + 13 0.022782 0.00059700 +S 13 + 1 66.882574 -0.00013900 + 2 33.776681 0.00134500 + 3 18.185884 -0.00144500 + 4 11.748619 -0.03208200 + 5 6.895190 0.07550600 + 6 3.222124 0.08992700 + 7 1.772120 -0.09008600 + 8 0.841163 -0.21644400 + 9 0.471976 -0.17925000 + 10 0.313224 -0.12816000 + 11 0.101013 0.33793500 + 12 0.049071 0.60918100 + 13 0.022782 0.24418100 +S 13 + 1 66.882574 -0.00067900 + 2 33.776681 0.00545600 + 3 18.185884 -0.01668400 + 4 11.748619 -0.03173900 + 5 6.895190 0.10956000 + 6 3.222124 0.23329300 + 7 1.772120 -0.31020700 + 8 0.841163 -0.24508300 + 9 0.471976 -1.17524800 + 10 0.313224 1.03235900 + 11 0.101013 1.59903900 + 12 0.049071 -0.62399000 + 13 0.022782 -0.84749800 +S 13 + 1 66.882574 -0.00145200 + 2 33.776681 0.01136200 + 3 18.185884 -0.03987600 + 4 11.748619 -0.02581000 + 5 6.895190 0.15794300 + 6 3.222124 0.45286800 + 7 1.772120 -0.76658700 + 8 0.841163 -0.60780000 + 9 0.471976 -1.71600200 + 10 0.313224 3.61400300 + 11 0.101013 -0.56948000 + 12 0.049071 -2.25596700 + 13 0.022782 1.91016000 +S 1 + 1 0.022782 1.00000000 +P 13 + 1 77.690832 0.00008800 + 2 39.751864 -0.00075400 + 3 20.615633 0.00658400 + 4 11.537150 -0.00718900 + 5 7.597186 -0.06890300 + 6 3.765117 -0.01384200 + 7 2.051006 0.24870400 + 8 1.048648 0.43432800 + 9 0.550231 0.32690600 + 10 0.303840 0.10461700 + 11 0.165809 0.01851200 + 12 0.060419 0.00139500 + 13 0.024751 0.00009300 +P 13 + 1 77.690832 0.00001700 + 2 39.751864 -0.00002600 + 3 20.615633 -0.00086100 + 4 11.537150 -0.00048300 + 5 7.597186 0.02136400 + 6 3.765117 -0.00370600 + 7 2.051006 -0.05871800 + 8 1.048648 -0.14336400 + 9 0.550231 -0.07728000 + 10 0.303840 -0.10776400 + 11 0.165809 0.32285900 + 12 0.060419 0.62172600 + 13 0.024751 0.25378700 +P 13 + 1 77.690832 -0.00006300 + 2 39.751864 0.00054900 + 3 20.615633 -0.00512000 + 4 11.537150 0.00701100 + 5 7.597186 0.05366100 + 6 3.765117 0.00357400 + 7 2.051006 -0.23586100 + 8 1.048648 -0.49480100 + 9 0.550231 -0.22957500 + 10 0.303840 0.91797300 + 11 0.165809 0.62115500 + 12 0.060419 -0.82464800 + 13 0.024751 -0.15759200 +P 13 + 1 77.690832 -0.00024300 + 2 39.751864 0.00156800 + 3 20.615633 -0.00955400 + 4 11.537150 0.01802000 + 5 7.597186 0.05100800 + 6 3.765117 0.04328000 + 7 2.051006 -0.40417800 + 8 1.048648 -0.82490400 + 9 0.550231 0.71001400 + 10 0.303840 2.22525500 + 11 0.165809 -2.74290300 + 12 0.060419 0.58142300 + 13 0.024751 0.48091000 +P 1 + 1 0.024751 1.00000000 +D 11 + 1 60.996829 0.00005600 + 2 22.097637 0.00505400 + 3 10.186744 0.03222300 + 4 4.633892 0.08247900 + 5 2.146927 0.15936300 + 6 1.014536 0.22860400 + 7 0.487206 0.24369100 + 8 0.248191 0.23165100 + 9 0.131273 0.19543100 + 10 0.063714 0.21458900 + 11 0.021542 0.07411300 +D 11 + 1 60.996829 -0.00007200 + 2 22.097637 -0.00607900 + 3 10.186744 -0.03905400 + 4 4.633892 -0.10065200 + 5 2.146927 -0.19433000 + 6 1.014536 -0.25355600 + 7 0.487206 -0.21355600 + 8 0.248191 0.05418200 + 9 0.131273 0.26118800 + 10 0.063714 0.52021500 + 11 0.021542 0.16690700 +D 11 + 1 60.996829 0.00005400 + 2 22.097637 0.00819500 + 3 10.186744 0.05007300 + 4 4.633892 0.13617400 + 5 2.146927 0.24651600 + 6 1.014536 0.25815800 + 7 0.487206 -0.12479900 + 8 0.248191 -0.43908100 + 9 0.131273 -0.47534700 + 10 0.063714 0.52718700 + 11 0.021542 0.47337300 +D 1 + 1 0.021542 1.00000000 +F 1 + 1 0.173012 1.00000000 +F 1 + 1 0.742579 1.00000000 +G 1 + 1 0.413265 1.00000000 + +TITANIUM +S 13 + 1 68.910511 0.00061600 + 2 33.720700 -0.00750100 + 3 18.159676 0.01221800 + 4 12.419305 0.14473900 + 5 7.532195 -0.32862100 + 6 3.504444 -0.31751700 + 7 1.910727 0.35742200 + 8 0.888840 0.67140600 + 9 0.447198 0.28222600 + 10 0.281192 0.03867300 + 11 0.100258 0.00455900 + 12 0.046525 -0.00156500 + 13 0.021840 0.00039800 +S 13 + 1 68.910511 -0.00015600 + 2 33.720700 0.00196600 + 3 18.159676 -0.00399400 + 4 12.419305 -0.03637700 + 5 7.532195 0.08859300 + 6 3.504444 0.08563000 + 7 1.910727 -0.10599300 + 8 0.888840 -0.23742100 + 9 0.447198 -0.23535900 + 10 0.281192 -0.01296000 + 11 0.100258 0.43358200 + 12 0.046525 0.57787300 + 13 0.021840 0.16436000 +S 13 + 1 68.910511 0.00063500 + 2 33.720700 -0.00646800 + 3 18.159676 0.02344400 + 4 12.419305 0.03892100 + 5 7.532195 -0.14118000 + 6 3.504444 -0.21476500 + 7 1.910727 0.32015100 + 8 0.888840 0.45106200 + 9 0.447198 0.85519100 + 10 0.281192 -1.20922400 + 11 0.100258 -1.31948100 + 12 0.046525 0.86651700 + 13 0.021840 0.61891600 +S 13 + 1 68.910511 -0.00117800 + 2 33.720700 0.01187700 + 3 18.159676 -0.04724000 + 4 12.419305 -0.05092200 + 5 7.532195 0.23774600 + 6 3.504444 0.40318500 + 7 1.910727 -0.79096100 + 8 0.888840 -1.10227600 + 9 0.447198 0.20944600 + 10 0.281192 2.52735200 + 11 0.100258 -1.78904100 + 12 0.046525 -0.86784200 + 13 0.021840 1.42739500 +S 1 + 1 0.021840 1.00000000 +P 13 + 1 84.914002 0.00009300 + 2 42.855051 -0.00083600 + 3 21.700131 0.00867900 + 4 12.214690 -0.01117800 + 5 8.319164 -0.07776700 + 6 4.091071 -0.00611300 + 7 2.286543 0.27182800 + 8 1.159810 0.45958500 + 9 0.591343 0.31590000 + 10 0.312862 0.07168300 + 11 0.184828 0.01054100 + 12 0.068590 0.00004500 + 13 0.026791 -0.00083700 +P 13 + 1 84.914002 0.00002000 + 2 42.855051 -0.00004900 + 3 21.700131 -0.00076100 + 4 12.214690 -0.00057500 + 5 8.319164 0.01828400 + 6 4.091071 -0.00594300 + 7 2.286543 -0.04321200 + 8 1.159810 -0.11251300 + 9 0.591343 -0.05207300 + 10 0.312862 -0.09226300 + 11 0.184828 0.24394600 + 12 0.068590 0.41310100 + 13 0.026791 0.54398500 +P 13 + 1 84.914002 0.00001900 + 2 42.855051 0.00013800 + 3 21.700131 -0.00462200 + 4 12.214690 0.00446500 + 5 8.319164 0.06576000 + 6 4.091071 -0.01892700 + 7 2.286543 -0.22252400 + 8 1.159810 -0.52389000 + 9 0.591343 -0.07127700 + 10 0.312862 0.81271200 + 11 0.184828 0.62549800 + 12 0.068590 -0.81218900 + 13 0.026791 -0.18579600 +P 13 + 1 84.914002 -0.00025700 + 2 42.855051 0.00172500 + 3 21.700131 -0.01264600 + 4 12.214690 0.02906200 + 5 8.319164 0.05897900 + 6 4.091071 0.03080600 + 7 2.286543 -0.52437300 + 8 1.159810 -0.72096800 + 9 0.591343 1.02320400 + 10 0.312862 1.97387400 + 11 0.184828 -2.80509200 + 12 0.068590 0.60795400 + 13 0.026791 0.44765300 +P 1 + 1 0.026791 1.00000000 +D 11 + 1 77.434559 0.00002200 + 2 27.708477 0.00421800 + 3 12.914284 0.03008700 + 4 6.062674 0.08482100 + 5 2.863898 0.17111000 + 6 1.386559 0.24745100 + 7 0.677058 0.27731000 + 8 0.329864 0.26107700 + 9 0.159474 0.19033600 + 10 0.076174 0.11938500 + 11 0.028570 0.03129700 +D 11 + 1 77.434559 -0.00002500 + 2 27.708477 -0.00431100 + 3 12.914284 -0.03091300 + 4 6.062674 -0.08804900 + 5 2.863898 -0.17833000 + 6 1.386559 -0.23433500 + 7 0.677058 -0.19577500 + 8 0.329864 0.06587200 + 9 0.159474 0.33053600 + 10 0.076174 0.46122900 + 11 0.028570 0.18427300 +D 11 + 1 77.434559 0.00001000 + 2 27.708477 0.00618700 + 3 12.914284 0.04263000 + 4 6.062674 0.12752400 + 5 2.863898 0.24828900 + 6 1.386559 0.25976100 + 7 0.677058 -0.07079400 + 8 0.329864 -0.51939600 + 9 0.159474 -0.37365800 + 10 0.076174 0.45506700 + 11 0.028570 0.48958600 +D 1 + 1 0.028570 1.00000000 +F 1 + 1 0.291553 1.00000000 +F 1 + 1 1.269061 1.00000000 +G 1 + 1 0.707265 1.00000000 + +VANADIUM +S 13 + 1 68.577621 0.00080400 + 2 34.937147 -0.01159400 + 3 17.939491 0.09220900 + 4 11.262123 -0.04547700 + 5 6.776264 -0.28798300 + 6 3.524091 -0.21764800 + 7 1.938421 0.40750900 + 8 0.927153 0.65819300 + 9 0.448420 0.25523400 + 10 0.209668 0.00862000 + 11 0.103660 0.00273400 + 12 0.050630 -0.00116100 + 13 0.024201 0.00029400 +S 13 + 1 68.577621 -0.00017700 + 2 34.937147 0.00279100 + 3 17.939491 -0.02365000 + 4 11.262123 0.01250400 + 5 6.776264 0.07876100 + 6 3.524091 0.05497400 + 7 1.938421 -0.11895500 + 8 0.927153 -0.24534100 + 9 0.448420 -0.22295900 + 10 0.209668 0.04780900 + 11 0.103660 0.41537400 + 12 0.050630 0.54088000 + 13 0.024201 0.18342100 +S 13 + 1 68.577621 -0.00058300 + 2 34.937147 0.00957000 + 3 17.939491 -0.08560600 + 4 11.262123 0.04842600 + 5 6.776264 0.33123900 + 6 3.524091 0.14035200 + 7 1.938421 -0.90796200 + 8 0.927153 -0.50387800 + 9 0.448420 0.39893800 + 10 0.209668 0.97113100 + 11 0.103660 0.42399900 + 12 0.050630 -0.62864600 + 13 0.024201 -0.46749500 +S 13 + 1 68.577621 -0.00076500 + 2 34.937147 0.01452900 + 3 17.939491 -0.13961800 + 4 11.262123 0.06307300 + 5 6.776264 0.70419300 + 6 3.524091 -0.01160200 + 7 1.938421 -2.31160400 + 8 0.927153 0.76826900 + 9 0.448420 2.16892000 + 10 0.209668 -1.06267100 + 11 0.103660 -1.21815100 + 12 0.050630 0.34080900 + 13 0.024201 0.71332200 +S 1 + 1 0.024201 1.00000000 +P 13 + 1 96.215967 0.00006900 + 2 49.579340 -0.00067200 + 3 25.638009 0.00819900 + 4 14.025942 -0.02710800 + 5 8.740334 -0.05302100 + 6 4.634840 0.00500200 + 7 2.553374 0.26198600 + 8 1.321166 0.43354400 + 9 0.681285 0.32494700 + 10 0.349458 0.09234200 + 11 0.172773 0.00896400 + 12 0.063300 0.00118500 + 13 0.033969 0.00010400 +P 13 + 1 96.215967 0.00004000 + 2 49.579340 -0.00013300 + 3 25.638009 -0.00095500 + 4 14.025942 0.00371900 + 5 8.740334 0.01886600 + 6 4.634840 -0.01207400 + 7 2.553374 -0.05710700 + 8 1.321166 -0.14643300 + 9 0.681285 -0.06736500 + 10 0.349458 -0.06825400 + 11 0.172773 0.40310300 + 12 0.063300 0.50266800 + 13 0.033969 0.26129100 +P 13 + 1 96.215967 -0.00005300 + 2 49.579340 0.00002300 + 3 25.638009 0.00462900 + 4 14.025942 -0.00775500 + 5 8.740334 -0.10413300 + 6 4.634840 -0.01776200 + 7 2.553374 0.72821200 + 8 1.321166 0.21882600 + 9 0.681285 -0.49322300 + 10 0.349458 -0.83819200 + 11 0.172773 0.39840100 + 12 0.063300 0.66458900 + 13 0.033969 0.03301100 +P 13 + 1 96.215967 -0.00126200 + 2 49.579340 0.00641900 + 3 25.638009 -0.02122900 + 4 14.025942 0.11577700 + 5 8.740334 -0.42074000 + 6 4.634840 0.19774200 + 7 2.553374 1.57560000 + 8 1.321166 -1.06791300 + 9 0.681285 -1.31008300 + 10 0.349458 1.19114700 + 11 0.172773 0.55051600 + 12 0.063300 -0.71878800 + 13 0.033969 -0.15744100 +P 1 + 1 0.033969 1.00000000 +D 11 + 1 89.989649 0.00005100 + 2 33.132961 0.00480400 + 3 15.879656 0.02948500 + 4 7.465803 0.08624900 + 5 3.551993 0.17972800 + 6 1.728185 0.26185000 + 7 0.850498 0.29179400 + 8 0.417673 0.25935600 + 9 0.201523 0.17494400 + 10 0.100711 0.06227800 + 11 0.058959 0.02765300 +D 11 + 1 89.989649 -0.00003800 + 2 33.132961 -0.00459000 + 3 15.879656 -0.02756300 + 4 7.465803 -0.08277500 + 5 3.551993 -0.17349400 + 6 1.728185 -0.23618800 + 7 0.850498 -0.14922600 + 8 0.417673 0.04414500 + 9 0.201523 0.39050000 + 10 0.100711 0.20306400 + 11 0.058959 0.39800200 +D 11 + 1 89.989649 0.00012800 + 2 33.132961 0.00665200 + 3 15.879656 0.04463500 + 4 7.465803 0.12255900 + 5 3.551993 0.31114700 + 6 1.728185 0.28881300 + 7 0.850498 -0.14224600 + 8 0.417673 -0.61373700 + 9 0.201523 -0.12391600 + 10 0.100711 -0.02023500 + 11 0.058959 0.73325900 +D 1 + 1 0.058959 1.00000000 +F 1 + 1 0.552620 1.00000000 +F 1 + 1 2.328788 1.00000000 +G 1 + 1 1.977796 1.00000000 + +CHROMIUM +S 13 + 1 73.977737 0.00086400 + 2 37.684349 -0.01159500 + 3 19.278723 0.09046700 + 4 12.130763 -0.02483700 + 5 7.453002 -0.33040700 + 6 3.756296 -0.20059800 + 7 2.084137 0.44976600 + 8 0.993314 0.64757500 + 9 0.483094 0.22902500 + 10 0.225854 0.00921700 + 11 0.115338 0.00113200 + 12 0.052134 -0.00036700 + 13 0.023679 0.00009200 +S 13 + 1 73.977737 -0.00018300 + 2 37.684349 0.00270400 + 3 19.278723 -0.02265000 + 4 12.130763 0.00718100 + 5 7.453002 0.08770500 + 6 3.756296 0.04761600 + 7 2.084137 -0.12567200 + 8 0.993314 -0.24457100 + 9 0.483094 -0.19841900 + 10 0.225854 0.03088900 + 11 0.115338 0.42393500 + 12 0.052134 0.57694100 + 13 0.023679 0.14832300 +S 13 + 1 73.977737 -0.00032700 + 2 37.684349 0.00530900 + 3 19.278723 -0.04690500 + 4 12.130763 0.01541100 + 5 7.453002 0.19169700 + 6 3.756296 0.09975900 + 7 2.084137 -0.33899400 + 8 0.993314 -0.69580600 + 9 0.483094 -0.00731500 + 10 0.225854 1.11859900 + 11 0.115338 0.71725700 + 12 0.052134 -0.86856500 + 13 0.023679 -0.46718600 +S 13 + 1 73.977737 -0.00069800 + 2 37.684349 0.01020700 + 3 19.278723 -0.09126100 + 4 12.130763 0.05220700 + 5 7.453002 0.34216400 + 6 3.756296 0.17486600 + 7 2.084137 -0.99425800 + 8 0.993314 -1.19060400 + 9 0.483094 2.27183400 + 10 0.225854 1.00301300 + 11 0.115338 -2.60523500 + 12 0.052134 0.26515800 + 13 0.023679 0.90228600 +S 1 + 1 0.023679 1.00000000 +P 13 + 1 101.951240 0.00008800 + 2 52.309865 -0.00074700 + 3 27.142574 0.00713500 + 4 15.066862 -0.01470200 + 5 9.693669 -0.07335300 + 6 4.985710 0.01200700 + 7 2.761266 0.28311700 + 8 1.417673 0.44078600 + 9 0.728201 0.30677500 + 10 0.378189 0.08180400 + 11 0.189359 0.00883900 + 12 0.072301 0.00102200 + 13 0.037471 0.00032500 +P 13 + 1 101.951240 0.00002800 + 2 52.309865 -0.00008500 + 3 27.142574 -0.00075100 + 4 15.066862 0.00084400 + 5 9.693669 0.02265600 + 6 4.985710 -0.01278100 + 7 2.761266 -0.06238600 + 8 1.417673 -0.14358100 + 9 0.728201 -0.06228100 + 10 0.378189 -0.05447100 + 11 0.189359 0.37713500 + 12 0.072301 0.47163300 + 13 0.037471 0.31162400 +P 13 + 1 101.951240 -0.00013700 + 2 52.309865 0.00093200 + 3 27.142574 -0.00684500 + 4 15.066862 0.01983100 + 5 9.693669 0.04364700 + 6 4.985710 -0.01928900 + 7 2.761266 -0.28118700 + 8 1.417673 -0.37029800 + 9 0.728201 -0.19987300 + 10 0.378189 1.02855200 + 11 0.189359 0.42371100 + 12 0.072301 -0.80092600 + 13 0.037471 -0.14191000 +P 13 + 1 101.951240 0.00002700 + 2 52.309865 0.00018000 + 3 27.142574 -0.00574200 + 4 15.066862 0.02041900 + 5 9.693669 0.10052700 + 6 4.985710 -0.10060800 + 7 2.761266 -0.60774600 + 8 1.417673 -0.60170500 + 9 0.728201 1.45090500 + 10 0.378189 0.67229900 + 11 0.189359 -1.90482300 + 12 0.072301 0.66581400 + 13 0.037471 0.34852200 +P 1 + 1 0.037471 1.00000000 +D 11 + 1 120.683729 -0.00000600 + 2 42.646591 0.00311100 + 3 21.154405 0.02864100 + 4 9.708242 0.07622200 + 5 4.614990 0.17059500 + 6 2.243726 0.26690800 + 7 1.086491 0.31103900 + 8 0.524700 0.26731200 + 9 0.255752 0.16333600 + 10 0.121497 0.06278200 + 11 0.054339 0.00787200 +D 11 + 1 120.683729 0.00001700 + 2 42.646591 -0.00357600 + 3 21.154405 -0.03147600 + 4 9.708242 -0.08758300 + 5 4.614990 -0.19574000 + 6 2.243726 -0.27013200 + 7 1.086491 -0.17003400 + 8 0.524700 0.14341200 + 9 0.255752 0.40868700 + 10 0.121497 0.37025700 + 11 0.054339 0.12311200 +D 11 + 1 120.683729 0.00004000 + 2 42.646591 -0.00518100 + 3 21.154405 -0.04339300 + 4 9.708242 -0.12773400 + 5 4.614990 -0.28207000 + 6 2.243726 -0.28839000 + 7 1.086491 0.16826900 + 8 0.524700 0.67306200 + 9 0.255752 0.09919600 + 10 0.121497 -0.57061200 + 11 0.054339 -0.29719700 +D 1 + 1 0.054339 1.00000000 +F 1 + 1 0.558910 1.00000000 +F 1 + 1 2.345290 1.00000000 +G 1 + 1 1.422099 1.00000000 + +MANGANESE +S 13 + 1 76.008334 0.00099300 + 2 39.277974 -0.01479600 + 3 20.405805 0.12071000 + 4 12.218680 -0.12400100 + 5 7.182690 -0.32020000 + 6 3.850780 -0.10562200 + 7 2.142489 0.47272100 + 8 1.049631 0.62038700 + 9 0.508682 0.20455300 + 10 0.192243 0.00592400 + 11 0.108899 -0.00009700 + 12 0.053425 -0.00018500 + 13 0.025236 0.00006100 +S 13 + 1 76.008334 -0.00019900 + 2 39.277974 0.00335200 + 3 20.405805 -0.02941300 + 4 12.218680 0.03209100 + 5 7.182690 0.08315200 + 6 3.850780 0.02128300 + 7 2.142489 -0.12998900 + 8 1.049631 -0.23900600 + 9 0.508682 -0.18031500 + 10 0.192243 0.11014800 + 11 0.108899 0.40442600 + 12 0.053425 0.51730700 + 13 0.025236 0.14813900 +S 13 + 1 76.008334 -0.00009100 + 2 39.277974 0.00537400 + 3 20.405805 -0.05849400 + 4 12.218680 0.05634500 + 5 7.182690 0.22787400 + 6 3.850780 -0.00842000 + 7 2.142489 -0.32077700 + 8 1.049631 -0.81313700 + 9 0.508682 0.32647500 + 10 0.192243 1.44754000 + 11 0.108899 0.02132100 + 12 0.053425 -0.67832300 + 13 0.025236 -0.45282800 +S 13 + 1 76.008334 -0.00052600 + 2 39.277974 0.01138000 + 3 20.405805 -0.11603400 + 4 12.218680 0.14932900 + 5 7.182690 0.36015400 + 6 3.850780 0.02517400 + 7 2.142489 -1.17012500 + 8 1.049631 -0.87212300 + 9 0.508682 2.55063300 + 10 0.192243 0.09034300 + 11 0.108899 -2.21058800 + 12 0.053425 0.47058200 + 13 0.025236 0.83217500 +S 1 + 1 0.025236 1.00000000 +P 13 + 1 113.479709 0.00010300 + 2 58.160819 -0.00089400 + 3 30.043076 0.00884400 + 4 16.753323 -0.01968500 + 5 10.705604 -0.06919000 + 6 5.557903 0.01150800 + 7 3.080151 0.28231300 + 8 1.582963 0.43867800 + 9 0.810922 0.30984300 + 10 0.413396 0.08394500 + 11 0.195480 0.00751700 + 12 0.072688 0.00110000 + 13 0.035877 0.00029000 +P 13 + 1 113.479709 0.00001900 + 2 58.160819 -0.00002400 + 3 30.043076 -0.00122400 + 4 16.753323 0.00232000 + 5 10.705604 0.02075800 + 6 5.557903 -0.01157200 + 7 3.080151 -0.06291900 + 8 1.582963 -0.13675400 + 9 0.810922 -0.06729500 + 10 0.413396 -0.03102400 + 11 0.195480 0.37898100 + 12 0.072688 0.50782400 + 13 0.035877 0.26094100 +P 13 + 1 113.479709 -0.00019700 + 2 58.160819 0.00135400 + 3 30.043076 -0.01010200 + 4 16.753323 0.03060300 + 5 10.705604 0.04620000 + 6 5.557903 -0.01758800 + 7 3.080151 -0.39592000 + 8 1.582963 -0.41909300 + 9 0.810922 0.07501700 + 10 0.413396 1.09298600 + 11 0.195480 0.00868000 + 12 0.072688 -0.75636900 + 13 0.035877 -0.04514900 +P 13 + 1 113.479709 0.00001400 + 2 58.160819 0.00042100 + 3 30.043076 -0.00857300 + 4 16.753323 0.03879700 + 5 10.705604 0.09933800 + 6 5.557903 -0.14444500 + 7 3.080151 -0.82118200 + 8 1.582963 -0.25078500 + 9 0.810922 1.79017000 + 10 0.413396 -0.39954700 + 11 0.195480 -1.29438200 + 12 0.072688 0.84704700 + 13 0.035877 0.15171000 +P 1 + 1 0.035877 1.00000000 +D 11 + 1 132.688182 0.00003000 + 2 45.266024 0.00529400 + 3 23.267336 0.02914300 + 4 10.605694 0.07677500 + 5 5.074684 0.16855100 + 6 2.469857 0.25683200 + 7 1.205883 0.28989100 + 8 0.590569 0.25715400 + 9 0.292055 0.18172600 + 10 0.149190 0.08998600 + 11 0.076511 0.03459500 +D 11 + 1 132.688182 -0.00002100 + 2 45.266024 -0.00544900 + 3 23.267336 -0.02903200 + 4 10.605694 -0.07982500 + 5 5.074684 -0.17441500 + 6 2.469857 -0.25340400 + 7 1.205883 -0.17430500 + 8 0.590569 0.04508100 + 9 0.292055 0.34576000 + 10 0.149190 0.26372500 + 11 0.076511 0.37171500 +D 11 + 1 132.688182 0.00006000 + 2 45.266024 0.00838500 + 3 23.267336 0.04580000 + 4 10.605694 0.12921500 + 5 5.074684 0.28432700 + 6 2.469857 0.27076000 + 7 1.205883 -0.10159100 + 8 0.590569 -0.58067700 + 9 0.292055 -0.18169600 + 10 0.149190 0.02100300 + 11 0.076511 0.72365800 +D 1 + 1 0.076511 1.00000000 +F 1 + 1 0.677099 1.00000000 +F 1 + 1 2.824255 1.00000000 +G 1 + 1 1.740920 1.00000000 + +IRON +S 13 + 1 84.322332 0.00078500 + 2 44.203528 -0.01278100 + 3 23.288963 0.10463500 + 4 13.385163 -0.11938500 + 5 7.518052 -0.33980400 + 6 4.101835 -0.04999400 + 7 2.253571 0.47695500 + 8 1.134924 0.59322200 + 9 0.561550 0.20015100 + 10 0.201961 0.00859100 + 11 0.108698 -0.00218800 + 12 0.053619 0.00067700 + 13 0.025823 -0.00014400 +S 13 + 1 84.322332 -0.00016200 + 2 44.203528 0.00292100 + 3 23.288963 -0.02546600 + 4 13.385163 0.03118200 + 5 7.518052 0.08684900 + 6 4.101835 0.00684600 + 7 2.253571 -0.13185600 + 8 1.134924 -0.22774600 + 9 0.561550 -0.17307900 + 10 0.201961 0.13614200 + 11 0.108698 0.43401300 + 12 0.053619 0.47755500 + 13 0.025823 0.12880400 +S 13 + 1 84.322332 0.00000200 + 2 44.203528 0.00410300 + 3 23.288963 -0.04684000 + 4 13.385163 0.05283300 + 5 7.518052 0.21809400 + 6 4.101835 -0.04499900 + 7 2.253571 -0.28738600 + 8 1.134924 -0.71322000 + 9 0.561550 0.24917400 + 10 0.201961 1.29987200 + 11 0.108698 0.19211900 + 12 0.053619 -0.65861600 + 13 0.025823 -0.52104700 +S 13 + 1 84.322332 0.00001200 + 2 44.203528 0.00759800 + 3 23.288963 -0.09413300 + 4 13.385163 0.12765500 + 5 7.518052 0.43559800 + 6 4.101835 -0.14791100 + 7 2.253571 -1.08447700 + 8 1.134924 -0.88700300 + 9 0.561550 2.44994600 + 10 0.201961 0.16797600 + 11 0.108698 -2.11466800 + 12 0.053619 0.45257900 + 13 0.025823 0.80144400 +S 1 + 1 0.025823 1.00000000 +P 13 + 1 125.092775 0.00005600 + 2 65.211589 -0.00057200 + 3 34.437599 0.00738800 + 4 18.930704 -0.02848100 + 5 10.873415 -0.06300500 + 6 6.012172 0.02485500 + 7 3.372205 0.27747400 + 8 1.768641 0.42538600 + 9 0.914516 0.31414500 + 10 0.460895 0.09042200 + 11 0.204490 0.00697700 + 12 0.074741 0.00115400 + 13 0.035671 0.00030300 +P 13 + 1 125.092775 0.00002500 + 2 65.211589 -0.00007000 + 3 34.437599 -0.00104200 + 4 18.930704 0.00512700 + 5 10.873415 0.01840400 + 6 6.012172 -0.01469200 + 7 3.372205 -0.06130700 + 8 1.768641 -0.12863800 + 9 0.914516 -0.07063700 + 10 0.460895 -0.01631400 + 11 0.204490 0.38070200 + 12 0.074741 0.52307100 + 13 0.035671 0.23576500 +P 13 + 1 125.092775 -0.00019700 + 2 65.211589 0.00125100 + 3 34.437599 -0.00915400 + 4 18.930704 0.03820100 + 5 10.873415 0.04309700 + 6 6.012172 -0.02947500 + 7 3.372205 -0.42699600 + 8 1.768641 -0.39484000 + 9 0.914516 0.07723000 + 10 0.460895 1.11988100 + 11 0.204490 -0.06649400 + 12 0.074741 -0.72158300 + 13 0.035671 -0.00569500 +P 13 + 1 125.092775 0.00026400 + 2 65.211589 -0.00107600 + 3 34.437599 -0.00259100 + 4 18.930704 0.03551900 + 5 10.873415 0.11955400 + 6 6.012172 -0.20471400 + 7 3.372205 -0.76062700 + 8 1.768641 -0.26274000 + 9 0.914516 1.77903000 + 10 0.460895 -0.46274200 + 11 0.204490 -1.24103000 + 12 0.074741 0.94098700 + 13 0.035671 0.08349600 +P 1 + 1 0.035671 1.00000000 +D 11 + 1 152.736742 0.00002900 + 2 50.772485 0.00523800 + 3 26.253589 0.02932500 + 4 12.137022 0.07490100 + 5 5.853719 0.16341100 + 6 2.856224 0.25105700 + 7 1.386132 0.28760300 + 8 0.670802 0.25186200 + 9 0.330280 0.18673600 + 10 0.170907 0.09357000 + 11 0.086794 0.07381100 +D 11 + 1 152.736742 -0.00002600 + 2 50.772485 -0.00632900 + 3 26.253589 -0.03439800 + 4 12.137022 -0.09176500 + 5 5.853719 -0.20159200 + 6 2.856224 -0.28393000 + 7 1.386132 -0.16198100 + 8 0.670802 0.12882200 + 9 0.330280 0.36016000 + 10 0.170907 0.27759200 + 11 0.086794 0.26140300 +D 11 + 1 152.736742 0.00005100 + 2 50.772485 0.00876900 + 3 26.253589 0.04792100 + 4 12.137022 0.13247500 + 5 5.853719 0.29727900 + 6 2.856224 0.27501800 + 7 1.386132 -0.22284200 + 8 0.670802 -0.61906700 + 9 0.330280 -0.07629000 + 10 0.170907 0.25605600 + 11 0.086794 0.54148200 +D 1 + 1 0.086794 1.00000000 +F 1 + 1 0.824745 1.00000000 +F 1 + 1 3.385699 1.00000000 +G 1 + 1 2.137024 1.00000000 + +COBALT +S 13 + 1 90.663831 0.00077400 + 2 46.961414 -0.01131600 + 3 24.110274 0.10120900 + 4 14.430881 -0.08164200 + 5 8.757423 -0.35481200 + 6 4.484459 -0.09036200 + 7 2.519739 0.49817400 + 8 1.236850 0.60412300 + 9 0.601882 0.19077500 + 10 0.223338 0.00657800 + 11 0.123422 -0.00090500 + 12 0.059941 0.00017100 + 13 0.027978 -0.00002500 +S 13 + 1 90.663831 -0.00015400 + 2 46.961414 0.00252500 + 3 24.110274 -0.02444300 + 4 14.430881 0.02220000 + 5 8.757423 0.08841600 + 6 4.484459 0.01682000 + 7 2.519739 -0.13458200 + 8 1.236850 -0.23129500 + 9 0.601882 -0.16398600 + 10 0.223338 0.12133700 + 11 0.123422 0.40241400 + 12 0.059941 0.50611300 + 13 0.027978 0.14543600 +S 13 + 1 90.663831 -0.00004700 + 2 46.961414 0.00365400 + 3 24.110274 -0.04613200 + 4 14.430881 0.03648300 + 5 8.757423 0.21726500 + 6 4.484459 -0.01188300 + 7 2.519739 -0.32468800 + 8 1.236850 -0.68058100 + 9 0.601882 0.25693600 + 10 0.223338 1.22400500 + 11 0.123422 0.23683700 + 12 0.059941 -0.60406400 + 13 0.027978 -0.57494700 +S 13 + 1 90.663831 -0.00023100 + 2 46.961414 0.00753600 + 3 24.110274 -0.09729800 + 4 14.430881 0.11161100 + 5 8.757423 0.40362100 + 6 4.484459 -0.04832400 + 7 2.519739 -1.15760000 + 8 1.236850 -0.75683900 + 9 0.601882 2.31368300 + 10 0.223338 0.25307400 + 11 0.123422 -1.99146600 + 12 0.059941 0.16694200 + 13 0.027978 0.91722100 +S 1 + 1 0.027978 1.00000000 +P 13 + 1 139.038145 0.00007500 + 2 71.928971 -0.00062700 + 3 37.806311 0.00571900 + 4 21.054252 -0.00931000 + 5 12.973193 -0.08385700 + 6 6.791461 0.01239400 + 7 3.794018 0.28198700 + 8 1.960649 0.43417900 + 9 1.006283 0.31340900 + 10 0.509539 0.08977800 + 11 0.233091 0.00740500 + 12 0.083890 0.00098000 + 13 0.039802 0.00027400 +P 13 + 1 139.038145 0.00002500 + 2 71.928971 -0.00008400 + 3 37.806311 -0.00048500 + 4 21.054252 0.00009500 + 5 12.973193 0.02240200 + 6 6.791461 -0.01153400 + 7 3.794018 -0.05686600 + 8 1.960649 -0.12607000 + 9 1.006283 -0.06088900 + 10 0.509539 -0.03508600 + 11 0.233091 0.35184700 + 12 0.083890 0.51044900 + 13 0.039802 0.28970700 +P 13 + 1 139.038145 -0.00023800 + 2 71.928971 0.00148900 + 3 37.806311 -0.00872300 + 4 21.054252 0.02453800 + 5 12.973193 0.06085600 + 6 6.791461 -0.02038000 + 7 3.794018 -0.43019500 + 8 1.960649 -0.40769200 + 9 1.006283 0.08532600 + 10 0.509539 1.07332600 + 11 0.233091 0.01506700 + 12 0.083890 -0.71963100 + 13 0.039802 -0.02460300 +P 13 + 1 139.038145 -0.00005500 + 2 71.928971 -0.00001700 + 3 37.806311 0.00432000 + 4 21.054252 -0.02133900 + 5 12.973193 -0.12713400 + 6 6.791461 0.15720800 + 7 3.794018 0.79492700 + 8 1.960649 0.23357400 + 9 1.006283 -1.66603300 + 10 0.509539 0.28271600 + 11 0.233091 1.33562500 + 12 0.083890 -0.88546900 + 13 0.039802 -0.13034000 +P 1 + 1 0.039802 1.00000000 +D 11 + 1 160.444504 0.00003400 + 2 52.598830 0.00655300 + 3 27.491581 0.03618500 + 4 12.745988 0.08302600 + 5 6.184310 0.17696000 + 6 3.029146 0.26399000 + 7 1.474099 0.29244700 + 8 0.714391 0.24959700 + 9 0.348520 0.17163700 + 10 0.174166 0.08064900 + 11 0.087891 0.04121200 +D 11 + 1 160.444504 -0.00003100 + 2 52.598830 -0.00786900 + 3 27.491581 -0.04199200 + 4 12.745988 -0.10138800 + 5 6.184310 -0.21699600 + 6 3.029146 -0.28396200 + 7 1.474099 -0.12717900 + 8 0.714391 0.17712500 + 9 0.348520 0.37559600 + 10 0.174166 0.28463100 + 11 0.087891 0.20027700 +D 11 + 1 160.444504 0.00004800 + 2 52.598830 0.01053100 + 3 27.491581 0.05555900 + 4 12.745988 0.14075800 + 5 6.184310 0.30578500 + 6 3.029146 0.24281200 + 7 1.474099 -0.28504400 + 8 0.714391 -0.59481900 + 9 0.348520 -0.01793700 + 10 0.174166 0.34815000 + 11 0.087891 0.45517000 +D 1 + 1 0.087891 1.00000000 +F 1 + 1 0.975120 1.00000000 +F 1 + 1 3.957052 1.00000000 +G 1 + 1 2.525364 1.00000000 + +NICKEL +S 13 + 1 97.161835 0.00070900 + 2 51.187866 -0.01239900 + 3 26.996725 0.10722000 + 4 15.523536 -0.12455600 + 5 8.916168 -0.35102300 + 6 4.795806 -0.02575800 + 7 2.619926 0.49894800 + 8 1.330111 0.56898600 + 9 0.668901 0.19112100 + 10 0.230439 0.01027800 + 11 0.121518 -0.00362700 + 12 0.057951 0.00129500 + 13 0.027201 -0.00030700 +S 13 + 1 97.161835 -0.00014000 + 2 51.187866 0.00275600 + 3 26.996725 -0.02548200 + 4 15.523536 0.03218200 + 5 8.916168 0.08622600 + 6 4.795806 0.00110400 + 7 2.619926 -0.13579000 + 8 1.330111 -0.21572400 + 9 0.668901 -0.15836700 + 10 0.230439 0.14349900 + 11 0.121518 0.44367200 + 12 0.057951 0.47255800 + 13 0.027201 0.11017300 +S 13 + 1 97.161835 0.00012100 + 2 51.187866 0.00332200 + 3 26.996725 -0.04578500 + 4 15.523536 0.05341500 + 5 8.916168 0.22227000 + 6 4.795806 -0.07306500 + 7 2.619926 -0.29399800 + 8 1.330111 -0.66893800 + 9 0.668901 0.29750400 + 10 0.230439 1.23374800 + 11 0.121518 0.12931700 + 12 0.057951 -0.60340700 + 13 0.027201 -0.53306200 +S 13 + 1 97.161835 0.00043400 + 2 51.187866 0.00484800 + 3 26.996725 -0.08781800 + 4 15.523536 0.12185200 + 5 8.916168 0.45421800 + 6 4.795806 -0.24576500 + 7 2.619926 -0.99734500 + 8 1.330111 -0.83458600 + 9 0.668901 2.28567500 + 10 0.230439 0.25153800 + 11 0.121518 -1.98879600 + 12 0.057951 0.34760200 + 13 0.027201 0.82415000 +S 1 + 1 0.027201 1.00000000 +P 13 + 1 148.087630 0.00005500 + 2 77.452187 -0.00054800 + 3 40.915636 0.00697900 + 4 22.575667 -0.02365800 + 5 13.218268 -0.07568200 + 6 7.232093 0.02725300 + 7 4.054870 0.28477800 + 8 2.122089 0.42763200 + 9 1.092769 0.30993700 + 10 0.548240 0.08853500 + 11 0.238886 0.00642700 + 12 0.084667 0.00070800 + 13 0.038921 0.00018600 +P 13 + 1 148.087630 0.00002700 + 2 77.452187 -0.00008800 + 3 40.915636 -0.00077300 + 4 22.575667 0.00334500 + 5 13.218268 0.01940500 + 6 7.232093 -0.01428800 + 7 4.054870 -0.05452700 + 8 2.122089 -0.11645400 + 9 1.092769 -0.06023600 + 10 0.548240 -0.02392800 + 11 0.238886 0.34786900 + 12 0.084667 0.52262600 + 13 0.038921 0.27647100 +P 13 + 1 148.087630 -0.00023700 + 2 77.452187 0.00145600 + 3 40.915636 -0.00974500 + 4 22.575667 0.03779900 + 5 13.218268 0.05252100 + 6 7.232093 -0.03500600 + 7 4.054870 -0.45557700 + 8 2.122089 -0.36830600 + 9 1.092769 0.10039200 + 10 0.548240 1.07665200 + 11 0.238886 -0.04532600 + 12 0.084667 -0.70318600 + 13 0.038921 0.00458000 +P 13 + 1 148.087630 -0.00026000 + 2 77.452187 0.00107100 + 3 40.915636 0.00232200 + 4 22.575667 -0.03214000 + 5 13.218268 -0.13413600 + 6 7.232093 0.22906200 + 7 4.054870 0.75223900 + 8 2.122089 0.20553500 + 9 1.092769 -1.69291000 + 10 0.548240 0.43629500 + 11 0.238886 1.21951400 + 12 0.084667 -0.94551600 + 13 0.038921 -0.06223200 +P 1 + 1 0.038921 1.00000000 +D 11 + 1 177.900125 0.00004900 + 2 57.372112 0.00751900 + 3 29.881432 0.03645500 + 4 13.971757 0.08690100 + 5 6.841152 0.18056800 + 6 3.379983 0.26818700 + 7 1.651827 0.29675600 + 8 0.799251 0.25155800 + 9 0.388057 0.16231900 + 10 0.191191 0.07211900 + 11 0.093358 0.02368900 +D 11 + 1 177.900125 -0.00005300 + 2 57.372112 -0.00885000 + 3 29.881432 -0.04191600 + 4 13.971757 -0.10469100 + 5 6.841152 -0.21946400 + 6 3.379983 -0.28371200 + 7 1.651827 -0.12212700 + 8 0.799251 0.19012300 + 9 0.388057 0.37659800 + 10 0.191191 0.29512200 + 11 0.093358 0.17825200 +D 11 + 1 177.900125 0.00007900 + 2 57.372112 0.01144200 + 3 29.881432 0.05397200 + 4 13.971757 0.14106800 + 5 6.841152 0.30229400 + 6 3.379983 0.23655800 + 7 1.651827 -0.29131100 + 8 0.799251 -0.58175800 + 9 0.388057 -0.02406300 + 10 0.191191 0.38938700 + 11 0.093358 0.43083300 +D 1 + 1 0.093358 1.00000000 +F 1 + 1 1.144322 1.00000000 +F 1 + 1 4.588601 1.00000000 +G 1 + 1 2.896680 1.00000000 + +COPPER +S 13 + 1 104.471138 0.00074100 + 2 55.955221 -0.01395300 + 3 30.553953 0.10526600 + 4 16.942394 -0.12939900 + 5 9.452707 -0.36273800 + 6 5.174537 0.01326600 + 7 2.779171 0.48928800 + 8 1.441817 0.56208800 + 9 0.710674 0.19004700 + 10 0.241540 0.00563500 + 11 0.129621 -0.00058200 + 12 0.059229 -0.00002400 + 13 0.027110 0.00003000 +S 13 + 1 104.471138 -0.00013300 + 2 55.955221 0.00299900 + 3 30.553953 -0.02431000 + 4 16.942394 0.03198600 + 5 9.452707 0.08914900 + 6 5.174537 -0.01075000 + 7 2.779171 -0.12822400 + 8 1.441817 -0.21572000 + 9 0.710674 -0.14955900 + 10 0.241540 0.14291700 + 11 0.129621 0.44630700 + 12 0.059229 0.48464300 + 13 0.027110 0.09306900 +S 13 + 1 104.471138 0.00021000 + 2 55.955221 0.00380600 + 3 30.553953 -0.04731200 + 4 16.942394 0.05995700 + 5 9.452707 0.25064200 + 6 5.174537 -0.11910200 + 7 2.779171 -0.31406900 + 8 1.441817 -0.68930000 + 9 0.710674 0.40305000 + 10 0.241540 1.27044000 + 11 0.129621 -0.02902900 + 12 0.059229 -0.62215700 + 13 0.027110 -0.44207400 +S 13 + 1 104.471138 0.00036600 + 2 55.955221 0.00672000 + 3 30.553953 -0.09149300 + 4 16.942394 0.14226300 + 5 9.452707 0.47188100 + 6 5.174537 -0.31970800 + 7 2.779171 -1.06825500 + 8 1.441817 -0.61504900 + 9 0.710674 2.26128200 + 10 0.241540 -0.02005900 + 11 0.129621 -1.81574600 + 12 0.059229 0.47417400 + 13 0.027110 0.71359700 +S 1 + 1 0.027110 1.00000000 +P 13 + 1 159.152840 0.00002600 + 2 83.322776 -0.00040200 + 3 44.840311 0.00740500 + 4 25.020360 -0.03071400 + 5 13.610016 -0.07434800 + 6 7.761318 0.04343000 + 7 4.303947 0.28970300 + 8 2.290080 0.41346700 + 9 1.202173 0.30376200 + 10 0.607647 0.09349400 + 11 0.257656 0.00666300 + 12 0.090897 0.00056700 + 13 0.041925 0.00017600 +P 13 + 1 159.152840 0.00003400 + 2 83.322776 -0.00012900 + 3 44.840311 -0.00080200 + 4 25.020360 0.00474700 + 5 13.610016 0.01859500 + 6 7.761318 -0.01769200 + 7 4.303947 -0.05261400 + 8 2.290080 -0.11034900 + 9 1.202173 -0.05470100 + 10 0.607647 -0.02665500 + 11 0.257656 0.33588000 + 12 0.090897 0.50947800 + 13 0.041925 0.30255900 +P 13 + 1 159.152840 -0.00022800 + 2 83.322776 0.00141400 + 3 44.840311 -0.01029000 + 4 25.020360 0.04389600 + 5 13.610016 0.05286500 + 6 7.761318 -0.05656500 + 7 4.303947 -0.48071500 + 8 2.290080 -0.31598400 + 9 1.202173 0.07567900 + 10 0.607647 1.06074700 + 11 0.257656 -0.00806100 + 12 0.090897 -0.70160100 + 13 0.041925 0.00694100 +P 13 + 1 159.152840 -0.00041200 + 2 83.322776 0.00195700 + 3 44.840311 0.00064000 + 4 25.020360 -0.03675300 + 5 13.610016 -0.14719300 + 6 7.761318 0.29778200 + 7 4.303947 0.70527100 + 8 2.290080 0.19646600 + 9 1.202173 -1.65940600 + 10 0.607647 0.39150000 + 11 0.257656 1.24328400 + 12 0.090897 -0.95752900 + 13 0.041925 -0.05609100 +P 1 + 1 0.041925 1.00000000 +D 11 + 1 226.693527 0.00001500 + 2 73.010278 0.00410800 + 3 38.536518 0.02822300 + 4 18.726700 0.06932300 + 5 9.155485 0.15604500 + 6 4.540884 0.25123800 + 7 2.241175 0.29746300 + 8 1.085869 0.27498100 + 9 0.510612 0.19309800 + 10 0.229608 0.08639300 + 11 0.095781 0.01464500 +D 11 + 1 226.693527 -0.00001300 + 2 73.010278 -0.00525200 + 3 38.536518 -0.03498200 + 4 18.726700 -0.08895000 + 5 9.155485 -0.20719400 + 6 4.540884 -0.30259700 + 7 2.241175 -0.17932700 + 8 1.085869 0.16906900 + 9 0.510612 0.40590400 + 10 0.229608 0.34187100 + 11 0.095781 0.11708000 +D 11 + 1 226.693527 0.00001600 + 2 73.010278 0.00615700 + 3 38.536518 0.04036100 + 4 18.726700 0.10603800 + 5 9.155485 0.26329900 + 6 4.540884 0.28849600 + 7 2.241175 -0.18674500 + 8 1.085869 -0.59153900 + 9 0.510612 -0.13868100 + 10 0.229608 0.54774900 + 11 0.095781 0.36235300 +D 1 + 1 0.095781 1.00000000 +F 1 + 1 1.316717 1.00000000 +F 1 + 1 5.230236 1.00000000 +G 1 + 1 3.445758 1.00000000 + +ZINC +S 13 + 1 114.485022 0.00042900 + 2 61.996430 -0.01933900 + 3 40.117132 0.08625400 + 4 20.119649 -0.08895500 + 5 10.171676 -0.40267100 + 6 5.601641 0.06730400 + 7 2.864122 0.47921500 + 8 1.592779 0.50396000 + 9 0.826525 0.22208800 + 10 0.263975 0.01220300 + 11 0.145302 -0.00430000 + 12 0.068195 0.00124300 + 13 0.031465 -0.00026700 +S 13 + 1 114.485022 -0.00010900 + 2 61.996430 0.00445900 + 3 40.117132 -0.02006700 + 4 20.119649 0.02233800 + 5 10.171676 0.09669800 + 6 5.601641 -0.02196600 + 7 2.864122 -0.12876800 + 8 1.592779 -0.18170600 + 9 0.826525 -0.16231100 + 10 0.263975 0.11626400 + 11 0.145302 0.41131400 + 12 0.068195 0.49425700 + 13 0.031465 0.13810300 +S 13 + 1 114.485022 0.00066600 + 2 61.996430 0.00626900 + 3 40.117132 -0.04660300 + 4 20.119649 0.05039900 + 5 10.171676 0.36349300 + 6 5.601641 -0.24284000 + 7 2.864122 -0.38228100 + 8 1.592779 -0.86156700 + 9 0.826525 0.70607700 + 10 0.263975 1.49500100 + 11 0.145302 -0.45399400 + 12 0.068195 -0.59782200 + 13 0.031465 -0.25611700 +S 13 + 1 114.485022 0.00070400 + 2 61.996430 0.01284100 + 3 40.117132 -0.08591000 + 4 20.119649 0.11798200 + 5 10.171676 0.63016400 + 6 5.601641 -0.60034400 + 7 2.864122 -1.24906000 + 8 1.592779 -0.32949800 + 9 0.826525 2.59246900 + 10 0.263975 -1.00448100 + 11 0.145302 -1.37951400 + 12 0.068195 1.04684200 + 13 0.031465 0.32467600 +S 1 + 1 0.031465 1.00000000 +P 13 + 1 158.770986 -0.00015300 + 2 75.802876 0.00189300 + 3 44.547824 0.01046100 + 4 31.445269 -0.04514100 + 5 13.080125 -0.08420100 + 6 7.788616 0.10497300 + 7 4.195040 0.30771400 + 8 2.362276 0.36856300 + 9 1.302584 0.28633600 + 10 0.660704 0.09515600 + 11 0.249042 0.00585100 + 12 0.091781 -0.00003400 + 13 0.048931 0.00025200 +P 13 + 1 158.770986 0.00005300 + 2 75.802876 -0.00057100 + 3 44.547824 -0.00107300 + 4 31.445269 0.00746300 + 5 13.080125 0.01867600 + 6 7.788616 -0.02809000 + 7 4.195040 -0.05443800 + 8 2.362276 -0.09374400 + 9 1.302584 -0.05416900 + 10 0.660704 -0.00797200 + 11 0.249042 0.35619800 + 12 0.091781 0.41239900 + 13 0.048931 0.36132100 +P 13 + 1 158.770986 -0.00017000 + 2 75.802876 0.00060400 + 3 44.547824 -0.01998700 + 4 31.445269 0.06115300 + 5 13.080125 0.06731700 + 6 7.788616 -0.13921100 + 7 4.195040 -0.52704100 + 8 2.362276 -0.17619400 + 9 1.302584 0.03712900 + 10 0.660704 1.07932200 + 11 0.249042 -0.05014900 + 12 0.091781 -0.68897100 + 13 0.048931 0.03733100 +P 13 + 1 158.770986 -0.00078100 + 2 75.802876 0.00785500 + 3 44.547824 -0.00867100 + 4 31.445269 -0.04055300 + 5 13.080125 -0.20006200 + 6 7.788616 0.52859900 + 7 4.195040 0.52855200 + 8 2.362276 0.24357600 + 9 1.302584 -1.80718200 + 10 0.660704 0.62949600 + 11 0.249042 1.13761300 + 12 0.091781 -1.06715000 + 13 0.048931 0.02219000 +P 1 + 1 0.048931 1.00000000 +D 11 + 1 270.014061 -0.00001600 + 2 100.161579 0.00069600 + 3 43.530609 0.01353600 + 4 21.262419 0.06935000 + 5 10.577821 0.14955900 + 6 5.343620 0.23958800 + 7 2.704857 0.28674400 + 8 1.353018 0.27145900 + 9 0.660873 0.20242600 + 10 0.309149 0.10330700 + 11 0.133879 0.02321100 +D 11 + 1 270.014061 0.00001300 + 2 100.161579 -0.00088900 + 3 43.530609 -0.01864000 + 4 21.262419 -0.09464600 + 5 10.577821 -0.21565900 + 6 5.343620 -0.32246900 + 7 2.704857 -0.19752900 + 8 1.353018 0.16444800 + 9 0.660873 0.41001700 + 10 0.309149 0.32783800 + 11 0.133879 0.10574900 +D 11 + 1 270.014061 0.00000700 + 2 100.161579 0.00086800 + 3 43.530609 0.02163100 + 4 21.262419 0.10774800 + 5 10.577821 0.27899700 + 6 5.343620 0.31454300 + 7 2.704857 -0.24192600 + 8 1.353018 -0.60241500 + 9 0.660873 -0.11801300 + 10 0.309149 0.54548200 + 11 0.133879 0.36382900 +D 1 + 1 0.133879 1.00000000 +F 1 + 1 1.520399 1.00000000 +F 1 + 1 6.000349 1.00000000 +G 1 + 1 4.099533 1.00000000 + +GALLIUM +S 9 + 1 31.011369 -0.00004600 + 2 13.757663 0.00020700 + 3 6.103352 -0.00828200 + 4 2.707648 0.08572200 + 5 1.201202 -0.35069900 + 6 0.532893 0.00456700 + 7 0.236409 0.45296800 + 8 0.104879 0.55818700 + 9 0.046528 0.16331900 +P 9 + 1 15.391968 -0.00012000 + 2 6.919798 -0.00020200 + 3 3.110948 0.00885300 + 4 1.398595 -0.07370800 + 5 0.628769 0.02826000 + 6 0.282677 0.22146300 + 7 0.127084 0.41332000 + 8 0.057133 0.38568600 + 9 0.025686 0.11229200 +S 1 + 1 0.391111 1.00000000 +S 1 + 1 0.071697 1.00000000 +P 1 + 1 0.083880 1.00000000 +P 1 + 1 0.033495 1.00000000 +D 1 + 1 0.298873 1.00000000 +D 1 + 1 0.109099 1.00000000 +F 1 + 1 0.295473 1.00000000 + +GERMANIUM +S 9 + 1 46.470485 -0.00022900 + 2 20.357328 0.00157400 + 3 8.917936 -0.01134500 + 4 3.906681 0.09897200 + 5 1.711400 -0.33154500 + 6 0.749713 -0.09480900 + 7 0.328427 0.43893300 + 8 0.143874 0.59677700 + 9 0.063027 0.18625100 +P 9 + 1 22.641155 0.00005200 + 2 10.174686 -0.00067500 + 3 4.572392 0.01127600 + 4 2.054783 -0.07462800 + 5 0.923397 -0.01207000 + 6 0.414964 0.21691900 + 7 0.186480 0.43873500 + 8 0.083802 0.38512600 + 9 0.037660 0.10807400 +S 1 + 1 0.487752 1.00000000 +S 1 + 1 0.093287 1.00000000 +P 1 + 1 0.106229 1.00000000 +P 1 + 1 0.045719 1.00000000 +D 1 + 1 0.398162 1.00000000 +D 1 + 1 0.145611 1.00000000 +F 1 + 1 0.357699 1.00000000 + +ARSENIC +S 9 + 1 50.230536 -0.00053800 + 2 22.441775 0.00366000 + 3 10.026436 -0.02399200 + 4 4.479567 0.15807600 + 5 2.001361 -0.41934600 + 6 0.894159 -0.10051900 + 7 0.399488 0.45002000 + 8 0.178482 0.60510400 + 9 0.079741 0.19000900 +P 9 + 1 22.695464 0.00032200 + 2 10.529662 -0.00312000 + 3 4.885284 0.02984900 + 4 2.266549 -0.12788200 + 5 1.051576 -0.00446100 + 6 0.487883 0.24866600 + 7 0.226356 0.45708300 + 8 0.105019 0.35148300 + 9 0.048724 0.09163600 +S 1 + 1 0.549347 1.00000000 +S 1 + 1 0.115547 1.00000000 +P 1 + 1 0.603543 1.00000000 +P 1 + 1 0.099669 1.00000000 +D 1 + 1 0.401888 1.00000000 +D 1 + 1 0.166254 1.00000000 +F 1 + 1 0.430378 1.00000000 + +SELENIUM +S 9 + 1 53.235856 -0.00017300 + 2 24.069480 0.00151800 + 3 10.882513 -0.01538400 + 4 4.920301 0.13681600 + 5 2.224611 -0.39461000 + 6 1.005811 -0.13955900 + 7 0.454757 0.50733100 + 8 0.205609 0.58687500 + 9 0.092962 0.17717000 +P 9 + 1 25.056177 -0.00015300 + 2 11.673683 0.00033200 + 3 5.438773 0.01417500 + 4 2.533927 -0.10389300 + 5 1.180557 -0.00813400 + 6 0.550022 0.28490400 + 7 0.256256 0.42743700 + 8 0.119390 0.33406600 + 9 0.055624 0.11234000 +S 1 + 1 0.607975 1.00000000 +S 1 + 1 0.134187 1.00000000 +P 1 + 1 0.147697 1.00000000 +P 1 + 1 0.069503 1.00000000 +D 1 + 1 0.525911 1.00000000 +D 1 + 1 0.209516 1.00000000 +F 1 + 1 0.478915 1.00000000 + +BROMINE +S 9 + 1 60.457695 -0.00045200 + 2 27.422852 0.00337200 + 3 12.438662 -0.02504500 + 4 5.642021 0.17010100 + 5 2.559150 -0.43099200 + 6 1.160798 -0.15435800 + 7 0.526524 0.52545800 + 8 0.238824 0.59273500 + 9 0.108328 0.16949000 +P 9 + 1 27.437987 0.00008700 + 2 12.887440 -0.00179700 + 3 6.053145 0.02715000 + 4 2.843122 -0.13414300 + 5 1.335395 -0.00623400 + 6 0.627226 0.30955100 + 7 0.294604 0.44028500 + 8 0.138374 0.31675000 + 9 0.064993 0.09253300 +S 1 + 1 0.663065 1.00000000 +S 1 + 1 0.158034 1.00000000 +P 1 + 1 0.163319 1.00000000 +P 1 + 1 0.085667 1.00000000 +D 1 + 1 0.569580 1.00000000 +D 1 + 1 0.242720 1.00000000 +F 1 + 1 0.576157 1.00000000 + +KRYPTON +S 9 + 1 59.995647 -0.00020300 + 2 27.757709 0.00179400 + 3 12.842438 -0.01925200 + 4 5.941709 0.17119400 + 5 2.749003 -0.47784700 + 6 1.271859 -0.11968600 + 7 0.588441 0.56843400 + 8 0.272249 0.56402800 + 9 0.125959 0.15760800 +P 9 + 1 24.020781 0.00010600 + 2 11.612963 -0.00089200 + 3 5.614344 0.02038000 + 4 2.714282 -0.15516000 + 5 1.312233 0.05764300 + 6 0.634405 0.35555900 + 7 0.306706 0.42666700 + 8 0.148279 0.27115100 + 9 0.071686 0.06768000 +S 1 + 1 1.799033 1.00000000 +S 1 + 1 0.340362 1.00000000 +P 1 + 1 0.202260 1.00000000 +P 1 + 1 0.109890 1.00000000 +D 1 + 1 0.699202 1.00000000 +D 1 + 1 0.284803 1.00000000 +F 1 + 1 0.696837 1.00000000 + diff --git a/data/pseudo/ccecp b/data/pseudo/ccecp index 118133b8..04af4c12 100644 --- a/data/pseudo/ccecp +++ b/data/pseudo/ccecp @@ -6,6 +6,7 @@ H GEN 0 1 1 0.00000000000000 2 1.000000000000000 + He GEN 0 1 3 2.000000 1 32.000000 @@ -14,6 +15,7 @@ He GEN 0 1 1 0.000000 2 1.0000000 + Li GEN 2 1 3 1.000 1 15.0000000000000 @@ -22,6 +24,7 @@ Li GEN 2 1 1 6.75286789026804 2 1.33024777689591 + Be GEN 2 1 4 2 1 17.94900205362972 @@ -31,6 +34,7 @@ Be GEN 2 1 1 12.66391859014478 2 2.487403700772570 + B GEN 2 1 3 3.00000 1 31.49298 @@ -69,11 +73,12 @@ O GEN 2 1 F GEN 2 1 3 -7.0 1 11.3954401213 -79.7680808491 3 10.49201883 --49.4990068225 2 10.2868054098 +7.0 1 12.08758490486192 +84.61309433403344 3 12.83806306400466 +-53.02751706539332 2 12.31234562699041 1 -51.3934743997 2 11.3903478843 +78.90177172847011 2 14.78076492090162 + Ne GEN 2 1 3 @@ -83,6 +88,7 @@ Ne GEN 2 1 1 81.62205749824426 2 16.55441468334002 + Na GEN 10 2 3 1.000000 1 4.311678 @@ -107,14 +113,17 @@ Mg GEN 10 2 3.315069 2 1.583969 4.403025 2 1.077297 -Al GEN 2 1 +Al GEN 10 2 3 - 11.000000 1 11.062056 - 121.682619 3 12.369778 - -82.624567 2 11.965444 + 3.000000 1 5.073893 + 15.221680 3 8.607001 + -11.165685 2 3.027490 2 - 25.157259 2 81.815564 - 113.067525 2 24.522883 + 14.879513 2 7.863954 + 20.746863 2 2.061358 +2 + 7.786227 2 3.125175 + 7.109015 2 1.414930 Si GEN 10 2 3 @@ -128,41 +137,53 @@ Si GEN 10 2 7.621400 2 3.660001 10.331583 2 1.903653 -P GEN 2 1 +P GEN 10 2 3 - 13.000000 1 15.073300 - 195.952906 3 18.113176 - -117.611086 2 17.371539 + 5.000000 1 5.872694 + 29.363469 3 9.891298 + -17.011136 2 4.692469 2 - 25.197230 2 101.982019 - 189.426261 2 37.485881 + 15.259383 2 12.091334 + 31.707918 2 3.044535 +2 + 7.747190 2 4.310884 + 13.932528 2 2.426903 -S GEN 2 1 +S GEN 10 2 3 - 14.000000 1 17.977612 - 251.686565 3 20.435964 - -135.538891 2 19.796579 + 6.000000 1 6.151144 + 36.906864 3 11.561575 + -19.819533 2 5.390961 2 - 25.243283 2 111.936344 - 227.060768 2 43.941844 + 15.925748 2 16.117687 + 38.515895 2 3.608629 +2 + 8.062221 2 6.228956 + 18.737525 2 2.978074 -Cl GEN 2 1 +Cl GEN 10 2 3 - 15.000000 1 22.196266 - 332.943994 3 26.145117 - -161.999982 2 25.015118 + 7.000000 1 7.944352 + 55.610463 3 12.801261 + -22.860784 2 6.296744 2 - 26.837357 2 124.640433 - 277.296696 2 52.205433 + 15.839234 2 17.908432 + 44.469504 2 4.159880 +2 + 8.321946 2 7.931763 + 24.044745 2 3.610412 -Ar GEN 2 1 +Ar GEN 10 2 3 - 16.000000 1 23.431337 - 374.901386 3 26.735872 - -178.039517 2 26.003325 + 8.000000 1 8.317181 + 66.537451 3 13.124648 + -24.100393 2 6.503132 2 - 25.069215 2 135.620522 - 332.151842 2 60.471053 + 18.910152 2 27.068139 + 53.040012 2 4.801263 +2 + 8.015534 2 11.135735 + 28.220208 2 4.126631 K GEN 10 2 4 From 579a52b5049ac637ab2d6da6ba20ce108b942394 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 11 May 2020 10:21:01 +0200 Subject: [PATCH 084/138] Added hydrogen in ccECP --- data/basis/aug-cc-pcv5z_ecp_ccecp | 6 + data/basis/aug-cc-pcvdz_ecp_ccecp | 6 + data/basis/aug-cc-pcvqz_ecp_ccecp | 6 + data/basis/aug-cc-pcvtz_ecp_ccecp | 6 + data/basis/aug-cc-pv5z_ecp_ccecp | 6 + data/basis/aug-cc-pvdz_ecp_ccecp | 7 +- data/basis/aug-cc-pvqz_ecp_ccecp | 7 +- data/basis/aug-cc-pvtz_ecp_ccecp | 7 +- data/basis/cc-pcv5z_ecp_ccecp | 6 + data/basis/cc-pcvdz_ecp_ccecp | 6 + data/basis/cc-pcvqz_ecp_ccecp | 6 + data/basis/cc-pcvtz_ecp_ccecp | 6 + data/basis/cc-pv5z_ecp_ccecp | 365 +++++++++++++++++------------- data/basis/cc-pvdz_ecp_ccecp | 121 ++++++---- data/basis/cc-pvqz_ecp_ccecp | 261 ++++++++++++--------- data/basis/cc-pvtz_ecp_ccecp | 171 ++++++++------ data/pseudo/ccecp | 6 - 17 files changed, 595 insertions(+), 404 deletions(-) diff --git a/data/basis/aug-cc-pcv5z_ecp_ccecp b/data/basis/aug-cc-pcv5z_ecp_ccecp index 54cb9842..9f26101e 100644 --- a/data/basis/aug-cc-pcv5z_ecp_ccecp +++ b/data/basis/aug-cc-pcv5z_ecp_ccecp @@ -1,3 +1,8 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + POTASSIUM S 13 1 33.190598 0.00093460 @@ -3216,3 +3221,4 @@ H 1 I 1 1 11.154097 1.00000000 +$END diff --git a/data/basis/aug-cc-pcvdz_ecp_ccecp b/data/basis/aug-cc-pcvdz_ecp_ccecp index 86aa5fd9..f09cfada 100644 --- a/data/basis/aug-cc-pcvdz_ecp_ccecp +++ b/data/basis/aug-cc-pcvdz_ecp_ccecp @@ -1,3 +1,8 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + POTASSIUM S 13 1 33.190598 0.00093460 @@ -1586,3 +1591,4 @@ D 1 F 1 1 8.867564 1.00000000 +$END diff --git a/data/basis/aug-cc-pcvqz_ecp_ccecp b/data/basis/aug-cc-pcvqz_ecp_ccecp index 677b000b..bb93be12 100644 --- a/data/basis/aug-cc-pcvqz_ecp_ccecp +++ b/data/basis/aug-cc-pcvqz_ecp_ccecp @@ -1,3 +1,8 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + POTASSIUM S 13 1 33.190598 0.00093460 @@ -2646,3 +2651,4 @@ G 1 H 1 1 9.808424 1.00000000 +$END diff --git a/data/basis/aug-cc-pcvtz_ecp_ccecp b/data/basis/aug-cc-pcvtz_ecp_ccecp index 419f3345..a03b35dd 100644 --- a/data/basis/aug-cc-pcvtz_ecp_ccecp +++ b/data/basis/aug-cc-pcvtz_ecp_ccecp @@ -1,3 +1,8 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + POTASSIUM S 13 1 33.190598 0.00093460 @@ -2102,3 +2107,4 @@ F 1 G 1 1 9.295253 1.00000000 +$END diff --git a/data/basis/aug-cc-pv5z_ecp_ccecp b/data/basis/aug-cc-pv5z_ecp_ccecp index fcf04a68..67df220e 100644 --- a/data/basis/aug-cc-pv5z_ecp_ccecp +++ b/data/basis/aug-cc-pv5z_ecp_ccecp @@ -1,3 +1,8 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + HYDROGEN S 8 1 23.843185 0.00411490 @@ -4307,3 +4312,4 @@ H 1 H 1 1 0.386056 1.00000000 +$END diff --git a/data/basis/aug-cc-pvdz_ecp_ccecp b/data/basis/aug-cc-pvdz_ecp_ccecp index 6debec25..b95d4c21 100644 --- a/data/basis/aug-cc-pvdz_ecp_ccecp +++ b/data/basis/aug-cc-pvdz_ecp_ccecp @@ -1,3 +1,8 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + HYDROGEN S 8 1 23.843185 0.00411490 @@ -17,7 +22,6 @@ P 1 P 1 1 0.740212 1.00000000 - HELIUM S 8 1 39.320931 0.01006570 @@ -2091,3 +2095,4 @@ D 1 D 1 1 0.200927 1.00000000 +$END diff --git a/data/basis/aug-cc-pvqz_ecp_ccecp b/data/basis/aug-cc-pvqz_ecp_ccecp index cf9af9df..63ee372f 100644 --- a/data/basis/aug-cc-pvqz_ecp_ccecp +++ b/data/basis/aug-cc-pvqz_ecp_ccecp @@ -1,3 +1,8 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + HYDROGEN S 8 1 23.843185 0.00411490 @@ -35,7 +40,6 @@ F 1 F 1 1 1.421460 1.00000000 - HELIUM S 8 1 39.320931 0.01006570 @@ -3507,3 +3511,4 @@ G 1 G 1 1 0.307906 1.00000000 +$END diff --git a/data/basis/aug-cc-pvtz_ecp_ccecp b/data/basis/aug-cc-pvtz_ecp_ccecp index 201926b2..b2e75635 100644 --- a/data/basis/aug-cc-pvtz_ecp_ccecp +++ b/data/basis/aug-cc-pvtz_ecp_ccecp @@ -1,3 +1,8 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + HYDROGEN S 8 1 23.843185 0.00411490 @@ -25,7 +30,6 @@ D 1 D 1 1 1.065841 1.00000000 - HELIUM S 8 1 39.320931 0.01006570 @@ -2767,3 +2771,4 @@ F 1 F 1 1 0.278735 1.00000000 +$END diff --git a/data/basis/cc-pcv5z_ecp_ccecp b/data/basis/cc-pcv5z_ecp_ccecp index 63d33c38..06351ba0 100644 --- a/data/basis/cc-pcv5z_ecp_ccecp +++ b/data/basis/cc-pcv5z_ecp_ccecp @@ -1,3 +1,8 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + POTASSIUM S 13 1 33.190598 0.00093460 @@ -3052,3 +3057,4 @@ H 1 I 1 1 11.154097 1.00000000 +$END diff --git a/data/basis/cc-pcvdz_ecp_ccecp b/data/basis/cc-pcvdz_ecp_ccecp index 13f3a414..05cd549f 100644 --- a/data/basis/cc-pcvdz_ecp_ccecp +++ b/data/basis/cc-pcvdz_ecp_ccecp @@ -1,3 +1,8 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + POTASSIUM S 13 1 33.190598 0.00093460 @@ -1494,3 +1499,4 @@ D 1 F 1 1 8.867564 1.00000000 +$END diff --git a/data/basis/cc-pcvqz_ecp_ccecp b/data/basis/cc-pcvqz_ecp_ccecp index 801cc645..a73b28ec 100644 --- a/data/basis/cc-pcvqz_ecp_ccecp +++ b/data/basis/cc-pcvqz_ecp_ccecp @@ -1,3 +1,8 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + POTASSIUM S 13 1 33.190598 0.00093460 @@ -2506,3 +2511,4 @@ G 1 H 1 1 9.808424 1.00000000 +$END diff --git a/data/basis/cc-pcvtz_ecp_ccecp b/data/basis/cc-pcvtz_ecp_ccecp index ba8e8392..eea1d00c 100644 --- a/data/basis/cc-pcvtz_ecp_ccecp +++ b/data/basis/cc-pcvtz_ecp_ccecp @@ -1,3 +1,8 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + POTASSIUM S 13 1 33.190598 0.00093460 @@ -1986,3 +1991,4 @@ F 1 G 1 1 9.295253 1.00000000 +$END diff --git a/data/basis/cc-pv5z_ecp_ccecp b/data/basis/cc-pv5z_ecp_ccecp index 6af1f148..f8b9d8a9 100644 --- a/data/basis/cc-pv5z_ecp_ccecp +++ b/data/basis/cc-pv5z_ecp_ccecp @@ -1,3 +1,47 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + +HYDROGEN +S 8 + 1 23.843185 0.00411490 + 2 10.212443 0.01046440 + 3 4.374164 0.02801110 + 4 1.873529 0.07588620 + 5 0.802465 0.18210620 + 6 0.343709 0.34852140 + 7 0.147217 0.37823130 + 8 0.063055 0.11642410 +S 1 + 1 0.068025 1.00000000 +S 1 + 1 0.171860 1.00000000 +S 1 + 1 0.434193 1.00000000 +S 1 + 1 1.096959 1.00000000 +P 1 + 1 0.236875 1.00000000 +P 1 + 1 0.641066 1.00000000 +P 1 + 1 1.734949 1.00000000 +P 1 + 1 4.695379 1.00000000 +D 1 + 1 0.451746 1.00000000 +D 1 + 1 1.155025 1.00000000 +D 1 + 1 2.953168 1.00000000 +F 1 + 1 1.100898 1.00000000 +F 1 + 1 2.968936 1.00000000 +G 1 + 1 1.819850 1.00000000 + HELIUM S 8 1 39.320931 0.01006570 @@ -154,25 +198,25 @@ H 1 1 0.507936 1.00000000 BORON -s 9 1.00 +s 9 1 11.76050 -0.0036757 -2 5.150520 0.0250517 +2 5.150520 0.0250517 3 2.578276 -0.1249228 4 1.290648 -0.0662874 5 0.646080 0.1007341 -6 0.323418 0.3375492 +6 0.323418 0.3375492 7 0.161898 0.4308431 -8 0.081044 0.2486558 +8 0.081044 0.2486558 9 0.040569 0.0317295 -s 1 1.00 +s 1 1 0.614105 1.000000 -s 1 1.00 +s 1 1 0.375720 1.000000 -s 1 1.00 +s 1 1 0.170896 1.000000 -s 1 1.00 +s 1 1 0.070664 1.000000 -p 9 1.00 +p 9 1 7.470701 0.0047397 2 3.735743 0.0376009 3 1.868068 0.0510600 @@ -182,37 +226,37 @@ p 9 1.00 7 0.116803 0.2850185 8 0.058408 0.1448808 9 0.029207 0.0176962 -p 1 1.00 +p 1 1 0.566611 1.000000 -p 1 1.00 +p 1 1 0.436327 1.000000 -p 1 1.00 +p 1 1 0.143772 1.000000 -p 1 1.00 +p 1 1 0.057917 1.000000 -d 1 1.00 +d 1 1 1.022256 1.000000 -d 1 1.00 +d 1 1 0.808233 1.000000 -d 1 1.00 +d 1 1 0.380163 1.000000 -d 1 1.00 +d 1 1 0.134838 1.000000 -f 1 1.00 +f 1 1 1.002171 1.000000 -f 1 1.00 +f 1 1 0.799174 1.000000 -f 1 1.00 +f 1 1 0.272717 1.000000 -g 1 1.00 +g 1 1 0.824366 1.000000 -g 1 1.00 +g 1 1 0.486131 1.000000 -h 1 1.00 +h 1 1 0.632779 1.000000 CARBON -s 9 1.00 +s 9 1 13.073594 0.0051583 2 6.541187 0.0603424 3 4.573411 -0.1978471 @@ -222,15 +266,15 @@ s 9 1.00 7 0.231300 0.4336405 8 0.102619 0.2131940 9 0.051344 0.0049848 -s 1 1.00 +s 1 1 0.098302 1.000000 -s 1 1.00 +s 1 1 0.232034 1.000000 -s 1 1.00 +s 1 1 0.744448 1.000000 -s 1 1.00 +s 1 1 1.009914 1.000000 -p 9 1.00 +p 9 1 9.934169 0.0209076 2 3.886955 0.0572698 3 1.871016 0.1122682 @@ -240,33 +284,33 @@ p 9 1.00 7 0.117063 0.2016934 8 0.058547 0.0453575 9 0.029281 0.0029775 -p 1 1.00 +p 1 1 0.084047 1.000000 -p 1 1.00 +p 1 1 0.216618 1.000000 -p 1 1.00 +p 1 1 0.576869 1.000000 -p 1 1.00 +p 1 1 1.006252 1.000000 -d 1 1.00 +d 1 1 0.206619 1.000000 -d 1 1.00 +d 1 1 0.606933 1.000000 -d 1 1.00 +d 1 1 1.001526 1.000000 -d 1 1.00 +d 1 1 1.504882 1.000000 -f 1 1.00 +f 1 1 0.400573 1.000000 -f 1 1.00 +f 1 1 1.099564 1.000000 -f 1 1.00 +f 1 1 1.501091 1.000000 -g 1 1.00 +g 1 1 0.797648 1.000000 -g 1 1.00 +g 1 1 1.401343 1.000000 -h 1 1.00 +h 1 1 1.001703 1.000000 NITROGEN @@ -517,14 +561,14 @@ S 10 8 0.120466 0.451564 9 0.065853 0.302904 10 0.035999 0.079545 -S 1 +S 1 1 0.967736 1.000000 -S 1 +S 1 1 0.379373 1.000000 S 1 - 1 0.148722 1.000000 + 1 0.148722 1.000000 S 1 - 1 0.058302 1.000000 + 1 0.058302 1.000000 P 10 1 1.570603 -0.002645 2 0.977752 -0.037850 @@ -537,33 +581,33 @@ P 10 9 0.035429 0.112350 10 0.022056 0.052665 P 1 - 1 0.951381 1.000000 + 1 0.951381 1.000000 P 1 - 1 0.456240 1.000000 + 1 0.456240 1.000000 P 1 - 1 0.218792 1.000000 + 1 0.218792 1.000000 P 1 - 1 0.104923 1.000000 + 1 0.104923 1.000000 D 1 - 1 1.586180 1.000000 + 1 1.586180 1.000000 D 1 - 1 0.603516 1.000000 + 1 0.603516 1.000000 D 1 - 1 0.229628 1.000000 + 1 0.229628 1.000000 D 1 - 1 0.087370 1.000000 + 1 0.087370 1.000000 F 1 - 1 0.546132 1.000000 + 1 0.546132 1.000000 F 1 - 1 0.262335 1.000000 + 1 0.262335 1.000000 F 1 - 1 0.126013 1.000000 + 1 0.126013 1.000000 G 1 - 1 0.535941 1.000000 + 1 0.535941 1.000000 G 1 - 1 0.243699 1.000000 + 1 0.243699 1.000000 H 1 - 1 0.443982 1.000000 + 1 0.443982 1.000000 SILICON S 10 @@ -577,16 +621,16 @@ S 10 8 0.155857 0.445219 9 0.086011 0.267230 10 0.047466 0.060787 -S 1 +S 1 1 0.700625 1.000000 -S 1 +S 1 1 0.318864 1.000000 -S 1 +S 1 1 0.145120 1.000000 -S 1 +S 1 1 0.066046 1.000000 -P 10 - 1 5.027868 -0.003242 +P 10 + 1 5.027868 -0.003242 2 2.867751 0.010649 3 1.635683 -0.049761 4 0.932947 -0.000017 @@ -596,33 +640,33 @@ P 10 8 0.098739 0.294696 9 0.056318 0.153898 10 0.032122 0.042337 -P 1 +P 1 1 1.336968 1.000000 -P 1 +P 1 1 0.652035 1.000000 -P 1 +P 1 1 0.317995 1.000000 -P 1 +P 1 1 0.155085 1.000000 -D 1 +D 1 1 2.145983 1.000000 -D 1 +D 1 1 0.828929 1.000000 -D 1 +D 1 1 0.320190 1.000000 -D 1 +D 1 1 0.123680 1.000000 -F 1 +F 1 1 0.756775 1.000000 -F 1 +F 1 1 0.357607 1.000000 -F 1 +F 1 1 0.168984 1.000000 -G 1 +G 1 1 0.702896 1.000000 -G 1 +G 1 1 0.316879 1.000000 -H 1 +H 1 1 0.575435 1.000000 PHOSPHORUS @@ -637,15 +681,15 @@ S 10 8 0.163080 0.376899 9 0.099853 0.152113 10 0.061140 0.054943 -S 1 +S 1 1 0.880402 1.000000 -S 1 +S 1 1 0.402152 1.000000 -S 1 +S 1 1 0.183696 1.000000 -S 1 +S 1 1 0.083909 1.000000 -P 10 +P 10 1 5.861284 -0.003160 2 3.406365 0.007462 3 1.979655 -0.060893 @@ -656,33 +700,33 @@ P 10 8 0.131245 0.276016 9 0.076275 0.134133 10 0.044328 0.040073 -P 1 +P 1 1 1.818940 1.000000 -P 1 +P 1 1 0.887311 1.000000 -P 1 +P 1 1 0.432846 1.000000 -P 1 +P 1 1 0.211150 1.000000 -D 1 +D 1 1 2.631593 1.000000 -D 1 +D 1 1 1.041129 1.000000 -D 1 +D 1 1 0.411898 1.000000 -D 1 +D 1 1 0.162958 1.000000 -F 1 +F 1 1 1.006219 1.000000 -F 1 +F 1 1 0.473918 1.000000 -F 1 +F 1 1 0.223210 1.000000 -G 1 +G 1 1 0.912065 1.000000 -G 1 +G 1 1 0.408483 1.000000 -H 1 +H 1 1 0.739580 1.000000 SULFUR @@ -697,15 +741,15 @@ S 10 8 0.241726 0.432098 9 0.135289 0.230974 10 0.075718 0.051205 -S 1 +S 1 1 1.063029 1.000000 -S 1 +S 1 1 0.493066 1.000000 -S 1 +S 1 1 0.228700 1.000000 -S 1 +S 1 1 0.106078 1.000000 -P 10 +P 10 1 6.808844 -0.003573 2 3.941560 0.001903 3 2.281723 -0.065016 @@ -716,33 +760,33 @@ P 10 8 0.148333 0.248015 9 0.085868 0.114905 10 0.049708 0.032934 -P 1 +P 1 1 2.340619 1.000000 -P 1 +P 1 1 1.091901 1.000000 -P 1 +P 1 1 0.509373 1.000000 -P 1 +P 1 1 0.237623 1.000000 -D 1 +D 1 1 2.970037 1.000000 -D 1 +D 1 1 1.199940 1.000000 -D 1 +D 1 1 0.484794 1.000000 -D 1 +D 1 1 0.195864 1.000000 -F 1 +F 1 1 1.247601 1.000000 -F 1 +F 1 1 0.566437 1.000000 -F 1 +F 1 1 0.257174 1.000000 -G 1 +G 1 1 1.084319 1.000000 -G 1 +G 1 1 0.461540 1.000000 -H 1 +H 1 1 0.868299 1.000000 CHLORINE @@ -757,16 +801,16 @@ S 10 8 0.298860 0.425061 9 0.169884 0.227195 10 0.096569 0.059828 -S 1 +S 1 1 1.312097 1.000000 -S 1 +S 1 1 0.611646 1.000000 -S 1 +S 1 1 0.285124 1.000000 -S 1 +S 1 1 0.132913 1.000000 -P 10 - 1 7.682894 -0.004609 +P 10 + 1 7.682894 -0.004609 2 4.507558 -0.001798 3 2.644587 -0.068614 4 1.551581 0.062352 @@ -776,33 +820,33 @@ P 10 8 0.183840 0.241328 9 0.107859 0.110223 10 0.063281 0.040289 -P 1 +P 1 1 2.989744 1.000000 -P 1 +P 1 1 1.418767 1.000000 -P 1 +P 1 1 0.673268 1.000000 -P 1 +P 1 1 0.319496 1.000000 -D 1 +D 1 1 3.508629 1.000000 -D 1 +D 1 1 1.434082 1.000000 -D 1 +D 1 1 0.586152 1.000000 -D 1 +D 1 1 0.239578 1.000000 -F 1 +F 1 1 1.580619 1.000000 -F 1 +F 1 1 0.721906 1.000000 -F 1 +F 1 1 0.329711 1.000000 -G 1 +G 1 1 1.330843 1.000000 -G 1 +G 1 1 0.560558 1.000000 -H 1 +H 1 1 1.054587 1.000000 ARGON @@ -816,17 +860,17 @@ S 10 7 0.625231 0.391895 8 0.357808 0.424724 9 0.204767 0.223240 - 10 0.117184 0.063299 -S 1 + 10 0.117184 0.063299 +S 1 1 1.529505 1.000000 -S 1 +S 1 1 0.723273 1.000000 -S 1 +S 1 1 0.342021 1.000000 -S 1 +S 1 1 0.161735 1.000000 -P 10 - 1 7.610920 -0.008071 +P 10 + 1 7.610920 -0.008071 2 4.581784 -0.012332 3 2.758240 -0.061298 4 1.660464 0.101944 @@ -836,33 +880,33 @@ P 10 8 0.218082 0.231893 9 0.131285 0.095994 10 0.079034 0.046211 -P 1 +P 1 1 3.848596 1.000000 -P 1 +P 1 1 1.837529 1.000000 -P 1 +P 1 1 0.877336 1.000000 -P 1 +P 1 1 0.418888 1.000000 -D 1 +D 1 1 3.766125 1.000000 -D 1 +D 1 1 1.581658 1.000000 -D 1 +D 1 1 0.664248 1.000000 -D 1 +D 1 1 0.278964 1.000000 -F 1 +F 1 1 1.962257 1.000000 -F 1 +F 1 1 0.915696 1.000000 -F 1 +F 1 1 0.427314 1.000000 -G 1 +G 1 1 1.608765 1.000000 -G 1 +G 1 1 0.673020 1.000000 -H 1 +H 1 1 1.266388 1.000000 POTASSIUM @@ -3989,3 +4033,4 @@ G 1 H 1 1 0.965141 1.00000000 +$END diff --git a/data/basis/cc-pvdz_ecp_ccecp b/data/basis/cc-pvdz_ecp_ccecp index cdf74139..039ac24e 100644 --- a/data/basis/cc-pvdz_ecp_ccecp +++ b/data/basis/cc-pvdz_ecp_ccecp @@ -1,3 +1,23 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + +HYDROGEN +S 8 + 1 23.843185 0.00411490 + 2 10.212443 0.01046440 + 3 4.374164 0.02801110 + 4 1.873529 0.07588620 + 5 0.802465 0.18210620 + 6 0.343709 0.34852140 + 7 0.147217 0.37823130 + 8 0.063055 0.11642410 +S 1 + 1 0.139013 1.00000000 +P 1 + 1 0.740212 1.00000000 + HELIUM S 8 1 39.320931 0.01006570 @@ -72,19 +92,19 @@ D 1 1 0.227966 1.00000000 BORON -s 9 1.00 +S 9 1 11.76050 -0.0036757 -2 5.150520 0.0250517 +2 5.150520 0.0250517 3 2.578276 -0.1249228 4 1.290648 -0.0662874 5 0.646080 0.1007341 -6 0.323418 0.3375492 +6 0.323418 0.3375492 7 0.161898 0.4308431 -8 0.081044 0.2486558 +8 0.081044 0.2486558 9 0.040569 0.0317295 -s 1 1.00 +S 1 1 0.082513 1.000000 -p 9 1.00 +P 9 1 7.470701 0.0047397 2 3.735743 0.0376009 3 1.868068 0.0510600 @@ -94,13 +114,13 @@ p 9 1.00 7 0.116803 0.2850185 8 0.058408 0.1448808 9 0.029207 0.0176962 -p 1 1.00 +P 1 1 0.086803 1.000000 -d 1 1.00 +D 1 1 0.349879 1.000000 CARBON -s 9 1.00 +S 9 1 13.073594 0.0051583 2 6.541187 0.0603424 3 4.573411 -0.1978471 @@ -110,9 +130,9 @@ s 9 1.00 7 0.231300 0.4336405 8 0.102619 0.2131940 9 0.051344 0.0049848 -s 1 1.00 +S 1 1 0.127852 1.000000 -p 9 1.00 +P 9 1 9.934169 0.0209076 2 3.886955 0.0572698 3 1.871016 0.1122682 @@ -122,9 +142,9 @@ p 9 1.00 7 0.117063 0.2016934 8 0.058547 0.0453575 9 0.029281 0.0029775 -p 1 1.00 +P 1 1 0.149161 1.000000 -d 1 1.00 +D 1 1 0.561160 1.000000 NITROGEN @@ -255,7 +275,7 @@ S 10 8 0.120466 0.451564 9 0.065853 0.302904 10 0.035999 0.079545 -S 1 +S 1 1 0.236926 1.000000 P 10 1 1.570603 -0.002645 @@ -269,9 +289,9 @@ P 10 9 0.035429 0.112350 10 0.022056 0.052665 P 1 - 1 0.202698 1.000000 + 1 0.202698 1.000000 D 1 - 1 0.192882 1.000000 + 1 0.192882 1.000000 SILICON S 10 @@ -285,10 +305,10 @@ S 10 8 0.155857 0.445219 9 0.086011 0.267230 10 0.047466 0.060787 -S 1 +S 1 1 0.325961 1.000000 -P 10 - 1 5.027868 -0.003242 +P 10 + 1 5.027868 -0.003242 2 2.867751 0.010649 3 1.635683 -0.049761 4 0.932947 -0.000017 @@ -298,9 +318,9 @@ P 10 8 0.098739 0.294696 9 0.056318 0.153898 10 0.032122 0.042337 -P 1 +P 1 1 0.289072 1.000000 -D 1 +D 1 1 0.281966 1.000000 PHOSPHORUS @@ -315,9 +335,9 @@ S 10 8 0.163080 0.376899 9 0.099853 0.152113 10 0.061140 0.054943 -S 1 +S 1 1 0.423189 1.000000 -P 10 +P 10 1 5.861284 -0.003160 2 3.406365 0.007462 3 1.979655 -0.060893 @@ -328,9 +348,9 @@ P 10 8 0.131245 0.276016 9 0.076275 0.134133 10 0.044328 0.040073 -P 1 +P 1 1 0.392030 1.000000 -D 1 +D 1 1 0.386250 1.000000 SULFUR @@ -345,9 +365,9 @@ S 10 8 0.241726 0.432098 9 0.135289 0.230974 10 0.075718 0.051205 -S 1 +S 1 1 0.529726 1.000000 -P 10 +P 10 1 6.808844 -0.003573 2 3.941560 0.001903 3 2.281723 -0.065016 @@ -358,9 +378,9 @@ P 10 8 0.148333 0.248015 9 0.085868 0.114905 10 0.049708 0.032934 -P 1 +P 1 1 0.497174 1.000000 -D 1 +D 1 1 0.499639 1.000000 CHLORINE @@ -375,10 +395,10 @@ S 10 8 0.298860 0.425061 9 0.169884 0.227195 10 0.096569 0.059828 -S 1 +S 1 1 0.648040 1.000000 -P 10 - 1 7.682894 -0.004609 +P 10 + 1 7.682894 -0.004609 2 4.507558 -0.001798 3 2.644587 -0.068614 4 1.551581 0.062352 @@ -388,9 +408,9 @@ P 10 8 0.183840 0.241328 9 0.107859 0.110223 10 0.063281 0.040289 -P 1 +P 1 1 0.633351 1.000000 -D 1 +D 1 1 0.633222 1.000000 ARGON @@ -404,11 +424,11 @@ S 10 7 0.625231 0.391895 8 0.357808 0.424724 9 0.204767 0.223240 - 10 0.117184 0.063299 -S 1 + 10 0.117184 0.063299 +S 1 1 0.777098 1.000000 -P 10 - 1 7.610920 -0.008071 +P 10 + 1 7.610920 -0.008071 2 4.581784 -0.012332 3 2.758240 -0.061298 4 1.660464 0.101944 @@ -418,21 +438,21 @@ P 10 8 0.218082 0.231893 9 0.131285 0.095994 10 0.079034 0.046211 -P 1 +P 1 1 0.784009 1.000000 -D 1 +D 1 1 0.785910 1.000000 - - - - - - - - - - + + + + + + + + + + @@ -1948,3 +1968,4 @@ P 1 D 1 1 0.502317 1.00000000 +$END diff --git a/data/basis/cc-pvqz_ecp_ccecp b/data/basis/cc-pvqz_ecp_ccecp index 3fe0516e..82e545ab 100644 --- a/data/basis/cc-pvqz_ecp_ccecp +++ b/data/basis/cc-pvqz_ecp_ccecp @@ -1,3 +1,37 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + +HYDROGEN +S 8 + 1 23.843185 0.00411490 + 2 10.212443 0.01046440 + 3 4.374164 0.02801110 + 4 1.873529 0.07588620 + 5 0.802465 0.18210620 + 6 0.343709 0.34852140 + 7 0.147217 0.37823130 + 8 0.063055 0.11642410 +S 1 + 1 0.081856 1.00000000 +S 1 + 1 0.233254 1.00000000 +S 1 + 1 0.664673 1.00000000 +P 1 + 1 0.284469 1.00000000 +P 1 + 1 0.847159 1.00000000 +P 1 + 1 2.522868 1.00000000 +D 1 + 1 0.665279 1.00000000 +D 1 + 1 2.048739 1.00000000 +F 1 + 1 1.421460 1.00000000 + HELIUM S 8 1 39.320931 0.01006570 @@ -122,23 +156,23 @@ G 1 1 0.422045 1.00000000 BORON -s 9 1.00 +s 9 1 11.76050 -0.0036757 -2 5.150520 0.0250517 +2 5.150520 0.0250517 3 2.578276 -0.1249228 4 1.290648 -0.0662874 5 0.646080 0.1007341 -6 0.323418 0.3375492 +6 0.323418 0.3375492 7 0.161898 0.4308431 -8 0.081044 0.2486558 +8 0.081044 0.2486558 9 0.040569 0.0317295 -s 1 1.00 -1 0.422217 1.000000 -s 1 1.00 +s 1 +1 0.422217 1.000000 +s 1 1 0.305133 1.000000 -s 1 1.00 +s 1 1 0.082968 1.000000 -p 9 1.00 +p 9 1 7.470701 0.0047397 2 3.735743 0.0376009 3 1.868068 0.0510600 @@ -148,27 +182,27 @@ p 9 1.00 7 0.116803 0.2850185 8 0.058408 0.1448808 9 0.029207 0.0176962 -p 1 1.00 +p 1 1 0.447031 1.000000 -p 1 1.00 +p 1 1 0.196614 1.000000 -p 1 1.00 +p 1 1 0.066445 1.000000 -d 1 1.00 +d 1 1 1.142614 1.000000 -d 1 1.00 +d 1 1 0.410733 1.000000 -d 1 1.00 +d 1 1 0.149100 1.000000 -f 1 1.00 +f 1 1 0.870011 1.000000 -f 1 1.00 +f 1 1 0.315902 1.000000 -g 1 1.00 +g 1 1 0.710746 1.000000 CARBON -s 9 1.00 +s 9 1 13.073594 0.0051583 2 6.541187 0.0603424 3 4.573411 -0.1978471 @@ -178,13 +212,13 @@ s 9 1.00 7 0.231300 0.4336405 8 0.102619 0.2131940 9 0.051344 0.0049848 -s 1 1.00 +s 1 1 0.846879 1.000000 -s 1 1.00 +s 1 1 0.269659 1.000000 -s 1 1.00 +s 1 1 0.109576 1.000000 -p 9 1.00 +p 9 1 9.934169 0.0209076 2 3.886955 0.0572698 3 1.871016 0.1122682 @@ -194,23 +228,23 @@ p 9 1.00 7 0.117063 0.2016934 8 0.058547 0.0453575 9 0.029281 0.0029775 -p 1 1.00 +p 1 1 0.804681 1.000000 -p 1 1.00 +p 1 1 0.313254 1.000000 -p 1 1.00 +p 1 1 0.105389 1.000000 -d 1 1.00 +d 1 1 2.013760 1.000000 -d 1 1.00 +d 1 1 0.684884 1.000000 -d 1 1.00 +d 1 1 0.240171 1.000000 -f 1 1.00 +f 1 1 0.457302 1.000000 -f 1 1.00 +f 1 1 1.324930 1.000000 -g 1 1.00 +g 1 1 1.034180 1.000000 NITROGEN @@ -413,12 +447,12 @@ S 10 8 0.120466 0.451564 9 0.065853 0.302904 10 0.035999 0.079545 -S 1 +S 1 1 0.347290 1.000000 -S 1 +S 1 1 0.142082 1.000000 S 1 - 1 0.058128 1.000000 + 1 0.058128 1.000000 P 10 1 1.570603 -0.002645 2 0.977752 -0.037850 @@ -431,23 +465,23 @@ P 10 9 0.035429 0.112350 10 0.022056 0.052665 P 1 - 1 0.868497 1.000000 + 1 0.868497 1.000000 P 1 - 1 0.350263 1.000000 + 1 0.350263 1.000000 P 1 - 1 0.141260 1.000000 + 1 0.141260 1.000000 D 1 - 1 0.641818 1.000000 + 1 0.641818 1.000000 D 1 - 1 0.240140 1.000000 + 1 0.240140 1.000000 D 1 - 1 0.089850 1.000000 + 1 0.089850 1.000000 F 1 - 1 0.407281 1.000000 + 1 0.407281 1.000000 F 1 - 1 0.159215 1.000000 + 1 0.159215 1.000000 G 1 - 1 0.351808 1.000000 + 1 0.351808 1.000000 SILICON S 10 @@ -461,14 +495,14 @@ S 10 8 0.155857 0.445219 9 0.086011 0.267230 10 0.047466 0.060787 -S 1 +S 1 1 0.488504 1.000000 -S 1 +S 1 1 0.199457 1.000000 -S 1 +S 1 1 0.081439 1.000000 -P 10 - 1 5.027868 -0.003242 +P 10 + 1 5.027868 -0.003242 2 2.867751 0.010649 3 1.635683 -0.049761 4 0.932947 -0.000017 @@ -478,23 +512,23 @@ P 10 8 0.098739 0.294696 9 0.056318 0.153898 10 0.032122 0.042337 -P 1 +P 1 1 1.225790 1.000000 -P 1 +P 1 1 0.501364 1.000000 -P 1 +P 1 1 0.205064 1.000000 -D 1 +D 1 1 0.997003 1.000000 -D 1 +D 1 1 0.365942 1.000000 -D 1 +D 1 1 0.134316 1.000000 -F 1 +F 1 1 0.549116 1.000000 -F 1 +F 1 1 0.214998 1.000000 -G 1 +G 1 1 0.459547 1.000000 PHOSPHORUS @@ -509,13 +543,13 @@ S 10 8 0.163080 0.376899 9 0.099853 0.152113 10 0.061140 0.054943 -S 1 +S 1 1 0.636005 1.000000 -S 1 +S 1 1 0.258590 1.000000 -S 1 +S 1 1 0.105139 1.000000 -P 10 +P 10 1 5.861284 -0.003160 2 3.406365 0.007462 3 1.979655 -0.060893 @@ -526,23 +560,23 @@ P 10 8 0.131245 0.276016 9 0.076275 0.134133 10 0.044328 0.040073 -P 1 +P 1 1 1.653678 1.000000 -P 1 +P 1 1 0.679946 1.000000 -P 1 +P 1 1 0.279575 1.000000 -D 1 +D 1 1 1.375779 1.000000 -D 1 +D 1 1 0.502887 1.000000 -D 1 +D 1 1 0.183820 1.000000 -F 1 +F 1 1 0.726730 1.000000 -F 1 +F 1 1 0.284724 1.000000 -G 1 +G 1 1 0.594990 1.000000 SULFUR @@ -557,13 +591,13 @@ S 10 8 0.241726 0.432098 9 0.135289 0.230974 10 0.075718 0.051205 -S 1 +S 1 1 0.818729 1.000000 -S 1 +S 1 1 0.332501 1.000000 -S 1 +S 1 1 0.135035 1.000000 -P 10 +P 10 1 6.808844 -0.003573 2 3.941560 0.001903 3 2.281723 -0.065016 @@ -574,23 +608,23 @@ P 10 8 0.148333 0.248015 9 0.085868 0.114905 10 0.049708 0.032934 -P 1 +P 1 1 2.088209 1.000000 -P 1 +P 1 1 0.838124 1.000000 -P 1 +P 1 1 0.336390 1.000000 -D 1 +D 1 1 1.681890 1.000000 -D 1 +D 1 1 0.613672 1.000000 -D 1 +D 1 1 0.223911 1.000000 -F 1 +F 1 1 0.898397 1.000000 -F 1 +F 1 1 0.339271 1.000000 -G 1 +G 1 1 0.691446 1.000000 CHLORINE @@ -605,14 +639,14 @@ S 10 8 0.298860 0.425061 9 0.169884 0.227195 10 0.096569 0.059828 -S 1 +S 1 1 1.038268 1.000000 -S 1 +S 1 1 0.418863 1.000000 -S 1 +S 1 1 0.168980 1.000000 -P 10 - 1 7.682894 -0.004609 +P 10 + 1 7.682894 -0.004609 2 4.507558 -0.001798 3 2.644587 -0.068614 4 1.551581 0.062352 @@ -622,23 +656,23 @@ P 10 8 0.183840 0.241328 9 0.107859 0.110223 10 0.063281 0.040289 -P 1 +P 1 1 2.626653 1.000000 -P 1 +P 1 1 1.069041 1.000000 -P 1 +P 1 1 0.435097 1.000000 -D 1 +D 1 1 2.102692 1.000000 -D 1 +D 1 1 0.763188 1.000000 -D 1 +D 1 1 0.277005 1.000000 -F 1 +F 1 1 1.139446 1.000000 -F 1 +F 1 1 0.434852 1.000000 -G 1 +G 1 1 0.844301 1.000000 ARGON @@ -652,15 +686,15 @@ S 10 7 0.625231 0.391895 8 0.357808 0.424724 9 0.204767 0.223240 - 10 0.117184 0.063299 -S 1 + 10 0.117184 0.063299 +S 1 1 1.261554 1.000000 -S 1 +S 1 1 0.507496 1.000000 -S 1 +S 1 1 0.204155 1.000000 -P 10 - 1 7.610920 -0.008071 +P 10 + 1 7.610920 -0.008071 2 4.581784 -0.012332 3 2.758240 -0.061298 4 1.660464 0.101944 @@ -670,23 +704,23 @@ P 10 8 0.218082 0.231893 9 0.131285 0.095994 10 0.079034 0.046211 -P 1 +P 1 1 3.256840 1.000000 -P 1 +P 1 1 1.339778 1.000000 -P 1 +P 1 1 0.551149 1.000000 -D 1 +D 1 1 2.467298 1.000000 -D 1 +D 1 1 0.904123 1.000000 -D 1 +D 1 1 0.331309 1.000000 -F 1 +F 1 1 1.430464 1.000000 -F 1 +F 1 1 0.561192 1.000000 -G 1 +G 1 1 1.018010 1.000000 POTASSIUM @@ -3237,3 +3271,4 @@ F 1 G 1 1 0.769765 1.00000000 +$END diff --git a/data/basis/cc-pvtz_ecp_ccecp b/data/basis/cc-pvtz_ecp_ccecp index 8045e350..057d84f7 100644 --- a/data/basis/cc-pvtz_ecp_ccecp +++ b/data/basis/cc-pvtz_ecp_ccecp @@ -1,3 +1,29 @@ +! Obtained from +! https://pseudopotentiallibrary.org + +$DATA + +HYDROGEN +S 8 + 1 23.843185 0.00411490 + 2 10.212443 0.01046440 + 3 4.374164 0.02801110 + 4 1.873529 0.07588620 + 5 0.802465 0.18210620 + 6 0.343709 0.34852140 + 7 0.147217 0.37823130 + 8 0.063055 0.11642410 +S 1 + 1 0.091791 1.00000000 +S 1 + 1 0.287637 1.00000000 +P 1 + 1 0.393954 1.00000000 +P 1 + 1 1.462694 1.00000000 +D 1 + 1 1.065841 1.00000000 + HELIUM S 8 1 39.320931 0.01006570 @@ -94,21 +120,21 @@ F 1 1 0.323452 1.00000000 BORON -s 9 1.00 +s 9 1 11.76050 -0.0036757 -2 5.150520 0.0250517 +2 5.150520 0.0250517 3 2.578276 -0.1249228 4 1.290648 -0.0662874 5 0.646080 0.1007341 -6 0.323418 0.3375492 +6 0.323418 0.3375492 7 0.161898 0.4308431 -8 0.081044 0.2486558 +8 0.081044 0.2486558 9 0.040569 0.0317295 -s 1 1.00 +s 1 1 0.626026 1.000000 -s 1 1.00 +s 1 1 0.092094 1.000000 -p 9 1.00 +p 9 1 7.470701 0.0047397 2 3.735743 0.0376009 3 1.868068 0.0510600 @@ -118,19 +144,19 @@ p 9 1.00 7 0.116803 0.2850185 8 0.058408 0.1448808 9 0.029207 0.0176962 -p 1 1.00 +p 1 1 0.235016 1.000000 -p 1 1.00 +p 1 1 0.082056 1.000000 -d 1 1.00 +d 1 1 0.699153 1.000000 -d 1 1.00 +d 1 1 0.207316 1.000000 -f 1 1.00 +f 1 1 0.478872 1.000000 CARBON -s 9 1.00 +s 9 1 13.073594 0.0051583 2 6.541187 0.0603424 3 4.573411 -0.1978471 @@ -140,11 +166,11 @@ s 9 1.00 7 0.231300 0.4336405 8 0.102619 0.2131940 9 0.051344 0.0049848 -s 1 1.00 +s 1 1 0.921552 1.000000 -s 1 1.00 +s 1 1 0.132800 1.000000 -p 9 1.00 +p 9 1 9.934169 0.0209076 2 3.886955 0.0572698 3 1.871016 0.1122682 @@ -154,15 +180,15 @@ p 9 1.00 7 0.117063 0.2016934 8 0.058547 0.0453575 9 0.029281 0.0029775 -p 1 1.00 +p 1 1 0.376742 1.000000 -p 1 1.00 +p 1 1 0.126772 1.000000 -d 1 1.00 +d 1 1 1.141611 1.000000 -d 1 1.00 +d 1 1 0.329486 1.000000 -f 1 1.00 +f 1 1 0.773485 1.000000 NITROGEN @@ -325,9 +351,9 @@ S 10 8 0.120466 0.451564 9 0.065853 0.302904 10 0.035999 0.079545 -S 1 +S 1 1 0.384847 1.000000 -S 1 +S 1 1 0.064802 1.000000 P 10 1 1.570603 -0.002645 @@ -341,15 +367,15 @@ P 10 9 0.035429 0.112350 10 0.022056 0.052665 P 1 - 1 0.276146 1.000000 + 1 0.276146 1.000000 P 1 - 1 0.045973 1.000000 + 1 0.045973 1.000000 D 1 - 1 0.354021 1.000000 + 1 0.354021 1.000000 D 1 - 1 0.114469 1.000000 + 1 0.114469 1.000000 F 1 - 1 0.256594 1.000000 + 1 0.256594 1.000000 SILICON S 10 @@ -363,12 +389,12 @@ S 10 8 0.155857 0.445219 9 0.086011 0.267230 10 0.047466 0.060787 -S 1 +S 1 1 0.528701 1.000000 -S 1 +S 1 1 0.090848 1.000000 -P 10 - 1 5.027868 -0.003242 +P 10 + 1 5.027868 -0.003242 2 2.867751 0.010649 3 1.635683 -0.049761 4 0.932947 -0.000017 @@ -378,15 +404,15 @@ P 10 8 0.098739 0.294696 9 0.056318 0.153898 10 0.032122 0.042337 -P 1 +P 1 1 0.411682 1.000000 -P 1 +P 1 1 0.070048 1.000000 -D 1 +D 1 1 0.524220 1.000000 -D 1 +D 1 1 0.168245 1.000000 -F 1 +F 1 1 0.350329 1.000000 PHOSPHORUS @@ -401,11 +427,11 @@ S 10 8 0.163080 0.376899 9 0.099853 0.152113 10 0.061140 0.054943 -S 1 +S 1 1 0.677625 1.000000 -S 1 +S 1 1 0.117987 1.000000 -P 10 +P 10 1 5.861284 -0.003160 2 3.406365 0.007462 3 1.979655 -0.060893 @@ -416,15 +442,15 @@ P 10 8 0.131245 0.276016 9 0.076275 0.134133 10 0.044328 0.040073 -P 1 +P 1 1 0.566577 1.000000 -P 1 +P 1 1 0.097308 1.000000 -D 1 +D 1 1 0.725126 1.000000 -D 1 +D 1 1 0.230876 1.000000 -F 1 +F 1 1 0.463938 1.000000 SULFUR @@ -439,11 +465,11 @@ S 10 8 0.241726 0.432098 9 0.135289 0.230974 10 0.075718 0.051205 -S 1 +S 1 1 0.833303 1.000000 -S 1 +S 1 1 0.149345 1.000000 -P 10 +P 10 1 6.808844 -0.003573 2 3.941560 0.001903 3 2.281723 -0.065016 @@ -454,15 +480,15 @@ P 10 8 0.148333 0.248015 9 0.085868 0.114905 10 0.049708 0.032934 -P 1 +P 1 1 0.708198 1.000000 -P 1 +P 1 1 0.114216 1.000000 -D 1 +D 1 1 0.921034 1.000000 -D 1 +D 1 1 0.289603 1.000000 -F 1 +F 1 1 0.565677 1.000000 CHLORINE @@ -477,12 +503,12 @@ S 10 8 0.298860 0.425061 9 0.169884 0.227195 10 0.096569 0.059828 -S 1 +S 1 1 1.020976 1.000000 -S 1 +S 1 1 0.186161 1.000000 -P 10 - 1 7.682894 -0.004609 +P 10 + 1 7.682894 -0.004609 2 4.507558 -0.001798 3 2.644587 -0.068614 4 1.551581 0.062352 @@ -492,15 +518,15 @@ P 10 8 0.183840 0.241328 9 0.107859 0.110223 10 0.063281 0.040289 -P 1 +P 1 1 0.899235 1.000000 -P 1 +P 1 1 0.143669 1.000000 -D 1 +D 1 1 1.172371 1.000000 -D 1 +D 1 1 0.363254 1.000000 -F 1 +F 1 1 0.720453 1.000000 ARGON @@ -514,13 +540,13 @@ S 10 7 0.625231 0.391895 8 0.357808 0.424724 9 0.204767 0.223240 - 10 0.117184 0.063299 -S 1 + 10 0.117184 0.063299 +S 1 1 1.218276 1.000000 -S 1 +S 1 1 0.225444 1.000000 -P 10 - 1 7.610920 -0.008071 +P 10 + 1 7.610920 -0.008071 2 4.581784 -0.012332 3 2.758240 -0.061298 4 1.660464 0.101944 @@ -530,15 +556,15 @@ P 10 8 0.218082 0.231893 9 0.131285 0.095994 10 0.079034 0.046211 -P 1 +P 1 1 1.112833 1.000000 -P 1 +P 1 1 0.178044 1.000000 -D 1 +D 1 1 1.452494 1.000000 -D 1 +D 1 1 0.444353 1.000000 -F 1 +F 1 1 0.913483 1.000000 POTASSIUM @@ -2549,3 +2575,4 @@ D 1 F 1 1 0.696837 1.00000000 +$END diff --git a/data/pseudo/ccecp b/data/pseudo/ccecp index 04af4c12..d7b5f76a 100644 --- a/data/pseudo/ccecp +++ b/data/pseudo/ccecp @@ -6,7 +6,6 @@ H GEN 0 1 1 0.00000000000000 2 1.000000000000000 - He GEN 0 1 3 2.000000 1 32.000000 @@ -15,7 +14,6 @@ He GEN 0 1 1 0.000000 2 1.0000000 - Li GEN 2 1 3 1.000 1 15.0000000000000 @@ -24,7 +22,6 @@ Li GEN 2 1 1 6.75286789026804 2 1.33024777689591 - Be GEN 2 1 4 2 1 17.94900205362972 @@ -34,7 +31,6 @@ Be GEN 2 1 1 12.66391859014478 2 2.487403700772570 - B GEN 2 1 3 3.00000 1 31.49298 @@ -79,7 +75,6 @@ F GEN 2 1 1 78.90177172847011 2 14.78076492090162 - Ne GEN 2 1 3 8.000 1 14.79351199705315 @@ -88,7 +83,6 @@ Ne GEN 2 1 1 81.62205749824426 2 16.55441468334002 - Na GEN 10 2 3 1.000000 1 4.311678 From 602e9e6fe751a38fd9bb66f5fa741aedfacd4e3d Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 11 May 2020 11:17:03 +0200 Subject: [PATCH 085/138] Working on normf --- ocaml/Input_ao_basis.ml | 67 ++++++++++++++++++++++++++++++++------- src/ao_basis/EZFIO.cfg | 12 +++++++ src/ao_basis/aos.irp.f | 37 ++++++++++++++------- src/cipsi/selection.irp.f | 13 ++++---- 4 files changed, 100 insertions(+), 29 deletions(-) diff --git a/ocaml/Input_ao_basis.ml b/ocaml/Input_ao_basis.ml index b0a66b75..f0b3e92c 100644 --- a/ocaml/Input_ao_basis.ml +++ b/ocaml/Input_ao_basis.ml @@ -13,6 +13,8 @@ module Ao_basis : sig ao_coef : AO_coef.t array; ao_expo : AO_expo.t array; ao_cartesian : bool; + ao_normalized : bool; + primitives_normalized : bool; } [@@deriving sexp] ;; val read : unit -> t option @@ -34,6 +36,8 @@ end = struct ao_coef : AO_coef.t array; ao_expo : AO_expo.t array; ao_cartesian : bool; + ao_normalized : bool; + primitives_normalized : bool; } [@@deriving sexp] ;; @@ -107,6 +111,24 @@ end = struct Ezfio.get_ao_basis_ao_cartesian () ;; + let read_ao_normalized () = + if not (Ezfio.has_ao_basis_ao_normalized()) then + get_default "ao_normalized" + |> bool_of_string + |> Ezfio.set_ao_basis_ao_normalized + ; + Ezfio.get_ao_basis_ao_normalized () + ;; + + let read_primitives_normalized () = + if not (Ezfio.has_ao_basis_primitives_normalized()) then + get_default "primitives_normalized" + |> bool_of_string + |> Ezfio.set_ao_basis_primitives_normalized + ; + Ezfio.get_ao_basis_primitives_normalized () + ;; + let to_long_basis b = let ao_num = AO_number.to_int b.ao_num in let gto_array = Array.init (AO_number.to_int b.ao_num) @@ -169,6 +191,8 @@ end = struct ao_coef ; ao_expo ; ao_cartesian ; + ao_normalized ; + primitives_normalized ; } = b in write_md5 b ; @@ -201,6 +225,8 @@ end = struct ~rank:2 ~dim:[| ao_num ; 3 |] ~data:ao_power) ; Ezfio.set_ao_basis_ao_cartesian(ao_cartesian); + Ezfio.set_ao_basis_ao_normalized(ao_normalized); + Ezfio.set_ao_basis_primitives_normalized(primitives_normalized); let ao_coef = Array.to_list ao_coef @@ -233,6 +259,8 @@ end = struct ao_coef = read_ao_coef () ; ao_expo = read_ao_expo () ; ao_cartesian = read_ao_cartesian () ; + ao_normalized = read_ao_normalized () ; + primitives_normalized = read_primitives_normalized () ; } in to_md5 result @@ -340,7 +368,10 @@ end = struct in { ao_basis = name ; ao_num ; ao_prim_num ; ao_prim_num_max ; ao_nucl ; - ao_power ; ao_coef ; ao_expo ; ao_cartesian } + ao_power ; ao_coef ; ao_expo ; ao_cartesian ; + ao_normalized = bool_of_string @@ get_default "ao_normalized"; + primitives_normalized = bool_of_string @@ get_default "primitives_normalized"; + } ;; let reorder b = @@ -394,6 +425,14 @@ Cartesian coordinates (6d,10f,...) :: ao_cartesian = %s +Use normalized primitive functions :: + + primitives_normalized = %s + +Use normalized basis functions :: + + ao_normalized = %s + Basis set (read-only) :: %s @@ -407,6 +446,8 @@ Basis set (read-only) :: " (AO_basis_name.to_string b.ao_basis) (string_of_bool b.ao_cartesian) + (string_of_bool b.primitives_normalized) + (string_of_bool b.ao_normalized) (Basis.to_string short_basis |> String_ext.split ~on:'\n' |> List.map (fun x-> " "^x) @@ -434,16 +475,18 @@ Basis set (read-only) :: let to_string b = Printf.sprintf " -ao_basis = %s -ao_num = %s -ao_prim_num = %s -ao_prim_num_max = %s -ao_nucl = %s -ao_power = %s -ao_coef = %s -ao_expo = %s -ao_cartesian = %s -md5 = %s +ao_basis = %s +ao_num = %s +ao_prim_num = %s +ao_prim_num_max = %s +ao_nucl = %s +ao_power = %s +ao_coef = %s +ao_expo = %s +ao_cartesian = %s +ao_normalized = %s +primitives_normalized = %s +md5 = %s " (AO_basis_name.to_string b.ao_basis) (AO_number.to_string b.ao_num) @@ -459,6 +502,8 @@ md5 = %s (b.ao_expo |> Array.to_list |> List.map AO_expo.to_string |> String.concat ", ") (b.ao_cartesian |> string_of_bool) + (b.ao_normalized |> string_of_bool) + (b.primitives_normalized |> string_of_bool) (to_md5 b |> MD5.to_string ) ;; diff --git a/src/ao_basis/EZFIO.cfg b/src/ao_basis/EZFIO.cfg index c3e2761b..51d726da 100644 --- a/src/ao_basis/EZFIO.cfg +++ b/src/ao_basis/EZFIO.cfg @@ -55,3 +55,15 @@ doc: If |true|, use |AOs| in Cartesian coordinates (6d,10f,...) interface: ezfio, provider default: false +[ao_normalized] +type: logical +doc: Use normalized basis functions +interface: ezfio, provider +default: true + +[primitives_normalized] +type: logical +doc: Use normalized primitive functions +interface: ezfio, provider +default: true + diff --git a/src/ao_basis/aos.irp.f b/src/ao_basis/aos.irp.f index f2bf16f0..e95ac711 100644 --- a/src/ao_basis/aos.irp.f +++ b/src/ao_basis/aos.irp.f @@ -20,25 +20,38 @@ END_PROVIDER C_A(2) = 0.d0 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) - 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) - enddo + ! Normalization of the primitives + if (primitives_normalized) then + 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) + enddo + else + do j=1,ao_prim_num(i) + ao_coef_normalized(i,j) = ao_coef(i,j) + enddo + endif + ! 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_factor(i) = 1.d0/sqrt(norm) + if (ao_normalized) then + 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_factor(i) = 1.d0/sqrt(norm) + else + ao_coef_normalization_factor(i) = 1.d0 + endif enddo END_PROVIDER diff --git a/src/cipsi/selection.irp.f b/src/cipsi/selection.irp.f index 5237ab94..cf5b9965 100644 --- a/src/cipsi/selection.irp.f +++ b/src/cipsi/selection.irp.f @@ -22,14 +22,14 @@ END_PROVIDER subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) implicit none BEGIN_DOC -! Updates the rPT2- and Variance- matching weights. +! Updates the PT2- and Variance- matching weights. END_DOC integer, intent(in) :: N_st double precision, intent(in) :: pt2(N_st) double precision, intent(in) :: variance(N_st) double precision, intent(in) :: norm(N_st) - double precision :: avg, rpt2(N_st), element, dt, x + double precision :: avg, pt2_rpt2(N_st), element, dt, x integer :: k integer, save :: i_iter=0 integer, parameter :: i_itermax = 1 @@ -49,12 +49,13 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) dt = 1.0d0 do k=1,N_st - rpt2(k) = pt2(k)/(1.d0 + norm(k)) + ! PT2 + rPT2 + pt2_rpt2(k) = pt2(k)* (1.d0 + 1.d0/(1.d0 + norm(k))) enddo - avg = sum(rpt2(1:N_st)) / dble(N_st) - 1.d-32 ! Avoid future division by zero + avg = sum(pt2_rpt2(1:N_st)) / dble(N_st) - 1.d-32 ! Avoid future division by zero do k=1,N_st - element = exp(dt*(rpt2(k)/avg -1.d0)) + element = exp(dt*(pt2_rpt2(k)/avg -1.d0)) element = min(2.0d0 , element) element = max(0.5d0 , element) memo_pt2(k,i_iter) = element @@ -71,7 +72,7 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) enddo threshold_davidson_pt2 = min(1.d-6, & - max(threshold_davidson, 1.e-1 * PT2_relative_error * minval(abs(rpt2(1:N_states)))) ) + max(threshold_davidson, 1.e-1 * PT2_relative_error * minval(abs(pt2(1:N_states)))) ) SOFT_TOUCH pt2_match_weight variance_match_weight threshold_davidson_pt2 end From e60d50447801937c78121b97443667d1d486d14b Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 11 May 2020 11:26:42 +0200 Subject: [PATCH 086/138] Added missing atoms to ccECP basis --- data/basis/aug-cc-pv5z_ecp_ccecp | 144 +++++++++++++++++++++++++++++++ data/basis/aug-cc-pvdz_ecp_ccecp | 72 ++++++++++++++++ data/basis/aug-cc-pvqz_ecp_ccecp | 116 +++++++++++++++++++++++++ data/basis/aug-cc-pvtz_ecp_ccecp | 92 ++++++++++++++++++++ data/basis/cc-pv5z_ecp_ccecp | 120 ++++++++++++++++++++++++++ data/basis/cc-pvdz_ecp_ccecp | 60 +++++++++++++ data/basis/cc-pvqz_ecp_ccecp | 96 +++++++++++++++++++++ data/basis/cc-pvtz_ecp_ccecp | 76 ++++++++++++++++ 8 files changed, 776 insertions(+) diff --git a/data/basis/aug-cc-pv5z_ecp_ccecp b/data/basis/aug-cc-pv5z_ecp_ccecp index 67df220e..15aa4d72 100644 --- a/data/basis/aug-cc-pv5z_ecp_ccecp +++ b/data/basis/aug-cc-pv5z_ecp_ccecp @@ -4312,4 +4312,148 @@ H 1 H 1 1 0.386056 1.00000000 +SODIUM +S 10 + 1 22.091548 -0.00006400 + 2 9.660603 0.00045200 + 3 4.224568 -0.00261600 + 4 1.847398 0.02430900 + 5 0.807864 -0.09998900 + 6 0.353278 -0.10980100 + 7 0.154488 0.03299300 + 8 0.067557 0.37763000 + 9 0.029543 0.40045900 + 10 0.012919 0.07245300 +S 1 + 1 0.007901 1.00000000 +S 1 + 1 0.016120 1.00000000 +S 1 + 1 0.032890 1.00000000 +S 1 + 1 0.067106 1.00000000 +S 1 + 1 0.136918 1.00000000 +P 10 + 1 9.294210 0.00001100 + 2 4.233556 -0.00008100 + 3 1.928405 0.00095500 + 4 0.878398 -0.00627800 + 5 0.400114 -0.00916500 + 6 0.182254 0.01121400 + 7 0.083018 0.06407600 + 8 0.037815 0.02733600 + 9 0.017225 0.02760300 + 10 0.007846 -0.00537400 +P 1 + 1 0.005761 1.00000000 +P 1 + 1 0.013420 1.00000000 +P 1 + 1 0.031260 1.00000000 +P 1 + 1 0.072816 1.00000000 +P 1 + 1 0.169614 1.00000000 +D 1 + 1 0.027418 1.00000000 +D 1 + 1 0.048700 1.00000000 +D 1 + 1 0.086500 1.00000000 +D 1 + 1 0.153640 1.00000000 +D 1 + 1 0.272892 1.00000000 +F 1 + 1 0.056135 1.00000000 +F 1 + 1 0.103600 1.00000000 +F 1 + 1 0.191200 1.00000000 +F 1 + 1 0.352871 1.00000000 +G 1 + 1 0.069771 1.00000000 +G 1 + 1 0.172200 1.00000000 +G 1 + 1 0.425000 1.00000000 +H 1 + 1 0.080000 1.00000000 +H 1 + 1 0.200000 1.00000000 + +MAGNESIUM +S 10 + 1 51.711283 0.00001300 + 2 22.892200 -0.00007900 + 3 10.134207 0.00038800 + 4 4.486338 -0.00555700 + 5 1.986068 0.04709800 + 6 0.879218 -0.18005200 + 7 0.389223 -0.07386000 + 8 0.172306 0.23765800 + 9 0.076279 0.58477700 + 10 0.033768 0.23422500 +S 1 + 1 0.013285 1.00000000 +S 1 + 1 0.030148 1.00000000 +S 1 + 1 0.068414 1.00000000 +S 1 + 1 0.155252 1.00000000 +S 1 + 1 0.352312 1.00000000 +P 10 + 1 13.152061 0.00001800 + 2 6.979476 -0.00004700 + 3 3.703836 0.00057800 + 4 1.965535 0.00074300 + 5 1.043061 -0.00069400 + 6 0.553527 -0.00734300 + 7 0.293743 0.01552600 + 8 0.155882 -0.00661900 + 9 0.082723 0.07163400 + 10 0.043899 -0.01927600 +P 1 + 1 0.008839 1.00000000 +P 1 + 1 0.018268 1.00000000 +P 1 + 1 0.037758 1.00000000 +P 1 + 1 0.078039 1.00000000 +P 1 + 1 0.161292 1.00000000 +D 1 + 1 0.049386 1.00000000 +D 1 + 1 0.108641 1.00000000 +D 1 + 1 0.238992 1.00000000 +D 1 + 1 0.525745 1.00000000 +D 1 + 1 1.156556 1.00000000 +F 1 + 1 0.091063 1.00000000 +F 1 + 1 0.155101 1.00000000 +F 1 + 1 0.264174 1.00000000 +F 1 + 1 0.449952 1.00000000 +G 1 + 1 0.129745 1.00000000 +G 1 + 1 0.240029 1.00000000 +G 1 + 1 0.444056 1.00000000 +H 1 + 1 0.150114 1.00000000 +H 1 + 1 0.375278 1.00000000 + $END diff --git a/data/basis/aug-cc-pvdz_ecp_ccecp b/data/basis/aug-cc-pvdz_ecp_ccecp index b95d4c21..19218489 100644 --- a/data/basis/aug-cc-pvdz_ecp_ccecp +++ b/data/basis/aug-cc-pvdz_ecp_ccecp @@ -2095,4 +2095,76 @@ D 1 D 1 1 0.200927 1.00000000 +SODIUM +S 10 + 1 22.091548 -0.00006400 + 2 9.660603 0.00045200 + 3 4.224568 -0.00261600 + 4 1.847398 0.02430900 + 5 0.807864 -0.09998900 + 6 0.353278 -0.10980100 + 7 0.154488 0.03299300 + 8 0.067557 0.37763000 + 9 0.029543 0.40045900 + 10 0.012919 0.07245300 +S 1 + 1 0.065057 1.00000000 +S 1 + 1 0.026027 1.00000000 +P 10 + 1 9.294210 0.00001100 + 2 4.233556 -0.00008100 + 3 1.928405 0.00095500 + 4 0.878398 -0.00627800 + 5 0.400114 -0.00916500 + 6 0.182254 0.01121400 + 7 0.083018 0.06407600 + 8 0.037815 0.02733600 + 9 0.017225 0.02760300 + 10 0.007846 -0.00537400 +P 1 + 1 0.085299 1.00000000 +P 1 + 1 0.034129 1.00000000 +D 1 + 1 0.117459 1.00000000 +D 1 + 1 0.046975 1.00000000 + +MAGNESIUM +S 10 + 1 51.711283 0.00001300 + 2 22.892200 -0.00007900 + 3 10.134207 0.00038800 + 4 4.486338 -0.00555700 + 5 1.986068 0.04709800 + 6 0.879218 -0.18005200 + 7 0.389223 -0.07386000 + 8 0.172306 0.23765800 + 9 0.076279 0.58477700 + 10 0.033768 0.23422500 +S 1 + 1 0.125638 1.00000000 +S 1 + 1 0.050283 1.00000000 +P 10 + 1 13.152061 0.00001800 + 2 6.979476 -0.00004700 + 3 3.703836 0.00057800 + 4 1.965535 0.00074300 + 5 1.043061 -0.00069400 + 6 0.553527 -0.00734300 + 7 0.293743 0.01552600 + 8 0.155882 -0.00661900 + 9 0.082723 0.07163400 + 10 0.043899 -0.01927600 +P 1 + 1 0.412739 1.00000000 +P 1 + 1 0.165957 1.00000000 +D 1 + 1 0.235359 1.00000000 +D 1 + 1 0.093299 1.00000000 + $END diff --git a/data/basis/aug-cc-pvqz_ecp_ccecp b/data/basis/aug-cc-pvqz_ecp_ccecp index 63ee372f..ef2ae7aa 100644 --- a/data/basis/aug-cc-pvqz_ecp_ccecp +++ b/data/basis/aug-cc-pvqz_ecp_ccecp @@ -3511,4 +3511,120 @@ G 1 G 1 1 0.307906 1.00000000 +SODIUM +S 10 + 1 22.091548 -0.00006400 + 2 9.660603 0.00045200 + 3 4.224568 -0.00261600 + 4 1.847398 0.02430900 + 5 0.807864 -0.09998900 + 6 0.353278 -0.10980100 + 7 0.154488 0.03299300 + 8 0.067557 0.37763000 + 9 0.029543 0.40045900 + 10 0.012919 0.07245300 +S 1 + 1 0.010732 1.00000000 +S 1 + 1 0.021902 1.00000000 +S 1 + 1 0.044699 1.00000000 +S 1 + 1 0.091224 1.00000000 +P 10 + 1 9.294210 0.00001100 + 2 4.233556 -0.00008100 + 3 1.928405 0.00095500 + 4 0.878398 -0.00627800 + 5 0.400114 -0.00916500 + 6 0.182254 0.01121400 + 7 0.083018 0.06407600 + 8 0.037815 0.02733600 + 9 0.017225 0.02760300 + 10 0.007846 -0.00537400 +P 1 + 1 0.009547 1.00000000 +P 1 + 1 0.022245 1.00000000 +P 1 + 1 0.051828 1.00000000 +P 1 + 1 0.120755 1.00000000 +D 1 + 1 0.029496 1.00000000 +D 1 + 1 0.052397 1.00000000 +D 1 + 1 0.093077 1.00000000 +D 1 + 1 0.165341 1.00000000 +F 1 + 1 0.056011 1.00000000 +F 1 + 1 0.103375 1.00000000 +F 1 + 1 0.190793 1.00000000 +G 1 + 1 0.069310 1.00000000 +G 1 + 1 0.173274 1.00000000 + +MAGNESIUM +S 10 + 1 51.711283 0.00001300 + 2 22.892200 -0.00007900 + 3 10.134207 0.00038800 + 4 4.486338 -0.00555700 + 5 1.986068 0.04709800 + 6 0.879218 -0.18005200 + 7 0.389223 -0.07386000 + 8 0.172306 0.23765800 + 9 0.076279 0.58477700 + 10 0.033768 0.23422500 +S 1 + 1 0.033077 1.00000000 +S 1 + 1 0.073113 1.00000000 +S 1 + 1 0.161610 1.00000000 +S 1 + 1 0.357224 1.00000000 +P 10 + 1 13.152061 0.00001800 + 2 6.979476 -0.00004700 + 3 3.703836 0.00057800 + 4 1.965535 0.00074300 + 5 1.043061 -0.00069400 + 6 0.553527 -0.00734300 + 7 0.293743 0.01552600 + 8 0.155882 -0.00661900 + 9 0.082723 0.07163400 + 10 0.043899 -0.01927600 +P 1 + 1 0.016982 1.00000000 +P 1 + 1 0.036270 1.00000000 +P 1 + 1 0.077463 1.00000000 +P 1 + 1 0.165441 1.00000000 +D 1 + 1 0.054472 1.00000000 +D 1 + 1 0.101651 1.00000000 +D 1 + 1 0.189695 1.00000000 +D 1 + 1 0.353995 1.00000000 +F 1 + 1 0.107871 1.00000000 +F 1 + 1 0.213707 1.00000000 +F 1 + 1 0.423382 1.00000000 +G 1 + 1 0.133430 1.00000000 +G 1 + 1 0.333120 1.00000000 + $END diff --git a/data/basis/aug-cc-pvtz_ecp_ccecp b/data/basis/aug-cc-pvtz_ecp_ccecp index b2e75635..3289bf45 100644 --- a/data/basis/aug-cc-pvtz_ecp_ccecp +++ b/data/basis/aug-cc-pvtz_ecp_ccecp @@ -2771,4 +2771,96 @@ F 1 F 1 1 0.278735 1.00000000 +SODIUM +S 10 + 1 22.091548 -0.00006400 + 2 9.660603 0.00045200 + 3 4.224568 -0.00261600 + 4 1.847398 0.02430900 + 5 0.807864 -0.09998900 + 6 0.353278 -0.10980100 + 7 0.154488 0.03299300 + 8 0.067557 0.37763000 + 9 0.029543 0.40045900 + 10 0.012919 0.07245300 +S 1 + 1 0.022026 1.00000000 +S 1 + 1 0.055057 1.00000000 +S 1 + 1 0.137621 1.00000000 +P 10 + 1 9.294210 0.00001100 + 2 4.233556 -0.00008100 + 3 1.928405 0.00095500 + 4 0.878398 -0.00627800 + 5 0.400114 -0.00916500 + 6 0.182254 0.01121400 + 7 0.083018 0.06407600 + 8 0.037815 0.02733600 + 9 0.017225 0.02760300 + 10 0.007846 -0.00537400 +P 1 + 1 0.030128 1.00000000 +P 1 + 1 0.075299 1.00000000 +P 1 + 1 0.188193 1.00000000 +D 1 + 1 0.046975 1.00000000 +D 1 + 1 0.117459 1.00000000 +D 1 + 1 0.293702 1.00000000 +F 1 + 1 0.055880 1.00000000 +F 1 + 1 0.139700 1.00000000 + +MAGNESIUM +S 10 + 1 51.711283 0.00001300 + 2 22.892200 -0.00007900 + 3 10.134207 0.00038800 + 4 4.486338 -0.00555700 + 5 1.986068 0.04709800 + 6 0.879218 -0.18005200 + 7 0.389223 -0.07386000 + 8 0.172306 0.23765800 + 9 0.076279 0.58477700 + 10 0.033768 0.23422500 +S 1 + 1 0.011896 1.00000000 +S 1 + 1 0.050770 1.00000000 +S 1 + 1 0.216678 1.00000000 +P 10 + 1 13.152061 0.00001800 + 2 6.979476 -0.00004700 + 3 3.703836 0.00057800 + 4 1.965535 0.00074300 + 5 1.043061 -0.00069400 + 6 0.553527 -0.00734300 + 7 0.293743 0.01552600 + 8 0.155882 -0.00661900 + 9 0.082723 0.07163400 + 10 0.043899 -0.01927600 +P 1 + 1 0.041631 1.00000000 +P 1 + 1 0.079564 1.00000000 +P 1 + 1 0.152062 1.00000000 +D 1 + 1 0.055493 1.00000000 +D 1 + 1 0.126659 1.00000000 +D 1 + 1 0.289092 1.00000000 +F 1 + 1 0.103982 1.00000000 +F 1 + 1 0.253861 1.00000000 + $END diff --git a/data/basis/cc-pv5z_ecp_ccecp b/data/basis/cc-pv5z_ecp_ccecp index f8b9d8a9..63bc9210 100644 --- a/data/basis/cc-pv5z_ecp_ccecp +++ b/data/basis/cc-pv5z_ecp_ccecp @@ -4033,4 +4033,124 @@ G 1 H 1 1 0.965141 1.00000000 +SODIUM +S 10 + 1 22.091548 -0.00006400 + 2 9.660603 0.00045200 + 3 4.224568 -0.00261600 + 4 1.847398 0.02430900 + 5 0.807864 -0.09998900 + 6 0.353278 -0.10980100 + 7 0.154488 0.03299300 + 8 0.067557 0.37763000 + 9 0.029543 0.40045900 + 10 0.012919 0.07245300 +S 1 + 1 0.016120 1.00000000 +S 1 + 1 0.032890 1.00000000 +S 1 + 1 0.067106 1.00000000 +S 1 + 1 0.136918 1.00000000 +P 10 + 1 9.294210 0.00001100 + 2 4.233556 -0.00008100 + 3 1.928405 0.00095500 + 4 0.878398 -0.00627800 + 5 0.400114 -0.00916500 + 6 0.182254 0.01121400 + 7 0.083018 0.06407600 + 8 0.037815 0.02733600 + 9 0.017225 0.02760300 + 10 0.007846 -0.00537400 +P 1 + 1 0.013420 1.00000000 +P 1 + 1 0.031260 1.00000000 +P 1 + 1 0.072816 1.00000000 +P 1 + 1 0.169614 1.00000000 +D 1 + 1 0.048700 1.00000000 +D 1 + 1 0.086500 1.00000000 +D 1 + 1 0.153640 1.00000000 +D 1 + 1 0.272892 1.00000000 +F 1 + 1 0.103600 1.00000000 +F 1 + 1 0.191200 1.00000000 +F 1 + 1 0.352871 1.00000000 +G 1 + 1 0.172200 1.00000000 +G 1 + 1 0.425000 1.00000000 +H 1 + 1 0.200000 1.00000000 + +MAGNESIUM +S 10 + 1 51.711283 0.00001300 + 2 22.892200 -0.00007900 + 3 10.134207 0.00038800 + 4 4.486338 -0.00555700 + 5 1.986068 0.04709800 + 6 0.879218 -0.18005200 + 7 0.389223 -0.07386000 + 8 0.172306 0.23765800 + 9 0.076279 0.58477700 + 10 0.033768 0.23422500 +S 1 + 1 0.029521 1.00000000 +S 1 + 1 0.066995 1.00000000 +S 1 + 1 0.152041 1.00000000 +S 1 + 1 0.345047 1.00000000 +P 10 + 1 13.152061 0.00001800 + 2 6.979476 -0.00004700 + 3 3.703836 0.00057800 + 4 1.965535 0.00074300 + 5 1.043061 -0.00069400 + 6 0.553527 -0.00734300 + 7 0.293743 0.01552600 + 8 0.155882 -0.00661900 + 9 0.082723 0.07163400 + 10 0.043899 -0.01927600 +P 1 + 1 0.019717 1.00000000 +P 1 + 1 0.040022 1.00000000 +P 1 + 1 0.081236 1.00000000 +P 1 + 1 0.164892 1.00000000 +D 1 + 1 0.109774 1.00000000 +D 1 + 1 0.241489 1.00000000 +D 1 + 1 0.531245 1.00000000 +D 1 + 1 1.168674 1.00000000 +F 1 + 1 0.154893 1.00000000 +F 1 + 1 0.263812 1.00000000 +F 1 + 1 0.449319 1.00000000 +G 1 + 1 0.239979 1.00000000 +G 1 + 1 0.443952 1.00000000 +H 1 + 1 0.374983 1.00000000 + $END diff --git a/data/basis/cc-pvdz_ecp_ccecp b/data/basis/cc-pvdz_ecp_ccecp index 039ac24e..0561d479 100644 --- a/data/basis/cc-pvdz_ecp_ccecp +++ b/data/basis/cc-pvdz_ecp_ccecp @@ -1968,4 +1968,64 @@ P 1 D 1 1 0.502317 1.00000000 +SODIUM +S 10 + 1 22.091548 -0.00006400 + 2 9.660603 0.00045200 + 3 4.224568 -0.00261600 + 4 1.847398 0.02430900 + 5 0.807864 -0.09998900 + 6 0.353278 -0.10980100 + 7 0.154488 0.03299300 + 8 0.067557 0.37763000 + 9 0.029543 0.40045900 + 10 0.012919 0.07245300 +S 1 + 1 0.120857 1.00000000 +P 10 + 1 9.294210 0.00001100 + 2 4.233556 -0.00008100 + 3 1.928405 0.00095500 + 4 0.878398 -0.00627800 + 5 0.400114 -0.00916500 + 6 0.182254 0.01121400 + 7 0.083018 0.06407600 + 8 0.037815 0.02733600 + 9 0.017225 0.02760300 + 10 0.007846 -0.00537400 +P 1 + 1 0.070941 1.00000000 +D 1 + 1 0.085542 1.00000000 + +MAGNESIUM +S 10 + 1 51.711283 0.00001300 + 2 22.892200 -0.00007900 + 3 10.134207 0.00038800 + 4 4.486338 -0.00555700 + 5 1.986068 0.04709800 + 6 0.879218 -0.18005200 + 7 0.389223 -0.07386000 + 8 0.172306 0.23765800 + 9 0.076279 0.58477700 + 10 0.033768 0.23422500 +S 1 + 1 0.029784 1.00000000 +P 10 + 1 13.152061 0.00001800 + 2 6.979476 -0.00004700 + 3 3.703836 0.00057800 + 4 1.965535 0.00074300 + 5 1.043061 -0.00069400 + 6 0.553527 -0.00734300 + 7 0.293743 0.01552600 + 8 0.155882 -0.00661900 + 9 0.082723 0.07163400 + 10 0.043899 -0.01927600 +P 1 + 1 0.020348 1.00000000 +D 1 + 1 0.145290 1.00000000 + $END diff --git a/data/basis/cc-pvqz_ecp_ccecp b/data/basis/cc-pvqz_ecp_ccecp index 82e545ab..407577b0 100644 --- a/data/basis/cc-pvqz_ecp_ccecp +++ b/data/basis/cc-pvqz_ecp_ccecp @@ -3271,4 +3271,100 @@ F 1 G 1 1 0.769765 1.00000000 +SODIUM +S 10 + 1 22.091548 -0.00006400 + 2 9.660603 0.00045200 + 3 4.224568 -0.00261600 + 4 1.847398 0.02430900 + 5 0.807864 -0.09998900 + 6 0.353278 -0.10980100 + 7 0.154488 0.03299300 + 8 0.067557 0.37763000 + 9 0.029543 0.40045900 + 10 0.012919 0.07245300 +S 1 + 1 0.016120 1.00000000 +S 1 + 1 0.032890 1.00000000 +S 1 + 1 0.067106 1.00000000 +P 10 + 1 9.294210 0.00001100 + 2 4.233556 -0.00008100 + 3 1.928405 0.00095500 + 4 0.878398 -0.00627800 + 5 0.400114 -0.00916500 + 6 0.182254 0.01121400 + 7 0.083018 0.06407600 + 8 0.037815 0.02733600 + 9 0.017225 0.02760300 + 10 0.007846 -0.00537400 +P 1 + 1 0.013420 1.00000000 +P 1 + 1 0.031260 1.00000000 +P 1 + 1 0.072816 1.00000000 +D 1 + 1 0.048700 1.00000000 +D 1 + 1 0.086500 1.00000000 +D 1 + 1 0.153640 1.00000000 +F 1 + 1 0.103600 1.00000000 +F 1 + 1 0.191200 1.00000000 +G 1 + 1 0.172200 1.00000000 + +MAGNESIUM +S 10 + 1 51.711283 0.00001300 + 2 22.892200 -0.00007900 + 3 10.134207 0.00038800 + 4 4.486338 -0.00555700 + 5 1.986068 0.04709800 + 6 0.879218 -0.18005200 + 7 0.389223 -0.07386000 + 8 0.172306 0.23765800 + 9 0.076279 0.58477700 + 10 0.033768 0.23422500 +S 1 + 1 0.030897 1.00000000 +S 1 + 1 0.069571 1.00000000 +S 1 + 1 0.156651 1.00000000 +P 10 + 1 13.152061 0.00001800 + 2 6.979476 -0.00004700 + 3 3.703836 0.00057800 + 4 1.965535 0.00074300 + 5 1.043061 -0.00069400 + 6 0.553527 -0.00734300 + 7 0.293743 0.01552600 + 8 0.155882 -0.00661900 + 9 0.082723 0.07163400 + 10 0.043899 -0.01927600 +P 1 + 1 0.025392 1.00000000 +P 1 + 1 0.064751 1.00000000 +P 1 + 1 0.165122 1.00000000 +D 1 + 1 0.105834 1.00000000 +D 1 + 1 0.194029 1.00000000 +D 1 + 1 0.355719 1.00000000 +F 1 + 1 0.180053 1.00000000 +F 1 + 1 0.357087 1.00000000 +G 1 + 1 0.306900 1.00000000 + $END diff --git a/data/basis/cc-pvtz_ecp_ccecp b/data/basis/cc-pvtz_ecp_ccecp index 057d84f7..5444de91 100644 --- a/data/basis/cc-pvtz_ecp_ccecp +++ b/data/basis/cc-pvtz_ecp_ccecp @@ -2575,4 +2575,80 @@ D 1 F 1 1 0.696837 1.00000000 +SODIUM +S 10 + 1 22.091548 -0.00006400 + 2 9.660603 0.00045200 + 3 4.224568 -0.00261600 + 4 1.847398 0.02430900 + 5 0.807864 -0.09998900 + 6 0.353278 -0.10980100 + 7 0.154488 0.03299300 + 8 0.067557 0.37763000 + 9 0.029543 0.40045900 + 10 0.012919 0.07245300 +S 1 + 1 0.023820 1.00000000 +S 1 + 1 0.454000 1.00000000 +P 10 + 1 9.294210 0.00001100 + 2 4.233556 -0.00008100 + 3 1.928405 0.00095500 + 4 0.878398 -0.00627800 + 5 0.400114 -0.00916500 + 6 0.182254 0.01121400 + 7 0.083018 0.06407600 + 8 0.037815 0.02733600 + 9 0.017225 0.02760300 + 10 0.007846 -0.00537400 +P 1 + 1 0.015000 1.00000000 +P 1 + 1 0.037340 1.00000000 +D 1 + 1 0.063600 1.00000000 +D 1 + 1 0.136700 1.00000000 +F 1 + 1 0.139700 1.00000000 + +MAGNESIUM +S 10 + 1 51.711283 0.00001300 + 2 22.892200 -0.00007900 + 3 10.134207 0.00038800 + 4 4.486338 -0.00555700 + 5 1.986068 0.04709800 + 6 0.879218 -0.18005200 + 7 0.389223 -0.07386000 + 8 0.172306 0.23765800 + 9 0.076279 0.58477700 + 10 0.033768 0.23422500 +S 1 + 1 0.036514 1.00000000 +S 1 + 1 0.167485 1.00000000 +P 10 + 1 13.152061 0.00001800 + 2 6.979476 -0.00004700 + 3 3.703836 0.00057800 + 4 1.965535 0.00074300 + 5 1.043061 -0.00069400 + 6 0.553527 -0.00734300 + 7 0.293743 0.01552600 + 8 0.155882 -0.00661900 + 9 0.082723 0.07163400 + 10 0.043899 -0.01927600 +P 1 + 1 0.030867 1.00000000 +P 1 + 1 0.072377 1.00000000 +D 1 + 1 0.122209 1.00000000 +D 1 + 1 0.286399 1.00000000 +F 1 + 1 0.250810 1.00000000 + $END From e864eb1cf383d69c80f9edacaa93211ccfb7b8e7 Mon Sep 17 00:00:00 2001 From: Emmanuel Giner Date: Mon, 11 May 2020 16:04:16 +0200 Subject: [PATCH 087/138] added the possibility to use no_vvvv integrals from EZFIO --- src/becke_numerical_grid/EZFIO.cfg | 19 +++++++++++++ src/becke_numerical_grid/grid_becke.irp.f | 7 ++++- src/becke_numerical_grid/list_angular_grid | 32 ++++++++++++++++++++++ src/casscf/casscf.irp.f | 1 + src/mo_two_e_ints/EZFIO.cfg | 6 ++++ src/mo_two_e_ints/four_idx_novvvv.irp.f | 16 ++++++----- src/utils/integration.irp.f | 1 - src/utils/shank.irp.f | 29 +++++++++++++------- 8 files changed, 92 insertions(+), 19 deletions(-) create mode 100644 src/becke_numerical_grid/list_angular_grid diff --git a/src/becke_numerical_grid/EZFIO.cfg b/src/becke_numerical_grid/EZFIO.cfg index ca2100a1..17e8fd90 100644 --- a/src/becke_numerical_grid/EZFIO.cfg +++ b/src/becke_numerical_grid/EZFIO.cfg @@ -14,3 +14,22 @@ type: double precision doc: threshold on the weight of a given grid point interface: ezfio,provider,ocaml default: 1.e-20 + +[my_grid_becke] +type: logical +doc: if True, the number of angular and radial grid points are read from EZFIO +interface: ezfio,provider,ocaml +default: False + +[my_n_pt_r_grid] +type: integer +doc: Number of radial grid points given from input +interface: ezfio,provider,ocaml +default: 300 + +[my_n_pt_a_grid] +type: integer +doc: Number of angular grid points given from input. Warning, this number cannot be any integer. See file list_angular_grid +interface: ezfio,provider,ocaml +default: 1202 + diff --git a/src/becke_numerical_grid/grid_becke.irp.f b/src/becke_numerical_grid/grid_becke.irp.f index e72f6460..bedf0a84 100644 --- a/src/becke_numerical_grid/grid_becke.irp.f +++ b/src/becke_numerical_grid/grid_becke.irp.f @@ -8,7 +8,8 @@ ! ! These numbers are automatically set by setting the grid_type_sgn parameter END_DOC -select case (grid_type_sgn) +if(.not.my_grid_becke)then + select case (grid_type_sgn) case(0) n_points_radial_grid = 23 n_points_integration_angular = 170 @@ -25,6 +26,10 @@ select case (grid_type_sgn) write(*,*) '!!! Quadrature grid not available !!!' stop end select +else + n_points_radial_grid = my_n_pt_r_grid + n_points_integration_angular = my_n_pt_a_grid +endif END_PROVIDER BEGIN_PROVIDER [integer, n_points_grid_per_atom] diff --git a/src/becke_numerical_grid/list_angular_grid b/src/becke_numerical_grid/list_angular_grid new file mode 100644 index 00000000..252c7432 --- /dev/null +++ b/src/becke_numerical_grid/list_angular_grid @@ -0,0 +1,32 @@ +0006 +0014 +0026 +0038 +0050 +0074 +0086 +0110 +0146 +0170 +0194 +0230 +0266 +0302 +0350 +0434 +0590 +0770 +0974 +1202 +1454 +1730 +2030 +2354 +2702 +3074 +3470 +3890 +4334 +4802 +5294 +5810 diff --git a/src/casscf/casscf.irp.f b/src/casscf/casscf.irp.f index d83aa271..950cfd55 100644 --- a/src/casscf/casscf.irp.f +++ b/src/casscf/casscf.irp.f @@ -5,6 +5,7 @@ program casscf END_DOC call reorder_orbitals_for_casscf no_vvvv_integrals = .True. + touch no_vvvv_integrals pt2_max = 0.02 SOFT_TOUCH no_vvvv_integrals pt2_max call run_stochastic_cipsi diff --git a/src/mo_two_e_ints/EZFIO.cfg b/src/mo_two_e_ints/EZFIO.cfg index bec74552..ea47c51c 100644 --- a/src/mo_two_e_ints/EZFIO.cfg +++ b/src/mo_two_e_ints/EZFIO.cfg @@ -11,3 +11,9 @@ interface: ezfio,provider,ocaml default: 1.e-15 ezfio_name: threshold_mo +[no_vvvv_integrals] +type: logical +doc: If `True`, computes all integrals except for the integrals having 3 or 4 virtual indices +interface: ezfio,provider,ocaml +default: false + diff --git a/src/mo_two_e_ints/four_idx_novvvv.irp.f b/src/mo_two_e_ints/four_idx_novvvv.irp.f index 054d0a35..a4cdfd52 100644 --- a/src/mo_two_e_ints/four_idx_novvvv.irp.f +++ b/src/mo_two_e_ints/four_idx_novvvv.irp.f @@ -1,11 +1,11 @@ -BEGIN_PROVIDER [ logical, no_vvvv_integrals ] - implicit none - BEGIN_DOC +!BEGIN_PROVIDER [ logical, no_vvvv_integrals ] +! implicit none +! BEGIN_DOC ! If `True`, computes all integrals except for the integrals having 3 or 4 virtual indices - END_DOC - - no_vvvv_integrals = .False. -END_PROVIDER +! END_DOC +! +! no_vvvv_integrals = .False. +!END_PROVIDER BEGIN_PROVIDER [ double precision, mo_coef_novirt, (ao_num,n_core_inact_act_orb) ] implicit none @@ -56,6 +56,8 @@ subroutine four_idx_novvvv BEGIN_DOC ! Retransform MO integrals for next CAS-SCF step END_DOC + print*,'Using partial transformation' + print*,'It will not transform all integrals with at least 3 indices within the virtuals' integer :: i,j,k,l,n_integrals double precision, allocatable :: f(:,:,:), f2(:,:,:), d(:,:), T(:,:,:,:), T2(:,:,:,:) double precision, external :: get_ao_two_e_integral diff --git a/src/utils/integration.irp.f b/src/utils/integration.irp.f index 3ff1bb42..c907e425 100644 --- a/src/utils/integration.irp.f +++ b/src/utils/integration.irp.f @@ -75,7 +75,6 @@ subroutine give_explicit_poly_and_gaussian(P_new,P_center,p,fact_k,iorder,alpha, P_new(0,1) = 0.d0 P_new(0,2) = 0.d0 P_new(0,3) = 0.d0 - !DIR$ FORCEINLINE call gaussian_product(alpha,A_center,beta,B_center,fact_k,p,P_center) if (fact_k < thresh) then diff --git a/src/utils/shank.irp.f b/src/utils/shank.irp.f index 238538f3..d459399f 100644 --- a/src/utils/shank.irp.f +++ b/src/utils/shank.irp.f @@ -1,17 +1,26 @@ -double precision function shank3_f(array,n,nmax) +double precision function shank_general(array,n,nmax) implicit none integer, intent(in) :: n,nmax double precision, intent(in) :: array(0:nmax) ! array of the partial sums - integer :: ntmp - double precision :: shank1(0:nmax),shank2(0:nmax),shank3(0:nmax) + integer :: ntmp,i + double precision :: sum(0:nmax),shank1(0:nmax) + if(n.lt.3)then + print*,'You asked to Shank a sum but the order is smaller than 3 ...' + print*,'n = ',n + print*,'stopping ....' + stop + endif ntmp = n - call shank(array,ntmp,nmax,shank1) - ntmp = ntmp - 2 - call shank(shank1,ntmp,nmax,shank2) - ntmp = ntmp - 2 - call shank(shank2,ntmp,nmax,shank3) - ntmp = ntmp - 2 - shank3_f = shank3(ntmp) + sum = array + i = 0 + do while(ntmp.ge.2) + i += 1 +! print*,'i = ',i + call shank(sum,ntmp,nmax,shank1) + ntmp = ntmp - 2 + sum = shank1 + shank_general = shank1(ntmp) + enddo end From 4699ad58224c8f53ec69090e2009bac702c59e86 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 12 May 2020 16:35:03 +0200 Subject: [PATCH 088/138] Removed redundant files --- data/basis/cc-pvdz_ecp_ncsu | 1773 --------------------- data/basis/cc-pvqz_ecp_ncsu | 2889 ----------------------------------- data/basis/cc-pvtz_ecp_ncsu | 2309 ---------------------------- 3 files changed, 6971 deletions(-) delete mode 100644 data/basis/cc-pvdz_ecp_ncsu delete mode 100644 data/basis/cc-pvqz_ecp_ncsu delete mode 100644 data/basis/cc-pvtz_ecp_ncsu diff --git a/data/basis/cc-pvdz_ecp_ncsu b/data/basis/cc-pvdz_ecp_ncsu deleted file mode 100644 index 8d35e8d2..00000000 --- a/data/basis/cc-pvdz_ecp_ncsu +++ /dev/null @@ -1,1773 +0,0 @@ -BORON - S 9 -1 11.76050 -0.0036757 -2 5.150520 0.0250517 -3 2.578276 -0.1249228 -4 1.290648 -0.0662874 -5 0.646080 0.1007341 -6 0.323418 0.3375492 -7 0.161898 0.4308431 -8 0.081044 0.2486558 -9 0.040569 0.0317295 -S 1 -1 0.082513 1.000000 -P 9 -1 7.470701 0.0047397 -2 3.735743 0.0376009 -3 1.868068 0.0510600 -4 0.934132 0.1456587 -5 0.467115 0.2237933 -6 0.233582 0.3199467 -7 0.116803 0.2850185 -8 0.058408 0.1448808 -9 0.029207 0.0176962 -P 1 -1 0.086803 1.000000 -D 1 -1 0.349879 1.000000 - -CARBON - S 9 -1 13.073594 0.0051583 -2 6.541187 0.0603424 -3 4.573411 -0.1978471 -4 1.637494 -0.0810340 -5 0.819297 0.2321726 -6 0.409924 0.2914643 -7 0.231300 0.4336405 -8 0.102619 0.2131940 -9 0.051344 0.0049848 -S 1 -1 0.127852 1.000000 -P 9 -1 9.934169 0.0209076 -2 3.886955 0.0572698 -3 1.871016 0.1122682 -4 0.935757 0.2130082 -5 0.468003 0.2835815 -6 0.239473 0.3011207 -7 0.117063 0.2016934 -8 0.058547 0.0453575 -9 0.029281 0.0029775 -P 1 -1 0.149161 1.000000 -D 1 -1 0.561160 1.000000 - -NITROGEN - S 9 -1 42.693822 -0.0009357 -2 19.963207 0.0063295 -3 9.3345971 0.0105038 -4 4.9278187 -0.1653735 -5 2.040920 -0.0005352 -6 0.967080 0.2452063 -7 0.476131 0.4582128 -8 0.211443 0.3641224 -9 0.098869 0.0620406 -S 1 -1 0.175123 1.0000000 -P 9 -1 18.925871 0.0073505 -2 9.225603 0.0292844 -3 4.581431 0.0652168 -4 2.300164 0.1405153 -5 1.154825 0.2328188 -6 0.582039 0.2989556 -7 0.290535 0.2802507 -8 0.145867 0.1527995 -9 0.073234 0.0355475 -P 1 -1 0.223042 1.0000000 -D 1 -1 0.832058 1.0000000 - -OXYGEN - S 9 -1 54.775216 -0.0012444 -2 25.616801 0.0107330 -3 11.980245 0.0018889 -4 6.992317 -0.1742537 -5 2.620277 0.0017622 -6 1.225429 0.3161846 -7 0.577797 0.4512023 -8 0.268022 0.3121534 -9 0.125346 0.0511167 -S 1 -1 0.258551 1.0000000 -P 9 -1 22.217266 0.0104866 -2 10.74755 0.0366435 -3 5.315785 0.0803674 -4 2.660761 0.1627010 -5 1.331816 0.2377791 -6 0.678626 0.2811422 -7 0.333673 0.2643189 -8 0.167017 0.1466014 -9 0.083598 0.0458145 -P 1 -1 0.267865 1.0000000 -D 1 -1 1.232753 1.0000000 - -SODIUM - S 12 - 1 50.364926 -0.00144900 - 2 24.480199 -0.00059000 - 3 11.898760 -0.11881800 - 4 5.783470 -0.01085600 - 5 2.811093 0.25078300 - 6 1.366350 0.44727600 - 7 0.664123 0.34725400 - 8 0.322801 0.08065200 - 9 0.156900 0.00120800 - 10 0.076262 0.00040900 - 11 0.037068 0.00011200 - 12 0.018017 0.00007200 -S 12 - 1 50.364926 0.00021200 - 2 24.480199 0.00037900 - 3 11.898760 0.01958200 - 4 5.783470 0.00062300 - 5 2.811093 -0.04578100 - 6 1.366350 -0.08872800 - 7 0.664123 -0.11295200 - 8 0.322801 -0.10839600 - 9 0.156900 0.00990100 - 10 0.076262 0.35541800 - 11 0.037068 0.56145100 - 12 0.018017 0.19899800 -S 1 - 1 0.073591 1.00000000 -P 12 - 1 77.769943 0.00005400 - 2 42.060816 -0.00001600 - 3 22.748020 0.01257100 - 4 12.302957 0.07960100 - 5 6.653887 0.14044200 - 6 3.598664 0.21214100 - 7 1.946289 0.26179900 - 8 1.052624 0.25582000 - 9 0.569297 0.18035900 - 10 0.307897 0.07216500 - 11 0.166522 0.01066300 - 12 0.090061 0.00153800 -P 12 - 1 77.769943 -0.00065600 - 2 42.060816 0.00313700 - 3 22.748020 -0.01100400 - 4 12.302957 0.00937600 - 5 6.653887 -0.06647900 - 6 3.598664 0.05895900 - 7 1.946289 -0.22105000 - 8 1.052624 0.30349100 - 9 0.569297 -0.67170500 - 10 0.307897 1.06436000 - 11 0.166522 -1.53048900 - 12 0.090061 1.84316700 -P 1 - 1 0.063647 1.00000000 -D 1 - 1 0.093145 1.00000000 - -MAGNESIUM - S 12 - 1 63.931893 -0.00079400 - 2 31.602596 0.00747900 - 3 15.621687 -0.13624600 - 4 7.722059 -0.03203300 - 5 3.817142 0.21682300 - 6 1.886877 0.45136400 - 7 0.932714 0.37759900 - 8 0.461056 0.09431900 - 9 0.227908 0.00170300 - 10 0.112659 0.00048500 - 11 0.055689 -0.00015100 - 12 0.027528 0.00003100 -S 12 - 1 63.931893 0.00010600 - 2 31.602596 -0.00108600 - 3 15.621687 0.02867600 - 4 7.722059 0.00578100 - 5 3.817142 -0.05065300 - 6 1.886877 -0.11687700 - 7 0.932714 -0.16512100 - 8 0.461056 -0.11801600 - 9 0.227908 0.10836500 - 10 0.112659 0.41475500 - 11 0.055689 0.47763300 - 12 0.027528 0.17347600 -S 1 - 1 0.041150 1.00000000 -P 12 - 1 28.231094 0.01131700 - 2 14.891993 0.08703900 - 3 7.855575 0.16268300 - 4 4.143841 0.24138600 - 5 2.185889 0.29006400 - 6 1.153064 0.25299100 - 7 0.608245 0.13309700 - 8 0.320851 0.02894100 - 9 0.169250 0.00320900 - 10 0.089280 0.00026800 - 11 0.047095 0.00025700 - 12 0.024843 -0.00003700 -P 12 - 1 28.231094 -0.00182200 - 2 14.891993 -0.01360300 - 3 7.855575 -0.02570000 - 4 4.143841 -0.03907600 - 5 2.185889 -0.04877900 - 6 1.153064 -0.04599000 - 7 0.608245 -0.03165800 - 8 0.320851 0.04917800 - 9 0.169250 0.18690900 - 10 0.089280 0.37939600 - 11 0.047095 0.33543100 - 12 0.024843 0.18405800 -P 1 - 1 0.038365 1.00000000 -D 1 - 1 0.196017 1.00000000 - -ALUMINUM - S 12 - 1 78.990577 -0.00048100 - 2 39.484884 0.01309500 - 3 19.737241 -0.14615300 - 4 9.866021 -0.04520600 - 5 4.931711 0.19070800 - 6 2.465206 0.45320700 - 7 1.232278 0.39882400 - 8 0.615977 0.10364800 - 9 0.307907 0.00224700 - 10 0.153913 0.00079000 - 11 0.076936 -0.00014000 - 12 0.038458 0.00006400 -S 12 - 1 78.990577 0.00002400 - 2 39.484884 -0.00262700 - 3 19.737241 0.03694800 - 4 9.866021 0.01070500 - 5 4.931711 -0.05334200 - 6 2.465206 -0.14418800 - 7 1.232278 -0.21396900 - 8 0.615977 -0.12558500 - 9 0.307907 0.19397000 - 10 0.153913 0.48467400 - 11 0.076936 0.41941400 - 12 0.038458 0.11043000 -S 1 - 1 0.062950 1.00000000 -P 12 - 1 33.993368 0.01190800 - 2 17.617051 0.09748500 - 3 9.130030 0.18047400 - 4 4.731635 0.26552200 - 5 2.452168 0.30797700 - 6 1.270835 0.23506100 - 7 0.658610 0.08963100 - 8 0.341324 0.01108300 - 9 0.176891 0.00157700 - 10 0.091674 0.00000700 - 11 0.047510 0.00021500 - 12 0.024622 -0.00002200 -P 12 - 1 33.993368 -0.00218300 - 2 17.617051 -0.01736200 - 3 9.130030 -0.03229200 - 4 4.731635 -0.04981000 - 5 2.452168 -0.05992600 - 6 1.270835 -0.05255300 - 7 0.658610 0.00198900 - 8 0.341324 0.13005200 - 9 0.176891 0.28008900 - 10 0.091674 0.37433900 - 11 0.047510 0.27285700 - 12 0.024622 0.08514500 -P 1 - 1 0.053015 1.00000000 -D 1 - 1 0.189387 1.00000000 - -SILICON - S 12 - 1 96.651837 -0.00044000 - 2 48.652547 0.01867100 - 3 24.490692 -0.15435300 - 4 12.328111 -0.05773800 - 5 6.205717 0.16808700 - 6 3.123831 0.45342800 - 7 1.572472 0.41767500 - 8 0.791550 0.11190100 - 9 0.398450 0.00333700 - 10 0.200572 0.00099500 - 11 0.100964 -0.00003800 - 12 0.050823 0.00006900 -S 12 - 1 96.651837 -0.00000400 - 2 48.652547 -0.00442100 - 3 24.490692 0.04336200 - 4 12.328111 0.01585300 - 5 6.205717 -0.05170600 - 6 3.123831 -0.16289500 - 7 1.572472 -0.25021800 - 8 0.791550 -0.12421600 - 9 0.398450 0.24632500 - 10 0.200572 0.50589900 - 11 0.100964 0.38631400 - 12 0.050823 0.08770100 -S 1 - 1 0.086279 1.00000000 -P 12 - 1 40.315996 0.01293800 - 2 21.171265 0.09812900 - 3 11.117733 0.17932400 - 4 5.838290 0.26388600 - 5 3.065879 0.30927200 - 6 1.609995 0.23274800 - 7 0.845462 0.08590000 - 8 0.443980 0.01026000 - 9 0.233149 0.00156000 - 10 0.122434 -0.00000300 - 11 0.064294 0.00023200 - 12 0.033763 -0.00002300 -P 12 - 1 40.315996 0.00283300 - 2 21.171265 0.02086900 - 3 11.117733 0.03823600 - 4 5.838290 0.05967900 - 5 3.065879 0.07277600 - 6 1.609995 0.06112900 - 7 0.845462 -0.01677600 - 8 0.443980 -0.17225900 - 9 0.233149 -0.32119600 - 10 0.122434 -0.36282800 - 11 0.064294 -0.22078900 - 12 0.033763 -0.05515200 -P 1 - 1 0.079370 1.00000000 -D 1 - 1 0.274454 1.00000000 - -PHOSPHORUS - S 12 - 1 269.443884 0.00005500 - 2 127.601401 -0.00062400 - 3 60.428603 0.01940000 - 4 28.617367 -0.16550900 - 5 13.552418 -0.05426500 - 6 6.418062 0.25444000 - 7 3.039422 0.54966100 - 8 1.439389 0.32228500 - 9 0.681656 0.02663200 - 10 0.322814 0.00420300 - 11 0.152876 -0.00123300 - 12 0.072398 0.00049700 -S 12 - 1 269.443884 0.00001800 - 2 127.601401 -0.00002600 - 3 60.428603 -0.00493300 - 4 28.617367 0.05012000 - 5 13.552418 0.01580100 - 6 6.418062 -0.08446300 - 7 3.039422 -0.24674200 - 8 1.439389 -0.27632600 - 9 0.681656 0.10027400 - 10 0.322814 0.51720100 - 11 0.152876 0.47975800 - 12 0.072398 0.12409900 -S 1 - 1 0.111116 1.00000000 -P 12 - 1 48.154282 0.01288400 - 2 25.406431 0.09709500 - 3 13.404555 0.17821500 - 4 7.072308 0.26596400 - 5 3.731384 0.31293300 - 6 1.968696 0.23068600 - 7 1.038693 0.08048900 - 8 0.548020 0.00908500 - 9 0.289138 0.00124800 - 10 0.152550 -0.00006600 - 11 0.080486 0.00012900 - 12 0.042465 -0.00002900 -P 12 - 1 48.154282 -0.00315200 - 2 25.406431 -0.02300600 - 3 13.404555 -0.04239800 - 4 7.072308 -0.06747700 - 5 3.731384 -0.08295200 - 6 1.968696 -0.06602600 - 7 1.038693 0.03446800 - 8 0.548020 0.20901800 - 9 0.289138 0.34717900 - 10 0.152550 0.34480600 - 11 0.080486 0.18173100 - 12 0.042465 0.03664900 -P 1 - 1 0.110006 1.00000000 -D 1 - 1 0.373518 1.00000000 - -SULFUR - S 12 - 1 306.317903 0.00006400 - 2 146.602801 -0.00078500 - 3 70.163647 0.02247100 - 4 33.580104 -0.16987100 - 5 16.071334 -0.06189700 - 6 7.691691 0.24003900 - 7 3.681219 0.55164900 - 8 1.761820 0.33438600 - 9 0.843202 0.03132300 - 10 0.403554 0.00443600 - 11 0.193140 -0.00101500 - 12 0.092436 0.00050700 -S 12 - 1 306.317903 0.00002100 - 2 146.602801 -0.00000400 - 3 70.163647 -0.00611900 - 4 33.580104 0.05447100 - 5 16.071334 0.01934400 - 6 7.691691 -0.08383900 - 7 3.681219 -0.26532200 - 8 1.761820 -0.29306500 - 9 0.843202 0.11373000 - 10 0.403554 0.52928200 - 11 0.193140 0.46625400 - 12 0.092436 0.12580000 -S 1 - 1 0.138193 1.00000000 -P 12 - 1 55.148271 0.01344700 - 2 29.056588 0.10167000 - 3 15.309371 0.18519200 - 4 8.066220 0.27583600 - 5 4.249940 0.31707300 - 6 2.239213 0.21706600 - 7 1.179799 0.06576500 - 8 0.621614 0.00651700 - 9 0.327517 0.00111100 - 10 0.172562 0.00022200 - 11 0.090920 0.00018100 - 12 0.047904 0.00000800 -P 12 - 1 55.148271 0.00354200 - 2 29.056588 0.02579700 - 3 15.309371 0.04726000 - 4 8.066220 0.07559400 - 5 4.249940 0.09198000 - 6 2.239213 0.06206700 - 7 1.179799 -0.07125300 - 8 0.621614 -0.25020600 - 9 0.327517 -0.34929500 - 10 0.172562 -0.31270000 - 11 0.090920 -0.15589800 - 12 0.047904 -0.03041800 -P 1 - 1 0.132347 1.00000000 -D 1 - 1 0.480399 1.00000000 - -CHLORINE - S 12 - 1 352.930099 0.00004300 - 2 170.036562 -0.00070500 - 3 81.921130 0.02320900 - 4 39.468403 -0.16508500 - 5 19.015299 -0.07748000 - 6 9.161293 0.22554400 - 7 4.413777 0.55280100 - 8 2.126493 0.34903400 - 9 1.024513 0.03580300 - 10 0.493596 0.00503900 - 11 0.237807 -0.00097200 - 12 0.114572 0.00056000 -S 12 - 1 352.930099 0.00002300 - 2 170.036562 -0.00000300 - 3 81.921130 -0.00674800 - 4 39.468403 0.05565800 - 5 19.015299 0.02530900 - 6 9.161293 -0.08184000 - 7 4.413777 -0.27845300 - 8 2.126493 -0.30879400 - 9 1.024513 0.12058100 - 10 0.493596 0.53571000 - 11 0.237807 0.45994000 - 12 0.114572 0.12829700 -S 1 - 1 0.169323 1.00000000 -P 12 - 1 68.625610 0.01202900 - 2 36.209284 0.09154900 - 3 19.105291 0.17381300 - 4 10.080623 0.26931700 - 5 5.318891 0.32161200 - 6 2.806434 0.23090800 - 7 1.480773 0.07383400 - 8 0.781308 0.00805700 - 9 0.412246 0.00134600 - 10 0.217515 0.00047500 - 11 0.114769 0.00028000 - 12 0.060556 0.00004200 -P 12 - 1 68.625610 0.00335700 - 2 36.209284 0.02463200 - 3 19.105291 0.04722600 - 4 10.080623 0.07816200 - 5 5.318891 0.09893200 - 6 2.806434 0.06953700 - 7 1.480773 -0.07160700 - 8 0.781308 -0.25448800 - 9 0.412246 -0.34548500 - 10 0.217515 -0.30802000 - 11 0.114769 -0.15890900 - 12 0.060556 -0.03618100 -P 1 - 1 0.165843 1.00000000 -D 1 - 1 0.604108 1.00000000 - -ARGON - S 12 - 1 400.805381 0.00009200 - 2 194.251428 -0.00125400 - 3 94.144487 0.02887900 - 4 45.627384 -0.17710600 - 5 22.113437 -0.07716500 - 6 10.717338 0.21018700 - 7 5.194187 0.55436900 - 8 2.517377 0.35907000 - 9 1.220054 0.04076900 - 10 0.591302 0.00508700 - 11 0.286576 -0.00064400 - 12 0.138890 0.00053300 -S 12 - 1 400.805381 0.00001900 - 2 194.251428 0.00011400 - 3 94.144487 -0.00869300 - 4 45.627384 0.06117500 - 5 22.113437 0.02679200 - 6 10.717338 -0.07778000 - 7 5.194187 -0.29074700 - 8 2.517377 -0.32003600 - 9 1.220054 0.12393300 - 10 0.591302 0.53916300 - 11 0.286576 0.45626000 - 12 0.138890 0.13189200 -S 1 - 1 0.200844 1.00000000 -P 12 - 1 71.845693 0.01423900 - 2 38.318786 0.10317800 - 3 20.437263 0.18518400 - 4 10.900182 0.27635700 - 5 5.813595 0.31813000 - 6 3.100671 0.21149400 - 7 1.653738 0.06192600 - 8 0.882019 0.00582100 - 9 0.470423 0.00083800 - 10 0.250899 -0.00004700 - 11 0.133817 0.00007700 - 12 0.071371 -0.00001800 -P 12 - 1 71.845693 0.00414500 - 2 38.318786 0.02880000 - 3 20.437263 0.05191600 - 4 10.900182 0.08435600 - 5 5.813595 0.10330300 - 6 3.100671 0.05976300 - 7 1.653738 -0.09852400 - 8 0.882019 -0.27287100 - 9 0.470423 -0.34211200 - 10 0.250899 -0.28931700 - 11 0.133817 -0.14332900 - 12 0.071371 -0.03249500 -P 1 - 1 0.205249 1.00000000 -D 1 - 1 0.745011 1.00000000 - -SCANDIUM - S 13 - 1 66.882574 0.00055300 - 2 33.776681 -0.00511500 - 3 18.185884 0.00416100 - 4 11.748619 0.12160300 - 5 6.895190 -0.27013700 - 6 3.222124 -0.32441000 - 7 1.772120 0.29116200 - 8 0.841163 0.62893100 - 9 0.471976 0.27340600 - 10 0.313224 0.13535200 - 11 0.101013 0.00804100 - 12 0.049071 -0.00261000 - 13 0.022782 0.00059700 -S 13 - 1 66.882574 -0.00013900 - 2 33.776681 0.00134500 - 3 18.185884 -0.00144500 - 4 11.748619 -0.03208200 - 5 6.895190 0.07550600 - 6 3.222124 0.08992700 - 7 1.772120 -0.09008600 - 8 0.841163 -0.21644400 - 9 0.471976 -0.17925000 - 10 0.313224 -0.12816000 - 11 0.101013 0.33793500 - 12 0.049071 0.60918100 - 13 0.022782 0.24418100 -S 13 - 1 66.882574 -0.00067900 - 2 33.776681 0.00545600 - 3 18.185884 -0.01668400 - 4 11.748619 -0.03173900 - 5 6.895190 0.10956000 - 6 3.222124 0.23329300 - 7 1.772120 -0.31020700 - 8 0.841163 -0.24508300 - 9 0.471976 -1.17524800 - 10 0.313224 1.03235900 - 11 0.101013 1.59903900 - 12 0.049071 -0.62399000 - 13 0.022782 -0.84749800 -S 1 - 1 0.022782 1.00000000 -P 13 - 1 77.690832 0.00008800 - 2 39.751864 -0.00075400 - 3 20.615633 0.00658400 - 4 11.537150 -0.00718900 - 5 7.597186 -0.06890300 - 6 3.765117 -0.01384200 - 7 2.051006 0.24870400 - 8 1.048648 0.43432800 - 9 0.550231 0.32690600 - 10 0.303840 0.10461700 - 11 0.165809 0.01851200 - 12 0.060419 0.00139500 - 13 0.024751 0.00009300 -P 13 - 1 77.690832 0.00001700 - 2 39.751864 -0.00002600 - 3 20.615633 -0.00086100 - 4 11.537150 -0.00048300 - 5 7.597186 0.02136400 - 6 3.765117 -0.00370600 - 7 2.051006 -0.05871800 - 8 1.048648 -0.14336400 - 9 0.550231 -0.07728000 - 10 0.303840 -0.10776400 - 11 0.165809 0.32285900 - 12 0.060419 0.62172600 - 13 0.024751 0.25378700 -P 13 - 1 77.690832 -0.00006300 - 2 39.751864 0.00054900 - 3 20.615633 -0.00512000 - 4 11.537150 0.00701100 - 5 7.597186 0.05366100 - 6 3.765117 0.00357400 - 7 2.051006 -0.23586100 - 8 1.048648 -0.49480100 - 9 0.550231 -0.22957500 - 10 0.303840 0.91797300 - 11 0.165809 0.62115500 - 12 0.060419 -0.82464800 - 13 0.024751 -0.15759200 -P 1 - 1 0.024751 1.00000000 -D 11 - 1 60.996829 0.00005600 - 2 22.097637 0.00505400 - 3 10.186744 0.03222300 - 4 4.633892 0.08247900 - 5 2.146927 0.15936300 - 6 1.014536 0.22860400 - 7 0.487206 0.24369100 - 8 0.248191 0.23165100 - 9 0.131273 0.19543100 - 10 0.063714 0.21458900 - 11 0.021542 0.07411300 -D 11 - 1 60.996829 -0.00007200 - 2 22.097637 -0.00607900 - 3 10.186744 -0.03905400 - 4 4.633892 -0.10065200 - 5 2.146927 -0.19433000 - 6 1.014536 -0.25355600 - 7 0.487206 -0.21355600 - 8 0.248191 0.05418200 - 9 0.131273 0.26118800 - 10 0.063714 0.52021500 - 11 0.021542 0.16690700 -D 1 - 1 0.021542 1.00000000 -F 1 - 1 0.280673 1.00000000 - -TITANIUM - S 13 - 1 68.910511 0.00061600 - 2 33.720700 -0.00750100 - 3 18.159676 0.01221800 - 4 12.419305 0.14473900 - 5 7.532195 -0.32862100 - 6 3.504444 -0.31751700 - 7 1.910727 0.35742200 - 8 0.888840 0.67140600 - 9 0.447198 0.28222600 - 10 0.281192 0.03867300 - 11 0.100258 0.00455900 - 12 0.046525 -0.00156500 - 13 0.021840 0.00039800 -S 13 - 1 68.910511 -0.00015600 - 2 33.720700 0.00196600 - 3 18.159676 -0.00399400 - 4 12.419305 -0.03637700 - 5 7.532195 0.08859300 - 6 3.504444 0.08563000 - 7 1.910727 -0.10599300 - 8 0.888840 -0.23742100 - 9 0.447198 -0.23535900 - 10 0.281192 -0.01296000 - 11 0.100258 0.43358200 - 12 0.046525 0.57787300 - 13 0.021840 0.16436000 -S 13 - 1 68.910511 0.00063500 - 2 33.720700 -0.00646800 - 3 18.159676 0.02344400 - 4 12.419305 0.03892100 - 5 7.532195 -0.14118000 - 6 3.504444 -0.21476500 - 7 1.910727 0.32015100 - 8 0.888840 0.45106200 - 9 0.447198 0.85519100 - 10 0.281192 -1.20922400 - 11 0.100258 -1.31948100 - 12 0.046525 0.86651700 - 13 0.021840 0.61891600 -S 1 - 1 0.021840 1.00000000 -P 13 - 1 84.914002 0.00009300 - 2 42.855051 -0.00083600 - 3 21.700131 0.00867900 - 4 12.214690 -0.01117800 - 5 8.319164 -0.07776700 - 6 4.091071 -0.00611300 - 7 2.286543 0.27182800 - 8 1.159810 0.45958500 - 9 0.591343 0.31590000 - 10 0.312862 0.07168300 - 11 0.184828 0.01054100 - 12 0.068590 0.00004500 - 13 0.026791 -0.00083700 -P 13 - 1 84.914002 0.00002000 - 2 42.855051 -0.00004900 - 3 21.700131 -0.00076100 - 4 12.214690 -0.00057500 - 5 8.319164 0.01828400 - 6 4.091071 -0.00594300 - 7 2.286543 -0.04321200 - 8 1.159810 -0.11251300 - 9 0.591343 -0.05207300 - 10 0.312862 -0.09226300 - 11 0.184828 0.24394600 - 12 0.068590 0.41310100 - 13 0.026791 0.54398500 -P 13 - 1 84.914002 0.00001900 - 2 42.855051 0.00013800 - 3 21.700131 -0.00462200 - 4 12.214690 0.00446500 - 5 8.319164 0.06576000 - 6 4.091071 -0.01892700 - 7 2.286543 -0.22252400 - 8 1.159810 -0.52389000 - 9 0.591343 -0.07127700 - 10 0.312862 0.81271200 - 11 0.184828 0.62549800 - 12 0.068590 -0.81218900 - 13 0.026791 -0.18579600 -P 1 - 1 0.026791 1.00000000 -D 11 - 1 77.434559 0.00002200 - 2 27.708477 0.00421800 - 3 12.914284 0.03008700 - 4 6.062674 0.08482100 - 5 2.863898 0.17111000 - 6 1.386559 0.24745100 - 7 0.677058 0.27731000 - 8 0.329864 0.26107700 - 9 0.159474 0.19033600 - 10 0.076174 0.11938500 - 11 0.028570 0.03129700 -D 11 - 1 77.434559 -0.00002500 - 2 27.708477 -0.00431100 - 3 12.914284 -0.03091300 - 4 6.062674 -0.08804900 - 5 2.863898 -0.17833000 - 6 1.386559 -0.23433500 - 7 0.677058 -0.19577500 - 8 0.329864 0.06587200 - 9 0.159474 0.33053600 - 10 0.076174 0.46122900 - 11 0.028570 0.18427300 -D 1 - 1 0.028570 1.00000000 -F 1 - 1 0.499717 1.00000000 - -VANADIUM - S 13 - 1 68.577621 0.00080400 - 2 34.937147 -0.01159400 - 3 17.939491 0.09220900 - 4 11.262123 -0.04547700 - 5 6.776264 -0.28798300 - 6 3.524091 -0.21764800 - 7 1.938421 0.40750900 - 8 0.927153 0.65819300 - 9 0.448420 0.25523400 - 10 0.209668 0.00862000 - 11 0.103660 0.00273400 - 12 0.050630 -0.00116100 - 13 0.024201 0.00029400 -S 13 - 1 68.577621 -0.00017700 - 2 34.937147 0.00279100 - 3 17.939491 -0.02365000 - 4 11.262123 0.01250400 - 5 6.776264 0.07876100 - 6 3.524091 0.05497400 - 7 1.938421 -0.11895500 - 8 0.927153 -0.24534100 - 9 0.448420 -0.22295900 - 10 0.209668 0.04780900 - 11 0.103660 0.41537400 - 12 0.050630 0.54088000 - 13 0.024201 0.18342100 -S 13 - 1 68.577621 -0.00058300 - 2 34.937147 0.00957000 - 3 17.939491 -0.08560600 - 4 11.262123 0.04842600 - 5 6.776264 0.33123900 - 6 3.524091 0.14035200 - 7 1.938421 -0.90796200 - 8 0.927153 -0.50387800 - 9 0.448420 0.39893800 - 10 0.209668 0.97113100 - 11 0.103660 0.42399900 - 12 0.050630 -0.62864600 - 13 0.024201 -0.46749500 -S 1 - 1 0.024201 1.00000000 -P 13 - 1 96.215967 0.00006900 - 2 49.579340 -0.00067200 - 3 25.638009 0.00819900 - 4 14.025942 -0.02710800 - 5 8.740334 -0.05302100 - 6 4.634840 0.00500200 - 7 2.553374 0.26198600 - 8 1.321166 0.43354400 - 9 0.681285 0.32494700 - 10 0.349458 0.09234200 - 11 0.172773 0.00896400 - 12 0.063300 0.00118500 - 13 0.033969 0.00010400 -P 13 - 1 96.215967 0.00004000 - 2 49.579340 -0.00013300 - 3 25.638009 -0.00095500 - 4 14.025942 0.00371900 - 5 8.740334 0.01886600 - 6 4.634840 -0.01207400 - 7 2.553374 -0.05710700 - 8 1.321166 -0.14643300 - 9 0.681285 -0.06736500 - 10 0.349458 -0.06825400 - 11 0.172773 0.40310300 - 12 0.063300 0.50266800 - 13 0.033969 0.26129100 -P 13 - 1 96.215967 -0.00005300 - 2 49.579340 0.00002300 - 3 25.638009 0.00462900 - 4 14.025942 -0.00775500 - 5 8.740334 -0.10413300 - 6 4.634840 -0.01776200 - 7 2.553374 0.72821200 - 8 1.321166 0.21882600 - 9 0.681285 -0.49322300 - 10 0.349458 -0.83819200 - 11 0.172773 0.39840100 - 12 0.063300 0.66458900 - 13 0.033969 0.03301100 -P 1 - 1 0.033969 1.00000000 -D 11 - 1 89.989649 0.00005100 - 2 33.132961 0.00480400 - 3 15.879656 0.02948500 - 4 7.465803 0.08624900 - 5 3.551993 0.17972800 - 6 1.728185 0.26185000 - 7 0.850498 0.29179400 - 8 0.417673 0.25935600 - 9 0.201523 0.17494400 - 10 0.100711 0.06227800 - 11 0.058959 0.02765300 -D 11 - 1 89.989649 -0.00003800 - 2 33.132961 -0.00459000 - 3 15.879656 -0.02756300 - 4 7.465803 -0.08277500 - 5 3.551993 -0.17349400 - 6 1.728185 -0.23618800 - 7 0.850498 -0.14922600 - 8 0.417673 0.04414500 - 9 0.201523 0.39050000 - 10 0.100711 0.20306400 - 11 0.058959 0.39800200 -D 1 - 1 0.058959 1.00000000 -F 1 - 1 1.138450 1.00000000 - -CHROMIUM - S 13 - 1 73.977737 0.00086400 - 2 37.684349 -0.01159500 - 3 19.278723 0.09046700 - 4 12.130763 -0.02483700 - 5 7.453002 -0.33040700 - 6 3.756296 -0.20059800 - 7 2.084137 0.44976600 - 8 0.993314 0.64757500 - 9 0.483094 0.22902500 - 10 0.225854 0.00921700 - 11 0.115338 0.00113200 - 12 0.052134 -0.00036700 - 13 0.023679 0.00009200 -S 13 - 1 73.977737 -0.00018300 - 2 37.684349 0.00270400 - 3 19.278723 -0.02265000 - 4 12.130763 0.00718100 - 5 7.453002 0.08770500 - 6 3.756296 0.04761600 - 7 2.084137 -0.12567200 - 8 0.993314 -0.24457100 - 9 0.483094 -0.19841900 - 10 0.225854 0.03088900 - 11 0.115338 0.42393500 - 12 0.052134 0.57694100 - 13 0.023679 0.14832300 -S 13 - 1 73.977737 -0.00032700 - 2 37.684349 0.00530900 - 3 19.278723 -0.04690500 - 4 12.130763 0.01541100 - 5 7.453002 0.19169700 - 6 3.756296 0.09975900 - 7 2.084137 -0.33899400 - 8 0.993314 -0.69580600 - 9 0.483094 -0.00731500 - 10 0.225854 1.11859900 - 11 0.115338 0.71725700 - 12 0.052134 -0.86856500 - 13 0.023679 -0.46718600 -S 1 - 1 0.023679 1.00000000 -P 13 - 1 101.951240 0.00008800 - 2 52.309865 -0.00074700 - 3 27.142574 0.00713500 - 4 15.066862 -0.01470200 - 5 9.693669 -0.07335300 - 6 4.985710 0.01200700 - 7 2.761266 0.28311700 - 8 1.417673 0.44078600 - 9 0.728201 0.30677500 - 10 0.378189 0.08180400 - 11 0.189359 0.00883900 - 12 0.072301 0.00102200 - 13 0.037471 0.00032500 -P 13 - 1 101.951240 0.00002800 - 2 52.309865 -0.00008500 - 3 27.142574 -0.00075100 - 4 15.066862 0.00084400 - 5 9.693669 0.02265600 - 6 4.985710 -0.01278100 - 7 2.761266 -0.06238600 - 8 1.417673 -0.14358100 - 9 0.728201 -0.06228100 - 10 0.378189 -0.05447100 - 11 0.189359 0.37713500 - 12 0.072301 0.47163300 - 13 0.037471 0.31162400 -P 13 - 1 101.951240 -0.00013700 - 2 52.309865 0.00093200 - 3 27.142574 -0.00684500 - 4 15.066862 0.01983100 - 5 9.693669 0.04364700 - 6 4.985710 -0.01928900 - 7 2.761266 -0.28118700 - 8 1.417673 -0.37029800 - 9 0.728201 -0.19987300 - 10 0.378189 1.02855200 - 11 0.189359 0.42371100 - 12 0.072301 -0.80092600 - 13 0.037471 -0.14191000 -P 1 - 1 0.037471 1.00000000 -D 11 - 1 120.683729 -0.00000600 - 2 42.646591 0.00311100 - 3 21.154405 0.02864100 - 4 9.708242 0.07622200 - 5 4.614990 0.17059500 - 6 2.243726 0.26690800 - 7 1.086491 0.31103900 - 8 0.524700 0.26731200 - 9 0.255752 0.16333600 - 10 0.121497 0.06278200 - 11 0.054339 0.00787200 -D 11 - 1 120.683729 0.00001700 - 2 42.646591 -0.00357600 - 3 21.154405 -0.03147600 - 4 9.708242 -0.08758300 - 5 4.614990 -0.19574000 - 6 2.243726 -0.27013200 - 7 1.086491 -0.17003400 - 8 0.524700 0.14341200 - 9 0.255752 0.40868700 - 10 0.121497 0.37025700 - 11 0.054339 0.12311200 -D 1 - 1 0.054339 1.00000000 -F 1 - 1 1.112997 1.00000000 - -MANGANESE - S 13 - 1 76.008334 0.00099300 - 2 39.277974 -0.01479600 - 3 20.405805 0.12071000 - 4 12.218680 -0.12400100 - 5 7.182690 -0.32020000 - 6 3.850780 -0.10562200 - 7 2.142489 0.47272100 - 8 1.049631 0.62038700 - 9 0.508682 0.20455300 - 10 0.192243 0.00592400 - 11 0.108899 -0.00009700 - 12 0.053425 -0.00018500 - 13 0.025236 0.00006100 -S 13 - 1 76.008334 -0.00019900 - 2 39.277974 0.00335200 - 3 20.405805 -0.02941300 - 4 12.218680 0.03209100 - 5 7.182690 0.08315200 - 6 3.850780 0.02128300 - 7 2.142489 -0.12998900 - 8 1.049631 -0.23900600 - 9 0.508682 -0.18031500 - 10 0.192243 0.11014800 - 11 0.108899 0.40442600 - 12 0.053425 0.51730700 - 13 0.025236 0.14813900 -S 13 - 1 76.008334 -0.00009100 - 2 39.277974 0.00537400 - 3 20.405805 -0.05849400 - 4 12.218680 0.05634500 - 5 7.182690 0.22787400 - 6 3.850780 -0.00842000 - 7 2.142489 -0.32077700 - 8 1.049631 -0.81313700 - 9 0.508682 0.32647500 - 10 0.192243 1.44754000 - 11 0.108899 0.02132100 - 12 0.053425 -0.67832300 - 13 0.025236 -0.45282800 -S 1 - 1 0.025236 1.00000000 -P 13 - 1 113.479709 0.00010300 - 2 58.160819 -0.00089400 - 3 30.043076 0.00884400 - 4 16.753323 -0.01968500 - 5 10.705604 -0.06919000 - 6 5.557903 0.01150800 - 7 3.080151 0.28231300 - 8 1.582963 0.43867800 - 9 0.810922 0.30984300 - 10 0.413396 0.08394500 - 11 0.195480 0.00751700 - 12 0.072688 0.00110000 - 13 0.035877 0.00029000 -P 13 - 1 113.479709 0.00001900 - 2 58.160819 -0.00002400 - 3 30.043076 -0.00122400 - 4 16.753323 0.00232000 - 5 10.705604 0.02075800 - 6 5.557903 -0.01157200 - 7 3.080151 -0.06291900 - 8 1.582963 -0.13675400 - 9 0.810922 -0.06729500 - 10 0.413396 -0.03102400 - 11 0.195480 0.37898100 - 12 0.072688 0.50782400 - 13 0.035877 0.26094100 -P 13 - 1 113.479709 -0.00019700 - 2 58.160819 0.00135400 - 3 30.043076 -0.01010200 - 4 16.753323 0.03060300 - 5 10.705604 0.04620000 - 6 5.557903 -0.01758800 - 7 3.080151 -0.39592000 - 8 1.582963 -0.41909300 - 9 0.810922 0.07501700 - 10 0.413396 1.09298600 - 11 0.195480 0.00868000 - 12 0.072688 -0.75636900 - 13 0.035877 -0.04514900 -P 1 - 1 0.035877 1.00000000 -D 11 - 1 132.688182 0.00003000 - 2 45.266024 0.00529400 - 3 23.267336 0.02914300 - 4 10.605694 0.07677500 - 5 5.074684 0.16855100 - 6 2.469857 0.25683200 - 7 1.205883 0.28989100 - 8 0.590569 0.25715400 - 9 0.292055 0.18172600 - 10 0.149190 0.08998600 - 11 0.076511 0.03459500 -D 11 - 1 132.688182 -0.00002100 - 2 45.266024 -0.00544900 - 3 23.267336 -0.02903200 - 4 10.605694 -0.07982500 - 5 5.074684 -0.17441500 - 6 2.469857 -0.25340400 - 7 1.205883 -0.17430500 - 8 0.590569 0.04508100 - 9 0.292055 0.34576000 - 10 0.149190 0.26372500 - 11 0.076511 0.37171500 -D 1 - 1 0.076511 1.00000000 -F 1 - 1 1.357898 1.00000000 - -IRON - S 13 - 1 84.322332 0.00078500 - 2 44.203528 -0.01278100 - 3 23.288963 0.10463500 - 4 13.385163 -0.11938500 - 5 7.518052 -0.33980400 - 6 4.101835 -0.04999400 - 7 2.253571 0.47695500 - 8 1.134924 0.59322200 - 9 0.561550 0.20015100 - 10 0.201961 0.00859100 - 11 0.108698 -0.00218800 - 12 0.053619 0.00067700 - 13 0.025823 -0.00014400 -S 13 - 1 84.322332 -0.00016200 - 2 44.203528 0.00292100 - 3 23.288963 -0.02546600 - 4 13.385163 0.03118200 - 5 7.518052 0.08684900 - 6 4.101835 0.00684600 - 7 2.253571 -0.13185600 - 8 1.134924 -0.22774600 - 9 0.561550 -0.17307900 - 10 0.201961 0.13614200 - 11 0.108698 0.43401300 - 12 0.053619 0.47755500 - 13 0.025823 0.12880400 -S 13 - 1 84.322332 0.00000200 - 2 44.203528 0.00410300 - 3 23.288963 -0.04684000 - 4 13.385163 0.05283300 - 5 7.518052 0.21809400 - 6 4.101835 -0.04499900 - 7 2.253571 -0.28738600 - 8 1.134924 -0.71322000 - 9 0.561550 0.24917400 - 10 0.201961 1.29987200 - 11 0.108698 0.19211900 - 12 0.053619 -0.65861600 - 13 0.025823 -0.52104700 -S 1 - 1 0.025823 1.00000000 -P 13 - 1 125.092775 0.00005600 - 2 65.211589 -0.00057200 - 3 34.437599 0.00738800 - 4 18.930704 -0.02848100 - 5 10.873415 -0.06300500 - 6 6.012172 0.02485500 - 7 3.372205 0.27747400 - 8 1.768641 0.42538600 - 9 0.914516 0.31414500 - 10 0.460895 0.09042200 - 11 0.204490 0.00697700 - 12 0.074741 0.00115400 - 13 0.035671 0.00030300 -P 13 - 1 125.092775 0.00002500 - 2 65.211589 -0.00007000 - 3 34.437599 -0.00104200 - 4 18.930704 0.00512700 - 5 10.873415 0.01840400 - 6 6.012172 -0.01469200 - 7 3.372205 -0.06130700 - 8 1.768641 -0.12863800 - 9 0.914516 -0.07063700 - 10 0.460895 -0.01631400 - 11 0.204490 0.38070200 - 12 0.074741 0.52307100 - 13 0.035671 0.23576500 -P 13 - 1 125.092775 -0.00019700 - 2 65.211589 0.00125100 - 3 34.437599 -0.00915400 - 4 18.930704 0.03820100 - 5 10.873415 0.04309700 - 6 6.012172 -0.02947500 - 7 3.372205 -0.42699600 - 8 1.768641 -0.39484000 - 9 0.914516 0.07723000 - 10 0.460895 1.11988100 - 11 0.204490 -0.06649400 - 12 0.074741 -0.72158300 - 13 0.035671 -0.00569500 -P 1 - 1 0.035671 1.00000000 -D 11 - 1 152.736742 0.00002900 - 2 50.772485 0.00523800 - 3 26.253589 0.02932500 - 4 12.137022 0.07490100 - 5 5.853719 0.16341100 - 6 2.856224 0.25105700 - 7 1.386132 0.28760300 - 8 0.670802 0.25186200 - 9 0.330280 0.18673600 - 10 0.170907 0.09357000 - 11 0.086794 0.07381100 -D 11 - 1 152.736742 -0.00002600 - 2 50.772485 -0.00632900 - 3 26.253589 -0.03439800 - 4 12.137022 -0.09176500 - 5 5.853719 -0.20159200 - 6 2.856224 -0.28393000 - 7 1.386132 -0.16198100 - 8 0.670802 0.12882200 - 9 0.330280 0.36016000 - 10 0.170907 0.27759200 - 11 0.086794 0.26140300 -D 1 - 1 0.086794 1.00000000 -F 1 - 1 1.696126 1.00000000 - -COBALT - S 13 - 1 90.663831 0.00077400 - 2 46.961414 -0.01131600 - 3 24.110274 0.10120900 - 4 14.430881 -0.08164200 - 5 8.757423 -0.35481200 - 6 4.484459 -0.09036200 - 7 2.519739 0.49817400 - 8 1.236850 0.60412300 - 9 0.601882 0.19077500 - 10 0.223338 0.00657800 - 11 0.123422 -0.00090500 - 12 0.059941 0.00017100 - 13 0.027978 -0.00002500 -S 13 - 1 90.663831 -0.00015400 - 2 46.961414 0.00252500 - 3 24.110274 -0.02444300 - 4 14.430881 0.02220000 - 5 8.757423 0.08841600 - 6 4.484459 0.01682000 - 7 2.519739 -0.13458200 - 8 1.236850 -0.23129500 - 9 0.601882 -0.16398600 - 10 0.223338 0.12133700 - 11 0.123422 0.40241400 - 12 0.059941 0.50611300 - 13 0.027978 0.14543600 -S 13 - 1 90.663831 -0.00004700 - 2 46.961414 0.00365400 - 3 24.110274 -0.04613200 - 4 14.430881 0.03648300 - 5 8.757423 0.21726500 - 6 4.484459 -0.01188300 - 7 2.519739 -0.32468800 - 8 1.236850 -0.68058100 - 9 0.601882 0.25693600 - 10 0.223338 1.22400500 - 11 0.123422 0.23683700 - 12 0.059941 -0.60406400 - 13 0.027978 -0.57494700 -S 1 - 1 0.027978 1.00000000 -P 13 - 1 139.038145 0.00007500 - 2 71.928971 -0.00062700 - 3 37.806311 0.00571900 - 4 21.054252 -0.00931000 - 5 12.973193 -0.08385700 - 6 6.791461 0.01239400 - 7 3.794018 0.28198700 - 8 1.960649 0.43417900 - 9 1.006283 0.31340900 - 10 0.509539 0.08977800 - 11 0.233091 0.00740500 - 12 0.083890 0.00098000 - 13 0.039802 0.00027400 -P 13 - 1 139.038145 0.00002500 - 2 71.928971 -0.00008400 - 3 37.806311 -0.00048500 - 4 21.054252 0.00009500 - 5 12.973193 0.02240200 - 6 6.791461 -0.01153400 - 7 3.794018 -0.05686600 - 8 1.960649 -0.12607000 - 9 1.006283 -0.06088900 - 10 0.509539 -0.03508600 - 11 0.233091 0.35184700 - 12 0.083890 0.51044900 - 13 0.039802 0.28970700 -P 13 - 1 139.038145 -0.00023800 - 2 71.928971 0.00148900 - 3 37.806311 -0.00872300 - 4 21.054252 0.02453800 - 5 12.973193 0.06085600 - 6 6.791461 -0.02038000 - 7 3.794018 -0.43019500 - 8 1.960649 -0.40769200 - 9 1.006283 0.08532600 - 10 0.509539 1.07332600 - 11 0.233091 0.01506700 - 12 0.083890 -0.71963100 - 13 0.039802 -0.02460300 -P 1 - 1 0.039802 1.00000000 -D 11 - 1 160.444504 0.00003400 - 2 52.598830 0.00655300 - 3 27.491581 0.03618500 - 4 12.745988 0.08302600 - 5 6.184310 0.17696000 - 6 3.029146 0.26399000 - 7 1.474099 0.29244700 - 8 0.714391 0.24959700 - 9 0.348520 0.17163700 - 10 0.174166 0.08064900 - 11 0.087891 0.04121200 -D 11 - 1 160.444504 -0.00003100 - 2 52.598830 -0.00786900 - 3 27.491581 -0.04199200 - 4 12.745988 -0.10138800 - 5 6.184310 -0.21699600 - 6 3.029146 -0.28396200 - 7 1.474099 -0.12717900 - 8 0.714391 0.17712500 - 9 0.348520 0.37559600 - 10 0.174166 0.28463100 - 11 0.087891 0.20027700 -D 1 - 1 0.087891 1.00000000 -F 1 - 1 2.012568 1.00000000 - -NI - S 13 - 1 97.161835 0.00070900 - 2 51.187866 -0.01239900 - 3 26.996725 0.10722000 - 4 15.523536 -0.12455600 - 5 8.916168 -0.35102300 - 6 4.795806 -0.02575800 - 7 2.619926 0.49894800 - 8 1.330111 0.56898600 - 9 0.668901 0.19112100 - 10 0.230439 0.01027800 - 11 0.121518 -0.00362700 - 12 0.057951 0.00129500 - 13 0.027201 -0.00030700 -S 13 - 1 97.161835 -0.00014000 - 2 51.187866 0.00275600 - 3 26.996725 -0.02548200 - 4 15.523536 0.03218200 - 5 8.916168 0.08622600 - 6 4.795806 0.00110400 - 7 2.619926 -0.13579000 - 8 1.330111 -0.21572400 - 9 0.668901 -0.15836700 - 10 0.230439 0.14349900 - 11 0.121518 0.44367200 - 12 0.057951 0.47255800 - 13 0.027201 0.11017300 -S 13 - 1 97.161835 0.00012100 - 2 51.187866 0.00332200 - 3 26.996725 -0.04578500 - 4 15.523536 0.05341500 - 5 8.916168 0.22227000 - 6 4.795806 -0.07306500 - 7 2.619926 -0.29399800 - 8 1.330111 -0.66893800 - 9 0.668901 0.29750400 - 10 0.230439 1.23374800 - 11 0.121518 0.12931700 - 12 0.057951 -0.60340700 - 13 0.027201 -0.53306200 -S 1 - 1 0.027201 1.00000000 -P 13 - 1 148.087630 0.00005500 - 2 77.452187 -0.00054800 - 3 40.915636 0.00697900 - 4 22.575667 -0.02365800 - 5 13.218268 -0.07568200 - 6 7.232093 0.02725300 - 7 4.054870 0.28477800 - 8 2.122089 0.42763200 - 9 1.092769 0.30993700 - 10 0.548240 0.08853500 - 11 0.238886 0.00642700 - 12 0.084667 0.00070800 - 13 0.038921 0.00018600 -P 13 - 1 148.087630 0.00002700 - 2 77.452187 -0.00008800 - 3 40.915636 -0.00077300 - 4 22.575667 0.00334500 - 5 13.218268 0.01940500 - 6 7.232093 -0.01428800 - 7 4.054870 -0.05452700 - 8 2.122089 -0.11645400 - 9 1.092769 -0.06023600 - 10 0.548240 -0.02392800 - 11 0.238886 0.34786900 - 12 0.084667 0.52262600 - 13 0.038921 0.27647100 -P 13 - 1 148.087630 -0.00023700 - 2 77.452187 0.00145600 - 3 40.915636 -0.00974500 - 4 22.575667 0.03779900 - 5 13.218268 0.05252100 - 6 7.232093 -0.03500600 - 7 4.054870 -0.45557700 - 8 2.122089 -0.36830600 - 9 1.092769 0.10039200 - 10 0.548240 1.07665200 - 11 0.238886 -0.04532600 - 12 0.084667 -0.70318600 - 13 0.038921 0.00458000 -P 1 - 1 0.038921 1.00000000 -D 11 - 1 177.900125 0.00004900 - 2 57.372112 0.00751900 - 3 29.881432 0.03645500 - 4 13.971757 0.08690100 - 5 6.841152 0.18056800 - 6 3.379983 0.26818700 - 7 1.651827 0.29675600 - 8 0.799251 0.25155800 - 9 0.388057 0.16231900 - 10 0.191191 0.07211900 - 11 0.093358 0.02368900 -D 11 - 1 177.900125 -0.00005300 - 2 57.372112 -0.00885000 - 3 29.881432 -0.04191600 - 4 13.971757 -0.10469100 - 5 6.841152 -0.21946400 - 6 3.379983 -0.28371200 - 7 1.651827 -0.12212700 - 8 0.799251 0.19012300 - 9 0.388057 0.37659800 - 10 0.191191 0.29512200 - 11 0.093358 0.17825200 -D 1 - 1 0.093358 1.00000000 -F 1 - 1 2.317543 1.00000000 - -COPPER - S 13 - 1 104.471138 0.00074100 - 2 55.955221 -0.01395300 - 3 30.553953 0.10526600 - 4 16.942394 -0.12939900 - 5 9.452707 -0.36273800 - 6 5.174537 0.01326600 - 7 2.779171 0.48928800 - 8 1.441817 0.56208800 - 9 0.710674 0.19004700 - 10 0.241540 0.00563500 - 11 0.129621 -0.00058200 - 12 0.059229 -0.00002400 - 13 0.027110 0.00003000 -S 13 - 1 104.471138 -0.00013300 - 2 55.955221 0.00299900 - 3 30.553953 -0.02431000 - 4 16.942394 0.03198600 - 5 9.452707 0.08914900 - 6 5.174537 -0.01075000 - 7 2.779171 -0.12822400 - 8 1.441817 -0.21572000 - 9 0.710674 -0.14955900 - 10 0.241540 0.14291700 - 11 0.129621 0.44630700 - 12 0.059229 0.48464300 - 13 0.027110 0.09306900 -S 13 - 1 104.471138 0.00021000 - 2 55.955221 0.00380600 - 3 30.553953 -0.04731200 - 4 16.942394 0.05995700 - 5 9.452707 0.25064200 - 6 5.174537 -0.11910200 - 7 2.779171 -0.31406900 - 8 1.441817 -0.68930000 - 9 0.710674 0.40305000 - 10 0.241540 1.27044000 - 11 0.129621 -0.02902900 - 12 0.059229 -0.62215700 - 13 0.027110 -0.44207400 -S 1 - 1 0.027110 1.00000000 -P 13 - 1 159.152840 0.00002600 - 2 83.322776 -0.00040200 - 3 44.840311 0.00740500 - 4 25.020360 -0.03071400 - 5 13.610016 -0.07434800 - 6 7.761318 0.04343000 - 7 4.303947 0.28970300 - 8 2.290080 0.41346700 - 9 1.202173 0.30376200 - 10 0.607647 0.09349400 - 11 0.257656 0.00666300 - 12 0.090897 0.00056700 - 13 0.041925 0.00017600 -P 13 - 1 159.152840 0.00003400 - 2 83.322776 -0.00012900 - 3 44.840311 -0.00080200 - 4 25.020360 0.00474700 - 5 13.610016 0.01859500 - 6 7.761318 -0.01769200 - 7 4.303947 -0.05261400 - 8 2.290080 -0.11034900 - 9 1.202173 -0.05470100 - 10 0.607647 -0.02665500 - 11 0.257656 0.33588000 - 12 0.090897 0.50947800 - 13 0.041925 0.30255900 -P 13 - 1 159.152840 -0.00022800 - 2 83.322776 0.00141400 - 3 44.840311 -0.01029000 - 4 25.020360 0.04389600 - 5 13.610016 0.05286500 - 6 7.761318 -0.05656500 - 7 4.303947 -0.48071500 - 8 2.290080 -0.31598400 - 9 1.202173 0.07567900 - 10 0.607647 1.06074700 - 11 0.257656 -0.00806100 - 12 0.090897 -0.70160100 - 13 0.041925 0.00694100 -P 1 - 1 0.041925 1.00000000 -D 11 - 1 226.693527 0.00001500 - 2 73.010278 0.00410800 - 3 38.536518 0.02822300 - 4 18.726700 0.06932300 - 5 9.155485 0.15604500 - 6 4.540884 0.25123800 - 7 2.241175 0.29746300 - 8 1.085869 0.27498100 - 9 0.510612 0.19309800 - 10 0.229608 0.08639300 - 11 0.095781 0.01464500 -D 11 - 1 226.693527 -0.00001300 - 2 73.010278 -0.00525200 - 3 38.536518 -0.03498200 - 4 18.726700 -0.08895000 - 5 9.155485 -0.20719400 - 6 4.540884 -0.30259700 - 7 2.241175 -0.17932700 - 8 1.085869 0.16906900 - 9 0.510612 0.40590400 - 10 0.229608 0.34187100 - 11 0.095781 0.11708000 -D 1 - 1 0.095781 1.00000000 -F 1 - 1 2.739578 1.00000000 - -ZINC - S 13 - 1 114.485022 0.00042900 - 2 61.996430 -0.01933900 - 3 40.117132 0.08625400 - 4 20.119649 -0.08895500 - 5 10.171676 -0.40267100 - 6 5.601641 0.06730400 - 7 2.864122 0.47921500 - 8 1.592779 0.50396000 - 9 0.826525 0.22208800 - 10 0.263975 0.01220300 - 11 0.145302 -0.00430000 - 12 0.068195 0.00124300 - 13 0.031465 -0.00026700 -S 13 - 1 114.485022 -0.00010900 - 2 61.996430 0.00445900 - 3 40.117132 -0.02006700 - 4 20.119649 0.02233800 - 5 10.171676 0.09669800 - 6 5.601641 -0.02196600 - 7 2.864122 -0.12876800 - 8 1.592779 -0.18170600 - 9 0.826525 -0.16231100 - 10 0.263975 0.11626400 - 11 0.145302 0.41131400 - 12 0.068195 0.49425700 - 13 0.031465 0.13810300 -S 13 - 1 114.485022 0.00066600 - 2 61.996430 0.00626900 - 3 40.117132 -0.04660300 - 4 20.119649 0.05039900 - 5 10.171676 0.36349300 - 6 5.601641 -0.24284000 - 7 2.864122 -0.38228100 - 8 1.592779 -0.86156700 - 9 0.826525 0.70607700 - 10 0.263975 1.49500100 - 11 0.145302 -0.45399400 - 12 0.068195 -0.59782200 - 13 0.031465 -0.25611700 -S 1 - 1 0.031465 1.00000000 -P 13 - 1 158.770986 -0.00015300 - 2 75.802876 0.00189300 - 3 44.547824 0.01046100 - 4 31.445269 -0.04514100 - 5 13.080125 -0.08420100 - 6 7.788616 0.10497300 - 7 4.195040 0.30771400 - 8 2.362276 0.36856300 - 9 1.302584 0.28633600 - 10 0.660704 0.09515600 - 11 0.249042 0.00585100 - 12 0.091781 -0.00003400 - 13 0.048931 0.00025200 -P 13 - 1 158.770986 0.00005300 - 2 75.802876 -0.00057100 - 3 44.547824 -0.00107300 - 4 31.445269 0.00746300 - 5 13.080125 0.01867600 - 6 7.788616 -0.02809000 - 7 4.195040 -0.05443800 - 8 2.362276 -0.09374400 - 9 1.302584 -0.05416900 - 10 0.660704 -0.00797200 - 11 0.249042 0.35619800 - 12 0.091781 0.41239900 - 13 0.048931 0.36132100 -P 13 - 1 158.770986 -0.00017000 - 2 75.802876 0.00060400 - 3 44.547824 -0.01998700 - 4 31.445269 0.06115300 - 5 13.080125 0.06731700 - 6 7.788616 -0.13921100 - 7 4.195040 -0.52704100 - 8 2.362276 -0.17619400 - 9 1.302584 0.03712900 - 10 0.660704 1.07932200 - 11 0.249042 -0.05014900 - 12 0.091781 -0.68897100 - 13 0.048931 0.03733100 -P 1 - 1 0.048931 1.00000000 -D 11 - 1 270.014061 -0.00001600 - 2 100.161579 0.00069600 - 3 43.530609 0.01353600 - 4 21.262419 0.06935000 - 5 10.577821 0.14955900 - 6 5.343620 0.23958800 - 7 2.704857 0.28674400 - 8 1.353018 0.27145900 - 9 0.660873 0.20242600 - 10 0.309149 0.10330700 - 11 0.133879 0.02321100 -D 11 - 1 270.014061 0.00001300 - 2 100.161579 -0.00088900 - 3 43.530609 -0.01864000 - 4 21.262419 -0.09464600 - 5 10.577821 -0.21565900 - 6 5.343620 -0.32246900 - 7 2.704857 -0.19752900 - 8 1.353018 0.16444800 - 9 0.660873 0.41001700 - 10 0.309149 0.32783800 - 11 0.133879 0.10574900 -D 1 - 1 0.133879 1.00000000 -F 1 - 1 3.171936 1.00000000 - - diff --git a/data/basis/cc-pvqz_ecp_ncsu b/data/basis/cc-pvqz_ecp_ncsu deleted file mode 100644 index 12bbb2e3..00000000 --- a/data/basis/cc-pvqz_ecp_ncsu +++ /dev/null @@ -1,2889 +0,0 @@ -BORON - S 9 -1 11.76050 -0.0036757 -2 5.150520 0.0250517 -3 2.578276 -0.1249228 -4 1.290648 -0.0662874 -5 0.646080 0.1007341 -6 0.323418 0.3375492 -7 0.161898 0.4308431 -8 0.081044 0.2486558 -9 0.040569 0.0317295 -S 1 -1 0.422217 1.000000 -S 1 -1 0.305133 1.000000 -S 1 -1 0.082968 1.000000 -P 9 -1 7.470701 0.0047397 -2 3.735743 0.0376009 -3 1.868068 0.0510600 -4 0.934132 0.1456587 -5 0.467115 0.2237933 -6 0.233582 0.3199467 -7 0.116803 0.2850185 -8 0.058408 0.1448808 -9 0.029207 0.0176962 -P 1 -1 0.447031 1.000000 -P 1 -1 0.196614 1.000000 -P 1 -1 0.066445 1.000000 -D 1 -1 1.142614 1.000000 -D 1 -1 0.410733 1.000000 -D 1 -1 0.149100 1.000000 -F 1 -1 0.870011 1.000000 -F 1 -1 0.315902 1.000000 -G 1 -1 0.710746 1.000000 - -CARBON - S 9 -1 13.073594 0.0051583 -2 6.541187 0.0603424 -3 4.573411 -0.1978471 -4 1.637494 -0.0810340 -5 0.819297 0.2321726 -6 0.409924 0.2914643 -7 0.231300 0.4336405 -8 0.102619 0.2131940 -9 0.051344 0.0049848 -S 1 -1 0.846879 1.000000 -S 1 -1 0.269659 1.000000 -S 1 -1 0.109576 1.000000 -P 9 -1 9.934169 0.0209076 -2 3.886955 0.0572698 -3 1.871016 0.1122682 -4 0.935757 0.2130082 -5 0.468003 0.2835815 -6 0.239473 0.3011207 -7 0.117063 0.2016934 -8 0.058547 0.0453575 -9 0.029281 0.0029775 -P 1 -1 0.804681 1.000000 -P 1 -1 0.313254 1.000000 -P 1 -1 0.105389 1.000000 -D 1 -1 2.013760 1.000000 -D 1 -1 0.684884 1.000000 -D 1 -1 0.240171 1.000000 -F 1 -1 0.457302 1.000000 -F 1 -1 1.324930 1.000000 -G 1 -1 1.034180 1.000000 - -NITROGEN - S 9 -1 42.693822 -0.0009357 -2 19.963207 0.0063295 -3 9.3345971 0.0105038 -4 4.9278187 -0.1653735 -5 2.040920 -0.0005352 -6 0.967080 0.2452063 -7 0.476131 0.4582128 -8 0.211443 0.3641224 -9 0.098869 0.0620406 -S 1 -1 1.625001 1.0000000 -S 1 -1 0.310826 1.0000000 -S 1 -1 0.135764 1.0000000 -P 9 -1 18.925871 0.0073505 -2 9.225603 0.0292844 -3 4.581431 0.0652168 -4 2.300164 0.1405153 -5 1.154825 0.2328188 -6 0.582039 0.2989556 -7 0.290535 0.2802507 -8 0.145867 0.1527995 -9 0.073234 0.0355475 -P 1 -1 1.020750 1.0000000 -P 1 -1 0.413103 1.0000000 -P 1 -1 0.140736 1.0000000 -D 1 -1 3.028459 1.0000000 -D 1 -1 1.009895 1.0000000 -D 1 -1 0.346233 1.0000000 -F 1 -1 2.024747 1.0000000 -F 1 -1 0.691129 1.0000000 -G 1 -1 1.357512 1.0000000 - -OXYGEN - S 9 -1 54.775216 -0.0012444 -2 25.616801 0.0107330 -3 11.980245 0.0018889 -4 6.992317 -0.1742537 -5 2.620277 0.0017622 -6 1.225429 0.3161846 -7 0.577797 0.4512023 -8 0.268022 0.3121534 -9 0.125346 0.0511167 -S 1 -1 1.351771 1.0000000 -S 1 -1 0.843157 1.0000000 -S 1 -1 0.224380 1.0000000 -P 9 -1 22.217266 0.0104866 -2 10.747550 0.0366435 -3 5.315785 0.0803674 -4 2.660761 0.1627010 -5 1.331816 0.2377791 -6 0.678626 0.2811422 -7 0.333673 0.2643189 -8 0.167017 0.1466014 -9 0.083598 0.0458145 -P 1 -1 1.106737 1.0000000 -P 1 -1 0.452364 1.0000000 -P 1 -1 0.148562 1.0000000 -D 1 -1 4.008867 1.0000000 -D 1 -1 1.344331 1.0000000 -D 1 -1 0.455711 1.0000000 -F 1 -1 2.763115 1.0000000 -F 1 -1 0.876289 1.0000000 -G 1 -1 1.759081 1.0000000 - -SODIUM - S 12 - 1 50.364926 -0.00144900 - 2 24.480199 -0.00059000 - 3 11.898760 -0.11881800 - 4 5.783470 -0.01085600 - 5 2.811093 0.25078300 - 6 1.366350 0.44727600 - 7 0.664123 0.34725400 - 8 0.322801 0.08065200 - 9 0.156900 0.00120800 - 10 0.076262 0.00040900 - 11 0.037068 0.00011200 - 12 0.018017 0.00007200 -S 12 - 1 50.364926 0.00021200 - 2 24.480199 0.00037900 - 3 11.898760 0.01958200 - 4 5.783470 0.00062300 - 5 2.811093 -0.04578100 - 6 1.366350 -0.08872800 - 7 0.664123 -0.11295200 - 8 0.322801 -0.10839600 - 9 0.156900 0.00990100 - 10 0.076262 0.35541800 - 11 0.037068 0.56145100 - 12 0.018017 0.19899800 -S 1 - 1 1.171050 1.00000000 -S 1 - 1 0.304809 1.00000000 -S 1 - 1 0.079338 1.00000000 -P 12 - 1 77.769943 0.00005400 - 2 42.060816 -0.00001600 - 3 22.748020 0.01257100 - 4 12.302957 0.07960100 - 5 6.653887 0.14044200 - 6 3.598664 0.21214100 - 7 1.946289 0.26179900 - 8 1.052624 0.25582000 - 9 0.569297 0.18035900 - 10 0.307897 0.07216500 - 11 0.166522 0.01066300 - 12 0.090061 0.00153800 -P 12 - 1 77.769943 -0.00065600 - 2 42.060816 0.00313700 - 3 22.748020 -0.01100400 - 4 12.302957 0.00937600 - 5 6.653887 -0.06647900 - 6 3.598664 0.05895900 - 7 1.946289 -0.22105000 - 8 1.052624 0.30349100 - 9 0.569297 -0.67170500 - 10 0.307897 1.06436000 - 11 0.166522 -1.53048900 - 12 0.090061 1.84316700 -P 1 - 1 0.375990 1.00000000 -P 1 - 1 0.119184 1.00000000 -P 1 - 1 0.037780 1.00000000 -D 1 - 1 0.671851 1.00000000 -D 1 - 1 0.217686 1.00000000 -D 1 - 1 0.070532 1.00000000 -F 1 - 1 0.210906 1.00000000 -F 1 - 1 0.102314 1.00000000 -G 1 - 1 0.169674 1.00000000 - -MAGNESIUM - S 12 - 1 63.931893 -0.00079400 - 2 31.602596 0.00747900 - 3 15.621687 -0.13624600 - 4 7.722059 -0.03203300 - 5 3.817142 0.21682300 - 6 1.886877 0.45136400 - 7 0.932714 0.37759900 - 8 0.461056 0.09431900 - 9 0.227908 0.00170300 - 10 0.112659 0.00048500 - 11 0.055689 -0.00015100 - 12 0.027528 0.00003100 -S 12 - 1 63.931893 0.00010600 - 2 31.602596 -0.00108600 - 3 15.621687 0.02867600 - 4 7.722059 0.00578100 - 5 3.817142 -0.05065300 - 6 1.886877 -0.11687700 - 7 0.932714 -0.16512100 - 8 0.461056 -0.11801600 - 9 0.227908 0.10836500 - 10 0.112659 0.41475500 - 11 0.055689 0.47763300 - 12 0.027528 0.17347600 -S 1 - 1 0.215508 1.00000000 -S 1 - 1 0.088055 1.00000000 -S 1 - 1 0.035979 1.00000000 -P 12 - 1 28.231094 0.01131700 - 2 14.891993 0.08703900 - 3 7.855575 0.16268300 - 4 4.143841 0.24138600 - 5 2.185889 0.29006400 - 6 1.153064 0.25299100 - 7 0.608245 0.13309700 - 8 0.320851 0.02894100 - 9 0.169250 0.00320900 - 10 0.089280 0.00026800 - 11 0.047095 0.00025700 - 12 0.024843 -0.00003700 -P 12 - 1 28.231094 -0.00182200 - 2 14.891993 -0.01360300 - 3 7.855575 -0.02570000 - 4 4.143841 -0.03907600 - 5 2.185889 -0.04877900 - 6 1.153064 -0.04599000 - 7 0.608245 -0.03165800 - 8 0.320851 0.04917800 - 9 0.169250 0.18690900 - 10 0.089280 0.37939600 - 11 0.047095 0.33543100 - 12 0.024843 0.18405800 -P 1 - 1 0.610333 1.00000000 -P 1 - 1 0.243027 1.00000000 -P 1 - 1 0.096770 1.00000000 -D 1 - 1 0.373257 1.00000000 -D 1 - 1 0.193055 1.00000000 -D 1 - 1 0.099851 1.00000000 -F 1 - 1 0.365954 1.00000000 -F 1 - 1 0.178764 1.00000000 -G 1 - 1 0.303088 1.00000000 - -ALUMINUM - S 12 - 1 78.990577 -0.00048100 - 2 39.484884 0.01309500 - 3 19.737241 -0.14615300 - 4 9.866021 -0.04520600 - 5 4.931711 0.19070800 - 6 2.465206 0.45320700 - 7 1.232278 0.39882400 - 8 0.615977 0.10364800 - 9 0.307907 0.00224700 - 10 0.153913 0.00079000 - 11 0.076936 -0.00014000 - 12 0.038458 0.00006400 -S 12 - 1 78.990577 0.00002400 - 2 39.484884 -0.00262700 - 3 19.737241 0.03694800 - 4 9.866021 0.01070500 - 5 4.931711 -0.05334200 - 6 2.465206 -0.14418800 - 7 1.232278 -0.21396900 - 8 0.615977 -0.12558500 - 9 0.307907 0.19397000 - 10 0.153913 0.48467400 - 11 0.076936 0.41941400 - 12 0.038458 0.11043000 -S 1 - 1 0.355123 1.00000000 -S 1 - 1 0.145459 1.00000000 -S 1 - 1 0.059580 1.00000000 -P 12 - 1 33.993368 0.01190800 - 2 17.617051 0.09748500 - 3 9.130030 0.18047400 - 4 4.731635 0.26552200 - 5 2.452168 0.30797700 - 6 1.270835 0.23506100 - 7 0.658610 0.08963100 - 8 0.341324 0.01108300 - 9 0.176891 0.00157700 - 10 0.091674 0.00000700 - 11 0.047510 0.00021500 - 12 0.024622 -0.00002200 -P 12 - 1 33.993368 -0.00218300 - 2 17.617051 -0.01736200 - 3 9.130030 -0.03229200 - 4 4.731635 -0.04981000 - 5 2.452168 -0.05992600 - 6 1.270835 -0.05255300 - 7 0.658610 0.00198900 - 8 0.341324 0.13005200 - 9 0.176891 0.28008900 - 10 0.091674 0.37433900 - 11 0.047510 0.27285700 - 12 0.024622 0.08514500 -P 1 - 1 0.308018 1.00000000 -P 1 - 1 0.189753 1.00000000 -P 1 - 1 0.116896 1.00000000 -D 1 - 1 0.474317 1.00000000 -D 1 - 1 0.194600 1.00000000 -D 1 - 1 0.079839 1.00000000 -F 1 - 1 0.399394 1.00000000 -F 1 - 1 0.157978 1.00000000 -G 1 - 1 0.352315 1.00000000 - -SILICON - S 12 - 1 96.651837 -0.00044000 - 2 48.652547 0.01867100 - 3 24.490692 -0.15435300 - 4 12.328111 -0.05773800 - 5 6.205717 0.16808700 - 6 3.123831 0.45342800 - 7 1.572472 0.41767500 - 8 0.791550 0.11190100 - 9 0.398450 0.00333700 - 10 0.200572 0.00099500 - 11 0.100964 -0.00003800 - 12 0.050823 0.00006900 -S 12 - 1 96.651837 -0.00000400 - 2 48.652547 -0.00442100 - 3 24.490692 0.04336200 - 4 12.328111 0.01585300 - 5 6.205717 -0.05170600 - 6 3.123831 -0.16289500 - 7 1.572472 -0.25021800 - 8 0.791550 -0.12421600 - 9 0.398450 0.24632500 - 10 0.200572 0.50589900 - 11 0.100964 0.38631400 - 12 0.050823 0.08770100 -S 1 - 1 0.521945 1.00000000 -S 1 - 1 0.210852 1.00000000 -S 1 - 1 0.085179 1.00000000 -P 12 - 1 40.315996 0.01293800 - 2 21.171265 0.09812900 - 3 11.117733 0.17932400 - 4 5.838290 0.26388600 - 5 3.065879 0.30927200 - 6 1.609995 0.23274800 - 7 0.845462 0.08590000 - 8 0.443980 0.01026000 - 9 0.233149 0.00156000 - 10 0.122434 -0.00000300 - 11 0.064294 0.00023200 - 12 0.033763 -0.00002300 -P 12 - 1 40.315996 0.00283300 - 2 21.171265 0.02086900 - 3 11.117733 0.03823600 - 4 5.838290 0.05967900 - 5 3.065879 0.07277600 - 6 1.609995 0.06112900 - 7 0.845462 -0.01677600 - 8 0.443980 -0.17225900 - 9 0.233149 -0.32119600 - 10 0.122434 -0.36282800 - 11 0.064294 -0.22078900 - 12 0.033763 -0.05515200 -P 1 - 1 1.198128 1.00000000 -P 1 - 1 0.493328 1.00000000 -P 1 - 1 0.203127 1.00000000 -D 1 - 1 0.700012 1.00000000 -D 1 - 1 0.285783 1.00000000 -D 1 - 1 0.116672 1.00000000 -F 1 - 1 0.532333 1.00000000 -F 1 - 1 0.212995 1.00000000 -G 1 - 1 0.457311 1.00000000 - -PHOSPHORUS - S 12 - 1 269.443884 0.00005500 - 2 127.601401 -0.00062400 - 3 60.428603 0.01940000 - 4 28.617367 -0.16550900 - 5 13.552418 -0.05426500 - 6 6.418062 0.25444000 - 7 3.039422 0.54966100 - 8 1.439389 0.32228500 - 9 0.681656 0.02663200 - 10 0.322814 0.00420300 - 11 0.152876 -0.00123300 - 12 0.072398 0.00049700 -S 12 - 1 269.443884 0.00001800 - 2 127.601401 -0.00002600 - 3 60.428603 -0.00493300 - 4 28.617367 0.05012000 - 5 13.552418 0.01580100 - 6 6.418062 -0.08446300 - 7 3.039422 -0.24674200 - 8 1.439389 -0.27632600 - 9 0.681656 0.10027400 - 10 0.322814 0.51720100 - 11 0.152876 0.47975800 - 12 0.072398 0.12409900 -S 1 - 1 0.686898 1.00000000 -S 1 - 1 0.276109 1.00000000 -S 1 - 1 0.110986 1.00000000 -P 12 - 1 48.154282 0.01288400 - 2 25.406431 0.09709500 - 3 13.404555 0.17821500 - 4 7.072308 0.26596400 - 5 3.731384 0.31293300 - 6 1.968696 0.23068600 - 7 1.038693 0.08048900 - 8 0.548020 0.00908500 - 9 0.289138 0.00124800 - 10 0.152550 -0.00006600 - 11 0.080486 0.00012900 - 12 0.042465 -0.00002900 -P 12 - 1 48.154282 -0.00315200 - 2 25.406431 -0.02300600 - 3 13.404555 -0.04239800 - 4 7.072308 -0.06747700 - 5 3.731384 -0.08295200 - 6 1.968696 -0.06602600 - 7 1.038693 0.03446800 - 8 0.548020 0.20901800 - 9 0.289138 0.34717900 - 10 0.152550 0.34480600 - 11 0.080486 0.18173100 - 12 0.042465 0.03664900 -P 1 - 1 1.581855 1.00000000 -P 1 - 1 0.658132 1.00000000 -P 1 - 1 0.273816 1.00000000 -D 1 - 1 0.984476 1.00000000 -D 1 - 1 0.399580 1.00000000 -D 1 - 1 0.162182 1.00000000 -F 1 - 1 0.694441 1.00000000 -F 1 - 1 0.279257 1.00000000 -G 1 - 1 0.589583 1.00000000 - -SULFUR - S 12 - 1 306.317903 0.00006400 - 2 146.602801 -0.00078500 - 3 70.163647 0.02247100 - 4 33.580104 -0.16987100 - 5 16.071334 -0.06189700 - 6 7.691691 0.24003900 - 7 3.681219 0.55164900 - 8 1.761820 0.33438600 - 9 0.843202 0.03132300 - 10 0.403554 0.00443600 - 11 0.193140 -0.00101500 - 12 0.092436 0.00050700 -S 12 - 1 306.317903 0.00002100 - 2 146.602801 -0.00000400 - 3 70.163647 -0.00611900 - 4 33.580104 0.05447100 - 5 16.071334 0.01934400 - 6 7.691691 -0.08383900 - 7 3.681219 -0.26532200 - 8 1.761820 -0.29306500 - 9 0.843202 0.11373000 - 10 0.403554 0.52928200 - 11 0.193140 0.46625400 - 12 0.092436 0.12580000 -S 1 - 1 0.893039 1.00000000 -S 1 - 1 0.358094 1.00000000 -S 1 - 1 0.143590 1.00000000 -P 12 - 1 55.148271 0.01344700 - 2 29.056588 0.10167000 - 3 15.309371 0.18519200 - 4 8.066220 0.27583600 - 5 4.249940 0.31707300 - 6 2.239213 0.21706600 - 7 1.179799 0.06576500 - 8 0.621614 0.00651700 - 9 0.327517 0.00111100 - 10 0.172562 0.00022200 - 11 0.090920 0.00018100 - 12 0.047904 0.00000800 -P 12 - 1 55.148271 0.00354200 - 2 29.056588 0.02579700 - 3 15.309371 0.04726000 - 4 8.066220 0.07559400 - 5 4.249940 0.09198000 - 6 2.239213 0.06206700 - 7 1.179799 -0.07125300 - 8 0.621614 -0.25020600 - 9 0.327517 -0.34929500 - 10 0.172562 -0.31270000 - 11 0.090920 -0.15589800 - 12 0.047904 -0.03041800 -P 1 - 1 1.862831 1.00000000 -P 1 - 1 0.770080 1.00000000 -P 1 - 1 0.318345 1.00000000 -D 1 - 1 1.259166 1.00000000 -D 1 - 1 0.507276 1.00000000 -D 1 - 1 0.204365 1.00000000 -F 1 - 1 0.849923 1.00000000 -F 1 - 1 0.329207 1.00000000 -G 1 - 1 0.683967 1.00000000 - -CHLORINE - S 12 - 1 352.930099 0.00004300 - 2 170.036562 -0.00070500 - 3 81.921130 0.02320900 - 4 39.468403 -0.16508500 - 5 19.015299 -0.07748000 - 6 9.161293 0.22554400 - 7 4.413777 0.55280100 - 8 2.126493 0.34903400 - 9 1.024513 0.03580300 - 10 0.493596 0.00503900 - 11 0.237807 -0.00097200 - 12 0.114572 0.00056000 -S 12 - 1 352.930099 0.00002300 - 2 170.036562 -0.00000300 - 3 81.921130 -0.00674800 - 4 39.468403 0.05565800 - 5 19.015299 0.02530900 - 6 9.161293 -0.08184000 - 7 4.413777 -0.27845300 - 8 2.126493 -0.30879400 - 9 1.024513 0.12058100 - 10 0.493596 0.53571000 - 11 0.237807 0.45994000 - 12 0.114572 0.12829700 -S 1 - 1 1.121346 1.00000000 -S 1 - 1 0.448865 1.00000000 -S 1 - 1 0.179677 1.00000000 -P 12 - 1 68.625610 0.01202900 - 2 36.209284 0.09154900 - 3 19.105291 0.17381300 - 4 10.080623 0.26931700 - 5 5.318891 0.32161200 - 6 2.806434 0.23090800 - 7 1.480773 0.07383400 - 8 0.781308 0.00805700 - 9 0.412246 0.00134600 - 10 0.217515 0.00047500 - 11 0.114769 0.00028000 - 12 0.060556 0.00004200 -P 12 - 1 68.625610 0.00335700 - 2 36.209284 0.02463200 - 3 19.105291 0.04722600 - 4 10.080623 0.07816200 - 5 5.318891 0.09893200 - 6 2.806434 0.06953700 - 7 1.480773 -0.07160700 - 8 0.781308 -0.25448800 - 9 0.412246 -0.34548500 - 10 0.217515 -0.30802000 - 11 0.114769 -0.15890900 - 12 0.060556 -0.03618100 -P 1 - 1 2.284775 1.00000000 -P 1 - 1 0.962788 1.00000000 -P 1 - 1 0.405712 1.00000000 -D 1 - 1 1.588144 1.00000000 -D 1 - 1 0.636659 1.00000000 -D 1 - 1 0.255225 1.00000000 -F 1 - 1 1.060801 1.00000000 -F 1 - 1 0.417571 1.00000000 -G 1 - 1 0.831872 1.00000000 - -ARGON - S 12 - 1 400.805381 0.00009200 - 2 194.251428 -0.00125400 - 3 94.144487 0.02887900 - 4 45.627384 -0.17710600 - 5 22.113437 -0.07716500 - 6 10.717338 0.21018700 - 7 5.194187 0.55436900 - 8 2.517377 0.35907000 - 9 1.220054 0.04076900 - 10 0.591302 0.00508700 - 11 0.286576 -0.00064400 - 12 0.138890 0.00053300 -S 12 - 1 400.805381 0.00001900 - 2 194.251428 0.00011400 - 3 94.144487 -0.00869300 - 4 45.627384 0.06117500 - 5 22.113437 0.02679200 - 6 10.717338 -0.07778000 - 7 5.194187 -0.29074700 - 8 2.517377 -0.32003600 - 9 1.220054 0.12393300 - 10 0.591302 0.53916300 - 11 0.286576 0.45626000 - 12 0.138890 0.13189200 -S 1 - 1 1.352818 1.00000000 -S 1 - 1 0.542896 1.00000000 -S 1 - 1 0.217868 1.00000000 -P 12 - 1 71.845693 0.01423900 - 2 38.318786 0.10317800 - 3 20.437263 0.18518400 - 4 10.900182 0.27635700 - 5 5.813595 0.31813000 - 6 3.100671 0.21149400 - 7 1.653738 0.06192600 - 8 0.882019 0.00582100 - 9 0.470423 0.00083800 - 10 0.250899 -0.00004700 - 11 0.133817 0.00007700 - 12 0.071371 -0.00001800 -P 12 - 1 71.845693 0.00414500 - 2 38.318786 0.02880000 - 3 20.437263 0.05191600 - 4 10.900182 0.08435600 - 5 5.813595 0.10330300 - 6 3.100671 0.05976300 - 7 1.653738 -0.09852400 - 8 0.882019 -0.27287100 - 9 0.470423 -0.34211200 - 10 0.250899 -0.28931700 - 11 0.133817 -0.14332900 - 12 0.071371 -0.03249500 -P 1 - 1 2.812209 1.00000000 -P 1 - 1 1.197871 1.00000000 -P 1 - 1 0.510238 1.00000000 -D 1 - 1 1.938501 1.00000000 -D 1 - 1 0.776699 1.00000000 -D 1 - 1 0.311200 1.00000000 -F 1 - 1 1.311840 1.00000000 -F 1 - 1 0.535630 1.00000000 -G 1 - 1 1.003431 1.00000000 - -SCANDIUM - S 13 - 1 66.882574 0.00055300 - 2 33.776681 -0.00511500 - 3 18.185884 0.00416100 - 4 11.748619 0.12160300 - 5 6.895190 -0.27013700 - 6 3.222124 -0.32441000 - 7 1.772120 0.29116200 - 8 0.841163 0.62893100 - 9 0.471976 0.27340600 - 10 0.313224 0.13535200 - 11 0.101013 0.00804100 - 12 0.049071 -0.00261000 - 13 0.022782 0.00059700 -S 13 - 1 66.882574 -0.00013900 - 2 33.776681 0.00134500 - 3 18.185884 -0.00144500 - 4 11.748619 -0.03208200 - 5 6.895190 0.07550600 - 6 3.222124 0.08992700 - 7 1.772120 -0.09008600 - 8 0.841163 -0.21644400 - 9 0.471976 -0.17925000 - 10 0.313224 -0.12816000 - 11 0.101013 0.33793500 - 12 0.049071 0.60918100 - 13 0.022782 0.24418100 -S 13 - 1 66.882574 -0.00067900 - 2 33.776681 0.00545600 - 3 18.185884 -0.01668400 - 4 11.748619 -0.03173900 - 5 6.895190 0.10956000 - 6 3.222124 0.23329300 - 7 1.772120 -0.31020700 - 8 0.841163 -0.24508300 - 9 0.471976 -1.17524800 - 10 0.313224 1.03235900 - 11 0.101013 1.59903900 - 12 0.049071 -0.62399000 - 13 0.022782 -0.84749800 -S 13 - 1 66.882574 -0.00145200 - 2 33.776681 0.01136200 - 3 18.185884 -0.03987600 - 4 11.748619 -0.02581000 - 5 6.895190 0.15794300 - 6 3.222124 0.45286800 - 7 1.772120 -0.76658700 - 8 0.841163 -0.60780000 - 9 0.471976 -1.71600200 - 10 0.313224 3.61400300 - 11 0.101013 -0.56948000 - 12 0.049071 -2.25596700 - 13 0.022782 1.91016000 -S 13 - 1 66.882574 0.00043000 - 2 33.776681 -0.00113700 - 3 18.185884 0.02081200 - 4 11.748619 -0.18957800 - 5 6.895190 0.43867600 - 6 3.222124 0.26761800 - 7 1.772120 -0.73280800 - 8 0.841163 -3.04424000 - 9 0.471976 5.47606700 - 10 0.313224 -1.01760200 - 11 0.101013 -5.01443900 - 12 0.049071 6.15979200 - 13 0.022782 -2.69036800 -S 1 - 1 0.022782 1.00000000 -P 13 - 1 77.690832 0.00008800 - 2 39.751864 -0.00075400 - 3 20.615633 0.00658400 - 4 11.537150 -0.00718900 - 5 7.597186 -0.06890300 - 6 3.765117 -0.01384200 - 7 2.051006 0.24870400 - 8 1.048648 0.43432800 - 9 0.550231 0.32690600 - 10 0.303840 0.10461700 - 11 0.165809 0.01851200 - 12 0.060419 0.00139500 - 13 0.024751 0.00009300 -P 13 - 1 77.690832 0.00001700 - 2 39.751864 -0.00002600 - 3 20.615633 -0.00086100 - 4 11.537150 -0.00048300 - 5 7.597186 0.02136400 - 6 3.765117 -0.00370600 - 7 2.051006 -0.05871800 - 8 1.048648 -0.14336400 - 9 0.550231 -0.07728000 - 10 0.303840 -0.10776400 - 11 0.165809 0.32285900 - 12 0.060419 0.62172600 - 13 0.024751 0.25378700 -P 13 - 1 77.690832 -0.00006300 - 2 39.751864 0.00054900 - 3 20.615633 -0.00512000 - 4 11.537150 0.00701100 - 5 7.597186 0.05366100 - 6 3.765117 0.00357400 - 7 2.051006 -0.23586100 - 8 1.048648 -0.49480100 - 9 0.550231 -0.22957500 - 10 0.303840 0.91797300 - 11 0.165809 0.62115500 - 12 0.060419 -0.82464800 - 13 0.024751 -0.15759200 -P 13 - 1 77.690832 -0.00024300 - 2 39.751864 0.00156800 - 3 20.615633 -0.00955400 - 4 11.537150 0.01802000 - 5 7.597186 0.05100800 - 6 3.765117 0.04328000 - 7 2.051006 -0.40417800 - 8 1.048648 -0.82490400 - 9 0.550231 0.71001400 - 10 0.303840 2.22525500 - 11 0.165809 -2.74290300 - 12 0.060419 0.58142300 - 13 0.024751 0.48091000 -P 13 - 1 77.690832 -0.00025600 - 2 39.751864 0.00108400 - 3 20.615633 0.00040000 - 4 11.537150 0.02195600 - 5 7.597186 -0.16269400 - 6 3.765117 0.00037100 - 7 2.051006 1.05365400 - 8 1.048648 0.65865100 - 9 0.550231 -4.72226800 - 10 0.303840 5.40799300 - 11 0.165809 -2.00216600 - 12 0.060419 -0.71482200 - 13 0.024751 0.92680100 -P 1 - 1 0.024751 1.00000000 -D 11 - 1 60.996829 0.00005600 - 2 22.097637 0.00505400 - 3 10.186744 0.03222300 - 4 4.633892 0.08247900 - 5 2.146927 0.15936300 - 6 1.014536 0.22860400 - 7 0.487206 0.24369100 - 8 0.248191 0.23165100 - 9 0.131273 0.19543100 - 10 0.063714 0.21458900 - 11 0.021542 0.07411300 -D 11 - 1 60.996829 -0.00007200 - 2 22.097637 -0.00607900 - 3 10.186744 -0.03905400 - 4 4.633892 -0.10065200 - 5 2.146927 -0.19433000 - 6 1.014536 -0.25355600 - 7 0.487206 -0.21355600 - 8 0.248191 0.05418200 - 9 0.131273 0.26118800 - 10 0.063714 0.52021500 - 11 0.021542 0.16690700 -D 11 - 1 60.996829 0.00005400 - 2 22.097637 0.00819500 - 3 10.186744 0.05007300 - 4 4.633892 0.13617400 - 5 2.146927 0.24651600 - 6 1.014536 0.25815800 - 7 0.487206 -0.12479900 - 8 0.248191 -0.43908100 - 9 0.131273 -0.47534700 - 10 0.063714 0.52718700 - 11 0.021542 0.47337300 -D 11 - 1 60.996829 -0.00013200 - 2 22.097637 -0.01019500 - 3 10.186744 -0.06681500 - 4 4.633892 -0.17925500 - 5 2.146927 -0.33873300 - 6 1.014536 -0.14578400 - 7 0.487206 0.70044400 - 8 0.248191 0.51197600 - 9 0.131273 -1.01912300 - 10 0.063714 -0.09222100 - 11 0.021542 0.69667500 -D 1 - 1 0.021542 1.00000000 -F 1 - 1 0.121673 1.00000000 -F 1 - 1 0.423707 1.00000000 -F 1 - 1 1.475494 1.00000000 -G 1 - 1 0.318017 1.00000000 -G 1 - 1 0.652356 1.00000000 -H 1 - 1 3.057835 1.00000000 - -TITANIUM - S 13 - 1 68.910511 0.00061600 - 2 33.720700 -0.00750100 - 3 18.159676 0.01221800 - 4 12.419305 0.14473900 - 5 7.532195 -0.32862100 - 6 3.504444 -0.31751700 - 7 1.910727 0.35742200 - 8 0.888840 0.67140600 - 9 0.447198 0.28222600 - 10 0.281192 0.03867300 - 11 0.100258 0.00455900 - 12 0.046525 -0.00156500 - 13 0.021840 0.00039800 -S 13 - 1 68.910511 -0.00015600 - 2 33.720700 0.00196600 - 3 18.159676 -0.00399400 - 4 12.419305 -0.03637700 - 5 7.532195 0.08859300 - 6 3.504444 0.08563000 - 7 1.910727 -0.10599300 - 8 0.888840 -0.23742100 - 9 0.447198 -0.23535900 - 10 0.281192 -0.01296000 - 11 0.100258 0.43358200 - 12 0.046525 0.57787300 - 13 0.021840 0.16436000 -S 13 - 1 68.910511 0.00063500 - 2 33.720700 -0.00646800 - 3 18.159676 0.02344400 - 4 12.419305 0.03892100 - 5 7.532195 -0.14118000 - 6 3.504444 -0.21476500 - 7 1.910727 0.32015100 - 8 0.888840 0.45106200 - 9 0.447198 0.85519100 - 10 0.281192 -1.20922400 - 11 0.100258 -1.31948100 - 12 0.046525 0.86651700 - 13 0.021840 0.61891600 -S 13 - 1 68.910511 -0.00117800 - 2 33.720700 0.01187700 - 3 18.159676 -0.04724000 - 4 12.419305 -0.05092200 - 5 7.532195 0.23774600 - 6 3.504444 0.40318500 - 7 1.910727 -0.79096100 - 8 0.888840 -1.10227600 - 9 0.447198 0.20944600 - 10 0.281192 2.52735200 - 11 0.100258 -1.78904100 - 12 0.046525 -0.86784200 - 13 0.021840 1.42739500 -S 13 - 1 68.910511 0.00011500 - 2 33.720700 0.00283300 - 3 18.159676 0.00614100 - 4 12.419305 -0.20968200 - 5 7.532195 0.51836700 - 6 3.504444 0.30416400 - 7 1.910727 -1.23286300 - 8 0.888840 -2.09050800 - 9 0.447198 7.09271500 - 10 0.281192 -4.54374400 - 11 0.100258 -2.24827000 - 12 0.046525 4.47391800 - 13 0.021840 -2.42629600 -S 1 - 1 0.021840 1.00000000 -P 13 - 1 84.914002 0.00009300 - 2 42.855051 -0.00083600 - 3 21.700131 0.00867900 - 4 12.214690 -0.01117800 - 5 8.319164 -0.07776700 - 6 4.091071 -0.00611300 - 7 2.286543 0.27182800 - 8 1.159810 0.45958500 - 9 0.591343 0.31590000 - 10 0.312862 0.07168300 - 11 0.184828 0.01054100 - 12 0.068590 0.00004500 - 13 0.026791 -0.00083700 -P 13 - 1 84.914002 0.00002000 - 2 42.855051 -0.00004900 - 3 21.700131 -0.00076100 - 4 12.214690 -0.00057500 - 5 8.319164 0.01828400 - 6 4.091071 -0.00594300 - 7 2.286543 -0.04321200 - 8 1.159810 -0.11251300 - 9 0.591343 -0.05207300 - 10 0.312862 -0.09226300 - 11 0.184828 0.24394600 - 12 0.068590 0.41310100 - 13 0.026791 0.54398500 -P 13 - 1 84.914002 0.00001900 - 2 42.855051 0.00013800 - 3 21.700131 -0.00462200 - 4 12.214690 0.00446500 - 5 8.319164 0.06576000 - 6 4.091071 -0.01892700 - 7 2.286543 -0.22252400 - 8 1.159810 -0.52389000 - 9 0.591343 -0.07127700 - 10 0.312862 0.81271200 - 11 0.184828 0.62549800 - 12 0.068590 -0.81218900 - 13 0.026791 -0.18579600 -P 13 - 1 84.914002 -0.00025700 - 2 42.855051 0.00172500 - 3 21.700131 -0.01264600 - 4 12.214690 0.02906200 - 5 8.319164 0.05897900 - 6 4.091071 0.03080600 - 7 2.286543 -0.52437300 - 8 1.159810 -0.72096800 - 9 0.591343 1.02320400 - 10 0.312862 1.97387400 - 11 0.184828 -2.80509200 - 12 0.068590 0.60795400 - 13 0.026791 0.44765300 -P 13 - 1 84.914002 0.00027100 - 2 42.855051 -0.00190200 - 3 21.700131 0.01541200 - 4 12.214690 -0.03758600 - 5 8.319164 -0.12453600 - 6 4.091071 0.04081200 - 7 2.286543 1.34382300 - 8 1.159810 -0.26941100 - 9 0.591343 -3.72959000 - 10 0.312862 5.88498300 - 11 0.184828 -3.11385300 - 12 0.068590 -0.25697300 - 13 0.026791 0.71073300 -P 1 - 1 0.026791 1.00000000 -D 11 - 1 77.434559 0.00002200 - 2 27.708477 0.00421800 - 3 12.914284 0.03008700 - 4 6.062674 0.08482100 - 5 2.863898 0.17111000 - 6 1.386559 0.24745100 - 7 0.677058 0.27731000 - 8 0.329864 0.26107700 - 9 0.159474 0.19033600 - 10 0.076174 0.11938500 - 11 0.028570 0.03129700 -D 11 - 1 77.434559 -0.00002500 - 2 27.708477 -0.00431100 - 3 12.914284 -0.03091300 - 4 6.062674 -0.08804900 - 5 2.863898 -0.17833000 - 6 1.386559 -0.23433500 - 7 0.677058 -0.19577500 - 8 0.329864 0.06587200 - 9 0.159474 0.33053600 - 10 0.076174 0.46122900 - 11 0.028570 0.18427300 -D 11 - 1 77.434559 0.00001000 - 2 27.708477 0.00618700 - 3 12.914284 0.04263000 - 4 6.062674 0.12752400 - 5 2.863898 0.24828900 - 6 1.386559 0.25976100 - 7 0.677058 -0.07079400 - 8 0.329864 -0.51939600 - 9 0.159474 -0.37365800 - 10 0.076174 0.45506700 - 11 0.028570 0.48958600 -D 11 - 1 77.434559 0.00001100 - 2 27.708477 -0.00802600 - 3 12.914284 -0.05387500 - 4 6.062674 -0.16879500 - 5 2.863898 -0.31234400 - 6 1.386559 -0.17203100 - 7 0.677058 0.58763300 - 8 0.329864 0.52859200 - 9 0.159474 -0.85964400 - 10 0.076174 -0.27383100 - 11 0.028570 0.80275400 -D 1 - 1 0.028570 1.00000000 -F 1 - 1 0.193613 1.00000000 -F 1 - 1 0.675430 1.00000000 -F 1 - 1 2.356279 1.00000000 -G 1 - 1 0.402576 1.00000000 -G 1 - 1 1.597247 1.00000000 -H 1 - 1 0.848174 1.00000000 - -VANADIUM - S 13 - 1 68.577621 0.00080400 - 2 34.937147 -0.01159400 - 3 17.939491 0.09220900 - 4 11.262123 -0.04547700 - 5 6.776264 -0.28798300 - 6 3.524091 -0.21764800 - 7 1.938421 0.40750900 - 8 0.927153 0.65819300 - 9 0.448420 0.25523400 - 10 0.209668 0.00862000 - 11 0.103660 0.00273400 - 12 0.050630 -0.00116100 - 13 0.024201 0.00029400 -S 13 - 1 68.577621 -0.00017700 - 2 34.937147 0.00279100 - 3 17.939491 -0.02365000 - 4 11.262123 0.01250400 - 5 6.776264 0.07876100 - 6 3.524091 0.05497400 - 7 1.938421 -0.11895500 - 8 0.927153 -0.24534100 - 9 0.448420 -0.22295900 - 10 0.209668 0.04780900 - 11 0.103660 0.41537400 - 12 0.050630 0.54088000 - 13 0.024201 0.18342100 -S 13 - 1 68.577621 -0.00058300 - 2 34.937147 0.00957000 - 3 17.939491 -0.08560600 - 4 11.262123 0.04842600 - 5 6.776264 0.33123900 - 6 3.524091 0.14035200 - 7 1.938421 -0.90796200 - 8 0.927153 -0.50387800 - 9 0.448420 0.39893800 - 10 0.209668 0.97113100 - 11 0.103660 0.42399900 - 12 0.050630 -0.62864600 - 13 0.024201 -0.46749500 -S 13 - 1 68.577621 -0.00076500 - 2 34.937147 0.01452900 - 3 17.939491 -0.13961800 - 4 11.262123 0.06307300 - 5 6.776264 0.70419300 - 6 3.524091 -0.01160200 - 7 1.938421 -2.31160400 - 8 0.927153 0.76826900 - 9 0.448420 2.16892000 - 10 0.209668 -1.06267100 - 11 0.103660 -1.21815100 - 12 0.050630 0.34080900 - 13 0.024201 0.71332200 -S 13 - 1 68.577621 -0.00356700 - 2 34.937147 0.01000700 - 3 17.939491 0.04020200 - 4 11.262123 0.34329500 - 5 6.776264 -2.09702200 - 6 3.524091 2.80403900 - 7 1.938421 1.20663800 - 8 0.927153 -4.50572400 - 9 0.448420 2.15832500 - 10 0.209668 2.12989200 - 11 0.103660 -2.26503700 - 12 0.050630 -0.68105100 - 13 0.024201 1.25786200 -S 1 - 1 0.024201 1.00000000 -P 13 - 1 96.215967 0.00006900 - 2 49.579340 -0.00067200 - 3 25.638009 0.00819900 - 4 14.025942 -0.02710800 - 5 8.740334 -0.05302100 - 6 4.634840 0.00500200 - 7 2.553374 0.26198600 - 8 1.321166 0.43354400 - 9 0.681285 0.32494700 - 10 0.349458 0.09234200 - 11 0.172773 0.00896400 - 12 0.063300 0.00118500 - 13 0.033969 0.00010400 -P 13 - 1 96.215967 0.00004000 - 2 49.579340 -0.00013300 - 3 25.638009 -0.00095500 - 4 14.025942 0.00371900 - 5 8.740334 0.01886600 - 6 4.634840 -0.01207400 - 7 2.553374 -0.05710700 - 8 1.321166 -0.14643300 - 9 0.681285 -0.06736500 - 10 0.349458 -0.06825400 - 11 0.172773 0.40310300 - 12 0.063300 0.50266800 - 13 0.033969 0.26129100 -P 13 - 1 96.215967 -0.00005300 - 2 49.579340 0.00002300 - 3 25.638009 0.00462900 - 4 14.025942 -0.00775500 - 5 8.740334 -0.10413300 - 6 4.634840 -0.01776200 - 7 2.553374 0.72821200 - 8 1.321166 0.21882600 - 9 0.681285 -0.49322300 - 10 0.349458 -0.83819200 - 11 0.172773 0.39840100 - 12 0.063300 0.66458900 - 13 0.033969 0.03301100 -P 13 - 1 96.215967 -0.00126200 - 2 49.579340 0.00641900 - 3 25.638009 -0.02122900 - 4 14.025942 0.11577700 - 5 8.740334 -0.42074000 - 6 4.634840 0.19774200 - 7 2.553374 1.57560000 - 8 1.321166 -1.06791300 - 9 0.681285 -1.31008300 - 10 0.349458 1.19114700 - 11 0.172773 0.55051600 - 12 0.063300 -0.71878800 - 13 0.033969 -0.15744100 -P 13 - 1 96.215967 -0.00478000 - 2 49.579340 0.02531200 - 3 25.638009 -0.09426700 - 4 14.025942 0.43789600 - 5 8.740334 -1.44316600 - 6 4.634840 2.63678000 - 7 2.553374 -0.38243600 - 8 1.321166 -2.76188100 - 9 0.681285 2.15975600 - 10 0.349458 0.67615100 - 11 0.172773 -1.62151700 - 12 0.063300 0.42916400 - 13 0.033969 0.40017800 -P 1 - 1 0.033969 1.00000000 -D 11 - 1 89.989649 0.00005100 - 2 33.132961 0.00480400 - 3 15.879656 0.02948500 - 4 7.465803 0.08624900 - 5 3.551993 0.17972800 - 6 1.728185 0.26185000 - 7 0.850498 0.29179400 - 8 0.417673 0.25935600 - 9 0.201523 0.17494400 - 10 0.100711 0.06227800 - 11 0.058959 0.02765300 -D 11 - 1 89.989649 -0.00003800 - 2 33.132961 -0.00459000 - 3 15.879656 -0.02756300 - 4 7.465803 -0.08277500 - 5 3.551993 -0.17349400 - 6 1.728185 -0.23618800 - 7 0.850498 -0.14922600 - 8 0.417673 0.04414500 - 9 0.201523 0.39050000 - 10 0.100711 0.20306400 - 11 0.058959 0.39800200 -D 11 - 1 89.989649 0.00012800 - 2 33.132961 0.00665200 - 3 15.879656 0.04463500 - 4 7.465803 0.12255900 - 5 3.551993 0.31114700 - 6 1.728185 0.28881300 - 7 0.850498 -0.14224600 - 8 0.417673 -0.61373700 - 9 0.201523 -0.12391600 - 10 0.100711 -0.02023500 - 11 0.058959 0.73325900 -D 11 - 1 89.989649 0.00004500 - 2 33.132961 -0.01039400 - 3 15.879656 -0.05505100 - 4 7.465803 -0.17145700 - 5 3.551993 -0.51992200 - 6 1.728185 0.09902600 - 7 0.850498 0.82933200 - 8 0.417673 -0.07090800 - 9 0.201523 -0.47117100 - 10 0.100711 -0.87878900 - 11 0.058959 1.21174700 -D 1 - 1 0.058959 1.00000000 -F 1 - 1 0.309164 1.00000000 -F 1 - 1 1.028253 1.00000000 -F 1 - 1 3.419885 1.00000000 -G 1 - 1 0.946128 1.00000000 -G 1 - 1 3.081804 1.00000000 -H 1 - 1 2.514905 1.00000000 - -CHROMIUM - S 13 - 1 73.977737 0.00086400 - 2 37.684349 -0.01159500 - 3 19.278723 0.09046700 - 4 12.130763 -0.02483700 - 5 7.453002 -0.33040700 - 6 3.756296 -0.20059800 - 7 2.084137 0.44976600 - 8 0.993314 0.64757500 - 9 0.483094 0.22902500 - 10 0.225854 0.00921700 - 11 0.115338 0.00113200 - 12 0.052134 -0.00036700 - 13 0.023679 0.00009200 -S 13 - 1 73.977737 -0.00018300 - 2 37.684349 0.00270400 - 3 19.278723 -0.02265000 - 4 12.130763 0.00718100 - 5 7.453002 0.08770500 - 6 3.756296 0.04761600 - 7 2.084137 -0.12567200 - 8 0.993314 -0.24457100 - 9 0.483094 -0.19841900 - 10 0.225854 0.03088900 - 11 0.115338 0.42393500 - 12 0.052134 0.57694100 - 13 0.023679 0.14832300 -S 13 - 1 73.977737 -0.00032700 - 2 37.684349 0.00530900 - 3 19.278723 -0.04690500 - 4 12.130763 0.01541100 - 5 7.453002 0.19169700 - 6 3.756296 0.09975900 - 7 2.084137 -0.33899400 - 8 0.993314 -0.69580600 - 9 0.483094 -0.00731500 - 10 0.225854 1.11859900 - 11 0.115338 0.71725700 - 12 0.052134 -0.86856500 - 13 0.023679 -0.46718600 -S 13 - 1 73.977737 -0.00069800 - 2 37.684349 0.01020700 - 3 19.278723 -0.09126100 - 4 12.130763 0.05220700 - 5 7.453002 0.34216400 - 6 3.756296 0.17486600 - 7 2.084137 -0.99425800 - 8 0.993314 -1.19060400 - 9 0.483094 2.27183400 - 10 0.225854 1.00301300 - 11 0.115338 -2.60523500 - 12 0.052134 0.26515800 - 13 0.023679 0.90228600 -S 13 - 1 73.977737 0.00298300 - 2 37.684349 -0.02696900 - 3 19.278723 0.19930400 - 4 12.130763 -0.25709400 - 5 7.453002 -0.31292400 - 6 3.756296 -0.37282300 - 7 2.084137 2.61267600 - 8 0.993314 -1.10831900 - 9 0.483094 -3.52097300 - 10 0.225854 5.38631500 - 11 0.115338 -1.94819200 - 12 0.052134 -1.98569900 - 13 0.023679 1.70618700 -S 1 - 1 0.023679 1.00000000 -P 13 - 1 101.951240 0.00008800 - 2 52.309865 -0.00074700 - 3 27.142574 0.00713500 - 4 15.066862 -0.01470200 - 5 9.693669 -0.07335300 - 6 4.985710 0.01200700 - 7 2.761266 0.28311700 - 8 1.417673 0.44078600 - 9 0.728201 0.30677500 - 10 0.378189 0.08180400 - 11 0.189359 0.00883900 - 12 0.072301 0.00102200 - 13 0.037471 0.00032500 -P 13 - 1 101.951240 0.00002800 - 2 52.309865 -0.00008500 - 3 27.142574 -0.00075100 - 4 15.066862 0.00084400 - 5 9.693669 0.02265600 - 6 4.985710 -0.01278100 - 7 2.761266 -0.06238600 - 8 1.417673 -0.14358100 - 9 0.728201 -0.06228100 - 10 0.378189 -0.05447100 - 11 0.189359 0.37713500 - 12 0.072301 0.47163300 - 13 0.037471 0.31162400 -P 13 - 1 101.951240 -0.00013700 - 2 52.309865 0.00093200 - 3 27.142574 -0.00684500 - 4 15.066862 0.01983100 - 5 9.693669 0.04364700 - 6 4.985710 -0.01928900 - 7 2.761266 -0.28118700 - 8 1.417673 -0.37029800 - 9 0.728201 -0.19987300 - 10 0.378189 1.02855200 - 11 0.189359 0.42371100 - 12 0.072301 -0.80092600 - 13 0.037471 -0.14191000 -P 13 - 1 101.951240 0.00002700 - 2 52.309865 0.00018000 - 3 27.142574 -0.00574200 - 4 15.066862 0.02041900 - 5 9.693669 0.10052700 - 6 4.985710 -0.10060800 - 7 2.761266 -0.60774600 - 8 1.417673 -0.60170500 - 9 0.728201 1.45090500 - 10 0.378189 0.67229900 - 11 0.189359 -1.90482300 - 12 0.072301 0.66581400 - 13 0.037471 0.34852200 -P 13 - 1 101.951240 0.00053400 - 2 52.309865 -0.00333900 - 3 27.142574 0.01766200 - 4 15.066862 -0.08424900 - 5 9.693669 -0.08077700 - 6 4.985710 0.27239200 - 7 2.761266 1.31045500 - 8 1.417673 -1.06179300 - 9 0.728201 -2.37680500 - 10 0.378189 4.47731700 - 11 0.189359 -2.79579800 - 12 0.072301 0.20300800 - 13 0.037471 0.57055500 -P 1 - 1 0.037471 1.00000000 -D 11 - 1 120.683729 -0.00000600 - 2 42.646591 0.00311100 - 3 21.154405 0.02864100 - 4 9.708242 0.07622200 - 5 4.614990 0.17059500 - 6 2.243726 0.26690800 - 7 1.086491 0.31103900 - 8 0.524700 0.26731200 - 9 0.255752 0.16333600 - 10 0.121497 0.06278200 - 11 0.054339 0.00787200 -D 11 - 1 120.683729 0.00001700 - 2 42.646591 -0.00357600 - 3 21.154405 -0.03147600 - 4 9.708242 -0.08758300 - 5 4.614990 -0.19574000 - 6 2.243726 -0.27013200 - 7 1.086491 -0.17003400 - 8 0.524700 0.14341200 - 9 0.255752 0.40868700 - 10 0.121497 0.37025700 - 11 0.054339 0.12311200 -D 11 - 1 120.683729 0.00004000 - 2 42.646591 -0.00518100 - 3 21.154405 -0.04339300 - 4 9.708242 -0.12773400 - 5 4.614990 -0.28207000 - 6 2.243726 -0.28839000 - 7 1.086491 0.16826900 - 8 0.524700 0.67306200 - 9 0.255752 0.09919600 - 10 0.121497 -0.57061200 - 11 0.054339 -0.29719700 -D 11 - 1 120.683729 0.00011900 - 2 42.646591 -0.00795400 - 3 21.154405 -0.06042500 - 4 9.708242 -0.19681000 - 5 4.614990 -0.40138900 - 6 2.243726 -0.07218600 - 7 1.086491 0.94089500 - 8 0.524700 0.03586300 - 9 0.255752 -1.15352900 - 10 0.121497 0.43219200 - 11 0.054339 0.48316100 -D 1 - 1 0.054339 1.00000000 -F 1 - 1 0.342104 1.00000000 -F 1 - 1 1.160895 1.00000000 -F 1 - 1 3.939379 1.00000000 -G 1 - 1 0.715513 1.00000000 -G 1 - 1 2.693396 1.00000000 -H 1 - 1 1.706513 1.00000000 - -MANGANESE - S 13 - 1 76.008334 0.00099300 - 2 39.277974 -0.01479600 - 3 20.405805 0.12071000 - 4 12.218680 -0.12400100 - 5 7.182690 -0.32020000 - 6 3.850780 -0.10562200 - 7 2.142489 0.47272100 - 8 1.049631 0.62038700 - 9 0.508682 0.20455300 - 10 0.192243 0.00592400 - 11 0.108899 -0.00009700 - 12 0.053425 -0.00018500 - 13 0.025236 0.00006100 -S 13 - 1 76.008334 -0.00019900 - 2 39.277974 0.00335200 - 3 20.405805 -0.02941300 - 4 12.218680 0.03209100 - 5 7.182690 0.08315200 - 6 3.850780 0.02128300 - 7 2.142489 -0.12998900 - 8 1.049631 -0.23900600 - 9 0.508682 -0.18031500 - 10 0.192243 0.11014800 - 11 0.108899 0.40442600 - 12 0.053425 0.51730700 - 13 0.025236 0.14813900 -S 13 - 1 76.008334 -0.00009100 - 2 39.277974 0.00537400 - 3 20.405805 -0.05849400 - 4 12.218680 0.05634500 - 5 7.182690 0.22787400 - 6 3.850780 -0.00842000 - 7 2.142489 -0.32077700 - 8 1.049631 -0.81313700 - 9 0.508682 0.32647500 - 10 0.192243 1.44754000 - 11 0.108899 0.02132100 - 12 0.053425 -0.67832300 - 13 0.025236 -0.45282800 -S 13 - 1 76.008334 -0.00052600 - 2 39.277974 0.01138000 - 3 20.405805 -0.11603400 - 4 12.218680 0.14932900 - 5 7.182690 0.36015400 - 6 3.850780 0.02517400 - 7 2.142489 -1.17012500 - 8 1.049631 -0.87212300 - 9 0.508682 2.55063300 - 10 0.192243 0.09034300 - 11 0.108899 -2.21058800 - 12 0.053425 0.47058200 - 13 0.025236 0.83217500 -S 13 - 1 76.008334 0.00409700 - 2 39.277974 -0.03635300 - 3 20.405805 0.26570800 - 4 12.218680 -0.48518700 - 5 7.182690 -0.23228800 - 6 3.850780 -0.24179800 - 7 2.142489 3.38791800 - 8 1.049631 -3.26857300 - 9 0.508682 -0.83790100 - 10 0.192243 5.26227100 - 11 0.108899 -4.29984700 - 12 0.053425 -0.44524000 - 13 0.025236 1.29402600 -S 1 - 1 0.025236 1.00000000 -P 13 - 1 113.479709 0.00010300 - 2 58.160819 -0.00089400 - 3 30.043076 0.00884400 - 4 16.753323 -0.01968500 - 5 10.705604 -0.06919000 - 6 5.557903 0.01150800 - 7 3.080151 0.28231300 - 8 1.582963 0.43867800 - 9 0.810922 0.30984300 - 10 0.413396 0.08394500 - 11 0.195480 0.00751700 - 12 0.072688 0.00110000 - 13 0.035877 0.00029000 -P 13 - 1 113.479709 0.00001900 - 2 58.160819 -0.00002400 - 3 30.043076 -0.00122400 - 4 16.753323 0.00232000 - 5 10.705604 0.02075800 - 6 5.557903 -0.01157200 - 7 3.080151 -0.06291900 - 8 1.582963 -0.13675400 - 9 0.810922 -0.06729500 - 10 0.413396 -0.03102400 - 11 0.195480 0.37898100 - 12 0.072688 0.50782400 - 13 0.035877 0.26094100 -P 13 - 1 113.479709 -0.00019700 - 2 58.160819 0.00135400 - 3 30.043076 -0.01010200 - 4 16.753323 0.03060300 - 5 10.705604 0.04620000 - 6 5.557903 -0.01758800 - 7 3.080151 -0.39592000 - 8 1.582963 -0.41909300 - 9 0.810922 0.07501700 - 10 0.413396 1.09298600 - 11 0.195480 0.00868000 - 12 0.072688 -0.75636900 - 13 0.035877 -0.04514900 -P 13 - 1 113.479709 0.00001400 - 2 58.160819 0.00042100 - 3 30.043076 -0.00857300 - 4 16.753323 0.03879700 - 5 10.705604 0.09933800 - 6 5.557903 -0.14444500 - 7 3.080151 -0.82118200 - 8 1.582963 -0.25078500 - 9 0.810922 1.79017000 - 10 0.413396 -0.39954700 - 11 0.195480 -1.29438200 - 12 0.072688 0.84704700 - 13 0.035877 0.15171000 -P 13 - 1 113.479709 -0.00021400 - 2 58.160819 0.00186900 - 3 30.043076 -0.01439900 - 4 16.753323 0.08866300 - 5 10.705604 0.11611700 - 6 5.557903 -0.47666500 - 7 3.080151 -1.47189600 - 8 1.582963 2.46363500 - 9 0.810922 0.10250800 - 10 0.413396 -2.77460100 - 11 0.195480 2.43625400 - 12 0.072688 -0.61701900 - 13 0.035877 -0.32367600 -P 1 - 1 0.035877 1.00000000 -D 11 - 1 132.688182 0.00003000 - 2 45.266024 0.00529400 - 3 23.267336 0.02914300 - 4 10.605694 0.07677500 - 5 5.074684 0.16855100 - 6 2.469857 0.25683200 - 7 1.205883 0.28989100 - 8 0.590569 0.25715400 - 9 0.292055 0.18172600 - 10 0.149190 0.08998600 - 11 0.076511 0.03459500 -D 11 - 1 132.688182 -0.00002100 - 2 45.266024 -0.00544900 - 3 23.267336 -0.02903200 - 4 10.605694 -0.07982500 - 5 5.074684 -0.17441500 - 6 2.469857 -0.25340400 - 7 1.205883 -0.17430500 - 8 0.590569 0.04508100 - 9 0.292055 0.34576000 - 10 0.149190 0.26372500 - 11 0.076511 0.37171500 -D 11 - 1 132.688182 0.00006000 - 2 45.266024 0.00838500 - 3 23.267336 0.04580000 - 4 10.605694 0.12921500 - 5 5.074684 0.28432700 - 6 2.469857 0.27076000 - 7 1.205883 -0.10159100 - 8 0.590569 -0.58067700 - 9 0.292055 -0.18169600 - 10 0.149190 0.02100300 - 11 0.076511 0.72365800 -D 11 - 1 132.688182 -0.00003700 - 2 45.266024 -0.01080900 - 3 23.267336 -0.05558200 - 4 10.605694 -0.17205300 - 5 5.074684 -0.38188900 - 6 2.469857 -0.13039900 - 7 1.205883 0.81899300 - 8 0.590569 0.18014500 - 9 0.292055 -0.60472000 - 10 0.149190 -0.73358400 - 11 0.076511 1.05874100 -D 1 - 1 0.076511 1.00000000 -F 1 - 1 0.405052 1.00000000 -F 1 - 1 1.369701 1.00000000 -F 1 - 1 4.631705 1.00000000 -G 1 - 1 0.893773 1.00000000 -G 1 - 1 3.265719 1.00000000 -H 1 - 1 2.093484 1.00000000 - -IRON - S 13 - 1 84.322332 0.00078500 - 2 44.203528 -0.01278100 - 3 23.288963 0.10463500 - 4 13.385163 -0.11938500 - 5 7.518052 -0.33980400 - 6 4.101835 -0.04999400 - 7 2.253571 0.47695500 - 8 1.134924 0.59322200 - 9 0.561550 0.20015100 - 10 0.201961 0.00859100 - 11 0.108698 -0.00218800 - 12 0.053619 0.00067700 - 13 0.025823 -0.00014400 -S 13 - 1 84.322332 -0.00016200 - 2 44.203528 0.00292100 - 3 23.288963 -0.02546600 - 4 13.385163 0.03118200 - 5 7.518052 0.08684900 - 6 4.101835 0.00684600 - 7 2.253571 -0.13185600 - 8 1.134924 -0.22774600 - 9 0.561550 -0.17307900 - 10 0.201961 0.13614200 - 11 0.108698 0.43401300 - 12 0.053619 0.47755500 - 13 0.025823 0.12880400 -S 13 - 1 84.322332 0.00000200 - 2 44.203528 0.00410300 - 3 23.288963 -0.04684000 - 4 13.385163 0.05283300 - 5 7.518052 0.21809400 - 6 4.101835 -0.04499900 - 7 2.253571 -0.28738600 - 8 1.134924 -0.71322000 - 9 0.561550 0.24917400 - 10 0.201961 1.29987200 - 11 0.108698 0.19211900 - 12 0.053619 -0.65861600 - 13 0.025823 -0.52104700 -S 13 - 1 84.322332 0.00001200 - 2 44.203528 0.00759800 - 3 23.288963 -0.09413300 - 4 13.385163 0.12765500 - 5 7.518052 0.43559800 - 6 4.101835 -0.14791100 - 7 2.253571 -1.08447700 - 8 1.134924 -0.88700300 - 9 0.561550 2.44994600 - 10 0.201961 0.16797600 - 11 0.108698 -2.11466800 - 12 0.053619 0.45257900 - 13 0.025823 0.80144400 -S 13 - 1 84.322332 0.00330100 - 2 44.203528 -0.02919700 - 3 23.288963 0.21322700 - 4 13.385163 -0.40810900 - 5 7.518052 -0.38565100 - 6 4.101835 0.16809300 - 7 2.253571 3.10252900 - 8 1.134924 -3.36044600 - 9 0.561550 -0.53161900 - 10 0.201961 4.49398100 - 11 0.108698 -3.68975000 - 12 0.053619 -0.51060400 - 13 0.025823 1.30102100 -S 1 - 1 0.025823 1.00000000 -P 13 - 1 125.092775 0.00005600 - 2 65.211589 -0.00057200 - 3 34.437599 0.00738800 - 4 18.930704 -0.02848100 - 5 10.873415 -0.06300500 - 6 6.012172 0.02485500 - 7 3.372205 0.27747400 - 8 1.768641 0.42538600 - 9 0.914516 0.31414500 - 10 0.460895 0.09042200 - 11 0.204490 0.00697700 - 12 0.074741 0.00115400 - 13 0.035671 0.00030300 -P 13 - 1 125.092775 0.00002500 - 2 65.211589 -0.00007000 - 3 34.437599 -0.00104200 - 4 18.930704 0.00512700 - 5 10.873415 0.01840400 - 6 6.012172 -0.01469200 - 7 3.372205 -0.06130700 - 8 1.768641 -0.12863800 - 9 0.914516 -0.07063700 - 10 0.460895 -0.01631400 - 11 0.204490 0.38070200 - 12 0.074741 0.52307100 - 13 0.035671 0.23576500 -P 13 - 1 125.092775 -0.00019700 - 2 65.211589 0.00125100 - 3 34.437599 -0.00915400 - 4 18.930704 0.03820100 - 5 10.873415 0.04309700 - 6 6.012172 -0.02947500 - 7 3.372205 -0.42699600 - 8 1.768641 -0.39484000 - 9 0.914516 0.07723000 - 10 0.460895 1.11988100 - 11 0.204490 -0.06649400 - 12 0.074741 -0.72158300 - 13 0.035671 -0.00569500 -P 13 - 1 125.092775 0.00026400 - 2 65.211589 -0.00107600 - 3 34.437599 -0.00259100 - 4 18.930704 0.03551900 - 5 10.873415 0.11955400 - 6 6.012172 -0.20471400 - 7 3.372205 -0.76062700 - 8 1.768641 -0.26274000 - 9 0.914516 1.77903000 - 10 0.460895 -0.46274200 - 11 0.204490 -1.24103000 - 12 0.074741 0.94098700 - 13 0.035671 0.08349600 -P 13 - 1 125.092775 -0.00008400 - 2 65.211589 0.00076800 - 3 34.437599 -0.00948500 - 4 18.930704 0.08806200 - 5 10.873415 0.15619100 - 6 6.012172 -0.61916600 - 7 3.372205 -1.38553400 - 8 1.768641 2.49212500 - 9 0.914516 0.00807600 - 10 0.460895 -2.49951500 - 11 0.204490 2.26557600 - 12 0.074741 -0.74834200 - 13 0.035671 -0.21159800 -P 1 - 1 0.035671 1.00000000 -D 11 - 1 152.736742 0.00002900 - 2 50.772485 0.00523800 - 3 26.253589 0.02932500 - 4 12.137022 0.07490100 - 5 5.853719 0.16341100 - 6 2.856224 0.25105700 - 7 1.386132 0.28760300 - 8 0.670802 0.25186200 - 9 0.330280 0.18673600 - 10 0.170907 0.09357000 - 11 0.086794 0.07381100 -D 11 - 1 152.736742 -0.00002600 - 2 50.772485 -0.00632900 - 3 26.253589 -0.03439800 - 4 12.137022 -0.09176500 - 5 5.853719 -0.20159200 - 6 2.856224 -0.28393000 - 7 1.386132 -0.16198100 - 8 0.670802 0.12882200 - 9 0.330280 0.36016000 - 10 0.170907 0.27759200 - 11 0.086794 0.26140300 -D 11 - 1 152.736742 0.00005100 - 2 50.772485 0.00876900 - 3 26.253589 0.04792100 - 4 12.137022 0.13247500 - 5 5.853719 0.29727900 - 6 2.856224 0.27501800 - 7 1.386132 -0.22284200 - 8 0.670802 -0.61906700 - 9 0.330280 -0.07629000 - 10 0.170907 0.25605600 - 11 0.086794 0.54148200 -D 11 - 1 152.736742 -0.00009600 - 2 50.772485 -0.01214400 - 3 26.253589 -0.06697100 - 4 12.137022 -0.19602500 - 5 5.853719 -0.46900300 - 6 2.856224 0.04656000 - 7 1.386132 0.98594000 - 8 0.670802 -0.22043500 - 9 0.330280 -0.75248200 - 10 0.170907 -0.11112300 - 11 0.086794 0.75310000 -D 1 - 1 0.086794 1.00000000 -F 1 - 1 0.486122 1.00000000 -F 1 - 1 1.630591 1.00000000 -F 1 - 1 5.469463 1.00000000 -G 1 - 1 1.093014 1.00000000 -G 1 - 1 3.889759 1.00000000 -H 1 - 1 2.480792 1.00000000 - -COBALT - S 13 - 1 90.663831 0.00077400 - 2 46.961414 -0.01131600 - 3 24.110274 0.10120900 - 4 14.430881 -0.08164200 - 5 8.757423 -0.35481200 - 6 4.484459 -0.09036200 - 7 2.519739 0.49817400 - 8 1.236850 0.60412300 - 9 0.601882 0.19077500 - 10 0.223338 0.00657800 - 11 0.123422 -0.00090500 - 12 0.059941 0.00017100 - 13 0.027978 -0.00002500 -S 13 - 1 90.663831 -0.00015400 - 2 46.961414 0.00252500 - 3 24.110274 -0.02444300 - 4 14.430881 0.02220000 - 5 8.757423 0.08841600 - 6 4.484459 0.01682000 - 7 2.519739 -0.13458200 - 8 1.236850 -0.23129500 - 9 0.601882 -0.16398600 - 10 0.223338 0.12133700 - 11 0.123422 0.40241400 - 12 0.059941 0.50611300 - 13 0.027978 0.14543600 -S 13 - 1 90.663831 -0.00004700 - 2 46.961414 0.00365400 - 3 24.110274 -0.04613200 - 4 14.430881 0.03648300 - 5 8.757423 0.21726500 - 6 4.484459 -0.01188300 - 7 2.519739 -0.32468800 - 8 1.236850 -0.68058100 - 9 0.601882 0.25693600 - 10 0.223338 1.22400500 - 11 0.123422 0.23683700 - 12 0.059941 -0.60406400 - 13 0.027978 -0.57494700 -S 13 - 1 90.663831 -0.00023100 - 2 46.961414 0.00753600 - 3 24.110274 -0.09729800 - 4 14.430881 0.11161100 - 5 8.757423 0.40362100 - 6 4.484459 -0.04832400 - 7 2.519739 -1.15760000 - 8 1.236850 -0.75683900 - 9 0.601882 2.31368300 - 10 0.223338 0.25307400 - 11 0.123422 -1.99146600 - 12 0.059941 0.16694200 - 13 0.027978 0.91722100 -S 13 - 1 90.663831 0.00280900 - 2 46.961414 -0.02445900 - 3 24.110274 0.21171700 - 4 14.430881 -0.38745200 - 5 8.757423 -0.36690900 - 6 4.484459 0.13914300 - 7 2.519739 2.83452700 - 8 1.236850 -2.90639800 - 9 0.601882 -0.80689600 - 10 0.223338 4.33605500 - 11 0.123422 -2.91360700 - 12 0.059941 -1.25330700 - 13 0.027978 1.50957200 -S 1 - 1 0.027978 1.00000000 -P 13 - 1 139.038145 0.00007500 - 2 71.928971 -0.00062700 - 3 37.806311 0.00571900 - 4 21.054252 -0.00931000 - 5 12.973193 -0.08385700 - 6 6.791461 0.01239400 - 7 3.794018 0.28198700 - 8 1.960649 0.43417900 - 9 1.006283 0.31340900 - 10 0.509539 0.08977800 - 11 0.233091 0.00740500 - 12 0.083890 0.00098000 - 13 0.039802 0.00027400 -P 13 - 1 139.038145 0.00002500 - 2 71.928971 -0.00008400 - 3 37.806311 -0.00048500 - 4 21.054252 0.00009500 - 5 12.973193 0.02240200 - 6 6.791461 -0.01153400 - 7 3.794018 -0.05686600 - 8 1.960649 -0.12607000 - 9 1.006283 -0.06088900 - 10 0.509539 -0.03508600 - 11 0.233091 0.35184700 - 12 0.083890 0.51044900 - 13 0.039802 0.28970700 -P 13 - 1 139.038145 -0.00023800 - 2 71.928971 0.00148900 - 3 37.806311 -0.00872300 - 4 21.054252 0.02453800 - 5 12.973193 0.06085600 - 6 6.791461 -0.02038000 - 7 3.794018 -0.43019500 - 8 1.960649 -0.40769200 - 9 1.006283 0.08532600 - 10 0.509539 1.07332600 - 11 0.233091 0.01506700 - 12 0.083890 -0.71963100 - 13 0.039802 -0.02460300 -P 13 - 1 139.038145 -0.00005500 - 2 71.928971 -0.00001700 - 3 37.806311 0.00432000 - 4 21.054252 -0.02133900 - 5 12.973193 -0.12713400 - 6 6.791461 0.15720800 - 7 3.794018 0.79492700 - 8 1.960649 0.23357400 - 9 1.006283 -1.66603300 - 10 0.509539 0.28271600 - 11 0.233091 1.33562500 - 12 0.083890 -0.88546900 - 13 0.039802 -0.13034000 -P 13 - 1 139.038145 0.00005200 - 2 71.928971 0.00014400 - 3 37.806311 -0.00506500 - 4 21.054252 0.05166200 - 5 12.973193 0.20930600 - 6 6.791461 -0.63605200 - 7 3.794018 -1.33476100 - 8 1.960649 2.33740900 - 9 1.006283 0.19062400 - 10 0.509539 -2.65784100 - 11 0.233091 2.26444400 - 12 0.083890 -0.61258400 - 13 0.039802 -0.27662000 -P 1 - 1 0.039802 1.00000000 -D 11 - 1 160.444504 0.00003400 - 2 52.598830 0.00655300 - 3 27.491581 0.03618500 - 4 12.745988 0.08302600 - 5 6.184310 0.17696000 - 6 3.029146 0.26399000 - 7 1.474099 0.29244700 - 8 0.714391 0.24959700 - 9 0.348520 0.17163700 - 10 0.174166 0.08064900 - 11 0.087891 0.04121200 -D 11 - 1 160.444504 -0.00003100 - 2 52.598830 -0.00786900 - 3 27.491581 -0.04199200 - 4 12.745988 -0.10138800 - 5 6.184310 -0.21699600 - 6 3.029146 -0.28396200 - 7 1.474099 -0.12717900 - 8 0.714391 0.17712500 - 9 0.348520 0.37559600 - 10 0.174166 0.28463100 - 11 0.087891 0.20027700 -D 11 - 1 160.444504 0.00004800 - 2 52.598830 0.01053100 - 3 27.491581 0.05555900 - 4 12.745988 0.14075800 - 5 6.184310 0.30578500 - 6 3.029146 0.24281200 - 7 1.474099 -0.28504400 - 8 0.714391 -0.59481900 - 9 0.348520 -0.01793700 - 10 0.174166 0.34815000 - 11 0.087891 0.45517000 -D 11 - 1 160.444504 -0.00007000 - 2 52.598830 -0.01526900 - 3 27.491581 -0.07877000 - 4 12.745988 -0.21855600 - 5 6.184310 -0.47927100 - 6 3.029146 0.17362300 - 7 1.474099 0.95417300 - 8 0.714391 -0.34849000 - 9 0.348520 -0.73737100 - 10 0.174166 0.07194100 - 11 0.087891 0.64488200 -D 1 - 1 0.087891 1.00000000 -F 1 - 1 0.574342 1.00000000 -F 1 - 1 1.905783 1.00000000 -F 1 - 1 6.323772 1.00000000 -G 1 - 1 1.312433 1.00000000 -G 1 - 1 4.581075 1.00000000 -H 1 - 1 2.901601 1.00000000 - -NICKEL - S 13 - 1 97.161835 0.00070900 - 2 51.187866 -0.01239900 - 3 26.996725 0.10722000 - 4 15.523536 -0.12455600 - 5 8.916168 -0.35102300 - 6 4.795806 -0.02575800 - 7 2.619926 0.49894800 - 8 1.330111 0.56898600 - 9 0.668901 0.19112100 - 10 0.230439 0.01027800 - 11 0.121518 -0.00362700 - 12 0.057951 0.00129500 - 13 0.027201 -0.00030700 -S 13 - 1 97.161835 -0.00014000 - 2 51.187866 0.00275600 - 3 26.996725 -0.02548200 - 4 15.523536 0.03218200 - 5 8.916168 0.08622600 - 6 4.795806 0.00110400 - 7 2.619926 -0.13579000 - 8 1.330111 -0.21572400 - 9 0.668901 -0.15836700 - 10 0.230439 0.14349900 - 11 0.121518 0.44367200 - 12 0.057951 0.47255800 - 13 0.027201 0.11017300 -S 13 - 1 97.161835 0.00012100 - 2 51.187866 0.00332200 - 3 26.996725 -0.04578500 - 4 15.523536 0.05341500 - 5 8.916168 0.22227000 - 6 4.795806 -0.07306500 - 7 2.619926 -0.29399800 - 8 1.330111 -0.66893800 - 9 0.668901 0.29750400 - 10 0.230439 1.23374800 - 11 0.121518 0.12931700 - 12 0.057951 -0.60340700 - 13 0.027201 -0.53306200 -S 13 - 1 97.161835 0.00043400 - 2 51.187866 0.00484800 - 3 26.996725 -0.08781800 - 4 15.523536 0.12185200 - 5 8.916168 0.45421800 - 6 4.795806 -0.24576500 - 7 2.619926 -0.99734500 - 8 1.330111 -0.83458600 - 9 0.668901 2.28567500 - 10 0.230439 0.25153800 - 11 0.121518 -1.98879600 - 12 0.057951 0.34760200 - 13 0.027201 0.82415000 -S 13 - 1 97.161835 0.00246100 - 2 51.187866 -0.02346000 - 3 26.996725 0.19859000 - 4 15.523536 -0.40252500 - 5 8.916168 -0.40556800 - 6 4.795806 0.38789300 - 7 2.619926 2.68467900 - 8 1.330111 -2.95595600 - 9 0.668901 -0.66746700 - 10 0.230439 4.09407400 - 11 0.121518 -3.10335500 - 12 0.057951 -0.76872800 - 13 0.027201 1.33121700 -S 1 - 1 0.027201 1.00000000 -P 13 - 1 148.087630 0.00005500 - 2 77.452187 -0.00054800 - 3 40.915636 0.00697900 - 4 22.575667 -0.02365800 - 5 13.218268 -0.07568200 - 6 7.232093 0.02725300 - 7 4.054870 0.28477800 - 8 2.122089 0.42763200 - 9 1.092769 0.30993700 - 10 0.548240 0.08853500 - 11 0.238886 0.00642700 - 12 0.084667 0.00070800 - 13 0.038921 0.00018600 -P 13 - 1 148.087630 0.00002700 - 2 77.452187 -0.00008800 - 3 40.915636 -0.00077300 - 4 22.575667 0.00334500 - 5 13.218268 0.01940500 - 6 7.232093 -0.01428800 - 7 4.054870 -0.05452700 - 8 2.122089 -0.11645400 - 9 1.092769 -0.06023600 - 10 0.548240 -0.02392800 - 11 0.238886 0.34786900 - 12 0.084667 0.52262600 - 13 0.038921 0.27647100 -P 13 - 1 148.087630 -0.00023700 - 2 77.452187 0.00145600 - 3 40.915636 -0.00974500 - 4 22.575667 0.03779900 - 5 13.218268 0.05252100 - 6 7.232093 -0.03500600 - 7 4.054870 -0.45557700 - 8 2.122089 -0.36830600 - 9 1.092769 0.10039200 - 10 0.548240 1.07665200 - 11 0.238886 -0.04532600 - 12 0.084667 -0.70318600 - 13 0.038921 0.00458000 -P 13 - 1 148.087630 -0.00026000 - 2 77.452187 0.00107100 - 3 40.915636 0.00232200 - 4 22.575667 -0.03214000 - 5 13.218268 -0.13413600 - 6 7.232093 0.22906200 - 7 4.054870 0.75223900 - 8 2.122089 0.20553500 - 9 1.092769 -1.69291000 - 10 0.548240 0.43629500 - 11 0.238886 1.21951400 - 12 0.084667 -0.94551600 - 13 0.038921 -0.06223200 -P 13 - 1 148.087630 0.00008000 - 2 77.452187 -0.00010100 - 3 40.915636 -0.00649200 - 4 22.575667 0.08312900 - 5 13.218268 0.19539300 - 6 7.232093 -0.76580600 - 7 4.054870 -1.20601700 - 8 2.122089 2.42444400 - 9 1.092769 -0.07938700 - 10 0.548240 -2.32544900 - 11 0.238886 2.12913300 - 12 0.084667 -0.73358500 - 13 0.038921 -0.18044400 -P 1 - 1 0.038921 1.00000000 -D 11 - 1 177.900125 0.00004900 - 2 57.372112 0.00751900 - 3 29.881432 0.03645500 - 4 13.971757 0.08690100 - 5 6.841152 0.18056800 - 6 3.379983 0.26818700 - 7 1.651827 0.29675600 - 8 0.799251 0.25155800 - 9 0.388057 0.16231900 - 10 0.191191 0.07211900 - 11 0.093358 0.02368900 -D 11 - 1 177.900125 -0.00005300 - 2 57.372112 -0.00885000 - 3 29.881432 -0.04191600 - 4 13.971757 -0.10469100 - 5 6.841152 -0.21946400 - 6 3.379983 -0.28371200 - 7 1.651827 -0.12212700 - 8 0.799251 0.19012300 - 9 0.388057 0.37659800 - 10 0.191191 0.29512200 - 11 0.093358 0.17825200 -D 11 - 1 177.900125 0.00007900 - 2 57.372112 0.01144200 - 3 29.881432 0.05397200 - 4 13.971757 0.14106800 - 5 6.841152 0.30229400 - 6 3.379983 0.23655800 - 7 1.651827 -0.29131100 - 8 0.799251 -0.58175800 - 9 0.388057 -0.02406300 - 10 0.191191 0.38938700 - 11 0.093358 0.43083300 -D 11 - 1 177.900125 -0.00012400 - 2 57.372112 -0.01660200 - 3 29.881432 -0.07753300 - 4 13.971757 -0.22182600 - 5 6.841152 -0.48165800 - 6 3.379983 0.18244700 - 7 1.651827 0.94562600 - 8 0.799251 -0.33424100 - 9 0.388057 -0.76116400 - 10 0.191191 0.13681600 - 11 0.093358 0.60078500 -D 1 - 1 0.093358 1.00000000 -F 1 - 1 0.659980 1.00000000 -F 1 - 1 2.182234 1.00000000 -F 1 - 1 7.215589 1.00000000 -G 1 - 1 1.549000 1.00000000 -G 1 - 1 5.290163 1.00000000 -H 1 - 1 3.361535 1.00000000 - -COPPER - S 13 - 1 104.471138 0.00074100 - 2 55.955221 -0.01395300 - 3 30.553953 0.10526600 - 4 16.942394 -0.12939900 - 5 9.452707 -0.36273800 - 6 5.174537 0.01326600 - 7 2.779171 0.48928800 - 8 1.441817 0.56208800 - 9 0.710674 0.19004700 - 10 0.241540 0.00563500 - 11 0.129621 -0.00058200 - 12 0.059229 -0.00002400 - 13 0.027110 0.00003000 -S 13 - 1 104.471138 -0.00013300 - 2 55.955221 0.00299900 - 3 30.553953 -0.02431000 - 4 16.942394 0.03198600 - 5 9.452707 0.08914900 - 6 5.174537 -0.01075000 - 7 2.779171 -0.12822400 - 8 1.441817 -0.21572000 - 9 0.710674 -0.14955900 - 10 0.241540 0.14291700 - 11 0.129621 0.44630700 - 12 0.059229 0.48464300 - 13 0.027110 0.09306900 -S 13 - 1 104.471138 0.00021000 - 2 55.955221 0.00380600 - 3 30.553953 -0.04731200 - 4 16.942394 0.05995700 - 5 9.452707 0.25064200 - 6 5.174537 -0.11910200 - 7 2.779171 -0.31406900 - 8 1.441817 -0.68930000 - 9 0.710674 0.40305000 - 10 0.241540 1.27044000 - 11 0.129621 -0.02902900 - 12 0.059229 -0.62215700 - 13 0.027110 -0.44207400 -S 13 - 1 104.471138 0.00036600 - 2 55.955221 0.00672000 - 3 30.553953 -0.09149300 - 4 16.942394 0.14226300 - 5 9.452707 0.47188100 - 6 5.174537 -0.31970800 - 7 2.779171 -1.06825500 - 8 1.441817 -0.61504900 - 9 0.710674 2.26128200 - 10 0.241540 -0.02005900 - 11 0.129621 -1.81574600 - 12 0.059229 0.47417400 - 13 0.027110 0.71359700 -S 13 - 1 104.471138 0.00267900 - 2 55.955221 -0.02626700 - 3 30.553953 0.19212900 - 4 16.942394 -0.40421800 - 5 9.452707 -0.43460200 - 6 5.174537 0.55567400 - 7 2.779171 2.61821100 - 8 1.441817 -3.20734300 - 9 0.710674 -0.33054500 - 10 0.241540 4.04196600 - 11 0.129621 -3.35549700 - 12 0.059229 -0.48399100 - 13 0.027110 1.21366400 -S 1 - 1 0.027110 1.00000000 -P 13 - 1 159.152840 0.00002600 - 2 83.322776 -0.00040200 - 3 44.840311 0.00740500 - 4 25.020360 -0.03071400 - 5 13.610016 -0.07434800 - 6 7.761318 0.04343000 - 7 4.303947 0.28970300 - 8 2.290080 0.41346700 - 9 1.202173 0.30376200 - 10 0.607647 0.09349400 - 11 0.257656 0.00666300 - 12 0.090897 0.00056700 - 13 0.041925 0.00017600 -P 13 - 1 159.152840 0.00003400 - 2 83.322776 -0.00012900 - 3 44.840311 -0.00080200 - 4 25.020360 0.00474700 - 5 13.610016 0.01859500 - 6 7.761318 -0.01769200 - 7 4.303947 -0.05261400 - 8 2.290080 -0.11034900 - 9 1.202173 -0.05470100 - 10 0.607647 -0.02665500 - 11 0.257656 0.33588000 - 12 0.090897 0.50947800 - 13 0.041925 0.30255900 -P 13 - 1 159.152840 -0.00022800 - 2 83.322776 0.00141400 - 3 44.840311 -0.01029000 - 4 25.020360 0.04389600 - 5 13.610016 0.05286500 - 6 7.761318 -0.05656500 - 7 4.303947 -0.48071500 - 8 2.290080 -0.31598400 - 9 1.202173 0.07567900 - 10 0.607647 1.06074700 - 11 0.257656 -0.00806100 - 12 0.090897 -0.70160100 - 13 0.041925 0.00694100 -P 13 - 1 159.152840 -0.00041200 - 2 83.322776 0.00195700 - 3 44.840311 0.00064000 - 4 25.020360 -0.03675300 - 5 13.610016 -0.14719300 - 6 7.761318 0.29778200 - 7 4.303947 0.70527100 - 8 2.290080 0.19646600 - 9 1.202173 -1.65940600 - 10 0.607647 0.39150000 - 11 0.257656 1.24328400 - 12 0.090897 -0.95752900 - 13 0.041925 -0.05609100 -P 13 - 1 159.152840 0.00032900 - 2 83.322776 -0.00156500 - 3 44.840311 -0.00336900 - 4 25.020360 0.08790300 - 5 13.610016 0.22132700 - 6 7.761318 -0.92400600 - 7 4.303947 -1.00731600 - 8 2.290080 2.32431200 - 9 1.202173 0.00119100 - 10 0.607647 -2.32974500 - 11 0.257656 2.05959900 - 12 0.090897 -0.70662000 - 13 0.041925 -0.18479700 -P 1 - 1 0.041925 1.00000000 -D 11 - 1 226.693527 0.00001500 - 2 73.010278 0.00410800 - 3 38.536518 0.02822300 - 4 18.726700 0.06932300 - 5 9.155485 0.15604500 - 6 4.540884 0.25123800 - 7 2.241175 0.29746300 - 8 1.085869 0.27498100 - 9 0.510612 0.19309800 - 10 0.229608 0.08639300 - 11 0.095781 0.01464500 -D 11 - 1 226.693527 -0.00001300 - 2 73.010278 -0.00525200 - 3 38.536518 -0.03498200 - 4 18.726700 -0.08895000 - 5 9.155485 -0.20719400 - 6 4.540884 -0.30259700 - 7 2.241175 -0.17932700 - 8 1.085869 0.16906900 - 9 0.510612 0.40590400 - 10 0.229608 0.34187100 - 11 0.095781 0.11708000 -D 11 - 1 226.693527 0.00001600 - 2 73.010278 0.00615700 - 3 38.536518 0.04036100 - 4 18.726700 0.10603800 - 5 9.155485 0.26329900 - 6 4.540884 0.28849600 - 7 2.241175 -0.18674500 - 8 1.085869 -0.59153900 - 9 0.510612 -0.13868100 - 10 0.229608 0.54774900 - 11 0.095781 0.36235300 -D 11 - 1 226.693527 -0.00007200 - 2 73.010278 -0.00870300 - 3 38.536518 -0.06059400 - 4 18.726700 -0.16022100 - 5 9.155485 -0.45749500 - 6 4.540884 -0.08760700 - 7 2.241175 0.95305600 - 8 1.085869 0.02518500 - 9 0.510612 -0.98463700 - 10 0.229608 0.25844200 - 11 0.095781 0.52511300 -D 1 - 1 0.095781 1.00000000 -F 1 - 1 0.771365 1.00000000 -F 1 - 1 2.515691 1.00000000 -F 1 - 1 8.204550 1.00000000 -G 1 - 1 1.798933 1.00000000 -G 1 - 1 6.136209 1.00000000 -H 1 - 1 3.867803 1.00000000 - -ZINC - S 13 - 1 114.485022 0.00042900 - 2 61.996430 -0.01933900 - 3 40.117132 0.08625400 - 4 20.119649 -0.08895500 - 5 10.171676 -0.40267100 - 6 5.601641 0.06730400 - 7 2.864122 0.47921500 - 8 1.592779 0.50396000 - 9 0.826525 0.22208800 - 10 0.263975 0.01220300 - 11 0.145302 -0.00430000 - 12 0.068195 0.00124300 - 13 0.031465 -0.00026700 -S 13 - 1 114.485022 -0.00010900 - 2 61.996430 0.00445900 - 3 40.117132 -0.02006700 - 4 20.119649 0.02233800 - 5 10.171676 0.09669800 - 6 5.601641 -0.02196600 - 7 2.864122 -0.12876800 - 8 1.592779 -0.18170600 - 9 0.826525 -0.16231100 - 10 0.263975 0.11626400 - 11 0.145302 0.41131400 - 12 0.068195 0.49425700 - 13 0.031465 0.13810300 -S 13 - 1 114.485022 0.00066600 - 2 61.996430 0.00626900 - 3 40.117132 -0.04660300 - 4 20.119649 0.05039900 - 5 10.171676 0.36349300 - 6 5.601641 -0.24284000 - 7 2.864122 -0.38228100 - 8 1.592779 -0.86156700 - 9 0.826525 0.70607700 - 10 0.263975 1.49500100 - 11 0.145302 -0.45399400 - 12 0.068195 -0.59782200 - 13 0.031465 -0.25611700 -S 13 - 1 114.485022 0.00070400 - 2 61.996430 0.01284100 - 3 40.117132 -0.08591000 - 4 20.119649 0.11798200 - 5 10.171676 0.63016400 - 6 5.601641 -0.60034400 - 7 2.864122 -1.24906000 - 8 1.592779 -0.32949800 - 9 0.826525 2.59246900 - 10 0.263975 -1.00448100 - 11 0.145302 -1.37951400 - 12 0.068195 1.04684200 - 13 0.031465 0.32467600 -S 13 - 1 114.485022 0.00561400 - 2 61.996430 -0.06659000 - 3 40.117132 0.24276300 - 4 20.119649 -0.43396800 - 5 10.171676 -0.79971200 - 6 5.601641 1.54215100 - 7 2.864122 3.08029900 - 8 1.592779 -6.19825000 - 9 0.826525 2.58176600 - 10 0.263975 3.21198800 - 11 0.145302 -4.76745700 - 12 0.068195 1.67656100 - 13 0.031465 0.27090900 -S 1 - 1 0.031465 1.00000000 -P 13 - 1 158.770986 -0.00015300 - 2 75.802876 0.00189300 - 3 44.547824 0.01046100 - 4 31.445269 -0.04514100 - 5 13.080125 -0.08420100 - 6 7.788616 0.10497300 - 7 4.195040 0.30771400 - 8 2.362276 0.36856300 - 9 1.302584 0.28633600 - 10 0.660704 0.09515600 - 11 0.249042 0.00585100 - 12 0.091781 -0.00003400 - 13 0.048931 0.00025200 -P 13 - 1 158.770986 0.00005300 - 2 75.802876 -0.00057100 - 3 44.547824 -0.00107300 - 4 31.445269 0.00746300 - 5 13.080125 0.01867600 - 6 7.788616 -0.02809000 - 7 4.195040 -0.05443800 - 8 2.362276 -0.09374400 - 9 1.302584 -0.05416900 - 10 0.660704 -0.00797200 - 11 0.249042 0.35619800 - 12 0.091781 0.41239900 - 13 0.048931 0.36132100 -P 13 - 1 158.770986 -0.00017000 - 2 75.802876 0.00060400 - 3 44.547824 -0.01998700 - 4 31.445269 0.06115300 - 5 13.080125 0.06731700 - 6 7.788616 -0.13921100 - 7 4.195040 -0.52704100 - 8 2.362276 -0.17619400 - 9 1.302584 0.03712900 - 10 0.660704 1.07932200 - 11 0.249042 -0.05014900 - 12 0.091781 -0.68897100 - 13 0.048931 0.03733100 -P 13 - 1 158.770986 -0.00078100 - 2 75.802876 0.00785500 - 3 44.547824 -0.00867100 - 4 31.445269 -0.04055300 - 5 13.080125 -0.20006200 - 6 7.788616 0.52859900 - 7 4.195040 0.52855200 - 8 2.362276 0.24357600 - 9 1.302584 -1.80718200 - 10 0.660704 0.62949600 - 11 0.249042 1.13761300 - 12 0.091781 -1.06715000 - 13 0.048931 0.02219000 -P 13 - 1 158.770986 -0.00030400 - 2 75.802876 0.00006000 - 3 44.547824 -0.03693100 - 4 31.445269 0.14601900 - 5 13.080125 0.22210400 - 6 7.788616 -1.20631000 - 7 4.195040 -0.64408400 - 8 2.362276 2.39813600 - 9 1.302584 -0.30444100 - 10 0.660704 -1.96089400 - 11 0.249042 1.89540000 - 12 0.091781 -0.82157700 - 13 0.048931 -0.13247100 -P 1 - 1 0.048931 1.00000000 -D 11 - 1 270.014061 -0.00001600 - 2 100.161579 0.00069600 - 3 43.530609 0.01353600 - 4 21.262419 0.06935000 - 5 10.577821 0.14955900 - 6 5.343620 0.23958800 - 7 2.704857 0.28674400 - 8 1.353018 0.27145900 - 9 0.660873 0.20242600 - 10 0.309149 0.10330700 - 11 0.133879 0.02321100 -D 11 - 1 270.014061 0.00001300 - 2 100.161579 -0.00088900 - 3 43.530609 -0.01864000 - 4 21.262419 -0.09464600 - 5 10.577821 -0.21565900 - 6 5.343620 -0.32246900 - 7 2.704857 -0.19752900 - 8 1.353018 0.16444800 - 9 0.660873 0.41001700 - 10 0.309149 0.32783800 - 11 0.133879 0.10574900 -D 11 - 1 270.014061 0.00000700 - 2 100.161579 0.00086800 - 3 43.530609 0.02163100 - 4 21.262419 0.10774800 - 5 10.577821 0.27899700 - 6 5.343620 0.31454300 - 7 2.704857 -0.24192600 - 8 1.353018 -0.60241500 - 9 0.660873 -0.11801300 - 10 0.309149 0.54548200 - 11 0.133879 0.36382900 -D 11 - 1 270.014061 -0.00008800 - 2 100.161579 -0.00067400 - 3 43.530609 -0.03072600 - 4 21.262419 -0.14321800 - 5 10.577821 -0.44533000 - 6 5.343620 -0.13669300 - 7 2.704857 0.92782300 - 8 1.353018 0.14320400 - 9 0.660873 -1.06020200 - 10 0.309149 0.16045200 - 11 0.133879 0.65854200 -D 1 - 1 0.133879 1.00000000 -F 1 - 1 0.881237 1.00000000 -F 1 - 1 2.855136 1.00000000 -F 1 - 1 9.250405 1.00000000 -G 1 - 1 2.097503 1.00000000 -G 1 - 1 7.061991 1.00000000 -H 1 - 1 4.405055 1.00000000 - - diff --git a/data/basis/cc-pvtz_ecp_ncsu b/data/basis/cc-pvtz_ecp_ncsu deleted file mode 100644 index 97646f97..00000000 --- a/data/basis/cc-pvtz_ecp_ncsu +++ /dev/null @@ -1,2309 +0,0 @@ -BORON - S 9 -1 11.76050 -0.0036757 -2 5.150520 0.0250517 -3 2.578276 -0.1249228 -4 1.290648 -0.0662874 -5 0.646080 0.1007341 -6 0.323418 0.3375492 -7 0.161898 0.4308431 -8 0.081044 0.2486558 -9 0.040569 0.0317295 -S 1 -1 0.626026 1.000000 -S 1 -1 0.092094 1.000000 -P 9 -1 7.470701 0.0047397 -2 3.735743 0.0376009 -3 1.868068 0.0510600 -4 0.934132 0.1456587 -5 0.467115 0.2237933 -6 0.233582 0.3199467 -7 0.116803 0.2850185 -8 0.058408 0.1448808 -9 0.029207 0.0176962 -P 1 -1 0.235016 1.000000 -P 1 -1 0.082056 1.000000 -D 1 -1 0.699153 1.000000 -D 1 -1 0.207316 1.000000 -F 1 -1 0.478872 1.000000 - -CARBON - S 9 -1 13.073594 0.0051583 -2 6.541187 0.0603424 -3 4.573411 -0.1978471 -4 1.637494 -0.0810340 -5 0.819297 0.2321726 -6 0.409924 0.2914643 -7 0.231300 0.4336405 -8 0.102619 0.2131940 -9 0.051344 0.0049848 -S 1 -1 0.921552 1.000000 -S 1 -1 0.132800 1.000000 -P 9 -1 9.934169 0.0209076 -2 3.886955 0.0572698 -3 1.871016 0.1122682 -4 0.935757 0.2130082 -5 0.468003 0.2835815 -6 0.239473 0.3011207 -7 0.117063 0.2016934 -8 0.058547 0.0453575 -9 0.029281 0.0029775 -P 1 -1 0.376742 1.000000 -P 1 -1 0.126772 1.000000 -D 1 -1 1.141611 1.000000 -D 1 -1 0.329486 1.000000 -F 1 -1 0.773485 1.000000 - -NITROGEN - S 9 -1 42.693822 -0.0009357 -2 19.963207 0.0063295 -3 9.3345971 0.0105038 -4 4.9278187 -0.1653735 -5 2.040920 -0.0005352 -6 0.967080 0.2452063 -7 0.476131 0.4582128 -8 0.211443 0.3641224 -9 0.098869 0.0620406 -S 1 -1 1.202183 1.0000000 -S 1 -1 0.163243 1.0000000 -P 9 -1 18.925871 0.0073505 -2 9.225603 0.0292844 -3 4.581431 0.0652168 -4 2.300164 0.1405153 -5 1.154825 0.2328188 -6 0.582039 0.2989556 -7 0.290535 0.2802507 -8 0.145867 0.1527995 -9 0.073234 0.0355475 -P 1 -1 0.517547 1.0000000 -P 1 -1 0.170104 1.0000000 -D 1 -1 1.712416 1.0000000 -D 1 -1 0.483567 1.0000000 -F 1 -1 1.093097 1.0000000 - -OXYGEN - S 9 -1 54.775216 -0.0012444 -2 25.616801 0.0107330 -3 11.980245 0.0018889 -4 6.992317 -0.1742537 -5 2.620277 0.0017622 -6 1.225429 0.3161846 -7 0.577797 0.4512023 -8 0.268022 0.3121534 -9 0.125346 0.0511167 -S 1 -1 1.686633 1.0000000 -S 1 -1 0.237997 1.0000000 -P 9 -1 22.217266 0.0104866 -2 10.74755 0.0366435 -3 5.315785 0.0803674 -4 2.660761 0.1627010 -5 1.331816 0.2377791 -6 0.678626 0.2811422 -7 0.333673 0.2643189 -8 0.167017 0.1466014 -9 0.083598 0.0458145 -P 1 -1 0.600621 1.0000000 -P 1 -1 0.184696 1.0000000 -D 1 -1 2.404278 1.0000000 -D 1 -1 0.669340 1.0000000 -F 1 -1 1.423104 1.0000000 - -SODIUM - S 12 - 1 50.364926 -0.00144900 - 2 24.480199 -0.00059000 - 3 11.898760 -0.11881800 - 4 5.783470 -0.01085600 - 5 2.811093 0.25078300 - 6 1.366350 0.44727600 - 7 0.664123 0.34725400 - 8 0.322801 0.08065200 - 9 0.156900 0.00120800 - 10 0.076262 0.00040900 - 11 0.037068 0.00011200 - 12 0.018017 0.00007200 -S 12 - 1 50.364926 0.00021200 - 2 24.480199 0.00037900 - 3 11.898760 0.01958200 - 4 5.783470 0.00062300 - 5 2.811093 -0.04578100 - 6 1.366350 -0.08872800 - 7 0.664123 -0.11295200 - 8 0.322801 -0.10839600 - 9 0.156900 0.00990100 - 10 0.076262 0.35541800 - 11 0.037068 0.56145100 - 12 0.018017 0.19899800 -S 1 - 1 0.521238 1.00000000 -S 1 - 1 0.067262 1.00000000 -P 12 - 1 77.769943 0.00005400 - 2 42.060816 -0.00001600 - 3 22.748020 0.01257100 - 4 12.302957 0.07960100 - 5 6.653887 0.14044200 - 6 3.598664 0.21214100 - 7 1.946289 0.26179900 - 8 1.052624 0.25582000 - 9 0.569297 0.18035900 - 10 0.307897 0.07216500 - 11 0.166522 0.01066300 - 12 0.090061 0.00153800 -P 12 - 1 77.769943 -0.00065600 - 2 42.060816 0.00313700 - 3 22.748020 -0.01100400 - 4 12.302957 0.00937600 - 5 6.653887 -0.06647900 - 6 3.598664 0.05895900 - 7 1.946289 -0.22105000 - 8 1.052624 0.30349100 - 9 0.569297 -0.67170500 - 10 0.307897 1.06436000 - 11 0.166522 -1.53048900 - 12 0.090061 1.84316700 -P 1 - 1 0.083396 1.00000000 -P 1 - 1 0.036236 1.00000000 -D 1 - 1 0.669522 1.00000000 -D 1 - 1 0.089604 1.00000000 -F 1 - 1 0.134692 1.00000000 - -MAGNESIUM - S 12 - 1 63.931893 -0.00079400 - 2 31.602596 0.00747900 - 3 15.621687 -0.13624600 - 4 7.722059 -0.03203300 - 5 3.817142 0.21682300 - 6 1.886877 0.45136400 - 7 0.932714 0.37759900 - 8 0.461056 0.09431900 - 9 0.227908 0.00170300 - 10 0.112659 0.00048500 - 11 0.055689 -0.00015100 - 12 0.027528 0.00003100 -S 12 - 1 63.931893 0.00010600 - 2 31.602596 -0.00108600 - 3 15.621687 0.02867600 - 4 7.722059 0.00578100 - 5 3.817142 -0.05065300 - 6 1.886877 -0.11687700 - 7 0.932714 -0.16512100 - 8 0.461056 -0.11801600 - 9 0.227908 0.10836500 - 10 0.112659 0.41475500 - 11 0.055689 0.47763300 - 12 0.027528 0.17347600 -S 1 - 1 0.244655 1.00000000 -S 1 - 1 0.038921 1.00000000 -P 12 - 1 28.231094 0.01131700 - 2 14.891993 0.08703900 - 3 7.855575 0.16268300 - 4 4.143841 0.24138600 - 5 2.185889 0.29006400 - 6 1.153064 0.25299100 - 7 0.608245 0.13309700 - 8 0.320851 0.02894100 - 9 0.169250 0.00320900 - 10 0.089280 0.00026800 - 11 0.047095 0.00025700 - 12 0.024843 -0.00003700 -P 12 - 1 28.231094 -0.00182200 - 2 14.891993 -0.01360300 - 3 7.855575 -0.02570000 - 4 4.143841 -0.03907600 - 5 2.185889 -0.04877900 - 6 1.153064 -0.04599000 - 7 0.608245 -0.03165800 - 8 0.320851 0.04917800 - 9 0.169250 0.18690900 - 10 0.089280 0.37939600 - 11 0.047095 0.33543100 - 12 0.024843 0.18405800 -P 1 - 1 0.183646 1.00000000 -P 1 - 1 0.085242 1.00000000 -D 1 - 1 0.301585 1.00000000 -D 1 - 1 0.124814 1.00000000 -F 1 - 1 0.243874 1.00000000 - -ALUMINUM - S 12 - 1 78.990577 -0.00048100 - 2 39.484884 0.01309500 - 3 19.737241 -0.14615300 - 4 9.866021 -0.04520600 - 5 4.931711 0.19070800 - 6 2.465206 0.45320700 - 7 1.232278 0.39882400 - 8 0.615977 0.10364800 - 9 0.307907 0.00224700 - 10 0.153913 0.00079000 - 11 0.076936 -0.00014000 - 12 0.038458 0.00006400 -S 12 - 1 78.990577 0.00002400 - 2 39.484884 -0.00262700 - 3 19.737241 0.03694800 - 4 9.866021 0.01070500 - 5 4.931711 -0.05334200 - 6 2.465206 -0.14418800 - 7 1.232278 -0.21396900 - 8 0.615977 -0.12558500 - 9 0.307907 0.19397000 - 10 0.153913 0.48467400 - 11 0.076936 0.41941400 - 12 0.038458 0.11043000 -S 1 - 1 0.062744 1.00000000 -S 1 - 1 0.385867 1.00000000 -P 12 - 1 33.993368 0.01190800 - 2 17.617051 0.09748500 - 3 9.130030 0.18047400 - 4 4.731635 0.26552200 - 5 2.452168 0.30797700 - 6 1.270835 0.23506100 - 7 0.658610 0.08963100 - 8 0.341324 0.01108300 - 9 0.176891 0.00157700 - 10 0.091674 0.00000700 - 11 0.047510 0.00021500 - 12 0.024622 -0.00002200 -P 12 - 1 33.993368 -0.00218300 - 2 17.617051 -0.01736200 - 3 9.130030 -0.03229200 - 4 4.731635 -0.04981000 - 5 2.452168 -0.05992600 - 6 1.270835 -0.05255300 - 7 0.658610 0.00198900 - 8 0.341324 0.13005200 - 9 0.176891 0.28008900 - 10 0.091674 0.37433900 - 11 0.047510 0.27285700 - 12 0.024622 0.08514500 -P 1 - 1 0.043756 1.00000000 -P 1 - 1 0.286002 1.00000000 -D 1 - 1 0.109206 1.00000000 -D 1 - 1 0.327838 1.00000000 -F 1 - 1 0.254342 1.00000000 - -SILICON - S 12 - 1 96.651837 -0.00044000 - 2 48.652547 0.01867100 - 3 24.490692 -0.15435300 - 4 12.328111 -0.05773800 - 5 6.205717 0.16808700 - 6 3.123831 0.45342800 - 7 1.572472 0.41767500 - 8 0.791550 0.11190100 - 9 0.398450 0.00333700 - 10 0.200572 0.00099500 - 11 0.100964 -0.00003800 - 12 0.050823 0.00006900 -S 12 - 1 96.651837 -0.00000400 - 2 48.652547 -0.00442100 - 3 24.490692 0.04336200 - 4 12.328111 0.01585300 - 5 6.205717 -0.05170600 - 6 3.123831 -0.16289500 - 7 1.572472 -0.25021800 - 8 0.791550 -0.12421600 - 9 0.398450 0.24632500 - 10 0.200572 0.50589900 - 11 0.100964 0.38631400 - 12 0.050823 0.08770100 -S 1 - 1 0.547336 1.00000000 -S 1 - 1 0.088480 1.00000000 -P 12 - 1 40.315996 0.01293800 - 2 21.171265 0.09812900 - 3 11.117733 0.17932400 - 4 5.838290 0.26388600 - 5 3.065879 0.30927200 - 6 1.609995 0.23274800 - 7 0.845462 0.08590000 - 8 0.443980 0.01026000 - 9 0.233149 0.00156000 - 10 0.122434 -0.00000300 - 11 0.064294 0.00023200 - 12 0.033763 -0.00002300 -P 12 - 1 40.315996 0.00283300 - 2 21.171265 0.02086900 - 3 11.117733 0.03823600 - 4 5.838290 0.05967900 - 5 3.065879 0.07277600 - 6 1.609995 0.06112900 - 7 0.845462 -0.01677600 - 8 0.443980 -0.17225900 - 9 0.233149 -0.32119600 - 10 0.122434 -0.36282800 - 11 0.064294 -0.22078900 - 12 0.033763 -0.05515200 -P 1 - 1 0.443733 1.00000000 -P 1 - 1 0.067145 1.00000000 -D 1 - 1 0.473506 1.00000000 -D 1 - 1 0.157898 1.00000000 -F 1 - 1 0.345983 1.00000000 - -PHOSPHORUS - S 12 - 1 269.443884 0.00005500 - 2 127.601401 -0.00062400 - 3 60.428603 0.01940000 - 4 28.617367 -0.16550900 - 5 13.552418 -0.05426500 - 6 6.418062 0.25444000 - 7 3.039422 0.54966100 - 8 1.439389 0.32228500 - 9 0.681656 0.02663200 - 10 0.322814 0.00420300 - 11 0.152876 -0.00123300 - 12 0.072398 0.00049700 -S 12 - 1 269.443884 0.00001800 - 2 127.601401 -0.00002600 - 3 60.428603 -0.00493300 - 4 28.617367 0.05012000 - 5 13.552418 0.01580100 - 6 6.418062 -0.08446300 - 7 3.039422 -0.24674200 - 8 1.439389 -0.27632600 - 9 0.681656 0.10027400 - 10 0.322814 0.51720100 - 11 0.152876 0.47975800 - 12 0.072398 0.12409900 -S 1 - 1 0.115599 1.00000000 -S 1 - 1 0.725938 1.00000000 -P 12 - 1 48.154282 0.01288400 - 2 25.406431 0.09709500 - 3 13.404555 0.17821500 - 4 7.072308 0.26596400 - 5 3.731384 0.31293300 - 6 1.968696 0.23068600 - 7 1.038693 0.08048900 - 8 0.548020 0.00908500 - 9 0.289138 0.00124800 - 10 0.152550 -0.00006600 - 11 0.080486 0.00012900 - 12 0.042465 -0.00002900 -P 12 - 1 48.154282 -0.00315200 - 2 25.406431 -0.02300600 - 3 13.404555 -0.04239800 - 4 7.072308 -0.06747700 - 5 3.731384 -0.08295200 - 6 1.968696 -0.06602600 - 7 1.038693 0.03446800 - 8 0.548020 0.20901800 - 9 0.289138 0.34717900 - 10 0.152550 0.34480600 - 11 0.080486 0.18173100 - 12 0.042465 0.03664900 -P 1 - 1 0.093233 1.00000000 -P 1 - 1 0.625438 1.00000000 -D 1 - 1 0.214392 1.00000000 -D 1 - 1 0.643126 1.00000000 -F 1 - 1 0.457026 1.00000000 - -SULFUR - S 12 - 1 306.317903 0.00006400 - 2 146.602801 -0.00078500 - 3 70.163647 0.02247100 - 4 33.580104 -0.16987100 - 5 16.071334 -0.06189700 - 6 7.691691 0.24003900 - 7 3.681219 0.55164900 - 8 1.761820 0.33438600 - 9 0.843202 0.03132300 - 10 0.403554 0.00443600 - 11 0.193140 -0.00101500 - 12 0.092436 0.00050700 -S 12 - 1 306.317903 0.00002100 - 2 146.602801 -0.00000400 - 3 70.163647 -0.00611900 - 4 33.580104 0.05447100 - 5 16.071334 0.01934400 - 6 7.691691 -0.08383900 - 7 3.681219 -0.26532200 - 8 1.761820 -0.29306500 - 9 0.843202 0.11373000 - 10 0.403554 0.52928200 - 11 0.193140 0.46625400 - 12 0.092436 0.12580000 -S 1 - 1 0.898845 1.00000000 -S 1 - 1 0.146364 1.00000000 -P 12 - 1 55.148271 0.01344700 - 2 29.056588 0.10167000 - 3 15.309371 0.18519200 - 4 8.066220 0.27583600 - 5 4.249940 0.31707300 - 6 2.239213 0.21706600 - 7 1.179799 0.06576500 - 8 0.621614 0.00651700 - 9 0.327517 0.00111100 - 10 0.172562 0.00022200 - 11 0.090920 0.00018100 - 12 0.047904 0.00000800 -P 12 - 1 55.148271 0.00354200 - 2 29.056588 0.02579700 - 3 15.309371 0.04726000 - 4 8.066220 0.07559400 - 5 4.249940 0.09198000 - 6 2.239213 0.06206700 - 7 1.179799 -0.07125300 - 8 0.621614 -0.25020600 - 9 0.327517 -0.34929500 - 10 0.172562 -0.31270000 - 11 0.090920 -0.15589800 - 12 0.047904 -0.03041800 -P 1 - 1 0.801169 1.00000000 -P 1 - 1 0.110470 1.00000000 -D 1 - 1 0.812301 1.00000000 -D 1 - 1 0.268088 1.00000000 -F 1 - 1 0.555565 1.00000000 - -CHLORINE - S 12 - 1 352.930099 0.00004300 - 2 170.036562 -0.00070500 - 3 81.921130 0.02320900 - 4 39.468403 -0.16508500 - 5 19.015299 -0.07748000 - 6 9.161293 0.22554400 - 7 4.413777 0.55280100 - 8 2.126493 0.34903400 - 9 1.024513 0.03580300 - 10 0.493596 0.00503900 - 11 0.237807 -0.00097200 - 12 0.114572 0.00056000 -S 12 - 1 352.930099 0.00002300 - 2 170.036562 -0.00000300 - 3 81.921130 -0.00674800 - 4 39.468403 0.05565800 - 5 19.015299 0.02530900 - 6 9.161293 -0.08184000 - 7 4.413777 -0.27845300 - 8 2.126493 -0.30879400 - 9 1.024513 0.12058100 - 10 0.493596 0.53571000 - 11 0.237807 0.45994000 - 12 0.114572 0.12829700 -S 1 - 1 1.100988 1.00000000 -S 1 - 1 0.182106 1.00000000 -P 12 - 1 68.625610 0.01202900 - 2 36.209284 0.09154900 - 3 19.105291 0.17381300 - 4 10.080623 0.26931700 - 5 5.318891 0.32161200 - 6 2.806434 0.23090800 - 7 1.480773 0.07383400 - 8 0.781308 0.00805700 - 9 0.412246 0.00134600 - 10 0.217515 0.00047500 - 11 0.114769 0.00028000 - 12 0.060556 0.00004200 -P 12 - 1 68.625610 0.00335700 - 2 36.209284 0.02463200 - 3 19.105291 0.04722600 - 4 10.080623 0.07816200 - 5 5.318891 0.09893200 - 6 2.806434 0.06953700 - 7 1.480773 -0.07160700 - 8 0.781308 -0.25448800 - 9 0.412246 -0.34548500 - 10 0.217515 -0.30802000 - 11 0.114769 -0.15890900 - 12 0.060556 -0.03618100 -P 1 - 1 1.026717 1.00000000 -P 1 - 1 0.138738 1.00000000 -D 1 - 1 1.014724 1.00000000 -D 1 - 1 0.332648 1.00000000 -F 1 - 1 0.702236 1.00000000 - -ARGON - S 12 - 1 400.805381 0.00009200 - 2 194.251428 -0.00125400 - 3 94.144487 0.02887900 - 4 45.627384 -0.17710600 - 5 22.113437 -0.07716500 - 6 10.717338 0.21018700 - 7 5.194187 0.55436900 - 8 2.517377 0.35907000 - 9 1.220054 0.04076900 - 10 0.591302 0.00508700 - 11 0.286576 -0.00064400 - 12 0.138890 0.00053300 -S 12 - 1 400.805381 0.00001900 - 2 194.251428 0.00011400 - 3 94.144487 -0.00869300 - 4 45.627384 0.06117500 - 5 22.113437 0.02679200 - 6 10.717338 -0.07778000 - 7 5.194187 -0.29074700 - 8 2.517377 -0.32003600 - 9 1.220054 0.12393300 - 10 0.591302 0.53916300 - 11 0.286576 0.45626000 - 12 0.138890 0.13189200 -S 1 - 1 1.313766 1.00000000 -S 1 - 1 0.221075 1.00000000 -P 12 - 1 71.845693 0.01423900 - 2 38.318786 0.10317800 - 3 20.437263 0.18518400 - 4 10.900182 0.27635700 - 5 5.813595 0.31813000 - 6 3.100671 0.21149400 - 7 1.653738 0.06192600 - 8 0.882019 0.00582100 - 9 0.470423 0.00083800 - 10 0.250899 -0.00004700 - 11 0.133817 0.00007700 - 12 0.071371 -0.00001800 -P 12 - 1 71.845693 0.00414500 - 2 38.318786 0.02880000 - 3 20.437263 0.05191600 - 4 10.900182 0.08435600 - 5 5.813595 0.10330300 - 6 3.100671 0.05976300 - 7 1.653738 -0.09852400 - 8 0.882019 -0.27287100 - 9 0.470423 -0.34211200 - 10 0.250899 -0.28931700 - 11 0.133817 -0.14332900 - 12 0.071371 -0.03249500 -P 1 - 1 1.273346 1.00000000 -P 1 - 1 0.171614 1.00000000 -D 1 - 1 1.242323 1.00000000 -D 1 - 1 0.404943 1.00000000 -F 1 - 1 0.885752 1.00000000 - -SCANDIUM - S 13 - 1 66.882574 0.00055300 - 2 33.776681 -0.00511500 - 3 18.185884 0.00416100 - 4 11.748619 0.12160300 - 5 6.895190 -0.27013700 - 6 3.222124 -0.32441000 - 7 1.772120 0.29116200 - 8 0.841163 0.62893100 - 9 0.471976 0.27340600 - 10 0.313224 0.13535200 - 11 0.101013 0.00804100 - 12 0.049071 -0.00261000 - 13 0.022782 0.00059700 -S 13 - 1 66.882574 -0.00013900 - 2 33.776681 0.00134500 - 3 18.185884 -0.00144500 - 4 11.748619 -0.03208200 - 5 6.895190 0.07550600 - 6 3.222124 0.08992700 - 7 1.772120 -0.09008600 - 8 0.841163 -0.21644400 - 9 0.471976 -0.17925000 - 10 0.313224 -0.12816000 - 11 0.101013 0.33793500 - 12 0.049071 0.60918100 - 13 0.022782 0.24418100 -S 13 - 1 66.882574 -0.00067900 - 2 33.776681 0.00545600 - 3 18.185884 -0.01668400 - 4 11.748619 -0.03173900 - 5 6.895190 0.10956000 - 6 3.222124 0.23329300 - 7 1.772120 -0.31020700 - 8 0.841163 -0.24508300 - 9 0.471976 -1.17524800 - 10 0.313224 1.03235900 - 11 0.101013 1.59903900 - 12 0.049071 -0.62399000 - 13 0.022782 -0.84749800 -S 13 - 1 66.882574 -0.00145200 - 2 33.776681 0.01136200 - 3 18.185884 -0.03987600 - 4 11.748619 -0.02581000 - 5 6.895190 0.15794300 - 6 3.222124 0.45286800 - 7 1.772120 -0.76658700 - 8 0.841163 -0.60780000 - 9 0.471976 -1.71600200 - 10 0.313224 3.61400300 - 11 0.101013 -0.56948000 - 12 0.049071 -2.25596700 - 13 0.022782 1.91016000 -S 1 - 1 0.022782 1.00000000 -P 13 - 1 77.690832 0.00008800 - 2 39.751864 -0.00075400 - 3 20.615633 0.00658400 - 4 11.537150 -0.00718900 - 5 7.597186 -0.06890300 - 6 3.765117 -0.01384200 - 7 2.051006 0.24870400 - 8 1.048648 0.43432800 - 9 0.550231 0.32690600 - 10 0.303840 0.10461700 - 11 0.165809 0.01851200 - 12 0.060419 0.00139500 - 13 0.024751 0.00009300 -P 13 - 1 77.690832 0.00001700 - 2 39.751864 -0.00002600 - 3 20.615633 -0.00086100 - 4 11.537150 -0.00048300 - 5 7.597186 0.02136400 - 6 3.765117 -0.00370600 - 7 2.051006 -0.05871800 - 8 1.048648 -0.14336400 - 9 0.550231 -0.07728000 - 10 0.303840 -0.10776400 - 11 0.165809 0.32285900 - 12 0.060419 0.62172600 - 13 0.024751 0.25378700 -P 13 - 1 77.690832 -0.00006300 - 2 39.751864 0.00054900 - 3 20.615633 -0.00512000 - 4 11.537150 0.00701100 - 5 7.597186 0.05366100 - 6 3.765117 0.00357400 - 7 2.051006 -0.23586100 - 8 1.048648 -0.49480100 - 9 0.550231 -0.22957500 - 10 0.303840 0.91797300 - 11 0.165809 0.62115500 - 12 0.060419 -0.82464800 - 13 0.024751 -0.15759200 -P 13 - 1 77.690832 -0.00024300 - 2 39.751864 0.00156800 - 3 20.615633 -0.00955400 - 4 11.537150 0.01802000 - 5 7.597186 0.05100800 - 6 3.765117 0.04328000 - 7 2.051006 -0.40417800 - 8 1.048648 -0.82490400 - 9 0.550231 0.71001400 - 10 0.303840 2.22525500 - 11 0.165809 -2.74290300 - 12 0.060419 0.58142300 - 13 0.024751 0.48091000 -P 1 - 1 0.024751 1.00000000 -D 11 - 1 60.996829 0.00005600 - 2 22.097637 0.00505400 - 3 10.186744 0.03222300 - 4 4.633892 0.08247900 - 5 2.146927 0.15936300 - 6 1.014536 0.22860400 - 7 0.487206 0.24369100 - 8 0.248191 0.23165100 - 9 0.131273 0.19543100 - 10 0.063714 0.21458900 - 11 0.021542 0.07411300 -D 11 - 1 60.996829 -0.00007200 - 2 22.097637 -0.00607900 - 3 10.186744 -0.03905400 - 4 4.633892 -0.10065200 - 5 2.146927 -0.19433000 - 6 1.014536 -0.25355600 - 7 0.487206 -0.21355600 - 8 0.248191 0.05418200 - 9 0.131273 0.26118800 - 10 0.063714 0.52021500 - 11 0.021542 0.16690700 -D 11 - 1 60.996829 0.00005400 - 2 22.097637 0.00819500 - 3 10.186744 0.05007300 - 4 4.633892 0.13617400 - 5 2.146927 0.24651600 - 6 1.014536 0.25815800 - 7 0.487206 -0.12479900 - 8 0.248191 -0.43908100 - 9 0.131273 -0.47534700 - 10 0.063714 0.52718700 - 11 0.021542 0.47337300 -D 1 - 1 0.021542 1.00000000 -F 1 - 1 0.173012 1.00000000 -F 1 - 1 0.742579 1.00000000 -G 1 - 1 0.413265 1.00000000 - -TITANIUM - S 13 - 1 68.910511 0.00061600 - 2 33.720700 -0.00750100 - 3 18.159676 0.01221800 - 4 12.419305 0.14473900 - 5 7.532195 -0.32862100 - 6 3.504444 -0.31751700 - 7 1.910727 0.35742200 - 8 0.888840 0.67140600 - 9 0.447198 0.28222600 - 10 0.281192 0.03867300 - 11 0.100258 0.00455900 - 12 0.046525 -0.00156500 - 13 0.021840 0.00039800 -S 13 - 1 68.910511 -0.00015600 - 2 33.720700 0.00196600 - 3 18.159676 -0.00399400 - 4 12.419305 -0.03637700 - 5 7.532195 0.08859300 - 6 3.504444 0.08563000 - 7 1.910727 -0.10599300 - 8 0.888840 -0.23742100 - 9 0.447198 -0.23535900 - 10 0.281192 -0.01296000 - 11 0.100258 0.43358200 - 12 0.046525 0.57787300 - 13 0.021840 0.16436000 -S 13 - 1 68.910511 0.00063500 - 2 33.720700 -0.00646800 - 3 18.159676 0.02344400 - 4 12.419305 0.03892100 - 5 7.532195 -0.14118000 - 6 3.504444 -0.21476500 - 7 1.910727 0.32015100 - 8 0.888840 0.45106200 - 9 0.447198 0.85519100 - 10 0.281192 -1.20922400 - 11 0.100258 -1.31948100 - 12 0.046525 0.86651700 - 13 0.021840 0.61891600 -S 13 - 1 68.910511 -0.00117800 - 2 33.720700 0.01187700 - 3 18.159676 -0.04724000 - 4 12.419305 -0.05092200 - 5 7.532195 0.23774600 - 6 3.504444 0.40318500 - 7 1.910727 -0.79096100 - 8 0.888840 -1.10227600 - 9 0.447198 0.20944600 - 10 0.281192 2.52735200 - 11 0.100258 -1.78904100 - 12 0.046525 -0.86784200 - 13 0.021840 1.42739500 -S 1 - 1 0.021840 1.00000000 -P 13 - 1 84.914002 0.00009300 - 2 42.855051 -0.00083600 - 3 21.700131 0.00867900 - 4 12.214690 -0.01117800 - 5 8.319164 -0.07776700 - 6 4.091071 -0.00611300 - 7 2.286543 0.27182800 - 8 1.159810 0.45958500 - 9 0.591343 0.31590000 - 10 0.312862 0.07168300 - 11 0.184828 0.01054100 - 12 0.068590 0.00004500 - 13 0.026791 -0.00083700 -P 13 - 1 84.914002 0.00002000 - 2 42.855051 -0.00004900 - 3 21.700131 -0.00076100 - 4 12.214690 -0.00057500 - 5 8.319164 0.01828400 - 6 4.091071 -0.00594300 - 7 2.286543 -0.04321200 - 8 1.159810 -0.11251300 - 9 0.591343 -0.05207300 - 10 0.312862 -0.09226300 - 11 0.184828 0.24394600 - 12 0.068590 0.41310100 - 13 0.026791 0.54398500 -P 13 - 1 84.914002 0.00001900 - 2 42.855051 0.00013800 - 3 21.700131 -0.00462200 - 4 12.214690 0.00446500 - 5 8.319164 0.06576000 - 6 4.091071 -0.01892700 - 7 2.286543 -0.22252400 - 8 1.159810 -0.52389000 - 9 0.591343 -0.07127700 - 10 0.312862 0.81271200 - 11 0.184828 0.62549800 - 12 0.068590 -0.81218900 - 13 0.026791 -0.18579600 -P 13 - 1 84.914002 -0.00025700 - 2 42.855051 0.00172500 - 3 21.700131 -0.01264600 - 4 12.214690 0.02906200 - 5 8.319164 0.05897900 - 6 4.091071 0.03080600 - 7 2.286543 -0.52437300 - 8 1.159810 -0.72096800 - 9 0.591343 1.02320400 - 10 0.312862 1.97387400 - 11 0.184828 -2.80509200 - 12 0.068590 0.60795400 - 13 0.026791 0.44765300 -P 1 - 1 0.026791 1.00000000 -D 11 - 1 77.434559 0.00002200 - 2 27.708477 0.00421800 - 3 12.914284 0.03008700 - 4 6.062674 0.08482100 - 5 2.863898 0.17111000 - 6 1.386559 0.24745100 - 7 0.677058 0.27731000 - 8 0.329864 0.26107700 - 9 0.159474 0.19033600 - 10 0.076174 0.11938500 - 11 0.028570 0.03129700 -D 11 - 1 77.434559 -0.00002500 - 2 27.708477 -0.00431100 - 3 12.914284 -0.03091300 - 4 6.062674 -0.08804900 - 5 2.863898 -0.17833000 - 6 1.386559 -0.23433500 - 7 0.677058 -0.19577500 - 8 0.329864 0.06587200 - 9 0.159474 0.33053600 - 10 0.076174 0.46122900 - 11 0.028570 0.18427300 -D 11 - 1 77.434559 0.00001000 - 2 27.708477 0.00618700 - 3 12.914284 0.04263000 - 4 6.062674 0.12752400 - 5 2.863898 0.24828900 - 6 1.386559 0.25976100 - 7 0.677058 -0.07079400 - 8 0.329864 -0.51939600 - 9 0.159474 -0.37365800 - 10 0.076174 0.45506700 - 11 0.028570 0.48958600 -D 1 - 1 0.028570 1.00000000 -F 1 - 1 0.291553 1.00000000 -F 1 - 1 1.269061 1.00000000 -G 1 - 1 0.707265 1.00000000 - -VANADIUM - S 13 - 1 68.577621 0.00080400 - 2 34.937147 -0.01159400 - 3 17.939491 0.09220900 - 4 11.262123 -0.04547700 - 5 6.776264 -0.28798300 - 6 3.524091 -0.21764800 - 7 1.938421 0.40750900 - 8 0.927153 0.65819300 - 9 0.448420 0.25523400 - 10 0.209668 0.00862000 - 11 0.103660 0.00273400 - 12 0.050630 -0.00116100 - 13 0.024201 0.00029400 -S 13 - 1 68.577621 -0.00017700 - 2 34.937147 0.00279100 - 3 17.939491 -0.02365000 - 4 11.262123 0.01250400 - 5 6.776264 0.07876100 - 6 3.524091 0.05497400 - 7 1.938421 -0.11895500 - 8 0.927153 -0.24534100 - 9 0.448420 -0.22295900 - 10 0.209668 0.04780900 - 11 0.103660 0.41537400 - 12 0.050630 0.54088000 - 13 0.024201 0.18342100 -S 13 - 1 68.577621 -0.00058300 - 2 34.937147 0.00957000 - 3 17.939491 -0.08560600 - 4 11.262123 0.04842600 - 5 6.776264 0.33123900 - 6 3.524091 0.14035200 - 7 1.938421 -0.90796200 - 8 0.927153 -0.50387800 - 9 0.448420 0.39893800 - 10 0.209668 0.97113100 - 11 0.103660 0.42399900 - 12 0.050630 -0.62864600 - 13 0.024201 -0.46749500 -S 13 - 1 68.577621 -0.00076500 - 2 34.937147 0.01452900 - 3 17.939491 -0.13961800 - 4 11.262123 0.06307300 - 5 6.776264 0.70419300 - 6 3.524091 -0.01160200 - 7 1.938421 -2.31160400 - 8 0.927153 0.76826900 - 9 0.448420 2.16892000 - 10 0.209668 -1.06267100 - 11 0.103660 -1.21815100 - 12 0.050630 0.34080900 - 13 0.024201 0.71332200 -S 1 - 1 0.024201 1.00000000 -P 13 - 1 96.215967 0.00006900 - 2 49.579340 -0.00067200 - 3 25.638009 0.00819900 - 4 14.025942 -0.02710800 - 5 8.740334 -0.05302100 - 6 4.634840 0.00500200 - 7 2.553374 0.26198600 - 8 1.321166 0.43354400 - 9 0.681285 0.32494700 - 10 0.349458 0.09234200 - 11 0.172773 0.00896400 - 12 0.063300 0.00118500 - 13 0.033969 0.00010400 -P 13 - 1 96.215967 0.00004000 - 2 49.579340 -0.00013300 - 3 25.638009 -0.00095500 - 4 14.025942 0.00371900 - 5 8.740334 0.01886600 - 6 4.634840 -0.01207400 - 7 2.553374 -0.05710700 - 8 1.321166 -0.14643300 - 9 0.681285 -0.06736500 - 10 0.349458 -0.06825400 - 11 0.172773 0.40310300 - 12 0.063300 0.50266800 - 13 0.033969 0.26129100 -P 13 - 1 96.215967 -0.00005300 - 2 49.579340 0.00002300 - 3 25.638009 0.00462900 - 4 14.025942 -0.00775500 - 5 8.740334 -0.10413300 - 6 4.634840 -0.01776200 - 7 2.553374 0.72821200 - 8 1.321166 0.21882600 - 9 0.681285 -0.49322300 - 10 0.349458 -0.83819200 - 11 0.172773 0.39840100 - 12 0.063300 0.66458900 - 13 0.033969 0.03301100 -P 13 - 1 96.215967 -0.00126200 - 2 49.579340 0.00641900 - 3 25.638009 -0.02122900 - 4 14.025942 0.11577700 - 5 8.740334 -0.42074000 - 6 4.634840 0.19774200 - 7 2.553374 1.57560000 - 8 1.321166 -1.06791300 - 9 0.681285 -1.31008300 - 10 0.349458 1.19114700 - 11 0.172773 0.55051600 - 12 0.063300 -0.71878800 - 13 0.033969 -0.15744100 -P 1 - 1 0.033969 1.00000000 -D 11 - 1 89.989649 0.00005100 - 2 33.132961 0.00480400 - 3 15.879656 0.02948500 - 4 7.465803 0.08624900 - 5 3.551993 0.17972800 - 6 1.728185 0.26185000 - 7 0.850498 0.29179400 - 8 0.417673 0.25935600 - 9 0.201523 0.17494400 - 10 0.100711 0.06227800 - 11 0.058959 0.02765300 -D 11 - 1 89.989649 -0.00003800 - 2 33.132961 -0.00459000 - 3 15.879656 -0.02756300 - 4 7.465803 -0.08277500 - 5 3.551993 -0.17349400 - 6 1.728185 -0.23618800 - 7 0.850498 -0.14922600 - 8 0.417673 0.04414500 - 9 0.201523 0.39050000 - 10 0.100711 0.20306400 - 11 0.058959 0.39800200 -D 11 - 1 89.989649 0.00012800 - 2 33.132961 0.00665200 - 3 15.879656 0.04463500 - 4 7.465803 0.12255900 - 5 3.551993 0.31114700 - 6 1.728185 0.28881300 - 7 0.850498 -0.14224600 - 8 0.417673 -0.61373700 - 9 0.201523 -0.12391600 - 10 0.100711 -0.02023500 - 11 0.058959 0.73325900 -D 1 - 1 0.058959 1.00000000 -F 1 - 1 0.552620 1.00000000 -F 1 - 1 2.328788 1.00000000 -G 1 - 1 1.977796 1.00000000 - -CHROMIUM - S 13 - 1 73.977737 0.00086400 - 2 37.684349 -0.01159500 - 3 19.278723 0.09046700 - 4 12.130763 -0.02483700 - 5 7.453002 -0.33040700 - 6 3.756296 -0.20059800 - 7 2.084137 0.44976600 - 8 0.993314 0.64757500 - 9 0.483094 0.22902500 - 10 0.225854 0.00921700 - 11 0.115338 0.00113200 - 12 0.052134 -0.00036700 - 13 0.023679 0.00009200 -S 13 - 1 73.977737 -0.00018300 - 2 37.684349 0.00270400 - 3 19.278723 -0.02265000 - 4 12.130763 0.00718100 - 5 7.453002 0.08770500 - 6 3.756296 0.04761600 - 7 2.084137 -0.12567200 - 8 0.993314 -0.24457100 - 9 0.483094 -0.19841900 - 10 0.225854 0.03088900 - 11 0.115338 0.42393500 - 12 0.052134 0.57694100 - 13 0.023679 0.14832300 -S 13 - 1 73.977737 -0.00032700 - 2 37.684349 0.00530900 - 3 19.278723 -0.04690500 - 4 12.130763 0.01541100 - 5 7.453002 0.19169700 - 6 3.756296 0.09975900 - 7 2.084137 -0.33899400 - 8 0.993314 -0.69580600 - 9 0.483094 -0.00731500 - 10 0.225854 1.11859900 - 11 0.115338 0.71725700 - 12 0.052134 -0.86856500 - 13 0.023679 -0.46718600 -S 13 - 1 73.977737 -0.00069800 - 2 37.684349 0.01020700 - 3 19.278723 -0.09126100 - 4 12.130763 0.05220700 - 5 7.453002 0.34216400 - 6 3.756296 0.17486600 - 7 2.084137 -0.99425800 - 8 0.993314 -1.19060400 - 9 0.483094 2.27183400 - 10 0.225854 1.00301300 - 11 0.115338 -2.60523500 - 12 0.052134 0.26515800 - 13 0.023679 0.90228600 -S 1 - 1 0.023679 1.00000000 -P 13 - 1 101.951240 0.00008800 - 2 52.309865 -0.00074700 - 3 27.142574 0.00713500 - 4 15.066862 -0.01470200 - 5 9.693669 -0.07335300 - 6 4.985710 0.01200700 - 7 2.761266 0.28311700 - 8 1.417673 0.44078600 - 9 0.728201 0.30677500 - 10 0.378189 0.08180400 - 11 0.189359 0.00883900 - 12 0.072301 0.00102200 - 13 0.037471 0.00032500 -P 13 - 1 101.951240 0.00002800 - 2 52.309865 -0.00008500 - 3 27.142574 -0.00075100 - 4 15.066862 0.00084400 - 5 9.693669 0.02265600 - 6 4.985710 -0.01278100 - 7 2.761266 -0.06238600 - 8 1.417673 -0.14358100 - 9 0.728201 -0.06228100 - 10 0.378189 -0.05447100 - 11 0.189359 0.37713500 - 12 0.072301 0.47163300 - 13 0.037471 0.31162400 -P 13 - 1 101.951240 -0.00013700 - 2 52.309865 0.00093200 - 3 27.142574 -0.00684500 - 4 15.066862 0.01983100 - 5 9.693669 0.04364700 - 6 4.985710 -0.01928900 - 7 2.761266 -0.28118700 - 8 1.417673 -0.37029800 - 9 0.728201 -0.19987300 - 10 0.378189 1.02855200 - 11 0.189359 0.42371100 - 12 0.072301 -0.80092600 - 13 0.037471 -0.14191000 -P 13 - 1 101.951240 0.00002700 - 2 52.309865 0.00018000 - 3 27.142574 -0.00574200 - 4 15.066862 0.02041900 - 5 9.693669 0.10052700 - 6 4.985710 -0.10060800 - 7 2.761266 -0.60774600 - 8 1.417673 -0.60170500 - 9 0.728201 1.45090500 - 10 0.378189 0.67229900 - 11 0.189359 -1.90482300 - 12 0.072301 0.66581400 - 13 0.037471 0.34852200 -P 1 - 1 0.037471 1.00000000 -D 11 - 1 120.683729 -0.00000600 - 2 42.646591 0.00311100 - 3 21.154405 0.02864100 - 4 9.708242 0.07622200 - 5 4.614990 0.17059500 - 6 2.243726 0.26690800 - 7 1.086491 0.31103900 - 8 0.524700 0.26731200 - 9 0.255752 0.16333600 - 10 0.121497 0.06278200 - 11 0.054339 0.00787200 -D 11 - 1 120.683729 0.00001700 - 2 42.646591 -0.00357600 - 3 21.154405 -0.03147600 - 4 9.708242 -0.08758300 - 5 4.614990 -0.19574000 - 6 2.243726 -0.27013200 - 7 1.086491 -0.17003400 - 8 0.524700 0.14341200 - 9 0.255752 0.40868700 - 10 0.121497 0.37025700 - 11 0.054339 0.12311200 -D 11 - 1 120.683729 0.00004000 - 2 42.646591 -0.00518100 - 3 21.154405 -0.04339300 - 4 9.708242 -0.12773400 - 5 4.614990 -0.28207000 - 6 2.243726 -0.28839000 - 7 1.086491 0.16826900 - 8 0.524700 0.67306200 - 9 0.255752 0.09919600 - 10 0.121497 -0.57061200 - 11 0.054339 -0.29719700 -D 1 - 1 0.054339 1.00000000 -F 1 - 1 0.558910 1.00000000 -F 1 - 1 2.345290 1.00000000 -G 1 - 1 1.422099 1.00000000 - -MANGANESE - S 13 - 1 76.008334 0.00099300 - 2 39.277974 -0.01479600 - 3 20.405805 0.12071000 - 4 12.218680 -0.12400100 - 5 7.182690 -0.32020000 - 6 3.850780 -0.10562200 - 7 2.142489 0.47272100 - 8 1.049631 0.62038700 - 9 0.508682 0.20455300 - 10 0.192243 0.00592400 - 11 0.108899 -0.00009700 - 12 0.053425 -0.00018500 - 13 0.025236 0.00006100 -S 13 - 1 76.008334 -0.00019900 - 2 39.277974 0.00335200 - 3 20.405805 -0.02941300 - 4 12.218680 0.03209100 - 5 7.182690 0.08315200 - 6 3.850780 0.02128300 - 7 2.142489 -0.12998900 - 8 1.049631 -0.23900600 - 9 0.508682 -0.18031500 - 10 0.192243 0.11014800 - 11 0.108899 0.40442600 - 12 0.053425 0.51730700 - 13 0.025236 0.14813900 -S 13 - 1 76.008334 -0.00009100 - 2 39.277974 0.00537400 - 3 20.405805 -0.05849400 - 4 12.218680 0.05634500 - 5 7.182690 0.22787400 - 6 3.850780 -0.00842000 - 7 2.142489 -0.32077700 - 8 1.049631 -0.81313700 - 9 0.508682 0.32647500 - 10 0.192243 1.44754000 - 11 0.108899 0.02132100 - 12 0.053425 -0.67832300 - 13 0.025236 -0.45282800 -S 13 - 1 76.008334 -0.00052600 - 2 39.277974 0.01138000 - 3 20.405805 -0.11603400 - 4 12.218680 0.14932900 - 5 7.182690 0.36015400 - 6 3.850780 0.02517400 - 7 2.142489 -1.17012500 - 8 1.049631 -0.87212300 - 9 0.508682 2.55063300 - 10 0.192243 0.09034300 - 11 0.108899 -2.21058800 - 12 0.053425 0.47058200 - 13 0.025236 0.83217500 -S 1 - 1 0.025236 1.00000000 -P 13 - 1 113.479709 0.00010300 - 2 58.160819 -0.00089400 - 3 30.043076 0.00884400 - 4 16.753323 -0.01968500 - 5 10.705604 -0.06919000 - 6 5.557903 0.01150800 - 7 3.080151 0.28231300 - 8 1.582963 0.43867800 - 9 0.810922 0.30984300 - 10 0.413396 0.08394500 - 11 0.195480 0.00751700 - 12 0.072688 0.00110000 - 13 0.035877 0.00029000 -P 13 - 1 113.479709 0.00001900 - 2 58.160819 -0.00002400 - 3 30.043076 -0.00122400 - 4 16.753323 0.00232000 - 5 10.705604 0.02075800 - 6 5.557903 -0.01157200 - 7 3.080151 -0.06291900 - 8 1.582963 -0.13675400 - 9 0.810922 -0.06729500 - 10 0.413396 -0.03102400 - 11 0.195480 0.37898100 - 12 0.072688 0.50782400 - 13 0.035877 0.26094100 -P 13 - 1 113.479709 -0.00019700 - 2 58.160819 0.00135400 - 3 30.043076 -0.01010200 - 4 16.753323 0.03060300 - 5 10.705604 0.04620000 - 6 5.557903 -0.01758800 - 7 3.080151 -0.39592000 - 8 1.582963 -0.41909300 - 9 0.810922 0.07501700 - 10 0.413396 1.09298600 - 11 0.195480 0.00868000 - 12 0.072688 -0.75636900 - 13 0.035877 -0.04514900 -P 13 - 1 113.479709 0.00001400 - 2 58.160819 0.00042100 - 3 30.043076 -0.00857300 - 4 16.753323 0.03879700 - 5 10.705604 0.09933800 - 6 5.557903 -0.14444500 - 7 3.080151 -0.82118200 - 8 1.582963 -0.25078500 - 9 0.810922 1.79017000 - 10 0.413396 -0.39954700 - 11 0.195480 -1.29438200 - 12 0.072688 0.84704700 - 13 0.035877 0.15171000 -P 1 - 1 0.035877 1.00000000 -D 11 - 1 132.688182 0.00003000 - 2 45.266024 0.00529400 - 3 23.267336 0.02914300 - 4 10.605694 0.07677500 - 5 5.074684 0.16855100 - 6 2.469857 0.25683200 - 7 1.205883 0.28989100 - 8 0.590569 0.25715400 - 9 0.292055 0.18172600 - 10 0.149190 0.08998600 - 11 0.076511 0.03459500 -D 11 - 1 132.688182 -0.00002100 - 2 45.266024 -0.00544900 - 3 23.267336 -0.02903200 - 4 10.605694 -0.07982500 - 5 5.074684 -0.17441500 - 6 2.469857 -0.25340400 - 7 1.205883 -0.17430500 - 8 0.590569 0.04508100 - 9 0.292055 0.34576000 - 10 0.149190 0.26372500 - 11 0.076511 0.37171500 -D 11 - 1 132.688182 0.00006000 - 2 45.266024 0.00838500 - 3 23.267336 0.04580000 - 4 10.605694 0.12921500 - 5 5.074684 0.28432700 - 6 2.469857 0.27076000 - 7 1.205883 -0.10159100 - 8 0.590569 -0.58067700 - 9 0.292055 -0.18169600 - 10 0.149190 0.02100300 - 11 0.076511 0.72365800 -D 1 - 1 0.076511 1.00000000 -F 1 - 1 0.677099 1.00000000 -F 1 - 1 2.824255 1.00000000 -G 1 - 1 1.740920 1.00000000 - -IRON - S 13 - 1 84.322332 0.00078500 - 2 44.203528 -0.01278100 - 3 23.288963 0.10463500 - 4 13.385163 -0.11938500 - 5 7.518052 -0.33980400 - 6 4.101835 -0.04999400 - 7 2.253571 0.47695500 - 8 1.134924 0.59322200 - 9 0.561550 0.20015100 - 10 0.201961 0.00859100 - 11 0.108698 -0.00218800 - 12 0.053619 0.00067700 - 13 0.025823 -0.00014400 -S 13 - 1 84.322332 -0.00016200 - 2 44.203528 0.00292100 - 3 23.288963 -0.02546600 - 4 13.385163 0.03118200 - 5 7.518052 0.08684900 - 6 4.101835 0.00684600 - 7 2.253571 -0.13185600 - 8 1.134924 -0.22774600 - 9 0.561550 -0.17307900 - 10 0.201961 0.13614200 - 11 0.108698 0.43401300 - 12 0.053619 0.47755500 - 13 0.025823 0.12880400 -S 13 - 1 84.322332 0.00000200 - 2 44.203528 0.00410300 - 3 23.288963 -0.04684000 - 4 13.385163 0.05283300 - 5 7.518052 0.21809400 - 6 4.101835 -0.04499900 - 7 2.253571 -0.28738600 - 8 1.134924 -0.71322000 - 9 0.561550 0.24917400 - 10 0.201961 1.29987200 - 11 0.108698 0.19211900 - 12 0.053619 -0.65861600 - 13 0.025823 -0.52104700 -S 13 - 1 84.322332 0.00001200 - 2 44.203528 0.00759800 - 3 23.288963 -0.09413300 - 4 13.385163 0.12765500 - 5 7.518052 0.43559800 - 6 4.101835 -0.14791100 - 7 2.253571 -1.08447700 - 8 1.134924 -0.88700300 - 9 0.561550 2.44994600 - 10 0.201961 0.16797600 - 11 0.108698 -2.11466800 - 12 0.053619 0.45257900 - 13 0.025823 0.80144400 -S 1 - 1 0.025823 1.00000000 -P 13 - 1 125.092775 0.00005600 - 2 65.211589 -0.00057200 - 3 34.437599 0.00738800 - 4 18.930704 -0.02848100 - 5 10.873415 -0.06300500 - 6 6.012172 0.02485500 - 7 3.372205 0.27747400 - 8 1.768641 0.42538600 - 9 0.914516 0.31414500 - 10 0.460895 0.09042200 - 11 0.204490 0.00697700 - 12 0.074741 0.00115400 - 13 0.035671 0.00030300 -P 13 - 1 125.092775 0.00002500 - 2 65.211589 -0.00007000 - 3 34.437599 -0.00104200 - 4 18.930704 0.00512700 - 5 10.873415 0.01840400 - 6 6.012172 -0.01469200 - 7 3.372205 -0.06130700 - 8 1.768641 -0.12863800 - 9 0.914516 -0.07063700 - 10 0.460895 -0.01631400 - 11 0.204490 0.38070200 - 12 0.074741 0.52307100 - 13 0.035671 0.23576500 -P 13 - 1 125.092775 -0.00019700 - 2 65.211589 0.00125100 - 3 34.437599 -0.00915400 - 4 18.930704 0.03820100 - 5 10.873415 0.04309700 - 6 6.012172 -0.02947500 - 7 3.372205 -0.42699600 - 8 1.768641 -0.39484000 - 9 0.914516 0.07723000 - 10 0.460895 1.11988100 - 11 0.204490 -0.06649400 - 12 0.074741 -0.72158300 - 13 0.035671 -0.00569500 -P 13 - 1 125.092775 0.00026400 - 2 65.211589 -0.00107600 - 3 34.437599 -0.00259100 - 4 18.930704 0.03551900 - 5 10.873415 0.11955400 - 6 6.012172 -0.20471400 - 7 3.372205 -0.76062700 - 8 1.768641 -0.26274000 - 9 0.914516 1.77903000 - 10 0.460895 -0.46274200 - 11 0.204490 -1.24103000 - 12 0.074741 0.94098700 - 13 0.035671 0.08349600 -P 1 - 1 0.035671 1.00000000 -D 11 - 1 152.736742 0.00002900 - 2 50.772485 0.00523800 - 3 26.253589 0.02932500 - 4 12.137022 0.07490100 - 5 5.853719 0.16341100 - 6 2.856224 0.25105700 - 7 1.386132 0.28760300 - 8 0.670802 0.25186200 - 9 0.330280 0.18673600 - 10 0.170907 0.09357000 - 11 0.086794 0.07381100 -D 11 - 1 152.736742 -0.00002600 - 2 50.772485 -0.00632900 - 3 26.253589 -0.03439800 - 4 12.137022 -0.09176500 - 5 5.853719 -0.20159200 - 6 2.856224 -0.28393000 - 7 1.386132 -0.16198100 - 8 0.670802 0.12882200 - 9 0.330280 0.36016000 - 10 0.170907 0.27759200 - 11 0.086794 0.26140300 -D 11 - 1 152.736742 0.00005100 - 2 50.772485 0.00876900 - 3 26.253589 0.04792100 - 4 12.137022 0.13247500 - 5 5.853719 0.29727900 - 6 2.856224 0.27501800 - 7 1.386132 -0.22284200 - 8 0.670802 -0.61906700 - 9 0.330280 -0.07629000 - 10 0.170907 0.25605600 - 11 0.086794 0.54148200 -D 1 - 1 0.086794 1.00000000 -F 1 - 1 0.824745 1.00000000 -F 1 - 1 3.385699 1.00000000 -G 1 - 1 2.137024 1.00000000 - -COBALT - S 13 - 1 90.663831 0.00077400 - 2 46.961414 -0.01131600 - 3 24.110274 0.10120900 - 4 14.430881 -0.08164200 - 5 8.757423 -0.35481200 - 6 4.484459 -0.09036200 - 7 2.519739 0.49817400 - 8 1.236850 0.60412300 - 9 0.601882 0.19077500 - 10 0.223338 0.00657800 - 11 0.123422 -0.00090500 - 12 0.059941 0.00017100 - 13 0.027978 -0.00002500 -S 13 - 1 90.663831 -0.00015400 - 2 46.961414 0.00252500 - 3 24.110274 -0.02444300 - 4 14.430881 0.02220000 - 5 8.757423 0.08841600 - 6 4.484459 0.01682000 - 7 2.519739 -0.13458200 - 8 1.236850 -0.23129500 - 9 0.601882 -0.16398600 - 10 0.223338 0.12133700 - 11 0.123422 0.40241400 - 12 0.059941 0.50611300 - 13 0.027978 0.14543600 -S 13 - 1 90.663831 -0.00004700 - 2 46.961414 0.00365400 - 3 24.110274 -0.04613200 - 4 14.430881 0.03648300 - 5 8.757423 0.21726500 - 6 4.484459 -0.01188300 - 7 2.519739 -0.32468800 - 8 1.236850 -0.68058100 - 9 0.601882 0.25693600 - 10 0.223338 1.22400500 - 11 0.123422 0.23683700 - 12 0.059941 -0.60406400 - 13 0.027978 -0.57494700 -S 13 - 1 90.663831 -0.00023100 - 2 46.961414 0.00753600 - 3 24.110274 -0.09729800 - 4 14.430881 0.11161100 - 5 8.757423 0.40362100 - 6 4.484459 -0.04832400 - 7 2.519739 -1.15760000 - 8 1.236850 -0.75683900 - 9 0.601882 2.31368300 - 10 0.223338 0.25307400 - 11 0.123422 -1.99146600 - 12 0.059941 0.16694200 - 13 0.027978 0.91722100 -S 1 - 1 0.027978 1.00000000 -P 13 - 1 139.038145 0.00007500 - 2 71.928971 -0.00062700 - 3 37.806311 0.00571900 - 4 21.054252 -0.00931000 - 5 12.973193 -0.08385700 - 6 6.791461 0.01239400 - 7 3.794018 0.28198700 - 8 1.960649 0.43417900 - 9 1.006283 0.31340900 - 10 0.509539 0.08977800 - 11 0.233091 0.00740500 - 12 0.083890 0.00098000 - 13 0.039802 0.00027400 -P 13 - 1 139.038145 0.00002500 - 2 71.928971 -0.00008400 - 3 37.806311 -0.00048500 - 4 21.054252 0.00009500 - 5 12.973193 0.02240200 - 6 6.791461 -0.01153400 - 7 3.794018 -0.05686600 - 8 1.960649 -0.12607000 - 9 1.006283 -0.06088900 - 10 0.509539 -0.03508600 - 11 0.233091 0.35184700 - 12 0.083890 0.51044900 - 13 0.039802 0.28970700 -P 13 - 1 139.038145 -0.00023800 - 2 71.928971 0.00148900 - 3 37.806311 -0.00872300 - 4 21.054252 0.02453800 - 5 12.973193 0.06085600 - 6 6.791461 -0.02038000 - 7 3.794018 -0.43019500 - 8 1.960649 -0.40769200 - 9 1.006283 0.08532600 - 10 0.509539 1.07332600 - 11 0.233091 0.01506700 - 12 0.083890 -0.71963100 - 13 0.039802 -0.02460300 -P 13 - 1 139.038145 -0.00005500 - 2 71.928971 -0.00001700 - 3 37.806311 0.00432000 - 4 21.054252 -0.02133900 - 5 12.973193 -0.12713400 - 6 6.791461 0.15720800 - 7 3.794018 0.79492700 - 8 1.960649 0.23357400 - 9 1.006283 -1.66603300 - 10 0.509539 0.28271600 - 11 0.233091 1.33562500 - 12 0.083890 -0.88546900 - 13 0.039802 -0.13034000 -P 1 - 1 0.039802 1.00000000 -D 11 - 1 160.444504 0.00003400 - 2 52.598830 0.00655300 - 3 27.491581 0.03618500 - 4 12.745988 0.08302600 - 5 6.184310 0.17696000 - 6 3.029146 0.26399000 - 7 1.474099 0.29244700 - 8 0.714391 0.24959700 - 9 0.348520 0.17163700 - 10 0.174166 0.08064900 - 11 0.087891 0.04121200 -D 11 - 1 160.444504 -0.00003100 - 2 52.598830 -0.00786900 - 3 27.491581 -0.04199200 - 4 12.745988 -0.10138800 - 5 6.184310 -0.21699600 - 6 3.029146 -0.28396200 - 7 1.474099 -0.12717900 - 8 0.714391 0.17712500 - 9 0.348520 0.37559600 - 10 0.174166 0.28463100 - 11 0.087891 0.20027700 -D 11 - 1 160.444504 0.00004800 - 2 52.598830 0.01053100 - 3 27.491581 0.05555900 - 4 12.745988 0.14075800 - 5 6.184310 0.30578500 - 6 3.029146 0.24281200 - 7 1.474099 -0.28504400 - 8 0.714391 -0.59481900 - 9 0.348520 -0.01793700 - 10 0.174166 0.34815000 - 11 0.087891 0.45517000 -D 1 - 1 0.087891 1.00000000 -F 1 - 1 0.975120 1.00000000 -F 1 - 1 3.957052 1.00000000 -G 1 - 1 2.525364 1.00000000 - -NICKEL - S 13 - 1 97.161835 0.00070900 - 2 51.187866 -0.01239900 - 3 26.996725 0.10722000 - 4 15.523536 -0.12455600 - 5 8.916168 -0.35102300 - 6 4.795806 -0.02575800 - 7 2.619926 0.49894800 - 8 1.330111 0.56898600 - 9 0.668901 0.19112100 - 10 0.230439 0.01027800 - 11 0.121518 -0.00362700 - 12 0.057951 0.00129500 - 13 0.027201 -0.00030700 -S 13 - 1 97.161835 -0.00014000 - 2 51.187866 0.00275600 - 3 26.996725 -0.02548200 - 4 15.523536 0.03218200 - 5 8.916168 0.08622600 - 6 4.795806 0.00110400 - 7 2.619926 -0.13579000 - 8 1.330111 -0.21572400 - 9 0.668901 -0.15836700 - 10 0.230439 0.14349900 - 11 0.121518 0.44367200 - 12 0.057951 0.47255800 - 13 0.027201 0.11017300 -S 13 - 1 97.161835 0.00012100 - 2 51.187866 0.00332200 - 3 26.996725 -0.04578500 - 4 15.523536 0.05341500 - 5 8.916168 0.22227000 - 6 4.795806 -0.07306500 - 7 2.619926 -0.29399800 - 8 1.330111 -0.66893800 - 9 0.668901 0.29750400 - 10 0.230439 1.23374800 - 11 0.121518 0.12931700 - 12 0.057951 -0.60340700 - 13 0.027201 -0.53306200 -S 13 - 1 97.161835 0.00043400 - 2 51.187866 0.00484800 - 3 26.996725 -0.08781800 - 4 15.523536 0.12185200 - 5 8.916168 0.45421800 - 6 4.795806 -0.24576500 - 7 2.619926 -0.99734500 - 8 1.330111 -0.83458600 - 9 0.668901 2.28567500 - 10 0.230439 0.25153800 - 11 0.121518 -1.98879600 - 12 0.057951 0.34760200 - 13 0.027201 0.82415000 -S 1 - 1 0.027201 1.00000000 -P 13 - 1 148.087630 0.00005500 - 2 77.452187 -0.00054800 - 3 40.915636 0.00697900 - 4 22.575667 -0.02365800 - 5 13.218268 -0.07568200 - 6 7.232093 0.02725300 - 7 4.054870 0.28477800 - 8 2.122089 0.42763200 - 9 1.092769 0.30993700 - 10 0.548240 0.08853500 - 11 0.238886 0.00642700 - 12 0.084667 0.00070800 - 13 0.038921 0.00018600 -P 13 - 1 148.087630 0.00002700 - 2 77.452187 -0.00008800 - 3 40.915636 -0.00077300 - 4 22.575667 0.00334500 - 5 13.218268 0.01940500 - 6 7.232093 -0.01428800 - 7 4.054870 -0.05452700 - 8 2.122089 -0.11645400 - 9 1.092769 -0.06023600 - 10 0.548240 -0.02392800 - 11 0.238886 0.34786900 - 12 0.084667 0.52262600 - 13 0.038921 0.27647100 -P 13 - 1 148.087630 -0.00023700 - 2 77.452187 0.00145600 - 3 40.915636 -0.00974500 - 4 22.575667 0.03779900 - 5 13.218268 0.05252100 - 6 7.232093 -0.03500600 - 7 4.054870 -0.45557700 - 8 2.122089 -0.36830600 - 9 1.092769 0.10039200 - 10 0.548240 1.07665200 - 11 0.238886 -0.04532600 - 12 0.084667 -0.70318600 - 13 0.038921 0.00458000 -P 13 - 1 148.087630 -0.00026000 - 2 77.452187 0.00107100 - 3 40.915636 0.00232200 - 4 22.575667 -0.03214000 - 5 13.218268 -0.13413600 - 6 7.232093 0.22906200 - 7 4.054870 0.75223900 - 8 2.122089 0.20553500 - 9 1.092769 -1.69291000 - 10 0.548240 0.43629500 - 11 0.238886 1.21951400 - 12 0.084667 -0.94551600 - 13 0.038921 -0.06223200 -P 1 - 1 0.038921 1.00000000 -D 11 - 1 177.900125 0.00004900 - 2 57.372112 0.00751900 - 3 29.881432 0.03645500 - 4 13.971757 0.08690100 - 5 6.841152 0.18056800 - 6 3.379983 0.26818700 - 7 1.651827 0.29675600 - 8 0.799251 0.25155800 - 9 0.388057 0.16231900 - 10 0.191191 0.07211900 - 11 0.093358 0.02368900 -D 11 - 1 177.900125 -0.00005300 - 2 57.372112 -0.00885000 - 3 29.881432 -0.04191600 - 4 13.971757 -0.10469100 - 5 6.841152 -0.21946400 - 6 3.379983 -0.28371200 - 7 1.651827 -0.12212700 - 8 0.799251 0.19012300 - 9 0.388057 0.37659800 - 10 0.191191 0.29512200 - 11 0.093358 0.17825200 -D 11 - 1 177.900125 0.00007900 - 2 57.372112 0.01144200 - 3 29.881432 0.05397200 - 4 13.971757 0.14106800 - 5 6.841152 0.30229400 - 6 3.379983 0.23655800 - 7 1.651827 -0.29131100 - 8 0.799251 -0.58175800 - 9 0.388057 -0.02406300 - 10 0.191191 0.38938700 - 11 0.093358 0.43083300 -D 1 - 1 0.093358 1.00000000 -F 1 - 1 1.144322 1.00000000 -F 1 - 1 4.588601 1.00000000 -G 1 - 1 2.896680 1.00000000 - -COPPER - S 13 - 1 104.471138 0.00074100 - 2 55.955221 -0.01395300 - 3 30.553953 0.10526600 - 4 16.942394 -0.12939900 - 5 9.452707 -0.36273800 - 6 5.174537 0.01326600 - 7 2.779171 0.48928800 - 8 1.441817 0.56208800 - 9 0.710674 0.19004700 - 10 0.241540 0.00563500 - 11 0.129621 -0.00058200 - 12 0.059229 -0.00002400 - 13 0.027110 0.00003000 -S 13 - 1 104.471138 -0.00013300 - 2 55.955221 0.00299900 - 3 30.553953 -0.02431000 - 4 16.942394 0.03198600 - 5 9.452707 0.08914900 - 6 5.174537 -0.01075000 - 7 2.779171 -0.12822400 - 8 1.441817 -0.21572000 - 9 0.710674 -0.14955900 - 10 0.241540 0.14291700 - 11 0.129621 0.44630700 - 12 0.059229 0.48464300 - 13 0.027110 0.09306900 -S 13 - 1 104.471138 0.00021000 - 2 55.955221 0.00380600 - 3 30.553953 -0.04731200 - 4 16.942394 0.05995700 - 5 9.452707 0.25064200 - 6 5.174537 -0.11910200 - 7 2.779171 -0.31406900 - 8 1.441817 -0.68930000 - 9 0.710674 0.40305000 - 10 0.241540 1.27044000 - 11 0.129621 -0.02902900 - 12 0.059229 -0.62215700 - 13 0.027110 -0.44207400 -S 13 - 1 104.471138 0.00036600 - 2 55.955221 0.00672000 - 3 30.553953 -0.09149300 - 4 16.942394 0.14226300 - 5 9.452707 0.47188100 - 6 5.174537 -0.31970800 - 7 2.779171 -1.06825500 - 8 1.441817 -0.61504900 - 9 0.710674 2.26128200 - 10 0.241540 -0.02005900 - 11 0.129621 -1.81574600 - 12 0.059229 0.47417400 - 13 0.027110 0.71359700 -S 1 - 1 0.027110 1.00000000 -P 13 - 1 159.152840 0.00002600 - 2 83.322776 -0.00040200 - 3 44.840311 0.00740500 - 4 25.020360 -0.03071400 - 5 13.610016 -0.07434800 - 6 7.761318 0.04343000 - 7 4.303947 0.28970300 - 8 2.290080 0.41346700 - 9 1.202173 0.30376200 - 10 0.607647 0.09349400 - 11 0.257656 0.00666300 - 12 0.090897 0.00056700 - 13 0.041925 0.00017600 -P 13 - 1 159.152840 0.00003400 - 2 83.322776 -0.00012900 - 3 44.840311 -0.00080200 - 4 25.020360 0.00474700 - 5 13.610016 0.01859500 - 6 7.761318 -0.01769200 - 7 4.303947 -0.05261400 - 8 2.290080 -0.11034900 - 9 1.202173 -0.05470100 - 10 0.607647 -0.02665500 - 11 0.257656 0.33588000 - 12 0.090897 0.50947800 - 13 0.041925 0.30255900 -P 13 - 1 159.152840 -0.00022800 - 2 83.322776 0.00141400 - 3 44.840311 -0.01029000 - 4 25.020360 0.04389600 - 5 13.610016 0.05286500 - 6 7.761318 -0.05656500 - 7 4.303947 -0.48071500 - 8 2.290080 -0.31598400 - 9 1.202173 0.07567900 - 10 0.607647 1.06074700 - 11 0.257656 -0.00806100 - 12 0.090897 -0.70160100 - 13 0.041925 0.00694100 -P 13 - 1 159.152840 -0.00041200 - 2 83.322776 0.00195700 - 3 44.840311 0.00064000 - 4 25.020360 -0.03675300 - 5 13.610016 -0.14719300 - 6 7.761318 0.29778200 - 7 4.303947 0.70527100 - 8 2.290080 0.19646600 - 9 1.202173 -1.65940600 - 10 0.607647 0.39150000 - 11 0.257656 1.24328400 - 12 0.090897 -0.95752900 - 13 0.041925 -0.05609100 -P 1 - 1 0.041925 1.00000000 -D 11 - 1 226.693527 0.00001500 - 2 73.010278 0.00410800 - 3 38.536518 0.02822300 - 4 18.726700 0.06932300 - 5 9.155485 0.15604500 - 6 4.540884 0.25123800 - 7 2.241175 0.29746300 - 8 1.085869 0.27498100 - 9 0.510612 0.19309800 - 10 0.229608 0.08639300 - 11 0.095781 0.01464500 -D 11 - 1 226.693527 -0.00001300 - 2 73.010278 -0.00525200 - 3 38.536518 -0.03498200 - 4 18.726700 -0.08895000 - 5 9.155485 -0.20719400 - 6 4.540884 -0.30259700 - 7 2.241175 -0.17932700 - 8 1.085869 0.16906900 - 9 0.510612 0.40590400 - 10 0.229608 0.34187100 - 11 0.095781 0.11708000 -D 11 - 1 226.693527 0.00001600 - 2 73.010278 0.00615700 - 3 38.536518 0.04036100 - 4 18.726700 0.10603800 - 5 9.155485 0.26329900 - 6 4.540884 0.28849600 - 7 2.241175 -0.18674500 - 8 1.085869 -0.59153900 - 9 0.510612 -0.13868100 - 10 0.229608 0.54774900 - 11 0.095781 0.36235300 -D 1 - 1 0.095781 1.00000000 -F 1 - 1 1.316717 1.00000000 -F 1 - 1 5.230236 1.00000000 -G 1 - 1 3.445758 1.00000000 - -ZINC - S 13 - 1 114.485022 0.00042900 - 2 61.996430 -0.01933900 - 3 40.117132 0.08625400 - 4 20.119649 -0.08895500 - 5 10.171676 -0.40267100 - 6 5.601641 0.06730400 - 7 2.864122 0.47921500 - 8 1.592779 0.50396000 - 9 0.826525 0.22208800 - 10 0.263975 0.01220300 - 11 0.145302 -0.00430000 - 12 0.068195 0.00124300 - 13 0.031465 -0.00026700 -S 13 - 1 114.485022 -0.00010900 - 2 61.996430 0.00445900 - 3 40.117132 -0.02006700 - 4 20.119649 0.02233800 - 5 10.171676 0.09669800 - 6 5.601641 -0.02196600 - 7 2.864122 -0.12876800 - 8 1.592779 -0.18170600 - 9 0.826525 -0.16231100 - 10 0.263975 0.11626400 - 11 0.145302 0.41131400 - 12 0.068195 0.49425700 - 13 0.031465 0.13810300 -S 13 - 1 114.485022 0.00066600 - 2 61.996430 0.00626900 - 3 40.117132 -0.04660300 - 4 20.119649 0.05039900 - 5 10.171676 0.36349300 - 6 5.601641 -0.24284000 - 7 2.864122 -0.38228100 - 8 1.592779 -0.86156700 - 9 0.826525 0.70607700 - 10 0.263975 1.49500100 - 11 0.145302 -0.45399400 - 12 0.068195 -0.59782200 - 13 0.031465 -0.25611700 -S 13 - 1 114.485022 0.00070400 - 2 61.996430 0.01284100 - 3 40.117132 -0.08591000 - 4 20.119649 0.11798200 - 5 10.171676 0.63016400 - 6 5.601641 -0.60034400 - 7 2.864122 -1.24906000 - 8 1.592779 -0.32949800 - 9 0.826525 2.59246900 - 10 0.263975 -1.00448100 - 11 0.145302 -1.37951400 - 12 0.068195 1.04684200 - 13 0.031465 0.32467600 -S 1 - 1 0.031465 1.00000000 -P 13 - 1 158.770986 -0.00015300 - 2 75.802876 0.00189300 - 3 44.547824 0.01046100 - 4 31.445269 -0.04514100 - 5 13.080125 -0.08420100 - 6 7.788616 0.10497300 - 7 4.195040 0.30771400 - 8 2.362276 0.36856300 - 9 1.302584 0.28633600 - 10 0.660704 0.09515600 - 11 0.249042 0.00585100 - 12 0.091781 -0.00003400 - 13 0.048931 0.00025200 -P 13 - 1 158.770986 0.00005300 - 2 75.802876 -0.00057100 - 3 44.547824 -0.00107300 - 4 31.445269 0.00746300 - 5 13.080125 0.01867600 - 6 7.788616 -0.02809000 - 7 4.195040 -0.05443800 - 8 2.362276 -0.09374400 - 9 1.302584 -0.05416900 - 10 0.660704 -0.00797200 - 11 0.249042 0.35619800 - 12 0.091781 0.41239900 - 13 0.048931 0.36132100 -P 13 - 1 158.770986 -0.00017000 - 2 75.802876 0.00060400 - 3 44.547824 -0.01998700 - 4 31.445269 0.06115300 - 5 13.080125 0.06731700 - 6 7.788616 -0.13921100 - 7 4.195040 -0.52704100 - 8 2.362276 -0.17619400 - 9 1.302584 0.03712900 - 10 0.660704 1.07932200 - 11 0.249042 -0.05014900 - 12 0.091781 -0.68897100 - 13 0.048931 0.03733100 -P 13 - 1 158.770986 -0.00078100 - 2 75.802876 0.00785500 - 3 44.547824 -0.00867100 - 4 31.445269 -0.04055300 - 5 13.080125 -0.20006200 - 6 7.788616 0.52859900 - 7 4.195040 0.52855200 - 8 2.362276 0.24357600 - 9 1.302584 -1.80718200 - 10 0.660704 0.62949600 - 11 0.249042 1.13761300 - 12 0.091781 -1.06715000 - 13 0.048931 0.02219000 -P 1 - 1 0.048931 1.00000000 -D 11 - 1 270.014061 -0.00001600 - 2 100.161579 0.00069600 - 3 43.530609 0.01353600 - 4 21.262419 0.06935000 - 5 10.577821 0.14955900 - 6 5.343620 0.23958800 - 7 2.704857 0.28674400 - 8 1.353018 0.27145900 - 9 0.660873 0.20242600 - 10 0.309149 0.10330700 - 11 0.133879 0.02321100 -D 11 - 1 270.014061 0.00001300 - 2 100.161579 -0.00088900 - 3 43.530609 -0.01864000 - 4 21.262419 -0.09464600 - 5 10.577821 -0.21565900 - 6 5.343620 -0.32246900 - 7 2.704857 -0.19752900 - 8 1.353018 0.16444800 - 9 0.660873 0.41001700 - 10 0.309149 0.32783800 - 11 0.133879 0.10574900 -D 11 - 1 270.014061 0.00000700 - 2 100.161579 0.00086800 - 3 43.530609 0.02163100 - 4 21.262419 0.10774800 - 5 10.577821 0.27899700 - 6 5.343620 0.31454300 - 7 2.704857 -0.24192600 - 8 1.353018 -0.60241500 - 9 0.660873 -0.11801300 - 10 0.309149 0.54548200 - 11 0.133879 0.36382900 -D 1 - 1 0.133879 1.00000000 -F 1 - 1 1.520399 1.00000000 -F 1 - 1 6.000349 1.00000000 -G 1 - 1 4.099533 1.00000000 - - From 08089a4dad7e83aab0f1dd6da4fce2b088751355 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 12 May 2020 18:48:51 +0200 Subject: [PATCH 089/138] Introduced screening.irp.f --- src/ao_one_e_ints/screening.irp.f | 16 +++++++ src/ao_two_e_erf_ints/map_integrals_erf.irp.f | 9 ++-- .../two_e_integrals_erf.irp.f | 9 ++-- src/ao_two_e_ints/map_integrals.irp.f | 43 ++++++++++--------- src/ao_two_e_ints/screening.irp.f | 15 +++++++ src/ao_two_e_ints/two_e_integrals.irp.f | 21 +++------ src/hartree_fock/fock_matrix_hf.irp.f | 6 +-- src/kohn_sham/fock_matrix_ks.irp.f | 6 +-- src/kohn_sham_rs/fock_matrix_rs_ks.irp.f | 6 +-- 9 files changed, 81 insertions(+), 50 deletions(-) create mode 100644 src/ao_one_e_ints/screening.irp.f create mode 100644 src/ao_two_e_ints/screening.irp.f diff --git a/src/ao_one_e_ints/screening.irp.f b/src/ao_one_e_ints/screening.irp.f new file mode 100644 index 00000000..aa23a9b8 --- /dev/null +++ b/src/ao_one_e_ints/screening.irp.f @@ -0,0 +1,16 @@ +logical function ao_one_e_integral_zero(i,k) + implicit none + integer, intent(in) :: i,k + + ao_one_e_integral_zero = .False. + if (.not.(read_ao_one_e_integrals.or.is_periodic)) then + if (ao_overlap_abs(i,k) < ao_integrals_threshold) then + ao_one_e_integral_zero = .True. + return + endif + endif + if (ao_two_e_integral_schwartz(i,k) < ao_integrals_threshold) then + ao_one_e_integral_zero = .True. + endif +end + diff --git a/src/ao_two_e_erf_ints/map_integrals_erf.irp.f b/src/ao_two_e_erf_ints/map_integrals_erf.irp.f index b3d56c41..206eea75 100644 --- a/src/ao_two_e_erf_ints/map_integrals_erf.irp.f +++ b/src/ao_two_e_erf_ints/map_integrals_erf.irp.f @@ -85,9 +85,10 @@ double precision function get_ao_two_e_integral_erf(i,j,k,l,map) result(result) type(map_type), intent(inout) :: map integer :: ii real(integral_kind) :: tmp + logical, external :: ao_two_e_integral_zero PROVIDE ao_two_e_integrals_erf_in_map ao_integrals_erf_cache ao_integrals_erf_cache_min !DIR$ FORCEINLINE - if (ao_overlap_abs(i,k)*ao_overlap_abs(j,l) < ao_integrals_threshold ) then + if (ao_two_e_integral_zero(i,j,k,l) < ao_integrals_threshold ) then tmp = 0.d0 else if (ao_two_e_integral_erf_schwartz(i,k)*ao_two_e_integral_erf_schwartz(j,l) < ao_integrals_threshold) then tmp = 0.d0 @@ -127,10 +128,11 @@ subroutine get_ao_two_e_integrals_erf(j,k,l,sze,out_val) integer :: i integer(key_kind) :: hash double precision :: thresh + logical, external :: ao_one_e_integral_zero PROVIDE ao_two_e_integrals_erf_in_map ao_integrals_erf_map thresh = ao_integrals_threshold - if (ao_overlap_abs(j,l) < thresh) then + if (ao_one_e_integral_zero(j,l)) then out_val = 0.d0 return endif @@ -156,11 +158,12 @@ subroutine get_ao_two_e_integrals_erf_non_zero(j,k,l,sze,out_val,out_val_index,n integer :: i integer(key_kind) :: hash double precision :: thresh,tmp + logical, external :: ao_one_e_integral_zero PROVIDE ao_two_e_integrals_erf_in_map thresh = ao_integrals_threshold non_zero_int = 0 - if (ao_overlap_abs(j,l) < thresh) then + if (ao_one_e_integral_zero(j,l)) then out_val = 0.d0 return endif diff --git a/src/ao_two_e_erf_ints/two_e_integrals_erf.irp.f b/src/ao_two_e_erf_ints/two_e_integrals_erf.irp.f index 97debfab..88c74ac0 100644 --- a/src/ao_two_e_erf_ints/two_e_integrals_erf.irp.f +++ b/src/ao_two_e_erf_ints/two_e_integrals_erf.irp.f @@ -291,8 +291,10 @@ subroutine compute_ao_two_e_integrals_erf(j,k,l,sze,buffer_value) double precision :: ao_two_e_integral_erf integer :: i + logical, external :: ao_one_e_integral_zero + logical, external :: ao_two_e_integral_zero - if (ao_overlap_abs(j,l) < thresh) then + if (ao_one_e_integral_zero(j,l)) then buffer_value = 0._integral_kind return endif @@ -302,7 +304,7 @@ subroutine compute_ao_two_e_integrals_erf(j,k,l,sze,buffer_value) endif do i = 1, ao_num - if (ao_overlap_abs(i,k)*ao_overlap_abs(j,l) < thresh) then + if (ao_two_e_integral_zero(i,j,k,l)) then buffer_value(i) = 0._integral_kind cycle endif @@ -618,6 +620,7 @@ subroutine compute_ao_integrals_erf_jl(j,l,n_integrals,buffer_i,buffer_value) double precision :: integral, wall_0 double precision :: thr integer :: kk, m, j1, i1 + logical, external :: ao_two_e_integral_zero thr = ao_integrals_threshold @@ -634,7 +637,7 @@ subroutine compute_ao_integrals_erf_jl(j,l,n_integrals,buffer_i,buffer_value) if (i1 > j1) then exit endif - if (ao_overlap_abs(i,k)*ao_overlap_abs(j,l) < thr) then + if (ao_two_e_integral_zero(i,j,k,l)) then cycle endif if (ao_two_e_integral_erf_schwartz(i,k)*ao_two_e_integral_erf_schwartz(j,l) < thr ) then diff --git a/src/ao_two_e_ints/map_integrals.irp.f b/src/ao_two_e_ints/map_integrals.irp.f index 5272096d..c0ec9695 100644 --- a/src/ao_two_e_ints/map_integrals.irp.f +++ b/src/ao_two_e_ints/map_integrals.irp.f @@ -333,11 +333,10 @@ double precision function get_ao_two_e_integral(i,j,k,l,map) result(result) type(map_type), intent(inout) :: map integer :: ii real(integral_kind) :: tmp + logical, external :: ao_two_e_integral_zero PROVIDE ao_two_e_integrals_in_map ao_integrals_cache ao_integrals_cache_min !DIR$ FORCEINLINE - if (ao_overlap_abs(i,k)*ao_overlap_abs(j,l) < ao_integrals_threshold ) then - tmp = 0.d0 - else if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < ao_integrals_threshold) then + if (ao_two_e_integral_zero(i,j,k,l)) then tmp = 0.d0 else ii = l-ao_integrals_cache_min @@ -427,9 +426,8 @@ complex*16 function get_ao_two_e_integral_periodic(i,j,k,l,map) result(result) complex(integral_kind) :: tmp PROVIDE ao_two_e_integrals_in_map ao_integrals_cache_periodic ao_integrals_cache_min !DIR$ FORCEINLINE - if (ao_overlap_abs(i,k)*ao_overlap_abs(j,l) < ao_integrals_threshold ) then - tmp = (0.d0,0.d0) - else if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < ao_integrals_threshold) then + logical, external :: ao_two_e_integral_zero + if (ao_two_e_integral_zero(i,j,k,l)) then tmp = (0.d0,0.d0) else ii = l-ao_integrals_cache_min @@ -481,11 +479,10 @@ subroutine get_ao_two_e_integrals(j,k,l,sze,out_val) integer :: i integer(key_kind) :: hash - double precision :: thresh + logical, external :: ao_one_e_integral_zero PROVIDE ao_two_e_integrals_in_map ao_integrals_map - thresh = ao_integrals_threshold - if (ao_overlap_abs(j,l) < thresh) then + if (ao_one_e_integral_zero(j,l)) then out_val = 0.d0 return endif @@ -511,11 +508,10 @@ subroutine get_ao_two_e_integrals_periodic(j,k,l,sze,out_val) integer :: i integer(key_kind) :: hash - double precision :: thresh + logical, external :: ao_one_e_integral_zero PROVIDE ao_two_e_integrals_in_map ao_integrals_map - thresh = ao_integrals_threshold - if (ao_overlap_abs(j,l) < thresh) then + if (ao_one_e_integral_zero(j,l)) then out_val = 0.d0 return endif @@ -540,12 +536,13 @@ subroutine get_ao_two_e_integrals_non_zero(j,k,l,sze,out_val,out_val_index,non_z integer :: i integer(key_kind) :: hash - double precision :: thresh,tmp + double precision :: tmp + logical, external :: ao_one_e_integral_zero + logical, external :: ao_two_e_integral_zero PROVIDE ao_two_e_integrals_in_map - thresh = ao_integrals_threshold non_zero_int = 0 - if (ao_overlap_abs(j,l) < thresh) then + if (ao_one_e_integral_zero(j,l)) then out_val = 0.d0 return endif @@ -555,12 +552,12 @@ subroutine get_ao_two_e_integrals_non_zero(j,k,l,sze,out_val,out_val_index,non_z integer, external :: ao_l4 double precision, external :: ao_two_e_integral !DIR$ FORCEINLINE - if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < thresh) then + if (ao_two_e_integral_zero(i,j,k,l)) then cycle endif call two_e_integrals_index(i,j,k,l,hash) call map_get(ao_integrals_map, hash,tmp) - if (dabs(tmp) < thresh ) cycle + if (dabs(tmp) < ao_integrals_threshold) cycle non_zero_int = non_zero_int+1 out_val_index(non_zero_int) = i out_val(non_zero_int) = tmp @@ -584,10 +581,12 @@ subroutine get_ao_two_e_integrals_non_zero_jl(j,l,thresh,sze_max,sze,out_val,out integer :: i,k integer(key_kind) :: hash double precision :: tmp + logical, external :: ao_one_e_integral_zero + logical, external :: ao_two_e_integral_zero PROVIDE ao_two_e_integrals_in_map non_zero_int = 0 - if (ao_overlap_abs(j,l) < thresh) then + if (ao_one_e_integral_zero(j,l)) then out_val = 0.d0 return endif @@ -598,7 +597,7 @@ subroutine get_ao_two_e_integrals_non_zero_jl(j,l,thresh,sze_max,sze,out_val,out integer, external :: ao_l4 double precision, external :: ao_two_e_integral !DIR$ FORCEINLINE - if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < thresh) then + if (ao_two_e_integral_zero(i,j,k,l)) then cycle endif call two_e_integrals_index(i,j,k,l,hash) @@ -630,10 +629,12 @@ subroutine get_ao_two_e_integrals_non_zero_jl_from_list(j,l,thresh,list,n_list,s integer :: i,k integer(key_kind) :: hash double precision :: tmp + logical, external :: ao_one_e_integral_zero + logical, external :: ao_two_e_integral_zero PROVIDE ao_two_e_integrals_in_map non_zero_int = 0 - if (ao_overlap_abs(j,l) < thresh) then + if (ao_one_e_integral_zero(j,l)) then out_val = 0.d0 return endif @@ -646,7 +647,7 @@ subroutine get_ao_two_e_integrals_non_zero_jl_from_list(j,l,thresh,list,n_list,s integer, external :: ao_l4 double precision, external :: ao_two_e_integral !DIR$ FORCEINLINE - if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < thresh) then + if (ao_two_e_integral_zero(i,j,k,l)) then cycle endif call two_e_integrals_index(i,j,k,l,hash) diff --git a/src/ao_two_e_ints/screening.irp.f b/src/ao_two_e_ints/screening.irp.f new file mode 100644 index 00000000..5095deec --- /dev/null +++ b/src/ao_two_e_ints/screening.irp.f @@ -0,0 +1,15 @@ +logical function ao_two_e_integral_zero(i,j,k,l) + implicit none + integer, intent(in) :: i,j,k,l + + ao_two_e_integral_zero = .False. + if (.not.(read_ao_two_e_integrals.or.is_periodic)) then + if (ao_overlap_abs(j,l)*ao_overlap_abs(i,k) < ao_integrals_threshold) then + ao_two_e_integral_zero = .True. + return + endif + endif + if (ao_two_e_integral_schwartz(j,l)*ao_two_e_integral_schwartz(i,k) < ao_integrals_threshold) then + ao_two_e_integral_zero = .True. + endif +end diff --git a/src/ao_two_e_ints/two_e_integrals.irp.f b/src/ao_two_e_ints/two_e_integrals.irp.f index a2bde897..acc9ab7a 100644 --- a/src/ao_two_e_ints/two_e_integrals.irp.f +++ b/src/ao_two_e_ints/two_e_integrals.irp.f @@ -300,22 +300,17 @@ subroutine compute_ao_two_e_integrals(j,k,l,sze,buffer_value) double precision :: ao_two_e_integral integer :: i + logical, external :: ao_one_e_integral_zero + logical, external :: ao_two_e_integral_zero - if (ao_overlap_abs(j,l) < thresh) then - buffer_value = 0._integral_kind - return - endif - if (ao_two_e_integral_schwartz(j,l) < thresh ) then + + if (ao_one_e_integral_zero(j,l)) then buffer_value = 0._integral_kind return endif do i = 1, ao_num - if (ao_overlap_abs(i,k)*ao_overlap_abs(j,l) < thresh) then - buffer_value(i) = 0._integral_kind - cycle - endif - if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < thresh ) then + if (ao_two_e_integral_zero(i,j,k,l)) then buffer_value(i) = 0._integral_kind cycle endif @@ -1173,6 +1168,7 @@ subroutine compute_ao_integrals_jl(j,l,n_integrals,buffer_i,buffer_value) double precision :: integral, wall_0 double precision :: thr integer :: kk, m, j1, i1 + logical, external :: ao_two_e_integral_zero thr = ao_integrals_threshold @@ -1189,10 +1185,7 @@ subroutine compute_ao_integrals_jl(j,l,n_integrals,buffer_i,buffer_value) if (i1 > j1) then exit endif - if (ao_overlap_abs(i,k)*ao_overlap_abs(j,l) < thr) then - cycle - endif - if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < thr ) then + if (ao_two_e_integral_zero(i,j,k,l)) then cycle endif !DIR$ FORCEINLINE diff --git a/src/hartree_fock/fock_matrix_hf.irp.f b/src/hartree_fock/fock_matrix_hf.irp.f index 4a62dcf3..d7d8fa7d 100644 --- a/src/hartree_fock/fock_matrix_hf.irp.f +++ b/src/hartree_fock/fock_matrix_hf.irp.f @@ -25,7 +25,7 @@ !$OMP local_threshold)& !$OMP SHARED(ao_num,SCF_density_matrix_ao_alpha,SCF_density_matrix_ao_beta,& !$OMP ao_integrals_map,ao_integrals_threshold, ao_two_e_integral_schwartz, & - !$OMP ao_overlap_abs, ao_two_e_integral_alpha, ao_two_e_integral_beta) + !$OMP ao_two_e_integral_alpha, ao_two_e_integral_beta) allocate(keys(1), values(1)) allocate(ao_two_e_integral_alpha_tmp(ao_num,ao_num), & @@ -48,8 +48,8 @@ l = ll(1) j = jj(1) - if (ao_overlap_abs(k,l)*ao_overlap_abs(i,j) & - < ao_integrals_threshold) then + logical, external :: ao_two_e_integral_zero + if (ao_two_e_integral_zero(i,k,j,l)) then cycle endif local_threshold = ao_two_e_integral_schwartz(k,l)*ao_two_e_integral_schwartz(i,j) diff --git a/src/kohn_sham/fock_matrix_ks.irp.f b/src/kohn_sham/fock_matrix_ks.irp.f index a11906db..6c3c5f9f 100644 --- a/src/kohn_sham/fock_matrix_ks.irp.f +++ b/src/kohn_sham/fock_matrix_ks.irp.f @@ -28,7 +28,7 @@ !$OMP local_threshold)& !$OMP SHARED(ao_num,SCF_density_matrix_ao_alpha,SCF_density_matrix_ao_beta,& !$OMP ao_integrals_map,ao_integrals_threshold, ao_two_e_integral_schwartz, & - !$OMP ao_overlap_abs, ao_two_e_integral_alpha, ao_two_e_integral_beta) + !$OMP ao_two_e_integral_alpha, ao_two_e_integral_beta) allocate(keys(1), values(1)) allocate(ao_two_e_integral_alpha_tmp(ao_num,ao_num), & @@ -51,8 +51,8 @@ l = ll(1) j = jj(1) - if (ao_overlap_abs(k,l)*ao_overlap_abs(i,j) & - < ao_integrals_threshold) then + logical, external :: ao_two_e_integral_zero + if (ao_two_e_integral_zero(i,k,j,l)) then cycle endif local_threshold = ao_two_e_integral_schwartz(k,l)*ao_two_e_integral_schwartz(i,j) diff --git a/src/kohn_sham_rs/fock_matrix_rs_ks.irp.f b/src/kohn_sham_rs/fock_matrix_rs_ks.irp.f index 2cfeb109..17972a79 100644 --- a/src/kohn_sham_rs/fock_matrix_rs_ks.irp.f +++ b/src/kohn_sham_rs/fock_matrix_rs_ks.irp.f @@ -26,7 +26,7 @@ !$OMP local_threshold)& !$OMP SHARED(ao_num,SCF_density_matrix_ao_alpha,SCF_density_matrix_ao_beta,& !$OMP ao_integrals_map,ao_integrals_threshold, ao_two_e_integral_schwartz, & - !$OMP ao_overlap_abs, ao_two_e_integral_alpha, ao_two_e_integral_beta) + !$OMP ao_two_e_integral_alpha, ao_two_e_integral_beta) allocate(keys(1), values(1)) allocate(ao_two_e_integral_alpha_tmp(ao_num,ao_num), & @@ -49,8 +49,8 @@ l = ll(1) j = jj(1) - if (ao_overlap_abs(k,l)*ao_overlap_abs(i,j) & - < ao_integrals_threshold) then + logical, external :: ao_two_e_integral_zero + if (ao_two_e_integral_zero(i,k,j,l)) then cycle endif local_threshold = ao_two_e_integral_schwartz(k,l)*ao_two_e_integral_schwartz(i,j) From 91bcfed6733fa0ba6bdc452e5aa5176dd62046de Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 12 May 2020 19:10:12 +0200 Subject: [PATCH 090/138] Fixed compile error in previous commit --- src/ao_two_e_erf_ints/map_integrals_erf.irp.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ao_two_e_erf_ints/map_integrals_erf.irp.f b/src/ao_two_e_erf_ints/map_integrals_erf.irp.f index 206eea75..4e4e68ff 100644 --- a/src/ao_two_e_erf_ints/map_integrals_erf.irp.f +++ b/src/ao_two_e_erf_ints/map_integrals_erf.irp.f @@ -88,7 +88,7 @@ double precision function get_ao_two_e_integral_erf(i,j,k,l,map) result(result) logical, external :: ao_two_e_integral_zero PROVIDE ao_two_e_integrals_erf_in_map ao_integrals_erf_cache ao_integrals_erf_cache_min !DIR$ FORCEINLINE - if (ao_two_e_integral_zero(i,j,k,l) < ao_integrals_threshold ) then + if (ao_two_e_integral_zero(i,j,k,l)) then tmp = 0.d0 else if (ao_two_e_integral_erf_schwartz(i,k)*ao_two_e_integral_erf_schwartz(j,l) < ao_integrals_threshold) then tmp = 0.d0 From a62456b238464145fd834fa8192050a7aaafb330 Mon Sep 17 00:00:00 2001 From: Michel Caffarel Date: Tue, 12 May 2020 21:57:05 +0200 Subject: [PATCH 091/138] Avoid to provide ao basis when reading integrals --- src/ao_basis/aos.irp.f | 13 +++++++++++++ src/ao_one_e_ints/ao_overlap.irp.f | 1 + src/ao_two_e_ints/two_e_integrals.irp.f | 7 +++++-- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/ao_basis/aos.irp.f b/src/ao_basis/aos.irp.f index e95ac711..f747b1de 100644 --- a/src/ao_basis/aos.irp.f +++ b/src/ao_basis/aos.irp.f @@ -3,6 +3,7 @@ BEGIN_PROVIDER [ integer, ao_prim_num_max ] BEGIN_DOC ! Max number of primitives. END_DOC +print *, 'XXXX', irp_here ao_prim_num_max = maxval(ao_prim_num) END_PROVIDER @@ -19,6 +20,7 @@ END_PROVIDER C_A(1) = 0.d0 C_A(2) = 0.d0 C_A(3) = 0.d0 +print *, 'XXXX', irp_here ao_coef_normalized = 0.d0 do i=1,ao_num @@ -65,6 +67,7 @@ BEGIN_PROVIDER [ double precision, ao_coef_normalization_libint_factor, (ao_num) integer :: l, powA(3), nz integer :: i,j,k nz=100 +print *, 'XXXX', irp_here C_A(1) = 0.d0 C_A(2) = 0.d0 C_A(3) = 0.d0 @@ -99,6 +102,7 @@ END_PROVIDER integer :: iorder(ao_prim_num_max) double precision :: d(ao_prim_num_max,2) integer :: i,j +print *, 'XXXX', irp_here do i=1,ao_num do j=1,ao_prim_num(i) iorder(j) = j @@ -121,6 +125,7 @@ BEGIN_PROVIDER [ double precision, ao_coef_normalized_ordered_transp, (ao_prim_n ! Transposed :c:data:`ao_coef_normalized_ordered` END_DOC integer :: i,j +print *, 'XXXX', irp_here do j=1, ao_num do i=1, ao_prim_num_max ao_coef_normalized_ordered_transp(i,j) = ao_coef_normalized_ordered(j,i) @@ -135,6 +140,7 @@ BEGIN_PROVIDER [ double precision, ao_expo_ordered_transp, (ao_prim_num_max,ao_n ! Transposed :c:data:`ao_expo_ordered` END_DOC integer :: i,j +print *, 'XXXX', irp_here do j=1, ao_num do i=1, ao_prim_num_max ao_expo_ordered_transp(i,j) = ao_expo_ordered(j,i) @@ -151,6 +157,7 @@ END_PROVIDER ! :math:`l` value of the |AO|: :math`a+b+c` in :math:`x^a y^b z^c` END_DOC integer :: i +print *, 'XXXX', irp_here do i=1,ao_num ao_l(i) = ao_power(i,1) + ao_power(i,2) + ao_power(i,3) ao_l_char(i) = l_to_character(ao_l(i)) @@ -167,6 +174,7 @@ integer function ao_power_index(nx,ny,nz) ! :math:`\frac{1}{2} (l-n_x) (l-n_x+1) + n_z + 1` END_DOC integer :: l +print *, 'XXXX', irp_here l = nx + ny + nz ao_power_index = ((l-nx)*(l-nx+1))/2 + nz + 1 end @@ -177,6 +185,7 @@ BEGIN_PROVIDER [ character*(128), l_to_character, (0:7)] ! Character corresponding to the "l" value of an |AO| END_DOC implicit none +print *, 'XXXX', irp_here l_to_character(0)='s' l_to_character(1)='p' l_to_character(2)='d' @@ -195,6 +204,7 @@ END_PROVIDER ! Number of |AOs| per atom END_DOC integer :: i +print *, 'XXXX', irp_here Nucl_N_Aos = 0 do i = 1, ao_num Nucl_N_Aos(ao_nucl(i)) +=1 @@ -209,6 +219,7 @@ END_PROVIDER END_DOC integer :: i integer, allocatable :: nucl_tmp(:) +print *, 'XXXX', irp_here allocate(nucl_tmp(nucl_num)) nucl_tmp = 0 Nucl_Aos = 0 @@ -229,6 +240,7 @@ END_PROVIDER ! By convention, for p,d,f and g |AOs|, we take the index ! of the |AO| with the the corresponding power in the x axis END_DOC +print *, 'XXXX', irp_here do i = 1, nucl_num Nucl_num_shell_Aos(i) = 0 @@ -276,6 +288,7 @@ BEGIN_PROVIDER [ character*(4), ao_l_char_space, (ao_num) ] END_DOC integer :: i character*(4) :: give_ao_character_space +print *, 'XXXX', irp_here do i=1,ao_num if(ao_l(i)==0)then diff --git a/src/ao_one_e_ints/ao_overlap.irp.f b/src/ao_one_e_ints/ao_overlap.irp.f index d7300936..d7a4d640 100644 --- a/src/ao_one_e_ints/ao_overlap.irp.f +++ b/src/ao_one_e_ints/ao_overlap.irp.f @@ -109,6 +109,7 @@ BEGIN_PROVIDER [ double precision, ao_overlap_abs,(ao_num,ao_num) ] double precision :: A_center(3), B_center(3) integer :: power_A(3), power_B(3) double precision :: lower_exp_val, dx +print *, "XXX---", irp_here if (is_periodic) then do j=1,ao_num do i= 1,ao_num diff --git a/src/ao_two_e_ints/two_e_integrals.irp.f b/src/ao_two_e_ints/two_e_integrals.irp.f index acc9ab7a..973a9011 100644 --- a/src/ao_two_e_ints/two_e_integrals.irp.f +++ b/src/ao_two_e_ints/two_e_integrals.irp.f @@ -343,8 +343,6 @@ BEGIN_PROVIDER [ logical, ao_two_e_integrals_in_map ] integer :: kk, m, j1, i1, lmax character*(64) :: fmt - integral = ao_two_e_integral(1,1,1,1) - double precision :: map_mb PROVIDE read_ao_two_e_integrals io_ao_two_e_integrals if (read_ao_two_e_integrals) then @@ -360,6 +358,11 @@ BEGIN_PROVIDER [ logical, ao_two_e_integrals_in_map ] call wall_time(wall_1) call cpu_time(cpu_1) + if (.True.) then + ! Avoid openMP + integral = ao_two_e_integral(1,1,1,1) + endif + integer(ZMQ_PTR) :: zmq_to_qp_run_socket, zmq_socket_pull call new_parallel_job(zmq_to_qp_run_socket,zmq_socket_pull,'ao_integrals') From 329bcf805bd03768243d41fe2c16f9822796f22d Mon Sep 17 00:00:00 2001 From: Michel Caffarel Date: Tue, 12 May 2020 22:46:39 +0200 Subject: [PATCH 092/138] Fixed schwartz screening when integrals are read --- src/ao_basis/aos.irp.f | 13 -- src/ao_one_e_ints/ao_overlap.irp.f | 1 - src/ao_one_e_ints/pot_ao_ints.irp.f | 10 +- src/ao_one_e_ints/screening.irp.f | 5 +- src/ao_two_e_ints/screening.irp.f | 6 +- src/ao_two_e_ints/two_e_integrals.irp.f | 253 ++++++++++++------------ src/mo_two_e_ints/mo_bi_integrals.irp.f | 2 - 7 files changed, 137 insertions(+), 153 deletions(-) diff --git a/src/ao_basis/aos.irp.f b/src/ao_basis/aos.irp.f index f747b1de..e95ac711 100644 --- a/src/ao_basis/aos.irp.f +++ b/src/ao_basis/aos.irp.f @@ -3,7 +3,6 @@ BEGIN_PROVIDER [ integer, ao_prim_num_max ] BEGIN_DOC ! Max number of primitives. END_DOC -print *, 'XXXX', irp_here ao_prim_num_max = maxval(ao_prim_num) END_PROVIDER @@ -20,7 +19,6 @@ END_PROVIDER C_A(1) = 0.d0 C_A(2) = 0.d0 C_A(3) = 0.d0 -print *, 'XXXX', irp_here ao_coef_normalized = 0.d0 do i=1,ao_num @@ -67,7 +65,6 @@ BEGIN_PROVIDER [ double precision, ao_coef_normalization_libint_factor, (ao_num) integer :: l, powA(3), nz integer :: i,j,k nz=100 -print *, 'XXXX', irp_here C_A(1) = 0.d0 C_A(2) = 0.d0 C_A(3) = 0.d0 @@ -102,7 +99,6 @@ END_PROVIDER integer :: iorder(ao_prim_num_max) double precision :: d(ao_prim_num_max,2) integer :: i,j -print *, 'XXXX', irp_here do i=1,ao_num do j=1,ao_prim_num(i) iorder(j) = j @@ -125,7 +121,6 @@ BEGIN_PROVIDER [ double precision, ao_coef_normalized_ordered_transp, (ao_prim_n ! Transposed :c:data:`ao_coef_normalized_ordered` END_DOC integer :: i,j -print *, 'XXXX', irp_here do j=1, ao_num do i=1, ao_prim_num_max ao_coef_normalized_ordered_transp(i,j) = ao_coef_normalized_ordered(j,i) @@ -140,7 +135,6 @@ BEGIN_PROVIDER [ double precision, ao_expo_ordered_transp, (ao_prim_num_max,ao_n ! Transposed :c:data:`ao_expo_ordered` END_DOC integer :: i,j -print *, 'XXXX', irp_here do j=1, ao_num do i=1, ao_prim_num_max ao_expo_ordered_transp(i,j) = ao_expo_ordered(j,i) @@ -157,7 +151,6 @@ END_PROVIDER ! :math:`l` value of the |AO|: :math`a+b+c` in :math:`x^a y^b z^c` END_DOC integer :: i -print *, 'XXXX', irp_here do i=1,ao_num ao_l(i) = ao_power(i,1) + ao_power(i,2) + ao_power(i,3) ao_l_char(i) = l_to_character(ao_l(i)) @@ -174,7 +167,6 @@ integer function ao_power_index(nx,ny,nz) ! :math:`\frac{1}{2} (l-n_x) (l-n_x+1) + n_z + 1` END_DOC integer :: l -print *, 'XXXX', irp_here l = nx + ny + nz ao_power_index = ((l-nx)*(l-nx+1))/2 + nz + 1 end @@ -185,7 +177,6 @@ BEGIN_PROVIDER [ character*(128), l_to_character, (0:7)] ! Character corresponding to the "l" value of an |AO| END_DOC implicit none -print *, 'XXXX', irp_here l_to_character(0)='s' l_to_character(1)='p' l_to_character(2)='d' @@ -204,7 +195,6 @@ END_PROVIDER ! Number of |AOs| per atom END_DOC integer :: i -print *, 'XXXX', irp_here Nucl_N_Aos = 0 do i = 1, ao_num Nucl_N_Aos(ao_nucl(i)) +=1 @@ -219,7 +209,6 @@ END_PROVIDER END_DOC integer :: i integer, allocatable :: nucl_tmp(:) -print *, 'XXXX', irp_here allocate(nucl_tmp(nucl_num)) nucl_tmp = 0 Nucl_Aos = 0 @@ -240,7 +229,6 @@ END_PROVIDER ! By convention, for p,d,f and g |AOs|, we take the index ! of the |AO| with the the corresponding power in the x axis END_DOC -print *, 'XXXX', irp_here do i = 1, nucl_num Nucl_num_shell_Aos(i) = 0 @@ -288,7 +276,6 @@ BEGIN_PROVIDER [ character*(4), ao_l_char_space, (ao_num) ] END_DOC integer :: i character*(4) :: give_ao_character_space -print *, 'XXXX', irp_here do i=1,ao_num if(ao_l(i)==0)then diff --git a/src/ao_one_e_ints/ao_overlap.irp.f b/src/ao_one_e_ints/ao_overlap.irp.f index d7a4d640..d7300936 100644 --- a/src/ao_one_e_ints/ao_overlap.irp.f +++ b/src/ao_one_e_ints/ao_overlap.irp.f @@ -109,7 +109,6 @@ BEGIN_PROVIDER [ double precision, ao_overlap_abs,(ao_num,ao_num) ] double precision :: A_center(3), B_center(3) integer :: power_A(3), power_B(3) double precision :: lower_exp_val, dx -print *, "XXX---", irp_here if (is_periodic) then do j=1,ao_num do i= 1,ao_num diff --git a/src/ao_one_e_ints/pot_ao_ints.irp.f b/src/ao_one_e_ints/pot_ao_ints.irp.f index 486ff534..4108ce71 100644 --- a/src/ao_one_e_ints/pot_ao_ints.irp.f +++ b/src/ao_one_e_ints/pot_ao_ints.irp.f @@ -3,6 +3,8 @@ BEGIN_PROVIDER [ double precision, ao_integrals_n_e, (ao_num,ao_num)] ! Nucleus-electron interaction, in the |AO| basis set. ! ! :math:`\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle` + ! + ! These integrals also contain the pseudopotential integrals. END_DOC implicit none double precision :: alpha, beta, gama, delta @@ -75,11 +77,11 @@ BEGIN_PROVIDER [ double precision, ao_integrals_n_e, (ao_num,ao_num)] !$OMP END DO !$OMP END PARALLEL - endif + IF (DO_PSEUDO) THEN + ao_integrals_n_e += ao_pseudo_integrals + ENDIF - IF (DO_PSEUDO) THEN - ao_integrals_n_e += ao_pseudo_integrals - ENDIF + endif if (write_ao_integrals_n_e) then diff --git a/src/ao_one_e_ints/screening.irp.f b/src/ao_one_e_ints/screening.irp.f index aa23a9b8..1bbe3c73 100644 --- a/src/ao_one_e_ints/screening.irp.f +++ b/src/ao_one_e_ints/screening.irp.f @@ -3,14 +3,11 @@ logical function ao_one_e_integral_zero(i,k) integer, intent(in) :: i,k ao_one_e_integral_zero = .False. - if (.not.(read_ao_one_e_integrals.or.is_periodic)) then + if (.not.((io_ao_integrals_overlap/='None').or.is_periodic)) then if (ao_overlap_abs(i,k) < ao_integrals_threshold) then ao_one_e_integral_zero = .True. return endif endif - if (ao_two_e_integral_schwartz(i,k) < ao_integrals_threshold) then - ao_one_e_integral_zero = .True. - endif end diff --git a/src/ao_two_e_ints/screening.irp.f b/src/ao_two_e_ints/screening.irp.f index 5095deec..d3230370 100644 --- a/src/ao_two_e_ints/screening.irp.f +++ b/src/ao_two_e_ints/screening.irp.f @@ -8,8 +8,8 @@ logical function ao_two_e_integral_zero(i,j,k,l) ao_two_e_integral_zero = .True. return endif - endif - if (ao_two_e_integral_schwartz(j,l)*ao_two_e_integral_schwartz(i,k) < ao_integrals_threshold) then - ao_two_e_integral_zero = .True. + if (ao_two_e_integral_schwartz(j,l)*ao_two_e_integral_schwartz(i,k) < ao_integrals_threshold) then + ao_two_e_integral_zero = .True. + endif endif end diff --git a/src/ao_two_e_ints/two_e_integrals.irp.f b/src/ao_two_e_ints/two_e_integrals.irp.f index 973a9011..b6e959d7 100644 --- a/src/ao_two_e_ints/two_e_integrals.irp.f +++ b/src/ao_two_e_ints/two_e_integrals.irp.f @@ -18,89 +18,89 @@ double precision function ao_two_e_integral(i,j,k,l) if (ao_prim_num(i) * ao_prim_num(j) * ao_prim_num(k) * ao_prim_num(l) > 1024 ) then ao_two_e_integral = ao_two_e_integral_schwartz_accel(i,j,k,l) - return - endif + else - dim1 = n_pt_max_integrals + dim1 = n_pt_max_integrals - num_i = ao_nucl(i) - num_j = ao_nucl(j) - num_k = ao_nucl(k) - num_l = ao_nucl(l) - ao_two_e_integral = 0.d0 + num_i = ao_nucl(i) + num_j = ao_nucl(j) + num_k = ao_nucl(k) + num_l = ao_nucl(l) + ao_two_e_integral = 0.d0 - if (num_i /= num_j .or. num_k /= num_l .or. num_j /= num_k)then - do p = 1, 3 - I_power(p) = ao_power(i,p) - J_power(p) = ao_power(j,p) - K_power(p) = ao_power(k,p) - L_power(p) = ao_power(l,p) - I_center(p) = nucl_coord(num_i,p) - J_center(p) = nucl_coord(num_j,p) - K_center(p) = nucl_coord(num_k,p) - L_center(p) = nucl_coord(num_l,p) - enddo + if (num_i /= num_j .or. num_k /= num_l .or. num_j /= num_k)then + do p = 1, 3 + I_power(p) = ao_power(i,p) + J_power(p) = ao_power(j,p) + K_power(p) = ao_power(k,p) + L_power(p) = ao_power(l,p) + I_center(p) = nucl_coord(num_i,p) + J_center(p) = nucl_coord(num_j,p) + K_center(p) = nucl_coord(num_k,p) + L_center(p) = nucl_coord(num_l,p) + enddo - double precision :: coef1, coef2, coef3, coef4 - double precision :: p_inv,q_inv - double precision :: general_primitive_integral + double precision :: coef1, coef2, coef3, coef4 + double precision :: p_inv,q_inv + double precision :: general_primitive_integral - do p = 1, ao_prim_num(i) - coef1 = ao_coef_normalized_ordered_transp(p,i) - do q = 1, ao_prim_num(j) - coef2 = coef1*ao_coef_normalized_ordered_transp(q,j) - call give_explicit_poly_and_gaussian(P_new,P_center,pp,fact_p,iorder_p,& - ao_expo_ordered_transp(p,i),ao_expo_ordered_transp(q,j), & - I_power,J_power,I_center,J_center,dim1) - p_inv = 1.d0/pp - do r = 1, ao_prim_num(k) - coef3 = coef2*ao_coef_normalized_ordered_transp(r,k) - do s = 1, ao_prim_num(l) - coef4 = coef3*ao_coef_normalized_ordered_transp(s,l) - call give_explicit_poly_and_gaussian(Q_new,Q_center,qq,fact_q,iorder_q,& - ao_expo_ordered_transp(r,k),ao_expo_ordered_transp(s,l), & - K_power,L_power,K_center,L_center,dim1) - q_inv = 1.d0/qq - integral = general_primitive_integral(dim1, & - P_new,P_center,fact_p,pp,p_inv,iorder_p, & - Q_new,Q_center,fact_q,qq,q_inv,iorder_q) - ao_two_e_integral = ao_two_e_integral + coef4 * integral - enddo ! s - enddo ! r - enddo ! q - enddo ! p + do p = 1, ao_prim_num(i) + coef1 = ao_coef_normalized_ordered_transp(p,i) + do q = 1, ao_prim_num(j) + coef2 = coef1*ao_coef_normalized_ordered_transp(q,j) + call give_explicit_poly_and_gaussian(P_new,P_center,pp,fact_p,iorder_p,& + ao_expo_ordered_transp(p,i),ao_expo_ordered_transp(q,j), & + I_power,J_power,I_center,J_center,dim1) + p_inv = 1.d0/pp + do r = 1, ao_prim_num(k) + coef3 = coef2*ao_coef_normalized_ordered_transp(r,k) + do s = 1, ao_prim_num(l) + coef4 = coef3*ao_coef_normalized_ordered_transp(s,l) + call give_explicit_poly_and_gaussian(Q_new,Q_center,qq,fact_q,iorder_q,& + ao_expo_ordered_transp(r,k),ao_expo_ordered_transp(s,l), & + K_power,L_power,K_center,L_center,dim1) + q_inv = 1.d0/qq + integral = general_primitive_integral(dim1, & + P_new,P_center,fact_p,pp,p_inv,iorder_p, & + Q_new,Q_center,fact_q,qq,q_inv,iorder_q) + ao_two_e_integral = ao_two_e_integral + coef4 * integral + enddo ! s + enddo ! r + enddo ! q + enddo ! p - else + else - do p = 1, 3 - I_power(p) = ao_power(i,p) - J_power(p) = ao_power(j,p) - K_power(p) = ao_power(k,p) - L_power(p) = ao_power(l,p) - enddo - double precision :: ERI + do p = 1, 3 + I_power(p) = ao_power(i,p) + J_power(p) = ao_power(j,p) + K_power(p) = ao_power(k,p) + L_power(p) = ao_power(l,p) + enddo + double precision :: ERI - do p = 1, ao_prim_num(i) - coef1 = ao_coef_normalized_ordered_transp(p,i) - do q = 1, ao_prim_num(j) - coef2 = coef1*ao_coef_normalized_ordered_transp(q,j) - do r = 1, ao_prim_num(k) - coef3 = coef2*ao_coef_normalized_ordered_transp(r,k) - do s = 1, ao_prim_num(l) - coef4 = coef3*ao_coef_normalized_ordered_transp(s,l) - integral = ERI( & - ao_expo_ordered_transp(p,i),ao_expo_ordered_transp(q,j),ao_expo_ordered_transp(r,k),ao_expo_ordered_transp(s,l),& - I_power(1),J_power(1),K_power(1),L_power(1), & - I_power(2),J_power(2),K_power(2),L_power(2), & - I_power(3),J_power(3),K_power(3),L_power(3)) - ao_two_e_integral = ao_two_e_integral + coef4 * integral - enddo ! s - enddo ! r - enddo ! q - enddo ! p + do p = 1, ao_prim_num(i) + coef1 = ao_coef_normalized_ordered_transp(p,i) + do q = 1, ao_prim_num(j) + coef2 = coef1*ao_coef_normalized_ordered_transp(q,j) + do r = 1, ao_prim_num(k) + coef3 = coef2*ao_coef_normalized_ordered_transp(r,k) + do s = 1, ao_prim_num(l) + coef4 = coef3*ao_coef_normalized_ordered_transp(s,l) + integral = ERI( & + ao_expo_ordered_transp(p,i),ao_expo_ordered_transp(q,j),ao_expo_ordered_transp(r,k),ao_expo_ordered_transp(s,l),& + I_power(1),J_power(1),K_power(1),L_power(1), & + I_power(2),J_power(2),K_power(2),L_power(2), & + I_power(3),J_power(3),K_power(3),L_power(3)) + ao_two_e_integral = ao_two_e_integral + coef4 * integral + enddo ! s + enddo ! r + enddo ! q + enddo ! p + + endif endif - end double precision function ao_two_e_integral_schwartz_accel(i,j,k,l) @@ -350,71 +350,72 @@ BEGIN_PROVIDER [ logical, ao_two_e_integrals_in_map ] call map_load_from_disk(trim(ezfio_filename)//'/work/ao_ints',ao_integrals_map) print*, 'AO integrals provided' ao_two_e_integrals_in_map = .True. - return - endif + else - print*, 'Providing the AO integrals' - call wall_time(wall_0) - call wall_time(wall_1) - call cpu_time(cpu_1) + print*, 'Providing the AO integrals' + call wall_time(wall_0) + call wall_time(wall_1) + call cpu_time(cpu_1) - if (.True.) then - ! Avoid openMP - integral = ao_two_e_integral(1,1,1,1) - endif - - integer(ZMQ_PTR) :: zmq_to_qp_run_socket, zmq_socket_pull - call new_parallel_job(zmq_to_qp_run_socket,zmq_socket_pull,'ao_integrals') - - character(len=:), allocatable :: task - allocate(character(len=ao_num*12) :: task) - write(fmt,*) '(', ao_num, '(I5,X,I5,''|''))' - do l=1,ao_num - write(task,fmt) (i,l, i=1,l) - integer, external :: add_task_to_taskserver - if (add_task_to_taskserver(zmq_to_qp_run_socket,trim(task)) == -1) then - stop 'Unable to add task to server' + if (.True.) then + ! Avoid openMP + integral = ao_two_e_integral(1,1,1,1) endif - enddo - deallocate(task) - integer, external :: zmq_set_running - if (zmq_set_running(zmq_to_qp_run_socket) == -1) then - print *, irp_here, ': Failed in zmq_set_running' - endif + integer(ZMQ_PTR) :: zmq_to_qp_run_socket, zmq_socket_pull + call new_parallel_job(zmq_to_qp_run_socket,zmq_socket_pull,'ao_integrals') - PROVIDE nproc - !$OMP PARALLEL DEFAULT(shared) private(i) num_threads(nproc+1) - i = omp_get_thread_num() - if (i==0) then - call ao_two_e_integrals_in_map_collector(zmq_socket_pull) - else - call ao_two_e_integrals_in_map_slave_inproc(i) + character(len=:), allocatable :: task + allocate(character(len=ao_num*12) :: task) + write(fmt,*) '(', ao_num, '(I5,X,I5,''|''))' + do l=1,ao_num + write(task,fmt) (i,l, i=1,l) + integer, external :: add_task_to_taskserver + if (add_task_to_taskserver(zmq_to_qp_run_socket,trim(task)) == -1) then + stop 'Unable to add task to server' endif - !$OMP END PARALLEL + enddo + deallocate(task) - call end_parallel_job(zmq_to_qp_run_socket, zmq_socket_pull, 'ao_integrals') + integer, external :: zmq_set_running + if (zmq_set_running(zmq_to_qp_run_socket) == -1) then + print *, irp_here, ': Failed in zmq_set_running' + endif + + PROVIDE nproc + !$OMP PARALLEL DEFAULT(shared) private(i) num_threads(nproc+1) + i = omp_get_thread_num() + if (i==0) then + call ao_two_e_integrals_in_map_collector(zmq_socket_pull) + else + call ao_two_e_integrals_in_map_slave_inproc(i) + endif + !$OMP END PARALLEL + + call end_parallel_job(zmq_to_qp_run_socket, zmq_socket_pull, 'ao_integrals') - print*, 'Sorting the map' - call map_sort(ao_integrals_map) - call cpu_time(cpu_2) - call wall_time(wall_2) - integer(map_size_kind) :: get_ao_map_size, ao_map_size - ao_map_size = get_ao_map_size() + print*, 'Sorting the map' + call map_sort(ao_integrals_map) + call cpu_time(cpu_2) + call wall_time(wall_2) + integer(map_size_kind) :: get_ao_map_size, ao_map_size + ao_map_size = get_ao_map_size() - print*, 'AO integrals provided:' - print*, ' Size of AO map : ', map_mb(ao_integrals_map) ,'MB' - print*, ' Number of AO integrals :', ao_map_size - print*, ' cpu time :',cpu_2 - cpu_1, 's' - print*, ' wall time :',wall_2 - wall_1, 's ( x ', (cpu_2-cpu_1)/(wall_2-wall_1+tiny(1.d0)), ' )' + print*, 'AO integrals provided:' + print*, ' Size of AO map : ', map_mb(ao_integrals_map) ,'MB' + print*, ' Number of AO integrals :', ao_map_size + print*, ' cpu time :',cpu_2 - cpu_1, 's' + print*, ' wall time :',wall_2 - wall_1, 's ( x ', (cpu_2-cpu_1)/(wall_2-wall_1+tiny(1.d0)), ' )' - ao_two_e_integrals_in_map = .True. + ao_two_e_integrals_in_map = .True. + + if (write_ao_two_e_integrals.and.mpi_master) then + call ezfio_set_work_empty(.False.) + call map_save_to_disk(trim(ezfio_filename)//'/work/ao_ints',ao_integrals_map) + call ezfio_set_ao_two_e_ints_io_ao_two_e_integrals('Read') + endif - if (write_ao_two_e_integrals.and.mpi_master) then - call ezfio_set_work_empty(.False.) - call map_save_to_disk(trim(ezfio_filename)//'/work/ao_ints',ao_integrals_map) - call ezfio_set_ao_two_e_ints_io_ao_two_e_integrals('Read') endif END_PROVIDER diff --git a/src/mo_two_e_ints/mo_bi_integrals.irp.f b/src/mo_two_e_ints/mo_bi_integrals.irp.f index a9983e51..b926d688 100644 --- a/src/mo_two_e_ints/mo_bi_integrals.irp.f +++ b/src/mo_two_e_ints/mo_bi_integrals.irp.f @@ -189,7 +189,6 @@ subroutine add_integrals_to_map(mask_ijkl) two_e_tmp_2 = 0.d0 do j1 = 1,ao_num call get_ao_two_e_integrals(j1,k1,l1,ao_num,two_e_tmp_0(1,j1)) - ! call compute_ao_two_e_integrals(j1,k1,l1,ao_num,two_e_tmp_0(1,j1)) enddo do j1 = 1,ao_num kmax = 0 @@ -747,7 +746,6 @@ subroutine add_integrals_to_map_no_exit_34(mask_ijkl) two_e_tmp_2 = 0.d0 do j1 = 1,ao_num call get_ao_two_e_integrals(j1,k1,l1,ao_num,two_e_tmp_0(1,j1)) - ! call compute_ao_two_e_integrals(j1,k1,l1,ao_num,two_e_tmp_0(1,j1)) enddo do j1 = 1,ao_num kmax = 0 From 051875a148504ded5fd2fad98f7169a3baa205f5 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 14 May 2020 11:34:58 +0200 Subject: [PATCH 093/138] Add cc-pv5z ECP BFD --- data/basis/cc-pv5z_ecp_bfd | 1019 ++++++++++++++++++++++++++++++++++++ 1 file changed, 1019 insertions(+) create mode 100644 data/basis/cc-pv5z_ecp_bfd diff --git a/data/basis/cc-pv5z_ecp_bfd b/data/basis/cc-pv5z_ecp_bfd new file mode 100644 index 00000000..a19ce9d8 --- /dev/null +++ b/data/basis/cc-pv5z_ecp_bfd @@ -0,0 +1,1019 @@ +ALUMINUM +s 9 1.00 +1 0.045518 0.206193 +2 0.100308 0.559887 +3 0.221051 0.407852 +4 0.487132 -0.041098 +5 1.073500 -0.238652 +6 2.365686 0.038132 +7 5.213294 -0.003935 +8 11.488606 0.000470 +9 25.317597 -0.000014 +s 1 1.00 +1 0.056415 1.000000 +s 1 1.00 +1 0.155063 1.000000 +s 1 1.00 +1 0.332041 1.000000 +s 1 1.00 +1 0.725343 1.000000 +p 9 1.00 +1 0.014848 0.009932 +2 0.030967 0.160212 +3 0.064586 0.389171 +4 0.134700 0.373235 +5 0.280932 0.195800 +6 0.585913 0.022947 +7 1.221985 -0.053293 +8 2.548578 0.004846 +9 5.315330 -0.000726 +p 1 1.00 +1 0.033949 1.000000 +p 1 1.00 +1 0.083154 1.000000 +p 1 1.00 +1 0.251360 1.000000 +p 1 1.00 +1 0.314422 1.000000 +d 1 1.00 +1 0.088651 1.000000 +d 1 1.00 +1 0.241216 1.000000 +d 1 1.00 +1 0.575129 1.000000 +d 1 1.00 +1 0.989127 1.000000 +f 1 1.00 +1 0.148598 1.000000 +f 1 1.00 +1 0.374850 1.000000 +f 1 1.00 +1 0.781006 1.000000 +g 1 1.00 +1 0.259548 1.000000 +g 1 1.00 +1 0.561381 1.000000 +h 1 1.00 +1 0.328731 1.000000 + +ARSENIC +s 9 1.00 +1 0.147347 0.155473 +2 0.312164 0.494617 +3 0.661339 0.526705 +4 1.401090 0.021986 +5 2.968301 -0.338533 +6 6.288539 0.056023 +7 13.322677 -0.000115 +8 28.224956 -0.000595 +9 59.796402 0.000127 +s 1 1.00 +1 0.189594 1.000000 +s 1 1.00 +1 0.778040 1.000000 +s 1 1.00 +1 0.971266 1.000000 +s 1 1.00 +1 1.979612 1.000000 +p 9 1.00 +1 0.090580 0.079101 +2 0.188085 0.260718 +3 0.390548 0.395065 +4 0.810953 0.334954 +5 1.683902 0.107462 +6 3.496535 -0.073657 +7 7.260371 -0.001407 +8 15.075781 0.001710 +9 31.304069 -0.000275 +p 1 1.00 +1 0.133916 1.000000 +p 1 1.00 +1 0.356186 1.000000 +p 1 1.00 +1 0.833562 1.000000 +p 1 1.00 +1 1.430927 1.000000 +d 1 1.00 +1 0.268113 1.000000 +d 1 1.00 +1 0.697753 1.000000 +d 1 1.00 +1 1.185366 1.000000 +d 1 1.00 +1 2.118102 1.000000 +f 1 1.00 +1 0.422461 1.000000 +f 1 1.00 +1 0.973776 1.000000 +f 1 1.00 +1 2.020616 1.000000 +g 1 1.00 +1 0.695217 1.000000 +g 1 1.00 +1 1.690111 1.000000 +h 1 1.00 +1 1.258944 1.000000 + +BERYLLIUM +s 9 1.00 +1 0.030068 0.025105 +2 0.054002 0.178890 +3 0.096986 0.263939 +4 0.174186 0.435946 +5 0.312836 -0.008188 +6 0.561850 0.049509 +7 1.009077 -0.114576 +8 1.812290 -0.067207 +9 3.254852 0.017250 +s 1 1.00 +1 0.012778 1.000000 +s 1 1.00 +1 0.108807 1.000000 +s 1 1.00 +1 0.216157 1.000000 +s 1 1.00 +1 1.207279 1.000000 +p 9 1.00 +1 0.015064 0.735052 +2 0.028584 -0.476214 +3 0.054236 0.564806 +4 0.102911 -0.108575 +5 0.195269 0.233862 +6 0.370513 -0.009003 +7 0.703030 0.067510 +8 1.333967 -0.002868 +9 2.531139 0.017869 +p 1 1.00 +1 0.072561 1.000000 +p 1 1.00 +1 0.501715 1.000000 +p 1 1.00 +1 0.184471 1.000000 +p 1 1.00 +1 2.128672 1.000000 +d 1 1.00 +1 0.090175 1.000000 +d 1 1.00 +1 0.743653 1.000000 +d 1 1.00 +1 0.238494 1.000000 +d 1 1.00 +1 0.933001 1.000000 +f 1 1.00 +1 0.129140 1.000000 +f 1 1.00 +1 0.299150 1.000000 +f 1 1.00 +1 0.739023 1.000000 +g 1 1.00 +1 0.316080 1.000000 +g 1 1.00 +1 0.863442 1.000000 +h 1 1.00 +1 0.409080 1.000000 + +BORON +s 9 1.00 +1 0.040569 0.032031 +2 0.081044 0.243317 +3 0.161898 0.434636 +4 0.323418 0.329581 +5 0.646080 0.111875 +6 1.290648 -0.078699 +7 2.578276 -0.098781 +8 5.150520 0.016164 +9 10.288990 -0.000016 +s 1 1.00 +1 0.070664 1.000000 +s 1 1.00 +1 0.170896 1.000000 +s 1 1.00 +1 0.375720 1.000000 +s 1 1.00 +1 0.614105 1.000000 +p 9 1.00 +1 0.029207 0.019909 +2 0.058408 0.141775 +3 0.116803 0.294463 +4 0.233582 0.309028 +5 0.467115 0.236378 +6 0.934132 0.131317 +7 1.868068 0.066454 +8 3.735743 0.021248 +9 7.470701 0.002837 +p 1 1.00 +1 0.057917 1.000000 +p 1 1.00 +1 0.143772 1.000000 +p 1 1.00 +1 0.436327 1.000000 +p 1 1.00 +1 0.566611 1.000000 +d 1 1.00 +1 0.134838 1.000000 +d 1 1.00 +1 0.380163 1.000000 +d 1 1.00 +1 0.808233 1.000000 +d 1 1.00 +1 1.022256 1.000000 +f 1 1.00 +1 0.272717 1.000000 +f 1 1.00 +1 0.799174 1.000000 +f 1 1.00 +1 1.002171 1.000000 +g 1 1.00 +1 0.486131 1.000000 +g 1 1.00 +1 0.824366 1.000000 +h 1 1.00 +1 0.632779 1.000000 + +CHLORINE +s 9 1.00 +1 0.119944 0.148917 +2 0.257348 0.503616 +3 0.552157 0.523995 +4 1.184691 0.013612 +5 2.541836 -0.328846 +6 5.453681 0.056309 +7 11.701243 -0.001301 +8 25.105812 -0.000294 +9 53.866226 0.000076 +s 1 1.00 +1 0.152049 1.000000 +s 1 1.00 +1 0.639110 1.000000 +s 1 1.00 +1 0.801438 1.000000 +s 1 1.00 +1 1.671380 1.000000 +p 9 1.00 +1 0.074374 0.084925 +2 0.155084 0.270658 +3 0.323378 0.396022 +4 0.674303 0.324325 +5 1.406043 0.100661 +6 2.931855 -0.069802 +7 6.113450 -0.000951 +8 12.747651 0.001501 +9 26.581165 -0.000249 +p 1 1.00 +1 0.103926 1.000000 +p 1 1.00 +1 0.275582 1.000000 +p 1 1.00 +1 0.667436 1.000000 +p 1 1.00 +1 1.171614 1.000000 +d 1 1.00 +1 0.237419 1.000000 +d 1 1.00 +1 0.729517 1.000000 +d 1 1.00 +1 0.924049 1.000000 +d 1 1.00 +1 1.522182 1.000000 +f 1 1.00 +1 0.335123 1.000000 +f 1 1.00 +1 0.789116 1.000000 +f 1 1.00 +1 1.609975 1.000000 +g 1 1.00 +1 0.576133 1.000000 +g 1 1.00 +1 1.402971 1.000000 +h 1 1.00 +1 1.099609 1.000000 + +CARBON +s 9 1.00 +1 0.051344 0.013991 +2 0.102619 0.169852 +3 0.205100 0.397529 +4 0.409924 0.380369 +5 0.819297 0.180113 +6 1.637494 -0.033512 +7 3.272791 -0.121499 +8 6.541187 0.015176 +9 13.073594 -0.000705 +s 1 1.00 +1 0.098302 1.000000 +s 1 1.00 +1 0.232034 1.000000 +s 1 1.00 +1 0.744448 1.000000 +s 1 1.00 +1 1.009914 1.000000 +p 9 1.00 +1 0.029281 0.001787 +2 0.058547 0.050426 +3 0.117063 0.191634 +4 0.234064 0.302667 +5 0.468003 0.289868 +6 0.935757 0.210979 +7 1.871016 0.112024 +8 3.741035 0.054425 +9 7.480076 0.021931 +p 1 1.00 +1 0.084047 1.000000 +p 1 1.00 +1 0.216618 1.000000 +p 1 1.00 +1 0.576869 1.000000 +p 1 1.00 +1 1.006252 1.000000 +d 1 1.00 +1 0.206619 1.000000 +d 1 1.00 +1 0.606933 1.000000 +d 1 1.00 +1 1.001526 1.000000 +d 1 1.00 +1 1.504882 1.000000 +f 1 1.00 +1 0.400573 1.000000 +f 1 1.00 +1 1.099564 1.000000 +f 1 1.00 +1 1.501091 1.000000 +g 1 1.00 +1 0.797648 1.000000 +g 1 1.00 +1 1.401343 1.000000 +h 1 1.00 +1 1.001703 1.000000 + +FLUORINE +s 9 1.00 +1 0.172723 0.070240 +2 0.364875 0.311088 +3 0.770795 0.444675 +4 1.628295 0.287011 +5 3.439757 0.018759 +6 7.266451 -0.128608 +7 15.350300 0.009104 +8 32.427348 0.000810 +9 68.502433 -0.000133 +s 1 1.00 +1 0.191146 1.000000 +s 1 1.00 +1 0.459697 1.000000 +s 1 1.00 +1 1.250265 1.000000 +s 1 1.00 +1 2.542428 1.000000 +p 9 1.00 +1 0.101001 0.035321 +2 0.204414 0.136924 +3 0.413707 0.249353 +4 0.837289 0.286620 +5 1.694565 0.254541 +6 3.429580 0.169572 +7 6.941026 0.088542 +8 14.047737 0.039843 +9 28.430799 0.003378 +p 1 1.00 +1 0.170574 1.000000 +p 1 1.00 +1 0.489019 1.000000 +p 1 1.00 +1 1.505085 1.000000 +p 1 1.00 +1 2.018698 1.000000 +d 1 1.00 +1 0.517711 1.000000 +d 1 1.00 +1 1.523306 1.000000 +d 1 1.00 +1 3.901897 1.000000 +d 1 1.00 +1 5.603581 1.000000 +f 1 1.00 +1 0.981494 1.000000 +f 1 1.00 +1 2.950321 1.000000 +f 1 1.00 +1 4.297889 1.000000 +g 1 1.00 +1 1.638933 1.000000 +g 1 1.00 +1 4.619953 1.000000 +h 1 1.00 +1 2.963127 1.000000 + +HELIUM +s 9 1.00 +1 0.077786 0.012425 +2 0.161528 0.128251 +3 0.335425 0.282221 +4 0.696535 0.292427 +5 1.446408 0.215025 +6 3.003576 0.125450 +7 6.237154 0.064912 +8 12.951926 0.038892 +9 26.895662 0.002531 +s 1 1.00 +1 1.324312 1.000000 +s 1 1.00 +1 0.876976 1.000000 +s 1 1.00 +1 0.294075 1.000000 +s 1 1.00 +1 0.116506 1.000000 +p 8 1.00 +1 0.228528 -0.000116 +2 0.422019 2.116950 +3 0.779333 -2.182954 +4 1.439180 1.545850 +5 2.657706 -0.879477 +6 4.907934 0.469710 +7 9.063386 -0.224631 +8 16.737180 0.098422 +p 1 1.00 +1 6.741009 1.000000 +p 1 1.00 +1 2.647340 1.000000 +p 1 1.00 +1 0.893850 1.000000 +d 1 1.00 +1 1.842278 1.000000 +d 1 1.00 +1 2.175208 1.000000 +d 1 1.00 +1 4.285515 1.000000 +f 1 1.00 +1 0.749734 1.000000 +f 1 1.00 +1 1.632074 1.000000 +g 1 1.00 +1 0.623669 1.000000 + +HYDROGEN +s 9 1.00 +1 0.013000 0.000706 +2 0.029900 -0.002119 +3 0.068770 0.057693 +4 0.158170 0.230695 +5 0.363792 0.277612 +6 0.836721 0.169833 +7 1.924458 0.097443 +8 4.426254 0.029966 +9 10.180385 -0.000452 +s 1 1.00 +1 0.122344 1.000000 +s 1 1.00 +1 0.402892 1.000000 +s 1 1.00 +1 0.715047 1.000000 +s 1 1.00 +1 1.379838 1.000000 +p 9 1.00 +1 0.003000 0.001242 +2 0.007800 -0.000913 +3 0.020281 -0.000054 +4 0.052730 -0.000238 +5 0.137097 -0.011530 +6 0.356451 -0.018235 +7 0.926774 -0.013929 +8 2.409612 -0.009395 +9 6.264991 -0.000347 +p 1 1.00 +1 0.784765 1.000000 +p 1 1.00 +1 0.173606 1.000000 +p 1 1.00 +1 0.513665 1.000000 +d 1 1.00 +1 2.917388 1.000000 +d 1 1.00 +1 0.466379 1.000000 +d 1 1.00 +1 1.132171 1.000000 +f 1 1.00 +1 1.649608 1.000000 +f 1 1.00 +1 0.793185 1.000000 +g 1 1.00 +1 1.606813 1.000000 + +LITHIUM +s 9 1.00 +1 0.010125 0.007841 +2 0.023437 0.258118 +3 0.054251 0.423307 +4 0.125581 0.167825 +5 0.290697 -0.068332 +6 0.672909 -0.119269 +7 1.557659 0.007736 +8 3.605689 0.003630 +9 8.346494 -0.000646 +s 1 1.00 +1 0.025010 1.000000 +s 1 1.00 +1 0.104917 1.000000 +s 1 1.00 +1 0.670681 1.000000 +s 1 1.00 +1 1.004881 1.000000 +p 9 1.00 +1 0.018300 -0.005906 +2 0.031699 -0.031422 +3 0.054908 -0.043628 +4 0.095111 -0.016781 +5 0.164751 -0.078594 +6 0.285379 0.015562 +7 0.494330 -0.030830 +8 0.856273 0.006185 +9 1.483225 -0.008621 +p 1 1.00 +1 0.081041 1.000000 +p 1 1.00 +1 0.138470 1.000000 +p 1 1.00 +1 0.404355 1.000000 +p 1 1.00 +1 0.806184 1.000000 +d 1 1.00 +1 0.065574 1.000000 +d 1 1.00 +1 0.835758 1.000000 +d 1 1.00 +1 0.161784 1.000000 +d 1 1.00 +1 0.986350 1.000000 +f 1 1.00 +1 0.152988 1.000000 +f 1 1.00 +1 0.420698 1.000000 +f 1 1.00 +1 0.856748 1.000000 +g 1 1.00 +1 0.254479 1.000000 +g 1 1.00 +1 0.457496 1.000000 + +MAGNESIUM +s 9 1.00 +1 0.030975 0.165290 +2 0.062959 0.506272 +3 0.127970 0.333197 +4 0.260111 0.057482 +5 0.528700 -0.137614 +6 1.074630 -0.135378 +7 2.184285 0.048310 +8 4.439759 -0.005312 +9 9.024217 0.000465 +s 1 1.00 +1 0.023503 1.000000 +s 1 1.00 +1 0.061201 1.000000 +s 1 1.00 +1 0.764885 1.000000 +s 1 1.00 +1 1.054291 1.000000 +p 9 1.00 +1 0.047055 1.502038 +2 0.083253 -1.433944 +3 0.147298 1.318987 +4 0.260611 -0.741124 +5 0.461094 0.436300 +6 0.815803 -0.243798 +7 1.443383 0.086774 +8 2.553745 -0.028677 +9 4.518286 0.006085 +p 1 1.00 +1 0.082386 1.000000 +p 1 1.00 +1 0.177931 1.000000 +p 1 1.00 +1 0.385451 1.000000 +p 1 1.00 +1 0.833239 1.000000 +d 1 1.00 +1 0.102058 1.000000 +d 1 1.00 +1 0.815528 1.000000 +d 1 1.00 +1 0.222855 1.000000 +d 1 1.00 +1 0.973775 1.000000 +f 1 1.00 +1 0.141691 1.000000 +f 1 1.00 +1 0.425441 1.000000 +f 1 1.00 +1 0.847636 1.000000 +g 1 1.00 +1 0.171110 1.000000 +g 1 1.00 +1 0.438459 1.000000 +h 1 1.00 +1 0.360937 1.000000 + +SODIUM +s 9 1.00 +1 0.013061 0.200118 +2 0.030041 0.467652 +3 0.069092 0.227738 +4 0.158908 -0.061581 +5 0.365481 -0.137533 +6 0.840589 0.003323 +7 1.933315 0.003741 +8 4.446533 -0.001117 +9 10.226816 0.000244 +s 1 1.00 +1 0.063999 1.000000 +s 1 1.00 +1 0.414207 1.000000 +s 1 1.00 +1 0.848058 1.000000 +s 1 1.00 +1 1.097178 1.000000 +p 9 1.00 +1 0.002593 -0.002840 +2 0.006741 0.005340 +3 0.017525 -0.025936 +4 0.045563 -0.053466 +5 0.118461 -0.053691 +6 0.307987 0.014439 +7 0.800738 0.006199 +8 2.081847 -0.001026 +9 5.412617 0.000168 +p 1 1.00 +1 0.062027 1.000000 +p 1 1.00 +1 0.098643 1.000000 +p 1 1.00 +1 0.404379 1.000000 +p 1 1.00 +1 0.845826 1.000000 +d 1 1.00 +1 0.058125 1.000000 +d 1 1.00 +1 0.824577 1.000000 +d 1 1.00 +1 0.131674 1.000000 +d 1 1.00 +1 0.979694 1.000000 +f 1 1.00 +1 0.112793 1.000000 +f 1 1.00 +1 0.429471 1.000000 +f 1 1.00 +1 0.848460 1.000000 +g 1 1.00 +1 0.285680 1.000000 +g 1 1.00 +1 0.467702 1.000000 + +NEON +s 9 1.00 +1 0.205835 0.057514 +2 0.391384 0.215776 +3 0.744196 0.374799 +4 1.415048 0.326313 +5 2.690638 0.166383 +6 5.116103 -0.039149 +7 9.727994 -0.085909 +8 18.497256 0.006816 +9 35.171534 0.000206 +s 1 1.00 +1 0.318678 1.000000 +s 1 1.00 +1 0.830178 1.000000 +s 1 1.00 +1 1.591904 1.000000 +s 1 1.00 +1 2.744999 1.000000 +p 9 1.00 +1 0.121772 0.029943 +2 0.238248 0.114200 +3 0.466136 0.219618 +4 0.912002 0.268864 +5 1.784344 0.256932 +6 3.491095 0.191378 +7 6.830378 0.112176 +8 13.363732 0.063317 +9 26.146332 0.008057 +p 1 1.00 +1 0.218226 1.000000 +p 1 1.00 +1 0.636921 1.000000 +p 1 1.00 +1 1.888191 1.000000 +p 1 1.00 +1 3.020108 1.000000 +d 1 1.00 +1 0.654924 1.000000 +d 1 1.00 +1 1.931502 1.000000 +d 1 1.00 +1 5.027566 1.000000 +d 1 1.00 +1 6.989700 1.000000 +f 1 1.00 +1 1.314297 1.000000 +f 1 1.00 +1 4.065928 1.000000 +f 1 1.00 +1 5.587487 1.000000 +g 1 1.00 +1 2.070925 1.000000 +g 1 1.00 +1 6.073107 1.000000 +h 1 1.00 +1 3.743118 1.000000 + +NITROGEN +s 9 1.00 +1 0.098869 0.067266 +2 0.211443 0.334290 +3 0.452197 0.454257 +4 0.967080 0.267861 +5 2.068221 0.000248 +6 4.423150 -0.132606 +7 9.459462 0.014437 +8 20.230246 0.000359 +9 43.264919 -0.000094 +s 1 1.00 +1 0.115320 1.000000 +s 1 1.00 +1 0.286632 1.000000 +s 1 1.00 +1 0.702011 1.000000 +s 1 1.00 +1 1.532221 1.000000 +p 9 1.00 +1 0.073234 0.035758 +2 0.145867 0.153945 +3 0.290535 0.277656 +4 0.578683 0.297676 +5 1.152612 0.234403 +6 2.295756 0.140321 +7 4.572652 0.067219 +8 9.107739 0.031594 +9 18.140657 0.003301 +p 1 1.00 +1 0.120601 1.000000 +p 1 1.00 +1 0.322697 1.000000 +p 1 1.00 +1 0.978538 1.000000 +p 1 1.00 +1 1.272759 1.000000 +d 1 1.00 +1 0.305579 1.000000 +d 1 1.00 +1 0.891436 1.000000 +d 1 1.00 +1 1.542532 1.000000 +d 1 1.00 +1 2.798122 1.000000 +f 1 1.00 +1 0.587676 1.000000 +f 1 1.00 +1 1.592967 1.000000 +f 1 1.00 +1 2.443045 1.000000 +g 1 1.00 +1 1.038637 1.000000 +g 1 1.00 +1 2.842018 1.000000 +h 1 1.00 +1 2.272542 1.000000 + +OXYGEN +s 9 1.00 +1 0.125346 0.055741 +2 0.268022 0.304848 +3 0.573098 0.453752 +4 1.225429 0.295926 +5 2.620277 0.019567 +6 5.602818 -0.128627 +7 11.980245 0.012024 +8 25.616801 0.000407 +9 54.775216 -0.000076 +s 1 1.00 +1 0.160664 1.000000 +s 1 1.00 +1 0.384526 1.000000 +s 1 1.00 +1 0.935157 1.000000 +s 1 1.00 +1 1.937532 1.000000 +p 9 1.00 +1 0.083598 0.044958 +2 0.167017 0.150175 +3 0.333673 0.255999 +4 0.666627 0.281879 +5 1.331816 0.242835 +6 2.660761 0.161134 +7 5.315785 0.082308 +8 10.620108 0.039899 +9 21.217318 0.004679 +p 1 1.00 +1 0.130580 1.000000 +p 1 1.00 +1 0.372674 1.000000 +p 1 1.00 +1 1.178227 1.000000 +p 1 1.00 +1 1.589967 1.000000 +d 1 1.00 +1 0.401152 1.000000 +d 1 1.00 +1 1.174596 1.000000 +d 1 1.00 +1 2.823972 1.000000 +d 1 1.00 +1 4.292433 1.000000 +f 1 1.00 +1 0.708666 1.000000 +f 1 1.00 +1 2.006788 1.000000 +f 1 1.00 +1 3.223721 1.000000 +g 1 1.00 +1 1.207657 1.000000 +g 1 1.00 +1 3.584495 1.000000 +h 1 1.00 +1 2.615818 1.000000 + +PHOSPHORUS +s 9 1.00 +1 0.074718 0.140225 +2 0.160834 0.506746 +3 0.346202 0.499893 +4 0.745215 0.037301 +5 1.604109 -0.284591 +6 3.452917 0.024766 +7 7.432561 0.001798 +8 15.998924 -0.000314 +9 34.438408 0.000088 +s 1 1.00 +1 0.082092 1.000000 +s 1 1.00 +1 0.195525 1.000000 +s 1 1.00 +1 0.434767 1.000000 +s 1 1.00 +1 1.027573 1.000000 +p 9 1.00 +1 0.050242 0.072095 +2 0.102391 0.278735 +3 0.208669 0.411034 +4 0.425256 0.304724 +5 0.866651 0.091727 +6 1.766191 -0.057060 +7 3.599410 -0.005103 +8 7.335418 0.000328 +9 14.949217 -0.000046 +p 1 1.00 +1 0.074159 1.000000 +p 1 1.00 +1 0.189382 1.000000 +p 1 1.00 +1 0.470798 1.000000 +p 1 1.00 +1 0.815677 1.000000 +d 1 1.00 +1 0.167800 1.000000 +d 1 1.00 +1 0.457307 1.000000 +d 1 1.00 +1 1.021650 1.000000 +d 1 1.00 +1 1.598720 1.000000 +f 1 1.00 +1 0.214751 1.000000 +f 1 1.00 +1 0.482380 1.000000 +f 1 1.00 +1 0.984966 1.000000 +g 1 1.00 +1 0.406484 1.000000 +g 1 1.00 +1 0.924507 1.000000 +h 1 1.00 +1 0.831913 1.000000 + +SILICON +s 9 1.00 +1 0.059887 0.167492 +2 0.130108 0.532550 +3 0.282668 0.464290 +4 0.614115 -0.002322 +5 1.334205 -0.268234 +6 2.898645 0.031921 +7 6.297493 -0.000106 +8 13.681707 -0.000145 +9 29.724387 0.000067 +s 1 1.00 +1 0.075500 1.000000 +s 1 1.00 +1 0.196459 1.000000 +s 1 1.00 +1 0.424036 1.000000 +s 1 1.00 +1 0.920486 1.000000 +p 9 1.00 +1 0.036525 0.078761 +2 0.076137 0.308331 +3 0.158712 0.417773 +4 0.330843 0.281676 +5 0.689658 0.069876 +6 1.437625 -0.056306 +7 2.996797 0.000744 +8 6.246966 -0.000259 +9 13.022097 -0.000022 +p 1 1.00 +1 0.048136 1.000000 +p 1 1.00 +1 0.115813 1.000000 +p 1 1.00 +1 0.238594 1.000000 +p 1 1.00 +1 0.496918 1.000000 +d 1 1.00 +1 0.127945 1.000000 +d 1 1.00 +1 0.353096 1.000000 +d 1 1.00 +1 0.805426 1.000000 +d 1 1.00 +1 1.247695 1.000000 +f 1 1.00 +1 0.172876 1.000000 +f 1 1.00 +1 0.402208 1.000000 +f 1 1.00 +1 0.833081 1.000000 +g 1 1.00 +1 0.299885 1.000000 +g 1 1.00 +1 0.647054 1.000000 +h 1 1.00 +1 0.557542 1.000000 + +SULFUR +s 9 1.00 +1 0.095120 0.140074 +2 0.202385 0.490942 +3 0.430611 0.515297 +4 0.916203 0.050320 +5 1.949388 -0.298908 +6 4.147674 0.019827 +7 8.824926 0.007266 +8 18.776623 -0.001602 +9 39.950656 0.000271 +s 1 1.00 +1 0.113918 1.000000 +s 1 1.00 +1 0.282790 1.000000 +s 1 1.00 +1 0.626702 1.000000 +s 1 1.00 +1 1.338226 1.000000 +p 9 1.00 +1 0.057087 0.081938 +2 0.115901 0.251826 +3 0.235305 0.376344 +4 0.477723 0.320902 +5 0.969889 0.143779 +6 1.969099 -0.045543 +7 3.997726 -0.017191 +8 8.116307 0.002580 +9 16.477979 -0.000222 +p 1 1.00 +1 0.079101 1.000000 +p 1 1.00 +1 0.210632 1.000000 +p 1 1.00 +1 0.522537 1.000000 +p 1 1.00 +1 0.924454 1.000000 +d 1 1.00 +1 0.186546 1.000000 +d 1 1.00 +1 0.462328 1.000000 +d 1 1.00 +1 0.955579 1.000000 +d 1 1.00 +1 2.334308 1.000000 +f 1 1.00 +1 0.274343 1.000000 +f 1 1.00 +1 0.661568 1.000000 +f 1 1.00 +1 1.389533 1.000000 +g 1 1.00 +1 0.486698 1.000000 +g 1 1.00 +1 1.166495 1.000000 +h 1 1.00 +1 0.839494 1.000000 + From ceeef553b1e31c09a5cf8b7f1ffeca0601c4183b Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 15 May 2020 14:53:55 +0200 Subject: [PATCH 094/138] Increased size of strings --- src/ezfio_files/ezfio.irp.f | 6 +++--- src/ezfio_files/get_unit_and_open.irp.f | 2 +- src/ezfio_files/qp_stop.irp.f | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ezfio_files/ezfio.irp.f b/src/ezfio_files/ezfio.irp.f index e7a7a159..4f53b173 100644 --- a/src/ezfio_files/ezfio.irp.f +++ b/src/ezfio_files/ezfio.irp.f @@ -1,4 +1,4 @@ -BEGIN_PROVIDER [ character*(128), ezfio_filename ] +BEGIN_PROVIDER [ character*(1024), ezfio_filename ] implicit none BEGIN_DOC ! Name of EZFIO file. It is obtained from the QPACKAGE_INPUT environment @@ -34,7 +34,7 @@ BEGIN_PROVIDER [ character*(128), ezfio_filename ] ! Adjust out-of-memory killer flag such that the current process will be ! killed first by the OOM killer, allowing compute nodes to survive integer :: getpid - character*(64) :: command, pidc + character*(1024) :: command, pidc write(pidc,*) getpid() write(command,*) 'echo 15 > /proc//'//trim(adjustl(pidc))//'/oom_adj' call system(command) @@ -43,7 +43,7 @@ BEGIN_PROVIDER [ character*(128), ezfio_filename ] END_PROVIDER -BEGIN_PROVIDER [ character*(128), ezfio_work_dir ] +BEGIN_PROVIDER [ character*(1024), ezfio_work_dir ] implicit none BEGIN_DOC ! EZFIO/work/ diff --git a/src/ezfio_files/get_unit_and_open.irp.f b/src/ezfio_files/get_unit_and_open.irp.f index 71bbc76c..6440579f 100644 --- a/src/ezfio_files/get_unit_and_open.irp.f +++ b/src/ezfio_files/get_unit_and_open.irp.f @@ -17,7 +17,7 @@ integer function getUnitAndOpen(f,mode) END_DOC character*(*) :: f - character*(128) :: new_f + character*(256) :: new_f integer :: iunit logical :: is_open, exists character :: mode diff --git a/src/ezfio_files/qp_stop.irp.f b/src/ezfio_files/qp_stop.irp.f index b2618246..c1039dc3 100644 --- a/src/ezfio_files/qp_stop.irp.f +++ b/src/ezfio_files/qp_stop.irp.f @@ -1,5 +1,5 @@ - BEGIN_PROVIDER [ character*(128), qp_stop_filename ] -&BEGIN_PROVIDER [ character*(128), qp_kill_filename ] + BEGIN_PROVIDER [ character*(256), qp_stop_filename ] +&BEGIN_PROVIDER [ character*(256), qp_kill_filename ] &BEGIN_PROVIDER [ integer, qp_stop_variable ] implicit none BEGIN_DOC From c614cb39226e8c03badac1e782e0bb56ec21add0 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 15 May 2020 15:03:06 +0200 Subject: [PATCH 095/138] Fixed conversion --- bin/qp_convert_output_to_ezfio | 2 +- src/nuclei/nuclei.irp.f | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/bin/qp_convert_output_to_ezfio b/bin/qp_convert_output_to_ezfio index 5f0c4771..cbc81032 100755 --- a/bin/qp_convert_output_to_ezfio +++ b/bin/qp_convert_output_to_ezfio @@ -335,7 +335,7 @@ def write_ezfio(res, filename): def get_full_path(file_path): file_path = os.path.expanduser(file_path) file_path = os.path.expandvars(file_path) - file_path = os.path.abspath(file_path) +# file_path = os.path.abspath(file_path) return file_path diff --git a/src/nuclei/nuclei.irp.f b/src/nuclei/nuclei.irp.f index 88ee24e8..39e6b399 100644 --- a/src/nuclei/nuclei.irp.f +++ b/src/nuclei/nuclei.irp.f @@ -211,7 +211,7 @@ END_PROVIDER END_DOC integer :: iunit, i integer, external :: getUnitAndOpen - character*(128) :: filename + character*(1024) :: filename if (mpi_master) then call getenv('QP_ROOT',filename) filename = trim(filename)//'/data/list_element.txt' From 18d8d45cfc7c41809d20b8ed7c93c3dca7eda9ed Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 15 May 2020 15:20:54 +0200 Subject: [PATCH 096/138] Match PT2 instead of rPT2 --- src/cipsi/selection.irp.f | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/cipsi/selection.irp.f b/src/cipsi/selection.irp.f index cf5b9965..551bd54f 100644 --- a/src/cipsi/selection.irp.f +++ b/src/cipsi/selection.irp.f @@ -29,7 +29,7 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) double precision, intent(in) :: variance(N_st) double precision, intent(in) :: norm(N_st) - double precision :: avg, pt2_rpt2(N_st), element, dt, x + double precision :: avg, rpt2(N_st), element, dt, x integer :: k integer, save :: i_iter=0 integer, parameter :: i_itermax = 1 @@ -49,13 +49,13 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) dt = 1.0d0 do k=1,N_st - ! PT2 + rPT2 - pt2_rpt2(k) = pt2(k)* (1.d0 + 1.d0/(1.d0 + norm(k))) + ! rPT2 + rpt2(k) = pt2(k)* (1.d0 + 1.d0/(1.d0 + norm(k))) enddo - avg = sum(pt2_rpt2(1:N_st)) / dble(N_st) - 1.d-32 ! Avoid future division by zero + avg = sum(pt2(1:N_st)) / dble(N_st) - 1.d-32 ! Avoid future division by zero do k=1,N_st - element = exp(dt*(pt2_rpt2(k)/avg -1.d0)) + element = exp(dt*(pt2(k)/avg -1.d0)) element = min(2.0d0 , element) element = max(0.5d0 , element) memo_pt2(k,i_iter) = element From 0776f88604250b6249e33066d528d542413b55c2 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 15 May 2020 15:26:15 +0200 Subject: [PATCH 097/138] Put back psi_average_norm_contrib_sorted in selection, but with 1.d-20 --- src/cipsi/selection.irp.f | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/cipsi/selection.irp.f b/src/cipsi/selection.irp.f index 551bd54f..a8646627 100644 --- a/src/cipsi/selection.irp.f +++ b/src/cipsi/selection.irp.f @@ -326,7 +326,7 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d i = psi_bilinear_matrix_rows(l_a) if (nt + exc_degree(i) <= 4) then idx = psi_det_sorted_order(psi_bilinear_matrix_order(l_a)) - if (psi_average_norm_contrib_sorted(idx) > 0.d0) then + if (psi_average_norm_contrib_sorted(idx) > 1.d-20) then indices(k) = idx k=k+1 endif @@ -350,7 +350,7 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d idx = psi_det_sorted_order( & psi_bilinear_matrix_order( & psi_bilinear_matrix_transp_order(l_a))) - if (psi_average_norm_contrib_sorted(idx) > 0.d0) then + if (psi_average_norm_contrib_sorted(idx) > 1.d-20) then indices(k) = idx k=k+1 endif From d4bebb07bc31e5d41d42cd794aa510dc77db353a Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 15 May 2020 15:57:34 +0200 Subject: [PATCH 098/138] Tuned selection --- src/cipsi/selection.irp.f | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/cipsi/selection.irp.f b/src/cipsi/selection.irp.f index a8646627..f6350a66 100644 --- a/src/cipsi/selection.irp.f +++ b/src/cipsi/selection.irp.f @@ -46,11 +46,11 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) i_iter = 1 endif - dt = 1.0d0 + dt = 2.0d0 do k=1,N_st ! rPT2 - rpt2(k) = pt2(k)* (1.d0 + 1.d0/(1.d0 + norm(k))) + rpt2(k) = pt2(k)/(1.d0 + norm(k)) enddo avg = sum(pt2(1:N_st)) / dble(N_st) - 1.d-32 ! Avoid future division by zero @@ -71,6 +71,12 @@ subroutine update_pt2_and_variance_weights(pt2, variance, norm, N_st) variance_match_weight(k) *= product(memo_variance(k,:)) enddo + if (N_det < 100) then + ! For tiny wave functions, weights are 1.d0 + pt2_match_weight(:) = 1.d0 + variance_match_weight(:) = 1.d0 + endif + threshold_davidson_pt2 = min(1.d-6, & max(threshold_davidson, 1.e-1 * PT2_relative_error * minval(abs(pt2(1:N_states)))) ) From 512525508b6acea891d3cdf9daadb546cd86c9ce Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Wed, 20 May 2020 11:45:41 +0200 Subject: [PATCH 099/138] Fixed division by zero in RSDFT --- src/dft_utils_func/routines_exc_sr_lda.irp.f | 3 ++ src/utils/need.irp.f | 51 +++++++++++--------- src/utils/prim_in_r.irp.f | 5 +- 3 files changed, 34 insertions(+), 25 deletions(-) diff --git a/src/dft_utils_func/routines_exc_sr_lda.irp.f b/src/dft_utils_func/routines_exc_sr_lda.irp.f index d64d826d..ea1dcd69 100644 --- a/src/dft_utils_func/routines_exc_sr_lda.irp.f +++ b/src/dft_utils_func/routines_exc_sr_lda.irp.f @@ -138,6 +138,8 @@ subroutine ex_lda_sr(mu,rho_a,rho_b,ex,vx_a,vx_b) !Density and kF rho_a_2=rho_a*2.D0 akf = ckf*(rho_a_2**f13) + ! Avoid division by zero + if (akf == 0.d0) akf = 1.d-20 a = mu/(z2*akf) a2 = a*a a3 = a2*a @@ -169,6 +171,7 @@ subroutine ex_lda_sr(mu,rho_a,rho_b,ex,vx_a,vx_b) !Density and kF rho_b_2= rho_b * 2.d0 akf = ckf*(rho_b_2**f13) + if (akf == 0.d0) akf = 1.d-20 a = mu/(z2*akf) a2 = a*a a3 = a2*a diff --git a/src/utils/need.irp.f b/src/utils/need.irp.f index d3bedc30..0e36351c 100644 --- a/src/utils/need.irp.f +++ b/src/utils/need.irp.f @@ -92,42 +92,47 @@ end double precision function erf0(x) - implicit double precision (a-h,o-z) - if(x.lt.0.d0)then - erf0=-gammp(0.5d0,x**2) + implicit none + double precision, intent(in) :: x + double precision, external :: gammp + if(x < 0.d0)then + erf0=-gammp(0.5d0,x*x) else - erf0=gammp(0.5d0,x**2) + erf0=gammp(0.5d0,x*x) endif end double precision function gammp(a,x) - implicit double precision (a-h,o-z) - if(x.lt.0..or.a.le.0.)stop 'error in gammp' - if(x.lt.a+1.)then + implicit none + double precision, intent(in) :: a, x + double precision :: gln, gammcf + if(x<0.d0.or.a<=0.d0) then + stop 'error in gammp' + endif + if(x < a+1.d0)then call gser(gammp,a,x,gln) else call gcf(gammcf,a,x,gln) - gammp=1.-gammcf + gammp=1.d0-gammcf endif - return end subroutine gser(gamser,a,x,gln) implicit double precision (a-h,o-z) - parameter (itmax=100,eps=3.e-7) + parameter (itmax=100,eps=3.d-7) gln=gammln(a) - if(x.le.0.)then - if(x.lt.0.) stop 'error in gser' - gamser=0. + if(x.le.0.d0)then + if(x.lt.0.d0) stop 'error in gser' + gamser=0.d0 return endif ap=a - sum=1./a + sum=1.d0/a del=sum do 11 n=1,itmax - ap=ap+1. + ap=ap+1.d0 del=del*x/ap sum=sum+del if(abs(del).lt.abs(sum)*eps)go to 1 @@ -139,14 +144,14 @@ subroutine gcf(gammcf,a,x,gln) implicit double precision (a-h,o-z) - parameter (itmax=100,eps=3.e-7) + parameter (itmax=100,eps=3.d-7) gln=gammln(a) - gold=0. - a0=1. + gold=0.d0 + a0=1.d0 a1=x - b0=0. - b1=1. - fac=1. + b0=0.d0 + b1=1.d0 + fac=1.d0 do 11 n=1,itmax an=float(n) ana=an-a @@ -155,8 +160,8 @@ anf=an*fac a1=x*a0+anf*a1 b1=x*b0+anf*b1 - if(a1.ne.0.)then - fac=1./a1 + if(a1.ne.0.d0)then + fac=1.d0/a1 g=b1*fac if(abs((g-gold)/g).lt.eps)go to 1 gold=g diff --git a/src/utils/prim_in_r.irp.f b/src/utils/prim_in_r.irp.f index af68ff6d..e0d124da 100644 --- a/src/utils/prim_in_r.irp.f +++ b/src/utils/prim_in_r.irp.f @@ -24,8 +24,9 @@ double precision function primitive_value_explicit(power_prim,center_prim,alpha, end double precision function give_pol_in_r(r,pol,center, alpha,iorder, max_dim) - double precision :: r(3), center(3), alpha,pol(0:max_dim,3) + implicit none integer, intent(in) :: iorder(3), max_dim + double precision :: r(3), center(3), alpha,pol(0:max_dim,3) integer :: i,m double precision :: gauss(3), x gauss = 0.d0 @@ -33,7 +34,7 @@ double precision function give_pol_in_r(r,pol,center, alpha,iorder, max_dim) do m = 1, 3 x = r(m) - center(m) do i = 0, iorder(m) - gauss(m) += pol(i,m) * dexp(-alpha *x**2 ) * x**i + gauss(m) += pol(i,m) * dexp(-alpha *x*x ) * x**i enddo enddo give_pol_in_r = gauss(1) * gauss(2) * gauss(3) From 9c52a612dd514ab655653969c993e0cc2a501b1f Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 25 May 2020 09:18:31 +0200 Subject: [PATCH 100/138] Interatomic distance --- src/nuclei/nuclei.irp.f | 14 +++ src/utils/need.irp.f | 210 ---------------------------------------- 2 files changed, 14 insertions(+), 210 deletions(-) delete mode 100644 src/utils/need.irp.f diff --git a/src/nuclei/nuclei.irp.f b/src/nuclei/nuclei.irp.f index 39e6b399..523bd80f 100644 --- a/src/nuclei/nuclei.irp.f +++ b/src/nuclei/nuclei.irp.f @@ -42,6 +42,7 @@ BEGIN_PROVIDER [ double precision, nucl_coord, (nucl_num,3) ] ' Atom Charge X Y Z ' write(6,ft) & '================','============','============','============','============' + do i=1,nucl_num write(6,f) nucl_label(i), nucl_charge(i), & nucl_coord(i,1)*a0, & @@ -52,6 +53,19 @@ BEGIN_PROVIDER [ double precision, nucl_coord, (nucl_num,3) ] '================','============','============','============','============' write(6,'(A)') '' + double precision :: dist_min, x, y, z + dist_min = huge(1.d0) + do i=1,nucl_num + do j=i+1,nucl_num + x = nucl_coord(i,1)-nucl_coord(j,1) + y = nucl_coord(i,2)-nucl_coord(j,2) + z = nucl_coord(i,3)-nucl_coord(j,3) + dist_min = min(x*x + y*y + z*z, dist_min) + enddo + enddo + write(6,'(A,F12.4,A)') 'Minimal interatomic distance found: ', & + dsqrt(dist_min)*a0,' Angstrom' + endif IRP_IF MPI_DEBUG diff --git a/src/utils/need.irp.f b/src/utils/need.irp.f deleted file mode 100644 index 0e36351c..00000000 --- a/src/utils/need.irp.f +++ /dev/null @@ -1,210 +0,0 @@ - - double precision function SABpartial(zA,zB,A,B,nA,nB,gamA,gamB,l) - implicit double precision(a-h,o-z) - dimension nA(3),nB(3) - dimension A(3),B(3) - gamtot=gamA+gamB - SABpartial=1.d0 - - u=gamA/gamtot*A(l)+gamB/gamtot*B(l) - arg=gamtot*u**2-gamA*A(l)**2-gamB*B(l)**2 - alpha=dexp(arg) - &/gamtot**((1.d0+dfloat(nA(l))+dfloat(nB(l)))/2.d0) - wA=dsqrt(gamtot)*(u-A(l)) - wB=dsqrt(gamtot)*(u-B(l)) - boundA=dsqrt(gamtot)*(zA-u) - boundB=dsqrt(gamtot)*(zB-u) - - accu=0.d0 - do n=0,nA(l) - do m=0,nB(l) - integ=nA(l)+nB(l)-n-m - accu=accu - & +wA**n*wB**m*binom(nA(l),n)*binom(nB(l),m) - & *(rinteg(integ,boundB)-rinteg(integ,boundA)) - enddo - enddo - SABpartial=SABpartial*accu*alpha - end - - double precision function rintgauss(n) - implicit double precision(a-h,o-z) - rintgauss=dsqrt(dacos(-1.d0)) - if(n.eq.0)return - if(n.eq.1)then - rintgauss=0.d0 - return - endif - if(iand(n,1).eq.1)then - rintgauss=0.d0 - return - endif - rintgauss=rintgauss/2.d0**(n/2) - rintgauss=rintgauss*ddfact2(n-1) - end - - double precision function rinteg(n,u) - implicit double precision(a-h,o-z) - include 'constants.include.F' - ichange=1 - factor=1.d0 - if(u.lt.0.d0)then - u=-u - factor=(-1.d0)**(n+1) - ichange=-1 - endif - if(iand(n,1).eq.0)then - rinteg=0.d0 - do l=0,n-2,2 - prod=b_coef(l,u) - do k=l+2,n-2,2 - prod=prod*a_coef(k) - enddo - rinteg=rinteg+prod - enddo - prod=dsqrt(pi)/2.d0*erf0(u) - do k=0,n-2,2 - prod=prod*a_coef(k) - enddo - rinteg=rinteg+prod - endif - - if(iand(n,1).eq.1)then - rinteg=0.d0 - do l=1,n-2,2 - prod=b_coef(l,u) - do k=l+2,n-2,2 - prod=prod*a_coef(k) - enddo - rinteg=rinteg+prod - enddo - prod=0.5d0*(1.d0-dexp(-u**2)) - do k=1,n-2,2 - prod=prod*a_coef(k) - enddo - rinteg=rinteg+prod - endif - - rinteg=rinteg*factor - - if(ichange.eq.-1)u=-u - - end - - double precision function erf0(x) - implicit none - double precision, intent(in) :: x - double precision, external :: gammp - if(x < 0.d0)then - erf0=-gammp(0.5d0,x*x) - else - erf0=gammp(0.5d0,x*x) - endif - end - - - double precision function gammp(a,x) - implicit none - double precision, intent(in) :: a, x - double precision :: gln, gammcf - if(x<0.d0.or.a<=0.d0) then - stop 'error in gammp' - endif - if(x < a+1.d0)then - call gser(gammp,a,x,gln) - else - call gcf(gammcf,a,x,gln) - gammp=1.d0-gammcf - endif - end - - - subroutine gser(gamser,a,x,gln) - implicit double precision (a-h,o-z) - parameter (itmax=100,eps=3.d-7) - gln=gammln(a) - if(x.le.0.d0)then - if(x.lt.0.d0) stop 'error in gser' - gamser=0.d0 - return - endif - ap=a - sum=1.d0/a - del=sum - do 11 n=1,itmax - ap=ap+1.d0 - del=del*x/ap - sum=sum+del - if(abs(del).lt.abs(sum)*eps)go to 1 -11 continue - stop 'a too large, itmax too small' -1 gamser=sum*exp(-x+a*log(x)-gln) - return - end - - subroutine gcf(gammcf,a,x,gln) - implicit double precision (a-h,o-z) - parameter (itmax=100,eps=3.d-7) - gln=gammln(a) - gold=0.d0 - a0=1.d0 - a1=x - b0=0.d0 - b1=1.d0 - fac=1.d0 - do 11 n=1,itmax - an=float(n) - ana=an-a - a0=(a1+a0*ana)*fac - b0=(b1+b0*ana)*fac - anf=an*fac - a1=x*a0+anf*a1 - b1=x*b0+anf*b1 - if(a1.ne.0.d0)then - fac=1.d0/a1 - g=b1*fac - if(abs((g-gold)/g).lt.eps)go to 1 - gold=g - endif -11 continue - stop 'a too large, itmax too small' -1 gammcf=exp(-x+a*log(x)-gln)*g - return - end - - double precision function ddfact2(n) - implicit double precision(a-h,o-z) - if(iand(n,1).eq.0)stop 'error in ddfact2' - ddfact2=1.d0 - do i=1,n,2 - ddfact2=ddfact2*dfloat(i) - enddo - end - - double precision function a_coef(n) - implicit double precision(a-h,o-z) - a_coef=dfloat(n+1)/2.d0 - end - - double precision function b_coef(n,u) - implicit double precision(a-h,o-z) - b_coef=-0.5d0*u**(n+1)*dexp(-u**2) - end - - double precision function gammln(xx) - implicit double precision (a-h,o-z) - real*8 cof(6),stp,half,one,fpf,x,tmp,ser - data cof,stp/76.18009173d0,-86.50532033d0,24.01409822d0, - * -1.231739516d0,.120858003d-2,-.536382d-5,2.50662827465d0/ - data half,one,fpf/0.5d0,1.0d0,5.5d0/ - x=xx-one - tmp=x+fpf - tmp=(x+half)*log(tmp)-tmp - ser=one - do 11 j=1,6 - x=x+one - ser=ser+cof(j)/x -11 continue - gammln=tmp+log(stp*ser) - return - end From 75891f14b7981364bd030df77ded8215183e2ff3 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 25 May 2020 11:31:28 +0200 Subject: [PATCH 101/138] Linear dependencies cutoff --- ocaml/Generic_input_of_rst.ml | 5 +- ocaml/Input_ao_basis.ml | 46 +++---- ocaml/Input_determinants_by_hand.ml | 12 +- ocaml/Input_mo_basis.ml | 4 +- ocaml/Input_nuclei_by_hand.ml | 22 ++-- ocaml/Long_basis.ml | 3 +- ocaml/MO_class.ml | 5 +- ocaml/Message.ml | 13 +- ocaml/Molecule.ml | 7 +- ocaml/Point3d.ml | 3 +- ocaml/Pseudo.ml | 5 +- ocaml/Qpackage.ml | 4 +- ocaml/Qputils.ml | 3 + ocaml/qp_create_ezfio.ml | 42 +++---- src/ao_one_e_ints/ao_ortho_canonical.irp.f | 11 +- src/ao_one_e_ints/ao_overlap.irp.f | 7 +- src/mo_guess/mo_ortho_lowdin.irp.f | 2 +- src/mo_one_e_ints/EZFIO.cfg | 5 + src/mo_one_e_ints/orthonormalize.irp.f | 2 +- src/scf_utils/huckel.irp.f | 2 - src/utils/extrapolation.irp.f | 2 +- src/utils/linear_algebra.irp.f | 138 +++++++++++---------- 22 files changed, 181 insertions(+), 162 deletions(-) diff --git a/ocaml/Generic_input_of_rst.ml b/ocaml/Generic_input_of_rst.ml index ec7de8c9..fec7c0da 100644 --- a/ocaml/Generic_input_of_rst.ml +++ b/ocaml/Generic_input_of_rst.ml @@ -1,6 +1,7 @@ open Sexplib open Sexplib.Std open Qptypes +open Qputils let fail_msg str (ex,range) = @@ -25,7 +26,7 @@ let fail_msg str (ex,range) = in let str = String_ext.tr str ~target:'(' ~replacement:' ' |> String_ext.split ~on:')' - |> List.map String_ext.strip + |> list_map String_ext.strip |> List.filter (fun x -> match String_ext.substr_index ~pos:0 ~pattern:"##" x with | None -> false @@ -48,7 +49,7 @@ let of_rst t_of_sexp s = Rst_string.to_string s |> String_ext.split ~on:'\n' |> List.filter (fun line -> String.contains line '=') - |> List.map (fun line -> + |> list_map (fun line -> "("^( String_ext.tr ~target:'=' ~replacement:' ' line )^")" ) diff --git a/ocaml/Input_ao_basis.ml b/ocaml/Input_ao_basis.ml index f0b3e92c..a73d641c 100644 --- a/ocaml/Input_ao_basis.ml +++ b/ocaml/Input_ao_basis.ml @@ -202,14 +202,14 @@ end = struct in let ao_prim_num = Array.to_list ao_prim_num - |> List.map AO_prim_number.to_int + |> list_map AO_prim_number.to_int in Ezfio.set_ao_basis_ao_prim_num (Ezfio.ezfio_array_of_list ~rank:1 ~dim:[| ao_num |] ~data:ao_prim_num) ; let ao_nucl = Array.to_list ao_nucl - |> List.map Nucl_number.to_int + |> list_map Nucl_number.to_int in Ezfio.set_ao_basis_ao_nucl(Ezfio.ezfio_array_of_list ~rank:1 ~dim:[| ao_num |] ~data:ao_nucl) ; @@ -217,9 +217,9 @@ end = struct let ao_power = let l = Array.to_list ao_power in List.concat [ - (List.map (fun a -> Positive_int.to_int a.Symmetry.Xyz.x) l) ; - (List.map (fun a -> Positive_int.to_int a.Symmetry.Xyz.y) l) ; - (List.map (fun a -> Positive_int.to_int a.Symmetry.Xyz.z) l) ] + (list_map (fun a -> Positive_int.to_int a.Symmetry.Xyz.x) l) ; + (list_map (fun a -> Positive_int.to_int a.Symmetry.Xyz.y) l) ; + (list_map (fun a -> Positive_int.to_int a.Symmetry.Xyz.z) l) ] in Ezfio.set_ao_basis_ao_power(Ezfio.ezfio_array_of_list ~rank:2 ~dim:[| ao_num ; 3 |] ~data:ao_power) ; @@ -230,14 +230,14 @@ end = struct let ao_coef = Array.to_list ao_coef - |> List.map AO_coef.to_float + |> list_map AO_coef.to_float in Ezfio.set_ao_basis_ao_coef(Ezfio.ezfio_array_of_list ~rank:2 ~dim:[| ao_num ; ao_prim_num_max |] ~data:ao_coef) ; let ao_expo = Array.to_list ao_expo - |> List.map AO_expo.to_float + |> list_map AO_expo.to_float in Ezfio.set_ao_basis_ao_expo(Ezfio.ezfio_array_of_list ~rank:2 ~dim:[| ao_num ; ao_prim_num_max |] ~data:ao_expo) ; @@ -299,8 +299,8 @@ end = struct | Some (s', g', n') -> if s <> s' || n <> n' then find2 (s,g,n) a (i+1) else - let lc = List.map (fun (prim, _) -> prim) g.Gto.lc - and lc' = List.map (fun (prim, _) -> prim) g'.Gto.lc + let lc = list_map (fun (prim, _) -> prim) g.Gto.lc + and lc' = list_map (fun (prim, _) -> prim) g'.Gto.lc in if lc <> lc' then find2 (s,g,n) a (i+1) else (a.(i) <- None ; i) in @@ -314,14 +314,14 @@ end = struct let of_long_basis long_basis name ao_cartesian = let ao_num = List.length long_basis |> AO_number.of_int in let ao_prim_num = - List.map (fun (_,g,_) -> List.length g.Gto.lc + list_map (fun (_,g,_) -> List.length g.Gto.lc |> AO_prim_number.of_int ) long_basis |> Array.of_list and ao_nucl = - List.map (fun (_,_,n) -> n) long_basis + list_map (fun (_,_,n) -> n) long_basis |> Array.of_list and ao_power = - List.map (fun (x,_,_) -> x) long_basis + list_map (fun (x,_,_) -> x) long_basis |> Array.of_list in let ao_prim_num_max = Array.fold_left (fun s x -> @@ -331,15 +331,15 @@ end = struct in let gtos = - List.map (fun (_,x,_) -> x) long_basis + list_map (fun (_,x,_) -> x) long_basis in let create_expo_coef ec = let coefs = begin match ec with - | `Coefs -> List.map (fun x-> - List.map (fun (_,coef) -> AO_coef.to_float coef) x.Gto.lc ) gtos - | `Expos -> List.map (fun x-> - List.map (fun (prim,_) -> AO_expo.to_float + | `Coefs -> list_map (fun x-> + list_map (fun (_,coef) -> AO_coef.to_float coef) x.Gto.lc ) gtos + | `Expos -> list_map (fun x-> + list_map (fun (prim,_) -> AO_expo.to_float prim.GaussianPrimitive.expo) x.Gto.lc ) gtos end in @@ -450,7 +450,7 @@ Basis set (read-only) :: (string_of_bool b.ao_normalized) (Basis.to_string short_basis |> String_ext.split ~on:'\n' - |> List.map (fun x-> " "^x) + |> list_map (fun x-> " "^x) |> String.concat "\n" ) print_sym @@ -490,16 +490,16 @@ md5 = %s " (AO_basis_name.to_string b.ao_basis) (AO_number.to_string b.ao_num) - (b.ao_prim_num |> Array.to_list |> List.map + (b.ao_prim_num |> Array.to_list |> list_map (AO_prim_number.to_string) |> String.concat ", " ) (AO_prim_number.to_string b.ao_prim_num_max) - (b.ao_nucl |> Array.to_list |> List.map Nucl_number.to_string |> + (b.ao_nucl |> Array.to_list |> list_map Nucl_number.to_string |> String.concat ", ") - (b.ao_power |> Array.to_list |> List.map (fun x-> + (b.ao_power |> Array.to_list |> list_map (fun x-> "("^(Symmetry.Xyz.to_string x)^")" )|> String.concat ", ") - (b.ao_coef |> Array.to_list |> List.map AO_coef.to_string + (b.ao_coef |> Array.to_list |> list_map AO_coef.to_string |> String.concat ", ") - (b.ao_expo |> Array.to_list |> List.map AO_expo.to_string + (b.ao_expo |> Array.to_list |> list_map AO_expo.to_string |> String.concat ", ") (b.ao_cartesian |> string_of_bool) (b.ao_normalized |> string_of_bool) diff --git a/ocaml/Input_determinants_by_hand.ml b/ocaml/Input_determinants_by_hand.ml index dee338e3..fb0aef7f 100644 --- a/ocaml/Input_determinants_by_hand.ml +++ b/ocaml/Input_determinants_by_hand.ml @@ -377,7 +377,7 @@ end = struct (coefs_string i) (Determinant.to_string ~mo_num:mo_num b.psi_det.(i) |> String_ext.split ~on:'\n' - |> List.map (fun x -> " "^x) + |> list_map (fun x -> " "^x) |> String.concat "\n" ) ) @@ -427,7 +427,7 @@ psi_det = %s (b.n_det |> Det_number.to_string) (b.n_states |> States_number.to_string) (b.expected_s2 |> Positive_float.to_string) - (b.state_average_weight |> Array.to_list |> List.map Positive_float.to_string |> String.concat ",") + (b.state_average_weight |> Array.to_list |> list_map Positive_float.to_string |> String.concat ",") (b.psi_coef |> Array.map Det_coef.to_string |> Array.to_list |> String.concat ", ") (b.psi_det |> Array.map (Determinant.to_string ~mo_num) |> Array.to_list @@ -457,7 +457,7 @@ psi_det = %s else ( (String.contains line '=') && (line.[0] = ' ') ) ) - |> List.map (fun line -> + |> list_map (fun line -> "("^( String_ext.tr line ~target:'=' ~replacement:' ' |> String.trim @@ -468,7 +468,7 @@ psi_det = %s (* Handle determinant coefs *) let dets = match ( dets |> String_ext.split ~on:'\n' - |> List.map String.trim + |> list_map String.trim ) with | _::lines -> lines | _ -> failwith "Error in determinants" @@ -481,7 +481,7 @@ psi_det = %s | ""::c::tail -> let c = String_ext.split ~on:'\t' c - |> List.map (fun x -> Det_coef.of_float (Float.of_string x)) + |> list_map (fun x -> Det_coef.of_float (Float.of_string x)) |> Array.of_list in read_coefs (c::accu) tail @@ -499,7 +499,7 @@ psi_det = %s let i = i-1 in - List.map (fun x -> Det_coef.to_string x.(i)) buffer + list_map (fun x -> Det_coef.to_string x.(i)) buffer |> String.concat " " in let rec build_result = function diff --git a/ocaml/Input_mo_basis.ml b/ocaml/Input_mo_basis.ml index 94435349..a4e6176a 100644 --- a/ocaml/Input_mo_basis.ml +++ b/ocaml/Input_mo_basis.ml @@ -257,9 +257,9 @@ mo_coef = %s " (MO_label.to_string b.mo_label) (MO_number.to_string b.mo_num) - (b.mo_class |> Array.to_list |> List.map + (b.mo_class |> Array.to_list |> list_map (MO_class.to_string) |> String.concat ", " ) - (b.mo_occ |> Array.to_list |> List.map + (b.mo_occ |> Array.to_list |> list_map (MO_occ.to_string) |> String.concat ", " ) (b.mo_coef |> Array.map (fun x-> Array.map MO_coef.to_string x |> diff --git a/ocaml/Input_nuclei_by_hand.ml b/ocaml/Input_nuclei_by_hand.ml index f195a2de..44747f20 100644 --- a/ocaml/Input_nuclei_by_hand.ml +++ b/ocaml/Input_nuclei_by_hand.ml @@ -50,7 +50,7 @@ end = struct in let labels = Array.to_list labels - |> List.map Element.to_string + |> list_map Element.to_string in Ezfio.ezfio_array_of_list ~rank:1 ~dim:[| nucl_num |] ~data:labels @@ -70,7 +70,7 @@ end = struct in let charges = Array.to_list charges - |> List.map Charge.to_float + |> list_map Charge.to_float in Ezfio.ezfio_array_of_list ~rank:1 ~dim:[| nucl_num |] ~data:charges @@ -101,9 +101,9 @@ end = struct in let coord = Array.to_list coord in let coord = - (List.map (fun x-> x.Point3d.x) coord) @ - (List.map (fun x-> x.Point3d.y) coord) @ - (List.map (fun x-> x.Point3d.z) coord) + (list_map (fun x-> x.Point3d.x) coord) @ + (list_map (fun x-> x.Point3d.y) coord) @ + (list_map (fun x-> x.Point3d.z) coord) in Ezfio.ezfio_array_of_list ~rank:2 ~dim:[| nucl_num ; 3 |] ~data:coord @@ -159,11 +159,11 @@ nucl_charge = %s nucl_coord = %s " (Nucl_number.to_string b.nucl_num) - (b.nucl_label |> Array.to_list |> List.map + (b.nucl_label |> Array.to_list |> list_map (Element.to_string) |> String.concat ", " ) - (b.nucl_charge |> Array.to_list |> List.map + (b.nucl_charge |> Array.to_list |> list_map (Charge.to_string) |> String.concat ", " ) - (b.nucl_coord |> Array.to_list |> List.map + (b.nucl_coord |> Array.to_list |> list_map (Point3d.to_string ~units:Units.Bohr) |> String.concat "\n" ) ;; @@ -226,11 +226,11 @@ Nuclear coordinates in xyz format (Angstroms) :: let result = { nucl_num = List.length atom_list |> Nucl_number.of_int ~max:nmax; - nucl_label = List.map (fun x -> + nucl_label = list_map (fun x -> x.Atom.element) atom_list |> Array.of_list ; - nucl_charge = List.map (fun x -> + nucl_charge = list_map (fun x -> x.Atom.charge ) atom_list |> Array.of_list ; - nucl_coord = List.map (fun x -> + nucl_coord = list_map (fun x -> x.Atom.coord ) atom_list |> Array.of_list ; } in Some result diff --git a/ocaml/Long_basis.ml b/ocaml/Long_basis.ml index dd5af64a..6c88954a 100644 --- a/ocaml/Long_basis.ml +++ b/ocaml/Long_basis.ml @@ -1,4 +1,5 @@ open Qptypes +open Qputils open Sexplib.Std type t = (Symmetry.Xyz.t * Gto.t * Nucl_number.t ) list [@@deriving sexp] @@ -39,7 +40,7 @@ let to_basis b = let to_string b = - let middle = List.map (fun (x,y,z) -> + let middle = list_map (fun (x,y,z) -> "( "^((string_of_int (Nucl_number.to_int z)))^", "^ (Symmetry.Xyz.to_string x)^", "^(Gto.to_string y) ^" )" diff --git a/ocaml/MO_class.ml b/ocaml/MO_class.ml index f4a2d7d2..090e3adf 100644 --- a/ocaml/MO_class.ml +++ b/ocaml/MO_class.ml @@ -1,4 +1,5 @@ open Qptypes +open Qputils open Sexplib.Std @@ -13,7 +14,7 @@ type t = let to_string x = let print_list l = - let s = List.map (fun x-> MO_number.to_int x |> string_of_int ) l + let s = list_map (fun x-> MO_number.to_int x |> string_of_int ) l |> (String.concat ", ") in "("^s^")" @@ -43,7 +44,7 @@ let of_string s = let _mo_number_list_of_range range = - Range.of_string range |> List.map MO_number.of_int + Range.of_string range |> list_map MO_number.of_int let create_core range = Core (_mo_number_list_of_range range) diff --git a/ocaml/Message.ml b/ocaml/Message.ml index 2ea1d38c..b7d77430 100644 --- a/ocaml/Message.ml +++ b/ocaml/Message.ml @@ -1,5 +1,6 @@ open Sexplib.Std open Qptypes +open Qputils (** New job : Request to create a new multi-tasked job *) @@ -193,12 +194,12 @@ end = struct } let create ~state ~task_ids = { state = State.of_string state ; - task_ids = List.map Id.Task.of_int task_ids + task_ids = list_map Id.Task.of_int task_ids } let to_string x = Printf.sprintf "del_task %s %s" (State.to_string x.state) - (String.concat "|" @@ List.map Id.Task.to_string x.task_ids) + (String.concat "|" @@ list_map Id.Task.to_string x.task_ids) end @@ -219,7 +220,7 @@ end = struct else "done" in Printf.sprintf "del_task_reply %s %s" - more (String.concat "|" @@ List.map Id.Task.to_string x.task_ids) + more (String.concat "|" @@ list_map Id.Task.to_string x.task_ids) end @@ -303,7 +304,7 @@ end = struct "get_tasks_reply ok" let to_string_list x = "get_tasks_reply ok" :: ( - List.map (fun (task_id, task) -> + list_map (fun (task_id, task) -> match task_id with | Some task_id -> Printf.sprintf "%d %s" (Id.Task.to_int task_id) task | None -> Printf.sprintf "0 terminate" @@ -408,14 +409,14 @@ end = struct let create ~state ~client_id ~task_ids = { client_id = Id.Client.of_int client_id ; state = State.of_string state ; - task_ids = List.map Id.Task.of_int task_ids; + task_ids = list_map Id.Task.of_int task_ids; } let to_string x = Printf.sprintf "task_done %s %d %s" (State.to_string x.state) (Id.Client.to_int x.client_id) - (String.concat "|" @@ List.map Id.Task.to_string x.task_ids) + (String.concat "|" @@ list_map Id.Task.to_string x.task_ids) end (** Terminate *) diff --git a/ocaml/Molecule.ml b/ocaml/Molecule.ml index 78ceff0c..186f4d01 100644 --- a/ocaml/Molecule.ml +++ b/ocaml/Molecule.ml @@ -1,4 +1,5 @@ open Qptypes +open Qputils open Sexplib.Std exception MultiplicityError of string @@ -96,7 +97,7 @@ let to_string_general ~f m = let title = name m in - [ string_of_int n ; title ] @ (List.map f nuclei) + [ string_of_int n ; title ] @ (list_map f nuclei) |> String.concat "\n" let to_string = @@ -112,7 +113,7 @@ let of_xyz_string s = let l = String_ext.split s ~on:'\n' |> List.filter (fun x -> x <> "") - |> List.map (fun x -> Atom.of_string units x) + |> list_map (fun x -> Atom.of_string units x) in let ne = ( get_charge { nuclei=l ; @@ -186,7 +187,7 @@ let of_file let distance_matrix molecule = let coord = molecule.nuclei - |> List.map (fun x -> x.Atom.coord) + |> list_map (fun x -> x.Atom.coord) |> Array.of_list in let n = diff --git a/ocaml/Point3d.ml b/ocaml/Point3d.ml index ab086dee..57b02bfe 100644 --- a/ocaml/Point3d.ml +++ b/ocaml/Point3d.ml @@ -1,4 +1,5 @@ open Qptypes +open Qputils open Sexplib.Std type t = { @@ -23,7 +24,7 @@ let of_string ~units s = let l = s |> String_ext.split ~on:' ' |> List.filter (fun x -> x <> "") - |> List.map float_of_string + |> list_map float_of_string |> Array.of_list in { x = l.(0) *. f ; diff --git a/ocaml/Pseudo.ml b/ocaml/Pseudo.ml index 0fd2c263..9bddca02 100644 --- a/ocaml/Pseudo.ml +++ b/ocaml/Pseudo.ml @@ -1,4 +1,5 @@ open Sexplib.Std +open Qputils open Qptypes @@ -81,7 +82,7 @@ let to_string_local = function | t -> "Local component:" :: ( Printf.sprintf "%20s %8s %20s" "Coeff." "r^n" "Exp." ) :: - ( List.map (fun (l,c) -> Printf.sprintf "%20f %8d %20f" + ( list_map (fun (l,c) -> Printf.sprintf "%20f %8d %20f" (AO_coef.to_float c) (R_power.to_int l.GaussianPrimitive_local.r_power) (AO_expo.to_float l.GaussianPrimitive_local.expo) @@ -95,7 +96,7 @@ let to_string_non_local = function | t -> "Non-local component:" :: ( Printf.sprintf "%20s %8s %20s %8s" "Coeff." "r^n" "Exp." "Proj") :: - ( List.map (fun (l,c) -> + ( list_map (fun (l,c) -> let p = Positive_int.to_int l.GaussianPrimitive_non_local.proj in diff --git a/ocaml/Qpackage.ml b/ocaml/Qpackage.ml index 5099a231..d78d3b73 100644 --- a/ocaml/Qpackage.ml +++ b/ocaml/Qpackage.ml @@ -30,7 +30,7 @@ let bit_kind_size = lazy ( in begin match (String_ext.rsplit2 ~on:':' line) with | Some (_ ,buffer) -> - begin match (String_ext.split ~on:'=' buffer |> List.map String.trim) with + begin match (String_ext.split ~on:'=' buffer |> list_map String.trim) with | ["bit_kind_size"; x] -> int_of_string x |> Bit_kind_size.of_int | _ -> get_data tail @@ -58,7 +58,7 @@ let executables = lazy ( result in lines - |> List.map (fun x -> + |> list_map (fun x -> let e = String_ext.split ~on:' ' x |> List.filter (fun x -> x <> "") in diff --git a/ocaml/Qputils.ml b/ocaml/Qputils.ml index 392a6764..270e069f 100644 --- a/ocaml/Qputils.ml +++ b/ocaml/Qputils.ml @@ -53,3 +53,6 @@ let input_lines ic = let string_of_string s = s +let list_map f l = + List.rev_map f l + |> List.rev diff --git a/ocaml/qp_create_ezfio.ml b/ocaml/qp_create_ezfio.ml index 8d09d55b..f4c7f3b6 100644 --- a/ocaml/qp_create_ezfio.ml +++ b/ocaml/qp_create_ezfio.ml @@ -38,7 +38,7 @@ let dummy_centers ~threshold ~molecule ~nuclei = | _ -> assert false in aux [] (n-1,n-1) - |> List.map (fun (i,x,j,y,r) -> + |> list_map (fun (i,x,j,y,r) -> let f = x /. (x +. y) in @@ -270,7 +270,7 @@ let run ?o b au c d m p cart xyz_file = (* Write Pseudo *) let pseudo = - List.map (fun x -> + list_map (fun x -> match pseudo_channel x.Atom.element with | Some channel -> Pseudo.read_element channel x.Atom.element | None -> Pseudo.empty x.Atom.element @@ -292,7 +292,7 @@ let run ?o b au c d m p cart xyz_file = |> Elec_beta_number.of_int; Molecule.nuclei = let charges = - List.map (fun x -> Positive_int.to_int x.Pseudo.n_elec + list_map (fun x -> Positive_int.to_int x.Pseudo.n_elec |> Float.of_int) pseudo |> Array.of_list in @@ -315,13 +315,13 @@ let run ?o b au c d m p cart xyz_file = (* Write Nuclei *) let labels = - List.map (fun x->Element.to_string x.Atom.element) nuclei + list_map (fun x->Element.to_string x.Atom.element) nuclei and charges = - List.map (fun x-> Atom.(Charge.to_float x.charge)) nuclei + list_map (fun x-> Atom.(Charge.to_float x.charge)) nuclei and coords = - (List.map (fun x-> x.Atom.coord.Point3d.x) nuclei) @ - (List.map (fun x-> x.Atom.coord.Point3d.y) nuclei) @ - (List.map (fun x-> x.Atom.coord.Point3d.z) nuclei) in + (list_map (fun x-> x.Atom.coord.Point3d.x) nuclei) @ + (list_map (fun x-> x.Atom.coord.Point3d.y) nuclei) @ + (list_map (fun x-> x.Atom.coord.Point3d.z) nuclei) in let nucl_num = (List.length labels) in Ezfio.set_nuclei_nucl_num nucl_num ; Ezfio.set_nuclei_nucl_label (Ezfio.ezfio_array_of_list @@ -365,7 +365,7 @@ let run ?o b au c d m p cart xyz_file = let kmax = Array.init (lmax+1) (fun i-> - List.map (fun x -> + list_map (fun x -> List.filter (fun (y,_) -> (Positive_int.to_int y.Pseudo.GaussianPrimitive_non_local.proj) = i) x.Pseudo.non_local @@ -478,7 +478,7 @@ let run ?o b au c d m p cart xyz_file = in let result = do_work [] 1 nuclei |> List.rev - |> List.map (fun (x,i) -> + |> list_map (fun (x,i) -> try let e = match x.Atom.element with @@ -512,30 +512,30 @@ let run ?o b au c d m p cart xyz_file = let ao_num = List.length long_basis in Ezfio.set_ao_basis_ao_num ao_num; Ezfio.set_ao_basis_ao_basis b; - let ao_prim_num = List.map (fun (_,g,_) -> List.length g.Gto.lc) long_basis - and ao_nucl = List.map (fun (_,_,n) -> Nucl_number.to_int n) long_basis + let ao_prim_num = list_map (fun (_,g,_) -> List.length g.Gto.lc) long_basis + and ao_nucl = list_map (fun (_,_,n) -> Nucl_number.to_int n) long_basis and ao_power= - let l = List.map (fun (x,_,_) -> x) long_basis in - (List.map (fun t -> Positive_int.to_int Symmetry.Xyz.(t.x)) l)@ - (List.map (fun t -> Positive_int.to_int Symmetry.Xyz.(t.y)) l)@ - (List.map (fun t -> Positive_int.to_int Symmetry.Xyz.(t.z)) l) + let l = list_map (fun (x,_,_) -> x) long_basis in + (list_map (fun t -> Positive_int.to_int Symmetry.Xyz.(t.x)) l)@ + (list_map (fun t -> Positive_int.to_int Symmetry.Xyz.(t.y)) l)@ + (list_map (fun t -> Positive_int.to_int Symmetry.Xyz.(t.z)) l) in let ao_prim_num_max = List.fold_left (fun s x -> if x > s then x else s) 0 ao_prim_num in let gtos = - List.map (fun (_,x,_) -> x) long_basis + list_map (fun (_,x,_) -> x) long_basis in let create_expo_coef ec = let coefs = begin match ec with - | `Coefs -> List.map (fun x-> - List.map (fun (_,coef) -> + | `Coefs -> list_map (fun x-> + list_map (fun (_,coef) -> AO_coef.to_float coef) x.Gto.lc) gtos - | `Expos -> List.map (fun x-> - List.map (fun (prim,_) -> AO_expo.to_float + | `Expos -> list_map (fun x-> + list_map (fun (prim,_) -> AO_expo.to_float prim.GaussianPrimitive.expo) x.Gto.lc) gtos end in diff --git a/src/ao_one_e_ints/ao_ortho_canonical.irp.f b/src/ao_one_e_ints/ao_ortho_canonical.irp.f index 21deed41..45275a06 100644 --- a/src/ao_one_e_ints/ao_ortho_canonical.irp.f +++ b/src/ao_one_e_ints/ao_ortho_canonical.irp.f @@ -79,7 +79,7 @@ BEGIN_PROVIDER [ double precision, ao_cart_to_sphe_inv, (ao_cart_to_sphe_num,ao_ call get_pseudo_inverse(ao_cart_to_sphe_coef,size(ao_cart_to_sphe_coef,1),& ao_num,ao_cart_to_sphe_num, & - ao_cart_to_sphe_inv, size(ao_cart_to_sphe_inv,1)) + ao_cart_to_sphe_inv, size(ao_cart_to_sphe_inv,1), lin_dep_cutoff) END_PROVIDER @@ -107,16 +107,13 @@ END_PROVIDER ao_ortho_canonical_coef(i,i) = 1.d0 enddo -!call ortho_lowdin(ao_overlap,size(ao_overlap,1),ao_num,ao_ortho_canonical_coef,size(ao_ortho_canonical_coef,1),ao_num) -!ao_ortho_canonical_num=ao_num -!return - + call write_double(6, lin_dep_cutoff, "Linear dependencies cut-off") if (ao_cartesian) then ao_ortho_canonical_num = ao_num call ortho_canonical(ao_overlap,size(ao_overlap,1), & ao_num,ao_ortho_canonical_coef,size(ao_ortho_canonical_coef,1), & - ao_ortho_canonical_num) + ao_ortho_canonical_num, lin_dep_cutoff) else @@ -131,7 +128,7 @@ END_PROVIDER ao_ortho_canonical_num = ao_cart_to_sphe_num call ortho_canonical(ao_cart_to_sphe_overlap, size(ao_cart_to_sphe_overlap,1), & - ao_cart_to_sphe_num, S, size(S,1), ao_ortho_canonical_num) + ao_cart_to_sphe_num, S, size(S,1), ao_ortho_canonical_num, lin_dep_cutoff) call dgemm('N','N', ao_num, ao_ortho_canonical_num, ao_cart_to_sphe_num, 1.d0, & ao_cart_to_sphe_coef, size(ao_cart_to_sphe_coef,1), & diff --git a/src/ao_one_e_ints/ao_overlap.irp.f b/src/ao_one_e_ints/ao_overlap.irp.f index d7300936..11c95e42 100644 --- a/src/ao_one_e_ints/ao_overlap.irp.f +++ b/src/ao_one_e_ints/ao_overlap.irp.f @@ -162,7 +162,8 @@ BEGIN_PROVIDER [ double precision, S_inv,(ao_num,ao_num) ] BEGIN_DOC ! Inverse of the overlap matrix END_DOC - call get_pseudo_inverse(ao_overlap,size(ao_overlap,1),ao_num,ao_num,S_inv,size(S_inv,1)) + call get_pseudo_inverse(ao_overlap,size(ao_overlap,1),ao_num,ao_num,S_inv, & + size(S_inv,1),lin_dep_cutoff) END_PROVIDER BEGIN_PROVIDER [ complex*16, S_inv_complex,(ao_num,ao_num) ] @@ -170,8 +171,8 @@ BEGIN_PROVIDER [ complex*16, S_inv_complex,(ao_num,ao_num) ] BEGIN_DOC ! Inverse of the overlap matrix END_DOC - call get_pseudo_inverse_complex(ao_overlap_complex, & - size(ao_overlap_complex,1),ao_num,ao_num,S_inv_complex,size(S_inv_complex,1)) + call get_pseudo_inverse_complex(ao_overlap_complex, size(ao_overlap_complex,1),& + ao_num,ao_num,S_inv_complex,size(S_inv_complex,1),lin_dep_cutoff) END_PROVIDER BEGIN_PROVIDER [ double precision, S_half_inv, (AO_num,AO_num) ] diff --git a/src/mo_guess/mo_ortho_lowdin.irp.f b/src/mo_guess/mo_ortho_lowdin.irp.f index 47a1d24c..8edf7c48 100644 --- a/src/mo_guess/mo_ortho_lowdin.irp.f +++ b/src/mo_guess/mo_ortho_lowdin.irp.f @@ -13,7 +13,7 @@ BEGIN_PROVIDER [double precision, ao_ortho_lowdin_coef, (ao_num,ao_num)] do j=1, ao_num tmp_matrix(j,j) = 1.d0 enddo - call ortho_lowdin(ao_overlap,ao_num,ao_num,tmp_matrix,ao_num,ao_num) + call ortho_lowdin(ao_overlap,ao_num,ao_num,tmp_matrix,ao_num,ao_num,lin_dep_cutoff) do i=1, ao_num do j=1, ao_num ao_ortho_lowdin_coef(j,i) = tmp_matrix(i,j) diff --git a/src/mo_one_e_ints/EZFIO.cfg b/src/mo_one_e_ints/EZFIO.cfg index 0f31b16a..06c91024 100644 --- a/src/mo_one_e_ints/EZFIO.cfg +++ b/src/mo_one_e_ints/EZFIO.cfg @@ -48,3 +48,8 @@ doc: Read/Write |MO| one-electron integrals from/to disk [ Write | Read | None ] interface: ezfio,provider,ocaml default: None +[lin_dep_cutoff] +type: Threshold +doc: Remove linear dependencies when the eigenvalues of the overlap matrix are below this value +interface: ezfio,provider,ocaml +default: 1.e-6 diff --git a/src/mo_one_e_ints/orthonormalize.irp.f b/src/mo_one_e_ints/orthonormalize.irp.f index cffc1993..3a5d5488 100644 --- a/src/mo_one_e_ints/orthonormalize.irp.f +++ b/src/mo_one_e_ints/orthonormalize.irp.f @@ -3,7 +3,7 @@ subroutine orthonormalize_mos integer :: m,p,s m = size(mo_coef,1) p = size(mo_overlap,1) - call ortho_lowdin(mo_overlap,p,mo_num,mo_coef,m,ao_num) + call ortho_lowdin(mo_overlap,p,mo_num,mo_coef,m,ao_num,lin_dep_cutoff) mo_label = 'Orthonormalized' SOFT_TOUCH mo_coef mo_label end diff --git a/src/scf_utils/huckel.irp.f b/src/scf_utils/huckel.irp.f index ac104a72..2d110e69 100644 --- a/src/scf_utils/huckel.irp.f +++ b/src/scf_utils/huckel.irp.f @@ -23,8 +23,6 @@ subroutine huckel_guess Fock_matrix_ao_alpha(1:ao_num,1:ao_num) = A(1:ao_num,1:ao_num) Fock_matrix_ao_beta (1:ao_num,1:ao_num) = A(1:ao_num,1:ao_num) -! TOUCH mo_coef - TOUCH Fock_matrix_ao_alpha Fock_matrix_ao_beta mo_coef = eigenvectors_fock_matrix_mo SOFT_TOUCH mo_coef diff --git a/src/utils/extrapolation.irp.f b/src/utils/extrapolation.irp.f index feb550bb..6af4c0b7 100644 --- a/src/utils/extrapolation.irp.f +++ b/src/utils/extrapolation.irp.f @@ -23,7 +23,7 @@ subroutine extrapolate_data(N_data, data, pt2, output) x(i,2) = pt2_rev(i) enddo do ifit=2,N_data - call get_pseudo_inverse(x,size(x,1),ifit,2,x_inv,size(x_inv,1)) + call get_pseudo_inverse(x,size(x,1),ifit,2,x_inv,size(x_inv,1),1.d-10) ab = matmul(x_inv(1:2,1:ifit),y(1:ifit)) output(ifit) = ab(1) enddo diff --git a/src/utils/linear_algebra.irp.f b/src/utils/linear_algebra.irp.f index 93b367aa..39ffc873 100644 --- a/src/utils/linear_algebra.irp.f +++ b/src/utils/linear_algebra.irp.f @@ -47,14 +47,14 @@ subroutine svd_complex(A,LDA,U,LDU,D,Vt,LDVt,m,n) implicit none BEGIN_DOC ! Compute A = U.D.Vt - ! + ! ! LDx : leftmost dimension of x ! ! Dimension of A is m x n ! A,U,Vt are complex*16 ! D is double precision END_DOC - + integer, intent(in) :: LDA, LDU, LDVt, m, n complex*16, intent(in) :: A(LDA,n) complex*16, intent(out) :: U(LDU,m) @@ -63,12 +63,12 @@ subroutine svd_complex(A,LDA,U,LDU,D,Vt,LDVt,m,n) complex*16,allocatable :: work(:) double precision,allocatable :: rwork(:) integer :: info, lwork, i, j, k, lrwork - + complex*16,allocatable :: A_tmp(:,:) - allocate (A_tmp(LDA,n)) + allocate (A_tmp(LDA,n)) A_tmp = A lrwork = 5*min(m,n) - + ! Find optimal size for temp arrays allocate(work(1),rwork(lrwork)) lwork = -1 @@ -76,25 +76,25 @@ subroutine svd_complex(A,LDA,U,LDU,D,Vt,LDVt,m,n) D, U, LDU, Vt, LDVt, work, lwork, rwork, info) lwork = int(work(1)) deallocate(work) - + allocate(work(lwork)) call zgesvd('A','A', m, n, A_tmp, LDA, & D, U, LDU, Vt, LDVt, work, lwork, rwork, info) deallocate(work,rwork,A_tmp) - + if (info /= 0) then print *, info, ': SVD failed' stop endif - + end - -subroutine ortho_canonical_complex(overlap,LDA,N,C,LDC,m) + +subroutine ortho_canonical_complex(overlap,LDA,N,C,LDC,m,cutoff) implicit none BEGIN_DOC ! Compute C_new=C_old.U.s^-1/2 canonical orthogonalization. ! - ! overlap : overlap matrix + ! overlap : overlap matrix ! ! LDA : leftmost dimension of overlap array ! @@ -108,10 +108,11 @@ subroutine ortho_canonical_complex(overlap,LDA,N,C,LDC,m) ! m : Coefficients matrix is MxN, ( array is (LDC,N) ) ! END_DOC - + integer, intent(in) :: lda, ldc, n integer, intent(out) :: m complex*16, intent(in) :: overlap(lda,n) + double precision, intent(in) :: cutoff complex*16, intent(inout) :: C(ldc,n) complex*16, allocatable :: U(:,:) complex*16, allocatable :: Vt(:,:) @@ -119,19 +120,19 @@ subroutine ortho_canonical_complex(overlap,LDA,N,C,LDC,m) complex*16, allocatable :: S(:,:) !DIR$ ATTRIBUTES ALIGN : 64 :: U, Vt, D integer :: info, i, j - + if (n < 2) then return endif - + allocate (U(ldc,n), Vt(lda,n), D(n), S(lda,n)) - + call svd_complex(overlap,lda,U,ldc,D,Vt,lda,n,n) - + D(:) = dsqrt(D(:)) m=n do i=1,n - if ( D(i) >= 1.d-6 ) then + if ( D(i) >= cutoff ) then D(i) = 1.d0/D(i) else m = i-1 @@ -139,39 +140,39 @@ subroutine ortho_canonical_complex(overlap,LDA,N,C,LDC,m) exit endif enddo - do i=m+1,n + do i=m+1,n D(i) = 0.d0 - enddo - + enddo + do i=1,m if ( D(i) >= 1.d5 ) then print *, 'Warning: Basis set may have linear dependence problems' endif enddo - + do j=1,n do i=1,n S(i,j) = U(i,j)*D(j) enddo enddo - + do j=1,n do i=1,n U(i,j) = C(i,j) enddo enddo - + call zgemm('N','N',n,n,n,(1.d0,0.d0),U,size(U,1),S,size(S,1),(0.d0,0.d0),C,size(C,1)) - deallocate (U, Vt, D, S) - -end - - + deallocate (U, Vt, D, S) + +end + + subroutine ortho_qr_complex(A,LDA,m,n) implicit none BEGIN_DOC ! Orthogonalization using Q.R factorization - ! + ! ! A : matrix to orthogonalize ! ! LDA : leftmost dimension of A @@ -183,7 +184,7 @@ subroutine ortho_qr_complex(A,LDA,m,n) END_DOC integer, intent(in) :: m,n, LDA complex*16, intent(inout) :: A(LDA,n) - + integer :: lwork, info integer, allocatable :: jpvt(:) complex*16, allocatable :: tau(:), work(:) @@ -215,7 +216,7 @@ subroutine ortho_qr_unblocked_complex(A,LDA,m,n) END_DOC integer, intent(in) :: m,n, LDA double precision, intent(inout) :: A(LDA,n) - + integer :: info integer, allocatable :: jpvt(:) double precision, allocatable :: tau(:), work(:) @@ -228,13 +229,13 @@ subroutine ortho_qr_unblocked_complex(A,LDA,m,n) ! call dorg2r(m, n, n, A, LDA, tau, WORK, INFO) ! deallocate(WORK,jpvt,tau) end - -subroutine ortho_lowdin_complex(overlap,LDA,N,C,LDC,m) + +subroutine ortho_lowdin_complex(overlap,LDA,N,C,LDC,m,cutoff) implicit none BEGIN_DOC ! Compute C_new=C_old.S^-1/2 orthogonalization. ! - ! overlap : overlap matrix + ! overlap : overlap matrix ! ! LDA : leftmost dimension of overlap array ! @@ -248,7 +249,7 @@ subroutine ortho_lowdin_complex(overlap,LDA,N,C,LDC,m) ! M : Coefficients matrix is MxN, ( array is (LDC,N) ) ! END_DOC - + integer, intent(in) :: LDA, ldc, n, m complex*16, intent(in) :: overlap(lda,n) complex*16, intent(inout) :: C(ldc,n) @@ -256,8 +257,9 @@ subroutine ortho_lowdin_complex(overlap,LDA,N,C,LDC,m) complex*16, allocatable :: Vt(:,:) double precision, allocatable :: D(:) complex*16, allocatable :: S(:,:) + double precision, intent(in) :: cutoff integer :: info, i, j, k - + if (n < 2) then return endif @@ -267,12 +269,13 @@ subroutine ortho_lowdin_complex(overlap,LDA,N,C,LDC,m) call svd_complex(overlap,lda,U,ldc,D,Vt,lda,n,n) !$OMP PARALLEL DEFAULT(NONE) & - !$OMP SHARED(S,U,D,Vt,n,C,m) & + !$OMP SHARED(S,U,D,Vt,n,C,m,cutoff) & !$OMP PRIVATE(i,j,k) !$OMP DO do i=1,n - if ( D(i) < 1.d-6 ) then + if ( D(i) < cutoff) then + print *, 'Removed Linear dependencies :', 1.d0/D(i) D(i) = 0.d0 else D(i) = 1.d0/dsqrt(D(i)) @@ -294,7 +297,7 @@ subroutine ortho_lowdin_complex(overlap,LDA,N,C,LDC,m) !$OMP END DO NOWAIT endif enddo - + !$OMP BARRIER !$OMP DO do j=1,n @@ -303,11 +306,11 @@ subroutine ortho_lowdin_complex(overlap,LDA,N,C,LDC,m) enddo enddo !$OMP END DO - + !$OMP END PARALLEL call zgemm('N','N',m,n,n,(1.d0,0.d0),U,size(U,1),S,size(S,1),(0.d0,0.d0),C,size(C,1)) - + deallocate(U,Vt,S,D) end @@ -340,15 +343,16 @@ subroutine get_inverse_complex(A,LDA,m,C,LDC) end -subroutine get_pseudo_inverse_complex(A,LDA,m,n,C,LDC) +subroutine get_pseudo_inverse_complex(A,LDA,m,n,C,LDC,cutoff) implicit none BEGIN_DOC ! Find C = A^-1 END_DOC integer, intent(in) :: m,n, LDA, LDC complex*16, intent(in) :: A(LDA,n) + double precision, intent(in) :: cutoff complex*16, intent(out) :: C(LDC,m) - + double precision, allocatable :: D(:), rwork(:) complex*16, allocatable :: U(:,:), Vt(:,:), work(:), A_tmp(:,:) integer :: info, lwork @@ -373,15 +377,15 @@ subroutine get_pseudo_inverse_complex(A,LDA,m,n,C,LDC) print *, info, ':: SVD failed' stop 1 endif - + do i=1,n - if (D(i)/D(1) > 1.d-10) then + if (D(i)/D(1) > cutoff) then D(i) = 1.d0/D(i) else D(i) = 0.d0 endif enddo - + C = (0.d0,0.d0) do i=1,m do j=1,n @@ -390,9 +394,9 @@ subroutine get_pseudo_inverse_complex(A,LDA,m,n,C,LDC) enddo enddo enddo - + deallocate(U,D,Vt,work,A_tmp,rwork) - + end subroutine lapack_diagd_diag_in_place_complex(eigvalues,eigvectors,nmax,n) @@ -475,7 +479,7 @@ subroutine lapack_diagd_diag_in_place_complex(eigvalues,eigvectors,nmax,n) end subroutine lapack_diagd_diag_complex(eigvalues,eigvectors,H,nmax,n) - implicit none + implicit none BEGIN_DOC ! Diagonalize matrix H(complex) ! @@ -617,7 +621,7 @@ subroutine lapack_diagd_complex(eigvalues,eigvectors,H,nmax,n) allocate (work(lwork),iwork(liwork),rwork(lrwork)) call ZHEEVD( 'V', 'U', n, A, nmax, eigenvalues, work, lwork, & rwork, lrwork, iwork, liwork, info ) - deallocate(work,iwork,rwork) + deallocate(work,iwork,rwork) if (info < 0) then @@ -640,7 +644,7 @@ subroutine lapack_diagd_complex(eigvalues,eigvectors,H,nmax,n) end subroutine lapack_diag_complex(eigvalues,eigvectors,H,nmax,n) - implicit none + implicit none BEGIN_DOC ! Diagonalize matrix H (complex) ! @@ -695,10 +699,10 @@ subroutine lapack_diag_complex(eigvalues,eigvectors,H,nmax,n) do j=1,n print *, H(i,j) enddo - enddo + enddo stop 1 end if - + eigvectors = (0.d0,0.d0) eigvalues = 0.d0 do j = 1, n @@ -708,12 +712,12 @@ subroutine lapack_diag_complex(eigvalues,eigvectors,H,nmax,n) enddo enddo deallocate(A,eigenvalues) -end - +end + subroutine matrix_vector_product_complex(u0,u1,matrix,sze,lda) implicit none BEGIN_DOC -! performs u1 += u0 * matrix +! performs u1 += u0 * matrix END_DOC integer, intent(in) :: sze,lda complex*16, intent(in) :: u0(sze) @@ -727,7 +731,7 @@ subroutine matrix_vector_product_complex(u0,u1,matrix,sze,lda) call zhemv('U', sze, (1.d0,0.d0), matrix, lda, u0, incx, (1.d0,0.d0), u1, incy) end -subroutine ortho_canonical(overlap,LDA,N,C,LDC,m) +subroutine ortho_canonical(overlap,LDA,N,C,LDC,m,cutoff) implicit none BEGIN_DOC ! Compute C_new=C_old.U.s^-1/2 canonical orthogonalization. @@ -750,6 +754,7 @@ subroutine ortho_canonical(overlap,LDA,N,C,LDC,m) integer, intent(in) :: lda, ldc, n integer, intent(out) :: m double precision, intent(in) :: overlap(lda,n) + double precision, intent(in) :: cutoff double precision, intent(inout) :: C(ldc,n) double precision, allocatable :: U(:,:) double precision, allocatable :: Vt(:,:) @@ -769,7 +774,7 @@ subroutine ortho_canonical(overlap,LDA,N,C,LDC,m) D(:) = dsqrt(D(:)) m=n do i=1,n - if ( D(i) >= 1.d-6 ) then + if ( D(i) >= cutoff ) then D(i) = 1.d0/D(i) else m = i-1 @@ -840,7 +845,7 @@ subroutine ortho_qr(A,LDA,m,n) call dorgqr(m, n, n, A, LDA, TAU, WORK, LWORK, INFO) ! /!\ int(WORK(1)) becomes negative when WORK(1) > 2147483648 LWORK=max(n,int(WORK(1))) - + deallocate(WORK) allocate(WORK(LWORK)) call dorgqr(m, n, n, A, LDA, TAU, WORK, LWORK, INFO) @@ -874,7 +879,7 @@ subroutine ortho_qr_unblocked(A,LDA,m,n) deallocate(WORK,TAU) end -subroutine ortho_lowdin(overlap,LDA,N,C,LDC,m) +subroutine ortho_lowdin(overlap,LDA,N,C,LDC,m,cutoff) implicit none BEGIN_DOC ! Compute C_new=C_old.S^-1/2 orthogonalization. @@ -896,6 +901,7 @@ subroutine ortho_lowdin(overlap,LDA,N,C,LDC,m) integer, intent(in) :: LDA, ldc, n, m double precision, intent(in) :: overlap(lda,n) + double precision, intent(in) :: cutoff double precision, intent(inout) :: C(ldc,n) double precision, allocatable :: U(:,:) double precision, allocatable :: Vt(:,:) @@ -912,12 +918,13 @@ subroutine ortho_lowdin(overlap,LDA,N,C,LDC,m) call svd(overlap,lda,U,ldc,D,Vt,lda,n,n) !$OMP PARALLEL DEFAULT(NONE) & - !$OMP SHARED(S,U,D,Vt,n,C,m) & + !$OMP SHARED(S,U,D,Vt,n,C,m,cutoff) & !$OMP PRIVATE(i,j,k) !$OMP DO do i=1,n - if ( D(i) < 1.d-6 ) then + if ( D(i) < cutoff ) then + print *, 'Removed Linear dependencies :', 1.d0/D(i) D(i) = 0.d0 else D(i) = 1.d0/dsqrt(D(i)) @@ -986,13 +993,14 @@ subroutine get_inverse(A,LDA,m,C,LDC) deallocate(ipiv,work) end -subroutine get_pseudo_inverse(A,LDA,m,n,C,LDC) +subroutine get_pseudo_inverse(A,LDA,m,n,C,LDC,cutoff) implicit none BEGIN_DOC ! Find C = A^-1 END_DOC integer, intent(in) :: m,n, LDA, LDC double precision, intent(in) :: A(LDA,n) + double precision, intent(in) :: cutoff double precision, intent(out) :: C(LDC,m) double precision, allocatable :: U(:,:), D(:), Vt(:,:), work(:), A_tmp(:,:) @@ -1020,7 +1028,7 @@ subroutine get_pseudo_inverse(A,LDA,m,n,C,LDC) endif do i=1,n - if (D(i)/D(1) > 1.d-10) then + if (D(i)/D(1) > cutoff) then D(i) = 1.d0/D(i) else D(i) = 0.d0 @@ -1053,7 +1061,7 @@ subroutine find_rotation(A,LDA,B,m,C,n) double precision, allocatable :: A_inv(:,:) allocate(A_inv(LDA,n)) - call get_pseudo_inverse(A,LDA,m,n,A_inv,LDA) + call get_pseudo_inverse(A,LDA,m,n,A_inv,LDA,1.d-10) integer :: i,j,k call dgemm('N','N',n,n,m,1.d0,A_inv,n,B,LDA,0.d0,C,n) From a90b446bebfb3410fef76fe2715819197fa2d16d Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 25 May 2020 18:11:27 +0200 Subject: [PATCH 102/138] Fixed floating-point exceptions --- bin/qp_reset | 2 +- config/gfortran_debug.cfg | 2 +- config/travis.cfg | 2 +- src/ao_one_e_ints/pseudopot.f90 | 6 +- src/hartree_fock/10.hf.bats | 13 +-- src/nuclei/nuclei.irp.f | 24 +++--- src/scf_utils/roothaan_hall_scf.irp.f | 120 ++++++++++++++------------ 7 files changed, 93 insertions(+), 76 deletions(-) diff --git a/bin/qp_reset b/bin/qp_reset index 70cc7c9f..74dd1f78 100755 --- a/bin/qp_reset +++ b/bin/qp_reset @@ -112,7 +112,7 @@ qp_edit --check ${ezfio} if [[ $mos -eq 1 ]] ; then qp set mo_two_e_ints io_mo_two_e_integrals None - qp set mo_one_e_ints io_mo_integrals_e_n None + qp set mo_one_e_ints io_mo_integrals_n_e None qp set mo_one_e_ints io_mo_integrals_kinetic None qp set mo_one_e_ints io_mo_integrals_pseudo None qp set mo_one_e_ints io_mo_one_e_integrals None diff --git a/config/gfortran_debug.cfg b/config/gfortran_debug.cfg index 0acb5fa5..342acae9 100644 --- a/config/gfortran_debug.cfg +++ b/config/gfortran_debug.cfg @@ -51,7 +51,7 @@ FCFLAGS : -Ofast # -g : Extra debugging information # [DEBUG] -FCFLAGS : -g -msse4.2 -fcheck=all -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant -Wuninitialized +FCFLAGS : -g -msse4.2 -fcheck=all -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant -Wuninitialized -fbacktrace -ffpe-trap=zero,overflow,underflow -finit-real=nan # OpenMP flags ################# diff --git a/config/travis.cfg b/config/travis.cfg index 93e63f7b..ca789238 100644 --- a/config/travis.cfg +++ b/config/travis.cfg @@ -53,7 +53,7 @@ FCFLAGS : -Ofast -fimplicit-none # -g : Extra debugging information # [DEBUG] -FCFLAGS : -Ofast -fcheck=all -g -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant +FCFLAGS : -Ofast -fcheck=all -g -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant -fbacktrace -ffpe-trap=zero,overflow,underflow -finit-real=nan # OpenMP flags diff --git a/src/ao_one_e_ints/pseudopot.f90 b/src/ao_one_e_ints/pseudopot.f90 index 563705dd..31c3c549 100644 --- a/src/ao_one_e_ints/pseudopot.f90 +++ b/src/ao_one_e_ints/pseudopot.f90 @@ -1907,13 +1907,17 @@ double precision function int_prod_bessel(l,gam,n,m,a,b,arg) sum=s_q_0 if (q>300) then - stop 'pseudopot.f90 : q > 300' + stop 'pseudopot.f90 : q > 200' endif qk = dble(q) two_qkmp1 = 2.d0*(qk+mk)+1.d0 do k=0,q-1 s_q_k = two_qkmp1*qk*inverses(k)*s_q_k + if (s_q_k < 1.d-32) then + s_q_k = 0.d0 + exit + endif sum=sum+s_q_k two_qkmp1 = two_qkmp1-2.d0 qk = qk-1.d0 diff --git a/src/hartree_fock/10.hf.bats b/src/hartree_fock/10.hf.bats index 0301748b..e3e000a9 100644 --- a/src/hartree_fock/10.hf.bats +++ b/src/hartree_fock/10.hf.bats @@ -5,12 +5,13 @@ source $QP_ROOT/quantum_package.rc function run() { - thresh=1.e-7 + thresh=1.e-6 test_exe scf || skip qp set_file $1 qp edit --check qp reset --mos - qp run scf + qp set scf_utils n_it_scf_max 50 + qp run scf # qp set_frozen_core energy="$(ezfio get hartree_fock energy)" eq $energy $2 $thresh @@ -39,7 +40,7 @@ function run() { } @test "SO" { # 0.539000 5.70403s - run so.ezfio -25.7175263371941 + run so.ezfio -25.7175270084056 } @test "HCO" { # 0.636700 1.55279s @@ -107,13 +108,13 @@ function run() { } @test "C2H2" { # 19.599000 37.7923s - run c2h2.ezfio -12.12144019495306 + run c2h2.ezfio -12.12144044853196 } @test "SiH3" { # 20.316100 54.0861s [[ -n $TRAVIS ]] && skip - run sih3.ezfio -5.455398769158780 + run sih3.ezfio -5.455400439077580 } @test "OH" { # 32.042200 1.36478m @@ -130,6 +131,6 @@ function run() { @test "SO2" { # 71.894900 3.22567m [[ -n $TRAVIS ]] && skip - run so2.ezfio -41.55800190733211 + run so2.ezfio -41.55800401346361 } diff --git a/src/nuclei/nuclei.irp.f b/src/nuclei/nuclei.irp.f index 523bd80f..c1b5f52f 100644 --- a/src/nuclei/nuclei.irp.f +++ b/src/nuclei/nuclei.irp.f @@ -53,18 +53,20 @@ BEGIN_PROVIDER [ double precision, nucl_coord, (nucl_num,3) ] '================','============','============','============','============' write(6,'(A)') '' - double precision :: dist_min, x, y, z - dist_min = huge(1.d0) - do i=1,nucl_num - do j=i+1,nucl_num - x = nucl_coord(i,1)-nucl_coord(j,1) - y = nucl_coord(i,2)-nucl_coord(j,2) - z = nucl_coord(i,3)-nucl_coord(j,3) - dist_min = min(x*x + y*y + z*z, dist_min) + if (nucl_num > 1) then + double precision :: dist_min, x, y, z + dist_min = huge(1.d0) + do i=1,nucl_num + do j=i+1,nucl_num + x = nucl_coord(i,1)-nucl_coord(j,1) + y = nucl_coord(i,2)-nucl_coord(j,2) + z = nucl_coord(i,3)-nucl_coord(j,3) + dist_min = min(x*x + y*y + z*z, dist_min) + enddo enddo - enddo - write(6,'(A,F12.4,A)') 'Minimal interatomic distance found: ', & - dsqrt(dist_min)*a0,' Angstrom' + write(6,'(A,F12.4,A)') 'Minimal interatomic distance found: ', & + dsqrt(dist_min)*a0,' Angstrom' + endif endif diff --git a/src/scf_utils/roothaan_hall_scf.irp.f b/src/scf_utils/roothaan_hall_scf.irp.f index ea472cdf..8c76501e 100644 --- a/src/scf_utils/roothaan_hall_scf.irp.f +++ b/src/scf_utils/roothaan_hall_scf.irp.f @@ -196,6 +196,13 @@ END_DOC double precision,allocatable :: scratch(:,:) integer :: i,j,k,i_DIIS,j_DIIS + double precision :: rcond, ferr, berr + integer, allocatable :: iwork(:) + integer :: lwork + + if (dim_DIIS < 4) then + return + endif allocate( & B_matrix_DIIS(dim_DIIS+1,dim_DIIS+1), & @@ -239,77 +246,80 @@ END_DOC B_matrix_DIIS(dim_DIIS+1,dim_DIIS+1) = 0.d0 C_vector_DIIS(dim_DIIS+1) = -1.d0 -! Solve the linear system C = B.X + deallocate(scratch) +! Estimate condition number of B + double precision :: anorm integer :: info integer,allocatable :: ipiv(:) - - allocate( & - ipiv(dim_DIIS+1) & - ) - double precision, allocatable :: AF(:,:) - allocate (AF(dim_DIIS+1,dim_DIIS+1)) - double precision :: rcond, ferr, berr - integer :: iwork(dim_DIIS+1), lwork + double precision, external :: dlange - call dsysvx('N','U',dim_DIIS+1,1, & - B_matrix_DIIS,size(B_matrix_DIIS,1), & - AF, size(AF,1), & - ipiv, & - C_vector_DIIS,size(C_vector_DIIS,1), & - X_vector_DIIS,size(X_vector_DIIS,1), & - rcond, & - ferr, & - berr, & - scratch,-1, & - iwork, & - info & - ) - lwork = int(scratch(1,1)) - deallocate(scratch) + lwork = max((dim_DIIS+1)**2, (dim_DIIS+1)*5) + allocate(AF(dim_DIIS+1,dim_DIIS+1)) + allocate(ipiv(2*(dim_DIIS+1)), iwork(2*(dim_DIIS+1)) ) allocate(scratch(lwork,1)) + anorm = dlange('1', dim_DIIS+1, dim_DIIS+1, B_matrix_DIIS, & + size(B_matrix_DIIS,1), scratch) + + AF(:,:) = B_matrix_DIIS(:,:) + call dgetrf(dim_DIIS+1,dim_DIIS+1,AF,size(AF,1),ipiv,info) + if (info /= 0) then + dim_DIIS = 0 + return + endif + + call dgecon( '1', dim_DIIS+1, AF, & + size(AF,1), anorm, rcond, scratch, iwork, info ) + if (info /= 0) then + dim_DIIS = 0 + return + endif + + if (rcond < 1.d-10) then + dim_DIIS = 0 + return + endif + +! Solve the linear system C = B.X + call dsysvx('N','U',dim_DIIS+1,1, & - B_matrix_DIIS,size(B_matrix_DIIS,1), & - AF, size(AF,1), & - ipiv, & - C_vector_DIIS,size(C_vector_DIIS,1), & - X_vector_DIIS,size(X_vector_DIIS,1), & - rcond, & - ferr, & - berr, & - scratch,size(scratch), & - iwork, & - info & - ) + B_matrix_DIIS,size(B_matrix_DIIS,1), & + AF, size(AF,1), & + ipiv, & + C_vector_DIIS,size(C_vector_DIIS,1), & + X_vector_DIIS,size(X_vector_DIIS,1), & + rcond, & + ferr, & + berr, & + scratch,size(scratch), & + iwork, & + info & + ) + + deallocate(scratch,AF,iwork) if(info < 0) then stop 'bug in DIIS' endif - if (rcond > 1.d-12) then - ! Compute extrapolated Fock matrix - !$OMP PARALLEL DO PRIVATE(i,j,k) DEFAULT(SHARED) if (ao_num > 200) - do j=1,ao_num - do i=1,ao_num - Fock_matrix_AO_(i,j) = 0.d0 - enddo - do k=1,dim_DIIS - if (dabs(X_vector_DIIS(k)) < 1.d-10) cycle - do i=1,ao_num - Fock_matrix_AO_(i,j) = Fock_matrix_AO_(i,j) + & - X_vector_DIIS(k)*Fock_matrix_DIIS(i,j,dim_DIIS-k+1) - enddo - enddo + !$OMP PARALLEL DO PRIVATE(i,j,k) DEFAULT(SHARED) if (ao_num > 200) + do j=1,ao_num + do i=1,ao_num + Fock_matrix_AO_(i,j) = 0.d0 + enddo + do k=1,dim_DIIS + if (dabs(X_vector_DIIS(k)) < 1.d-10) cycle + do i=1,ao_num + Fock_matrix_AO_(i,j) = Fock_matrix_AO_(i,j) + & + X_vector_DIIS(k)*Fock_matrix_DIIS(i,j,dim_DIIS-k+1) enddo - !$OMP END PARALLEL DO - - else - dim_DIIS = 0 - endif + enddo + enddo + !$OMP END PARALLEL DO end From 5803482a6045eacf2f04b9c5dda20c174dea14c3 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 25 May 2020 23:27:38 +0200 Subject: [PATCH 103/138] Fixed NaN in SCF --- src/scf_utils/roothaan_hall_scf.irp.f | 29 +++++++++++++++------------ 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/src/scf_utils/roothaan_hall_scf.irp.f b/src/scf_utils/roothaan_hall_scf.irp.f index 8c76501e..d332a75c 100644 --- a/src/scf_utils/roothaan_hall_scf.irp.f +++ b/src/scf_utils/roothaan_hall_scf.irp.f @@ -284,19 +284,22 @@ END_DOC ! Solve the linear system C = B.X - call dsysvx('N','U',dim_DIIS+1,1, & - B_matrix_DIIS,size(B_matrix_DIIS,1), & - AF, size(AF,1), & - ipiv, & - C_vector_DIIS,size(C_vector_DIIS,1), & - X_vector_DIIS,size(X_vector_DIIS,1), & - rcond, & - ferr, & - berr, & - scratch,size(scratch), & - iwork, & - info & - ) + X_vector_DIIS = C_vector_DIIS + call dgesv ( dim_DIIS+1 , 1, B_matrix_DIIS, size(B_matrix_DIIS,1), & + ipiv , X_vector_DIIS , size(X_vector_DIIS,1), info) +! call dsysvx('N','U',dim_DIIS+1,1, & +! B_matrix_DIIS,size(B_matrix_DIIS,1), & +! AF, size(AF,1), & +! ipiv, & +! C_vector_DIIS,size(C_vector_DIIS,1), & +! X_vector_DIIS,size(X_vector_DIIS,1), & +! rcond, & +! ferr, & +! berr, & +! scratch,size(scratch), & +! iwork, & +! info & +! ) deallocate(scratch,AF,iwork) From a460863632d43a0c4aecb2f0d64ca68c835a5ab2 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 25 May 2020 23:32:23 +0200 Subject: [PATCH 104/138] DIIS stability --- src/scf_utils/roothaan_hall_scf.irp.f | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/src/scf_utils/roothaan_hall_scf.irp.f b/src/scf_utils/roothaan_hall_scf.irp.f index d332a75c..e78630c2 100644 --- a/src/scf_utils/roothaan_hall_scf.irp.f +++ b/src/scf_utils/roothaan_hall_scf.irp.f @@ -277,7 +277,7 @@ END_DOC return endif - if (rcond < 1.d-10) then + if (rcond == 0.d-10) then dim_DIIS = 0 return endif @@ -287,25 +287,12 @@ END_DOC X_vector_DIIS = C_vector_DIIS call dgesv ( dim_DIIS+1 , 1, B_matrix_DIIS, size(B_matrix_DIIS,1), & ipiv , X_vector_DIIS , size(X_vector_DIIS,1), info) -! call dsysvx('N','U',dim_DIIS+1,1, & -! B_matrix_DIIS,size(B_matrix_DIIS,1), & -! AF, size(AF,1), & -! ipiv, & -! C_vector_DIIS,size(C_vector_DIIS,1), & -! X_vector_DIIS,size(X_vector_DIIS,1), & -! rcond, & -! ferr, & -! berr, & -! scratch,size(scratch), & -! iwork, & -! info & -! ) - deallocate(scratch,AF,iwork) + deallocate(scratch,AF,iwork) - if(info < 0) then - stop 'bug in DIIS' - endif + if(info < 0) then + stop 'bug in DIIS' + endif ! Compute extrapolated Fock matrix From 465737c85a5e69d77e32366191a5c9cdcfb0afef Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Mon, 25 May 2020 23:34:51 +0200 Subject: [PATCH 105/138] DIIS stability --- src/scf_utils/roothaan_hall_scf.irp.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/scf_utils/roothaan_hall_scf.irp.f b/src/scf_utils/roothaan_hall_scf.irp.f index e78630c2..9863634a 100644 --- a/src/scf_utils/roothaan_hall_scf.irp.f +++ b/src/scf_utils/roothaan_hall_scf.irp.f @@ -277,7 +277,7 @@ END_DOC return endif - if (rcond == 0.d-10) then + if (rcond < 1.d-14) then dim_DIIS = 0 return endif From 0054a66253eca57ee7b0958f9ff6464c3509f808 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 26 May 2020 00:27:09 +0200 Subject: [PATCH 106/138] Travis compiling options without underflow --- config/travis.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/travis.cfg b/config/travis.cfg index ca789238..3a068a27 100644 --- a/config/travis.cfg +++ b/config/travis.cfg @@ -53,7 +53,7 @@ FCFLAGS : -Ofast -fimplicit-none # -g : Extra debugging information # [DEBUG] -FCFLAGS : -Ofast -fcheck=all -g -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant -fbacktrace -ffpe-trap=zero,overflow,underflow -finit-real=nan +FCFLAGS : -Ofast -fcheck=all -g -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant -fbacktrace -ffpe-trap=zero,overflow -finit-real=nan # OpenMP flags From bdc065a68f1702d500e7e816b29f21c39bd790d4 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 26 May 2020 02:52:10 +0200 Subject: [PATCH 107/138] Fixing tests --- src/hartree_fock/10.hf.bats | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hartree_fock/10.hf.bats b/src/hartree_fock/10.hf.bats index e3e000a9..933c7814 100644 --- a/src/hartree_fock/10.hf.bats +++ b/src/hartree_fock/10.hf.bats @@ -40,7 +40,7 @@ function run() { } @test "SO" { # 0.539000 5.70403s - run so.ezfio -25.7175270084056 + run so.ezfio -25.7175135615971 } @test "HCO" { # 0.636700 1.55279s From f536aea5683201383a44a2556a8654d77ab3d8c1 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 26 May 2020 09:52:06 +0200 Subject: [PATCH 108/138] updated tests --- src/hartree_fock/10.hf.bats | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/hartree_fock/10.hf.bats b/src/hartree_fock/10.hf.bats index 933c7814..3f01e2b7 100644 --- a/src/hartree_fock/10.hf.bats +++ b/src/hartree_fock/10.hf.bats @@ -40,7 +40,7 @@ function run() { } @test "SO" { # 0.539000 5.70403s - run so.ezfio -25.7175135615971 + run so.ezfio -25.7175272905296 } @test "HCO" { # 0.636700 1.55279s From 811cdf86a6f49370da07b161a110ab0919f46ac9 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 26 May 2020 11:00:35 +0200 Subject: [PATCH 109/138] updated tests --- src/ao_one_e_ints/pseudopot.f90 | 65 +++------------------------ src/hartree_fock/10.hf.bats | 2 +- src/scf_utils/roothaan_hall_scf.irp.f | 2 +- 3 files changed, 9 insertions(+), 60 deletions(-) diff --git a/src/ao_one_e_ints/pseudopot.f90 b/src/ao_one_e_ints/pseudopot.f90 index 31c3c549..aaa456ba 100644 --- a/src/ao_one_e_ints/pseudopot.f90 +++ b/src/ao_one_e_ints/pseudopot.f90 @@ -238,9 +238,6 @@ ntotB=n_b(1)+n_b(2)+n_b(3) ntot=ntotA+ntotB nkl_max=4 -!=!=!=!=!=!=!=!=!=! -! A l l o c a t e ! -!=!=!=!=!=!=!=!=!=! allocate (array_coefs_A(0:ntot,3)) allocate (array_coefs_B(0:ntot,3)) @@ -254,16 +251,8 @@ allocate (array_I_B(-(lmax+ntot):lmax+ntot,0:lmax+ntot,0:ntot,0:ntot,0:ntot)) if(ac.eq.0.d0.and.bc.eq.0.d0)then - !=!=!=!=!=! - ! I n i t ! - !=!=!=!=!=! - accu=0.d0 - !=!=!=!=!=!=!=! - ! c a l c u l ! - !=!=!=!=!=!=!=! - do k=1,kmax do l=0,lmax ktot=ntot+n_kl(k,l) @@ -278,18 +267,10 @@ if(ac.eq.0.d0.and.bc.eq.0.d0)then enddo enddo - !=!=!=!=! - ! E n d ! - !=!=!=!=! - Vpseudo=accu*fourpi else if(ac.ne.0.d0.and.bc.ne.0.d0)then - !=!=!=!=!=! - ! I n i t ! - !=!=!=!=!=! - f=fourpi*fourpi theta_AC0=dacos( (a(3)-c(3))/ac ) @@ -330,10 +311,6 @@ else if(ac.ne.0.d0.and.bc.ne.0.d0)then array_coefs_B(k3p,3) = binom_func(n_b(3),k3p)*(c(3)-b(3))**(n_b(3)-k3p) enddo - !=!=!=!=!=!=!=! - ! c a l c u l ! - !=!=!=!=!=!=!=! - accu=0.d0 do l=0,lmax do m=-l,l @@ -408,18 +385,10 @@ else if(ac.ne.0.d0.and.bc.ne.0.d0)then enddo enddo - !=!=!=!=! - ! E n d ! - !=!=!=!=! - Vpseudo=f*accu else if(ac.eq.0.d0.and.bc.ne.0.d0)then - !=!=!=!=!=! - ! I n i t ! - !=!=!=!=!=! - f=fourpi**1.5d0 theta_BC0=dacos( (b(3)-c(3))/bc ) phi_BC0=datan2((b(2)-c(2))/bc,(b(1)-c(1))/bc) @@ -448,10 +417,6 @@ else if(ac.eq.0.d0.and.bc.ne.0.d0)then array_coefs_B(k3p,3) = binom_func(n_b(3),k3p)*(c(3)-b(3))**(n_b(3)-k3p) enddo - !=!=!=!=!=!=!=! - ! c a l c u l ! - !=!=!=!=!=!=!=! - accu=0.d0 do l=0,lmax do m=-l,l @@ -498,18 +463,10 @@ else if(ac.eq.0.d0.and.bc.ne.0.d0)then enddo enddo - !=!=!=!=! - ! E n d ! - !=!=!=!=! - Vpseudo=f*accu else if(ac.ne.0.d0.and.bc.eq.0.d0)then - !=!=!=!=!=! - ! I n i t ! - !=!=!=!=!=! - f=fourpi**1.5d0 theta_AC0=dacos( (a(3)-c(3))/ac ) phi_AC0=datan2((a(2)-c(2))/ac,(a(1)-c(1))/ac) @@ -538,10 +495,6 @@ else if(ac.ne.0.d0.and.bc.eq.0.d0)then array_coefs_A(k3,3) = binom_func(n_a(3),k3)*(c(3)-a(3))**(n_a(3)-k3) enddo - !=!=!=!=!=!=!=! - ! c a l c u l ! - !=!=!=!=!=!=!=! - accu=0.d0 do l=0,lmax do m=-l,l @@ -587,10 +540,6 @@ else if(ac.ne.0.d0.and.bc.eq.0.d0)then enddo enddo - !=!=!=!=! - ! E n d ! - !=!=!=!=! - Vpseudo=f*accu endif @@ -1885,7 +1834,7 @@ double precision function int_prod_bessel(l,gam,n,m,a,b,arg) pi=dacos(-1.d0) a_over_b_square = (a/b)**2 - ! Calcul first term of the sequence + ! First term of the sequence term_a =dble_fact(nlm-1) / (dble_fact(n_1)*dble_fact(m_1)) expo=0.5d0*dfloat(nlm+1) @@ -1894,7 +1843,7 @@ double precision function int_prod_bessel(l,gam,n,m,a,b,arg) s_0_0=term_rap*a**(n)*b**(m) if(mod(nlm,2).eq.0)s_0_0=s_0_0*dsqrt(pi*.5d0) - ! Initialise the first recurence terme for the q loop + ! Initialize the first recurrence term for the q loop s_q_0 = s_0_0 @@ -1907,17 +1856,17 @@ double precision function int_prod_bessel(l,gam,n,m,a,b,arg) sum=s_q_0 if (q>300) then - stop 'pseudopot.f90 : q > 200' + stop 'pseudopot.f90 : q > 300' endif qk = dble(q) two_qkmp1 = 2.d0*(qk+mk)+1.d0 do k=0,q-1 s_q_k = two_qkmp1*qk*inverses(k)*s_q_k - if (s_q_k < 1.d-32) then - s_q_k = 0.d0 - exit - endif +! if (s_q_k < 1.d-32) then +! s_q_k = 0.d0 +! exit +! endif sum=sum+s_q_k two_qkmp1 = two_qkmp1-2.d0 qk = qk-1.d0 diff --git a/src/hartree_fock/10.hf.bats b/src/hartree_fock/10.hf.bats index 3f01e2b7..6f13e595 100644 --- a/src/hartree_fock/10.hf.bats +++ b/src/hartree_fock/10.hf.bats @@ -5,7 +5,7 @@ source $QP_ROOT/quantum_package.rc function run() { - thresh=1.e-6 + thresh=1.e-5 test_exe scf || skip qp set_file $1 qp edit --check diff --git a/src/scf_utils/roothaan_hall_scf.irp.f b/src/scf_utils/roothaan_hall_scf.irp.f index 9863634a..d1236ce7 100644 --- a/src/scf_utils/roothaan_hall_scf.irp.f +++ b/src/scf_utils/roothaan_hall_scf.irp.f @@ -200,7 +200,7 @@ END_DOC integer, allocatable :: iwork(:) integer :: lwork - if (dim_DIIS < 4) then + if (dim_DIIS < 1) then return endif From b6ebd8fd6d76ac8b88203cff1647164895ab0574 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Tue, 26 May 2020 21:30:38 +0200 Subject: [PATCH 110/138] Revert travis compiling options --- config/travis.cfg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/travis.cfg b/config/travis.cfg index 3a068a27..2be5d9a0 100644 --- a/config/travis.cfg +++ b/config/travis.cfg @@ -53,7 +53,7 @@ FCFLAGS : -Ofast -fimplicit-none # -g : Extra debugging information # [DEBUG] -FCFLAGS : -Ofast -fcheck=all -g -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant -fbacktrace -ffpe-trap=zero,overflow -finit-real=nan +FCFLAGS : -Ofast -fcheck=all -g -Waliasing -Wampersand -Wconversion -Wsurprising -Wintrinsics-std -Wno-tabs -Wintrinsic-shadow -Wline-truncation -Wreal-q-constant # OpenMP flags From 4ccb17a5dd2e14ae4323bb61e9238989ee522958 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 28 May 2020 11:57:12 +0200 Subject: [PATCH 111/138] Cleaned mo_get for multiple integrals --- src/mo_two_e_ints/map_integrals.irp.f | 110 ++------------------------ src/tools/molden.irp.f | 2 +- 2 files changed, 9 insertions(+), 103 deletions(-) diff --git a/src/mo_two_e_ints/map_integrals.irp.f b/src/mo_two_e_ints/map_integrals.irp.f index 83ca98cd..661add2e 100644 --- a/src/mo_two_e_ints/map_integrals.irp.f +++ b/src/mo_two_e_ints/map_integrals.irp.f @@ -127,7 +127,6 @@ double precision function mo_two_e_integral(i,j,k,l) integer, intent(in) :: i,j,k,l double precision :: get_two_e_integral PROVIDE mo_two_e_integrals_in_map mo_integrals_cache - PROVIDE mo_two_e_integrals_in_map !DIR$ FORCEINLINE mo_two_e_integral = get_two_e_integral(i,j,k,l,mo_integrals_map) return @@ -202,47 +201,12 @@ subroutine get_mo_two_e_integrals_ij(k,l,sze,out_array,map) integer, intent(in) :: k,l, sze double precision, intent(out) :: out_array(sze,sze) type(map_type), intent(inout) :: map - integer :: i,j,kk,ll,m - integer(key_kind),allocatable :: hash(:) - integer ,allocatable :: pairs(:,:), iorder(:) + integer :: j real(integral_kind), allocatable :: tmp_val(:) - PROVIDE mo_two_e_integrals_in_map - allocate (hash(sze*sze), pairs(2,sze*sze),iorder(sze*sze), & - tmp_val(sze*sze)) - - kk=0 - out_array = 0.d0 do j=1,sze - do i=1,sze - kk += 1 - !DIR$ FORCEINLINE - call two_e_integrals_index(i,j,k,l,hash(kk)) - pairs(1,kk) = i - pairs(2,kk) = j - iorder(kk) = kk - enddo + call get_mo_two_e_integrals(j,k,l,sze,out_array(1,j),map) enddo - - logical :: integral_is_in_map - if (key_kind == 8) then - call i8radix_sort(hash,iorder,kk,-1) - else if (key_kind == 4) then - call iradix_sort(hash,iorder,kk,-1) - else if (key_kind == 2) then - call i2radix_sort(hash,iorder,kk,-1) - endif - - call map_get_many(mo_integrals_map, hash, tmp_val, kk) - - do ll=1,kk - m = iorder(ll) - i=pairs(1,m) - j=pairs(2,m) - out_array(i,j) = tmp_val(ll) - enddo - - deallocate(pairs,hash,iorder,tmp_val) end subroutine get_mo_two_e_integrals_i1j1(k,l,sze,out_array,map) @@ -256,47 +220,13 @@ subroutine get_mo_two_e_integrals_i1j1(k,l,sze,out_array,map) integer, intent(in) :: k,l, sze double precision, intent(out) :: out_array(sze,sze) type(map_type), intent(inout) :: map - integer :: i,j,kk,ll,m - integer(key_kind),allocatable :: hash(:) - integer ,allocatable :: pairs(:,:), iorder(:) - real(integral_kind), allocatable :: tmp_val(:) - + integer :: j PROVIDE mo_two_e_integrals_in_map - allocate (hash(sze*sze), pairs(2,sze*sze),iorder(sze*sze), & - tmp_val(sze*sze)) - kk=0 - out_array = 0.d0 do j=1,sze - do i=1,sze - kk += 1 - !DIR$ FORCEINLINE - call two_e_integrals_index(i,k,j,l,hash(kk)) - pairs(1,kk) = i - pairs(2,kk) = j - iorder(kk) = kk - enddo + call get_mo_two_e_integrals(k,j,l,sze,out_array(1,j),map) enddo - logical :: integral_is_in_map - if (key_kind == 8) then - call i8radix_sort(hash,iorder,kk,-1) - else if (key_kind == 4) then - call iradix_sort(hash,iorder,kk,-1) - else if (key_kind == 2) then - call i2radix_sort(hash,iorder,kk,-1) - endif - - call map_get_many(mo_integrals_map, hash, tmp_val, kk) - - do ll=1,kk - m = iorder(ll) - i=pairs(1,m) - j=pairs(2,m) - out_array(i,j) = tmp_val(ll) - enddo - - deallocate(pairs,hash,iorder,tmp_val) end @@ -312,25 +242,13 @@ subroutine get_mo_two_e_integrals_coulomb_ii(k,l,sze,out_val,map) double precision, intent(out) :: out_val(sze) type(map_type), intent(inout) :: map integer :: i - integer(key_kind) :: hash(sze) - real(integral_kind) :: tmp_val(sze) + double precision, external :: get_two_e_integral PROVIDE mo_two_e_integrals_in_map - integer :: kk do i=1,sze - !DIR$ FORCEINLINE - call two_e_integrals_index(k,i,l,i,hash(i)) + out_val(i) = get_two_e_integral(k,i,l,i,map) enddo - if (integral_kind == 8) then - call map_get_many(map, hash, out_val, sze) - else - call map_get_many(map, hash, tmp_val, sze) - ! Conversion to double precision - do i=1,sze - out_val(i) = dble(tmp_val(i)) - enddo - endif end subroutine get_mo_two_e_integrals_exch_ii(k,l,sze,out_val,map) @@ -345,25 +263,13 @@ subroutine get_mo_two_e_integrals_exch_ii(k,l,sze,out_val,map) double precision, intent(out) :: out_val(sze) type(map_type), intent(inout) :: map integer :: i - integer(key_kind) :: hash(sze) - real(integral_kind) :: tmp_val(sze) + double precision, external :: get_two_e_integral PROVIDE mo_two_e_integrals_in_map - integer :: kk do i=1,sze - !DIR$ FORCEINLINE - call two_e_integrals_index(k,i,i,l,hash(i)) + out_val(i) = get_two_e_integral(k,i,i,l,map) enddo - if (integral_kind == 8) then - call map_get_many(map, hash, out_val, sze) - else - call map_get_many(map, hash, tmp_val, sze) - ! Conversion to double precision - do i=1,sze - out_val(i) = dble(tmp_val(i)) - enddo - endif end diff --git a/src/tools/molden.irp.f b/src/tools/molden.irp.f index f70ed0de..a7d5b978 100644 --- a/src/tools/molden.irp.f +++ b/src/tools/molden.irp.f @@ -17,7 +17,7 @@ program molden write(i_unit_output,'(A)') '[Molden Format]' - write(i_unit_output,'(A)') '[Atoms] AU' + write(i_unit_output,'(A)') '[Atoms] ANGSTROM' do i = 1, nucl_num write(i_unit_output,'(A2,2X,I4,2X,I4,3(2X,F15.10))') & trim(element_name(int(nucl_charge(i)))), & From 169e19e46a9279f499ef6cd50d1857a55777a7a3 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 28 May 2020 18:05:17 +0200 Subject: [PATCH 112/138] Add state-averaged density --- src/dft_one_e/effective_pot.irp.f | 67 +++++++++++++++++++++++++++---- 1 file changed, 60 insertions(+), 7 deletions(-) diff --git a/src/dft_one_e/effective_pot.irp.f b/src/dft_one_e/effective_pot.irp.f index 27f4841e..c7bd6b39 100644 --- a/src/dft_one_e/effective_pot.irp.f +++ b/src/dft_one_e/effective_pot.irp.f @@ -31,20 +31,73 @@ END_PROVIDER - BEGIN_PROVIDER [double precision, ao_effective_one_e_potential, (ao_num, ao_num,N_states)] -&BEGIN_PROVIDER [double precision, ao_effective_one_e_potential_without_kin, (ao_num, ao_num,N_states)] + BEGIN_PROVIDER [double precision, effective_one_e_potential_sa, (mo_num, mo_num)] +&BEGIN_PROVIDER [double precision, effective_one_e_potential_without_kin_sa, (mo_num, mo_num)] implicit none BEGIN_DOC -! ao_effective_one_e_potential(i,j) = $\rangle i_{AO}| v_{H}^{sr} |j_{AO}\rangle + \rangle i_{AO}| h_{core} |j_{AO}\rangle + \rangle i_{AO}|v_{xc} |j_{AO}\rangle$ -! +! State-averaged potential in MO basis END_DOC integer :: istate + effective_one_e_potential_sa(:,:) = 0.d0 + effective_one_e_potential_without_kin_sa(:,:) = 0.d0 do istate = 1, N_states - call mo_to_ao_no_overlap(effective_one_e_potential(1,1,istate),size(effective_one_e_potential,1),ao_effective_one_e_potential(1,1,istate),size(ao_effective_one_e_potential,1)) - - call mo_to_ao_no_overlap(effective_one_e_potential_without_kin(1,1,istate),size(effective_one_e_potential_without_kin,1),ao_effective_one_e_potential_without_kin(1,1,istate),size(ao_effective_one_e_potential_without_kin,1)) + effective_one_e_potential_sa(:,:) += effective_one_e_potential(:,:,istate) * state_average_weight(istate) + effective_one_e_potential_without_kin_sa(:,:) += effective_one_e_potential_without_kin(:,:,istate) * state_average_weight(istate) enddo END_PROVIDER + + + BEGIN_PROVIDER [double precision, ao_effective_one_e_potential, (ao_num, ao_num,N_states)] +&BEGIN_PROVIDER [double precision, ao_effective_one_e_potential_without_kin, (ao_num, ao_num,N_states)] + implicit none + integer :: i,j,istate + effective_one_e_potential = 0.d0 + BEGIN_DOC +! Effective_one_e_potential(i,j) = $\rangle i_{MO}| v_{H}^{sr} |j_{MO}\rangle + \rangle i_{MO}| h_{core} |j_{MO}\rangle + \rangle i_{MO}|v_{xc} |j_{MO}\rangle$ +! +! on the |MO| basis +! +! Taking the expectation value does not provide any energy, but +! +! effective_one_e_potential(i,j) is the potential coupling DFT and WFT parts +! +! and it is used in any RS-DFT based calculations + END_DOC + do istate = 1, N_states + do j = 1, mo_num + do i = 1, mo_num + + effective_one_e_potential(i,j,istate) = short_range_Hartree_operator(i,j,istate) + mo_integrals_n_e(i,j) + mo_kinetic_integrals(i,j) & + + 0.5d0 * (potential_x_alpha_mo(i,j,istate) + potential_c_alpha_mo(i,j,istate) & + + potential_x_beta_mo(i,j,istate) + potential_c_beta_mo(i,j,istate) ) + + effective_one_e_potential_without_kin(i,j,istate) = short_range_Hartree_operator(i,j,istate) + mo_integrals_n_e(i,j) & + + 0.5d0 * (potential_x_alpha_mo(i,j,istate) + potential_c_alpha_mo(i,j,istate) & + + potential_x_beta_mo(i,j,istate) + potential_c_beta_mo(i,j,istate) ) + enddo + enddo + enddo +END_PROVIDER + + + BEGIN_PROVIDER [double precision, ao_effective_one_e_potential_sa, (ao_num, ao_num)] +&BEGIN_PROVIDER [double precision, ao_effective_one_e_potential_without_kin_sa, (ao_num, ao_num)] + implicit none + BEGIN_DOC +! State-averaged potential in AO basis + END_DOC + + integer :: istate + + ao_effective_one_e_potential_sa(:,:) = 0.d0 + ao_effective_one_e_potential_without_kin_sa(:,:) = 0.d0 + do istate = 1, N_states + ao_effective_one_e_potential_sa(:,:) += ao_effective_one_e_potential(:,:,istate) * state_average_weight(istate) + ao_effective_one_e_potential_without_kin_sa(:,:) += ao_effective_one_e_potential_without_kin(:,:,istate) * state_average_weight(istate) + enddo + +END_PROVIDER + From 2208d58c5804be58194415a8c11a5b1bd66f01f2 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 29 May 2020 00:11:10 +0200 Subject: [PATCH 113/138] Read only the n first atoms in xyz --- GITHUB.md | 7 ++----- ocaml/Molecule.ml | 20 ++++++++++++-------- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/GITHUB.md b/GITHUB.md index cee4cc8c..3240d198 100644 --- a/GITHUB.md +++ b/GITHUB.md @@ -13,11 +13,8 @@ dev: bugfix: A fork of the *master* on which the bug fixes are made. -dev-lcpq: - Toulouse development branch - -dev-lct: - Paris development branch +dev: + Development branch gh-pages: This is an independent branch, containing only the web site of QP2. diff --git a/ocaml/Molecule.ml b/ocaml/Molecule.ml index 78ceff0c..f3633155 100644 --- a/ocaml/Molecule.ml +++ b/ocaml/Molecule.ml @@ -149,14 +149,18 @@ let of_xyz_file let lines = match Io_ext.input_lines filename with | natoms :: title :: rest -> - begin - try - if (int_of_string @@ String_ext.strip natoms) <= 0 then - raise XYZError - with - | _ -> raise XYZError - end; - String.concat "\n" rest + let natoms = + try + int_of_string @@ String_ext.strip natoms + with + | _ -> raise XYZError + in + if natoms <= 0 then + raise XYZError; + let a = Array.of_list rest in + Array.sub a 0 natoms + |> Array.to_list + |> String.concat "\n" | _ -> raise XYZError in of_xyz_string ~charge:charge ~multiplicity:multiplicity From 1daadf2dcfbd24d6ff7c0e9688aac1741acbb196 Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Tue, 2 Jun 2020 11:55:33 -0500 Subject: [PATCH 114/138] added gf module; initial commit --- src/green/EZFIO.cfg | 101 ++++ src/green/NEED | 1 + src/green/README.rst | 6 + src/green/green.main.irp.f | 51 ++ src/green/hu0_hp.irp.f | 847 ++++++++++++++++++++++++++ src/green/hu0_lanczos.irp.f | 405 +++++++++++++ src/green/lanczos.irp.f | 882 ++++++++++++++++++++++++++++ src/green/plot-spec-dens.py | 90 +++ src/green/print_dets_test.irp.f | 15 + src/green/print_e_mo_debug.irp.f | 15 + src/green/print_h_debug.irp.f | 178 ++++++ src/green/print_h_omp_debug.irp.f | 41 ++ src/green/print_spectral_dens.irp.f | 43 ++ src/green/utils_hp.irp.f | 614 +++++++++++++++++++ 14 files changed, 3289 insertions(+) create mode 100644 src/green/EZFIO.cfg create mode 100644 src/green/NEED create mode 100644 src/green/README.rst create mode 100644 src/green/green.main.irp.f create mode 100644 src/green/hu0_hp.irp.f create mode 100644 src/green/hu0_lanczos.irp.f create mode 100644 src/green/lanczos.irp.f create mode 100755 src/green/plot-spec-dens.py create mode 100644 src/green/print_dets_test.irp.f create mode 100644 src/green/print_e_mo_debug.irp.f create mode 100644 src/green/print_h_debug.irp.f create mode 100644 src/green/print_h_omp_debug.irp.f create mode 100644 src/green/print_spectral_dens.irp.f create mode 100644 src/green/utils_hp.irp.f diff --git a/src/green/EZFIO.cfg b/src/green/EZFIO.cfg new file mode 100644 index 00000000..859a3eb9 --- /dev/null +++ b/src/green/EZFIO.cfg @@ -0,0 +1,101 @@ +[n_lanczos_complete] +type: integer +doc: number of lanczos iterations completed +interface: ezfio,provider,ocaml +default: 0 + +[n_lanczos_iter] +type: integer +doc: number of lanczos iterations +interface: ezfio,provider,ocaml +default: 10 + +[omega_min] +type: double precision +doc: lower limit of frequency for spectral density calculation +interface: ezfio,provider,ocaml +default: -2.e-1 + +[omega_max] +type: double precision +doc: upper limit of frequency for spectral density calculation +interface: ezfio,provider,ocaml +default: 1.2e1 + +[n_omega] +type: integer +doc: number of points for spectral density calculation +interface: ezfio,provider,ocaml +default: 1000 + +[gf_epsilon] +type: double precision +doc: infinitesimal imaginary frequency term in Green's function +interface: ezfio,provider,ocaml +default: 1.e-2 + +[n_green_vec] +type: integer +doc: number of holes/particles +interface: ezfio +default: 2 + +[green_idx] +interface: ezfio +doc: homo/lumo indices +type: integer +size: (green.n_green_vec) + +[green_spin] +interface: ezfio +doc: homo/lumo spin +type: integer +size: (green.n_green_vec) + +[green_sign] +interface: ezfio +doc: homo/lumo sign +type: double precision +size: (green.n_green_vec) + +[alpha_lanczos] +interface: ezfio +doc: lanczos alpha values +type: double precision +size: (green.n_lanczos_iter,green.n_green_vec) + +[beta_lanczos] +interface: ezfio +doc: lanczos beta values +type: double precision +size: (green.n_lanczos_iter,green.n_green_vec) + +[un_lanczos] +interface: ezfio +doc: saved lanczos u vector +type: complex*16 +size: (determinants.n_det,green.n_green_vec) + +[vn_lanczos] +interface: ezfio +doc: saved lanczos v vector +type: complex*16 +size: (determinants.n_det,green.n_green_vec) + +[lanczos_eigvals] +interface: ezfio +doc: eigvals of tridiagonal form of H +type: double precision +size: (green.n_lanczos_iter,green.n_green_vec) + +[lanczos_debug_print] +interface: ezfio,provider,ocaml +type: logical +doc: printing of lanczos vectors at every step +default: False + +[n_lanczos_debug] +interface: ezfio,provider,ocaml +type: integer +doc: number of elements to print +default: 10 diff --git a/src/green/NEED b/src/green/NEED new file mode 100644 index 00000000..4315d882 --- /dev/null +++ b/src/green/NEED @@ -0,0 +1 @@ +davidson fci diff --git a/src/green/README.rst b/src/green/README.rst new file mode 100644 index 00000000..6bdb2ca7 --- /dev/null +++ b/src/green/README.rst @@ -0,0 +1,6 @@ +===== +dummy +===== + +Module necessary to avoid the ``xxx is a root module but does not contain a main file`` message. + diff --git a/src/green/green.main.irp.f b/src/green/green.main.irp.f new file mode 100644 index 00000000..c9b3ef66 --- /dev/null +++ b/src/green/green.main.irp.f @@ -0,0 +1,51 @@ +program green + implicit none + BEGIN_DOC +! TODO + END_DOC + read_wf = .True. + touch read_wf + provide n_green_vec + print*,'ref_bitmask_energy = ',ref_bitmask_energy +! call psicoefprinttest + call print_lanczos_eigvals + call print_spec +end + +subroutine psicoefprinttest + implicit none + integer :: i + TOUCH psi_coef + print *, 'printing ndet', N_det +end +subroutine print_lanczos_eigvals + implicit none + integer :: i, iunit, j + integer :: getunitandopen + character(5) :: jstr + + do j=1,n_green_vec + write(jstr,'(I0.3)') j + iunit = getunitandopen('lanczos_eigval_alpha_beta.out.'//trim(jstr),'w') + print *, 'printing lanczos eigenvalues, alpha, beta to "lanczos_eigval_alpha_beta.out.'//trim(jstr)//'"' + do i=1,n_lanczos_iter + write(iunit,'(I6,3(E25.15))') i, lanczos_eigvals(i,j), alpha_lanczos(i,j), beta_lanczos(i,j) + enddo + close(iunit) + enddo +end +subroutine print_spec + implicit none + integer :: i, iunit, j + integer :: getunitandopen + character(5) :: jstr + do j=1,n_green_vec + write(jstr,'(I0.3)') j + iunit = getunitandopen('omega_A.out.'//trim(jstr),'w') + print *, 'printing frequency, spectral density to "omega_A.out.'//trim(jstr)//'"' + do i=1,n_omega + write(iunit,'(2(E25.15))') omega_list(i), spectral_lanczos(i,j) + enddo + close(iunit) + enddo +end diff --git a/src/green/hu0_hp.irp.f b/src/green/hu0_hp.irp.f new file mode 100644 index 00000000..c3d8be40 --- /dev/null +++ b/src/green/hu0_hp.irp.f @@ -0,0 +1,847 @@ +! modified from H_S2_u_0_nstates_openmp in Davidson/u0Hu0.irp.f + +subroutine h_u_0_hp_openmp(v_0,u_0,N_hp,sze,spin_hp,sign_hp,idx_hp) + use bitmasks + implicit none + BEGIN_DOC + ! Computes v_0 = H|u_0> + ! + ! Assumes that the determinants are in psi_det + ! + ! istart, iend, ishift, istep are used in ZMQ parallelization. + ! + ! N_hp is number of holes and particles to be applied + ! each element of spin_hp is either 1(alpha) or 2(beta) + ! each element of sign_hp is either 1(particle) or -1(hole) + ! idx_hp contains orbital indices for holes and particles + END_DOC + integer, intent(in) :: N_hp,sze + complex*16, intent(inout) :: v_0(sze,N_hp), u_0(sze,N_hp) + integer :: k + complex*16, allocatable :: u_t(:,:), v_t(:,:) + integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) + double precision, intent(in) :: sign_hp(N_hp) + !DIR$ ATTRIBUTES ALIGN : $IRP_ALIGN :: u_t + allocate(u_t(N_hp,N_det),v_t(N_hp,N_det)) + do k=1,N_hp + call cdset_order(u_0(1,k),psi_bilinear_matrix_order,N_det) + enddo + v_t = (0.d0,0.d0) + call cdtranspose( & + u_0, & + size(u_0, 1), & + u_t, & + size(u_t, 1), & + N_det, N_hp) + + call h_u_0_hp_openmp_work(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,1,N_det,0,1) + deallocate(u_t) + + call cdtranspose( & + v_t, & + size(v_t, 1), & + v_0, & + size(v_0, 1), & + N_hp, N_det) + deallocate(v_t) + + do k=1,N_hp + call cdset_order(v_0(1,k),psi_bilinear_matrix_order_reverse,N_det) + call cdset_order(u_0(1,k),psi_bilinear_matrix_order_reverse,N_det) + enddo + +end + + +subroutine h_u_0_hp_openmp_work(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,istart,iend,ishift,istep) + use bitmasks + implicit none + BEGIN_DOC + ! Computes v_t = H|u_t> + ! + ! Default should be 1,N_det,0,1 + END_DOC + integer, intent(in) :: N_hp,sze,istart,iend,ishift,istep + complex*16, intent(in) :: u_t(N_hp,N_det) + complex*16, intent(out) :: v_t(N_hp,sze) + integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) + double precision, intent(in) :: sign_hp(N_hp) + + + PROVIDE ref_bitmask_energy N_int + + select case (N_int) + case (1) + call H_u_0_hp_openmp_work_1(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,istart,iend,ishift,istep) + case (2) + call H_u_0_hp_openmp_work_2(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,istart,iend,ishift,istep) + case (3) + call H_u_0_hp_openmp_work_3(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,istart,iend,ishift,istep) + case (4) + call H_u_0_hp_openmp_work_4(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,istart,iend,ishift,istep) + case default + call H_u_0_hp_openmp_work_N_int(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,istart,iend,ishift,istep) + end select +end +BEGIN_TEMPLATE + +subroutine h_u_0_hp_openmp_work_$N_int(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,istart,iend,ishift,istep) + use bitmasks + implicit none + BEGIN_DOC + ! Computes v_t = H|u_t> and s_t = S^2 |u_t> + ! + ! Default should be 1,N_det,0,1 + END_DOC + integer, intent(in) :: N_hp,sze,istart,iend,ishift,istep + complex*16, intent(in) :: u_t(N_hp,N_det) + complex*16, intent(out) :: v_t(N_hp,sze) + integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) + double precision, intent(in) :: sign_hp(N_hp) + + complex*16 :: hij + double precision :: hii + integer :: i,j,k,l + integer :: k_a, k_b, l_a, l_b, m_a, m_b + integer :: istate + integer :: krow, kcol, krow_b, kcol_b + integer :: lrow, lcol + integer :: mrow, mcol + integer(bit_kind) :: spindet($N_int) + integer(bit_kind) :: tmp_det($N_int,2) + integer(bit_kind) :: tmp_det2($N_int,2) + integer(bit_kind) :: tmp_det3($N_int,2) + integer(bit_kind), allocatable :: buffer(:,:) + integer :: n_doubles + integer, allocatable :: doubles(:) + integer, allocatable :: singles_a(:) + integer, allocatable :: singles_b(:) + integer, allocatable :: idx(:), idx0(:) + integer :: maxab, n_singles_a, n_singles_b, kcol_prev + integer*8 :: k8 + + logical, allocatable :: exc_is_banned_a1(:),exc_is_banned_b1(:),exc_is_banned_a2(:),exc_is_banned_b2(:) + logical, allocatable :: exc_is_banned_ab1(:),exc_is_banned_ab12(:),allowed_hp(:) + logical :: all_banned_a1,all_banned_b1,all_banned_a2,all_banned_b2 + logical :: all_banned_ab12,all_banned_ab1 + integer :: ii,na,nb + double precision, allocatable :: hii_hp(:) + complex*16, allocatable :: hij_hp(:) + + maxab = max(N_det_alpha_unique, N_det_beta_unique)+1 + allocate(idx0(maxab)) + + do i=1,maxab + idx0(i) = i + enddo + + ! Prepare the array of all alpha single excitations + ! ------------------------------------------------- + + PROVIDE N_int nthreads_davidson elec_num + !$OMP PARALLEL DEFAULT(NONE) NUM_THREADS(nthreads_davidson) & + !$OMP SHARED(psi_bilinear_matrix_rows, N_det, & + !$OMP psi_bilinear_matrix_columns, & + !$OMP psi_det_alpha_unique, psi_det_beta_unique, & + !$OMP n_det_alpha_unique, n_det_beta_unique, N_int, & + !$OMP psi_bilinear_matrix_transp_rows, & + !$OMP psi_bilinear_matrix_transp_columns, & + !$OMP psi_bilinear_matrix_transp_order, N_hp, & + !$OMP psi_bilinear_matrix_order_transp_reverse, & + !$OMP psi_bilinear_matrix_columns_loc, & + !$OMP psi_bilinear_matrix_transp_rows_loc, & + !$OMP istart, iend, istep, irp_here, v_t, & + !$OMP spin_hp,sign_hp,idx_hp, & + !$OMP elec_num_tab,nuclear_repulsion, & + !$OMP ishift, idx0, u_t, maxab) & + !$OMP PRIVATE(krow, kcol, tmp_det, spindet, k_a, k_b, i, & + !$OMP lcol, lrow, l_a, l_b, & + !$OMP buffer, doubles, n_doubles, & + !$OMP tmp_det2, hii, hij, idx, l, kcol_prev, & + !$OMP singles_a, n_singles_a, singles_b, & + !$OMP exc_is_banned_a1,exc_is_banned_b1,exc_is_banned_ab1, & + !$OMP exc_is_banned_a2,exc_is_banned_b2,exc_is_banned_ab12, & + !$OMP all_banned_a1,all_banned_b1,all_banned_ab1, & + !$OMP all_banned_a2,all_banned_b2,all_banned_ab12, & + !$OMP allowed_hp, & + !$OMP ii, hij_hp, j, hii_hp,na,nb, & + !$OMP n_singles_b, k8) + + ! Alpha/Beta double excitations + ! ============================= + + allocate( buffer($N_int,maxab), & + singles_a(maxab), & + singles_b(maxab), & + doubles(maxab), & + idx(maxab), & + exc_is_banned_a1(N_hp), & + exc_is_banned_b1(N_hp), & + exc_is_banned_a2(N_hp), & + exc_is_banned_b2(N_hp), & + exc_is_banned_ab1(N_hp), & + exc_is_banned_ab12(N_hp), & + allowed_hp(N_hp), & + hij_hp(N_hp), & + hii_hp(N_hp)) + + kcol_prev=-1 + all_banned_b1=.False. + ASSERT (iend <= N_det) + ASSERT (istart > 0) + ASSERT (istep > 0) + + !$OMP DO SCHEDULE(dynamic,64) + do k_a=istart+ishift,iend,istep + ! iterate over dets in psi + + krow = psi_bilinear_matrix_rows(k_a) + ASSERT (krow <= N_det_alpha_unique) + + kcol = psi_bilinear_matrix_columns(k_a) + ASSERT (kcol <= N_det_beta_unique) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + + if (kcol /= kcol_prev) then !if we've moved to a new unique beta determinant + call get_list_hp_banned_spin(tmp_det,N_hp,exc_is_banned_b1,spin_hp,sign_hp,idx_hp,2,$N_int,all_banned_b1) + if (all_banned_b1) then + kcol_prev = kcol + cycle + else ! get all unique beta dets connected to this one by a single excitation + call get_all_spin_singles_$N_int( & + psi_det_beta_unique, idx0, & + tmp_det(1,2), N_det_beta_unique, & + singles_b, n_singles_b) + kcol_prev = kcol + endif + else + if (all_banned_b1) cycle + endif + + ! at least some beta allowed + ! check alpha + call get_list_hp_banned_spin(tmp_det,N_hp,exc_is_banned_a1,spin_hp,sign_hp,idx_hp,1,$N_int,all_banned_a1) + if (all_banned_a1) cycle + + all_banned_ab1=.True. + do ii=1,N_hp + exc_is_banned_ab1(ii)=(exc_is_banned_a1(ii).or.exc_is_banned_b1(ii)) + all_banned_ab1 = (all_banned_ab1.and.exc_is_banned_ab1(ii)) + enddo + if (all_banned_ab1) cycle +! kcol_prev = kcol ! keep track of old col to see when we've moved to a new one + + ! Loop over singly excited beta columns + ! ------------------------------------- + + do i=1,n_singles_b ! loop over other columns in this row + lcol = singles_b(i) + + tmp_det2(1:$N_int,2) = psi_det_beta_unique(1:$N_int, lcol) + + call get_list_hp_banned_spin(tmp_det2,N_hp,exc_is_banned_b2,spin_hp,sign_hp,idx_hp,2,$N_int,all_banned_b2) + if (all_banned_b2) cycle + + l_a = psi_bilinear_matrix_columns_loc(lcol) ! location of start of this column within psi_bilinear_mat + ASSERT (l_a <= N_det) + + do j=1,psi_bilinear_matrix_columns_loc(lcol+1) - l_a ! loop over rows in this column + lrow = psi_bilinear_matrix_rows(l_a) ! get row (index of unique alpha det) + ASSERT (lrow <= N_det_alpha_unique) + + buffer(1:$N_int,j) = psi_det_alpha_unique(1:$N_int, lrow) ! get alpha det + + ASSERT (l_a <= N_det) + idx(j) = l_a ! indices of dets within psi_bilinear_mat + l_a = l_a+1 + enddo + j = j-1 + ! get all alpha dets in this column that are connected to ref alpha by a single exc. + call get_all_spin_singles_$N_int( & + buffer, idx, tmp_det(1,1), j, & + singles_a, n_singles_a ) + + ! Loop over alpha singles + ! ----------------------- + + do k = 1,n_singles_a + l_a = singles_a(k) + ASSERT (l_a <= N_det) + + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) + call get_list_hp_banned_spin(tmp_det2,N_hp,exc_is_banned_a2,spin_hp,sign_hp,idx_hp,1,$N_int,all_banned_a2) + if (all_banned_a2) cycle + all_banned_ab12 = .True. + do ii=1,N_hp + exc_is_banned_ab12(ii)=((exc_is_banned_ab1(ii).or.exc_is_banned_b2(ii)).or.exc_is_banned_a2(ii)) + allowed_hp(ii)=(.not.exc_is_banned_ab12(ii)) + all_banned_ab12 = (all_banned_ab12.and.exc_is_banned_ab12(ii)) + enddo + if (all_banned_ab12) cycle + call i_h_j_double_alpha_beta_hp(tmp_det,tmp_det2,$N_int,hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) + do l=1,N_hp + v_t(l,k_a) = v_t(l,k_a) + hij_hp(l) * u_t(l,l_a) + enddo + enddo + enddo + enddo + !$OMP END DO + + !$OMP DO SCHEDULE(dynamic,64) + do k_a=istart+ishift,iend,istep + + + ! Single and double alpha excitations + ! =================================== + + + ! Initial determinant is at k_a in alpha-major representation + ! ----------------------------------------------------------------------- + + krow = psi_bilinear_matrix_rows(k_a) + ASSERT (krow <= N_det_alpha_unique) + + kcol = psi_bilinear_matrix_columns(k_a) + ASSERT (kcol <= N_det_beta_unique) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + call get_list_hp_banned_ab(tmp_det,N_hp,exc_is_banned_ab1,spin_hp,sign_hp,idx_hp,$N_int,all_banned_ab1) + if (all_banned_ab1) cycle + + + ! Initial determinant is at k_b in beta-major representation + ! ---------------------------------------------------------------------- + + k_b = psi_bilinear_matrix_order_transp_reverse(k_a) + ASSERT (k_b <= N_det) + + spindet(1:$N_int) = tmp_det(1:$N_int,1) + + ! Loop inside the beta column to gather all the connected alphas + lcol = psi_bilinear_matrix_columns(k_a) + l_a = psi_bilinear_matrix_columns_loc(lcol) + do i=1,N_det_alpha_unique + if (l_a > N_det) exit + lcol = psi_bilinear_matrix_columns(l_a) + if (lcol /= kcol) exit + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + buffer(1:$N_int,i) = psi_det_alpha_unique(1:$N_int, lrow) + idx(i) = l_a + l_a = l_a+1 + enddo + i = i-1 + + !call get_all_spin_singles_and_doubles_$N_int( & + ! buffer, idx, spindet, i, & + ! singles_a, doubles, n_singles_a, n_doubles ) + call get_all_spin_singles_and_doubles( & + buffer, idx, spindet, $N_int, i, & + singles_a, doubles, n_singles_a, n_doubles ) + + ! Compute Hij for all alpha singles + ! ---------------------------------- + + tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + do i=1,n_singles_a + l_a = singles_a(i) + ASSERT (l_a <= N_det) + + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) + call get_list_hp_banned_spin(tmp_det2,N_hp,exc_is_banned_a2,spin_hp,sign_hp,idx_hp,1,$N_int,all_banned_a2) + if (all_banned_a2) cycle + all_banned_ab12 = .True. + do ii=1,N_hp + exc_is_banned_ab12(ii)=(exc_is_banned_ab1(ii).or.exc_is_banned_a2(ii)) + allowed_hp(ii)=(.not.exc_is_banned_ab12(ii)) + all_banned_ab12 = (all_banned_ab12.and.exc_is_banned_ab12(ii)) + enddo + if (all_banned_ab12) cycle + call i_h_j_mono_spin_hp(tmp_det,tmp_det2,$N_int,1, hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) + + do l=1,N_hp + v_t(l,k_a) = v_t(l,k_a) + hij_hp(l) * u_t(l,l_a) + ! single => sij = 0 + enddo + enddo + + ! Compute Hij for all alpha doubles + ! ---------------------------------- + + do i=1,n_doubles + l_a = doubles(i) + ASSERT (l_a <= N_det) + + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + call get_list_hp_banned_single_spin(psi_det_alpha_unique(1,lrow),N_hp,exc_is_banned_a2,spin_hp,sign_hp,idx_hp,1,$N_int,all_banned_a2) + if (all_banned_a2) cycle + all_banned_ab12 = .True. + do ii=1,N_hp + exc_is_banned_ab12(ii)=(exc_is_banned_ab1(ii).or.exc_is_banned_a2(ii)) + allowed_hp(ii)=(.not.exc_is_banned_ab12(ii)) + all_banned_ab12 = (all_banned_ab12.and.exc_is_banned_ab12(ii)) + enddo + if (all_banned_ab12) cycle + call i_h_j_double_spin_hp( tmp_det(1,1), psi_det_alpha_unique(1, lrow), $N_int,1,hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) + do l=1,N_hp + v_t(l,k_a) = v_t(l,k_a) + hij_hp(l) * u_t(l,l_a) + ! same spin => sij = 0 + enddo + enddo + + + ! Single and double beta excitations + ! ================================== + + + ! Initial determinant is at k_a in alpha-major representation + ! ----------------------------------------------------------------------- + + krow = psi_bilinear_matrix_rows(k_a) + kcol = psi_bilinear_matrix_columns(k_a) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + + !! should already be done from top of loop? + !call get_list_hp_banned_ab(tmp_det,N_hp,exc_is_banned_ab1,spin_hp,sign_hp,idx_hp,$N_int,all_banned_ab1) + !if (all_banned_ab1) cycle + + spindet(1:$N_int) = tmp_det(1:$N_int,2) + + ! Initial determinant is at k_b in beta-major representation + ! ----------------------------------------------------------------------- + + k_b = psi_bilinear_matrix_order_transp_reverse(k_a) + ASSERT (k_b <= N_det) + + ! Loop inside the alpha row to gather all the connected betas + lrow = psi_bilinear_matrix_transp_rows(k_b) + l_b = psi_bilinear_matrix_transp_rows_loc(lrow) + do i=1,N_det_beta_unique + if (l_b > N_det) exit + lrow = psi_bilinear_matrix_transp_rows(l_b) + if (lrow /= krow) exit + lcol = psi_bilinear_matrix_transp_columns(l_b) + ASSERT (lcol <= N_det_beta_unique) + + buffer(1:$N_int,i) = psi_det_beta_unique(1:$N_int, lcol) + idx(i) = l_b + l_b = l_b+1 + enddo + i = i-1 + + !call get_all_spin_singles_and_doubles_$N_int( & + ! buffer, idx, spindet, i, & + ! singles_b, doubles, n_singles_b, n_doubles ) + call get_all_spin_singles_and_doubles( & + buffer, idx, spindet, $N_int, i, & + singles_b, doubles, n_singles_b, n_doubles ) + + ! Compute Hij for all beta singles + ! ---------------------------------- + + tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + do i=1,n_singles_b + l_b = singles_b(i) + ASSERT (l_b <= N_det) + + lcol = psi_bilinear_matrix_transp_columns(l_b) + ASSERT (lcol <= N_det_beta_unique) + + tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, lcol) + call get_list_hp_banned_spin(tmp_det2,N_hp,exc_is_banned_b2,spin_hp,sign_hp,idx_hp,2,$N_int,all_banned_b2) + if (all_banned_b2) cycle + all_banned_ab12 = .True. + do ii=1,N_hp + exc_is_banned_ab12(ii)=(exc_is_banned_ab1(ii).or.exc_is_banned_b2(ii)) + allowed_hp(ii)=(.not.exc_is_banned_ab12(ii)) + all_banned_ab12 = (all_banned_ab12.and.exc_is_banned_ab12(ii)) + enddo + if (all_banned_ab12) cycle + call i_h_j_mono_spin_hp(tmp_det,tmp_det2,$N_int,2, hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) + l_a = psi_bilinear_matrix_transp_order(l_b) + ASSERT (l_a <= N_det) + do l=1,N_hp + v_t(l,k_a) = v_t(l,k_a) + hij_hp(l) * u_t(l,l_a) + ! single => sij = 0 + enddo + enddo + + ! Compute Hij for all beta doubles + ! ---------------------------------- + + do i=1,n_doubles + l_b = doubles(i) + ASSERT (l_b <= N_det) + + lcol = psi_bilinear_matrix_transp_columns(l_b) + ASSERT (lcol <= N_det_beta_unique) + + call get_list_hp_banned_single_spin(psi_det_beta_unique(1,lcol),N_hp,exc_is_banned_b2,spin_hp,sign_hp,idx_hp,2,$N_int,all_banned_b2) + if (all_banned_b2) cycle + all_banned_ab12 = .True. + do ii=1,N_hp + exc_is_banned_ab12(ii)=(exc_is_banned_ab1(ii).or.exc_is_banned_b2(ii)) + allowed_hp(ii)=(.not.exc_is_banned_ab12(ii)) + all_banned_ab12 = (all_banned_ab12.and.exc_is_banned_ab12(ii)) + enddo + if (all_banned_ab12) cycle + call i_h_j_double_spin_hp( tmp_det(1,2), psi_det_beta_unique(1, lcol), $N_int,2,hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) + l_a = psi_bilinear_matrix_transp_order(l_b) + ASSERT (l_a <= N_det) + + do l=1,N_hp + v_t(l,k_a) = v_t(l,k_a) + hij_hp(l) * u_t(l,l_a) + ! same spin => sij = 0 + enddo + enddo + + + ! Diagonal contribution + ! ===================== + + + ! Initial determinant is at k_a in alpha-major representation + ! ----------------------------------------------------------------------- + + krow = psi_bilinear_matrix_rows(k_a) + ASSERT (krow <= N_det_alpha_unique) + + kcol = psi_bilinear_matrix_columns(k_a) + ASSERT (kcol <= N_det_beta_unique) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + + call get_list_hp_banned_ab(tmp_det,N_hp,exc_is_banned_ab1,spin_hp,sign_hp,idx_hp,$N_int,all_banned_ab1) + if (all_banned_ab1) cycle + + double precision, external :: diag_H_mat_elem, diag_S_mat_elem + hii = diag_h_mat_elem(tmp_det,$N_int) + + do ii=1,N_hp + if(exc_is_banned_ab1(ii)) then + hii_hp(ii)=0.d0 + else + tmp_det2=tmp_det + na=elec_num_tab(spin_hp(ii)) + nb=elec_num_tab(iand(spin_hp(ii),1)+1) + hii_hp(ii)=hii + if (sign_hp(ii)>0) then + call ac_operator(idx_hp(ii),spin_hp(ii),tmp_det2,hii_hp(ii),$N_int,na,nb) + else + call a_operator(idx_hp(ii),spin_hp(ii),tmp_det2,hii_hp(ii),$N_int,na,nb) + endif + endif + v_t(ii,k_a) = v_t(ii,k_a) + (nuclear_repulsion + hii_hp(ii)) * u_t(ii,k_a) + enddo + + + end do + !$OMP END DO + deallocate(buffer, singles_a, singles_b, doubles, idx, & + exc_is_banned_a1, & + exc_is_banned_b1, & + exc_is_banned_a2, & + exc_is_banned_b2, & + exc_is_banned_ab1, & + exc_is_banned_ab12, & + allowed_hp, & + hij_hp, hii_hp ) + !$OMP END PARALLEL + deallocate(idx0) +end + +SUBST [ N_int ] + +1;; +2;; +3;; +4;; +N_int;; + +END_TEMPLATE + + + +subroutine i_h_j_double_spin_hp(key_i,key_j,Nint,ispin,hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) + use bitmasks + implicit none + BEGIN_DOC + ! todo: maybe make new get_double_excitation_spin? + ! the 4 index ordering is already done in there, so we could avoid duplicating that work + ! Returns where i and j are determinants differing by a same-spin double excitation + END_DOC + integer, intent(in) :: Nint,ispin,N_hp + integer(bit_kind), intent(in) :: key_i(Nint), key_j(Nint) + complex*16, intent(out) :: hij_hp(N_hp) + integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) + double precision, intent(in) :: sign_hp(N_hp) + logical, intent(in) :: allowed_hp(N_hp) + complex*16 :: hij0 + double precision :: phase_hp(N_hp) + integer :: exc(0:2,2) + double precision :: phase + complex*16, external :: get_mo_bielec_integral + integer :: i1,i2,i3,i4,j2,j3,ii + + PROVIDE big_array_exchange_integrals mo_bielec_integrals_in_map + + call get_double_excitation_spin(key_i,key_j,exc,phase,Nint) + hij0 = phase*(get_mo_bielec_integral( & + exc(1,1), & + exc(2,1), & + exc(1,2), & + exc(2,2), mo_integrals_map) - & + get_mo_bielec_integral( & + exc(1,1), & + exc(2,1), & + exc(2,2), & + exc(1,2), mo_integrals_map) ) + + ASSERT (exc(1,1) < exc(2,1)) + ASSERT (exc(1,2) < exc(2,2)) + i1=min(exc(1,1),exc(1,2)) + j2=max(exc(1,1),exc(1,2)) + j3=min(exc(2,1),exc(2,2)) + i4=max(exc(2,1),exc(2,2)) + i2=min(j2,j3) + i3=max(j2,j3) + + do ii=1,N_hp + if (allowed_hp(ii)) then + if (ispin.eq.spin_hp(ii)) then + if ((idx_hp(ii).lt.i1).or.(idx_hp(ii).gt.i4)) then + phase_hp(ii)=1.d0 + else if ((idx_hp(ii).lt.i2).or.(idx_hp(ii).gt.i3)) then + phase_hp(ii)=-1.d0 + else + phase_hp(ii)=1.d0 + endif + else + phase_hp(ii)=1.d0 + endif + else + phase_hp(ii)=0.d0 + endif + hij_hp(ii) = hij0 * phase_hp(ii) + enddo +end + +subroutine i_h_j_mono_spin_hp(key_i,key_j,Nint,spin,hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) + use bitmasks + implicit none + BEGIN_DOC + ! todo: change this to use normal version of get_mono_excitation_from_fock + ! all info needed is in phase and hij, h/p part can happen after getting hij the normal way + ! Returns where i and j are determinants differing by a single excitation + END_DOC + integer, intent(in) :: Nint, spin, N_hp + integer(bit_kind), intent(in) :: key_i(Nint,2), key_j(Nint,2) + complex*16, intent(out) :: hij_hp(N_hp) + integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) + double precision, intent(in) :: sign_hp(N_hp) + logical, intent(in) :: allowed_hp(N_hp) + !double precision :: phase_hp(N_hp) + complex*16 :: hij0 + + integer :: exc(0:2,2) + double precision :: phase + + PROVIDE big_array_exchange_integrals mo_bielec_integrals_in_map + + call get_mono_excitation_spin(key_i(1,spin),key_j(1,spin),exc,phase,Nint) + + call get_mono_excitation_from_fock_hp(key_i,key_j,exc(1,1),exc(1,2),spin,phase,N_hp,hij_hp,spin_hp,sign_hp,idx_hp,allowed_hp) +end + +subroutine get_mono_excitation_from_fock_hp(det_1,det_2,h,p,spin,phase,N_hp,hij_hp,spin_hp,sign_hp,idx_hp,allowed_hp) + use bitmasks + implicit none + integer,intent(in) :: h,p,spin,N_hp + double precision, intent(in) :: phase + integer(bit_kind), intent(in) :: det_1(N_int,2), det_2(N_int,2) + complex*16, intent(out) :: hij_hp(N_hp) + integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) + double precision, intent(in) :: sign_hp(N_hp) + logical, intent(in) :: allowed_hp(N_hp) + double precision :: phase_hp(N_hp) + complex*16 :: hij0 + integer :: low,high + + integer(bit_kind) :: differences(N_int,2) + integer(bit_kind) :: hole(N_int,2) + integer(bit_kind) :: partcl(N_int,2) + integer :: occ_hole(N_int*bit_kind_size,2) + integer :: occ_partcl(N_int*bit_kind_size,2) + integer :: n_occ_ab_hole(2),n_occ_ab_partcl(2) + integer :: i0,i,ii + do i = 1, N_int + differences(i,1) = xor(det_1(i,1),ref_closed_shell_bitmask(i,1)) + differences(i,2) = xor(det_1(i,2),ref_closed_shell_bitmask(i,2)) + hole(i,1) = iand(differences(i,1),ref_closed_shell_bitmask(i,1)) + hole(i,2) = iand(differences(i,2),ref_closed_shell_bitmask(i,2)) + partcl(i,1) = iand(differences(i,1),det_1(i,1)) + partcl(i,2) = iand(differences(i,2),det_1(i,2)) + enddo + call bitstring_to_list_ab(hole, occ_hole, n_occ_ab_hole, N_int) + call bitstring_to_list_ab(partcl, occ_partcl, n_occ_ab_partcl, N_int) + hij0 = fock_operator_closed_shell_ref_bitmask(h,p) + ! holes :: direct terms + do i0 = 1, n_occ_ab_hole(1) + i = occ_hole(i0,1) + hij0 -= big_array_coulomb_integrals(i,h,p) ! get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) + enddo + do i0 = 1, n_occ_ab_hole(2) + i = occ_hole(i0,2) + hij0 -= big_array_coulomb_integrals(i,h,p) !get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) + enddo + + ! holes :: exchange terms + do i0 = 1, n_occ_ab_hole(spin) + i = occ_hole(i0,spin) + hij0 += big_array_exchange_integrals(i,h,p) ! get_mo_bielec_integral_schwartz(h,i,i,p,mo_integrals_map) + enddo + + ! particles :: direct terms + do i0 = 1, n_occ_ab_partcl(1) + i = occ_partcl(i0,1) + hij0 += big_array_coulomb_integrals(i,h,p)!get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) + enddo + do i0 = 1, n_occ_ab_partcl(2) + i = occ_partcl(i0,2) + hij0 += big_array_coulomb_integrals(i,h,p) !get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) + enddo + + ! particles :: exchange terms + do i0 = 1, n_occ_ab_partcl(spin) + i = occ_partcl(i0,spin) + hij0 -= big_array_exchange_integrals(i,h,p)!get_mo_bielec_integral_schwartz(h,i,i,p,mo_integrals_map) + enddo + + low=min(h,p) + high=max(h,p) + +!! do ii=1,N_hp +!! if (.not.allowed_hp(ii)) then +!! phase_hp(ii) = 0.d0 +!! cycle +!! else if (spin_hp(ii).ne.spin) then +!! phase_hp(ii) = 1.d0 +!! else +!! if ((low.lt.idx_hp(ii)).and.(high.gt.idx_hp(ii))) then +!! phase_hp(ii) = -1.d0 +!! else +!! phase_hp(ii) = 1.d0 +!! endif +!! endif +!! enddo +!! +!! do ii=1,N_hp +!! if (allowed_hp(ii)) then +!! hij_hp(ii) = hij + sign_hp(ii) * big_array_coulomb_integrals(idx_hp(ii),h,p) +!! if (spin.eq.spin_hp(ii)) then +!! hij_hp(ii) = hij_hp(ii) - sign_hp(ii) * big_array_exchange_integrals(idx_hp(ii),h,p) +!! endif +!! else +!! hij_hp(ii) = 0.d0 +!! endif +!! enddo +!! +!! do ii=1,N_hp +!! hij_hp(ii) = hij_hp(ii) * phase_hp(ii) * phase +!! enddo + + do ii=1,N_hp + if (.not.allowed_hp(ii)) then + phase_hp(ii) = 0.d0 + hij_hp(ii) = 0.d0 + cycle + else if (spin.eq.spin_hp(ii)) then + hij_hp(ii) = hij0 + sign_hp(ii) *(big_array_coulomb_integrals(idx_hp(ii),h,p) - big_array_exchange_integrals(idx_hp(ii),h,p)) + if ((low.lt.idx_hp(ii)).and.(high.gt.idx_hp(ii))) then + phase_hp(ii) = -1.d0 + else + phase_hp(ii) = 1.d0 + endif + else + phase_hp(ii) = 1.d0 + hij_hp(ii) = hij0 + sign_hp(ii) * big_array_coulomb_integrals(idx_hp(ii),h,p) + endif + hij_hp(ii) = hij_hp(ii) * phase * phase_hp(ii) + enddo + +end + + +subroutine i_H_j_double_alpha_beta_hp(key_i,key_j,Nint,hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) + use bitmasks + implicit none + BEGIN_DOC + ! Returns where i and j are determinants differing by an opposite-spin double excitation + END_DOC + integer, intent(in) :: Nint,N_hp + integer(bit_kind), intent(in) :: key_i(Nint,2), key_j(Nint,2) + complex*16, intent(out) :: hij_hp(N_hp) + complex*16 :: hij0 + integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) + double precision, intent(in) :: sign_hp(N_hp) + logical, intent(in) :: allowed_hp(N_hp) + double precision :: phase_hp(N_hp) + integer :: i + + integer :: lowhigh(2,2) + integer :: exc(0:2,2,2) + double precision :: phase, phase2 + complex*16, external :: get_mo_bielec_integral + + PROVIDE big_array_exchange_integrals mo_bielec_integrals_in_map + + call get_mono_excitation_spin(key_i(1,1),key_j(1,1),exc(0,1,1),phase,Nint) + call get_mono_excitation_spin(key_i(1,2),key_j(1,2),exc(0,1,2),phase2,Nint) + phase = phase*phase2 + + if (exc(1,1,1) == exc(1,2,2)) then + hij0 = big_array_exchange_integrals(exc(1,1,1),exc(1,1,2),exc(1,2,1)) + else if (exc(1,2,1) == exc(1,1,2)) then + hij0 = big_array_exchange_integrals(exc(1,2,1),exc(1,1,1),exc(1,2,2)) + else + hij0 = get_mo_bielec_integral( & + exc(1,1,1), & + exc(1,1,2), & + exc(1,2,1), & + exc(1,2,2) ,mo_integrals_map) + endif + + !todo: clean this up + ! if new particle/hole is between p/h of single exc of same spin, then parity changes, otherwise stays the same + ! value of Hij for double excitation is unchanged (new p/h is not one of the indices involved in the excitation) + + lowhigh(1,1)=min(exc(1,1,1),exc(1,2,1)) + lowhigh(2,1)=max(exc(1,1,1),exc(1,2,1)) + lowhigh(1,2)=min(exc(1,1,2),exc(1,2,2)) + lowhigh(2,2)=max(exc(1,1,2),exc(1,2,2)) + do i=1,N_hp + if (.not.allowed_hp(i)) then + phase_hp(i)=0.d0 + else if ((idx_hp(i).gt.lowhigh(1,spin_hp(i))).and.(idx_hp(i).lt.lowhigh(2,spin_hp(i)))) then + phase_hp(i)=-1.d0 + else + phase_hp(i)=1.d0 + endif + hij_hp(i)=hij0*phase*phase_hp(i) + enddo +end diff --git a/src/green/hu0_lanczos.irp.f b/src/green/hu0_lanczos.irp.f new file mode 100644 index 00000000..e4da5c78 --- /dev/null +++ b/src/green/hu0_lanczos.irp.f @@ -0,0 +1,405 @@ +! modified from H_S2_u_0_nstates_openmp in Davidson/u0Hu0.irp.f + +subroutine H_u_0_openmp(v_0,u_0,sze) + use bitmasks + implicit none + BEGIN_DOC + ! Computes v_0 = H|u_0> + ! + ! Assumes that the determinants are in psi_det + ! + ! istart, iend, ishift, istep are used in ZMQ parallelization. + END_DOC + integer :: N_st=1 + integer, intent(in) :: sze + complex*16, intent(inout) :: v_0(sze), u_0(sze) + integer :: k + call cdset_order(u_0(1),psi_bilinear_matrix_order,N_det) + v_0 = (0.d0,0.d0) + + call h_u_0_openmp_work(v_0,u_0,sze,1,N_det,0,1) + + call cdset_order(v_0(1),psi_bilinear_matrix_order_reverse,N_det) + call cdset_order(u_0(1),psi_bilinear_matrix_order_reverse,N_det) + +end + + +subroutine H_u_0_openmp_work(v_t,u_t,sze,istart,iend,ishift,istep) + use bitmasks + implicit none + BEGIN_DOC + ! Computes v_t = H|u_t> + ! + ! Default should be 1,N_det,0,1 + END_DOC + integer :: N_st=1 + integer, intent(in) :: sze,istart,iend,ishift,istep + complex*16, intent(in) :: u_t(N_det) + complex*16, intent(out) :: v_t(sze) + + + PROVIDE ref_bitmask_energy N_int + + select case (N_int) + case (1) + call H_u_0_openmp_work_1(v_t,u_t,sze,istart,iend,ishift,istep) + case (2) + call H_u_0_openmp_work_2(v_t,u_t,sze,istart,iend,ishift,istep) + case (3) + call H_u_0_openmp_work_3(v_t,u_t,sze,istart,iend,ishift,istep) + case (4) + call H_u_0_openmp_work_4(v_t,u_t,sze,istart,iend,ishift,istep) + case default + call H_u_0_openmp_work_N_int(v_t,u_t,sze,istart,iend,ishift,istep) + end select +end +BEGIN_TEMPLATE + +subroutine H_u_0_openmp_work_$N_int(v_t,u_t,sze,istart,iend,ishift,istep) + use bitmasks + implicit none + BEGIN_DOC + ! Computes v_t = H|u_t> + ! + ! Default should be 1,N_det,0,1 + END_DOC + integer :: N_st=1 + integer, intent(in) :: sze,istart,iend,ishift,istep + complex*16, intent(in) :: u_t(N_det) + complex*16, intent(out) :: v_t(sze) + + complex*16 :: hij + double precision :: hii + integer :: i,j,k,l + integer :: k_a, k_b, l_a, l_b, m_a, m_b + integer :: istate + integer :: krow, kcol, krow_b, kcol_b + integer :: lrow, lcol + integer :: mrow, mcol + integer(bit_kind) :: spindet($N_int) + integer(bit_kind) :: tmp_det($N_int,2) + integer(bit_kind) :: tmp_det2($N_int,2) + integer(bit_kind) :: tmp_det3($N_int,2) + integer(bit_kind), allocatable :: buffer(:,:) + integer :: n_doubles + integer, allocatable :: doubles(:) + integer, allocatable :: singles_a(:) + integer, allocatable :: singles_b(:) + integer, allocatable :: idx(:), idx0(:) + integer :: maxab, n_singles_a, n_singles_b, kcol_prev + integer*8 :: k8 + + maxab = max(N_det_alpha_unique, N_det_beta_unique)+1 + allocate(idx0(maxab)) + + do i=1,maxab + idx0(i) = i + enddo + + ! Prepare the array of all alpha single excitations + ! ------------------------------------------------- + + PROVIDE N_int nthreads_davidson + !$OMP PARALLEL DEFAULT(NONE) NUM_THREADS(nthreads_davidson) & + !$OMP SHARED(psi_bilinear_matrix_rows, N_det, & + !$OMP psi_bilinear_matrix_columns, & + !$OMP psi_det_alpha_unique, psi_det_beta_unique, & + !$OMP n_det_alpha_unique, n_det_beta_unique, N_int, & + !$OMP psi_bilinear_matrix_transp_rows, & + !$OMP psi_bilinear_matrix_transp_columns, & + !$OMP psi_bilinear_matrix_transp_order, N_st, & + !$OMP psi_bilinear_matrix_order_transp_reverse, & + !$OMP psi_bilinear_matrix_columns_loc, & + !$OMP psi_bilinear_matrix_transp_rows_loc, & + !$OMP istart, iend, istep, irp_here, v_t, & + !$OMP ishift, idx0, u_t, maxab) & + !$OMP PRIVATE(krow, kcol, tmp_det, spindet, k_a, k_b, i, & + !$OMP lcol, lrow, l_a, l_b, & + !$OMP buffer, doubles, n_doubles, & + !$OMP tmp_det2, hii, hij, idx, l, kcol_prev, & + !$OMP singles_a, n_singles_a, singles_b, & + !$OMP n_singles_b, k8) + + ! Alpha/Beta double excitations + ! ============================= + + allocate( buffer($N_int,maxab), & + singles_a(maxab), & + singles_b(maxab), & + doubles(maxab), & + idx(maxab)) + + kcol_prev=-1 + + ASSERT (iend <= N_det) + ASSERT (istart > 0) + ASSERT (istep > 0) + + !$OMP DO SCHEDULE(dynamic,64) + do k_a=istart+ishift,iend,istep + + krow = psi_bilinear_matrix_rows(k_a) + ASSERT (krow <= N_det_alpha_unique) + + kcol = psi_bilinear_matrix_columns(k_a) + ASSERT (kcol <= N_det_beta_unique) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + + if (kcol /= kcol_prev) then + call get_all_spin_singles_$N_int( & + psi_det_beta_unique, idx0, & + tmp_det(1,2), N_det_beta_unique, & + singles_b, n_singles_b) + endif + kcol_prev = kcol + + ! Loop over singly excited beta columns + ! ------------------------------------- + + do i=1,n_singles_b + lcol = singles_b(i) + + tmp_det2(1:$N_int,2) = psi_det_beta_unique(1:$N_int, lcol) + + l_a = psi_bilinear_matrix_columns_loc(lcol) + ASSERT (l_a <= N_det) + + do j=1,psi_bilinear_matrix_columns_loc(lcol+1) - l_a + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + buffer(1:$N_int,j) = psi_det_alpha_unique(1:$N_int, lrow) + + ASSERT (l_a <= N_det) + idx(j) = l_a + l_a = l_a+1 + enddo + j = j-1 + + call get_all_spin_singles_$N_int( & + buffer, idx, tmp_det(1,1), j, & + singles_a, n_singles_a ) + + ! Loop over alpha singles + ! ----------------------- + + do k = 1,n_singles_a + l_a = singles_a(k) + ASSERT (l_a <= N_det) + + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) + call i_h_j_double_alpha_beta(tmp_det,tmp_det2,$N_int,hij) + v_t(k_a) = v_t(k_a) + hij * u_t(l_a) + enddo + enddo + enddo + !$OMP END DO + + !$OMP DO SCHEDULE(dynamic,64) + do k_a=istart+ishift,iend,istep + + + ! Single and double alpha excitations + ! =================================== + + + ! Initial determinant is at k_a in alpha-major representation + ! ----------------------------------------------------------------------- + + krow = psi_bilinear_matrix_rows(k_a) + ASSERT (krow <= N_det_alpha_unique) + + kcol = psi_bilinear_matrix_columns(k_a) + ASSERT (kcol <= N_det_beta_unique) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + + ! Initial determinant is at k_b in beta-major representation + ! ---------------------------------------------------------------------- + + k_b = psi_bilinear_matrix_order_transp_reverse(k_a) + ASSERT (k_b <= N_det) + + spindet(1:$N_int) = tmp_det(1:$N_int,1) + + ! Loop inside the beta column to gather all the connected alphas + lcol = psi_bilinear_matrix_columns(k_a) + l_a = psi_bilinear_matrix_columns_loc(lcol) + do i=1,N_det_alpha_unique + if (l_a > N_det) exit + lcol = psi_bilinear_matrix_columns(l_a) + if (lcol /= kcol) exit + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + buffer(1:$N_int,i) = psi_det_alpha_unique(1:$N_int, lrow) + idx(i) = l_a + l_a = l_a+1 + enddo + i = i-1 + + !call get_all_spin_singles_and_doubles_$N_int( & + ! buffer, idx, spindet, i, & + ! singles_a, doubles, n_singles_a, n_doubles ) + call get_all_spin_singles_and_doubles( & + buffer, idx, spindet, $N_int, i, & + singles_a, doubles, n_singles_a, n_doubles ) + + ! Compute Hij for all alpha singles + ! ---------------------------------- + + tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + do i=1,n_singles_a + l_a = singles_a(i) + ASSERT (l_a <= N_det) + + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) + call i_H_j_mono_spin( tmp_det, tmp_det2, $N_int, 1, hij) + + v_t(k_a) = v_t(k_a) + hij * u_t(l_a) + enddo + + + ! Compute Hij for all alpha doubles + ! ---------------------------------- + + do i=1,n_doubles + l_a = doubles(i) + ASSERT (l_a <= N_det) + + lrow = psi_bilinear_matrix_rows(l_a) + ASSERT (lrow <= N_det_alpha_unique) + + call i_H_j_double_spin( tmp_det(1,1), psi_det_alpha_unique(1, lrow), $N_int, hij) + v_t(k_a) = v_t(k_a) + hij * u_t(l_a) + enddo + + + ! Single and double beta excitations + ! ================================== + + + ! Initial determinant is at k_a in alpha-major representation + ! ----------------------------------------------------------------------- + + krow = psi_bilinear_matrix_rows(k_a) + kcol = psi_bilinear_matrix_columns(k_a) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + + spindet(1:$N_int) = tmp_det(1:$N_int,2) + + ! Initial determinant is at k_b in beta-major representation + ! ----------------------------------------------------------------------- + + k_b = psi_bilinear_matrix_order_transp_reverse(k_a) + ASSERT (k_b <= N_det) + + ! Loop inside the alpha row to gather all the connected betas + lrow = psi_bilinear_matrix_transp_rows(k_b) + l_b = psi_bilinear_matrix_transp_rows_loc(lrow) + do i=1,N_det_beta_unique + if (l_b > N_det) exit + lrow = psi_bilinear_matrix_transp_rows(l_b) + if (lrow /= krow) exit + lcol = psi_bilinear_matrix_transp_columns(l_b) + ASSERT (lcol <= N_det_beta_unique) + + buffer(1:$N_int,i) = psi_det_beta_unique(1:$N_int, lcol) + idx(i) = l_b + l_b = l_b+1 + enddo + i = i-1 + + !call get_all_spin_singles_and_doubles_$N_int( & + ! buffer, idx, spindet, i, & + ! singles_b, doubles, n_singles_b, n_doubles ) + call get_all_spin_singles_and_doubles( & + buffer, idx, spindet, $N_int, i, & + singles_b, doubles, n_singles_b, n_doubles ) + + ! Compute Hij for all beta singles + ! ---------------------------------- + + tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + do i=1,n_singles_b + l_b = singles_b(i) + ASSERT (l_b <= N_det) + + lcol = psi_bilinear_matrix_transp_columns(l_b) + ASSERT (lcol <= N_det_beta_unique) + + tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, lcol) + call i_H_j_mono_spin( tmp_det, tmp_det2, $N_int, 2, hij) + l_a = psi_bilinear_matrix_transp_order(l_b) + ASSERT (l_a <= N_det) + v_t(k_a) = v_t(k_a) + hij * u_t(l_a) + enddo + + ! Compute Hij for all beta doubles + ! ---------------------------------- + + do i=1,n_doubles + l_b = doubles(i) + ASSERT (l_b <= N_det) + + lcol = psi_bilinear_matrix_transp_columns(l_b) + ASSERT (lcol <= N_det_beta_unique) + + call i_H_j_double_spin( tmp_det(1,2), psi_det_beta_unique(1, lcol), $N_int, hij) + l_a = psi_bilinear_matrix_transp_order(l_b) + ASSERT (l_a <= N_det) + + v_t(k_a) = v_t(k_a) + hij * u_t(l_a) + enddo + + + ! Diagonal contribution + ! ===================== + + + ! Initial determinant is at k_a in alpha-major representation + ! ----------------------------------------------------------------------- + + krow = psi_bilinear_matrix_rows(k_a) + ASSERT (krow <= N_det_alpha_unique) + + kcol = psi_bilinear_matrix_columns(k_a) + ASSERT (kcol <= N_det_beta_unique) + + tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) + tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) + + !double precision, external :: diag_H_mat_elem, diag_S_mat_elem + double precision, external :: diag_H_mat_elem + hii = diag_H_mat_elem(tmp_det,$N_int) + v_t(k_a) = v_t(k_a) + hii * u_t(k_a) + + end do + !$OMP END DO + deallocate(buffer, singles_a, singles_b, doubles, idx) + !$OMP END PARALLEL + +end + +SUBST [ N_int ] + +1;; +2;; +3;; +4;; +N_int;; + +END_TEMPLATE + diff --git a/src/green/lanczos.irp.f b/src/green/lanczos.irp.f new file mode 100644 index 00000000..a2557abb --- /dev/null +++ b/src/green/lanczos.irp.f @@ -0,0 +1,882 @@ + + +BEGIN_PROVIDER [ integer, n_green_vec ] + implicit none + BEGIN_DOC + ! number of particles/holes to use for spectral density calc. + ! just set to 2 for now (homo and lumo) + END_DOC + n_green_vec = 2 +END_PROVIDER + + BEGIN_PROVIDER [ integer, green_idx, (n_green_vec) ] +&BEGIN_PROVIDER [ integer, green_idx_int, (n_green_vec) ] +&BEGIN_PROVIDER [ integer, green_idx_bit, (n_green_vec) ] +&BEGIN_PROVIDER [ integer, green_spin, (n_green_vec) ] +&BEGIN_PROVIDER [ double precision, green_sign, (n_green_vec) ] + implicit none + BEGIN_DOC + ! description of particles/holes to be used in spectral density calculation + ! green_idx: orbital index of particle/hole + ! green_idx_{int,bit}: location of idx within determinant bitstring + ! green_spin: 1(alpha) or 2(beta) + ! green_sign: 1(particle) or -1(hole) + END_DOC + integer :: s1,s2,i1,i2 + integer :: i + + integer :: idx_homo_lumo(2), spin_homo_lumo(2) + logical :: has_idx,has_spin,has_sign,has_lanc + integer :: nlanc + ! needs psi_det, mo_tot_num, N_int, mo_bielec_integral_jj, mo_mono_elec_integral_diag + call ezfio_has_green_green_idx(has_idx) + call ezfio_has_green_green_spin(has_spin) + call ezfio_has_green_green_sign(has_sign) +! call ezfio_has_green_n_lanczos_complete(has_lanc) + call ezfio_get_green_n_lanczos_complete(nlanc) + if (has_idx.and.has_spin.and.has_sign) then + print*,'reading idx,spin,sign' + call ezfio_get_green_green_idx(green_idx) + call ezfio_get_green_green_spin(green_spin) + call ezfio_get_green_green_sign(green_sign) + else if (nlanc.gt.0) then + stop 'problem with lanczos restart; need idx, spin, sign' + else + print*,'new lanczos calculation, finding homo/lumo' + call get_homo_lumo(psi_det(1:N_int,1:2,1),N_int,mo_tot_num,idx_homo_lumo,spin_homo_lumo) + + ! homo + green_idx(1)=idx_homo_lumo(1) + green_spin(1)=spin_homo_lumo(1) + green_sign(1)=-1.d0 + + ! lumo + green_idx(2)=idx_homo_lumo(2) + green_spin(2)=spin_homo_lumo(2) + green_sign(2)=1.d0 + + call ezfio_set_green_green_idx(green_idx) + call ezfio_set_green_green_spin(green_spin) + call ezfio_set_green_green_sign(green_sign) + endif + + + +! if (nlanc.gt.0) then +! ! call ezfio_get_green_n_lanczos_complete(nlanc) +! print*,'restarting from previous lanczos',nlanc +! if (has_idx.and.has_spin.and.has_sign) then +! print*,'reading idx,spin,sign' +! call ezfio_get_green_green_idx(green_idx) +! call ezfio_get_green_green_spin(green_spin) +! call ezfio_get_green_green_sign(green_sign) +! else +! stop 'problem with lanczos restart; need idx, spin, sign' +! endif +! else +! print*,'new lanczos calculation, finding homo/lumo' +! call get_homo_lumo(psi_det(1:N_int,1:2,1),N_int,mo_tot_num,idx_homo_lumo,spin_homo_lumo) +! +! ! homo +! green_idx(1)=idx_homo_lumo(1) +! green_spin(1)=spin_homo_lumo(1) +! green_sign(1)=-1.d0 +! +! ! lumo +! green_idx(2)=idx_homo_lumo(2) +! green_spin(2)=spin_homo_lumo(2) +! green_sign(2)=1.d0 +! +! call ezfio_set_green_green_idx(green_idx) +! call ezfio_set_green_green_spin(green_spin) +! call ezfio_set_green_green_sign(green_sign) +! endif + + do i=1,n_green_vec + call get_orb_int_bit(green_idx(i),green_idx_int(i),green_idx_bit(i)) + print*,i,green_idx(i),green_idx_int(i),green_idx_bit(i),green_spin(i),green_sign(i) + enddo + +END_PROVIDER + + +BEGIN_PROVIDER [ double precision, green_det_phase, (N_det,n_green_vec) ] + implicit none + BEGIN_DOC + ! for each det in psi, compute phase for each particle/hole excitation + ! each element should be +/-1 or 0 + END_DOC + integer :: i + double precision :: phase_tmp(n_green_vec) + PROVIDE psi_det green_idx + + do i=1,N_det + call get_phase_hp(green_idx_int,green_idx_bit,green_spin,green_sign,psi_det(1,1,i),phase_tmp,N_int,n_green_vec) + green_det_phase(i,1:n_green_vec) = phase_tmp(1:n_green_vec) + enddo + +END_PROVIDER + +BEGIN_PROVIDER [ complex*16, u1_lanczos, (N_det,n_green_vec) ] + implicit none + BEGIN_DOC + ! initial lanczos vectors + ! must be normalized + END_DOC + + integer :: i,j + + do j=1,n_green_vec + do i=1,N_det + u1_lanczos(i,j)=green_det_phase(i,j)*psi_coef(i,1) + enddo + call normalize_complex(u1_lanczos(:,j),N_det) + enddo + +END_PROVIDER + +! BEGIN_PROVIDER [ double precision, alpha_lanczos, (n_green_vec,n_lanczos_iter) ] +!&BEGIN_PROVIDER [ double precision, beta_lanczos, (n_green_vec,n_lanczos_iter) ] + BEGIN_PROVIDER [ double precision, alpha_lanczos, (n_lanczos_iter,n_green_vec) ] +&BEGIN_PROVIDER [ double precision, beta_lanczos, (n_lanczos_iter,n_green_vec) ] +&BEGIN_PROVIDER [ complex*16, un_lanczos, (N_det,n_green_vec) ] +&BEGIN_PROVIDER [ complex*16, vn_lanczos, (N_det,n_green_vec) ] +&BEGIN_PROVIDER [ double precision, lanczos_eigvals, (n_lanczos_iter,n_green_vec) ] + implicit none + BEGIN_DOC + ! for each particle/hole: + ! provide alpha and beta for tridiagonal form of H + ! un, vn lanczos vectors from latest iteration + ! lanczos_eigvals: eigenvalues of tridiagonal form of H + END_DOC + PROVIDE lanczos_debug_print n_lanczos_debug + complex*16, allocatable :: work(:,:) +! double precision :: alpha_tmp,beta_tmp + double precision, allocatable :: alpha_tmp(:),beta_tmp(:) + double precision, allocatable :: alpha_tmp_vec(:,:), beta_tmp_vec(:,:) + integer :: i,j + integer :: n_lanc_new_tmp, n_lanc_old_tmp + call ezfio_get_green_n_lanczos_iter(n_lanc_new_tmp) + call ezfio_get_green_n_lanczos_complete(n_lanc_old_tmp) + + if ((n_lanczos_complete).gt.0) then +! allocate(alpha_tmp_vec(n_green_vec,n_lanczos_complete),beta_tmp_vec(n_green_vec,n_lanczos_complete)) + allocate(alpha_tmp_vec(n_lanczos_complete,n_green_vec),beta_tmp_vec(n_lanczos_complete,n_green_vec)) + logical :: has_un_lanczos, has_vn_lanczos + call ezfio_has_green_un_lanczos(has_un_lanczos) + call ezfio_has_green_vn_lanczos(has_vn_lanczos) + if (has_un_lanczos.and.has_vn_lanczos) then + call ezfio_get_green_un_lanczos(un_lanczos) + call ezfio_get_green_vn_lanczos(vn_lanczos) +! if (lanczos_debug_print) then +! print*,'uu,vv read from disk' +! do i=1,n_lanczos_debug +! write(6,'(4(E25.15))')un_lanczos(i),vn_lanczos(i) +! enddo +! endif + else + print*,'problem reading lanczos vectors for restart' + stop + endif + logical :: has_alpha_lanczos, has_beta_lanczos + call ezfio_has_green_alpha_lanczos(has_alpha_lanczos) + call ezfio_has_green_beta_lanczos(has_beta_lanczos) + if (has_alpha_lanczos.and.has_beta_lanczos) then + call ezfio_set_green_n_lanczos_iter(n_lanc_old_tmp) + call ezfio_get_green_alpha_lanczos(alpha_tmp_vec) + call ezfio_get_green_beta_lanczos(beta_tmp_vec) + call ezfio_set_green_n_lanczos_iter(n_lanc_new_tmp) + do j=1,n_green_vec + do i=1,n_lanczos_complete + alpha_lanczos(i,j)=alpha_tmp_vec(i,j) + beta_lanczos(i,j)=beta_tmp_vec(i,j) + enddo + enddo + else + print*,'problem reading lanczos alpha, beta for restart' + stop + endif + deallocate(alpha_tmp_vec,beta_tmp_vec) + else + call write_time(6) + print*,'no saved lanczos vectors. starting lanczos' + PROVIDE u1_lanczos + un_lanczos=u1_lanczos + allocate(work(N_det,n_green_vec),alpha_tmp(n_green_vec),beta_tmp(n_green_vec)) + call lanczos_h_init_hp(un_lanczos,vn_lanczos,work,N_det,alpha_tmp,beta_tmp,& + n_green_vec,green_spin,green_sign,green_idx) + do i=1,n_green_vec + alpha_lanczos(1,i)=alpha_tmp(i) + beta_lanczos(1,i)=beta_tmp(i) + enddo + n_lanczos_complete=1 + deallocate(work,alpha_tmp,beta_tmp) + endif + + allocate(work(N_det,n_green_vec),alpha_tmp(n_green_vec),beta_tmp(n_green_vec)) + do i=n_lanczos_complete+1,n_lanczos_iter + call write_time(6) + print*,'starting lanczos iteration',i + call lanczos_h_step_hp(un_lanczos,vn_lanczos,work,N_det,alpha_tmp,beta_tmp,& + n_green_vec,green_spin,green_sign,green_idx) + do j=1,n_green_vec + alpha_lanczos(i,j)=alpha_tmp(j) + beta_lanczos(i,j)=beta_tmp(j) + enddo + n_lanczos_complete=n_lanczos_complete+1 + enddo + deallocate(work,alpha_tmp,beta_tmp) + + call ezfio_set_green_alpha_lanczos(alpha_lanczos) + call ezfio_set_green_beta_lanczos(beta_lanczos) + call ezfio_set_green_un_lanczos(un_lanczos) + call ezfio_set_green_vn_lanczos(vn_lanczos) + call ezfio_set_green_n_lanczos_complete(n_lanczos_complete) + + call diag_lanczos_vals_hp(alpha_lanczos, beta_lanczos, n_lanczos_complete, lanczos_eigvals,& + n_lanczos_iter,n_green_vec) + call ezfio_set_green_lanczos_eigvals(lanczos_eigvals) + +END_PROVIDER + +BEGIN_PROVIDER [ double precision, delta_omega ] + implicit none + BEGIN_DOC + ! step size between frequency points for spectral density calculation + ! calculated from min, max, and number of steps + END_DOC + delta_omega=(omega_max-omega_min)/n_omega +END_PROVIDER + +BEGIN_PROVIDER [ double precision, omega_list, (n_omega) ] + implicit none + BEGIN_DOC + ! list of frequencies at which to compute spectral density + END_DOC + + integer :: i + double precision :: omega_i + PROVIDE delta_omega + do i=1,n_omega + omega_list(i) = omega_min + (i-1)*delta_omega + enddo + +END_PROVIDER + + +BEGIN_PROVIDER [ double precision, spectral_lanczos, (n_omega,n_green_vec) ] + implicit none + BEGIN_DOC + ! spectral density A(omega) calculated from lanczos alpha/beta + ! calculated for n_omega points between omega_min and omega_max + END_DOC + + integer :: i,j + double precision :: omega_i + complex*16 :: z_i + !double precision :: spec_lanc_rev + double precision :: spec_lanc_rev_sign + logical :: has_ci_energy + double precision :: ref_energy_0 + PROVIDE delta_omega alpha_lanczos beta_lanczos omega_list + call ezfio_has_full_ci_zmq_energy(has_ci_energy) + if (has_ci_energy) then + call ezfio_get_full_ci_zmq_energy(ref_energy_0) + else + print*,'no reference energy from full_ci_zmq, exiting' + stop + endif + + + do i=1,n_omega + omega_i = omega_list(i) + z_i = dcmplx(omega_i,gf_epsilon) + do j=1,n_green_vec +! spectral_lanczos(i,j) = spec_lanc_rev(n_lanczos_iter,alpha_lanczos(:,j),beta_lanczos(:,j),z_i) + spectral_lanczos(i,j) = spec_lanc_rev_sign(n_lanczos_iter, & + alpha_lanczos(:,j), & + beta_lanczos(:,j), & + z_i - green_sign(j)*ref_energy_0, & + green_sign(j)) + enddo + enddo + +END_PROVIDER + +double precision function spec_lanc(n_lanc_iter,alpha,beta,z) + include 'constants.include.F' + implicit none + BEGIN_DOC + ! input: + ! alpha, beta: from tridiagonal form of H (obtain via lanczos) + ! beta and alpha same size (beta(1) is not used) + ! n_lanc_iter: size of alpha, beta + ! z: omega + i*epsilon + ! omega is frequency for which spectral density is to be computed + ! epsilon is magnitude of infinitesimal imaginary term + ! output: + ! spec_lanc: spectral density A(omega) + ! + ! uses inv_pi=(1.d0/pi) from constants + END_DOC + integer, intent(in) :: n_lanc_iter + double precision, intent(in) :: alpha(n_lanc_iter), beta(n_lanc_iter) + complex*16, intent(in) :: z + + complex*16 bigAj2,bigAj1,bigAj0 + complex*16 bigBj2,bigBj1,bigBj0 + integer :: j + ! init for j=1 + ! bigAj2 is A(j-2) + ! bigAj1 is A(j-1) + ! etc. + + bigAj2=1.d0 ! A(-1) + bigAj1=0.d0 ! A(0) + bigAj0=1.d0 ! A(1) + + bigBj2=0.d0 ! B(-1) + bigBj1=1.d0 ! B(0) + bigBj0=z-alpha(1) ! B(1) + + do j=2,n_lanc_iter + bigAj2=bigAj1 + bigAj1=bigAj0 + bigAj0=(z-alpha(j))*bigAj1 - beta(j)**2*bigAj2 + + bigBj2=bigBj1 + bigBj1=bigBj0 + bigBj0=(z-alpha(j))*bigBj1 - beta(j)**2*bigBj2 + enddo + spec_lanc=-imag(bigAj0/bigBj0)*inv_pi +end + +double precision function spec_lanc_rev(n_lanc_iter,alpha,beta,z) + include 'constants.include.F' + implicit none + BEGIN_DOC + ! reverse iteration is more numerically stable + ! input: + ! alpha, beta: from tridiagonal form of H (obtain via lanczos) + ! beta and alpha same size (beta(1) is not used) + ! n_lanc_iter: size of alpha, beta + ! z: omega + i*epsilon + ! omega is frequency for which spectral density is to be computed + ! epsilon is magnitude of infinitesimal imaginary term + ! output: + ! spec_lanc: spectral density A(omega) + ! + ! uses inv_pi=(1.d0/pi) from constants + END_DOC + integer, intent(in) :: n_lanc_iter + double precision, intent(in) :: alpha(n_lanc_iter), beta(n_lanc_iter) + complex*16, intent(in) :: z + + complex*16 :: tmp + integer :: j + + tmp=(0.d0,0.d0) + do j=n_lanc_iter,2,-1 + tmp=-beta(j)**2/(z-alpha(j)+tmp) + enddo + tmp=1.d0/(z-alpha(1)+tmp) + spec_lanc_rev=-imag(tmp)*inv_pi +end + +double precision function spec_lanc_rev_sign(n_lanc_iter,alpha,beta,z,g_sign) + include 'constants.include.F' + implicit none + BEGIN_DOC + ! reverse iteration is more numerically stable + ! input: + ! alpha, beta: from tridiagonal form of H (obtain via lanczos) + ! beta and alpha same size (beta(1) is not used) + ! n_lanc_iter: size of alpha, beta + ! z: omega + i*epsilon + ! omega is frequency for which spectral density is to be computed + ! epsilon is magnitude of infinitesimal imaginary term + ! output: + ! spec_lanc: spectral density A(omega) + ! + ! uses inv_pi=(1.d0/pi) from constants + END_DOC + integer, intent(in) :: n_lanc_iter + double precision, intent(in) :: alpha(n_lanc_iter), beta(n_lanc_iter) + complex*16, intent(in) :: z + double precision, intent(in) :: g_sign + + complex*16 :: tmp + integer :: j + + tmp=(0.d0,0.d0) + do j=n_lanc_iter,2,-1 + tmp=-beta(j)**2/(z+g_sign*alpha(j)+tmp) + enddo + tmp=1.d0/(z+g_sign*alpha(1)+tmp) + spec_lanc_rev_sign=-imag(tmp)*inv_pi +end + + +subroutine lanczos_h_init_hp(uu,vv,work,sze,alpha_i,beta_i,ng,spin_hp,sign_hp,idx_hp) + implicit none + integer, intent(in) :: sze,ng + complex*16, intent(in) :: uu(sze,ng) + complex*16, intent(out) :: vv(sze,ng) + complex*16 :: work(sze,ng) + double precision, intent(out) :: alpha_i(ng), beta_i(ng) + integer, intent(in) :: spin_hp(ng), idx_hp(ng) + double precision, intent(in) :: sign_hp(ng) + + double precision, external :: dznrm2 + complex*16, external :: u_dot_v_complex + integer :: i,j + + BEGIN_DOC + ! initial step for lanczos tridiagonalization of H for multiple holes/particles + ! uu is array of initial vectors u1 (creation/annihilation operator applied to psi) + ! output vv is array of lanczos v1 (one for each hole/particle) + END_DOC + + print *,'starting lanczos' + print *,'sze = ',sze + + ! |uu> is |u(1)> + + ! |w(1)> = H|u(1)> + ! |work> is now |w(1)> + call compute_hu_hp(uu,work,ng,sze,spin_hp,sign_hp,idx_hp) + + ! alpha(n+1) = + do i=1,ng + alpha_i(i)=real(u_dot_v_complex(uu(1:sze,i),work(1:sze,i),sze)) + enddo + + do j=1,ng + do i=1,sze + vv(i,j)=work(i,j)-alpha_i(j)*uu(i,j) +! write(6,'(7(E25.15))')uu(i,j),vv(i,j),work(i,j),alpha_i(j) + enddo + enddo + + beta_i=0.d0 + ! |vv> is |v(1)> + ! |uu> is |u(1)> +end + +subroutine lanczos_h_step_hp(uu,vv,work,sze,alpha_i,beta_i,ng,spin_hp,sign_hp,idx_hp) + implicit none + integer, intent(in) :: sze,ng + complex*16, intent(inout) :: uu(sze,ng),vv(sze,ng) + complex*16, intent(out) :: work(sze,ng) + double precision, intent(out) :: alpha_i(ng), beta_i(ng) + integer, intent(in) :: spin_hp(ng), sign_hp(ng), idx_hp(ng) + + double precision, external :: dznrm2 + complex*16, external :: u_dot_v_complex + integer :: i,j + complex*16 :: tmp_c16 + BEGIN_DOC + ! lanczos tridiagonalization of H + ! n_lanc_iter is number of lanczos iterations + ! u1 is initial lanczos vector + ! u1 should be normalized + END_DOC + + ! |vv> is |v(n)> + ! |uu> is |u(n)> + + ! compute beta(n+1) + do j=1,ng + beta_i(j)=dznrm2(sze,vv(:,j),1) + ! |vv> is now |u(n+1)> + call zdscal(sze,(1.d0/beta_i(j)),vv(:,j),1) + enddo + + ! |w(n+1)> = H|u(n+1)> + ! |work> is now |w(n+1)> + call compute_hu_hp(vv,work,ng,sze,spin_hp,sign_hp,idx_hp) + + ! alpha(n+1) = + do i=1,ng + alpha_i(i)=real(u_dot_v_complex(vv(1:sze,i),work(1:sze,i),sze)) + enddo + + do j=1,ng + do i=1,sze + tmp_c16=work(i,j)-alpha_i(j)*vv(i,j)-beta_i(j)*uu(i,j) + uu(i,j)=vv(i,j) + vv(i,j)=tmp_c16 + enddo + enddo + ! |vv> is |v(n+1)> + ! |uu> is |u(n+1)> +end + + +subroutine lanczos_h_init(uu,vv,work,sze,alpha_i,beta_i) + implicit none + integer, intent(in) :: sze + complex*16, intent(inout) :: uu(sze) + complex*16, intent(out) :: vv(sze) + complex*16 :: work(sze) + double precision, intent(out) :: alpha_i, beta_i + + double precision, external :: dznrm2 + complex*16, external :: u_dot_v_complex + integer :: i + + BEGIN_DOC + ! lanczos tridiagonalization of H + ! n_lanc_iter is number of lanczos iterations + ! u1 is initial lanczos vector + ! u1 should be normalized + END_DOC + + print *,'starting lanczos' + print *,'sze = ',sze + ! exit if u1 is not normalized +! beta_norm = dznrm2(h_size,u1,1) +! if (dabs(beta_norm-1.d0) .gt. 1.d-6) then +! print *, 'Error: initial Lanczos vector is not normalized' +! stop -1 +! endif + + ! |uu> is |u(1)> + + ! |w(1)> = H|u(1)> + ! |work> is now |w(1)> + call compute_hu(uu,work,sze) + + ! alpha(n+1) = + alpha_i=real(u_dot_v_complex(uu,work,sze)) + + do i=1,sze + vv(i)=work(i)-alpha_i*uu(i) + enddo + beta_i=0.d0 + if (lanczos_debug_print) then + print*,'init uu,vv,work' + do i=1,n_lanczos_debug + write(6,'(6(E25.15))')uu(i),vv(i),work(i) + enddo + endif + ! |vv> is |v(1)> + ! |uu> is |u(1)> +end + +subroutine lanczos_h_step(uu,vv,work,sze,alpha_i,beta_i) + implicit none + integer, intent(in) :: sze + complex*16, intent(inout) :: uu(sze),vv(sze) + complex*16, intent(out) :: work(sze) + double precision, intent(out) :: alpha_i, beta_i + + double precision, external :: dznrm2 + complex*16, external :: u_dot_v_complex + integer :: i + complex*16 :: tmp_c16 + BEGIN_DOC + ! lanczos tridiagonalization of H + ! n_lanc_iter is number of lanczos iterations + ! u1 is initial lanczos vector + ! u1 should be normalized + END_DOC + + ! exit if u1 is not normalized +! beta_norm = dznrm2(h_size,u1,1) +! if (dabs(beta_norm-1.d0) .gt. 1.d-6) then +! print *, 'Error: initial Lanczos vector is not normalized' +! stop -1 +! endif + + ! |vv> is |v(n)> + ! |uu> is |u(n)> + + ! compute beta(n+1) + beta_i=dznrm2(sze,vv,1) + if (lanczos_debug_print) then + print*,'uu,vv in' + do i=1,n_lanczos_debug + write(6,'(4(E25.15))')uu(i),vv(i) + enddo + endif + ! |vv> is now |u(n+1)> + call zdscal(sze,(1.d0/beta_i),vv,1) + + ! |w(n+1)> = H|u(n+1)> + ! |work> is now |w(n+1)> + call compute_hu(vv,work,sze) + + if (lanczos_debug_print) then + print*,'vv,work' + do i=1,n_lanczos_debug + write(6,'(4(E25.15))')vv(i),work(i) + enddo + endif + + ! alpha(n+1) = + alpha_i=real(u_dot_v_complex(vv,work,sze)) + + do i=1,sze + tmp_c16=work(i)-alpha_i*vv(i)-beta_i*uu(i) + uu(i)=vv(i) + vv(i)=tmp_c16 + enddo + ! |vv> is |v(n+1)> + ! |uu> is |u(n+1)> +end + + + +subroutine lanczos_h(n_lanc_iter,alpha,beta,u1) + implicit none + integer, intent(in) :: n_lanc_iter + double precision, intent(out) :: alpha(n_lanc_iter), beta(n_lanc_iter) + complex*16, intent(in) :: u1(N_det) + integer :: h_size + double precision :: beta_norm, beta_norm_inv + complex*16, allocatable :: vec1(:), vec2(:), vec3(:) + complex*16 :: vec_tmp + double precision, external :: dznrm2 + complex*16, external :: u_dot_v_complex + + integer :: i,j,l + h_size=N_det + BEGIN_DOC + ! lanczos tridiagonalization of H + ! n_lanc_iter is number of lanczos iterations + ! u1 is initial lanczos vector + ! u1 should be normalized + END_DOC + + print *,'starting lanczos' + print *,'h_size = ',h_size +! print *,'initial vector:' +! do i=1,h_size +! print *,u1(i) +! enddo + ! exit if u1 is not normalized + beta_norm = dznrm2(h_size,u1,1) + if (dabs(beta_norm-1.d0) .gt. 1.d-6) then + print *, 'Error: initial Lanczos vector is not normalized' + stop -1 + endif + + allocate(vec1(h_size), & + vec2(h_size), & + vec3(h_size)) + + do i=1,h_size + vec1(i)=u1(i) + enddo + + ! |w1> = H|u1> + ! |vec2> = H|vec1> + call compute_hu(vec1,vec2,h_size)!! TODO: not implemented + + ! alpha(1) = = + ! = + alpha(1)=real(u_dot_v_complex(vec1,vec2,h_size)) + + ! |v1> = |w1> - alpha(1)*|u1> + ! |vec3> = |vec2> - alpha(1)*|vec1> + do i=1,h_size + vec3(i)=vec2(i)-alpha(1)*vec1(i) + enddo + do j=2,n_lanc_iter + call write_time(6) + print *,'starting lanczos iteration:',j + !! vec1 is |u(j-1)> + !! vec3 is |v(j-1)> + + ! beta(j) = sqrt() + beta_norm=dznrm2(h_size,vec3,1) + + ! TODO: check for beta=0? + beta_norm_inv=1.d0/beta_norm + + ! normalize |v(j-1)> to form |u(j)> + call zdscal(h_size,beta_norm_inv,vec3,1) + !! vec3 is |u(j)> + + ! |w(j)> = H|u(j)> + call compute_hu(vec3,vec2,h_size)!! TODO: not implemented + !! vec2 is |w(j)> + + alpha(j)=real(u_dot_v_complex(vec2,vec3,h_size)) + beta(j)=beta_norm + + ! |v(j)> = |w(j)> - alpha(j)*|u(j)> - beta(j)*|u(j-1)> + do l=1,h_size + vec_tmp=vec2(l)-alpha(j)*vec3(l)-beta(j)*vec1(l) + vec1(l)=vec3(l) + vec3(l)=vec_tmp + enddo + !! vec1 is |u(j)> + !! vec3 is |v(j)> + enddo + +end + + +subroutine compute_hu_hp(vec1,vec2,n_hp,h_size,spin_hp,sign_hp,idx_hp) + implicit none + integer, intent(in) :: h_size,n_hp + complex*16, intent(in) :: vec1(h_size,n_hp) + complex*16, intent(out) :: vec2(h_size,n_hp) + integer, intent(in) :: spin_hp(n_hp), idx_hp(n_hp) + double precision, intent (in) :: sign_hp(n_hp) + complex*16 :: vec1_tmp(h_size,n_hp) + integer :: i,j + BEGIN_DOC + ! |vec2> = H|vec1> + ! + ! TODO: implement + ! maybe reuse parts of H_S2_u_0_nstates_{openmp,zmq}? + END_DOC + + vec1_tmp(1:h_size,1:n_hp) = vec1(1:h_size,1:n_hp) + call h_u_0_hp_openmp(vec2,vec1_tmp,n_hp,h_size,spin_hp,sign_hp,idx_hp) + + do j=1,n_hp + do i=1,h_size + if (cdabs(vec1_tmp(i,j) - vec1(i,j)).gt.1.d-6) then + print*,'ERROR: vec1 was changed by h_u_0_openmp' + endif + enddo + enddo +end + +subroutine compute_hu(vec1,vec2,h_size) + implicit none + integer, intent(in) :: h_size + complex*16, intent(in) :: vec1(h_size) + complex*16, intent(out) :: vec2(h_size) + complex*16 :: vec1_tmp(h_size) + integer :: i + BEGIN_DOC + ! |vec2> = H|vec1> + ! + ! TODO: implement + ! maybe reuse parts of H_S2_u_0_nstates_{openmp,zmq}? + END_DOC + + vec1_tmp(1:h_size) = vec1(1:h_size) + call h_u_0_openmp(vec2,vec1_tmp,h_size) + + do i=1,h_size + if (cdabs(vec1_tmp(i) - vec1(i)).gt.1.d-6) then + print*,'ERROR: vec1 was changed by h_u_0_openmp' + endif + enddo +end + +subroutine compute_hu2(vec1,vec2,h_size) + implicit none + integer, intent(in) :: h_size + complex*16, intent(in) :: vec1(h_size) + complex*16, intent(out) :: vec2(h_size) + complex*16, allocatable :: u_tmp(:,:), s_tmp(:,:),v_tmp(:,:) + integer :: i + BEGIN_DOC + ! |vec2> = H|vec1> + ! + ! TODO: implement + ! maybe reuse parts of H_S2_u_0_nstates_{openmp,zmq}? + END_DOC + + allocate(u_tmp(1,h_size),s_tmp(1,h_size),v_tmp(1,h_size)) + + u_tmp(1,1:h_size) = vec1(1:h_size) + call h_s2_u_0_nstates_openmp(v_tmp,s_tmp,u_tmp,1,h_size) + + do i=1,h_size + if (cdabs(u_tmp(1,i) - vec1(i)).gt.1.d-6) then + print*,'ERROR: vec1 was changed by h_u_0_openmp' + endif + enddo + vec2(1:h_size)=v_tmp(1,1:h_size) + deallocate(u_tmp,v_tmp,s_tmp) +end + + + +subroutine diag_lanczos_vals_vecs(alpha, beta, nlanc, vals, vecs, sze) + implicit none + BEGIN_DOC + ! diagonalization of tridiagonal form of H + ! this returns eigenvalues and eigenvectors in vals,vecs + END_DOC + integer, intent(in) :: nlanc,sze + double precision, intent(in) :: alpha(sze), beta(sze) + double precision, intent(out) :: vals(sze), vecs(sze,sze) + double precision :: work(2*nlanc-2), beta_tmp(nlanc-1) + integer :: i,info + + vals(1)=alpha(1) + do i=2,nlanc + vals(i)=alpha(i) + beta_tmp(i-1)=beta(i) + enddo + + call dstev('V', nlanc, vals, beta_tmp, vecs, sze, work, info) + if (info.gt.0) then + print *,'WARNING: diagonalization of tridiagonal form of H did not converge' + else if (info.lt.0) then + print *,'WARNING: argument to dstev had illegal value' + endif +end + +subroutine diag_lanczos_vals_hp(alpha, beta, nlanc, vals, sze,ng) + implicit none + BEGIN_DOC + ! diagonalization of tridiagonal form of H + ! this returns eigenvalues in vals + END_DOC + integer, intent(in) :: nlanc,sze,ng + !double precision, intent(in) :: alpha(ng,sze), beta(sze) + double precision, intent(in) :: alpha(sze,ng), beta(sze,ng) + double precision, intent(out) :: vals(sze,ng) + double precision :: work(1), beta_tmp(nlanc-1), vecs(1) + integer :: i,info,ig + + do ig=1,ng + vals(1,ig)=alpha(1,ig) + do i=2,nlanc + vals(i,ig)=alpha(i,ig) + beta_tmp(i-1)=beta(i,ig) + enddo + + call dstev('N', nlanc, vals(:,ig), beta_tmp, vecs, 1, work, info) + if (info.gt.0) then + print *,'WARNING: diagonalization of tridiagonal form of H did not converge' + else if (info.lt.0) then + print *,'WARNING: argument to dstev had illegal value' + endif + enddo +end +subroutine diag_lanczos_vals(alpha, beta, nlanc, vals, sze) + implicit none + BEGIN_DOC + ! diagonalization of tridiagonal form of H + ! this returns eigenvalues in vals + END_DOC + integer, intent(in) :: nlanc,sze + double precision, intent(in) :: alpha(sze), beta(sze) + double precision, intent(out) :: vals(sze) + double precision :: work(1), beta_tmp(nlanc-1), vecs(1) + integer :: i,info + + vals(1)=alpha(1) + do i=2,nlanc + vals(i)=alpha(i) + beta_tmp(i-1)=beta(i) + enddo + + call dstev('N', nlanc, vals, beta_tmp, vecs, 1, work, info) + if (info.gt.0) then + print *,'WARNING: diagonalization of tridiagonal form of H did not converge' + else if (info.lt.0) then + print *,'WARNING: argument to dstev had illegal value' + endif +end diff --git a/src/green/plot-spec-dens.py b/src/green/plot-spec-dens.py new file mode 100755 index 00000000..88e2dfec --- /dev/null +++ b/src/green/plot-spec-dens.py @@ -0,0 +1,90 @@ +#!/bin/env python + +import gzip +import sys +from math import pi +inv_pi = 1.0/pi + +def spec_dens(alpha,beta,z0,g_sign,e_shift): + sze=len(alpha) + sze_b=len(beta) + if (sze != sze_b): + print('Error: size mismatch',sze,sze_b) + sys.exit(1) + z=z0-g_sign*e_shift + tmp=0.0+0.0j + #for ai,bi in zip(reversed(a),reversed(b)) + for i in range(sze-1,0,-1): + tmp=-(beta[i]**2)/(z+g_sign*alpha[i]+tmp) + tmp=1.0/(z+g_sign*alpha[0]+tmp) + return -1.0 * tmp.imag * inv_pi + +def printspec(ezdir,wmin,wmax,nw,eps): + gdir=ezdir+'/green/' + with open(gdir+'n_green_vec') as infile: + ngvec=int(infile.readline().strip()) + with open(ezdir+'/full_ci_zmq/energy') as infile: + e0=float(infile.readline().strip()) + with open(gdir+'n_lanczos_complete') as infile: + nlanc=int(infile.readline().strip()) + + with gzip.open(gdir+'green_sign.gz') as infile: + gsign0=infile.read().split() + + with gzip.open(gdir+'alpha_lanczos.gz') as infile: + adata0=infile.read().split() + with gzip.open(gdir+'beta_lanczos.gz') as infile: + bdata0=infile.read().split() + + adim=int(adata0.pop(0)) + bdim=int(bdata0.pop(0)) + gsigndim=int(gsign0.pop(0)) + assert adim==2, 'dimension of alpha_lanczos should be 2' + assert bdim==2, 'dimension of beta_lanczos should be 2' + assert gsigndim==1, 'dimension of green_sign should be 1' + + ngvec_2=int(gsign0.pop(0)) + assert ngvec_2==ngvec, 'problem with size of green_sign.gz' + + ashape=tuple(map(int,adata0[:adim])) + bshape=tuple(map(int,bdata0[:bdim])) + assert ashape==(nlanc,ngvec), 'shape of alpha_lanczos should be (nlanc, ngvec)' + assert bshape==(nlanc,ngvec), 'shape of beta_lanczos should be (nlanc, ngvec)' + + amat=[] + for xi in range(ngvec): + amat.append(list(map(float,adata0[adim+xi*nlanc:adim+(xi+1)*nlanc]))) + + bmat=[] + b2mat=[] + for xi in range(ngvec): + #bmat.append(list(map(float,bdata0[bdim+xi*nlanc:bdim+(xi+1)*nlanc]))) + b_tmp=list(map(float,bdata0[bdim+xi*nlanc:bdim+(xi+1)*nlanc])) + b2_tmp=[i*i for i in b_tmp] + bmat.append(b_tmp) + b2mat.append(b2_tmp) + + gsign=list(map(float,gsign0)) + dw=(wmax-wmin)/(nw-1) + wlist = [wmin+iw*dw for iw in range(nw)] + densmat=[] + for ivec in range(ngvec): + densmat.append([spec_dens(amat[ivec],bmat[ivec],iw+1.j*eps,gsign[ivec],e0) for iw in wlist]) + + for i,dd in enumerate(zip(*densmat)): + print(('{:15.6E}'+ngvec*'{:25.15E}').format(wlist[i],*dd)) + +if __name__ == '__main__': + + if len(sys.argv) != 6: + print('bad args') + print('USAGE: plot-spec-dens.py ezfio omega_min omega_max n_omega epsilon') + sys.exit(1) + ezfio=sys.argv[1] + wmin=float(sys.argv[2]) + wmax=float(sys.argv[3]) + nw=int(sys.argv[4]) + eps=float(sys.argv[5]) + printspec(ezfio,wmin,wmax,nw,eps) + + diff --git a/src/green/print_dets_test.irp.f b/src/green/print_dets_test.irp.f new file mode 100644 index 00000000..6466141e --- /dev/null +++ b/src/green/print_dets_test.irp.f @@ -0,0 +1,15 @@ +program print_dets_test + implicit none + read_wf = .True. + touch read_wf + call routine + +end + +subroutine routine + use bitmasks + implicit none + integer :: i + read*,i + print*,psi_det(:,:,i) +end diff --git a/src/green/print_e_mo_debug.irp.f b/src/green/print_e_mo_debug.irp.f new file mode 100644 index 00000000..7bd738bc --- /dev/null +++ b/src/green/print_e_mo_debug.irp.f @@ -0,0 +1,15 @@ +program print_e_mo_debug + implicit none + read_wf = .True. + touch read_wf + call routine + +end + +subroutine routine + use bitmasks + implicit none + integer :: i + read*,i + call print_mo_energies(psi_det(:,:,i),N_int,mo_tot_num) +end diff --git a/src/green/print_h_debug.irp.f b/src/green/print_h_debug.irp.f new file mode 100644 index 00000000..10cc31d3 --- /dev/null +++ b/src/green/print_h_debug.irp.f @@ -0,0 +1,178 @@ +program print_h_debug + implicit none + read_wf = .True. + touch read_wf + call routine + +end + +subroutine routine + use bitmasks + implicit none + integer :: i,j + integer, allocatable :: H_matrix_degree(:,:) + double precision, allocatable :: H_matrix_phase(:,:) + integer :: degree + integer(bit_kind), allocatable :: keys_tmp(:,:,:) + allocate(keys_tmp(N_int,2,N_det)) + do i = 1, N_det + print*,'' + call debug_det(psi_det(1,1,i),N_int) + do j = 1, N_int + keys_tmp(j,1,i) = psi_det(j,1,i) + keys_tmp(j,2,i) = psi_det(j,2,i) + enddo + enddo + if(N_det.gt.10000)then + print*,'Warning !!!' + print*,'Number of determinants is ',N_det + print*,'It means that the H matrix will be enormous !' + print*,'stoppping ..' + stop + endif + print*,'' + print*,'Determinants ' + do i = 1, N_det + enddo + allocate(H_matrix_degree(N_det,N_det),H_matrix_phase(N_det,N_det)) + integer :: exc(0:2,2,2) + double precision :: phase + do i = 1, N_det + do j = i, N_det + call get_excitation_degree(psi_det(1,1,i),psi_det(1,1,j),degree,N_int) + H_matrix_degree(i,j) = degree + H_matrix_degree(j,i) = degree + phase = 0.d0 + if(degree==1.or.degree==2)then + call get_excitation(psi_det(1,1,i),psi_det(1,1,j),exc,degree,phase,N_int) + endif + H_matrix_phase(i,j) = phase + H_matrix_phase(j,i) = phase + enddo + enddo + print*,'H matrix ' + double precision :: s2 + complex*16 :: ref_h_matrix + ref_h_matrix = h_matrix_all_dets(1,1) + print*,'HF like determinant energy = ',ref_bitmask_energy+nuclear_repulsion + print*,'Ref element of H_matrix = ',ref_h_matrix+nuclear_repulsion + print*,'Printing the H matrix ...' + print*,'' + print*,'' +!do i = 1, N_det +! H_matrix_all_dets(i,i) -= ref_h_matrix +!enddo + + do i = 1, N_det + H_matrix_all_dets(i,i) += nuclear_repulsion + enddo + +!do i = 5,N_det +! H_matrix_all_dets(i,3) = 0.d0 +! H_matrix_all_dets(3,i) = 0.d0 +! H_matrix_all_dets(i,4) = 0.d0 +! H_matrix_all_dets(4,i) = 0.d0 +!enddo + + + + +! TODO: change for complex + do i = 1, N_det + write(*,'(I3,X,A3,2000(E24.15))')i,' | ',H_matrix_all_dets(i,:) + enddo + +! print*,'' +! print*,'' +! print*,'' +! print*,'Printing the degree of excitations within the H matrix' +! print*,'' +! print*,'' +! do i = 1, N_det +! write(*,'(I3,X,A3,X,1000(I1,X))')i,' | ',H_matrix_degree(i,:) +! enddo +! +! +! print*,'' +! print*,'' +! print*,'Printing the phase of the Hamiltonian matrix elements ' +! print*,'' +! print*,'' +! do i = 1, N_det +! write(*,'(I3,X,A3,X,1000(F3.0,X))')i,' | ',H_matrix_phase(i,:) +! enddo +! print*,'' + + +! double precision, allocatable :: eigenvalues(:) +! complex*16, allocatable :: eigenvectors(:,:) +! double precision, allocatable :: s2_eigvalues(:) +! allocate (eigenvectors(size(H_matrix_all_dets,1),N_det)) +! allocate (eigenvalues(N_det),s2_eigvalues(N_det)) +! call lapack_diag_complex(eigenvalues,eigenvectors, & +! H_matrix_all_dets,size(H_matrix_all_dets,1),N_det) +! print*,'Two first eigenvectors ' +! call u_0_S2_u_0(s2_eigvalues,eigenvectors,n_det,keys_tmp,N_int,N_det,size(eigenvectors,1)) +! do j =1, N_states +! print*,'s2 = ',s2_eigvalues(j) +! print*,'e = ',eigenvalues(j) +! print*,'coefs : ' +! do i = 1, N_det +! print*,'i = ',i,eigenvectors(i,j) +! enddo +! if(j>1)then +! print*,'Delta E(H) = ',eigenvalues(1) - eigenvalues(j) +! print*,'Delta E(eV) = ',(eigenvalues(1) - eigenvalues(j))*27.2114d0 +! endif +! enddo +! complex*16 :: get_mo_bielec_integral,k_a_iv,k_b_iv +! integer :: h1,p1,h2,p2 +! h1 = 10 +! p1 = 16 +! h2 = 14 +! p2 = 14 +!!h1 = 1 +!!p1 = 4 +!!h2 = 2 +!!p2 = 2 +! k_a_iv = get_mo_bielec_integral(h1,h2,p2,p1,mo_integrals_map) +! h2 = 15 +! p2 = 15 +! k_b_iv = get_mo_bielec_integral(h1,h2,p2,p1,mo_integrals_map) +! print*,'k_a_iv = ',k_a_iv +! print*,'k_b_iv = ',k_b_iv +! complex*16 :: k_av,k_bv,k_ai,k_bi +! h1 = 16 +! p1 = 14 +! h2 = 14 +! p2 = 16 +! k_av = get_mo_bielec_integral(h1,h2,p1,p2,mo_integrals_map) +! h1 = 16 +! p1 = 15 +! h2 = 15 +! p2 = 16 +! k_bv = get_mo_bielec_integral(h1,h2,p1,p2,mo_integrals_map) +! +! h1 = 10 +! p1 = 14 +! h2 = 14 +! p2 = 10 +! k_ai = get_mo_bielec_integral(h1,h2,p1,p2,mo_integrals_map) +! +! h1 = 10 +! p1 = 15 +! h2 = 15 +! p2 = 10 +! k_bi = get_mo_bielec_integral(h1,h2,p1,p2,mo_integrals_map) +! +! print*,'k_av, k_bv = ',k_av,k_bv +! print*,'k_ai, k_bi = ',k_ai,k_bi +! complex*16 :: k_iv +! +! h1 = 10 +! p1 = 16 +! h2 = 16 +! p2 = 10 +! k_iv = get_mo_bielec_integral(h1,h2,p1,p2,mo_integrals_map) +! print*,'k_iv = ',k_iv +end diff --git a/src/green/print_h_omp_debug.irp.f b/src/green/print_h_omp_debug.irp.f new file mode 100644 index 00000000..abb8b127 --- /dev/null +++ b/src/green/print_h_omp_debug.irp.f @@ -0,0 +1,41 @@ +program print_h_omp_debug + implicit none + read_wf = .True. + touch read_wf + call routine_omp + +end + +subroutine routine_omp + use bitmasks + implicit none + integer :: h_size + complex*16, allocatable :: u_tmp(:,:), s_tmp(:,:),v_tmp(:,:) + integer :: i,n_st + h_size=N_det + BEGIN_DOC + ! |vec2> = H|vec1> + ! + ! TODO: implement + ! maybe reuse parts of H_S2_u_0_nstates_{openmp,zmq}? + END_DOC + n_st=min(1000,h_size) + allocate(u_tmp(n_st,h_size),s_tmp(n_st,h_size),v_tmp(n_st,h_size)) + + u_tmp=(0.d0,0.d0) + v_tmp=(0.d0,0.d0) + s_tmp=(0.d0,0.d0) + + do i=1,n_st + u_tmp(i,i)=(1.d0,0.d0) + enddo + + call h_s2_u_0_nstates_openmp(v_tmp,s_tmp,u_tmp,n_st,h_size) + do i = 1, n_st + v_tmp(i,i) += nuclear_repulsion + enddo + do i = 1, n_st + write(*,'(I3,X,A3,2000(E24.15))')i,' | ',v_tmp(i,:) + enddo + deallocate(u_tmp,v_tmp,s_tmp) +end diff --git a/src/green/print_spectral_dens.irp.f b/src/green/print_spectral_dens.irp.f new file mode 100644 index 00000000..ca6826ce --- /dev/null +++ b/src/green/print_spectral_dens.irp.f @@ -0,0 +1,43 @@ +program print_spectral_dens + implicit none + BEGIN_DOC +! TODO + END_DOC + read_wf = .True. + touch read_wf + provide n_green_vec + call print_lanczos_eigvals + call print_spec +end + +subroutine print_lanczos_eigvals + implicit none + integer :: i, iunit, j + integer :: getunitandopen + character(5) :: jstr + + do j=1,n_green_vec + write(jstr,'(I0.3)') j + iunit = getunitandopen('lanczos_eigval_alpha_beta.out.'//trim(jstr),'w') + print *, 'printing lanczos eigenvalues, alpha, beta to "lanczos_eigval_alpha_beta.out.'//trim(jstr)//'"' + do i=1,n_lanczos_iter + write(iunit,'(I6,3(E25.15))') i, lanczos_eigvals(i,j), alpha_lanczos(i,j), beta_lanczos(i,j) + enddo + close(iunit) + enddo +end +subroutine print_spec + implicit none + integer :: i, iunit, j + integer :: getunitandopen + character(5) :: jstr + do j=1,n_green_vec + write(jstr,'(I0.3)') j + iunit = getunitandopen('omega_A.out.'//trim(jstr),'w') + print *, 'printing frequency, spectral density to "omega_A.out.'//trim(jstr)//'"' + do i=1,n_omega + write(iunit,'(2(E25.15))') omega_list(i), spectral_lanczos(i,j) + enddo + close(iunit) + enddo +end diff --git a/src/green/utils_hp.irp.f b/src/green/utils_hp.irp.f new file mode 100644 index 00000000..0978f9ee --- /dev/null +++ b/src/green/utils_hp.irp.f @@ -0,0 +1,614 @@ +subroutine print_mo_energies(key_ref,nint,nmo) + use bitmasks + BEGIN_DOC + ! get mo energies for one det + END_DOC + implicit none + integer, intent(in) :: nint, nmo + integer(bit_kind), intent(in) :: key_ref(nint,2) + double precision, allocatable :: e_mo(:,:) + integer, allocatable :: occ(:,:),virt(:,:) !(nint*bit_kind_size,2) + integer :: n_occ(2), n_virt(2) + integer, parameter :: int_spin2(1:2) = (/2,1/) + integer :: i,j,ispin,jspin,i0,j0,k + integer(bit_kind), allocatable :: key_virt(:,:) + integer, allocatable :: is_occ(:,:) + + + allocate(occ(nint*bit_kind_size,2),virt(nint*bit_kind_size,2),key_virt(nint,2),e_mo(nmo,2),is_occ(nmo,2)) + is_occ=0 + + call bitstring_to_list_ab(key_ref,occ,n_occ,nint) + do i=1,nint + do ispin=1,2 + key_virt(i,ispin)=xor(full_ijkl_bitmask(i),key_ref(i,ispin)) + enddo + enddo + call bitstring_to_list_ab(key_virt,virt,n_virt,nint) + + e_mo(1:nmo,1)=mo_mono_elec_integral_diag(1:nmo) + e_mo(1:nmo,2)=mo_mono_elec_integral_diag(1:nmo) + + do ispin=1,2 + jspin=int_spin2(ispin) + do i0=1,n_occ(ispin) + i=occ(i0,ispin) + is_occ(i,ispin)=1 + do j0=i0+1,n_occ(ispin) + j=occ(j0,ispin) + e_mo(i,ispin) = e_mo(i,ispin) + mo_bielec_integral_jj_anti(i,j) + e_mo(j,ispin) = e_mo(j,ispin) + mo_bielec_integral_jj_anti(i,j) + enddo + do k=2,ispin + do j0=1,n_occ(jspin) + j=occ(j0,jspin) + e_mo(i,ispin) = e_mo(i,ispin) + mo_bielec_integral_jj(i,j) + e_mo(j,jspin) = e_mo(j,jspin) + mo_bielec_integral_jj(i,j) !can delete this and remove k level of loop + enddo + enddo + do j0=1,n_virt(ispin) + j=virt(j0,ispin) + e_mo(j,ispin) = e_mo(j,ispin) + mo_bielec_integral_jj_anti(i,j) + enddo + do j0=1,n_virt(jspin) + j=virt(j0,jspin) + e_mo(j,jspin) = e_mo(j,jspin) + mo_bielec_integral_jj(i,j) + enddo + enddo + enddo + + do i=1,nmo + write(6,'(2(I5),2(E25.15))')is_occ(i,1),is_occ(i,2),e_mo(i,1),e_mo(i,2) + enddo + deallocate(occ,virt,key_virt,e_mo,is_occ) +end + +subroutine get_mo_energies(key_ref,nint,nmo,e_mo) + use bitmasks + BEGIN_DOC + ! get mo energies for one det + END_DOC + implicit none + integer, intent(in) :: nint, nmo + integer(bit_kind), intent(in) :: key_ref(nint,2) + double precision, intent(out) :: e_mo(nmo,2) + integer, allocatable :: occ(:,:),virt(:,:) !(nint*bit_kind_size,2) + integer :: n_occ(2), n_virt(2) + integer, parameter :: int_spin2(1:2) = (/2,1/) + integer :: i,j,ispin,jspin,i0,j0,k + integer(bit_kind), allocatable :: key_virt(:,:) + + + allocate(occ(nint*bit_kind_size,2),virt(nint*bit_kind_size,2),key_virt(nint,2)) + + call bitstring_to_list_ab(key_ref,occ,n_occ,nint) + do i=1,nint + do ispin=1,2 + key_virt(i,ispin)=xor(full_ijkl_bitmask(i),key_ref(i,ispin)) + enddo + enddo + call bitstring_to_list_ab(key_virt,virt,n_virt,nint) + + e_mo(1:nmo,1)=mo_mono_elec_integral_diag(1:nmo) + e_mo(1:nmo,2)=mo_mono_elec_integral_diag(1:nmo) + + do ispin=1,2 + jspin=int_spin2(ispin) + do i0=1,n_occ(ispin) + i=occ(i0,ispin) + do j0=i0+1,n_occ(ispin) + j=occ(j0,ispin) + e_mo(i,ispin) = e_mo(i,ispin) + mo_bielec_integral_jj_anti(i,j) + e_mo(j,ispin) = e_mo(j,ispin) + mo_bielec_integral_jj_anti(i,j) + enddo + do k=2,ispin + do j0=1,n_occ(jspin) + j=occ(j0,jspin) + e_mo(i,ispin) = e_mo(i,ispin) + mo_bielec_integral_jj(i,j) + e_mo(j,jspin) = e_mo(j,jspin) + mo_bielec_integral_jj(i,j) !can delete this and remove k level of loop + enddo + enddo + do j0=1,n_virt(ispin) + j=virt(j0,ispin) + e_mo(j,ispin) = e_mo(j,ispin) + mo_bielec_integral_jj_anti(i,j) + enddo + do j0=1,n_virt(jspin) + j=virt(j0,jspin) + e_mo(j,jspin) = e_mo(j,jspin) + mo_bielec_integral_jj(i,j) + enddo + enddo + enddo + + deallocate(occ,virt,key_virt) +end + +subroutine get_mask_phase_new(det1, pm, Nint) + use bitmasks + BEGIN_DOC + ! phasemask copied from qp2 + ! return phasemask of det1 in pm + END_DOC + implicit none + integer, intent(in) :: Nint + integer(bit_kind), intent(in) :: det1(Nint,2) + integer(bit_kind), intent(out) :: pm(Nint,2) + integer(bit_kind) :: tmp1, tmp2 + integer :: i + pm(1:Nint,1:2) = det1(1:Nint,1:2) + tmp1 = 0_8 + tmp2 = 0_8 + do i=1,Nint + pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 1)) + pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 1)) + pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 2)) + pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 2)) + pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 4)) + pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 4)) + pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 8)) + pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 8)) + pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 16)) + pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 16)) + pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 32)) + pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 32)) + pm(i,1) = ieor(pm(i,1), tmp1) + pm(i,2) = ieor(pm(i,2), tmp2) + if(iand(popcnt(det1(i,1)), 1) == 1) tmp1 = not(tmp1) + if(iand(popcnt(det1(i,2)), 1) == 1) tmp2 = not(tmp2) + end do +end subroutine + +subroutine get_phase_hp(g_idx_int,g_idx_bit,g_spin,g_sign,det_in,g_det_phase,nint,n_g) + use bitmasks + implicit none + integer, intent(in) :: nint,n_g + integer, intent(in) :: g_idx_int(n_g), g_idx_bit(n_g),g_spin(n_g) + double precision, intent(in) :: g_sign(n_g) + integer(bit_kind), intent(in) :: det_in(nint,2) + double precision, intent(out) :: g_det_phase(n_g) + + integer(bit_kind) :: tmp_spindet(nint), pm(nint,2) + double precision, parameter :: phase_dble(0:1) = (/1.d0,-1.d0/) + + integer :: i + logical :: is_allowed(n_g), all_banned, is_filled + + all_banned=.True. + do i=1,n_g + tmp_spindet(1:nint) = det_in(1:nint,g_spin(i)) + call spinorb_is_filled_int_bit(tmp_spindet,g_idx_int(i),g_idx_bit(i),nint,is_filled) + is_allowed(i) = (.not.(((g_sign(i)<0).and.(.not.is_filled)).or.((g_sign(i)>0).and.(is_filled)))) + all_banned=(all_banned.and.(.not.is_allowed(i))) + enddo + + if (all_banned) then + g_det_phase(:)=0.d0 + else + call get_mask_phase_new(det_in,pm,nint) + do i=1,n_g + if (is_allowed(i)) then + g_det_phase(i) = phase_dble(popcnt(iand(ibset(0_bit_kind,g_idx_bit(i)),pm(g_idx_int(i),g_spin(i))))) + else + g_det_phase(i)=0.d0 + endif + enddo + endif +end + +subroutine get_homo_lumo(key_ref,nint,nmo,idx_homo_lumo,spin_homo_lumo) + use bitmasks + implicit none + integer, intent(in) :: nint,nmo + integer(bit_kind), intent(in) :: key_ref(nint,2) + integer, intent(out) :: idx_homo_lumo(2), spin_homo_lumo(2) + + double precision, allocatable :: e_mo(:,:) + integer, allocatable :: occ(:,:),virt(:,:) !(nint*bit_kind_size,2) + integer :: n_occ(2), n_virt(2) + integer :: i,i0,ispin + integer(bit_kind), allocatable :: key_virt(:,:) + double precision :: maxocc(2), minvirt(2) + integer :: imaxocc(2), iminvirt(2) + + allocate(e_mo(nmo,2),key_virt(nint,2),occ(nint*bit_kind_size,2),virt(nint*bit_kind_size,2)) + + call get_mo_energies(key_ref,nint,nmo,e_mo) + + !allocate(occ(nint*bit_kind_size,2),virt(nint*bit_kind_size,2)) + + call bitstring_to_list_ab(key_ref,occ,n_occ,nint) + do i=1,nint + do ispin=1,2 + key_virt(i,ispin)=xor(full_ijkl_bitmask(i),key_ref(i,ispin)) + enddo + enddo + call bitstring_to_list_ab(key_virt,virt,n_virt,nint) + + maxocc=-1.d20 !maybe use -1.d0*huge(0.d0)? + minvirt=1.d20 + imaxocc=-1 + iminvirt=-1 + + do ispin=1,2 + do i0=1,n_occ(ispin) + i=occ(i0,ispin) + if (e_mo(i,ispin).gt.maxocc(ispin)) then + maxocc(ispin)=e_mo(i,ispin) + imaxocc(ispin)=i + endif + enddo + do i0=1,n_virt(ispin) + i=virt(i0,ispin) + if (e_mo(i,ispin).lt.minvirt(ispin)) then + minvirt(ispin)=e_mo(i,ispin) + iminvirt(ispin)=i + endif + enddo + enddo + double precision :: e_mo_thresh + e_mo_thresh = 1.d-8 + !these should both just be 2x2 arrays, but performance here doesn't really matter and this is more readable + !if (maxocc(1).ge.maxocc(2)) then + if ((maxocc(2)-maxocc(1)).le.e_mo_thresh) then + spin_homo_lumo(1)=1 + else + spin_homo_lumo(1)=2 + endif + if ((minvirt(1)-minvirt(2)).le.e_mo_thresh) then + spin_homo_lumo(2)=1 + else + spin_homo_lumo(2)=2 + endif + + idx_homo_lumo(1)=imaxocc(spin_homo_lumo(1)) + idx_homo_lumo(2)=iminvirt(spin_homo_lumo(2)) + + deallocate(e_mo,occ,virt,key_virt) + +end + +subroutine get_list_hp_banned_ab(tmp_det,N_hp,exc_is_banned,spin_hp,sign_hp,idx_hp,nint,all_banned) + use bitmasks + implicit none + BEGIN_DOC + ! input determinant tmp_det and list of single holes/particles + ! for each hole/particle, determine whether it is filled/empty in tmp_det + ! return which are disallowed in exc_is_banned + ! if all are banned, set all_banned to true + END_DOC + integer, intent(in) :: N_hp,nint + integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) + double precision, intent(in) :: sign_hp(N_hp) + integer(bit_kind), intent(in) :: tmp_det(nint,2) + logical, intent(out) :: exc_is_banned(N_hp) + logical, intent(out) :: all_banned + + integer :: i + logical :: is_filled + + all_banned = .True. + do i=1,N_hp + call orb_is_filled(tmp_det,idx_hp(i),spin_hp(i),nint,is_filled) + if (sign_hp(i).gt.0) then ! particle creation, banned if already filled + exc_is_banned(i) = is_filled + else ! hole creation, banned if already empty + exc_is_banned(i) = (.not.is_filled) + endif + all_banned = (all_banned.and.exc_is_banned(i)) + enddo +end + +subroutine get_list_hp_banned_single_spin(tmp_spindet,N_hp,exc_is_banned,spin_hp,sign_hp,idx_hp,ispin,nint,all_banned) + use bitmasks + implicit none + BEGIN_DOC + ! input spindeterminant tmp_spindet and list of single holes/particles + ! tmp_spindet is only one spin part of a full det, with spin==ispin + ! for each hole/particle, determine whether it is filled/empty in tmp_det + ! return which are disallowed in exc_is_banned + ! if all are banned, set all_banned to true + END_DOC + integer, intent(in) :: N_hp, ispin, nint + integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) + double precision, intent(in) :: sign_hp(N_hp) + integer(bit_kind), intent(in) :: tmp_spindet(nint) + logical, intent(out) :: exc_is_banned(N_hp) + logical, intent(out) :: all_banned + + integer :: i + logical :: is_filled + + all_banned = .True. + do i=1,N_hp + if (spin_hp(i).eq.ispin) then + call orb_is_filled_single_spin(tmp_spindet,idx_hp(i),nint,is_filled) + if (sign_hp(i).gt.0) then ! particle creation, banned if already filled + exc_is_banned(i) = is_filled + else ! hole creation, banned if already empty + exc_is_banned(i) = (.not.is_filled) + endif + else + exc_is_banned(i) = .False. + endif + all_banned = (all_banned.and.exc_is_banned(i)) + enddo +end + +subroutine get_list_hp_banned_spin(tmp_det,N_hp,exc_is_banned,spin_hp,sign_hp,idx_hp,ispin,nint,all_banned) + use bitmasks + implicit none + BEGIN_DOC + ! input determinant tmp_det and list of single holes/particles + ! for each hole/particle, determine whether it is filled/empty in tmp_det + ! return which are disallowed in exc_is_banned + ! if all are banned, set all_banned to true + ! only consider tmp_det(1:N_int, ispin) + END_DOC + integer, intent(in) :: N_hp, ispin, nint + integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) + double precision, intent(in) :: sign_hp(N_hp) + integer(bit_kind), intent(in) :: tmp_det(nint,2) + logical, intent(out) :: exc_is_banned(N_hp) + logical, intent(out) :: all_banned + + integer(bit_kind) :: spindet(nint) + + integer :: i + logical :: is_filled + spindet(1:nint) = tmp_det(1:nint,ispin) + + all_banned = .True. + do i=1,N_hp + if (spin_hp(i).eq.ispin) then + call orb_is_filled(tmp_det,idx_hp(i),ispin,nint,is_filled) + if (sign_hp(i).gt.0) then ! particle creation, banned if already filled + exc_is_banned(i) = is_filled + else ! hole creation, banned if already empty + exc_is_banned(i) = (.not.is_filled) + endif + else + exc_is_banned(i) = .False. + endif + all_banned = (all_banned.and.exc_is_banned(i)) + enddo +end + + +subroutine spinorb_is_filled_int_bit(key_ref,iorb_int,iorb_bit,Nint,is_filled) + use bitmasks + implicit none + BEGIN_DOC + ! determine whether iorb is filled in key_ref + ! iorb is specified by int and bit locations within the determinant + END_DOC + integer, intent(in) :: iorb_int, iorb_bit, Nint + integer(bit_kind), intent(in) :: key_ref(Nint) + logical, intent(out) :: is_filled + + ASSERT (iorb_int > 0) + ASSERT (iorb_bit >= 0) + ASSERT (Nint > 0) + is_filled = btest(key_ref(iorb_int),iorb_bit) +end + +subroutine orb_is_filled_int_bit(key_ref,iorb_int,iorb_bit,ispin,Nint,is_filled) + use bitmasks + implicit none + BEGIN_DOC + ! todo: not finished + ! determine whether iorb is filled in key_ref + ! iorb is specified by int and bit locations within the determinant + END_DOC + integer, intent(in) :: iorb_int, iorb_bit, ispin, Nint + integer(bit_kind), intent(in) :: key_ref(Nint,2) + logical, intent(out) :: is_filled + + ASSERT (iorb_int > 0) + ASSERT (iorb_bit >= 0) + ASSERT (ispin > 0) + ASSERT (ispin < 3) + ASSERT (Nint > 0) + is_filled = btest(key_ref(iorb_int,ispin),iorb_bit) +! call spinorb_is_filled_int_bit(key_ref(1,ispin),iorb_int,iorb_bit,Nint,is_filled) +end + +subroutine get_orb_int_bit(iorb,iorb_int,iorb_bit) + BEGIN_DOC + ! get int and bit corresponding to orbital index iorb + END_DOC + use bitmasks + implicit none + integer, intent(in) :: iorb + integer, intent(out) :: iorb_int, iorb_bit + ASSERT (iorb > 0) + iorb_int = ishft(iorb-1,-bit_kind_shift)+1 + ASSERT (iorb_int > 0) + iorb_bit = iorb - ishft(iorb_int-1,bit_kind_shift)-1 + ASSERT (iorb_bit >= 0) +end + +subroutine orb_is_filled_single_spin(key_ref,iorb,Nint,is_filled) + use bitmasks + implicit none + BEGIN_DOC + ! determine whether iorb is filled in key_ref + ! key_ref is single alpha or beta determinant + END_DOC + integer, intent(in) :: iorb, Nint + integer(bit_kind), intent(in) :: key_ref(Nint) + logical, intent(out) :: is_filled + + integer :: k,l + + ASSERT (iorb > 0) + ASSERT (Nint > 0) + + ! k is index of the int where iorb is found + ! l is index of the bit where iorb is found + k = ishft(iorb-1,-bit_kind_shift)+1 + ASSERT (k >0) + l = iorb - ishft(k-1,bit_kind_shift)-1 + ASSERT (l >= 0) + is_filled = btest(key_ref(k),l) +end + +subroutine orb_is_filled(key_ref,iorb,ispin,Nint,is_filled) + use bitmasks + implicit none + BEGIN_DOC + ! determine whether iorb, ispin is filled in key_ref + ! key_ref has alpha and beta parts + END_DOC + integer, intent(in) :: iorb, ispin, Nint + integer(bit_kind), intent(in) :: key_ref(Nint,2) + logical, intent(out) :: is_filled + + integer :: k,l + + ASSERT (iorb > 0) + ASSERT (ispin > 0) + ASSERT (ispin < 3) + ASSERT (Nint > 0) + + ! k is index of the int where iorb is found + ! l is index of the bit where iorb is found + k = ishft(iorb-1,-bit_kind_shift)+1 + ASSERT (k >0) + l = iorb - ishft(k-1,bit_kind_shift)-1 + ASSERT (l >= 0) + is_filled = btest(key_ref(k,ispin),l) +end + +subroutine ac_operator_phase(key_new,key_ref,iorb,ispin,Nint,phase) + use bitmasks + implicit none + BEGIN_DOC + ! apply creation operator to key_ref + ! add electron with spin ispin to orbital with index iorb + ! output resulting det and phase in key_new and phase + END_DOC + integer, intent(in) :: iorb, ispin, Nint + integer(bit_kind), intent(in) :: key_ref(Nint,2) + integer(bit_kind), intent(out) :: key_new(Nint,2) + double precision, intent(out) :: phase + + integer :: k,l,i + + double precision, parameter :: p(0:1) = (/ 1.d0, -1.d0 /) + + ASSERT (iorb > 0) + ASSERT (ispin > 0) + ASSERT (ispin < 3) + ASSERT (Nint > 0) + + key_new=key_ref + + ! alpha det is list of Nint 64-bit ints + ! k is index of the int where iorb is found + ! l is index of the bit where iorb is found + k = ishft(iorb-1,-bit_kind_shift)+1 + ASSERT (k >0) + l = iorb - ishft(k-1,bit_kind_shift)-1 + ASSERT (l >= 0) + key_new(k,ispin) = ibset(key_new(k,ispin),l) + + integer(bit_kind) :: parity_filled + + ! I assume here that the ordering is all alpha spinorbs and then all beta spinorbs + ! If we add an alpha electron, parity is not affected by beta part of determinant + ! (only need number of alpha occupied orbs below iorb) + + ! If we add a beta electron, the parity is affected by alpha part + ! (need total number of occupied alpha orbs (all of which come before beta) + ! and total number of beta occupied orbs below iorb) + + if (ispin==1) then + parity_filled=0_bit_kind + else + parity_filled=iand(elec_alpha_num,1_bit_kind) + endif + + ! get parity due to orbs in other ints (with lower indices) + do i=1,k-1 + parity_filled = iand(popcnt(key_ref(i,ispin)),parity_filled) + enddo + + ! get parity due to orbs in same int as iorb + ! ishft(1_bit_kind,l)-1 has its l rightmost bits set to 1, other bits set to 0 + parity_filled = iand(popcnt(iand(ishft(1_bit_kind,l)-1,key_ref(k,ispin))),parity_filled) + phase = p(iand(1_bit_kind,parity_filled)) + +end + +subroutine a_operator_phase(key_new,key_ref,iorb,ispin,Nint,phase) + use bitmasks + implicit none + BEGIN_DOC + ! apply annihilation operator to key_ref + ! remove electron with spin ispin to orbital with index iorb + ! output resulting det and phase in key_new and phase + END_DOC + integer, intent(in) :: iorb, ispin, Nint + integer(bit_kind), intent(in) :: key_ref(Nint,2) + integer(bit_kind), intent(out) :: key_new(Nint,2) + double precision, intent(out) :: phase + + integer :: k,l,i + + double precision, parameter :: p(0:1) = (/ 1.d0, -1.d0 /) + + ASSERT (iorb > 0) + ASSERT (ispin > 0) + ASSERT (ispin < 3) + ASSERT (Nint > 0) + + key_new=key_ref + + ! alpha det is list of Nint 64-bit ints + ! k is index of the int where iorb is found + ! l is index of the bit where iorb is found + k = ishft(iorb-1,-bit_kind_shift)+1 + ASSERT (k >0) + l = iorb - ishft(k-1,bit_kind_shift)-1 + ASSERT (l >= 0) + key_new(k,ispin) = ibclr(key_new(k,ispin),l) + + integer(bit_kind) :: parity_filled + + ! I assume here that the ordering is all alpha spinorbs and then all beta spinorbs + ! If we add an alpha electron, parity is not affected by beta part of determinant + ! (only need number of alpha occupied orbs below iorb) + + ! If we add a beta electron, the parity is affected by alpha part + ! (need total number of occupied alpha orbs (all of which come before beta) + ! and total number of beta occupied orbs below iorb) + + if (ispin==1) then + parity_filled=0_bit_kind + else + parity_filled=iand(elec_alpha_num,1_bit_kind) + endif + + ! get parity due to orbs in other ints (with lower indices) + do i=1,k-1 + parity_filled = iand(popcnt(key_ref(i,ispin)),parity_filled) + enddo + + ! get parity due to orbs in same int as iorb + ! ishft(1_bit_kind,l)-1 has its l rightmost bits set to 1, other bits set to 0 + parity_filled = iand(popcnt(iand(ishft(1_bit_kind,l)-1,key_ref(k,ispin))),parity_filled) + phase = p(iand(1_bit_kind,parity_filled)) + +end +BEGIN_PROVIDER [ double precision, mo_mono_elec_integral_diag,(mo_tot_num)] + implicit none + integer :: i + BEGIN_DOC + ! diagonal elements of mo_mono_elec_integral array + END_DOC + print*,'Providing the mono electronic integrals (diagonal)' + + do i = 1, mo_tot_num + mo_mono_elec_integral_diag(i) = real(mo_mono_elec_integral(i,i)) + enddo + +END_PROVIDER From 25d0cbaa7537647c08a02fd51a61ec6c37116dca Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Tue, 2 Jun 2020 11:59:14 -0500 Subject: [PATCH 115/138] complex to double in ezfio --- src/green/EZFIO.cfg | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/green/EZFIO.cfg b/src/green/EZFIO.cfg index 859a3eb9..0ad57888 100644 --- a/src/green/EZFIO.cfg +++ b/src/green/EZFIO.cfg @@ -73,14 +73,14 @@ size: (green.n_lanczos_iter,green.n_green_vec) [un_lanczos] interface: ezfio doc: saved lanczos u vector -type: complex*16 -size: (determinants.n_det,green.n_green_vec) +type: double precision +size: (2,determinants.n_det,green.n_green_vec) [vn_lanczos] interface: ezfio doc: saved lanczos v vector -type: complex*16 -size: (determinants.n_det,green.n_green_vec) +type: double precision +size: (2,determinants.n_det,green.n_green_vec) [lanczos_eigvals] interface: ezfio From 0fd6eb3897a9abff08574b0f58eb3d4ca6d35784 Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Wed, 3 Jun 2020 16:13:16 -0500 Subject: [PATCH 116/138] updated green for qp2 --- src/green/green.main.irp.f | 2 +- src/green/hu0_hp.irp.f | 54 ++++++++++++------------ src/green/hu0_lanczos.irp.f | 10 ++--- src/green/lanczos.irp.f | 13 +++--- src/green/plot-spec-dens.py | 2 +- src/green/print_e_mo_debug.irp.f | 2 +- src/green/print_h_debug.irp.f | 6 +-- src/green/print_h_omp_debug.irp.f | 2 +- src/green/utils_hp.irp.f | 70 +++++++++++++++---------------- src/utils/constants.include.F | 1 + 10 files changed, 82 insertions(+), 80 deletions(-) diff --git a/src/green/green.main.irp.f b/src/green/green.main.irp.f index c9b3ef66..3fe26424 100644 --- a/src/green/green.main.irp.f +++ b/src/green/green.main.irp.f @@ -15,7 +15,7 @@ end subroutine psicoefprinttest implicit none integer :: i - TOUCH psi_coef + TOUCH psi_coef_complex print *, 'printing ndet', N_det end subroutine print_lanczos_eigvals diff --git a/src/green/hu0_hp.irp.f b/src/green/hu0_hp.irp.f index c3d8be40..4fa7275f 100644 --- a/src/green/hu0_hp.irp.f +++ b/src/green/hu0_hp.irp.f @@ -595,22 +595,22 @@ subroutine i_h_j_double_spin_hp(key_i,key_j,Nint,ispin,hij_hp,N_hp,spin_hp,sign_ double precision :: phase_hp(N_hp) integer :: exc(0:2,2) double precision :: phase - complex*16, external :: get_mo_bielec_integral + complex*16, external :: mo_two_e_integral_complex integer :: i1,i2,i3,i4,j2,j3,ii - PROVIDE big_array_exchange_integrals mo_bielec_integrals_in_map + PROVIDE big_array_exchange_integrals_complex mo_two_e_integrals_in_map call get_double_excitation_spin(key_i,key_j,exc,phase,Nint) - hij0 = phase*(get_mo_bielec_integral( & + hij0 = phase*(mo_two_e_integral_complex( & exc(1,1), & exc(2,1), & exc(1,2), & - exc(2,2), mo_integrals_map) - & - get_mo_bielec_integral( & + exc(2,2)) - & + mo_two_e_integral_complex( & exc(1,1), & exc(2,1), & exc(2,2), & - exc(1,2), mo_integrals_map) ) + exc(1,2)) ) ASSERT (exc(1,1) < exc(2,1)) ASSERT (exc(1,2) < exc(2,2)) @@ -661,14 +661,14 @@ subroutine i_h_j_mono_spin_hp(key_i,key_j,Nint,spin,hij_hp,N_hp,spin_hp,sign_hp, integer :: exc(0:2,2) double precision :: phase - PROVIDE big_array_exchange_integrals mo_bielec_integrals_in_map + PROVIDE big_array_exchange_integrals_complex mo_two_e_integrals_in_map - call get_mono_excitation_spin(key_i(1,spin),key_j(1,spin),exc,phase,Nint) + call get_single_excitation_spin(key_i(1,spin),key_j(1,spin),exc,phase,Nint) - call get_mono_excitation_from_fock_hp(key_i,key_j,exc(1,1),exc(1,2),spin,phase,N_hp,hij_hp,spin_hp,sign_hp,idx_hp,allowed_hp) + call get_single_excitation_from_fock_hp(key_i,key_j,exc(1,1),exc(1,2),spin,phase,N_hp,hij_hp,spin_hp,sign_hp,idx_hp,allowed_hp) end -subroutine get_mono_excitation_from_fock_hp(det_1,det_2,h,p,spin,phase,N_hp,hij_hp,spin_hp,sign_hp,idx_hp,allowed_hp) +subroutine get_single_excitation_from_fock_hp(det_1,det_2,h,p,spin,phase,N_hp,hij_hp,spin_hp,sign_hp,idx_hp,allowed_hp) use bitmasks implicit none integer,intent(in) :: h,p,spin,N_hp @@ -699,37 +699,37 @@ subroutine get_mono_excitation_from_fock_hp(det_1,det_2,h,p,spin,phase,N_hp,hij_ enddo call bitstring_to_list_ab(hole, occ_hole, n_occ_ab_hole, N_int) call bitstring_to_list_ab(partcl, occ_partcl, n_occ_ab_partcl, N_int) - hij0 = fock_operator_closed_shell_ref_bitmask(h,p) + hij0 = fock_op_cshell_ref_bitmask_cplx(h,p) ! holes :: direct terms do i0 = 1, n_occ_ab_hole(1) i = occ_hole(i0,1) - hij0 -= big_array_coulomb_integrals(i,h,p) ! get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) + hij0 -= big_array_coulomb_integrals_complex(i,h,p) ! get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) enddo do i0 = 1, n_occ_ab_hole(2) i = occ_hole(i0,2) - hij0 -= big_array_coulomb_integrals(i,h,p) !get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) + hij0 -= big_array_coulomb_integrals_complex(i,h,p) !get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) enddo ! holes :: exchange terms do i0 = 1, n_occ_ab_hole(spin) i = occ_hole(i0,spin) - hij0 += big_array_exchange_integrals(i,h,p) ! get_mo_bielec_integral_schwartz(h,i,i,p,mo_integrals_map) + hij0 += big_array_exchange_integrals_complex(i,h,p) ! get_mo_bielec_integral_schwartz(h,i,i,p,mo_integrals_map) enddo ! particles :: direct terms do i0 = 1, n_occ_ab_partcl(1) i = occ_partcl(i0,1) - hij0 += big_array_coulomb_integrals(i,h,p)!get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) + hij0 += big_array_coulomb_integrals_complex(i,h,p)!get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) enddo do i0 = 1, n_occ_ab_partcl(2) i = occ_partcl(i0,2) - hij0 += big_array_coulomb_integrals(i,h,p) !get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) + hij0 += big_array_coulomb_integrals_complex(i,h,p) !get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) enddo ! particles :: exchange terms do i0 = 1, n_occ_ab_partcl(spin) i = occ_partcl(i0,spin) - hij0 -= big_array_exchange_integrals(i,h,p)!get_mo_bielec_integral_schwartz(h,i,i,p,mo_integrals_map) + hij0 -= big_array_exchange_integrals_complex(i,h,p)!get_mo_bielec_integral_schwartz(h,i,i,p,mo_integrals_map) enddo low=min(h,p) @@ -771,7 +771,7 @@ subroutine get_mono_excitation_from_fock_hp(det_1,det_2,h,p,spin,phase,N_hp,hij_ hij_hp(ii) = 0.d0 cycle else if (spin.eq.spin_hp(ii)) then - hij_hp(ii) = hij0 + sign_hp(ii) *(big_array_coulomb_integrals(idx_hp(ii),h,p) - big_array_exchange_integrals(idx_hp(ii),h,p)) + hij_hp(ii) = hij0 + sign_hp(ii) *(big_array_coulomb_integrals_complex(idx_hp(ii),h,p) - big_array_exchange_integrals_complex(idx_hp(ii),h,p)) if ((low.lt.idx_hp(ii)).and.(high.gt.idx_hp(ii))) then phase_hp(ii) = -1.d0 else @@ -779,7 +779,7 @@ subroutine get_mono_excitation_from_fock_hp(det_1,det_2,h,p,spin,phase,N_hp,hij_ endif else phase_hp(ii) = 1.d0 - hij_hp(ii) = hij0 + sign_hp(ii) * big_array_coulomb_integrals(idx_hp(ii),h,p) + hij_hp(ii) = hij0 + sign_hp(ii) * big_array_coulomb_integrals_complex(idx_hp(ii),h,p) endif hij_hp(ii) = hij_hp(ii) * phase * phase_hp(ii) enddo @@ -806,24 +806,24 @@ subroutine i_H_j_double_alpha_beta_hp(key_i,key_j,Nint,hij_hp,N_hp,spin_hp,sign_ integer :: lowhigh(2,2) integer :: exc(0:2,2,2) double precision :: phase, phase2 - complex*16, external :: get_mo_bielec_integral + complex*16, external :: mo_two_e_integral_complex - PROVIDE big_array_exchange_integrals mo_bielec_integrals_in_map + PROVIDE big_array_exchange_integrals_complex mo_two_e_integrals_in_map - call get_mono_excitation_spin(key_i(1,1),key_j(1,1),exc(0,1,1),phase,Nint) - call get_mono_excitation_spin(key_i(1,2),key_j(1,2),exc(0,1,2),phase2,Nint) + call get_single_excitation_spin(key_i(1,1),key_j(1,1),exc(0,1,1),phase,Nint) + call get_single_excitation_spin(key_i(1,2),key_j(1,2),exc(0,1,2),phase2,Nint) phase = phase*phase2 if (exc(1,1,1) == exc(1,2,2)) then - hij0 = big_array_exchange_integrals(exc(1,1,1),exc(1,1,2),exc(1,2,1)) + hij0 = big_array_exchange_integrals_complex(exc(1,1,1),exc(1,1,2),exc(1,2,1)) else if (exc(1,2,1) == exc(1,1,2)) then - hij0 = big_array_exchange_integrals(exc(1,2,1),exc(1,1,1),exc(1,2,2)) + hij0 = big_array_exchange_integrals_complex(exc(1,2,1),exc(1,1,1),exc(1,2,2)) else - hij0 = get_mo_bielec_integral( & + hij0 = mo_two_e_integral_complex( & exc(1,1,1), & exc(1,1,2), & exc(1,2,1), & - exc(1,2,2) ,mo_integrals_map) + exc(1,2,2)) endif !todo: clean this up diff --git a/src/green/hu0_lanczos.irp.f b/src/green/hu0_lanczos.irp.f index e4da5c78..6f7ebf1d 100644 --- a/src/green/hu0_lanczos.irp.f +++ b/src/green/hu0_lanczos.irp.f @@ -194,7 +194,7 @@ subroutine H_u_0_openmp_work_$N_int(v_t,u_t,sze,istart,iend,ishift,istep) ASSERT (lrow <= N_det_alpha_unique) tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - call i_h_j_double_alpha_beta(tmp_det,tmp_det2,$N_int,hij) + call i_h_j_double_alpha_beta_complex(tmp_det,tmp_det2,$N_int,hij) v_t(k_a) = v_t(k_a) + hij * u_t(l_a) enddo enddo @@ -264,7 +264,7 @@ subroutine H_u_0_openmp_work_$N_int(v_t,u_t,sze,istart,iend,ishift,istep) ASSERT (lrow <= N_det_alpha_unique) tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - call i_H_j_mono_spin( tmp_det, tmp_det2, $N_int, 1, hij) + call i_h_j_single_spin_complex( tmp_det, tmp_det2, $N_int, 1, hij) v_t(k_a) = v_t(k_a) + hij * u_t(l_a) enddo @@ -280,7 +280,7 @@ subroutine H_u_0_openmp_work_$N_int(v_t,u_t,sze,istart,iend,ishift,istep) lrow = psi_bilinear_matrix_rows(l_a) ASSERT (lrow <= N_det_alpha_unique) - call i_H_j_double_spin( tmp_det(1,1), psi_det_alpha_unique(1, lrow), $N_int, hij) + call i_h_j_double_spin_complex( tmp_det(1,1), psi_det_alpha_unique(1, lrow), $N_int, hij) v_t(k_a) = v_t(k_a) + hij * u_t(l_a) enddo @@ -341,7 +341,7 @@ subroutine H_u_0_openmp_work_$N_int(v_t,u_t,sze,istart,iend,ishift,istep) ASSERT (lcol <= N_det_beta_unique) tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, lcol) - call i_H_j_mono_spin( tmp_det, tmp_det2, $N_int, 2, hij) + call i_h_j_single_spin_complex( tmp_det, tmp_det2, $N_int, 2, hij) l_a = psi_bilinear_matrix_transp_order(l_b) ASSERT (l_a <= N_det) v_t(k_a) = v_t(k_a) + hij * u_t(l_a) @@ -357,7 +357,7 @@ subroutine H_u_0_openmp_work_$N_int(v_t,u_t,sze,istart,iend,ishift,istep) lcol = psi_bilinear_matrix_transp_columns(l_b) ASSERT (lcol <= N_det_beta_unique) - call i_H_j_double_spin( tmp_det(1,2), psi_det_beta_unique(1, lcol), $N_int, hij) + call i_h_j_double_spin_complex( tmp_det(1,2), psi_det_beta_unique(1, lcol), $N_int, hij) l_a = psi_bilinear_matrix_transp_order(l_b) ASSERT (l_a <= N_det) diff --git a/src/green/lanczos.irp.f b/src/green/lanczos.irp.f index a2557abb..baf66d80 100644 --- a/src/green/lanczos.irp.f +++ b/src/green/lanczos.irp.f @@ -28,7 +28,7 @@ END_PROVIDER integer :: idx_homo_lumo(2), spin_homo_lumo(2) logical :: has_idx,has_spin,has_sign,has_lanc integer :: nlanc - ! needs psi_det, mo_tot_num, N_int, mo_bielec_integral_jj, mo_mono_elec_integral_diag + ! needs psi_det, mo_num, N_int, mo_bielec_integral_jj, mo_mono_elec_integral_diag call ezfio_has_green_green_idx(has_idx) call ezfio_has_green_green_spin(has_spin) call ezfio_has_green_green_sign(has_sign) @@ -43,7 +43,7 @@ END_PROVIDER stop 'problem with lanczos restart; need idx, spin, sign' else print*,'new lanczos calculation, finding homo/lumo' - call get_homo_lumo(psi_det(1:N_int,1:2,1),N_int,mo_tot_num,idx_homo_lumo,spin_homo_lumo) + call get_homo_lumo(psi_det(1:N_int,1:2,1),N_int,mo_num,idx_homo_lumo,spin_homo_lumo) ! homo green_idx(1)=idx_homo_lumo(1) @@ -75,7 +75,7 @@ END_PROVIDER ! endif ! else ! print*,'new lanczos calculation, finding homo/lumo' -! call get_homo_lumo(psi_det(1:N_int,1:2,1),N_int,mo_tot_num,idx_homo_lumo,spin_homo_lumo) +! call get_homo_lumo(psi_det(1:N_int,1:2,1),N_int,mo_num,idx_homo_lumo,spin_homo_lumo) ! ! ! homo ! green_idx(1)=idx_homo_lumo(1) @@ -279,9 +279,9 @@ BEGIN_PROVIDER [ double precision, spectral_lanczos, (n_omega,n_green_vec) ] logical :: has_ci_energy double precision :: ref_energy_0 PROVIDE delta_omega alpha_lanczos beta_lanczos omega_list - call ezfio_has_full_ci_zmq_energy(has_ci_energy) + call ezfio_has_fci_energy(has_ci_energy) if (has_ci_energy) then - call ezfio_get_full_ci_zmq_energy(ref_energy_0) + call ezfio_get_fci_energy(ref_energy_0) else print*,'no reference energy from full_ci_zmq, exiting' stop @@ -469,7 +469,8 @@ subroutine lanczos_h_step_hp(uu,vv,work,sze,alpha_i,beta_i,ng,spin_hp,sign_hp,id complex*16, intent(inout) :: uu(sze,ng),vv(sze,ng) complex*16, intent(out) :: work(sze,ng) double precision, intent(out) :: alpha_i(ng), beta_i(ng) - integer, intent(in) :: spin_hp(ng), sign_hp(ng), idx_hp(ng) + integer, intent(in) :: spin_hp(ng), idx_hp(ng) + double precision, intent(in) :: sign_hp(ng) double precision, external :: dznrm2 complex*16, external :: u_dot_v_complex diff --git a/src/green/plot-spec-dens.py b/src/green/plot-spec-dens.py index 88e2dfec..bf4f2294 100755 --- a/src/green/plot-spec-dens.py +++ b/src/green/plot-spec-dens.py @@ -23,7 +23,7 @@ def printspec(ezdir,wmin,wmax,nw,eps): gdir=ezdir+'/green/' with open(gdir+'n_green_vec') as infile: ngvec=int(infile.readline().strip()) - with open(ezdir+'/full_ci_zmq/energy') as infile: + with open(ezdir+'/fci/energy') as infile: e0=float(infile.readline().strip()) with open(gdir+'n_lanczos_complete') as infile: nlanc=int(infile.readline().strip()) diff --git a/src/green/print_e_mo_debug.irp.f b/src/green/print_e_mo_debug.irp.f index 7bd738bc..1fe41e34 100644 --- a/src/green/print_e_mo_debug.irp.f +++ b/src/green/print_e_mo_debug.irp.f @@ -11,5 +11,5 @@ subroutine routine implicit none integer :: i read*,i - call print_mo_energies(psi_det(:,:,i),N_int,mo_tot_num) + call print_mo_energies(psi_det(:,:,i),N_int,mo_num) end diff --git a/src/green/print_h_debug.irp.f b/src/green/print_h_debug.irp.f index 10cc31d3..4dd394d7 100644 --- a/src/green/print_h_debug.irp.f +++ b/src/green/print_h_debug.irp.f @@ -53,7 +53,7 @@ subroutine routine print*,'H matrix ' double precision :: s2 complex*16 :: ref_h_matrix - ref_h_matrix = h_matrix_all_dets(1,1) + ref_h_matrix = h_matrix_all_dets_complex(1,1) print*,'HF like determinant energy = ',ref_bitmask_energy+nuclear_repulsion print*,'Ref element of H_matrix = ',ref_h_matrix+nuclear_repulsion print*,'Printing the H matrix ...' @@ -64,7 +64,7 @@ subroutine routine !enddo do i = 1, N_det - H_matrix_all_dets(i,i) += nuclear_repulsion + H_matrix_all_dets_complex(i,i) += nuclear_repulsion enddo !do i = 5,N_det @@ -79,7 +79,7 @@ subroutine routine ! TODO: change for complex do i = 1, N_det - write(*,'(I3,X,A3,2000(E24.15))')i,' | ',H_matrix_all_dets(i,:) + write(*,'(I3,X,A3,2000(E24.15))')i,' | ',H_matrix_all_dets_complex(i,:) enddo ! print*,'' diff --git a/src/green/print_h_omp_debug.irp.f b/src/green/print_h_omp_debug.irp.f index abb8b127..0a9cd930 100644 --- a/src/green/print_h_omp_debug.irp.f +++ b/src/green/print_h_omp_debug.irp.f @@ -30,7 +30,7 @@ subroutine routine_omp u_tmp(i,i)=(1.d0,0.d0) enddo - call h_s2_u_0_nstates_openmp(v_tmp,s_tmp,u_tmp,n_st,h_size) + call h_s2_u_0_nstates_openmp_complex(v_tmp,s_tmp,u_tmp,n_st,h_size) do i = 1, n_st v_tmp(i,i) += nuclear_repulsion enddo diff --git a/src/green/utils_hp.irp.f b/src/green/utils_hp.irp.f index 0978f9ee..264e3014 100644 --- a/src/green/utils_hp.irp.f +++ b/src/green/utils_hp.irp.f @@ -26,8 +26,8 @@ subroutine print_mo_energies(key_ref,nint,nmo) enddo call bitstring_to_list_ab(key_virt,virt,n_virt,nint) - e_mo(1:nmo,1)=mo_mono_elec_integral_diag(1:nmo) - e_mo(1:nmo,2)=mo_mono_elec_integral_diag(1:nmo) + e_mo(1:nmo,1)=mo_one_e_integrals_diag(1:nmo) + e_mo(1:nmo,2)=mo_one_e_integrals_diag(1:nmo) do ispin=1,2 jspin=int_spin2(ispin) @@ -36,23 +36,23 @@ subroutine print_mo_energies(key_ref,nint,nmo) is_occ(i,ispin)=1 do j0=i0+1,n_occ(ispin) j=occ(j0,ispin) - e_mo(i,ispin) = e_mo(i,ispin) + mo_bielec_integral_jj_anti(i,j) - e_mo(j,ispin) = e_mo(j,ispin) + mo_bielec_integral_jj_anti(i,j) + e_mo(i,ispin) = e_mo(i,ispin) + mo_two_e_integrals_jj_anti(i,j) + e_mo(j,ispin) = e_mo(j,ispin) + mo_two_e_integrals_jj_anti(i,j) enddo do k=2,ispin do j0=1,n_occ(jspin) j=occ(j0,jspin) - e_mo(i,ispin) = e_mo(i,ispin) + mo_bielec_integral_jj(i,j) - e_mo(j,jspin) = e_mo(j,jspin) + mo_bielec_integral_jj(i,j) !can delete this and remove k level of loop + e_mo(i,ispin) = e_mo(i,ispin) + mo_two_e_integrals_jj(i,j) + e_mo(j,jspin) = e_mo(j,jspin) + mo_two_e_integrals_jj(i,j) !can delete this and remove k level of loop enddo enddo do j0=1,n_virt(ispin) j=virt(j0,ispin) - e_mo(j,ispin) = e_mo(j,ispin) + mo_bielec_integral_jj_anti(i,j) + e_mo(j,ispin) = e_mo(j,ispin) + mo_two_e_integrals_jj_anti(i,j) enddo do j0=1,n_virt(jspin) j=virt(j0,jspin) - e_mo(j,jspin) = e_mo(j,jspin) + mo_bielec_integral_jj(i,j) + e_mo(j,jspin) = e_mo(j,jspin) + mo_two_e_integrals_jj(i,j) enddo enddo enddo @@ -89,8 +89,8 @@ subroutine get_mo_energies(key_ref,nint,nmo,e_mo) enddo call bitstring_to_list_ab(key_virt,virt,n_virt,nint) - e_mo(1:nmo,1)=mo_mono_elec_integral_diag(1:nmo) - e_mo(1:nmo,2)=mo_mono_elec_integral_diag(1:nmo) + e_mo(1:nmo,1)=mo_one_e_integrals_diag(1:nmo) + e_mo(1:nmo,2)=mo_one_e_integrals_diag(1:nmo) do ispin=1,2 jspin=int_spin2(ispin) @@ -98,23 +98,23 @@ subroutine get_mo_energies(key_ref,nint,nmo,e_mo) i=occ(i0,ispin) do j0=i0+1,n_occ(ispin) j=occ(j0,ispin) - e_mo(i,ispin) = e_mo(i,ispin) + mo_bielec_integral_jj_anti(i,j) - e_mo(j,ispin) = e_mo(j,ispin) + mo_bielec_integral_jj_anti(i,j) + e_mo(i,ispin) = e_mo(i,ispin) + mo_two_e_integrals_jj_anti(i,j) + e_mo(j,ispin) = e_mo(j,ispin) + mo_two_e_integrals_jj_anti(i,j) enddo do k=2,ispin do j0=1,n_occ(jspin) j=occ(j0,jspin) - e_mo(i,ispin) = e_mo(i,ispin) + mo_bielec_integral_jj(i,j) - e_mo(j,jspin) = e_mo(j,jspin) + mo_bielec_integral_jj(i,j) !can delete this and remove k level of loop + e_mo(i,ispin) = e_mo(i,ispin) + mo_two_e_integrals_jj(i,j) + e_mo(j,jspin) = e_mo(j,jspin) + mo_two_e_integrals_jj(i,j) !can delete this and remove k level of loop enddo enddo do j0=1,n_virt(ispin) j=virt(j0,ispin) - e_mo(j,ispin) = e_mo(j,ispin) + mo_bielec_integral_jj_anti(i,j) + e_mo(j,ispin) = e_mo(j,ispin) + mo_two_e_integrals_jj_anti(i,j) enddo do j0=1,n_virt(jspin) j=virt(j0,jspin) - e_mo(j,jspin) = e_mo(j,jspin) + mo_bielec_integral_jj(i,j) + e_mo(j,jspin) = e_mo(j,jspin) + mo_two_e_integrals_jj(i,j) enddo enddo enddo @@ -524,17 +524,17 @@ subroutine ac_operator_phase(key_new,key_ref,iorb,ispin,Nint,phase) if (ispin==1) then parity_filled=0_bit_kind else - parity_filled=iand(elec_alpha_num,1_bit_kind) + parity_filled=iand(int(elec_alpha_num,bit_kind),1_bit_kind) endif ! get parity due to orbs in other ints (with lower indices) do i=1,k-1 - parity_filled = iand(popcnt(key_ref(i,ispin)),parity_filled) + parity_filled = iand(int(popcnt(key_ref(i,ispin)),bit_kind),parity_filled) enddo ! get parity due to orbs in same int as iorb ! ishft(1_bit_kind,l)-1 has its l rightmost bits set to 1, other bits set to 0 - parity_filled = iand(popcnt(iand(ishft(1_bit_kind,l)-1,key_ref(k,ispin))),parity_filled) + parity_filled = iand(int(popcnt(iand(ishft(1_bit_kind,l)-1,key_ref(k,ispin))),bit_kind),parity_filled) phase = p(iand(1_bit_kind,parity_filled)) end @@ -585,30 +585,30 @@ subroutine a_operator_phase(key_new,key_ref,iorb,ispin,Nint,phase) if (ispin==1) then parity_filled=0_bit_kind else - parity_filled=iand(elec_alpha_num,1_bit_kind) + parity_filled=iand(int(elec_alpha_num,bit_kind),1_bit_kind) endif ! get parity due to orbs in other ints (with lower indices) do i=1,k-1 - parity_filled = iand(popcnt(key_ref(i,ispin)),parity_filled) + parity_filled = iand(int(popcnt(key_ref(i,ispin)),bit_kind),parity_filled) enddo ! get parity due to orbs in same int as iorb ! ishft(1_bit_kind,l)-1 has its l rightmost bits set to 1, other bits set to 0 - parity_filled = iand(popcnt(iand(ishft(1_bit_kind,l)-1,key_ref(k,ispin))),parity_filled) + parity_filled = iand(int(popcnt(iand(ishft(1_bit_kind,l)-1,key_ref(k,ispin))),bit_kind),parity_filled) phase = p(iand(1_bit_kind,parity_filled)) end -BEGIN_PROVIDER [ double precision, mo_mono_elec_integral_diag,(mo_tot_num)] - implicit none - integer :: i - BEGIN_DOC - ! diagonal elements of mo_mono_elec_integral array - END_DOC - print*,'Providing the mono electronic integrals (diagonal)' - - do i = 1, mo_tot_num - mo_mono_elec_integral_diag(i) = real(mo_mono_elec_integral(i,i)) - enddo - -END_PROVIDER +!BEGIN_PROVIDER [ double precision, mo_mono_elec_integral_diag,(mo_num)] +! implicit none +! integer :: i +! BEGIN_DOC +! ! diagonal elements of mo_mono_elec_integral array +! END_DOC +! print*,'Providing the mono electronic integrals (diagonal)' +! +! do i = 1, mo_num +! mo_mono_elec_integral_diag(i) = real(mo_mono_elec_integral(i,i)) +! enddo +! +!END_PROVIDER diff --git a/src/utils/constants.include.F b/src/utils/constants.include.F index 7399b4a6..bad68054 100644 --- a/src/utils/constants.include.F +++ b/src/utils/constants.include.F @@ -7,6 +7,7 @@ double precision, parameter :: sqpi = dsqrt(dacos(-1.d0)) double precision, parameter :: pi_5_2 = 34.9868366552d0 double precision, parameter :: dfour_pi = 4.d0*dacos(-1.d0) double precision, parameter :: dtwo_pi = 2.d0*dacos(-1.d0) +double precision, parameter :: inv_pi = 1.d0/dacos(-1.d0) double precision, parameter :: inv_sq_pi = 1.d0/dsqrt(dacos(-1.d0)) double precision, parameter :: inv_sq_pi_2 = 0.5d0/dsqrt(dacos(-1.d0)) double precision, parameter :: thresh = 1.d-15 From 227c139895efb89f12b0b84f2b93b71204babfae Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Tue, 2 Jun 2020 13:36:00 -0500 Subject: [PATCH 117/138] smaller three to four index transformation --- src/mo_two_e_ints/df_mo_ints.irp.f | 212 ++++++++++++++++++++++++ src/mo_two_e_ints/mo_bi_integrals.irp.f | 3 +- 2 files changed, 214 insertions(+), 1 deletion(-) diff --git a/src/mo_two_e_ints/df_mo_ints.irp.f b/src/mo_two_e_ints/df_mo_ints.irp.f index dbb10782..c9d03e0c 100644 --- a/src/mo_two_e_ints/df_mo_ints.irp.f +++ b/src/mo_two_e_ints/df_mo_ints.irp.f @@ -19,6 +19,218 @@ BEGIN_PROVIDER [complex*16, df_mo_integrals_complex, (mo_num_per_kpt,mo_num_per_ END_PROVIDER +subroutine mo_map_fill_from_df_single + use map_module + implicit none + BEGIN_DOC + ! fill mo bielec integral map using 3-index df integrals + END_DOC + + integer :: i,k,j,l + integer :: ki,kk,kj,kl + integer :: ii,ik,ij,il + integer :: kikk2,kjkl2,jl2,ik2 + integer :: i_mo,j_mo,i_df + + complex*16,allocatable :: ints_ik(:,:,:), ints_jl(:,:,:) + + complex*16 :: integral + integer :: n_integrals_1, n_integrals_2 + integer :: size_buffer + integer(key_kind),allocatable :: buffer_i_1(:), buffer_i_2(:) + real(integral_kind),allocatable :: buffer_values_1(:), buffer_values_2(:) + double precision :: tmp_re,tmp_im + integer :: mo_num_kpt_2 + + double precision :: cpu_1, cpu_2, wall_1, wall_2, wall_0 + double precision :: map_mb + + logical :: use_map1 + integer(key_kind) :: idx_tmp + double precision :: sign + + mo_num_kpt_2 = mo_num_per_kpt * mo_num_per_kpt + + size_buffer = min(mo_num_per_kpt*mo_num_per_kpt*mo_num_per_kpt,16000000) + print*, 'Providing the mo_bielec integrals from 3-index df integrals' + call write_time(6) +! call ezfio_set_integrals_bielec_disk_access_mo_integrals('Write') +! TOUCH read_mo_integrals read_ao_integrals write_mo_integrals write_ao_integrals + + call wall_time(wall_1) + call cpu_time(cpu_1) + + allocate( ints_jl(mo_num_per_kpt,mo_num_per_kpt,df_num)) + allocate( ints_ik(mo_num_per_kpt,mo_num_per_kpt,df_num)) + + wall_0 = wall_1 + do kl=1, kpt_num + do kj=1, kl + call idx2_tri_int(kj,kl,kjkl2) + if (kj < kl) then + do i_mo=1,mo_num_per_kpt + do j_mo=1,mo_num_per_kpt + do i_df=1,df_num + ints_jl(i_mo,j_mo,i_df) = dconjg(df_mo_integrals_complex(j_mo,i_mo,i_df,kjkl2)) + enddo + enddo + enddo + else + ints_jl = df_mo_integrals_complex(:,:,:,kjkl2) + endif + + do kk=1,kl + ki=kconserv(kl,kk,kj) + if (ki>kl) cycle + call idx2_tri_int(ki,kk,kikk2) + if (ki < kk) then + do i_mo=1,mo_num_per_kpt + do j_mo=1,mo_num_per_kpt + do i_df=1,df_num + ints_ik(i_mo,j_mo,i_df) = dconjg(df_mo_integrals_complex(j_mo,i_mo,i_df,kikk2)) + enddo + enddo + enddo +! ints_ik = conjg(reshape(df_mo_integral_array(:,:,:,kikk2),(/mo_num_per_kpt,mo_num_per_kpt,df_num/),order=(/2,1,3/))) + else + ints_ik = df_mo_integrals_complex(:,:,:,kikk2) + endif + + !$OMP PARALLEL PRIVATE(i,k,j,l,ii,ik,ij,il,jl2,ik2, & + !$OMP n_integrals_1, buffer_i_1, buffer_values_1, & + !$OMP n_integrals_2, buffer_i_2, buffer_values_2, & + !$OMP idx_tmp, tmp_re, tmp_im, integral,sign,use_map1) & + !$OMP DEFAULT(NONE) & + !$OMP SHARED(size_buffer, kpt_num, df_num, mo_num_per_kpt, mo_num_kpt_2, & + !$OMP kl,kj,kjkl2,ints_jl, & + !$OMP ki,kk,kikk2,ints_ik, & + !$OMP kconserv, df_mo_integrals_complex, mo_integrals_threshold, & + !$OMP mo_integrals_map, mo_integrals_map_2) + + allocate( & + buffer_i_1(size_buffer), & + buffer_i_2(size_buffer), & + buffer_values_1(size_buffer), & + buffer_values_2(size_buffer) & + ) + + n_integrals_1=0 + n_integrals_2=0 + !$OMP DO SCHEDULE(guided) + do mu=1,df_num + do il=1,mo_num_per_kpt + l=il+(kl-1)*mo_num_per_kpt + do ij=1,mo_num_per_kpt + j=ij+(kj-1)*mo_num_per_kpt + if (j>l) exit + call idx2_tri_int(j,l,jl2) + mjl = ints_jl(ij,il,mu) + if (mjl.eq.(0.d0,0.d0)) cycle + do ik=1,mo_num_per_kpt + k=ik+(kk-1)*mo_num_per_kpt + if (k>l) exit + do ii=1,mo_num_per_kpt + i=ii+(ki-1)*mo_num_per_kpt + if ((j==l) .and. (i>k)) exit + call idx2_tri_int(i,k,ik2) + if (ik2 > jl2) exit + mik = ints_ik(ii,ik,mu) + integral = mik * dconjg(mjl) +! print*,i,k,j,l,real(integral),imag(integral) + if (cdabs(integral) < mo_integrals_threshold) then + cycle + endif + call ao_two_e_integral_complex_map_idx_sign(i,j,k,l,use_map1,idx_tmp,sign) + tmp_re = dble(integral) + tmp_im = dimag(integral) + if (use_map1) then + n_integrals_1 += 1 + buffer_i_1(n_integrals_1)=idx_tmp + buffer_values_1(n_integrals_1)=tmp_re + if (sign.ne.0.d0) then + n_integrals_1 += 1 + buffer_i_1(n_integrals_1)=idx_tmp+1 + buffer_values_1(n_integrals_1)=tmp_im*sign + endif + if (n_integrals_1 >= size(buffer_i_1)-1) then + !call map_append(mo_integrals_map, buffer_i_1, buffer_values_1, n_integrals_1) + call insert_into_ao_integrals_map(n_integrals_1,buffer_i_1,buffer_values_1) + n_integrals_1 = 0 + endif + else + n_integrals_2 += 1 + buffer_i_2(n_integrals_2)=idx_tmp + buffer_values_2(n_integrals_2)=tmp_re + if (sign.ne.0.d0) then + n_integrals_2 += 1 + buffer_i_2(n_integrals_2)=idx_tmp+1 + buffer_values_2(n_integrals_2)=tmp_im*sign + endif + if (n_integrals_2 >= size(buffer_i_2)-1) then + !call map_append(mo_integrals_map_2, buffer_i_2, buffer_values_2, n_integrals_2) + call insert_into_ao_integrals_map_2(n_integrals_2,buffer_i_2,buffer_values_2) + n_integrals_2 = 0 + endif + endif + + enddo !ii + enddo !ik + enddo !ij + enddo !il + enddo !mu + !$OMP END DO NOWAIT + + if (n_integrals_1 > 0) then + !call map_append(mo_integrals_map, buffer_i_1, buffer_values_1, n_integrals_1) + call insert_into_ao_integrals_map(n_integrals_1,buffer_i_1,buffer_values_1) + endif + if (n_integrals_2 > 0) then + !call map_append(mo_integrals_map_2, buffer_i_2, buffer_values_2, n_integrals_2) + call insert_into_ao_integrals_map_2(n_integrals_2,buffer_i_2,buffer_values_2) + endif + deallocate( & + buffer_i_1, & + buffer_i_2, & + buffer_values_1, & + buffer_values_2 & + ) + !$OMP END PARALLEL + enddo !kk + enddo !kj + call wall_time(wall_2) + if (wall_2 - wall_0 > 1.d0) then + wall_0 = wall_2 + print*, 100.*float(kl)/float(kpt_num), '% in ', & + wall_2-wall_1,'s',map_mb(mo_integrals_map),'+',map_mb(mo_integrals_map_2),'MB' + endif + + enddo !kl + deallocate( ints_jl,ints_ik ) + + !call map_sort(mo_integrals_map) + !call map_unique(mo_integrals_map) + !call map_sort(mo_integrals_map_2) + !call map_unique(mo_integrals_map_2) + call map_merge(mo_integrals_map) + call map_merge(mo_integrals_map_2) + !!call map_save_to_disk(trim(ezfio_filename)//'/work/mo_ints_complex_1',mo_integrals_map) + !!call map_save_to_disk(trim(ezfio_filename)//'/work/mo_ints_complex_2',mo_integrals_map_2) + !!call ezfio_set_mo_two_e_ints_io_mo_two_e_integrals('Read') + + call wall_time(wall_2) + call cpu_time(cpu_2) + + integer*8 :: get_mo_map_size, mo_map_size + mo_map_size = get_mo_map_size() + + print*,'MO integrals provided:' + print*,' Size of MO map ', map_mb(mo_integrals_map),'+',map_mb(mo_integrals_map_2),'MB' + print*,' Number of MO integrals: ', mo_map_size + print*,' cpu time :',cpu_2 - cpu_1, 's' + print*,' wall time :',wall_2 - wall_1, 's ( x ', (cpu_2-cpu_1)/(wall_2-wall_1), ')' + +end subroutine mo_map_fill_from_df_single + subroutine mo_map_fill_from_df use map_module implicit none diff --git a/src/mo_two_e_ints/mo_bi_integrals.irp.f b/src/mo_two_e_ints/mo_bi_integrals.irp.f index 21422ba3..a4b3530e 100644 --- a/src/mo_two_e_ints/mo_bi_integrals.irp.f +++ b/src/mo_two_e_ints/mo_bi_integrals.irp.f @@ -43,7 +43,8 @@ BEGIN_PROVIDER [ logical, mo_two_e_integrals_in_map ] return else if (read_df_mo_integrals.or.read_df_ao_integrals) then PROVIDE df_mo_integrals_complex - call mo_map_fill_from_df + !call mo_map_fill_from_df + call mo_map_fill_from_df_single return else PROVIDE ao_two_e_integrals_in_map From fc8abcbf0a081a7393edc79b9bcdcde92d9447b3 Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Tue, 2 Jun 2020 16:10:16 -0500 Subject: [PATCH 118/138] minor fix --- src/mo_two_e_ints/df_mo_ints.irp.f | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/mo_two_e_ints/df_mo_ints.irp.f b/src/mo_two_e_ints/df_mo_ints.irp.f index c9d03e0c..9bc1e3c0 100644 --- a/src/mo_two_e_ints/df_mo_ints.irp.f +++ b/src/mo_two_e_ints/df_mo_ints.irp.f @@ -26,7 +26,7 @@ subroutine mo_map_fill_from_df_single ! fill mo bielec integral map using 3-index df integrals END_DOC - integer :: i,k,j,l + integer :: i,k,j,l,mu integer :: ki,kk,kj,kl integer :: ii,ik,ij,il integer :: kikk2,kjkl2,jl2,ik2 @@ -34,7 +34,7 @@ subroutine mo_map_fill_from_df_single complex*16,allocatable :: ints_ik(:,:,:), ints_jl(:,:,:) - complex*16 :: integral + complex*16 :: integral,mjl,mik integer :: n_integrals_1, n_integrals_2 integer :: size_buffer integer(key_kind),allocatable :: buffer_i_1(:), buffer_i_2(:) @@ -97,6 +97,7 @@ subroutine mo_map_fill_from_df_single endif !$OMP PARALLEL PRIVATE(i,k,j,l,ii,ik,ij,il,jl2,ik2, & + !$OMP mu, mik, mjl, & !$OMP n_integrals_1, buffer_i_1, buffer_values_1, & !$OMP n_integrals_2, buffer_i_2, buffer_values_2, & !$OMP idx_tmp, tmp_re, tmp_im, integral,sign,use_map1) & From 1c14b837c298f3122ac97214f45dea5b0a03a7e4 Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Tue, 2 Jun 2020 18:16:36 -0500 Subject: [PATCH 119/138] int type --- src/utils_complex/export_integrals_ao_cplx.irp.f | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils_complex/export_integrals_ao_cplx.irp.f b/src/utils_complex/export_integrals_ao_cplx.irp.f index d24a51e2..7d40ba76 100644 --- a/src/utils_complex/export_integrals_ao_cplx.irp.f +++ b/src/utils_complex/export_integrals_ao_cplx.irp.f @@ -159,7 +159,7 @@ provide ao_two_e_integrals_in_map if (cdabs(tmp_cmplx-int2e_tmp1).gt.thr0) then print'(4(I4),4(E15.7))',i,j,k,l,tmp_cmplx,int2e_tmp1 endif - integer*8 :: ii + integer :: ii ii = l-ao_integrals_cache_min ii = ior( shiftl(ii,6), k-ao_integrals_cache_min) ii = ior( shiftl(ii,6), j-ao_integrals_cache_min) From fee0ae8680fa36d376a69048e910acb9ebdd4c6c Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Tue, 2 Jun 2020 18:17:15 -0500 Subject: [PATCH 120/138] better mo transformation --- src/mo_two_e_ints/df_mo_ints.irp.f | 230 +++++++++++++++++++++++- src/mo_two_e_ints/mo_bi_integrals.irp.f | 3 +- 2 files changed, 228 insertions(+), 5 deletions(-) diff --git a/src/mo_two_e_ints/df_mo_ints.irp.f b/src/mo_two_e_ints/df_mo_ints.irp.f index 9bc1e3c0..3a61911e 100644 --- a/src/mo_two_e_ints/df_mo_ints.irp.f +++ b/src/mo_two_e_ints/df_mo_ints.irp.f @@ -19,6 +19,228 @@ BEGIN_PROVIDER [complex*16, df_mo_integrals_complex, (mo_num_per_kpt,mo_num_per_ END_PROVIDER +subroutine mo_map_fill_from_df_dot + use map_module + implicit none + BEGIN_DOC + ! fill mo bielec integral map using 3-index df integrals + END_DOC + + integer :: i,k,j,l,mu + integer :: ki,kk,kj,kl + integer :: ii,ik,ij,il + integer :: kikk2,kjkl2,jl2,ik2 + integer :: i_mo,j_mo,i_df + + complex*16,allocatable :: ints_ik(:,:,:), ints_jl(:,:,:) + + complex*16 :: integral,mjl,mik + integer :: n_integrals_1, n_integrals_2 + integer :: size_buffer + integer(key_kind),allocatable :: buffer_i_1(:), buffer_i_2(:) + real(integral_kind),allocatable :: buffer_values_1(:), buffer_values_2(:) + double precision :: tmp_re,tmp_im + integer :: mo_num_kpt_2 + + double precision :: cpu_1, cpu_2, wall_1, wall_2, wall_0 + double precision :: map_mb + + logical :: use_map1 + integer(key_kind) :: idx_tmp + double precision :: sign + complex*16, external :: zdotc + + mo_num_kpt_2 = mo_num_per_kpt * mo_num_per_kpt + + size_buffer = min(mo_num_per_kpt*mo_num_per_kpt*mo_num_per_kpt,16000000) + print*, 'Providing the mo_bielec integrals from 3-index df integrals' + call write_time(6) +! call ezfio_set_integrals_bielec_disk_access_mo_integrals('Write') +! TOUCH read_mo_integrals read_ao_integrals write_mo_integrals write_ao_integrals + + call wall_time(wall_1) + call cpu_time(cpu_1) + + allocate( ints_jl(df_num,mo_num_per_kpt,mo_num_per_kpt)) + allocate( ints_ik(df_num,mo_num_per_kpt,mo_num_per_kpt)) + + wall_0 = wall_1 + do kl=1, kpt_num + do kj=1, kl + call idx2_tri_int(kj,kl,kjkl2) + if (kj < kl) then + do i_mo=1,mo_num_per_kpt + do j_mo=1,mo_num_per_kpt + do i_df=1,df_num + ints_jl(i_df,i_mo,j_mo) = dconjg(df_mo_integrals_complex(j_mo,i_mo,i_df,kjkl2)) + enddo + enddo + enddo + else + do i_mo=1,mo_num_per_kpt + do j_mo=1,mo_num_per_kpt + do i_df=1,df_num + ints_jl(i_df,i_mo,j_mo) = df_mo_integrals_complex(i_mo,j_mo,i_df,kjkl2) + enddo + enddo + enddo + endif + + do kk=1,kl + ki=kconserv(kl,kk,kj) + if (ki>kl) cycle + call idx2_tri_int(ki,kk,kikk2) + if (ki < kk) then + do i_mo=1,mo_num_per_kpt + do j_mo=1,mo_num_per_kpt + do i_df=1,df_num + ints_ik(i_df,i_mo,j_mo) = dconjg(df_mo_integrals_complex(j_mo,i_mo,i_df,kikk2)) + enddo + enddo + enddo +! ints_ik = conjg(reshape(df_mo_integral_array(:,:,:,kikk2),(/mo_num_per_kpt,mo_num_per_kpt,df_num/),order=(/2,1,3/))) + else + do i_mo=1,mo_num_per_kpt + do j_mo=1,mo_num_per_kpt + do i_df=1,df_num + ints_ik(i_df,i_mo,j_mo) = df_mo_integrals_complex(i_mo,j_mo,i_df,kikk2) + enddo + enddo + enddo + endif + + !$OMP PARALLEL PRIVATE(i,k,j,l,ii,ik,ij,il,jl2,ik2, & + !$OMP mu, mik, mjl, & + !$OMP n_integrals_1, buffer_i_1, buffer_values_1, & + !$OMP n_integrals_2, buffer_i_2, buffer_values_2, & + !$OMP idx_tmp, tmp_re, tmp_im, integral,sign,use_map1) & + !$OMP DEFAULT(NONE) & + !$OMP SHARED(size_buffer, kpt_num, df_num, mo_num_per_kpt, mo_num_kpt_2, & + !$OMP kl,kj,kjkl2,ints_jl, & + !$OMP ki,kk,kikk2,ints_ik, & + !$OMP kconserv, df_mo_integrals_complex, mo_integrals_threshold, & + !$OMP mo_integrals_map, mo_integrals_map_2) + + allocate( & + buffer_i_1(size_buffer), & + buffer_i_2(size_buffer), & + buffer_values_1(size_buffer), & + buffer_values_2(size_buffer) & + ) + + n_integrals_1=0 + n_integrals_2=0 + !$OMP DO SCHEDULE(guided) + do il=1,mo_num_per_kpt + l=il+(kl-1)*mo_num_per_kpt + do ij=1,mo_num_per_kpt + j=ij+(kj-1)*mo_num_per_kpt + if (j>l) exit + call idx2_tri_int(j,l,jl2) + do ik=1,mo_num_per_kpt + k=ik+(kk-1)*mo_num_per_kpt + if (k>l) exit + do ii=1,mo_num_per_kpt + i=ii+(ki-1)*mo_num_per_kpt + if ((j==l) .and. (i>k)) exit + call idx2_tri_int(i,k,ik2) + if (ik2 > jl2) exit + integral = zdotc(df_num,ints_jl(1,ij,il),1,ints_ik(1,ii,ik),1) +! print*,i,k,j,l,real(integral),imag(integral) + if (cdabs(integral) < mo_integrals_threshold) then + cycle + endif + call ao_two_e_integral_complex_map_idx_sign(i,j,k,l,use_map1,idx_tmp,sign) + tmp_re = dble(integral) + tmp_im = dimag(integral) + if (use_map1) then + n_integrals_1 += 1 + buffer_i_1(n_integrals_1)=idx_tmp + buffer_values_1(n_integrals_1)=tmp_re + if (sign.ne.0.d0) then + n_integrals_1 += 1 + buffer_i_1(n_integrals_1)=idx_tmp+1 + buffer_values_1(n_integrals_1)=tmp_im*sign + endif + if (n_integrals_1 >= size(buffer_i_1)-1) then + call map_append(mo_integrals_map, buffer_i_1, buffer_values_1, n_integrals_1) + !call insert_into_mo_integrals_map(n_integrals_1,buffer_i_1,buffer_values_1,mo_integrals_threshold) + n_integrals_1 = 0 + endif + else + n_integrals_2 += 1 + buffer_i_2(n_integrals_2)=idx_tmp + buffer_values_2(n_integrals_2)=tmp_re + if (sign.ne.0.d0) then + n_integrals_2 += 1 + buffer_i_2(n_integrals_2)=idx_tmp+1 + buffer_values_2(n_integrals_2)=tmp_im*sign + endif + if (n_integrals_2 >= size(buffer_i_2)-1) then + call map_append(mo_integrals_map_2, buffer_i_2, buffer_values_2, n_integrals_2) + !call insert_into_mo_integrals_map_2(n_integrals_2,buffer_i_2,buffer_values_2,mo_integrals_threshold) + n_integrals_2 = 0 + endif + endif + + enddo !ii + enddo !ik + enddo !ij + enddo !il + !$OMP END DO NOWAIT + + if (n_integrals_1 > 0) then + call map_append(mo_integrals_map, buffer_i_1, buffer_values_1, n_integrals_1) + !call insert_into_mo_integrals_map(n_integrals_1,buffer_i_1,buffer_values_1,mo_integrals_threshold) + endif + if (n_integrals_2 > 0) then + call map_append(mo_integrals_map_2, buffer_i_2, buffer_values_2, n_integrals_2) + !call insert_into_mo_integrals_map_2(n_integrals_2,buffer_i_2,buffer_values_2,mo_integrals_threshold) + endif + deallocate( & + buffer_i_1, & + buffer_i_2, & + buffer_values_1, & + buffer_values_2 & + ) + !$OMP END PARALLEL + enddo !kk + enddo !kj + call wall_time(wall_2) + if (wall_2 - wall_0 > 1.d0) then + wall_0 = wall_2 + print*, 100.*float(kl)/float(kpt_num), '% in ', & + wall_2-wall_1,'s',map_mb(mo_integrals_map),'+',map_mb(mo_integrals_map_2),'MB' + endif + + enddo !kl + deallocate( ints_jl,ints_ik ) + + call map_sort(mo_integrals_map) + call map_unique(mo_integrals_map) + call map_sort(mo_integrals_map_2) + call map_unique(mo_integrals_map_2) + !call map_merge(mo_integrals_map) + !call map_merge(mo_integrals_map_2) + + !!call map_save_to_disk(trim(ezfio_filename)//'/work/mo_ints_complex_1',mo_integrals_map) + !!call map_save_to_disk(trim(ezfio_filename)//'/work/mo_ints_complex_2',mo_integrals_map_2) + !!call ezfio_set_mo_two_e_ints_io_mo_two_e_integrals('Read') + + call wall_time(wall_2) + call cpu_time(cpu_2) + + integer*8 :: get_mo_map_size, mo_map_size + mo_map_size = get_mo_map_size() + + print*,'MO integrals provided:' + print*,' Size of MO map ', map_mb(mo_integrals_map),'+',map_mb(mo_integrals_map_2),'MB' + print*,' Number of MO integrals: ', mo_map_size + print*,' cpu time :',cpu_2 - cpu_1, 's' + print*,' wall time :',wall_2 - wall_1, 's ( x ', (cpu_2-cpu_1)/(wall_2-wall_1), ')' + +end subroutine mo_map_fill_from_df_dot + subroutine mo_map_fill_from_df_single use map_module implicit none @@ -155,7 +377,7 @@ subroutine mo_map_fill_from_df_single endif if (n_integrals_1 >= size(buffer_i_1)-1) then !call map_append(mo_integrals_map, buffer_i_1, buffer_values_1, n_integrals_1) - call insert_into_ao_integrals_map(n_integrals_1,buffer_i_1,buffer_values_1) + call insert_into_mo_integrals_map(n_integrals_1,buffer_i_1,buffer_values_1,mo_integrals_threshold) n_integrals_1 = 0 endif else @@ -169,7 +391,7 @@ subroutine mo_map_fill_from_df_single endif if (n_integrals_2 >= size(buffer_i_2)-1) then !call map_append(mo_integrals_map_2, buffer_i_2, buffer_values_2, n_integrals_2) - call insert_into_ao_integrals_map_2(n_integrals_2,buffer_i_2,buffer_values_2) + call insert_into_mo_integrals_map_2(n_integrals_2,buffer_i_2,buffer_values_2,mo_integrals_threshold) n_integrals_2 = 0 endif endif @@ -183,11 +405,11 @@ subroutine mo_map_fill_from_df_single if (n_integrals_1 > 0) then !call map_append(mo_integrals_map, buffer_i_1, buffer_values_1, n_integrals_1) - call insert_into_ao_integrals_map(n_integrals_1,buffer_i_1,buffer_values_1) + call insert_into_mo_integrals_map(n_integrals_1,buffer_i_1,buffer_values_1,mo_integrals_threshold) endif if (n_integrals_2 > 0) then !call map_append(mo_integrals_map_2, buffer_i_2, buffer_values_2, n_integrals_2) - call insert_into_ao_integrals_map_2(n_integrals_2,buffer_i_2,buffer_values_2) + call insert_into_mo_integrals_map_2(n_integrals_2,buffer_i_2,buffer_values_2,mo_integrals_threshold) endif deallocate( & buffer_i_1, & diff --git a/src/mo_two_e_ints/mo_bi_integrals.irp.f b/src/mo_two_e_ints/mo_bi_integrals.irp.f index a4b3530e..16322c19 100644 --- a/src/mo_two_e_ints/mo_bi_integrals.irp.f +++ b/src/mo_two_e_ints/mo_bi_integrals.irp.f @@ -44,7 +44,8 @@ BEGIN_PROVIDER [ logical, mo_two_e_integrals_in_map ] else if (read_df_mo_integrals.or.read_df_ao_integrals) then PROVIDE df_mo_integrals_complex !call mo_map_fill_from_df - call mo_map_fill_from_df_single + !call mo_map_fill_from_df_single + call mo_map_fill_from_df_dot return else PROVIDE ao_two_e_integrals_in_map From ae01d339df2a973cca1df77589af70e20cd21afd Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 4 Jun 2020 18:27:44 +0200 Subject: [PATCH 121/138] Moved lin_dep_cutoff --- GITHUB.md | 3 -- src/ao_one_e_ints/EZFIO.cfg | 6 +++ src/mo_one_e_ints/EZFIO.cfg | 6 --- src/utils/linear_algebra.irp.f | 86 +++++++++++++++++----------------- 4 files changed, 50 insertions(+), 51 deletions(-) diff --git a/GITHUB.md b/GITHUB.md index 3240d198..d5902aa2 100644 --- a/GITHUB.md +++ b/GITHUB.md @@ -13,9 +13,6 @@ dev: bugfix: A fork of the *master* on which the bug fixes are made. -dev: - Development branch - gh-pages: This is an independent branch, containing only the web site of QP2. diff --git a/src/ao_one_e_ints/EZFIO.cfg b/src/ao_one_e_ints/EZFIO.cfg index 9ef019fa..ed9cdc35 100644 --- a/src/ao_one_e_ints/EZFIO.cfg +++ b/src/ao_one_e_ints/EZFIO.cfg @@ -92,3 +92,9 @@ doc: Read/Write |AO| one-electron integrals from/to disk [ Write | Read | None ] interface: ezfio,provider,ocaml default: None + +[lin_dep_cutoff] +type: Threshold +doc: Remove linear dependencies when the eigenvalues of the overlap matrix are below this value +interface: ezfio,provider,ocaml +default: 1.e-6 diff --git a/src/mo_one_e_ints/EZFIO.cfg b/src/mo_one_e_ints/EZFIO.cfg index 06c91024..d58b3da1 100644 --- a/src/mo_one_e_ints/EZFIO.cfg +++ b/src/mo_one_e_ints/EZFIO.cfg @@ -47,9 +47,3 @@ type: Disk_access doc: Read/Write |MO| one-electron integrals from/to disk [ Write | Read | None ] interface: ezfio,provider,ocaml default: None - -[lin_dep_cutoff] -type: Threshold -doc: Remove linear dependencies when the eigenvalues of the overlap matrix are below this value -interface: ezfio,provider,ocaml -default: 1.e-6 diff --git a/src/utils/linear_algebra.irp.f b/src/utils/linear_algebra.irp.f index 39ffc873..a8dea97a 100644 --- a/src/utils/linear_algebra.irp.f +++ b/src/utils/linear_algebra.irp.f @@ -120,6 +120,7 @@ subroutine ortho_canonical_complex(overlap,LDA,N,C,LDC,m,cutoff) complex*16, allocatable :: S(:,:) !DIR$ ATTRIBUTES ALIGN : 64 :: U, Vt, D integer :: info, i, j + double precision :: local_cutoff if (n < 2) then return @@ -130,13 +131,14 @@ subroutine ortho_canonical_complex(overlap,LDA,N,C,LDC,m,cutoff) call svd_complex(overlap,lda,U,ldc,D,Vt,lda,n,n) D(:) = dsqrt(D(:)) + local_cutoff = dsqrt(cutoff)*D(1) ! such that D(i)/D(1) > dsqrt(cutoff) is kept m=n do i=1,n - if ( D(i) >= cutoff ) then + if ( D(i) >= local_cutoff ) then D(i) = 1.d0/D(i) else m = i-1 - print *, 'Removed Linear dependencies below:', 1.d0/D(m) + print *, 'Removed Linear dependencies below:', local_cutoff exit endif enddo @@ -144,12 +146,6 @@ subroutine ortho_canonical_complex(overlap,LDA,N,C,LDC,m,cutoff) D(i) = 0.d0 enddo - do i=1,m - if ( D(i) >= 1.d5 ) then - print *, 'Warning: Basis set may have linear dependence problems' - endif - enddo - do j=1,n do i=1,n S(i,j) = U(i,j)*D(j) @@ -258,7 +254,8 @@ subroutine ortho_lowdin_complex(overlap,LDA,N,C,LDC,m,cutoff) double precision, allocatable :: D(:) complex*16, allocatable :: S(:,:) double precision, intent(in) :: cutoff - integer :: info, i, j, k + double precision :: local_cutoff + integer :: info, i, j, k, mm if (n < 2) then return @@ -267,28 +264,32 @@ subroutine ortho_lowdin_complex(overlap,LDA,N,C,LDC,m,cutoff) allocate(U(ldc,n),Vt(lda,n),S(lda,n),D(n)) call svd_complex(overlap,lda,U,ldc,D,Vt,lda,n,n) - - !$OMP PARALLEL DEFAULT(NONE) & - !$OMP SHARED(S,U,D,Vt,n,C,m,cutoff) & - !$OMP PRIVATE(i,j,k) - - !$OMP DO + D(:) = dsqrt(D(:)) + local_cutoff = dsqrt(cutoff)*D(1) ! such that D(i)/D(1) > dsqrt(cutoff) is kept + mm=n do i=1,n - if ( D(i) < cutoff) then - print *, 'Removed Linear dependencies :', 1.d0/D(i) - D(i) = 0.d0 + if ( D(i) >= local_cutoff) then + D(i) = 1.d0/D(i) else - D(i) = 1.d0/dsqrt(D(i)) + mm = mm-1 + D(i) = 0.d0 endif do j=1,n S(j,i) = (0.d0,0.d0) enddo enddo - !$OMP END DO + + if (mm < n) then + print *, 'Removed Linear dependencies below ', local_cutoff + endif + + !$OMP PARALLEL DEFAULT(NONE) & + !$OMP SHARED(S,U,D,Vt,n,C,m,local_cutoff) & + !$OMP PRIVATE(i,j,k) do k=1,n if (D(k) /= 0.d0) then - !$OMP DO + !$OMP DO SCHEDULE(STATIC) do j=1,n do i=1,n S(i,j) = S(i,j) + U(i,k)*D(k)*Vt(k,j) @@ -379,7 +380,7 @@ subroutine get_pseudo_inverse_complex(A,LDA,m,n,C,LDC,cutoff) endif do i=1,n - if (D(i)/D(1) > cutoff) then + if (D(i) > cutoff*D(1)) then D(i) = 1.d0/D(i) else D(i) = 0.d0 @@ -762,6 +763,7 @@ subroutine ortho_canonical(overlap,LDA,N,C,LDC,m,cutoff) double precision, allocatable :: S(:,:) !DIR$ ATTRIBUTES ALIGN : 64 :: U, Vt, D integer :: info, i, j + double precision :: local_cutoff if (n < 2) then return @@ -772,13 +774,14 @@ subroutine ortho_canonical(overlap,LDA,N,C,LDC,m,cutoff) call svd(overlap,lda,U,ldc,D,Vt,lda,n,n) D(:) = dsqrt(D(:)) + local_cutoff = dsqrt(cutoff)*D(1) ! such that D(i)/D(1) > dsqrt(cutoff) is kept m=n do i=1,n - if ( D(i) >= cutoff ) then + if ( D(i) >= local_cutoff ) then D(i) = 1.d0/D(i) else m = i-1 - print *, 'Removed Linear dependencies below:', 1.d0/D(m) + print *, 'Removed Linear dependencies below:', local_cutoff exit endif enddo @@ -786,12 +789,6 @@ subroutine ortho_canonical(overlap,LDA,N,C,LDC,m,cutoff) D(i) = 0.d0 enddo - do i=1,m - if ( D(i) >= 1.d5 ) then - print *, 'Warning: Basis set may have linear dependence problems' - endif - enddo - do j=1,n do i=1,n S(i,j) = U(i,j)*D(j) @@ -907,7 +904,8 @@ subroutine ortho_lowdin(overlap,LDA,N,C,LDC,m,cutoff) double precision, allocatable :: Vt(:,:) double precision, allocatable :: D(:) double precision, allocatable :: S(:,:) - integer :: info, i, j, k + integer :: info, i, j, k, mm + double precision :: local_cutoff if (n < 2) then return @@ -916,24 +914,28 @@ subroutine ortho_lowdin(overlap,LDA,N,C,LDC,m,cutoff) allocate(U(ldc,n),Vt(lda,n),S(lda,n),D(n)) call svd(overlap,lda,U,ldc,D,Vt,lda,n,n) - - !$OMP PARALLEL DEFAULT(NONE) & - !$OMP SHARED(S,U,D,Vt,n,C,m,cutoff) & - !$OMP PRIVATE(i,j,k) - - !$OMP DO + D(:) = dsqrt(D(:)) + local_cutoff = dsqrt(cutoff)*D(1) ! such that D(i)/D(1) > dsqrt(cutoff) is kept + mm=n do i=1,n - if ( D(i) < cutoff ) then - print *, 'Removed Linear dependencies :', 1.d0/D(i) - D(i) = 0.d0 + if ( D(i) >= local_cutoff) then + D(i) = 1.d0/D(i) else - D(i) = 1.d0/dsqrt(D(i)) + mm = mm-1 + D(i) = 0.d0 endif do j=1,n S(j,i) = 0.d0 enddo enddo - !$OMP END DO + + if (mm < n) then + print *, 'Removed Linear dependencies below ', local_cutoff + endif + + !$OMP PARALLEL DEFAULT(NONE) & + !$OMP SHARED(S,U,D,Vt,n,C,m,cutoff) & + !$OMP PRIVATE(i,j,k) do k=1,n if (D(k) /= 0.d0) then From 652486336eb555e8ba702ba56b52c454070ed18d Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 5 Jun 2020 17:04:01 +0200 Subject: [PATCH 122/138] Added ZaPa-NR basis sets --- data/basis/2zapa-nr | 694 +++++++++++ data/basis/2zapa-nr-cv | 955 +++++++++++++++ data/basis/3zapa-nr | 967 +++++++++++++++ data/basis/3zapa-nr-cv | 1453 ++++++++++++++++++++++ data/basis/4zapa-nr | 1283 +++++++++++++++++++ data/basis/4zapa-nr-cv | 2042 +++++++++++++++++++++++++++++++ data/basis/5zapa-nr | 1625 +++++++++++++++++++++++++ data/basis/5zapa-nr-cv | 2636 ++++++++++++++++++++++++++++++++++++++++ data/basis/6zapa-nr | 2000 ++++++++++++++++++++++++++++++ data/basis/7zapa-nr | 2479 +++++++++++++++++++++++++++++++++++++ 10 files changed, 16134 insertions(+) create mode 100644 data/basis/2zapa-nr create mode 100644 data/basis/2zapa-nr-cv create mode 100644 data/basis/3zapa-nr create mode 100644 data/basis/3zapa-nr-cv create mode 100644 data/basis/4zapa-nr create mode 100644 data/basis/4zapa-nr-cv create mode 100644 data/basis/5zapa-nr create mode 100644 data/basis/5zapa-nr-cv create mode 100644 data/basis/6zapa-nr create mode 100644 data/basis/7zapa-nr diff --git a/data/basis/2zapa-nr b/data/basis/2zapa-nr new file mode 100644 index 00000000..e1f0a903 --- /dev/null +++ b/data/basis/2zapa-nr @@ -0,0 +1,694 @@ +!---------------------------------------------------------------------- +! Basis Set Exchange +! Version v0.8.12 +! https://www.basissetexchange.org +!---------------------------------------------------------------------- +! Basis set: 2ZaPa-NR +! Description: Double Zeta augmented + polarization (nonrelativistic) +! Role: orbital +! Version: 1 (Data from Supplemental Information of publications) +!---------------------------------------------------------------------- + + +$DATA + +HYDROGEN +S 4 +1 0.1298677400E+02 0.1972161440E-01 +2 0.1960089000E+01 0.1380691300E+00 +3 0.4442700000E+00 0.4784779630E+00 +4 0.1218710000E+00 0.5008373120E+00 +S 1 +1 0.1406792384E+00 0.1000000000E+01 +S 1 +1 0.3124407641E-01 0.1000000000E+01 +P 1 +1 0.8111606153E+00 0.1000000000E+01 + +HELIUM +S 5 +1 0.9801372830E+02 0.7586225690E-02 +2 0.1475700946E+02 0.5487230740E-01 +3 0.3317613389E+01 0.2207809160E+00 +4 0.8739514321E+00 0.4874323260E+00 +5 0.2445736623E+00 0.3974345400E+00 +S 1 +1 0.6844347900E-00 0.1000000000E+01 +S 1 +1 0.2280097319E+00 0.1000000000E+01 +P 1 +1 0.1365291063E+01 0.1000000000E+01 + +LITHIUM +S 6 +1 0.3657435440E+03 0.4356163519E-02 +2 0.5487759300E+02 0.3163758177E-01 +3 0.1269418300E+02 0.1422789030E+00 +4 0.3442664000E+01 0.3880104214E+00 +5 0.1059143000E+01 0.4901731100E+00 +6 0.3155200000E+00 0.1090884707E+00 +S 3 +1 0.1059143000E+01 -0.7386141829E-01 +2 0.3155200000E+00 -0.1038627878E-01 +3 0.4751800000E-01 0.1021752008E+01 +S 1 +1 0.6386889034E-01 0.1000000000E+01 +S 1 +1 0.9018346536E-02 0.1000000000E+01 +P 3 +1 0.5658230000E+00 0.7325499503E-01 +2 0.1049000000E+00 0.4260174382E+00 +3 0.2896300000E-01 0.6554857463E+00 +P 1 +1 0.2620032560E-01 0.1000000000E+01 +P 1 +1 0.7996715000E-02 0.1000000000E+01 +D 1 +1 0.1218831751E+00 0.1000000000E+01 + +BERYLLIUM +S 6 +1 0.8693164010E+03 0.3061668346E-02 +2 0.1315873490E+03 0.2340412821E-01 +3 0.2943462500E+02 0.1103608882E+00 +4 0.8283441000E+01 0.3218803090E+00 +5 0.2566731000E+01 0.5205478277E+00 +6 0.7965380000E+00 0.1812061077E+00 +S 5 +1 0.8283441000E+01 -0.5818503344E-02 +2 0.2566731000E+01 -0.4921179071E-01 +3 0.7965380000E+00 -0.9952253544E-01 +4 0.2365810000E+00 0.4212412345E+00 +5 0.6826000000E-01 0.7068984290E+00 +S 1 +1 0.6529029979E-01 0.1000000000E+01 +S 1 +1 0.1969485100E-01 0.1000000000E+01 +P 3 +1 0.1491343000E+01 0.8918443113E-01 +2 0.2906200000E+00 0.4509555912E+00 +3 0.7534600000E-01 0.6335315822E+00 +P 1 +1 0.5955887917E-01 0.1000000000E+01 +P 1 +1 0.1953416700E-01 0.1000000000E+01 +D 1 +1 0.2518234584E+00 0.1000000000E+01 + +BORON +S 6 +1 0.1420825823E+04 0.2928350492E-02 +2 0.2152418370E+03 0.2246379694E-01 +3 0.4815927900E+02 0.1064562907E+00 +4 0.1359598300E+02 0.3174204005E+00 +5 0.4252199000E+01 0.5147864157E+00 +6 0.1339979000E+01 0.1952230230E+00 +S 6 +1 0.4815927900E+02 -0.9298943696E-03 +2 0.1359598300E+02 -0.7772015323E-02 +3 0.4252199000E+01 -0.6043304619E-01 +4 0.1339979000E+01 -0.8688486619E-01 +5 0.4040320000E+00 0.4626297967E+00 +6 0.1164910000E+00 0.6668730181E+00 +S 1 +1 0.1107307037E+00 0.1000000000E+01 +S 1 +1 0.3215357325E-01 0.1000000000E+01 +P 4 +1 0.6000701000E+01 0.3547815024E-01 +2 0.1240613000E+01 0.1979358801E+00 +3 0.3368240000E+00 0.5039660479E+00 +4 0.9562700000E-01 0.4806845912E+00 +P 1 +1 0.9405139564E-01 0.1000000000E+01 +P 1 +1 0.2360462671E-01 0.1000000000E+01 +D 1 +1 0.3915530981E+00 0.1000000000E+01 + +CARBON +S 7 +1 0.4431768960E+04 0.1126061671E-02 +2 0.6791821200E+03 0.8732020769E-02 +3 0.1497658010E+03 0.4538037327E-01 +4 0.4256773700E+02 0.1557978782E+00 +5 0.1397208900E+02 0.3729581302E+00 +6 0.4807170000E+01 0.4625091714E+00 +7 0.1615022000E+01 0.1098400479E+00 +S 6 +1 0.4256773700E+02 -0.2310897249E-02 +2 0.1397208900E+02 -0.1453731954E-01 +3 0.4807170000E+01 -0.8415643744E-01 +4 0.1615022000E+01 -0.2037762862E-01 +5 0.5131410000E+00 0.5458602858E+00 +6 0.1572840000E+00 0.5560976638E+00 +S 1 +1 0.1566899288E+00 0.1000000000E+01 +S 1 +1 0.4710599150E-01 0.1000000000E+01 +P 4 +1 0.9442539000E+01 0.3809696951E-01 +2 0.2001672000E+01 0.2095159860E+00 +3 0.5455030000E+00 0.5086254921E+00 +4 0.1516190000E+00 0.4688007911E+00 +P 1 +1 0.1579354367E+00 0.1000000000E+01 +P 1 +1 0.4087366449E-01 0.1000000000E+01 +D 1 +1 0.6074318765E+00 0.1000000000E+01 + +NITROGEN +S 7 +1 0.6086361610E+04 0.1121346695E-02 +2 0.9340025700E+03 0.8677456551E-02 +3 0.2062607910E+03 0.4508496665E-01 +4 0.5868250100E+02 0.1553521687E+00 +5 0.1929300800E+02 0.3736875266E+00 +6 0.6661753000E+01 0.4612500986E+00 +7 0.2250012000E+01 0.1103828059E+00 +S 6 +1 0.5868250100E+02 -0.2419469256E-02 +2 0.1929300800E+02 -0.1577551006E-01 +3 0.6661753000E+01 -0.8682335163E-01 +4 0.2250012000E+01 -0.8902830622E-02 +5 0.7174680000E+00 0.5548068925E+00 +6 0.2184990000E+00 0.5420505988E+00 +S 1 +1 0.2134390181E+00 0.1000000000E+01 +S 1 +1 0.6069553046E-01 0.1000000000E+01 +P 5 +1 0.2666742400E+02 0.1463545201E-01 +2 0.5956987000E+01 0.9158483996E-01 +3 0.1744905000E+01 0.2981215002E+00 +4 0.5564590000E+00 0.4977481443E+00 +5 0.1731140000E+00 0.3383848532E+00 +P 1 +1 0.2270726086E+00 0.1000000000E+01 +P 1 +1 0.5753239271E-01 0.1000000000E+01 +D 1 +1 0.8853992832E+00 0.1000000000E+01 + +OXYGEN +S 7 +1 0.8037107558E+04 0.1112674636E-02 +2 0.1232703101E+04 0.8614189090E-02 +3 0.2722852310E+03 0.4479101384E-01 +4 0.7746967900E+02 0.1549325322E+00 +5 0.2548922100E+02 0.3741034002E+00 +6 0.8825615000E+01 0.4603852435E+00 +7 0.2995343000E+01 0.1109971843E+00 +S 6 +1 0.7746967900E+02 -0.2517634976E-02 +2 0.2548922100E+02 -0.1680207397E-01 +3 0.8825615000E+01 -0.8923021683E-01 +4 0.2995343000E+01 -0.3292778730E-03 +5 0.9592800000E+00 0.5646333325E+00 +6 0.2912670000E+00 0.5283721694E+00 +S 1 +1 0.2953643385E+00 0.1000000000E+01 +S 1 +1 0.7763529957E-01 0.1000000000E+01 +P 5 +1 0.3448340500E+02 0.1590954790E-01 +2 0.7755883000E+01 0.9960510949E-01 +3 0.2283024000E+01 0.3099926050E+00 +4 0.7171690000E+00 0.4905619039E+00 +5 0.2145740000E+00 0.3373392260E+00 +P 1 +1 0.2853356395E+00 0.1000000000E+01 +P 1 +1 0.6830216077E-01 0.1000000000E+01 +D 1 +1 0.1253413556E+01 0.1000000000E+01 + +FLUORINE +S 7 +1 0.1024537363E+05 0.1107583316E-02 +2 0.1571089738E+04 0.8575751160E-02 +3 0.3471284760E+03 0.4460623641E-01 +4 0.9879170100E+02 0.1546687967E+00 +5 0.3253225600E+02 0.3744276417E+00 +6 0.1128802800E+02 0.4596521074E+00 +7 0.3843524000E+01 0.1114646099E+00 +S 6 +1 0.9879170100E+02 -0.2590309950E-02 +2 0.3253225600E+02 -0.1758416480E-01 +3 0.1128802800E+02 -0.9078089989E-01 +4 0.3843524000E+01 0.6285889688E-02 +5 0.1234023000E+01 0.5703225081E+00 +6 0.3736610000E+00 0.5195039436E+00 +S 1 +1 0.3866156976E+00 0.1000000000E+01 +S 1 +1 0.9686809809E-01 0.1000000000E+01 +P 6 +1 0.8037271400E+02 0.6372584698E-02 +2 0.1857364200E+02 0.4432012038E-01 +3 0.5685417000E+01 0.1689011879E+00 +4 0.1947181000E+01 0.3620610789E+00 +5 0.6692920000E+00 0.4413531478E+00 +6 0.2163470000E+00 0.2433000429E+00 +P 1 +1 0.3657761458E+00 0.1000000000E+01 +P 1 +1 0.8921714439E-01 0.1000000000E+01 +D 1 +1 0.1703134082E+01 0.1000000000E+01 + +NEON +S 7 +1 0.1271663197E+05 0.1103964353E-02 +2 0.1949760861E+04 0.8549482907E-02 +3 0.4308106350E+03 0.4449311504E-01 +4 0.1226212130E+03 0.1545645664E+00 +5 0.4040455200E+02 0.3748712448E+00 +6 0.1404087700E+02 0.4589717815E+00 +7 0.4791185000E+01 0.1116279661E+00 +S 6 +1 0.1226212130E+03 -0.2648406500E-02 +2 0.4040455200E+02 -0.1821501066E-01 +3 0.1404087700E+02 -0.9188546255E-01 +4 0.4791185000E+01 0.1183218831E-01 +5 0.1540292000E+01 0.5741358449E+00 +6 0.4650630000E+00 0.5129223070E+00 +S 1 +1 0.5199602174E+00 0.1000000000E+01 +S 1 +1 0.1404172680E+00 0.1000000000E+01 +P 6 +1 0.9973511900E+02 0.6561710276E-02 +2 0.2316052700E+02 0.4593871188E-01 +3 0.7109732000E+01 0.1735039749E+00 +4 0.2438743000E+01 0.3650309938E+00 +5 0.8330490000E+00 0.4377372808E+00 +6 0.2664160000E+00 0.2415491519E+00 +P 1 +1 0.5291721764E+00 0.1000000000E+01 +P 1 +1 0.8520205300E-01 0.1000000000E+01 +D 1 +1 0.2230500121E+01 0.1000000000E+01 + +SODIUM +S 8 +1 0.3834447581E+05 0.3602940889E-03 +2 0.5745096696E+04 0.2838046608E-02 +3 0.1291337183E+04 0.1469972431E-01 +4 0.3692975940E+03 0.5722639241E-01 +5 0.1214239800E+03 0.1738193249E+00 +6 0.4334908300E+02 0.3783407084E+00 +7 0.1626778900E+02 0.4136774342E+00 +8 0.6246765000E+01 0.1115534724E+00 +S 7 +1 0.1214239800E+03 -0.3352513095E-02 +2 0.4334908300E+02 -0.2344590476E-01 +3 0.1626778900E+02 -0.8623792242E-01 +4 0.6246765000E+01 -0.1538911682E-01 +5 0.2356424000E+01 0.4558782686E+00 +6 0.8109900000E+00 0.5945038867E+00 +7 0.2244100000E+00 0.6484867676E-01 +S 4 +1 0.2356424000E+01 -0.8871285426E-03 +2 0.8109900000E+00 -0.1058069179E+00 +3 0.2244100000E+00 -0.1835987973E-01 +4 0.4095000000E-01 0.1034516090E+01 +S 1 +1 0.5874356130E-01 0.1000000000E+01 +S 1 +1 0.8379234234E-02 0.1000000000E+01 +P 6 +1 0.9757872500E+02 0.1025846770E-01 +2 0.2255209900E+02 0.6892036284E-01 +3 0.6907969000E+01 0.2412414456E+00 +4 0.2301503000E+01 0.4434329402E+00 +5 0.7666220000E+00 0.4104067114E+00 +6 0.2156310000E+00 0.8284299222E-01 +P 4 +1 0.2301503000E+01 0.4507931390E-02 +2 0.7666220000E+00 -0.2224968413E-01 +3 0.2156310000E+00 0.9176752119E-01 +4 0.3260500000E-01 0.9649449913E+00 +P 1 +1 0.7746176482E-01 0.1000000000E+01 +P 1 +1 0.4930117000E-02 0.1000000000E+01 +D 1 +1 0.4657319752E+00 0.1000000000E+01 +D 1 +1 0.1008476556E+00 0.1000000000E+01 + +MAGNESIUM +S 8 +1 0.3273235380E+05 0.5365397390E-03 +2 0.5035281120E+04 0.4173405660E-02 +3 0.1112216400E+04 0.2217672874E-01 +4 0.3141451920E+03 0.8458359458E-01 +5 0.1036092110E+03 0.2366887171E+00 +6 0.3722053900E+02 0.4404612103E+00 +7 0.1382466000E+02 0.3291285122E+00 +8 0.5108696000E+01 0.3456535592E-01 +S 7 +1 0.1036092110E+03 -0.6909482627E-02 +2 0.3722053900E+02 -0.4176097019E-01 +3 0.1382466000E+02 -0.1045892464E+00 +4 0.5108696000E+01 0.1555821141E+00 +5 0.1825215000E+01 0.6644031791E+00 +6 0.6163730000E+00 0.3273265683E+00 +7 0.1927660000E+00 -0.2021600849E-01 +S 4 +1 0.1825215000E+01 -0.3500785208E-01 +2 0.6163730000E+00 -0.1773664214E+00 +3 0.1927660000E+00 0.3212208594E+00 +4 0.5461400000E-01 0.8261938943E+00 +S 1 +1 0.4905289106E-01 0.1000000000E+01 +S 1 +1 0.1547310700E-01 0.1000000000E+01 +S 1 +1 0.8054710902E-02 0.1000000000E+01 +P 6 +1 0.1278339780E+03 0.9425167146E-02 +2 0.2968475900E+02 0.6543505400E-01 +3 0.9117451000E+01 0.2342608360E+00 +4 0.3101314000E+01 0.4463824800E+00 +5 0.1059175000E+01 0.4107565086E+00 +6 0.3191520000E+00 0.7603532943E-01 +P 4 +1 0.3101314000E+01 0.5199500791E-02 +2 0.1059175000E+01 -0.3335058622E-01 +3 0.3191520000E+00 0.1789309935E+00 +4 0.6469000000E-01 0.9084654408E+00 +P 1 +1 0.1523890037E+00 0.1000000000E+01 +P 1 +1 0.1311223500E-01 0.1000000000E+01 +D 1 +1 0.6119371619E+00 0.1000000000E+01 +D 1 +1 0.1702595179E+00 0.1000000000E+01 + +ALUMINIUM +S 8 +1 0.4082547901E+05 0.4987480205E-03 +2 0.6270790001E+04 0.3885300865E-02 +3 0.1385836318E+04 0.2064819658E-01 +4 0.3917488510E+03 0.7914319494E-01 +5 0.1292970570E+03 0.2245247883E+00 +6 0.4651436800E+02 0.4311648501E+00 +7 0.1734486700E+02 0.3476344203E+00 +8 0.6468821000E+01 0.4465388495E-01 +S 7 +1 0.3917488510E+03 -0.7394639078E-03 +2 0.1292970570E+03 -0.6838524728E-02 +3 0.4651436800E+02 -0.4271104197E-01 +4 0.1734486700E+02 -0.1069549577E+00 +5 0.6468821000E+01 0.1248287204E+00 +6 0.2353064000E+01 0.6710983327E+00 +7 0.8195240000E+00 0.3317426657E+00 +S 4 +1 0.2353064000E+01 -0.4818741688E-01 +2 0.8195240000E+00 -0.2017863949E+00 +3 0.2689900000E+00 0.4222569591E+00 +4 0.8179600000E-01 0.7555163020E+00 +S 1 +1 0.7613224591E-01 0.1000000000E+01 +S 1 +1 0.2210027731E-01 0.1000000000E+01 +P 6 +1 0.2331154620E+03 0.4849129857E-02 +2 0.5485399200E+02 0.3593575073E-01 +3 0.1716149700E+02 0.1484886158E+00 +4 0.6115644000E+01 0.3486943796E+00 +5 0.2271581000E+01 0.4580671100E+00 +6 0.8250320000E+00 0.2292235795E+00 +P 5 +1 0.6115644000E+01 -0.3264616317E-02 +2 0.2271581000E+01 -0.4242517743E-02 +3 0.8250320000E+00 -0.6994332094E-02 +4 0.2704560000E+00 0.3671027570E+00 +5 0.6975500000E-01 0.7434550205E+00 +P 1 +1 0.6296957853E-01 0.1000000000E+01 +P 1 +1 0.1632835606E-01 0.1000000000E+01 +D 1 +1 0.9520829872E+00 0.1000000000E+01 +D 1 +1 0.2063660192E+00 0.1000000000E+01 + +SILICON +S 8 +1 0.4960155294E+05 0.4725011324E-03 +2 0.7594783503E+04 0.3687559221E-02 +3 0.1681447696E+04 0.1954954576E-01 +4 0.4760480160E+03 0.7517153296E-01 +5 0.1571213020E+03 0.2158659567E+00 +6 0.5651703800E+02 0.4240914230E+00 +7 0.2113061900E+02 0.3601669575E+00 +8 0.7948902000E+01 0.5293035425E-01 +S 7 +1 0.1571213020E+03 -0.6131757363E-02 +2 0.5651703800E+02 -0.3852121276E-01 +3 0.2113061900E+02 -0.1089044354E+00 +4 0.7948902000E+01 0.1092366340E+00 +5 0.2940645000E+01 0.6634200424E+00 +6 0.1050417000E+01 0.3640596774E+00 +7 0.3554940000E+00 -0.1952083272E-01 +S 4 +1 0.2940645000E+01 -0.5888572504E-01 +2 0.1050417000E+01 -0.2090662605E+00 +3 0.3554940000E+00 0.4738999763E+00 +4 0.1112000000E+00 0.7179628577E+00 +S 1 +1 0.1041166186E+00 0.1000000000E+01 +S 1 +1 0.3168183347E-01 0.1000000000E+01 +P 6 +1 0.2625857090E+03 0.5331646312E-02 +2 0.6179888800E+02 0.3982295301E-01 +3 0.1928091600E+02 0.1627058360E+00 +4 0.6887412000E+01 0.3724389869E+00 +5 0.2547172000E+01 0.4645605590E+00 +6 0.9124430000E+00 0.1763045887E+00 +P 5 +1 0.6887412000E+01 -0.2726415092E-02 +2 0.2547172000E+01 -0.1259369596E-01 +3 0.9124430000E+00 0.4349643620E-01 +4 0.3028160000E+00 0.4758643139E+00 +5 0.8996900000E-01 0.6032366053E+00 +P 1 +1 0.8727769099E-01 0.1000000000E+01 +P 1 +1 0.2499303054E-01 0.1000000000E+01 +D 1 +1 0.1340694732E+01 0.1000000000E+01 +D 1 +1 0.2835946390E+00 0.1000000000E+01 + +PHOSPHORUS +S 8 +1 0.5909335023E+05 0.4527086341E-03 +2 0.9023148429E+04 0.3538123901E-02 +3 0.2001094330E+04 0.1871285114E-01 +4 0.5673109070E+03 0.7213118706E-01 +5 0.1872126000E+03 0.2092043482E+00 +6 0.6731761600E+02 0.4182568073E+00 +7 0.2522118500E+02 0.3694143802E+00 +8 0.9556388000E+01 0.5999791644E-01 +S 7 +1 0.5673109070E+03 -0.6650458265E-03 +2 0.1872126000E+03 -0.6278942133E-02 +3 0.6731761600E+02 -0.4048843031E-01 +4 0.2522118500E+02 -0.1100411629E+00 +5 0.9556388000E+01 0.9049651146E-01 +6 0.3584991000E+01 0.6662061276E+00 +7 0.1306440000E+01 0.3625408319E+00 +S 4 +1 0.3584991000E+01 -0.6458531010E-01 +2 0.1306440000E+01 -0.2160550273E+00 +3 0.4519060000E+00 0.5102471601E+00 +4 0.1434700000E+00 0.6922733729E+00 +S 1 +1 0.1344021939E+00 0.1000000000E+01 +S 1 +1 0.3942858667E-01 0.1000000000E+01 +P 6 +1 0.3097911890E+03 0.5306290849E-02 +2 0.7298400300E+02 0.4001884086E-01 +3 0.2280767300E+02 0.1642557963E+00 +4 0.8187361000E+01 0.3784539000E+00 +5 0.3049072000E+01 0.4656224281E+00 +6 0.1102292000E+01 0.1622231590E+00 +P 5 +1 0.8187361000E+01 -0.3193621694E-02 +2 0.3049072000E+01 -0.1616477772E-01 +3 0.1102292000E+01 0.7402110937E-01 +4 0.3725850000E+00 0.5202271126E+00 +5 0.1159720000E+00 0.5346492324E+00 +P 1 +1 0.1176148966E+00 0.1000000000E+01 +P 1 +1 0.3391675834E-01 0.1000000000E+01 +D 1 +1 0.1671078011E+01 0.1000000000E+01 +D 1 +1 0.3761010137E+00 0.1000000000E+01 + +SULFUR +S 8 +1 0.6909063871E+05 0.4387995563E-03 +2 0.1053024604E+05 0.3432127370E-02 +3 0.2338469943E+04 0.1811987347E-01 +4 0.6636123990E+03 0.6997127864E-01 +5 0.2189555130E+03 0.2044452401E+00 +6 0.7871016600E+02 0.4138878758E+00 +7 0.2953735300E+02 0.3757729840E+00 +8 0.1125432700E+02 0.6540991854E-01 +S 7 +1 0.6636123990E+03 -0.6434491907E-03 +2 0.2189555130E+03 -0.6145249869E-02 +3 0.7871016600E+02 -0.3997291772E-01 +4 0.2953735300E+02 -0.1113315720E+00 +5 0.1125432700E+02 0.8090191229E-01 +6 0.4267535000E+01 0.6657903953E+00 +7 0.1579281000E+01 0.3701202757E+00 +S 4 +1 0.4267535000E+01 -0.7142092823E-01 +2 0.1579281000E+01 -0.2179502883E+00 +3 0.5555790000E+00 0.5425902593E+00 +4 0.1784570000E+00 0.6673922764E+00 +S 1 +1 0.1687951056E+00 0.1000000000E+01 +S 1 +1 0.4853805949E-01 0.1000000000E+01 +P 6 +1 0.3563286260E+03 0.5401161688E-02 +2 0.8397446900E+02 0.4095258891E-01 +3 0.2629578500E+02 0.1680574946E+00 +4 0.9467111000E+01 0.3874413537E+00 +5 0.3545298000E+01 0.4632448655E+00 +6 0.1292540000E+01 0.1465188185E+00 +P 5 +1 0.9467111000E+01 -0.3829600704E-02 +2 0.3545298000E+01 -0.1882778794E-01 +3 0.1292540000E+01 0.1104480480E+00 +4 0.4395040000E+00 0.5430389378E+00 +5 0.1352320000E+00 0.4889929135E+00 +P 1 +1 0.1405972125E+00 0.1000000000E+01 +P 1 +1 0.3937582884E-01 0.1000000000E+01 +D 1 +1 0.2178154923E+01 0.1000000000E+01 +D 1 +1 0.4771591702E+00 0.1000000000E+01 + +CHLORINE +S 8 +1 0.7979453309E+05 0.4275413947E-03 +2 0.1214195268E+05 0.3346523476E-02 +3 0.2699328154E+04 0.1764234074E-01 +4 0.7666154550E+03 0.6822944122E-01 +5 0.2528930690E+03 0.2005845580E+00 +6 0.9088789100E+02 0.4101963998E+00 +7 0.3415517000E+02 0.3807853908E+00 +8 0.1307582000E+02 0.7004027544E-01 +S 7 +1 0.7666154550E+03 -0.6262609041E-03 +2 0.2528930690E+03 -0.6046036693E-02 +3 0.9088789100E+02 -0.3959179631E-01 +4 0.3415517000E+02 -0.1124541765E+00 +5 0.1307582000E+02 0.7328691275E-01 +6 0.5003144000E+01 0.6655596413E+00 +7 0.1875025000E+01 0.3760646876E+00 +S 5 +1 0.1307582000E+02 0.2210333984E-02 +2 0.5003144000E+01 -0.8391342874E-01 +3 0.1875025000E+01 -0.2159891771E+00 +4 0.6683870000E+00 0.5631145456E+00 +5 0.2163320000E+00 0.6517126381E+00 +S 1 +1 0.2072007030E+00 0.1000000000E+01 +S 1 +1 0.5800129414E-01 0.1000000000E+01 +P 6 +1 0.4075055500E+03 0.5450849435E-02 +2 0.9607226300E+02 0.4153463234E-01 +3 0.3014191300E+02 0.1706146413E+00 +4 0.1088240500E+02 0.3941475213E+00 +5 0.4098621000E+01 0.4604289055E+00 +6 0.1509131000E+01 0.1357630349E+00 +P 5 +1 0.1088240500E+02 -0.4746765202E-02 +2 0.4098621000E+01 -0.1983797362E-01 +3 0.1509131000E+01 0.1374920328E+00 +4 0.5190200000E+00 0.5542908524E+00 +5 0.1601450000E+00 0.4569224728E+00 +P 1 +1 0.1743614453E+00 0.1000000000E+01 +P 1 +1 0.4718451221E-01 0.1000000000E+01 +D 1 +1 0.3083780711E+01 0.1000000000E+01 +D 1 +1 0.5932966344E+00 0.1000000000E+01 + +ARGON +S 9 +1 0.9108072877E+05 0.4188709077E-03 +2 0.1383967937E+05 0.3280153768E-02 +3 0.3080216121E+04 0.1726656599E-01 +4 0.8755900160E+03 0.6681974266E-01 +5 0.2888562720E+03 0.1974342709E+00 +6 0.1038047600E+03 0.4068612238E+00 +7 0.3905749900E+02 0.3847290288E+00 +8 0.1501248800E+02 0.7349683796E-01 +9 0.5787508000E+01 0.1323187019E-02 +S 7 +1 0.8755900160E+03 -0.5962113103E-03 +2 0.2888562720E+03 -0.5998182523E-02 +3 0.1038047600E+03 -0.3896149822E-01 +4 0.3905749900E+02 -0.1137301081E+00 +5 0.1501248800E+02 0.6912837654E-01 +6 0.5787508000E+01 0.6587496584E+00 +7 0.2191690000E+01 0.3862703852E+00 +S 6 +1 0.3905749900E+02 0.5091331303E-04 +2 0.1501248800E+02 0.3183357322E-02 +3 0.5787508000E+01 -0.9313800065E-01 +4 0.2191690000E+01 -0.2117032651E+00 +5 0.7896030000E+00 0.5792393623E+00 +6 0.2569330000E+00 0.6380094534E+00 +S 1 +1 0.8192685943E+00 0.1000000000E+01 +S 1 +1 0.8360475600E-01 0.1000000000E+01 +P 6 +1 0.4626698740E+03 0.5477653527E-02 +2 0.1091143370E+03 0.4195722347E-01 +3 0.3429081400E+02 0.1724550489E+00 +4 0.1241350700E+02 0.3996628618E+00 +5 0.4700524000E+01 0.4564647737E+00 +6 0.1747099000E+01 0.1292381689E+00 +P 6 +1 0.3429081400E+02 -0.2173526680E-02 +2 0.1241350700E+02 -0.7888769039E-02 +3 0.4700524000E+01 -0.2483474690E-01 +4 0.1747099000E+01 0.1590366970E+00 +5 0.6080710000E+00 0.5609591239E+00 +6 0.1890840000E+00 0.4336519009E+00 +P 1 +1 0.1004779280E+01 0.1000000000E+01 +P 1 +1 0.5879701400E-01 0.1000000000E+01 +D 1 +1 0.1842774737E+01 0.1000000000E+01 +D 1 +1 0.7211428877E+00 0.1000000000E+01 +$END + + + diff --git a/data/basis/2zapa-nr-cv b/data/basis/2zapa-nr-cv new file mode 100644 index 00000000..aef8c885 --- /dev/null +++ b/data/basis/2zapa-nr-cv @@ -0,0 +1,955 @@ +!---------------------------------------------------------------------- +! Basis Set Exchange +! Version v0.8.12 +! https://www.basissetexchange.org +!---------------------------------------------------------------------- +! Basis set: 2ZaPa-NR-CV +! Description: Double zeta augmented +polarization (nonrelativistic + +! core-valence) +! Role: orbital +! Version: 1 (Data from Supplemental Information of publications +! (modified)) +!---------------------------------------------------------------------- + + +$DATA + +HYDROGEN +S 4 +1 0.1298677400E+02 0.1972161440E-01 +2 0.1960089000E+01 0.1380691300E+00 +3 0.4442700000E+00 0.4784779630E+00 +4 0.1218710000E+00 0.5008373120E+00 +S 1 +1 0.1406792384E+00 0.1000000000E+01 +S 1 +1 0.3124407641E-01 0.1000000000E+01 +P 1 +1 0.8111606153E+00 0.1000000000E+01 + +HELIUM +S 5 +1 0.9801372830E+02 0.7586225690E-02 +2 0.1475700946E+02 0.5487230740E-01 +3 0.3317613389E+01 0.2207809160E+00 +4 0.8739514321E+00 0.4874323260E+00 +5 0.2445736623E+00 0.3974345400E+00 +S 1 +1 0.6844347900E-00 0.1000000000E+01 +S 1 +1 0.2280097319E+00 0.1000000000E+01 +P 1 +1 0.1365291063E+01 0.1000000000E+01 + +LITHIUM +S 6 +1 0.3657435440E+03 0.4356163519E-02 +2 0.5487759300E+02 0.3163758177E-01 +3 0.1269418300E+02 0.1422789030E+00 +4 0.3442664000E+01 0.3880104214E+00 +5 0.1059143000E+01 0.4901731100E+00 +6 0.3155200000E+00 0.1090884707E+00 +S 3 +1 0.1059143000E+01 -0.7386141829E-01 +2 0.3155200000E+00 -0.1038627878E-01 +3 0.4751800000E-01 0.1021752008E+01 +S 1 +1 0.2383933700E+02 1.0000000 +S 1 +1 0.4806905000E+01 1.0000000 +S 1 +1 0.5540860000E+00 1.0000000 +S 1 +1 0.6386889034E-01 0.1000000000E+01 +S 1 +1 0.9018346536E-02 0.1000000000E+01 +P 3 +1 0.5658230000E+00 0.7325499503E-01 +2 0.1049000000E+00 0.4260174382E+00 +3 0.2896300000E-01 0.6554857463E+00 +P 1 +1 0.8269898000E+01 1.0000000 +P 1 +1 0.2071170000E+01 1.0000000 +P 1 +1 0.2329490000E+00 1.0000000 +P 1 +1 0.2620032560E-01 0.1000000000E+01 +P 1 +1 0.7996715000E-02 0.1000000000E+01 +D 1 +1 0.1218831751E+00 0.1000000000E+01 + +BERYLLIUM +S 6 +1 0.8693164010E+03 0.3061668346E-02 +2 0.1315873490E+03 0.2340412821E-01 +3 0.2943462500E+02 0.1103608882E+00 +4 0.8283441000E+01 0.3218803090E+00 +5 0.2566731000E+01 0.5205478277E+00 +6 0.7965380000E+00 0.1812061077E+00 +S 5 +1 0.8283441000E+01 -0.5818503344E-02 +2 0.2566731000E+01 -0.4921179071E-01 +3 0.7965380000E+00 -0.9952253544E-01 +4 0.2365810000E+00 0.4212412345E+00 +5 0.6826000000E-01 0.7068984290E+00 +S 1 +1 0.4510395900E+02 1.0000000 +S 1 +1 0.9046168000E+01 1.0000000 +S 1 +1 0.7685220000E+00 1.0000000 +S 1 +1 0.6529029979E-01 0.1000000000E+01 +S 1 +1 0.1969485100E-01 0.1000000000E+01 +P 3 +1 0.1491343000E+01 0.8918443113E-01 +2 0.2906200000E+00 0.4509555912E+00 +3 0.7534600000E-01 0.6335315822E+00 +P 1 +1 0.1546231000E+02 1.0000000 +P 1 +1 0.3944768000E+01 1.0000000 +P 1 +1 0.2349450000E+00 1.0000000 +P 1 +1 0.5955887917E-01 0.1000000000E+01 +P 1 +1 0.1953416700E-01 0.1000000000E+01 +D 1 +1 0.2518234584E+00 0.1000000000E+01 + +BORON +S 6 +1 0.1420825823E+04 0.2928350492E-02 +2 0.2152418370E+03 0.2246379694E-01 +3 0.4815927900E+02 0.1064562907E+00 +4 0.1359598300E+02 0.3174204005E+00 +5 0.4252199000E+01 0.5147864157E+00 +6 0.1339979000E+01 0.1952230230E+00 +S 6 +1 0.4815927900E+02 -0.9298943696E-03 +2 0.1359598300E+02 -0.7772015323E-02 +3 0.4252199000E+01 -0.6043304619E-01 +4 0.1339979000E+01 -0.8688486619E-01 +5 0.4040320000E+00 0.4626297967E+00 +6 0.1164910000E+00 0.6668730181E+00 +S 1 +1 0.4319623100E+02 1.0000000 +S 1 +1 0.2718021000E+01 1.0000000 +S 1 +1 0.5486050000E+00 1.0000000 +S 1 +1 0.1107307037E+00 0.1000000000E+01 +S 1 +1 0.3215357325E-01 0.1000000000E+01 +P 4 +1 0.6000701000E+01 0.3547815024E-01 +2 0.1240613000E+01 0.1979358801E+00 +3 0.3368240000E+00 0.5039660479E+00 +4 0.9562700000E-01 0.4806845912E+00 +P 1 +1 0.2476782100E+02 1.0000000 +P 1 +1 0.6365566000E+01 1.0000000 +P 1 +1 0.59869000000E+00 1.0000000 +P 1 +1 0.9405139564E-01 0.1000000000E+01 +P 1 +1 0.2360462671E-01 0.1000000000E+01 +D 1 +1 0.3915530981E+00 0.1000000000E+01 + +CARBON +S 7 +1 0.4431768960E+04 0.1126061671E-02 +2 0.6791821200E+03 0.8732020769E-02 +3 0.1497658010E+03 0.4538037327E-01 +4 0.4256773700E+02 0.1557978782E+00 +5 0.1397208900E+02 0.3729581302E+00 +6 0.4807170000E+01 0.4625091714E+00 +7 0.1615022000E+01 0.1098400479E+00 +S 6 +1 0.4256773700E+02 -0.2310897249E-02 +2 0.1397208900E+02 -0.1453731954E-01 +3 0.4807170000E+01 -0.8415643744E-01 +4 0.1615022000E+01 -0.2037762862E-01 +5 0.5131410000E+00 0.5458602858E+00 +6 0.1572840000E+00 0.5560976638E+00 +S 1 +1 0.6366291800E+02 1.0000000 +S 1 +1 0.4055751000E+01 1.0000000 +S 1 +1 0.7971800000E+00 1.0000000 +S 1 +1 0.1566899288E+00 0.1000000000E+01 +S 1 +1 0.4710599150E-01 0.1000000000E+01 +P 4 +1 0.9442539000E+01 0.3809696951E-01 +2 0.2001672000E+01 0.2095159860E+00 +3 0.5455030000E+00 0.5086254921E+00 +4 0.1516190000E+00 0.4688007911E+00 +P 1 +1 0.3649062000E+02 1.0000000 +P 1 +1 0.9449406000E+01 1.0000000 +P 1 +1 0.1221640000E+01 1.0000000 +P 1 +1 0.1579354367E+00 0.1000000000E+01 +P 1 +1 0.4087366449E-01 0.1000000000E+01 +D 1 +1 0.6074318765E+00 0.1000000000E+01 + +NITROGEN +S 7 +1 0.6086361610E+04 0.1121346695E-02 +2 0.9340025700E+03 0.8677456551E-02 +3 0.2062607910E+03 0.4508496665E-01 +4 0.5868250100E+02 0.1553521687E+00 +5 0.1929300800E+02 0.3736875266E+00 +6 0.6661753000E+01 0.4612500986E+00 +7 0.2250012000E+01 0.1103828059E+00 +S 6 +1 0.5868250100E+02 -0.2419469256E-02 +2 0.1929300800E+02 -0.1577551006E-01 +3 0.6661753000E+01 -0.8682335163E-01 +4 0.2250012000E+01 -0.8902830622E-02 +5 0.7174680000E+00 0.5548068925E+00 +6 0.2184990000E+00 0.5420505988E+00 +S 1 +1 0.8618671600E+02 1.0000000 +S 1 +1 0.5541368000E+01 1.0000000 +S 1 +1 0.1087540000E+01 1.0000000 +S 1 +1 0.2134390181E+00 0.1000000000E+01 +S 1 +1 0.6069553046E-01 0.1000000000E+01 +P 5 +1 0.2666742400E+02 0.1463545201E-01 +2 0.5956987000E+01 0.9158483996E-01 +3 0.1744905000E+01 0.2981215002E+00 +4 0.5564590000E+00 0.4977481443E+00 +5 0.1731140000E+00 0.3383848532E+00 +P 1 +1 0.5042692800E+02 1.0000000 +P 1 +1 0.1311195400E+02 1.0000000 +P 1 +1 0.1725500000E+01 1.0000000 +P 1 +1 0.2270726086E+00 0.1000000000E+01 +P 1 +1 0.5753239271E-01 0.1000000000E+01 +D 1 +1 0.8853992832E+00 0.1000000000E+01 + +OXYGEN +S 7 +1 0.8037107558E+04 0.1112674636E-02 +2 0.1232703101E+04 0.8614189090E-02 +3 0.2722852310E+03 0.4479101384E-01 +4 0.7746967900E+02 0.1549325322E+00 +5 0.2548922100E+02 0.3741034002E+00 +6 0.8825615000E+01 0.4603852435E+00 +7 0.2995343000E+01 0.1109971843E+00 +S 6 +1 0.7746967900E+02 -0.2517634976E-02 +2 0.2548922100E+02 -0.1680207397E-01 +3 0.8825615000E+01 -0.8923021683E-01 +4 0.2995343000E+01 -0.3292778730E-03 +5 0.9592800000E+00 0.5646333325E+00 +6 0.2912670000E+00 0.5283721694E+00 +S 1 +1 0.1116301760E+03 1.0000000 +S 1 +1 0.7235349000E+01 1.0000000 +S 1 +1 0.1461800000E+01 1.0000000 +S 1 +1 0.2953643385E+00 0.1000000000E+01 +S 1 +1 0.7763529957E-01 0.1000000000E+01 +P 5 +1 0.3448340500E+02 0.1590954790E-01 +2 0.7755883000E+01 0.9960510949E-01 +3 0.2283024000E+01 0.3099926050E+00 +4 0.7171690000E+00 0.4905619039E+00 +5 0.2145740000E+00 0.3373392260E+00 +P 1 +1 0.6642733800E+02 1.0000000 +P 1 +1 0.1731429000E+02 1.0000000 +P 1 +1 0.2222690000E+01 1.0000000 +P 1 +1 0.2853356395E+00 0.1000000000E+01 +P 1 +1 0.6830216077E-01 0.1000000000E+01 +D 1 +1 0.1253413556E+01 0.1000000000E+01 + +FLUORINE +S 7 +1 0.1024537363E+05 0.1107583316E-02 +2 0.1571089738E+04 0.8575751160E-02 +3 0.3471284760E+03 0.4460623641E-01 +4 0.9879170100E+02 0.1546687967E+00 +5 0.3253225600E+02 0.3744276417E+00 +6 0.1128802800E+02 0.4596521074E+00 +7 0.3843524000E+01 0.1114646099E+00 +S 6 +1 0.9879170100E+02 -0.2590309950E-02 +2 0.3253225600E+02 -0.1758416480E-01 +3 0.1128802800E+02 -0.9078089989E-01 +4 0.3843524000E+01 0.6285889688E-02 +5 0.1234023000E+01 0.5703225081E+00 +6 0.3736610000E+00 0.5195039436E+00 +S 1 +1 0.1386982750E+03 1.0000000 +S 1 +1 0.9023519000E+01 1.0000000 +S 1 +1 0.1867700000E+01 1.0000000 +S 1 +1 0.3866156976E+00 0.1000000000E+01 +S 1 +1 0.9686809809E-01 0.1000000000E+01 +P 6 +1 0.8037271400E+02 0.6372584698E-02 +2 0.1857364200E+02 0.4432012038E-01 +3 0.5685417000E+01 0.1689011879E+00 +4 0.1947181000E+01 0.3620610789E+00 +5 0.6692920000E+00 0.4413531478E+00 +6 0.2163470000E+00 0.2433000429E+00 +P 1 +1 0.8467565300E+02 1.0000000 +P 1 +1 0.2212758400E+02 1.0000000 +P 1 +1 0.2844900000E+01 1.0000000 +P 1 +1 0.3657761458E+00 0.1000000000E+01 +P 1 +1 0.8921714439E-01 0.1000000000E+01 +D 1 +1 0.1703134082E+01 0.1000000000E+01 + +NEON +S 7 +1 0.1271663197E+05 0.1103964353E-02 +2 0.1949760861E+04 0.8549482907E-02 +3 0.4308106350E+03 0.4449311504E-01 +4 0.1226212130E+03 0.1545645664E+00 +5 0.4040455200E+02 0.3748712448E+00 +6 0.1404087700E+02 0.4589717815E+00 +7 0.4791185000E+01 0.1116279661E+00 +S 6 +1 0.1226212130E+03 -0.2648406500E-02 +2 0.4040455200E+02 -0.1821501066E-01 +3 0.1404087700E+02 -0.9188546255E-01 +4 0.4791185000E+01 0.1183218831E-01 +5 0.1540292000E+01 0.5741358449E+00 +6 0.4650630000E+00 0.5129223070E+00 +S 1 +1 0.1687700700E+03 1.0000000 +S 1 +1 0.1102362300E+02 1.0000000 +S 1 +1 0.2394120000E+01 1.0000000 +S 1 +1 0.5199602174E+00 0.1000000000E+01 +S 1 +1 0.1404172680E+00 0.1000000000E+01 +P 6 +1 0.9973511900E+02 0.6561710276E-02 +2 0.2316052700E+02 0.4593871188E-01 +3 0.7109732000E+01 0.1735039749E+00 +4 0.2438743000E+01 0.3650309938E+00 +5 0.8330490000E+00 0.4377372808E+00 +6 0.2664160000E+00 0.2415491519E+00 +P 1 +1 0.1058238310E+03 1.0000000 +P 1 +1 0.2775301200E+02 1.0000000 +P 1 +1 0.3832240000E+01 1.0000000 +P 1 +1 0.5291721764E+00 0.1000000000E+01 +P 1 +1 0.8520205300E-01 0.1000000000E+01 +D 1 +1 0.2230500121E+01 0.1000000000E+01 + +SODIUM +S 8 +1 0.3834447581E+05 0.3602940889E-03 +2 0.5745096696E+04 0.2838046608E-02 +3 0.1291337183E+04 0.1469972431E-01 +4 0.3692975940E+03 0.5722639241E-01 +5 0.1214239800E+03 0.1738193249E+00 +6 0.4334908300E+02 0.3783407084E+00 +7 0.1626778900E+02 0.4136774342E+00 +8 0.6246765000E+01 0.1115534724E+00 +S 7 +1 0.1214239800E+03 -0.3352513095E-02 +2 0.4334908300E+02 -0.2344590476E-01 +3 0.1626778900E+02 -0.8623792242E-01 +4 0.6246765000E+01 -0.1538911682E-01 +5 0.2356424000E+01 0.4558782686E+00 +6 0.8109900000E+00 0.5945038867E+00 +7 0.2244100000E+00 0.6484867676E-01 +S 4 +1 0.2356424000E+01 -0.8871285426E-03 +2 0.8109900000E+00 -0.1058069179E+00 +3 0.2244100000E+00 -0.1835987973E-01 +4 0.4095000000E-01 0.1034516090E+01 +S 1 +1 0.2054912600E+02 1.0000000 +S 1 +1 0.6827759000E+01 1.0000000 +S 1 +1 0.2268626000E+01 1.0000000 +S 1 +1 0.5874356130E-01 0.1000000000E+01 +S 1 +1 0.8379234234E-02 0.1000000000E+01 +P 6 +1 0.9757872500E+02 0.1025846770E-01 +2 0.2255209900E+02 0.6892036284E-01 +3 0.6907969000E+01 0.2412414456E+00 +4 0.2301503000E+01 0.4434329402E+00 +5 0.7666220000E+00 0.4104067114E+00 +6 0.2156310000E+00 0.8284299222E-01 +P 4 +1 0.2301503000E+01 0.4507931390E-02 +2 0.7666220000E+00 -0.2224968413E-01 +3 0.2156310000E+00 0.9176752119E-01 +4 0.3260500000E-01 0.9649449913E+00 +P 1 +1 0.6420210900E+02 1.0000000 +P 1 +1 0.6582819000E+01 1.0000000 +P 1 +1 0.6749540000E+00 1.0000000 +P 1 +1 0.7746176482E-01 0.1000000000E+01 +P 1 +1 0.4930117000E-02 0.1000000000E+01 +D 1 +1 0.6495397000E+01 1.0000000 +D 1 +1 0.1736025000E+01 1.0000000 +D 1 +1 0.4657319752E+00 0.1000000000E+01 +D 1 +1 0.1008476556E+00 0.1000000000E+01 + +MAGNESIUM +S 8 +1 0.3273235380E+05 0.5365397390E-03 +2 0.5035281120E+04 0.4173405660E-02 +3 0.1112216400E+04 0.2217672874E-01 +4 0.3141451920E+03 0.8458359458E-01 +5 0.1036092110E+03 0.2366887171E+00 +6 0.3722053900E+02 0.4404612103E+00 +7 0.1382466000E+02 0.3291285122E+00 +8 0.5108696000E+01 0.3456535592E-01 +S 7 +1 0.1036092110E+03 -0.6909482627E-02 +2 0.3722053900E+02 -0.4176097019E-01 +3 0.1382466000E+02 -0.1045892464E+00 +4 0.5108696000E+01 0.1555821141E+00 +5 0.1825215000E+01 0.6644031791E+00 +6 0.6163730000E+00 0.3273265683E+00 +7 0.1927660000E+00 -0.2021600849E-01 +S 4 +1 0.1825215000E+01 -0.3500785208E-01 +2 0.6163730000E+00 -0.1773664214E+00 +3 0.1927660000E+00 0.3212208594E+00 +4 0.5461400000E-01 0.8261938943E+00 +S 1 +1 0.2535836400E+02 1.0000000 +S 1 +1 0.8608040000E+01 1.0000000 +S 1 +1 0.2922048000E+01 1.0000000 +S 1 +1 0.9919057000E+00 1.0000000 +S 1 +1 0.2205807000E+00 1.0000000 +S 1 +1 0.4905289106E-01 0.1000000000E+01 +S 1 +1 0.1547310700E-01 0.1000000000E+01 +S 1 +1 0.8054710902E-02 0.1000000000E+01 +P 6 +1 0.1278339780E+03 0.9425167146E-02 +2 0.2968475900E+02 0.6543505400E-01 +3 0.9117451000E+01 0.2342608360E+00 +4 0.3101314000E+01 0.4463824800E+00 +5 0.1059175000E+01 0.4107565086E+00 +6 0.3191520000E+00 0.7603532943E-01 +P 4 +1 0.3101314000E+01 0.5199500791E-02 +2 0.1059175000E+01 -0.3335058622E-01 +3 0.3191520000E+00 0.1789309935E+00 +4 0.6469000000E-01 0.9084654408E+00 +P 1 +1 0.7535217200E+02 1.0000000 +P 1 +1 0.8964418000E+01 1.0000000 +P 1 +1 0.1066470000E+01 1.0000000 +P 1 +1 0.4031356000E+00 1.0000000 +P 1 +1 0.1523890037E+00 0.1000000000E+01 +P 1 +1 0.1311223500E-01 0.1000000000E+01 +D 1 +1 0.1019489800E+02 1.0000000 +D 1 +1 0.2901793000E+01 1.0000000 +D 1 +1 0.6119371619E+00 0.1000000000E+01 +D 1 +1 0.1702595179E+00 0.1000000000E+01 + +ALUMINIUM +S 8 +1 0.4082547901E+05 0.4987480205E-03 +2 0.6270790001E+04 0.3885300865E-02 +3 0.1385836318E+04 0.2064819658E-01 +4 0.3917488510E+03 0.7914319494E-01 +5 0.1292970570E+03 0.2245247883E+00 +6 0.4651436800E+02 0.4311648501E+00 +7 0.1734486700E+02 0.3476344203E+00 +8 0.6468821000E+01 0.4465388495E-01 +S 7 +1 0.3917488510E+03 -0.7394639078E-03 +2 0.1292970570E+03 -0.6838524728E-02 +3 0.4651436800E+02 -0.4271104197E-01 +4 0.1734486700E+02 -0.1069549577E+00 +5 0.6468821000E+01 0.1248287204E+00 +6 0.2353064000E+01 0.6710983327E+00 +7 0.8195240000E+00 0.3317426657E+00 +S 4 +1 0.2353064000E+01 -0.4818741688E-01 +2 0.8195240000E+00 -0.2017863949E+00 +3 0.2689900000E+00 0.4222569591E+00 +4 0.8179600000E-01 0.7555163020E+00 +S 1 +1 0.3076459300E+02 1.0000000 +S 1 +1 0.1060430800E+02 1.0000000 +S 1 +1 0.3655219000E+01 1.0000000 +S 1 +1 0.5275220000E+00 1.0000000 +S 1 +1 0.7613224591E-01 0.1000000000E+01 +S 1 +1 0.2210027731E-01 0.1000000000E+01 +P 6 +1 0.2331154620E+03 0.4849129857E-02 +2 0.5485399200E+02 0.3593575073E-01 +3 0.1716149700E+02 0.1484886158E+00 +4 0.6115644000E+01 0.3486943796E+00 +5 0.2271581000E+01 0.4580671100E+00 +6 0.8250320000E+00 0.2292235795E+00 +P 5 +1 0.6115644000E+01 -0.3264616317E-02 +2 0.2271581000E+01 -0.4242517743E-02 +3 0.8250320000E+00 -0.6994332094E-02 +4 0.2704560000E+00 0.3671027570E+00 +5 0.6975500000E-01 0.7434550205E+00 +P 1 +1 0.8872513400E+02 1.0000000 +P 1 +1 0.1129368700E+02 1.0000000 +P 1 +1 0.1437556000E+01 1.0000000 +P 1 +1 0.3008690000E+00 1.0000000 +P 1 +1 0.6296957853E-01 0.1000000000E+01 +P 1 +1 0.1632835606E-01 0.1000000000E+01 +D 1 +1 0.1368660000E+02 1.0000000 +D 1 +1 0.3959412000E+01 1.0000000 +D 1 +1 0.9520829872E+00 0.1000000000E+01 +D 1 +1 0.2063660192E+00 0.1000000000E+01 + +SILICON +S 8 +1 0.4960155294E+05 0.4725011324E-03 +2 0.7594783503E+04 0.3687559221E-02 +3 0.1681447696E+04 0.1954954576E-01 +4 0.4760480160E+03 0.7517153296E-01 +5 0.1571213020E+03 0.2158659567E+00 +6 0.5651703800E+02 0.4240914230E+00 +7 0.2113061900E+02 0.3601669575E+00 +8 0.7948902000E+01 0.5293035425E-01 +S 7 +1 0.1571213020E+03 -0.6131757363E-02 +2 0.5651703800E+02 -0.3852121276E-01 +3 0.2113061900E+02 -0.1089044354E+00 +4 0.7948902000E+01 0.1092366340E+00 +5 0.2940645000E+01 0.6634200424E+00 +6 0.1050417000E+01 0.3640596774E+00 +7 0.3554940000E+00 -0.1952083272E-01 +S 4 +1 0.2940645000E+01 -0.5888572504E-01 +2 0.1050417000E+01 -0.2090662605E+00 +3 0.3554940000E+00 0.4738999763E+00 +4 0.1112000000E+00 0.7179628577E+00 +S 1 +1 0.3758696000E+02 1.0000000 +S 1 +1 0.1320427700E+02 1.0000000 +S 1 +1 0.4638655000E+01 1.0000000 +S 1 +1 0.6949540000E+00 1.0000000 +S 1 +1 0.1041166186E+00 0.1000000000E+01 +S 1 +1 0.3168183347E-01 0.1000000000E+01 +P 6 +1 0.2625857090E+03 0.5331646312E-02 +2 0.6179888800E+02 0.3982295301E-01 +3 0.1928091600E+02 0.1627058360E+00 +4 0.6887412000E+01 0.3724389869E+00 +5 0.2547172000E+01 0.4645605590E+00 +6 0.9124430000E+00 0.1763045887E+00 +P 5 +1 0.6887412000E+01 -0.2726415092E-02 +2 0.2547172000E+01 -0.1259369596E-01 +3 0.9124430000E+00 0.4349643620E-01 +4 0.3028160000E+00 0.4758643139E+00 +5 0.8996900000E-01 0.6032366053E+00 +P 1 +1 0.1035424740E+03 1.0000000 +P 1 +1 0.1395634300E+02 1.0000000 +P 1 +1 0.1881156000E+01 1.0000000 +P 1 +1 0.4051950000E+00 1.0000000 +P 1 +1 0.8727769099E-01 0.1000000000E+01 +P 1 +1 0.2499303054E-01 0.1000000000E+01 +D 1 +1 0.1768897300E+02 1.0000000 +D 1 +1 0.5172141000E+01 1.0000000 +D 1 +1 0.1340694732E+01 0.1000000000E+01 +D 1 +1 0.2835946390E+00 0.1000000000E+01 + +PHOSPHORUS +S 8 +1 0.5909335023E+05 0.4527086341E-03 +2 0.9023148429E+04 0.3538123901E-02 +3 0.2001094330E+04 0.1871285114E-01 +4 0.5673109070E+03 0.7213118706E-01 +5 0.1872126000E+03 0.2092043482E+00 +6 0.6731761600E+02 0.4182568073E+00 +7 0.2522118500E+02 0.3694143802E+00 +8 0.9556388000E+01 0.5999791644E-01 +S 7 +1 0.5673109070E+03 -0.6650458265E-03 +2 0.1872126000E+03 -0.6278942133E-02 +3 0.6731761600E+02 -0.4048843031E-01 +4 0.2522118500E+02 -0.1100411629E+00 +5 0.9556388000E+01 0.9049651146E-01 +6 0.3584991000E+01 0.6662061276E+00 +7 0.1306440000E+01 0.3625408319E+00 +S 4 +1 0.3584991000E+01 -0.6458531010E-01 +2 0.1306440000E+01 -0.2160550273E+00 +3 0.4519060000E+00 0.5102471601E+00 +4 0.1434700000E+00 0.6922733729E+00 +S 1 +1 0.4404428400E+02 1.0000000 +S 1 +1 0.1565559600E+02 1.0000000 +S 1 +1 0.5564801000E+01 1.0000000 +S 1 +1 0.8648245000E+00 1.0000000 +S 1 +1 0.1344021939E+00 0.1000000000E+01 +S 1 +1 0.3942858667E-01 0.1000000000E+01 +P 6 +1 0.3097911890E+03 0.5306290849E-02 +2 0.7298400300E+02 0.4001884086E-01 +3 0.2280767300E+02 0.1642557963E+00 +4 0.8187361000E+01 0.3784539000E+00 +5 0.3049072000E+01 0.4656224281E+00 +6 0.1102292000E+01 0.1622231590E+00 +P 5 +1 0.8187361000E+01 -0.3193621694E-02 +2 0.3049072000E+01 -0.1616477772E-01 +3 0.1102292000E+01 0.7402110937E-01 +4 0.3725850000E+00 0.5202271126E+00 +5 0.1159720000E+00 0.5346492324E+00 +P 1 +1 0.1203460540E+03 1.0000000 +P 1 +1 0.1691254700E+02 1.0000000 +P 1 +1 0.2376765000E+01 1.0000000 +P 1 +1 0.5287180000E+00 1.0000000 +P 1 +1 0.1176148966E+00 0.1000000000E+01 +P 1 +1 0.3391675834E-01 0.1000000000E+01 +D 1 +1 0.2159068800E+02 1.0000000 +D 1 +1 0.6349729000E+01 1.0000000 +D 1 +1 0.1671078011E+01 0.1000000000E+01 +D 1 +1 0.7927760000E+00 1.0000000 +D 1 +1 0.3761010137E+00 0.1000000000E+01 + +SULFUR +S 8 +1 0.6909063871E+05 0.4387995563E-03 +2 0.1053024604E+05 0.3432127370E-02 +3 0.2338469943E+04 0.1811987347E-01 +4 0.6636123990E+03 0.6997127864E-01 +5 0.2189555130E+03 0.2044452401E+00 +6 0.7871016600E+02 0.4138878758E+00 +7 0.2953735300E+02 0.3757729840E+00 +8 0.1125432700E+02 0.6540991854E-01 +S 7 +1 0.6636123990E+03 -0.6434491907E-03 +2 0.2189555130E+03 -0.6145249869E-02 +3 0.7871016600E+02 -0.3997291772E-01 +4 0.2953735300E+02 -0.1113315720E+00 +5 0.1125432700E+02 0.8090191229E-01 +6 0.4267535000E+01 0.6657903953E+00 +7 0.1579281000E+01 0.3701202757E+00 +S 4 +1 0.4267535000E+01 -0.7142092823E-01 +2 0.1579281000E+01 -0.2179502883E+00 +3 0.5555790000E+00 0.5425902593E+00 +4 0.1784570000E+00 0.6673922764E+00 +S 1 +1 0.5163109000E+02 1.0000000 +S 1 +1 0.1857181200E+02 1.0000000 +S 1 +1 0.6680320000E+01 1.0000000 +S 1 +1 0.1061887000E+01 1.0000000 +S 1 +1 0.1687951056E+00 0.1000000000E+01 +S 1 +1 0.4853805949E-01 0.1000000000E+01 +P 6 +1 0.3563286260E+03 0.5401161688E-02 +2 0.8397446900E+02 0.4095258891E-01 +3 0.2629578500E+02 0.1680574946E+00 +4 0.9467111000E+01 0.3874413537E+00 +5 0.3545298000E+01 0.4632448655E+00 +6 0.1292540000E+01 0.1465188185E+00 +P 5 +1 0.9467111000E+01 -0.3829600704E-02 +2 0.3545298000E+01 -0.1882778794E-01 +3 0.1292540000E+01 0.1104480480E+00 +4 0.4395040000E+00 0.5430389378E+00 +5 0.1352320000E+00 0.4889929135E+00 +P 1 +1 0.1385163030E+03 1.0000000 +P 1 +1 0.2005526400E+02 1.0000000 +P 1 +1 0.2903728000E+01 1.0000000 +P 1 +1 0.6389490000E+00 1.0000000 +P 1 +1 0.1405972125E+00 0.1000000000E+01 +P 1 +1 0.3937582884E-01 0.1000000000E+01 +D 1 +1 0.2663148200E+02 1.0000000 +D 1 +1 0.7878729000E+01 1.0000000 +D 1 +1 0.2178154923E+01 0.1000000000E+01 +D 1 +1 0.1019474000E+01 1.0000000 +D 1 +1 0.4771591702E+00 0.1000000000E+01 + +CHLORINE +S 8 +1 0.7979453309E+05 0.4275413947E-03 +2 0.1214195268E+05 0.3346523476E-02 +3 0.2699328154E+04 0.1764234074E-01 +4 0.7666154550E+03 0.6822944122E-01 +5 0.2528930690E+03 0.2005845580E+00 +6 0.9088789100E+02 0.4101963998E+00 +7 0.3415517000E+02 0.3807853908E+00 +8 0.1307582000E+02 0.7004027544E-01 +S 7 +1 0.7666154550E+03 -0.6262609041E-03 +2 0.2528930690E+03 -0.6046036693E-02 +3 0.9088789100E+02 -0.3959179631E-01 +4 0.3415517000E+02 -0.1124541765E+00 +5 0.1307582000E+02 0.7328691275E-01 +6 0.5003144000E+01 0.6655596413E+00 +7 0.1875025000E+01 0.3760646876E+00 +S 5 +1 0.1307582000E+02 0.2210333984E-02 +2 0.5003144000E+01 -0.8391342874E-01 +3 0.1875025000E+01 -0.2159891771E+00 +4 0.6683870000E+00 0.5631145456E+00 +5 0.2163320000E+00 0.6517126381E+00 +S 1 +1 0.6025560700E+02 1.0000000 +S 1 +1 0.2189176300E+02 1.0000000 +S 1 +1 0.7953605000E+01 1.0000000 +S 1 +1 0.1283742000E+01 1.0000000 +S 1 +1 0.2072007030E+00 0.1000000000E+01 +S 1 +1 0.5800129414E-01 0.1000000000E+01 +P 6 +1 0.4075055500E+03 0.5450849435E-02 +2 0.9607226300E+02 0.4153463234E-01 +3 0.3014191300E+02 0.1706146413E+00 +4 0.1088240500E+02 0.3941475213E+00 +5 0.4098621000E+01 0.4604289055E+00 +6 0.1509131000E+01 0.1357630349E+00 +P 5 +1 0.1088240500E+02 -0.4746765202E-02 +2 0.4098621000E+01 -0.1983797362E-01 +3 0.1509131000E+01 0.1374920328E+00 +4 0.5190200000E+00 0.5542908524E+00 +5 0.1601450000E+00 0.4569224728E+00 +P 1 +1 0.1578256330E+03 1.0000000 +P 1 +1 0.2348040100E+02 1.0000000 +P 1 +1 0.3493281000E+01 1.0000000 +P 1 +1 0.7804440000E+00 1.0000000 +P 1 +1 0.1743614453E+00 0.1000000000E+01 +P 1 +1 0.4718451221E-01 0.1000000000E+01 +D 1 +1 0.3434420000E+02 1.0000000 +D 1 +1 0.1019200500E+02 1.0000000 +D 1 +1 0.3083780711E+01 0.1000000000E+01 +D 1 +1 0.1352626000E+01 1.0000000 +D 1 +1 0.5932966344E+00 0.1000000000E+01 + +ARGON +S 9 +1 0.9108072877E+05 0.4188709077E-03 +2 0.1383967937E+05 0.3280153768E-02 +3 0.3080216121E+04 0.1726656599E-01 +4 0.8755900160E+03 0.6681974266E-01 +5 0.2888562720E+03 0.1974342709E+00 +6 0.1038047600E+03 0.4068612238E+00 +7 0.3905749900E+02 0.3847290288E+00 +8 0.1501248800E+02 0.7349683796E-01 +9 0.5787508000E+01 0.1323187019E-02 +S 7 +1 0.8755900160E+03 -0.5962113103E-03 +2 0.2888562720E+03 -0.5998182523E-02 +3 0.1038047600E+03 -0.3896149822E-01 +4 0.3905749900E+02 -0.1137301081E+00 +5 0.1501248800E+02 0.6912837654E-01 +6 0.5787508000E+01 0.6587496584E+00 +7 0.2191690000E+01 0.3862703852E+00 +S 6 +1 0.3905749900E+02 0.5091331303E-04 +2 0.1501248800E+02 0.3183357322E-02 +3 0.5787508000E+01 -0.9313800065E-01 +4 0.2191690000E+01 -0.2117032651E+00 +5 0.7896030000E+00 0.5792393623E+00 +6 0.2569330000E+00 0.6380094534E+00 +S 1 +1 0.6930951800E+02 1.0000000 +S 1 +1 0.2563434500E+02 1.0000000 +S 1 +1 0.9480944000E+01 1.0000000 +S 1 +1 0.2787013000E+01 1.0000000 +S 1 +1 0.8192685943E+00 0.1000000000E+01 +S 1 +1 0.8360475600E-01 0.1000000000E+01 +P 6 +1 0.4626698740E+03 0.5477653527E-02 +2 0.1091143370E+03 0.4195722347E-01 +3 0.3429081400E+02 0.1724550489E+00 +4 0.1241350700E+02 0.3996628618E+00 +5 0.4700524000E+01 0.4564647737E+00 +6 0.1747099000E+01 0.1292381689E+00 +P 6 +1 0.3429081400E+02 -0.2173526680E-02 +2 0.1241350700E+02 -0.7888769039E-02 +3 0.4700524000E+01 -0.2483474690E-01 +4 0.1747099000E+01 0.1590366970E+00 +5 0.6080710000E+00 0.5609591239E+00 +6 0.1890840000E+00 0.4336519009E+00 +P 1 +1 0.1806336370E+03 1.0000000 +P 1 +1 0.2799701900E+02 1.0000000 +P 1 +1 0.4339353000E+01 1.0000000 +P 1 +1 0.2088083000E+01 1.0000000 +P 1 +1 0.1004779280E+01 0.1000000000E+01 +P 1 +1 0.5879701400E-01 0.1000000000E+01 +D 1 +1 0.3103757400E+02 1.0000000 +D 1 +1 0.9175199000E+01 1.0000000 +D 1 +1 0.4111912000E+01 1.0000000 +D 1 +1 0.1842774737E+01 0.1000000000E+01 +D 1 +1 0.7211428877E+00 0.1000000000E+01 +$END \ No newline at end of file diff --git a/data/basis/3zapa-nr b/data/basis/3zapa-nr new file mode 100644 index 00000000..04a49dda --- /dev/null +++ b/data/basis/3zapa-nr @@ -0,0 +1,967 @@ +!---------------------------------------------------------------------- +! Basis Set Exchange +! Version v0.8.12 +! https://www.basissetexchange.org +!---------------------------------------------------------------------- +! Basis set: 3ZaPa-NR +! Description: Triple Zeta augmented + polarization (nonrelativistic) +! Role: orbital +! Version: 1 (Data from Supplemental Information of publications) +!---------------------------------------------------------------------- + + +$DATA + +HYDROGEN +S 6 +1 0.4900000000E+02 0.2858829669E-02 +2 0.1244050400E+02 0.1359826619E-01 +3 0.2829825000E+01 0.7681981526E-01 +4 0.7995040000E+00 0.2548902209E+00 +5 0.2585190000E+00 0.4987633678E+00 +6 0.8994700000E-01 0.2961894029E+00 +S 1 +1 0.3103180000E+00 0.1000000000E+01 +S 1 +1 0.9530200000E-01 0.1000000000E+01 +S 1 +1 0.2433971938E-01 0.1000000000E+01 +P 1 +1 0.1646798000E+01 0.1000000000E+01 +P 1 +1 0.4280520000E+00 0.1000000000E+01 +P 1 +1 0.1112635000E+00 0.1000000000E+01 +D 1 +1 0.1064733810E+01 0.1000000000E+01 + +HELIUM +S 7 +1 0.5287276710E+03 0.9361632478E-03 +2 0.7945110200E+02 0.7228605369E-02 +3 0.1801203100E+02 0.3597814569E-01 +4 0.5096066000E+01 0.1273785500E+00 +5 0.1609886000E+01 0.3089348849E+00 +6 0.5363380000E+00 0.4528136649E+00 +7 0.1833730000E+00 0.2390443750E+00 +S 1 +1 0.9425970000E+00 0.1000000000E+01 +S 1 +1 0.2984770000E+00 0.1000000000E+01 +S 1 +1 0.6269490000E-01 0.9361632478E-03 +P 1 +1 0.3283856000E+01 0.1000000000E+01 +P 1 +1 0.7918470000E+00 0.1000000000E+01 +P 1 +1 0.1909406000E+00 0.1000000000E+01 +D 1 +1 0.1885921988E+01 0.1000000000E+01 + +LITHIUM +S 7 +1 0.1023528986E+04 0.1176906560E-02 +2 0.1568802470E+03 0.9082424897E-02 +3 0.3477573100E+02 0.4639108683E-01 +4 0.9874288000E+01 0.1562665162E+00 +5 0.3194671000E+01 0.3631238427E+00 +6 0.1068784000E+01 0.4683479353E+00 +7 0.3477200000E+00 0.1201198716E+00 +S 5 +1 0.3194671000E+01 -0.7509097698E-02 +2 0.1068784000E+01 -0.4456212389E-01 +3 0.3477200000E+00 -0.1154669643E+00 +4 0.1089060000E+00 0.3764137277E+00 +5 0.3475700000E-01 0.7490225100E+00 +S 1 +1 0.1211160000E+00 0.1000000000E+01 +S 1 +1 0.3516400000E-01 0.1000000000E+01 +S 1 +1 0.8402212555E-02 0.1000000000E+01 +P 5 +1 0.3269148000E+01 0.8684745278E-02 +2 0.6514370000E+00 0.4793297639E-01 +3 0.1694970000E+00 0.2108924140E+00 +4 0.5572500000E-01 0.5290231839E+00 +5 0.2048200000E-01 0.3810909679E+00 +P 1 +1 0.5563990000E+00 0.1000000000E+01 +P 1 +1 0.2689100000E-01 0.1000000000E+01 +P 1 +1 0.7528261000E-02 0.1000000000E+01 +D 1 +1 0.1778530000E+00 0.1000000000E+01 +D 1 +1 0.7999600000E-01 0.1000000000E+01 +D 1 +1 0.3598117000E-01 0.1000000000E+01 +F 1 +1 0.1607629495E+00 0.1000000000E+01 + +BERYLLIUM +S 8 +1 0.3605264893E+04 0.5057968348E-03 +2 0.5665694960E+03 0.3917964404E-02 +3 0.1230207180E+03 0.2131157000E-01 +4 0.3450903200E+02 0.8018904122E-01 +5 0.1148680500E+02 0.2133909797E+00 +6 0.4154475000E+01 0.4109517450E+00 +7 0.1512418000E+01 0.3776870027E+00 +8 0.5271060000E+00 0.5068077217E-01 +S 6 +1 0.1148680500E+02 -0.3557189229E-02 +2 0.4154475000E+01 -0.1743701452E-01 +3 0.1512418000E+01 -0.8669752678E-01 +4 0.5271060000E+00 -0.3108383636E-02 +5 0.1742870000E+00 0.5416130096E+00 +6 0.5728900000E-01 0.5466090179E+00 +S 1 +1 0.3863980000E+00 0.1000000000E+01 +S 1 +1 0.5789800000E-01 0.1000000000E+01 +S 1 +1 0.1883117800E-01 0.1000000000E+01 +P 5 +1 0.7442141000E+01 0.1072920376E-01 +2 0.1578057000E+01 0.6279258237E-01 +3 0.4360590000E+00 0.2472069018E+00 +4 0.1444770000E+00 0.5220916062E+00 +5 0.5005500000E-01 0.3562712247E+00 +P 1 +1 0.3973830000E+00 0.1000000000E+01 +P 1 +1 0.1835900000E+00 0.1000000000E+01 +P 1 +1 0.1734188200E-01 0.1000000000E+01 +D 1 +1 0.4120860000E+00 0.1000000000E+01 +D 1 +1 0.1686230000E+00 0.1000000000E+01 +D 1 +1 0.6899947000E-01 0.1000000000E+01 +F 1 +1 0.3201466944E+00 0.1000000000E+01 + +BORON +S 8 +1 0.5829165067E+04 0.4945001096E-03 +2 0.9122056560E+03 0.3831758535E-02 +3 0.1988655040E+03 0.2076150037E-01 +4 0.5584009600E+02 0.7873594197E-01 +5 0.1854911200E+02 0.2135522291E+00 +6 0.6713220000E+01 0.4137040531E+00 +7 0.2467288000E+01 0.3737702446E+00 +8 0.8767780000E+00 0.5166459256E-01 +S 7 +1 0.5584009600E+02 -0.3524406774E-03 +2 0.1854911200E+02 -0.4367059940E-02 +3 0.6713220000E+01 -0.2308112905E-01 +4 0.2467288000E+01 -0.9434591932E-01 +5 0.8767780000E+00 0.2942758098E-01 +6 0.2957540000E+00 0.5676314143E+00 +7 0.9675200000E-01 0.5043162092E+00 +S 1 +1 0.6811950000E+00 0.1000000000E+01 +S 1 +1 0.9638000000E-01 0.1000000000E+01 +S 1 +1 0.3173481087E-01 0.1000000000E+01 +P 6 +1 0.2243545800E+02 0.5031967739E-02 +2 0.5098684000E+01 0.3286766619E-01 +3 0.1496516000E+01 0.1316624430E+00 +4 0.5088020000E+00 0.3319141269E+00 +5 0.1815410000E+00 0.4719490429E+00 +6 0.6484400000E-01 0.2589252699E+00 +P 1 +1 0.3420050000E+00 0.1000000000E+01 +P 1 +1 0.1036870000E+00 0.1000000000E+01 +P 1 +1 0.2518422528E-01 0.1000000000E+01 +D 1 +1 0.7003870000E+00 0.1000000000E+01 +D 1 +1 0.2255380000E+00 0.1000000000E+01 +D 1 +1 0.7262754000E-01 0.1000000000E+01 +F 1 +1 0.5364897445E+00 0.1000000000E+01 + +CARBON +S 9 +1 0.1015500000E+05 0.3156732957E-03 +2 0.2346160177E+04 0.1725749618E-02 +3 0.5154085610E+03 0.1037328263E-01 +4 0.1440339340E+03 0.4080649103E-01 +5 0.4728273700E+02 0.1273885730E+00 +6 0.1712956000E+02 0.2943114843E+00 +7 0.6528889000E+01 0.4369101365E+00 +8 0.2526241000E+01 0.2320752643E+00 +9 0.9666760000E+00 0.1059361372E-01 +S 7 +1 0.4728273700E+02 -0.1492554323E-02 +2 0.1712956000E+02 -0.9591417528E-02 +3 0.6528889000E+01 -0.4955239610E-01 +4 0.2526241000E+01 -0.9028977181E-01 +5 0.9666760000E+00 0.1693337610E+00 +6 0.3588470000E+00 0.5866037274E+00 +7 0.1273270000E+00 0.3797681152E+00 +S 1 +1 0.9995730000E+00 0.1000000000E+01 +S 1 +1 0.1337080000E+00 0.1000000000E+01 +S 1 +1 0.5030293341E-01 0.1000000000E+01 +P 6 +1 0.3471745600E+02 0.5324816608E-02 +2 0.7967846000E+01 0.3579802669E-01 +3 0.2381698000E+01 0.1418242579E+00 +4 0.8160440000E+00 0.3420609549E+00 +5 0.2896050000E+00 0.4643373158E+00 +6 0.1008240000E+00 0.2506918539E+00 +P 1 +1 0.4829570000E+00 0.1000000000E+01 +P 1 +1 0.1464080000E+00 0.1000000000E+01 +P 1 +1 0.4089341379E-01 0.1000000000E+01 +D 1 +1 0.1152629000E+01 0.1000000000E+01 +D 1 +1 0.3512870000E+00 0.1000000000E+01 +D 1 +1 0.1070618000E+00 0.1000000000E+01 +F 1 +1 0.8081965655E+00 0.1000000000E+01 + +NITROGEN +S 9 +1 0.2072447294E+05 0.2406152802E-03 +2 0.3241297059E+04 0.1847563269E-02 +3 0.7124451110E+03 0.1012472272E-01 +4 0.1992237930E+03 0.4048953304E-01 +5 0.6546155900E+02 0.1261838912E+00 +6 0.2375162000E+02 0.2939695534E+00 +7 0.9072911000E+01 0.4369527941E+00 +8 0.3519491000E+01 0.2324830976E+00 +9 0.1349102000E+01 0.1160371008E-01 +S 7 +1 0.6546155900E+02 -0.1573249931E-02 +2 0.2375162000E+02 -0.1024095091E-01 +3 0.9072911000E+01 -0.5209803717E-01 +4 0.3519491000E+01 -0.8742132140E-01 +5 0.1349102000E+01 0.1845716863E+00 +6 0.5002440000E+00 0.5858846416E+00 +7 0.1761940000E+00 0.3679491589E+00 +S 1 +1 0.1364532000E+01 0.1000000000E+01 +S 1 +1 0.1741490000E+00 0.1000000000E+01 +S 1 +1 0.6289344786E-01 0.1000000000E+01 +P 7 +1 0.8690171600E+02 0.2162940339E-02 +2 0.2041698200E+02 0.1619365079E-01 +3 0.6310652000E+01 0.6974846967E-01 +4 0.2258484000E+01 0.2027255959E+00 +5 0.8593620000E+00 0.3735159869E+00 +6 0.3289750000E+00 0.4056178668E+00 +7 0.1220340000E+00 0.1774483509E+00 +P 1 +1 0.6338400000E+00 0.1000000000E+01 +P 1 +1 0.1935270000E+00 0.1000000000E+01 +P 1 +1 0.5511647765E-01 0.1000000000E+01 +D 1 +1 0.1739181000E+01 0.1000000000E+01 +D 1 +1 0.5118650000E+00 0.1000000000E+01 +D 1 +1 0.1506489000E+00 0.1000000000E+01 +F 1 +1 0.1135972813E+01 0.1000000000E+01 + +OXYGEN +S 9 +1 0.2745879784E+05 0.2375787405E-03 +2 0.4297136357E+04 0.1823222218E-02 +3 0.9445833820E+03 0.9996448022E-02 +4 0.2640945520E+03 0.4003728095E-01 +5 0.8678909100E+02 0.1251636091E+00 +6 0.3151961800E+02 0.2931027755E+00 +7 0.1206385800E+02 0.4368066615E+00 +8 0.4692205000E+01 0.2336964467E+00 +9 0.1802713000E+01 0.1253807717E-01 +S 7 +1 0.8678909100E+02 -0.1629763628E-02 +2 0.3151961800E+02 -0.1078045138E-01 +3 0.1206385800E+02 -0.5402166411E-01 +4 0.4692205000E+01 -0.8607613537E-01 +5 0.1802713000E+01 0.1967703106E+00 +6 0.6682620000E+00 0.5881515793E+00 +7 0.2339100000E+00 0.3557517766E+00 +S 1 +1 0.1866456000E+01 0.1000000000E+01 +S 1 +1 0.2495200000E+00 0.1000000000E+01 +S 1 +1 0.8213765825E-01 0.1000000000E+01 +P 7 +1 0.1113840550E+03 0.2375442280E-02 +2 0.2615828700E+02 0.1789814230E-01 +3 0.8119815000E+01 0.7725970482E-01 +4 0.2914508000E+01 0.2164306570E+00 +5 0.1101603000E+01 0.3755684811E+00 +6 0.4126960000E+00 0.3942350471E+00 +7 0.1480310000E+00 0.1776475400E+00 +P 1 +1 0.7308340000E+00 0.1000000000E+01 +P 1 +1 0.2184890000E+00 0.1000000000E+01 +P 1 +1 0.6340484127E-01 0.1000000000E+01 +D 1 +1 0.2431609000E+01 0.1000000000E+01 +D 1 +1 0.6959140000E+00 0.1000000000E+01 +D 1 +1 0.1991670000E+00 0.1000000000E+01 +F 1 +1 0.1491326602E+01 0.1000000000E+01 + +FLUORINE +S 9 +1 0.3513911922E+05 0.2354649073E-03 +2 0.5491756542E+04 0.1809446821E-02 +3 0.1207090973E+04 0.9919258808E-02 +4 0.3375494610E+03 0.3975638676E-01 +5 0.1109496670E+03 0.1245797303E+00 +6 0.4030933100E+02 0.2929883472E+00 +7 0.1544075800E+02 0.4369775987E+00 +8 0.6013335000E+01 0.2337305389E+00 +9 0.2312966000E+01 0.1306642461E-01 +S 7 +1 0.1109496670E+03 -0.1676732081E-02 +2 0.4030933100E+02 -0.1121311549E-01 +3 0.1544075800E+02 -0.5558382528E-01 +4 0.6013335000E+01 -0.8440463567E-01 +5 0.2312966000E+01 0.2063222171E+00 +6 0.8570220000E+00 0.5887236205E+00 +7 0.2985380000E+00 0.3470600007E+00 +S 1 +1 0.2454945000E+01 0.1000000000E+01 +S 1 +1 0.3332050000E+00 0.1000000000E+01 +S 1 +1 0.1035668022E+00 0.1000000000E+01 +P 8 +1 0.2405371140E+03 0.1001008631E-02 +2 0.5701998600E+02 0.8155380756E-02 +3 0.1801984400E+02 0.3803944513E-01 +4 0.6664284000E+01 0.1218653311E+00 +5 0.2643653000E+01 0.2651130522E+00 +6 0.1064168000E+01 0.3720348303E+00 +7 0.4195450000E+00 0.3347027562E+00 +8 0.1576840000E+00 0.1291955241E+00 +P 1 +1 0.9214480000E+00 0.1000000000E+01 +P 1 +1 0.2698430000E+00 0.1000000000E+01 +P 1 +1 0.8149793094E-01 0.1000000000E+01 +D 1 +1 0.3226467000E+01 0.1000000000E+01 +D 1 +1 0.9062990000E+00 0.1000000000E+01 +D 1 +1 0.2545750000E+00 0.1000000000E+01 +F 1 +1 0.1976769772E+01 0.1000000000E+01 + +NEON +S 9 +1 0.4367990754E+05 0.2340587321E-03 +2 0.6834498598E+04 0.1797196182E-02 +3 0.1501929049E+04 0.9859283234E-02 +4 0.4199198530E+03 0.3954894552E-01 +5 0.1380348820E+03 0.1241387290E+00 +6 0.5017540500E+02 0.2927946310E+00 +7 0.1923813200E+02 0.4369700017E+00 +8 0.7500406000E+01 0.2339157469E+00 +9 0.2886683000E+01 0.1356483789E-01 +S 7 +1 0.1380348820E+03 -0.1712540810E-02 +2 0.5017540500E+02 -0.1154364517E-01 +3 0.1923813200E+02 -0.5669342647E-01 +4 0.7500406000E+01 -0.8289084865E-01 +5 0.2886683000E+01 0.2130658365E+00 +6 0.1068525000E+01 0.5885783813E+00 +7 0.3706210000E+00 0.3413841040E+00 +S 1 +1 0.3396848000E+01 0.1000000000E+01 +S 1 +1 0.4865490000E+00 0.1000000000E+01 +S 1 +1 0.1285509700E+00 0.1000000000E+01 +P 8 +1 0.2978837350E+03 0.1035505460E-02 +2 0.7063338000E+02 0.8459707730E-02 +3 0.2236950300E+02 0.3967122550E-01 +4 0.8291497000E+01 0.1263511360E+00 +5 0.3291568000E+01 0.2697447630E+00 +6 0.1321942000E+01 0.3712752910E+00 +7 0.5176760000E+00 0.3298168570E+00 +8 0.1921560000E+00 0.1281599770E+00 +P 1 +1 0.1307717000E+01 0.1000000000E+01 +P 1 +1 0.3937510000E+00 0.1000000000E+01 +P 1 +1 0.7132632800E-01 0.1000000000E+01 +D 1 +1 0.4055174000E+01 0.1000000000E+01 +D 1 +1 0.1129099000E+01 0.1000000000E+01 +D 1 +1 0.3143797400E+00 0.1000000000E+01 +F 1 +1 0.2606249795E+01 0.1000000000E+01 + +SODIUM +S 10 +1 0.8852785182E+05 0.1216190038E-03 +2 0.1417482495E+05 0.9170211091E-03 +3 0.3097873357E+04 0.5158725677E-02 +4 0.8560266710E+03 0.2137704889E-01 +5 0.2800334490E+03 0.7074288682E-01 +6 0.1025542080E+03 0.1853506402E+00 +7 0.4012265000E+02 0.3621807530E+00 +8 0.1613572000E+02 0.3888427152E+00 +9 0.6466469000E+01 0.1169369988E+00 +10 0.2520228000E+01 0.9595787274E-03 +S 8 +1 0.2800334490E+03 -0.5649211019E-03 +2 0.1025542080E+03 -0.4679885723E-02 +3 0.4012265000E+02 -0.2539962202E-01 +4 0.1613572000E+02 -0.8446761914E-01 +5 0.6466469000E+01 -0.1975379102E-01 +6 0.2520228000E+01 0.3943324395E+00 +7 0.9377030000E+00 0.5929786472E+00 +8 0.3286220000E+00 0.1306993040E+00 +S 5 +1 0.2520228000E+01 -0.6141872859E-02 +2 0.9377030000E+00 -0.3946385726E-01 +3 0.3286220000E+00 -0.1584464378E+00 +4 0.1074810000E+00 0.3085795222E+00 +5 0.3261800000E-01 0.8297849293E+00 +S 1 +1 0.2893610000E+00 0.1000000000E+01 +S 1 +1 0.1076130000E+00 0.1000000000E+01 +S 1 +1 0.7595609881E-02 0.1000000000E+01 +P 8 +1 0.2121128390E+03 0.2812574844E-02 +2 0.5015023400E+02 0.2150685065E-01 +3 0.1566269000E+02 0.9405091850E-01 +4 0.5658985000E+01 0.2494785316E+00 +5 0.2144801000E+01 0.4036243679E+00 +6 0.7955270000E+00 0.3767025040E+00 +7 0.2754050000E+00 0.1076515327E+00 +8 0.8621600000E-01 -0.4032472970E-02 +P 6 +1 0.5658985000E+01 -0.1260461019E-03 +2 0.2144801000E+01 -0.1860980137E-02 +3 0.7955270000E+00 -0.2302779772E-02 +4 0.2754050000E+00 -0.1214331603E-01 +5 0.8621600000E-01 0.3164428502E+00 +6 0.2386900000E-01 0.7783990583E+00 +P 1 +1 0.1095780000E+00 0.1000000000E+01 +P 1 +1 0.6120700000E-01 0.1000000000E+01 +P 1 +1 0.3418840000E-01 0.1000000000E+01 +D 1 +1 0.7738987600E+00 0.1000000000E+01 +D 1 +1 0.1665030000E+00 0.1000000000E+01 +D 1 +1 0.7586800000E-01 0.1000000000E+01 +D 1 +1 0.3456900000E-01 0.1000000000E+01 +F 1 +1 0.1388577157E+00 0.1000000000E+01 + +MAGNESIUM +S 10 +1 0.1079991490E+06 0.1177550789E-03 +2 0.1740966310E+05 0.8825583669E-03 +3 0.3802125720E+04 0.4986800793E-02 +4 0.1047085950E+04 0.2079615451E-01 +5 0.3414742550E+03 0.6916673654E-01 +6 0.1248972530E+03 0.1821552486E+00 +7 0.4892369000E+02 0.3579106657E+00 +8 0.1975216800E+02 0.3909896017E+00 +9 0.7969964000E+01 0.1238211738E+00 +10 0.3138865000E+01 0.1373280401E-02 +S 8 +1 0.1248972530E+03 -0.4560382704E-02 +2 0.4892369000E+02 -0.2412070289E-01 +3 0.1975216800E+02 -0.8428911994E-01 +4 0.7969964000E+01 -0.2647453848E-01 +5 0.3138865000E+01 0.4038666977E+00 +6 0.1186472000E+01 0.5984111603E+00 +7 0.4260130000E+00 0.1219657111E+00 +8 0.1446950000E+00 -0.9172749683E-02 +S 5 +1 0.3138865000E+01 -0.6558115660E-02 +2 0.1186472000E+01 -0.8452902533E-01 +3 0.4260130000E+00 -0.1280638261E+00 +4 0.1446950000E+00 0.4911724401E+00 +5 0.4656500000E-01 0.6671270594E+00 +S 1 +1 0.5628680000E+00 0.1000000000E+01 +S 1 +1 0.1689310000E+00 0.1000000000E+01 +S 1 +1 0.1498530900E-01 0.1000000000E+01 +P 8 +1 0.2895637900E+03 0.2395100300E-02 +2 0.6872570500E+02 0.1874369030E-01 +3 0.2152703900E+02 0.8459019628E-01 +4 0.7857521000E+01 0.2335581320E+00 +5 0.3038603000E+01 0.3993535309E+00 +6 0.1162524000E+01 0.3880479269E+00 +7 0.4209410000E+00 0.1140490414E+00 +8 0.1410190000E+00 -0.1847861989E-02 +P 5 +1 0.3038603000E+01 -0.2219860529E-02 +2 0.1162524000E+01 -0.8788561840E-02 +3 0.4209410000E+00 0.2131702844E-01 +4 0.1410190000E+00 0.4485831990E+00 +5 0.4355200000E-01 0.6349591138E+00 +P 1 +1 0.2017810000E+00 0.1000000000E+01 +P 1 +1 0.1202310000E+00 0.1000000000E+01 +P 1 +1 0.1345050500E-01 0.1000000000E+01 +D 1 +1 0.1139089255E+01 0.1000000000E+01 +D 1 +1 0.2645220000E+00 0.1000000000E+01 +D 1 +1 0.1165500000E+00 0.1000000000E+01 +D 1 +1 0.5135260000E-01 0.1000000000E+01 +F 1 +1 0.2150036814E+00 0.1000000000E+01 + +ALUMINIUM +S 10 +1 0.1347070712E+06 0.1097891051E-03 +2 0.2157273060E+05 0.8271363747E-03 +3 0.4720712340E+04 0.4647768831E-02 +4 0.1304486410E+04 0.1934384365E-01 +5 0.4260601510E+03 0.6464155675E-01 +6 0.1557306430E+03 0.1727977330E+00 +7 0.6093953300E+02 0.3474392889E+00 +8 0.2464612700E+02 0.3983800520E+00 +9 0.1002427100E+02 0.1407815083E+00 +10 0.4016463000E+01 0.2883301281E-02 +S 8 +1 0.4260601510E+03 -0.5422568604E-03 +2 0.1557306430E+03 -0.4347429133E-02 +3 0.6093953300E+02 -0.2483924251E-01 +4 0.2464612700E+02 -0.8398461766E-01 +5 0.1002427100E+02 -0.4161543580E-01 +6 0.4016463000E+01 0.3767441929E+00 +7 0.1561462000E+01 0.6162699834E+00 +8 0.5826090000E+00 0.1324743193E+00 +S 5 +1 0.4016463000E+01 -0.6767393579E-02 +2 0.1561462000E+01 -0.1100400580E+00 +3 0.5826090000E+00 -0.1195142064E+00 +4 0.2070000000E+00 0.5788755052E+00 +5 0.6961500000E-01 0.5893469704E+00 +S 1 +1 0.3633540000E+00 0.1000000000E+01 +S 1 +1 0.6670800000E-01 0.1000000000E+01 +S 1 +1 0.2091595027E-01 0.1000000000E+01 +P 8 +1 0.5827422140E+03 0.9887479989E-03 +2 0.1408480230E+03 0.8278795992E-02 +3 0.4415467300E+02 0.4141143650E-01 +4 0.1642922700E+02 0.1346299302E+00 +5 0.6712685000E+01 0.2856091141E+00 +6 0.2819981000E+01 0.4043354580E+00 +7 0.1155456000E+01 0.3023817729E+00 +8 0.4442280000E+00 0.5197248868E-01 +P 6 +1 0.6712685000E+01 -0.2034077690E-02 +2 0.2819981000E+01 -0.3855800144E-02 +3 0.1155456000E+01 -0.1231597247E-01 +4 0.4442280000E+00 0.1132043494E+00 +5 0.1565090000E+00 0.5094469172E+00 +6 0.5015200000E-01 0.5135894884E+00 +P 1 +1 0.1421740000E+00 0.1000000000E+01 +P 1 +1 0.4963700000E-01 0.1000000000E+01 +P 1 +1 0.1363183109E-01 0.1000000000E+01 +D 1 +1 0.1529349490E+01 0.1000000000E+01 +D 1 +1 0.3386440000E+00 0.1000000000E+01 +D 1 +1 0.1221390000E+00 0.1000000000E+01 +D 1 +1 0.4405190000E-01 0.1000000000E+01 +F 1 +1 0.2867304497E+00 0.1000000000E+01 + +SILICON +S 10 +1 0.1633439724E+06 0.1044179988E-03 +2 0.2600137445E+05 0.7902880082E-03 +3 0.5701087197E+04 0.4417087796E-02 +4 0.1580413323E+04 0.1834256061E-01 +5 0.5168487860E+03 0.6151838236E-01 +6 0.1887545650E+03 0.1663373226E+00 +7 0.7376585400E+02 0.3400477056E+00 +8 0.2986275600E+02 0.4025572166E+00 +9 0.1222114300E+02 0.1530380367E+00 +10 0.4963393000E+01 0.4413439902E-02 +S 8 +1 0.5168487860E+03 -0.5145162396E-03 +2 0.1887545650E+03 -0.4147389148E-02 +3 0.7376585400E+02 -0.2415763874E-01 +4 0.2986275600E+02 -0.8331299262E-01 +5 0.1222114300E+02 -0.5143885997E-01 +6 0.4963393000E+01 0.3595483011E+00 +7 0.1971436000E+01 0.6255404996E+00 +8 0.7560310000E+00 0.1442694291E+00 +S 5 +1 0.4963393000E+01 -0.6818283156E-02 +2 0.1971436000E+01 -0.1285534711E+00 +3 0.7560310000E+00 -0.1058788515E+00 +4 0.2762590000E+00 0.6177534108E+00 +5 0.9469400000E-01 0.5514577328E+00 +S 1 +1 0.4825910000E+00 0.1000000000E+01 +S 1 +1 0.8910200000E-01 0.1000000000E+01 +S 1 +1 0.3033215462E-01 0.1000000000E+01 +P 8 +1 0.6778833930E+03 0.1038000640E-02 +2 0.1633859920E+03 0.8703845236E-02 +3 0.5137560400E+02 0.4351646166E-01 +4 0.1914211900E+02 0.1418052407E+00 +5 0.7816878000E+01 0.2996788579E+00 +6 0.3290802000E+01 0.4133059903E+00 +7 0.1364239000E+01 0.2761082606E+00 +8 0.5394610000E+00 0.3757998074E-01 +P 6 +1 0.7816878000E+01 -0.2922916276E-02 +2 0.3290802000E+01 -0.6336076319E-02 +3 0.1364239000E+01 -0.8165847843E-02 +4 0.5394610000E+00 0.1821364003E+00 +5 0.1995810000E+00 0.5436727814E+00 +6 0.6852000000E-01 0.4101331745E+00 +P 1 +1 0.4974390000E+00 0.1000000000E+01 +P 1 +1 0.2481590000E+00 0.1000000000E+01 +P 1 +1 0.2442645675E-01 0.1000000000E+01 +D 1 +1 0.2083409940E+01 0.1000000000E+01 +D 1 +1 0.4684380000E+00 0.1000000000E+01 +D 1 +1 0.1652280000E+00 0.1000000000E+01 +D 1 +1 0.5827941000E-01 0.1000000000E+01 +F 1 +1 0.3775452844E+00 0.1000000000E+01 + +PHOSPHORUS +S 10 +1 0.1945653043E+06 0.1001525047E-03 +2 0.3081925888E+05 0.7612055071E-03 +3 0.6763176909E+04 0.4241324601E-02 +4 0.1878264281E+04 0.1759458858E-01 +5 0.6146629740E+03 0.5917955061E-01 +6 0.2243313830E+03 0.1613720076E+00 +7 0.8760420300E+02 0.3340134400E+00 +8 0.3550356700E+02 0.4052070798E+00 +9 0.1460132100E+02 0.1629483649E+00 +10 0.5990830000E+01 0.5901117100E-02 +S 8 +1 0.6146629740E+03 -0.4966285635E-03 +2 0.2243313830E+03 -0.4001807839E-02 +3 0.8760420300E+02 -0.2369944186E-01 +4 0.3550356700E+02 -0.8279859434E-01 +5 0.1460132100E+02 -0.5903661193E-01 +6 0.5990830000E+01 0.3475121201E+00 +7 0.2417178000E+01 0.6322841645E+00 +8 0.9452990000E+00 0.1525379912E+00 +S 5 +1 0.5990830000E+01 -0.6935069677E-02 +2 0.2417178000E+01 -0.1427001820E+00 +3 0.9452990000E+00 -0.9220940955E-01 +4 0.3521690000E+00 0.6393962433E+00 +5 0.1221570000E+00 0.5280173677E+00 +S 1 +1 0.6161670000E+00 0.1000000000E+01 +S 1 +1 0.1111860000E+00 0.1000000000E+01 +S 1 +1 0.3774612371E-01 0.1000000000E+01 +P 8 +1 0.7842488010E+03 0.1073873931E-02 +2 0.1883500330E+03 0.9007361567E-02 +3 0.5948454000E+02 0.4494022054E-01 +4 0.2220180400E+02 0.1470652708E+00 +5 0.9051861000E+01 0.3118359881E+00 +6 0.3811837000E+01 0.4194968735E+00 +7 0.1595077000E+01 0.2537692078E+00 +8 0.6457540000E+00 0.2851578317E-01 +P 6 +1 0.9051861000E+01 -0.3637457621E-02 +2 0.3811837000E+01 -0.9087290026E-02 +3 0.1595077000E+01 0.1289206580E-02 +4 0.6457540000E+00 0.2344507677E+00 +5 0.2478700000E+00 0.5474684585E+00 +6 0.8851000000E-01 0.3475518247E+00 +P 1 +1 0.7191140000E+00 0.1000000000E+01 +P 1 +1 0.3404660000E+00 0.1000000000E+01 +P 1 +1 0.3410056257E-01 0.1000000000E+01 +D 1 +1 0.2685520556E+01 0.1000000000E+01 +D 1 +1 0.6238600000E+00 0.1000000000E+01 +D 1 +1 0.2172060000E+00 0.1000000000E+01 +D 1 +1 0.7562345000E-01 0.1000000000E+01 +F 1 +1 0.4855346950E+00 0.1000000000E+01 + +SULFUR +S 10 +1 0.2274088948E+06 0.9716138112E-04 +2 0.3591373963E+05 0.7400530246E-03 +3 0.7890426674E+04 0.4111567757E-02 +4 0.2194934679E+04 0.1704005083E-01 +5 0.7186691190E+03 0.5744871346E-01 +6 0.2621315090E+03 0.1576866844E+00 +7 0.1022966990E+03 0.3294750719E+00 +8 0.4149342400E+02 0.4068332950E+00 +9 0.1713287600E+02 0.1704847190E+00 +10 0.7087430000E+01 0.7164208817E-02 +S 8 +1 0.7186691190E+03 -0.4857591984E-03 +2 0.2621315090E+03 -0.3904693042E-02 +3 0.1022966990E+03 -0.2345606134E-01 +4 0.4149342400E+02 -0.8258839707E-01 +5 0.1713287600E+02 -0.6470934394E-01 +6 0.7087430000E+01 0.3398482225E+00 +7 0.2895517000E+01 0.6368622052E+00 +8 0.1149720000E+01 0.1578787718E+00 +S 5 +1 0.7087430000E+01 -0.7226432396E-02 +2 0.2895517000E+01 -0.1554375842E+00 +3 0.1149720000E+01 -0.7804293560E-01 +4 0.4345060000E+00 0.6602484453E+00 +5 0.1518050000E+00 0.5043044190E+00 +S 1 +1 0.7893320000E+00 0.1000000000E+01 +S 1 +1 0.1444800000E+00 0.1000000000E+01 +S 1 +1 0.4630744924E-01 0.1000000000E+01 +P 8 +1 0.8846228520E+03 0.1132478655E-02 +2 0.2121472510E+03 0.9491744645E-02 +3 0.6711297000E+02 0.4736421217E-01 +4 0.2506567900E+02 0.1545646539E+00 +5 0.1021452400E+02 0.3256209588E+00 +6 0.4302814000E+01 0.4238016487E+00 +7 0.1806352000E+01 0.2291565988E+00 +8 0.7360330000E+00 0.1981541646E-01 +P 6 +1 0.1021452400E+02 -0.4231104312E-02 +2 0.4302814000E+01 -0.1239271521E-01 +3 0.1806352000E+01 0.1992817257E-01 +4 0.7360330000E+00 0.2896914815E+00 +5 0.2843140000E+00 0.5297303463E+00 +6 0.1012320000E+00 0.3053100645E+00 +P 1 +1 0.8731730000E+00 0.1000000000E+01 +P 1 +1 0.3839810000E+00 0.1000000000E+01 +P 1 +1 0.4007558587E-01 0.1000000000E+01 +D 1 +1 0.3550092081E+01 0.1000000000E+01 +D 1 +1 0.7891650000E+00 0.1000000000E+01 +D 1 +1 0.2699620000E+00 0.1000000000E+01 +D 1 +1 0.9235011000E-01 0.1000000000E+01 +F 1 +1 0.5810631407E+00 0.1000000000E+01 + +CHLORINE +S 10 +1 0.2626549464E+06 0.9469817934E-04 +2 0.4136487126E+05 0.7230181428E-03 +3 0.9092113079E+04 0.4010204819E-02 +4 0.2531625587E+04 0.1661299847E-01 +5 0.8291555470E+03 0.5610721737E-01 +6 0.3023237690E+03 0.1547571003E+00 +7 0.1179546820E+03 0.3256609654E+00 +8 0.4789520800E+02 0.4078336463E+00 +9 0.1984551300E+02 0.1767320009E+00 +10 0.8264736000E+01 0.8340709857E-02 +S 8 +1 0.8291555470E+03 -0.4791175455E-03 +2 0.3023237690E+03 -0.3832727517E-02 +3 0.1179546820E+03 -0.2330165516E-01 +4 0.4789520800E+02 -0.8243668432E-01 +5 0.1984551300E+02 -0.6938927222E-01 +6 0.8264736000E+01 0.3342967948E+00 +7 0.3409966000E+01 0.6404402164E+00 +8 0.1370094000E+01 0.1617931122E+00 +S 6 +1 0.1984551300E+02 0.3430895643E-03 +2 0.8264736000E+01 -0.8393838675E-02 +3 0.3409966000E+01 -0.1660778734E+00 +4 0.1370094000E+01 -0.6533926298E-01 +5 0.5235190000E+00 0.6731960913E+00 +6 0.1839030000E+00 0.4881561023E+00 +S 1 +1 0.9818890000E+00 0.1000000000E+01 +S 1 +1 0.1798350000E+00 0.1000000000E+01 +S 1 +1 0.5591472248E-01 0.1000000000E+01 +P 8 +1 0.1008265931E+04 0.1148883642E-02 +2 0.2418859760E+03 0.9636948148E-02 +3 0.7656584300E+02 0.4831526434E-01 +4 0.2862304100E+02 0.1578096198E+00 +5 0.1168512900E+02 0.3325356636E+00 +6 0.4938166000E+01 0.4256516030E+00 +7 0.2083386000E+01 0.2159067242E+00 +8 0.8544110000E+00 0.1613710801E-01 +P 7 +1 0.2862304100E+02 -0.1654777361E-02 +2 0.1168512900E+02 -0.5541584090E-02 +3 0.4938166000E+01 -0.1816572884E-01 +4 0.2083386000E+01 0.3517217425E-01 +5 0.8544110000E+00 0.3217839172E+00 +6 0.3322960000E+00 0.5169492920E+00 +7 0.1188900000E+00 0.2783093123E+00 +P 1 +1 0.1146462000E+01 0.1000000000E+01 +P 1 +1 0.5018840000E+00 0.1000000000E+01 +P 1 +1 0.5091067256E-01 0.1000000000E+01 +D 1 +1 0.4374047397E+01 0.1000000000E+01 +D 1 +1 0.9770110000E+00 0.1000000000E+01 +D 1 +1 0.3281510000E+00 0.1000000000E+01 +D 1 +1 0.1102168000E+00 0.1000000000E+01 +F 1 +1 0.7268856502E+00 0.1000000000E+01 + +ARGON +S 10 +1 0.2990256150E+06 0.9299436871E-04 +2 0.4713052108E+05 0.7087545274E-03 +3 0.1037643520E+05 0.3922540292E-02 +4 0.2892592488E+04 0.1624301119E-01 +5 0.9476686840E+03 0.5494072409E-01 +6 0.3454531910E+03 0.1521624625E+00 +7 0.1347766830E+03 0.3221453332E+00 +8 0.5478467300E+02 0.4085599424E+00 +9 0.2276903100E+02 0.1824207417E+00 +10 0.9534331000E+01 0.9487274371E-02 +S 8 +1 0.3454531910E+03 -0.3650076520E-02 +2 0.1347766830E+03 -0.2138587203E-01 +3 0.5478467300E+02 -0.8115985893E-01 +4 0.2276903100E+02 -0.7278544777E-01 +5 0.9534331000E+01 0.3303352598E+00 +6 0.3964716000E+01 0.6423879719E+00 +7 0.1607766000E+01 0.1687943136E+00 +8 0.6196300000E+00 -0.6121021884E-02 +S 7 +1 0.5478467300E+02 0.1728403546E-02 +2 0.2276903100E+02 0.7194724128E-03 +3 0.9534331000E+01 -0.1326766098E-01 +4 0.3964716000E+01 -0.1871364295E+00 +5 0.1607766000E+01 -0.5515554141E-01 +6 0.6196300000E+00 0.6829078411E+00 +7 0.2186490000E+00 0.4799972716E+00 +S 1 +1 0.1304016000E+01 0.1000000000E+01 +S 1 +1 0.2342860000E+00 0.1000000000E+01 +S 1 +1 0.7715473000E-01 0.1000000000E+01 +P 8 +1 0.1148224808E+04 0.1148223862E-02 +2 0.2756092380E+03 0.9647493895E-02 +3 0.8726087500E+02 0.4864166650E-01 +4 0.3265458500E+02 0.1592381934E+00 +5 0.1336326600E+02 0.3364577611E+00 +6 0.5670084000E+01 0.4266445575E+00 +7 0.2405322000E+01 0.2079075353E+00 +8 0.9929110000E+00 0.1433101806E-01 +P 8 +1 0.8726087500E+02 -0.1269993554E-03 +2 0.3265458500E+02 -0.2059609879E-02 +3 0.1336326600E+02 -0.6889434796E-02 +4 0.5670084000E+01 -0.2079461888E-01 +5 0.2405322000E+01 0.4693289098E-01 +6 0.9929110000E+00 0.3428148752E+00 +7 0.3888750000E+00 0.5067090368E+00 +8 0.1400750000E+00 0.2593551961E+00 +P 1 +1 0.1541579000E+01 0.1000000000E+01 +P 1 +1 0.6945560000E+00 0.1000000000E+01 +P 1 +1 0.5045581600E-01 0.1000000000E+01 +D 1 +1 0.3622871340E+01 0.1000000000E+01 +D 1 +1 0.1196375000E+01 0.1000000000E+01 +D 1 +1 0.3950770000E+00 0.1000000000E+01 +D 1 +1 0.1304650000E+00 0.1000000000E+01 +F 1 +1 0.9100606152E+00 0.1000000000E+01 +$END \ No newline at end of file diff --git a/data/basis/3zapa-nr-cv b/data/basis/3zapa-nr-cv new file mode 100644 index 00000000..853829dc --- /dev/null +++ b/data/basis/3zapa-nr-cv @@ -0,0 +1,1453 @@ +!---------------------------------------------------------------------- +! Basis Set Exchange +! Version v0.8.12 +! https://www.basissetexchange.org +!---------------------------------------------------------------------- +! Basis set: 3ZaPa-NR-CV +! Description: Triple zeta augmented + polarization (nonrelativistic + +! core-valence) +! Role: orbital +! Version: 1 (Data from Supplemental Information of publications +! (modified)) +!---------------------------------------------------------------------- + + +$DATA + +HYDROGEN +S 6 +1 0.4900000000E+02 0.2858829669E-02 +2 0.1244050400E+02 0.1359826619E-01 +3 0.2829825000E+01 0.7681981526E-01 +4 0.7995040000E+00 0.2548902209E+00 +5 0.2585190000E+00 0.4987633678E+00 +6 0.8994700000E-01 0.2961894029E+00 +S 1 +1 0.3103180000E+00 0.1000000000E+01 +S 1 +1 0.9530200000E-01 0.1000000000E+01 +S 1 +1 0.2433971938E-01 0.1000000000E+01 +P 1 +1 0.1646798000E+01 0.1000000000E+01 +P 1 +1 0.4280520000E+00 0.1000000000E+01 +P 1 +1 0.1112635000E+00 0.1000000000E+01 +D 1 +1 0.1064733810E+01 0.1000000000E+01 + +HELIUM +S 7 +1 0.5287276710E+03 0.9361632478E-03 +2 0.7945110200E+02 0.7228605369E-02 +3 0.1801203100E+02 0.3597814569E-01 +4 0.5096066000E+01 0.1273785500E+00 +5 0.1609886000E+01 0.3089348849E+00 +6 0.5363380000E+00 0.4528136649E+00 +7 0.1833730000E+00 0.2390443750E+00 +S 1 +1 0.9425970000E+00 0.1000000000E+01 +S 1 +1 0.2984770000E+00 0.1000000000E+01 +S 1 +1 0.6269490000E-01 0.9361632478E-03 +P 1 +1 0.3283856000E+01 0.1000000000E+01 +P 1 +1 0.7918470000E+00 0.1000000000E+01 +P 1 +1 0.1909406000E+00 0.1000000000E+01 +D 1 +1 0.1885921988E+01 0.1000000000E+01 + +LITHIUM +S 7 +1 0.1023528986E+04 0.1176906560E-02 +2 0.1568802470E+03 0.9082424897E-02 +3 0.3477573100E+02 0.4639108683E-01 +4 0.9874288000E+01 0.1562665162E+00 +5 0.3194671000E+01 0.3631238427E+00 +6 0.1068784000E+01 0.4683479353E+00 +7 0.3477200000E+00 0.1201198716E+00 +S 5 +1 0.3194671000E+01 -0.7509097698E-02 +2 0.1068784000E+01 -0.4456212389E-01 +3 0.3477200000E+00 -0.1154669643E+00 +4 0.1089060000E+00 0.3764137277E+00 +5 0.3475700000E-01 0.7490225100E+00 +S 1 +1 0.6189724700E+02 1.0000000 +S 1 +1 0.1718157900E+02 1.0000000 +S 1 +1 0.4769302000E+01 1.0000000 +S 1 +1 0.7600250000E+00 1.0000000 +S 1 +1 0.1211160000E+00 0.1000000000E+01 +S 1 +1 0.3516400000E-01 0.1000000000E+01 +S 1 +1 0.8402212555E-02 0.1000000000E+01 +P 5 +1 0.3269148000E+01 0.8684745278E-02 +2 0.6514370000E+00 0.4793297639E-01 +3 0.1694970000E+00 0.2108924140E+00 +4 0.5572500000E-01 0.5290231839E+00 +5 0.2048200000E-01 0.3810909679E+00 +P 1 +1 0.1829751900E+02 1.0000000 +P 1 +1 0.6098072000E+01 1.0000000 +P 1 +1 0.2032324000E+01 1.0000000 +P 1 +1 0.5563990000E+00 0.1000000000E+01 +P 1 +1 0.2689100000E-01 0.1000000000E+01 +P 1 +1 0.7528261000E-02 0.1000000000E+01 +D 1 +1 0.1031620100E+02 1.0000000 +D 1 +1 0.2937649000E+01 1.0000000 +D 1 +1 0.7228206000E+00 1.0000000 +D 1 +1 0.1778530000E+00 0.1000000000E+01 +D 1 +1 0.7999600000E-01 0.1000000000E+01 +D 1 +1 0.3598117000E-01 0.1000000000E+01 +F 1 +1 0.1607629495E+00 0.1000000000E+01 + +BERYLLIUM +S 8 +1 0.3605264893E+04 0.5057968348E-03 +2 0.5665694960E+03 0.3917964404E-02 +3 0.1230207180E+03 0.2131157000E-01 +4 0.3450903200E+02 0.8018904122E-01 +5 0.1148680500E+02 0.2133909797E+00 +6 0.4154475000E+01 0.4109517450E+00 +7 0.1512418000E+01 0.3776870027E+00 +8 0.5271060000E+00 0.5068077217E-01 +S 6 +1 0.1148680500E+02 -0.3557189229E-02 +2 0.4154475000E+01 -0.1743701452E-01 +3 0.1512418000E+01 -0.8669752678E-01 +4 0.5271060000E+00 -0.3108383636E-02 +5 0.1742870000E+00 0.5416130096E+00 +6 0.5728900000E-01 0.5466090179E+00 +S 1 +1 0.1107412210E+03 1.0000000 +S 1 +1 0.3011053300E+02 1.0000000 +S 1 +1 0.8187052000E+01 1.0000000 +S 1 +1 0.1778610000E+01 1.0000000 +S 1 +1 0.3863980000E+00 0.1000000000E+01 +S 1 +1 0.5789800000E-01 0.1000000000E+01 +S 1 +1 0.1883117800E-01 0.1000000000E+01 +P 5 +1 0.7442141000E+01 0.1072920376E-01 +2 0.1578057000E+01 0.6279258237E-01 +3 0.4360590000E+00 0.2472069018E+00 +4 0.1444770000E+00 0.5220916062E+00 +5 0.5005500000E-01 0.3562712247E+00 +P 1 +1 0.2998294300E+02 1.0000000 +P 1 +1 0.9708487000E+01 1.0000000 +P 1 +1 0.3143611000E+01 1.0000000 +P 1 +1 0.1117680000E+01 1.0000000 +P 1 +1 0.3973830000E+00 0.1000000000E+01 +P 1 +1 0.1835900000E+00 0.1000000000E+01 +P 1 +1 0.1734188200E-01 0.1000000000E+01 +D 1 +1 0.1932988300E+02 1.0000000 +D 1 +1 0.5586619000E+01 1.0000000 +D 1 +1 0.1517290000E+01 1.0000000 +D 1 +1 0.4120860000E+00 0.1000000000E+01 +D 1 +1 0.1686230000E+00 0.1000000000E+01 +D 1 +1 0.6899947000E-01 0.1000000000E+01 +F 1 +1 0.3201466944E+00 0.1000000000E+01 + +BORON +S 8 +1 0.5829165067E+04 0.4945001096E-03 +2 0.9122056560E+03 0.3831758535E-02 +3 0.1988655040E+03 0.2076150037E-01 +4 0.5584009600E+02 0.7873594197E-01 +5 0.1854911200E+02 0.2135522291E+00 +6 0.6713220000E+01 0.4137040531E+00 +7 0.2467288000E+01 0.3737702446E+00 +8 0.8767780000E+00 0.5166459256E-01 +S 7 +1 0.5584009600E+02 -0.3524406774E-03 +2 0.1854911200E+02 -0.4367059940E-02 +3 0.6713220000E+01 -0.2308112905E-01 +4 0.2467288000E+01 -0.9434591932E-01 +5 0.8767780000E+00 0.2942758098E-01 +6 0.2957540000E+00 0.5676314143E+00 +7 0.9675200000E-01 0.5043162092E+00 +S 1 +1 0.1780574380E+03 1.0000000 +S 1 +1 0.4872397600E+02 1.0000000 +S 1 +1 0.1333292100E+02 1.0000000 +S 1 +1 0.3013690000E+01 1.0000000 +S 1 +1 0.6811950000E+00 0.1000000000E+01 +S 1 +1 0.9638000000E-01 0.1000000000E+01 +S 1 +1 0.3173481087E-01 0.1000000000E+01 +P 6 +1 0.2243545800E+02 0.5031967739E-02 +2 0.5098684000E+01 0.3286766619E-01 +3 0.1496516000E+01 0.1316624430E+00 +4 0.5088020000E+00 0.3319141269E+00 +5 0.1815410000E+00 0.4719490429E+00 +6 0.6484400000E-01 0.2589252699E+00 +P 1 +1 0.5087453500E+02 1.0000000 +P 1 +1 0.1689367700E+02 1.0000000 +P 1 +1 0.5609807000E+01 1.0000000 +P 1 +1 0.1385130000E+01 1.0000000 +P 1 +1 0.3420050000E+00 0.1000000000E+01 +P 1 +1 0.1036870000E+00 0.1000000000E+01 +P 1 +1 0.2518422528E-01 0.1000000000E+01 +D 1 +1 0.3112382000E+02 1.0000000 +D 1 +1 0.9043538000E+01 1.0000000 +D 1 +1 0.2516740000E+01 1.0000000 +D 1 +1 0.7003870000E+00 0.1000000000E+01 +D 1 +1 0.2255380000E+00 0.1000000000E+01 +D 1 +1 0.7262754000E-01 0.1000000000E+01 +F 1 +1 0.5364897445E+00 0.1000000000E+01 + +CARBON +S 9 +1 0.1015500000E+05 0.3156732957E-03 +2 0.2346160177E+04 0.1725749618E-02 +3 0.5154085610E+03 0.1037328263E-01 +4 0.1440339340E+03 0.4080649103E-01 +5 0.4728273700E+02 0.1273885730E+00 +6 0.1712956000E+02 0.2943114843E+00 +7 0.6528889000E+01 0.4369101365E+00 +8 0.2526241000E+01 0.2320752643E+00 +9 0.9666760000E+00 0.1059361372E-01 +S 7 +1 0.4728273700E+02 -0.1492554323E-02 +2 0.1712956000E+02 -0.9591417528E-02 +3 0.6528889000E+01 -0.4955239610E-01 +4 0.2526241000E+01 -0.9028977181E-01 +5 0.9666760000E+00 0.1693337610E+00 +6 0.3588470000E+00 0.5866037274E+00 +7 0.1273270000E+00 0.3797681152E+00 +S 1 +1 0.6034054420E+03 1.0000000 +S 1 +1 0.5310051000E+02 1.0000000 +S 1 +1 0.4672918000E+01 1.0000000 +S 1 +1 0.2161230000E+01 1.0000000 +S 1 +1 0.9995730000E+00 0.1000000000E+01 +S 1 +1 0.1337080000E+00 0.1000000000E+01 +S 1 +1 0.5030293341E-01 0.1000000000E+01 +P 6 +1 0.3471745600E+02 0.5324816608E-02 +2 0.7967846000E+01 0.3579802669E-01 +3 0.2381698000E+01 0.1418242579E+00 +4 0.8160440000E+00 0.3420609549E+00 +5 0.2896050000E+00 0.4643373158E+00 +6 0.1008240000E+00 0.2506918539E+00 +P 1 +1 0.7426595900E+02 1.0000000 +P 1 +1 0.2472505800E+02 1.0000000 +P 1 +1 0.8231611000E+01 1.0000000 +P 1 +1 0.1993870000E+01 1.0000000 +P 1 +1 0.4829570000E+00 0.1000000000E+01 +P 1 +1 0.1464080000E+00 0.1000000000E+01 +P 1 +1 0.4089341379E-01 0.1000000000E+01 +D 1 +1 0.4578957700E+02 1.0000000 +D 1 +1 0.1336701300E+02 1.0000000 +D 1 +1 0.3925200000E+01 1.0000000 +D 1 +1 0.1152629000E+01 0.1000000000E+01 +D 1 +1 0.3512870000E+00 0.1000000000E+01 +D 1 +1 0.1070618000E+00 0.1000000000E+01 +F 1 +1 0.8081965655E+00 0.1000000000E+01 + +NITROGEN +S 9 +1 0.2072447294E+05 0.2406152802E-03 +2 0.3241297059E+04 0.1847563269E-02 +3 0.7124451110E+03 0.1012472272E-01 +4 0.1992237930E+03 0.4048953304E-01 +5 0.6546155900E+02 0.1261838912E+00 +6 0.2375162000E+02 0.2939695534E+00 +7 0.9072911000E+01 0.4369527941E+00 +8 0.3519491000E+01 0.2324830976E+00 +9 0.1349102000E+01 0.1160371008E-01 +S 7 +1 0.6546155900E+02 -0.1573249931E-02 +2 0.2375162000E+02 -0.1024095091E-01 +3 0.9072911000E+01 -0.5209803717E-01 +4 0.3519491000E+01 -0.8742132140E-01 +5 0.1349102000E+01 0.1845716863E+00 +6 0.5002440000E+00 0.5858846416E+00 +7 0.1761940000E+00 0.3679491589E+00 +S 1 +1 0.8210285030E+03 1.0000000 +S 1 +1 0.7257888000E+02 1.0000000 +S 1 +1 0.6415969000E+01 1.0000000 +S 1 +1 0.2958850000E+01 1.0000000 +S 1 +1 0.1364532000E+01 0.1000000000E+01 +S 1 +1 0.1741490000E+00 0.1000000000E+01 +S 1 +1 0.6289344786E-01 0.1000000000E+01 +P 7 +1 0.8690171600E+02 0.2162940339E-02 +2 0.2041698200E+02 0.1619365079E-01 +3 0.6310652000E+01 0.6974846967E-01 +4 0.2258484000E+01 0.2027255959E+00 +5 0.8593620000E+00 0.3735159869E+00 +6 0.3289750000E+00 0.4056178668E+00 +7 0.1220340000E+00 0.1774483509E+00 +P 1 +1 0.1017067160E+03 1.0000000 +P 1 +1 0.3387848800E+02 1.0000000 +P 1 +1 0.1128491800E+02 1.0000000 +P 1 +1 0.2674480000E+01 1.0000000 +P 1 +1 0.6338400000E+00 0.1000000000E+01 +P 1 +1 0.1935270000E+00 0.1000000000E+01 +P 1 +1 0.5511647765E-01 0.1000000000E+01 +D 1 +1 0.6327345900E+02 1.0000000 +D 1 +1 0.1854617000E+02 1.0000000 +D 1 +1 0.5679360000E+01 1.0000000 +D 1 +1 0.1739181000E+01 0.1000000000E+01 +D 1 +1 0.5118650000E+00 0.1000000000E+01 +D 1 +1 0.1506489000E+00 0.1000000000E+01 +F 1 +1 0.1135972813E+01 0.1000000000E+01 + +OXYGEN +S 9 +1 0.2745879784E+05 0.2375787405E-03 +2 0.4297136357E+04 0.1823222218E-02 +3 0.9445833820E+03 0.9996448022E-02 +4 0.2640945520E+03 0.4003728095E-01 +5 0.8678909100E+02 0.1251636091E+00 +6 0.3151961800E+02 0.2931027755E+00 +7 0.1206385800E+02 0.4368066615E+00 +8 0.4692205000E+01 0.2336964467E+00 +9 0.1802713000E+01 0.1253807717E-01 +S 7 +1 0.8678909100E+02 -0.1629763628E-02 +2 0.3151961800E+02 -0.1078045138E-01 +3 0.1206385800E+02 -0.5402166411E-01 +4 0.4692205000E+01 -0.8607613537E-01 +5 0.1802713000E+01 0.1967703106E+00 +6 0.6682620000E+00 0.5881515793E+00 +7 0.2339100000E+00 0.3557517766E+00 +S 1 +1 0.1062355837E+04 1.0000000 +S 1 +1 0.9551790000E+02 1.0000000 +S 1 +1 0.8588148000E+01 1.0000000 +S 1 +1 0.4003673000E+01 1.0000000 +S 1 +1 0.1866456000E+01 0.1000000000E+01 +S 1 +1 0.2495200000E+00 0.1000000000E+01 +S 1 +1 0.8213765825E-01 0.1000000000E+01 +P 7 +1 0.1113840550E+03 0.2375442280E-02 +2 0.2615828700E+02 0.1789814230E-01 +3 0.8119815000E+01 0.7725970482E-01 +4 0.2914508000E+01 0.2164306570E+00 +5 0.1101603000E+01 0.3755684811E+00 +6 0.4126960000E+00 0.3942350471E+00 +7 0.1480310000E+00 0.1776475400E+00 +P 1 +1 0.1319217140E+03 1.0000000 +P 1 +1 0.4383512000E+02 1.0000000 +P 1 +1 0.1456559100E+02 1.0000000 +P 1 +1 0.3262670000E+01 1.0000000 +P 1 +1 0.7308340000E+00 0.1000000000E+01 +P 1 +1 0.2184890000E+00 0.1000000000E+01 +P 1 +1 0.6340484127E-01 0.1000000000E+01 +D 1 +1 0.8367568800E+02 1.0000000 +D 1 +1 0.2458738000E+02 1.0000000 +D 1 +1 0.7732190000E+01 1.0000000 +D 1 +1 0.2431609000E+01 0.1000000000E+01 +D 1 +1 0.6959140000E+00 0.1000000000E+01 +D 1 +1 0.1991670000E+00 0.1000000000E+01 +F 1 +1 0.1491326602E+01 0.1000000000E+01 + +FLUORINE +S 9 +1 0.3513911922E+05 0.2354649073E-03 +2 0.5491756542E+04 0.1809446821E-02 +3 0.1207090973E+04 0.9919258808E-02 +4 0.3375494610E+03 0.3975638676E-01 +5 0.1109496670E+03 0.1245797303E+00 +6 0.4030933100E+02 0.2929883472E+00 +7 0.1544075800E+02 0.4369775987E+00 +8 0.6013335000E+01 0.2337305389E+00 +9 0.2312966000E+01 0.1306642461E-01 +S 7 +1 0.1109496670E+03 -0.1676732081E-02 +2 0.4030933100E+02 -0.1121311549E-01 +3 0.1544075800E+02 -0.5558382528E-01 +4 0.6013335000E+01 -0.8440463567E-01 +5 0.2312966000E+01 0.2063222171E+00 +6 0.8570220000E+00 0.5887236205E+00 +7 0.2985380000E+00 0.3470600007E+00 +S 1 +1 0.1329007935E+04 1.0000000 +S 1 +1 0.1213046180E+03 1.0000000 +S 1 +1 0.1107202600E+02 1.0000000 +S 1 +1 0.5213560000E+01 1.0000000 +S 1 +1 0.2454945000E+01 0.1000000000E+01 +S 1 +1 0.3332050000E+00 0.1000000000E+01 +S 1 +1 0.1035668022E+00 0.1000000000E+01 +P 8 +1 0.2405371140E+03 0.1001008631E-02 +2 0.5701998600E+02 0.8155380756E-02 +3 0.1801984400E+02 0.3803944513E-01 +4 0.6664284000E+01 0.1218653311E+00 +5 0.2643653000E+01 0.2651130522E+00 +6 0.1064168000E+01 0.3720348303E+00 +7 0.4195450000E+00 0.3347027562E+00 +8 0.1576840000E+00 0.1291955241E+00 +P 1 +1 0.1678603150E+03 1.0000000 +P 1 +1 0.5585448200E+02 1.0000000 +P 1 +1 0.1858523400E+02 1.0000000 +P 1 +1 0.4138270000E+01 1.0000000 +P 1 +1 0.9214480000E+00 0.1000000000E+01 +P 1 +1 0.2698430000E+00 0.1000000000E+01 +P 1 +1 0.8149793094E-01 0.1000000000E+01 +D 1 +1 0.1068751460E+03 1.0000000 +D 1 +1 0.3146763100E+02 1.0000000 +D 1 +1 0.1007617000E+02 1.0000000 +D 1 +1 0.3226467000E+01 0.1000000000E+01 +D 1 +1 0.9062990000E+00 0.1000000000E+01 +D 1 +1 0.2545750000E+00 0.1000000000E+01 +F 1 +1 0.1976769772E+01 0.1000000000E+01 + +NEON +S 9 +1 0.4367990754E+05 0.2340587321E-03 +2 0.6834498598E+04 0.1797196182E-02 +3 0.1501929049E+04 0.9859283234E-02 +4 0.4199198530E+03 0.3954894552E-01 +5 0.1380348820E+03 0.1241387290E+00 +6 0.5017540500E+02 0.2927946310E+00 +7 0.1923813200E+02 0.4369700017E+00 +8 0.7500406000E+01 0.2339157469E+00 +9 0.2886683000E+01 0.1356483789E-01 +S 7 +1 0.1380348820E+03 -0.1712540810E-02 +2 0.5017540500E+02 -0.1154364517E-01 +3 0.1923813200E+02 -0.5669342647E-01 +4 0.7500406000E+01 -0.8289084865E-01 +5 0.2886683000E+01 0.2130658365E+00 +6 0.1068525000E+01 0.5885783813E+00 +7 0.3706210000E+00 0.3413841040E+00 +S 1 +1 0.1617779327E+04 1.0000000 +S 1 +1 0.1523356720E+03 1.0000000 +S 1 +1 0.1434445100E+02 1.0000000 +S 1 +1 0.6980395000E+01 1.0000000 +S 1 +1 0.3396848000E+01 0.1000000000E+01 +S 1 +1 0.4865490000E+00 0.1000000000E+01 +S 1 +1 0.1285509700E+00 0.1000000000E+01 +P 8 +1 0.2978837350E+03 0.1035505460E-02 +2 0.7063338000E+02 0.8459707730E-02 +3 0.2236950300E+02 0.3967122550E-01 +4 0.8291497000E+01 0.1263511360E+00 +5 0.3291568000E+01 0.2697447630E+00 +6 0.1321942000E+01 0.3712752910E+00 +7 0.5176760000E+00 0.3298168570E+00 +8 0.1921560000E+00 0.1281599770E+00 +P 1 +1 0.2105432730E+03 1.0000000 +P 1 +1 0.7036274900E+02 1.0000000 +P 1 +1 0.2351495900E+02 1.0000000 +P 1 +1 0.5545350000E+01 1.0000000 +P 1 +1 0.1307717000E+01 0.1000000000E+01 +P 1 +1 0.3937510000E+00 0.1000000000E+01 +P 1 +1 0.7132632800E-01 0.1000000000E+01 +D 1 +1 0.1328304700E+03 1.0000000 +D 1 +1 0.3915867300E+02 1.0000000 +D 1 +1 0.1260130000E+02 1.0000000 +D 1 +1 0.4055174000E+01 0.1000000000E+01 +D 1 +1 0.1129099000E+01 0.1000000000E+01 +D 1 +1 0.3143797400E+00 0.1000000000E+01 +F 1 +1 0.2606249795E+01 0.1000000000E+01 + +SODIUM +S 10 +1 0.8852785182E+05 0.1216190038E-03 +2 0.1417482495E+05 0.9170211091E-03 +3 0.3097873357E+04 0.5158725677E-02 +4 0.8560266710E+03 0.2137704889E-01 +5 0.2800334490E+03 0.7074288682E-01 +6 0.1025542080E+03 0.1853506402E+00 +7 0.4012265000E+02 0.3621807530E+00 +8 0.1613572000E+02 0.3888427152E+00 +9 0.6466469000E+01 0.1169369988E+00 +10 0.2520228000E+01 0.9595787274E-03 +S 8 +1 0.2800334490E+03 -0.5649211019E-03 +2 0.1025542080E+03 -0.4679885723E-02 +3 0.4012265000E+02 -0.2539962202E-01 +4 0.1613572000E+02 -0.8446761914E-01 +5 0.6466469000E+01 -0.1975379102E-01 +6 0.2520228000E+01 0.3943324395E+00 +7 0.9377030000E+00 0.5929786472E+00 +8 0.3286220000E+00 0.1306993040E+00 +S 5 +1 0.2520228000E+01 -0.6141872859E-02 +2 0.9377030000E+00 -0.3946385726E-01 +3 0.3286220000E+00 -0.1584464378E+00 +4 0.1074810000E+00 0.3085795222E+00 +5 0.3261800000E-01 0.8297849293E+00 +S 1 +1 0.6735601200E+02 1.0000000 +S 1 +1 0.2674677400E+02 1.0000000 +S 1 +1 0.1062102600E+02 1.0000000 +S 1 +1 0.4217562000E+01 1.0000000 +S 1 +1 0.1674775000E+01 1.0000000 +S 1 +1 0.6961430000E+00 1.0000000 +S 1 +1 0.2893610000E+00 0.1000000000E+01 +S 1 +1 0.1076130000E+00 0.1000000000E+01 +S 1 +1 0.7595609881E-02 0.1000000000E+01 +P 8 +1 0.2121128390E+03 0.2812574844E-02 +2 0.5015023400E+02 0.2150685065E-01 +3 0.1566269000E+02 0.9405091850E-01 +4 0.5658985000E+01 0.2494785316E+00 +5 0.2144801000E+01 0.4036243679E+00 +6 0.7955270000E+00 0.3767025040E+00 +7 0.2754050000E+00 0.1076515327E+00 +8 0.8621600000E-01 -0.4032472970E-02 +P 6 +1 0.5658985000E+01 -0.1260461019E-03 +2 0.2144801000E+01 -0.1860980137E-02 +3 0.7955270000E+00 -0.2302779772E-02 +4 0.2754050000E+00 -0.1214331603E-01 +5 0.8621600000E-01 0.3164428502E+00 +6 0.2386900000E-01 0.7783990583E+00 +P 1 +1 0.1214705040E+03 1.0000000 +P 1 +1 0.4260192300E+02 1.0000000 +P 1 +1 0.1494127200E+02 1.0000000 +P 1 +1 0.5240177000E+01 1.0000000 +P 1 +1 0.1837826000E+01 1.0000000 +P 1 +1 0.4487600000E+00 1.0000000 +P 1 +1 0.1095780000E+00 0.1000000000E+01 +P 1 +1 0.6120700000E-01 0.1000000000E+01 +P 1 +1 0.3418840000E-01 0.1000000000E+01 +D 1 +1 0.3348529400E+02 1.0000000 +D 1 +1 0.1105564600E+02 1.0000000 +D 1 +1 0.3650179000E+01 1.0000000 +D 1 +1 0.1205158000E+01 1.0000000 +D 1 +1 0.7738987600E+00 0.1000000000E+01 +D 1 +1 0.4238987600E+00 1.0000000 +D 1 +1 0.1665030000E+00 0.1000000000E+01 +D 1 +1 0.7586800000E-01 0.1000000000E+01 +D 1 +1 0.3456900000E-01 0.1000000000E+01 +F 1 +1 0.7025011000E+01 1.0000000 +F 1 +1 0.2250050000E+01 1.0000000 +F 1 +1 0.1388577157E+00 0.1000000000E+01 + +MAGNESIUM +S 10 +1 0.1079991490E+06 0.1177550789E-03 +2 0.1740966310E+05 0.8825583669E-03 +3 0.3802125720E+04 0.4986800793E-02 +4 0.1047085950E+04 0.2079615451E-01 +5 0.3414742550E+03 0.6916673654E-01 +6 0.1248972530E+03 0.1821552486E+00 +7 0.4892369000E+02 0.3579106657E+00 +8 0.1975216800E+02 0.3909896017E+00 +9 0.7969964000E+01 0.1238211738E+00 +10 0.3138865000E+01 0.1373280401E-02 +S 8 +1 0.1248972530E+03 -0.4560382704E-02 +2 0.4892369000E+02 -0.2412070289E-01 +3 0.1975216800E+02 -0.8428911994E-01 +4 0.7969964000E+01 -0.2647453848E-01 +5 0.3138865000E+01 0.4038666977E+00 +6 0.1186472000E+01 0.5984111603E+00 +7 0.4260130000E+00 0.1219657111E+00 +8 0.1446950000E+00 -0.9172749683E-02 +S 5 +1 0.3138865000E+01 -0.6558115660E-02 +2 0.1186472000E+01 -0.8452902533E-01 +3 0.4260130000E+00 -0.1280638261E+00 +4 0.1446950000E+00 0.4911724401E+00 +5 0.4656500000E-01 0.6671270594E+00 +S 1 +1 0.4416719700E+02 1.0000000 +S 1 +1 0.1832809100E+02 1.0000000 +S 1 +1 0.7605620000E+01 1.0000000 +S 1 +1 0.3156109000E+01 1.0000000 +S 1 +1 0.1309693000E+01 1.0000000 +S 1 +1 0.5628680000E+00 0.1000000000E+01 +S 1 +1 0.1689310000E+00 0.1000000000E+01 +S 1 +1 0.1498530900E-01 0.1000000000E+01 +P 8 +1 0.2895637900E+03 0.2395100300E-02 +2 0.6872570500E+02 0.1874369030E-01 +3 0.2152703900E+02 0.8459019628E-01 +4 0.7857521000E+01 0.2335581320E+00 +5 0.3038603000E+01 0.3993535309E+00 +6 0.1162524000E+01 0.3880479269E+00 +7 0.4209410000E+00 0.1140490414E+00 +8 0.1410190000E+00 -0.1847861989E-02 +P 5 +1 0.3038603000E+01 -0.2219860529E-02 +2 0.1162524000E+01 -0.8788561840E-02 +3 0.4209410000E+00 0.2131702844E-01 +4 0.1410190000E+00 0.4485831990E+00 +5 0.4355200000E-01 0.6349591138E+00 +P 1 +1 0.1614804080E+03 1.0000000 +P 1 +1 0.5893156600E+02 1.0000000 +P 1 +1 0.2150681600E+02 1.0000000 +P 1 +1 0.7848818000E+01 1.0000000 +P 1 +1 0.2864392000E+01 1.0000000 +P 1 +1 0.7602499000E+00 1.0000000 +P 1 +1 0.2017810000E+00 0.1000000000E+01 +P 1 +1 0.1202310000E+00 0.1000000000E+01 +P 1 +1 0.1345050500E-01 0.1000000000E+01 +D 1 +1 0.7571041900E+02 1.0000000 +D 1 +1 0.2636272600E+02 1.0000000 +D 1 +1 0.9179626000E+01 1.0000000 +D 1 +1 0.3196389000E+01 1.0000000 +D 1 +1 0.1139089255E+01 0.1000000000E+01 +D 1 +1 0.2645220000E+00 0.1000000000E+01 +D 1 +1 0.1165500000E+00 0.1000000000E+01 +D 1 +1 0.5135260000E-01 0.1000000000E+01 +F 1 +1 0.9574658000E+01 1.0000000 +F 1 +1 0.3099311000E+01 1.0000000 +F 1 +1 0.8163108000E+00 1.0000000 +F 1 +1 0.2150036814E+00 0.1000000000E+01 + +ALUMINIUM +S 10 +1 0.1347070712E+06 0.1097891051E-03 +2 0.2157273060E+05 0.8271363747E-03 +3 0.4720712340E+04 0.4647768831E-02 +4 0.1304486410E+04 0.1934384365E-01 +5 0.4260601510E+03 0.6464155675E-01 +6 0.1557306430E+03 0.1727977330E+00 +7 0.6093953300E+02 0.3474392889E+00 +8 0.2464612700E+02 0.3983800520E+00 +9 0.1002427100E+02 0.1407815083E+00 +10 0.4016463000E+01 0.2883301281E-02 +S 8 +1 0.4260601510E+03 -0.5422568604E-03 +2 0.1557306430E+03 -0.4347429133E-02 +3 0.6093953300E+02 -0.2483924251E-01 +4 0.2464612700E+02 -0.8398461766E-01 +5 0.1002427100E+02 -0.4161543580E-01 +6 0.4016463000E+01 0.3767441929E+00 +7 0.1561462000E+01 0.6162699834E+00 +8 0.5826090000E+00 0.1324743193E+00 +S 5 +1 0.4016463000E+01 -0.6767393579E-02 +2 0.1561462000E+01 -0.1100400580E+00 +3 0.5826090000E+00 -0.1195142064E+00 +4 0.2070000000E+00 0.5788755052E+00 +5 0.6961500000E-01 0.5893469704E+00 +S 1 +1 0.1224417550E+03 1.0000000 +S 1 +1 0.5031691000E+02 1.0000000 +S 1 +1 0.2067751700E+02 1.0000000 +S 1 +1 0.8497336000E+01 1.0000000 +S 1 +1 0.3491944000E+01 1.0000000 +S 1 +1 0.3633540000E+00 0.1000000000E+01 +S 1 +1 0.1126415500E+00 1.0000000 +S 1 +1 0.6670800000E-01 0.1000000000E+01 +S 1 +1 0.2091595027E-01 0.1000000000E+01 +P 8 +1 0.5827422140E+03 0.9887479989E-03 +2 0.1408480230E+03 0.8278795992E-02 +3 0.4415467300E+02 0.4141143650E-01 +4 0.1642922700E+02 0.1346299302E+00 +5 0.6712685000E+01 0.2856091141E+00 +6 0.2819981000E+01 0.4043354580E+00 +7 0.1155456000E+01 0.3023817729E+00 +8 0.4442280000E+00 0.5197248868E-01 +P 6 +1 0.6712685000E+01 -0.2034077690E-02 +2 0.2819981000E+01 -0.3855800144E-02 +3 0.1155456000E+01 -0.1231597247E-01 +4 0.4442280000E+00 0.1132043494E+00 +5 0.1565090000E+00 0.5094469172E+00 +6 0.5015200000E-01 0.5135894884E+00 +P 1 +1 0.1986419730E+03 1.0000000 +P 1 +1 0.7401835100E+02 1.0000000 +P 1 +1 0.2758085900E+02 1.0000000 +P 1 +1 0.1027723200E+02 1.0000000 +P 1 +1 0.3829522000E+01 1.0000000 +P 1 +1 0.7378740000E+00 1.0000000 +P 1 +1 0.1421740000E+00 0.1000000000E+01 +P 1 +1 0.4963700000E-01 0.1000000000E+01 +P 1 +1 0.1363183109E-01 0.1000000000E+01 +D 1 +1 0.9359097900E+02 1.0000000 +D 1 +1 0.3319633000E+02 1.0000000 +D 1 +1 0.1177460000E+02 1.0000000 +D 1 +1 0.4176401000E+01 1.0000000 +D 1 +1 0.1529349490E+01 0.1000000000E+01 +D 1 +1 0.7196560000E+00 1.0000000 +D 1 +1 0.3386440000E+00 0.1000000000E+01 +D 1 +1 0.1221390000E+00 0.1000000000E+01 +D 1 +1 0.4405190000E-01 0.1000000000E+01 +F 1 +1 0.1219388400E+02 1.0000000 +F 1 +1 0.3992611000E+01 1.0000000 +F 1 +1 0.1069955000E+01 1.0000000 +F 1 +1 0.2867304497E+00 0.1000000000E+01 + +SILICON +S 10 +1 0.1633439724E+06 0.1044179988E-03 +2 0.2600137445E+05 0.7902880082E-03 +3 0.5701087197E+04 0.4417087796E-02 +4 0.1580413323E+04 0.1834256061E-01 +5 0.5168487860E+03 0.6151838236E-01 +6 0.1887545650E+03 0.1663373226E+00 +7 0.7376585400E+02 0.3400477056E+00 +8 0.2986275600E+02 0.4025572166E+00 +9 0.1222114300E+02 0.1530380367E+00 +10 0.4963393000E+01 0.4413439902E-02 +S 8 +1 0.5168487860E+03 -0.5145162396E-03 +2 0.1887545650E+03 -0.4147389148E-02 +3 0.7376585400E+02 -0.2415763874E-01 +4 0.2986275600E+02 -0.8331299262E-01 +5 0.1222114300E+02 -0.5143885997E-01 +6 0.4963393000E+01 0.3595483011E+00 +7 0.1971436000E+01 0.6255404996E+00 +8 0.7560310000E+00 0.1442694291E+00 +S 5 +1 0.4963393000E+01 -0.6818283156E-02 +2 0.1971436000E+01 -0.1285534711E+00 +3 0.7560310000E+00 -0.1058788515E+00 +4 0.2762590000E+00 0.6177534108E+00 +5 0.9469400000E-01 0.5514577328E+00 +S 1 +1 0.1505959220E+03 1.0000000 +S 1 +1 0.6239954700E+02 1.0000000 +S 1 +1 0.2585530500E+02 1.0000000 +S 1 +1 0.1071316700E+02 1.0000000 +S 1 +1 0.4439010000E+01 1.0000000 +S 1 +1 0.1463635000E+01 1.0000000 +S 1 +1 0.4825910000E+00 0.1000000000E+01 +S 1 +1 0.8910200000E-01 0.1000000000E+01 +S 1 +1 0.3033215462E-01 0.1000000000E+01 +P 8 +1 0.6778833930E+03 0.1038000640E-02 +2 0.1633859920E+03 0.8703845236E-02 +3 0.5137560400E+02 0.4351646166E-01 +4 0.1914211900E+02 0.1418052407E+00 +5 0.7816878000E+01 0.2996788579E+00 +6 0.3290802000E+01 0.4133059903E+00 +7 0.1364239000E+01 0.2761082606E+00 +8 0.5394610000E+00 0.3757998074E-01 +P 6 +1 0.7816878000E+01 -0.2922916276E-02 +2 0.3290802000E+01 -0.6336076319E-02 +3 0.1364239000E+01 -0.8165847843E-02 +4 0.5394610000E+00 0.1821364003E+00 +5 0.1995810000E+00 0.5436727814E+00 +6 0.6852000000E-01 0.4101331745E+00 +P 1 +1 0.2405736080E+03 1.0000000 +P 1 +1 0.9123530800E+02 1.0000000 +P 1 +1 0.3460014400E+02 1.0000000 +P 1 +1 0.1312178300E+02 1.0000000 +P 1 +1 0.4976315000E+01 1.0000000 +P 1 +1 0.1573340000E+01 1.0000000 +P 1 +1 0.4974390000E+00 0.1000000000E+01 +P 1 +1 0.2481590000E+00 0.1000000000E+01 +P 1 +1 0.2442645675E-01 0.1000000000E+01 +D 1 +1 0.1161711060E+03 1.0000000 +D 1 +1 0.4196036700E+02 1.0000000 +D 1 +1 0.1515585500E+02 1.0000000 +D 1 +1 0.5474212000E+01 1.0000000 +D 1 +1 0.2083409940E+01 0.1000000000E+01 +D 1 +1 0.4684380000E+00 0.1000000000E+01 +D 1 +1 0.1652280000E+00 0.1000000000E+01 +D 1 +1 0.5827941000E-01 0.1000000000E+01 +F 1 +1 0.1513875700E+02 1.0000000 +F 1 +1 0.4998594000E+01 1.0000000 +F 1 +1 0.1373750000E+01 1.0000000 +F 1 +1 0.3775452844E+00 0.1000000000E+01 + +PHOSPHORUS +S 10 +1 0.1945653043E+06 0.1001525047E-03 +2 0.3081925888E+05 0.7612055071E-03 +3 0.6763176909E+04 0.4241324601E-02 +4 0.1878264281E+04 0.1759458858E-01 +5 0.6146629740E+03 0.5917955061E-01 +6 0.2243313830E+03 0.1613720076E+00 +7 0.8760420300E+02 0.3340134400E+00 +8 0.3550356700E+02 0.4052070798E+00 +9 0.1460132100E+02 0.1629483649E+00 +10 0.5990830000E+01 0.5901117100E-02 +S 8 +1 0.6146629740E+03 -0.4966285635E-03 +2 0.2243313830E+03 -0.4001807839E-02 +3 0.8760420300E+02 -0.2369944186E-01 +4 0.3550356700E+02 -0.8279859434E-01 +5 0.1460132100E+02 -0.5903661193E-01 +6 0.5990830000E+01 0.3475121201E+00 +7 0.2417178000E+01 0.6322841645E+00 +8 0.9452990000E+00 0.1525379912E+00 +S 5 +1 0.5990830000E+01 -0.6935069677E-02 +2 0.2417178000E+01 -0.1427001820E+00 +3 0.9452990000E+00 -0.9220940955E-01 +4 0.3521690000E+00 0.6393962433E+00 +5 0.1221570000E+00 0.5280173677E+00 +S 1 +1 0.1806447910E+03 1.0000000 +S 1 +1 0.7536079100E+02 1.0000000 +S 1 +1 0.3143876400E+02 1.0000000 +S 1 +1 0.1311551900E+02 1.0000000 +S 1 +1 0.5471488000E+01 1.0000000 +S 1 +1 0.1836124000E+01 1.0000000 +S 1 +1 0.6161670000E+00 0.1000000000E+01 +S 1 +1 0.1111860000E+00 0.1000000000E+01 +S 1 +1 0.3774612371E-01 0.1000000000E+01 +P 8 +1 0.7842488010E+03 0.1073873931E-02 +2 0.1883500330E+03 0.9007361567E-02 +3 0.5948454000E+02 0.4494022054E-01 +4 0.2220180400E+02 0.1470652708E+00 +5 0.9051861000E+01 0.3118359881E+00 +6 0.3811837000E+01 0.4194968735E+00 +7 0.1595077000E+01 0.2537692078E+00 +8 0.6457540000E+00 0.2851578317E-01 +P 6 +1 0.9051861000E+01 -0.3637457621E-02 +2 0.3811837000E+01 -0.9087290026E-02 +3 0.1595077000E+01 0.1289206580E-02 +4 0.6457540000E+00 0.2344507677E+00 +5 0.2478700000E+00 0.5474684585E+00 +6 0.8851000000E-01 0.3475518247E+00 +P 1 +1 0.2867325970E+03 1.0000000 +P 1 +1 0.1103981720E+03 1.0000000 +P 1 +1 0.4250565400E+02 1.0000000 +P 1 +1 0.1636558400E+02 1.0000000 +P 1 +1 0.6301099000E+01 1.0000000 +P 1 +1 0.2128664000E+01 1.0000000 +P 1 +1 0.7191140000E+00 0.1000000000E+01 +P 1 +1 0.3404660000E+00 0.1000000000E+01 +P 1 +1 0.3410056257E-01 0.1000000000E+01 +D 1 +1 0.1403653170E+03 1.0000000 +D 1 +1 0.5139691200E+02 1.0000000 +D 1 +1 0.1881976700E+02 1.0000000 +D 1 +1 0.6891146000E+01 1.0000000 +D 1 +1 0.2685520556E+01 0.1000000000E+01 +D 1 +1 0.1294368000E+01 1.0000000 +D 1 +1 0.6238600000E+00 0.1000000000E+01 +D 1 +1 0.2172060000E+00 0.1000000000E+01 +D 1 +1 0.7562345000E-01 0.1000000000E+01 +F 1 +1 0.1837093500E+02 1.0000000 +F 1 +1 0.6106487000E+01 1.0000000 +F 1 +1 0.1721892000E+01 1.0000000 +F 1 +1 0.4855346950E+00 0.1000000000E+01 + +SULFUR +S 10 +1 0.2274088948E+06 0.9716138112E-04 +2 0.3591373963E+05 0.7400530246E-03 +3 0.7890426674E+04 0.4111567757E-02 +4 0.2194934679E+04 0.1704005083E-01 +5 0.7186691190E+03 0.5744871346E-01 +6 0.2621315090E+03 0.1576866844E+00 +7 0.1022966990E+03 0.3294750719E+00 +8 0.4149342400E+02 0.4068332950E+00 +9 0.1713287600E+02 0.1704847190E+00 +10 0.7087430000E+01 0.7164208817E-02 +S 8 +1 0.7186691190E+03 -0.4857591984E-03 +2 0.2621315090E+03 -0.3904693042E-02 +3 0.1022966990E+03 -0.2345606134E-01 +4 0.4149342400E+02 -0.8258839707E-01 +5 0.1713287600E+02 -0.6470934394E-01 +6 0.7087430000E+01 0.3398482225E+00 +7 0.2895517000E+01 0.6368622052E+00 +8 0.1149720000E+01 0.1578787718E+00 +S 5 +1 0.7087430000E+01 -0.7226432396E-02 +2 0.2895517000E+01 -0.1554375842E+00 +3 0.1149720000E+01 -0.7804293560E-01 +4 0.4345060000E+00 0.6602484453E+00 +5 0.1518050000E+00 0.5043044190E+00 +S 1 +1 0.2147610360E+03 1.0000000 +S 1 +1 0.9011448900E+02 1.0000000 +S 1 +1 0.3781235800E+02 1.0000000 +S 1 +1 0.1586619900E+02 1.0000000 +S 1 +1 0.6657513000E+01 1.0000000 +S 1 +1 0.2292380000E+01 1.0000000 +S 1 +1 0.7893320000E+00 0.1000000000E+01 +S 1 +1 0.1444800000E+00 0.1000000000E+01 +S 1 +1 0.4630744924E-01 0.1000000000E+01 +P 8 +1 0.8846228520E+03 0.1132478655E-02 +2 0.2121472510E+03 0.9491744645E-02 +3 0.6711297000E+02 0.4736421217E-01 +4 0.2506567900E+02 0.1545646539E+00 +5 0.1021452400E+02 0.3256209588E+00 +6 0.4302814000E+01 0.4238016487E+00 +7 0.1806352000E+01 0.2291565988E+00 +8 0.7360330000E+00 0.1981541646E-01 +P 6 +1 0.1021452400E+02 -0.4231104312E-02 +2 0.4302814000E+01 -0.1239271521E-01 +3 0.1806352000E+01 0.1992817257E-01 +4 0.7360330000E+00 0.2896914815E+00 +5 0.2843140000E+00 0.5297303463E+00 +6 0.1012320000E+00 0.3053100645E+00 +P 1 +1 0.3340655280E+03 1.0000000 +P 1 +1 0.1297518320E+03 1.0000000 +P 1 +1 0.5039591500E+02 1.0000000 +P 1 +1 0.1957389100E+02 1.0000000 +P 1 +1 0.7602545000E+01 1.0000000 +P 1 +1 0.2576500000E+01 1.0000000 +P 1 +1 0.8731730000E+00 0.1000000000E+01 +P 1 +1 0.3839810000E+00 0.1000000000E+01 +P 1 +1 0.4007558587E-01 0.1000000000E+01 +D 1 +1 0.1711268110E+03 1.0000000 +D 1 +1 0.6372510400E+02 1.0000000 +D 1 +1 0.2373029000E+02 1.0000000 +D 1 +1 0.8836811000E+01 1.0000000 +D 1 +1 0.3550092081E+01 0.1000000000E+01 +D 1 +1 0.1673800000E+01 1.0000000 +D 1 +1 0.7891650000E+00 0.1000000000E+01 +D 1 +1 0.2699620000E+00 0.1000000000E+01 +D 1 +1 0.9235011000E-01 0.1000000000E+01 +F 1 +1 0.2187281100E+02 1.0000000 +F 1 +1 0.7311480000E+01 1.0000000 +F 1 +1 0.2061172000E+01 1.0000000 +F 1 +1 0.5810631407E+00 0.1000000000E+01 + +CHLORINE +S 10 +1 0.2626549464E+06 0.9469817934E-04 +2 0.4136487126E+05 0.7230181428E-03 +3 0.9092113079E+04 0.4010204819E-02 +4 0.2531625587E+04 0.1661299847E-01 +5 0.8291555470E+03 0.5610721737E-01 +6 0.3023237690E+03 0.1547571003E+00 +7 0.1179546820E+03 0.3256609654E+00 +8 0.4789520800E+02 0.4078336463E+00 +9 0.1984551300E+02 0.1767320009E+00 +10 0.8264736000E+01 0.8340709857E-02 +S 8 +1 0.8291555470E+03 -0.4791175455E-03 +2 0.3023237690E+03 -0.3832727517E-02 +3 0.1179546820E+03 -0.2330165516E-01 +4 0.4789520800E+02 -0.8243668432E-01 +5 0.1984551300E+02 -0.6938927222E-01 +6 0.8264736000E+01 0.3342967948E+00 +7 0.3409966000E+01 0.6404402164E+00 +8 0.1370094000E+01 0.1617931122E+00 +S 6 +1 0.1984551300E+02 0.3430895643E-03 +2 0.8264736000E+01 -0.8393838675E-02 +3 0.3409966000E+01 -0.1660778734E+00 +4 0.1370094000E+01 -0.6533926298E-01 +5 0.5235190000E+00 0.6731960913E+00 +6 0.1839030000E+00 0.4881561023E+00 +S 1 +1 0.2513909910E+03 1.0000000 +S 1 +1 0.1060351350E+03 1.0000000 +S 1 +1 0.4472495200E+02 1.0000000 +S 1 +1 0.1886470300E+02 1.0000000 +S 1 +1 0.7957013000E+01 1.0000000 +S 1 +1 0.2795157000E+01 1.0000000 +S 1 +1 0.9818890000E+00 0.1000000000E+01 +S 1 +1 0.1798350000E+00 0.1000000000E+01 +S 1 +1 0.5591472248E-01 0.1000000000E+01 +P 8 +1 0.1008265931E+04 0.1148883642E-02 +2 0.2418859760E+03 0.9636948148E-02 +3 0.7656584300E+02 0.4831526434E-01 +4 0.2862304100E+02 0.1578096198E+00 +5 0.1168512900E+02 0.3325356636E+00 +6 0.4938166000E+01 0.4256516030E+00 +7 0.2083386000E+01 0.2159067242E+00 +8 0.8544110000E+00 0.1613710801E-01 +P 7 +1 0.2862304100E+02 -0.1654777361E-02 +2 0.1168512900E+02 -0.5541584090E-02 +3 0.4938166000E+01 -0.1816572884E-01 +4 0.2083386000E+01 0.3517217425E-01 +5 0.8544110000E+00 0.3217839172E+00 +6 0.3322960000E+00 0.5169492920E+00 +7 0.1188900000E+00 0.2783093123E+00 +P 1 +1 0.3890271870E+03 1.0000000 +P 1 +1 0.1527964580E+03 1.0000000 +P 1 +1 0.6001317700E+02 1.0000000 +P 1 +1 0.2357110600E+02 1.0000000 +P 1 +1 0.9257917000E+01 1.0000000 +P 1 +1 0.3257890000E+01 1.0000000 +P 1 +1 0.1146462000E+01 0.1000000000E+01 +P 1 +1 0.5018840000E+00 0.1000000000E+01 +P 1 +1 0.5091067256E-01 0.1000000000E+01 +D 1 +1 0.2019372040E+03 1.0000000 +D 1 +1 0.7596858400E+02 1.0000000 +D 1 +1 0.2857930900E+02 1.0000000 +D 1 +1 0.1075150900E+02 1.0000000 +D 1 +1 0.4374047397E+01 0.1000000000E+01 +D 1 +1 0.2067243000E+01 1.0000000 +D 1 +1 0.9770110000E+00 0.1000000000E+01 +D 1 +1 0.3281510000E+00 0.1000000000E+01 +D 1 +1 0.1102168000E+00 0.1000000000E+01 +F 1 +1 0.2568389100E+02 1.0000000 +F 1 +1 0.8626272000E+01 1.0000000 +F 1 +1 0.2504059000E+01 1.0000000 +F 1 +1 0.7268856502E+00 0.1000000000E+01 + +ARGON +S 10 +1 0.2990256150E+06 0.9299436871E-04 +2 0.4713052108E+05 0.7087545274E-03 +3 0.1037643520E+05 0.3922540292E-02 +4 0.2892592488E+04 0.1624301119E-01 +5 0.9476686840E+03 0.5494072409E-01 +6 0.3454531910E+03 0.1521624625E+00 +7 0.1347766830E+03 0.3221453332E+00 +8 0.5478467300E+02 0.4085599424E+00 +9 0.2276903100E+02 0.1824207417E+00 +10 0.9534331000E+01 0.9487274371E-02 +S 8 +1 0.3454531910E+03 -0.3650076520E-02 +2 0.1347766830E+03 -0.2138587203E-01 +3 0.5478467300E+02 -0.8115985893E-01 +4 0.2276903100E+02 -0.7278544777E-01 +5 0.9534331000E+01 0.3303352598E+00 +6 0.3964716000E+01 0.6423879719E+00 +7 0.1607766000E+01 0.1687943136E+00 +8 0.6196300000E+00 -0.6121021884E-02 +S 7 +1 0.5478467300E+02 0.1728403546E-02 +2 0.2276903100E+02 0.7194724128E-03 +3 0.9534331000E+01 -0.1326766098E-01 +4 0.3964716000E+01 -0.1871364295E+00 +5 0.1607766000E+01 -0.5515554141E-01 +6 0.6196300000E+00 0.6829078411E+00 +7 0.2186490000E+00 0.4799972716E+00 +S 1 +1 0.2688077970E+03 1.0000000 +S 1 +1 0.1155616000E+03 1.0000000 +S 1 +1 0.4968041700E+02 1.0000000 +S 1 +1 0.2135782000E+02 1.0000000 +S 1 +1 0.9181816000E+01 1.0000000 +S 1 +1 0.3460236000E+01 1.0000000 +S 1 +1 0.1304016000E+01 0.1000000000E+01 +S 1 +1 0.2342860000E+00 0.1000000000E+01 +S 1 +1 0.7715473000E-01 0.1000000000E+01 +P 8 +1 0.1148224808E+04 0.1148223862E-02 +2 0.2756092380E+03 0.9647493895E-02 +3 0.8726087500E+02 0.4864166650E-01 +4 0.3265458500E+02 0.1592381934E+00 +5 0.1336326600E+02 0.3364577611E+00 +6 0.5670084000E+01 0.4266445575E+00 +7 0.2405322000E+01 0.2079075353E+00 +8 0.9929110000E+00 0.1433101806E-01 +P 8 +1 0.8726087500E+02 -0.1269993554E-03 +2 0.3265458500E+02 -0.2059609879E-02 +3 0.1336326600E+02 -0.6889434796E-02 +4 0.5670084000E+01 -0.2079461888E-01 +5 0.2405322000E+01 0.4693289098E-01 +6 0.9929110000E+00 0.3428148752E+00 +7 0.3888750000E+00 0.5067090368E+00 +8 0.1400750000E+00 0.2593551961E+00 +P 1 +1 0.4393896030E+03 1.0000000 +P 1 +1 0.1747967990E+03 1.0000000 +P 1 +1 0.6953719600E+02 1.0000000 +P 1 +1 0.2766310200E+02 1.0000000 +P 1 +1 0.1100486100E+02 1.0000000 +P 1 +1 0.4118840000E+01 1.0000000 +P 1 +1 0.1541579000E+01 0.1000000000E+01 +P 1 +1 0.6945560000E+00 0.1000000000E+01 +P 1 +1 0.5045581600E-01 0.1000000000E+01 +D 1 +1 0.1967863390E+03 1.0000000 +D 1 +1 0.7249224200E+02 1.0000000 +D 1 +1 0.2670472600E+02 1.0000000 +D 1 +1 0.9837499000E+01 1.0000000 +D 1 +1 0.3622871340E+01 0.1000000000E+01 +D 1 +1 0.1196375000E+01 0.1000000000E+01 +D 1 +1 0.3950770000E+00 0.1000000000E+01 +D 1 +1 0.1304650000E+00 0.1000000000E+01 +F 1 +1 0.2985006300E+02 1.0000000 +F 1 +1 0.1006079200E+02 1.0000000 +F 1 +1 0.3025876800E+01 1.0000000 +F 1 +1 0.9100606152E+00 0.1000000000E+01 +$END \ No newline at end of file diff --git a/data/basis/4zapa-nr b/data/basis/4zapa-nr new file mode 100644 index 00000000..469cfa2f --- /dev/null +++ b/data/basis/4zapa-nr @@ -0,0 +1,1283 @@ +!---------------------------------------------------------------------- +! Basis Set Exchange +! Version v0.8.12 +! https://www.basissetexchange.org +!---------------------------------------------------------------------- +! Basis set: 4ZaPa-NR +! Description: Quadruple Zeta augmented + polarization +! (nonrelativistic) +! Role: orbital +! Version: 1 (Data from Supplemental Information of publications) +!---------------------------------------------------------------------- + + +$DATA + +HYDROGEN +S 7 +1 0.1907996280E+03 0.7061124941E-03 +2 0.2864425700E+02 0.5475336771E-02 +3 0.6499666000E+01 0.2797731080E-01 +4 0.1843654000E+01 0.1074041990E+00 +5 0.5987830000E+00 0.2991562050E+00 +6 0.2139610000E+00 0.4740174051E+00 +7 0.8032200000E-01 0.2294115550E+00 +S 1 +1 0.8017240000E+00 0.1000000000E+01 +S 1 +1 0.2597140000E+00 0.1000000000E+01 +S 1 +1 0.9337500000E-01 0.1000000000E+01 +S 1 +1 0.2905840000E-01 0.1000000000E+01 +S 1 +1 0.1158000000E-01 0.1000000000E+01 +P 1 +1 0.2791527000E+01 0.1000000000E+01 +P 1 +1 0.8745530000E+00 0.1000000000E+01 +P 1 +1 0.3003000000E+00 0.1000000000E+01 +P 1 +1 0.1031100000E+00 0.1000000000E+01 +D 1 +1 0.2023425000E+01 0.1000000000E+01 +D 1 +1 0.6748480000E+00 0.1000000000E+01 +D 1 +1 0.2250737000E+00 0.1000000000E+01 +F 1 +1 0.1367042037E+01 0.1000000000E+01 + +HELIUM +S 9 +1 0.2325977120E+04 0.1469734409E-03 +2 0.3506948210E+03 0.1146249949E-02 +3 0.7930694400E+02 0.5948774027E-02 +4 0.2279455200E+02 0.2348122669E-01 +5 0.7505868000E+01 0.7632081087E-01 +6 0.2670528000E+01 0.1923920599E+00 +7 0.9965340000E+00 0.3454843618E+00 +8 0.3832550000E+00 0.3830199658E+00 +9 0.1486430000E+00 0.1453979699E+00 +S 1 +1 0.2619711000E+01 0.1000000000E+01 +S 1 +1 0.8297100000E+00 0.1000000000E+01 +S 1 +1 0.2627840000E+00 0.1000000000E+01 +S 1 +1 0.5765023700E-01 0.1000000000E+01 +P 1 +1 0.6222276000E+01 0.1000000000E+01 +P 1 +1 0.1895196000E+01 0.1000000000E+01 +P 1 +1 0.5772440000E+00 0.1000000000E+01 +P 1 +1 0.1758180000E+00 0.1000000000E+01 +D 1 +1 0.4105085000E+01 0.1000000000E+01 +D 1 +1 0.1141008000E+01 0.1000000000E+01 +D 1 +1 0.3171430000E+00 0.1000000000E+01 +F 1 +1 0.2445665391E+01 0.1000000000E+01 + +LITHIUM +S 9 +1 0.3525396754E+04 0.2484781110E-03 +2 0.5521573070E+03 0.1904737140E-02 +3 0.1212530610E+03 0.1043830250E-01 +4 0.3389579300E+02 0.4128597180E-01 +5 0.1112113400E+02 0.1257950240E+00 +6 0.4009661000E+01 0.2811736100E+00 +7 0.1510442000E+01 0.4262452080E+00 +8 0.5739800000E+00 0.2601233970E+00 +9 0.2157360000E+00 0.1488532870E-01 +S 6 +1 0.4009661000E+01 -0.4756502380E-02 +2 0.1510442000E+01 -0.2289129880E-01 +3 0.5739800000E+00 -0.8586100510E-01 +4 0.2157360000E+00 -0.2364536160E-01 +5 0.7985200000E-01 0.5375731240E+00 +6 0.2942900000E-01 0.5735048250E+00 +S 1 +1 0.8683590000E+00 0.1000000000E+01 +S 1 +1 0.1618900000E+00 0.1000000000E+01 +S 1 +1 0.3018200000E-01 0.1000000000E+01 +S 1 +1 0.7723890040E-02 0.1000000000E+01 +P 6 +1 0.6257818000E+01 0.3375571540E-02 +2 0.1373262000E+01 0.1923057270E-01 +3 0.3679820000E+00 0.7882455690E-01 +4 0.1193750000E+00 0.2737461090E+00 +5 0.4476300000E-01 0.5198621120E+00 +6 0.1795100000E-01 0.2847120850E+00 +P 1 +1 0.9098460000E+00 0.1000000000E+01 +P 1 +1 0.2842640000E+00 0.1000000000E+01 +P 1 +1 0.8881300000E-01 0.1000000000E+01 +P 1 +1 0.7198767000E-02 0.1000000000E+01 +D 1 +1 0.2544910000E+00 0.1000000000E+01 +D 1 +1 0.1291060000E+00 0.1000000000E+01 +D 1 +1 0.6549700000E-01 0.1000000000E+01 +D 1 +1 0.3322700000E-01 0.1000000000E+01 +F 1 +1 0.2484330000E+00 0.1000000000E+01 +F 1 +1 0.1204860000E+00 0.1000000000E+01 +F 1 +1 0.5843370000E-01 0.1000000000E+01 +G 1 +1 0.2087717829E+00 0.1000000000E+01 + +BERYLLIUM +S 9 +1 0.1169131840E+05 0.1163572997E-03 +2 0.1855028150E+04 0.8850715466E-03 +3 0.4055612870E+03 0.4950444343E-02 +4 0.1124684900E+03 0.2036627137E-01 +5 0.3684010600E+02 0.6691265141E-01 +6 0.1342806000E+02 0.1737095970E+00 +7 0.5191298000E+01 0.3412084367E+00 +8 0.2053050000E+01 0.4033098525E+00 +9 0.8106610000E+00 0.1464542181E+00 +S 7 +1 0.1342806000E+02 -0.2405785455E-02 +2 0.5191298000E+01 -0.1120514078E-01 +3 0.2053050000E+01 -0.5515100259E-01 +4 0.8106610000E+00 -0.8032907412E-01 +5 0.3156870000E+00 0.1863852239E+00 +6 0.1212160000E+00 0.5862441837E+00 +7 0.4644600000E-01 0.3567487479E+00 +S 1 +1 0.3608120000E+00 0.1000000000E+01 +S 1 +1 0.1386780000E+00 0.1000000000E+01 +S 1 +1 0.5330100000E-01 0.1000000000E+01 +S 1 +1 0.1779658600E-01 0.1000000000E+01 +P 6 +1 0.1415901300E+02 0.4080863714E-02 +2 0.3199382000E+01 0.2558683072E-01 +3 0.9125280000E+00 0.1036588001E+00 +4 0.3073310000E+00 0.3099668073E+00 +5 0.1143170000E+00 0.4976474184E+00 +6 0.4349700000E-01 0.2610313622E+00 +P 1 +1 0.4746190000E+00 0.1000000000E+01 +P 1 +1 0.2602330000E+00 0.1000000000E+01 +P 1 +1 0.1426860000E+00 0.1000000000E+01 +P 1 +1 0.1655037300E-01 0.1000000000E+01 +D 1 +1 0.5599130000E+00 0.1000000000E+01 +D 1 +1 0.2770760000E+00 0.1000000000E+01 +D 1 +1 0.1371130000E+00 0.1000000000E+01 +D 1 +1 0.6785130000E-01 0.1000000000E+01 +F 1 +1 0.5106650000E+00 0.1000000000E+01 +F 1 +1 0.2231370000E+00 0.1000000000E+01 +F 1 +1 0.9750050000E-01 0.1000000000E+01 +G 1 +1 0.3902882495E+00 0.1000000000E+01 + +BORON +S 9 +1 0.1916789524E+05 0.1115339468E-03 +2 0.3040195144E+04 0.8480093052E-03 +3 0.6654244930E+03 0.4738251669E-02 +4 0.1846319260E+03 0.1953362105E-01 +5 0.6048421600E+02 0.6459245831E-01 +6 0.2207073500E+02 0.1698914656E+00 +7 0.8565616000E+01 0.3389530127E+00 +8 0.3413736000E+01 0.4049071807E+00 +9 0.1362850000E+01 0.1516600449E+00 +S 8 +1 0.6048421600E+02 -0.3151086148E-03 +2 0.2207073500E+02 -0.2809044534E-02 +3 0.8565616000E+01 -0.1442522797E-01 +4 0.3413736000E+01 -0.6217465702E-01 +5 0.1362850000E+01 -0.7350423170E-01 +6 0.5366650000E+00 0.2244230498E+00 +7 0.2070050000E+00 0.5835059501E+00 +8 0.7826700000E-01 0.3270597170E+00 +S 1 +1 0.6291720000E+00 0.1000000000E+01 +S 1 +1 0.2350940000E+00 0.1000000000E+01 +S 1 +1 0.8784400000E-01 0.1000000000E+01 +S 1 +1 0.3024560081E-01 0.1000000000E+01 +P 7 +1 0.3970410000E+02 0.1980160173E-02 +2 0.9274020000E+01 0.1422732895E-01 +3 0.2806148000E+01 0.5952693593E-01 +4 0.9875870000E+00 0.1813778129E+00 +5 0.3743710000E+00 0.3627131997E+00 +6 0.1452850000E+00 0.4257522924E+00 +7 0.5602900000E-01 0.1887078779E+00 +P 1 +1 0.6329860000E+00 0.1000000000E+01 +P 1 +1 0.2287270000E+00 0.1000000000E+01 +P 1 +1 0.8264900000E-01 0.1000000000E+01 +P 1 +1 0.2228706484E-01 0.1000000000E+01 +D 1 +1 0.9880330000E+00 0.1000000000E+01 +D 1 +1 0.4022360000E+00 0.1000000000E+01 +D 1 +1 0.1637530000E+00 0.1000000000E+01 +D 1 +1 0.6666495000E-01 0.1000000000E+01 +F 1 +1 0.9035460000E+00 0.1000000000E+01 +F 1 +1 0.3511300000E+00 0.1000000000E+01 +F 1 +1 0.1364537000E+00 0.1000000000E+01 +G 1 +1 0.6593841864E+00 0.1000000000E+01 + +CARBON +S 10 +1 0.5321000255E+05 0.4884002264E-04 +2 0.8674811738E+04 0.3633381789E-03 +3 0.1890751347E+04 0.2072998296E-02 +4 0.5173592990E+03 0.8867844044E-02 +5 0.1679420210E+03 0.3050665650E-01 +6 0.6152157600E+02 0.8753223687E-01 +7 0.2435959400E+02 0.2034749775E+00 +8 0.1005677200E+02 0.3602635861E+00 +9 0.4207058000E+01 0.3587953301E+00 +10 0.1746404000E+01 0.1026690291E+00 +S 8 +1 0.6152157600E+02 -0.7421242844E-03 +2 0.2435959400E+02 -0.4776559847E-02 +3 0.1005677200E+02 -0.2247130550E-01 +4 0.4207058000E+01 -0.7565643714E-01 +5 0.1746404000E+01 -0.3698587586E-01 +6 0.7100980000E+00 0.2957934714E+00 +7 0.2814640000E+00 0.5633147911E+00 +8 0.1091590000E+00 0.2671571578E+00 +S 1 +1 0.9469190000E+00 0.1000000000E+01 +S 1 +1 0.3437670000E+00 0.1000000000E+01 +S 1 +1 0.1248000000E+00 0.1000000000E+01 +S 1 +1 0.4668285977E-01 0.1000000000E+01 +P 7 +1 0.6137917500E+02 0.2082239219E-02 +2 0.1438752300E+02 0.1535184509E-01 +3 0.4411430000E+01 0.6540786687E-01 +4 0.1569457000E+01 0.1938140629E+00 +5 0.5966500000E+00 0.3694066909E+00 +6 0.2296720000E+00 0.4141804258E+00 +7 0.8650700000E-01 0.1818035739E+00 +P 1 +1 0.9852800000E+00 0.1000000000E+01 +P 1 +1 0.3423890000E+00 0.1000000000E+01 +P 1 +1 0.1189810000E+00 0.1000000000E+01 +P 1 +1 0.3693662747E-01 0.1000000000E+01 +D 1 +1 0.1663326000E+01 0.1000000000E+01 +D 1 +1 0.6383480000E+00 0.1000000000E+01 +D 1 +1 0.2449840000E+00 0.1000000000E+01 +D 1 +1 0.9401950000E-01 0.1000000000E+01 +F 1 +1 0.1398241000E+01 0.1000000000E+01 +F 1 +1 0.5120790000E+00 0.1000000000E+01 +F 1 +1 0.1875391000E+00 0.1000000000E+01 +G 1 +1 0.1005411886E+01 0.1000000000E+01 + +NITROGEN +S 11 +1 0.7317497661E+05 0.4856461675E-04 +2 0.1193407013E+05 0.3609583110E-03 +3 0.2602648496E+04 0.2058576136E-02 +4 0.7124698700E+03 0.8801645017E-02 +5 0.2313619840E+03 0.3030894640E-01 +6 0.8480260700E+02 0.8708089940E-01 +7 0.3361564500E+02 0.2034333929E+00 +8 0.1390457000E+02 0.3606635800E+00 +9 0.5831916000E+01 0.3582358173E+00 +10 0.2427620000E+01 0.1018925770E+00 +11 0.9887980000E+00 0.1341480157E-02 +S 8 +1 0.8480260700E+02 -0.7960361476E-03 +2 0.3361564500E+02 -0.5085923493E-02 +3 0.1390457000E+02 -0.2420496232E-01 +4 0.5831916000E+01 -0.7752992657E-01 +5 0.2427620000E+01 -0.2836921836E-01 +6 0.9887980000E+00 0.3095777955E+00 +7 0.3914140000E+00 0.5564409398E+00 +8 0.1506800000E+00 0.2578480596E+00 +S 1 +1 0.1316242000E+01 0.1000000000E+01 +S 1 +1 0.4650760000E+00 0.1000000000E+01 +S 1 +1 0.1643280000E+00 0.1000000000E+01 +S 1 +1 0.5943866415E-01 0.1000000000E+01 +P 9 +1 0.2510009330E+03 0.3498335891E-03 +2 0.5996018100E+02 0.2965929891E-02 +3 0.1902011100E+02 0.1483951801E-01 +4 0.7103274000E+01 0.5125134102E-01 +5 0.2894976000E+01 0.1404685421E+00 +6 0.1231489000E+01 0.2758605351E+00 +7 0.5325820000E+00 0.3660596351E+00 +8 0.2292430000E+00 0.3020597611E+00 +9 0.9538000000E-01 0.9497817244E-01 +P 1 +1 0.1378004000E+01 0.1000000000E+01 +P 1 +1 0.4696770000E+00 0.1000000000E+01 +P 1 +1 0.1600840000E+00 0.1000000000E+01 +P 1 +1 0.6496452654E-01 0.1000000000E+01 +P 1 +1 0.2520775695E-01 0.1000000000E+01 +D 1 +1 0.2571617000E+01 0.1000000000E+01 +D 1 +1 0.9528820000E+00 0.1000000000E+01 +D 1 +1 0.3530790000E+00 0.1000000000E+01 +D 1 +1 0.1308291000E+00 0.1000000000E+01 +F 1 +1 0.2008837000E+01 0.1000000000E+01 +F 1 +1 0.7084960000E+00 0.1000000000E+01 +F 1 +1 0.2498791000E+00 0.1000000000E+01 +G 1 +1 0.1422363092E+01 0.1000000000E+01 + +OXYGEN +S 11 +1 0.9706749848E+05 0.4795350264E-04 +2 0.1579555633E+05 0.3571551889E-03 +3 0.3444498450E+04 0.2035925071E-02 +4 0.9430166910E+03 0.8708331947E-02 +5 0.3060947050E+03 0.3005055933E-01 +6 0.1121030010E+03 0.8665200883E-01 +7 0.4441192400E+02 0.2034503660E+00 +8 0.1837746600E+02 0.3613601232E+00 +9 0.7721786000E+01 0.3574572290E+00 +10 0.3223820000E+01 0.1019001003E+00 +11 0.1316815000E+01 0.1724633053E-02 +S 8 +1 0.1121030010E+03 -0.8368842321E-03 +2 0.4441192400E+02 -0.5356553991E-02 +3 0.1837746600E+02 -0.2568431247E-01 +4 0.7721786000E+01 -0.7928806726E-01 +5 0.3223820000E+01 -0.2206365737E-01 +6 0.1316815000E+01 0.3224896889E+00 +7 0.5212400000E+00 0.5524972610E+00 +8 0.1991680000E+00 0.2471811986E+00 +S 1 +1 0.2457152000E+01 0.1000000000E+01 +S 1 +1 0.4642220000E+00 0.1000000000E+01 +S 1 +1 0.2072640000E+00 0.1000000000E+01 +S 1 +1 0.6546276816E-01 0.1000000000E+01 +P 9 +1 0.3188766660E+03 0.3889188940E-03 +2 0.7618409200E+02 0.3304831440E-02 +3 0.2417954800E+02 0.1660357560E-01 +4 0.9054401000E+01 0.5757214580E-01 +5 0.3698468000E+01 0.1535959180E+00 +6 0.1569021000E+01 0.2848669760E+00 +7 0.6706260000E+00 0.3589714450E+00 +8 0.2823690000E+00 0.2922701260E+00 +9 0.1141950000E+00 0.9551851481E-01 +P 1 +1 0.1543121000E+01 0.1000000000E+01 +P 1 +1 0.5723080000E+00 0.1000000000E+01 +P 1 +1 0.1792830000E+00 0.1000000000E+01 +P 1 +1 0.5836558298E-01 0.1000000000E+01 +D 1 +1 0.3855903000E+01 0.1000000000E+01 +D 1 +1 0.1397314000E+01 0.1000000000E+01 +D 1 +1 0.4874700000E+00 0.1000000000E+01 +D 1 +1 0.1700590000E+00 0.1000000000E+01 +F 1 +1 0.2625669000E+01 0.1000000000E+01 +F 1 +1 0.8680950000E+00 0.1000000000E+01 +F 1 +1 0.2870090000E+00 0.1000000000E+01 +G 1 +1 0.1897665690E+01 0.1000000000E+01 + +FLUORINE +S 11 +1 0.1233817357E+06 0.4794106756E-04 +2 0.2004700895E+05 0.3574357115E-03 +3 0.4374449358E+04 0.2034185189E-02 +4 0.1198975145E+04 0.8688731840E-02 +5 0.3895123770E+03 0.2997667637E-01 +6 0.1427239930E+03 0.8654223680E-01 +7 0.5656689200E+02 0.2037373799E+00 +8 0.2342515200E+02 0.3620639196E+00 +9 0.9856399000E+01 0.3564687377E+00 +10 0.4122705000E+01 0.1014812364E+00 +11 0.1686528000E+01 0.2026396523E-02 +S 8 +1 0.1427239930E+03 -0.8719545560E-03 +2 0.5656689200E+02 -0.5578902547E-02 +3 0.2342515200E+02 -0.2685217972E-01 +4 0.9856399000E+01 -0.8043074509E-01 +5 0.4122705000E+01 -0.1658678894E-01 +6 0.1686528000E+01 0.3315667403E+00 +7 0.6671670000E+00 0.5488811313E+00 +8 0.2534570000E+00 0.2398528739E+00 +S 1 +1 0.3201723000E+01 0.1000000000E+01 +S 1 +1 0.6253790000E+00 0.1000000000E+01 +S 1 +1 0.2776570000E+00 0.1000000000E+01 +S 1 +1 0.8594217023E-01 0.1000000000E+01 +P 10 +1 0.6536236370E+03 0.1758649370E-03 +2 0.1572352050E+03 0.1531382396E-02 +3 0.5004801800E+02 0.8288216984E-02 +4 0.1893013600E+02 0.3066643433E-01 +5 0.7898108000E+01 0.8908788626E-01 +6 0.3461206000E+01 0.1957844504E+00 +7 0.1544407000E+01 0.3016595994E+00 +8 0.6872020000E+00 0.3320294649E+00 +9 0.2994470000E+00 0.2416659381E+00 +10 0.1248710000E+00 0.7012799361E-01 +P 1 +1 0.1980808000E+01 0.1000000000E+01 +P 1 +1 0.7303660000E+00 0.1000000000E+01 +P 1 +1 0.2251120000E+00 0.1000000000E+01 +P 1 +1 0.7468911913E-01 0.1000000000E+01 +D 1 +1 0.5077414000E+01 0.1000000000E+01 +D 1 +1 0.1802380000E+01 0.1000000000E+01 +D 1 +1 0.6185010000E+00 0.1000000000E+01 +D 1 +1 0.2122430000E+00 0.1000000000E+01 +F 1 +1 0.3545553000E+01 0.1000000000E+01 +F 1 +1 0.1169423000E+01 0.1000000000E+01 +F 1 +1 0.3545553000E+00 0.1000000000E+01 +G 1 +1 0.2452479367E+01 0.1000000000E+01 + +NEON +S 11 +1 0.1235478124E+06 0.5520645499E-04 +2 0.2479832373E+05 0.3433248292E-03 +3 0.5413657248E+04 0.2047096482E-02 +4 0.1484446927E+04 0.8669998853E-02 +5 0.4823703090E+03 0.2998876590E-01 +6 0.1767757490E+03 0.8658184781E-01 +7 0.7008375100E+02 0.2042454025E+00 +8 0.2904204600E+02 0.3627705810E+00 +9 0.1223335700E+02 0.3553909445E+00 +10 0.5123786000E+01 0.1008337594E+00 +11 0.2097977000E+01 0.2275278437E-02 +S 8 +1 0.1767757490E+03 -0.9017788142E-03 +2 0.7008375100E+02 -0.5768672443E-02 +3 0.2904204600E+02 -0.2781521981E-01 +4 0.1223335700E+02 -0.8120897159E-01 +5 0.5123786000E+01 -0.1182944400E-01 +6 0.2097977000E+01 0.3382955685E+00 +7 0.8293270000E+00 0.5455520280E+00 +8 0.3137080000E+00 0.2346139980E+00 +S 1 +1 0.3601004000E+01 0.1000000000E+01 +S 1 +1 0.1328657000E+01 0.1000000000E+01 +S 1 +1 0.4902330000E+00 0.1000000000E+01 +S 1 +1 0.1186634400E+00 0.1000000000E+01 +P 10 +1 0.8127244140E+03 0.1805580500E-03 +2 0.1952656170E+03 0.1578433450E-02 +3 0.6211553400E+02 0.8590369750E-02 +4 0.2350341600E+02 0.3200873520E-01 +5 0.9814896000E+01 0.9278710370E-01 +6 0.4302943000E+01 0.2007547000E+00 +7 0.1917503000E+01 0.3035969500E+00 +8 0.8496830000E+00 0.3288371650E+00 +9 0.3673780000E+00 0.2374914480E+00 +10 0.1514410000E+00 0.6965044510E-01 +P 1 +1 0.2816427000E+01 0.1000000000E+01 +P 1 +1 0.9449300000E+00 0.1000000000E+01 +P 1 +1 0.3170300000E+00 0.1000000000E+01 +P 1 +1 0.6242719100E-01 0.1000000000E+01 +D 1 +1 0.6372646000E+01 0.1000000000E+01 +D 1 +1 0.2198731000E+01 0.1000000000E+01 +D 1 +1 0.7586210000E+00 0.1000000000E+01 +D 1 +1 0.2617440000E+00 0.1000000000E+01 +F 1 +1 0.4653095000E+01 0.1000000000E+01 +F 1 +1 0.1546114000E+01 0.1000000000E+01 +F 1 +1 0.5137373000E+00 0.1000000000E+01 +G 1 +1 0.3094335796E+01 0.1000000000E+01 + +SODIUM +S 12 +1 0.2263067720E+06 0.3712445114E-04 +2 0.3717315036E+05 0.2731091605E-03 +3 0.8137276310E+04 0.1557356037E-02 +4 0.2224332844E+04 0.6712639366E-02 +5 0.7183848720E+03 0.2358279208E-01 +6 0.2616694840E+03 0.6977738791E-01 +7 0.1034305890E+03 0.1713983394E+00 +8 0.4299221100E+02 0.3262046662E+00 +9 0.1832429000E+02 0.3808130682E+00 +10 0.7851333000E+01 0.1622871752E+00 +11 0.3330234000E+01 0.8784781738E-02 +12 0.1382087000E+01 0.2804669108E-02 +S 10 +1 0.7183848720E+03 -0.8861557990E-04 +2 0.2616694840E+03 -0.6443222851E-03 +3 0.1034305890E+03 -0.4652938293E-02 +4 0.4299221100E+02 -0.2143321893E-01 +5 0.1832429000E+02 -0.7195775820E-01 +6 0.7851333000E+01 -0.5675564160E-01 +7 0.3330234000E+01 0.2289286176E+00 +8 0.1382087000E+01 0.5471158646E+00 +9 0.5562120000E+00 0.3409029588E+00 +10 0.2155410000E+00 0.1834508205E-01 +S 6 +1 0.3330234000E+01 -0.1851053472E-02 +2 0.1382087000E+01 -0.1970883116E-01 +3 0.5562120000E+00 -0.8536147082E-01 +4 0.2155410000E+00 -0.9735134784E-01 +5 0.7994500000E-01 0.4781597132E+00 +6 0.2821600000E-01 0.6646718169E+00 +S 1 +1 0.6316960000E+00 0.1000000000E+01 +S 1 +1 0.2521540000E+00 0.1000000000E+01 +S 1 +1 0.1006530000E+00 0.1000000000E+01 +S 1 +1 0.7499410852E-02 0.1000000000E+01 +P 10 +1 0.4799427330E+03 0.6814406224E-03 +2 0.1159780060E+03 0.5716748293E-02 +3 0.3646057000E+02 0.2895443132E-01 +4 0.1355173700E+02 0.9763732369E-01 +5 0.5514755000E+01 0.2278724591E+00 +6 0.2316121000E+01 0.3520174992E+00 +7 0.9622460000E+00 0.3610233762E+00 +8 0.3850020000E+00 0.1683089751E+00 +9 0.1465430000E+00 0.1035406531E-01 +10 0.5312600000E-01 0.1175453461E-02 +P 7 +1 0.5514755000E+01 -0.5583386535E-03 +2 0.2316121000E+01 -0.5796920099E-03 +3 0.9622460000E+00 -0.4029925962E-02 +4 0.3850020000E+00 -0.8292384367E-02 +5 0.1465430000E+00 0.6743739540E-01 +6 0.5312600000E-01 0.4738562945E+00 +7 0.1859400000E-01 0.5654746980E+00 +P 1 +1 0.3388950000E+00 0.1000000000E+01 +P 1 +1 0.1346130000E+00 0.1000000000E+01 +P 1 +1 0.5347000000E-01 0.1000000000E+01 +P 1 +1 0.6507865000E-02 0.1000000000E+01 +D 1 +1 0.1847639700E+01 0.1000000000E+01 +D 1 +1 0.4759510000E+00 0.1000000000E+01 +D 1 +1 0.1843680000E+00 0.1000000000E+01 +D 1 +1 0.7141800000E-01 0.1000000000E+01 +D 1 +1 0.2766490000E-01 0.1000000000E+01 +F 1 +1 0.1920240000E+00 0.1000000000E+01 +F 1 +1 0.9998000000E-01 0.1000000000E+01 +F 1 +1 0.5205500000E-01 0.1000000000E+01 +G 1 +1 0.1693086812E+00 0.1000000000E+01 + +MAGNESIUM +S 12 +1 0.2718123620E+06 0.3690607391E-04 +2 0.4437240160E+05 0.2731639678E-03 +3 0.9713753860E+04 0.1553049395E-02 +4 0.2661338440E+04 0.6671018965E-02 +5 0.8612783520E+03 0.2339939407E-01 +6 0.3139170790E+03 0.6937396054E-01 +7 0.1239769150E+03 0.1711626073E+00 +8 0.5145166500E+02 0.3271083660E+00 +9 0.2191006700E+02 0.3809533798E+00 +10 0.9402084000E+01 0.1616230568E+00 +11 0.4011544000E+01 0.8905727993E-02 +12 0.1685079000E+01 0.2973052540E-02 +S 10 +1 0.3139170790E+03 -0.6455749943E-03 +2 0.1239769150E+03 -0.4412734160E-02 +3 0.5145166500E+02 -0.2219245622E-01 +4 0.2191006700E+02 -0.7405148432E-01 +5 0.9402084000E+01 -0.5691301489E-01 +6 0.4011544000E+01 0.2423780270E+00 +7 0.1685079000E+01 0.5653730105E+00 +8 0.6917210000E+00 0.3153219723E+00 +9 0.2758120000E+00 0.5519162994E-02 +10 0.1062050000E+00 0.5937967570E-02 +S 6 +1 0.4011544000E+01 -0.2733033424E-02 +2 0.1685079000E+01 -0.3517190852E-01 +3 0.6917210000E+00 -0.1360311163E+00 +4 0.2758120000E+00 0.3507535872E-01 +5 0.1062050000E+00 0.5962676817E+00 +6 0.3923300000E-01 0.4862287425E+00 +S 1 +1 0.6449870000E+00 0.1000000000E+01 +S 1 +1 0.2780490000E+00 0.1000000000E+01 +S 1 +1 0.1198650000E+00 0.1000000000E+01 +S 1 +1 0.1449299300E-01 0.1000000000E+01 +P 10 +1 0.6880643270E+03 0.5317357273E-03 +2 0.1665345040E+03 0.4516965833E-02 +3 0.5257145100E+02 0.2353132401E-01 +4 0.1965052900E+02 0.8233066959E-01 +5 0.8077298000E+01 0.2041669935E+00 +6 0.3457216000E+01 0.3387246911E+00 +7 0.1482516000E+01 0.3730158853E+00 +8 0.6205870000E+00 0.1932715552E+00 +9 0.2493780000E+00 0.1863567835E-01 +10 0.9515400000E-01 0.2077137591E-02 +P 6 +1 0.3457216000E+01 -0.1919676332E-02 +2 0.1482516000E+01 -0.4867528778E-02 +3 0.6205870000E+00 -0.9436775481E-02 +4 0.2493780000E+00 0.1396171975E+00 +5 0.9515400000E-01 0.5425500746E+00 +6 0.3418500000E-01 0.4376518159E+00 +P 1 +1 0.5861880000E+00 0.1000000000E+01 +P 1 +1 0.2507430000E+00 0.1000000000E+01 +P 1 +1 0.1072560000E+00 0.1000000000E+01 +P 1 +1 0.1228129400E-01 0.1000000000E+01 +D 1 +1 0.1527575100E+01 0.1000000000E+01 +D 1 +1 0.3332210000E+00 0.1000000000E+01 +D 1 +1 0.1804770000E+00 0.1000000000E+01 +D 1 +1 0.9774900000E-01 0.1000000000E+01 +D 1 +1 0.5294200000E-01 0.1000000000E+01 +F 1 +1 0.3241890000E+00 0.1000000000E+01 +F 1 +1 0.1552780000E+00 0.1000000000E+01 +F 1 +1 0.7437410000E-01 0.1000000000E+01 +G 1 +1 0.2616960553E+00 0.1000000000E+01 + +ALUMINIUM +S 12 +1 0.3526715345E+06 0.3268613961E-04 +2 0.5743120313E+05 0.2421789737E-03 +3 0.1259361370E+05 0.1372818959E-02 +4 0.3456859553E+04 0.5890078131E-02 +5 0.1119190778E+04 0.2075336655E-01 +6 0.4075133070E+03 0.6211868818E-01 +7 0.1607626650E+03 0.1562622757E+00 +8 0.6677209000E+02 0.3080603845E+00 +9 0.2857630000E+02 0.3861219102E+00 +10 0.1240027700E+02 0.1933891747E+00 +11 0.5389724000E+01 0.1639926481E-01 +12 0.2323235000E+01 0.2799625498E-02 +S 10 +1 0.1119190778E+04 -0.7627822383E-04 +2 0.4075133070E+03 -0.5660158932E-03 +3 0.1607626650E+03 -0.4184990372E-02 +4 0.6677209000E+02 -0.1993458933E-01 +5 0.2857630000E+02 -0.6984385412E-01 +6 0.1240027700E+02 -0.7264574308E-01 +7 0.5389724000E+01 0.1887241819E+00 +8 0.2323235000E+01 0.5555854146E+00 +9 0.9839730000E+00 0.3679970250E+00 +10 0.4053250000E+00 0.2185729514E-01 +S 6 +1 0.5389724000E+01 -0.2034289668E-02 +2 0.2323235000E+01 -0.3885141593E-01 +3 0.9839730000E+00 -0.1610266206E+00 +4 0.4053250000E+00 0.6155261435E-01 +5 0.1603310000E+00 0.6393626157E+00 +6 0.5988200000E-01 0.4365793426E+00 +S 1 +1 0.9161560000E+00 0.1000000000E+01 +S 1 +1 0.3989430000E+00 0.1000000000E+01 +S 1 +1 0.1737210000E+00 0.1000000000E+01 +S 1 +1 0.2107668768E-01 0.1000000000E+01 +P 10 +1 0.1307221140E+04 0.2422305408E-03 +2 0.3206388010E+03 0.2086035230E-02 +3 0.1012002520E+03 0.1172533488E-01 +4 0.3795009900E+02 0.4448405261E-01 +5 0.1585528800E+02 0.1260760339E+00 +6 0.7016042000E+01 0.2552442378E+00 +7 0.3163901000E+01 0.3621421867E+00 +8 0.1413569000E+01 0.3195893342E+00 +9 0.6136010000E+00 0.1033816363E+00 +10 0.2555460000E+00 0.4313676383E-02 +P 7 +1 0.7016042000E+01 -0.1927138823E-02 +2 0.3163901000E+01 -0.2669463151E-02 +3 0.1413569000E+01 -0.1204584741E-01 +4 0.6136010000E+00 0.3600794864E-01 +5 0.2555460000E+00 0.2659975037E+00 +6 0.1013670000E+00 0.5221792715E+00 +7 0.3815600000E-01 0.3182720404E+00 +P 1 +1 0.8648550000E+00 0.1000000000E+01 +P 1 +1 0.3668550000E+00 0.1000000000E+01 +P 1 +1 0.1556130000E+00 0.1000000000E+01 +P 1 +1 0.1446090910E-01 0.1000000000E+01 +D 1 +1 0.1940856048E+01 0.1000000000E+01 +D 1 +1 0.4186450000E+00 0.1000000000E+01 +D 1 +1 0.1936030000E+00 0.1000000000E+01 +D 1 +1 0.8953200000E-01 0.1000000000E+01 +D 1 +1 0.4140420000E-01 0.1000000000E+01 +F 1 +1 0.4369610000E+00 0.1000000000E+01 +F 1 +1 0.1926080000E+00 0.1000000000E+01 +F 1 +1 0.8489960000E-01 0.1000000000E+01 +G 1 +1 0.3565404810E+00 0.1000000000E+01 + +SILICON +S 12 +1 0.4380435263E+06 0.3009837318E-04 +2 0.7117731352E+05 0.2233908429E-03 +3 0.1561379834E+05 0.1264943516E-02 +4 0.4289108408E+04 0.5425287236E-02 +5 0.1388861923E+04 0.1916524111E-01 +6 0.5054820770E+03 0.5768096670E-01 +7 0.1993392200E+03 0.1468033701E+00 +8 0.8286211200E+02 0.2951306454E+00 +9 0.3557684200E+02 0.3869526199E+00 +10 0.1554248600E+02 0.2144353273E+00 +11 0.6829927000E+01 0.2324691412E-01 +12 0.2989151000E+01 0.2605220735E-02 +S 10 +1 0.1388861923E+04 -0.6825108658E-04 +2 0.5054820770E+03 -0.5094572584E-03 +3 0.1993392200E+03 -0.3814682059E-02 +4 0.8286211200E+02 -0.1844876236E-01 +5 0.3557684200E+02 -0.6665365674E-01 +6 0.1554248600E+02 -0.8100660677E-01 +7 0.6829927000E+01 0.1571272713E+00 +8 0.2989151000E+01 0.5476413147E+00 +9 0.1289699000E+01 0.3978631668E+00 +10 0.5418440000E+00 0.3071734390E-01 +S 6 +1 0.6829927000E+01 -0.1288481398E-02 +2 0.2989151000E+01 -0.4322549296E-01 +3 0.1289699000E+01 -0.1763430154E+00 +4 0.5418440000E+00 0.8522411589E-01 +5 0.2180680000E+00 0.6552684621E+00 +6 0.8221800000E-01 0.4113957891E+00 +S 1 +1 0.1201446000E+01 0.1000000000E+01 +S 1 +1 0.5157970000E+00 0.1000000000E+01 +S 1 +1 0.2214390000E+00 0.1000000000E+01 +S 1 +1 0.3169890881E-01 0.1000000000E+01 +P 10 +1 0.1609972756E+04 0.2294989854E-03 +2 0.3946274020E+03 0.1982201070E-02 +3 0.1246190380E+03 0.1123247137E-01 +4 0.4680196100E+02 0.4304350850E-01 +5 0.1960665200E+02 0.1235305006E+00 +6 0.8715913000E+01 0.2539487051E+00 +7 0.3959551000E+01 0.3660887831E+00 +8 0.1788994000E+01 0.3193697035E+00 +9 0.7891710000E+00 0.9832771513E-01 +10 0.3359510000E+00 0.3952033150E-02 +P 7 +1 0.8715913000E+01 -0.2577095792E-02 +2 0.3959551000E+01 -0.4109842517E-02 +3 0.1788994000E+01 -0.1356792916E-01 +4 0.7891710000E+00 0.6041872906E-01 +5 0.3359510000E+00 0.3244164845E+00 +6 0.1371030000E+00 0.5094090481E+00 +7 0.5345700000E-01 0.2488212156E+00 +P 1 +1 0.1163654000E+01 0.1000000000E+01 +P 1 +1 0.4989480000E+00 0.1000000000E+01 +P 1 +1 0.2139370000E+00 0.1000000000E+01 +P 1 +1 0.2554727575E-01 0.1000000000E+01 +D 1 +1 0.2503242837E+01 0.1000000000E+01 +D 1 +1 0.5801340000E+00 0.1000000000E+01 +D 1 +1 0.2623230000E+00 0.1000000000E+01 +D 1 +1 0.1186170000E+00 0.1000000000E+01 +D 1 +1 0.5363610000E-01 0.1000000000E+01 +F 1 +1 0.5745350000E+00 0.1000000000E+01 +F 1 +1 0.2449140000E+00 0.1000000000E+01 +F 1 +1 0.1044020000E+00 0.1000000000E+01 +G 1 +1 0.4751171933E+00 0.1000000000E+01 + +PHOSPHORUS +S 12 +1 0.5283894546E+06 0.2833942980E-04 +2 0.8589055866E+05 0.2101127631E-03 +3 0.1885848876E+05 0.1188621513E-02 +4 0.5183041449E+04 0.5098563672E-02 +5 0.1678043254E+04 0.1805252492E-01 +6 0.6103565170E+03 0.5456559743E-01 +7 0.2405819300E+03 0.1400592439E+00 +8 0.1000490390E+03 0.2855905564E+00 +9 0.4304851100E+02 0.3863807451E+00 +10 0.1889276300E+02 0.2296496473E+00 +11 0.8363973000E+01 0.2928242593E-01 +12 0.3698340000E+01 0.2456842384E-02 +S 10 +1 0.1678043254E+04 -0.6301163930E-04 +2 0.6103565170E+03 -0.4725651145E-03 +3 0.2405819300E+03 -0.3572857788E-02 +4 0.1000490390E+03 -0.1748308615E-01 +5 0.4304851100E+02 -0.6450768815E-01 +6 0.1889276300E+02 -0.8630029844E-01 +7 0.8363973000E+01 0.1357068391E+00 +8 0.3698340000E+01 0.5429016755E+00 +9 0.1615860000E+01 0.4164183428E+00 +10 0.6881390000E+00 0.3700063935E-01 +S 6 +1 0.8363973000E+01 -0.5751933583E-03 +2 0.3698340000E+01 -0.4773078277E-01 +3 0.1615860000E+01 -0.1866895469E+00 +4 0.6881390000E+00 0.1058237810E+00 +5 0.2803900000E+00 0.6624461665E+00 +6 0.1065580000E+00 0.3947484489E+00 +S 1 +1 0.1591505000E+01 0.1000000000E+01 +S 1 +1 0.6757450000E+00 0.1000000000E+01 +S 1 +1 0.2869180000E+00 0.1000000000E+01 +S 1 +1 0.3933227462E-01 0.1000000000E+01 +P 10 +1 0.1933646457E+04 0.2213735820E-03 +2 0.4736095320E+03 0.1915716192E-02 +3 0.1496894860E+03 0.1091037760E-01 +4 0.5630122600E+02 0.4212755018E-01 +5 0.2363905400E+02 0.1220274687E+00 +6 0.1054857000E+02 0.2535209108E+00 +7 0.4823289000E+01 0.3690763936E+00 +8 0.2201492000E+01 0.3178571806E+00 +9 0.9851220000E+00 0.9436970181E-01 +10 0.4269800000E+00 0.3923938815E-02 +P 7 +1 0.1054857000E+02 -0.3153945078E-02 +2 0.4823289000E+01 -0.5434511495E-02 +3 0.2201492000E+01 -0.1401367237E-01 +4 0.9851220000E+00 0.8136633400E-01 +5 0.4269800000E+00 0.3574295919E+00 +6 0.1777540000E+00 0.4916867603E+00 +7 0.7058500000E-01 0.2125956804E+00 +P 1 +1 0.1644660000E+01 0.1000000000E+01 +P 1 +1 0.6963170000E+00 0.1000000000E+01 +P 1 +1 0.2948070000E+00 0.1000000000E+01 +P 1 +1 0.3500997504E-01 0.1000000000E+01 +D 1 +1 0.3259664503E+01 0.1000000000E+01 +D 1 +1 0.7771180000E+00 0.1000000000E+01 +D 1 +1 0.3477410000E+00 0.1000000000E+01 +D 1 +1 0.1556050000E+00 0.1000000000E+01 +D 1 +1 0.6962910000E-01 0.1000000000E+01 +F 1 +1 0.7346810000E+00 0.1000000000E+01 +F 1 +1 0.3087810000E+00 0.1000000000E+01 +F 1 +1 0.1297780000E+00 0.1000000000E+01 +G 1 +1 0.6110290712E+00 0.1000000000E+01 + +SULFUR +S 12 +1 0.6236880976E+06 0.2713024062E-04 +2 0.1012381834E+06 0.2013661789E-03 +3 0.2223608599E+05 0.1138046935E-02 +4 0.6114920968E+04 0.4879924434E-02 +5 0.1979949746E+04 0.1730268565E-01 +6 0.7198369810E+03 0.5247479684E-01 +7 0.2835520670E+03 0.1355605141E+00 +8 0.1178992210E+03 0.2792511221E+00 +9 0.5078444000E+02 0.3855428472E+00 +10 0.2235621100E+02 0.2396351017E+00 +11 0.9951907000E+01 0.3384062615E-01 +12 0.4435851000E+01 0.2378546227E-02 +S 10 +1 0.1979949746E+04 -0.5975376516E-04 +2 0.7198369810E+03 -0.4506748999E-03 +3 0.2835520670E+03 -0.3430362679E-02 +4 0.1178992210E+03 -0.1695793694E-01 +5 0.5078444000E+02 -0.6338933424E-01 +6 0.2235621100E+02 -0.8973730565E-01 +7 0.9951907000E+01 0.1226561209E+00 +8 0.4435851000E+01 0.5414218421E+00 +9 0.1957511000E+01 0.4262060100E+00 +10 0.8425510000E+00 0.4072103351E-01 +S 6 +1 0.9951907000E+01 0.3328373673E-05 +2 0.4435851000E+01 -0.5294632747E-01 +3 0.1957511000E+01 -0.1957487408E+00 +4 0.8425510000E+00 0.1301152397E+00 +5 0.3464320000E+00 0.6710240266E+00 +6 0.1322010000E+00 0.3733083088E+00 +S 1 +1 0.2098252000E+01 0.1000000000E+01 +S 1 +1 0.9081330000E+00 0.1000000000E+01 +S 1 +1 0.3930440000E+00 0.1000000000E+01 +S 1 +1 0.5006528091E-01 0.1000000000E+01 +P 10 +1 0.2200288005E+04 0.2284948511E-03 +2 0.5409814670E+03 0.1971087052E-02 +3 0.1708287270E+03 0.1129453840E-01 +4 0.6417209900E+02 0.4380220289E-01 +5 0.2696471300E+02 0.1265188267E+00 +6 0.1207510800E+02 0.2603491846E+00 +7 0.5553097000E+01 0.3747083257E+00 +8 0.2551241000E+01 0.3076113026E+00 +9 0.1147837000E+01 0.8193470990E-01 +10 0.4986290000E+00 0.3009129070E-02 +P 7 +1 0.1207510800E+02 -0.3786820869E-02 +2 0.5553097000E+01 -0.7029028272E-02 +3 0.2551241000E+01 -0.1240635788E-01 +4 0.1147837000E+01 0.1177650411E+00 +5 0.4986290000E+00 0.3853141847E+00 +6 0.2070200000E+00 0.4596770042E+00 +7 0.8148300000E-01 0.1901077003E+00 +P 1 +1 0.1779961000E+01 0.1000000000E+01 +P 1 +1 0.7442550000E+00 0.1000000000E+01 +P 1 +1 0.3111960000E+00 0.1000000000E+01 +P 1 +1 0.4090391886E-01 0.1000000000E+01 +D 1 +1 0.3851470827E+01 0.1000000000E+01 +D 1 +1 0.1008554000E+01 0.1000000000E+01 +D 1 +1 0.4460480000E+00 0.1000000000E+01 +D 1 +1 0.1972710000E+00 0.1000000000E+01 +D 1 +1 0.8724580000E-01 0.1000000000E+01 +F 1 +1 0.8912440000E+00 0.1000000000E+01 +F 1 +1 0.3582670000E+00 0.1000000000E+01 +F 1 +1 0.1440180000E+00 0.1000000000E+01 +G 1 +1 0.7251745883E+00 0.1000000000E+01 + +CHLORINE +S 12 +1 0.7237275005E+06 0.2626255539E-04 +2 0.1173660658E+06 0.1950550684E-03 +3 0.2578717863E+05 0.1101484570E-02 +4 0.7095077690E+04 0.4721462407E-02 +5 0.2297678453E+04 0.1675608523E-01 +6 0.8351465810E+03 0.5093734450E-01 +7 0.3288541720E+03 0.1322020597E+00 +8 0.1367375030E+03 0.2744038709E+00 +9 0.5895627300E+02 0.3845589217E+00 +10 0.2601778300E+02 0.2471069596E+00 +11 0.1163217800E+02 0.3760312273E-01 +12 0.5217409000E+01 0.2334590439E-02 +S 10 +1 0.2297678453E+04 -0.5751982055E-04 +2 0.8351465810E+03 -0.4361370429E-03 +3 0.3288541720E+03 -0.3334035651E-02 +4 0.1367375030E+03 -0.1661529521E-01 +5 0.5895627300E+02 -0.6267029831E-01 +6 0.2601778300E+02 -0.9232872878E-01 +7 0.1163217800E+02 0.1133543300E+00 +8 0.5217409000E+01 0.5414884909E+00 +9 0.2320556000E+01 0.4320931603E+00 +10 0.1007367000E+01 0.4331695573E-01 +S 7 +1 0.2601778300E+02 0.1373958326E-02 +2 0.1163217800E+02 -0.1560925898E-02 +3 0.5217409000E+01 -0.5966453263E-01 +4 0.2320556000E+01 -0.2059619979E+00 +5 0.1007367000E+01 0.1517651564E+00 +6 0.4173680000E+00 0.6747165604E+00 +7 0.1599610000E+00 0.3594242484E+00 +S 1 +1 0.2489669000E+01 0.1000000000E+01 +S 1 +1 0.1087839000E+01 0.1000000000E+01 +S 1 +1 0.4753220000E+00 0.1000000000E+01 +S 1 +1 0.6127496683E-01 0.1000000000E+01 +P 10 +1 0.2500752735E+04 0.2325903712E-03 +2 0.6154216170E+03 0.2006177069E-02 +3 0.1942826220E+03 0.1153572865E-01 +4 0.7296605100E+02 0.4491006825E-01 +5 0.3068407300E+02 0.1296838198E+00 +6 0.1377450400E+02 0.2656966631E+00 +7 0.6362590000E+01 0.3789010579E+00 +8 0.2941322000E+01 0.2986459694E+00 +9 0.1333098000E+01 0.7346641613E-01 +10 0.5833500000E+00 0.2694662300E-02 +P 8 +1 0.3068407300E+02 -0.1159949287E-02 +2 0.1377450400E+02 -0.4294785654E-02 +3 0.6362590000E+01 -0.1135682155E-01 +4 0.2941322000E+01 -0.9233992512E-02 +5 0.1333098000E+01 0.1438708674E+00 +6 0.5833500000E+00 0.4009432944E+00 +7 0.2435180000E+00 0.4375086490E+00 +8 0.9595700000E-01 0.1731938298E+00 +P 1 +1 0.2335912000E+01 0.1000000000E+01 +P 1 +1 0.9923410000E+00 0.1000000000E+01 +P 1 +1 0.4215660000E+00 0.1000000000E+01 +P 1 +1 0.5333174856E-01 0.1000000000E+01 +D 1 +1 0.4230541716E+01 0.1000000000E+01 +D 1 +1 0.1293743000E+01 0.1000000000E+01 +D 1 +1 0.5626000000E+00 0.1000000000E+01 +D 1 +1 0.2446530000E+00 0.1000000000E+01 +D 1 +1 0.1063900000E+00 0.1000000000E+01 +F 1 +1 0.1102184000E+01 0.1000000000E+01 +F 1 +1 0.4474670000E+00 0.1000000000E+01 +F 1 +1 0.1816630000E+00 0.1000000000E+01 +G 1 +1 0.8780666449E+00 0.1000000000E+01 + +ARGON +S 12 +1 0.8129548846E+06 0.2623662783E-04 +2 0.1318991440E+06 0.1944429469E-03 +3 0.2906550781E+05 0.1092693774E-02 +4 0.8025884724E+04 0.4660983056E-02 +5 0.2607475919E+04 0.1648601259E-01 +6 0.9500245140E+03 0.5004982387E-01 +7 0.3746962270E+03 0.1300722126E+00 +8 0.1559881550E+03 0.2711331825E+00 +9 0.6734900000E+02 0.3835740655E+00 +10 0.2978555900E+02 0.2518674611E+00 +11 0.1336282900E+02 0.4023164246E-01 +12 0.6024125000E+01 0.2316424816E-02 +S 10 +1 0.9500245140E+03 -0.4145436285E-03 +2 0.3746962270E+03 -0.3000209895E-02 +3 0.1559881550E+03 -0.1618108530E-01 +4 0.6734900000E+02 -0.6155296139E-01 +5 0.2978555900E+02 -0.9409255149E-01 +6 0.1336282900E+02 0.1088779987E+00 +7 0.6024125000E+01 0.5411656884E+00 +8 0.2697155000E+01 0.4343897775E+00 +9 0.1179786000E+01 0.4201585473E-01 +10 0.4924210000E+00 0.5255667744E-02 +S 8 +1 0.6734900000E+02 0.5977052965E-03 +2 0.2978555900E+02 0.1630644131E-02 +3 0.1336282900E+02 -0.1265448477E-02 +4 0.6024125000E+01 -0.7015734957E-01 +5 0.2697155000E+01 -0.2120885301E+00 +6 0.1179786000E+01 0.1701185886E+00 +7 0.4924210000E+00 0.6771412101E+00 +8 0.1897000000E+00 0.3480347613E+00 +S 1 +1 0.3162940000E+01 0.1000000000E+01 +S 1 +1 0.1432006000E+01 0.1000000000E+01 +S 1 +1 0.6483340000E+00 0.1000000000E+01 +S 1 +1 0.730799260E-01 0.1000000000E+01 +P 10 +1 0.2837786960E+04 0.2337074738E-03 +2 0.6988486320E+03 0.2015725910E-02 +3 0.2206358770E+03 0.1162501777E-01 +4 0.8286306500E+02 0.4545944292E-01 +5 0.3486580100E+02 0.1315335361E+00 +6 0.1567943500E+02 0.2694336310E+00 +7 0.7267494000E+01 0.3820483648E+00 +8 0.3377562000E+01 0.2918786745E+00 +9 0.1541537000E+01 0.6791433038E-01 +10 0.6799020000E+00 0.2605490994E-02 +P 8 +1 0.3486580100E+02 -0.1318571276E-02 +2 0.1567943500E+02 -0.4760150252E-02 +3 0.7267494000E+01 -0.1319162208E-01 +4 0.3377562000E+01 -0.5610643066E-02 +5 0.1541537000E+01 0.1638796895E+00 +6 0.6799020000E+00 0.4093948822E+00 +7 0.2859230000E+00 0.4211663440E+00 +8 0.1131910000E+00 0.1603136770E+00 +P 1 +1 0.2877536000E+01 0.1000000000E+01 +P 1 +1 0.1269009000E+01 0.1000000000E+01 +P 1 +1 0.5596400000E+00 0.1000000000E+01 +P 1 +1 0.448099750E-01 0.1000000000E+01 +D 1 +1 0.6439125263E+01 0.1000000000E+01 +D 1 +1 0.1624039000E+01 0.1000000000E+01 +D 1 +1 0.6961650000E+00 0.1000000000E+01 +D 1 +1 0.2984200000E+00 0.1000000000E+01 +D 1 +1 0.1279210000E+00 0.1000000000E+01 +F 1 +1 0.1342493000E+01 0.1000000000E+01 +F 1 +1 0.5599010000E+00 0.1000000000E+01 +F 1 +1 0.2335120000E+00 0.1000000000E+01 +G 1 +1 0.1054956027E+01 0.1000000000E+01 +$END \ No newline at end of file diff --git a/data/basis/4zapa-nr-cv b/data/basis/4zapa-nr-cv new file mode 100644 index 00000000..3b7269aa --- /dev/null +++ b/data/basis/4zapa-nr-cv @@ -0,0 +1,2042 @@ +!---------------------------------------------------------------------- +! Basis Set Exchange +! Version v0.8.12 +! https://www.basissetexchange.org +!---------------------------------------------------------------------- +! Basis set: 4ZaPa-NR-CV +! Description: Quadruple zeta augmented + polarization (nonrelativistic +! + core-valence) +! Role: orbital +! Version: 1 (Data from Supplemental Information of publications +! (modified)) +!---------------------------------------------------------------------- + + +$DATA + +HYDROGEN +S 7 +1 0.1907996280E+03 0.7061124941E-03 +2 0.2864425700E+02 0.5475336771E-02 +3 0.6499666000E+01 0.2797731080E-01 +4 0.1843654000E+01 0.1074041990E+00 +5 0.5987830000E+00 0.2991562050E+00 +6 0.2139610000E+00 0.4740174051E+00 +7 0.8032200000E-01 0.2294115550E+00 +S 1 +1 0.8017240000E+00 0.1000000000E+01 +S 1 +1 0.2597140000E+00 0.1000000000E+01 +S 1 +1 0.9337500000E-01 0.1000000000E+01 +S 1 +1 0.2905840000E-01 0.1000000000E+01 +S 1 +1 0.1158000000E-01 0.1000000000E+01 +P 1 +1 0.2791527000E+01 0.1000000000E+01 +P 1 +1 0.8745530000E+00 0.1000000000E+01 +P 1 +1 0.3003000000E+00 0.1000000000E+01 +P 1 +1 0.1031100000E+00 0.1000000000E+01 +D 1 +1 0.2023425000E+01 0.1000000000E+01 +D 1 +1 0.6748480000E+00 0.1000000000E+01 +D 1 +1 0.2250737000E+00 0.1000000000E+01 +F 1 +1 0.1367042037E+01 0.1000000000E+01 + +HELIUM +S 9 +1 0.2325977120E+04 0.1469734409E-03 +2 0.3506948210E+03 0.1146249949E-02 +3 0.7930694400E+02 0.5948774027E-02 +4 0.2279455200E+02 0.2348122669E-01 +5 0.7505868000E+01 0.7632081087E-01 +6 0.2670528000E+01 0.1923920599E+00 +7 0.9965340000E+00 0.3454843618E+00 +8 0.3832550000E+00 0.3830199658E+00 +9 0.1486430000E+00 0.1453979699E+00 +S 1 +1 0.2619711000E+01 0.1000000000E+01 +S 1 +1 0.8297100000E+00 0.1000000000E+01 +S 1 +1 0.2627840000E+00 0.1000000000E+01 +S 1 +1 0.5765023700E-01 0.1000000000E+01 +P 1 +1 0.6222276000E+01 0.1000000000E+01 +P 1 +1 0.1895196000E+01 0.1000000000E+01 +P 1 +1 0.5772440000E+00 0.1000000000E+01 +P 1 +1 0.1758180000E+00 0.1000000000E+01 +D 1 +1 0.4105085000E+01 0.1000000000E+01 +D 1 +1 0.1141008000E+01 0.1000000000E+01 +D 1 +1 0.3171430000E+00 0.1000000000E+01 +F 1 +1 0.2445665391E+01 0.1000000000E+01 + +LITHIUM +S 9 +1 0.3525396754E+04 0.2484781110E-03 +2 0.5521573070E+03 0.1904737140E-02 +3 0.1212530610E+03 0.1043830250E-01 +4 0.3389579300E+02 0.4128597180E-01 +5 0.1112113400E+02 0.1257950240E+00 +6 0.4009661000E+01 0.2811736100E+00 +7 0.1510442000E+01 0.4262452080E+00 +8 0.5739800000E+00 0.2601233970E+00 +9 0.2157360000E+00 0.1488532870E-01 +S 6 +1 0.4009661000E+01 -0.4756502380E-02 +2 0.1510442000E+01 -0.2289129880E-01 +3 0.5739800000E+00 -0.8586100510E-01 +4 0.2157360000E+00 -0.2364536160E-01 +5 0.7985200000E-01 0.5375731240E+00 +6 0.2942900000E-01 0.5735048250E+00 +S 1 +1 0.1412984560E+03 1.0000000 +S 1 +1 0.5040253100E+02 1.0000000 +S 1 +1 0.1797907200E+02 1.0000000 +S 1 +1 0.6413310000E+01 1.0000000 +S 1 +1 0.2359880000E+01 1.0000000 +S 1 +1 0.8683590000E+00 0.1000000000E+01 +S 1 +1 0.1618900000E+00 0.1000000000E+01 +S 1 +1 0.3018200000E-01 0.1000000000E+01 +S 1 +1 0.7723890040E-02 0.1000000000E+01 +P 6 +1 0.6257818000E+01 0.3375571540E-02 +2 0.1373262000E+01 0.1923057270E-01 +3 0.3679820000E+00 0.7882455690E-01 +4 0.1193750000E+00 0.2737461090E+00 +5 0.4476300000E-01 0.5198621120E+00 +6 0.1795100000E-01 0.2847120850E+00 +P 1 +1 0.3587182500E+02 1.0000000 +P 1 +1 0.1451890200E+02 1.0000000 +P 1 +1 0.5876437000E+01 1.0000000 +P 1 +1 0.2378452000E+01 1.0000000 +P 1 +1 0.9098460000E+00 0.1000000000E+01 +P 1 +1 0.2842640000E+00 0.1000000000E+01 +P 1 +1 0.8881300000E-01 0.1000000000E+01 +P 1 +1 0.7198767000E-02 0.1000000000E+01 +D 1 +1 0.1852134600E+02 1.0000000 +D 1 +1 0.6501427000E+01 1.0000000 +D 1 +1 0.2282153000E+01 1.0000000 +D 1 +1 0.7620940000E+00 1.0000000 +D 1 +1 0.2544910000E+00 0.1000000000E+01 +D 1 +1 0.1291060000E+00 0.1000000000E+01 +D 1 +1 0.6549700000E-01 0.1000000000E+01 +D 1 +1 0.3322700000E-01 0.1000000000E+01 +F 1 +1 0.1250721000E+02 1.0000000 +F 1 +1 0.3927530000E+01 1.0000000 +F 1 +1 0.9877890000E+00 1.0000000 +F 1 +1 0.2484330000E+00 0.1000000000E+01 +F 1 +1 0.1204860000E+00 0.1000000000E+01 +F 1 +1 0.5843370000E-01 0.1000000000E+01 +G 1 +1 0.2087717829E+00 0.1000000000E+01 + +BERYLLIUM +S 9 +1 0.1169131840E+05 0.1163572997E-03 +2 0.1855028150E+04 0.8850715466E-03 +3 0.4055612870E+03 0.4950444343E-02 +4 0.1124684900E+03 0.2036627137E-01 +5 0.3684010600E+02 0.6691265141E-01 +6 0.1342806000E+02 0.1737095970E+00 +7 0.5191298000E+01 0.3412084367E+00 +8 0.2053050000E+01 0.4033098525E+00 +9 0.8106610000E+00 0.1464542181E+00 +S 7 +1 0.1342806000E+02 -0.2405785455E-02 +2 0.5191298000E+01 -0.1120514078E-01 +3 0.2053050000E+01 -0.5515100259E-01 +4 0.8106610000E+00 -0.8032907412E-01 +5 0.3156870000E+00 0.1863852239E+00 +6 0.1212160000E+00 0.5862441837E+00 +7 0.4644600000E-01 0.3567487479E+00 +S 1 +1 0.2195787700E+03 1.0000000 +S 1 +1 0.7481222400E+02 1.0000000 +S 1 +1 0.2548911700E+02 1.0000000 +S 1 +1 0.8684344000E+01 1.0000000 +S 1 +1 0.1770150000E+01 1.0000000 +S 1 +1 0.3608120000E+00 0.1000000000E+01 +S 1 +1 0.1386780000E+00 0.1000000000E+01 +S 1 +1 0.5330100000E-01 0.1000000000E+01 +S 1 +1 0.1779658600E-01 0.1000000000E+01 +P 6 +1 0.1415901300E+02 0.4080863714E-02 +2 0.3199382000E+01 0.2558683072E-01 +3 0.9125280000E+00 0.1036588001E+00 +4 0.3073310000E+00 0.3099668073E+00 +5 0.1143170000E+00 0.4976474184E+00 +6 0.4349700000E-01 0.2610313622E+00 +P 1 +1 0.5187422400E+02 1.0000000 +P 1 +1 0.1949556400E+02 1.0000000 +P 1 +1 0.7326896000E+01 1.0000000 +P 1 +1 0.2753621000E+01 1.0000000 +P 1 +1 0.1143210000E+01 1.0000000 +P 1 +1 0.4746190000E+00 0.1000000000E+01 +P 1 +1 0.2602330000E+00 0.1000000000E+01 +P 1 +1 0.1426860000E+00 0.1000000000E+01 +P 1 +1 0.1655037300E-01 0.1000000000E+01 +D 1 +1 0.3483623300E+02 1.0000000 +D 1 +1 0.1236885700E+02 1.0000000 +D 1 +1 0.4391652000E+01 1.0000000 +D 1 +1 0.1568100000E+01 1.0000000 +D 1 +1 0.5599130000E+00 0.1000000000E+01 +D 1 +1 0.2770760000E+00 0.1000000000E+01 +D 1 +1 0.1371130000E+00 0.1000000000E+01 +D 1 +1 0.6785130000E-01 0.1000000000E+01 +F 1 +1 0.2349894000E+02 1.0000000 +F 1 +1 0.7450034000E+01 1.0000000 +F 1 +1 0.1950510000E+01 1.0000000 +F 1 +1 0.5106650000E+00 0.1000000000E+01 +F 1 +1 0.2231370000E+00 0.1000000000E+01 +F 1 +1 0.9750050000E-01 0.1000000000E+01 +G 1 +1 0.3902882495E+00 0.1000000000E+01 + +BORON +S 9 +1 0.1916789524E+05 0.1115339468E-03 +2 0.3040195144E+04 0.8480093052E-03 +3 0.6654244930E+03 0.4738251669E-02 +4 0.1846319260E+03 0.1953362105E-01 +5 0.6048421600E+02 0.6459245831E-01 +6 0.2207073500E+02 0.1698914656E+00 +7 0.8565616000E+01 0.3389530127E+00 +8 0.3413736000E+01 0.4049071807E+00 +9 0.1362850000E+01 0.1516600449E+00 +S 8 +1 0.6048421600E+02 -0.3151086148E-03 +2 0.2207073500E+02 -0.2809044534E-02 +3 0.8565616000E+01 -0.1442522797E-01 +4 0.3413736000E+01 -0.6217465702E-01 +5 0.1362850000E+01 -0.7350423170E-01 +6 0.5366650000E+00 0.2244230498E+00 +7 0.2070050000E+00 0.5835059501E+00 +8 0.7826700000E-01 0.3270597170E+00 +S 1 +1 0.3390094590E+03 1.0000000 +S 1 +1 0.1179711010E+03 1.0000000 +S 1 +1 0.4105248500E+02 1.0000000 +S 1 +1 0.1428575700E+02 1.0000000 +S 1 +1 0.2998030000E+01 1.0000000 +S 1 +1 0.6291720000E+00 0.1000000000E+01 +S 1 +1 0.2350940000E+00 0.1000000000E+01 +S 1 +1 0.8784400000E-01 0.1000000000E+01 +S 1 +1 0.3024560081E-01 0.1000000000E+01 +P 7 +1 0.3970410000E+02 0.1980160173E-02 +2 0.9274020000E+01 0.1422732895E-01 +3 0.2806148000E+01 0.5952693593E-01 +4 0.9875870000E+00 0.1813778129E+00 +5 0.3743710000E+00 0.3627131997E+00 +6 0.1452850000E+00 0.4257522924E+00 +7 0.5602900000E-01 0.1887078779E+00 +P 1 +1 0.9315642000E+02 1.0000000 +P 1 +1 0.3640970700E+02 1.0000000 +P 1 +1 0.1423054700E+02 1.0000000 +P 1 +1 0.5561936000E+01 1.0000000 +P 1 +1 0.1876330000E+01 1.0000000 +P 1 +1 0.6329860000E+00 0.1000000000E+01 +P 1 +1 0.2287270000E+00 0.1000000000E+01 +P 1 +1 0.8264900000E-01 0.1000000000E+01 +P 1 +1 0.2228706484E-01 0.1000000000E+01 +D 1 +1 0.5603032400E+02 1.0000000 +D 1 +1 0.1998048900E+02 1.0000000 +D 1 +1 0.7125070000E+01 1.0000000 +D 1 +1 0.2653260000E+01 1.0000000 +D 1 +1 0.9880330000E+00 0.1000000000E+01 +D 1 +1 0.4022360000E+00 0.1000000000E+01 +D 1 +1 0.1637530000E+00 0.1000000000E+01 +D 1 +1 0.6666495000E-01 0.1000000000E+01 +F 1 +1 0.3790429800E+02 1.0000000 +F 1 +1 0.1207688600E+02 1.0000000 +F 1 +1 0.3303335000E+01 1.0000000 +F 1 +1 0.9035460000E+00 0.1000000000E+01 +F 1 +1 0.3511300000E+00 0.1000000000E+01 +F 1 +1 0.1364537000E+00 0.1000000000E+01 +G 1 +1 0.6593841864E+00 0.1000000000E+01 + +CARBON +S 10 +1 0.5321000255E+05 0.4884002264E-04 +2 0.8674811738E+04 0.3633381789E-03 +3 0.1890751347E+04 0.2072998296E-02 +4 0.5173592990E+03 0.8867844044E-02 +5 0.1679420210E+03 0.3050665650E-01 +6 0.6152157600E+02 0.8753223687E-01 +7 0.2435959400E+02 0.2034749775E+00 +8 0.1005677200E+02 0.3602635861E+00 +9 0.4207058000E+01 0.3587953301E+00 +10 0.1746404000E+01 0.1026690291E+00 +S 8 +1 0.6152157600E+02 -0.7421242844E-03 +2 0.2435959400E+02 -0.4776559847E-02 +3 0.1005677200E+02 -0.2247130550E-01 +4 0.4207058000E+01 -0.7565643714E-01 +5 0.1746404000E+01 -0.3698587586E-01 +6 0.7100980000E+00 0.2957934714E+00 +7 0.2814640000E+00 0.5633147911E+00 +8 0.1091590000E+00 0.2671571578E+00 +S 1 +1 0.4893627690E+03 1.0000000 +S 1 +1 0.1711272400E+03 1.0000000 +S 1 +1 0.5984217500E+02 1.0000000 +S 1 +1 0.2092645100E+02 1.0000000 +S 1 +1 0.4451470000E+01 1.0000000 +S 1 +1 0.9469190000E+00 0.1000000000E+01 +S 1 +1 0.3437670000E+00 0.1000000000E+01 +S 1 +1 0.1248000000E+00 0.1000000000E+01 +S 1 +1 0.4668285977E-01 0.1000000000E+01 +P 7 +1 0.6137917500E+02 0.2082239219E-02 +2 0.1438752300E+02 0.1535184509E-01 +3 0.4411430000E+01 0.6540786687E-01 +4 0.1569457000E+01 0.1938140629E+00 +5 0.5966500000E+00 0.3694066909E+00 +6 0.2296720000E+00 0.4141804258E+00 +7 0.8650700000E-01 0.1818035739E+00 +P 1 +1 0.1390087800E+03 1.0000000 +P 1 +1 0.5479449400E+02 1.0000000 +P 1 +1 0.2159889900E+02 1.0000000 +P 1 +1 0.8513856000E+01 1.0000000 +P 1 +1 0.2896300000E+01 1.0000000 +P 1 +1 0.9852800000E+00 0.1000000000E+01 +P 1 +1 0.3423890000E+00 0.1000000000E+01 +P 1 +1 0.1189810000E+00 0.1000000000E+01 +P 1 +1 0.3693662747E-01 0.1000000000E+01 +D 1 +1 0.8288870100E+02 1.0000000 +D 1 +1 0.2975095600E+02 1.0000000 +D 1 +1 0.1067840800E+02 1.0000000 +D 1 +1 0.4214460000E+01 1.0000000 +D 1 +1 0.1663326000E+01 0.1000000000E+01 +D 1 +1 0.6383480000E+00 0.1000000000E+01 +D 1 +1 0.2449840000E+00 0.1000000000E+01 +D 1 +1 0.9401950000E-01 0.1000000000E+01 +F 1 +1 0.5583317100E+02 1.0000000 +F 1 +1 0.1785044500E+02 1.0000000 +F 1 +1 0.4995920000E+01 1.0000000 +F 1 +1 0.1398241000E+01 0.1000000000E+01 +F 1 +1 0.5120790000E+00 0.1000000000E+01 +F 1 +1 0.1875391000E+00 0.1000000000E+01 +G 1 +1 0.1005411886E+01 0.1000000000E+01 + +NITROGEN +S 11 +1 0.7317497661E+05 0.4856461675E-04 +2 0.1193407013E+05 0.3609583110E-03 +3 0.2602648496E+04 0.2058576136E-02 +4 0.7124698700E+03 0.8801645017E-02 +5 0.2313619840E+03 0.3030894640E-01 +6 0.8480260700E+02 0.8708089940E-01 +7 0.3361564500E+02 0.2034333929E+00 +8 0.1390457000E+02 0.3606635800E+00 +9 0.5831916000E+01 0.3582358173E+00 +10 0.2427620000E+01 0.1018925770E+00 +11 0.9887980000E+00 0.1341480157E-02 +S 8 +1 0.8480260700E+02 -0.7960361476E-03 +2 0.3361564500E+02 -0.5085923493E-02 +3 0.1390457000E+02 -0.2420496232E-01 +4 0.5831916000E+01 -0.7752992657E-01 +5 0.2427620000E+01 -0.2836921836E-01 +6 0.9887980000E+00 0.3095777955E+00 +7 0.3914140000E+00 0.5564409398E+00 +8 0.1506800000E+00 0.2578480596E+00 +S 1 +1 0.6787694280E+03 1.0000000 +S 1 +1 0.2355127230E+03 1.0000000 +S 1 +1 0.8171588300E+02 1.0000000 +S 1 +1 0.2835297100E+02 1.0000000 +S 1 +1 0.6108958000E+01 1.0000000 +S 1 +1 0.1316242000E+01 0.1000000000E+01 +S 1 +1 0.4650760000E+00 0.1000000000E+01 +S 1 +1 0.1643280000E+00 0.1000000000E+01 +S 1 +1 0.5943866415E-01 0.1000000000E+01 +P 9 +1 0.2510009330E+03 0.3498335891E-03 +2 0.5996018100E+02 0.2965929891E-02 +3 0.1902011100E+02 0.1483951801E-01 +4 0.7103274000E+01 0.5125134102E-01 +5 0.2894976000E+01 0.1404685421E+00 +6 0.1231489000E+01 0.2758605351E+00 +7 0.5325820000E+00 0.3660596351E+00 +8 0.2292430000E+00 0.3020597611E+00 +9 0.9538000000E-01 0.9497817244E-01 +P 1 +1 0.1915922850E+03 1.0000000 +P 1 +1 0.7576995700E+02 1.0000000 +P 1 +1 0.2996512300E+02 1.0000000 +P 1 +1 0.1185045700E+02 1.0000000 +P 1 +1 0.4041036000E+01 1.0000000 +P 1 +1 0.1378004000E+01 0.1000000000E+01 +P 1 +1 0.4696770000E+00 0.1000000000E+01 +P 1 +1 0.1600840000E+00 0.1000000000E+01 +P 1 +1 0.6496452654E-01 0.1000000000E+01 +P 1 +1 0.2520775695E-01 0.1000000000E+01 +D 1 +1 0.1152042210E+03 1.0000000 +D 1 +1 0.4159209200E+02 1.0000000 +D 1 +1 0.1501596200E+02 1.0000000 +D 1 +1 0.6214121000E+01 1.0000000 +D 1 +1 0.2571617000E+01 0.1000000000E+01 +D 1 +1 0.9528820000E+00 0.1000000000E+01 +D 1 +1 0.3530790000E+00 0.1000000000E+01 +D 1 +1 0.1308291000E+00 0.1000000000E+01 +F 1 +1 0.7715324400E+02 1.0000000 +F 1 +1 0.2473711500E+02 1.0000000 +F 1 +1 0.7049314000E+01 1.0000000 +F 1 +1 0.2008837000E+01 0.1000000000E+01 +F 1 +1 0.7084960000E+00 0.1000000000E+01 +F 1 +1 0.2498791000E+00 0.1000000000E+01 +G 1 +1 0.1422363092E+01 0.1000000000E+01 + +OXYGEN +S 11 +1 0.9706749848E+05 0.4795350264E-04 +2 0.1579555633E+05 0.3571551889E-03 +3 0.3444498450E+04 0.2035925071E-02 +4 0.9430166910E+03 0.8708331947E-02 +5 0.3060947050E+03 0.3005055933E-01 +6 0.1121030010E+03 0.8665200883E-01 +7 0.4441192400E+02 0.2034503660E+00 +8 0.1837746600E+02 0.3613601232E+00 +9 0.7721786000E+01 0.3574572290E+00 +10 0.3223820000E+01 0.1019001003E+00 +11 0.1316815000E+01 0.1724633053E-02 +S 8 +1 0.1121030010E+03 -0.8368842321E-03 +2 0.4441192400E+02 -0.5356553991E-02 +3 0.1837746600E+02 -0.2568431247E-01 +4 0.7721786000E+01 -0.7928806726E-01 +5 0.3223820000E+01 -0.2206365737E-01 +6 0.1316815000E+01 0.3224896889E+00 +7 0.5212400000E+00 0.5524972610E+00 +8 0.1991680000E+00 0.2471811986E+00 +S 1 +1 0.9844526070E+03 1.0000000 +S 1 +1 0.3119794090E+03 1.0000000 +S 1 +1 0.9886829600E+02 1.0000000 +S 1 +1 0.3133200300E+02 1.0000000 +S 1 +1 0.8774251000E+01 1.0000000 +S 1 +1 0.2457152000E+01 0.1000000000E+01 +S 1 +1 0.4642220000E+00 0.1000000000E+01 +S 1 +1 0.2072640000E+00 0.1000000000E+01 +S 1 +1 0.6546276816E-01 0.1000000000E+01 +P 9 +1 0.3188766660E+03 0.3889188940E-03 +2 0.7618409200E+02 0.3304831440E-02 +3 0.2417954800E+02 0.1660357560E-01 +4 0.9054401000E+01 0.5757214580E-01 +5 0.3698468000E+01 0.1535959180E+00 +6 0.1569021000E+01 0.2848669760E+00 +7 0.6706260000E+00 0.3589714450E+00 +8 0.2823690000E+00 0.2922701260E+00 +9 0.1141950000E+00 0.9551851481E-01 +P 1 +1 0.2395783340E+03 1.0000000 +P 1 +1 0.9332980600E+02 1.0000000 +P 1 +1 0.3635743100E+02 1.0000000 +P 1 +1 0.1416335100E+02 1.0000000 +P 1 +1 0.4675014000E+01 1.0000000 +P 1 +1 0.1543121000E+01 0.1000000000E+01 +P 1 +1 0.5723080000E+00 0.1000000000E+01 +P 1 +1 0.1792830000E+00 0.1000000000E+01 +P 1 +1 0.5836558298E-01 0.1000000000E+01 +D 1 +1 0.1537607960E+03 1.0000000 +D 1 +1 0.5587164400E+02 1.0000000 +D 1 +1 0.2030192800E+02 1.0000000 +D 1 +1 0.8847726000E+01 1.0000000 +D 1 +1 0.3855903000E+01 0.1000000000E+01 +D 1 +1 0.1397314000E+01 0.1000000000E+01 +D 1 +1 0.4874700000E+00 0.1000000000E+01 +D 1 +1 0.1700590000E+00 0.1000000000E+01 +F 1 +1 0.1018990440E+03 1.0000000 +F 1 +1 0.3271925200E+02 1.0000000 +F 1 +1 0.9268760000E+01 1.0000000 +F 1 +1 0.2625669000E+01 0.1000000000E+01 +F 1 +1 0.8680950000E+00 0.1000000000E+01 +F 1 +1 0.2870090000E+00 0.1000000000E+01 +G 1 +1 0.1897665690E+01 0.1000000000E+01 + +FLUORINE +S 11 +1 0.1233817357E+06 0.4794106756E-04 +2 0.2004700895E+05 0.3574357115E-03 +3 0.4374449358E+04 0.2034185189E-02 +4 0.1198975145E+04 0.8688731840E-02 +5 0.3895123770E+03 0.2997667637E-01 +6 0.1427239930E+03 0.8654223680E-01 +7 0.5656689200E+02 0.2037373799E+00 +8 0.2342515200E+02 0.3620639196E+00 +9 0.9856399000E+01 0.3564687377E+00 +10 0.4122705000E+01 0.1014812364E+00 +11 0.1686528000E+01 0.2026396523E-02 +S 8 +1 0.1427239930E+03 -0.8719545560E-03 +2 0.5656689200E+02 -0.5578902547E-02 +3 0.2342515200E+02 -0.2685217972E-01 +4 0.9856399000E+01 -0.8043074509E-01 +5 0.4122705000E+01 -0.1658678894E-01 +6 0.1686528000E+01 0.3315667403E+00 +7 0.6671670000E+00 0.5488811313E+00 +8 0.2534570000E+00 0.2398528739E+00 +S 1 +1 0.1252884874E+04 1.0000000 +S 1 +1 0.3983204550E+03 1.0000000 +S 1 +1 0.1266350870E+03 1.0000000 +S 1 +1 0.4026016000E+02 1.0000000 +S 1 +1 0.1135349000E+02 1.0000000 +S 1 +1 0.3201723000E+01 0.1000000000E+01 +S 1 +1 0.6253790000E+00 0.1000000000E+01 +S 1 +1 0.2776570000E+00 0.1000000000E+01 +S 1 +1 0.8594217023E-01 0.1000000000E+01 +P 10 +1 0.6536236370E+03 0.1758649370E-03 +2 0.1572352050E+03 0.1531382396E-02 +3 0.5004801800E+02 0.8288216984E-02 +4 0.1893013600E+02 0.3066643433E-01 +5 0.7898108000E+01 0.8908788626E-01 +6 0.3461206000E+01 0.1957844504E+00 +7 0.1544407000E+01 0.3016595994E+00 +8 0.6872020000E+00 0.3320294649E+00 +9 0.2994470000E+00 0.2416659381E+00 +10 0.1248710000E+00 0.7012799361E-01 +P 1 +1 0.3053494560E+03 1.0000000 +P 1 +1 0.1190919020E+03 1.0000000 +P 1 +1 0.4644803100E+02 1.0000000 +P 1 +1 0.1811558600E+02 1.0000000 +P 1 +1 0.5990283000E+01 1.0000000 +P 1 +1 0.1980808000E+01 0.1000000000E+01 +P 1 +1 0.7303660000E+00 0.1000000000E+01 +P 1 +1 0.2251120000E+00 0.1000000000E+01 +P 1 +1 0.7468911913E-01 0.1000000000E+01 +D 1 +1 0.1966590370E+03 1.0000000 +D 1 +1 0.7161122600E+02 1.0000000 +D 1 +1 0.2607644100E+02 1.0000000 +D 1 +1 0.1150655000E+02 1.0000000 +D 1 +1 0.5077414000E+01 0.1000000000E+01 +D 1 +1 0.1802380000E+01 0.1000000000E+01 +D 1 +1 0.6185010000E+00 0.1000000000E+01 +D 1 +1 0.2122430000E+00 0.1000000000E+01 +F 1 +1 0.1301252650E+03 1.0000000 +F 1 +1 0.4184934500E+02 1.0000000 +F 1 +1 0.1218109000E+02 1.0000000 +F 1 +1 0.3545553000E+01 0.1000000000E+01 +F 1 +1 0.1169423000E+01 0.1000000000E+01 +F 1 +1 0.3545553000E+00 0.1000000000E+01 +G 1 +1 0.2452479367E+01 0.1000000000E+01 + +NEON +S 11 +1 0.1235478124E+06 0.5520645499E-04 +2 0.2479832373E+05 0.3433248292E-03 +3 0.5413657248E+04 0.2047096482E-02 +4 0.1484446927E+04 0.8669998853E-02 +5 0.4823703090E+03 0.2998876590E-01 +6 0.1767757490E+03 0.8658184781E-01 +7 0.7008375100E+02 0.2042454025E+00 +8 0.2904204600E+02 0.3627705810E+00 +9 0.1223335700E+02 0.3553909445E+00 +10 0.5123786000E+01 0.1008337594E+00 +11 0.2097977000E+01 0.2275278437E-02 +S 8 +1 0.1767757490E+03 -0.9017788142E-03 +2 0.7008375100E+02 -0.5768672443E-02 +3 0.2904204600E+02 -0.2781521981E-01 +4 0.1223335700E+02 -0.8120897159E-01 +5 0.5123786000E+01 -0.1182944400E-01 +6 0.2097977000E+01 0.3382955685E+00 +7 0.8293270000E+00 0.5455520280E+00 +8 0.3137080000E+00 0.2346139980E+00 +S 1 +1 0.1432469602E+04 1.0000000 +S 1 +1 0.4722101090E+03 1.0000000 +S 1 +1 0.1556629100E+03 1.0000000 +S 1 +1 0.5131389800E+02 1.0000000 +S 1 +1 0.8257031000E+01 1.0000000 +S 1 +1 0.3601004000E+01 0.1000000000E+01 +S 1 +1 0.1328657000E+01 0.1000000000E+01 +S 1 +1 0.4902330000E+00 0.1000000000E+01 +S 1 +1 0.1186634400E+00 0.1000000000E+01 +P 10 +1 0.8127244140E+03 0.1805580500E-03 +2 0.1952656170E+03 0.1578433450E-02 +3 0.6211553400E+02 0.8590369750E-02 +4 0.2350341600E+02 0.3200873520E-01 +5 0.9814896000E+01 0.9278710370E-01 +6 0.4302943000E+01 0.2007547000E+00 +7 0.1917503000E+01 0.3035969500E+00 +8 0.8496830000E+00 0.3288371650E+00 +9 0.3673780000E+00 0.2374914480E+00 +10 0.1514410000E+00 0.6965044510E-01 +P 1 +1 0.3954689090E+03 1.0000000 +P 1 +1 0.1564199390E+03 1.0000000 +P 1 +1 0.6186882600E+02 1.0000000 +P 1 +1 0.2447099600E+02 1.0000000 +P 1 +1 0.8301853000E+01 1.0000000 +P 1 +1 0.2816427000E+01 0.1000000000E+01 +P 1 +1 0.9449300000E+00 0.1000000000E+01 +P 1 +1 0.3170300000E+00 0.1000000000E+01 +P 1 +1 0.6242719100E-01 0.1000000000E+01 +D 1 +1 0.2443642820E+03 1.0000000 +D 1 +1 0.8906853400E+02 1.0000000 +D 1 +1 0.3246466200E+02 1.0000000 +D 1 +1 0.1438352000E+02 1.0000000 +D 1 +1 0.6372646000E+01 0.1000000000E+01 +D 1 +1 0.2198731000E+01 0.1000000000E+01 +D 1 +1 0.7586210000E+00 0.1000000000E+01 +D 1 +1 0.2617440000E+00 0.1000000000E+01 +F 1 +1 0.1618296770E+03 1.0000000 +F 1 +1 0.5212079300E+02 1.0000000 +F 1 +1 0.1557310000E+02 1.0000000 +F 1 +1 0.4653095000E+01 0.1000000000E+01 +F 1 +1 0.1546114000E+01 0.1000000000E+01 +F 1 +1 0.5137373000E+00 0.1000000000E+01 +G 1 +1 0.3094335796E+01 0.1000000000E+01 + +SODIUM +S 12 +1 0.2263067720E+06 0.3712445114E-04 +2 0.3717315036E+05 0.2731091605E-03 +3 0.8137276310E+04 0.1557356037E-02 +4 0.2224332844E+04 0.6712639366E-02 +5 0.7183848720E+03 0.2358279208E-01 +6 0.2616694840E+03 0.6977738791E-01 +7 0.1034305890E+03 0.1713983394E+00 +8 0.4299221100E+02 0.3262046662E+00 +9 0.1832429000E+02 0.3808130682E+00 +10 0.7851333000E+01 0.1622871752E+00 +11 0.3330234000E+01 0.8784781738E-02 +12 0.1382087000E+01 0.2804669108E-02 +S 10 +1 0.7183848720E+03 -0.8861557990E-04 +2 0.2616694840E+03 -0.6443222851E-03 +3 0.1034305890E+03 -0.4652938293E-02 +4 0.4299221100E+02 -0.2143321893E-01 +5 0.1832429000E+02 -0.7195775820E-01 +6 0.7851333000E+01 -0.5675564160E-01 +7 0.3330234000E+01 0.2289286176E+00 +8 0.1382087000E+01 0.5471158646E+00 +9 0.5562120000E+00 0.3409029588E+00 +10 0.2155410000E+00 0.1834508205E-01 +S 6 +1 0.3330234000E+01 -0.1851053472E-02 +2 0.1382087000E+01 -0.1970883116E-01 +3 0.5562120000E+00 -0.8536147082E-01 +4 0.2155410000E+00 -0.9735134784E-01 +5 0.7994500000E-01 0.4781597132E+00 +6 0.2821600000E-01 0.6646718169E+00 +S 1 +1 0.1412141190E+03 1.0000000 +S 1 +1 0.6466887000E+02 1.0000000 +S 1 +1 0.2961504700E+02 1.0000000 +S 1 +1 0.1356218200E+02 1.0000000 +S 1 +1 0.6210788000E+01 1.0000000 +S 1 +1 0.2844225000E+01 1.0000000 +S 1 +1 0.1302510000E+01 1.0000000 +S 1 +1 0.6316960000E+00 0.1000000000E+01 +S 1 +1 0.2521540000E+00 0.1000000000E+01 +S 1 +1 0.1006530000E+00 0.1000000000E+01 +S 1 +1 0.7499410852E-02 0.1000000000E+01 +P 10 +1 0.4799427330E+03 0.6814406224E-03 +2 0.1159780060E+03 0.5716748293E-02 +3 0.3646057000E+02 0.2895443132E-01 +4 0.1355173700E+02 0.9763732369E-01 +5 0.5514755000E+01 0.2278724591E+00 +6 0.2316121000E+01 0.3520174992E+00 +7 0.9622460000E+00 0.3610233762E+00 +8 0.3850020000E+00 0.1683089751E+00 +9 0.1465430000E+00 0.1035406531E-01 +10 0.5312600000E-01 0.1175453461E-02 +P 7 +1 0.5514755000E+01 -0.5583386535E-03 +2 0.2316121000E+01 -0.5796920099E-03 +3 0.9622460000E+00 -0.4029925962E-02 +4 0.3850020000E+00 -0.8292384367E-02 +5 0.1465430000E+00 0.6743739540E-01 +6 0.5312600000E-01 0.4738562945E+00 +7 0.1859400000E-01 0.5654746980E+00 +P 1 +1 0.2272391340E+03 1.0000000 +P 1 +1 0.9571901300E+02 1.0000000 +P 1 +1 0.4031932900E+02 1.0000000 +P 1 +1 0.1698354600E+02 1.0000000 +P 1 +1 0.7153910000E+01 1.0000000 +P 1 +1 0.3013412000E+01 1.0000000 +P 1 +1 0.1269327000E+01 1.0000000 +P 1 +1 0.3388950000E+00 0.1000000000E+01 +P 1 +1 0.1346130000E+00 0.1000000000E+01 +P 1 +1 0.5347000000E-01 0.1000000000E+01 +P 1 +1 0.6507865000E-02 0.1000000000E+01 +D 1 +1 0.1151257950E+03 1.0000000 +D 1 +1 0.4423287000E+02 1.0000000 +D 1 +1 0.1699486000E+02 1.0000000 +D 1 +1 0.6529652000E+01 1.0000000 +D 1 +1 0.3508780000E+01 1.0000000 +D 1 +1 0.1847639700E+01 0.1000000000E+01 +D 1 +1 0.9639070000E+00 1.0000000 +D 1 +1 0.4759510000E+00 0.1000000000E+01 +D 1 +1 0.1843680000E+00 0.1000000000E+01 +D 1 +1 0.7141800000E-01 0.1000000000E+01 +D 1 +1 0.2766490000E-01 0.1000000000E+01 +F 1 +1 0.2260806500E+02 1.0000000 +F 1 +1 0.8996676000E+01 1.0000000 +F 1 +1 0.3580146000E+01 1.0000000 +F 1 +1 0.1424687000E+01 1.0000000 +F 1 +1 0.5230430000E+00 1.0000000 +F 1 +1 0.1920240000E+00 0.1000000000E+01 +F 1 +1 0.9998000000E-01 0.1000000000E+01 +F 1 +1 0.5205500000E-01 0.1000000000E+01 +G 1 +1 0.8084002000E+01 1.0000000 +G 1 +1 0.2785484000E+01 1.0000000 +G 1 +1 0.6867360000E+00 1.0000000 +G 1 +1 0.1693086812E+00 0.1000000000E+01 + +MAGNESIUM +S 12 +1 0.2718123620E+06 0.3690607391E-04 +2 0.4437240160E+05 0.2731639678E-03 +3 0.9713753860E+04 0.1553049395E-02 +4 0.2661338440E+04 0.6671018965E-02 +5 0.8612783520E+03 0.2339939407E-01 +6 0.3139170790E+03 0.6937396054E-01 +7 0.1239769150E+03 0.1711626073E+00 +8 0.5145166500E+02 0.3271083660E+00 +9 0.2191006700E+02 0.3809533798E+00 +10 0.9402084000E+01 0.1616230568E+00 +11 0.4011544000E+01 0.8905727993E-02 +12 0.1685079000E+01 0.2973052540E-02 +S 10 +1 0.3139170790E+03 -0.6455749943E-03 +2 0.1239769150E+03 -0.4412734160E-02 +3 0.5145166500E+02 -0.2219245622E-01 +4 0.2191006700E+02 -0.7405148432E-01 +5 0.9402084000E+01 -0.5691301489E-01 +6 0.4011544000E+01 0.2423780270E+00 +7 0.1685079000E+01 0.5653730105E+00 +8 0.6917210000E+00 0.3153219723E+00 +9 0.2758120000E+00 0.5519162994E-02 +10 0.1062050000E+00 0.5937967570E-02 +S 6 +1 0.4011544000E+01 -0.2733033424E-02 +2 0.1685079000E+01 -0.3517190852E-01 +3 0.6917210000E+00 -0.1360311163E+00 +4 0.2758120000E+00 0.3507535872E-01 +5 0.1062050000E+00 0.5962676817E+00 +6 0.3923300000E-01 0.4862287425E+00 +S 1 +1 0.2422625010E+03 1.0000000 +S 1 +1 0.1153989960E+03 1.0000000 +S 1 +1 0.5496900400E+02 1.0000000 +S 1 +1 0.2618386200E+02 1.0000000 +S 1 +1 0.1247238600E+02 1.0000000 +S 1 +1 0.5941080000E+01 1.0000000 +S 1 +1 0.2829966000E+01 1.0000000 +S 1 +1 0.1351930000E+01 1.0000000 +S 1 +1 0.6449870000E+00 0.1000000000E+01 +S 1 +1 0.2780490000E+00 0.1000000000E+01 +S 1 +1 0.1198650000E+00 0.1000000000E+01 +S 1 +1 0.1449299300E-01 0.1000000000E+01 +P 10 +1 0.6880643270E+03 0.5317357273E-03 +2 0.1665345040E+03 0.4516965833E-02 +3 0.5257145100E+02 0.2353132401E-01 +4 0.1965052900E+02 0.8233066959E-01 +5 0.8077298000E+01 0.2041669935E+00 +6 0.3457216000E+01 0.3387246911E+00 +7 0.1482516000E+01 0.3730158853E+00 +8 0.6205870000E+00 0.1932715552E+00 +9 0.2493780000E+00 0.1863567835E-01 +10 0.9515400000E-01 0.2077137591E-02 +P 6 +1 0.3457216000E+01 -0.1919676332E-02 +2 0.1482516000E+01 -0.4867528778E-02 +3 0.6205870000E+00 -0.9436775481E-02 +4 0.2493780000E+00 0.1396171975E+00 +5 0.9515400000E-01 0.5425500746E+00 +6 0.3418500000E-01 0.4376518159E+00 +P 1 +1 0.3788621090E+03 1.0000000 +P 1 +1 0.1716253200E+03 1.0000000 +P 1 +1 0.7774662600E+02 1.0000000 +P 1 +1 0.3521938300E+02 1.0000000 +P 1 +1 0.1595445300E+02 1.0000000 +P 1 +1 0.7227400000E+01 1.0000000 +P 1 +1 0.3274027000E+01 1.0000000 +P 1 +1 0.1385350000E+01 1.0000000 +P 1 +1 0.5861880000E+00 0.1000000000E+01 +P 1 +1 0.2507430000E+00 0.1000000000E+01 +P 1 +1 0.1072560000E+00 0.1000000000E+01 +P 1 +1 0.1228129400E-01 0.1000000000E+01 +D 1 +1 0.2197709810E+03 1.0000000 +D 1 +1 0.9659093900E+02 1.0000000 +D 1 +1 0.4245241800E+02 1.0000000 +D 1 +1 0.1865814500E+02 1.0000000 +D 1 +1 0.8200390000E+01 1.0000000 +D 1 +1 0.3604131000E+01 1.0000000 +D 1 +1 0.1527575100E+01 0.1000000000E+01 +D 1 +1 0.7134560000E+00 1.0000000 +D 1 +1 0.3332210000E+00 0.1000000000E+01 +D 1 +1 0.1804770000E+00 0.1000000000E+01 +D 1 +1 0.9774900000E-01 0.1000000000E+01 +D 1 +1 0.5294200000E-01 0.1000000000E+01 +F 1 +1 0.3187317000E+02 1.0000000 +F 1 +1 0.1296591200E+02 1.0000000 +F 1 +1 0.5274495000E+01 1.0000000 +F 1 +1 0.2145649000E+01 1.0000000 +F 1 +1 0.8340240000E+00 1.0000000 +F 1 +1 0.3241890000E+00 0.1000000000E+01 +F 1 +1 0.1552780000E+00 0.1000000000E+01 +F 1 +1 0.7437410000E-01 0.1000000000E+01 +G 1 +1 0.1043353300E+02 1.0000000 +G 1 +1 0.3678694000E+01 1.0000000 +G 1 +1 0.9817726000E+00 1.0000000 +G 1 +1 0.2616960553E+00 0.1000000000E+01 + +ALUMINIUM +S 12 +1 0.3526715345E+06 0.3268613961E-04 +2 0.5743120313E+05 0.2421789737E-03 +3 0.1259361370E+05 0.1372818959E-02 +4 0.3456859553E+04 0.5890078131E-02 +5 0.1119190778E+04 0.2075336655E-01 +6 0.4075133070E+03 0.6211868818E-01 +7 0.1607626650E+03 0.1562622757E+00 +8 0.6677209000E+02 0.3080603845E+00 +9 0.2857630000E+02 0.3861219102E+00 +10 0.1240027700E+02 0.1933891747E+00 +11 0.5389724000E+01 0.1639926481E-01 +12 0.2323235000E+01 0.2799625498E-02 +S 10 +1 0.1119190778E+04 -0.7627822383E-04 +2 0.4075133070E+03 -0.5660158932E-03 +3 0.1607626650E+03 -0.4184990372E-02 +4 0.6677209000E+02 -0.1993458933E-01 +5 0.2857630000E+02 -0.6984385412E-01 +6 0.1240027700E+02 -0.7264574308E-01 +7 0.5389724000E+01 0.1887241819E+00 +8 0.2323235000E+01 0.5555854146E+00 +9 0.9839730000E+00 0.3679970250E+00 +10 0.4053250000E+00 0.2185729514E-01 +S 6 +1 0.5389724000E+01 -0.2034289668E-02 +2 0.2323235000E+01 -0.3885141593E-01 +3 0.9839730000E+00 -0.1610266206E+00 +4 0.4053250000E+00 0.6155261435E-01 +5 0.1603310000E+00 0.6393626157E+00 +6 0.5988200000E-01 0.4365793426E+00 +S 1 +1 0.2873779320E+03 1.0000000 +S 1 +1 0.1385453550E+03 1.0000000 +S 1 +1 0.6679293500E+02 1.0000000 +S 1 +1 0.3220098000E+02 1.0000000 +S 1 +1 0.1552414300E+02 1.0000000 +S 1 +1 0.7484214000E+01 1.0000000 +S 1 +1 0.3608151000E+01 1.0000000 +S 1 +1 0.1818139000E+01 1.0000000 +S 1 +1 0.9161560000E+00 0.1000000000E+01 +S 1 +1 0.3989430000E+00 0.1000000000E+01 +S 1 +1 0.1737210000E+00 0.1000000000E+01 +S 1 +1 0.2107668768E-01 0.1000000000E+01 +P 10 +1 0.1307221140E+04 0.2422305408E-03 +2 0.3206388010E+03 0.2086035230E-02 +3 0.1012002520E+03 0.1172533488E-01 +4 0.3795009900E+02 0.4448405261E-01 +5 0.1585528800E+02 0.1260760339E+00 +6 0.7016042000E+01 0.2552442378E+00 +7 0.3163901000E+01 0.3621421867E+00 +8 0.1413569000E+01 0.3195893342E+00 +9 0.6136010000E+00 0.1033816363E+00 +10 0.2555460000E+00 0.4313676383E-02 +P 7 +1 0.7016042000E+01 -0.1927138823E-02 +2 0.3163901000E+01 -0.2669463151E-02 +3 0.1413569000E+01 -0.1204584741E-01 +4 0.6136010000E+00 0.3600794864E-01 +5 0.2555460000E+00 0.2659975037E+00 +6 0.1013670000E+00 0.5221792715E+00 +7 0.3815600000E-01 0.3182720404E+00 +P 1 +1 0.4453733560E+03 1.0000000 +P 1 +1 0.2063104490E+03 1.0000000 +P 1 +1 0.9556925800E+02 1.0000000 +P 1 +1 0.4427057900E+02 1.0000000 +P 1 +1 0.2050747500E+02 1.0000000 +P 1 +1 0.9499685000E+01 1.0000000 +P 1 +1 0.4400542000E+01 1.0000000 +P 1 +1 0.1950854000E+01 1.0000000 +P 1 +1 0.8648550000E+00 0.1000000000E+01 +P 1 +1 0.3668550000E+00 0.1000000000E+01 +P 1 +1 0.1556130000E+00 0.1000000000E+01 +P 1 +1 0.1446090910E-01 0.1000000000E+01 +D 1 +1 0.2560147710E+03 1.0000000 +D 1 +1 0.1142021530E+03 1.0000000 +D 1 +1 0.5094288800E+02 1.0000000 +D 1 +1 0.2272442100E+02 1.0000000 +D 1 +1 0.1013682800E+02 1.0000000 +D 1 +1 0.4521800000E+01 1.0000000 +D 1 +1 0.1940856048E+01 0.1000000000E+01 +D 1 +1 0.9014040000E+00 1.0000000 +D 1 +1 0.4186450000E+00 0.1000000000E+01 +D 1 +1 0.1936030000E+00 0.1000000000E+01 +D 1 +1 0.8953200000E-01 0.1000000000E+01 +D 1 +1 0.4140420000E-01 0.1000000000E+01 +F 1 +1 0.4311814500E+02 1.0000000 +F 1 +1 0.1751773000E+02 1.0000000 +F 1 +1 0.7116978000E+01 1.0000000 +F 1 +1 0.2891435000E+01 1.0000000 +F 1 +1 0.1124030000E+01 1.0000000 +F 1 +1 0.4369610000E+00 0.1000000000E+01 +F 1 +1 0.1926080000E+00 0.1000000000E+01 +F 1 +1 0.8489960000E-01 0.1000000000E+01 +G 1 +1 0.1316824700E+02 1.0000000 +G 1 +1 0.4715160000E+01 1.0000000 +G 1 +1 0.1296590000E+01 1.0000000 +G 1 +1 0.3565404810E+00 0.1000000000E+01 + +SILICON +S 12 +1 0.4380435263E+06 0.3009837318E-04 +2 0.7117731352E+05 0.2233908429E-03 +3 0.1561379834E+05 0.1264943516E-02 +4 0.4289108408E+04 0.5425287236E-02 +5 0.1388861923E+04 0.1916524111E-01 +6 0.5054820770E+03 0.5768096670E-01 +7 0.1993392200E+03 0.1468033701E+00 +8 0.8286211200E+02 0.2951306454E+00 +9 0.3557684200E+02 0.3869526199E+00 +10 0.1554248600E+02 0.2144353273E+00 +11 0.6829927000E+01 0.2324691412E-01 +12 0.2989151000E+01 0.2605220735E-02 +S 10 +1 0.1388861923E+04 -0.6825108658E-04 +2 0.5054820770E+03 -0.5094572584E-03 +3 0.1993392200E+03 -0.3814682059E-02 +4 0.8286211200E+02 -0.1844876236E-01 +5 0.3557684200E+02 -0.6665365674E-01 +6 0.1554248600E+02 -0.8100660677E-01 +7 0.6829927000E+01 0.1571272713E+00 +8 0.2989151000E+01 0.5476413147E+00 +9 0.1289699000E+01 0.3978631668E+00 +10 0.5418440000E+00 0.3071734390E-01 +S 6 +1 0.6829927000E+01 -0.1288481398E-02 +2 0.2989151000E+01 -0.4322549296E-01 +3 0.1289699000E+01 -0.1763430154E+00 +4 0.5418440000E+00 0.8522411589E-01 +5 0.2180680000E+00 0.6552684621E+00 +6 0.8221800000E-01 0.4113957891E+00 +S 1 +1 0.3421288410E+03 1.0000000 +S 1 +1 0.1666834440E+03 1.0000000 +S 1 +1 0.8120733200E+02 1.0000000 +S 1 +1 0.3956380200E+02 1.0000000 +S 1 +1 0.1927528500E+02 1.0000000 +S 1 +1 0.9390821000E+01 1.0000000 +S 1 +1 0.4575161000E+01 1.0000000 +S 1 +1 0.2344530000E+01 1.0000000 +S 1 +1 0.1201446000E+01 0.1000000000E+01 +S 1 +1 0.5157970000E+00 0.1000000000E+01 +S 1 +1 0.2214390000E+00 0.1000000000E+01 +S 1 +1 0.3169890881E-01 0.1000000000E+01 +P 10 +1 0.1609972756E+04 0.2294989854E-03 +2 0.3946274020E+03 0.1982201070E-02 +3 0.1246190380E+03 0.1123247137E-01 +4 0.4680196100E+02 0.4304350850E-01 +5 0.1960665200E+02 0.1235305006E+00 +6 0.8715913000E+01 0.2539487051E+00 +7 0.3959551000E+01 0.3660887831E+00 +8 0.1788994000E+01 0.3193697035E+00 +9 0.7891710000E+00 0.9832771513E-01 +10 0.3359510000E+00 0.3952033150E-02 +P 7 +1 0.8715913000E+01 -0.2577095792E-02 +2 0.3959551000E+01 -0.4109842517E-02 +3 0.1788994000E+01 -0.1356792916E-01 +4 0.7891710000E+00 0.6041872906E-01 +5 0.3359510000E+00 0.3244164845E+00 +6 0.1371030000E+00 0.5094090481E+00 +7 0.5345700000E-01 0.2488212156E+00 +P 1 +1 0.5285733410E+03 1.0000000 +P 1 +1 0.2481722400E+03 1.0000000 +P 1 +1 0.1165201790E+03 1.0000000 +P 1 +1 0.5470778000E+02 1.0000000 +P 1 +1 0.2568603300E+02 1.0000000 +P 1 +1 0.1205993500E+02 1.0000000 +P 1 +1 0.5662301000E+01 1.0000000 +P 1 +1 0.2566897000E+01 1.0000000 +P 1 +1 0.1163654000E+01 0.1000000000E+01 +P 1 +1 0.4989480000E+00 0.1000000000E+01 +P 1 +1 0.2139370000E+00 0.1000000000E+01 +P 1 +1 0.2554727575E-01 0.1000000000E+01 +D 1 +1 0.3035310510E+03 1.0000000 +D 1 +1 0.1372204910E+03 1.0000000 +D 1 +1 0.6203471700E+02 1.0000000 +D 1 +1 0.2804469000E+02 1.0000000 +D 1 +1 0.1267846000E+02 1.0000000 +D 1 +1 0.5731685000E+01 1.0000000 +D 1 +1 0.2503242837E+01 0.1000000000E+01 +D 1 +1 0.1205079000E+01 1.0000000 +D 1 +1 0.5801340000E+00 0.1000000000E+01 +D 1 +1 0.2623230000E+00 0.1000000000E+01 +D 1 +1 0.1186170000E+00 0.1000000000E+01 +D 1 +1 0.5363610000E-01 0.1000000000E+01 +F 1 +1 0.5539701000E+02 1.0000000 +F 1 +1 0.2251881800E+02 1.0000000 +F 1 +1 0.9153872000E+01 1.0000000 +F 1 +1 0.3721038000E+01 1.0000000 +F 1 +1 0.1462145000E+01 1.0000000 +F 1 +1 0.5745350000E+00 0.1000000000E+01 +F 1 +1 0.2449140000E+00 0.1000000000E+01 +F 1 +1 0.1044020000E+00 0.1000000000E+01 +G 1 +1 0.1625154800E+02 1.0000000 +G 1 +1 0.5881987000E+01 1.0000000 +G 1 +1 0.1671716000E+01 1.0000000 +G 1 +1 0.4751171933E+00 0.1000000000E+01 + +PHOSPHORUS +S 12 +1 0.5283894546E+06 0.2833942980E-04 +2 0.8589055866E+05 0.2101127631E-03 +3 0.1885848876E+05 0.1188621513E-02 +4 0.5183041449E+04 0.5098563672E-02 +5 0.1678043254E+04 0.1805252492E-01 +6 0.6103565170E+03 0.5456559743E-01 +7 0.2405819300E+03 0.1400592439E+00 +8 0.1000490390E+03 0.2855905564E+00 +9 0.4304851100E+02 0.3863807451E+00 +10 0.1889276300E+02 0.2296496473E+00 +11 0.8363973000E+01 0.2928242593E-01 +12 0.3698340000E+01 0.2456842384E-02 +S 10 +1 0.1678043254E+04 -0.6301163930E-04 +2 0.6103565170E+03 -0.4725651145E-03 +3 0.2405819300E+03 -0.3572857788E-02 +4 0.1000490390E+03 -0.1748308615E-01 +5 0.4304851100E+02 -0.6450768815E-01 +6 0.1889276300E+02 -0.8630029844E-01 +7 0.8363973000E+01 0.1357068391E+00 +8 0.3698340000E+01 0.5429016755E+00 +9 0.1615860000E+01 0.4164183428E+00 +10 0.6881390000E+00 0.3700063935E-01 +S 6 +1 0.8363973000E+01 -0.5751933583E-03 +2 0.3698340000E+01 -0.4773078277E-01 +3 0.1615860000E+01 -0.1866895469E+00 +4 0.6881390000E+00 0.1058237810E+00 +5 0.2803900000E+00 0.6624461665E+00 +6 0.1065580000E+00 0.3947484489E+00 +S 1 +1 0.4028863240E+03 1.0000000 +S 1 +1 0.1991513450E+03 1.0000000 +S 1 +1 0.9844280100E+02 1.0000000 +S 1 +1 0.4866140900E+02 1.0000000 +S 1 +1 0.2405389400E+02 1.0000000 +S 1 +1 0.1189011700E+02 1.0000000 +S 1 +1 0.5877421000E+01 1.0000000 +S 1 +1 0.3058422000E+01 1.0000000 +S 1 +1 0.1591505000E+01 0.1000000000E+01 +S 1 +1 0.6757450000E+00 0.1000000000E+01 +S 1 +1 0.2869180000E+00 0.1000000000E+01 +S 1 +1 0.3933227462E-01 0.1000000000E+01 +P 10 +1 0.1933646457E+04 0.2213735820E-03 +2 0.4736095320E+03 0.1915716192E-02 +3 0.1496894860E+03 0.1091037760E-01 +4 0.5630122600E+02 0.4212755018E-01 +5 0.2363905400E+02 0.1220274687E+00 +6 0.1054857000E+02 0.2535209108E+00 +7 0.4823289000E+01 0.3690763936E+00 +8 0.2201492000E+01 0.3178571806E+00 +9 0.9851220000E+00 0.9436970181E-01 +10 0.4269800000E+00 0.3923938815E-02 +P 7 +1 0.1054857000E+02 -0.3153945078E-02 +2 0.4823289000E+01 -0.5434511495E-02 +3 0.2201492000E+01 -0.1401367237E-01 +4 0.9851220000E+00 0.8136633400E-01 +5 0.4269800000E+00 0.3574295919E+00 +6 0.1777540000E+00 0.4916867603E+00 +7 0.7058500000E-01 0.2125956804E+00 +P 1 +1 0.6336780590E+03 1.0000000 +P 1 +1 0.3022894550E+03 1.0000000 +P 1 +1 0.1442040060E+03 1.0000000 +P 1 +1 0.6879100500E+02 1.0000000 +P 1 +1 0.3281602500E+02 1.0000000 +P 1 +1 0.1565454000E+02 1.0000000 +P 1 +1 0.7467834000E+01 1.0000000 +P 1 +1 0.3504575000E+01 1.0000000 +P 1 +1 0.1644660000E+01 0.1000000000E+01 +P 1 +1 0.6963170000E+00 0.1000000000E+01 +P 1 +1 0.2948070000E+00 0.1000000000E+01 +P 1 +1 0.3500997504E-01 0.1000000000E+01 +D 1 +1 0.3657827630E+03 1.0000000 +D 1 +1 0.1675898600E+03 1.0000000 +D 1 +1 0.7678426700E+02 1.0000000 +D 1 +1 0.3518007400E+02 1.0000000 +D 1 +1 0.1611837500E+02 1.0000000 +D 1 +1 0.7384919000E+01 1.0000000 +D 1 +1 0.3259664503E+01 0.1000000000E+01 +D 1 +1 0.1591590000E+01 1.0000000 +D 1 +1 0.7771180000E+00 0.1000000000E+01 +D 1 +1 0.3477410000E+00 0.1000000000E+01 +D 1 +1 0.1556050000E+00 0.1000000000E+01 +D 1 +1 0.6962910000E-01 0.1000000000E+01 +F 1 +1 0.6734187100E+02 1.0000000 +F 1 +1 0.2753202900E+02 1.0000000 +F 1 +1 0.1125618600E+02 1.0000000 +F 1 +1 0.4601975000E+01 1.0000000 +F 1 +1 0.1838750000E+01 1.0000000 +F 1 +1 0.7346810000E+00 0.1000000000E+01 +F 1 +1 0.3087810000E+00 0.1000000000E+01 +F 1 +1 0.1297780000E+00 0.1000000000E+01 +G 1 +1 0.1972975500E+02 1.0000000 +G 1 +1 0.7196982000E+01 1.0000000 +G 1 +1 0.2097037200E+01 1.0000000 +G 1 +1 0.6110290712E+00 0.1000000000E+01 + +SULFUR +S 12 +1 0.6236880976E+06 0.2713024062E-04 +2 0.1012381834E+06 0.2013661789E-03 +3 0.2223608599E+05 0.1138046935E-02 +4 0.6114920968E+04 0.4879924434E-02 +5 0.1979949746E+04 0.1730268565E-01 +6 0.7198369810E+03 0.5247479684E-01 +7 0.2835520670E+03 0.1355605141E+00 +8 0.1178992210E+03 0.2792511221E+00 +9 0.5078444000E+02 0.3855428472E+00 +10 0.2235621100E+02 0.2396351017E+00 +11 0.9951907000E+01 0.3384062615E-01 +12 0.4435851000E+01 0.2378546227E-02 +S 10 +1 0.1979949746E+04 -0.5975376516E-04 +2 0.7198369810E+03 -0.4506748999E-03 +3 0.2835520670E+03 -0.3430362679E-02 +4 0.1178992210E+03 -0.1695793694E-01 +5 0.5078444000E+02 -0.6338933424E-01 +6 0.2235621100E+02 -0.8973730565E-01 +7 0.9951907000E+01 0.1226561209E+00 +8 0.4435851000E+01 0.5414218421E+00 +9 0.1957511000E+01 0.4262060100E+00 +10 0.8425510000E+00 0.4072103351E-01 +S 6 +1 0.9951907000E+01 0.3328373673E-05 +2 0.4435851000E+01 -0.5294632747E-01 +3 0.1957511000E+01 -0.1957487408E+00 +4 0.8425510000E+00 0.1301152397E+00 +5 0.3464320000E+00 0.6710240266E+00 +6 0.1322010000E+00 0.3733083088E+00 +S 1 +1 0.4634548470E+03 1.0000000 +S 1 +1 0.2299952160E+03 1.0000000 +S 1 +1 0.1141379780E+03 1.0000000 +S 1 +1 0.5664238700E+02 1.0000000 +S 1 +1 0.2810948700E+02 1.0000000 +S 1 +1 0.1394968200E+02 1.0000000 +S 1 +1 0.6922702000E+01 1.0000000 +S 1 +1 0.3811243000E+01 1.0000000 +S 1 +1 0.2098252000E+01 0.1000000000E+01 +S 1 +1 0.9081330000E+00 0.1000000000E+01 +S 1 +1 0.3930440000E+00 0.1000000000E+01 +S 1 +1 0.5006528091E-01 0.1000000000E+01 +P 10 +1 0.2200288005E+04 0.2284948511E-03 +2 0.5409814670E+03 0.1971087052E-02 +3 0.1708287270E+03 0.1129453840E-01 +4 0.6417209900E+02 0.4380220289E-01 +5 0.2696471300E+02 0.1265188267E+00 +6 0.1207510800E+02 0.2603491846E+00 +7 0.5553097000E+01 0.3747083257E+00 +8 0.2551241000E+01 0.3076113026E+00 +9 0.1147837000E+01 0.8193470990E-01 +10 0.4986290000E+00 0.3009129070E-02 +P 7 +1 0.1207510800E+02 -0.3786820869E-02 +2 0.5553097000E+01 -0.7029028272E-02 +3 0.2551241000E+01 -0.1240635788E-01 +4 0.1147837000E+01 0.1177650411E+00 +5 0.4986290000E+00 0.3853141847E+00 +6 0.2070200000E+00 0.4596770042E+00 +7 0.8148300000E-01 0.1901077003E+00 +P 1 +1 0.7097705900E+03 1.0000000 +P 1 +1 0.3387362610E+03 1.0000000 +P 1 +1 0.1616610440E+03 1.0000000 +P 1 +1 0.7715233400E+02 1.0000000 +P 1 +1 0.3682076100E+02 1.0000000 +P 1 +1 0.1757261700E+02 1.0000000 +P 1 +1 0.8386488000E+01 1.0000000 +P 1 +1 0.3863628000E+01 1.0000000 +P 1 +1 0.1779961000E+01 0.1000000000E+01 +P 1 +1 0.7442550000E+00 0.1000000000E+01 +P 1 +1 0.3111960000E+00 0.1000000000E+01 +P 1 +1 0.4090391886E-01 0.1000000000E+01 +D 1 +1 0.4153994730E+03 1.0000000 +D 1 +1 0.1913208390E+03 1.0000000 +D 1 +1 0.8811677800E+02 1.0000000 +D 1 +1 0.4058400900E+02 1.0000000 +D 1 +1 0.1869180700E+02 1.0000000 +D 1 +1 0.8608899000E+01 1.0000000 +D 1 +1 0.3851470827E+01 0.1000000000E+01 +D 1 +1 0.1970892000E+01 1.0000000 +D 1 +1 0.1008554000E+01 0.1000000000E+01 +D 1 +1 0.4460480000E+00 0.1000000000E+01 +D 1 +1 0.1972710000E+00 0.1000000000E+01 +D 1 +1 0.8724580000E-01 0.1000000000E+01 +F 1 +1 0.8199116700E+02 1.0000000 +F 1 +1 0.3350888900E+02 1.0000000 +F 1 +1 0.1369471500E+02 1.0000000 +F 1 +1 0.5596879000E+01 1.0000000 +F 1 +1 0.2233420000E+01 1.0000000 +F 1 +1 0.8912440000E+00 0.1000000000E+01 +F 1 +1 0.3582670000E+00 0.1000000000E+01 +F 1 +1 0.1440180000E+00 0.1000000000E+01 +G 1 +1 0.2347035300E+02 1.0000000 +G 1 +1 0.8619383000E+01 1.0000000 +G 1 +1 0.2500111100E+01 1.0000000 +G 1 +1 0.7251745883E+00 0.1000000000E+01 + +CHLORINE +S 12 +1 0.7237275005E+06 0.2626255539E-04 +2 0.1173660658E+06 0.1950550684E-03 +3 0.2578717863E+05 0.1101484570E-02 +4 0.7095077690E+04 0.4721462407E-02 +5 0.2297678453E+04 0.1675608523E-01 +6 0.8351465810E+03 0.5093734450E-01 +7 0.3288541720E+03 0.1322020597E+00 +8 0.1367375030E+03 0.2744038709E+00 +9 0.5895627300E+02 0.3845589217E+00 +10 0.2601778300E+02 0.2471069596E+00 +11 0.1163217800E+02 0.3760312273E-01 +12 0.5217409000E+01 0.2334590439E-02 +S 10 +1 0.2297678453E+04 -0.5751982055E-04 +2 0.8351465810E+03 -0.4361370429E-03 +3 0.3288541720E+03 -0.3334035651E-02 +4 0.1367375030E+03 -0.1661529521E-01 +5 0.5895627300E+02 -0.6267029831E-01 +6 0.2601778300E+02 -0.9232872878E-01 +7 0.1163217800E+02 0.1133543300E+00 +8 0.5217409000E+01 0.5414884909E+00 +9 0.2320556000E+01 0.4320931603E+00 +10 0.1007367000E+01 0.4331695573E-01 +S 7 +1 0.2601778300E+02 0.1373958326E-02 +2 0.1163217800E+02 -0.1560925898E-02 +3 0.5217409000E+01 -0.5966453263E-01 +4 0.2320556000E+01 -0.2059619979E+00 +5 0.1007367000E+01 0.1517651564E+00 +6 0.4173680000E+00 0.6747165604E+00 +7 0.1599610000E+00 0.3594242484E+00 +S 1 +1 0.5183285560E+03 1.0000000 +S 1 +1 0.2564486460E+03 1.0000000 +S 1 +1 0.1268807350E+03 1.0000000 +S 1 +1 0.6277561300E+02 1.0000000 +S 1 +1 0.3105891200E+02 1.0000000 +S 1 +1 0.1536673200E+02 1.0000000 +S 1 +1 0.7602856000E+01 1.0000000 +S 1 +1 0.4350701000E+01 1.0000000 +S 1 +1 0.2489669000E+01 0.1000000000E+01 +S 1 +1 0.1087839000E+01 0.1000000000E+01 +S 1 +1 0.4753220000E+00 0.1000000000E+01 +S 1 +1 0.6127496683E-01 0.1000000000E+01 +P 10 +1 0.2500752735E+04 0.2325903712E-03 +2 0.6154216170E+03 0.2006177069E-02 +3 0.1942826220E+03 0.1153572865E-01 +4 0.7296605100E+02 0.4491006825E-01 +5 0.3068407300E+02 0.1296838198E+00 +6 0.1377450400E+02 0.2656966631E+00 +7 0.6362590000E+01 0.3789010579E+00 +8 0.2941322000E+01 0.2986459694E+00 +9 0.1333098000E+01 0.7346641613E-01 +10 0.5833500000E+00 0.2694662300E-02 +P 8 +1 0.3068407300E+02 -0.1159949287E-02 +2 0.1377450400E+02 -0.4294785654E-02 +3 0.6362590000E+01 -0.1135682155E-01 +4 0.2941322000E+01 -0.9233992512E-02 +5 0.1333098000E+01 0.1438708674E+00 +6 0.5833500000E+00 0.4009432944E+00 +7 0.2435180000E+00 0.4375086490E+00 +8 0.9595700000E-01 0.1731938298E+00 +P 1 +1 0.7084650470E+03 1.0000000 +P 1 +1 0.3422042000E+03 1.0000000 +P 1 +1 0.1652921550E+03 1.0000000 +P 1 +1 0.7983974600E+02 1.0000000 +P 1 +1 0.3856435300E+02 1.0000000 +P 1 +1 0.1862743100E+02 1.0000000 +P 1 +1 0.8997459000E+01 1.0000000 +P 1 +1 0.4584460000E+01 1.0000000 +P 1 +1 0.2335912000E+01 0.1000000000E+01 +P 1 +1 0.9923410000E+00 0.1000000000E+01 +P 1 +1 0.4215660000E+00 0.1000000000E+01 +P 1 +1 0.5333174856E-01 0.1000000000E+01 +D 1 +1 0.4491255980E+03 1.0000000 +D 1 +1 0.2066820790E+03 1.0000000 +D 1 +1 0.9511255200E+02 1.0000000 +D 1 +1 0.4376962700E+02 1.0000000 +D 1 +1 0.2014224400E+02 1.0000000 +D 1 +1 0.9269213000E+01 1.0000000 +D 1 +1 0.4230541716E+01 0.1000000000E+01 +D 1 +1 0.2339949000E+01 1.0000000 +D 1 +1 0.1293743000E+01 0.1000000000E+01 +D 1 +1 0.5626000000E+00 0.1000000000E+01 +D 1 +1 0.2446530000E+00 0.1000000000E+01 +D 1 +1 0.1063900000E+00 0.1000000000E+01 +F 1 +1 0.1026758480E+03 1.0000000 +F 1 +1 0.4162038900E+02 1.0000000 +F 1 +1 0.1687112200E+02 1.0000000 +F 1 +1 0.6838830000E+01 1.0000000 +F 1 +1 0.2745478000E+01 1.0000000 +F 1 +1 0.1102184000E+01 0.1000000000E+01 +F 1 +1 0.4474670000E+00 0.1000000000E+01 +F 1 +1 0.1816630000E+00 0.1000000000E+01 +G 1 +1 0.2739454800E+02 1.0000000 +G 1 +1 0.1012815700E+02 1.0000000 +G 1 +1 0.2982146000E+01 1.0000000 +G 1 +1 0.8780666449E+00 0.1000000000E+01 + +ARGON +S 12 +1 0.8129548846E+06 0.2623662783E-04 +2 0.1318991440E+06 0.1944429469E-03 +3 0.2906550781E+05 0.1092693774E-02 +4 0.8025884724E+04 0.4660983056E-02 +5 0.2607475919E+04 0.1648601259E-01 +6 0.9500245140E+03 0.5004982387E-01 +7 0.3746962270E+03 0.1300722126E+00 +8 0.1559881550E+03 0.2711331825E+00 +9 0.6734900000E+02 0.3835740655E+00 +10 0.2978555900E+02 0.2518674611E+00 +11 0.1336282900E+02 0.4023164246E-01 +12 0.6024125000E+01 0.2316424816E-02 +S 10 +1 0.9500245140E+03 -0.4145436285E-03 +2 0.3746962270E+03 -0.3000209895E-02 +3 0.1559881550E+03 -0.1618108530E-01 +4 0.6734900000E+02 -0.6155296139E-01 +5 0.2978555900E+02 -0.9409255149E-01 +6 0.1336282900E+02 0.1088779987E+00 +7 0.6024125000E+01 0.5411656884E+00 +8 0.2697155000E+01 0.4343897775E+00 +9 0.1179786000E+01 0.4201585473E-01 +10 0.4924210000E+00 0.5255667744E-02 +S 8 +1 0.6734900000E+02 0.5977052965E-03 +2 0.2978555900E+02 0.1630644131E-02 +3 0.1336282900E+02 -0.1265448477E-02 +4 0.6024125000E+01 -0.7015734957E-01 +5 0.2697155000E+01 -0.2120885301E+00 +6 0.1179786000E+01 0.1701185886E+00 +7 0.4924210000E+00 0.6771412101E+00 +8 0.1897000000E+00 0.3480347613E+00 +S 1 +1 0.6199288690E+03 1.0000000 +S 1 +1 0.3192631450E+03 1.0000000 +S 1 +1 0.1644204050E+03 1.0000000 +S 1 +1 0.8467645000E+02 1.0000000 +S 1 +1 0.4360834100E+02 1.0000000 +S 1 +1 0.2245828000E+02 1.0000000 +S 1 +1 0.1156600600E+02 1.0000000 +S 1 +1 0.6048350000E+01 1.0000000 +S 1 +1 0.3162940000E+01 0.1000000000E+01 +S 1 +1 0.1432006000E+01 0.1000000000E+01 +S 1 +1 0.6483340000E+00 0.1000000000E+01 +S 1 +1 0.730799260E-01 0.1000000000E+01 +P 10 +1 0.2837786960E+04 0.2337074738E-03 +2 0.6988486320E+03 0.2015725910E-02 +3 0.2206358770E+03 0.1162501777E-01 +4 0.8286306500E+02 0.4545944292E-01 +5 0.3486580100E+02 0.1315335361E+00 +6 0.1567943500E+02 0.2694336310E+00 +7 0.7267494000E+01 0.3820483648E+00 +8 0.3377562000E+01 0.2918786745E+00 +9 0.1541537000E+01 0.6791433038E-01 +10 0.6799020000E+00 0.2605490994E-02 +P 8 +1 0.3486580100E+02 -0.1318571276E-02 +2 0.1567943500E+02 -0.4760150252E-02 +3 0.7267494000E+01 -0.1319162208E-01 +4 0.3377562000E+01 -0.5610643066E-02 +5 0.1541537000E+01 0.1638796895E+00 +6 0.6799020000E+00 0.4093948822E+00 +7 0.2859230000E+00 0.4211663440E+00 +8 0.1131910000E+00 0.1603136770E+00 +P 1 +1 0.9905077500E+03 1.0000000 +P 1 +1 0.4834650980E+03 1.0000000 +P 1 +1 0.2359784680E+03 1.0000000 +P 1 +1 0.1151806770E+03 1.0000000 +P 1 +1 0.5621948700E+02 1.0000000 +P 1 +1 0.2744063300E+02 1.0000000 +P 1 +1 0.1339372500E+02 1.0000000 +P 1 +1 0.6208134000E+01 1.0000000 +P 1 +1 0.2877536000E+01 0.1000000000E+01 +P 1 +1 0.1269009000E+01 0.1000000000E+01 +P 1 +1 0.5596400000E+00 0.1000000000E+01 +P 1 +1 0.448099750E-01 0.1000000000E+01 +D 1 +1 0.4703647630E+03 1.0000000 +D 1 +1 0.1972432510E+03 1.0000000 +D 1 +1 0.8271219100E+02 1.0000000 +D 1 +1 0.3468461700E+02 1.0000000 +D 1 +1 0.1454468300E+02 1.0000000 +D 1 +1 0.6439125263E+01 0.1000000000E+01 +D 1 +1 0.3233789000E+01 1.0000000 +D 1 +1 0.1624039000E+01 0.1000000000E+01 +D 1 +1 0.6961650000E+00 0.1000000000E+01 +D 1 +1 0.2984200000E+00 0.1000000000E+01 +D 1 +1 0.1279210000E+00 0.1000000000E+01 +F 1 +1 0.1145010660E+03 1.0000000 +F 1 +1 0.4700464300E+02 1.0000000 +F 1 +1 0.1929620900E+02 1.0000000 +F 1 +1 0.7921423000E+01 1.0000000 +F 1 +1 0.3261051000E+01 1.0000000 +F 1 +1 0.1342493000E+01 0.1000000000E+01 +F 1 +1 0.5599010000E+00 0.1000000000E+01 +F 1 +1 0.2335120000E+00 0.1000000000E+01 +G 1 +1 0.3194994300E+02 1.0000000 +G 1 +1 0.1184571700E+02 1.0000000 +G 1 +1 0.3535068700E+01 1.0000000 +G 1 +1 0.1054956027E+01 0.1000000000E+01 +$END \ No newline at end of file diff --git a/data/basis/5zapa-nr b/data/basis/5zapa-nr new file mode 100644 index 00000000..6d08e02c --- /dev/null +++ b/data/basis/5zapa-nr @@ -0,0 +1,1625 @@ +!---------------------------------------------------------------------- +! Basis Set Exchange +! Version v0.8.12 +! https://www.basissetexchange.org +!---------------------------------------------------------------------- +! Basis set: 5ZaPa-NR +! Description: Quintuple Zeta augmented + polarization +! (nonrelativistic) +! Role: orbital +! Version: 1 (Data from Supplemental Information of publications) +!---------------------------------------------------------------------- + + +$DATA + +HYDROGEN +S 9 +1 0.4728961400E+03 0.1592450921E-03 +2 0.1336328300E+03 0.7004505133E-03 +3 0.3001475200E+02 0.4370309362E-02 +4 0.8522086000E+01 0.1742418311E-01 +5 0.2788447000E+01 0.6043193672E-01 +6 0.1003987000E+01 0.1699217301E+00 +7 0.3894020000E+00 0.3497736601E+00 +8 0.1598170000E+00 0.4026405372E+00 +9 0.6696200000E-01 0.1393321071E+00 +S 1 +1 0.1937228000E+01 0.1000000000E+01 +S 1 +1 0.4989300000E+00 0.1000000000E+01 +S 1 +1 0.1853730000E+00 0.1000000000E+01 +S 1 +1 0.7151400000E-01 0.1000000000E+01 +S 1 +1 0.2881300000E-01 0.1000000000E+01 +S 1 +1 0.1057600000E-01 0.1000000000E+01 +P 1 +1 0.5468396000E+01 0.1000000000E+01 +P 1 +1 0.1843681000E+01 0.1000000000E+01 +P 1 +1 0.7068530000E+00 0.1000000000E+01 +P 1 +1 0.2533880000E+00 0.1000000000E+01 +P 1 +1 0.9083280000E-01 0.1000000000E+01 +D 1 +1 0.2703225000E+01 0.1000000000E+01 +D 1 +1 0.9452480000E+00 0.1000000000E+01 +D 1 +1 0.4109160000E+00 0.1000000000E+01 +D 1 +1 0.1786320000E+00 0.1000000000E+01 +F 1 +1 0.2832903000E+01 0.1000000000E+01 +F 1 +1 0.1030512000E+01 0.1000000000E+01 +F 1 +1 0.3748645000E+00 0.1000000000E+01 +G 1 +1 0.1476885483E+01 0.1000000000E+01 + +HELIUM +S 11 +1 0.9386607570E+04 0.2541698542E-04 +2 0.1435419670E+04 0.1985643591E-03 +3 0.3182819180E+03 0.1076710461E-02 +4 0.9001348100E+02 0.4430665363E-02 +5 0.2970919700E+02 0.1544792591E-01 +6 0.1080428500E+02 0.4683120303E-01 +7 0.4183588000E+01 0.1194190671E+00 +8 0.1692196000E+01 0.2369467612E+00 +9 0.7064170000E+00 0.3462347842E+00 +10 0.3003870000E+00 0.3110821362E+00 +11 0.1272440000E+00 0.9190013696E-01 +S 1 +1 0.5105517000E+01 0.1000000000E+01 +S 1 +1 0.1813715000E+01 0.1000000000E+01 +S 1 +1 0.6443150000E+00 0.1000000000E+01 +S 1 +1 0.2288900000E+00 0.1000000000E+01 +S 1 +1 0.5390058700E-01 0.1000000000E+01 +P 1 +1 0.1048532900E+02 0.1000000000E+01 +P 1 +1 0.3710406000E+01 0.1000000000E+01 +P 1 +1 0.1312988000E+01 0.1000000000E+01 +P 1 +1 0.4646220000E+00 0.1000000000E+01 +P 1 +1 0.1644130000E+00 0.1000000000E+01 +D 1 +1 0.7288276000E+01 0.1000000000E+01 +D 1 +1 0.2477231000E+01 0.1000000000E+01 +D 1 +1 0.8419920000E+00 0.1000000000E+01 +D 1 +1 0.2861860000E+00 0.1000000000E+01 +F 1 +1 0.4952266000E+01 0.1000000000E+01 +F 1 +1 0.1521701000E+01 0.1000000000E+01 +F 1 +1 0.4675786000E+00 0.1000000000E+01 +G 1 +1 0.3019662613E+01 0.1000000000E+01 + +LITHIUM +S 10 +1 0.8730000000E+04 0.6427624330E-04 +2 0.1993962785E+04 0.3562833636E-03 +3 0.4350209010E+03 0.2193023870E-02 +4 0.1194667800E+03 0.9180008142E-02 +5 0.3886311100E+02 0.3151893449E-01 +6 0.1419813700E+02 0.8915960783E-01 +7 0.5568863000E+01 0.2030621775E+00 +8 0.2262123000E+01 0.3508555294E+00 +9 0.9271220000E+00 0.3646339180E+00 +10 0.3774970000E+00 0.1114490623E+00 +S 7 +1 0.5568863000E+01 -0.2611655912E-02 +2 0.2262123000E+01 -0.1028009402E-01 +3 0.9271220000E+00 -0.4714146606E-01 +4 0.3774970000E+00 -0.9061771592E-01 +5 0.1520930000E+00 0.1078163977E+00 +6 0.6113900000E-01 0.6110183800E+00 +7 0.2504900000E-01 0.3945306471E+00 +S 1 +1 0.4134160000E+00 0.1000000000E+01 +S 1 +1 0.1652620000E+00 0.1000000000E+01 +S 1 +1 0.6606300000E-01 0.1000000000E+01 +S 1 +1 0.2640900000E-01 0.1000000000E+01 +S 1 +1 0.7039890528E-02 0.1000000000E+01 +P 7 +1 0.1109297700E+02 0.1370401540E-02 +2 0.2552497000E+01 0.8883018393E-02 +3 0.7322110000E+00 0.3278204941E-01 +4 0.2431890000E+00 0.1142499250E+00 +5 0.9086400000E-01 0.3258762281E+00 +6 0.3737000000E-01 0.4868317542E+00 +7 0.1604600000E-01 0.2108541151E+00 +P 1 +1 0.1817552000E+01 0.1000000000E+01 +P 1 +1 0.6230500000E+00 0.1000000000E+01 +P 1 +1 0.2135800000E+00 0.1000000000E+01 +P 1 +1 0.7321400000E-01 0.1000000000E+01 +P 1 +1 0.6889861000E-02 0.1000000000E+01 +D 1 +1 0.4234580000E+00 0.1000000000E+01 +D 1 +1 0.2270570000E+00 0.1000000000E+01 +D 1 +1 0.1217470000E+00 0.1000000000E+01 +D 1 +1 0.6528000000E-01 0.1000000000E+01 +D 1 +1 0.3500200000E-01 0.1000000000E+01 +F 1 +1 0.3011770000E+00 0.1000000000E+01 +F 1 +1 0.1740290000E+00 0.1000000000E+01 +F 1 +1 0.1005600000E+00 0.1000000000E+01 +F 1 +1 0.5810700000E-01 0.1000000000E+01 +G 1 +1 0.2808840000E+00 0.1000000000E+01 +G 1 +1 0.1423510000E+00 0.1000000000E+01 +G 1 +1 0.7214290000E-01 0.1000000000E+01 +H 1 +1 0.2706720231E+00 0.1000000000E+01 + +BERYLLIUM +S 11 +1 0.3865394813E+05 0.2531530055E-04 +2 0.6509075143E+04 0.1819172070E-03 +3 0.1420547134E+04 0.1056043149E-02 +4 0.3842537920E+03 0.4617219041E-02 +5 0.1232627120E+03 0.1640061048E-01 +6 0.4494427200E+02 0.4848235640E-01 +7 0.1790691100E+02 0.1211343103E+00 +8 0.7526367000E+01 0.2440730978E+00 +9 0.3239416000E+01 0.3705731810E+00 +10 0.1395372000E+01 0.2953400720E+00 +11 0.5925850000E+00 0.5635928973E-01 +S 8 +1 0.1790691100E+02 -0.1215816732E-02 +2 0.7526367000E+01 -0.5581140401E-02 +3 0.3239416000E+01 -0.2438038797E-01 +4 0.1395372000E+01 -0.7491586615E-01 +5 0.5925850000E+00 -0.3095314060E-01 +6 0.2466940000E+00 0.2817772674E+00 +7 0.1011530000E+00 0.5671875594E+00 +8 0.4153200000E-01 0.2684332275E+00 +S 1 +1 0.2113390000E+01 0.1000000000E+01 +S 1 +1 0.9434640000E+00 0.1000000000E+01 +S 1 +1 0.4211830000E+00 0.1000000000E+01 +S 1 +1 0.1880260000E+00 0.1000000000E+01 +S 1 +1 0.1705245500E-01 0.1000000000E+01 +P 7 +1 0.2507045100E+02 0.1607630739E-02 +2 0.5846689000E+01 0.1135618080E-01 +3 0.1745615000E+01 0.4498764258E-01 +4 0.6058210000E+00 0.1467428549E+00 +5 0.2314530000E+00 0.3542207949E+00 +6 0.9367500000E-01 0.4536534958E+00 +7 0.3826100000E-01 0.1907269469E+00 +P 1 +1 0.1222980000E+01 0.1000000000E+01 +P 1 +1 0.6156230000E+00 0.1000000000E+01 +P 1 +1 0.3098920000E+00 0.1000000000E+01 +P 1 +1 0.1559940000E+00 0.1000000000E+01 +P 1 +1 0.1562747900E-01 0.1000000000E+01 +D 1 +1 0.9564500000E+00 0.1000000000E+01 +D 1 +1 0.4865680000E+00 0.1000000000E+01 +D 1 +1 0.2475280000E+00 0.1000000000E+01 +D 1 +1 0.1259230000E+00 0.1000000000E+01 +D 1 +1 0.6405980000E-01 0.1000000000E+01 +F 1 +1 0.7026910000E+00 0.1000000000E+01 +F 1 +1 0.3591970000E+00 0.1000000000E+01 +F 1 +1 0.1836120000E+00 0.1000000000E+01 +F 1 +1 0.9385750000E-01 0.1000000000E+01 +G 1 +1 0.6098640000E+00 0.1000000000E+01 +G 1 +1 0.2789260000E+00 0.1000000000E+01 +G 1 +1 0.1275680000E+00 0.1000000000E+01 +H 1 +1 0.4646106307E+00 0.1000000000E+01 + +BORON +S 12 +1 0.6403675355E+05 0.2400008349E-04 +2 0.1072093487E+05 0.1734190839E-03 +3 0.2340139208E+04 0.1004303675E-02 +4 0.6336749090E+03 0.4390584461E-02 +5 0.2032113480E+03 0.1565225562E-01 +6 0.7395782100E+02 0.4670066633E-01 +7 0.2940063700E+02 0.1183102716E+00 +8 0.1234689800E+02 0.2426528847E+00 +9 0.5326183000E+01 0.3715893024E+00 +10 0.2308465000E+01 0.2967027504E+00 +11 0.9896030000E+00 0.5867304665E-01 +12 0.4159360000E+00 0.1708043835E-03 +S 9 +1 0.7395782100E+02 -0.2365222250E-03 +2 0.2940063700E+02 -0.1336532083E-02 +3 0.1234689800E+02 -0.7439014302E-02 +4 0.5326183000E+01 -0.2927536301E-01 +5 0.2308465000E+01 -0.8097505462E-01 +6 0.9896030000E+00 -0.1014891317E-01 +7 0.4159360000E+00 0.3193939556E+00 +8 0.1711830000E+00 0.5505636776E+00 +9 0.6945000000E-01 0.2414446769E+00 +S 1 +1 0.9396800000E+00 0.1000000000E+01 +S 1 +1 0.3980040000E+00 0.1000000000E+01 +S 1 +1 0.1685760000E+00 0.1000000000E+01 +S 1 +1 0.7140100000E-01 0.1000000000E+01 +S 1 +1 0.2632082901E-01 0.1000000000E+01 +P 8 +1 0.6828733300E+02 0.7894273951E-03 +2 0.1619282000E+02 0.6205544664E-02 +3 0.5040008000E+01 0.2715010308E-01 +4 0.1824330000E+01 0.8875698660E-01 +5 0.7152430000E+00 0.2241926538E+00 +6 0.2920900000E+00 0.3731805301E+00 +7 0.1211960000E+00 0.3759722846E+00 +8 0.4965600000E-01 0.1388685923E+00 +P 1 +1 0.1011851000E+01 0.1000000000E+01 +P 1 +1 0.4152250000E+00 0.1000000000E+01 +P 1 +1 0.1703920000E+00 0.1000000000E+01 +P 1 +1 0.6992200000E-01 0.1000000000E+01 +P 1 +1 0.2001857290E-01 0.1000000000E+01 +D 1 +1 0.1424590000E+01 0.1000000000E+01 +D 1 +1 0.6519460000E+00 0.1000000000E+01 +D 1 +1 0.2983550000E+00 0.1000000000E+01 +D 1 +1 0.1365380000E+00 0.1000000000E+01 +D 1 +1 0.6248470000E-01 0.1000000000E+01 +F 1 +1 0.1271173000E+01 0.1000000000E+01 +F 1 +1 0.5944720000E+00 0.1000000000E+01 +F 1 +1 0.2780090000E+00 0.1000000000E+01 +F 1 +1 0.1300128000E+00 0.1000000000E+01 +G 1 +1 0.1057789000E+01 0.1000000000E+01 +G 1 +1 0.4512020000E+00 0.1000000000E+01 +G 1 +1 0.1924611000E+00 0.1000000000E+01 +H 1 +1 0.7893999855E+00 0.1000000000E+01 + +CARBON +S 12 +1 0.9650000000E+05 0.1757624017E-04 +2 0.2590486598E+05 0.8228309694E-04 +3 0.5693938166E+04 0.5318641652E-03 +4 0.1550818386E+04 0.2284844909E-02 +5 0.4973235580E+03 0.8294546729E-02 +6 0.1800398040E+03 0.2573225198E-01 +7 0.7110769000E+02 0.6959401392E-01 +8 0.2981488300E+02 0.1603858170E+00 +9 0.1298937300E+02 0.2940125799E+00 +10 0.5782412000E+01 0.3678689231E+00 +11 0.2596076000E+01 0.2023218475E+00 +12 0.1163233000E+01 0.2380336463E-01 +S 9 +1 0.7110769000E+02 -0.5750546785E-03 +2 0.2981488300E+02 -0.2902365222E-02 +3 0.1298937300E+02 -0.1406070948E-01 +4 0.5782412000E+01 -0.4851421616E-01 +5 0.2596076000E+01 -0.7936808134E-01 +6 0.1163233000E+01 0.7709121550E-01 +7 0.5155600000E+00 0.3823318947E+00 +8 0.2241210000E+00 0.4918647140E+00 +9 0.9470000000E-01 0.1798814761E+00 +S 1 +1 0.1413952000E+01 0.1000000000E+01 +S 1 +1 0.5855840000E+00 0.1000000000E+01 +S 1 +1 0.2425180000E+00 0.1000000000E+01 +S 1 +1 0.1004380000E+00 0.1000000000E+01 +S 1 +1 0.3968147122E-01 0.1000000000E+01 +P 9 +1 0.1777640040E+03 0.3363257978E-03 +2 0.4252410700E+02 0.2827346859E-02 +3 0.1345914900E+02 0.1394579069E-01 +4 0.5003536000E+01 0.4750978748E-01 +5 0.2029528000E+01 0.1322166269E+00 +6 0.8612010000E+00 0.2680463029E+00 +7 0.3732030000E+00 0.3678763858E+00 +8 0.1619280000E+00 0.3123388478E+00 +9 0.6832100000E-01 0.9825428605E-01 +P 1 +1 0.1605554000E+01 0.1000000000E+01 +P 1 +1 0.6373720000E+00 0.1000000000E+01 +P 1 +1 0.2530230000E+00 0.1000000000E+01 +P 1 +1 0.1004450000E+00 0.1000000000E+01 +P 1 +1 0.3388734287E-01 0.1000000000E+01 +D 1 +1 0.2423425000E+01 0.1000000000E+01 +D 1 +1 0.1057475000E+01 0.1000000000E+01 +D 1 +1 0.4614350000E+00 0.1000000000E+01 +D 1 +1 0.2013500000E+00 0.1000000000E+01 +D 1 +1 0.8786030000E-01 0.1000000000E+01 +F 1 +1 0.1993884000E+01 0.1000000000E+01 +F 1 +1 0.8999420000E+00 0.1000000000E+01 +F 1 +1 0.4061900000E+00 0.1000000000E+01 +F 1 +1 0.1833340000E+00 0.1000000000E+01 +G 1 +1 0.1644141000E+01 0.1000000000E+01 +G 1 +1 0.6755930000E+00 0.1000000000E+01 +G 1 +1 0.2776070000E+00 0.1000000000E+01 +H 1 +1 0.1202396970E+01 0.1000000000E+01 + +NITROGEN +S 13 +1 0.2145012177E+06 0.1254222565E-04 +2 0.3579703569E+05 0.9052476015E-04 +3 0.7871690820E+04 0.5177248869E-03 +4 0.2144879186E+04 0.2263091634E-02 +5 0.6880703560E+03 0.8179359253E-02 +6 0.2491809840E+03 0.2541328332E-01 +7 0.9846583500E+02 0.6888803913E-01 +8 0.4132049400E+02 0.1593503149E+00 +9 0.1802451800E+02 0.2942010872E+00 +10 0.8036773000E+01 0.3674361645E+00 +11 0.3614249000E+01 0.2034954506E+00 +12 0.1621334000E+01 0.2328244152E-01 +13 0.7183740000E+00 0.1699241187E-02 +S 9 +1 0.9846583500E+02 -0.5966425923E-03 +2 0.4132049400E+02 -0.3094015366E-02 +3 0.1802451800E+02 -0.1494544925E-01 +4 0.8036773000E+01 -0.5090692328E-01 +5 0.3614249000E+01 -0.7703780385E-01 +6 0.1621334000E+01 0.8895353849E-01 +7 0.7183740000E+00 0.3902583150E+00 +8 0.3112910000E+00 0.4820485191E+00 +9 0.1304820000E+00 0.1733130394E+00 +S 1 +1 0.1939064000E+01 0.1000000000E+01 +S 1 +1 0.7890400000E+00 0.1000000000E+01 +S 1 +1 0.3210750000E+00 0.1000000000E+01 +S 1 +1 0.1306510000E+00 0.1000000000E+01 +S 1 +1 0.4873074430E-01 0.1000000000E+01 +P 10 +1 0.4125283380E+03 0.1470290950E-03 +2 0.9929694700E+02 0.1275023030E-02 +3 0.3161597900E+02 0.6863867770E-02 +4 0.1191708800E+02 0.2517693580E-01 +5 0.4945601000E+01 0.7396159700E-01 +6 0.2162445000E+01 0.1739126040E+00 +7 0.9712900000E+00 0.2936883880E+00 +8 0.4408090000E+00 0.3471526580E+00 +9 0.1986100000E+00 0.2566238500E+00 +10 0.8633600000E-01 0.7025931870E-01 +P 1 +1 0.2031436000E+01 0.1000000000E+01 +P 1 +1 0.8111200000E+00 0.1000000000E+01 +P 1 +1 0.3238670000E+00 0.1000000000E+01 +P 1 +1 0.1293150000E+00 0.1000000000E+01 +P 1 +1 0.5592600000E-01 0.1000000000E+01 +P 1 +1 0.2279100000E-01 0.1000000000E+01 +D 1 +1 0.5376451000E+01 0.1000000000E+01 +D 1 +1 0.2121508000E+01 0.1000000000E+01 +D 1 +1 0.8371310000E+00 0.1000000000E+01 +D 1 +1 0.3303260000E+00 0.1000000000E+01 +D 1 +1 0.1303443000E+00 0.1000000000E+01 +F 1 +1 0.2886163000E+01 0.1000000000E+01 +F 1 +1 0.1183938000E+01 0.1000000000E+01 +F 1 +1 0.4856650000E+00 0.1000000000E+01 +F 1 +1 0.1992253000E+00 0.1000000000E+01 +G 1 +1 0.2502722000E+01 0.1000000000E+01 +G 1 +1 0.9224360000E+00 0.1000000000E+01 +G 1 +1 0.3399850000E+00 0.1000000000E+01 +H 1 +1 0.1676564171E+01 0.1000000000E+01 + +OXYGEN +S 13 +1 0.2855454447E+06 0.1232394703E-04 +2 0.4758001234E+05 0.8909993869E-04 +3 0.1045912232E+05 0.5095688836E-03 +4 0.2849866727E+04 0.2227627174E-02 +5 0.9141599010E+03 0.8055726745E-02 +6 0.3309943250E+03 0.2506087175E-01 +7 0.1307751490E+03 0.6810474382E-01 +8 0.5488644600E+02 0.1582415835E+00 +9 0.2395757400E+02 0.2936697591E+00 +10 0.1069510500E+02 0.3676849464E+00 +11 0.4817178000E+01 0.2046539227E+00 +12 0.2163672000E+01 0.2423893277E-01 +13 0.9584770000E+00 0.1787156220E-02 +S 9 +1 0.1307751490E+03 -0.6155812759E-03 +2 0.5488644600E+02 -0.3226082495E-02 +3 0.2395757400E+02 -0.1567898664E-01 +4 0.1069510500E+02 -0.5268182999E-01 +5 0.4817178000E+01 -0.7601761394E-01 +6 0.2163672000E+01 0.9789256331E-01 +7 0.9584770000E+00 0.3997720534E+00 +8 0.4138940000E+00 0.4745293698E+00 +9 0.1718760000E+00 0.1650578034E+00 +S 1 +1 0.2782638000E+01 0.1000000000E+01 +S 1 +1 0.1136898000E+01 0.1000000000E+01 +S 1 +1 0.4645010000E+00 0.1000000000E+01 +S 1 +1 0.1897800000E+00 0.1000000000E+01 +S 1 +1 0.6990330726E-01 0.1000000000E+01 +P 10 +1 0.5208755060E+03 0.1652946190E-03 +2 0.1252922050E+03 0.1436820080E-02 +3 0.3988108800E+02 0.7746714928E-02 +4 0.1506305300E+02 0.2851339639E-01 +5 0.6270530000E+01 0.8326878058E-01 +6 0.2744670000E+01 0.1878033940E+00 +7 0.1227278000E+01 0.2986524639E+00 +8 0.5500130000E+00 0.3372505969E+00 +9 0.2426870000E+00 0.2478459319E+00 +10 0.1028240000E+00 0.7068092538E-01 +P 1 +1 0.2525615000E+01 0.1000000000E+01 +P 1 +1 0.9702130000E+00 0.1000000000E+01 +P 1 +1 0.3727070000E+00 0.1000000000E+01 +P 1 +1 0.1431750000E+00 0.1000000000E+01 +P 1 +1 0.5018616452E-01 0.1000000000E+01 +D 1 +1 0.6372829000E+01 0.1000000000E+01 +D 1 +1 0.2533966000E+01 0.1000000000E+01 +D 1 +1 0.1007556000E+01 0.1000000000E+01 +D 1 +1 0.4006250000E+00 0.1000000000E+01 +D 1 +1 0.1592967000E+00 0.1000000000E+01 +F 1 +1 0.3900466000E+01 0.1000000000E+01 +F 1 +1 0.1573726000E+01 0.1000000000E+01 +F 1 +1 0.6349540000E+00 0.1000000000E+01 +F 1 +1 0.2561860000E+00 0.1000000000E+01 +G 1 +1 0.3295764000E+01 0.1000000000E+01 +G 1 +1 0.1225189000E+01 0.1000000000E+01 +G 1 +1 0.4554598000E+00 0.1000000000E+01 +H 1 +1 0.2267363930E+01 0.1000000000E+01 + +FLUORINE +S 13 +1 0.3646704009E+06 0.1224601362E-04 +2 0.6067419383E+05 0.8866927385E-04 +3 0.1333654649E+05 0.5068427272E-03 +4 0.3635452855E+04 0.2214220887E-02 +5 0.1166666618E+04 0.8005051999E-02 +6 0.4225403220E+03 0.2491135814E-01 +7 0.1669746510E+03 0.6779417214E-01 +8 0.7009625900E+02 0.1579496420E+00 +9 0.3061119000E+02 0.2939635324E+00 +10 0.1367632100E+02 0.3677189130E+00 +11 0.6166138000E+01 0.2043463385E+00 +12 0.2771770000E+01 0.2461984635E-01 +13 0.1227567000E+01 0.1882036329E-02 +S 9 +1 0.1669746510E+03 -0.6336348180E-03 +2 0.7009625900E+02 -0.3346029509E-02 +3 0.3061119000E+02 -0.1632002165E-01 +4 0.1367632100E+02 -0.5414255291E-01 +5 0.6166138000E+01 -0.7464730391E-01 +6 0.2771770000E+01 0.1055270775E+00 +7 0.1227567000E+01 0.4060118072E+00 +8 0.5287200000E+00 0.4684078906E+00 +9 0.2180500000E+00 0.1592052208E+00 +S 1 +1 0.3971058000E+01 0.1000000000E+01 +S 1 +1 0.1602317000E+01 0.1000000000E+01 +S 1 +1 0.6465330000E+00 0.1000000000E+01 +S 1 +1 0.2608750000E+00 0.1000000000E+01 +S 1 +1 0.9576789520E-01 0.1000000000E+01 +P 11 +1 0.1053423895E+04 0.7616661050E-04 +2 0.2550839630E+03 0.6707075360E-03 +3 0.8113810400E+02 0.3829499800E-02 +4 0.3075997900E+02 0.1511351630E-01 +5 0.1297028600E+02 0.4665758140E-01 +6 0.5804900000E+01 0.1173671020E+00 +7 0.2675277000E+01 0.2218977950E+00 +8 0.1244968000E+01 0.3029457700E+00 +9 0.5764470000E+00 0.3063322090E+00 +10 0.2614280000E+00 0.2039422000E+00 +11 0.1135450000E+00 0.5234024850E-01 +P 1 +1 0.3310404000E+01 0.1000000000E+01 +P 1 +1 0.1256062000E+01 0.1000000000E+01 +P 1 +1 0.4765860000E+00 0.1000000000E+01 +P 1 +1 0.1808300000E+00 0.1000000000E+01 +P 1 +1 0.6405054100E-01 0.1000000000E+01 +D 1 +1 0.7798116000E+01 0.1000000000E+01 +D 1 +1 0.3105955000E+01 0.1000000000E+01 +D 1 +1 0.1237088000E+01 0.1000000000E+01 +D 1 +1 0.4927270000E+00 0.1000000000E+01 +D 1 +1 0.1962510000E+00 0.1000000000E+01 +F 1 +1 0.5354588000E+01 0.1000000000E+01 +F 1 +1 0.2125031000E+01 0.1000000000E+01 +F 1 +1 0.8433430000E+00 0.1000000000E+01 +F 1 +1 0.3346900000E+00 0.1000000000E+01 +G 1 +1 0.4288638000E+01 0.1000000000E+01 +G 1 +1 0.1550119000E+01 0.1000000000E+01 +G 1 +1 0.5602871000E+00 0.1000000000E+01 +H 1 +1 0.2964063753E+01 0.1000000000E+01 + +NEON +S 13 +1 0.3203050000E+06 0.1538139536E-04 +2 0.7554372846E+05 0.8173725851E-04 +3 0.1660165302E+05 0.5087570756E-03 +4 0.4524784554E+04 0.2193519830E-02 +5 0.1451651741E+04 0.7965021805E-02 +6 0.5255390890E+03 0.2478218919E-01 +7 0.2075865840E+03 0.6759737264E-01 +8 0.8711844700E+02 0.1578611434E+00 +9 0.3804271500E+02 0.2945077170E+00 +10 0.1700059600E+02 0.3678091693E+00 +11 0.7668198000E+01 0.2037219636E+00 +12 0.3447995000E+01 0.2476974154E-01 +13 0.1526412000E+01 0.1975499741E-02 +S 9 +1 0.2075865840E+03 -0.6472683914E-03 +2 0.8711844700E+02 -0.3444179878E-02 +3 0.3804271500E+02 -0.1684900152E-01 +4 0.1700059600E+02 -0.5530930181E-01 +5 0.7668198000E+01 -0.7326412109E-01 +6 0.3447995000E+01 0.1118728715E+00 +7 0.1526412000E+01 0.4102955824E+00 +8 0.6560750000E+00 0.4633686608E+00 +9 0.2692120000E+00 0.1549859686E+00 +S 1 +1 0.5663604000E+01 0.1000000000E+01 +S 1 +1 0.2354031000E+01 0.1000000000E+01 +S 1 +1 0.9784340000E+00 0.1000000000E+01 +S 1 +1 0.4066780000E+00 0.1000000000E+01 +S 1 +1 0.1104677100E+00 0.1000000000E+01 +P 12 +1 0.2065537160E+04 0.3511416142E-04 +2 0.5025211230E+03 0.3116357070E-03 +3 0.1594703590E+03 0.1849485790E-02 +4 0.6043998800E+02 0.7762648123E-02 +5 0.2564842700E+02 0.2533603190E-01 +6 0.1164715300E+02 0.6866002003E-01 +7 0.5490203000E+01 0.1497005810E+00 +8 0.2633348000E+01 0.2438020450E+00 +9 0.1267578000E+01 0.2967876450E+00 +10 0.6049720000E+00 0.2750817790E+00 +11 0.2820910000E+00 0.1676551620E+00 +12 0.1257420000E+00 0.3874148493E-01 +P 1 +1 0.4508311000E+01 0.1000000000E+01 +P 1 +1 0.1744696000E+01 0.1000000000E+01 +P 1 +1 0.6751900000E+00 0.1000000000E+01 +P 1 +1 0.2612950000E+00 0.1000000000E+01 +P 1 +1 0.5604946800E-01 0.1000000000E+01 +D 1 +1 0.9648793000E+01 0.1000000000E+01 +D 1 +1 0.3830774000E+01 0.1000000000E+01 +D 1 +1 0.1520898000E+01 0.1000000000E+01 +D 1 +1 0.6038280000E+00 0.1000000000E+01 +D 1 +1 0.2397320000E+00 0.1000000000E+01 +F 1 +1 0.7021798000E+01 0.1000000000E+01 +F 1 +1 0.2765240000E+01 0.1000000000E+01 +F 1 +1 0.1088973000E+01 0.1000000000E+01 +F 1 +1 0.4288460000E+00 0.1000000000E+01 +G 1 +1 0.5390488000E+01 0.1000000000E+01 +G 1 +1 0.1912863000E+01 0.1000000000E+01 +G 1 +1 0.6787965000E+00 0.1000000000E+01 +H 1 +1 0.3737561801E+01 0.1000000000E+01 + +SODIUM +S 14 +1 0.6026358954E+06 0.1058966628E-04 +2 0.1053970054E+06 0.7273476674E-04 +3 0.2326876868E+05 0.4228222517E-03 +4 0.6248779275E+04 0.1899406987E-02 +5 0.1970702082E+04 0.7018585214E-02 +6 0.7061788390E+03 0.2205482576E-01 +7 0.2788629740E+03 0.5996917828E-01 +8 0.1180126370E+03 0.1404558181E+00 +9 0.5220178400E+02 0.2682592105E+00 +10 0.2361628600E+02 0.3650484451E+00 +11 0.1072912100E+02 0.2439811823E+00 +12 0.4824146000E+01 0.4218203463E-01 +13 0.2124186000E+01 0.1928350007E-02 +14 0.9102090000E+00 -0.1364428631E-04 +S 11 +1 0.7061788390E+03 -0.7563825893E-04 +2 0.2788629740E+03 -0.5376546834E-03 +3 0.1180126370E+03 -0.3200264623E-02 +4 0.5220178400E+02 -0.1446153275E-01 +5 0.2361628600E+02 -0.4961361299E-01 +6 0.1072912100E+02 -0.8189918172E-01 +7 0.4824146000E+01 0.7037907703E-01 +8 0.2124186000E+01 0.4041073890E+00 +9 0.9102090000E+00 0.5011810804E+00 +10 0.3788690000E+00 0.1557230147E+00 +11 0.1536520000E+00 -0.1935084729E-02 +S 7 +1 0.4824146000E+01 -0.3025277585E-03 +2 0.2124186000E+01 -0.7037511925E-02 +3 0.9102090000E+00 -0.4025910917E-01 +4 0.3788690000E+00 -0.1136652200E+00 +5 0.1536520000E+00 0.1933146785E-01 +6 0.6120300000E-01 0.5935913795E+00 +7 0.2426600000E-01 0.4895367122E+00 +S 1 +1 0.1265692000E+01 0.1000000000E+01 +S 1 +1 0.5316860000E+00 0.1000000000E+01 +S 1 +1 0.2233480000E+00 0.1000000000E+01 +S 1 +1 0.9382300000E-01 0.1000000000E+01 +S 1 +1 0.6990524121E-02 0.1000000000E+01 +P 12 +1 0.1124680894E+04 0.1512229002E-03 +2 0.2809127850E+03 0.1290971966E-02 +3 0.8819047200E+02 0.7505125790E-02 +4 0.3279968100E+02 0.2939630490E-01 +5 0.1368409900E+02 0.8618534187E-01 +6 0.6100453000E+01 0.1896685012E+00 +7 0.2788668000E+01 0.2991903259E+00 +8 0.1265282000E+01 0.3438596307E+00 +9 0.5571440000E+00 0.2401392748E+00 +10 0.2354640000E+00 0.5514839537E-01 +11 0.9567400000E-01 0.5922265770E-03 +12 0.3797000000E-01 0.5699960160E-03 +P 8 +1 0.6100453000E+01 -0.4066023617E-03 +2 0.2788668000E+01 -0.6456588570E-03 +3 0.1265282000E+01 -0.1711501387E-02 +4 0.5571440000E+00 -0.7950558081E-02 +5 0.2354640000E+00 0.6843989676E-02 +6 0.9567400000E-01 0.1754298436E+00 +7 0.3797000000E-01 0.5441462078E+00 +8 0.1518600000E-01 0.3832297487E+00 +P 1 +1 0.5581280000E+00 0.1000000000E+01 +P 1 +1 0.2480530000E+00 0.1000000000E+01 +P 1 +1 0.1102440000E+00 0.1000000000E+01 +P 1 +1 0.4899600000E-01 0.1000000000E+01 +P 1 +1 0.5963331000E-02 0.1000000000E+01 +D 1 +1 0.2712324300E+01 0.1000000000E+01 +D 1 +1 0.7103990000E+00 0.1000000000E+01 +D 1 +1 0.3009450000E+00 0.1000000000E+01 +D 1 +1 0.1274890000E+00 0.1000000000E+01 +D 1 +1 0.5400800000E-01 0.1000000000E+01 +D 1 +1 0.2287930000E-01 0.1000000000E+01 +F 1 +1 0.2574940000E+00 0.1000000000E+01 +F 1 +1 0.1463890000E+00 0.1000000000E+01 +F 1 +1 0.8322400000E-01 0.1000000000E+01 +F 1 +1 0.4731380000E-01 0.1000000000E+01 +G 1 +1 0.2401840000E+00 0.1000000000E+01 +G 1 +1 0.1412020000E+00 0.1000000000E+01 +G 1 +1 0.8301130000E-01 0.1000000000E+01 +H 1 +1 0.1980563545E+00 0.1000000000E+01 + +MAGNESIUM +S 14 +1 0.7744772960E+06 0.9658741128E-05 +2 0.1350611150E+06 0.6649314619E-04 +3 0.2984633390E+05 0.3854550265E-03 +4 0.8029919260E+04 0.1728059619E-02 +5 0.2535034920E+04 0.6389043595E-02 +6 0.9080145700E+03 0.2016527175E-01 +7 0.3579560300E+03 0.5531803126E-01 +8 0.1511515800E+03 0.1314516522E+00 +9 0.6675813000E+02 0.2565187392E+00 +10 0.3021540800E+02 0.3624236277E+00 +11 0.1377812000E+02 0.2622833481E+00 +12 0.6244402000E+01 0.5383773518E-01 +13 0.2784512000E+01 0.2216532161E-02 +14 0.1213714000E+01 0.3541684136E-03 +S 11 +1 0.3579560300E+03 -0.4919828966E-03 +2 0.1511515800E+03 -0.2657661974E-02 +3 0.6675813000E+02 -0.1326690430E-01 +4 0.3021540800E+02 -0.4702326107E-01 +5 0.1377812000E+02 -0.8466623904E-01 +6 0.6244402000E+01 0.4842963250E-01 +7 0.2784512000E+01 0.3932225726E+00 +8 0.1213714000E+01 0.5198217864E+00 +9 0.5155800000E+00 0.1621074971E+00 +10 0.2135800000E+00 -0.4061233543E-02 +11 0.8665000000E-01 0.4205677640E-02 +S 7 +1 0.6244402000E+01 -0.2779801294E-03 +2 0.2784512000E+01 -0.8617106290E-02 +3 0.1213714000E+01 -0.6692192621E-01 +4 0.5155800000E+00 -0.1308587554E+00 +5 0.2135800000E+00 0.1667318823E+00 +6 0.8665000000E-01 0.6173972911E+00 +7 0.3470500000E-01 0.3672289832E+00 +S 1 +1 0.8012960000E+00 0.1000000000E+01 +S 1 +1 0.3838830000E+00 0.1000000000E+01 +S 1 +1 0.1839090000E+00 0.1000000000E+01 +S 1 +1 0.8810700000E-01 0.1000000000E+01 +S 1 +1 0.1390002300E-01 0.1000000000E+01 +P 12 +1 0.1622337610E+04 0.1175553789E-03 +2 0.4015644360E+03 0.1016028943E-02 +3 0.1266736400E+03 0.5942232908E-02 +4 0.4745839000E+02 0.2379563179E-01 +5 0.1992457700E+02 0.7227113155E-01 +6 0.8945067000E+01 0.1687111133E+00 +7 0.4140202000E+01 0.2848137716E+00 +8 0.1922315000E+01 0.3478390570E+00 +9 0.8783170000E+00 0.2607688000E+00 +10 0.3901570000E+00 0.7125874843E-01 +11 0.1674720000E+00 0.2983942317E-02 +12 0.6938600000E-01 0.1242972942E-02 +P 7 +1 0.4140202000E+01 -0.1825309856E-02 +2 0.1922315000E+01 -0.2094825010E-02 +3 0.8783170000E+00 -0.1210167887E-01 +4 0.3901570000E+00 0.2934263353E-01 +5 0.1674720000E+00 0.2675248536E+00 +6 0.6938600000E-01 0.5449149334E+00 +7 0.2782600000E-01 0.2807148585E+00 +P 1 +1 0.7592150000E+00 0.1000000000E+01 +P 1 +1 0.3744500000E+00 0.1000000000E+01 +P 1 +1 0.1846810000E+00 0.1000000000E+01 +P 1 +1 0.9108600000E-01 0.1000000000E+01 +P 1 +1 0.1115911400E-01 0.1000000000E+01 +D 1 +1 0.2877955200E+01 0.1000000000E+01 +D 1 +1 0.7196780000E+00 0.1000000000E+01 +D 1 +1 0.3664030000E+00 0.1000000000E+01 +D 1 +1 0.1865430000E+00 0.1000000000E+01 +D 1 +1 0.9497300000E-01 0.1000000000E+01 +D 1 +1 0.4835270000E-01 0.1000000000E+01 +F 1 +1 0.3695950000E+00 0.1000000000E+01 +F 1 +1 0.2471990000E+00 0.1000000000E+01 +F 1 +1 0.1653360000E+00 0.1000000000E+01 +F 1 +1 0.1105820000E+00 0.1000000000E+01 +G 1 +1 0.3863990000E+00 0.1000000000E+01 +G 1 +1 0.1926580000E+00 0.1000000000E+01 +G 1 +1 0.9605900000E-01 0.1000000000E+01 +H 1 +1 0.3106522415E+00 0.1000000000E+01 + +ALUMINIUM +S 14 +1 0.9995154570E+06 0.8679148069E-05 +2 0.1708543745E+06 0.6108475630E-04 +3 0.3764463228E+05 0.3523941331E-03 +4 0.1017596273E+05 0.1565651075E-02 +5 0.3232711218E+04 0.5747476715E-02 +6 0.1162969823E+04 0.1812854061E-01 +7 0.4590271700E+03 0.5011583613E-01 +8 0.1935537130E+03 0.1211020606E+00 +9 0.8528023800E+02 0.2426190813E+00 +10 0.3855981500E+02 0.3577561807E+00 +11 0.1763524900E+02 0.2823086161E+00 +12 0.8066271000E+01 0.6946474343E-01 +13 0.3658108000E+01 0.2994080923E-02 +14 0.1634343000E+01 0.8109325102E-03 +S 11 +1 0.1162969823E+04 -0.5769443974E-04 +2 0.4590271700E+03 -0.4186198663E-03 +3 0.1935537130E+03 -0.2583758180E-02 +4 0.8528023800E+02 -0.1222709920E-01 +5 0.3855981500E+02 -0.4442621664E-01 +6 0.1763524900E+02 -0.8714373852E-01 +7 0.8066271000E+01 0.2290042185E-01 +8 0.3658108000E+01 0.3626487399E+00 +9 0.1634343000E+01 0.5381528377E+00 +10 0.7159880000E+00 0.1898781451E+00 +11 0.3065340000E+00 0.9230024011E-04 +S 7 +1 0.8066271000E+01 0.1084036265E-03 +2 0.3658108000E+01 -0.9736193135E-02 +3 0.1634343000E+01 -0.8291372705E-01 +4 0.7159880000E+00 -0.1472750269E+00 +5 0.3065340000E+00 0.2331259645E+00 +6 0.1279250000E+00 0.6336607302E+00 +7 0.5192700000E-01 0.3089614210E+00 +S 1 +1 0.1444888000E+01 0.1000000000E+01 +S 1 +1 0.6876990000E+00 0.1000000000E+01 +S 1 +1 0.3273120000E+00 0.1000000000E+01 +S 1 +1 0.1557850000E+00 0.1000000000E+01 +S 1 +1 0.2151082793E-01 0.1000000000E+01 +P 12 +1 0.2911196039E+04 0.5894289262E-04 +2 0.7307039530E+03 0.5042511130E-03 +3 0.2307747510E+03 0.3065759982E-02 +4 0.8621065200E+02 0.1310102307E-01 +5 0.3620570900E+02 0.4272434565E-01 +6 0.1640600900E+02 0.1107238421E+00 +7 0.7764855000E+01 0.2183271147E+00 +8 0.3743445000E+01 0.3164023125E+00 +9 0.1803885000E+01 0.3246316543E+00 +10 0.8568500000E+00 0.1725840581E+00 +11 0.3971620000E+00 0.2616459498E-01 +12 0.1782920000E+00 0.1552903214E-02 +P 8 +1 0.7764855000E+01 -0.1628576050E-02 +2 0.3743445000E+01 -0.2056631716E-02 +3 0.1803885000E+01 -0.8279306984E-02 +4 0.8568500000E+00 -0.3781447224E-03 +5 0.3971620000E+00 0.1154755039E+00 +6 0.1782920000E+00 0.3452543657E+00 +7 0.7704500000E-01 0.4707921512E+00 +8 0.3185900000E-01 0.2085340655E+00 +P 1 +1 0.1106729000E+01 0.1000000000E+01 +P 1 +1 0.5390690000E+00 0.1000000000E+01 +P 1 +1 0.2625720000E+00 0.1000000000E+01 +P 1 +1 0.1278940000E+00 0.1000000000E+01 +P 1 +1 0.1375788872E-01 0.1000000000E+01 +D 1 +1 0.1994537451E+01 0.1000000000E+01 +D 1 +1 0.5243120000E+00 0.1000000000E+01 +D 1 +1 0.2797500000E+00 0.1000000000E+01 +D 1 +1 0.1492620000E+00 0.1000000000E+01 +D 1 +1 0.7964000000E-01 0.1000000000E+01 +D 1 +1 0.4249250000E-01 0.1000000000E+01 +F 1 +1 0.5641070000E+00 0.1000000000E+01 +F 1 +1 0.2986030000E+00 0.1000000000E+01 +F 1 +1 0.1580620000E+00 0.1000000000E+01 +F 1 +1 0.8366820000E-01 0.1000000000E+01 +G 1 +1 0.5272750000E+00 0.1000000000E+01 +G 1 +1 0.2547370000E+00 0.1000000000E+01 +G 1 +1 0.1230680000E+00 0.1000000000E+01 +H 1 +1 0.4288364052E+00 0.1000000000E+01 + +SILICON +S 14 +1 0.1242960090E+07 0.7994545438E-05 +2 0.2111287651E+06 0.5663112726E-04 +3 0.4650724029E+05 0.3258862363E-03 +4 0.1259670014E+05 0.1443467074E-02 +5 0.4009048324E+04 0.5293618021E-02 +6 0.1442976180E+04 0.1673935287E-01 +7 0.5689710210E+03 0.4659719624E-01 +8 0.2394437010E+03 0.1139317802E+00 +9 0.1053058130E+03 0.2323851846E+00 +10 0.4759587200E+02 0.3528373033E+00 +11 0.2182028200E+02 0.2957626335E+00 +12 0.1004385000E+02 0.8242023321E-01 +13 0.4604970000E+01 0.3922802599E-02 +14 0.2089470000E+01 0.1145068401E-02 +S 11 +1 0.1442976180E+04 -0.5143621833E-04 +2 0.5689710210E+03 -0.3780800659E-03 +3 0.2394437010E+03 -0.2362724957E-02 +4 0.1053058130E+03 -0.1140102655E-01 +5 0.4759587200E+02 -0.4229660535E-01 +6 0.2182028200E+02 -0.8804430654E-01 +7 0.1004385000E+02 0.5417990128E-02 +8 0.4604970000E+01 0.3421651455E+00 +9 0.2089470000E+01 0.5492352485E+00 +10 0.9329900000E+00 0.2079744227E+00 +11 0.4077050000E+00 0.2436775449E-02 +S 7 +1 0.1004385000E+02 0.3928295272E-03 +2 0.4604970000E+01 -0.1009291853E-01 +3 0.2089470000E+01 -0.9592074962E-01 +4 0.9329900000E+00 -0.1515863023E+00 +5 0.4077050000E+00 0.2715779181E+00 +6 0.1732940000E+00 0.6307500766E+00 +7 0.7111500000E-01 0.2859818451E+00 +S 1 +1 0.2224188000E+01 0.1000000000E+01 +S 1 +1 0.1005878000E+01 0.1000000000E+01 +S 1 +1 0.4549030000E+00 0.1000000000E+01 +S 1 +1 0.2057280000E+00 0.1000000000E+01 +S 1 +1 0.3145777156E-01 0.1000000000E+01 +P 12 +1 0.3580272529E+04 0.5618772402E-04 +2 0.8929146940E+03 0.4850036549E-03 +3 0.2822241260E+03 0.2942857660E-02 +4 0.1057416930E+03 0.1262343449E-01 +5 0.4452294200E+02 0.4153041338E-01 +6 0.2020759100E+02 0.1091642434E+00 +7 0.9578253000E+01 0.2187424408E+00 +8 0.4631673000E+01 0.3214564457E+00 +9 0.2246719000E+01 0.3264303459E+00 +10 0.1080164000E+01 0.1642519114E+00 +11 0.5101210000E+00 0.2308588839E-01 +12 0.2348570000E+00 0.1516856583E-02 +P 8 +1 0.9578253000E+01 -0.2247191821E-02 +2 0.4631673000E+01 -0.3021016879E-02 +3 0.2246719000E+01 -0.1110752690E-01 +4 0.1080164000E+01 0.9732873912E-02 +5 0.5101210000E+00 0.1600017268E+00 +6 0.2348570000E+00 0.3871003263E+00 +7 0.1045750000E+00 0.4283169846E+00 +8 0.4458400000E-01 0.1550656605E+00 +P 1 +1 0.1425817000E+01 0.1000000000E+01 +P 1 +1 0.7089380000E+00 0.1000000000E+01 +P 1 +1 0.3524950000E+00 0.1000000000E+01 +P 1 +1 0.1752660000E+00 0.1000000000E+01 +P 1 +1 0.2434445421E-01 0.1000000000E+01 +D 1 +1 0.5006021774E+01 0.1000000000E+01 +D 1 +1 0.1444411000E+01 0.1000000000E+01 +D 1 +1 0.6367220000E+00 0.1000000000E+01 +D 1 +1 0.2806790000E+00 0.1000000000E+01 +D 1 +1 0.1237280000E+00 0.1000000000E+01 +D 1 +1 0.5454130000E-01 0.1000000000E+01 +F 1 +1 0.6814450000E+00 0.1000000000E+01 +F 1 +1 0.3550550000E+00 0.1000000000E+01 +F 1 +1 0.1849960000E+00 0.1000000000E+01 +F 1 +1 0.9638930000E-01 0.1000000000E+01 +G 1 +1 0.6979880000E+00 0.1000000000E+01 +G 1 +1 0.3318310000E+00 0.1000000000E+01 +G 1 +1 0.1577560000E+00 0.1000000000E+01 +H 1 +1 0.5736191974E+00 0.1000000000E+01 + +PHOSPHORUS +S 14 +1 0.1490713457E+07 0.7595125549E-05 +2 0.2523241161E+06 0.5398175414E-04 +3 0.5559611708E+05 0.3100080506E-03 +4 0.1508252793E+05 0.1369881349E-02 +5 0.4807139004E+04 0.5018819513E-02 +6 0.1731264942E+04 0.1588898114E-01 +7 0.6824254990E+03 0.4440453132E-01 +8 0.2869511660E+03 0.1093205774E+00 +9 0.1261217910E+03 0.2254532770E+00 +10 0.5703201500E+02 0.3486293886E+00 +11 0.2621114900E+02 0.3039771559E+00 +12 0.1212791800E+02 0.9203762797E-01 +13 0.5607144000E+01 0.4840098759E-02 +14 0.2573533000E+01 0.1361733889E-02 +S 11 +1 0.1731264942E+04 -0.4831636607E-04 +2 0.6824254990E+03 -0.3551500857E-03 +3 0.2869511660E+03 -0.2244006216E-02 +4 0.1261217910E+03 -0.1093233812E-01 +5 0.5703201500E+02 -0.4111069875E-01 +6 0.2621114900E+02 -0.8853956275E-01 +7 0.1212791800E+02 -0.6052778218E-02 +8 0.5607144000E+01 0.3293523770E+00 +9 0.2573533000E+01 0.5565223566E+00 +10 0.1165223000E+01 0.2183592479E+00 +11 0.5168280000E+00 0.4560894583E-02 +S 7 +1 0.1212791800E+02 0.6427051443E-03 +2 0.5607144000E+01 -0.1049619910E-01 +3 0.2573533000E+01 -0.1073256293E+00 +4 0.1165223000E+01 -0.1504173420E+00 +5 0.5168280000E+00 0.2982045767E+00 +6 0.2226600000E+00 0.6252209381E+00 +7 0.9216400000E-01 0.2721459262E+00 +S 1 +1 0.3051428000E+01 0.1000000000E+01 +S 1 +1 0.1341556000E+01 0.1000000000E+01 +S 1 +1 0.5898140000E+00 0.1000000000E+01 +S 1 +1 0.2593110000E+00 0.1000000000E+01 +S 1 +1 0.3853663158E-01 0.1000000000E+01 +P 12 +1 0.4330098568E+04 0.5360439644E-04 +2 0.1076442979E+04 0.4648987196E-03 +3 0.3404875880E+03 0.2818996165E-02 +4 0.1278328400E+03 0.1214170980E-01 +5 0.5393604700E+02 0.4024827064E-01 +6 0.2452644400E+02 0.1070114781E+00 +7 0.1165195100E+02 0.2175194555E+00 +8 0.5655039000E+01 0.3243027744E+00 +9 0.2759892000E+01 0.3284498084E+00 +10 0.1339384000E+01 0.1601868783E+00 +11 0.6407810000E+00 0.2181532820E-01 +12 0.2997410000E+00 0.1488433511E-02 +P 8 +1 0.1165195100E+02 -0.2742658539E-02 +2 0.5655039000E+01 -0.3949555797E-02 +3 0.2759892000E+01 -0.1302177197E-01 +4 0.1339384000E+01 0.1923547426E-01 +5 0.6407810000E+00 0.1908502824E+00 +6 0.2997410000E+00 0.4050753130E+00 +7 0.1357600000E+00 0.3972689638E+00 +8 0.5874400000E-01 0.1283796560E+00 +P 1 +1 0.1860787000E+01 0.1000000000E+01 +P 1 +1 0.9252310000E+00 0.1000000000E+01 +P 1 +1 0.4600480000E+00 0.1000000000E+01 +P 1 +1 0.2287480000E+00 0.1000000000E+01 +P 1 +1 0.3247190110E-01 0.1000000000E+01 +D 1 +1 0.6313332873E+01 0.1000000000E+01 +D 1 +1 0.1905454000E+01 0.1000000000E+01 +D 1 +1 0.8357490000E+00 0.1000000000E+01 +D 1 +1 0.3665670000E+00 0.1000000000E+01 +D 1 +1 0.1607800000E+00 0.1000000000E+01 +D 1 +1 0.7051970000E-01 0.1000000000E+01 +F 1 +1 0.8580260000E+00 0.1000000000E+01 +F 1 +1 0.4454150000E+00 0.1000000000E+01 +F 1 +1 0.2312220000E+00 0.1000000000E+01 +F 1 +1 0.1200310000E+00 0.1000000000E+01 +G 1 +1 0.8944380000E+00 0.1000000000E+01 +G 1 +1 0.4216570000E+00 0.1000000000E+01 +G 1 +1 0.1987780000E+00 0.1000000000E+01 +H 1 +1 0.7395825319E+00 0.1000000000E+01 + +SULFUR +S 14 +1 0.1767451410E+07 0.7240425726E-05 +2 0.2977979677E+06 0.5171679830E-04 +3 0.6556874449E+05 0.2967496273E-03 +4 0.1780076538E+05 0.1309645991E-02 +5 0.5677246766E+04 0.4797778640E-02 +6 0.2044403549E+04 0.1521730048E-01 +7 0.8050754420E+03 0.4270635843E-01 +8 0.3380296950E+03 0.1058187270E+00 +9 0.1483821190E+03 0.2202768888E+00 +10 0.6707902700E+02 0.3453958345E+00 +11 0.3087502800E+02 0.3098386431E+00 +12 0.1434182100E+02 0.9954713197E-01 +13 0.6674510000E+01 0.5699145910E-02 +14 0.3091238000E+01 0.1504444963E-02 +S 11 +1 0.2044403549E+04 -0.4604068227E-04 +2 0.8050754420E+03 -0.3376151365E-03 +3 0.3380296950E+03 -0.2160625408E-02 +4 0.1483821190E+03 -0.1060847185E-01 +5 0.6707902700E+02 -0.4037684601E-01 +6 0.3087502800E+02 -0.8898019434E-01 +7 0.1434182100E+02 -0.1431543641E-01 +8 0.6674510000E+01 0.3210007810E+00 +9 0.3091238000E+01 0.5618219676E+00 +10 0.1414550000E+01 0.2247027288E+00 +11 0.6340210000E+00 0.6215637551E-02 +S 7 +1 0.1434182100E+02 0.9151554167E-03 +2 0.6674510000E+01 -0.1118979724E-01 +3 0.3091238000E+01 -0.1177961448E+00 +4 0.1414550000E+01 -0.1482152086E+00 +5 0.6340210000E+00 0.3257281703E+00 +6 0.2752480000E+00 0.6218366227E+00 +7 0.1140470000E+00 0.2542887098E+00 +S 1 +1 0.3876450000E+01 0.1000000000E+01 +S 1 +1 0.1733562000E+01 0.1000000000E+01 +S 1 +1 0.7752550000E+00 0.1000000000E+01 +S 1 +1 0.3466970000E+00 0.1000000000E+01 +S 1 +1 0.5044741104E-01 0.1000000000E+01 +P 12 +1 0.4974408218E+04 0.5443636482E-04 +2 0.1240658036E+04 0.4707474699E-03 +3 0.3922265940E+03 0.2865666089E-02 +4 0.1470541430E+03 0.1241522307E-01 +5 0.6201427900E+02 0.4129390802E-01 +6 0.2823148400E+02 0.1097662415E+00 +7 0.1344892800E+02 0.2222793968E+00 +8 0.6551872000E+01 0.3304691256E+00 +9 0.3209985000E+01 0.3261279948E+00 +10 0.1562272000E+01 0.1473156830E+00 +11 0.7479980000E+00 0.1758107575E-01 +12 0.3491580000E+00 0.1283330752E-02 +P 8 +1 0.1344892800E+02 -0.3286506956E-02 +2 0.6551872000E+01 -0.4944756999E-02 +3 0.3209985000E+01 -0.1486558047E-01 +4 0.1562272000E+01 0.3820396711E-01 +5 0.7479980000E+00 0.2310499386E+00 +6 0.3491580000E+00 0.4073401077E+00 +7 0.1572960000E+00 0.3627965584E+00 +8 0.6749800000E-01 0.1137703037E+00 +P 1 +1 0.2248572000E+01 0.1000000000E+01 +P 1 +1 0.1051162000E+01 0.1000000000E+01 +P 1 +1 0.4913970000E+00 0.1000000000E+01 +P 1 +1 0.2297180000E+00 0.1000000000E+01 +P 1 +1 0.3866658881E-01 0.1000000000E+01 +D 1 +1 0.8388553065E+01 0.1000000000E+01 +D 1 +1 0.2366037000E+01 0.1000000000E+01 +D 1 +1 0.1031649000E+01 0.1000000000E+01 +D 1 +1 0.4498240000E+00 0.1000000000E+01 +D 1 +1 0.1961340000E+00 0.1000000000E+01 +D 1 +1 0.8551910000E-01 0.1000000000E+01 +F 1 +1 0.1072760000E+01 0.1000000000E+01 +F 1 +1 0.5390750000E+00 0.1000000000E+01 +F 1 +1 0.2708920000E+00 0.1000000000E+01 +F 1 +1 0.1361260000E+00 0.1000000000E+01 +G 1 +1 0.1076611000E+01 0.1000000000E+01 +G 1 +1 0.4773540000E+00 0.1000000000E+01 +G 1 +1 0.2116510000E+00 0.1000000000E+01 +H 1 +1 0.8751706746E+00 0.1000000000E+01 + +CHLORINE +S 14 +1 0.2042751207E+07 0.7043951518E-05 +2 0.3439006742E+06 0.5032478758E-04 +3 0.7579067915E+05 0.2882140866E-03 +4 0.2060303251E+05 0.1269859202E-02 +5 0.6576999654E+04 0.4650026674E-02 +6 0.2368903933E+04 0.1476296647E-01 +7 0.9324725820E+03 0.4153827776E-01 +8 0.3912511410E+03 0.1033376962E+00 +9 0.1716704040E+03 0.2164277627E+00 +10 0.7763968300E+02 0.3425911290E+00 +11 0.3580133800E+02 0.3137799442E+00 +12 0.1669100600E+02 0.1054705614E+00 +13 0.7811736000E+01 0.6487280398E-02 +14 0.3644964000E+01 0.1609673407E-02 +S 11 +1 0.2368903933E+04 -0.4483989712E-04 +2 0.9324725820E+03 -0.3267001341E-03 +3 0.3912511410E+03 -0.2112537440E-02 +4 0.1716704040E+03 -0.1040933221E-01 +5 0.7763968300E+02 -0.3994691434E-01 +6 0.3580133800E+02 -0.8933099902E-01 +7 0.1669100600E+02 -0.2054185122E-01 +8 0.7811736000E+01 0.3152342454E+00 +9 0.3644964000E+01 0.5658061014E+00 +10 0.1682345000E+01 0.2287548485E+00 +11 0.7605300000E+00 0.7737547372E-02 +S 8 +1 0.3580133800E+02 0.1434528355E-02 +2 0.1669100600E+02 -0.7415307657E-05 +3 0.7811736000E+01 -0.1293417405E-01 +4 0.3644964000E+01 -0.1332433073E+00 +5 0.1682345000E+01 -0.1449133924E+00 +6 0.7605300000E+00 0.3449058521E+00 +7 0.3323680000E+00 0.6191711120E+00 +8 0.1380000000E+00 0.2436767190E+00 +S 1 +1 0.4750545000E+01 0.1000000000E+01 +S 1 +1 0.2158954000E+01 0.1000000000E+01 +S 1 +1 0.9811670000E+00 0.1000000000E+01 +S 1 +1 0.4459060000E+00 0.1000000000E+01 +S 1 +1 0.6515386132E-01 0.1000000000E+01 +P 12 +1 0.5713625948E+04 0.5437073139E-04 +2 0.1427201847E+04 0.4695673686E-03 +3 0.4512575870E+03 0.2863369666E-02 +4 0.1691736680E+03 0.1245273566E-01 +5 0.7138027000E+02 0.4155097393E-01 +6 0.3254684400E+02 0.1106620288E+00 +7 0.1554778800E+02 0.2243027219E+00 +8 0.7603481000E+01 0.3340612301E+00 +9 0.3742161000E+01 0.3246051778E+00 +10 0.1829882000E+01 0.1402189074E+00 +11 0.8798260000E+00 0.1577480154E-01 +12 0.4119080000E+00 0.1170463383E-02 +P 9 +1 0.3254684400E+02 -0.9812773522E-03 +2 0.1554778800E+02 -0.3357813046E-02 +3 0.7603481000E+01 -0.8385385677E-02 +4 0.3742161000E+01 -0.1541254040E-01 +5 0.1829882000E+01 0.5123574523E-01 +6 0.8798260000E+00 0.2556017464E+00 +7 0.4119080000E+00 0.4063026722E+00 +8 0.1857290000E+00 0.3418670015E+00 +9 0.7954000000E-01 0.1032571477E+00 +P 1 +1 0.2686260000E+01 0.1000000000E+01 +P 1 +1 0.1316538000E+01 0.1000000000E+01 +P 1 +1 0.6452360000E+00 0.1000000000E+01 +P 1 +1 0.3162310000E+00 0.1000000000E+01 +P 1 +1 0.5050849210E-01 0.1000000000E+01 +D 1 +1 0.1152463752E+02 0.1000000000E+01 +D 1 +1 0.2951110000E+01 0.1000000000E+01 +D 1 +1 0.1277070000E+01 0.1000000000E+01 +D 1 +1 0.5526420000E+00 0.1000000000E+01 +D 1 +1 0.2391520000E+00 0.1000000000E+01 +D 1 +1 0.1034910000E+00 0.1000000000E+01 +F 1 +1 0.1325007000E+01 0.1000000000E+01 +F 1 +1 0.6713790000E+00 0.1000000000E+01 +F 1 +1 0.3401860000E+00 0.1000000000E+01 +F 1 +1 0.1723710000E+00 0.1000000000E+01 +G 1 +1 0.1314635000E+01 0.1000000000E+01 +G 1 +1 0.5780530000E+00 0.1000000000E+01 +G 1 +1 0.2541730000E+00 0.1000000000E+01 +H 1 +1 0.1058766496E+01 0.1000000000E+01 + +ARGON +S 14 +1 0.2336281209E+07 0.6881803261E-05 +2 0.3930126480E+06 0.4918671306E-04 +3 0.8666332881E+05 0.2813362159E-03 +4 0.2358058133E+05 0.1238023161E-02 +5 0.7533002864E+04 0.4531370443E-02 +6 0.2714073200E+04 0.1439284778E-01 +7 0.1068270040E+04 0.4056327463E-01 +8 0.4481399430E+03 0.1011995852E+00 +9 0.1966378050E+03 0.2129807752E+00 +10 0.8899163800E+02 0.3399109031E+00 +11 0.4110631200E+02 0.3171074054E+00 +12 0.1922265400E+02 0.1108626378E+00 +13 0.9037159000E+01 0.7261156970E-02 +14 0.4241430000E+01 0.1705839315E-02 +S 11 +1 0.1068270040E+04 -0.3217514580E-03 +2 0.4481399430E+03 -0.1881074214E-02 +3 0.1966378050E+03 -0.1003839392E-01 +4 0.8899163800E+02 -0.3903984429E-01 +5 0.4110631200E+02 -0.8901767473E-01 +6 0.1922265400E+02 -0.2603916746E-01 +7 0.9037159000E+01 0.3104197714E+00 +8 0.4241430000E+01 0.5667493115E+00 +9 0.1970887000E+01 0.2330141524E+00 +10 0.8970720000E+00 0.8160008319E-02 +11 0.3942530000E+00 0.4357466960E-02 +S 9 +1 0.8899163800E+02 -0.6064437531E-04 +2 0.4110631200E+02 0.1480099876E-02 +3 0.1922265400E+02 0.7447677737E-04 +4 0.9037159000E+01 -0.1304131357E-01 +5 0.4241430000E+01 -0.1410050666E+00 +6 0.1970887000E+01 -0.1393169521E+00 +7 0.8970720000E+00 0.3577729666E+00 +8 0.3942530000E+00 0.6150874908E+00 +9 0.1641230000E+00 0.2362284372E+00 +S 1 +1 0.5674548000E+01 0.1000000000E+01 +S 1 +1 0.2676529000E+01 0.1000000000E+01 +S 1 +1 0.1262446000E+01 0.1000000000E+01 +S 1 +1 0.5954610000E+00 0.1000000000E+01 +S 1 +1 0.6832252200E-01 0.1000000000E+01 +P 12 +1 0.6550869137E+04 0.5362327202E-04 +2 0.1638052982E+04 0.4629618994E-03 +3 0.5177164300E+03 0.2831205039E-02 +4 0.1939575470E+03 0.1237463611E-01 +5 0.8182731600E+02 0.4147773296E-01 +6 0.3734517300E+02 0.1108290793E+00 +7 0.1787950300E+02 0.2252392079E+00 +8 0.8774152000E+01 0.3364435460E+00 +9 0.4337729000E+01 0.3235320432E+00 +10 0.2131924000E+01 0.1358336206E+00 +11 0.1030326000E+01 0.1491508226E-01 +12 0.4845530000E+00 0.1089209886E-02 +P 9 +1 0.3734517300E+02 -0.1074808684E-02 +2 0.1787950300E+02 -0.3691788395E-02 +3 0.8774152000E+01 -0.9529825456E-02 +4 0.4337729000E+01 -0.1572607275E-01 +5 0.2131924000E+01 0.6238818364E-01 +6 0.1030326000E+01 0.2708670893E+00 +7 0.4845530000E+00 0.4050552845E+00 +8 0.2191800000E+00 0.3266848194E+00 +9 0.9396600000E-01 0.9546412001E-01 +P 1 +1 0.3372722000E+01 0.1000000000E+01 +P 1 +1 0.1729118000E+01 0.1000000000E+01 +P 1 +1 0.8864800000E+00 0.1000000000E+01 +P 1 +1 0.4544780000E+00 0.1000000000E+01 +P 1 +1 0.4028473900E-01 0.1000000000E+01 +D 1 +1 0.1183060844E+02 0.1000000000E+01 +D 1 +1 0.3585080000E+01 0.1000000000E+01 +D 1 +1 0.1543812000E+01 0.1000000000E+01 +D 1 +1 0.6647990000E+00 0.1000000000E+01 +D 1 +1 0.2862760000E+00 0.1000000000E+01 +D 1 +1 0.1232760000E+00 0.1000000000E+01 +F 1 +1 0.1600862000E+01 0.1000000000E+01 +F 1 +1 0.8254380000E+00 0.1000000000E+01 +F 1 +1 0.4256130000E+00 0.1000000000E+01 +F 1 +1 0.2194540000E+00 0.1000000000E+01 +G 1 +1 0.1584738000E+01 0.1000000000E+01 +G 1 +1 0.6995690000E+00 0.1000000000E+01 +G 1 +1 0.3088180000E+00 0.1000000000E+01 +H 1 +1 0.1274718290E+01 0.1000000000E+01 +$END \ No newline at end of file diff --git a/data/basis/5zapa-nr-cv b/data/basis/5zapa-nr-cv new file mode 100644 index 00000000..43e5d691 --- /dev/null +++ b/data/basis/5zapa-nr-cv @@ -0,0 +1,2636 @@ +!---------------------------------------------------------------------- +! Basis Set Exchange +! Version v0.8.12 +! https://www.basissetexchange.org +!---------------------------------------------------------------------- +! Basis set: 5ZaPa-NR-CV +! Description: Quintuple zeta augmented + polarization (nonrelativistic +! + core-valence) +! Role: orbital +! Version: 1 (Data from Supplemental Information of publications +! (modified)) +!---------------------------------------------------------------------- + + +$DATA + +HYDROGEN +S 9 +1 0.4728961400E+03 0.1592450921E-03 +2 0.1336328300E+03 0.7004505133E-03 +3 0.3001475200E+02 0.4370309362E-02 +4 0.8522086000E+01 0.1742418311E-01 +5 0.2788447000E+01 0.6043193672E-01 +6 0.1003987000E+01 0.1699217301E+00 +7 0.3894020000E+00 0.3497736601E+00 +8 0.1598170000E+00 0.4026405372E+00 +9 0.6696200000E-01 0.1393321071E+00 +S 1 +1 0.1937228000E+01 0.1000000000E+01 +S 1 +1 0.4989300000E+00 0.1000000000E+01 +S 1 +1 0.1853730000E+00 0.1000000000E+01 +S 1 +1 0.7151400000E-01 0.1000000000E+01 +S 1 +1 0.2881300000E-01 0.1000000000E+01 +S 1 +1 0.1057600000E-01 0.1000000000E+01 +P 1 +1 0.5468396000E+01 0.1000000000E+01 +P 1 +1 0.1843681000E+01 0.1000000000E+01 +P 1 +1 0.7068530000E+00 0.1000000000E+01 +P 1 +1 0.2533880000E+00 0.1000000000E+01 +P 1 +1 0.9083280000E-01 0.1000000000E+01 +D 1 +1 0.2703225000E+01 0.1000000000E+01 +D 1 +1 0.9452480000E+00 0.1000000000E+01 +D 1 +1 0.4109160000E+00 0.1000000000E+01 +D 1 +1 0.1786320000E+00 0.1000000000E+01 +F 1 +1 0.2832903000E+01 0.1000000000E+01 +F 1 +1 0.1030512000E+01 0.1000000000E+01 +F 1 +1 0.3748645000E+00 0.1000000000E+01 +G 1 +1 0.1476885483E+01 0.1000000000E+01 + +HELIUM +S 11 +1 0.9386607570E+04 0.2541698542E-04 +2 0.1435419670E+04 0.1985643591E-03 +3 0.3182819180E+03 0.1076710461E-02 +4 0.9001348100E+02 0.4430665363E-02 +5 0.2970919700E+02 0.1544792591E-01 +6 0.1080428500E+02 0.4683120303E-01 +7 0.4183588000E+01 0.1194190671E+00 +8 0.1692196000E+01 0.2369467612E+00 +9 0.7064170000E+00 0.3462347842E+00 +10 0.3003870000E+00 0.3110821362E+00 +11 0.1272440000E+00 0.9190013696E-01 +S 1 +1 0.5105517000E+01 0.1000000000E+01 +S 1 +1 0.1813715000E+01 0.1000000000E+01 +S 1 +1 0.6443150000E+00 0.1000000000E+01 +S 1 +1 0.2288900000E+00 0.1000000000E+01 +S 1 +1 0.5390058700E-01 0.1000000000E+01 +P 1 +1 0.1048532900E+02 0.1000000000E+01 +P 1 +1 0.3710406000E+01 0.1000000000E+01 +P 1 +1 0.1312988000E+01 0.1000000000E+01 +P 1 +1 0.4646220000E+00 0.1000000000E+01 +P 1 +1 0.1644130000E+00 0.1000000000E+01 +D 1 +1 0.7288276000E+01 0.1000000000E+01 +D 1 +1 0.2477231000E+01 0.1000000000E+01 +D 1 +1 0.8419920000E+00 0.1000000000E+01 +D 1 +1 0.2861860000E+00 0.1000000000E+01 +F 1 +1 0.4952266000E+01 0.1000000000E+01 +F 1 +1 0.1521701000E+01 0.1000000000E+01 +F 1 +1 0.4675786000E+00 0.1000000000E+01 +G 1 +1 0.3019662613E+01 0.1000000000E+01 + +LITHIUM +S 10 +1 0.8730000000E+04 0.6427624330E-04 +2 0.1993962785E+04 0.3562833636E-03 +3 0.4350209010E+03 0.2193023870E-02 +4 0.1194667800E+03 0.9180008142E-02 +5 0.3886311100E+02 0.3151893449E-01 +6 0.1419813700E+02 0.8915960783E-01 +7 0.5568863000E+01 0.2030621775E+00 +8 0.2262123000E+01 0.3508555294E+00 +9 0.9271220000E+00 0.3646339180E+00 +10 0.3774970000E+00 0.1114490623E+00 +S 7 +1 0.5568863000E+01 -0.2611655912E-02 +2 0.2262123000E+01 -0.1028009402E-01 +3 0.9271220000E+00 -0.4714146606E-01 +4 0.3774970000E+00 -0.9061771592E-01 +5 0.1520930000E+00 0.1078163977E+00 +6 0.6113900000E-01 0.6110183800E+00 +7 0.2504900000E-01 0.3945306471E+00 +S 1 +1 0.2119645760E+03 1.0000000 +S 1 +1 0.6968244500E+02 1.0000000 +S 1 +1 0.2290780500E+02 1.0000000 +S 1 +1 0.7530843000E+01 1.0000000 +S 1 +1 0.2475732000E+01 1.0000000 +S 1 +1 0.1011653000E+01 1.0000000 +S 1 +1 0.4134160000E+00 0.1000000000E+01 +S 1 +1 0.1652620000E+00 0.1000000000E+01 +S 1 +1 0.6606300000E-01 0.1000000000E+01 +S 1 +1 0.2640900000E-01 0.1000000000E+01 +S 1 +1 0.7039890528E-02 0.1000000000E+01 +P 7 +1 0.1109297700E+02 0.1370401540E-02 +2 0.2552497000E+01 0.8883018393E-02 +3 0.7322110000E+00 0.3278204941E-01 +4 0.2431890000E+00 0.1142499250E+00 +5 0.9086400000E-01 0.3258762281E+00 +6 0.3737000000E-01 0.4868317542E+00 +7 0.1604600000E-01 0.2108541151E+00 +P 1 +1 0.3937933300E+02 1.0000000 +P 1 +1 0.1593209600E+02 1.0000000 +P 1 +1 0.6445810000E+01 1.0000000 +P 1 +1 0.2607847000E+01 1.0000000 +P 1 +1 0.1817552000E+01 0.1000000000E+01 +P 1 +1 0.1055083000E+01 1.0000000 +P 1 +1 0.6230500000E+00 0.1000000000E+01 +P 1 +1 0.2135800000E+00 0.1000000000E+01 +P 1 +1 0.7321400000E-01 0.1000000000E+01 +P 1 +1 0.6889861000E-02 0.1000000000E+01 +D 1 +1 0.2873671000E+02 1.0000000 +D 1 +1 0.1140783100E+02 1.0000000 +D 1 +1 0.4528654000E+01 1.0000000 +D 1 +1 0.1797774000E+01 1.0000000 +D 1 +1 0.8725150000E+00 1.0000000 +D 1 +1 0.4234580000E+00 0.1000000000E+01 +D 1 +1 0.2270570000E+00 0.1000000000E+01 +D 1 +1 0.1217470000E+00 0.1000000000E+01 +D 1 +1 0.6528000000E-01 0.1000000000E+01 +D 1 +1 0.3500200000E-01 0.1000000000E+01 +F 1 +1 0.2099052600E+02 1.0000000 +F 1 +1 0.7892271000E+01 1.0000000 +F 1 +1 0.2967431000E+01 1.0000000 +F 1 +1 0.9453690000E+00 1.0000000 +F 1 +1 0.3011770000E+00 0.1000000000E+01 +F 1 +1 0.1740290000E+00 0.1000000000E+01 +F 1 +1 0.1005600000E+00 0.1000000000E+01 +F 1 +1 0.5810700000E-01 0.1000000000E+01 +G 1 +1 0.1467030500E+02 1.0000000 +G 1 +1 0.4978732000E+01 1.0000000 +G 1 +1 0.1182560000E+01 1.0000000 +G 1 +1 0.2808840000E+00 0.1000000000E+01 +G 1 +1 0.1423510000E+00 0.1000000000E+01 +G 1 +1 0.7214290000E-01 0.1000000000E+01 +H 1 +1 0.2706720231E+00 0.1000000000E+01 + +BERYLLIUM +S 11 +1 0.3865394813E+05 0.2531530055E-04 +2 0.6509075143E+04 0.1819172070E-03 +3 0.1420547134E+04 0.1056043149E-02 +4 0.3842537920E+03 0.4617219041E-02 +5 0.1232627120E+03 0.1640061048E-01 +6 0.4494427200E+02 0.4848235640E-01 +7 0.1790691100E+02 0.1211343103E+00 +8 0.7526367000E+01 0.2440730978E+00 +9 0.3239416000E+01 0.3705731810E+00 +10 0.1395372000E+01 0.2953400720E+00 +11 0.5925850000E+00 0.5635928973E-01 +S 8 +1 0.1790691100E+02 -0.1215816732E-02 +2 0.7526367000E+01 -0.5581140401E-02 +3 0.3239416000E+01 -0.2438038797E-01 +4 0.1395372000E+01 -0.7491586615E-01 +5 0.5925850000E+00 -0.3095314060E-01 +6 0.2466940000E+00 0.2817772674E+00 +7 0.1011530000E+00 0.5671875594E+00 +8 0.4153200000E-01 0.2684332275E+00 +S 1 +1 0.3885342330E+03 1.0000000 +S 1 +1 0.1290495750E+03 1.0000000 +S 1 +1 0.4286312900E+02 1.0000000 +S 1 +1 0.1423676000E+02 1.0000000 +S 1 +1 0.4728664000E+01 1.0000000 +S 1 +1 0.2113390000E+01 0.1000000000E+01 +S 1 +1 0.9434640000E+00 0.1000000000E+01 +S 1 +1 0.4211830000E+00 0.1000000000E+01 +S 1 +1 0.1880260000E+00 0.1000000000E+01 +S 1 +1 0.1705245500E-01 0.1000000000E+01 +P 7 +1 0.2507045100E+02 0.1607630739E-02 +2 0.5846689000E+01 0.1135618080E-01 +3 0.1745615000E+01 0.4498764258E-01 +4 0.6058210000E+00 0.1467428549E+00 +5 0.2314530000E+00 0.3542207949E+00 +6 0.9367500000E-01 0.4536534958E+00 +7 0.3826100000E-01 0.1907269469E+00 +P 1 +1 0.7342912900E+02 1.0000000 +P 1 +1 0.2994392500E+02 1.0000000 +P 1 +1 0.1221093900E+02 1.0000000 +P 1 +1 0.4979542000E+01 1.0000000 +P 1 +1 0.2030625000E+01 1.0000000 +P 1 +1 0.1222980000E+01 0.1000000000E+01 +P 1 +1 0.6156230000E+00 0.1000000000E+01 +P 1 +1 0.3098920000E+00 0.1000000000E+01 +P 1 +1 0.1559940000E+00 0.1000000000E+01 +P 1 +1 0.1562747900E-01 0.1000000000E+01 +D 1 +1 0.5370093900E+02 1.0000000 +D 1 +1 0.2146131900E+02 1.0000000 +D 1 +1 0.8576912000E+01 1.0000000 +D 1 +1 0.3427721000E+01 1.0000000 +D 1 +1 0.1810650000E+01 1.0000000 +D 1 +1 0.9564500000E+00 0.1000000000E+01 +D 1 +1 0.4865680000E+00 0.1000000000E+01 +D 1 +1 0.2475280000E+00 0.1000000000E+01 +D 1 +1 0.1259230000E+00 0.1000000000E+01 +D 1 +1 0.6405980000E-01 0.1000000000E+01 +F 1 +1 0.3938920900E+02 1.0000000 +F 1 +1 0.1492545700E+02 1.0000000 +F 1 +1 0.5655591000E+01 1.0000000 +F 1 +1 0.1993520000E+01 1.0000000 +F 1 +1 0.7026910000E+00 0.1000000000E+01 +F 1 +1 0.3591970000E+00 0.1000000000E+01 +F 1 +1 0.1836120000E+00 0.1000000000E+01 +F 1 +1 0.9385750000E-01 0.1000000000E+01 +G 1 +1 0.2762434800E+02 1.0000000 +G 1 +1 0.9455635000E+01 1.0000000 +G 1 +1 0.2401390000E+01 1.0000000 +G 1 +1 0.6098640000E+00 0.1000000000E+01 +G 1 +1 0.2789260000E+00 0.1000000000E+01 +G 1 +1 0.1275680000E+00 0.1000000000E+01 +H 1 +1 0.4646106307E+00 0.1000000000E+01 + +BORON +S 12 +1 0.6403675355E+05 0.2400008349E-04 +2 0.1072093487E+05 0.1734190839E-03 +3 0.2340139208E+04 0.1004303675E-02 +4 0.6336749090E+03 0.4390584461E-02 +5 0.2032113480E+03 0.1565225562E-01 +6 0.7395782100E+02 0.4670066633E-01 +7 0.2940063700E+02 0.1183102716E+00 +8 0.1234689800E+02 0.2426528847E+00 +9 0.5326183000E+01 0.3715893024E+00 +10 0.2308465000E+01 0.2967027504E+00 +11 0.9896030000E+00 0.5867304665E-01 +12 0.4159360000E+00 0.1708043835E-03 +S 9 +1 0.7395782100E+02 -0.2365222250E-03 +2 0.2940063700E+02 -0.1336532083E-02 +3 0.1234689800E+02 -0.7439014302E-02 +4 0.5326183000E+01 -0.2927536301E-01 +5 0.2308465000E+01 -0.8097505462E-01 +6 0.9896030000E+00 -0.1014891317E-01 +7 0.4159360000E+00 0.3193939556E+00 +8 0.1711830000E+00 0.5505636776E+00 +9 0.6945000000E-01 0.2414446769E+00 +S 1 +1 0.1039551180E+03 1.0000000 +S 1 +1 0.4836704500E+02 1.0000000 +S 1 +1 0.2250366400E+02 1.0000000 +S 1 +1 0.1047024700E+02 1.0000000 +S 1 +1 0.4871476000E+01 1.0000000 +S 1 +1 0.2139530000E+01 1.0000000 +S 1 +1 0.9396800000E+00 0.1000000000E+01 +S 1 +1 0.3980040000E+00 0.1000000000E+01 +S 1 +1 0.1685760000E+00 0.1000000000E+01 +S 1 +1 0.7140100000E-01 0.1000000000E+01 +S 1 +1 0.2632082901E-01 0.1000000000E+01 +P 8 +1 0.6828733300E+02 0.7894273951E-03 +2 0.1619282000E+02 0.6205544664E-02 +3 0.5040008000E+01 0.2715010308E-01 +4 0.1824330000E+01 0.8875698660E-01 +5 0.7152430000E+00 0.2241926538E+00 +6 0.2920900000E+00 0.3731805301E+00 +7 0.1211960000E+00 0.3759722846E+00 +8 0.4965600000E-01 0.1388685923E+00 +P 1 +1 0.1440839490E+03 1.0000000 +P 1 +1 0.6322272400E+02 1.0000000 +P 1 +1 0.2774155500E+02 1.0000000 +P 1 +1 0.1217274200E+02 1.0000000 +P 1 +1 0.5341288000E+01 1.0000000 +P 1 +1 0.2324776000E+01 1.0000000 +P 1 +1 0.1011851000E+01 0.1000000000E+01 +P 1 +1 0.4152250000E+00 0.1000000000E+01 +P 1 +1 0.1703920000E+00 0.1000000000E+01 +P 1 +1 0.6992200000E-01 0.1000000000E+01 +P 1 +1 0.2001857290E-01 0.1000000000E+01 +D 1 +1 0.9183548700E+02 1.0000000 +D 1 +1 0.3810097900E+02 1.0000000 +D 1 +1 0.1580744700E+02 1.0000000 +D 1 +1 0.6558241000E+01 1.0000000 +D 1 +1 0.3056600000E+01 1.0000000 +D 1 +1 0.1424590000E+01 0.1000000000E+01 +D 1 +1 0.6519460000E+00 0.1000000000E+01 +D 1 +1 0.2983550000E+00 0.1000000000E+01 +D 1 +1 0.1365380000E+00 0.1000000000E+01 +D 1 +1 0.6248470000E-01 0.1000000000E+01 +F 1 +1 0.6412415000E+02 1.0000000 +F 1 +1 0.2462682700E+02 1.0000000 +F 1 +1 0.9457913000E+01 1.0000000 +F 1 +1 0.3467368000E+01 1.0000000 +F 1 +1 0.1271173000E+01 0.1000000000E+01 +F 1 +1 0.5944720000E+00 0.1000000000E+01 +F 1 +1 0.2780090000E+00 0.1000000000E+01 +F 1 +1 0.1300128000E+00 0.1000000000E+01 +G 1 +1 0.4462303900E+02 1.0000000 +G 1 +1 0.1534964400E+02 1.0000000 +G 1 +1 0.4029476000E+01 1.0000000 +G 1 +1 0.1057789000E+01 0.1000000000E+01 +G 1 +1 0.4512020000E+00 0.1000000000E+01 +G 1 +1 0.1924611000E+00 0.1000000000E+01 +H 1 +1 0.7893999855E+00 0.1000000000E+01 + +CARBON +S 12 +1 0.9650000000E+05 0.1757624017E-04 +2 0.2590486598E+05 0.8228309694E-04 +3 0.5693938166E+04 0.5318641652E-03 +4 0.1550818386E+04 0.2284844909E-02 +5 0.4973235580E+03 0.8294546729E-02 +6 0.1800398040E+03 0.2573225198E-01 +7 0.7110769000E+02 0.6959401392E-01 +8 0.2981488300E+02 0.1603858170E+00 +9 0.1298937300E+02 0.2940125799E+00 +10 0.5782412000E+01 0.3678689231E+00 +11 0.2596076000E+01 0.2023218475E+00 +12 0.1163233000E+01 0.2380336463E-01 +S 9 +1 0.7110769000E+02 -0.5750546785E-03 +2 0.2981488300E+02 -0.2902365222E-02 +3 0.1298937300E+02 -0.1406070948E-01 +4 0.5782412000E+01 -0.4851421616E-01 +5 0.2596076000E+01 -0.7936808134E-01 +6 0.1163233000E+01 0.7709121550E-01 +7 0.5155600000E+00 0.3823318947E+00 +8 0.2241210000E+00 0.4918647140E+00 +9 0.9470000000E-01 0.1798814761E+00 +S 1 +1 0.7074509400E+02 1.0000000 +S 1 +1 0.2745424100E+02 1.0000000 +S 1 +1 0.1065424200E+02 1.0000000 +S 1 +1 0.4134621000E+01 1.0000000 +S 1 +1 0.1604534000E+01 1.0000000 +S 1 +1 0.1413952000E+01 0.1000000000E+01 +S 1 +1 0.5855840000E+00 0.1000000000E+01 +S 1 +1 0.2425180000E+00 0.1000000000E+01 +S 1 +1 0.1004380000E+00 0.1000000000E+01 +S 1 +1 0.3968147122E-01 0.1000000000E+01 +P 9 +1 0.1777640040E+03 0.3363257978E-03 +2 0.4252410700E+02 0.2827346859E-02 +3 0.1345914900E+02 0.1394579069E-01 +4 0.5003536000E+01 0.4750978748E-01 +5 0.2029528000E+01 0.1322166269E+00 +6 0.8612010000E+00 0.2680463029E+00 +7 0.3732030000E+00 0.3678763858E+00 +8 0.1619280000E+00 0.3123388478E+00 +9 0.6832100000E-01 0.9825428605E-01 +P 1 +1 0.1728753840E+03 1.0000000 +P 1 +1 0.7100045400E+02 1.0000000 +P 1 +1 0.2916010600E+02 1.0000000 +P 1 +1 0.1197614500E+02 1.0000000 +P 1 +1 0.4918640000E+01 1.0000000 +P 1 +1 0.2810185000E+01 1.0000000 +P 1 +1 0.1605554000E+01 0.1000000000E+01 +P 1 +1 0.6373720000E+00 0.1000000000E+01 +P 1 +1 0.2530230000E+00 0.1000000000E+01 +P 1 +1 0.1004450000E+00 0.1000000000E+01 +P 1 +1 0.3388734287E-01 0.1000000000E+01 +D 1 +1 0.1269475190E+03 1.0000000 +D 1 +1 0.5105744300E+02 1.0000000 +D 1 +1 0.2053496200E+02 1.0000000 +D 1 +1 0.8259025000E+01 1.0000000 +D 1 +1 0.4473826000E+01 1.0000000 +D 1 +1 0.2423425000E+01 0.1000000000E+01 +D 1 +1 0.1057475000E+01 0.1000000000E+01 +D 1 +1 0.4614350000E+00 0.1000000000E+01 +D 1 +1 0.2013500000E+00 0.1000000000E+01 +D 1 +1 0.8786030000E-01 0.1000000000E+01 +F 1 +1 0.9343963200E+02 1.0000000 +F 1 +1 0.3565020300E+02 1.0000000 +F 1 +1 0.1360169100E+02 1.0000000 +F 1 +1 0.5207705000E+01 1.0000000 +F 1 +1 0.1993884000E+01 0.1000000000E+01 +F 1 +1 0.8999420000E+00 0.1000000000E+01 +F 1 +1 0.4061900000E+00 0.1000000000E+01 +F 1 +1 0.1833340000E+00 0.1000000000E+01 +G 1 +1 0.6571578900E+02 1.0000000 +G 1 +1 0.2266152400E+02 1.0000000 +G 1 +1 0.6103993000E+01 1.0000000 +G 1 +1 0.1644141000E+01 0.1000000000E+01 +G 1 +1 0.6755930000E+00 0.1000000000E+01 +G 1 +1 0.2776070000E+00 0.1000000000E+01 +H 1 +1 0.1202396970E+01 0.1000000000E+01 + +NITROGEN +S 13 +1 0.2145012177E+06 0.1254222565E-04 +2 0.3579703569E+05 0.9052476015E-04 +3 0.7871690820E+04 0.5177248869E-03 +4 0.2144879186E+04 0.2263091634E-02 +5 0.6880703560E+03 0.8179359253E-02 +6 0.2491809840E+03 0.2541328332E-01 +7 0.9846583500E+02 0.6888803913E-01 +8 0.4132049400E+02 0.1593503149E+00 +9 0.1802451800E+02 0.2942010872E+00 +10 0.8036773000E+01 0.3674361645E+00 +11 0.3614249000E+01 0.2034954506E+00 +12 0.1621334000E+01 0.2328244152E-01 +13 0.7183740000E+00 0.1699241187E-02 +S 9 +1 0.9846583500E+02 -0.5966425923E-03 +2 0.4132049400E+02 -0.3094015366E-02 +3 0.1802451800E+02 -0.1494544925E-01 +4 0.8036773000E+01 -0.5090692328E-01 +5 0.3614249000E+01 -0.7703780385E-01 +6 0.1621334000E+01 0.8895353849E-01 +7 0.7183740000E+00 0.3902583150E+00 +8 0.3112910000E+00 0.4820485191E+00 +9 0.1304820000E+00 0.1733130394E+00 +S 1 +1 0.9576382400E+02 1.0000000 +S 1 +1 0.3677447100E+02 1.0000000 +S 1 +1 0.1412184300E+02 1.0000000 +S 1 +1 0.5422959000E+01 1.0000000 +S 1 +1 0.3082482000E+01 1.0000000 +S 1 +1 0.1939064000E+01 0.1000000000E+01 +S 1 +1 0.7890400000E+00 0.1000000000E+01 +S 1 +1 0.3210750000E+00 0.1000000000E+01 +S 1 +1 0.1306510000E+00 0.1000000000E+01 +S 1 +1 0.4873074430E-01 0.1000000000E+01 +P 10 +1 0.4125283380E+03 0.1470290950E-03 +2 0.9929694700E+02 0.1275023030E-02 +3 0.3161597900E+02 0.6863867770E-02 +4 0.1191708800E+02 0.2517693580E-01 +5 0.4945601000E+01 0.7396159700E-01 +6 0.2162445000E+01 0.1739126040E+00 +7 0.9712900000E+00 0.2936883880E+00 +8 0.4408090000E+00 0.3471526580E+00 +9 0.1986100000E+00 0.2566238500E+00 +10 0.8633600000E-01 0.7025931870E-01 +P 1 +1 0.2386663360E+03 1.0000000 +P 1 +1 0.9824951900E+02 1.0000000 +P 1 +1 0.4044545300E+02 1.0000000 +P 1 +1 0.1664979800E+02 1.0000000 +P 1 +1 0.6854065000E+01 1.0000000 +P 1 +1 0.3731433000E+01 1.0000000 +P 1 +1 0.2031436000E+01 0.1000000000E+01 +P 1 +1 0.8111200000E+00 0.1000000000E+01 +P 1 +1 0.3238670000E+00 0.1000000000E+01 +P 1 +1 0.1293150000E+00 0.1000000000E+01 +P 1 +1 0.5592600000E-01 0.1000000000E+01 +P 1 +1 0.2279100000E-01 0.1000000000E+01 +D 1 +1 0.1752428100E+03 1.0000000 +D 1 +1 0.7060186500E+02 1.0000000 +D 1 +1 0.2844409600E+02 1.0000000 +D 1 +1 0.1145956400E+02 1.0000000 +D 1 +1 0.5376451000E+01 0.1000000000E+01 +D 1 +1 0.2121508000E+01 0.1000000000E+01 +D 1 +1 0.8371310000E+00 0.1000000000E+01 +D 1 +1 0.3303260000E+00 0.1000000000E+01 +D 1 +1 0.1303443000E+00 0.1000000000E+01 +F 1 +1 0.1290955070E+03 1.0000000 +F 1 +1 0.4936313900E+02 1.0000000 +F 1 +1 0.1887532400E+02 1.0000000 +F 1 +1 0.7380871000E+01 1.0000000 +F 1 +1 0.2886163000E+01 0.1000000000E+01 +F 1 +1 0.1183938000E+01 0.1000000000E+01 +F 1 +1 0.4856650000E+00 0.1000000000E+01 +F 1 +1 0.1992253000E+00 0.1000000000E+01 +G 1 +1 0.9087663900E+02 1.0000000 +G 1 +1 0.3141217900E+02 1.0000000 +G 1 +1 0.8866563000E+01 1.0000000 +G 1 +1 0.2502722000E+01 0.1000000000E+01 +G 1 +1 0.9224360000E+00 0.1000000000E+01 +G 1 +1 0.3399850000E+00 0.1000000000E+01 +H 1 +1 0.1676564171E+01 0.1000000000E+01 + +OXYGEN +S 13 +1 0.2855454447E+06 0.1232394703E-04 +2 0.4758001234E+05 0.8909993869E-04 +3 0.1045912232E+05 0.5095688836E-03 +4 0.2849866727E+04 0.2227627174E-02 +5 0.9141599010E+03 0.8055726745E-02 +6 0.3309943250E+03 0.2506087175E-01 +7 0.1307751490E+03 0.6810474382E-01 +8 0.5488644600E+02 0.1582415835E+00 +9 0.2395757400E+02 0.2936697591E+00 +10 0.1069510500E+02 0.3676849464E+00 +11 0.4817178000E+01 0.2046539227E+00 +12 0.2163672000E+01 0.2423893277E-01 +13 0.9584770000E+00 0.1787156220E-02 +S 9 +1 0.1307751490E+03 -0.6155812759E-03 +2 0.5488644600E+02 -0.3226082495E-02 +3 0.2395757400E+02 -0.1567898664E-01 +4 0.1069510500E+02 -0.5268182999E-01 +5 0.4817178000E+01 -0.7601761394E-01 +6 0.2163672000E+01 0.9789256331E-01 +7 0.9584770000E+00 0.3997720534E+00 +8 0.4138940000E+00 0.4745293698E+00 +9 0.1718760000E+00 0.1650578034E+00 +S 1 +1 0.1250838490E+03 1.0000000 +S 1 +1 0.4791243900E+02 1.0000000 +S 1 +1 0.1835250400E+02 1.0000000 +S 1 +1 0.7029790000E+01 1.0000000 +S 1 +1 0.2782638000E+01 0.1000000000E+01 +S 1 +1 0.1136898000E+01 0.1000000000E+01 +S 1 +1 0.4645010000E+00 0.1000000000E+01 +S 1 +1 0.1897800000E+00 0.1000000000E+01 +S 1 +1 0.6990330726E-01 0.1000000000E+01 +P 10 +1 0.5208755060E+03 0.1652946190E-03 +2 0.1252922050E+03 0.1436820080E-02 +3 0.3988108800E+02 0.7746714928E-02 +4 0.1506305300E+02 0.2851339639E-01 +5 0.6270530000E+01 0.8326878058E-01 +6 0.2744670000E+01 0.1878033940E+00 +7 0.1227278000E+01 0.2986524639E+00 +8 0.5500130000E+00 0.3372505969E+00 +9 0.2426870000E+00 0.2478459319E+00 +10 0.1028240000E+00 0.7068092538E-01 +P 1 +1 0.3140794400E+03 1.0000000 +P 1 +1 0.1293315660E+03 1.0000000 +P 1 +1 0.5325612500E+02 1.0000000 +P 1 +1 0.2192979600E+02 1.0000000 +P 1 +1 0.9030247000E+01 1.0000000 +P 1 +1 0.4775659000E+01 1.0000000 +P 1 +1 0.2525615000E+01 0.1000000000E+01 +P 1 +1 0.9702130000E+00 0.1000000000E+01 +P 1 +1 0.3727070000E+00 0.1000000000E+01 +P 1 +1 0.1431750000E+00 0.1000000000E+01 +P 1 +1 0.5018616452E-01 0.1000000000E+01 +D 1 +1 0.2312054230E+03 1.0000000 +D 1 +1 0.9321989000E+02 1.0000000 +D 1 +1 0.3758539800E+02 1.0000000 +D 1 +1 0.1515408500E+02 1.0000000 +D 1 +1 0.6372829000E+01 0.1000000000E+01 +D 1 +1 0.2533966000E+01 0.1000000000E+01 +D 1 +1 0.1007556000E+01 0.1000000000E+01 +D 1 +1 0.4006250000E+00 0.1000000000E+01 +D 1 +1 0.1592967000E+00 0.1000000000E+01 +F 1 +1 0.1705090470E+03 1.0000000 +F 1 +1 0.6527474100E+02 1.0000000 +F 1 +1 0.2498865500E+02 1.0000000 +F 1 +1 0.9872557000E+01 1.0000000 +F 1 +1 0.3900466000E+01 0.1000000000E+01 +F 1 +1 0.1573726000E+01 0.1000000000E+01 +F 1 +1 0.6349540000E+00 0.1000000000E+01 +F 1 +1 0.2561860000E+00 0.1000000000E+01 +G 1 +1 0.1200764520E+03 1.0000000 +G 1 +1 0.4155019200E+02 1.0000000 +G 1 +1 0.1170212000E+02 1.0000000 +G 1 +1 0.3295764000E+01 0.1000000000E+01 +G 1 +1 0.1225189000E+01 0.1000000000E+01 +G 1 +1 0.4554598000E+00 0.1000000000E+01 +H 1 +1 0.2267363930E+01 0.1000000000E+01 + +FLUORINE +S 13 +1 0.3646704009E+06 0.1224601362E-04 +2 0.6067419383E+05 0.8866927385E-04 +3 0.1333654649E+05 0.5068427272E-03 +4 0.3635452855E+04 0.2214220887E-02 +5 0.1166666618E+04 0.8005051999E-02 +6 0.4225403220E+03 0.2491135814E-01 +7 0.1669746510E+03 0.6779417214E-01 +8 0.7009625900E+02 0.1579496420E+00 +9 0.3061119000E+02 0.2939635324E+00 +10 0.1367632100E+02 0.3677189130E+00 +11 0.6166138000E+01 0.2043463385E+00 +12 0.2771770000E+01 0.2461984635E-01 +13 0.1227567000E+01 0.1882036329E-02 +S 9 +1 0.1669746510E+03 -0.6336348180E-03 +2 0.7009625900E+02 -0.3346029509E-02 +3 0.3061119000E+02 -0.1632002165E-01 +4 0.1367632100E+02 -0.5414255291E-01 +5 0.6166138000E+01 -0.7464730391E-01 +6 0.2771770000E+01 0.1055270775E+00 +7 0.1227567000E+01 0.4060118072E+00 +8 0.5287200000E+00 0.4684078906E+00 +9 0.2180500000E+00 0.1592052208E+00 +S 1 +1 0.1580798530E+03 1.0000000 +S 1 +1 0.6048736200E+02 1.0000000 +S 1 +1 0.2314476400E+02 1.0000000 +S 1 +1 0.8856067000E+01 1.0000000 +S 1 +1 0.3971058000E+01 0.1000000000E+01 +S 1 +1 0.1602317000E+01 0.1000000000E+01 +S 1 +1 0.6465330000E+00 0.1000000000E+01 +S 1 +1 0.2608750000E+00 0.1000000000E+01 +S 1 +1 0.9576789520E-01 0.1000000000E+01 +P 11 +1 0.1053423895E+04 0.7616661050E-04 +2 0.2550839630E+03 0.6707075360E-03 +3 0.8113810400E+02 0.3829499800E-02 +4 0.3075997900E+02 0.1511351630E-01 +5 0.1297028600E+02 0.4665758140E-01 +6 0.5804900000E+01 0.1173671020E+00 +7 0.2675277000E+01 0.2218977950E+00 +8 0.1244968000E+01 0.3029457700E+00 +9 0.5764470000E+00 0.3063322090E+00 +10 0.2614280000E+00 0.2039422000E+00 +11 0.1135450000E+00 0.5234024850E-01 +P 1 +1 0.4003066090E+03 1.0000000 +P 1 +1 0.1650077660E+03 1.0000000 +P 1 +1 0.6801677100E+02 1.0000000 +P 1 +1 0.2803674800E+02 1.0000000 +P 1 +1 0.1155684400E+02 1.0000000 +P 1 +1 0.9633948000E+01 1.0000000 +P 1 +1 0.3310404000E+01 0.1000000000E+01 +P 1 +1 0.1256062000E+01 0.1000000000E+01 +P 1 +1 0.4765860000E+00 0.1000000000E+01 +P 1 +1 0.1808300000E+00 0.1000000000E+01 +P 1 +1 0.6405054100E-01 0.1000000000E+01 +D 1 +1 0.2949798840E+03 1.0000000 +D 1 +1 0.1190664860E+03 1.0000000 +D 1 +1 0.4806032200E+02 1.0000000 +D 1 +1 0.1939920000E+02 1.0000000 +D 1 +1 0.7798116000E+01 0.1000000000E+01 +D 1 +1 0.3105955000E+01 0.1000000000E+01 +D 1 +1 0.1237088000E+01 0.1000000000E+01 +D 1 +1 0.4927270000E+00 0.1000000000E+01 +D 1 +1 0.1962510000E+00 0.1000000000E+01 +F 1 +1 0.2176390580E+03 1.0000000 +F 1 +1 0.8341554400E+02 1.0000000 +F 1 +1 0.3197106700E+02 1.0000000 +F 1 +1 0.1308403000E+02 1.0000000 +F 1 +1 0.5354588000E+01 0.1000000000E+01 +F 1 +1 0.2125031000E+01 0.1000000000E+01 +F 1 +1 0.8433430000E+00 0.1000000000E+01 +F 1 +1 0.3346900000E+00 0.1000000000E+01 +G 1 +1 0.1533568560E+03 1.0000000 +G 1 +1 0.5313904200E+02 1.0000000 +G 1 +1 0.1509616000E+02 1.0000000 +G 1 +1 0.4288638000E+01 0.1000000000E+01 +G 1 +1 0.1550119000E+01 0.1000000000E+01 +G 1 +1 0.5602871000E+00 0.1000000000E+01 +H 1 +1 0.2964063753E+01 0.1000000000E+01 + +NEON +S 13 +1 0.3203050000E+06 0.1538139536E-04 +2 0.7554372846E+05 0.8173725851E-04 +3 0.1660165302E+05 0.5087570756E-03 +4 0.4524784554E+04 0.2193519830E-02 +5 0.1451651741E+04 0.7965021805E-02 +6 0.5255390890E+03 0.2478218919E-01 +7 0.2075865840E+03 0.6759737264E-01 +8 0.8711844700E+02 0.1578611434E+00 +9 0.3804271500E+02 0.2945077170E+00 +10 0.1700059600E+02 0.3678091693E+00 +11 0.7668198000E+01 0.2037219636E+00 +12 0.3447995000E+01 0.2476974154E-01 +13 0.1526412000E+01 0.1975499741E-02 +S 9 +1 0.2075865840E+03 -0.6472683914E-03 +2 0.8711844700E+02 -0.3444179878E-02 +3 0.3804271500E+02 -0.1684900152E-01 +4 0.1700059600E+02 -0.5530930181E-01 +5 0.7668198000E+01 -0.7326412109E-01 +6 0.3447995000E+01 0.1118728715E+00 +7 0.1526412000E+01 0.4102955824E+00 +8 0.6560750000E+00 0.4633686608E+00 +9 0.2692120000E+00 0.1549859686E+00 +S 1 +1 0.1938299600E+03 1.0000000 +S 1 +1 0.7413963000E+02 1.0000000 +S 1 +1 0.2835828200E+02 1.0000000 +S 1 +1 0.1084699500E+02 1.0000000 +S 1 +1 0.5663604000E+01 0.1000000000E+01 +S 1 +1 0.3663604000E+01 1.0000000 +S 1 +1 0.2354031000E+01 0.1000000000E+01 +S 1 +1 0.9784340000E+00 0.1000000000E+01 +S 1 +1 0.4066780000E+00 0.1000000000E+01 +S 1 +1 0.1104677100E+00 0.1000000000E+01 +P 12 +1 0.2065537160E+04 0.3511416142E-04 +2 0.5025211230E+03 0.3116357070E-03 +3 0.1594703590E+03 0.1849485790E-02 +4 0.6043998800E+02 0.7762648123E-02 +5 0.2564842700E+02 0.2533603190E-01 +6 0.1164715300E+02 0.6866002003E-01 +7 0.5490203000E+01 0.1497005810E+00 +8 0.2633348000E+01 0.2438020450E+00 +9 0.1267578000E+01 0.2967876450E+00 +10 0.6049720000E+00 0.2750817790E+00 +11 0.2820910000E+00 0.1676551620E+00 +12 0.1257420000E+00 0.3874148493E-01 +P 1 +1 0.4967060690E+03 1.0000000 +P 1 +1 0.2048420530E+03 1.0000000 +P 1 +1 0.8447705600E+02 1.0000000 +P 1 +1 0.3483841800E+02 1.0000000 +P 1 +1 0.1436739600E+02 1.0000000 +P 1 +1 0.4508311000E+01 0.1000000000E+01 +P 1 +1 0.1744696000E+01 0.1000000000E+01 +P 1 +1 0.6751900000E+00 0.1000000000E+01 +P 1 +1 0.2612950000E+00 0.1000000000E+01 +P 1 +1 0.5604946800E-01 0.1000000000E+01 +D 1 +1 0.3664205320E+03 1.0000000 +D 1 +1 0.1480000140E+03 1.0000000 +D 1 +1 0.5977832100E+02 1.0000000 +D 1 +1 0.2414491400E+02 1.0000000 +D 1 +1 0.9648793000E+01 0.1000000000E+01 +D 1 +1 0.3830774000E+01 0.1000000000E+01 +D 1 +1 0.1520898000E+01 0.1000000000E+01 +D 1 +1 0.6038280000E+00 0.1000000000E+01 +D 1 +1 0.2397320000E+00 0.1000000000E+01 +F 1 +1 0.2704854900E+03 1.0000000 +F 1 +1 0.1037526560E+03 1.0000000 +F 1 +1 0.3979737900E+02 1.0000000 +F 1 +1 0.1671673000E+02 1.0000000 +F 1 +1 0.7021798000E+01 0.1000000000E+01 +F 1 +1 0.2765240000E+01 0.1000000000E+01 +F 1 +1 0.1088973000E+01 0.1000000000E+01 +F 1 +1 0.4288460000E+00 0.1000000000E+01 +G 1 +1 0.1907170230E+03 1.0000000 +G 1 +1 0.6615681300E+02 1.0000000 +G 1 +1 0.1888431000E+02 1.0000000 +G 1 +1 0.5390488000E+01 0.1000000000E+01 +G 1 +1 0.1912863000E+01 0.1000000000E+01 +G 1 +1 0.6787965000E+00 0.1000000000E+01 +H 1 +1 0.3737561801E+01 0.1000000000E+01 + +SODIUM +S 14 +1 0.6026358954E+06 0.1058966628E-04 +2 0.1053970054E+06 0.7273476674E-04 +3 0.2326876868E+05 0.4228222517E-03 +4 0.6248779275E+04 0.1899406987E-02 +5 0.1970702082E+04 0.7018585214E-02 +6 0.7061788390E+03 0.2205482576E-01 +7 0.2788629740E+03 0.5996917828E-01 +8 0.1180126370E+03 0.1404558181E+00 +9 0.5220178400E+02 0.2682592105E+00 +10 0.2361628600E+02 0.3650484451E+00 +11 0.1072912100E+02 0.2439811823E+00 +12 0.4824146000E+01 0.4218203463E-01 +13 0.2124186000E+01 0.1928350007E-02 +14 0.9102090000E+00 -0.1364428631E-04 +S 11 +1 0.7061788390E+03 -0.7563825893E-04 +2 0.2788629740E+03 -0.5376546834E-03 +3 0.1180126370E+03 -0.3200264623E-02 +4 0.5220178400E+02 -0.1446153275E-01 +5 0.2361628600E+02 -0.4961361299E-01 +6 0.1072912100E+02 -0.8189918172E-01 +7 0.4824146000E+01 0.7037907703E-01 +8 0.2124186000E+01 0.4041073890E+00 +9 0.9102090000E+00 0.5011810804E+00 +10 0.3788690000E+00 0.1557230147E+00 +11 0.1536520000E+00 -0.1935084729E-02 +S 7 +1 0.4824146000E+01 -0.3025277585E-03 +2 0.2124186000E+01 -0.7037511925E-02 +3 0.9102090000E+00 -0.4025910917E-01 +4 0.3788690000E+00 -0.1136652200E+00 +5 0.1536520000E+00 0.1933146785E-01 +6 0.6120300000E-01 0.5935913795E+00 +7 0.2426600000E-01 0.4895367122E+00 +S 1 +1 0.3005055020E+03 1.0000000 +S 1 +1 0.1502798630E+03 1.0000000 +S 1 +1 0.7515349000E+02 1.0000000 +S 1 +1 0.3758352600E+02 1.0000000 +S 1 +1 0.1879515400E+02 1.0000000 +S 1 +1 0.9399273000E+01 1.0000000 +S 1 +1 0.4700484000E+01 1.0000000 +S 1 +1 0.2350666000E+01 1.0000000 +S 1 +1 0.1265692000E+01 0.1000000000E+01 +S 1 +1 0.5316860000E+00 0.1000000000E+01 +S 1 +1 0.2233480000E+00 0.1000000000E+01 +S 1 +1 0.9382300000E-01 0.1000000000E+01 +S 1 +1 0.6990524121E-02 0.1000000000E+01 +P 12 +1 0.1124680894E+04 0.1512229002E-03 +2 0.2809127850E+03 0.1290971966E-02 +3 0.8819047200E+02 0.7505125790E-02 +4 0.3279968100E+02 0.2939630490E-01 +5 0.1368409900E+02 0.8618534187E-01 +6 0.6100453000E+01 0.1896685012E+00 +7 0.2788668000E+01 0.2991903259E+00 +8 0.1265282000E+01 0.3438596307E+00 +9 0.5571440000E+00 0.2401392748E+00 +10 0.2354640000E+00 0.5514839537E-01 +11 0.9567400000E-01 0.5922265770E-03 +12 0.3797000000E-01 0.5699960160E-03 +P 8 +1 0.6100453000E+01 -0.4066023617E-03 +2 0.2788668000E+01 -0.6456588570E-03 +3 0.1265282000E+01 -0.1711501387E-02 +4 0.5571440000E+00 -0.7950558081E-02 +5 0.2354640000E+00 0.6843989676E-02 +6 0.9567400000E-01 0.1754298436E+00 +7 0.3797000000E-01 0.5441462078E+00 +8 0.1518600000E-01 0.3832297487E+00 +P 1 +1 0.4701382170E+03 1.0000000 +P 1 +1 0.2228891420E+03 1.0000000 +P 1 +1 0.1056701370E+03 1.0000000 +P 1 +1 0.5009745100E+02 1.0000000 +P 1 +1 0.2375084100E+02 1.0000000 +P 1 +1 0.1126010200E+02 1.0000000 +P 1 +1 0.5338333000E+01 1.0000000 +P 1 +1 0.2530865000E+01 1.0000000 +P 1 +1 0.1199865000E+01 1.0000000 +P 1 +1 0.5581280000E+00 0.1000000000E+01 +P 1 +1 0.2480530000E+00 0.1000000000E+01 +P 1 +1 0.1102440000E+00 0.1000000000E+01 +P 1 +1 0.4899600000E-01 0.1000000000E+01 +P 1 +1 0.5963331000E-02 0.1000000000E+01 +D 1 +1 0.1772987740E+03 1.0000000 +D 1 +1 0.7948307000E+02 1.0000000 +D 1 +1 0.3563227400E+02 1.0000000 +D 1 +1 0.1597395400E+02 1.0000000 +D 1 +1 0.7161126000E+01 1.0000000 +D 1 +1 0.2712324300E+01 0.1000000000E+01 +D 1 +1 0.1439193000E+01 1.0000000 +D 1 +1 0.7103990000E+00 0.1000000000E+01 +D 1 +1 0.3009450000E+00 0.1000000000E+01 +D 1 +1 0.1274890000E+00 0.1000000000E+01 +D 1 +1 0.5400800000E-01 0.1000000000E+01 +D 1 +1 0.2287930000E-01 0.1000000000E+01 +F 1 +1 0.1036268490E+03 1.0000000 +F 1 +1 0.4348626900E+02 1.0000000 +F 1 +1 0.1824870300E+02 1.0000000 +F 1 +1 0.7657938000E+01 1.0000000 +F 1 +1 0.3213599000E+01 1.0000000 +F 1 +1 0.1348564000E+01 1.0000000 +F 1 +1 0.5892770000E+00 1.0000000 +F 1 +1 0.2574940000E+00 0.1000000000E+01 +F 1 +1 0.1463890000E+00 0.1000000000E+01 +F 1 +1 0.8322400000E-01 0.1000000000E+01 +F 1 +1 0.4731380000E-01 0.1000000000E+01 +G 1 +1 0.2068887300E+02 1.0000000 +G 1 +1 0.9039168000E+01 1.0000000 +G 1 +1 0.3949300000E+01 1.0000000 +G 1 +1 0.1725487000E+01 1.0000000 +G 1 +1 0.6437660000E+00 1.0000000 +G 1 +1 0.2401840000E+00 0.1000000000E+01 +G 1 +1 0.1412020000E+00 0.1000000000E+01 +G 1 +1 0.8301130000E-01 0.1000000000E+01 +H 1 +1 0.9201487000E+01 1.0000000 +H 1 +1 0.3455525000E+01 1.0000000 +H 1 +1 0.8272770000E+00 1.0000000 +H 1 +1 0.1980563545E+00 0.1000000000E+01 + +MAGNESIUM +S 14 +1 0.7744772960E+06 0.9658741128E-05 +2 0.1350611150E+06 0.6649314619E-04 +3 0.2984633390E+05 0.3854550265E-03 +4 0.8029919260E+04 0.1728059619E-02 +5 0.2535034920E+04 0.6389043595E-02 +6 0.9080145700E+03 0.2016527175E-01 +7 0.3579560300E+03 0.5531803126E-01 +8 0.1511515800E+03 0.1314516522E+00 +9 0.6675813000E+02 0.2565187392E+00 +10 0.3021540800E+02 0.3624236277E+00 +11 0.1377812000E+02 0.2622833481E+00 +12 0.6244402000E+01 0.5383773518E-01 +13 0.2784512000E+01 0.2216532161E-02 +14 0.1213714000E+01 0.3541684136E-03 +S 11 +1 0.3579560300E+03 -0.4919828966E-03 +2 0.1511515800E+03 -0.2657661974E-02 +3 0.6675813000E+02 -0.1326690430E-01 +4 0.3021540800E+02 -0.4702326107E-01 +5 0.1377812000E+02 -0.8466623904E-01 +6 0.6244402000E+01 0.4842963250E-01 +7 0.2784512000E+01 0.3932225726E+00 +8 0.1213714000E+01 0.5198217864E+00 +9 0.5155800000E+00 0.1621074971E+00 +10 0.2135800000E+00 -0.4061233543E-02 +11 0.8665000000E-01 0.4205677640E-02 +S 7 +1 0.6244402000E+01 -0.2779801294E-03 +2 0.2784512000E+01 -0.8617106290E-02 +3 0.1213714000E+01 -0.6692192621E-01 +4 0.5155800000E+00 -0.1308587554E+00 +5 0.2135800000E+00 0.1667318823E+00 +6 0.8665000000E-01 0.6173972911E+00 +7 0.3470500000E-01 0.3672289832E+00 +S 1 +1 0.3718193840E+03 1.0000000 +S 1 +1 0.1919626950E+03 1.0000000 +S 1 +1 0.9910638800E+02 1.0000000 +S 1 +1 0.5116658800E+02 1.0000000 +S 1 +1 0.2641625600E+02 1.0000000 +S 1 +1 0.1363816900E+02 1.0000000 +S 1 +1 0.7041106000E+01 1.0000000 +S 1 +1 0.3635178000E+01 1.0000000 +S 1 +1 0.1876768000E+01 1.0000000 +S 1 +1 0.8012960000E+00 0.1000000000E+01 +S 1 +1 0.3838830000E+00 0.1000000000E+01 +S 1 +1 0.1839090000E+00 0.1000000000E+01 +S 1 +1 0.8810700000E-01 0.1000000000E+01 +S 1 +1 0.1390002300E-01 0.1000000000E+01 +P 12 +1 0.1622337610E+04 0.1175553789E-03 +2 0.4015644360E+03 0.1016028943E-02 +3 0.1266736400E+03 0.5942232908E-02 +4 0.4745839000E+02 0.2379563179E-01 +5 0.1992457700E+02 0.7227113155E-01 +6 0.8945067000E+01 0.1687111133E+00 +7 0.4140202000E+01 0.2848137716E+00 +8 0.1922315000E+01 0.3478390570E+00 +9 0.8783170000E+00 0.2607688000E+00 +10 0.3901570000E+00 0.7125874843E-01 +11 0.1674720000E+00 0.2983942317E-02 +12 0.6938600000E-01 0.1242972942E-02 +P 7 +1 0.4140202000E+01 -0.1825309856E-02 +2 0.1922315000E+01 -0.2094825010E-02 +3 0.8783170000E+00 -0.1210167887E-01 +4 0.3901570000E+00 0.2934263353E-01 +5 0.1674720000E+00 0.2675248536E+00 +6 0.6938600000E-01 0.5449149334E+00 +7 0.2782600000E-01 0.2807148585E+00 +P 1 +1 0.2640175860E+03 1.0000000 +P 1 +1 0.1298096790E+03 1.0000000 +P 1 +1 0.6382360000E+02 1.0000000 +P 1 +1 0.3138018600E+02 1.0000000 +P 1 +1 0.1542871400E+02 1.0000000 +P 1 +1 0.7585845000E+01 1.0000000 +P 1 +1 0.3729737000E+01 1.0000000 +P 1 +1 0.1833802000E+01 1.0000000 +P 1 +1 0.9016260000E+00 1.0000000 +P 1 +1 0.7592150000E+00 0.1000000000E+01 +P 1 +1 0.3744500000E+00 0.1000000000E+01 +P 1 +1 0.1846810000E+00 0.1000000000E+01 +P 1 +1 0.9108600000E-01 0.1000000000E+01 +P 1 +1 0.1115911400E-01 0.1000000000E+01 +D 1 +1 0.3936139010E+03 1.0000000 +D 1 +1 0.1837748650E+03 1.0000000 +D 1 +1 0.8580286700E+02 1.0000000 +D 1 +1 0.4006060300E+02 1.0000000 +D 1 +1 0.1870394300E+02 1.0000000 +D 1 +1 0.8732706000E+01 1.0000000 +D 1 +1 0.4077224000E+01 1.0000000 +D 1 +1 0.2877955200E+01 0.1000000000E+01 +D 1 +1 0.1903620000E+01 1.0000000 +D 1 +1 0.7196780000E+00 0.1000000000E+01 +D 1 +1 0.3664030000E+00 0.1000000000E+01 +D 1 +1 0.1865430000E+00 0.1000000000E+01 +D 1 +1 0.9497300000E-01 0.1000000000E+01 +D 1 +1 0.4835270000E-01 0.1000000000E+01 +F 1 +1 0.1280464140E+03 1.0000000 +F 1 +1 0.5602833100E+02 1.0000000 +F 1 +1 0.2451590600E+02 1.0000000 +F 1 +1 0.1072724600E+02 1.0000000 +F 1 +1 0.4693842000E+01 1.0000000 +F 1 +1 0.2053850000E+01 1.0000000 +F 1 +1 0.8712590000E+00 1.0000000 +F 1 +1 0.3695950000E+00 0.1000000000E+01 +F 1 +1 0.2471990000E+00 0.1000000000E+01 +F 1 +1 0.1653360000E+00 0.1000000000E+01 +F 1 +1 0.1105820000E+00 0.1000000000E+01 +G 1 +1 0.2768535000E+02 1.0000000 +G 1 +1 0.1241389900E+02 1.0000000 +G 1 +1 0.5566298000E+01 1.0000000 +G 1 +1 0.2495885000E+01 1.0000000 +G 1 +1 0.9820425000E+00 1.0000000 +G 1 +1 0.3863990000E+00 0.1000000000E+01 +G 1 +1 0.1926580000E+00 0.1000000000E+01 +G 1 +1 0.9605900000E-01 0.1000000000E+01 +H 1 +1 0.1207409900E+02 1.0000000 +H 1 +1 0.4608451000E+01 1.0000000 +H 1 +1 0.1196506000E+01 1.0000000 +H 1 +1 0.3106522415E+00 0.1000000000E+01 + +ALUMINIUM +S 14 +1 0.9995154570E+06 0.8679148069E-05 +2 0.1708543745E+06 0.6108475630E-04 +3 0.3764463228E+05 0.3523941331E-03 +4 0.1017596273E+05 0.1565651075E-02 +5 0.3232711218E+04 0.5747476715E-02 +6 0.1162969823E+04 0.1812854061E-01 +7 0.4590271700E+03 0.5011583613E-01 +8 0.1935537130E+03 0.1211020606E+00 +9 0.8528023800E+02 0.2426190813E+00 +10 0.3855981500E+02 0.3577561807E+00 +11 0.1763524900E+02 0.2823086161E+00 +12 0.8066271000E+01 0.6946474343E-01 +13 0.3658108000E+01 0.2994080923E-02 +14 0.1634343000E+01 0.8109325102E-03 +S 11 +1 0.1162969823E+04 -0.5769443974E-04 +2 0.4590271700E+03 -0.4186198663E-03 +3 0.1935537130E+03 -0.2583758180E-02 +4 0.8528023800E+02 -0.1222709920E-01 +5 0.3855981500E+02 -0.4442621664E-01 +6 0.1763524900E+02 -0.8714373852E-01 +7 0.8066271000E+01 0.2290042185E-01 +8 0.3658108000E+01 0.3626487399E+00 +9 0.1634343000E+01 0.5381528377E+00 +10 0.7159880000E+00 0.1898781451E+00 +11 0.3065340000E+00 0.9230024011E-04 +S 7 +1 0.8066271000E+01 0.1084036265E-03 +2 0.3658108000E+01 -0.9736193135E-02 +3 0.1634343000E+01 -0.8291372705E-01 +4 0.7159880000E+00 -0.1472750269E+00 +5 0.3065340000E+00 0.2331259645E+00 +6 0.1279250000E+00 0.6336607302E+00 +7 0.5192700000E-01 0.3089614210E+00 +S 1 +1 0.4957893590E+03 1.0000000 +S 1 +1 0.2476044040E+03 1.0000000 +S 1 +1 0.1236572350E+03 1.0000000 +S 1 +1 0.6175621800E+02 1.0000000 +S 1 +1 0.3084195200E+02 1.0000000 +S 1 +1 0.1540291900E+02 1.0000000 +S 1 +1 0.7692441000E+01 1.0000000 +S 1 +1 0.3841717000E+01 1.0000000 +S 1 +1 0.1918609000E+01 1.0000000 +S 1 +1 0.1444888000E+01 0.1000000000E+01 +S 1 +1 0.6876990000E+00 0.1000000000E+01 +S 1 +1 0.3273120000E+00 0.1000000000E+01 +S 1 +1 0.1557850000E+00 0.1000000000E+01 +S 1 +1 0.2151082793E-01 0.1000000000E+01 +P 12 +1 0.2911196039E+04 0.5894289262E-04 +2 0.7307039530E+03 0.5042511130E-03 +3 0.2307747510E+03 0.3065759982E-02 +4 0.8621065200E+02 0.1310102307E-01 +5 0.3620570900E+02 0.4272434565E-01 +6 0.1640600900E+02 0.1107238421E+00 +7 0.7764855000E+01 0.2183271147E+00 +8 0.3743445000E+01 0.3164023125E+00 +9 0.1803885000E+01 0.3246316543E+00 +10 0.8568500000E+00 0.1725840581E+00 +11 0.3971620000E+00 0.2616459498E-01 +12 0.1782920000E+00 0.1552903214E-02 +P 8 +1 0.7764855000E+01 -0.1628576050E-02 +2 0.3743445000E+01 -0.2056631716E-02 +3 0.1803885000E+01 -0.8279306984E-02 +4 0.8568500000E+00 -0.3781447224E-03 +5 0.3971620000E+00 0.1154755039E+00 +6 0.1782920000E+00 0.3452543657E+00 +7 0.7704500000E-01 0.4707921512E+00 +8 0.3185900000E-01 0.2085340655E+00 +P 1 +1 0.2893257470E+03 1.0000000 +P 1 +1 0.1418509420E+03 1.0000000 +P 1 +1 0.6954683500E+02 1.0000000 +P 1 +1 0.3409749800E+02 1.0000000 +P 1 +1 0.1671735800E+02 1.0000000 +P 1 +1 0.8196205000E+01 1.0000000 +P 1 +1 0.4018444000E+01 1.0000000 +P 1 +1 0.1970167000E+01 1.0000000 +P 1 +1 0.1259360000E+01 1.0000000 +P 1 +1 0.1106729000E+01 0.1000000000E+01 +P 1 +1 0.5390690000E+00 0.1000000000E+01 +P 1 +1 0.2625720000E+00 0.1000000000E+01 +P 1 +1 0.1278940000E+00 0.1000000000E+01 +P 1 +1 0.1375788872E-01 0.1000000000E+01 +D 1 +1 0.3953355870E+03 1.0000000 +D 1 +1 0.1941075620E+03 1.0000000 +D 1 +1 0.9530572700E+02 1.0000000 +D 1 +1 0.4679457900E+02 1.0000000 +D 1 +1 0.2297587700E+02 1.0000000 +D 1 +1 0.1128102700E+02 1.0000000 +D 1 +1 0.5538921000E+01 1.0000000 +D 1 +1 0.2719579000E+01 1.0000000 +D 1 +1 0.1994537451E+01 0.1000000000E+01 +D 1 +1 0.1194114000E+01 1.0000000 +D 1 +1 0.5243120000E+00 0.1000000000E+01 +D 1 +1 0.2797500000E+00 0.1000000000E+01 +D 1 +1 0.1492620000E+00 0.1000000000E+01 +D 1 +1 0.7964000000E-01 0.1000000000E+01 +D 1 +1 0.4249250000E-01 0.1000000000E+01 +F 1 +1 0.1550256090E+03 1.0000000 +F 1 +1 0.6882030700E+02 1.0000000 +F 1 +1 0.3055130500E+02 1.0000000 +F 1 +1 0.1356259900E+02 1.0000000 +F 1 +1 0.6020826000E+01 1.0000000 +F 1 +1 0.2672817000E+01 1.0000000 +F 1 +1 0.1227907000E+01 1.0000000 +F 1 +1 0.5641070000E+00 0.1000000000E+01 +F 1 +1 0.2986030000E+00 0.1000000000E+01 +F 1 +1 0.1580620000E+00 0.1000000000E+01 +F 1 +1 0.8366820000E-01 0.1000000000E+01 +G 1 +1 0.3536769800E+02 1.0000000 +G 1 +1 0.1600630200E+02 1.0000000 +G 1 +1 0.7243946000E+01 1.0000000 +G 1 +1 0.3278381000E+01 1.0000000 +G 1 +1 0.1314766000E+01 1.0000000 +G 1 +1 0.5272750000E+00 0.1000000000E+01 +G 1 +1 0.2547370000E+00 0.1000000000E+01 +G 1 +1 0.1230680000E+00 0.1000000000E+01 +H 1 +1 0.1530227700E+02 1.0000000 +H 1 +1 0.5921104000E+01 1.0000000 +H 1 +1 0.1593482000E+01 1.0000000 +H 1 +1 0.4288364052E+00 0.1000000000E+01 + +SILICON +S 14 +1 0.1242960090E+07 0.7994545438E-05 +2 0.2111287651E+06 0.5663112726E-04 +3 0.4650724029E+05 0.3258862363E-03 +4 0.1259670014E+05 0.1443467074E-02 +5 0.4009048324E+04 0.5293618021E-02 +6 0.1442976180E+04 0.1673935287E-01 +7 0.5689710210E+03 0.4659719624E-01 +8 0.2394437010E+03 0.1139317802E+00 +9 0.1053058130E+03 0.2323851846E+00 +10 0.4759587200E+02 0.3528373033E+00 +11 0.2182028200E+02 0.2957626335E+00 +12 0.1004385000E+02 0.8242023321E-01 +13 0.4604970000E+01 0.3922802599E-02 +14 0.2089470000E+01 0.1145068401E-02 +S 11 +1 0.1442976180E+04 -0.5143621833E-04 +2 0.5689710210E+03 -0.3780800659E-03 +3 0.2394437010E+03 -0.2362724957E-02 +4 0.1053058130E+03 -0.1140102655E-01 +5 0.4759587200E+02 -0.4229660535E-01 +6 0.2182028200E+02 -0.8804430654E-01 +7 0.1004385000E+02 0.5417990128E-02 +8 0.4604970000E+01 0.3421651455E+00 +9 0.2089470000E+01 0.5492352485E+00 +10 0.9329900000E+00 0.2079744227E+00 +11 0.4077050000E+00 0.2436775449E-02 +S 7 +1 0.1004385000E+02 0.3928295272E-03 +2 0.4604970000E+01 -0.1009291853E-01 +3 0.2089470000E+01 -0.9592074962E-01 +4 0.9329900000E+00 -0.1515863023E+00 +5 0.4077050000E+00 0.2715779181E+00 +6 0.1732940000E+00 0.6307500766E+00 +7 0.7111500000E-01 0.2859818451E+00 +S 1 +1 0.4827135570E+03 1.0000000 +S 1 +1 0.2421720970E+03 1.0000000 +S 1 +1 0.1214950850E+03 1.0000000 +S 1 +1 0.6095275200E+02 1.0000000 +S 1 +1 0.3057932700E+02 1.0000000 +S 1 +1 0.1534131300E+02 1.0000000 +S 1 +1 0.7696568000E+01 1.0000000 +S 1 +1 0.3861284000E+01 1.0000000 +S 1 +1 0.2224188000E+01 0.1000000000E+01 +S 1 +1 0.1005878000E+01 0.1000000000E+01 +S 1 +1 0.4549030000E+00 0.1000000000E+01 +S 1 +1 0.2057280000E+00 0.1000000000E+01 +S 1 +1 0.3145777156E-01 0.1000000000E+01 +P 12 +1 0.3580272529E+04 0.5618772402E-04 +2 0.8929146940E+03 0.4850036549E-03 +3 0.2822241260E+03 0.2942857660E-02 +4 0.1057416930E+03 0.1262343449E-01 +5 0.4452294200E+02 0.4153041338E-01 +6 0.2020759100E+02 0.1091642434E+00 +7 0.9578253000E+01 0.2187424408E+00 +8 0.4631673000E+01 0.3214564457E+00 +9 0.2246719000E+01 0.3264303459E+00 +10 0.1080164000E+01 0.1642519114E+00 +11 0.5101210000E+00 0.2308588839E-01 +12 0.2348570000E+00 0.1516856583E-02 +P 8 +1 0.9578253000E+01 -0.2247191821E-02 +2 0.4631673000E+01 -0.3021016879E-02 +3 0.2246719000E+01 -0.1110752690E-01 +4 0.1080164000E+01 0.9732873912E-02 +5 0.5101210000E+00 0.1600017268E+00 +6 0.2348570000E+00 0.3871003263E+00 +7 0.1045750000E+00 0.4283169846E+00 +8 0.4458400000E-01 0.1550656605E+00 +P 1 +1 0.8627847170E+03 1.0000000 +P 1 +1 0.4630705720E+03 1.0000000 +P 1 +1 0.2485374980E+03 1.0000000 +P 1 +1 0.1333941120E+03 1.0000000 +P 1 +1 0.7159478700E+02 1.0000000 +P 1 +1 0.3842608500E+02 1.0000000 +P 1 +1 0.2062390400E+02 1.0000000 +P 1 +1 0.1106918400E+02 1.0000000 +P 1 +1 0.5941011000E+01 1.0000000 +P 1 +1 0.2910463000E+01 1.0000000 +P 1 +1 0.1425817000E+01 0.1000000000E+01 +P 1 +1 0.7089380000E+00 0.1000000000E+01 +P 1 +1 0.3524950000E+00 0.1000000000E+01 +P 1 +1 0.1752660000E+00 0.1000000000E+01 +P 1 +1 0.2434445421E-01 0.1000000000E+01 +D 1 +1 0.5792113630E+03 1.0000000 +D 1 +1 0.2783258760E+03 1.0000000 +D 1 +1 0.1337427030E+03 1.0000000 +D 1 +1 0.6426679000E+02 1.0000000 +D 1 +1 0.3088183600E+02 1.0000000 +D 1 +1 0.1483951200E+02 1.0000000 +D 1 +1 0.7130765000E+01 1.0000000 +D 1 +1 0.5006021774E+01 0.1000000000E+01 +D 1 +1 0.3426515000E+01 1.0000000 +D 1 +1 0.1444411000E+01 0.1000000000E+01 +D 1 +1 0.6367220000E+00 0.1000000000E+01 +D 1 +1 0.2806790000E+00 0.1000000000E+01 +D 1 +1 0.1237280000E+00 0.1000000000E+01 +D 1 +1 0.5454130000E-01 0.1000000000E+01 +F 1 +1 0.1881381530E+03 1.0000000 +F 1 +1 0.8417745800E+02 1.0000000 +F 1 +1 0.3766298500E+02 1.0000000 +F 1 +1 0.1685131000E+02 1.0000000 +F 1 +1 0.7539674000E+01 1.0000000 +F 1 +1 0.3373429000E+01 1.0000000 +F 1 +1 0.1516180000E+01 1.0000000 +F 1 +1 0.6814450000E+00 0.1000000000E+01 +F 1 +1 0.3550550000E+00 0.1000000000E+01 +F 1 +1 0.1849960000E+00 0.1000000000E+01 +F 1 +1 0.9638930000E-01 0.1000000000E+01 +G 1 +1 0.4437712100E+02 1.0000000 +G 1 +1 0.2020858600E+02 1.0000000 +G 1 +1 0.9202647000E+01 1.0000000 +G 1 +1 0.4190729000E+01 1.0000000 +G 1 +1 0.1710286000E+01 1.0000000 +G 1 +1 0.6979880000E+00 0.1000000000E+01 +G 1 +1 0.3318310000E+00 0.1000000000E+01 +G 1 +1 0.1577560000E+00 0.1000000000E+01 +H 1 +1 0.1893448300E+02 1.0000000 +H 1 +1 0.7395821000E+01 1.0000000 +H 1 +1 0.2059705000E+01 1.0000000 +H 1 +1 0.5736191974E+00 0.1000000000E+01 + +PHOSPHORUS +S 14 +1 0.1490713457E+07 0.7595125549E-05 +2 0.2523241161E+06 0.5398175414E-04 +3 0.5559611708E+05 0.3100080506E-03 +4 0.1508252793E+05 0.1369881349E-02 +5 0.4807139004E+04 0.5018819513E-02 +6 0.1731264942E+04 0.1588898114E-01 +7 0.6824254990E+03 0.4440453132E-01 +8 0.2869511660E+03 0.1093205774E+00 +9 0.1261217910E+03 0.2254532770E+00 +10 0.5703201500E+02 0.3486293886E+00 +11 0.2621114900E+02 0.3039771559E+00 +12 0.1212791800E+02 0.9203762797E-01 +13 0.5607144000E+01 0.4840098759E-02 +14 0.2573533000E+01 0.1361733889E-02 +S 11 +1 0.1731264942E+04 -0.4831636607E-04 +2 0.6824254990E+03 -0.3551500857E-03 +3 0.2869511660E+03 -0.2244006216E-02 +4 0.1261217910E+03 -0.1093233812E-01 +5 0.5703201500E+02 -0.4111069875E-01 +6 0.2621114900E+02 -0.8853956275E-01 +7 0.1212791800E+02 -0.6052778218E-02 +8 0.5607144000E+01 0.3293523770E+00 +9 0.2573533000E+01 0.5565223566E+00 +10 0.1165223000E+01 0.2183592479E+00 +11 0.5168280000E+00 0.4560894583E-02 +S 7 +1 0.1212791800E+02 0.6427051443E-03 +2 0.5607144000E+01 -0.1049619910E-01 +3 0.2573533000E+01 -0.1073256293E+00 +4 0.1165223000E+01 -0.1504173420E+00 +5 0.5168280000E+00 0.2982045767E+00 +6 0.2226600000E+00 0.6252209381E+00 +7 0.9216400000E-01 0.2721459262E+00 +S 1 +1 0.5659139230E+03 1.0000000 +S 1 +1 0.2881323360E+03 1.0000000 +S 1 +1 0.1467011850E+03 1.0000000 +S 1 +1 0.7469219900E+02 1.0000000 +S 1 +1 0.3802917200E+02 1.0000000 +S 1 +1 0.1936236900E+02 1.0000000 +S 1 +1 0.9858256000E+01 1.0000000 +S 1 +1 0.5019284000E+01 1.0000000 +S 1 +1 0.3051428000E+01 0.1000000000E+01 +S 1 +1 0.1341556000E+01 0.1000000000E+01 +S 1 +1 0.5898140000E+00 0.1000000000E+01 +S 1 +1 0.2593110000E+00 0.1000000000E+01 +S 1 +1 0.3853663158E-01 0.1000000000E+01 +P 12 +1 0.4330098568E+04 0.5360439644E-04 +2 0.1076442979E+04 0.4648987196E-03 +3 0.3404875880E+03 0.2818996165E-02 +4 0.1278328400E+03 0.1214170980E-01 +5 0.5393604700E+02 0.4024827064E-01 +6 0.2452644400E+02 0.1070114781E+00 +7 0.1165195100E+02 0.2175194555E+00 +8 0.5655039000E+01 0.3243027744E+00 +9 0.2759892000E+01 0.3284498084E+00 +10 0.1339384000E+01 0.1601868783E+00 +11 0.6407810000E+00 0.2181532820E-01 +12 0.2997410000E+00 0.1488433511E-02 +P 8 +1 0.1165195100E+02 -0.2742658539E-02 +2 0.5655039000E+01 -0.3949555797E-02 +3 0.2759892000E+01 -0.1302177197E-01 +4 0.1339384000E+01 0.1923547426E-01 +5 0.6407810000E+00 0.1908502824E+00 +6 0.2997410000E+00 0.4050753130E+00 +7 0.1357600000E+00 0.3972689638E+00 +8 0.5874400000E-01 0.1283796560E+00 +P 1 +1 0.1014301607E+04 1.0000000 +P 1 +1 0.5490744170E+03 1.0000000 +P 1 +1 0.2972318230E+03 1.0000000 +P 1 +1 0.1609012440E+03 1.0000000 +P 1 +1 0.8710107100E+02 1.0000000 +P 1 +1 0.4715064000E+02 1.0000000 +P 1 +1 0.2552417300E+02 1.0000000 +P 1 +1 0.1381706400E+02 1.0000000 +P 1 +1 0.7479626000E+01 1.0000000 +P 1 +1 0.3730682000E+01 1.0000000 +P 1 +1 0.1860787000E+01 0.1000000000E+01 +P 1 +1 0.9252310000E+00 0.1000000000E+01 +P 1 +1 0.4600480000E+00 0.1000000000E+01 +P 1 +1 0.2287480000E+00 0.1000000000E+01 +P 1 +1 0.3247190110E-01 0.1000000000E+01 +D 1 +1 0.6829472850E+03 1.0000000 +D 1 +1 0.3320886630E+03 1.0000000 +D 1 +1 0.1614808090E+03 1.0000000 +D 1 +1 0.7852135400E+02 1.0000000 +D 1 +1 0.3818164600E+02 1.0000000 +D 1 +1 0.1856613500E+02 1.0000000 +D 1 +1 0.9027934000E+01 1.0000000 +D 1 +1 0.6313332873E+01 0.1000000000E+01 +D 1 +1 0.4389906000E+01 1.0000000 +D 1 +1 0.1905454000E+01 0.1000000000E+01 +D 1 +1 0.8357490000E+00 0.1000000000E+01 +D 1 +1 0.3665670000E+00 0.1000000000E+01 +D 1 +1 0.1607800000E+00 0.1000000000E+01 +D 1 +1 0.7051970000E-01 0.1000000000E+01 +F 1 +1 0.2227442720E+03 1.0000000 +F 1 +1 0.1005539440E+03 1.0000000 +F 1 +1 0.4539329100E+02 1.0000000 +F 1 +1 0.2049199500E+02 1.0000000 +F 1 +1 0.9250747000E+01 1.0000000 +F 1 +1 0.4176085000E+01 1.0000000 +F 1 +1 0.1892930000E+01 1.0000000 +F 1 +1 0.8580260000E+00 0.1000000000E+01 +F 1 +1 0.4454150000E+00 0.1000000000E+01 +F 1 +1 0.2312220000E+00 0.1000000000E+01 +F 1 +1 0.1200310000E+00 0.1000000000E+01 +G 1 +1 0.5430453700E+02 1.0000000 +G 1 +1 0.2485941900E+02 1.0000000 +G 1 +1 0.1138009400E+02 1.0000000 +G 1 +1 0.5209556000E+01 1.0000000 +G 1 +1 0.2158616000E+01 1.0000000 +G 1 +1 0.8944380000E+00 0.1000000000E+01 +G 1 +1 0.4216570000E+00 0.1000000000E+01 +G 1 +1 0.1987780000E+00 0.1000000000E+01 +H 1 +1 0.2293919300E+02 1.0000000 +H 1 +1 0.9026773000E+01 1.0000000 +H 1 +1 0.2583804000E+01 1.0000000 +H 1 +1 0.7395825319E+00 0.1000000000E+01 + +SULFUR +S 14 +1 0.1767451410E+07 0.7240425726E-05 +2 0.2977979677E+06 0.5171679830E-04 +3 0.6556874449E+05 0.2967496273E-03 +4 0.1780076538E+05 0.1309645991E-02 +5 0.5677246766E+04 0.4797778640E-02 +6 0.2044403549E+04 0.1521730048E-01 +7 0.8050754420E+03 0.4270635843E-01 +8 0.3380296950E+03 0.1058187270E+00 +9 0.1483821190E+03 0.2202768888E+00 +10 0.6707902700E+02 0.3453958345E+00 +11 0.3087502800E+02 0.3098386431E+00 +12 0.1434182100E+02 0.9954713197E-01 +13 0.6674510000E+01 0.5699145910E-02 +14 0.3091238000E+01 0.1504444963E-02 +S 11 +1 0.2044403549E+04 -0.4604068227E-04 +2 0.8050754420E+03 -0.3376151365E-03 +3 0.3380296950E+03 -0.2160625408E-02 +4 0.1483821190E+03 -0.1060847185E-01 +5 0.6707902700E+02 -0.4037684601E-01 +6 0.3087502800E+02 -0.8898019434E-01 +7 0.1434182100E+02 -0.1431543641E-01 +8 0.6674510000E+01 0.3210007810E+00 +9 0.3091238000E+01 0.5618219676E+00 +10 0.1414550000E+01 0.2247027288E+00 +11 0.6340210000E+00 0.6215637551E-02 +S 7 +1 0.1434182100E+02 0.9151554167E-03 +2 0.6674510000E+01 -0.1118979724E-01 +3 0.3091238000E+01 -0.1177961448E+00 +4 0.1414550000E+01 -0.1482152086E+00 +5 0.6340210000E+00 0.3257281703E+00 +6 0.2752480000E+00 0.6218366227E+00 +7 0.1140470000E+00 0.2542887098E+00 +S 1 +1 0.7781461670E+03 1.0000000 +S 1 +1 0.4329687330E+03 1.0000000 +S 1 +1 0.2409083680E+03 1.0000000 +S 1 +1 0.1340439560E+03 1.0000000 +S 1 +1 0.7458347100E+02 1.0000000 +S 1 +1 0.4149903000E+02 1.0000000 +S 1 +1 0.2309049800E+02 1.0000000 +S 1 +1 0.1284779600E+02 1.0000000 +S 1 +1 0.7148649000E+01 1.0000000 +S 1 +1 0.3876450000E+01 0.1000000000E+01 +S 1 +1 0.1733562000E+01 0.1000000000E+01 +S 1 +1 0.7752550000E+00 0.1000000000E+01 +S 1 +1 0.3466970000E+00 0.1000000000E+01 +S 1 +1 0.5044741104E-01 0.1000000000E+01 +P 12 +1 0.4974408218E+04 0.5443636482E-04 +2 0.1240658036E+04 0.4707474699E-03 +3 0.3922265940E+03 0.2865666089E-02 +4 0.1470541430E+03 0.1241522307E-01 +5 0.6201427900E+02 0.4129390802E-01 +6 0.2823148400E+02 0.1097662415E+00 +7 0.1344892800E+02 0.2222793968E+00 +8 0.6551872000E+01 0.3304691256E+00 +9 0.3209985000E+01 0.3261279948E+00 +10 0.1562272000E+01 0.1473156830E+00 +11 0.7479980000E+00 0.1758107575E-01 +12 0.3491580000E+00 0.1283330752E-02 +P 8 +1 0.1344892800E+02 -0.3286506956E-02 +2 0.6551872000E+01 -0.4944756999E-02 +3 0.3209985000E+01 -0.1486558047E-01 +4 0.1562272000E+01 0.3820396711E-01 +5 0.7479980000E+00 0.2310499386E+00 +6 0.3491580000E+00 0.4073401077E+00 +7 0.1572960000E+00 0.3627965584E+00 +8 0.6749800000E-01 0.1137703037E+00 +P 1 +1 0.1099729846E+04 1.0000000 +P 1 +1 0.6009543820E+03 1.0000000 +P 1 +1 0.3283953520E+03 1.0000000 +P 1 +1 0.1794537330E+03 1.0000000 +P 1 +1 0.9806363600E+02 1.0000000 +P 1 +1 0.5358749900E+02 1.0000000 +P 1 +1 0.2928323000E+02 1.0000000 +P 1 +1 0.1600200800E+02 1.0000000 +P 1 +1 0.8744399000E+01 1.0000000 +P 1 +1 0.4434232000E+01 1.0000000 +P 1 +1 0.2248572000E+01 0.1000000000E+01 +P 1 +1 0.1051162000E+01 0.1000000000E+01 +P 1 +1 0.4913970000E+00 0.1000000000E+01 +P 1 +1 0.2297180000E+00 0.1000000000E+01 +P 1 +1 0.3866658881E-01 0.1000000000E+01 +D 1 +1 0.8248240540E+03 1.0000000 +D 1 +1 0.4024221600E+03 1.0000000 +D 1 +1 0.1963371380E+03 1.0000000 +D 1 +1 0.9579062900E+02 1.0000000 +D 1 +1 0.4673514500E+02 1.0000000 +D 1 +1 0.2280153900E+02 1.0000000 +D 1 +1 0.1112460800E+02 1.0000000 +D 1 +1 0.8388553065E+01 0.1000000000E+01 +D 1 +1 0.5427568000E+01 1.0000000 +D 1 +1 0.2366037000E+01 0.1000000000E+01 +D 1 +1 0.1031649000E+01 0.1000000000E+01 +D 1 +1 0.4498240000E+00 0.1000000000E+01 +D 1 +1 0.1961340000E+00 0.1000000000E+01 +D 1 +1 0.8551910000E-01 0.1000000000E+01 +F 1 +1 0.2600224400E+03 1.0000000 +F 1 +1 0.1182446600E+03 1.0000000 +F 1 +1 0.5377151200E+02 1.0000000 +F 1 +1 0.2445248200E+02 1.0000000 +F 1 +1 0.1111971500E+02 1.0000000 +F 1 +1 0.5056667000E+01 1.0000000 +F 1 +1 0.2329075000E+01 1.0000000 +F 1 +1 0.1072760000E+01 0.1000000000E+01 +F 1 +1 0.5390750000E+00 0.1000000000E+01 +F 1 +1 0.2708920000E+00 0.1000000000E+01 +F 1 +1 0.1361260000E+00 0.1000000000E+01 +G 1 +1 0.6509593500E+02 1.0000000 +G 1 +1 0.2988243000E+02 1.0000000 +G 1 +1 0.1371759500E+02 1.0000000 +G 1 +1 0.6297092000E+01 1.0000000 +G 1 +1 0.2603751000E+01 1.0000000 +G 1 +1 0.1076611000E+01 0.1000000000E+01 +G 1 +1 0.4773540000E+00 0.1000000000E+01 +G 1 +1 0.2116510000E+00 0.1000000000E+01 +H 1 +1 0.2733689400E+02 1.0000000 +H 1 +1 0.1081622200E+02 1.0000000 +H 1 +1 0.3076693000E+01 1.0000000 +H 1 +1 0.8751706746E+00 0.1000000000E+01 + +CHLORINE +S 14 +1 0.2042751207E+07 0.7043951518E-05 +2 0.3439006742E+06 0.5032478758E-04 +3 0.7579067915E+05 0.2882140866E-03 +4 0.2060303251E+05 0.1269859202E-02 +5 0.6576999654E+04 0.4650026674E-02 +6 0.2368903933E+04 0.1476296647E-01 +7 0.9324725820E+03 0.4153827776E-01 +8 0.3912511410E+03 0.1033376962E+00 +9 0.1716704040E+03 0.2164277627E+00 +10 0.7763968300E+02 0.3425911290E+00 +11 0.3580133800E+02 0.3137799442E+00 +12 0.1669100600E+02 0.1054705614E+00 +13 0.7811736000E+01 0.6487280398E-02 +14 0.3644964000E+01 0.1609673407E-02 +S 11 +1 0.2368903933E+04 -0.4483989712E-04 +2 0.9324725820E+03 -0.3267001341E-03 +3 0.3912511410E+03 -0.2112537440E-02 +4 0.1716704040E+03 -0.1040933221E-01 +5 0.7763968300E+02 -0.3994691434E-01 +6 0.3580133800E+02 -0.8933099902E-01 +7 0.1669100600E+02 -0.2054185122E-01 +8 0.7811736000E+01 0.3152342454E+00 +9 0.3644964000E+01 0.5658061014E+00 +10 0.1682345000E+01 0.2287548485E+00 +11 0.7605300000E+00 0.7737547372E-02 +S 8 +1 0.3580133800E+02 0.1434528355E-02 +2 0.1669100600E+02 -0.7415307657E-05 +3 0.7811736000E+01 -0.1293417405E-01 +4 0.3644964000E+01 -0.1332433073E+00 +5 0.1682345000E+01 -0.1449133924E+00 +6 0.7605300000E+00 0.3449058521E+00 +7 0.3323680000E+00 0.6191711120E+00 +8 0.1380000000E+00 0.2436767190E+00 +S 1 +1 0.8868997430E+03 1.0000000 +S 1 +1 0.4959990260E+03 1.0000000 +S 1 +1 0.2773876480E+03 1.0000000 +S 1 +1 0.1551291500E+03 1.0000000 +S 1 +1 0.8675603800E+02 1.0000000 +S 1 +1 0.4851834800E+02 1.0000000 +S 1 +1 0.2713390500E+02 1.0000000 +S 1 +1 0.1517464700E+02 1.0000000 +S 1 +1 0.8486427000E+01 1.0000000 +S 1 +1 0.4750545000E+01 0.1000000000E+01 +S 1 +1 0.2158954000E+01 0.1000000000E+01 +S 1 +1 0.9811670000E+00 0.1000000000E+01 +S 1 +1 0.4459060000E+00 0.1000000000E+01 +S 1 +1 0.6515386132E-01 0.1000000000E+01 +P 12 +1 0.5713625948E+04 0.5437073139E-04 +2 0.1427201847E+04 0.4695673686E-03 +3 0.4512575870E+03 0.2863369666E-02 +4 0.1691736680E+03 0.1245273566E-01 +5 0.7138027000E+02 0.4155097393E-01 +6 0.3254684400E+02 0.1106620288E+00 +7 0.1554778800E+02 0.2243027219E+00 +8 0.7603481000E+01 0.3340612301E+00 +9 0.3742161000E+01 0.3246051778E+00 +10 0.1829882000E+01 0.1402189074E+00 +11 0.8798260000E+00 0.1577480154E-01 +12 0.4119080000E+00 0.1170463383E-02 +P 9 +1 0.3254684400E+02 -0.9812773522E-03 +2 0.1554778800E+02 -0.3357813046E-02 +3 0.7603481000E+01 -0.8385385677E-02 +4 0.3742161000E+01 -0.1541254040E-01 +5 0.1829882000E+01 0.5123574523E-01 +6 0.8798260000E+00 0.2556017464E+00 +7 0.4119080000E+00 0.4063026722E+00 +8 0.1857290000E+00 0.3418670015E+00 +9 0.7954000000E-01 0.1032571477E+00 +P 1 +1 0.1248285859E+04 1.0000000 +P 1 +1 0.6842530870E+03 1.0000000 +P 1 +1 0.3750761770E+03 1.0000000 +P 1 +1 0.2055995670E+03 1.0000000 +P 1 +1 0.1127002580E+03 1.0000000 +P 1 +1 0.6177711500E+02 1.0000000 +P 1 +1 0.3386338300E+02 1.0000000 +P 1 +1 0.1856235400E+02 1.0000000 +P 1 +1 0.1017503200E+02 1.0000000 +P 1 +1 0.5228070000E+01 1.0000000 +P 1 +1 0.2686260000E+01 0.1000000000E+01 +P 1 +1 0.1316538000E+01 0.1000000000E+01 +P 1 +1 0.6452360000E+00 0.1000000000E+01 +P 1 +1 0.3162310000E+00 0.1000000000E+01 +P 1 +1 0.5050849210E-01 0.1000000000E+01 +D 1 +1 0.9993811300E+03 1.0000000 +D 1 +1 0.4879555310E+03 1.0000000 +D 1 +1 0.2382480450E+03 1.0000000 +D 1 +1 0.1163264420E+03 1.0000000 +D 1 +1 0.5679728100E+02 1.0000000 +D 1 +1 0.2773171000E+02 1.0000000 +D 1 +1 0.1152463752E+02 0.1000000000E+01 +D 1 +1 0.6611117000E+01 1.0000000 +D 1 +1 0.2951110000E+01 0.1000000000E+01 +D 1 +1 0.1277070000E+01 0.1000000000E+01 +D 1 +1 0.5526420000E+00 0.1000000000E+01 +D 1 +1 0.2391520000E+00 0.1000000000E+01 +D 1 +1 0.1034910000E+00 0.1000000000E+01 +F 1 +1 0.2999140150E+03 1.0000000 +F 1 +1 0.1373832130E+03 1.0000000 +F 1 +1 0.6293186100E+02 1.0000000 +F 1 +1 0.2882753300E+02 1.0000000 +F 1 +1 0.1320518200E+02 1.0000000 +F 1 +1 0.6048968000E+01 1.0000000 +F 1 +1 0.2831064000E+01 1.0000000 +F 1 +1 0.1325007000E+01 0.1000000000E+01 +F 1 +1 0.6713790000E+00 0.1000000000E+01 +F 1 +1 0.3401860000E+00 0.1000000000E+01 +F 1 +1 0.1723710000E+00 0.1000000000E+01 +G 1 +1 0.7715893800E+02 1.0000000 +G 1 +1 0.3552141400E+02 1.0000000 +G 1 +1 0.1635288000E+02 1.0000000 +G 1 +1 0.7528323000E+01 1.0000000 +G 1 +1 0.3145950000E+01 1.0000000 +G 1 +1 0.1314635000E+01 0.1000000000E+01 +G 1 +1 0.5780530000E+00 0.1000000000E+01 +G 1 +1 0.2541730000E+00 0.1000000000E+01 +H 1 +1 0.3208879300E+02 1.0000000 +H 1 +1 0.1275225600E+02 1.0000000 +H 1 +1 0.3674460000E+01 1.0000000 +H 1 +1 0.1058766496E+01 0.1000000000E+01 + +ARGON +S 14 +1 0.2336281209E+07 0.6881803261E-05 +2 0.3930126480E+06 0.4918671306E-04 +3 0.8666332881E+05 0.2813362159E-03 +4 0.2358058133E+05 0.1238023161E-02 +5 0.7533002864E+04 0.4531370443E-02 +6 0.2714073200E+04 0.1439284778E-01 +7 0.1068270040E+04 0.4056327463E-01 +8 0.4481399430E+03 0.1011995852E+00 +9 0.1966378050E+03 0.2129807752E+00 +10 0.8899163800E+02 0.3399109031E+00 +11 0.4110631200E+02 0.3171074054E+00 +12 0.1922265400E+02 0.1108626378E+00 +13 0.9037159000E+01 0.7261156970E-02 +14 0.4241430000E+01 0.1705839315E-02 +S 11 +1 0.1068270040E+04 -0.3217514580E-03 +2 0.4481399430E+03 -0.1881074214E-02 +3 0.1966378050E+03 -0.1003839392E-01 +4 0.8899163800E+02 -0.3903984429E-01 +5 0.4110631200E+02 -0.8901767473E-01 +6 0.1922265400E+02 -0.2603916746E-01 +7 0.9037159000E+01 0.3104197714E+00 +8 0.4241430000E+01 0.5667493115E+00 +9 0.1970887000E+01 0.2330141524E+00 +10 0.8970720000E+00 0.8160008319E-02 +11 0.3942530000E+00 0.4357466960E-02 +S 9 +1 0.8899163800E+02 -0.6064437531E-04 +2 0.4110631200E+02 0.1480099876E-02 +3 0.1922265400E+02 0.7447677737E-04 +4 0.9037159000E+01 -0.1304131357E-01 +5 0.4241430000E+01 -0.1410050666E+00 +6 0.1970887000E+01 -0.1393169521E+00 +7 0.8970720000E+00 0.3577729666E+00 +8 0.3942530000E+00 0.6150874908E+00 +9 0.1641230000E+00 0.2362284372E+00 +S 1 +1 0.9904643300E+03 1.0000000 +S 1 +1 0.5619039290E+03 1.0000000 +S 1 +1 0.3187757660E+03 1.0000000 +S 1 +1 0.1808458410E+03 1.0000000 +S 1 +1 0.1025963130E+03 1.0000000 +S 1 +1 0.5820428800E+02 1.0000000 +S 1 +1 0.3302008700E+02 1.0000000 +S 1 +1 0.1873274600E+02 1.0000000 +S 1 +1 0.1062734200E+02 1.0000000 +S 1 +1 0.5674548000E+01 0.1000000000E+01 +S 1 +1 0.2676529000E+01 0.1000000000E+01 +S 1 +1 0.1262446000E+01 0.1000000000E+01 +S 1 +1 0.5954610000E+00 0.1000000000E+01 +S 1 +1 0.6832252200E-01 0.1000000000E+01 +P 12 +1 0.6550869137E+04 0.5362327202E-04 +2 0.1638052982E+04 0.4629618994E-03 +3 0.5177164300E+03 0.2831205039E-02 +4 0.1939575470E+03 0.1237463611E-01 +5 0.8182731600E+02 0.4147773296E-01 +6 0.3734517300E+02 0.1108290793E+00 +7 0.1787950300E+02 0.2252392079E+00 +8 0.8774152000E+01 0.3364435460E+00 +9 0.4337729000E+01 0.3235320432E+00 +10 0.2131924000E+01 0.1358336206E+00 +11 0.1030326000E+01 0.1491508226E-01 +12 0.4845530000E+00 0.1089209886E-02 +P 9 +1 0.3734517300E+02 -0.1074808684E-02 +2 0.1787950300E+02 -0.3691788395E-02 +3 0.8774152000E+01 -0.9529825456E-02 +4 0.4337729000E+01 -0.1572607275E-01 +5 0.2131924000E+01 0.6238818364E-01 +6 0.1030326000E+01 0.2708670893E+00 +7 0.4845530000E+00 0.4050552845E+00 +8 0.2191800000E+00 0.3266848194E+00 +9 0.9396600000E-01 0.9546412001E-01 +P 1 +1 0.1456441878E+04 1.0000000 +P 1 +1 0.8039750410E+03 1.0000000 +P 1 +1 0.4438047790E+03 1.0000000 +P 1 +1 0.2449860660E+03 1.0000000 +P 1 +1 0.1352355250E+03 1.0000000 +P 1 +1 0.7465178600E+02 1.0000000 +P 1 +1 0.4120876600E+02 1.0000000 +P 1 +1 0.2274778000E+02 1.0000000 +P 1 +1 0.1255707300E+02 1.0000000 +P 1 +1 0.6507804000E+01 1.0000000 +P 1 +1 0.3372722000E+01 0.1000000000E+01 +P 1 +1 0.1729118000E+01 0.1000000000E+01 +P 1 +1 0.8864800000E+00 0.1000000000E+01 +P 1 +1 0.4544780000E+00 0.1000000000E+01 +P 1 +1 0.4028473900E-01 0.1000000000E+01 +D 1 +1 0.1086462448E+04 1.0000000 +D 1 +1 0.5391222350E+03 1.0000000 +D 1 +1 0.2675221630E+03 1.0000000 +D 1 +1 0.1327493150E+03 1.0000000 +D 1 +1 0.6587260100E+02 1.0000000 +D 1 +1 0.3268717100E+02 1.0000000 +D 1 +1 0.1621996300E+02 1.0000000 +D 1 +1 0.1183060844E+02 0.1000000000E+01 +D 1 +1 0.8048638000E+01 1.0000000 +D 1 +1 0.3585080000E+01 0.1000000000E+01 +D 1 +1 0.1543812000E+01 0.1000000000E+01 +D 1 +1 0.6647990000E+00 0.1000000000E+01 +D 1 +1 0.2862760000E+00 0.1000000000E+01 +D 1 +1 0.1232760000E+00 0.1000000000E+01 +F 1 +1 0.3439088310E+03 1.0000000 +F 1 +1 0.1584643220E+03 1.0000000 +F 1 +1 0.7301627400E+02 1.0000000 +F 1 +1 0.3364401600E+02 1.0000000 +F 1 +1 0.1550229500E+02 1.0000000 +F 1 +1 0.7143058000E+01 1.0000000 +F 1 +1 0.3381575000E+01 1.0000000 +F 1 +1 0.1600862000E+01 0.1000000000E+01 +F 1 +1 0.8254380000E+00 0.1000000000E+01 +F 1 +1 0.4256130000E+00 0.1000000000E+01 +F 1 +1 0.2194540000E+00 0.1000000000E+01 +G 1 +1 0.9019581600E+02 1.0000000 +G 1 +1 0.4163965400E+02 1.0000000 +G 1 +1 0.1922329500E+02 1.0000000 +G 1 +1 0.8874595000E+01 1.0000000 +G 1 +1 0.3750188000E+01 1.0000000 +G 1 +1 0.1584738000E+01 0.1000000000E+01 +G 1 +1 0.6995690000E+00 0.1000000000E+01 +G 1 +1 0.3088180000E+00 0.1000000000E+01 +H 1 +1 0.3724502200E+02 1.0000000 +H 1 +1 0.1486294900E+02 1.0000000 +H 1 +1 0.4352709000E+01 1.0000000 +H 1 +1 0.1274718290E+01 0.1000000000E+01 +$END \ No newline at end of file diff --git a/data/basis/6zapa-nr b/data/basis/6zapa-nr new file mode 100644 index 00000000..8f863d8b --- /dev/null +++ b/data/basis/6zapa-nr @@ -0,0 +1,2000 @@ +!---------------------------------------------------------------------- +! Basis Set Exchange +! Version v0.8.12 +! https://www.basissetexchange.org +!---------------------------------------------------------------------- +! Basis set: 6ZaPa-NR +! Description: Sextuple Zeta augmented + polarization (nonrelativistic) +! Role: orbital +! Version: 1 (Data from Supplemental Information of publications) +!---------------------------------------------------------------------- + + +$DATA + +HYDROGEN +S 10 +1 0.1236550887E+04 0.5411825039E-04 +2 0.2770666880E+03 0.3008878800E-03 +3 0.6190041000E+02 0.1768785770E-02 +4 0.1750924900E+02 0.7217571709E-02 +5 0.5729993000E+01 0.2566849940E-01 +6 0.2065079000E+01 0.7841463929E-01 +7 0.8007820000E+00 0.1973910090E+00 +8 0.3301280000E+00 0.3598285599E+00 +9 0.1424660000E+00 0.3642526999E+00 +10 0.6222000000E-01 0.1099635200E+00 +S 1 +1 0.2433484000E+01 0.1000000000E+01 +S 1 +1 0.9567950000E+00 0.1000000000E+01 +S 1 +1 0.3936420000E+00 0.1000000000E+01 +S 1 +1 0.1550630000E+00 0.1000000000E+01 +S 1 +1 0.6403400000E-01 0.1000000000E+01 +S 1 +1 0.2553500000E-01 0.1000000000E+01 +S 1 +1 0.9587000000E-02 0.1000000000E+01 +P 1 +1 0.7153038000E+01 0.1000000000E+01 +P 1 +1 0.2428633000E+01 0.1000000000E+01 +P 1 +1 0.1082791000E+01 0.1000000000E+01 +P 1 +1 0.4677970000E+00 0.1000000000E+01 +P 1 +1 0.1959010000E+00 0.1000000000E+01 +P 1 +1 0.8203810000E-01 0.1000000000E+01 +D 1 +1 0.6264435000E+01 0.1000000000E+01 +D 1 +1 0.2645911000E+01 0.1000000000E+01 +D 1 +1 0.1150688000E+01 0.1000000000E+01 +D 1 +1 0.4254790000E+00 0.1000000000E+01 +D 1 +1 0.1573250000E+00 0.1000000000E+01 +F 1 +1 0.3223699000E+01 0.1000000000E+01 +F 1 +1 0.1222229000E+01 0.1000000000E+01 +F 1 +1 0.5009380000E+00 0.1000000000E+01 +F 1 +1 0.2053120000E+00 0.1000000000E+01 +G 1 +1 0.3442219000E+01 0.1000000000E+01 +G 1 +1 0.1244815000E+01 0.1000000000E+01 +G 1 +1 0.4501643000E+00 0.1000000000E+01 +H 1 +1 0.1202396970E+01 0.1000000000E+01 +H 1 +1 0.3613870000E+00 0.1000000000E+01 + +HELIUM +S 13 +1 0.3286134760E+05 0.5190587039E-05 +2 0.5235406370E+04 0.3908345599E-04 +3 0.1157243270E+04 0.2170905189E-03 +4 0.3224913530E+03 0.9184368817E-03 +5 0.1054901710E+03 0.3277822939E-02 +6 0.3848887500E+02 0.1035682030E-01 +7 0.1513003600E+02 0.2955456939E-01 +8 0.6267262000E+01 0.7443730828E-01 +9 0.2698210000E+01 0.1569266210E+00 +10 0.1196223000E+01 0.2619700079E+00 +11 0.5413680000E+00 0.3296060409E+00 +12 0.2470740000E+00 0.2479680699E+00 +13 0.1115070000E+00 0.5840784608E-01 +S 1 +1 0.7228433000E+01 0.1000000000E+01 +S 1 +1 0.3089342000E+01 0.1000000000E+01 +S 1 +1 0.1156710000E+01 0.1000000000E+01 +S 1 +1 0.4541410000E+00 0.1000000000E+01 +S 1 +1 0.1665030000E+00 0.1000000000E+01 +S 1 +1 0.5032423900E-01 0.1000000000E+01 +P 1 +1 0.1625649800E+02 0.1000000000E+01 +P 1 +1 0.5822027000E+01 0.1000000000E+01 +P 1 +1 0.2544425000E+01 0.1000000000E+01 +P 1 +1 0.1059468000E+01 0.1000000000E+01 +P 1 +1 0.3989640000E+00 0.1000000000E+01 +P 1 +1 0.1502370000E+00 0.1000000000E+01 +D 1 +1 0.1151123000E+02 0.1000000000E+01 +D 1 +1 0.4386540000E+01 0.1000000000E+01 +D 1 +1 0.1820150000E+01 0.1000000000E+01 +D 1 +1 0.6840770000E+00 0.1000000000E+01 +D 1 +1 0.2571000000E+00 0.1000000000E+01 +F 1 +1 0.8311806000E+01 0.1000000000E+01 +F 1 +1 0.3090655000E+01 0.1000000000E+01 +F 1 +1 0.1136597000E+01 0.1000000000E+01 +F 1 +1 0.4179867000E+00 0.1000000000E+01 +G 1 +1 0.5784487000E+01 0.1000000000E+01 +G 1 +1 0.1925102000E+01 0.1000000000E+01 +G 1 +1 0.6406822000E+00 0.1000000000E+01 +H 1 +1 0.3600505689E+01 0.1000000000E+01 + +LITHIUM +S 11 +1 0.2331354821E+05 0.2439351458E-04 +2 0.3490371983E+04 0.1876643427E-03 +3 0.7989113550E+03 0.9888329889E-03 +4 0.2242755370E+03 0.4196274704E-02 +5 0.7327116700E+02 0.1476120491E-01 +6 0.2661025100E+02 0.4510600926E-01 +7 0.1033154200E+02 0.1174632110E+00 +8 0.4217898000E+01 0.2396369971E+00 +9 0.1797406000E+01 0.3554733363E+00 +10 0.7803650000E+00 0.3100187749E+00 +11 0.3308530000E+00 0.7484647588E-01 +S 8 +1 0.1033154200E+02 -0.8503568824E-03 +2 0.4217898000E+01 -0.3593633595E-02 +3 0.1797406000E+01 -0.1608072172E-01 +4 0.7803650000E+00 -0.5436183014E-01 +5 0.3308530000E+00 -0.8439888491E-01 +6 0.1344520000E+00 0.1677399925E+00 +7 0.5505700000E-01 0.6260773194E+00 +8 0.2334600000E-01 0.3272160672E+00 +S 1 +1 0.3431220000E+00 0.1000000000E+01 +S 1 +1 0.1731470000E+00 0.1000000000E+01 +S 1 +1 0.8737300000E-01 0.1000000000E+01 +S 1 +1 0.4409000000E-01 0.1000000000E+01 +S 1 +1 0.2224900000E-01 0.1000000000E+01 +S 1 +1 0.9899481000E-02 0.1000000000E+01 +P 9 +1 0.3259273600E+02 0.2251927201E-03 +2 0.7813667000E+01 0.1771189071E-02 +3 0.2433365000E+01 0.7723243844E-02 +4 0.8690970000E+00 0.2265705761E-01 +5 0.3361120000E+00 0.6636753233E-01 +6 0.1385710000E+00 0.1895940531E+00 +7 0.6095800000E-01 0.3815257762E+00 +8 0.2839000000E-01 0.3940672642E+00 +9 0.1342500000E-01 0.1176233861E+00 +P 1 +1 0.4761530000E+00 0.1000000000E+01 +P 1 +1 0.2060460000E+00 0.1000000000E+01 +P 1 +1 0.8916200000E-01 0.1000000000E+01 +P 1 +1 0.3858300000E-01 0.1000000000E+01 +P 1 +1 0.1669600000E-01 0.1000000000E+01 +P 1 +1 0.6348384000E-02 0.1000000000E+01 +D 1 +1 0.7604180000E+00 0.1000000000E+01 +D 1 +1 0.4064410000E+00 0.1000000000E+01 +D 1 +1 0.2172410000E+00 0.1000000000E+01 +D 1 +1 0.1161150000E+00 0.1000000000E+01 +D 1 +1 0.6206300000E-01 0.1000000000E+01 +D 1 +1 0.3317200000E-01 0.1000000000E+01 +F 1 +1 0.4047180000E+00 0.1000000000E+01 +F 1 +1 0.2398290000E+00 0.1000000000E+01 +F 1 +1 0.1421180000E+00 0.1000000000E+01 +F 1 +1 0.8421700000E-01 0.1000000000E+01 +F 1 +1 0.4990500000E-01 0.1000000000E+01 +G 1 +1 0.4503350000E+00 0.1000000000E+01 +G 1 +1 0.2516120000E+00 0.1000000000E+01 +G 1 +1 0.1405810000E+00 0.1000000000E+01 +G 1 +1 0.7854560000E-01 0.1000000000E+01 +H 1 +1 0.3134460000E+00 0.1000000000E+01 +H 1 +1 0.1641550000E+00 0.1000000000E+01 +H 1 +1 0.8596970000E-01 0.1000000000E+01 +I 1 +1 0.2397828786E+00 0.1000000000E+01 + +BERYLLIUM +S 14 +1 0.1119496264E+06 0.6699800684E-05 +2 0.1893929997E+05 0.4765934773E-04 +3 0.4170892662E+04 0.2738229604E-03 +4 0.1131598115E+04 0.1209090959E-02 +5 0.3608634900E+03 0.4425099932E-02 +6 0.1300174060E+03 0.1399388122E-01 +7 0.5121943900E+02 0.3907415015E-01 +8 0.2148187800E+02 0.9583253690E-01 +9 0.9391205000E+01 0.1975352982E+00 +10 0.4210013000E+01 0.3207373288E+00 +11 0.1911920000E+01 0.3364974546E+00 +12 0.8720010000E+00 0.1404014915E+00 +13 0.3971020000E+00 0.7044821986E-02 +14 0.1799130000E+00 0.1261204782E-02 +S 10 +1 0.5121943900E+02 -0.1499007690E-03 +2 0.2148187800E+02 -0.7736254280E-03 +3 0.9391205000E+01 -0.4018981883E-02 +4 0.4210013000E+01 -0.1527609510E-01 +5 0.1911920000E+01 -0.5099283242E-01 +6 0.8720010000E+00 -0.7400565230E-01 +7 0.3971020000E+00 0.7620143917E-01 +8 0.1799130000E+00 0.3726417571E+00 +9 0.8092800000E-01 0.5002133830E+00 +10 0.3610100000E-01 0.1752346795E+00 +S 1 +1 0.3304292000E+01 0.1000000000E+01 +S 1 +1 0.1558038000E+01 0.1000000000E+01 +S 1 +1 0.7346450000E+00 0.1000000000E+01 +S 1 +1 0.3463990000E+00 0.1000000000E+01 +S 1 +1 0.1633340000E+00 0.1000000000E+01 +S 1 +1 0.1610421900E-01 0.1000000000E+01 +P 8 +1 0.4360946200E+02 0.6309109617E-03 +2 0.1037874500E+02 0.4887720598E-02 +3 0.3197705000E+01 0.2090497399E-01 +4 0.1139732000E+01 0.6605369897E-01 +5 0.4439150000E+00 0.1900136909E+00 +6 0.1839980000E+00 0.3782706388E+00 +7 0.7945900000E-01 0.4029215058E+00 +8 0.3431900000E-01 0.1401976359E+00 +P 1 +1 0.2467426000E+01 0.1000000000E+01 +P 1 +1 0.1214090000E+01 0.1000000000E+01 +P 1 +1 0.5973890000E+00 0.1000000000E+01 +P 1 +1 0.2939440000E+00 0.1000000000E+01 +P 1 +1 0.1446340000E+00 0.1000000000E+01 +P 1 +1 0.1482266000E-01 0.1000000000E+01 +D 1 +1 0.1468394000E+01 0.1000000000E+01 +D 1 +1 0.7769080000E+00 0.1000000000E+01 +D 1 +1 0.4110520000E+00 0.1000000000E+01 +D 1 +1 0.2174830000E+00 0.1000000000E+01 +D 1 +1 0.1150670000E+00 0.1000000000E+01 +D 1 +1 0.6088020000E-01 0.1000000000E+01 +F 1 +1 0.9364220000E+00 0.1000000000E+01 +F 1 +1 0.5246510000E+00 0.1000000000E+01 +F 1 +1 0.2939470000E+00 0.1000000000E+01 +F 1 +1 0.1646900000E+00 0.1000000000E+01 +F 1 +1 0.9227100000E-01 0.1000000000E+01 +G 1 +1 0.8266300000E+00 0.1000000000E+01 +G 1 +1 0.4372160000E+00 0.1000000000E+01 +G 1 +1 0.2312490000E+00 0.1000000000E+01 +G 1 +1 0.1223100000E+00 0.1000000000E+01 +H 1 +1 0.7077300000E+00 0.1000000000E+01 +H 1 +1 0.3363590000E+00 0.1000000000E+01 +H 1 +1 0.1598590000E+00 0.1000000000E+01 +I 1 +1 0.5391342361E+00 0.1000000000E+01 + +BORON +S 14 +1 0.1848560779E+06 0.6364308010E-05 +2 0.3119683206E+05 0.4538208239E-04 +3 0.6869651760E+04 0.2605348424E-03 +4 0.1864966838E+04 0.1149412604E-02 +5 0.5950731800E+03 0.4207269051E-02 +6 0.2144841110E+03 0.1332054519E-01 +7 0.8453679500E+02 0.3733369832E-01 +8 0.3549657600E+02 0.9229562401E-01 +9 0.1555503300E+02 0.1930917412E+00 +10 0.7001134000E+01 0.3185660807E+00 +11 0.3197345000E+01 0.3392309273E+00 +12 0.1467953000E+01 0.1459747348E+00 +13 0.6726780000E+00 0.9796860428E-02 +14 0.3058200000E+00 0.1086930452E-02 +S 10 +1 0.8453679500E+02 -0.1643351238E-03 +2 0.3549657600E+02 -0.8724269414E-03 +3 0.1555503300E+02 -0.4611783331E-02 +4 0.7001134000E+01 -0.1786945827E-01 +5 0.3197345000E+01 -0.5649306950E-01 +6 0.1467953000E+01 -0.7031675559E-01 +7 0.6726780000E+00 0.1054006747E+00 +8 0.3058200000E+00 0.3952626374E+00 +9 0.1371580000E+00 0.4742190055E+00 +10 0.6030900000E-01 0.1577115744E+00 +S 1 +1 0.1271954000E+01 0.1000000000E+01 +S 1 +1 0.6032800000E+00 0.1000000000E+01 +S 1 +1 0.2861320000E+00 0.1000000000E+01 +S 1 +1 0.1357110000E+00 0.1000000000E+01 +S 1 +1 0.6436700000E-01 0.1000000000E+01 +S 1 +1 0.2497990594E-01 0.1000000000E+01 +P 10 +1 0.1907715650E+03 0.1340518708E-03 +2 0.4583109200E+02 0.1152701316E-02 +3 0.1455020400E+02 0.6030272634E-02 +4 0.5444669000E+01 0.2113172340E-01 +5 0.2235581000E+01 0.6130452788E-01 +6 0.9675860000E+00 0.1526422173E+00 +7 0.4326370000E+00 0.2788042872E+00 +8 0.1975540000E+00 0.3574183610E+00 +9 0.9081500000E-01 0.2806056792E+00 +10 0.4084700000E-01 0.7646110242E-01 +P 1 +1 0.1509222000E+01 0.1000000000E+01 +P 1 +1 0.6708900000E+00 0.1000000000E+01 +P 1 +1 0.2982290000E+00 0.1000000000E+01 +P 1 +1 0.1325710000E+00 0.1000000000E+01 +P 1 +1 0.5893100000E-01 0.1000000000E+01 +P 1 +1 0.1790414136E-01 0.1000000000E+01 +D 1 +1 0.2856047000E+01 0.1000000000E+01 +D 1 +1 0.1335505000E+01 0.1000000000E+01 +D 1 +1 0.6244900000E+00 0.1000000000E+01 +D 1 +1 0.2920150000E+00 0.1000000000E+01 +D 1 +1 0.1365480000E+00 0.1000000000E+01 +D 1 +1 0.6385067000E-01 0.1000000000E+01 +F 1 +1 0.1465099000E+01 0.1000000000E+01 +F 1 +1 0.7782750000E+00 0.1000000000E+01 +F 1 +1 0.4134280000E+00 0.1000000000E+01 +F 1 +1 0.2196170000E+00 0.1000000000E+01 +F 1 +1 0.1166626000E+00 0.1000000000E+01 +G 1 +1 0.1478654000E+01 0.1000000000E+01 +G 1 +1 0.7374670000E+00 0.1000000000E+01 +G 1 +1 0.3678060000E+00 0.1000000000E+01 +G 1 +1 0.1834404000E+00 0.1000000000E+01 +H 1 +1 0.1226156000E+01 0.1000000000E+01 +H 1 +1 0.5577360000E+00 0.1000000000E+01 +H 1 +1 0.2536948000E+00 0.1000000000E+01 +I 1 +1 0.9198525875E+00 0.1000000000E+01 + +CARBON +S 13 +1 0.2741058033E+06 0.6195108691E-05 +2 0.4636215670E+05 0.4404679979E-04 +3 0.1021631789E+05 0.2529448730E-03 +4 0.2772611505E+04 0.1116811879E-02 +5 0.8839413830E+03 0.4096742198E-02 +6 0.3183297790E+03 0.1298802009E-01 +7 0.1254121500E+03 0.3651874127E-01 +8 0.5267632100E+02 0.9062470331E-01 +9 0.2311168000E+02 0.1913871343E+00 +10 0.1042419500E+02 0.3179256494E+00 +11 0.4773503000E+01 0.3407678887E+00 +12 0.2197578000E+01 0.1469094268E+00 +13 0.1008878000E+01 0.1233421439E-01 +S 10 +1 0.1254121500E+03 -0.1718634875E-03 +2 0.5267632100E+02 -0.9433328799E-03 +3 0.2311168000E+02 -0.4991958508E-02 +4 0.1042419500E+02 -0.1966844657E-01 +5 0.4773503000E+01 -0.5951766431E-01 +6 0.2197578000E+01 -0.6597754396E-01 +7 0.1008878000E+01 0.1238626145E+00 +8 0.4585090000E+00 0.4047447337E+00 +9 0.2047660000E+00 0.4588324036E+00 +10 0.8910800000E-01 0.1489045123E+00 +S 1 +1 0.1901429000E+01 0.1000000000E+01 +S 1 +1 0.8856280000E+00 0.1000000000E+01 +S 1 +1 0.4124990000E+00 0.1000000000E+01 +S 1 +1 0.1921300000E+00 0.1000000000E+01 +S 1 +1 0.8948800000E-01 0.1000000000E+01 +S 1 +1 0.3619331473E-01 0.1000000000E+01 +P 11 +1 0.4746409380E+03 0.6057290989E-04 +2 0.1148333470E+03 0.5320061360E-03 +3 0.3653654700E+02 0.3003900940E-02 +4 0.1380489800E+02 0.1162455370E-01 +5 0.5781436000E+01 0.3509661020E-01 +6 0.2569999000E+01 0.9163996538E-01 +7 0.1182652000E+01 0.1930229940E+00 +8 0.5554700000E+00 0.2978047500E+00 +9 0.2634530000E+00 0.3309731780E+00 +10 0.1243470000E+00 0.2258447630E+00 +11 0.5691100000E-01 0.5405449519E-01 +P 1 +1 0.2207781000E+01 0.1000000000E+01 +P 1 +1 0.9756890000E+00 0.1000000000E+01 +P 1 +1 0.4311880000E+00 0.1000000000E+01 +P 1 +1 0.1905560000E+00 0.1000000000E+01 +P 1 +1 0.8421300000E-01 0.1000000000E+01 +P 1 +1 0.3009217328E-01 0.1000000000E+01 +D 1 +1 0.5188287000E+01 0.1000000000E+01 +D 1 +1 0.2311092000E+01 0.1000000000E+01 +D 1 +1 0.1029462000E+01 0.1000000000E+01 +D 1 +1 0.4585680000E+00 0.1000000000E+01 +D 1 +1 0.2042660000E+00 0.1000000000E+01 +D 1 +1 0.9098890000E-01 0.1000000000E+01 +F 1 +1 0.2526482000E+01 0.1000000000E+01 +F 1 +1 0.1285579000E+01 0.1000000000E+01 +F 1 +1 0.6541560000E+00 0.1000000000E+01 +F 1 +1 0.3328620000E+00 0.1000000000E+01 +F 1 +1 0.1693740000E+00 0.1000000000E+01 +G 1 +1 0.2461543000E+01 0.1000000000E+01 +G 1 +1 0.1195949000E+01 0.1000000000E+01 +G 1 +1 0.5810560000E+00 0.1000000000E+01 +G 1 +1 0.2823080000E+00 0.1000000000E+01 +H 1 +1 0.1834038000E+01 0.1000000000E+01 +H 1 +1 0.8062260000E+00 0.1000000000E+01 +H 1 +1 0.3544090000E+00 0.1000000000E+01 +I 1 +1 0.1510940593E+01 0.1000000000E+01 + +NITROGEN +S 15 +1 0.5000000000E+06 0.3638571635E-05 +2 0.1148233959E+06 0.1960368839E-04 +3 0.2536061955E+05 0.1216200590E-03 +4 0.6839851787E+04 0.5381714630E-03 +5 0.2161118669E+04 0.2012279375E-02 +6 0.7723511430E+03 0.6476943696E-02 +7 0.3031811790E+03 0.1862994848E-01 +8 0.1275828270E+03 0.4818499657E-01 +9 0.5642306800E+02 0.1109675546E+00 +10 0.2580505100E+02 0.2167170793E+00 +11 0.1204755400E+02 0.3291647108E+00 +12 0.5681613000E+01 0.3051449743E+00 +13 0.2683131000E+01 0.1088520703E+00 +14 0.1259306000E+01 0.6811993944E-02 +15 0.5832840000E+00 0.1207430338E-02 +S 10 +1 0.1275828270E+03 -0.3441992061E-03 +2 0.5642306800E+02 -0.1524823594E-02 +3 0.2580505100E+02 -0.7577430335E-02 +4 0.1204755400E+02 -0.2683392175E-01 +5 0.5681613000E+01 -0.6812951659E-01 +6 0.2683131000E+01 -0.4242512243E-01 +7 0.1259306000E+01 0.1720938374E+00 +8 0.5832840000E+00 0.4205021833E+00 +9 0.2647070000E+00 0.4199561073E+00 +10 0.1167660000E+00 0.1220017429E+00 +S 1 +1 0.2672333000E+01 0.1000000000E+01 +S 1 +1 0.1215823000E+01 0.1000000000E+01 +S 1 +1 0.5531590000E+00 0.1000000000E+01 +S 1 +1 0.2516690000E+00 0.1000000000E+01 +S 1 +1 0.1145010000E+00 0.1000000000E+01 +S 1 +1 0.4466507187E-01 0.1000000000E+01 +P 11 +1 0.6658552620E+03 0.6360437046E-04 +2 0.1609408420E+03 0.5605752797E-03 +3 0.5120417300E+02 0.3187078278E-02 +4 0.1937969600E+02 0.1249150199E-01 +5 0.8142370000E+01 0.3822826698E-01 +6 0.3633311000E+01 0.9896483684E-01 +7 0.1676987000E+01 0.2022805739E+00 +8 0.7881640000E+00 0.3015745058E+00 +9 0.3726690000E+00 0.3239404678E+00 +10 0.1745400000E+00 0.2159859359E+00 +11 0.7888400000E-01 0.5189478247E-01 +P 1 +1 0.3101990000E+01 0.1000000000E+01 +P 1 +1 0.1353966000E+01 0.1000000000E+01 +P 1 +1 0.5909830000E+00 0.1000000000E+01 +P 1 +1 0.2579540000E+00 0.1000000000E+01 +P 1 +1 0.1125920000E+00 0.1000000000E+01 +P 1 +1 0.5053514263E-01 0.1000000000E+01 +P 1 +1 0.2109732021E-01 0.1000000000E+01 +D 1 +1 0.7552117000E+01 0.1000000000E+01 +D 1 +1 0.3312421000E+01 0.1000000000E+01 +D 1 +1 0.1452855000E+01 0.1000000000E+01 +D 1 +1 0.6372340000E+00 0.1000000000E+01 +D 1 +1 0.2794960000E+00 0.1000000000E+01 +D 1 +1 0.1225892000E+00 0.1000000000E+01 +F 1 +1 0.3508208000E+01 0.1000000000E+01 +F 1 +1 0.1699635000E+01 0.1000000000E+01 +F 1 +1 0.8234290000E+00 0.1000000000E+01 +F 1 +1 0.3989300000E+00 0.1000000000E+01 +F 1 +1 0.1932710000E+00 0.1000000000E+01 +G 1 +1 0.3561320000E+01 0.1000000000E+01 +G 1 +1 0.1647316000E+01 0.1000000000E+01 +G 1 +1 0.7619790000E+00 0.1000000000E+01 +G 1 +1 0.3524593000E+00 0.1000000000E+01 +H 1 +1 0.2622822000E+01 0.1000000000E+01 +H 1 +1 0.1130325000E+01 0.1000000000E+01 +H 1 +1 0.4871221100E+00 0.1000000000E+01 +I 1 +1 0.2010940593E+01 0.1000000000E+01 + +OXYGEN +S 15 +1 0.6548000000E+06 0.3676746544E-05 +2 0.1483657123E+06 0.2001322601E-04 +3 0.3287120290E+05 0.1230958929E-03 +4 0.8900326514E+04 0.5419452353E-03 +5 0.2822487225E+04 0.2017300727E-02 +6 0.1011638751E+04 0.6474519326E-02 +7 0.3979108470E+03 0.1859701774E-01 +8 0.1676654060E+03 0.4810708725E-01 +9 0.7422043800E+02 0.1109657057E+00 +10 0.3397885900E+02 0.2172491231E+00 +11 0.1588559300E+02 0.3297594370E+00 +12 0.7505787000E+01 0.3039544665E+00 +13 0.3552417000E+01 0.1081779895E+00 +14 0.1670456000E+01 0.7138302431E-02 +15 0.7740200000E+00 0.1237595785E-02 +S 10 +1 0.1676654060E+03 -0.3618306853E-03 +2 0.7422043800E+02 -0.1614846493E-02 +3 0.3397885900E+02 -0.8051280847E-02 +4 0.1588559300E+02 -0.2843516405E-01 +5 0.7505787000E+01 -0.6974989359E-01 +6 0.3552417000E+01 -0.3762836555E-01 +7 0.1670456000E+01 0.1842351239E+00 +8 0.7740200000E+00 0.4267202503E+00 +9 0.3502170000E+00 0.4088258309E+00 +10 0.1530920000E+00 0.1148198259E+00 +S 1 +1 0.3443955000E+01 0.1000000000E+01 +S 1 +1 0.1607443000E+01 0.1000000000E+01 +S 1 +1 0.7502640000E+00 0.1000000000E+01 +S 1 +1 0.3501810000E+00 0.1000000000E+01 +S 1 +1 0.1634450000E+00 0.1000000000E+01 +S 1 +1 0.6343585760E-01 0.1000000000E+01 +P 11 +1 0.8425259190E+03 0.7115590364E-04 +2 0.2038673200E+03 0.6269252005E-03 +3 0.6481637700E+02 0.3575226676E-02 +4 0.2453650700E+02 0.1406815969E-01 +5 0.1032262900E+02 0.4331169469E-01 +6 0.4610823000E+01 0.1103853021E+00 +7 0.2124722000E+01 0.2148049775E+00 +8 0.9920000000E+00 0.3022354214E+00 +9 0.4628540000E+00 0.3126216704E+00 +10 0.2124640000E+00 0.2092272585E+00 +11 0.9367700000E-01 0.5257213566E-01 +P 1 +1 0.3923428000E+01 0.1000000000E+01 +P 1 +1 0.1652241000E+01 0.1000000000E+01 +P 1 +1 0.6957950000E+00 0.1000000000E+01 +P 1 +1 0.2930150000E+00 0.1000000000E+01 +P 1 +1 0.1233950000E+00 0.1000000000E+01 +P 1 +1 0.4557271185E-01 0.1000000000E+01 +D 1 +1 0.9871045000E+01 0.1000000000E+01 +D 1 +1 0.4275423000E+01 0.1000000000E+01 +D 1 +1 0.1851804000E+01 0.1000000000E+01 +D 1 +1 0.8020670000E+00 0.1000000000E+01 +D 1 +1 0.3473980000E+00 0.1000000000E+01 +D 1 +1 0.1504670000E+00 0.1000000000E+01 +F 1 +1 0.5194130000E+01 0.1000000000E+01 +F 1 +1 0.2436296000E+01 0.1000000000E+01 +F 1 +1 0.1142740000E+01 0.1000000000E+01 +F 1 +1 0.5360000000E+00 0.1000000000E+01 +F 1 +1 0.2514097000E+00 0.1000000000E+01 +G 1 +1 0.5063136000E+01 0.1000000000E+01 +G 1 +1 0.2235772000E+01 0.1000000000E+01 +G 1 +1 0.9872690000E+00 0.1000000000E+01 +G 1 +1 0.4359560000E+00 0.1000000000E+01 +H 1 +1 0.3591649000E+01 0.1000000000E+01 +H 1 +1 0.1458150000E+01 0.1000000000E+01 +H 1 +1 0.5919840000E+00 0.1000000000E+01 +I 1 +1 0.2680115504E+01 0.1000000000E+01 + +FLUORINE +S 15 +1 0.8250000000E+06 0.3643935712E-05 +2 0.1918127476E+06 0.1958810624E-04 +3 0.4203443341E+05 0.1228357998E-03 +4 0.1131205825E+05 0.5431491867E-03 +5 0.3576990623E+04 0.2025653736E-02 +6 0.1281022058E+04 0.6498502676E-02 +7 0.5040846600E+03 0.1864130990E-01 +8 0.2126459070E+03 0.4815846362E-01 +9 0.9427568200E+02 0.1110398593E+00 +10 0.4323429300E+02 0.2175580773E+00 +11 0.2024813900E+02 0.3299763557E+00 +12 0.9582697000E+01 0.3030258617E+00 +13 0.4541095000E+01 0.1077595699E+00 +14 0.2136313000E+01 0.7394751477E-02 +15 0.9888490000E+00 0.1282409555E-02 +S 10 +1 0.2126459070E+03 -0.3771086314E-03 +2 0.9427568200E+02 -0.1685002199E-02 +3 0.4323429300E+02 -0.8416257893E-02 +4 0.2024813900E+02 -0.2959485555E-01 +5 0.9582697000E+01 -0.7070651316E-01 +6 0.4541095000E+01 -0.3367451815E-01 +7 0.2136313000E+01 0.1929601870E+00 +8 0.9888490000E+00 0.4307072113E+00 +9 0.4458440000E+00 0.4008851832E+00 +10 0.1934550000E+00 0.1096912112E+00 +S 1 +1 0.4621829000E+01 0.1000000000E+01 +S 1 +1 0.2167341000E+01 0.1000000000E+01 +S 1 +1 0.1016344000E+01 0.1000000000E+01 +S 1 +1 0.4766000000E+00 0.1000000000E+01 +S 1 +1 0.2234950000E+00 0.1000000000E+01 +S 1 +1 0.8687802727E-01 0.1000000000E+01 +P 12 +1 0.1679966278E+04 0.3354173797E-04 +2 0.4090647950E+03 0.2972890747E-03 +3 0.1297987880E+03 0.1763853068E-02 +4 0.4914670400E+02 0.7392748393E-02 +5 0.2082482000E+02 0.2404134708E-01 +6 0.9442300000E+01 0.6526271964E-01 +7 0.4446604000E+01 0.1443331949E+00 +8 0.2133263000E+01 0.2398576708E+00 +9 0.1028899000E+01 0.2975671097E+00 +10 0.4931350000E+00 0.2800508847E+00 +11 0.2314990000E+00 0.1715086888E+00 +12 0.1041580000E+00 0.3914362266E-01 +P 1 +1 0.5085001000E+01 0.1000000000E+01 +P 1 +1 0.2128221000E+01 0.1000000000E+01 +P 1 +1 0.8907220000E+00 0.1000000000E+01 +P 1 +1 0.3727930000E+00 0.1000000000E+01 +P 1 +1 0.1560250000E+00 0.1000000000E+01 +P 1 +1 0.5875616644E-01 0.1000000000E+01 +D 1 +1 0.1257536800E+02 0.1000000000E+01 +D 1 +1 0.5426469000E+01 0.1000000000E+01 +D 1 +1 0.2341606000E+01 0.1000000000E+01 +D 1 +1 0.1010440000E+01 0.1000000000E+01 +D 1 +1 0.4360210000E+00 0.1000000000E+01 +D 1 +1 0.1881500000E+00 0.1000000000E+01 +F 1 +1 0.6940585000E+01 0.1000000000E+01 +F 1 +1 0.3121210000E+01 0.1000000000E+01 +F 1 +1 0.1403621000E+01 0.1000000000E+01 +F 1 +1 0.6312140000E+00 0.1000000000E+01 +F 1 +1 0.2838590000E+00 0.1000000000E+01 +G 1 +1 0.6724314000E+01 0.1000000000E+01 +G 1 +1 0.2847899000E+01 0.1000000000E+01 +G 1 +1 0.1206150000E+01 0.1000000000E+01 +G 1 +1 0.5108310000E+00 0.1000000000E+01 +H 1 +1 0.4717751000E+01 0.1000000000E+01 +H 1 +1 0.1861195000E+01 0.1000000000E+01 +H 1 +1 0.7342580000E+00 0.1000000000E+01 +I 1 +1 0.3514960927E+01 0.1000000000E+01 + +NEON +S 15 +1 0.7592900000E+06 0.4572351486E-05 +2 0.2368045862E+06 0.1793913107E-04 +3 0.5240598869E+05 0.1221904411E-03 +4 0.1417415120E+05 0.5324678005E-03 +5 0.4488587984E+04 0.1992753335E-02 +6 0.1605965161E+04 0.6408422517E-02 +7 0.6304639460E+03 0.1847496904E-01 +8 0.2651881290E+03 0.4796303043E-01 +9 0.1172460820E+03 0.1111286993E+00 +10 0.5365418000E+02 0.2185102924E+00 +11 0.2509753200E+02 0.3312079492E+00 +12 0.1187445400E+02 0.3020715657E+00 +13 0.5629594000E+01 0.1065704869E+00 +14 0.2650089000E+01 0.7506758908E-02 +15 0.1226698000E+01 0.1315734729E-02 +S 10 +1 0.2651881290E+03 -0.3823398415E-03 +2 0.1172460820E+03 -0.1737091236E-02 +3 0.5365418000E+02 -0.8717794175E-02 +4 0.2509753200E+02 -0.3065498313E-01 +5 0.1187445400E+02 -0.7150258365E-01 +6 0.5629594000E+01 -0.2977378971E-01 +7 0.2650089000E+01 0.2001906309E+00 +8 0.1226698000E+01 0.4325170316E+00 +9 0.5521260000E+00 0.3944660165E+00 +10 0.2383780000E+00 0.1063161703E+00 +S 1 +1 0.9551807000E+01 0.1000000000E+01 +S 1 +1 0.4260461000E+01 0.1000000000E+01 +S 1 +1 0.1900324000E+01 0.1000000000E+01 +S 1 +1 0.8476150000E+00 0.1000000000E+01 +S 1 +1 0.3780680000E+00 0.1000000000E+01 +S 1 +1 0.1029186700E+00 0.1000000000E+01 +P 12 +1 0.2065537160E+04 0.3511416141E-04 +2 0.5025211230E+03 0.3116357070E-03 +3 0.1594703590E+03 0.1849485790E-02 +4 0.6043998800E+02 0.7762648121E-02 +5 0.2564842700E+02 0.2533603190E-01 +6 0.1164715300E+02 0.6866002001E-01 +7 0.5490203000E+01 0.1497005810E+00 +8 0.2633348000E+01 0.2438020450E+00 +9 0.1267578000E+01 0.2967876450E+00 +10 0.6049720000E+00 0.2750817790E+00 +11 0.2820910000E+00 0.1676551620E+00 +12 0.1257420000E+00 0.3874148491E-01 +P 1 +1 0.6263504000E+01 0.1000000000E+01 +P 1 +1 0.2712004000E+01 0.1000000000E+01 +P 1 +1 0.1174257000E+01 0.1000000000E+01 +P 1 +1 0.5084360000E+00 0.1000000000E+01 +P 1 +1 0.2201450000E+00 0.1000000000E+01 +P 1 +1 0.5604946800E-01 0.1000000000E+01 +D 1 +1 0.1591065300E+02 0.1000000000E+01 +D 1 +1 0.6826989000E+01 0.1000000000E+01 +D 1 +1 0.2929344000E+01 0.1000000000E+01 +D 1 +1 0.1256931000E+01 0.1000000000E+01 +D 1 +1 0.5393280000E+00 0.1000000000E+01 +D 1 +1 0.2314160000E+00 0.1000000000E+01 +F 1 +1 0.9020521000E+01 0.1000000000E+01 +F 1 +1 0.4043567000E+01 0.1000000000E+01 +F 1 +1 0.1812582000E+01 0.1000000000E+01 +F 1 +1 0.8125140000E+00 0.1000000000E+01 +F 1 +1 0.3642200000E+00 0.1000000000E+01 +G 1 +1 0.8488923000E+01 0.1000000000E+01 +G 1 +1 0.3545641000E+01 0.1000000000E+01 +G 1 +1 0.1480938000E+01 0.1000000000E+01 +G 1 +1 0.6185559000E+00 0.1000000000E+01 +H 1 +1 0.6049295000E+01 0.1000000000E+01 +H 1 +1 0.2347446000E+01 0.1000000000E+01 +H 1 +1 0.9109330000E+00 0.1000000000E+01 +I 1 +1 0.4429528069E+01 0.1000000000E+01 + +SODIUM +S 15 +1 0.1622986021E+07 0.3019413319E-05 +2 0.2952591241E+06 0.1970385099E-04 +3 0.6618495293E+05 0.1142160355E-03 +4 0.1773932821E+05 0.5204017705E-03 +5 0.5526464730E+04 0.1982894659E-02 +6 0.1948908348E+04 0.6484271717E-02 +7 0.7590966170E+03 0.1872100994E-01 +8 0.3192668830E+03 0.4821397500E-01 +9 0.1420523500E+03 0.1102584057E+00 +10 0.6564468700E+02 0.2148772048E+00 +11 0.3100229500E+02 0.3266543121E+00 +12 0.1475776700E+02 0.3045648918E+00 +13 0.7000155000E+01 0.1120947976E+00 +14 0.3279110000E+01 0.7660569090E-02 +15 0.1507217000E+01 0.9889719968E-03 +S 11 +1 0.7590966170E+03 -0.5891529657E-04 +2 0.3192668830E+03 -0.3807822902E-03 +3 0.1420523500E+03 -0.2035580160E-02 +4 0.6564468700E+02 -0.9147017616E-02 +5 0.3100229500E+02 -0.3164677780E-01 +6 0.1475776700E+02 -0.7385304254E-01 +7 0.7000155000E+01 -0.3165294715E-01 +8 0.3279110000E+01 0.2099234393E+00 +9 0.1507217000E+01 0.4687554108E+00 +10 0.6772070000E+00 0.3825445655E+00 +11 0.2971160000E+00 0.6801043486E-01 +S 8 +1 0.7000155000E+01 0.4914249099E-03 +2 0.3279110000E+01 -0.3113893370E-02 +3 0.1507217000E+01 -0.1306927759E-01 +4 0.6772070000E+00 -0.6267900419E-01 +5 0.2971160000E+00 -0.1067663418E+00 +6 0.1275080000E+00 0.1001953855E+00 +7 0.5377200000E-01 0.6210714443E+00 +8 0.2245300000E-01 0.4047279787E+00 +S 1 +1 0.1467496000E+01 0.1000000000E+01 +S 1 +1 0.7337460000E+00 0.1000000000E+01 +S 1 +1 0.3668720000E+00 0.1000000000E+01 +S 1 +1 0.1834360000E+00 0.1000000000E+01 +S 1 +1 0.9171800000E-01 0.1000000000E+01 +S 1 +1 0.6833685000E-02 0.1000000000E+01 +P 13 +1 0.2363679826E+04 0.4130410459E-04 +2 0.5953046310E+03 0.3523516053E-03 +3 0.1881414440E+03 0.2150900753E-02 +4 0.7030652500E+02 0.9259821065E-02 +5 0.2954833900E+02 0.3042623240E-01 +6 0.1340217900E+02 0.8108890177E-01 +7 0.6346712000E+01 0.1707658592E+00 +8 0.3058837000E+01 0.2688745036E+00 +9 0.1472677000E+01 0.3174139458E+00 +10 0.6995950000E+00 0.2604106864E+00 +11 0.3257490000E+00 0.1029400778E+00 +12 0.1484300000E+00 0.8993372995E-02 +13 0.6637300000E-01 0.9845083921E-03 +P 9 +1 0.6346712000E+01 -0.3882025307E-03 +2 0.3058837000E+01 -0.5435727859E-03 +3 0.1472677000E+01 -0.1248399926E-02 +4 0.6995950000E+00 -0.5208652075E-02 +5 0.3257490000E+00 -0.6130542274E-02 +6 0.1484300000E+00 0.5529768220E-01 +7 0.6637300000E-01 0.2784890911E+00 +8 0.2932000000E-01 0.5284705789E+00 +9 0.1292100000E-01 0.2519560800E+00 +P 1 +1 0.7939830000E+00 0.1000000000E+01 +P 1 +1 0.3964200000E+00 0.1000000000E+01 +P 1 +1 0.1979250000E+00 0.1000000000E+01 +P 1 +1 0.9882000000E-01 0.1000000000E+01 +P 1 +1 0.4433900000E-01 0.1000000000E+01 +P 1 +1 0.5463331000E-02 0.1000000000E+01 +D 1 +1 0.4315970000E+01 0.1000000000E+01 +D 1 +1 0.1091593000E+01 0.1000000000E+01 +D 1 +1 0.5097200000E+00 0.1000000000E+01 +D 1 +1 0.2380150000E+00 0.1000000000E+01 +D 1 +1 0.1111410000E+00 0.1000000000E+01 +D 1 +1 0.5189700000E-01 0.1000000000E+01 +D 1 +1 0.2423300000E-01 0.1000000000E+01 +F 1 +1 0.2169990000E+00 0.1000000000E+01 +F 1 +1 0.1489240000E+00 0.1000000000E+01 +F 1 +1 0.1022050000E+00 0.1000000000E+01 +F 1 +1 0.7014300000E-01 0.1000000000E+01 +F 1 +1 0.4813800000E-01 0.1000000000E+01 +G 1 +1 0.2286270000E+00 0.1000000000E+01 +G 1 +1 0.1781410000E+00 0.1000000000E+01 +G 1 +1 0.1388040000E+00 0.1000000000E+01 +G 1 +1 0.1081530000E+00 0.1000000000E+01 +H 1 +1 0.2423430000E+00 0.1000000000E+01 +H 1 +1 0.1606800000E+00 0.1000000000E+01 +H 1 +1 0.1065300000E+00 0.1000000000E+01 +I 1 +1 0.1996002000E+00 0.1000000000E+01 + +MAGNESIUM +S 16 +1 0.2007364310E+07 0.2893089041E-05 +2 0.3634185020E+06 0.1895341192E-04 +3 0.8162708050E+05 0.1092119462E-03 +4 0.2197683910E+05 0.4943623453E-03 +5 0.6874922160E+04 0.1875682470E-02 +6 0.2429744630E+04 0.6133092578E-02 +7 0.9461361220E+03 0.1778010210E-01 +8 0.3969978120E+03 0.4615887394E-01 +9 0.1760261780E+03 0.1066578986E+00 +10 0.8108609100E+02 0.2103134769E+00 +11 0.3824486900E+02 0.3237028057E+00 +12 0.1824434400E+02 0.3088136848E+00 +13 0.8713954000E+01 0.1203727017E+00 +14 0.4133436000E+01 0.9583261295E-02 +15 0.1935116000E+01 0.9544003962E-03 +16 0.8901180000E+00 -0.7610500475E-03 +S 12 +1 0.3969978120E+03 -0.3992081105E-03 +2 0.1760261780E+03 -0.1764829478E-02 +3 0.8108609100E+02 -0.9015127349E-02 +4 0.3824486900E+02 -0.3124636609E-01 +5 0.1824434400E+02 -0.7479198270E-01 +6 0.8713954000E+01 -0.3716108280E-01 +7 0.4133436000E+01 0.1998480757E+00 +8 0.1935116000E+01 0.4760901249E+00 +9 0.8901180000E+00 0.3878846339E+00 +10 0.4011180000E+00 0.6462276959E-01 +11 0.1768300000E+00 -0.1775698745E-03 +12 0.7625100000E-01 -0.1699454454E-03 +S 8 +1 0.8713954000E+01 0.8360273572E-03 +2 0.4133436000E+01 -0.4229379451E-02 +3 0.1935116000E+01 -0.2051446826E-01 +4 0.8901180000E+00 -0.1012859385E+00 +5 0.4011180000E+00 -0.8386112184E-01 +6 0.1768300000E+00 0.2529391111E+00 +7 0.7625100000E-01 0.5993677068E+00 +8 0.3219600000E-01 0.3002003336E+00 +S 1 +1 0.1431801000E+01 0.1000000000E+01 +S 1 +1 0.7138660000E+00 0.1000000000E+01 +S 1 +1 0.3559190000E+00 0.1000000000E+01 +S 1 +1 0.1774530000E+00 0.1000000000E+01 +S 1 +1 0.8847500000E-01 0.1000000000E+01 +S 1 +1 0.1359434500E-01 0.1000000000E+01 +P 14 +1 0.3502123330E+04 0.3046260492E-04 +2 0.8772371020E+03 0.2623109781E-03 +3 0.2773754750E+03 0.1611734727E-02 +4 0.1038982840E+03 0.7079656626E-02 +5 0.4379622800E+02 0.2396191341E-01 +6 0.1994920100E+02 0.6618952919E-01 +7 0.9517427000E+01 0.1477538268E+00 +8 0.4646593000E+01 0.2499706263E+00 +9 0.2283264000E+01 0.3169562459E+00 +10 0.1116446000E+01 0.2813953302E+00 +11 0.5391380000E+00 0.1268703639E+00 +12 0.2558170000E+00 0.1661488774E-01 +13 0.1187890000E+00 0.1459822404E-02 +14 0.5374700000E-01 -0.1251538129E-03 +P 8 +1 0.4646593000E+01 -0.1661668621E-02 +2 0.2283264000E+01 -0.1300195190E-02 +3 0.1116446000E+01 -0.8552886669E-02 +4 0.5391380000E+00 -0.2191650021E-02 +5 0.2558170000E+00 0.1070500855E+00 +6 0.1187890000E+00 0.3592155177E+00 +7 0.5374700000E-01 0.4785198987E+00 +8 0.2355300000E-01 0.1761158860E+00 +P 1 +1 0.9535330000E+00 0.1000000000E+01 +P 1 +1 0.5142540000E+00 0.1000000000E+01 +P 1 +1 0.2773440000E+00 0.1000000000E+01 +P 1 +1 0.1495760000E+00 0.1000000000E+01 +P 1 +1 0.8066800000E-01 0.1000000000E+01 +P 1 +1 0.1032139100E-01 0.1000000000E+01 +D 1 +1 0.3784819000E+01 0.1000000000E+01 +D 1 +1 0.9609460000E+00 0.1000000000E+01 +D 1 +1 0.5243970000E+00 0.1000000000E+01 +D 1 +1 0.2861690000E+00 0.1000000000E+01 +D 1 +1 0.1561650000E+00 0.1000000000E+01 +D 1 +1 0.8522100000E-01 0.1000000000E+01 +D 1 +1 0.4650600000E-01 0.1000000000E+01 +F 1 +1 0.6331140000E+00 0.1000000000E+01 +F 1 +1 0.3647180000E+00 0.1000000000E+01 +F 1 +1 0.2101030000E+00 0.1000000000E+01 +F 1 +1 0.1210340000E+00 0.1000000000E+01 +F 1 +1 0.6972400000E-01 0.1000000000E+01 +G 1 +1 0.5051810000E+00 0.1000000000E+01 +G 1 +1 0.2883320000E+00 0.1000000000E+01 +G 1 +1 0.1645660000E+00 0.1000000000E+01 +G 1 +1 0.9392630000E-01 0.1000000000E+01 +H 1 +1 0.4511720000E+00 0.1000000000E+01 +H 1 +1 0.2321610000E+00 0.1000000000E+01 +H 1 +1 0.1194630000E+00 0.1000000000E+01 +I 1 +1 0.3604324630E+00 0.1000000000E+01 + +ALUMINIUM +S 16 +1 0.2691033414E+07 0.2463385781E-05 +2 0.4833260206E+06 0.1630099447E-04 +3 0.1082378957E+06 0.9403392923E-04 +4 0.2911581088E+05 0.4259979802E-03 +5 0.9102369492E+04 0.1618663145E-02 +6 0.3212656688E+04 0.5314103796E-02 +7 0.1248184124E+04 0.1550613813E-01 +8 0.5222745810E+03 0.4068351923E-01 +9 0.2309813780E+03 0.9545597756E-01 +10 0.1062636350E+03 0.1929040536E+00 +11 0.5017448000E+02 0.3094571462E+00 +12 0.2404312600E+02 0.3226017235E+00 +13 0.1158392900E+02 0.1501713442E+00 +14 0.5568290000E+01 0.1712310654E-01 +15 0.2653378000E+01 0.1382961869E-02 +16 0.1246619000E+01 -0.5492954404E-03 +S 12 +1 0.1248184124E+04 -0.4514544957E-04 +2 0.5222745810E+03 -0.3016418635E-03 +3 0.2309813780E+03 -0.1665390853E-02 +4 0.1062636350E+03 -0.7777428806E-02 +5 0.5017448000E+02 -0.2793956331E-01 +6 0.2404312600E+02 -0.7109946554E-01 +7 0.1158392900E+02 -0.5595584535E-01 +8 0.5568290000E+01 0.1539046472E+00 +9 0.2653378000E+01 0.4563647833E+00 +10 0.1246619000E+01 0.4306175898E+00 +11 0.5747470000E+00 0.9119683661E-01 +12 0.2589130000E+00 -0.2090244723E-04 +S 8 +1 0.1158392900E+02 0.1162767096E-02 +2 0.5568290000E+01 -0.3889592154E-02 +3 0.2653378000E+01 -0.2299236265E-01 +4 0.1246619000E+01 -0.1210893644E+00 +5 0.5747470000E+00 -0.8883962430E-01 +6 0.2589130000E+00 0.3183327742E+00 +7 0.1134830000E+00 0.6012348086E+00 +8 0.4818300000E-01 0.2501829396E+00 +S 1 +1 0.2564362000E+01 0.1000000000E+01 +S 1 +1 0.1248865000E+01 0.1000000000E+01 +S 1 +1 0.6082070000E+00 0.1000000000E+01 +S 1 +1 0.2962020000E+00 0.1000000000E+01 +S 1 +1 0.1442530000E+00 0.1000000000E+01 +S 1 +1 0.2151874722E-01 0.1000000000E+01 +P 14 +1 0.6428155607E+04 0.1452097648E-04 +2 0.1650558501E+04 0.1215216988E-03 +3 0.5224842310E+03 0.7667212339E-03 +4 0.1942810390E+03 0.3553306792E-02 +5 0.8144941200E+02 0.1280195247E-01 +6 0.3719810700E+02 0.3749269660E-01 +7 0.1798934800E+02 0.9168502035E-01 +8 0.9003077000E+01 0.1800615070E+00 +9 0.4578478000E+01 0.2722431627E+00 +10 0.2332684000E+01 0.3138477673E+00 +11 0.1177993000E+01 0.2340109233E+00 +12 0.5849900000E+00 0.7600342702E-01 +13 0.2840400000E+00 0.6489178077E-02 +14 0.1342790000E+00 0.8515064645E-03 +P 9 +1 0.9003077000E+01 -0.1338959699E-02 +2 0.4578478000E+01 -0.1576746799E-02 +3 0.2332684000E+01 -0.5324283779E-02 +4 0.1177993000E+01 -0.9122604392E-02 +5 0.5849900000E+00 0.3505698731E-01 +6 0.2840400000E+00 0.1908677148E+00 +7 0.1342790000E+00 0.3831624231E+00 +8 0.6160100000E-01 0.4024454076E+00 +9 0.2733900000E-01 0.1338553049E+00 +P 1 +1 0.1251077000E+01 0.1000000000E+01 +P 1 +1 0.6742950000E+00 0.1000000000E+01 +P 1 +1 0.3634250000E+00 0.1000000000E+01 +P 1 +1 0.1958760000E+00 0.1000000000E+01 +P 1 +1 0.1055720000E+00 0.1000000000E+01 +P 1 +1 0.1296750437E-01 0.1000000000E+01 +D 1 +1 0.5884257397E+01 0.1000000000E+01 +D 1 +1 0.1455653000E+01 0.1000000000E+01 +D 1 +1 0.7075470000E+00 0.1000000000E+01 +D 1 +1 0.3439170000E+00 0.1000000000E+01 +D 1 +1 0.1671670000E+00 0.1000000000E+01 +D 1 +1 0.8125500000E-01 0.1000000000E+01 +D 1 +1 0.3949500000E-01 0.1000000000E+01 +F 1 +1 0.8008070000E+00 0.1000000000E+01 +F 1 +1 0.4489100000E+00 0.1000000000E+01 +F 1 +1 0.2516470000E+00 0.1000000000E+01 +F 1 +1 0.1410660000E+00 0.1000000000E+01 +F 1 +1 0.7907750000E-01 0.1000000000E+01 +G 1 +1 0.6553060000E+00 0.1000000000E+01 +G 1 +1 0.3691050000E+00 0.1000000000E+01 +G 1 +1 0.2079010000E+00 0.1000000000E+01 +G 1 +1 0.1171010000E+00 0.1000000000E+01 +H 1 +1 0.6322100000E+00 0.1000000000E+01 +H 1 +1 0.3088190000E+00 0.1000000000E+01 +H 1 +1 0.1508500000E+00 0.1000000000E+01 +I 1 +1 0.5013873516E+00 0.1000000000E+01 + +SILICON +S 16 +1 0.3278087607E+07 0.2326173765E-05 +2 0.5862916551E+06 0.1545038618E-04 +3 0.1314692862E+06 0.8871440913E-04 +4 0.3550223478E+05 0.3994430847E-03 +5 0.1114788437E+05 0.1509243932E-02 +6 0.3949236946E+04 0.4938304080E-02 +7 0.1538166331E+04 0.1440039166E-01 +8 0.6444181730E+03 0.3789539735E-01 +9 0.2851307190E+03 0.8953017224E-01 +10 0.1312243860E+03 0.1832697122E+00 +11 0.6203259200E+02 0.3005001450E+00 +12 0.2981064900E+02 0.3278731757E+00 +13 0.1443989000E+02 0.1673905094E+00 +14 0.6999846000E+01 0.2301066405E-01 +15 0.3374781000E+01 0.1634563171E-02 +16 0.1609004000E+01 -0.3271627439E-03 +S 12 +1 0.1538166331E+04 -0.4094738185E-04 +2 0.6444181730E+03 -0.2735506268E-03 +3 0.2851307190E+03 -0.1523008168E-02 +4 0.1312243860E+03 -0.7194199494E-02 +5 0.6203259200E+02 -0.2623934988E-01 +6 0.2981064900E+02 -0.6913248098E-01 +7 0.1443989000E+02 -0.6454883822E-01 +8 0.6999846000E+01 0.1299302391E+00 +9 0.3374781000E+01 0.4460987272E+00 +10 0.1609004000E+01 0.4503602875E+00 +11 0.7543630000E+00 0.1047709497E+00 +12 0.3457160000E+00 0.9282368916E-03 +S 8 +1 0.1443989000E+02 0.1405210131E-02 +2 0.6999846000E+01 -0.3633094457E-02 +3 0.3374781000E+01 -0.2580567817E-01 +4 0.1609004000E+01 -0.1372209743E+00 +5 0.7543630000E+00 -0.8141831745E-01 +6 0.3457160000E+00 0.3543902111E+00 +7 0.1538300000E+00 0.5913797920E+00 +8 0.6592900000E-01 0.2297738443E+00 +S 1 +1 0.3480820000E+01 0.1000000000E+01 +S 1 +1 0.1675129000E+01 0.1000000000E+01 +S 1 +1 0.8061480000E+00 0.1000000000E+01 +S 1 +1 0.3879550000E+00 0.1000000000E+01 +S 1 +1 0.1867020000E+00 0.1000000000E+01 +S 1 +1 0.3144210536E-01 0.1000000000E+01 +P 14 +1 0.7978180789E+04 0.1360544182E-04 +2 0.2038018392E+04 0.1146795924E-03 +3 0.6451730070E+03 0.7223722858E-03 +4 0.2404131960E+03 0.3348003716E-02 +5 0.1010350830E+03 0.1213121791E-01 +6 0.4623920200E+02 0.3588034565E-01 +7 0.2240510000E+02 0.8886178955E-01 +8 0.1124203200E+02 0.1774747416E+00 +9 0.5741998000E+01 0.2729325562E+00 +10 0.2946886000E+01 0.3175493057E+00 +11 0.1504934000E+01 0.2329889531E+00 +12 0.7591270000E+00 0.7319452846E-01 +13 0.3759820000E+00 0.6380504166E-02 +14 0.1818530000E+00 0.7241658695E-03 +P 9 +1 0.1124203200E+02 -0.1782353668E-02 +2 0.5741998000E+01 -0.2265507170E-02 +3 0.2946886000E+01 -0.7442549853E-02 +4 0.1504934000E+01 -0.8513977465E-02 +5 0.7591270000E+00 0.5600301100E-01 +6 0.3759820000E+00 0.2345994731E+00 +7 0.1818530000E+00 0.4008984087E+00 +8 0.8539900000E-01 0.3531020771E+00 +9 0.3866300000E-01 0.9910625176E-01 +P 1 +1 0.1726075000E+01 0.1000000000E+01 +P 1 +1 0.9272270000E+00 0.1000000000E+01 +P 1 +1 0.4980960000E+00 0.1000000000E+01 +P 1 +1 0.2675710000E+00 0.1000000000E+01 +P 1 +1 0.1437360000E+00 0.1000000000E+01 +P 1 +1 0.2330578441E-01 0.1000000000E+01 +D 1 +1 0.8100676155E+01 0.1000000000E+01 +D 1 +1 0.2163891000E+01 0.1000000000E+01 +D 1 +1 0.1029245000E+01 0.1000000000E+01 +D 1 +1 0.4895560000E+00 0.1000000000E+01 +D 1 +1 0.2328550000E+00 0.1000000000E+01 +D 1 +1 0.1107570000E+00 0.1000000000E+01 +D 1 +1 0.5268130000E-01 0.1000000000E+01 +F 1 +1 0.9770500000E+00 0.1000000000E+01 +F 1 +1 0.5531270000E+00 0.1000000000E+01 +F 1 +1 0.3131360000E+00 0.1000000000E+01 +F 1 +1 0.1772720000E+00 0.1000000000E+01 +F 1 +1 0.1003560000E+00 0.1000000000E+01 +G 1 +1 0.8608860000E+00 0.1000000000E+01 +G 1 +1 0.4824630000E+00 0.1000000000E+01 +G 1 +1 0.2703850000E+00 0.1000000000E+01 +G 1 +1 0.1515300000E+00 0.1000000000E+01 +H 1 +1 0.8177490000E+00 0.1000000000E+01 +H 1 +1 0.4143360000E+00 0.1000000000E+01 +H 1 +1 0.2099350000E+00 0.1000000000E+01 +I 1 +1 0.6716405691E+00 0.1000000000E+01 + +PHOSPHORUS +S 16 +1 0.3929858832E+07 0.2216459898E-05 +2 0.6959402712E+06 0.1490664241E-04 +3 0.1554781881E+06 0.8569867682E-04 +4 0.4197167398E+05 0.3854463448E-03 +5 0.1319345779E+05 0.1453502567E-02 +6 0.4679582622E+04 0.4750966099E-02 +7 0.1823903459E+04 0.1386041860E-01 +8 0.7641479030E+03 0.3656242693E-01 +9 0.3379621250E+03 0.8675973568E-01 +10 0.1554792570E+03 0.1788148744E+00 +11 0.7352231100E+02 0.2961591143E+00 +12 0.3539413300E+02 0.3295335414E+00 +13 0.1721043200E+02 0.1755411550E+00 +14 0.8396694000E+01 0.2645622107E-01 +15 0.4085814000E+01 0.1788408708E-02 +16 0.1971310000E+01 -0.1660632604E-03 +S 12 +1 0.1823903459E+04 -0.3933727280E-04 +2 0.7641479030E+03 -0.2634748424E-03 +3 0.3379621250E+03 -0.1475437624E-02 +4 0.1554792570E+03 -0.7021710393E-02 +5 0.7352231100E+02 -0.2580241448E-01 +6 0.3539413300E+02 -0.6883039390E-01 +7 0.1721043200E+02 -0.6851199956E-01 +8 0.8396694000E+01 0.1196030820E+00 +9 0.4085814000E+01 0.4443901888E+00 +10 0.1971310000E+01 0.4570353484E+00 +11 0.9371520000E+00 0.1088694049E+00 +12 0.4358140000E+00 0.2023365360E-02 +S 8 +1 0.1721043200E+02 0.1586902246E-02 +2 0.8396694000E+01 -0.3465689835E-02 +3 0.4085814000E+01 -0.2983632197E-01 +4 0.1971310000E+01 -0.1513865870E+00 +5 0.9371520000E+00 -0.6644200686E-01 +6 0.4358140000E+00 0.3805361895E+00 +7 0.1965330000E+00 0.5799129719E+00 +8 0.8502300000E-01 0.2146468429E+00 +S 1 +1 0.4438431000E+01 0.1000000000E+01 +S 1 +1 0.2110053000E+01 0.1000000000E+01 +S 1 +1 0.1003130000E+01 0.1000000000E+01 +S 1 +1 0.4768930000E+00 0.1000000000E+01 +S 1 +1 0.2267170000E+00 0.1000000000E+01 +S 1 +1 0.3799311909E-01 0.1000000000E+01 +P 14 +1 0.9631238673E+04 0.1304998530E-04 +2 0.2443673199E+04 0.1111260621E-03 +3 0.7725592400E+03 0.7001415285E-03 +4 0.2881608530E+03 0.3245964062E-02 +5 0.1212787450E+03 0.1181160072E-01 +6 0.5557181600E+02 0.3519384562E-01 +7 0.2695606200E+02 0.8793716989E-01 +8 0.1354680000E+02 0.1773810949E+00 +9 0.6940216000E+01 0.2753082858E+00 +10 0.3581544000E+01 0.3202817867E+00 +11 0.1845262000E+01 0.2288580351E+00 +12 0.9425110000E+00 0.6893282571E-01 +13 0.4742660000E+00 0.6102592157E-02 +14 0.2335310000E+00 0.6062270625E-03 +P 9 +1 0.1354680000E+02 -0.2188045530E-02 +2 0.6940216000E+01 -0.2915483052E-02 +3 0.3581544000E+01 -0.9416852701E-02 +4 0.1845262000E+01 -0.6485752668E-02 +5 0.9425110000E+00 0.7562948655E-01 +6 0.4742660000E+00 0.2639947207E+00 +7 0.2335310000E+00 0.4021671257E+00 +8 0.1115950000E+00 0.3185572025E+00 +9 0.5118300000E-01 0.8142592737E-01 +P 1 +1 0.2246925000E+01 0.1000000000E+01 +P 1 +1 0.1204318000E+01 0.1000000000E+01 +P 1 +1 0.6454960000E+00 0.1000000000E+01 +P 1 +1 0.3459760000E+00 0.1000000000E+01 +P 1 +1 0.1854380000E+00 0.1000000000E+01 +P 1 +1 0.3098702667E-01 0.1000000000E+01 +D 1 +1 0.1043784201E+02 0.1000000000E+01 +D 1 +1 0.2767675000E+01 0.1000000000E+01 +D 1 +1 0.1318695000E+01 0.1000000000E+01 +D 1 +1 0.6283090000E+00 0.1000000000E+01 +D 1 +1 0.2993660000E+00 0.1000000000E+01 +D 1 +1 0.1426370000E+00 0.1000000000E+01 +D 1 +1 0.6796130000E-01 0.1000000000E+01 +F 1 +1 0.1061557000E+01 0.1000000000E+01 +F 1 +1 0.6278110000E+00 0.1000000000E+01 +F 1 +1 0.3712910000E+00 0.1000000000E+01 +F 1 +1 0.2195840000E+00 0.1000000000E+01 +F 1 +1 0.1298630000E+00 0.1000000000E+01 +G 1 +1 0.1102693000E+01 0.1000000000E+01 +G 1 +1 0.6155980000E+00 0.1000000000E+01 +G 1 +1 0.3436690000E+00 0.1000000000E+01 +G 1 +1 0.1918590000E+00 0.1000000000E+01 +H 1 +1 0.1065656000E+01 0.1000000000E+01 +H 1 +1 0.5411670000E+00 0.1000000000E+01 +H 1 +1 0.2748180000E+00 0.1000000000E+01 +I 1 +1 0.8601457358E+00 0.1000000000E+01 + +SULFUR +S 16 +1 0.4629258259E+07 0.2127823295E-05 +2 0.8180810863E+06 0.1433547964E-04 +3 0.1828939584E+06 0.8222995182E-04 +4 0.4945488659E+05 0.3689675763E-03 +5 0.1556808599E+05 0.1389567654E-02 +6 0.5524975733E+04 0.4544543331E-02 +7 0.2152357647E+04 0.1329090818E-01 +8 0.9005277280E+03 0.3521239684E-01 +9 0.3975585030E+03 0.8405792559E-01 +10 0.1825934460E+03 0.1746159595E+00 +11 0.8627156200E+02 0.2922359868E+00 +12 0.4155746500E+02 0.3311833505E+00 +13 0.2025981300E+02 0.1831417899E+00 +14 0.9932569000E+01 0.2980882812E-01 +15 0.4867590000E+01 0.1942195134E-02 +16 0.2369486000E+01 -0.2254679608E-04 +S 12 +1 0.2152357647E+04 -0.3728949313E-04 +2 0.9005277280E+03 -0.2517869361E-03 +3 0.3975585030E+03 -0.1421171364E-02 +4 0.1825934460E+03 -0.6830632881E-02 +5 0.8627156200E+02 -0.2533209797E-01 +6 0.4155746500E+02 -0.6846766154E-01 +7 0.2025981300E+02 -0.7202640866E-01 +8 0.9932569000E+01 0.1104363616E+00 +9 0.4867590000E+01 0.4429911110E+00 +10 0.2369486000E+01 0.4629145413E+00 +11 0.1137474000E+01 0.1125426273E+00 +12 0.5337730000E+00 0.2866499614E-02 +S 8 +1 0.2025981300E+02 0.1731192637E-02 +2 0.9932569000E+01 -0.3181627525E-02 +3 0.4867590000E+01 -0.3366062666E-01 +4 0.2369486000E+01 -0.1628029687E+00 +5 0.1137474000E+01 -0.5361924710E-01 +6 0.5337730000E+00 0.4064631011E+00 +7 0.2421720000E+00 0.5705603997E+00 +8 0.1047700000E+00 0.1975236390E+00 +S 1 +1 0.5217575000E+01 0.1000000000E+01 +S 1 +1 0.2560082000E+01 0.1000000000E+01 +S 1 +1 0.1256142000E+01 0.1000000000E+01 +S 1 +1 0.6163450000E+00 0.1000000000E+01 +S 1 +1 0.3024190000E+00 0.1000000000E+01 +S 1 +1 0.5013773021E-01 0.1000000000E+01 +P 14 +1 0.1098201590E+05 0.1338770112E-04 +2 0.2810161470E+04 0.1125413152E-03 +3 0.8899892840E+03 0.7105147120E-03 +4 0.3313693860E+03 0.3316469293E-02 +5 0.1390468560E+03 0.1217351912E-01 +6 0.6354684600E+02 0.3650522783E-01 +7 0.3078420700E+02 0.9135474937E-01 +8 0.1547650600E+02 0.1834178641E+00 +9 0.7944563000E+01 0.2827684085E+00 +10 0.4112728000E+01 0.3223268723E+00 +11 0.2126533000E+01 0.2160045799E+00 +12 0.1089587000E+01 0.5807153267E-01 +13 0.5492260000E+00 0.4639184200E-02 +14 0.2702790000E+00 0.4426862668E-03 +P 9 +1 0.1547650600E+02 -0.2669378516E-02 +2 0.7944563000E+01 -0.3558487301E-02 +3 0.4112728000E+01 -0.1190843441E-01 +4 0.2126533000E+01 -0.1115107458E-03 +5 0.1089587000E+01 0.1091317561E+00 +6 0.5492260000E+00 0.2940162813E+00 +7 0.2702790000E+00 0.3870491933E+00 +8 0.1286730000E+00 0.2862230908E+00 +9 0.5857400000E-01 0.7150220367E-01 +P 1 +1 0.2920490000E+01 0.1000000000E+01 +P 1 +1 0.1489703000E+01 0.1000000000E+01 +P 1 +1 0.7598770000E+00 0.1000000000E+01 +P 1 +1 0.3876030000E+00 0.1000000000E+01 +P 1 +1 0.1977110000E+00 0.1000000000E+01 +P 1 +1 0.3868338333E-01 0.1000000000E+01 +D 1 +1 0.1280200790E+02 0.1000000000E+01 +D 1 +1 0.3576540000E+01 0.1000000000E+01 +D 1 +1 0.1682082000E+01 0.1000000000E+01 +D 1 +1 0.7910990000E+00 0.1000000000E+01 +D 1 +1 0.3720620000E+00 0.1000000000E+01 +D 1 +1 0.1749840000E+00 0.1000000000E+01 +D 1 +1 0.8229640000E-01 0.1000000000E+01 +F 1 +1 0.1415682000E+01 0.1000000000E+01 +F 1 +1 0.7956680000E+00 0.1000000000E+01 +F 1 +1 0.4471960000E+00 0.1000000000E+01 +F 1 +1 0.2513410000E+00 0.1000000000E+01 +F 1 +1 0.1412630000E+00 0.1000000000E+01 +G 1 +1 0.1334734000E+01 0.1000000000E+01 +G 1 +1 0.7166700000E+00 0.1000000000E+01 +G 1 +1 0.3848070000E+00 0.1000000000E+01 +G 1 +1 0.2066170000E+00 0.1000000000E+01 +H 1 +1 0.1291989000E+01 0.1000000000E+01 +H 1 +1 0.5976090000E+00 0.1000000000E+01 +H 1 +1 0.2764230000E+00 0.1000000000E+01 +I 1 +1 0.1023735900E+01 0.1000000000E+01 + +CHLORINE +S 16 +1 0.5318794213E+07 0.2087506525E-05 +2 0.9374028503E+06 0.1409075946E-04 +3 0.2099328815E+06 0.8045229457E-04 +4 0.5699224286E+05 0.3587072731E-03 +5 0.1802456268E+05 0.1342429318E-02 +6 0.6424506240E+04 0.4368982553E-02 +7 0.2511423070E+04 0.1274090005E-01 +8 0.1053265800E+04 0.3374895264E-01 +9 0.4656587630E+03 0.8079562464E-01 +10 0.2140478620E+03 0.1690375599E+00 +11 0.1012007850E+03 0.2865580459E+00 +12 0.4879836800E+02 0.3330111614E+00 +13 0.2383322100E+02 0.1931269476E+00 +14 0.1171925100E+02 0.3428301432E-01 +15 0.5767712000E+01 0.2147878771E-02 +16 0.2822869000E+01 0.1446905038E-03 +S 12 +1 0.2511423068E+04 -0.3538917350E-04 +2 0.1053265795E+04 -0.2384973559E-03 +3 0.4656587630E+03 -0.1347306678E-02 +4 0.2140478620E+03 -0.6523555892E-02 +5 0.1012007850E+03 -0.2441274848E-01 +6 0.4879836800E+02 -0.6731290528E-01 +7 0.2383322100E+02 -0.7602485343E-01 +8 0.1171925100E+02 0.9834439031E-01 +9 0.5767712000E+01 0.4392003543E+00 +10 0.2822869000E+01 0.4716246001E+00 +11 0.1363313000E+01 0.1182506784E+00 +12 0.6433940000E+00 0.3749139732E-02 +S 9 +1 0.4879836800E+02 0.4332487711E-03 +2 0.2383322100E+02 0.1705109367E-02 +3 0.1171925100E+02 -0.2598449136E-02 +4 0.5767712000E+01 -0.3820420053E-01 +5 0.2822869000E+01 -0.1721874432E+00 +6 0.1363313000E+01 -0.4615773825E-01 +7 0.6433940000E+00 0.4218740590E+00 +8 0.2930250000E+00 0.5649326769E+00 +9 0.1267500000E+00 0.1888049229E+00 +S 1 +1 0.6456710000E+01 0.1000000000E+01 +S 1 +1 0.3213776000E+01 0.1000000000E+01 +S 1 +1 0.1599632000E+01 0.1000000000E+01 +S 1 +1 0.7962040000E+00 0.1000000000E+01 +S 1 +1 0.3963040000E+00 0.1000000000E+01 +S 1 +1 0.6526282440E-01 0.1000000000E+01 +P 14 +1 0.1219948551E+05 0.1427430425E-04 +2 0.3101553246E+04 0.1208584263E-03 +3 0.9832474350E+03 0.7583393812E-03 +4 0.3674988750E+03 0.3509042790E-02 +5 0.1547962950E+03 0.1281725507E-01 +6 0.7091209200E+02 0.3838700163E-01 +7 0.3437361600E+02 0.9605778936E-01 +8 0.1727092600E+02 0.1918413765E+00 +9 0.8859030000E+01 0.2929190055E+00 +10 0.4587647000E+01 0.3226630823E+00 +11 0.2378170000E+01 0.1983270817E+00 +12 0.1225256000E+01 0.4682764860E-01 +13 0.6228670000E+00 0.3553397664E-02 +14 0.3097250000E+00 0.2939584522E-03 +P 10 +1 0.3437361600E+02 -0.8779760742E-03 +2 0.1727092600E+02 -0.2587705156E-02 +3 0.8859030000E+01 -0.6750732757E-02 +4 0.4587647000E+01 -0.1348819151E-01 +5 0.2378170000E+01 0.7915071357E-02 +6 0.1225256000E+01 0.1421546500E+00 +7 0.6228670000E+00 0.3122545730E+00 +8 0.3097250000E+00 0.3719998980E+00 +9 0.1489280000E+00 0.2575076252E+00 +10 0.6816900000E-01 0.6205820349E-01 +P 1 +1 0.3859972000E+01 0.1000000000E+01 +P 1 +1 0.1990128000E+01 0.1000000000E+01 +P 1 +1 0.1026072000E+01 0.1000000000E+01 +P 1 +1 0.5290230000E+00 0.1000000000E+01 +P 1 +1 0.2727540000E+00 0.1000000000E+01 +P 1 +1 0.4897339439E-01 0.1000000000E+01 +D 1 +1 0.1499555721E+02 0.1000000000E+01 +D 1 +1 0.5318611000E+01 0.1000000000E+01 +D 1 +1 0.2406816000E+01 0.1000000000E+01 +D 1 +1 0.1089150000E+01 0.1000000000E+01 +D 1 +1 0.4928700000E+00 0.1000000000E+01 +D 1 +1 0.2230370000E+00 0.1000000000E+01 +D 1 +1 0.1009300000E+00 0.1000000000E+01 +F 1 +1 0.2536010000E+01 0.1000000000E+01 +F 1 +1 0.1276516000E+01 0.1000000000E+01 +F 1 +1 0.6425420000E+00 0.1000000000E+01 +F 1 +1 0.3234270000E+00 0.1000000000E+01 +F 1 +1 0.1627980000E+00 0.1000000000E+01 +G 1 +1 0.1539597000E+01 0.1000000000E+01 +G 1 +1 0.8199240000E+00 0.1000000000E+01 +G 1 +1 0.4366570000E+00 0.1000000000E+01 +G 1 +1 0.2325450000E+00 0.1000000000E+01 +H 1 +1 0.1576638000E+01 0.1000000000E+01 +H 1 +1 0.7281370000E+00 0.1000000000E+01 +H 1 +1 0.3362740000E+00 0.1000000000E+01 +I 1 +1 0.1242441885E+01 0.1000000000E+01 + +ARGON +S 16 +1 0.5845635030E+07 0.2139273512E-05 +2 0.1034883655E+07 0.1433490759E-04 +3 0.2328368189E+06 0.8137822029E-04 +4 0.6346730864E+05 0.3610386902E-03 +5 0.2013511381E+05 0.1346726724E-02 +6 0.7191600770E+04 0.4375157144E-02 +7 0.2814403415E+04 0.1275222402E-01 +8 0.1180819442E+04 0.3378404770E-01 +9 0.5221011460E+03 0.8090288993E-01 +10 0.2400453680E+03 0.1692156716E+00 +11 0.1135832460E+03 0.2864382501E+00 +12 0.5486795200E+02 0.3321132559E+00 +13 0.2688189400E+02 0.1930001321E+00 +14 0.1328030000E+02 0.3480586159E-01 +15 0.6576815000E+01 0.2209138607E-02 +16 0.3243273000E+01 0.2282152655E-03 +S 12 +1 0.1180819442E+04 -0.2632363444E-03 +2 0.5221011460E+03 -0.1226855715E-02 +3 0.2400453680E+03 -0.6607259871E-02 +4 0.1135832460E+03 -0.2455023137E-01 +5 0.5486795200E+02 -0.6807614498E-01 +6 0.2688189400E+02 -0.7633125233E-01 +7 0.1328030000E+02 0.9895659130E-01 +8 0.6576815000E+01 0.4442085750E+00 +9 0.3243273000E+01 0.4678452494E+00 +10 0.1579521000E+01 0.1158548990E+00 +11 0.7516810000E+00 0.4382048183E-02 +12 0.3447810000E+00 0.5607566238E-03 +S 10 +1 0.1135832460E+03 0.1430816391E-03 +2 0.5486795200E+02 0.6763551693E-03 +3 0.2688189400E+02 0.2210960492E-02 +4 0.1328030000E+02 -0.2992513239E-02 +5 0.6576815000E+01 -0.4535705553E-01 +6 0.3243273000E+01 -0.1827761618E+00 +7 0.1579521000E+01 -0.2932574038E-01 +8 0.7516810000E+00 0.4364143711E+00 +9 0.3447810000E+00 0.5556982967E+00 +10 0.1497620000E+00 0.1795344981E+00 +S 1 +1 0.7730885000E+01 0.1000000000E+01 +S 1 +1 0.3975466000E+01 0.1000000000E+01 +S 1 +1 0.2044310000E+01 0.1000000000E+01 +S 1 +1 0.1051249000E+01 0.1000000000E+01 +S 1 +1 0.5405850000E+00 0.1000000000E+01 +S 1 +1 0.6505189300E-01 0.1000000000E+01 +P 14 +1 0.1437434089E+05 0.1335492531E-04 +2 0.3680390744E+04 0.1122143876E-03 +3 0.1164840298E+04 0.7108641705E-03 +4 0.4331796170E+03 0.3335262373E-02 +5 0.1815645730E+03 0.1234393033E-01 +6 0.8294312800E+02 0.3730038388E-01 +7 0.4021201900E+02 0.9383385782E-01 +8 0.2026448300E+02 0.1886258644E+00 +9 0.1044619900E+02 0.2909666176E+00 +10 0.5440600000E+01 0.3242900086E+00 +11 0.2834850000E+01 0.2013078577E+00 +12 0.1465436000E+01 0.4820627364E-01 +13 0.7455340000E+00 0.3651140884E-02 +14 0.3700130000E+00 0.2964187830E-03 +P 10 +1 0.4021201900E+02 -0.9179140476E-03 +2 0.2026448300E+02 -0.2762694198E-02 +3 0.1044619900E+02 -0.7380309891E-02 +4 0.5440600000E+01 -0.1452275790E-01 +5 0.2834850000E+01 0.1039341711E-01 +6 0.1465436000E+01 0.1513734533E+00 +7 0.7455340000E+00 0.3195147875E+00 +8 0.3700130000E+00 0.3691076144E+00 +9 0.1772560000E+00 0.2475408817E+00 +10 0.8085800000E-01 0.5805278847E-01 +P 1 +1 0.4851405000E+01 0.1000000000E+01 +P 1 +1 0.2567584000E+01 0.1000000000E+01 +P 1 +1 0.1358882000E+01 0.1000000000E+01 +P 1 +1 0.7191820000E+00 0.1000000000E+01 +P 1 +1 0.3806240000E+00 0.1000000000E+01 +P 1 +1 0.3688459700E-01 0.1000000000E+01 +D 1 +1 0.2287543281E+02 0.1000000000E+01 +D 1 +1 0.6932630000E+01 0.1000000000E+01 +D 1 +1 0.3083174000E+01 0.1000000000E+01 +D 1 +1 0.1371191000E+01 0.1000000000E+01 +D 1 +1 0.6098150000E+00 0.1000000000E+01 +D 1 +1 0.2712050000E+00 0.1000000000E+01 +D 1 +1 0.1206130000E+00 0.1000000000E+01 +F 1 +1 0.3119778000E+01 0.1000000000E+01 +F 1 +1 0.1582266000E+01 0.1000000000E+01 +F 1 +1 0.8024820000E+00 0.1000000000E+01 +F 1 +1 0.4069970000E+00 0.1000000000E+01 +F 1 +1 0.2064170000E+00 0.1000000000E+01 +G 1 +1 0.1849011000E+01 0.1000000000E+01 +G 1 +1 0.9821190000E+00 0.1000000000E+01 +G 1 +1 0.5216610000E+00 0.1000000000E+01 +G 1 +1 0.2770840000E+00 0.1000000000E+01 +H 1 +1 0.1893751000E+01 0.1000000000E+01 +H 1 +1 0.8757230000E+00 0.1000000000E+01 +H 1 +1 0.4049580000E+00 0.1000000000E+01 +I 1 +1 0.1492667440E+01 0.1000000000E+01 +$END \ No newline at end of file diff --git a/data/basis/7zapa-nr b/data/basis/7zapa-nr new file mode 100644 index 00000000..64486d70 --- /dev/null +++ b/data/basis/7zapa-nr @@ -0,0 +1,2479 @@ +!---------------------------------------------------------------------- +! Basis Set Exchange +! Version v0.8.12 +! https://www.basissetexchange.org +!---------------------------------------------------------------------- +! Basis set: 7ZaPa-NR +! Description: 7Zeta augmented + polarization (nonrelativistic) +! Role: orbital +! Version: 1 (Data from Supplemental Information of publications) +!---------------------------------------------------------------------- + + +$DATA + +HYDROGEN +S 12 +1 0.5381780160E+04 0.1012686299E-04 +2 0.9139887390E+03 0.7169476206E-04 +3 0.2020220330E+03 0.4090344007E-03 +4 0.5529293400E+02 0.1775146749E-02 +5 0.1792053700E+02 0.6303908266E-02 +6 0.6611010000E+01 0.1916649659E-01 +7 0.2682085000E+01 0.5121491647E-01 +8 0.1162104000E+01 0.1213171629E+00 +9 0.5249190000E+00 0.2420085149E+00 +10 0.2425210000E+00 0.3592427208E+00 +11 0.1130260000E+00 0.2831494728E+00 +12 0.5267100000E-01 0.6030267546E-01 +S 1 +1 0.3873663000E+01 0.1000000000E+01 +S 1 +1 0.1681599000E+01 0.1000000000E+01 +S 1 +1 0.7300000000E+00 0.1000000000E+01 +S 1 +1 0.3169010000E+00 0.1000000000E+01 +S 1 +1 0.1375700000E+00 0.1000000000E+01 +S 1 +1 0.5972100000E-01 0.1000000000E+01 +S 1 +1 0.2553700000E-01 0.1000000000E+01 +S 1 +1 0.9448000000E-02 0.1000000000E+01 +P 1 +1 0.7901081000E+01 0.1000000000E+01 +P 1 +1 0.3743343000E+01 0.1000000000E+01 +P 1 +1 0.1773506000E+01 0.1000000000E+01 +P 1 +1 0.8402450000E+00 0.1000000000E+01 +P 1 +1 0.3980880000E+00 0.1000000000E+01 +P 1 +1 0.1886040000E+00 0.1000000000E+01 +P 1 +1 0.8935570000E-01 0.1000000000E+01 +D 1 +1 0.6793936000E+01 0.1000000000E+01 +D 1 +1 0.3278394000E+01 0.1000000000E+01 +D 1 +1 0.1581979000E+01 0.1000000000E+01 +D 1 +1 0.7633790000E+00 0.1000000000E+01 +D 1 +1 0.3683670000E+00 0.1000000000E+01 +D 1 +1 0.1777540000E+00 0.1000000000E+01 +F 1 +1 0.5541324000E+01 0.1000000000E+01 +F 1 +1 0.2486224000E+01 0.1000000000E+01 +F 1 +1 0.1115494000E+01 0.1000000000E+01 +F 1 +1 0.5004880000E+00 0.1000000000E+01 +F 1 +1 0.2245530000E+00 0.1000000000E+01 +G 1 +1 0.5708716000E+01 0.1000000000E+01 +G 1 +1 0.2571411000E+01 0.1000000000E+01 +G 1 +1 0.1158256000E+01 0.1000000000E+01 +G 1 +1 0.5217201000E+00 0.1000000000E+01 +H 1 +1 0.3367163000E+01 0.1000000000E+01 +H 1 +1 0.1196260000E+01 0.1000000000E+01 +H 1 +1 0.4249980000E+00 0.1000000000E+01 +I 1 +1 0.3091020597E+01 0.1000000000E+01 +I 1 +1 0.4278840000E+00 0.1000000000E+01 + +HELIUM +S 15 +1 0.7299187140E+05 0.1757374612E-05 +2 0.1439485010E+05 0.9836775059E-05 +3 0.3607858280E+04 0.4903807225E-04 +4 0.1078682870E+04 0.1946507302E-03 +5 0.3664571850E+03 0.6791722196E-03 +6 0.1364560940E+03 0.2145199732E-02 +7 0.5428889300E+02 0.6302684596E-02 +8 0.2268400000E+02 0.1727435212E-01 +9 0.9846375000E+01 0.4357007664E-01 +10 0.4409963000E+01 0.9689898159E-01 +11 0.2028274000E+01 0.1806123922E+00 +12 0.9533250000E+00 0.2708992883E+00 +13 0.4546820000E+00 0.3082222273E+00 +14 0.2175580000E+00 0.2048541272E+00 +15 0.1025880000E+00 0.4199211034E-01 +S 1 +1 0.1079848900E+02 0.1000000000E+01 +S 1 +1 0.5308200000E+01 0.1000000000E+01 +S 1 +1 0.2209195000E+01 0.1000000000E+01 +S 1 +1 0.1006553000E+01 0.1000000000E+01 +S 1 +1 0.3897220000E+00 0.1000000000E+01 +S 1 +1 0.1510730000E+00 0.1000000000E+01 +S 1 +1 0.4837467600E-01 0.1000000000E+01 +P 1 +1 0.2285244900E+02 0.1000000000E+01 +P 1 +1 0.8619371000E+01 0.1000000000E+01 +P 1 +1 0.4306221000E+01 0.1000000000E+01 +P 1 +1 0.2039762000E+01 0.1000000000E+01 +P 1 +1 0.9008260000E+00 0.1000000000E+01 +P 1 +1 0.3556340000E+00 0.1000000000E+01 +P 1 +1 0.1403990000E+00 0.1000000000E+01 +D 1 +1 0.1661417100E+02 0.1000000000E+01 +D 1 +1 0.6866942000E+01 0.1000000000E+01 +D 1 +1 0.3261029000E+01 0.1000000000E+01 +D 1 +1 0.1473700000E+01 0.1000000000E+01 +D 1 +1 0.5871180000E+00 0.1000000000E+01 +D 1 +1 0.2339060000E+00 0.1000000000E+01 +F 1 +1 0.1251101800E+02 0.1000000000E+01 +F 1 +1 0.5200140000E+01 0.1000000000E+01 +F 1 +1 0.2316256000E+01 0.1000000000E+01 +F 1 +1 0.9263900000E+00 0.1000000000E+01 +F 1 +1 0.3705110000E+00 0.1000000000E+01 +G 1 +1 0.9283307000E+01 0.1000000000E+01 +G 1 +1 0.3711792000E+01 0.1000000000E+01 +G 1 +1 0.1454054000E+01 0.1000000000E+01 +G 1 +1 0.5696097000E+00 0.1000000000E+01 +H 1 +1 0.6602488000E+01 0.1000000000E+01 +H 1 +1 0.2346880000E+01 0.1000000000E+01 +H 1 +1 0.8342070000E+00 0.1000000000E+01 +I 1 +1 0.4195464335E+01 0.1000000000E+01 + +LITHIUM +S 14 +1 0.6362850650E+05 0.6447549050E-05 +2 0.1070767767E+05 0.4607559143E-04 +3 0.2360203030E+04 0.2637197622E-03 +4 0.6421689280E+03 0.1159396832E-02 +5 0.2052079440E+03 0.4238417307E-02 +6 0.7392097400E+02 0.1342876777E-01 +7 0.2903747400E+02 0.3768846333E-01 +8 0.1211665800E+02 0.9263623820E-01 +9 0.5263829000E+01 0.1905664074E+00 +10 0.2345554000E+01 0.3088460725E+00 +11 0.1060797000E+01 0.3385550282E+00 +12 0.4834930000E+00 0.1620762181E+00 +13 0.2210940000E+00 0.1214057301E-01 +14 0.1011580000E+00 0.1417676311E-02 +S 9 +1 0.1211665800E+02 -0.5891340340E-03 +2 0.5263829000E+01 -0.2310494105E-02 +3 0.2345554000E+01 -0.9792609052E-02 +4 0.1060797000E+01 -0.3425140670E-01 +5 0.4834930000E+00 -0.7671140533E-01 +6 0.2210940000E+00 -0.2178438054E-01 +7 0.1011580000E+00 0.2856816866E+00 +8 0.4622100000E-01 0.5849813218E+00 +9 0.2105100000E-01 0.2366862256E+00 +S 1 +1 0.3045730000E+00 0.1000000000E+01 +S 1 +1 0.1802420000E+00 0.1000000000E+01 +S 1 +1 0.1066650000E+00 0.1000000000E+01 +S 1 +1 0.6312300000E-01 0.1000000000E+01 +S 1 +1 0.3735600000E-01 0.1000000000E+01 +S 1 +1 0.2210700000E-01 0.1000000000E+01 +S 1 +1 0.5833541766E-02 0.1000000000E+01 +P 11 +1 0.8997147300E+02 0.3930900942E-04 +2 0.2149309500E+02 0.3415766972E-03 +3 0.6858044000E+01 0.1790676421E-02 +4 0.2562360000E+01 0.6249397933E-02 +5 0.1040089000E+01 0.1647145571E-01 +6 0.4436600000E+00 0.4229798292E-01 +7 0.1975760000E+00 0.1127918611E+00 +8 0.9233200000E-01 0.2534553871E+00 +9 0.4536500000E-01 0.3818006082E+00 +10 0.2305100000E-01 0.3011235412E+00 +11 0.1152500000E-01 0.6544313174E-01 +P 1 +1 0.4179460000E+00 0.1000000000E+01 +P 1 +1 0.2205610000E+00 0.1000000000E+01 +P 1 +1 0.1163950000E+00 0.1000000000E+01 +P 1 +1 0.6142500000E-01 0.1000000000E+01 +P 1 +1 0.3241500000E-01 0.1000000000E+01 +P 1 +1 0.1710600000E-01 0.1000000000E+01 +P 1 +1 0.3506051259E-02 0.1000000000E+01 +D 1 +1 0.5209690000E+00 0.1000000000E+01 +D 1 +1 0.3459790000E+00 0.1000000000E+01 +D 1 +1 0.2297670000E+00 0.1000000000E+01 +D 1 +1 0.1525900000E+00 0.1000000000E+01 +D 1 +1 0.1013360000E+00 0.1000000000E+01 +D 1 +1 0.6729800000E-01 0.1000000000E+01 +D 1 +1 0.4469310000E-01 0.1000000000E+01 +F 1 +1 0.5736740000E+00 0.1000000000E+01 +F 1 +1 0.3538570000E+00 0.1000000000E+01 +F 1 +1 0.2182680000E+00 0.1000000000E+01 +F 1 +1 0.1346330000E+00 0.1000000000E+01 +F 1 +1 0.8304500000E-01 0.1000000000E+01 +F 1 +1 0.5122420000E-01 0.1000000000E+01 +G 1 +1 0.7698360000E+00 0.1000000000E+01 +G 1 +1 0.4234380000E+00 0.1000000000E+01 +G 1 +1 0.2329060000E+00 0.1000000000E+01 +G 1 +1 0.1281070000E+00 0.1000000000E+01 +G 1 +1 0.7046360000E-01 0.1000000000E+01 +H 1 +1 0.5029030000E+00 0.1000000000E+01 +H 1 +1 0.2732010000E+00 0.1000000000E+01 +H 1 +1 0.1484160000E+00 0.1000000000E+01 +H 1 +1 0.8062670000E-01 0.1000000000E+01 +I 1 +1 0.6975310000E+00 0.1000000000E+01 +I 1 +1 0.3301130000E+00 0.1000000000E+01 +I 1 +1 0.1562290000E+00 0.1000000000E+01 +J 1 +1 0.3843768470E+00 0.1000000000E+01 + +BERYLLIUM +S 16 +1 0.3164965100E+06 0.1784498934E-05 +2 0.5651319017E+05 0.1187631435E-04 +3 0.1267437689E+05 0.6807493134E-04 +4 0.3428664408E+04 0.3055895353E-03 +5 0.1079779454E+04 0.1149043022E-02 +6 0.3838505890E+03 0.3746521476E-02 +7 0.1499953260E+03 0.1089513151E-01 +8 0.6298970200E+02 0.2874449130E-01 +9 0.2789286000E+02 0.6830798056E-01 +10 0.1282099400E+02 0.1425541654E+00 +11 0.6039455000E+01 0.2480277179E+00 +12 0.2885913000E+01 0.3299358391E+00 +13 0.1387747000E+01 0.2549739681E+00 +14 0.6674710000E+00 0.6743832148E-01 +15 0.3196500000E+00 0.1674742398E-02 +16 0.1519090000E+00 0.2240869257E-03 +S 12 +1 0.1499953260E+03 -0.1496914747E-04 +2 0.6298970200E+02 -0.8040166813E-04 +3 0.2789286000E+02 -0.4987552363E-03 +4 0.1282099400E+02 -0.2112799306E-02 +5 0.6039455000E+01 -0.8085849911E-02 +6 0.2885913000E+01 -0.2639289784E-01 +7 0.1387747000E+01 -0.6546405628E-01 +8 0.6674710000E+00 -0.4512624985E-01 +9 0.3196500000E+00 0.1423489751E+00 +10 0.1519090000E+00 0.4036183885E+00 +11 0.7146300000E-01 0.4494127376E+00 +12 0.3321300000E-01 0.1310039198E+00 +S 1 +1 0.4372584000E+01 0.1000000000E+01 +S 1 +1 0.2226277000E+01 0.1000000000E+01 +S 1 +1 0.1133496000E+01 0.1000000000E+01 +S 1 +1 0.5771130000E+00 0.1000000000E+01 +S 1 +1 0.2938340000E+00 0.1000000000E+01 +S 1 +1 0.1496040000E+00 0.1000000000E+01 +S 1 +1 0.1543600700E-01 0.1000000000E+01 +P 13 +1 0.3727182510E+03 0.1512589618E-04 +2 0.9113132400E+02 0.1302932728E-03 +3 0.2962166200E+02 0.7293704496E-03 +4 0.1150346100E+02 0.2869840132E-02 +5 0.4965256000E+01 0.8671594833E-02 +6 0.2278689000E+01 0.2170603284E-01 +7 0.1086526000E+01 0.5110423062E-01 +8 0.5337770000E+00 0.1168366402E+00 +9 0.2700800000E+00 0.2249294609E+00 +10 0.1408990000E+00 0.3146310761E+00 +11 0.7547900000E-01 0.2916627423E+00 +12 0.4086300000E-01 0.1476732265E+00 +13 0.2160400000E-01 0.2356967084E-01 +P 1 +1 0.4710870000E+01 0.1000000000E+01 +P 1 +1 0.2295577000E+01 0.1000000000E+01 +P 1 +1 0.1118620000E+01 0.1000000000E+01 +P 1 +1 0.5450970000E+00 0.1000000000E+01 +P 1 +1 0.2656220000E+00 0.1000000000E+01 +P 1 +1 0.1294360000E+00 0.1000000000E+01 +P 1 +1 0.1142189300E-01 0.1000000000E+01 +D 1 +1 0.1790092000E+01 0.1000000000E+01 +D 1 +1 0.1017292000E+01 0.1000000000E+01 +D 1 +1 0.5781170000E+00 0.1000000000E+01 +D 1 +1 0.3285380000E+00 0.1000000000E+01 +D 1 +1 0.1867050000E+00 0.1000000000E+01 +D 1 +1 0.1061030000E+00 0.1000000000E+01 +D 1 +1 0.6029750000E-01 0.1000000000E+01 +F 1 +1 0.1340515000E+01 0.1000000000E+01 +F 1 +1 0.7779310000E+00 0.1000000000E+01 +F 1 +1 0.4514510000E+00 0.1000000000E+01 +F 1 +1 0.2619870000E+00 0.1000000000E+01 +F 1 +1 0.1520370000E+00 0.1000000000E+01 +F 1 +1 0.8823050000E-01 0.1000000000E+01 +G 1 +1 0.1050843000E+01 0.1000000000E+01 +G 1 +1 0.6111550000E+00 0.1000000000E+01 +G 1 +1 0.3554390000E+00 0.1000000000E+01 +G 1 +1 0.2067180000E+00 0.1000000000E+01 +G 1 +1 0.1202240000E+00 0.1000000000E+01 +H 1 +1 0.8043580000E+00 0.1000000000E+01 +H 1 +1 0.5290100000E+00 0.1000000000E+01 +H 1 +1 0.3479190000E+00 0.1000000000E+01 +H 1 +1 0.2288190000E+00 0.1000000000E+01 +I 1 +1 0.8043580000E+00 0.1000000000E+01 +I 1 +1 0.3479190000E+00 0.1000000000E+01 +I 1 +1 0.1504890000E+00 0.1000000000E+01 +J 1 +1 0.6147604081E+00 0.1000000000E+01 + +BORON +S 16 +1 0.5391184713E+06 0.1631754029E-05 +2 0.9576893436E+05 0.1093505225E-04 +3 0.2141862992E+05 0.6282544697E-04 +4 0.5784427572E+04 0.2825695227E-03 +5 0.1819257318E+04 0.1064542707E-02 +6 0.6458795120E+03 0.3479651597E-02 +7 0.2520538060E+03 0.1015411364E-01 +8 0.1057277990E+03 0.2693224900E-01 +9 0.4678699000E+02 0.6461144383E-01 +10 0.2150848100E+02 0.1370037736E+00 +11 0.1014335600E+02 0.2434678166E+00 +12 0.4857538000E+01 0.3305940732E+00 +13 0.2342785000E+01 0.2618281787E+00 +14 0.1130316000E+01 0.7345906607E-01 +15 0.5424330000E+00 0.2802375564E-02 +16 0.2576100000E+00 0.5096086991E-03 +S 11 +1 0.1057277990E+03 -0.9453436756E-04 +2 0.4678699000E+02 -0.4715330381E-03 +3 0.2150848100E+02 -0.2328333735E-02 +4 0.1014335600E+02 -0.9062682874E-02 +5 0.4857538000E+01 -0.2995812806E-01 +6 0.2342785000E+01 -0.6935144390E-01 +7 0.1130316000E+01 -0.3477035798E-01 +8 0.5424330000E+00 0.1740126216E+00 +9 0.2576100000E+00 0.4179736277E+00 +10 0.1204790000E+00 0.4199127582E+00 +11 0.5520000000E-01 0.1163431969E+00 +S 1 +1 0.1719816000E+01 0.1000000000E+01 +S 1 +1 0.8756430000E+00 0.1000000000E+01 +S 1 +1 0.4458330000E+00 0.1000000000E+01 +S 1 +1 0.2269960000E+00 0.1000000000E+01 +S 1 +1 0.1155750000E+00 0.1000000000E+01 +S 1 +1 0.5884500000E-01 0.1000000000E+01 +S 1 +1 0.2365327178E-01 0.1000000000E+01 +P 12 +1 0.4880551830E+03 0.2587734730E-04 +2 0.1184766780E+03 0.2283836580E-03 +3 0.3770950100E+02 0.1326512220E-02 +4 0.1427754900E+02 0.5360814870E-02 +5 0.6013500000E+01 0.1653734540E-01 +6 0.2699412000E+01 0.4381612290E-01 +7 0.1259926000E+01 0.1054758290E+00 +8 0.6037350000E+00 0.2044950920E+00 +9 0.2950160000E+00 0.2975517730E+00 +10 0.1460010000E+00 0.3174048680E+00 +11 0.7222500000E-01 0.2013870330E+00 +12 0.3481700000E-01 0.4222176800E-01 +P 1 +1 0.2223263000E+01 0.1000000000E+01 +P 1 +1 0.1054032000E+01 0.1000000000E+01 +P 1 +1 0.4997090000E+00 0.1000000000E+01 +P 1 +1 0.2369080000E+00 0.1000000000E+01 +P 1 +1 0.1123160000E+00 0.1000000000E+01 +P 1 +1 0.5324800000E-01 0.1000000000E+01 +P 1 +1 0.1662123894E-01 0.1000000000E+01 +D 1 +1 0.3640864000E+01 0.1000000000E+01 +D 1 +1 0.1843107000E+01 0.1000000000E+01 +D 1 +1 0.9330320000E+00 0.1000000000E+01 +D 1 +1 0.4723270000E+00 0.1000000000E+01 +D 1 +1 0.2391050000E+00 0.1000000000E+01 +D 1 +1 0.1210420000E+00 0.1000000000E+01 +D 1 +1 0.6127502000E-01 0.1000000000E+01 +F 1 +1 0.1838149000E+01 0.1000000000E+01 +F 1 +1 0.1057389000E+01 0.1000000000E+01 +F 1 +1 0.6082590000E+00 0.1000000000E+01 +F 1 +1 0.3498990000E+00 0.1000000000E+01 +F 1 +1 0.2012780000E+00 0.1000000000E+01 +F 1 +1 0.1157843000E+00 0.1000000000E+01 +G 1 +1 0.1912920000E+01 0.1000000000E+01 +G 1 +1 0.1055204000E+01 0.1000000000E+01 +G 1 +1 0.5820710000E+00 0.1000000000E+01 +G 1 +1 0.3210820000E+00 0.1000000000E+01 +G 1 +1 0.1771152000E+00 0.1000000000E+01 +H 1 +1 0.1639093000E+01 0.1000000000E+01 +H 1 +1 0.8594130000E+00 0.1000000000E+01 +H 1 +1 0.4506100000E+00 0.1000000000E+01 +H 1 +1 0.2362651000E+00 0.1000000000E+01 +I 1 +1 0.1428916000E+01 0.1000000000E+01 +I 1 +1 0.6460350000E+00 0.1000000000E+01 +I 1 +1 0.2920824000E+00 0.1000000000E+01 +J 1 +1 0.1050092327E+01 0.1000000000E+01 + +CARBON +S 15 +1 0.7690698650E+06 0.1675429559E-05 +2 0.1354304210E+06 0.1134088581E-04 +3 0.3024152040E+05 0.6502438910E-04 +4 0.8189944300E+04 0.2906318133E-03 +5 0.2588911340E+04 0.1086267240E-02 +6 0.9246058330E+03 0.3520431705E-02 +7 0.3629763430E+03 0.1020153080E-01 +8 0.1530929970E+03 0.2689813015E-01 +9 0.6807915000E+02 0.6439619362E-01 +10 0.3143358800E+02 0.1366608935E+00 +11 0.1488353800E+02 0.2440191428E+00 +12 0.7154736000E+01 0.3307468175E+00 +13 0.3463298000E+01 0.2605336536E+00 +14 0.1676404000E+01 0.7259282839E-01 +15 0.8064060000E+00 0.4060812542E-02 +S 11 +1 0.1530929970E+03 -0.1066071747E-03 +2 0.6807915000E+02 -0.5158890329E-03 +3 0.3143358800E+02 -0.2602597986E-02 +4 0.1488353800E+02 -0.1011131058E-01 +5 0.7154736000E+01 -0.3311244035E-01 +6 0.3463298000E+01 -0.7115760519E-01 +7 0.1676404000E+01 -0.2386567199E-01 +8 0.8064060000E+00 0.1949418898E+00 +9 0.3831570000E+00 0.4220562987E+00 +10 0.1786650000E+00 0.4011289824E+00 +11 0.8115500000E-01 0.1083460442E+00 +S 1 +1 0.2667557000E+01 0.1000000000E+01 +S 1 +1 0.1328840000E+01 0.1000000000E+01 +S 1 +1 0.6619600000E+00 0.1000000000E+01 +S 1 +1 0.3297540000E+00 0.1000000000E+01 +S 1 +1 0.1642670000E+00 0.1000000000E+01 +S 1 +1 0.8182900000E-01 0.1000000000E+01 +S 1 +1 0.3488807112E-01 0.1000000000E+01 +P 13 +1 0.1136185950E+04 0.1307562300E-04 +2 0.2780615750E+03 0.1153177490E-03 +3 0.8842350700E+02 0.6929272293E-03 +4 0.3352161300E+02 0.2980517291E-02 +5 0.1423762500E+02 0.9933237484E-02 +6 0.6493813000E+01 0.2737310271E-01 +7 0.3096094000E+01 0.6731506773E-01 +8 0.1518904000E+01 0.1421016021E+00 +9 0.7599500000E+00 0.2346868301E+00 +10 0.3853370000E+00 0.2966728071E+00 +11 0.1964380000E+00 0.2776401811E+00 +12 0.9928200000E-01 0.1552076681E+00 +13 0.4855700000E-01 0.2901062981E-01 +P 1 +1 0.3401347000E+01 0.1000000000E+01 +P 1 +1 0.1597717000E+01 0.1000000000E+01 +P 1 +1 0.7504970000E+00 0.1000000000E+01 +P 1 +1 0.3525310000E+00 0.1000000000E+01 +P 1 +1 0.1655950000E+00 0.1000000000E+01 +P 1 +1 0.7778500000E-01 0.1000000000E+01 +P 1 +1 0.2855682973E-01 0.1000000000E+01 +D 1 +1 0.5672395000E+01 0.1000000000E+01 +D 1 +1 0.2830524000E+01 0.1000000000E+01 +D 1 +1 0.1412431000E+01 0.1000000000E+01 +D 1 +1 0.7048030000E+00 0.1000000000E+01 +D 1 +1 0.3516960000E+00 0.1000000000E+01 +D 1 +1 0.1754960000E+00 0.1000000000E+01 +D 1 +1 0.8757230000E-01 0.1000000000E+01 +F 1 +1 0.2893255000E+01 0.1000000000E+01 +F 1 +1 0.1605755000E+01 0.1000000000E+01 +F 1 +1 0.8911930000E+00 0.1000000000E+01 +F 1 +1 0.4946110000E+00 0.1000000000E+01 +F 1 +1 0.2745090000E+00 0.1000000000E+01 +F 1 +1 0.1523520000E+00 0.1000000000E+01 +G 1 +1 0.3360636000E+01 0.1000000000E+01 +G 1 +1 0.1756113000E+01 0.1000000000E+01 +G 1 +1 0.9176640000E+00 0.1000000000E+01 +G 1 +1 0.4795290000E+00 0.1000000000E+01 +G 1 +1 0.2505790000E+00 0.1000000000E+01 +H 1 +1 0.2624873000E+01 0.1000000000E+01 +H 1 +1 0.1316938000E+01 0.1000000000E+01 +H 1 +1 0.6607270000E+00 0.1000000000E+01 +H 1 +1 0.3314960000E+00 0.1000000000E+01 +I 1 +1 0.2171729000E+01 0.1000000000E+01 +I 1 +1 0.1009793000E+01 0.1000000000E+01 +I 1 +1 0.4695253000E+00 0.1000000000E+01 +J 1 +1 0.1599377595E+01 0.1000000000E+01 + +NITROGEN +S 16 +1 0.1088712560E+07 0.1611832326E-05 +2 0.1902385110E+06 0.1102421557E-04 +3 0.4230982420E+05 0.6339586911E-04 +4 0.1143587060E+05 0.2838779074E-03 +5 0.3611220760E+04 0.1061939899E-02 +6 0.1288647200E+04 0.3447082760E-02 +7 0.5054024930E+03 0.1000700267E-01 +8 0.2129143370E+03 0.2647692667E-01 +9 0.9456121700E+02 0.6365646656E-01 +10 0.4361107400E+02 0.1360514323E+00 +11 0.2063348100E+02 0.2443928536E+00 +12 0.9916559000E+01 0.3320386689E+00 +13 0.4801870000E+01 0.2595256165E+00 +14 0.2326049000E+01 0.7309787953E-01 +15 0.1119587000E+01 0.3869391549E-02 +16 0.5317350000E+00 0.8219661382E-03 +S 11 +1 0.2129143370E+03 -0.1097268503E-03 +2 0.9456121700E+02 -0.5407398515E-03 +3 0.4361107400E+02 -0.2748526900E-02 +4 0.2063348100E+02 -0.1084281315E-01 +5 0.9916559000E+01 -0.3515207088E-01 +6 0.4801870000E+01 -0.7205283779E-01 +7 0.2326049000E+01 -0.1560602412E-01 +8 0.1119587000E+01 0.2078127050E+00 +9 0.5317350000E+00 0.4233012553E+00 +10 0.2472390000E+00 0.3892241063E+00 +11 0.1114940000E+00 0.1039026704E+00 +S 1 +1 0.3131301000E+01 0.1000000000E+01 +S 1 +1 0.1579356000E+01 0.1000000000E+01 +S 1 +1 0.7965910000E+00 0.1000000000E+01 +S 1 +1 0.4017820000E+00 0.1000000000E+01 +S 1 +1 0.2026500000E+00 0.1000000000E+01 +S 1 +1 0.1022120000E+00 0.1000000000E+01 +S 1 +1 0.4110083202E-01 0.1000000000E+01 +P 13 +1 0.1659117230E+04 0.1278634101E-04 +2 0.4055543190E+03 0.1133960824E-03 +3 0.1285337080E+03 0.6887767592E-03 +4 0.4857192600E+02 0.3010705050E-02 +5 0.2059071900E+02 0.1025220750E-01 +6 0.9387461000E+01 0.2885118833E-01 +7 0.4478003000E+01 0.7126243407E-01 +8 0.2197796000E+01 0.1482231765E+00 +9 0.1098612000E+01 0.2396450378E+00 +10 0.5550900000E+00 0.2959280313E+00 +11 0.2809420000E+00 0.2713782015E+00 +12 0.1403710000E+00 0.1510588203E+00 +13 0.6758800000E-01 0.2883595141E-01 +P 1 +1 0.4841149000E+01 0.1000000000E+01 +P 1 +1 0.2248931000E+01 0.1000000000E+01 +P 1 +1 0.1044730000E+01 0.1000000000E+01 +P 1 +1 0.4853240000E+00 0.1000000000E+01 +P 1 +1 0.2254550000E+00 0.1000000000E+01 +P 1 +1 0.1047340000E+00 0.1000000000E+01 +P 1 +1 0.4816500000E-01 0.1000000000E+01 +P 1 +1 0.2019200000E-01 0.1000000000E+01 +D 1 +1 0.6851943000E+01 0.1000000000E+01 +D 1 +1 0.3435730000E+01 0.1000000000E+01 +D 1 +1 0.1722758000E+01 0.1000000000E+01 +D 1 +1 0.8638330000E+00 0.1000000000E+01 +D 1 +1 0.4331470000E+00 0.1000000000E+01 +D 1 +1 0.2171900000E+00 0.1000000000E+01 +D 1 +1 0.1089040000E+00 0.1000000000E+01 +F 1 +1 0.4116982000E+01 0.1000000000E+01 +F 1 +1 0.2299161000E+01 0.1000000000E+01 +F 1 +1 0.1283985000E+01 0.1000000000E+01 +F 1 +1 0.7170510000E+00 0.1000000000E+01 +F 1 +1 0.4004430000E+00 0.1000000000E+01 +F 1 +1 0.2236306000E+00 0.1000000000E+01 +G 1 +1 0.4985485000E+01 0.1000000000E+01 +G 1 +1 0.2478946000E+01 0.1000000000E+01 +G 1 +1 0.1232613000E+01 0.1000000000E+01 +G 1 +1 0.6128960000E+00 0.1000000000E+01 +G 1 +1 0.3047521000E+00 0.1000000000E+01 +H 1 +1 0.3940913000E+01 0.1000000000E+01 +H 1 +1 0.1879180000E+01 0.1000000000E+01 +H 1 +1 0.8960660000E+00 0.1000000000E+01 +H 1 +1 0.4272790000E+00 0.1000000000E+01 +I 1 +1 0.3212240000E+01 0.1000000000E+01 +I 1 +1 0.1386314000E+01 0.1000000000E+01 +I 1 +1 0.5982948000E+00 0.1000000000E+01 +J 1 +1 0.2248877960E+01 0.1000000000E+01 + +OXYGEN +S 16 +1 0.1411246410E+07 0.1627429822E-05 +2 0.2499102240E+06 0.1092621996E-04 +3 0.5603410580E+05 0.6238741867E-04 +4 0.1521153640E+05 0.2783303491E-03 +5 0.4812287750E+04 0.1040541872E-02 +6 0.1717755460E+04 0.3380392793E-02 +7 0.6733958240E+03 0.9828484764E-02 +8 0.2835101840E+03 0.2605310129E-01 +9 0.1258620070E+03 0.6280818057E-01 +10 0.5804472200E+02 0.1348202075E+00 +11 0.2747198500E+02 0.2435563460E+00 +12 0.1321062900E+02 0.3323287378E+00 +13 0.6399806000E+01 0.2607930483E+00 +14 0.3099614000E+01 0.7430834326E-01 +15 0.1489856000E+01 0.4189538074E-02 +16 0.7052010000E+00 0.8706455724E-03 +S 11 +1 0.2835101840E+03 -0.1122588094E-03 +2 0.1258620070E+03 -0.5559335617E-03 +3 0.5804472200E+02 -0.2851687904E-02 +4 0.2747198500E+02 -0.1133494995E-01 +5 0.1321062900E+02 -0.3657977704E-01 +6 0.6399806000E+01 -0.7288994197E-01 +7 0.3099614000E+01 -0.1062032356E-01 +8 0.1489856000E+01 0.2196705572E+00 +9 0.7052010000E+00 0.4294832072E+00 +10 0.3258480000E+00 0.3775832849E+00 +11 0.1454600000E+00 0.9640261255E-01 +S 1 +1 0.4249866000E+01 0.1000000000E+01 +S 1 +1 0.2167470000E+01 0.1000000000E+01 +S 1 +1 0.1105429000E+01 0.1000000000E+01 +S 1 +1 0.5637790000E+00 0.1000000000E+01 +S 1 +1 0.2875320000E+00 0.1000000000E+01 +S 1 +1 0.1466440000E+00 0.1000000000E+01 +S 1 +1 0.5814297870E-01 0.1000000000E+01 +P 13 +1 0.2085279200E+04 0.1447911740E-04 +2 0.5101470830E+03 0.1283233588E-03 +3 0.1616811510E+03 0.7792790007E-03 +4 0.6114945200E+02 0.3400506049E-02 +5 0.2597660200E+02 0.1157685214E-01 +6 0.1187542600E+02 0.3269740339E-01 +7 0.5677133000E+01 0.8011404242E-01 +8 0.2786475000E+01 0.1605265057E+00 +9 0.1387844000E+01 0.2460495026E+00 +10 0.6952810000E+00 0.2898982926E+00 +11 0.3470020000E+00 0.2606799382E+00 +12 0.1700990000E+00 0.1479363112E+00 +13 0.8008000000E-01 0.2980261453E-01 +P 1 +1 0.5659724000E+01 0.1000000000E+01 +P 1 +1 0.2575878000E+01 0.1000000000E+01 +P 1 +1 0.1172344000E+01 0.1000000000E+01 +P 1 +1 0.5335620000E+00 0.1000000000E+01 +P 1 +1 0.2428370000E+00 0.1000000000E+01 +P 1 +1 0.1105210000E+00 0.1000000000E+01 +P 1 +1 0.4261436033E-01 0.1000000000E+01 +D 1 +1 0.9464211000E+01 0.1000000000E+01 +D 1 +1 0.4752286000E+01 0.1000000000E+01 +D 1 +1 0.2386276000E+01 0.1000000000E+01 +D 1 +1 0.1198226000E+01 0.1000000000E+01 +D 1 +1 0.6016680000E+00 0.1000000000E+01 +D 1 +1 0.3021170000E+00 0.1000000000E+01 +D 1 +1 0.1517020000E+00 0.1000000000E+01 +F 1 +1 0.7001836000E+01 0.1000000000E+01 +F 1 +1 0.3552509000E+01 0.1000000000E+01 +F 1 +1 0.1802430000E+01 0.1000000000E+01 +F 1 +1 0.9144960000E+00 0.1000000000E+01 +F 1 +1 0.4639860000E+00 0.1000000000E+01 +F 1 +1 0.2354110000E+00 0.1000000000E+01 +G 1 +1 0.6472481000E+01 0.1000000000E+01 +G 1 +1 0.3119071000E+01 0.1000000000E+01 +G 1 +1 0.1503072000E+01 0.1000000000E+01 +G 1 +1 0.7243260000E+00 0.1000000000E+01 +G 1 +1 0.3490500000E+00 0.1000000000E+01 +H 1 +1 0.5355083000E+01 0.1000000000E+01 +H 1 +1 0.2414696000E+01 0.1000000000E+01 +H 1 +1 0.1088827000E+01 0.1000000000E+01 +H 1 +1 0.4909703000E+00 0.1000000000E+01 +I 1 +1 0.4322113000E+01 0.1000000000E+01 +I 1 +1 0.1716263000E+01 0.1000000000E+01 +I 1 +1 0.6815089000E+00 0.1000000000E+01 +J 1 +1 0.3060973723E+01 0.1000000000E+01 + +FLUORINE +S 17 +1 0.3048244770E+07 0.8396810573E-06 +2 0.5369968820E+06 0.5676545607E-05 +3 0.1199883200E+06 0.3254964624E-04 +4 0.3245363880E+05 0.1460551024E-03 +5 0.1021678190E+05 0.5510724130E-03 +6 0.3623944150E+04 0.1811665599E-02 +7 0.1410396690E+04 0.5358354648E-02 +8 0.5895474470E+03 0.1452539685E-01 +9 0.2602273170E+03 0.3633701983E-01 +10 0.1196906900E+03 0.8281703613E-01 +11 0.5676751100E+02 0.1661259345E+00 +12 0.2753188800E+02 0.2741990864E+00 +13 0.1355825000E+02 0.3232958507E+00 +14 0.6735532000E+01 0.2025864722E+00 +15 0.3352805000E+01 0.4301269879E-01 +16 0.1659369000E+01 0.2646600918E-02 +17 0.8087840000E+00 0.5220454936E-03 +S 11 +1 0.2602273170E+03 -0.2385176003E-03 +2 0.1196906900E+03 -0.9798822232E-03 +3 0.5676751100E+02 -0.4826796172E-02 +4 0.2753188800E+02 -0.1721310513E-01 +5 0.1355825000E+02 -0.4852233298E-01 +6 0.6735532000E+01 -0.6936525834E-01 +7 0.3352805000E+01 0.3551075826E-01 +8 0.1659369000E+01 0.2641572510E+00 +9 0.8087840000E+00 0.4234159692E+00 +10 0.3835520000E+00 0.3317589638E+00 +11 0.1742700000E+00 0.7587766348E-01 +S 1 +1 0.1068242600E+02 0.1000000000E+01 +S 1 +1 0.4919101000E+01 0.1000000000E+01 +S 1 +1 0.2265174000E+01 0.1000000000E+01 +S 1 +1 0.1043079000E+01 0.1000000000E+01 +S 1 +1 0.4803230000E+00 0.1000000000E+01 +S 1 +1 0.2211820000E+00 0.1000000000E+01 +S 1 +1 0.1003107033E+00 0.1000000000E+01 +P 14 +1 0.4131222500E+04 0.6941429714E-05 +2 0.1005024520E+04 0.6277603815E-04 +3 0.3153760590E+03 0.3928396657E-03 +4 0.1184334420E+03 0.1785103608E-02 +5 0.5027007200E+02 0.6387638435E-02 +6 0.2312552200E+02 0.1888831068E-01 +7 0.1119294000E+02 0.4840532696E-01 +8 0.5586791000E+01 0.1064977579E+00 +9 0.2838035000E+01 0.1869575638E+00 +10 0.1453994000E+01 0.2545242188E+00 +11 0.7454810000E+00 0.2744026778E+00 +12 0.3790260000E+00 0.2294936918E+00 +13 0.1885760000E+00 0.1210457339E+00 +14 0.8997400000E-01 0.2246455738E-01 +P 1 +1 0.6754664000E+01 0.1000000000E+01 +P 1 +1 0.3104005000E+01 0.1000000000E+01 +P 1 +1 0.1426399000E+01 0.1000000000E+01 +P 1 +1 0.6554800000E+00 0.1000000000E+01 +P 1 +1 0.3012160000E+00 0.1000000000E+01 +P 1 +1 0.1384190000E+00 0.1000000000E+01 +P 1 +1 0.5438434490E-01 0.1000000000E+01 +D 1 +1 0.1635237200E+02 0.1000000000E+01 +D 1 +1 0.7681640000E+01 0.1000000000E+01 +D 1 +1 0.3608503000E+01 0.1000000000E+01 +D 1 +1 0.1695119000E+01 0.1000000000E+01 +D 1 +1 0.7962940000E+00 0.1000000000E+01 +D 1 +1 0.3740650000E+00 0.1000000000E+01 +D 1 +1 0.1757190000E+00 0.1000000000E+01 +F 1 +1 0.8996481000E+01 0.1000000000E+01 +F 1 +1 0.4445515000E+01 0.1000000000E+01 +F 1 +1 0.2196704000E+01 0.1000000000E+01 +F 1 +1 0.1085478000E+01 0.1000000000E+01 +F 1 +1 0.5363770000E+00 0.1000000000E+01 +F 1 +1 0.2650440000E+00 0.1000000000E+01 +G 1 +1 0.9784986000E+01 0.1000000000E+01 +G 1 +1 0.4586666000E+01 0.1000000000E+01 +G 1 +1 0.2149978000E+01 0.1000000000E+01 +G 1 +1 0.1007792000E+01 0.1000000000E+01 +G 1 +1 0.4723977000E+00 0.1000000000E+01 +H 1 +1 0.6419402000E+01 0.1000000000E+01 +H 1 +1 0.2953824000E+01 0.1000000000E+01 +H 1 +1 0.1359173000E+01 0.1000000000E+01 +H 1 +1 0.6254100000E+00 0.1000000000E+01 +I 1 +1 0.5940514000E+01 0.1000000000E+01 +I 1 +1 0.2322489000E+01 0.1000000000E+01 +I 1 +1 0.9079946000E+00 0.1000000000E+01 +J 1 +1 0.3904785650E+01 0.1000000000E+01 + +NEON +S 19 +1 0.3769586770E+07 0.8395762775E-06 +2 0.6659973020E+06 0.5652257157E-05 +3 0.1491070440E+06 0.3234920098E-04 +4 0.4037503800E+05 0.1450191739E-03 +5 0.1271568140E+05 0.5471768437E-03 +6 0.4509607150E+04 0.1800183779E-02 +7 0.1754143950E+04 0.5330308277E-02 +8 0.7326993940E+03 0.1446955969E-01 +9 0.3231734520E+03 0.3625134558E-01 +10 0.1485509390E+03 0.8278216636E-01 +11 0.7042844300E+02 0.1664090379E+00 +12 0.3415357800E+02 0.2749643709E+00 +13 0.1682126200E+02 0.3232370468E+00 +14 0.8358481000E+01 0.2014278249E+00 +15 0.4161070000E+01 0.4270265198E-01 +16 0.2058548000E+01 0.3063893768E-02 +17 0.1001912000E+01 0.8265021136E-03 +18 0.4736580000E+00 0.3305696348E-03 +19 0.2139940000E+00 0.3777318628E-04 +S 15 +1 0.1271568140E+05 -0.7027871631E-07 +2 0.4509607150E+04 -0.8211110235E-06 +3 0.1754143950E+04 -0.6284570322E-05 +4 0.7326993940E+03 -0.4277416572E-04 +5 0.3231734520E+03 -0.2412346585E-03 +6 0.1485509390E+03 -0.1208522373E-02 +7 0.7042844300E+02 -0.5119784907E-02 +8 0.3415357800E+02 -0.1833886583E-01 +9 0.1682126200E+02 -0.5001680890E-01 +10 0.8358481000E+01 -0.6899916929E-01 +11 0.4161070000E+01 0.4101215359E-01 +12 0.2058548000E+01 0.2704868806E+00 +13 0.1001912000E+01 0.4237137944E+00 +14 0.4736580000E+00 0.3250769437E+00 +15 0.2139940000E+00 0.7289032432E-01 +S 1 +1 0.1389494300E+02 0.1000000000E+01 +S 1 +1 0.6613598000E+01 0.1000000000E+01 +S 1 +1 0.3147885000E+01 0.1000000000E+01 +S 1 +1 0.1498304000E+01 0.1000000000E+01 +S 1 +1 0.7131500000E+00 0.1000000000E+01 +S 1 +1 0.3394390000E+00 0.1000000000E+01 +S 1 +1 0.9668037300E-01 0.1000000000E+01 +P 13 +1 0.3212252910E+04 0.1617292578E-04 +2 0.7850109590E+03 0.1436737328E-03 +3 0.2487189780E+03 0.8730216599E-03 +4 0.9418237400E+02 0.3814244885E-02 +5 0.4011133400E+02 0.1305948308E-01 +6 0.1839286300E+02 0.3715988215E-01 +7 0.8812372000E+01 0.8997820478E-01 +8 0.4325062000E+01 0.1734285078E+00 +9 0.2146104000E+01 0.2533552977E+00 +10 0.1066028000E+01 0.2855555206E+00 +11 0.5247270000E+00 0.2487956107E+00 +12 0.2524130000E+00 0.1404233358E+00 +13 0.1161810000E+00 0.2916675796E-01 +P 1 +1 0.8890797000E+01 0.1000000000E+01 +P 1 +1 0.4174475000E+01 0.1000000000E+01 +P 1 +1 0.1960031000E+01 0.1000000000E+01 +P 1 +1 0.9202890000E+00 0.1000000000E+01 +P 1 +1 0.4321010000E+00 0.1000000000E+01 +P 1 +1 0.2028830000E+00 0.1000000000E+01 +P 1 +1 0.5347594900E-01 0.1000000000E+01 +D 1 +1 0.2082030100E+02 0.1000000000E+01 +D 1 +1 0.9742746000E+01 0.1000000000E+01 +D 1 +1 0.4559065000E+01 0.1000000000E+01 +D 1 +1 0.2133390000E+01 0.1000000000E+01 +D 1 +1 0.9983080000E+00 0.1000000000E+01 +D 1 +1 0.4671530000E+00 0.1000000000E+01 +D 1 +1 0.2186010000E+00 0.1000000000E+01 +F 1 +1 0.1176773000E+02 0.1000000000E+01 +F 1 +1 0.5796971000E+01 0.1000000000E+01 +F 1 +1 0.2855680000E+01 0.1000000000E+01 +F 1 +1 0.1406754000E+01 0.1000000000E+01 +F 1 +1 0.6929890000E+00 0.1000000000E+01 +F 1 +1 0.3413770000E+00 0.1000000000E+01 +G 1 +1 0.1256913500E+02 0.1000000000E+01 +G 1 +1 0.5817048000E+01 0.1000000000E+01 +G 1 +1 0.2692154000E+01 0.1000000000E+01 +G 1 +1 0.1245940000E+01 0.1000000000E+01 +G 1 +1 0.5766260000E+00 0.1000000000E+01 +H 1 +1 0.8268376000E+01 0.1000000000E+01 +H 1 +1 0.3749549000E+01 0.1000000000E+01 +H 1 +1 0.1700349000E+01 0.1000000000E+01 +H 1 +1 0.7710676000E+00 0.1000000000E+01 +I 1 +1 0.7456900000E+01 0.1000000000E+01 +I 1 +1 0.2915331000E+01 0.1000000000E+01 +I 1 +1 0.1139770000E+01 0.1000000000E+01 +J 1 +1 0.4953468682E+01 0.1000000000E+01 + +SODIUM +S 17 +1 0.3689966910E+07 0.1073181382E-05 +2 0.6846608193E+06 0.6812394239E-05 +3 0.1551657939E+06 0.3919367578E-04 +4 0.4171019053E+05 0.1790215608E-03 +5 0.1294679899E+05 0.6901476793E-03 +6 0.4528552500E+04 0.2304086368E-02 +7 0.1746040859E+04 0.6844157365E-02 +8 0.7275305920E+03 0.1842545566E-01 +9 0.3218849260E+03 0.4526115768E-01 +10 0.1488895220E+03 0.1004075218E+00 +11 0.7103598800E+02 0.1938131418E+00 +12 0.3455567800E+02 0.3009651250E+00 +13 0.1697330500E+02 0.3117075740E+00 +14 0.8351533000E+01 0.1509828780E+00 +15 0.4090696000E+01 0.1995820789E-01 +16 0.1985335000E+01 0.1775454500E-02 +17 0.9517220000E+00 -0.3660822585E-04 +S 13 +1 0.1746040859E+04 -0.9882101985E-05 +2 0.7275305920E+03 -0.6205942707E-04 +3 0.3218849260E+03 -0.3786460600E-03 +4 0.1488895220E+03 -0.1835236970E-02 +5 0.7103598800E+02 -0.7602042922E-02 +6 0.3455567800E+02 -0.2605119613E-01 +7 0.1697330500E+02 -0.6361945125E-01 +8 0.8351533000E+01 -0.5700297671E-01 +9 0.4090696000E+01 0.1184903532E+00 +10 0.1985335000E+01 0.3708656647E+00 +11 0.9517220000E+00 0.4426844919E+00 +12 0.4498680000E+00 0.1921891816E+00 +13 0.2096060000E+00 0.1198676058E-01 +S 9 +1 0.8351533000E+01 0.4108384609E-03 +2 0.4090696000E+01 -0.1309320058E-02 +3 0.1985335000E+01 -0.7623438718E-02 +4 0.9517220000E+00 -0.3184968209E-01 +5 0.4498680000E+00 -0.8999832175E-01 +6 0.2096060000E+00 -0.6257220627E-01 +7 0.9635300000E-01 0.2390081775E+00 +8 0.4379100000E-01 0.6172233142E+00 +9 0.1974100000E-01 0.2780128722E+00 +S 1 +1 0.1658696000E+01 0.1000000000E+01 +S 1 +1 0.9071230000E+00 0.1000000000E+01 +S 1 +1 0.4960960000E+00 0.1000000000E+01 +S 1 +1 0.2713090000E+00 0.1000000000E+01 +S 1 +1 0.1483760000E+00 0.1000000000E+01 +S 1 +1 0.7114500000E-01 0.1000000000E+01 +S 1 +1 0.3023700000E-01 0.1000000000E+01 +S 1 +1 0.1516100000E-01 0.1000000000E+01 +S 1 +1 0.7602000000E-02 0.1000000000E+01 +S 1 +1 0.3811000000E-02 0.1000000000E+01 +P 15 +1 0.5170602693E+04 0.1034922229E-04 +2 0.1332101963E+04 0.8615949482E-04 +3 0.4219706110E+03 0.5451300230E-03 +4 0.1568768710E+03 0.2536847510E-02 +5 0.6575483400E+02 0.9205151429E-02 +6 0.3003016700E+02 0.2712885458E-01 +7 0.1452312900E+02 0.6787304399E-01 +8 0.7266422000E+01 0.1404163641E+00 +9 0.3692595000E+01 0.2278058751E+00 +10 0.1879429000E+01 0.2872964409E+00 +11 0.9486540000E+00 0.2773220402E+00 +12 0.4719410000E+00 0.1689819872E+00 +13 0.2307350000E+00 0.4172111920E-01 +14 0.1108670000E+00 0.2232780955E-02 +15 0.5249000000E-01 0.5199732350E-03 +P 10 +1 0.7266422000E+01 -0.3367283414E-03 +2 0.3692595000E+01 -0.3989268442E-03 +3 0.1879429000E+01 -0.1048340990E-02 +4 0.9486540000E+00 -0.2411620407E-02 +5 0.4719410000E+00 -0.8077873164E-02 +6 0.2307350000E+00 0.7528242030E-02 +7 0.1108670000E+00 0.1045030713E+00 +8 0.5249000000E-01 0.3431376897E+00 +9 0.2460300000E-01 0.4841785717E+00 +10 0.1149200000E-01 0.1740103531E+00 +P 1 +1 0.8974310000E+00 0.1000000000E+01 +P 1 +1 0.4867480000E+00 0.1000000000E+01 +P 1 +1 0.2510000000E+00 0.1000000000E+01 +P 1 +1 0.1294320000E+00 0.1000000000E+01 +P 1 +1 0.6674400000E-01 0.1000000000E+01 +P 1 +1 0.3441800000E-01 0.1000000000E+01 +P 1 +1 0.1774800000E-01 0.1000000000E+01 +P 1 +1 0.9152000000E-02 0.1000000000E+01 +P 1 +1 0.5378557000E-02 0.1000000000E+01 +D 1 +1 0.4859559000E+01 0.1000000000E+01 +D 1 +1 0.1233817000E+01 0.1000000000E+01 +D 1 +1 0.4995810000E+00 0.1000000000E+01 +D 1 +1 0.2790820000E+00 0.1000000000E+01 +D 1 +1 0.1559040000E+00 0.1000000000E+01 +D 1 +1 0.8709300000E-01 0.1000000000E+01 +D 1 +1 0.4865300000E-01 0.1000000000E+01 +D 1 +1 0.2717900000E-01 0.1000000000E+01 +D 1 +1 0.1518300000E-01 0.1000000000E+01 +F 1 +1 0.3626660000E+00 0.1000000000E+01 +F 1 +1 0.2076230000E+00 0.1000000000E+01 +F 1 +1 0.1188620000E+00 0.1000000000E+01 +F 1 +1 0.6804800000E-01 0.1000000000E+01 +F 1 +1 0.3895700000E-01 0.1000000000E+01 +F 1 +1 0.2230200000E-01 0.1000000000E+01 +G 1 +1 0.3162790000E+00 0.1000000000E+01 +G 1 +1 0.1772740000E+00 0.1000000000E+01 +G 1 +1 0.9936200000E-01 0.1000000000E+01 +G 1 +1 0.5569200000E-01 0.1000000000E+01 +G 1 +1 0.3121500000E-01 0.1000000000E+01 +H 1 +1 0.2911150000E+00 0.1000000000E+01 +H 1 +1 0.1546260000E+00 0.1000000000E+01 +H 1 +1 0.8213000000E-01 0.1000000000E+01 +H 1 +1 0.4362300000E-01 0.1000000000E+01 +I 1 +1 0.2576630000E+00 0.1000000000E+01 +I 1 +1 0.1281410000E+00 0.1000000000E+01 +I 1 +1 0.6372700000E-01 0.1000000000E+01 +J 1 +1 0.2124290000E+00 0.1000000000E+01 + +MAGNESIUM +S 18 +1 0.4745948190E+07 0.9801083634E-06 +2 0.8705158270E+06 0.6313249282E-05 +3 0.1964935980E+06 0.3634725615E-04 +4 0.5283012830E+05 0.1656420803E-03 +5 0.1643202600E+05 0.6363812942E-03 +6 0.5760775540E+04 0.2119352501E-02 +7 0.2224658310E+04 0.6293805566E-02 +8 0.9274203160E+03 0.1698486828E-01 +9 0.4101133180E+03 0.4196643873E-01 +10 0.1894921330E+03 0.9401574122E-01 +11 0.9031626600E+02 0.1842422857E+00 +12 0.4392941600E+02 0.2927972656E+00 +13 0.2161249100E+02 0.3166900750E+00 +14 0.1067814800E+02 0.1670714172E+00 +15 0.5268238000E+01 0.2645268809E-01 +16 0.2584181000E+01 0.3614540133E-02 +17 0.1256232000E+01 0.1918295828E-02 +18 0.6038340000E+00 0.9286027301E-03 +S 13 +1 0.4101133180E+03 -0.3620735567E-03 +2 0.1894921330E+03 -0.1426014901E-02 +3 0.9031626600E+02 -0.7026764943E-02 +4 0.4392941600E+02 -0.2417283038E-01 +5 0.2161249100E+02 -0.6246331831E-01 +6 0.1067814800E+02 -0.6338931952E-01 +7 0.5268238000E+01 0.9971250161E-01 +8 0.2584181000E+01 0.3675072976E+00 +9 0.1256232000E+01 0.4582886415E+00 +10 0.6038340000E+00 0.1969961129E+00 +11 0.2865530000E+00 0.9299100222E-02 +12 0.1341280000E+00 0.1496288442E-02 +13 0.6188900000E-01 -0.1518590537E-02 +S 9 +1 0.1067814800E+02 0.6874982757E-03 +2 0.5268238000E+01 -0.1627589108E-02 +3 0.2584181000E+01 -0.1028255867E-01 +4 0.1256232000E+01 -0.5378784693E-01 +5 0.6038340000E+00 -0.1198607061E+00 +6 0.2865530000E+00 0.2093837669E-01 +7 0.1341280000E+00 0.3642413961E+00 +8 0.6188900000E-01 0.5450753291E+00 +9 0.2814000000E-01 0.1981255245E+00 +S 1 +1 0.2313487000E+01 0.1000000000E+01 +S 1 +1 0.1236171000E+01 0.1000000000E+01 +S 1 +1 0.6605270000E+00 0.1000000000E+01 +S 1 +1 0.3529410000E+00 0.1000000000E+01 +S 1 +1 0.1885880000E+00 0.1000000000E+01 +S 1 +1 0.1007690000E+00 0.1000000000E+01 +S 1 +1 0.1279483600E-01 0.1000000000E+01 +P 16 +1 0.7673161940E+04 0.7565216667E-05 +2 0.1981440980E+04 0.6273254484E-04 +3 0.6289377160E+03 0.3975228351E-03 +4 0.2339917310E+03 0.1873270591E-02 +5 0.9803817500E+02 0.6981356149E-02 +6 0.4475177600E+02 0.2126864883E-01 +7 0.2166414400E+02 0.5513797386E-01 +8 0.1088570000E+02 0.1201982631E+00 +9 0.5583261000E+01 0.2083235685E+00 +10 0.2886221000E+01 0.2808038046E+00 +11 0.1489803000E+01 0.2900640499E+00 +12 0.7627490000E+00 0.1925119995E+00 +13 0.3855030000E+00 0.5675720198E-01 +14 0.1916640000E+00 0.5022756912E-02 +15 0.9346100000E-01 0.8049516169E-03 +16 0.4455800000E-01 -0.1349915616E-04 +P 9 +1 0.5583261000E+01 -0.1406123593E-02 +2 0.2886221000E+01 -0.8536523951E-03 +3 0.1489803000E+01 -0.5096440121E-02 +4 0.7627490000E+00 -0.9405924878E-02 +5 0.3855030000E+00 0.2475471459E-01 +6 0.1916640000E+00 0.1788872027E+00 +7 0.9346100000E-01 0.3996092606E+00 +8 0.4455800000E-01 0.4067729861E+00 +9 0.2068700000E-01 0.1137704710E+00 +P 1 +1 0.1123898000E+01 0.1000000000E+01 +P 1 +1 0.6582550000E+00 0.1000000000E+01 +P 1 +1 0.3855330000E+00 0.1000000000E+01 +P 1 +1 0.2258030000E+00 0.1000000000E+01 +P 1 +1 0.1322500000E+00 0.1000000000E+01 +P 1 +1 0.7745800000E-01 0.1000000000E+01 +P 1 +1 0.9604380100E-02 0.1000000000E+01 +D 1 +1 0.4738792000E+01 0.1000000000E+01 +D 1 +1 0.1200291000E+01 0.1000000000E+01 +D 1 +1 0.6951890000E+00 0.1000000000E+01 +D 1 +1 0.4026420000E+00 0.1000000000E+01 +D 1 +1 0.2332040000E+00 0.1000000000E+01 +D 1 +1 0.1350680000E+00 0.1000000000E+01 +D 1 +1 0.7822900000E-01 0.1000000000E+01 +D 1 +1 0.4530800000E-01 0.1000000000E+01 +F 1 +1 0.9223710000E+00 0.1000000000E+01 +F 1 +1 0.5417510000E+00 0.1000000000E+01 +F 1 +1 0.3181950000E+00 0.1000000000E+01 +F 1 +1 0.1868900000E+00 0.1000000000E+01 +F 1 +1 0.1097690000E+00 0.1000000000E+01 +F 1 +1 0.6447230000E-01 0.1000000000E+01 +G 1 +1 0.6409070000E+00 0.1000000000E+01 +G 1 +1 0.3952000000E+00 0.1000000000E+01 +G 1 +1 0.2436910000E+00 0.1000000000E+01 +G 1 +1 0.1502670000E+00 0.1000000000E+01 +G 1 +1 0.9265900000E-01 0.1000000000E+01 +H 1 +1 0.5812230000E+00 0.1000000000E+01 +H 1 +1 0.3401270000E+00 0.1000000000E+01 +H 1 +1 0.1990390000E+00 0.1000000000E+01 +H 1 +1 0.1164750000E+00 0.1000000000E+01 +I 1 +1 0.5111150000E+00 0.1000000000E+01 +I 1 +1 0.2701990000E+00 0.1000000000E+01 +I 1 +1 0.1428390000E+00 0.1000000000E+01 +J 1 +1 0.4173526794E+00 0.1000000000E+01 + +ALUMINIUM +S 18 +1 0.6223211100E+07 0.8611398832E-06 +2 0.1124753490E+07 0.5647724068E-05 +3 0.2528448536E+06 0.3248617448E-04 +4 0.6809923484E+05 0.1472997550E-03 +5 0.2126748236E+05 0.5624515373E-03 +6 0.7486388825E+04 0.1865051509E-02 +7 0.2899048561E+04 0.5534251472E-02 +8 0.1209769828E+04 0.1498166031E-01 +9 0.5346748930E+03 0.3731343810E-01 +10 0.2467038200E+03 0.8470969214E-01 +11 0.1174489670E+03 0.1695577682E+00 +12 0.5714421300E+02 0.2787437232E+00 +13 0.2819857200E+02 0.3223085297E+00 +14 0.1402687000E+02 0.1941199453E+00 +15 0.6998911000E+01 0.3909031214E-01 +16 0.3488583000E+01 0.3385109292E-02 +17 0.1730734000E+01 0.1277551702E-02 +18 0.8515970000E+00 0.5900977331E-03 +S 14 +1 0.2899048561E+04 -0.7409912384E-05 +2 0.1209769828E+04 -0.4628159782E-04 +3 0.5346748930E+03 -0.2884600769E-03 +4 0.2467038200E+03 -0.1433762912E-02 +5 0.1174489670E+03 -0.6172860180E-02 +6 0.5714421300E+02 -0.2200051290E-01 +7 0.2819857200E+02 -0.5851159565E-01 +8 0.1402687000E+02 -0.7254403267E-01 +9 0.6998911000E+01 0.6446298469E-01 +10 0.3488583000E+01 0.3337623686E+00 +11 0.1730734000E+01 0.4742667215E+00 +12 0.8515970000E+00 0.2356553885E+00 +13 0.4140110000E+00 0.1889614559E-01 +14 0.1979940000E+00 0.1174610384E-02 +S 9 +1 0.1402687000E+02 0.8961052910E-03 +2 0.6998911000E+01 -0.1262323602E-02 +3 0.3488583000E+01 -0.1095580921E-01 +4 0.1730734000E+01 -0.6438481825E-01 +5 0.8515970000E+00 -0.1408148447E+00 +6 0.4140110000E+00 0.4554532051E-01 +7 0.1979940000E+00 0.4213355505E+00 +8 0.9264600000E-01 0.5211970451E+00 +9 0.4213400000E-01 0.1624037901E+00 +S 1 +1 0.3145775000E+01 0.1000000000E+01 +S 1 +1 0.1669690000E+01 0.1000000000E+01 +S 1 +1 0.8862260000E+00 0.1000000000E+01 +S 1 +1 0.4703840000E+00 0.1000000000E+01 +S 1 +1 0.2496670000E+00 0.1000000000E+01 +S 1 +1 0.1325160000E+00 0.1000000000E+01 +S 1 +1 0.2181859029E-01 0.1000000000E+01 +P 16 +1 0.1171273497E+05 0.5050629047E-05 +2 0.3055376054E+04 0.4096915571E-04 +3 0.9818938530E+03 0.2543368973E-03 +4 0.3704819640E+03 0.1179159815E-02 +5 0.1576624450E+03 0.4377894311E-02 +6 0.7321724900E+02 0.1346011949E-01 +7 0.3612930200E+02 0.3555457554E-01 +8 0.1854974600E+02 0.8170309398E-01 +9 0.9750266000E+01 0.1568264833E+00 +10 0.5183487000E+01 0.2403611694E+00 +11 0.2762505000E+01 0.2912230405E+00 +12 0.1466534000E+01 0.2555898867E+00 +13 0.7719120000E+00 0.1242566509E+00 +14 0.4013450000E+00 0.2293555685E-01 +15 0.2054000000E+00 0.1850589928E-02 +16 0.1030410000E+00 0.2957978176E-03 +P 10 +1 0.9750266000E+01 -0.1235341115E-02 +2 0.5183487000E+01 -0.1156721247E-02 +3 0.2762505000E+01 -0.4260145494E-02 +4 0.1466534000E+01 -0.7841120207E-02 +5 0.7719120000E+00 0.4459344163E-02 +6 0.4013450000E+00 0.9650192981E-01 +7 0.2054000000E+00 0.2530512231E+00 +8 0.1030410000E+00 0.3847063191E+00 +9 0.5038900000E-01 0.3204560441E+00 +10 0.2383500000E-01 0.8338248622E-01 +P 1 +1 0.1532749000E+01 0.1000000000E+01 +P 1 +1 0.8909280000E+00 0.1000000000E+01 +P 1 +1 0.5178620000E+00 0.1000000000E+01 +P 1 +1 0.3010130000E+00 0.1000000000E+01 +P 1 +1 0.1749670000E+00 0.1000000000E+01 +P 1 +1 0.1017020000E+00 0.1000000000E+01 +P 1 +1 0.1255087057E-01 0.1000000000E+01 +D 1 +1 0.5529748735E+01 0.1000000000E+01 +D 1 +1 0.1773610000E+01 0.1000000000E+01 +D 1 +1 0.9327290000E+00 0.1000000000E+01 +D 1 +1 0.4905160000E+00 0.1000000000E+01 +D 1 +1 0.2579590000E+00 0.1000000000E+01 +D 1 +1 0.1356590000E+00 0.1000000000E+01 +D 1 +1 0.7134200000E-01 0.1000000000E+01 +D 1 +1 0.3751800000E-01 0.1000000000E+01 +F 1 +1 0.1492846000E+01 0.1000000000E+01 +F 1 +1 0.8176880000E+00 0.1000000000E+01 +F 1 +1 0.4478780000E+00 0.1000000000E+01 +F 1 +1 0.2453200000E+00 0.1000000000E+01 +F 1 +1 0.1343710000E+00 0.1000000000E+01 +F 1 +1 0.7360000000E-01 0.1000000000E+01 +G 1 +1 0.7859370000E+00 0.1000000000E+01 +G 1 +1 0.4865340000E+00 0.1000000000E+01 +G 1 +1 0.3011890000E+00 0.1000000000E+01 +G 1 +1 0.1864510000E+00 0.1000000000E+01 +G 1 +1 0.1154220000E+00 0.1000000000E+01 +H 1 +1 0.7856090000E+00 0.1000000000E+01 +H 1 +1 0.4604710000E+00 0.1000000000E+01 +H 1 +1 0.2698980000E+00 0.1000000000E+01 +H 1 +1 0.1581960000E+00 0.1000000000E+01 +I 1 +1 0.7307730000E+00 0.1000000000E+01 +I 1 +1 0.3697160000E+00 0.1000000000E+01 +I 1 +1 0.1870480000E+00 0.1000000000E+01 +J 1 +1 0.5727969701E+00 0.1000000000E+01 + +SILICON +S 18 +1 0.7920586095E+07 0.7717659700E-06 +2 0.1415730899E+07 0.5136914999E-05 +3 0.3165321826E+06 0.2965391494E-04 +4 0.8508195476E+05 0.1345856298E-03 +5 0.2656593206E+05 0.5135813037E-03 +6 0.9356137288E+04 0.1701821580E-02 +7 0.3625030785E+04 0.5050967053E-02 +8 0.1513168153E+04 0.1369402632E-01 +9 0.6688217740E+03 0.3423590577E-01 +10 0.3086402890E+03 0.7827488111E-01 +11 0.1470220480E+03 0.1587239831E+00 +12 0.7164392100E+02 0.2669862812E+00 +13 0.3546065900E+02 0.3235119899E+00 +14 0.1772662000E+02 0.2139555622E+00 +15 0.8908587000E+01 0.5113453248E-01 +16 0.4482826000E+01 0.3896307209E-02 +17 0.2250035000E+01 0.1125744339E-02 +18 0.1121881000E+01 0.3979721940E-03 +S 14 +1 0.3625030785E+04 -0.6436717236E-05 +2 0.1513168153E+04 -0.4082655470E-04 +3 0.6688217740E+03 -0.2533843732E-03 +4 0.3086402890E+03 -0.1275740965E-02 +5 0.1470220480E+03 -0.5543142085E-02 +6 0.7164392100E+02 -0.2009719826E-01 +7 0.3546065900E+02 -0.5523926003E-01 +8 0.1772662000E+02 -0.7725039060E-01 +9 0.8908587000E+01 0.3995581362E-01 +10 0.4482826000E+01 0.3093179209E+00 +11 0.2250035000E+01 0.4840422209E+00 +12 0.1121881000E+01 0.2620422913E+00 +13 0.5530360000E+00 0.2602444813E-01 +14 0.2679530000E+00 0.1422245646E-02 +S 9 +1 0.1772662000E+02 0.1048585178E-02 +2 0.8908587000E+01 -0.8850802913E-03 +3 0.4482826000E+01 -0.1101383956E-01 +4 0.2250035000E+01 -0.7243379610E-01 +5 0.1121881000E+01 -0.1529721543E+00 +6 0.5530360000E+00 0.6487862409E-01 +7 0.2679530000E+00 0.4440620520E+00 +8 0.1266600000E+00 0.5060837762E+00 +9 0.5786600000E-01 0.1497619619E+00 +S 1 +1 0.4272899000E+01 0.1000000000E+01 +S 1 +1 0.2232611000E+01 0.1000000000E+01 +S 1 +1 0.1166550000E+01 0.1000000000E+01 +S 1 +1 0.6095280000E+00 0.1000000000E+01 +S 1 +1 0.3184810000E+00 0.1000000000E+01 +S 1 +1 0.1664080000E+00 0.1000000000E+01 +S 1 +1 0.3196992079E-01 0.1000000000E+01 +P 16 +1 0.1686596096E+05 0.3622559586E-05 +2 0.4404187323E+04 0.2955764827E-04 +3 0.1402537503E+04 0.1883735545E-03 +4 0.5212262200E+03 0.9077143548E-03 +5 0.2178767590E+03 0.3530979942E-02 +6 0.9938037700E+02 0.1139825704E-01 +7 0.4826493000E+02 0.3143188327E-01 +8 0.2447518300E+02 0.7502377597E-01 +9 0.1276358400E+02 0.1495250375E+00 +10 0.6765656000E+01 0.2368640279E+00 +11 0.3613322000E+01 0.2946588082E+00 +12 0.1931273000E+01 0.2629376632E+00 +13 0.1027534000E+01 0.1290107527E+00 +14 0.5416440000E+00 0.2455923402E-01 +15 0.2815180000E+00 0.1952664902E-02 +16 0.1434550000E+00 0.2812849137E-03 +P 10 +1 0.1276358400E+02 -0.1496186537E-02 +2 0.6765656000E+01 -0.1734423738E-02 +3 0.3613322000E+01 -0.5692277124E-02 +4 0.1931273000E+01 -0.9232980145E-02 +5 0.1027534000E+01 0.1093484969E-01 +6 0.5416440000E+00 0.1232132595E+00 +7 0.2815180000E+00 0.2866820071E+00 +8 0.1434550000E+00 0.3833917323E+00 +9 0.7115700000E-01 0.2751768552E+00 +10 0.3403100000E-01 0.6220221520E-01 +P 1 +1 0.2251839000E+01 0.1000000000E+01 +P 1 +1 0.1287523000E+01 0.1000000000E+01 +P 1 +1 0.7361600000E+00 0.1000000000E+01 +P 1 +1 0.4209100000E+00 0.1000000000E+01 +P 1 +1 0.2406620000E+00 0.1000000000E+01 +P 1 +1 0.1376020000E+00 0.1000000000E+01 +P 1 +1 0.2232618896E-01 0.1000000000E+01 +D 1 +1 0.9544641404E+01 0.1000000000E+01 +D 1 +1 0.3304464000E+01 0.1000000000E+01 +D 1 +1 0.1646453000E+01 0.1000000000E+01 +D 1 +1 0.8203470000E+00 0.1000000000E+01 +D 1 +1 0.4087390000E+00 0.1000000000E+01 +D 1 +1 0.2036540000E+00 0.1000000000E+01 +D 1 +1 0.1014710000E+00 0.1000000000E+01 +D 1 +1 0.5055810000E-01 0.1000000000E+01 +F 1 +1 0.1809773000E+01 0.1000000000E+01 +F 1 +1 0.9891840000E+00 0.1000000000E+01 +F 1 +1 0.5406670000E+00 0.1000000000E+01 +F 1 +1 0.2955170000E+00 0.1000000000E+01 +F 1 +1 0.1615230000E+00 0.1000000000E+01 +F 1 +1 0.8828480000E-01 0.1000000000E+01 +G 1 +1 0.9648210000E+00 0.1000000000E+01 +G 1 +1 0.5987910000E+00 0.1000000000E+01 +G 1 +1 0.3716240000E+00 0.1000000000E+01 +G 1 +1 0.2306390000E+00 0.1000000000E+01 +G 1 +1 0.1431400000E+00 0.1000000000E+01 +H 1 +1 0.1037051000E+01 0.1000000000E+01 +H 1 +1 0.6044920000E+00 0.1000000000E+01 +H 1 +1 0.3523560000E+00 0.1000000000E+01 +H 1 +1 0.2053869000E+00 0.1000000000E+01 +I 1 +1 0.9668910000E+00 0.1000000000E+01 +I 1 +1 0.4849860000E+00 0.1000000000E+01 +I 1 +1 0.2432650000E+00 0.1000000000E+01 +J 1 +1 0.7712450493E+00 0.1000000000E+01 + +PHOSPHORUS +S 18 +1 0.9353127351E+07 0.7448363645E-06 +2 0.1682237655E+07 0.4904866898E-05 +3 0.3788793044E+06 0.2804496306E-04 +4 0.1025625596E+06 0.1261361680E-03 +5 0.3221486782E+05 0.4781484341E-03 +6 0.1139488224E+05 0.1578098474E-02 +7 0.4426339896E+04 0.4678847745E-02 +8 0.1849410012E+04 0.1270660971E-01 +9 0.8171684030E+03 0.3191285245E-01 +10 0.3766762010E+03 0.7353244873E-01 +11 0.1791971040E+03 0.1509254620E+00 +12 0.8724793600E+02 0.2586153819E+00 +13 0.4319274300E+02 0.3237974814E+00 +14 0.2163069500E+02 0.2276709580E+00 +15 0.1091181700E+02 0.6069444559E-01 +16 0.5523714000E+01 0.4686601227E-02 +17 0.2794982000E+01 0.1180655821E-02 +18 0.1407343000E+01 0.3446818627E-03 +S 14 +1 0.4426339896E+04 -0.5779581569E-05 +2 0.1849410012E+04 -0.3667235397E-04 +3 0.8171684030E+03 -0.2287520178E-03 +4 0.3766762010E+03 -0.1163089621E-02 +5 0.1791971040E+03 -0.5121746511E-02 +6 0.8724793600E+02 -0.1886130295E-01 +7 0.4319274300E+02 -0.5318654726E-01 +8 0.2163069500E+02 -0.7999159503E-01 +9 0.1091181700E+02 0.2436778394E-01 +10 0.5523714000E+01 0.2941969108E+00 +11 0.2794982000E+01 0.4902545590E+00 +12 0.1407343000E+01 0.2769332397E+00 +13 0.7012840000E+00 0.3096523692E-01 +14 0.3433910000E+00 0.1789997741E-02 +S 10 +1 0.4319274300E+02 0.2704962740E-03 +2 0.2163069500E+02 0.1128094440E-02 +3 0.1091181700E+02 -0.3304161608E-03 +4 0.5523714000E+01 -0.1235771227E-01 +5 0.2794982000E+01 -0.8143844954E-01 +6 0.1407343000E+01 -0.1610889301E+00 +7 0.7012840000E+00 0.8277793805E-01 +8 0.3433910000E+00 0.4562847680E+00 +9 0.1637310000E+00 0.4954516097E+00 +10 0.7513900000E-01 0.1421915533E+00 +S 1 +1 0.5496722000E+01 0.1000000000E+01 +S 1 +1 0.2819065000E+01 0.1000000000E+01 +S 1 +1 0.1445794000E+01 0.1000000000E+01 +S 1 +1 0.7414940000E+00 0.1000000000E+01 +S 1 +1 0.3802850000E+00 0.1000000000E+01 +S 1 +1 0.1950340000E+00 0.1000000000E+01 +S 1 +1 0.3827299452E-01 0.1000000000E+01 +P 16 +1 0.2044951825E+05 0.3452161353E-05 +2 0.5294724080E+04 0.2852500018E-04 +3 0.1684203387E+04 0.1813254679E-03 +4 0.6277448720E+03 0.8677626945E-03 +5 0.2636457090E+03 0.3356099495E-02 +6 0.1208660900E+03 0.1081954493E-01 +7 0.5897101100E+02 0.2994459963E-01 +8 0.3002304600E+02 0.7203669764E-01 +9 0.1571206600E+02 0.1456886778E+00 +10 0.8358416000E+01 0.2350615949E+00 +11 0.4482980000E+01 0.2973142648E+00 +12 0.2409423000E+01 0.2660291153E+00 +13 0.1291356000E+01 0.1286511036E+00 +14 0.6870720000E+00 0.2432008408E-01 +15 0.3610700000E+00 0.1931961641E-02 +16 0.1862170000E+00 0.2587712752E-03 +P 11 +1 0.3002304600E+02 -0.4733618533E-03 +2 0.1571206600E+02 -0.1288402552E-02 +3 0.8358416000E+01 -0.3663954161E-02 +4 0.4482980000E+01 -0.6439862408E-02 +5 0.2409423000E+01 -0.1179054350E-01 +6 0.1291356000E+01 0.1942358556E-01 +7 0.6870720000E+00 0.1455912251E+00 +8 0.3610700000E+00 0.3085836858E+00 +9 0.1862170000E+00 0.3741168740E+00 +10 0.9343500000E-01 0.2441494454E+00 +11 0.4507200000E-01 0.5039129540E-01 +P 1 +1 0.3198466000E+01 0.1000000000E+01 +P 1 +1 0.1800837000E+01 0.1000000000E+01 +P 1 +1 0.1013927000E+01 0.1000000000E+01 +P 1 +1 0.5708730000E+00 0.1000000000E+01 +P 1 +1 0.3214190000E+00 0.1000000000E+01 +P 1 +1 0.1809690000E+00 0.1000000000E+01 +P 1 +1 0.2978092503E-01 0.1000000000E+01 +D 1 +1 0.1237803624E+02 0.1000000000E+01 +D 1 +1 0.4687841000E+01 0.1000000000E+01 +D 1 +1 0.2300236000E+01 0.1000000000E+01 +D 1 +1 0.1128683000E+01 0.1000000000E+01 +D 1 +1 0.5538240000E+00 0.1000000000E+01 +D 1 +1 0.2717510000E+00 0.1000000000E+01 +D 1 +1 0.1333430000E+00 0.1000000000E+01 +D 1 +1 0.6542880000E-01 0.1000000000E+01 +F 1 +1 0.2340331000E+01 0.1000000000E+01 +F 1 +1 0.1271287000E+01 0.1000000000E+01 +F 1 +1 0.6905730000E+00 0.1000000000E+01 +F 1 +1 0.3751250000E+00 0.1000000000E+01 +F 1 +1 0.2037710000E+00 0.1000000000E+01 +F 1 +1 0.1106900000E+00 0.1000000000E+01 +G 1 +1 0.1210813000E+01 0.1000000000E+01 +G 1 +1 0.7570060000E+00 0.1000000000E+01 +G 1 +1 0.4732830000E+00 0.1000000000E+01 +G 1 +1 0.2958990000E+00 0.1000000000E+01 +G 1 +1 0.1849970000E+00 0.1000000000E+01 +H 1 +1 0.1306797000E+01 0.1000000000E+01 +H 1 +1 0.7631720000E+00 0.1000000000E+01 +H 1 +1 0.4456940000E+00 0.1000000000E+01 +H 1 +1 0.2602860000E+00 0.1000000000E+01 +I 1 +1 0.1255943000E+01 0.1000000000E+01 +I 1 +1 0.6273880000E+00 0.1000000000E+01 +I 1 +1 0.3134020000E+00 0.1000000000E+01 +J 1 +1 0.9952476457E+00 0.1000000000E+01 + +SULFUR +S 18 +1 0.1150118951E+08 0.6788137313E-06 +2 0.2053860668E+07 0.4515088975E-05 +3 0.4604908216E+06 0.2592685502E-04 +4 0.1242672223E+06 0.1170339654E-03 +5 0.3893323333E+05 0.4450849934E-03 +6 0.1373722813E+05 0.1474304013E-02 +7 0.5322158747E+04 0.4389488175E-02 +8 0.2217459879E+04 0.1197863622E-01 +9 0.9770368530E+03 0.3025400395E-01 +10 0.4492263140E+03 0.7018672538E-01 +11 0.2133040890E+03 0.1453508892E+00 +12 0.1037594020E+03 0.2522807218E+00 +13 0.5138820100E+02 0.3230635071E+00 +14 0.2578601800E+02 0.2373541414E+00 +15 0.1305558000E+02 0.6861293906E-01 +16 0.6643532000E+01 0.5539203916E-02 +17 0.3383387000E+01 0.1244704409E-02 +18 0.1715682000E+01 0.3138796095E-03 +S 13 +1 0.2217459879E+04 -0.3626625262E-04 +2 0.9770368530E+03 -0.1887707194E-03 +3 0.4492263140E+03 -0.1074045729E-02 +4 0.2133040890E+03 -0.4771432140E-02 +5 0.1037594020E+03 -0.1796425478E-01 +6 0.5138820100E+02 -0.5161325888E-01 +7 0.2578601800E+02 -0.8162373255E-01 +8 0.1305558000E+02 0.1301331607E-01 +9 0.6643532000E+01 0.2826786707E+00 +10 0.3383387000E+01 0.4949829425E+00 +11 0.1715682000E+01 0.2875037556E+00 +12 0.8606490000E+00 0.3472435640E-01 +13 0.4234920000E+00 0.2031062562E-02 +S 9 +1 0.2578601800E+02 0.1296660338E-02 +2 0.1305558000E+02 -0.3585408848E-03 +3 0.6643532000E+01 -0.1132085794E-01 +4 0.3383387000E+01 -0.8786157394E-01 +5 0.1715682000E+01 -0.1652649768E+00 +6 0.8606490000E+00 0.1001838673E+00 +7 0.4234920000E+00 0.4740058046E+00 +8 0.2021800000E+00 0.4820340292E+00 +9 0.9234900000E-01 0.1294197731E+00 +S 1 +1 0.6764759000E+01 0.1000000000E+01 +S 1 +1 0.3549789000E+01 0.1000000000E+01 +S 1 +1 0.1862742000E+01 0.1000000000E+01 +S 1 +1 0.9774690000E+00 0.1000000000E+01 +S 1 +1 0.5129240000E+00 0.1000000000E+01 +S 1 +1 0.2691550000E+00 0.1000000000E+01 +S 1 +1 0.5209273464E-01 0.1000000000E+01 +P 16 +1 0.2355501405E+05 0.3491499371E-05 +2 0.6112157434E+04 0.2882193302E-04 +3 0.1939226631E+04 0.1846972633E-03 +4 0.7194182790E+03 0.8930016376E-03 +5 0.3006761370E+03 0.3486652259E-02 +6 0.1373202800E+03 0.1131430615E-01 +7 0.6686646300E+02 0.3139812687E-01 +8 0.3404583300E+02 0.7531996914E-01 +9 0.1785369000E+02 0.1511325421E+00 +10 0.9531638000E+01 0.2415878777E+00 +11 0.5135095000E+01 0.3016953931E+00 +12 0.2772642000E+01 0.2588108700E+00 +13 0.1491906000E+01 0.1149837078E+00 +14 0.7957990000E+00 0.1936090469E-01 +15 0.4184290000E+00 0.1481169192E-02 +16 0.2153920000E+00 0.2019912322E-03 +P 10 +1 0.1785369000E+02 -0.2148564966E-02 +2 0.9531638000E+01 -0.2644641094E-02 +3 0.5135095000E+01 -0.9024141377E-02 +4 0.2772642000E+01 -0.9918050860E-02 +5 0.1491906000E+01 0.3741882006E-01 +6 0.7957990000E+00 0.1827905496E+00 +7 0.4184290000E+00 0.3206931395E+00 +8 0.2153920000E+00 0.3505389050E+00 +9 0.1075990000E+00 0.2170707044E+00 +10 0.5156400000E-01 0.4438975377E-01 +P 1 +1 0.4257800000E+01 0.1000000000E+01 +P 1 +1 0.2263336000E+01 0.1000000000E+01 +P 1 +1 0.1203131000E+01 0.1000000000E+01 +P 1 +1 0.6395530000E+00 0.1000000000E+01 +P 1 +1 0.3399700000E+00 0.1000000000E+01 +P 1 +1 0.1807190000E+00 0.1000000000E+01 +P 1 +1 0.3637439372E-01 0.1000000000E+01 +D 1 +1 0.1512751880E+02 0.1000000000E+01 +D 1 +1 0.5759579000E+01 0.1000000000E+01 +D 1 +1 0.2812600000E+01 0.1000000000E+01 +D 1 +1 0.1373489000E+01 0.1000000000E+01 +D 1 +1 0.6707220000E+00 0.1000000000E+01 +D 1 +1 0.3275370000E+00 0.1000000000E+01 +D 1 +1 0.1599470000E+00 0.1000000000E+01 +D 1 +1 0.7810730000E-01 0.1000000000E+01 +F 1 +1 0.2843310000E+01 0.1000000000E+01 +F 1 +1 0.1515110000E+01 0.1000000000E+01 +F 1 +1 0.8073550000E+00 0.1000000000E+01 +F 1 +1 0.4302140000E+00 0.1000000000E+01 +F 1 +1 0.2292470000E+00 0.1000000000E+01 +F 1 +1 0.1221580000E+00 0.1000000000E+01 +G 1 +1 0.1471249000E+01 0.1000000000E+01 +G 1 +1 0.8889250000E+00 0.1000000000E+01 +G 1 +1 0.5370860000E+00 0.1000000000E+01 +G 1 +1 0.3245060000E+00 0.1000000000E+01 +G 1 +1 0.1960650000E+00 0.1000000000E+01 +H 1 +1 0.1583202000E+01 0.1000000000E+01 +H 1 +1 0.8883440000E+00 0.1000000000E+01 +H 1 +1 0.4984550000E+00 0.1000000000E+01 +H 1 +1 0.2796860000E+00 0.1000000000E+01 +I 1 +1 0.1485210000E+01 0.1000000000E+01 +I 1 +1 0.7203420000E+00 0.1000000000E+01 +I 1 +1 0.3493730000E+00 0.1000000000E+01 +J 1 +1 0.1176035883E+01 0.1000000000E+01 + +CHLORINE +S 18 +1 0.1309664890E+08 0.6709383931E-06 +2 0.2354480470E+07 0.4413363027E-05 +3 0.5316863956E+06 0.2511516560E-04 +4 0.1444171627E+06 0.1124587160E-03 +5 0.4547971350E+05 0.4253512376E-03 +6 0.1610206896E+05 0.1405059280E-02 +7 0.6248526359E+04 0.4183214157E-02 +8 0.2603459819E+04 0.1144286852E-01 +9 0.1145687894E+04 0.2902874970E-01 +10 0.5257135380E+03 0.6776823672E-01 +11 0.2490726090E+03 0.1414887775E+00 +12 0.1209387980E+03 0.2481557560E+00 +13 0.5984396800E+02 0.3227236998E+00 +14 0.3004461100E+02 0.2437036796E+00 +15 0.1524564800E+02 0.7403184184E-01 +16 0.7789438000E+01 0.6262394843E-02 +17 0.3989717000E+01 0.1349071004E-02 +18 0.2037216000E+01 0.3417216349E-03 +S 13 +1 0.2603459819E+04 -0.3395093462E-04 +2 0.1145687894E+04 -0.1789850092E-03 +3 0.5257135380E+03 -0.1022872671E-02 +4 0.2490726090E+03 -0.4604607705E-02 +5 0.1209387980E+03 -0.1750032003E-01 +6 0.5984396800E+02 -0.5096994913E-01 +7 0.3004461100E+02 -0.8290239694E-01 +8 0.1524564800E+02 0.6057264062E-02 +9 0.7789438000E+01 0.2771583897E+00 +10 0.3989717000E+01 0.4982842660E+00 +11 0.2037216000E+01 0.2918194237E+00 +12 0.1029444000E+01 0.3714264569E-01 +13 0.5098250000E+00 0.2295584873E-02 +S 10 +1 0.5984396800E+02 0.2789153118E-03 +2 0.3004461100E+02 0.1374501127E-02 +3 0.1524564800E+02 0.1698392926E-03 +4 0.7789438000E+01 -0.1306268989E-01 +5 0.3989717000E+01 -0.9668339910E-01 +6 0.2037216000E+01 -0.1687235725E+00 +7 0.1029444000E+01 0.1164284904E+00 +8 0.5098250000E+00 0.4831810127E+00 +9 0.2443350000E+00 0.4725431994E+00 +10 0.1114920000E+00 0.1224966561E+00 +S 1 +1 0.8195467000E+01 0.1000000000E+01 +S 1 +1 0.4377615000E+01 0.1000000000E+01 +S 1 +1 0.2338307000E+01 0.1000000000E+01 +S 1 +1 0.1249008000E+01 0.1000000000E+01 +S 1 +1 0.6671590000E+00 0.1000000000E+01 +S 1 +1 0.3563630000E+00 0.1000000000E+01 +S 1 +1 0.6870782948E-01 0.1000000000E+01 +P 16 +1 0.2682792626E+05 0.3509809160E-05 +2 0.7069939112E+04 0.2821081396E-04 +3 0.2258045317E+04 0.1798760404E-03 +4 0.8386179600E+03 0.8721451991E-03 +5 0.3498425050E+03 0.3432514902E-02 +6 0.1593112000E+03 0.1124641667E-01 +7 0.7737302300E+02 0.3147376622E-01 +8 0.3933798300E+02 0.7590380359E-01 +9 0.2063093700E+02 0.1527106270E+00 +10 0.1103316800E+02 0.2444829839E+00 +11 0.5962398000E+01 0.3044969569E+00 +12 0.3232292000E+01 0.2555637705E+00 +13 0.1746839000E+01 0.1087711303E+00 +14 0.9355700000E+00 0.1748635807E-01 +15 0.4934490000E+00 0.1307184697E-02 +16 0.2544110000E+00 0.1883271334E-03 +P 11 +1 0.3933798300E+02 -0.6579553193E-03 +2 0.2063093700E+02 -0.1779070974E-02 +3 0.1103316800E+02 -0.5113507882E-02 +4 0.5962398000E+01 -0.9657145048E-02 +5 0.3232292000E+01 -0.1137216930E-01 +6 0.1746839000E+01 0.5231884176E-01 +7 0.9355700000E+00 0.2021242491E+00 +8 0.4934490000E+00 0.3271831674E+00 +9 0.2544110000E+00 0.3358512554E+00 +10 0.1270450000E+00 0.2009072636E+00 +11 0.6073100000E-01 0.4005487164E-01 +P 1 +1 0.5395611000E+01 0.1000000000E+01 +P 1 +1 0.2932136000E+01 0.1000000000E+01 +P 1 +1 0.1593410000E+01 0.1000000000E+01 +P 1 +1 0.8659070000E+00 0.1000000000E+01 +P 1 +1 0.4705600000E+00 0.1000000000E+01 +P 1 +1 0.2557160000E+00 0.1000000000E+01 +P 1 +1 0.4633347570E-01 0.1000000000E+01 +D 1 +1 0.2395837259E+02 0.1000000000E+01 +D 1 +1 0.7682464000E+01 0.1000000000E+01 +D 1 +1 0.3694579000E+01 0.1000000000E+01 +D 1 +1 0.1776763000E+01 0.1000000000E+01 +D 1 +1 0.8544640000E+00 0.1000000000E+01 +D 1 +1 0.4109210000E+00 0.1000000000E+01 +D 1 +1 0.1976160000E+00 0.1000000000E+01 +D 1 +1 0.9503550000E-01 0.1000000000E+01 +F 1 +1 0.3621741000E+01 0.1000000000E+01 +F 1 +1 0.1919120000E+01 0.1000000000E+01 +F 1 +1 0.1016921000E+01 0.1000000000E+01 +F 1 +1 0.5388550000E+00 0.1000000000E+01 +F 1 +1 0.2855330000E+00 0.1000000000E+01 +F 1 +1 0.1513000000E+00 0.1000000000E+01 +G 1 +1 0.1841547000E+01 0.1000000000E+01 +G 1 +1 0.1105244000E+01 0.1000000000E+01 +G 1 +1 0.6633360000E+00 0.1000000000E+01 +G 1 +1 0.3981150000E+00 0.1000000000E+01 +G 1 +1 0.2389370000E+00 0.1000000000E+01 +H 1 +1 0.1942025000E+01 0.1000000000E+01 +H 1 +1 0.1083461000E+01 0.1000000000E+01 +H 1 +1 0.6044650000E+00 0.1000000000E+01 +H 1 +1 0.3372320000E+00 0.1000000000E+01 +I 1 +1 0.1796289000E+01 0.1000000000E+01 +I 1 +1 0.8719090000E+00 0.1000000000E+01 +I 1 +1 0.4232190000E+00 0.1000000000E+01 +J 1 +1 0.1430231735E+01 0.1000000000E+01 + +ARGON +S 22 +1 0.1597839320E+08 0.6055260158E-06 +2 0.2857524040E+07 0.4016720638E-05 +3 0.6419375270E+06 0.2300671039E-04 +4 0.1735140200E+06 0.1036758770E-03 +5 0.5440672210E+05 0.3942193328E-03 +6 0.1919407330E+05 0.1307646979E-02 +7 0.7428834870E+04 0.3904446948E-02 +8 0.3090411630E+04 0.1069901740E-01 +9 0.1359429330E+04 0.2717612459E-01 +10 0.6242844610E+03 0.6357684558E-01 +11 0.2963548040E+03 0.1334817489E+00 +12 0.1443373750E+03 0.2372710639E+00 +13 0.7170863700E+02 0.3184649689E+00 +14 0.3617194300E+02 0.2572903059E+00 +15 0.1844989800E+02 0.8855379107E-01 +16 0.9475953000E+01 0.8252647677E-02 +17 0.4877007000E+01 0.1145001850E-02 +18 0.2499935000E+01 0.3251857779E-05 +19 0.1266134000E+01 0.3519551089E-04 +20 0.6269930000E+00 -0.6391403638E-04 +21 0.2995020000E+00 0.8088213547E-06 +22 0.1356490000E+00 -0.5135918318E-05 +S 22 +1 0.1597839320E+08 -0.1719198210E-06 +2 0.2857524040E+07 -0.1140458330E-05 +3 0.6419375270E+06 -0.6532310179E-05 +4 0.1735140200E+06 -0.2944208219E-04 +5 0.5440672210E+05 -0.1119941340E-03 +6 0.1919407330E+05 -0.3719392519E-03 +7 0.7428834870E+04 -0.1113600280E-02 +8 0.3090411630E+04 -0.3071409789E-02 +9 0.1359429330E+04 -0.7909878408E-02 +10 0.6242844610E+03 -0.1904655820E-01 +11 0.2963548040E+03 -0.4233577349E-01 +12 0.1443373750E+03 -0.8414306378E-01 +13 0.7170863700E+02 -0.1400076790E+00 +14 0.3617194300E+02 -0.1596875130E+00 +15 0.1844989800E+02 -0.3774387079E-01 +16 0.9475953000E+01 0.2551783599E+00 +17 0.4877007000E+01 0.5170088499E+00 +18 0.2499935000E+01 0.3340980129E+00 +19 0.1266134000E+01 0.4938440989E-01 +20 0.6269930000E+00 0.3973235449E-02 +21 0.2995020000E+00 0.3817483369E-03 +22 0.1356490000E+00 0.2912044489E-03 +S 22 +1 0.1597839320E+08 0.5371996398E-07 +2 0.2857524040E+07 0.3564625439E-06 +3 0.6419375270E+06 0.2040998869E-05 +4 0.1735140200E+06 0.9203333447E-05 +5 0.5440672210E+05 0.3499036789E-04 +6 0.1919407330E+05 0.1162989660E-03 +7 0.7428834870E+04 0.3479974439E-03 +8 0.3090411630E+04 0.9614301967E-03 +9 0.1359429330E+04 0.2476186359E-02 +10 0.6242844610E+03 0.5988455028E-02 +11 0.2963548040E+03 0.1336205670E-01 +12 0.1443373750E+03 0.2691805779E-01 +13 0.7170863700E+02 0.4567366759E-01 +14 0.3617194300E+02 0.5448755278E-01 +15 0.1844989800E+02 0.1284952820E-01 +16 0.9475953000E+01 -0.1004444490E+00 +17 0.4877007000E+01 -0.2785890559E+00 +18 0.2499935000E+01 -0.3022563549E+00 +19 0.1266134000E+01 0.9112003707E-01 +20 0.6269930000E+00 0.5084775968E+00 +21 0.2995020000E+00 0.5100343038E+00 +22 0.1356490000E+00 0.1360193790E+00 +S 1 +1 0.9748130000E+01 0.1000000000E+01 +S 1 +1 0.5363142000E+01 0.1000000000E+01 +S 1 +1 0.2950647000E+01 0.1000000000E+01 +S 1 +1 0.1623361000E+01 0.1000000000E+01 +S 1 +1 0.8931270000E+00 0.1000000000E+01 +S 1 +1 0.4913730000E+00 0.1000000000E+01 +S 1 +1 0.6143749000E-01 0.1000000000E+01 +P 18 +1 0.3080483340E+05 0.3476862806E-05 +2 0.8038333010E+04 0.2843421787E-04 +3 0.2555886050E+04 0.1820388548E-03 +4 0.9483650960E+03 0.8821524070E-03 +5 0.3961217390E+03 0.3461497296E-02 +6 0.1808240690E+03 0.1131012229E-01 +7 0.8807918800E+02 0.3160290176E-01 +8 0.4491788500E+02 0.7617484331E-01 +9 0.2362776900E+02 0.1534254778E+00 +10 0.1267260200E+02 0.2463779257E+00 +11 0.6868302000E+01 0.3068184977E+00 +12 0.3734714000E+01 0.2531033517E+00 +13 0.2024984000E+01 0.1041063879E+00 +14 0.1088395000E+01 0.1619596948E-01 +15 0.5762010000E+00 0.1224232689E-02 +16 0.2981590000E+00 0.1930546168E-03 +17 0.1493410000E+00 0.2164776498E-04 +18 0.7150000000E-01 -0.1024758609E-05 +P 18 +1 0.3080483340E+05 -0.9706058107E-06 +2 0.8038333010E+04 -0.7938649566E-05 +3 0.2555886050E+04 -0.5085168444E-04 +4 0.9483650960E+03 -0.2467137872E-03 +5 0.3961217390E+03 -0.9706750497E-03 +6 0.1808240690E+03 -0.3188003172E-02 +7 0.8807918800E+02 -0.8999949966E-02 +8 0.4491788500E+02 -0.2209389192E-01 +9 0.2362776900E+02 -0.4562842243E-01 +10 0.1267260200E+02 -0.7519795325E-01 +11 0.6868302000E+01 -0.9837122997E-01 +12 0.3734714000E+01 -0.8195287996E-01 +13 0.2024984000E+01 0.3675745473E-01 +14 0.1088395000E+01 0.2213126082E+00 +15 0.5762010000E+00 0.3430399092E+00 +16 0.2981590000E+00 0.3373289492E+00 +17 0.1493410000E+00 0.1945329171E+00 +18 0.7150000000E-01 0.3769814563E-01 +P 1 +1 0.6793816000E+01 0.1000000000E+01 +P 1 +1 0.3783225000E+01 0.1000000000E+01 +P 1 +1 0.2106738000E+01 0.1000000000E+01 +P 1 +1 0.1173165000E+01 0.1000000000E+01 +P 1 +1 0.6532920000E+00 0.1000000000E+01 +P 1 +1 0.3637940000E+00 0.1000000000E+01 +P 1 +1 0.3423206000E-01 0.1000000000E+01 +D 1 +1 0.2685178894E+02 0.1000000000E+01 +D 1 +1 0.1005284800E+02 0.1000000000E+01 +D 1 +1 0.4768102000E+01 0.1000000000E+01 +D 1 +1 0.2261528000E+01 0.1000000000E+01 +D 1 +1 0.1072651000E+01 0.1000000000E+01 +D 1 +1 0.5087620000E+00 0.1000000000E+01 +D 1 +1 0.2413080000E+00 0.1000000000E+01 +D 1 +1 0.1144530000E+00 0.1000000000E+01 +F 1 +1 0.4259888000E+01 0.1000000000E+01 +F 1 +1 0.2299155000E+01 0.1000000000E+01 +F 1 +1 0.1240905000E+01 0.1000000000E+01 +F 1 +1 0.6697440000E+00 0.1000000000E+01 +F 1 +1 0.3614750000E+00 0.1000000000E+01 +F 1 +1 0.1950950000E+00 0.1000000000E+01 +G 1 +1 0.2226672000E+01 0.1000000000E+01 +G 1 +1 0.1335466000E+01 0.1000000000E+01 +G 1 +1 0.8009580000E+00 0.1000000000E+01 +G 1 +1 0.4803820000E+00 0.1000000000E+01 +G 1 +1 0.2881130000E+00 0.1000000000E+01 +H 1 +1 0.2345767000E+01 0.1000000000E+01 +H 1 +1 0.1308931000E+01 0.1000000000E+01 +H 1 +1 0.7303800000E+00 0.1000000000E+01 +H 1 +1 0.4075500000E+00 0.1000000000E+01 +I 1 +1 0.2096119000E+01 0.1000000000E+01 +I 1 +1 0.1059855000E+01 0.1000000000E+01 +I 1 +1 0.5358916000E+00 0.1000000000E+01 +J 1 +1 0.1716615065E+01 0.1000000000E+01 +$END \ No newline at end of file From 335386fa784bd04f1da38bf5c247395635e47891 Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Thu, 11 Jun 2020 13:32:24 -0500 Subject: [PATCH 123/138] fixed integral transformation; added complex fcidump; fixed kpts bitmasks --- src/bitmask/core_inact_act_virt.irp.f | 10 +-- src/mo_two_e_ints/df_mo_ints.irp.f | 6 +- src/tools/fcidump.irp.f | 91 +++++++++++++++++++++++++++ 3 files changed, 100 insertions(+), 7 deletions(-) diff --git a/src/bitmask/core_inact_act_virt.irp.f b/src/bitmask/core_inact_act_virt.irp.f index d2efef89..ae00d774 100644 --- a/src/bitmask/core_inact_act_virt.irp.f +++ b/src/bitmask/core_inact_act_virt.irp.f @@ -448,7 +448,7 @@ BEGIN_PROVIDER [ integer, n_core_orb_kpts, (kpt_num)] do k=1,kpt_num n_core_orb_kpts(k) = 0 - kshift = (1-k)*mo_num_per_kpt + kshift = (k-1)*mo_num_per_kpt do i = 1, mo_num_per_kpt if(mo_class(i+kshift) == 'Core')then n_core_orb_kpts(k) += 1 @@ -469,7 +469,7 @@ BEGIN_PROVIDER [ integer, n_inact_orb_kpts, (kpt_num)] do k=1,kpt_num n_inact_orb_kpts(k) = 0 - kshift = (1-k)*mo_num_per_kpt + kshift = (k-1)*mo_num_per_kpt do i = 1, mo_num_per_kpt if(mo_class(i+kshift) == 'Inactive')then n_inact_orb_kpts(k) += 1 @@ -490,7 +490,7 @@ BEGIN_PROVIDER [ integer, n_act_orb_kpts, (kpt_num)] do k=1,kpt_num n_act_orb_kpts(k) = 0 - kshift = (1-k)*mo_num_per_kpt + kshift = (k-1)*mo_num_per_kpt do i = 1, mo_num_per_kpt if(mo_class(i+kshift) == 'Active')then n_act_orb_kpts(k) += 1 @@ -511,7 +511,7 @@ BEGIN_PROVIDER [ integer, n_virt_orb_kpts, (kpt_num)] do k=1,kpt_num n_virt_orb_kpts(k) = 0 - kshift = (1-k)*mo_num_per_kpt + kshift = (k-1)*mo_num_per_kpt do i = 1, mo_num_per_kpt if(mo_class(i+kshift) == 'Virtual')then n_virt_orb_kpts(k) += 1 @@ -532,7 +532,7 @@ BEGIN_PROVIDER [ integer, n_del_orb_kpts, (kpt_num)] do k=1,kpt_num n_del_orb_kpts(k) = 0 - kshift = (1-k)*mo_num_per_kpt + kshift = (k-1)*mo_num_per_kpt do i = 1, mo_num_per_kpt if(mo_class(i+kshift) == 'Deleted')then n_del_orb_kpts(k) += 1 diff --git a/src/mo_two_e_ints/df_mo_ints.irp.f b/src/mo_two_e_ints/df_mo_ints.irp.f index 3a61911e..eba3b3da 100644 --- a/src/mo_two_e_ints/df_mo_ints.irp.f +++ b/src/mo_two_e_ints/df_mo_ints.irp.f @@ -48,7 +48,8 @@ subroutine mo_map_fill_from_df_dot logical :: use_map1 integer(key_kind) :: idx_tmp double precision :: sign - complex*16, external :: zdotc + !complex*16, external :: zdotc + complex*16, external :: zdotu mo_num_kpt_2 = mo_num_per_kpt * mo_num_per_kpt @@ -145,7 +146,8 @@ subroutine mo_map_fill_from_df_dot if ((j==l) .and. (i>k)) exit call idx2_tri_int(i,k,ik2) if (ik2 > jl2) exit - integral = zdotc(df_num,ints_jl(1,ij,il),1,ints_ik(1,ii,ik),1) + !integral = zdotc(df_num,ints_jl(1,ij,il),1,ints_ik(1,ii,ik),1) + integral = zdotu(df_num,ints_jl(1,ij,il),1,ints_ik(1,ii,ik),1) ! print*,i,k,j,l,real(integral),imag(integral) if (cdabs(integral) < mo_integrals_threshold) then cycle diff --git a/src/tools/fcidump.irp.f b/src/tools/fcidump.irp.f index bf4d07fb..de878dc6 100644 --- a/src/tools/fcidump.irp.f +++ b/src/tools/fcidump.irp.f @@ -18,6 +18,97 @@ program fcidump ! electrons ! END_DOC + if (is_complex) then + call fcidump_complex + else + call fcidump_real + endif +end + +subroutine fcidump_complex + implicit none + character*(128) :: output + integer :: i_unit_output,getUnitAndOpen + output=trim(ezfio_filename)//'.FCIDUMP' + i_unit_output = getUnitAndOpen(output,'w') + + integer :: i,j,k,l + integer :: i1,j1,k1,l1 + integer :: i2,j2,k2,l2,ik2,jl2 + integer :: ki,kj,kk,kl + integer :: ii,ij,ik,il + integer*8 :: m + character*(2), allocatable :: A(:) + + write(i_unit_output,*) '&FCI NORB=', n_act_orb, ', NELEC=', elec_num-n_core_orb*2, & + ', MS2=', (elec_alpha_num-elec_beta_num), ',' + allocate (A(n_act_orb)) + A = '1,' + write(i_unit_output,*) 'ORBSYM=', (A(i), i=1,n_act_orb) + write(i_unit_output,*) 'ISYM=0,' + write(i_unit_output,*) '/' + deallocate(A) + + integer(key_kind), allocatable :: keys(:) + double precision, allocatable :: values(:) + integer(cache_map_size_kind) :: n_elements, n_elements_max + PROVIDE mo_two_e_integrals_in_map + + complex*16 :: get_two_e_integral_complex, integral + + do kl=1,kpt_num + do kj=1,kl + do kk=1,kl + ki=kconserv(kl,kk,kj) + if (ki>kl) cycle + do l1=1,n_act_orb_kpts(kl) + il=list_act_kpts(l1,kl) + l = (kl-1)*mo_num_per_kpt + il + do j1=1,n_act_orb_kpts(kj) + ij=list_act_kpts(j1,kj) + j = (kj-1)*mo_num_per_kpt + ij + if (j>l) exit + call idx2_tri_int(j,l,jl2) + do k1=1,n_act_orb_kpts(kk) + ik=list_act_kpts(k1,kk) + k = (kk-1)*mo_num_per_kpt + ik + if (k>l) exit + do i1=1,n_act_orb_kpts(ki) + ii=list_act_kpts(i1,ki) + i = (ki-1)*mo_num_per_kpt + ii + if ((j==l) .and. (i>k)) exit + call idx2_tri_int(i,k,ik2) + if (ik2 > jl2) exit + integral = get_two_e_integral_complex(i,j,k,l,mo_integrals_map,mo_integrals_map_2) + if (cdabs(integral) > mo_integrals_threshold) then + write(i_unit_output,'(2(E25.15,X),4(I6,X))') dble(integral), dimag(integral),i,k,j,l + endif + enddo + enddo + enddo + enddo + enddo + enddo + enddo + + do kj=1,kpt_num + do j1=1,n_act_orb_kpts(kj) + ij = list_act_kpts(j1,kj) + j = (kj-1)*mo_num_per_kpt + ij + do i1=j1,n_act_orb_kpts(kj) + ii = list_act_kpts(i1,kj) + i = (kj-1)*mo_num_per_kpt + ii + integral = mo_one_e_integrals_kpts(ii,ij,kj) + core_fock_operator_complex(i,j) + if (cdabs(integral) > mo_integrals_threshold) then + write(i_unit_output,'(2(E25.15,X),4(I6,X))') dble(integral),dimag(integral), i,j,0,0 + endif + enddo + enddo + enddo + write(i_unit_output,*) core_energy, 0, 0, 0, 0 +end +subroutine fcidump_real + implicit none character*(128) :: output integer :: i_unit_output,getUnitAndOpen output=trim(ezfio_filename)//'.FCIDUMP' From d3286b7e4996a77a2fd785f84c2468666f6f257b Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Thu, 11 Jun 2020 13:45:24 -0500 Subject: [PATCH 124/138] remove green from base (untested) --- src/green/EZFIO.cfg | 101 ---- src/green/NEED | 1 - src/green/README.rst | 6 - src/green/green.main.irp.f | 51 -- src/green/hu0_hp.irp.f | 847 -------------------------- src/green/hu0_lanczos.irp.f | 405 ------------- src/green/lanczos.irp.f | 883 ---------------------------- src/green/plot-spec-dens.py | 90 --- src/green/print_dets_test.irp.f | 15 - src/green/print_e_mo_debug.irp.f | 15 - src/green/print_h_debug.irp.f | 178 ------ src/green/print_h_omp_debug.irp.f | 41 -- src/green/print_spectral_dens.irp.f | 43 -- src/green/utils_hp.irp.f | 614 ------------------- 14 files changed, 3290 deletions(-) delete mode 100644 src/green/EZFIO.cfg delete mode 100644 src/green/NEED delete mode 100644 src/green/README.rst delete mode 100644 src/green/green.main.irp.f delete mode 100644 src/green/hu0_hp.irp.f delete mode 100644 src/green/hu0_lanczos.irp.f delete mode 100644 src/green/lanczos.irp.f delete mode 100755 src/green/plot-spec-dens.py delete mode 100644 src/green/print_dets_test.irp.f delete mode 100644 src/green/print_e_mo_debug.irp.f delete mode 100644 src/green/print_h_debug.irp.f delete mode 100644 src/green/print_h_omp_debug.irp.f delete mode 100644 src/green/print_spectral_dens.irp.f delete mode 100644 src/green/utils_hp.irp.f diff --git a/src/green/EZFIO.cfg b/src/green/EZFIO.cfg deleted file mode 100644 index 0ad57888..00000000 --- a/src/green/EZFIO.cfg +++ /dev/null @@ -1,101 +0,0 @@ -[n_lanczos_complete] -type: integer -doc: number of lanczos iterations completed -interface: ezfio,provider,ocaml -default: 0 - -[n_lanczos_iter] -type: integer -doc: number of lanczos iterations -interface: ezfio,provider,ocaml -default: 10 - -[omega_min] -type: double precision -doc: lower limit of frequency for spectral density calculation -interface: ezfio,provider,ocaml -default: -2.e-1 - -[omega_max] -type: double precision -doc: upper limit of frequency for spectral density calculation -interface: ezfio,provider,ocaml -default: 1.2e1 - -[n_omega] -type: integer -doc: number of points for spectral density calculation -interface: ezfio,provider,ocaml -default: 1000 - -[gf_epsilon] -type: double precision -doc: infinitesimal imaginary frequency term in Green's function -interface: ezfio,provider,ocaml -default: 1.e-2 - -[n_green_vec] -type: integer -doc: number of holes/particles -interface: ezfio -default: 2 - -[green_idx] -interface: ezfio -doc: homo/lumo indices -type: integer -size: (green.n_green_vec) - -[green_spin] -interface: ezfio -doc: homo/lumo spin -type: integer -size: (green.n_green_vec) - -[green_sign] -interface: ezfio -doc: homo/lumo sign -type: double precision -size: (green.n_green_vec) - -[alpha_lanczos] -interface: ezfio -doc: lanczos alpha values -type: double precision -size: (green.n_lanczos_iter,green.n_green_vec) - -[beta_lanczos] -interface: ezfio -doc: lanczos beta values -type: double precision -size: (green.n_lanczos_iter,green.n_green_vec) - -[un_lanczos] -interface: ezfio -doc: saved lanczos u vector -type: double precision -size: (2,determinants.n_det,green.n_green_vec) - -[vn_lanczos] -interface: ezfio -doc: saved lanczos v vector -type: double precision -size: (2,determinants.n_det,green.n_green_vec) - -[lanczos_eigvals] -interface: ezfio -doc: eigvals of tridiagonal form of H -type: double precision -size: (green.n_lanczos_iter,green.n_green_vec) - -[lanczos_debug_print] -interface: ezfio,provider,ocaml -type: logical -doc: printing of lanczos vectors at every step -default: False - -[n_lanczos_debug] -interface: ezfio,provider,ocaml -type: integer -doc: number of elements to print -default: 10 diff --git a/src/green/NEED b/src/green/NEED deleted file mode 100644 index 4315d882..00000000 --- a/src/green/NEED +++ /dev/null @@ -1 +0,0 @@ -davidson fci diff --git a/src/green/README.rst b/src/green/README.rst deleted file mode 100644 index 6bdb2ca7..00000000 --- a/src/green/README.rst +++ /dev/null @@ -1,6 +0,0 @@ -===== -dummy -===== - -Module necessary to avoid the ``xxx is a root module but does not contain a main file`` message. - diff --git a/src/green/green.main.irp.f b/src/green/green.main.irp.f deleted file mode 100644 index 3fe26424..00000000 --- a/src/green/green.main.irp.f +++ /dev/null @@ -1,51 +0,0 @@ -program green - implicit none - BEGIN_DOC -! TODO - END_DOC - read_wf = .True. - touch read_wf - provide n_green_vec - print*,'ref_bitmask_energy = ',ref_bitmask_energy -! call psicoefprinttest - call print_lanczos_eigvals - call print_spec -end - -subroutine psicoefprinttest - implicit none - integer :: i - TOUCH psi_coef_complex - print *, 'printing ndet', N_det -end -subroutine print_lanczos_eigvals - implicit none - integer :: i, iunit, j - integer :: getunitandopen - character(5) :: jstr - - do j=1,n_green_vec - write(jstr,'(I0.3)') j - iunit = getunitandopen('lanczos_eigval_alpha_beta.out.'//trim(jstr),'w') - print *, 'printing lanczos eigenvalues, alpha, beta to "lanczos_eigval_alpha_beta.out.'//trim(jstr)//'"' - do i=1,n_lanczos_iter - write(iunit,'(I6,3(E25.15))') i, lanczos_eigvals(i,j), alpha_lanczos(i,j), beta_lanczos(i,j) - enddo - close(iunit) - enddo -end -subroutine print_spec - implicit none - integer :: i, iunit, j - integer :: getunitandopen - character(5) :: jstr - do j=1,n_green_vec - write(jstr,'(I0.3)') j - iunit = getunitandopen('omega_A.out.'//trim(jstr),'w') - print *, 'printing frequency, spectral density to "omega_A.out.'//trim(jstr)//'"' - do i=1,n_omega - write(iunit,'(2(E25.15))') omega_list(i), spectral_lanczos(i,j) - enddo - close(iunit) - enddo -end diff --git a/src/green/hu0_hp.irp.f b/src/green/hu0_hp.irp.f deleted file mode 100644 index 4fa7275f..00000000 --- a/src/green/hu0_hp.irp.f +++ /dev/null @@ -1,847 +0,0 @@ -! modified from H_S2_u_0_nstates_openmp in Davidson/u0Hu0.irp.f - -subroutine h_u_0_hp_openmp(v_0,u_0,N_hp,sze,spin_hp,sign_hp,idx_hp) - use bitmasks - implicit none - BEGIN_DOC - ! Computes v_0 = H|u_0> - ! - ! Assumes that the determinants are in psi_det - ! - ! istart, iend, ishift, istep are used in ZMQ parallelization. - ! - ! N_hp is number of holes and particles to be applied - ! each element of spin_hp is either 1(alpha) or 2(beta) - ! each element of sign_hp is either 1(particle) or -1(hole) - ! idx_hp contains orbital indices for holes and particles - END_DOC - integer, intent(in) :: N_hp,sze - complex*16, intent(inout) :: v_0(sze,N_hp), u_0(sze,N_hp) - integer :: k - complex*16, allocatable :: u_t(:,:), v_t(:,:) - integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) - double precision, intent(in) :: sign_hp(N_hp) - !DIR$ ATTRIBUTES ALIGN : $IRP_ALIGN :: u_t - allocate(u_t(N_hp,N_det),v_t(N_hp,N_det)) - do k=1,N_hp - call cdset_order(u_0(1,k),psi_bilinear_matrix_order,N_det) - enddo - v_t = (0.d0,0.d0) - call cdtranspose( & - u_0, & - size(u_0, 1), & - u_t, & - size(u_t, 1), & - N_det, N_hp) - - call h_u_0_hp_openmp_work(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,1,N_det,0,1) - deallocate(u_t) - - call cdtranspose( & - v_t, & - size(v_t, 1), & - v_0, & - size(v_0, 1), & - N_hp, N_det) - deallocate(v_t) - - do k=1,N_hp - call cdset_order(v_0(1,k),psi_bilinear_matrix_order_reverse,N_det) - call cdset_order(u_0(1,k),psi_bilinear_matrix_order_reverse,N_det) - enddo - -end - - -subroutine h_u_0_hp_openmp_work(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,istart,iend,ishift,istep) - use bitmasks - implicit none - BEGIN_DOC - ! Computes v_t = H|u_t> - ! - ! Default should be 1,N_det,0,1 - END_DOC - integer, intent(in) :: N_hp,sze,istart,iend,ishift,istep - complex*16, intent(in) :: u_t(N_hp,N_det) - complex*16, intent(out) :: v_t(N_hp,sze) - integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) - double precision, intent(in) :: sign_hp(N_hp) - - - PROVIDE ref_bitmask_energy N_int - - select case (N_int) - case (1) - call H_u_0_hp_openmp_work_1(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,istart,iend,ishift,istep) - case (2) - call H_u_0_hp_openmp_work_2(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,istart,iend,ishift,istep) - case (3) - call H_u_0_hp_openmp_work_3(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,istart,iend,ishift,istep) - case (4) - call H_u_0_hp_openmp_work_4(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,istart,iend,ishift,istep) - case default - call H_u_0_hp_openmp_work_N_int(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,istart,iend,ishift,istep) - end select -end -BEGIN_TEMPLATE - -subroutine h_u_0_hp_openmp_work_$N_int(v_t,u_t,N_hp,sze,spin_hp,sign_hp,idx_hp,istart,iend,ishift,istep) - use bitmasks - implicit none - BEGIN_DOC - ! Computes v_t = H|u_t> and s_t = S^2 |u_t> - ! - ! Default should be 1,N_det,0,1 - END_DOC - integer, intent(in) :: N_hp,sze,istart,iend,ishift,istep - complex*16, intent(in) :: u_t(N_hp,N_det) - complex*16, intent(out) :: v_t(N_hp,sze) - integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) - double precision, intent(in) :: sign_hp(N_hp) - - complex*16 :: hij - double precision :: hii - integer :: i,j,k,l - integer :: k_a, k_b, l_a, l_b, m_a, m_b - integer :: istate - integer :: krow, kcol, krow_b, kcol_b - integer :: lrow, lcol - integer :: mrow, mcol - integer(bit_kind) :: spindet($N_int) - integer(bit_kind) :: tmp_det($N_int,2) - integer(bit_kind) :: tmp_det2($N_int,2) - integer(bit_kind) :: tmp_det3($N_int,2) - integer(bit_kind), allocatable :: buffer(:,:) - integer :: n_doubles - integer, allocatable :: doubles(:) - integer, allocatable :: singles_a(:) - integer, allocatable :: singles_b(:) - integer, allocatable :: idx(:), idx0(:) - integer :: maxab, n_singles_a, n_singles_b, kcol_prev - integer*8 :: k8 - - logical, allocatable :: exc_is_banned_a1(:),exc_is_banned_b1(:),exc_is_banned_a2(:),exc_is_banned_b2(:) - logical, allocatable :: exc_is_banned_ab1(:),exc_is_banned_ab12(:),allowed_hp(:) - logical :: all_banned_a1,all_banned_b1,all_banned_a2,all_banned_b2 - logical :: all_banned_ab12,all_banned_ab1 - integer :: ii,na,nb - double precision, allocatable :: hii_hp(:) - complex*16, allocatable :: hij_hp(:) - - maxab = max(N_det_alpha_unique, N_det_beta_unique)+1 - allocate(idx0(maxab)) - - do i=1,maxab - idx0(i) = i - enddo - - ! Prepare the array of all alpha single excitations - ! ------------------------------------------------- - - PROVIDE N_int nthreads_davidson elec_num - !$OMP PARALLEL DEFAULT(NONE) NUM_THREADS(nthreads_davidson) & - !$OMP SHARED(psi_bilinear_matrix_rows, N_det, & - !$OMP psi_bilinear_matrix_columns, & - !$OMP psi_det_alpha_unique, psi_det_beta_unique, & - !$OMP n_det_alpha_unique, n_det_beta_unique, N_int, & - !$OMP psi_bilinear_matrix_transp_rows, & - !$OMP psi_bilinear_matrix_transp_columns, & - !$OMP psi_bilinear_matrix_transp_order, N_hp, & - !$OMP psi_bilinear_matrix_order_transp_reverse, & - !$OMP psi_bilinear_matrix_columns_loc, & - !$OMP psi_bilinear_matrix_transp_rows_loc, & - !$OMP istart, iend, istep, irp_here, v_t, & - !$OMP spin_hp,sign_hp,idx_hp, & - !$OMP elec_num_tab,nuclear_repulsion, & - !$OMP ishift, idx0, u_t, maxab) & - !$OMP PRIVATE(krow, kcol, tmp_det, spindet, k_a, k_b, i, & - !$OMP lcol, lrow, l_a, l_b, & - !$OMP buffer, doubles, n_doubles, & - !$OMP tmp_det2, hii, hij, idx, l, kcol_prev, & - !$OMP singles_a, n_singles_a, singles_b, & - !$OMP exc_is_banned_a1,exc_is_banned_b1,exc_is_banned_ab1, & - !$OMP exc_is_banned_a2,exc_is_banned_b2,exc_is_banned_ab12, & - !$OMP all_banned_a1,all_banned_b1,all_banned_ab1, & - !$OMP all_banned_a2,all_banned_b2,all_banned_ab12, & - !$OMP allowed_hp, & - !$OMP ii, hij_hp, j, hii_hp,na,nb, & - !$OMP n_singles_b, k8) - - ! Alpha/Beta double excitations - ! ============================= - - allocate( buffer($N_int,maxab), & - singles_a(maxab), & - singles_b(maxab), & - doubles(maxab), & - idx(maxab), & - exc_is_banned_a1(N_hp), & - exc_is_banned_b1(N_hp), & - exc_is_banned_a2(N_hp), & - exc_is_banned_b2(N_hp), & - exc_is_banned_ab1(N_hp), & - exc_is_banned_ab12(N_hp), & - allowed_hp(N_hp), & - hij_hp(N_hp), & - hii_hp(N_hp)) - - kcol_prev=-1 - all_banned_b1=.False. - ASSERT (iend <= N_det) - ASSERT (istart > 0) - ASSERT (istep > 0) - - !$OMP DO SCHEDULE(dynamic,64) - do k_a=istart+ishift,iend,istep - ! iterate over dets in psi - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - if (kcol /= kcol_prev) then !if we've moved to a new unique beta determinant - call get_list_hp_banned_spin(tmp_det,N_hp,exc_is_banned_b1,spin_hp,sign_hp,idx_hp,2,$N_int,all_banned_b1) - if (all_banned_b1) then - kcol_prev = kcol - cycle - else ! get all unique beta dets connected to this one by a single excitation - call get_all_spin_singles_$N_int( & - psi_det_beta_unique, idx0, & - tmp_det(1,2), N_det_beta_unique, & - singles_b, n_singles_b) - kcol_prev = kcol - endif - else - if (all_banned_b1) cycle - endif - - ! at least some beta allowed - ! check alpha - call get_list_hp_banned_spin(tmp_det,N_hp,exc_is_banned_a1,spin_hp,sign_hp,idx_hp,1,$N_int,all_banned_a1) - if (all_banned_a1) cycle - - all_banned_ab1=.True. - do ii=1,N_hp - exc_is_banned_ab1(ii)=(exc_is_banned_a1(ii).or.exc_is_banned_b1(ii)) - all_banned_ab1 = (all_banned_ab1.and.exc_is_banned_ab1(ii)) - enddo - if (all_banned_ab1) cycle -! kcol_prev = kcol ! keep track of old col to see when we've moved to a new one - - ! Loop over singly excited beta columns - ! ------------------------------------- - - do i=1,n_singles_b ! loop over other columns in this row - lcol = singles_b(i) - - tmp_det2(1:$N_int,2) = psi_det_beta_unique(1:$N_int, lcol) - - call get_list_hp_banned_spin(tmp_det2,N_hp,exc_is_banned_b2,spin_hp,sign_hp,idx_hp,2,$N_int,all_banned_b2) - if (all_banned_b2) cycle - - l_a = psi_bilinear_matrix_columns_loc(lcol) ! location of start of this column within psi_bilinear_mat - ASSERT (l_a <= N_det) - - do j=1,psi_bilinear_matrix_columns_loc(lcol+1) - l_a ! loop over rows in this column - lrow = psi_bilinear_matrix_rows(l_a) ! get row (index of unique alpha det) - ASSERT (lrow <= N_det_alpha_unique) - - buffer(1:$N_int,j) = psi_det_alpha_unique(1:$N_int, lrow) ! get alpha det - - ASSERT (l_a <= N_det) - idx(j) = l_a ! indices of dets within psi_bilinear_mat - l_a = l_a+1 - enddo - j = j-1 - ! get all alpha dets in this column that are connected to ref alpha by a single exc. - call get_all_spin_singles_$N_int( & - buffer, idx, tmp_det(1,1), j, & - singles_a, n_singles_a ) - - ! Loop over alpha singles - ! ----------------------- - - do k = 1,n_singles_a - l_a = singles_a(k) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - call get_list_hp_banned_spin(tmp_det2,N_hp,exc_is_banned_a2,spin_hp,sign_hp,idx_hp,1,$N_int,all_banned_a2) - if (all_banned_a2) cycle - all_banned_ab12 = .True. - do ii=1,N_hp - exc_is_banned_ab12(ii)=((exc_is_banned_ab1(ii).or.exc_is_banned_b2(ii)).or.exc_is_banned_a2(ii)) - allowed_hp(ii)=(.not.exc_is_banned_ab12(ii)) - all_banned_ab12 = (all_banned_ab12.and.exc_is_banned_ab12(ii)) - enddo - if (all_banned_ab12) cycle - call i_h_j_double_alpha_beta_hp(tmp_det,tmp_det2,$N_int,hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) - do l=1,N_hp - v_t(l,k_a) = v_t(l,k_a) + hij_hp(l) * u_t(l,l_a) - enddo - enddo - enddo - enddo - !$OMP END DO - - !$OMP DO SCHEDULE(dynamic,64) - do k_a=istart+ishift,iend,istep - - - ! Single and double alpha excitations - ! =================================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - call get_list_hp_banned_ab(tmp_det,N_hp,exc_is_banned_ab1,spin_hp,sign_hp,idx_hp,$N_int,all_banned_ab1) - if (all_banned_ab1) cycle - - - ! Initial determinant is at k_b in beta-major representation - ! ---------------------------------------------------------------------- - - k_b = psi_bilinear_matrix_order_transp_reverse(k_a) - ASSERT (k_b <= N_det) - - spindet(1:$N_int) = tmp_det(1:$N_int,1) - - ! Loop inside the beta column to gather all the connected alphas - lcol = psi_bilinear_matrix_columns(k_a) - l_a = psi_bilinear_matrix_columns_loc(lcol) - do i=1,N_det_alpha_unique - if (l_a > N_det) exit - lcol = psi_bilinear_matrix_columns(l_a) - if (lcol /= kcol) exit - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - buffer(1:$N_int,i) = psi_det_alpha_unique(1:$N_int, lrow) - idx(i) = l_a - l_a = l_a+1 - enddo - i = i-1 - - !call get_all_spin_singles_and_doubles_$N_int( & - ! buffer, idx, spindet, i, & - ! singles_a, doubles, n_singles_a, n_doubles ) - call get_all_spin_singles_and_doubles( & - buffer, idx, spindet, $N_int, i, & - singles_a, doubles, n_singles_a, n_doubles ) - - ! Compute Hij for all alpha singles - ! ---------------------------------- - - tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - do i=1,n_singles_a - l_a = singles_a(i) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - call get_list_hp_banned_spin(tmp_det2,N_hp,exc_is_banned_a2,spin_hp,sign_hp,idx_hp,1,$N_int,all_banned_a2) - if (all_banned_a2) cycle - all_banned_ab12 = .True. - do ii=1,N_hp - exc_is_banned_ab12(ii)=(exc_is_banned_ab1(ii).or.exc_is_banned_a2(ii)) - allowed_hp(ii)=(.not.exc_is_banned_ab12(ii)) - all_banned_ab12 = (all_banned_ab12.and.exc_is_banned_ab12(ii)) - enddo - if (all_banned_ab12) cycle - call i_h_j_mono_spin_hp(tmp_det,tmp_det2,$N_int,1, hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) - - do l=1,N_hp - v_t(l,k_a) = v_t(l,k_a) + hij_hp(l) * u_t(l,l_a) - ! single => sij = 0 - enddo - enddo - - ! Compute Hij for all alpha doubles - ! ---------------------------------- - - do i=1,n_doubles - l_a = doubles(i) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - call get_list_hp_banned_single_spin(psi_det_alpha_unique(1,lrow),N_hp,exc_is_banned_a2,spin_hp,sign_hp,idx_hp,1,$N_int,all_banned_a2) - if (all_banned_a2) cycle - all_banned_ab12 = .True. - do ii=1,N_hp - exc_is_banned_ab12(ii)=(exc_is_banned_ab1(ii).or.exc_is_banned_a2(ii)) - allowed_hp(ii)=(.not.exc_is_banned_ab12(ii)) - all_banned_ab12 = (all_banned_ab12.and.exc_is_banned_ab12(ii)) - enddo - if (all_banned_ab12) cycle - call i_h_j_double_spin_hp( tmp_det(1,1), psi_det_alpha_unique(1, lrow), $N_int,1,hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) - do l=1,N_hp - v_t(l,k_a) = v_t(l,k_a) + hij_hp(l) * u_t(l,l_a) - ! same spin => sij = 0 - enddo - enddo - - - ! Single and double beta excitations - ! ================================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - kcol = psi_bilinear_matrix_columns(k_a) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - !! should already be done from top of loop? - !call get_list_hp_banned_ab(tmp_det,N_hp,exc_is_banned_ab1,spin_hp,sign_hp,idx_hp,$N_int,all_banned_ab1) - !if (all_banned_ab1) cycle - - spindet(1:$N_int) = tmp_det(1:$N_int,2) - - ! Initial determinant is at k_b in beta-major representation - ! ----------------------------------------------------------------------- - - k_b = psi_bilinear_matrix_order_transp_reverse(k_a) - ASSERT (k_b <= N_det) - - ! Loop inside the alpha row to gather all the connected betas - lrow = psi_bilinear_matrix_transp_rows(k_b) - l_b = psi_bilinear_matrix_transp_rows_loc(lrow) - do i=1,N_det_beta_unique - if (l_b > N_det) exit - lrow = psi_bilinear_matrix_transp_rows(l_b) - if (lrow /= krow) exit - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - buffer(1:$N_int,i) = psi_det_beta_unique(1:$N_int, lcol) - idx(i) = l_b - l_b = l_b+1 - enddo - i = i-1 - - !call get_all_spin_singles_and_doubles_$N_int( & - ! buffer, idx, spindet, i, & - ! singles_b, doubles, n_singles_b, n_doubles ) - call get_all_spin_singles_and_doubles( & - buffer, idx, spindet, $N_int, i, & - singles_b, doubles, n_singles_b, n_doubles ) - - ! Compute Hij for all beta singles - ! ---------------------------------- - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - do i=1,n_singles_b - l_b = singles_b(i) - ASSERT (l_b <= N_det) - - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, lcol) - call get_list_hp_banned_spin(tmp_det2,N_hp,exc_is_banned_b2,spin_hp,sign_hp,idx_hp,2,$N_int,all_banned_b2) - if (all_banned_b2) cycle - all_banned_ab12 = .True. - do ii=1,N_hp - exc_is_banned_ab12(ii)=(exc_is_banned_ab1(ii).or.exc_is_banned_b2(ii)) - allowed_hp(ii)=(.not.exc_is_banned_ab12(ii)) - all_banned_ab12 = (all_banned_ab12.and.exc_is_banned_ab12(ii)) - enddo - if (all_banned_ab12) cycle - call i_h_j_mono_spin_hp(tmp_det,tmp_det2,$N_int,2, hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) - l_a = psi_bilinear_matrix_transp_order(l_b) - ASSERT (l_a <= N_det) - do l=1,N_hp - v_t(l,k_a) = v_t(l,k_a) + hij_hp(l) * u_t(l,l_a) - ! single => sij = 0 - enddo - enddo - - ! Compute Hij for all beta doubles - ! ---------------------------------- - - do i=1,n_doubles - l_b = doubles(i) - ASSERT (l_b <= N_det) - - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - call get_list_hp_banned_single_spin(psi_det_beta_unique(1,lcol),N_hp,exc_is_banned_b2,spin_hp,sign_hp,idx_hp,2,$N_int,all_banned_b2) - if (all_banned_b2) cycle - all_banned_ab12 = .True. - do ii=1,N_hp - exc_is_banned_ab12(ii)=(exc_is_banned_ab1(ii).or.exc_is_banned_b2(ii)) - allowed_hp(ii)=(.not.exc_is_banned_ab12(ii)) - all_banned_ab12 = (all_banned_ab12.and.exc_is_banned_ab12(ii)) - enddo - if (all_banned_ab12) cycle - call i_h_j_double_spin_hp( tmp_det(1,2), psi_det_beta_unique(1, lcol), $N_int,2,hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) - l_a = psi_bilinear_matrix_transp_order(l_b) - ASSERT (l_a <= N_det) - - do l=1,N_hp - v_t(l,k_a) = v_t(l,k_a) + hij_hp(l) * u_t(l,l_a) - ! same spin => sij = 0 - enddo - enddo - - - ! Diagonal contribution - ! ===================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - call get_list_hp_banned_ab(tmp_det,N_hp,exc_is_banned_ab1,spin_hp,sign_hp,idx_hp,$N_int,all_banned_ab1) - if (all_banned_ab1) cycle - - double precision, external :: diag_H_mat_elem, diag_S_mat_elem - hii = diag_h_mat_elem(tmp_det,$N_int) - - do ii=1,N_hp - if(exc_is_banned_ab1(ii)) then - hii_hp(ii)=0.d0 - else - tmp_det2=tmp_det - na=elec_num_tab(spin_hp(ii)) - nb=elec_num_tab(iand(spin_hp(ii),1)+1) - hii_hp(ii)=hii - if (sign_hp(ii)>0) then - call ac_operator(idx_hp(ii),spin_hp(ii),tmp_det2,hii_hp(ii),$N_int,na,nb) - else - call a_operator(idx_hp(ii),spin_hp(ii),tmp_det2,hii_hp(ii),$N_int,na,nb) - endif - endif - v_t(ii,k_a) = v_t(ii,k_a) + (nuclear_repulsion + hii_hp(ii)) * u_t(ii,k_a) - enddo - - - end do - !$OMP END DO - deallocate(buffer, singles_a, singles_b, doubles, idx, & - exc_is_banned_a1, & - exc_is_banned_b1, & - exc_is_banned_a2, & - exc_is_banned_b2, & - exc_is_banned_ab1, & - exc_is_banned_ab12, & - allowed_hp, & - hij_hp, hii_hp ) - !$OMP END PARALLEL - deallocate(idx0) -end - -SUBST [ N_int ] - -1;; -2;; -3;; -4;; -N_int;; - -END_TEMPLATE - - - -subroutine i_h_j_double_spin_hp(key_i,key_j,Nint,ispin,hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) - use bitmasks - implicit none - BEGIN_DOC - ! todo: maybe make new get_double_excitation_spin? - ! the 4 index ordering is already done in there, so we could avoid duplicating that work - ! Returns where i and j are determinants differing by a same-spin double excitation - END_DOC - integer, intent(in) :: Nint,ispin,N_hp - integer(bit_kind), intent(in) :: key_i(Nint), key_j(Nint) - complex*16, intent(out) :: hij_hp(N_hp) - integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) - double precision, intent(in) :: sign_hp(N_hp) - logical, intent(in) :: allowed_hp(N_hp) - complex*16 :: hij0 - double precision :: phase_hp(N_hp) - integer :: exc(0:2,2) - double precision :: phase - complex*16, external :: mo_two_e_integral_complex - integer :: i1,i2,i3,i4,j2,j3,ii - - PROVIDE big_array_exchange_integrals_complex mo_two_e_integrals_in_map - - call get_double_excitation_spin(key_i,key_j,exc,phase,Nint) - hij0 = phase*(mo_two_e_integral_complex( & - exc(1,1), & - exc(2,1), & - exc(1,2), & - exc(2,2)) - & - mo_two_e_integral_complex( & - exc(1,1), & - exc(2,1), & - exc(2,2), & - exc(1,2)) ) - - ASSERT (exc(1,1) < exc(2,1)) - ASSERT (exc(1,2) < exc(2,2)) - i1=min(exc(1,1),exc(1,2)) - j2=max(exc(1,1),exc(1,2)) - j3=min(exc(2,1),exc(2,2)) - i4=max(exc(2,1),exc(2,2)) - i2=min(j2,j3) - i3=max(j2,j3) - - do ii=1,N_hp - if (allowed_hp(ii)) then - if (ispin.eq.spin_hp(ii)) then - if ((idx_hp(ii).lt.i1).or.(idx_hp(ii).gt.i4)) then - phase_hp(ii)=1.d0 - else if ((idx_hp(ii).lt.i2).or.(idx_hp(ii).gt.i3)) then - phase_hp(ii)=-1.d0 - else - phase_hp(ii)=1.d0 - endif - else - phase_hp(ii)=1.d0 - endif - else - phase_hp(ii)=0.d0 - endif - hij_hp(ii) = hij0 * phase_hp(ii) - enddo -end - -subroutine i_h_j_mono_spin_hp(key_i,key_j,Nint,spin,hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) - use bitmasks - implicit none - BEGIN_DOC - ! todo: change this to use normal version of get_mono_excitation_from_fock - ! all info needed is in phase and hij, h/p part can happen after getting hij the normal way - ! Returns where i and j are determinants differing by a single excitation - END_DOC - integer, intent(in) :: Nint, spin, N_hp - integer(bit_kind), intent(in) :: key_i(Nint,2), key_j(Nint,2) - complex*16, intent(out) :: hij_hp(N_hp) - integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) - double precision, intent(in) :: sign_hp(N_hp) - logical, intent(in) :: allowed_hp(N_hp) - !double precision :: phase_hp(N_hp) - complex*16 :: hij0 - - integer :: exc(0:2,2) - double precision :: phase - - PROVIDE big_array_exchange_integrals_complex mo_two_e_integrals_in_map - - call get_single_excitation_spin(key_i(1,spin),key_j(1,spin),exc,phase,Nint) - - call get_single_excitation_from_fock_hp(key_i,key_j,exc(1,1),exc(1,2),spin,phase,N_hp,hij_hp,spin_hp,sign_hp,idx_hp,allowed_hp) -end - -subroutine get_single_excitation_from_fock_hp(det_1,det_2,h,p,spin,phase,N_hp,hij_hp,spin_hp,sign_hp,idx_hp,allowed_hp) - use bitmasks - implicit none - integer,intent(in) :: h,p,spin,N_hp - double precision, intent(in) :: phase - integer(bit_kind), intent(in) :: det_1(N_int,2), det_2(N_int,2) - complex*16, intent(out) :: hij_hp(N_hp) - integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) - double precision, intent(in) :: sign_hp(N_hp) - logical, intent(in) :: allowed_hp(N_hp) - double precision :: phase_hp(N_hp) - complex*16 :: hij0 - integer :: low,high - - integer(bit_kind) :: differences(N_int,2) - integer(bit_kind) :: hole(N_int,2) - integer(bit_kind) :: partcl(N_int,2) - integer :: occ_hole(N_int*bit_kind_size,2) - integer :: occ_partcl(N_int*bit_kind_size,2) - integer :: n_occ_ab_hole(2),n_occ_ab_partcl(2) - integer :: i0,i,ii - do i = 1, N_int - differences(i,1) = xor(det_1(i,1),ref_closed_shell_bitmask(i,1)) - differences(i,2) = xor(det_1(i,2),ref_closed_shell_bitmask(i,2)) - hole(i,1) = iand(differences(i,1),ref_closed_shell_bitmask(i,1)) - hole(i,2) = iand(differences(i,2),ref_closed_shell_bitmask(i,2)) - partcl(i,1) = iand(differences(i,1),det_1(i,1)) - partcl(i,2) = iand(differences(i,2),det_1(i,2)) - enddo - call bitstring_to_list_ab(hole, occ_hole, n_occ_ab_hole, N_int) - call bitstring_to_list_ab(partcl, occ_partcl, n_occ_ab_partcl, N_int) - hij0 = fock_op_cshell_ref_bitmask_cplx(h,p) - ! holes :: direct terms - do i0 = 1, n_occ_ab_hole(1) - i = occ_hole(i0,1) - hij0 -= big_array_coulomb_integrals_complex(i,h,p) ! get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) - enddo - do i0 = 1, n_occ_ab_hole(2) - i = occ_hole(i0,2) - hij0 -= big_array_coulomb_integrals_complex(i,h,p) !get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) - enddo - - ! holes :: exchange terms - do i0 = 1, n_occ_ab_hole(spin) - i = occ_hole(i0,spin) - hij0 += big_array_exchange_integrals_complex(i,h,p) ! get_mo_bielec_integral_schwartz(h,i,i,p,mo_integrals_map) - enddo - - ! particles :: direct terms - do i0 = 1, n_occ_ab_partcl(1) - i = occ_partcl(i0,1) - hij0 += big_array_coulomb_integrals_complex(i,h,p)!get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) - enddo - do i0 = 1, n_occ_ab_partcl(2) - i = occ_partcl(i0,2) - hij0 += big_array_coulomb_integrals_complex(i,h,p) !get_mo_bielec_integral_schwartz(h,i,p,i,mo_integrals_map) - enddo - - ! particles :: exchange terms - do i0 = 1, n_occ_ab_partcl(spin) - i = occ_partcl(i0,spin) - hij0 -= big_array_exchange_integrals_complex(i,h,p)!get_mo_bielec_integral_schwartz(h,i,i,p,mo_integrals_map) - enddo - - low=min(h,p) - high=max(h,p) - -!! do ii=1,N_hp -!! if (.not.allowed_hp(ii)) then -!! phase_hp(ii) = 0.d0 -!! cycle -!! else if (spin_hp(ii).ne.spin) then -!! phase_hp(ii) = 1.d0 -!! else -!! if ((low.lt.idx_hp(ii)).and.(high.gt.idx_hp(ii))) then -!! phase_hp(ii) = -1.d0 -!! else -!! phase_hp(ii) = 1.d0 -!! endif -!! endif -!! enddo -!! -!! do ii=1,N_hp -!! if (allowed_hp(ii)) then -!! hij_hp(ii) = hij + sign_hp(ii) * big_array_coulomb_integrals(idx_hp(ii),h,p) -!! if (spin.eq.spin_hp(ii)) then -!! hij_hp(ii) = hij_hp(ii) - sign_hp(ii) * big_array_exchange_integrals(idx_hp(ii),h,p) -!! endif -!! else -!! hij_hp(ii) = 0.d0 -!! endif -!! enddo -!! -!! do ii=1,N_hp -!! hij_hp(ii) = hij_hp(ii) * phase_hp(ii) * phase -!! enddo - - do ii=1,N_hp - if (.not.allowed_hp(ii)) then - phase_hp(ii) = 0.d0 - hij_hp(ii) = 0.d0 - cycle - else if (spin.eq.spin_hp(ii)) then - hij_hp(ii) = hij0 + sign_hp(ii) *(big_array_coulomb_integrals_complex(idx_hp(ii),h,p) - big_array_exchange_integrals_complex(idx_hp(ii),h,p)) - if ((low.lt.idx_hp(ii)).and.(high.gt.idx_hp(ii))) then - phase_hp(ii) = -1.d0 - else - phase_hp(ii) = 1.d0 - endif - else - phase_hp(ii) = 1.d0 - hij_hp(ii) = hij0 + sign_hp(ii) * big_array_coulomb_integrals_complex(idx_hp(ii),h,p) - endif - hij_hp(ii) = hij_hp(ii) * phase * phase_hp(ii) - enddo - -end - - -subroutine i_H_j_double_alpha_beta_hp(key_i,key_j,Nint,hij_hp,N_hp,spin_hp,sign_hp,idx_hp,allowed_hp) - use bitmasks - implicit none - BEGIN_DOC - ! Returns where i and j are determinants differing by an opposite-spin double excitation - END_DOC - integer, intent(in) :: Nint,N_hp - integer(bit_kind), intent(in) :: key_i(Nint,2), key_j(Nint,2) - complex*16, intent(out) :: hij_hp(N_hp) - complex*16 :: hij0 - integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) - double precision, intent(in) :: sign_hp(N_hp) - logical, intent(in) :: allowed_hp(N_hp) - double precision :: phase_hp(N_hp) - integer :: i - - integer :: lowhigh(2,2) - integer :: exc(0:2,2,2) - double precision :: phase, phase2 - complex*16, external :: mo_two_e_integral_complex - - PROVIDE big_array_exchange_integrals_complex mo_two_e_integrals_in_map - - call get_single_excitation_spin(key_i(1,1),key_j(1,1),exc(0,1,1),phase,Nint) - call get_single_excitation_spin(key_i(1,2),key_j(1,2),exc(0,1,2),phase2,Nint) - phase = phase*phase2 - - if (exc(1,1,1) == exc(1,2,2)) then - hij0 = big_array_exchange_integrals_complex(exc(1,1,1),exc(1,1,2),exc(1,2,1)) - else if (exc(1,2,1) == exc(1,1,2)) then - hij0 = big_array_exchange_integrals_complex(exc(1,2,1),exc(1,1,1),exc(1,2,2)) - else - hij0 = mo_two_e_integral_complex( & - exc(1,1,1), & - exc(1,1,2), & - exc(1,2,1), & - exc(1,2,2)) - endif - - !todo: clean this up - ! if new particle/hole is between p/h of single exc of same spin, then parity changes, otherwise stays the same - ! value of Hij for double excitation is unchanged (new p/h is not one of the indices involved in the excitation) - - lowhigh(1,1)=min(exc(1,1,1),exc(1,2,1)) - lowhigh(2,1)=max(exc(1,1,1),exc(1,2,1)) - lowhigh(1,2)=min(exc(1,1,2),exc(1,2,2)) - lowhigh(2,2)=max(exc(1,1,2),exc(1,2,2)) - do i=1,N_hp - if (.not.allowed_hp(i)) then - phase_hp(i)=0.d0 - else if ((idx_hp(i).gt.lowhigh(1,spin_hp(i))).and.(idx_hp(i).lt.lowhigh(2,spin_hp(i)))) then - phase_hp(i)=-1.d0 - else - phase_hp(i)=1.d0 - endif - hij_hp(i)=hij0*phase*phase_hp(i) - enddo -end diff --git a/src/green/hu0_lanczos.irp.f b/src/green/hu0_lanczos.irp.f deleted file mode 100644 index 6f7ebf1d..00000000 --- a/src/green/hu0_lanczos.irp.f +++ /dev/null @@ -1,405 +0,0 @@ -! modified from H_S2_u_0_nstates_openmp in Davidson/u0Hu0.irp.f - -subroutine H_u_0_openmp(v_0,u_0,sze) - use bitmasks - implicit none - BEGIN_DOC - ! Computes v_0 = H|u_0> - ! - ! Assumes that the determinants are in psi_det - ! - ! istart, iend, ishift, istep are used in ZMQ parallelization. - END_DOC - integer :: N_st=1 - integer, intent(in) :: sze - complex*16, intent(inout) :: v_0(sze), u_0(sze) - integer :: k - call cdset_order(u_0(1),psi_bilinear_matrix_order,N_det) - v_0 = (0.d0,0.d0) - - call h_u_0_openmp_work(v_0,u_0,sze,1,N_det,0,1) - - call cdset_order(v_0(1),psi_bilinear_matrix_order_reverse,N_det) - call cdset_order(u_0(1),psi_bilinear_matrix_order_reverse,N_det) - -end - - -subroutine H_u_0_openmp_work(v_t,u_t,sze,istart,iend,ishift,istep) - use bitmasks - implicit none - BEGIN_DOC - ! Computes v_t = H|u_t> - ! - ! Default should be 1,N_det,0,1 - END_DOC - integer :: N_st=1 - integer, intent(in) :: sze,istart,iend,ishift,istep - complex*16, intent(in) :: u_t(N_det) - complex*16, intent(out) :: v_t(sze) - - - PROVIDE ref_bitmask_energy N_int - - select case (N_int) - case (1) - call H_u_0_openmp_work_1(v_t,u_t,sze,istart,iend,ishift,istep) - case (2) - call H_u_0_openmp_work_2(v_t,u_t,sze,istart,iend,ishift,istep) - case (3) - call H_u_0_openmp_work_3(v_t,u_t,sze,istart,iend,ishift,istep) - case (4) - call H_u_0_openmp_work_4(v_t,u_t,sze,istart,iend,ishift,istep) - case default - call H_u_0_openmp_work_N_int(v_t,u_t,sze,istart,iend,ishift,istep) - end select -end -BEGIN_TEMPLATE - -subroutine H_u_0_openmp_work_$N_int(v_t,u_t,sze,istart,iend,ishift,istep) - use bitmasks - implicit none - BEGIN_DOC - ! Computes v_t = H|u_t> - ! - ! Default should be 1,N_det,0,1 - END_DOC - integer :: N_st=1 - integer, intent(in) :: sze,istart,iend,ishift,istep - complex*16, intent(in) :: u_t(N_det) - complex*16, intent(out) :: v_t(sze) - - complex*16 :: hij - double precision :: hii - integer :: i,j,k,l - integer :: k_a, k_b, l_a, l_b, m_a, m_b - integer :: istate - integer :: krow, kcol, krow_b, kcol_b - integer :: lrow, lcol - integer :: mrow, mcol - integer(bit_kind) :: spindet($N_int) - integer(bit_kind) :: tmp_det($N_int,2) - integer(bit_kind) :: tmp_det2($N_int,2) - integer(bit_kind) :: tmp_det3($N_int,2) - integer(bit_kind), allocatable :: buffer(:,:) - integer :: n_doubles - integer, allocatable :: doubles(:) - integer, allocatable :: singles_a(:) - integer, allocatable :: singles_b(:) - integer, allocatable :: idx(:), idx0(:) - integer :: maxab, n_singles_a, n_singles_b, kcol_prev - integer*8 :: k8 - - maxab = max(N_det_alpha_unique, N_det_beta_unique)+1 - allocate(idx0(maxab)) - - do i=1,maxab - idx0(i) = i - enddo - - ! Prepare the array of all alpha single excitations - ! ------------------------------------------------- - - PROVIDE N_int nthreads_davidson - !$OMP PARALLEL DEFAULT(NONE) NUM_THREADS(nthreads_davidson) & - !$OMP SHARED(psi_bilinear_matrix_rows, N_det, & - !$OMP psi_bilinear_matrix_columns, & - !$OMP psi_det_alpha_unique, psi_det_beta_unique, & - !$OMP n_det_alpha_unique, n_det_beta_unique, N_int, & - !$OMP psi_bilinear_matrix_transp_rows, & - !$OMP psi_bilinear_matrix_transp_columns, & - !$OMP psi_bilinear_matrix_transp_order, N_st, & - !$OMP psi_bilinear_matrix_order_transp_reverse, & - !$OMP psi_bilinear_matrix_columns_loc, & - !$OMP psi_bilinear_matrix_transp_rows_loc, & - !$OMP istart, iend, istep, irp_here, v_t, & - !$OMP ishift, idx0, u_t, maxab) & - !$OMP PRIVATE(krow, kcol, tmp_det, spindet, k_a, k_b, i, & - !$OMP lcol, lrow, l_a, l_b, & - !$OMP buffer, doubles, n_doubles, & - !$OMP tmp_det2, hii, hij, idx, l, kcol_prev, & - !$OMP singles_a, n_singles_a, singles_b, & - !$OMP n_singles_b, k8) - - ! Alpha/Beta double excitations - ! ============================= - - allocate( buffer($N_int,maxab), & - singles_a(maxab), & - singles_b(maxab), & - doubles(maxab), & - idx(maxab)) - - kcol_prev=-1 - - ASSERT (iend <= N_det) - ASSERT (istart > 0) - ASSERT (istep > 0) - - !$OMP DO SCHEDULE(dynamic,64) - do k_a=istart+ishift,iend,istep - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - if (kcol /= kcol_prev) then - call get_all_spin_singles_$N_int( & - psi_det_beta_unique, idx0, & - tmp_det(1,2), N_det_beta_unique, & - singles_b, n_singles_b) - endif - kcol_prev = kcol - - ! Loop over singly excited beta columns - ! ------------------------------------- - - do i=1,n_singles_b - lcol = singles_b(i) - - tmp_det2(1:$N_int,2) = psi_det_beta_unique(1:$N_int, lcol) - - l_a = psi_bilinear_matrix_columns_loc(lcol) - ASSERT (l_a <= N_det) - - do j=1,psi_bilinear_matrix_columns_loc(lcol+1) - l_a - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - buffer(1:$N_int,j) = psi_det_alpha_unique(1:$N_int, lrow) - - ASSERT (l_a <= N_det) - idx(j) = l_a - l_a = l_a+1 - enddo - j = j-1 - - call get_all_spin_singles_$N_int( & - buffer, idx, tmp_det(1,1), j, & - singles_a, n_singles_a ) - - ! Loop over alpha singles - ! ----------------------- - - do k = 1,n_singles_a - l_a = singles_a(k) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - call i_h_j_double_alpha_beta_complex(tmp_det,tmp_det2,$N_int,hij) - v_t(k_a) = v_t(k_a) + hij * u_t(l_a) - enddo - enddo - enddo - !$OMP END DO - - !$OMP DO SCHEDULE(dynamic,64) - do k_a=istart+ishift,iend,istep - - - ! Single and double alpha excitations - ! =================================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - ! Initial determinant is at k_b in beta-major representation - ! ---------------------------------------------------------------------- - - k_b = psi_bilinear_matrix_order_transp_reverse(k_a) - ASSERT (k_b <= N_det) - - spindet(1:$N_int) = tmp_det(1:$N_int,1) - - ! Loop inside the beta column to gather all the connected alphas - lcol = psi_bilinear_matrix_columns(k_a) - l_a = psi_bilinear_matrix_columns_loc(lcol) - do i=1,N_det_alpha_unique - if (l_a > N_det) exit - lcol = psi_bilinear_matrix_columns(l_a) - if (lcol /= kcol) exit - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - buffer(1:$N_int,i) = psi_det_alpha_unique(1:$N_int, lrow) - idx(i) = l_a - l_a = l_a+1 - enddo - i = i-1 - - !call get_all_spin_singles_and_doubles_$N_int( & - ! buffer, idx, spindet, i, & - ! singles_a, doubles, n_singles_a, n_doubles ) - call get_all_spin_singles_and_doubles( & - buffer, idx, spindet, $N_int, i, & - singles_a, doubles, n_singles_a, n_doubles ) - - ! Compute Hij for all alpha singles - ! ---------------------------------- - - tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - do i=1,n_singles_a - l_a = singles_a(i) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, lrow) - call i_h_j_single_spin_complex( tmp_det, tmp_det2, $N_int, 1, hij) - - v_t(k_a) = v_t(k_a) + hij * u_t(l_a) - enddo - - - ! Compute Hij for all alpha doubles - ! ---------------------------------- - - do i=1,n_doubles - l_a = doubles(i) - ASSERT (l_a <= N_det) - - lrow = psi_bilinear_matrix_rows(l_a) - ASSERT (lrow <= N_det_alpha_unique) - - call i_h_j_double_spin_complex( tmp_det(1,1), psi_det_alpha_unique(1, lrow), $N_int, hij) - v_t(k_a) = v_t(k_a) + hij * u_t(l_a) - enddo - - - ! Single and double beta excitations - ! ================================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - kcol = psi_bilinear_matrix_columns(k_a) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - spindet(1:$N_int) = tmp_det(1:$N_int,2) - - ! Initial determinant is at k_b in beta-major representation - ! ----------------------------------------------------------------------- - - k_b = psi_bilinear_matrix_order_transp_reverse(k_a) - ASSERT (k_b <= N_det) - - ! Loop inside the alpha row to gather all the connected betas - lrow = psi_bilinear_matrix_transp_rows(k_b) - l_b = psi_bilinear_matrix_transp_rows_loc(lrow) - do i=1,N_det_beta_unique - if (l_b > N_det) exit - lrow = psi_bilinear_matrix_transp_rows(l_b) - if (lrow /= krow) exit - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - buffer(1:$N_int,i) = psi_det_beta_unique(1:$N_int, lcol) - idx(i) = l_b - l_b = l_b+1 - enddo - i = i-1 - - !call get_all_spin_singles_and_doubles_$N_int( & - ! buffer, idx, spindet, i, & - ! singles_b, doubles, n_singles_b, n_doubles ) - call get_all_spin_singles_and_doubles( & - buffer, idx, spindet, $N_int, i, & - singles_b, doubles, n_singles_b, n_doubles ) - - ! Compute Hij for all beta singles - ! ---------------------------------- - - tmp_det2(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - do i=1,n_singles_b - l_b = singles_b(i) - ASSERT (l_b <= N_det) - - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - tmp_det2(1:$N_int,2) = psi_det_beta_unique (1:$N_int, lcol) - call i_h_j_single_spin_complex( tmp_det, tmp_det2, $N_int, 2, hij) - l_a = psi_bilinear_matrix_transp_order(l_b) - ASSERT (l_a <= N_det) - v_t(k_a) = v_t(k_a) + hij * u_t(l_a) - enddo - - ! Compute Hij for all beta doubles - ! ---------------------------------- - - do i=1,n_doubles - l_b = doubles(i) - ASSERT (l_b <= N_det) - - lcol = psi_bilinear_matrix_transp_columns(l_b) - ASSERT (lcol <= N_det_beta_unique) - - call i_h_j_double_spin_complex( tmp_det(1,2), psi_det_beta_unique(1, lcol), $N_int, hij) - l_a = psi_bilinear_matrix_transp_order(l_b) - ASSERT (l_a <= N_det) - - v_t(k_a) = v_t(k_a) + hij * u_t(l_a) - enddo - - - ! Diagonal contribution - ! ===================== - - - ! Initial determinant is at k_a in alpha-major representation - ! ----------------------------------------------------------------------- - - krow = psi_bilinear_matrix_rows(k_a) - ASSERT (krow <= N_det_alpha_unique) - - kcol = psi_bilinear_matrix_columns(k_a) - ASSERT (kcol <= N_det_beta_unique) - - tmp_det(1:$N_int,1) = psi_det_alpha_unique(1:$N_int, krow) - tmp_det(1:$N_int,2) = psi_det_beta_unique (1:$N_int, kcol) - - !double precision, external :: diag_H_mat_elem, diag_S_mat_elem - double precision, external :: diag_H_mat_elem - hii = diag_H_mat_elem(tmp_det,$N_int) - v_t(k_a) = v_t(k_a) + hii * u_t(k_a) - - end do - !$OMP END DO - deallocate(buffer, singles_a, singles_b, doubles, idx) - !$OMP END PARALLEL - -end - -SUBST [ N_int ] - -1;; -2;; -3;; -4;; -N_int;; - -END_TEMPLATE - diff --git a/src/green/lanczos.irp.f b/src/green/lanczos.irp.f deleted file mode 100644 index baf66d80..00000000 --- a/src/green/lanczos.irp.f +++ /dev/null @@ -1,883 +0,0 @@ - - -BEGIN_PROVIDER [ integer, n_green_vec ] - implicit none - BEGIN_DOC - ! number of particles/holes to use for spectral density calc. - ! just set to 2 for now (homo and lumo) - END_DOC - n_green_vec = 2 -END_PROVIDER - - BEGIN_PROVIDER [ integer, green_idx, (n_green_vec) ] -&BEGIN_PROVIDER [ integer, green_idx_int, (n_green_vec) ] -&BEGIN_PROVIDER [ integer, green_idx_bit, (n_green_vec) ] -&BEGIN_PROVIDER [ integer, green_spin, (n_green_vec) ] -&BEGIN_PROVIDER [ double precision, green_sign, (n_green_vec) ] - implicit none - BEGIN_DOC - ! description of particles/holes to be used in spectral density calculation - ! green_idx: orbital index of particle/hole - ! green_idx_{int,bit}: location of idx within determinant bitstring - ! green_spin: 1(alpha) or 2(beta) - ! green_sign: 1(particle) or -1(hole) - END_DOC - integer :: s1,s2,i1,i2 - integer :: i - - integer :: idx_homo_lumo(2), spin_homo_lumo(2) - logical :: has_idx,has_spin,has_sign,has_lanc - integer :: nlanc - ! needs psi_det, mo_num, N_int, mo_bielec_integral_jj, mo_mono_elec_integral_diag - call ezfio_has_green_green_idx(has_idx) - call ezfio_has_green_green_spin(has_spin) - call ezfio_has_green_green_sign(has_sign) -! call ezfio_has_green_n_lanczos_complete(has_lanc) - call ezfio_get_green_n_lanczos_complete(nlanc) - if (has_idx.and.has_spin.and.has_sign) then - print*,'reading idx,spin,sign' - call ezfio_get_green_green_idx(green_idx) - call ezfio_get_green_green_spin(green_spin) - call ezfio_get_green_green_sign(green_sign) - else if (nlanc.gt.0) then - stop 'problem with lanczos restart; need idx, spin, sign' - else - print*,'new lanczos calculation, finding homo/lumo' - call get_homo_lumo(psi_det(1:N_int,1:2,1),N_int,mo_num,idx_homo_lumo,spin_homo_lumo) - - ! homo - green_idx(1)=idx_homo_lumo(1) - green_spin(1)=spin_homo_lumo(1) - green_sign(1)=-1.d0 - - ! lumo - green_idx(2)=idx_homo_lumo(2) - green_spin(2)=spin_homo_lumo(2) - green_sign(2)=1.d0 - - call ezfio_set_green_green_idx(green_idx) - call ezfio_set_green_green_spin(green_spin) - call ezfio_set_green_green_sign(green_sign) - endif - - - -! if (nlanc.gt.0) then -! ! call ezfio_get_green_n_lanczos_complete(nlanc) -! print*,'restarting from previous lanczos',nlanc -! if (has_idx.and.has_spin.and.has_sign) then -! print*,'reading idx,spin,sign' -! call ezfio_get_green_green_idx(green_idx) -! call ezfio_get_green_green_spin(green_spin) -! call ezfio_get_green_green_sign(green_sign) -! else -! stop 'problem with lanczos restart; need idx, spin, sign' -! endif -! else -! print*,'new lanczos calculation, finding homo/lumo' -! call get_homo_lumo(psi_det(1:N_int,1:2,1),N_int,mo_num,idx_homo_lumo,spin_homo_lumo) -! -! ! homo -! green_idx(1)=idx_homo_lumo(1) -! green_spin(1)=spin_homo_lumo(1) -! green_sign(1)=-1.d0 -! -! ! lumo -! green_idx(2)=idx_homo_lumo(2) -! green_spin(2)=spin_homo_lumo(2) -! green_sign(2)=1.d0 -! -! call ezfio_set_green_green_idx(green_idx) -! call ezfio_set_green_green_spin(green_spin) -! call ezfio_set_green_green_sign(green_sign) -! endif - - do i=1,n_green_vec - call get_orb_int_bit(green_idx(i),green_idx_int(i),green_idx_bit(i)) - print*,i,green_idx(i),green_idx_int(i),green_idx_bit(i),green_spin(i),green_sign(i) - enddo - -END_PROVIDER - - -BEGIN_PROVIDER [ double precision, green_det_phase, (N_det,n_green_vec) ] - implicit none - BEGIN_DOC - ! for each det in psi, compute phase for each particle/hole excitation - ! each element should be +/-1 or 0 - END_DOC - integer :: i - double precision :: phase_tmp(n_green_vec) - PROVIDE psi_det green_idx - - do i=1,N_det - call get_phase_hp(green_idx_int,green_idx_bit,green_spin,green_sign,psi_det(1,1,i),phase_tmp,N_int,n_green_vec) - green_det_phase(i,1:n_green_vec) = phase_tmp(1:n_green_vec) - enddo - -END_PROVIDER - -BEGIN_PROVIDER [ complex*16, u1_lanczos, (N_det,n_green_vec) ] - implicit none - BEGIN_DOC - ! initial lanczos vectors - ! must be normalized - END_DOC - - integer :: i,j - - do j=1,n_green_vec - do i=1,N_det - u1_lanczos(i,j)=green_det_phase(i,j)*psi_coef(i,1) - enddo - call normalize_complex(u1_lanczos(:,j),N_det) - enddo - -END_PROVIDER - -! BEGIN_PROVIDER [ double precision, alpha_lanczos, (n_green_vec,n_lanczos_iter) ] -!&BEGIN_PROVIDER [ double precision, beta_lanczos, (n_green_vec,n_lanczos_iter) ] - BEGIN_PROVIDER [ double precision, alpha_lanczos, (n_lanczos_iter,n_green_vec) ] -&BEGIN_PROVIDER [ double precision, beta_lanczos, (n_lanczos_iter,n_green_vec) ] -&BEGIN_PROVIDER [ complex*16, un_lanczos, (N_det,n_green_vec) ] -&BEGIN_PROVIDER [ complex*16, vn_lanczos, (N_det,n_green_vec) ] -&BEGIN_PROVIDER [ double precision, lanczos_eigvals, (n_lanczos_iter,n_green_vec) ] - implicit none - BEGIN_DOC - ! for each particle/hole: - ! provide alpha and beta for tridiagonal form of H - ! un, vn lanczos vectors from latest iteration - ! lanczos_eigvals: eigenvalues of tridiagonal form of H - END_DOC - PROVIDE lanczos_debug_print n_lanczos_debug - complex*16, allocatable :: work(:,:) -! double precision :: alpha_tmp,beta_tmp - double precision, allocatable :: alpha_tmp(:),beta_tmp(:) - double precision, allocatable :: alpha_tmp_vec(:,:), beta_tmp_vec(:,:) - integer :: i,j - integer :: n_lanc_new_tmp, n_lanc_old_tmp - call ezfio_get_green_n_lanczos_iter(n_lanc_new_tmp) - call ezfio_get_green_n_lanczos_complete(n_lanc_old_tmp) - - if ((n_lanczos_complete).gt.0) then -! allocate(alpha_tmp_vec(n_green_vec,n_lanczos_complete),beta_tmp_vec(n_green_vec,n_lanczos_complete)) - allocate(alpha_tmp_vec(n_lanczos_complete,n_green_vec),beta_tmp_vec(n_lanczos_complete,n_green_vec)) - logical :: has_un_lanczos, has_vn_lanczos - call ezfio_has_green_un_lanczos(has_un_lanczos) - call ezfio_has_green_vn_lanczos(has_vn_lanczos) - if (has_un_lanczos.and.has_vn_lanczos) then - call ezfio_get_green_un_lanczos(un_lanczos) - call ezfio_get_green_vn_lanczos(vn_lanczos) -! if (lanczos_debug_print) then -! print*,'uu,vv read from disk' -! do i=1,n_lanczos_debug -! write(6,'(4(E25.15))')un_lanczos(i),vn_lanczos(i) -! enddo -! endif - else - print*,'problem reading lanczos vectors for restart' - stop - endif - logical :: has_alpha_lanczos, has_beta_lanczos - call ezfio_has_green_alpha_lanczos(has_alpha_lanczos) - call ezfio_has_green_beta_lanczos(has_beta_lanczos) - if (has_alpha_lanczos.and.has_beta_lanczos) then - call ezfio_set_green_n_lanczos_iter(n_lanc_old_tmp) - call ezfio_get_green_alpha_lanczos(alpha_tmp_vec) - call ezfio_get_green_beta_lanczos(beta_tmp_vec) - call ezfio_set_green_n_lanczos_iter(n_lanc_new_tmp) - do j=1,n_green_vec - do i=1,n_lanczos_complete - alpha_lanczos(i,j)=alpha_tmp_vec(i,j) - beta_lanczos(i,j)=beta_tmp_vec(i,j) - enddo - enddo - else - print*,'problem reading lanczos alpha, beta for restart' - stop - endif - deallocate(alpha_tmp_vec,beta_tmp_vec) - else - call write_time(6) - print*,'no saved lanczos vectors. starting lanczos' - PROVIDE u1_lanczos - un_lanczos=u1_lanczos - allocate(work(N_det,n_green_vec),alpha_tmp(n_green_vec),beta_tmp(n_green_vec)) - call lanczos_h_init_hp(un_lanczos,vn_lanczos,work,N_det,alpha_tmp,beta_tmp,& - n_green_vec,green_spin,green_sign,green_idx) - do i=1,n_green_vec - alpha_lanczos(1,i)=alpha_tmp(i) - beta_lanczos(1,i)=beta_tmp(i) - enddo - n_lanczos_complete=1 - deallocate(work,alpha_tmp,beta_tmp) - endif - - allocate(work(N_det,n_green_vec),alpha_tmp(n_green_vec),beta_tmp(n_green_vec)) - do i=n_lanczos_complete+1,n_lanczos_iter - call write_time(6) - print*,'starting lanczos iteration',i - call lanczos_h_step_hp(un_lanczos,vn_lanczos,work,N_det,alpha_tmp,beta_tmp,& - n_green_vec,green_spin,green_sign,green_idx) - do j=1,n_green_vec - alpha_lanczos(i,j)=alpha_tmp(j) - beta_lanczos(i,j)=beta_tmp(j) - enddo - n_lanczos_complete=n_lanczos_complete+1 - enddo - deallocate(work,alpha_tmp,beta_tmp) - - call ezfio_set_green_alpha_lanczos(alpha_lanczos) - call ezfio_set_green_beta_lanczos(beta_lanczos) - call ezfio_set_green_un_lanczos(un_lanczos) - call ezfio_set_green_vn_lanczos(vn_lanczos) - call ezfio_set_green_n_lanczos_complete(n_lanczos_complete) - - call diag_lanczos_vals_hp(alpha_lanczos, beta_lanczos, n_lanczos_complete, lanczos_eigvals,& - n_lanczos_iter,n_green_vec) - call ezfio_set_green_lanczos_eigvals(lanczos_eigvals) - -END_PROVIDER - -BEGIN_PROVIDER [ double precision, delta_omega ] - implicit none - BEGIN_DOC - ! step size between frequency points for spectral density calculation - ! calculated from min, max, and number of steps - END_DOC - delta_omega=(omega_max-omega_min)/n_omega -END_PROVIDER - -BEGIN_PROVIDER [ double precision, omega_list, (n_omega) ] - implicit none - BEGIN_DOC - ! list of frequencies at which to compute spectral density - END_DOC - - integer :: i - double precision :: omega_i - PROVIDE delta_omega - do i=1,n_omega - omega_list(i) = omega_min + (i-1)*delta_omega - enddo - -END_PROVIDER - - -BEGIN_PROVIDER [ double precision, spectral_lanczos, (n_omega,n_green_vec) ] - implicit none - BEGIN_DOC - ! spectral density A(omega) calculated from lanczos alpha/beta - ! calculated for n_omega points between omega_min and omega_max - END_DOC - - integer :: i,j - double precision :: omega_i - complex*16 :: z_i - !double precision :: spec_lanc_rev - double precision :: spec_lanc_rev_sign - logical :: has_ci_energy - double precision :: ref_energy_0 - PROVIDE delta_omega alpha_lanczos beta_lanczos omega_list - call ezfio_has_fci_energy(has_ci_energy) - if (has_ci_energy) then - call ezfio_get_fci_energy(ref_energy_0) - else - print*,'no reference energy from full_ci_zmq, exiting' - stop - endif - - - do i=1,n_omega - omega_i = omega_list(i) - z_i = dcmplx(omega_i,gf_epsilon) - do j=1,n_green_vec -! spectral_lanczos(i,j) = spec_lanc_rev(n_lanczos_iter,alpha_lanczos(:,j),beta_lanczos(:,j),z_i) - spectral_lanczos(i,j) = spec_lanc_rev_sign(n_lanczos_iter, & - alpha_lanczos(:,j), & - beta_lanczos(:,j), & - z_i - green_sign(j)*ref_energy_0, & - green_sign(j)) - enddo - enddo - -END_PROVIDER - -double precision function spec_lanc(n_lanc_iter,alpha,beta,z) - include 'constants.include.F' - implicit none - BEGIN_DOC - ! input: - ! alpha, beta: from tridiagonal form of H (obtain via lanczos) - ! beta and alpha same size (beta(1) is not used) - ! n_lanc_iter: size of alpha, beta - ! z: omega + i*epsilon - ! omega is frequency for which spectral density is to be computed - ! epsilon is magnitude of infinitesimal imaginary term - ! output: - ! spec_lanc: spectral density A(omega) - ! - ! uses inv_pi=(1.d0/pi) from constants - END_DOC - integer, intent(in) :: n_lanc_iter - double precision, intent(in) :: alpha(n_lanc_iter), beta(n_lanc_iter) - complex*16, intent(in) :: z - - complex*16 bigAj2,bigAj1,bigAj0 - complex*16 bigBj2,bigBj1,bigBj0 - integer :: j - ! init for j=1 - ! bigAj2 is A(j-2) - ! bigAj1 is A(j-1) - ! etc. - - bigAj2=1.d0 ! A(-1) - bigAj1=0.d0 ! A(0) - bigAj0=1.d0 ! A(1) - - bigBj2=0.d0 ! B(-1) - bigBj1=1.d0 ! B(0) - bigBj0=z-alpha(1) ! B(1) - - do j=2,n_lanc_iter - bigAj2=bigAj1 - bigAj1=bigAj0 - bigAj0=(z-alpha(j))*bigAj1 - beta(j)**2*bigAj2 - - bigBj2=bigBj1 - bigBj1=bigBj0 - bigBj0=(z-alpha(j))*bigBj1 - beta(j)**2*bigBj2 - enddo - spec_lanc=-imag(bigAj0/bigBj0)*inv_pi -end - -double precision function spec_lanc_rev(n_lanc_iter,alpha,beta,z) - include 'constants.include.F' - implicit none - BEGIN_DOC - ! reverse iteration is more numerically stable - ! input: - ! alpha, beta: from tridiagonal form of H (obtain via lanczos) - ! beta and alpha same size (beta(1) is not used) - ! n_lanc_iter: size of alpha, beta - ! z: omega + i*epsilon - ! omega is frequency for which spectral density is to be computed - ! epsilon is magnitude of infinitesimal imaginary term - ! output: - ! spec_lanc: spectral density A(omega) - ! - ! uses inv_pi=(1.d0/pi) from constants - END_DOC - integer, intent(in) :: n_lanc_iter - double precision, intent(in) :: alpha(n_lanc_iter), beta(n_lanc_iter) - complex*16, intent(in) :: z - - complex*16 :: tmp - integer :: j - - tmp=(0.d0,0.d0) - do j=n_lanc_iter,2,-1 - tmp=-beta(j)**2/(z-alpha(j)+tmp) - enddo - tmp=1.d0/(z-alpha(1)+tmp) - spec_lanc_rev=-imag(tmp)*inv_pi -end - -double precision function spec_lanc_rev_sign(n_lanc_iter,alpha,beta,z,g_sign) - include 'constants.include.F' - implicit none - BEGIN_DOC - ! reverse iteration is more numerically stable - ! input: - ! alpha, beta: from tridiagonal form of H (obtain via lanczos) - ! beta and alpha same size (beta(1) is not used) - ! n_lanc_iter: size of alpha, beta - ! z: omega + i*epsilon - ! omega is frequency for which spectral density is to be computed - ! epsilon is magnitude of infinitesimal imaginary term - ! output: - ! spec_lanc: spectral density A(omega) - ! - ! uses inv_pi=(1.d0/pi) from constants - END_DOC - integer, intent(in) :: n_lanc_iter - double precision, intent(in) :: alpha(n_lanc_iter), beta(n_lanc_iter) - complex*16, intent(in) :: z - double precision, intent(in) :: g_sign - - complex*16 :: tmp - integer :: j - - tmp=(0.d0,0.d0) - do j=n_lanc_iter,2,-1 - tmp=-beta(j)**2/(z+g_sign*alpha(j)+tmp) - enddo - tmp=1.d0/(z+g_sign*alpha(1)+tmp) - spec_lanc_rev_sign=-imag(tmp)*inv_pi -end - - -subroutine lanczos_h_init_hp(uu,vv,work,sze,alpha_i,beta_i,ng,spin_hp,sign_hp,idx_hp) - implicit none - integer, intent(in) :: sze,ng - complex*16, intent(in) :: uu(sze,ng) - complex*16, intent(out) :: vv(sze,ng) - complex*16 :: work(sze,ng) - double precision, intent(out) :: alpha_i(ng), beta_i(ng) - integer, intent(in) :: spin_hp(ng), idx_hp(ng) - double precision, intent(in) :: sign_hp(ng) - - double precision, external :: dznrm2 - complex*16, external :: u_dot_v_complex - integer :: i,j - - BEGIN_DOC - ! initial step for lanczos tridiagonalization of H for multiple holes/particles - ! uu is array of initial vectors u1 (creation/annihilation operator applied to psi) - ! output vv is array of lanczos v1 (one for each hole/particle) - END_DOC - - print *,'starting lanczos' - print *,'sze = ',sze - - ! |uu> is |u(1)> - - ! |w(1)> = H|u(1)> - ! |work> is now |w(1)> - call compute_hu_hp(uu,work,ng,sze,spin_hp,sign_hp,idx_hp) - - ! alpha(n+1) = - do i=1,ng - alpha_i(i)=real(u_dot_v_complex(uu(1:sze,i),work(1:sze,i),sze)) - enddo - - do j=1,ng - do i=1,sze - vv(i,j)=work(i,j)-alpha_i(j)*uu(i,j) -! write(6,'(7(E25.15))')uu(i,j),vv(i,j),work(i,j),alpha_i(j) - enddo - enddo - - beta_i=0.d0 - ! |vv> is |v(1)> - ! |uu> is |u(1)> -end - -subroutine lanczos_h_step_hp(uu,vv,work,sze,alpha_i,beta_i,ng,spin_hp,sign_hp,idx_hp) - implicit none - integer, intent(in) :: sze,ng - complex*16, intent(inout) :: uu(sze,ng),vv(sze,ng) - complex*16, intent(out) :: work(sze,ng) - double precision, intent(out) :: alpha_i(ng), beta_i(ng) - integer, intent(in) :: spin_hp(ng), idx_hp(ng) - double precision, intent(in) :: sign_hp(ng) - - double precision, external :: dznrm2 - complex*16, external :: u_dot_v_complex - integer :: i,j - complex*16 :: tmp_c16 - BEGIN_DOC - ! lanczos tridiagonalization of H - ! n_lanc_iter is number of lanczos iterations - ! u1 is initial lanczos vector - ! u1 should be normalized - END_DOC - - ! |vv> is |v(n)> - ! |uu> is |u(n)> - - ! compute beta(n+1) - do j=1,ng - beta_i(j)=dznrm2(sze,vv(:,j),1) - ! |vv> is now |u(n+1)> - call zdscal(sze,(1.d0/beta_i(j)),vv(:,j),1) - enddo - - ! |w(n+1)> = H|u(n+1)> - ! |work> is now |w(n+1)> - call compute_hu_hp(vv,work,ng,sze,spin_hp,sign_hp,idx_hp) - - ! alpha(n+1) = - do i=1,ng - alpha_i(i)=real(u_dot_v_complex(vv(1:sze,i),work(1:sze,i),sze)) - enddo - - do j=1,ng - do i=1,sze - tmp_c16=work(i,j)-alpha_i(j)*vv(i,j)-beta_i(j)*uu(i,j) - uu(i,j)=vv(i,j) - vv(i,j)=tmp_c16 - enddo - enddo - ! |vv> is |v(n+1)> - ! |uu> is |u(n+1)> -end - - -subroutine lanczos_h_init(uu,vv,work,sze,alpha_i,beta_i) - implicit none - integer, intent(in) :: sze - complex*16, intent(inout) :: uu(sze) - complex*16, intent(out) :: vv(sze) - complex*16 :: work(sze) - double precision, intent(out) :: alpha_i, beta_i - - double precision, external :: dznrm2 - complex*16, external :: u_dot_v_complex - integer :: i - - BEGIN_DOC - ! lanczos tridiagonalization of H - ! n_lanc_iter is number of lanczos iterations - ! u1 is initial lanczos vector - ! u1 should be normalized - END_DOC - - print *,'starting lanczos' - print *,'sze = ',sze - ! exit if u1 is not normalized -! beta_norm = dznrm2(h_size,u1,1) -! if (dabs(beta_norm-1.d0) .gt. 1.d-6) then -! print *, 'Error: initial Lanczos vector is not normalized' -! stop -1 -! endif - - ! |uu> is |u(1)> - - ! |w(1)> = H|u(1)> - ! |work> is now |w(1)> - call compute_hu(uu,work,sze) - - ! alpha(n+1) = - alpha_i=real(u_dot_v_complex(uu,work,sze)) - - do i=1,sze - vv(i)=work(i)-alpha_i*uu(i) - enddo - beta_i=0.d0 - if (lanczos_debug_print) then - print*,'init uu,vv,work' - do i=1,n_lanczos_debug - write(6,'(6(E25.15))')uu(i),vv(i),work(i) - enddo - endif - ! |vv> is |v(1)> - ! |uu> is |u(1)> -end - -subroutine lanczos_h_step(uu,vv,work,sze,alpha_i,beta_i) - implicit none - integer, intent(in) :: sze - complex*16, intent(inout) :: uu(sze),vv(sze) - complex*16, intent(out) :: work(sze) - double precision, intent(out) :: alpha_i, beta_i - - double precision, external :: dznrm2 - complex*16, external :: u_dot_v_complex - integer :: i - complex*16 :: tmp_c16 - BEGIN_DOC - ! lanczos tridiagonalization of H - ! n_lanc_iter is number of lanczos iterations - ! u1 is initial lanczos vector - ! u1 should be normalized - END_DOC - - ! exit if u1 is not normalized -! beta_norm = dznrm2(h_size,u1,1) -! if (dabs(beta_norm-1.d0) .gt. 1.d-6) then -! print *, 'Error: initial Lanczos vector is not normalized' -! stop -1 -! endif - - ! |vv> is |v(n)> - ! |uu> is |u(n)> - - ! compute beta(n+1) - beta_i=dznrm2(sze,vv,1) - if (lanczos_debug_print) then - print*,'uu,vv in' - do i=1,n_lanczos_debug - write(6,'(4(E25.15))')uu(i),vv(i) - enddo - endif - ! |vv> is now |u(n+1)> - call zdscal(sze,(1.d0/beta_i),vv,1) - - ! |w(n+1)> = H|u(n+1)> - ! |work> is now |w(n+1)> - call compute_hu(vv,work,sze) - - if (lanczos_debug_print) then - print*,'vv,work' - do i=1,n_lanczos_debug - write(6,'(4(E25.15))')vv(i),work(i) - enddo - endif - - ! alpha(n+1) = - alpha_i=real(u_dot_v_complex(vv,work,sze)) - - do i=1,sze - tmp_c16=work(i)-alpha_i*vv(i)-beta_i*uu(i) - uu(i)=vv(i) - vv(i)=tmp_c16 - enddo - ! |vv> is |v(n+1)> - ! |uu> is |u(n+1)> -end - - - -subroutine lanczos_h(n_lanc_iter,alpha,beta,u1) - implicit none - integer, intent(in) :: n_lanc_iter - double precision, intent(out) :: alpha(n_lanc_iter), beta(n_lanc_iter) - complex*16, intent(in) :: u1(N_det) - integer :: h_size - double precision :: beta_norm, beta_norm_inv - complex*16, allocatable :: vec1(:), vec2(:), vec3(:) - complex*16 :: vec_tmp - double precision, external :: dznrm2 - complex*16, external :: u_dot_v_complex - - integer :: i,j,l - h_size=N_det - BEGIN_DOC - ! lanczos tridiagonalization of H - ! n_lanc_iter is number of lanczos iterations - ! u1 is initial lanczos vector - ! u1 should be normalized - END_DOC - - print *,'starting lanczos' - print *,'h_size = ',h_size -! print *,'initial vector:' -! do i=1,h_size -! print *,u1(i) -! enddo - ! exit if u1 is not normalized - beta_norm = dznrm2(h_size,u1,1) - if (dabs(beta_norm-1.d0) .gt. 1.d-6) then - print *, 'Error: initial Lanczos vector is not normalized' - stop -1 - endif - - allocate(vec1(h_size), & - vec2(h_size), & - vec3(h_size)) - - do i=1,h_size - vec1(i)=u1(i) - enddo - - ! |w1> = H|u1> - ! |vec2> = H|vec1> - call compute_hu(vec1,vec2,h_size)!! TODO: not implemented - - ! alpha(1) = = - ! = - alpha(1)=real(u_dot_v_complex(vec1,vec2,h_size)) - - ! |v1> = |w1> - alpha(1)*|u1> - ! |vec3> = |vec2> - alpha(1)*|vec1> - do i=1,h_size - vec3(i)=vec2(i)-alpha(1)*vec1(i) - enddo - do j=2,n_lanc_iter - call write_time(6) - print *,'starting lanczos iteration:',j - !! vec1 is |u(j-1)> - !! vec3 is |v(j-1)> - - ! beta(j) = sqrt() - beta_norm=dznrm2(h_size,vec3,1) - - ! TODO: check for beta=0? - beta_norm_inv=1.d0/beta_norm - - ! normalize |v(j-1)> to form |u(j)> - call zdscal(h_size,beta_norm_inv,vec3,1) - !! vec3 is |u(j)> - - ! |w(j)> = H|u(j)> - call compute_hu(vec3,vec2,h_size)!! TODO: not implemented - !! vec2 is |w(j)> - - alpha(j)=real(u_dot_v_complex(vec2,vec3,h_size)) - beta(j)=beta_norm - - ! |v(j)> = |w(j)> - alpha(j)*|u(j)> - beta(j)*|u(j-1)> - do l=1,h_size - vec_tmp=vec2(l)-alpha(j)*vec3(l)-beta(j)*vec1(l) - vec1(l)=vec3(l) - vec3(l)=vec_tmp - enddo - !! vec1 is |u(j)> - !! vec3 is |v(j)> - enddo - -end - - -subroutine compute_hu_hp(vec1,vec2,n_hp,h_size,spin_hp,sign_hp,idx_hp) - implicit none - integer, intent(in) :: h_size,n_hp - complex*16, intent(in) :: vec1(h_size,n_hp) - complex*16, intent(out) :: vec2(h_size,n_hp) - integer, intent(in) :: spin_hp(n_hp), idx_hp(n_hp) - double precision, intent (in) :: sign_hp(n_hp) - complex*16 :: vec1_tmp(h_size,n_hp) - integer :: i,j - BEGIN_DOC - ! |vec2> = H|vec1> - ! - ! TODO: implement - ! maybe reuse parts of H_S2_u_0_nstates_{openmp,zmq}? - END_DOC - - vec1_tmp(1:h_size,1:n_hp) = vec1(1:h_size,1:n_hp) - call h_u_0_hp_openmp(vec2,vec1_tmp,n_hp,h_size,spin_hp,sign_hp,idx_hp) - - do j=1,n_hp - do i=1,h_size - if (cdabs(vec1_tmp(i,j) - vec1(i,j)).gt.1.d-6) then - print*,'ERROR: vec1 was changed by h_u_0_openmp' - endif - enddo - enddo -end - -subroutine compute_hu(vec1,vec2,h_size) - implicit none - integer, intent(in) :: h_size - complex*16, intent(in) :: vec1(h_size) - complex*16, intent(out) :: vec2(h_size) - complex*16 :: vec1_tmp(h_size) - integer :: i - BEGIN_DOC - ! |vec2> = H|vec1> - ! - ! TODO: implement - ! maybe reuse parts of H_S2_u_0_nstates_{openmp,zmq}? - END_DOC - - vec1_tmp(1:h_size) = vec1(1:h_size) - call h_u_0_openmp(vec2,vec1_tmp,h_size) - - do i=1,h_size - if (cdabs(vec1_tmp(i) - vec1(i)).gt.1.d-6) then - print*,'ERROR: vec1 was changed by h_u_0_openmp' - endif - enddo -end - -subroutine compute_hu2(vec1,vec2,h_size) - implicit none - integer, intent(in) :: h_size - complex*16, intent(in) :: vec1(h_size) - complex*16, intent(out) :: vec2(h_size) - complex*16, allocatable :: u_tmp(:,:), s_tmp(:,:),v_tmp(:,:) - integer :: i - BEGIN_DOC - ! |vec2> = H|vec1> - ! - ! TODO: implement - ! maybe reuse parts of H_S2_u_0_nstates_{openmp,zmq}? - END_DOC - - allocate(u_tmp(1,h_size),s_tmp(1,h_size),v_tmp(1,h_size)) - - u_tmp(1,1:h_size) = vec1(1:h_size) - call h_s2_u_0_nstates_openmp(v_tmp,s_tmp,u_tmp,1,h_size) - - do i=1,h_size - if (cdabs(u_tmp(1,i) - vec1(i)).gt.1.d-6) then - print*,'ERROR: vec1 was changed by h_u_0_openmp' - endif - enddo - vec2(1:h_size)=v_tmp(1,1:h_size) - deallocate(u_tmp,v_tmp,s_tmp) -end - - - -subroutine diag_lanczos_vals_vecs(alpha, beta, nlanc, vals, vecs, sze) - implicit none - BEGIN_DOC - ! diagonalization of tridiagonal form of H - ! this returns eigenvalues and eigenvectors in vals,vecs - END_DOC - integer, intent(in) :: nlanc,sze - double precision, intent(in) :: alpha(sze), beta(sze) - double precision, intent(out) :: vals(sze), vecs(sze,sze) - double precision :: work(2*nlanc-2), beta_tmp(nlanc-1) - integer :: i,info - - vals(1)=alpha(1) - do i=2,nlanc - vals(i)=alpha(i) - beta_tmp(i-1)=beta(i) - enddo - - call dstev('V', nlanc, vals, beta_tmp, vecs, sze, work, info) - if (info.gt.0) then - print *,'WARNING: diagonalization of tridiagonal form of H did not converge' - else if (info.lt.0) then - print *,'WARNING: argument to dstev had illegal value' - endif -end - -subroutine diag_lanczos_vals_hp(alpha, beta, nlanc, vals, sze,ng) - implicit none - BEGIN_DOC - ! diagonalization of tridiagonal form of H - ! this returns eigenvalues in vals - END_DOC - integer, intent(in) :: nlanc,sze,ng - !double precision, intent(in) :: alpha(ng,sze), beta(sze) - double precision, intent(in) :: alpha(sze,ng), beta(sze,ng) - double precision, intent(out) :: vals(sze,ng) - double precision :: work(1), beta_tmp(nlanc-1), vecs(1) - integer :: i,info,ig - - do ig=1,ng - vals(1,ig)=alpha(1,ig) - do i=2,nlanc - vals(i,ig)=alpha(i,ig) - beta_tmp(i-1)=beta(i,ig) - enddo - - call dstev('N', nlanc, vals(:,ig), beta_tmp, vecs, 1, work, info) - if (info.gt.0) then - print *,'WARNING: diagonalization of tridiagonal form of H did not converge' - else if (info.lt.0) then - print *,'WARNING: argument to dstev had illegal value' - endif - enddo -end -subroutine diag_lanczos_vals(alpha, beta, nlanc, vals, sze) - implicit none - BEGIN_DOC - ! diagonalization of tridiagonal form of H - ! this returns eigenvalues in vals - END_DOC - integer, intent(in) :: nlanc,sze - double precision, intent(in) :: alpha(sze), beta(sze) - double precision, intent(out) :: vals(sze) - double precision :: work(1), beta_tmp(nlanc-1), vecs(1) - integer :: i,info - - vals(1)=alpha(1) - do i=2,nlanc - vals(i)=alpha(i) - beta_tmp(i-1)=beta(i) - enddo - - call dstev('N', nlanc, vals, beta_tmp, vecs, 1, work, info) - if (info.gt.0) then - print *,'WARNING: diagonalization of tridiagonal form of H did not converge' - else if (info.lt.0) then - print *,'WARNING: argument to dstev had illegal value' - endif -end diff --git a/src/green/plot-spec-dens.py b/src/green/plot-spec-dens.py deleted file mode 100755 index bf4f2294..00000000 --- a/src/green/plot-spec-dens.py +++ /dev/null @@ -1,90 +0,0 @@ -#!/bin/env python - -import gzip -import sys -from math import pi -inv_pi = 1.0/pi - -def spec_dens(alpha,beta,z0,g_sign,e_shift): - sze=len(alpha) - sze_b=len(beta) - if (sze != sze_b): - print('Error: size mismatch',sze,sze_b) - sys.exit(1) - z=z0-g_sign*e_shift - tmp=0.0+0.0j - #for ai,bi in zip(reversed(a),reversed(b)) - for i in range(sze-1,0,-1): - tmp=-(beta[i]**2)/(z+g_sign*alpha[i]+tmp) - tmp=1.0/(z+g_sign*alpha[0]+tmp) - return -1.0 * tmp.imag * inv_pi - -def printspec(ezdir,wmin,wmax,nw,eps): - gdir=ezdir+'/green/' - with open(gdir+'n_green_vec') as infile: - ngvec=int(infile.readline().strip()) - with open(ezdir+'/fci/energy') as infile: - e0=float(infile.readline().strip()) - with open(gdir+'n_lanczos_complete') as infile: - nlanc=int(infile.readline().strip()) - - with gzip.open(gdir+'green_sign.gz') as infile: - gsign0=infile.read().split() - - with gzip.open(gdir+'alpha_lanczos.gz') as infile: - adata0=infile.read().split() - with gzip.open(gdir+'beta_lanczos.gz') as infile: - bdata0=infile.read().split() - - adim=int(adata0.pop(0)) - bdim=int(bdata0.pop(0)) - gsigndim=int(gsign0.pop(0)) - assert adim==2, 'dimension of alpha_lanczos should be 2' - assert bdim==2, 'dimension of beta_lanczos should be 2' - assert gsigndim==1, 'dimension of green_sign should be 1' - - ngvec_2=int(gsign0.pop(0)) - assert ngvec_2==ngvec, 'problem with size of green_sign.gz' - - ashape=tuple(map(int,adata0[:adim])) - bshape=tuple(map(int,bdata0[:bdim])) - assert ashape==(nlanc,ngvec), 'shape of alpha_lanczos should be (nlanc, ngvec)' - assert bshape==(nlanc,ngvec), 'shape of beta_lanczos should be (nlanc, ngvec)' - - amat=[] - for xi in range(ngvec): - amat.append(list(map(float,adata0[adim+xi*nlanc:adim+(xi+1)*nlanc]))) - - bmat=[] - b2mat=[] - for xi in range(ngvec): - #bmat.append(list(map(float,bdata0[bdim+xi*nlanc:bdim+(xi+1)*nlanc]))) - b_tmp=list(map(float,bdata0[bdim+xi*nlanc:bdim+(xi+1)*nlanc])) - b2_tmp=[i*i for i in b_tmp] - bmat.append(b_tmp) - b2mat.append(b2_tmp) - - gsign=list(map(float,gsign0)) - dw=(wmax-wmin)/(nw-1) - wlist = [wmin+iw*dw for iw in range(nw)] - densmat=[] - for ivec in range(ngvec): - densmat.append([spec_dens(amat[ivec],bmat[ivec],iw+1.j*eps,gsign[ivec],e0) for iw in wlist]) - - for i,dd in enumerate(zip(*densmat)): - print(('{:15.6E}'+ngvec*'{:25.15E}').format(wlist[i],*dd)) - -if __name__ == '__main__': - - if len(sys.argv) != 6: - print('bad args') - print('USAGE: plot-spec-dens.py ezfio omega_min omega_max n_omega epsilon') - sys.exit(1) - ezfio=sys.argv[1] - wmin=float(sys.argv[2]) - wmax=float(sys.argv[3]) - nw=int(sys.argv[4]) - eps=float(sys.argv[5]) - printspec(ezfio,wmin,wmax,nw,eps) - - diff --git a/src/green/print_dets_test.irp.f b/src/green/print_dets_test.irp.f deleted file mode 100644 index 6466141e..00000000 --- a/src/green/print_dets_test.irp.f +++ /dev/null @@ -1,15 +0,0 @@ -program print_dets_test - implicit none - read_wf = .True. - touch read_wf - call routine - -end - -subroutine routine - use bitmasks - implicit none - integer :: i - read*,i - print*,psi_det(:,:,i) -end diff --git a/src/green/print_e_mo_debug.irp.f b/src/green/print_e_mo_debug.irp.f deleted file mode 100644 index 1fe41e34..00000000 --- a/src/green/print_e_mo_debug.irp.f +++ /dev/null @@ -1,15 +0,0 @@ -program print_e_mo_debug - implicit none - read_wf = .True. - touch read_wf - call routine - -end - -subroutine routine - use bitmasks - implicit none - integer :: i - read*,i - call print_mo_energies(psi_det(:,:,i),N_int,mo_num) -end diff --git a/src/green/print_h_debug.irp.f b/src/green/print_h_debug.irp.f deleted file mode 100644 index 4dd394d7..00000000 --- a/src/green/print_h_debug.irp.f +++ /dev/null @@ -1,178 +0,0 @@ -program print_h_debug - implicit none - read_wf = .True. - touch read_wf - call routine - -end - -subroutine routine - use bitmasks - implicit none - integer :: i,j - integer, allocatable :: H_matrix_degree(:,:) - double precision, allocatable :: H_matrix_phase(:,:) - integer :: degree - integer(bit_kind), allocatable :: keys_tmp(:,:,:) - allocate(keys_tmp(N_int,2,N_det)) - do i = 1, N_det - print*,'' - call debug_det(psi_det(1,1,i),N_int) - do j = 1, N_int - keys_tmp(j,1,i) = psi_det(j,1,i) - keys_tmp(j,2,i) = psi_det(j,2,i) - enddo - enddo - if(N_det.gt.10000)then - print*,'Warning !!!' - print*,'Number of determinants is ',N_det - print*,'It means that the H matrix will be enormous !' - print*,'stoppping ..' - stop - endif - print*,'' - print*,'Determinants ' - do i = 1, N_det - enddo - allocate(H_matrix_degree(N_det,N_det),H_matrix_phase(N_det,N_det)) - integer :: exc(0:2,2,2) - double precision :: phase - do i = 1, N_det - do j = i, N_det - call get_excitation_degree(psi_det(1,1,i),psi_det(1,1,j),degree,N_int) - H_matrix_degree(i,j) = degree - H_matrix_degree(j,i) = degree - phase = 0.d0 - if(degree==1.or.degree==2)then - call get_excitation(psi_det(1,1,i),psi_det(1,1,j),exc,degree,phase,N_int) - endif - H_matrix_phase(i,j) = phase - H_matrix_phase(j,i) = phase - enddo - enddo - print*,'H matrix ' - double precision :: s2 - complex*16 :: ref_h_matrix - ref_h_matrix = h_matrix_all_dets_complex(1,1) - print*,'HF like determinant energy = ',ref_bitmask_energy+nuclear_repulsion - print*,'Ref element of H_matrix = ',ref_h_matrix+nuclear_repulsion - print*,'Printing the H matrix ...' - print*,'' - print*,'' -!do i = 1, N_det -! H_matrix_all_dets(i,i) -= ref_h_matrix -!enddo - - do i = 1, N_det - H_matrix_all_dets_complex(i,i) += nuclear_repulsion - enddo - -!do i = 5,N_det -! H_matrix_all_dets(i,3) = 0.d0 -! H_matrix_all_dets(3,i) = 0.d0 -! H_matrix_all_dets(i,4) = 0.d0 -! H_matrix_all_dets(4,i) = 0.d0 -!enddo - - - - -! TODO: change for complex - do i = 1, N_det - write(*,'(I3,X,A3,2000(E24.15))')i,' | ',H_matrix_all_dets_complex(i,:) - enddo - -! print*,'' -! print*,'' -! print*,'' -! print*,'Printing the degree of excitations within the H matrix' -! print*,'' -! print*,'' -! do i = 1, N_det -! write(*,'(I3,X,A3,X,1000(I1,X))')i,' | ',H_matrix_degree(i,:) -! enddo -! -! -! print*,'' -! print*,'' -! print*,'Printing the phase of the Hamiltonian matrix elements ' -! print*,'' -! print*,'' -! do i = 1, N_det -! write(*,'(I3,X,A3,X,1000(F3.0,X))')i,' | ',H_matrix_phase(i,:) -! enddo -! print*,'' - - -! double precision, allocatable :: eigenvalues(:) -! complex*16, allocatable :: eigenvectors(:,:) -! double precision, allocatable :: s2_eigvalues(:) -! allocate (eigenvectors(size(H_matrix_all_dets,1),N_det)) -! allocate (eigenvalues(N_det),s2_eigvalues(N_det)) -! call lapack_diag_complex(eigenvalues,eigenvectors, & -! H_matrix_all_dets,size(H_matrix_all_dets,1),N_det) -! print*,'Two first eigenvectors ' -! call u_0_S2_u_0(s2_eigvalues,eigenvectors,n_det,keys_tmp,N_int,N_det,size(eigenvectors,1)) -! do j =1, N_states -! print*,'s2 = ',s2_eigvalues(j) -! print*,'e = ',eigenvalues(j) -! print*,'coefs : ' -! do i = 1, N_det -! print*,'i = ',i,eigenvectors(i,j) -! enddo -! if(j>1)then -! print*,'Delta E(H) = ',eigenvalues(1) - eigenvalues(j) -! print*,'Delta E(eV) = ',(eigenvalues(1) - eigenvalues(j))*27.2114d0 -! endif -! enddo -! complex*16 :: get_mo_bielec_integral,k_a_iv,k_b_iv -! integer :: h1,p1,h2,p2 -! h1 = 10 -! p1 = 16 -! h2 = 14 -! p2 = 14 -!!h1 = 1 -!!p1 = 4 -!!h2 = 2 -!!p2 = 2 -! k_a_iv = get_mo_bielec_integral(h1,h2,p2,p1,mo_integrals_map) -! h2 = 15 -! p2 = 15 -! k_b_iv = get_mo_bielec_integral(h1,h2,p2,p1,mo_integrals_map) -! print*,'k_a_iv = ',k_a_iv -! print*,'k_b_iv = ',k_b_iv -! complex*16 :: k_av,k_bv,k_ai,k_bi -! h1 = 16 -! p1 = 14 -! h2 = 14 -! p2 = 16 -! k_av = get_mo_bielec_integral(h1,h2,p1,p2,mo_integrals_map) -! h1 = 16 -! p1 = 15 -! h2 = 15 -! p2 = 16 -! k_bv = get_mo_bielec_integral(h1,h2,p1,p2,mo_integrals_map) -! -! h1 = 10 -! p1 = 14 -! h2 = 14 -! p2 = 10 -! k_ai = get_mo_bielec_integral(h1,h2,p1,p2,mo_integrals_map) -! -! h1 = 10 -! p1 = 15 -! h2 = 15 -! p2 = 10 -! k_bi = get_mo_bielec_integral(h1,h2,p1,p2,mo_integrals_map) -! -! print*,'k_av, k_bv = ',k_av,k_bv -! print*,'k_ai, k_bi = ',k_ai,k_bi -! complex*16 :: k_iv -! -! h1 = 10 -! p1 = 16 -! h2 = 16 -! p2 = 10 -! k_iv = get_mo_bielec_integral(h1,h2,p1,p2,mo_integrals_map) -! print*,'k_iv = ',k_iv -end diff --git a/src/green/print_h_omp_debug.irp.f b/src/green/print_h_omp_debug.irp.f deleted file mode 100644 index 0a9cd930..00000000 --- a/src/green/print_h_omp_debug.irp.f +++ /dev/null @@ -1,41 +0,0 @@ -program print_h_omp_debug - implicit none - read_wf = .True. - touch read_wf - call routine_omp - -end - -subroutine routine_omp - use bitmasks - implicit none - integer :: h_size - complex*16, allocatable :: u_tmp(:,:), s_tmp(:,:),v_tmp(:,:) - integer :: i,n_st - h_size=N_det - BEGIN_DOC - ! |vec2> = H|vec1> - ! - ! TODO: implement - ! maybe reuse parts of H_S2_u_0_nstates_{openmp,zmq}? - END_DOC - n_st=min(1000,h_size) - allocate(u_tmp(n_st,h_size),s_tmp(n_st,h_size),v_tmp(n_st,h_size)) - - u_tmp=(0.d0,0.d0) - v_tmp=(0.d0,0.d0) - s_tmp=(0.d0,0.d0) - - do i=1,n_st - u_tmp(i,i)=(1.d0,0.d0) - enddo - - call h_s2_u_0_nstates_openmp_complex(v_tmp,s_tmp,u_tmp,n_st,h_size) - do i = 1, n_st - v_tmp(i,i) += nuclear_repulsion - enddo - do i = 1, n_st - write(*,'(I3,X,A3,2000(E24.15))')i,' | ',v_tmp(i,:) - enddo - deallocate(u_tmp,v_tmp,s_tmp) -end diff --git a/src/green/print_spectral_dens.irp.f b/src/green/print_spectral_dens.irp.f deleted file mode 100644 index ca6826ce..00000000 --- a/src/green/print_spectral_dens.irp.f +++ /dev/null @@ -1,43 +0,0 @@ -program print_spectral_dens - implicit none - BEGIN_DOC -! TODO - END_DOC - read_wf = .True. - touch read_wf - provide n_green_vec - call print_lanczos_eigvals - call print_spec -end - -subroutine print_lanczos_eigvals - implicit none - integer :: i, iunit, j - integer :: getunitandopen - character(5) :: jstr - - do j=1,n_green_vec - write(jstr,'(I0.3)') j - iunit = getunitandopen('lanczos_eigval_alpha_beta.out.'//trim(jstr),'w') - print *, 'printing lanczos eigenvalues, alpha, beta to "lanczos_eigval_alpha_beta.out.'//trim(jstr)//'"' - do i=1,n_lanczos_iter - write(iunit,'(I6,3(E25.15))') i, lanczos_eigvals(i,j), alpha_lanczos(i,j), beta_lanczos(i,j) - enddo - close(iunit) - enddo -end -subroutine print_spec - implicit none - integer :: i, iunit, j - integer :: getunitandopen - character(5) :: jstr - do j=1,n_green_vec - write(jstr,'(I0.3)') j - iunit = getunitandopen('omega_A.out.'//trim(jstr),'w') - print *, 'printing frequency, spectral density to "omega_A.out.'//trim(jstr)//'"' - do i=1,n_omega - write(iunit,'(2(E25.15))') omega_list(i), spectral_lanczos(i,j) - enddo - close(iunit) - enddo -end diff --git a/src/green/utils_hp.irp.f b/src/green/utils_hp.irp.f deleted file mode 100644 index 264e3014..00000000 --- a/src/green/utils_hp.irp.f +++ /dev/null @@ -1,614 +0,0 @@ -subroutine print_mo_energies(key_ref,nint,nmo) - use bitmasks - BEGIN_DOC - ! get mo energies for one det - END_DOC - implicit none - integer, intent(in) :: nint, nmo - integer(bit_kind), intent(in) :: key_ref(nint,2) - double precision, allocatable :: e_mo(:,:) - integer, allocatable :: occ(:,:),virt(:,:) !(nint*bit_kind_size,2) - integer :: n_occ(2), n_virt(2) - integer, parameter :: int_spin2(1:2) = (/2,1/) - integer :: i,j,ispin,jspin,i0,j0,k - integer(bit_kind), allocatable :: key_virt(:,:) - integer, allocatable :: is_occ(:,:) - - - allocate(occ(nint*bit_kind_size,2),virt(nint*bit_kind_size,2),key_virt(nint,2),e_mo(nmo,2),is_occ(nmo,2)) - is_occ=0 - - call bitstring_to_list_ab(key_ref,occ,n_occ,nint) - do i=1,nint - do ispin=1,2 - key_virt(i,ispin)=xor(full_ijkl_bitmask(i),key_ref(i,ispin)) - enddo - enddo - call bitstring_to_list_ab(key_virt,virt,n_virt,nint) - - e_mo(1:nmo,1)=mo_one_e_integrals_diag(1:nmo) - e_mo(1:nmo,2)=mo_one_e_integrals_diag(1:nmo) - - do ispin=1,2 - jspin=int_spin2(ispin) - do i0=1,n_occ(ispin) - i=occ(i0,ispin) - is_occ(i,ispin)=1 - do j0=i0+1,n_occ(ispin) - j=occ(j0,ispin) - e_mo(i,ispin) = e_mo(i,ispin) + mo_two_e_integrals_jj_anti(i,j) - e_mo(j,ispin) = e_mo(j,ispin) + mo_two_e_integrals_jj_anti(i,j) - enddo - do k=2,ispin - do j0=1,n_occ(jspin) - j=occ(j0,jspin) - e_mo(i,ispin) = e_mo(i,ispin) + mo_two_e_integrals_jj(i,j) - e_mo(j,jspin) = e_mo(j,jspin) + mo_two_e_integrals_jj(i,j) !can delete this and remove k level of loop - enddo - enddo - do j0=1,n_virt(ispin) - j=virt(j0,ispin) - e_mo(j,ispin) = e_mo(j,ispin) + mo_two_e_integrals_jj_anti(i,j) - enddo - do j0=1,n_virt(jspin) - j=virt(j0,jspin) - e_mo(j,jspin) = e_mo(j,jspin) + mo_two_e_integrals_jj(i,j) - enddo - enddo - enddo - - do i=1,nmo - write(6,'(2(I5),2(E25.15))')is_occ(i,1),is_occ(i,2),e_mo(i,1),e_mo(i,2) - enddo - deallocate(occ,virt,key_virt,e_mo,is_occ) -end - -subroutine get_mo_energies(key_ref,nint,nmo,e_mo) - use bitmasks - BEGIN_DOC - ! get mo energies for one det - END_DOC - implicit none - integer, intent(in) :: nint, nmo - integer(bit_kind), intent(in) :: key_ref(nint,2) - double precision, intent(out) :: e_mo(nmo,2) - integer, allocatable :: occ(:,:),virt(:,:) !(nint*bit_kind_size,2) - integer :: n_occ(2), n_virt(2) - integer, parameter :: int_spin2(1:2) = (/2,1/) - integer :: i,j,ispin,jspin,i0,j0,k - integer(bit_kind), allocatable :: key_virt(:,:) - - - allocate(occ(nint*bit_kind_size,2),virt(nint*bit_kind_size,2),key_virt(nint,2)) - - call bitstring_to_list_ab(key_ref,occ,n_occ,nint) - do i=1,nint - do ispin=1,2 - key_virt(i,ispin)=xor(full_ijkl_bitmask(i),key_ref(i,ispin)) - enddo - enddo - call bitstring_to_list_ab(key_virt,virt,n_virt,nint) - - e_mo(1:nmo,1)=mo_one_e_integrals_diag(1:nmo) - e_mo(1:nmo,2)=mo_one_e_integrals_diag(1:nmo) - - do ispin=1,2 - jspin=int_spin2(ispin) - do i0=1,n_occ(ispin) - i=occ(i0,ispin) - do j0=i0+1,n_occ(ispin) - j=occ(j0,ispin) - e_mo(i,ispin) = e_mo(i,ispin) + mo_two_e_integrals_jj_anti(i,j) - e_mo(j,ispin) = e_mo(j,ispin) + mo_two_e_integrals_jj_anti(i,j) - enddo - do k=2,ispin - do j0=1,n_occ(jspin) - j=occ(j0,jspin) - e_mo(i,ispin) = e_mo(i,ispin) + mo_two_e_integrals_jj(i,j) - e_mo(j,jspin) = e_mo(j,jspin) + mo_two_e_integrals_jj(i,j) !can delete this and remove k level of loop - enddo - enddo - do j0=1,n_virt(ispin) - j=virt(j0,ispin) - e_mo(j,ispin) = e_mo(j,ispin) + mo_two_e_integrals_jj_anti(i,j) - enddo - do j0=1,n_virt(jspin) - j=virt(j0,jspin) - e_mo(j,jspin) = e_mo(j,jspin) + mo_two_e_integrals_jj(i,j) - enddo - enddo - enddo - - deallocate(occ,virt,key_virt) -end - -subroutine get_mask_phase_new(det1, pm, Nint) - use bitmasks - BEGIN_DOC - ! phasemask copied from qp2 - ! return phasemask of det1 in pm - END_DOC - implicit none - integer, intent(in) :: Nint - integer(bit_kind), intent(in) :: det1(Nint,2) - integer(bit_kind), intent(out) :: pm(Nint,2) - integer(bit_kind) :: tmp1, tmp2 - integer :: i - pm(1:Nint,1:2) = det1(1:Nint,1:2) - tmp1 = 0_8 - tmp2 = 0_8 - do i=1,Nint - pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 1)) - pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 1)) - pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 2)) - pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 2)) - pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 4)) - pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 4)) - pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 8)) - pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 8)) - pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 16)) - pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 16)) - pm(i,1) = ieor(pm(i,1), shiftl(pm(i,1), 32)) - pm(i,2) = ieor(pm(i,2), shiftl(pm(i,2), 32)) - pm(i,1) = ieor(pm(i,1), tmp1) - pm(i,2) = ieor(pm(i,2), tmp2) - if(iand(popcnt(det1(i,1)), 1) == 1) tmp1 = not(tmp1) - if(iand(popcnt(det1(i,2)), 1) == 1) tmp2 = not(tmp2) - end do -end subroutine - -subroutine get_phase_hp(g_idx_int,g_idx_bit,g_spin,g_sign,det_in,g_det_phase,nint,n_g) - use bitmasks - implicit none - integer, intent(in) :: nint,n_g - integer, intent(in) :: g_idx_int(n_g), g_idx_bit(n_g),g_spin(n_g) - double precision, intent(in) :: g_sign(n_g) - integer(bit_kind), intent(in) :: det_in(nint,2) - double precision, intent(out) :: g_det_phase(n_g) - - integer(bit_kind) :: tmp_spindet(nint), pm(nint,2) - double precision, parameter :: phase_dble(0:1) = (/1.d0,-1.d0/) - - integer :: i - logical :: is_allowed(n_g), all_banned, is_filled - - all_banned=.True. - do i=1,n_g - tmp_spindet(1:nint) = det_in(1:nint,g_spin(i)) - call spinorb_is_filled_int_bit(tmp_spindet,g_idx_int(i),g_idx_bit(i),nint,is_filled) - is_allowed(i) = (.not.(((g_sign(i)<0).and.(.not.is_filled)).or.((g_sign(i)>0).and.(is_filled)))) - all_banned=(all_banned.and.(.not.is_allowed(i))) - enddo - - if (all_banned) then - g_det_phase(:)=0.d0 - else - call get_mask_phase_new(det_in,pm,nint) - do i=1,n_g - if (is_allowed(i)) then - g_det_phase(i) = phase_dble(popcnt(iand(ibset(0_bit_kind,g_idx_bit(i)),pm(g_idx_int(i),g_spin(i))))) - else - g_det_phase(i)=0.d0 - endif - enddo - endif -end - -subroutine get_homo_lumo(key_ref,nint,nmo,idx_homo_lumo,spin_homo_lumo) - use bitmasks - implicit none - integer, intent(in) :: nint,nmo - integer(bit_kind), intent(in) :: key_ref(nint,2) - integer, intent(out) :: idx_homo_lumo(2), spin_homo_lumo(2) - - double precision, allocatable :: e_mo(:,:) - integer, allocatable :: occ(:,:),virt(:,:) !(nint*bit_kind_size,2) - integer :: n_occ(2), n_virt(2) - integer :: i,i0,ispin - integer(bit_kind), allocatable :: key_virt(:,:) - double precision :: maxocc(2), minvirt(2) - integer :: imaxocc(2), iminvirt(2) - - allocate(e_mo(nmo,2),key_virt(nint,2),occ(nint*bit_kind_size,2),virt(nint*bit_kind_size,2)) - - call get_mo_energies(key_ref,nint,nmo,e_mo) - - !allocate(occ(nint*bit_kind_size,2),virt(nint*bit_kind_size,2)) - - call bitstring_to_list_ab(key_ref,occ,n_occ,nint) - do i=1,nint - do ispin=1,2 - key_virt(i,ispin)=xor(full_ijkl_bitmask(i),key_ref(i,ispin)) - enddo - enddo - call bitstring_to_list_ab(key_virt,virt,n_virt,nint) - - maxocc=-1.d20 !maybe use -1.d0*huge(0.d0)? - minvirt=1.d20 - imaxocc=-1 - iminvirt=-1 - - do ispin=1,2 - do i0=1,n_occ(ispin) - i=occ(i0,ispin) - if (e_mo(i,ispin).gt.maxocc(ispin)) then - maxocc(ispin)=e_mo(i,ispin) - imaxocc(ispin)=i - endif - enddo - do i0=1,n_virt(ispin) - i=virt(i0,ispin) - if (e_mo(i,ispin).lt.minvirt(ispin)) then - minvirt(ispin)=e_mo(i,ispin) - iminvirt(ispin)=i - endif - enddo - enddo - double precision :: e_mo_thresh - e_mo_thresh = 1.d-8 - !these should both just be 2x2 arrays, but performance here doesn't really matter and this is more readable - !if (maxocc(1).ge.maxocc(2)) then - if ((maxocc(2)-maxocc(1)).le.e_mo_thresh) then - spin_homo_lumo(1)=1 - else - spin_homo_lumo(1)=2 - endif - if ((minvirt(1)-minvirt(2)).le.e_mo_thresh) then - spin_homo_lumo(2)=1 - else - spin_homo_lumo(2)=2 - endif - - idx_homo_lumo(1)=imaxocc(spin_homo_lumo(1)) - idx_homo_lumo(2)=iminvirt(spin_homo_lumo(2)) - - deallocate(e_mo,occ,virt,key_virt) - -end - -subroutine get_list_hp_banned_ab(tmp_det,N_hp,exc_is_banned,spin_hp,sign_hp,idx_hp,nint,all_banned) - use bitmasks - implicit none - BEGIN_DOC - ! input determinant tmp_det and list of single holes/particles - ! for each hole/particle, determine whether it is filled/empty in tmp_det - ! return which are disallowed in exc_is_banned - ! if all are banned, set all_banned to true - END_DOC - integer, intent(in) :: N_hp,nint - integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) - double precision, intent(in) :: sign_hp(N_hp) - integer(bit_kind), intent(in) :: tmp_det(nint,2) - logical, intent(out) :: exc_is_banned(N_hp) - logical, intent(out) :: all_banned - - integer :: i - logical :: is_filled - - all_banned = .True. - do i=1,N_hp - call orb_is_filled(tmp_det,idx_hp(i),spin_hp(i),nint,is_filled) - if (sign_hp(i).gt.0) then ! particle creation, banned if already filled - exc_is_banned(i) = is_filled - else ! hole creation, banned if already empty - exc_is_banned(i) = (.not.is_filled) - endif - all_banned = (all_banned.and.exc_is_banned(i)) - enddo -end - -subroutine get_list_hp_banned_single_spin(tmp_spindet,N_hp,exc_is_banned,spin_hp,sign_hp,idx_hp,ispin,nint,all_banned) - use bitmasks - implicit none - BEGIN_DOC - ! input spindeterminant tmp_spindet and list of single holes/particles - ! tmp_spindet is only one spin part of a full det, with spin==ispin - ! for each hole/particle, determine whether it is filled/empty in tmp_det - ! return which are disallowed in exc_is_banned - ! if all are banned, set all_banned to true - END_DOC - integer, intent(in) :: N_hp, ispin, nint - integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) - double precision, intent(in) :: sign_hp(N_hp) - integer(bit_kind), intent(in) :: tmp_spindet(nint) - logical, intent(out) :: exc_is_banned(N_hp) - logical, intent(out) :: all_banned - - integer :: i - logical :: is_filled - - all_banned = .True. - do i=1,N_hp - if (spin_hp(i).eq.ispin) then - call orb_is_filled_single_spin(tmp_spindet,idx_hp(i),nint,is_filled) - if (sign_hp(i).gt.0) then ! particle creation, banned if already filled - exc_is_banned(i) = is_filled - else ! hole creation, banned if already empty - exc_is_banned(i) = (.not.is_filled) - endif - else - exc_is_banned(i) = .False. - endif - all_banned = (all_banned.and.exc_is_banned(i)) - enddo -end - -subroutine get_list_hp_banned_spin(tmp_det,N_hp,exc_is_banned,spin_hp,sign_hp,idx_hp,ispin,nint,all_banned) - use bitmasks - implicit none - BEGIN_DOC - ! input determinant tmp_det and list of single holes/particles - ! for each hole/particle, determine whether it is filled/empty in tmp_det - ! return which are disallowed in exc_is_banned - ! if all are banned, set all_banned to true - ! only consider tmp_det(1:N_int, ispin) - END_DOC - integer, intent(in) :: N_hp, ispin, nint - integer, intent(in) :: spin_hp(N_hp), idx_hp(N_hp) - double precision, intent(in) :: sign_hp(N_hp) - integer(bit_kind), intent(in) :: tmp_det(nint,2) - logical, intent(out) :: exc_is_banned(N_hp) - logical, intent(out) :: all_banned - - integer(bit_kind) :: spindet(nint) - - integer :: i - logical :: is_filled - spindet(1:nint) = tmp_det(1:nint,ispin) - - all_banned = .True. - do i=1,N_hp - if (spin_hp(i).eq.ispin) then - call orb_is_filled(tmp_det,idx_hp(i),ispin,nint,is_filled) - if (sign_hp(i).gt.0) then ! particle creation, banned if already filled - exc_is_banned(i) = is_filled - else ! hole creation, banned if already empty - exc_is_banned(i) = (.not.is_filled) - endif - else - exc_is_banned(i) = .False. - endif - all_banned = (all_banned.and.exc_is_banned(i)) - enddo -end - - -subroutine spinorb_is_filled_int_bit(key_ref,iorb_int,iorb_bit,Nint,is_filled) - use bitmasks - implicit none - BEGIN_DOC - ! determine whether iorb is filled in key_ref - ! iorb is specified by int and bit locations within the determinant - END_DOC - integer, intent(in) :: iorb_int, iorb_bit, Nint - integer(bit_kind), intent(in) :: key_ref(Nint) - logical, intent(out) :: is_filled - - ASSERT (iorb_int > 0) - ASSERT (iorb_bit >= 0) - ASSERT (Nint > 0) - is_filled = btest(key_ref(iorb_int),iorb_bit) -end - -subroutine orb_is_filled_int_bit(key_ref,iorb_int,iorb_bit,ispin,Nint,is_filled) - use bitmasks - implicit none - BEGIN_DOC - ! todo: not finished - ! determine whether iorb is filled in key_ref - ! iorb is specified by int and bit locations within the determinant - END_DOC - integer, intent(in) :: iorb_int, iorb_bit, ispin, Nint - integer(bit_kind), intent(in) :: key_ref(Nint,2) - logical, intent(out) :: is_filled - - ASSERT (iorb_int > 0) - ASSERT (iorb_bit >= 0) - ASSERT (ispin > 0) - ASSERT (ispin < 3) - ASSERT (Nint > 0) - is_filled = btest(key_ref(iorb_int,ispin),iorb_bit) -! call spinorb_is_filled_int_bit(key_ref(1,ispin),iorb_int,iorb_bit,Nint,is_filled) -end - -subroutine get_orb_int_bit(iorb,iorb_int,iorb_bit) - BEGIN_DOC - ! get int and bit corresponding to orbital index iorb - END_DOC - use bitmasks - implicit none - integer, intent(in) :: iorb - integer, intent(out) :: iorb_int, iorb_bit - ASSERT (iorb > 0) - iorb_int = ishft(iorb-1,-bit_kind_shift)+1 - ASSERT (iorb_int > 0) - iorb_bit = iorb - ishft(iorb_int-1,bit_kind_shift)-1 - ASSERT (iorb_bit >= 0) -end - -subroutine orb_is_filled_single_spin(key_ref,iorb,Nint,is_filled) - use bitmasks - implicit none - BEGIN_DOC - ! determine whether iorb is filled in key_ref - ! key_ref is single alpha or beta determinant - END_DOC - integer, intent(in) :: iorb, Nint - integer(bit_kind), intent(in) :: key_ref(Nint) - logical, intent(out) :: is_filled - - integer :: k,l - - ASSERT (iorb > 0) - ASSERT (Nint > 0) - - ! k is index of the int where iorb is found - ! l is index of the bit where iorb is found - k = ishft(iorb-1,-bit_kind_shift)+1 - ASSERT (k >0) - l = iorb - ishft(k-1,bit_kind_shift)-1 - ASSERT (l >= 0) - is_filled = btest(key_ref(k),l) -end - -subroutine orb_is_filled(key_ref,iorb,ispin,Nint,is_filled) - use bitmasks - implicit none - BEGIN_DOC - ! determine whether iorb, ispin is filled in key_ref - ! key_ref has alpha and beta parts - END_DOC - integer, intent(in) :: iorb, ispin, Nint - integer(bit_kind), intent(in) :: key_ref(Nint,2) - logical, intent(out) :: is_filled - - integer :: k,l - - ASSERT (iorb > 0) - ASSERT (ispin > 0) - ASSERT (ispin < 3) - ASSERT (Nint > 0) - - ! k is index of the int where iorb is found - ! l is index of the bit where iorb is found - k = ishft(iorb-1,-bit_kind_shift)+1 - ASSERT (k >0) - l = iorb - ishft(k-1,bit_kind_shift)-1 - ASSERT (l >= 0) - is_filled = btest(key_ref(k,ispin),l) -end - -subroutine ac_operator_phase(key_new,key_ref,iorb,ispin,Nint,phase) - use bitmasks - implicit none - BEGIN_DOC - ! apply creation operator to key_ref - ! add electron with spin ispin to orbital with index iorb - ! output resulting det and phase in key_new and phase - END_DOC - integer, intent(in) :: iorb, ispin, Nint - integer(bit_kind), intent(in) :: key_ref(Nint,2) - integer(bit_kind), intent(out) :: key_new(Nint,2) - double precision, intent(out) :: phase - - integer :: k,l,i - - double precision, parameter :: p(0:1) = (/ 1.d0, -1.d0 /) - - ASSERT (iorb > 0) - ASSERT (ispin > 0) - ASSERT (ispin < 3) - ASSERT (Nint > 0) - - key_new=key_ref - - ! alpha det is list of Nint 64-bit ints - ! k is index of the int where iorb is found - ! l is index of the bit where iorb is found - k = ishft(iorb-1,-bit_kind_shift)+1 - ASSERT (k >0) - l = iorb - ishft(k-1,bit_kind_shift)-1 - ASSERT (l >= 0) - key_new(k,ispin) = ibset(key_new(k,ispin),l) - - integer(bit_kind) :: parity_filled - - ! I assume here that the ordering is all alpha spinorbs and then all beta spinorbs - ! If we add an alpha electron, parity is not affected by beta part of determinant - ! (only need number of alpha occupied orbs below iorb) - - ! If we add a beta electron, the parity is affected by alpha part - ! (need total number of occupied alpha orbs (all of which come before beta) - ! and total number of beta occupied orbs below iorb) - - if (ispin==1) then - parity_filled=0_bit_kind - else - parity_filled=iand(int(elec_alpha_num,bit_kind),1_bit_kind) - endif - - ! get parity due to orbs in other ints (with lower indices) - do i=1,k-1 - parity_filled = iand(int(popcnt(key_ref(i,ispin)),bit_kind),parity_filled) - enddo - - ! get parity due to orbs in same int as iorb - ! ishft(1_bit_kind,l)-1 has its l rightmost bits set to 1, other bits set to 0 - parity_filled = iand(int(popcnt(iand(ishft(1_bit_kind,l)-1,key_ref(k,ispin))),bit_kind),parity_filled) - phase = p(iand(1_bit_kind,parity_filled)) - -end - -subroutine a_operator_phase(key_new,key_ref,iorb,ispin,Nint,phase) - use bitmasks - implicit none - BEGIN_DOC - ! apply annihilation operator to key_ref - ! remove electron with spin ispin to orbital with index iorb - ! output resulting det and phase in key_new and phase - END_DOC - integer, intent(in) :: iorb, ispin, Nint - integer(bit_kind), intent(in) :: key_ref(Nint,2) - integer(bit_kind), intent(out) :: key_new(Nint,2) - double precision, intent(out) :: phase - - integer :: k,l,i - - double precision, parameter :: p(0:1) = (/ 1.d0, -1.d0 /) - - ASSERT (iorb > 0) - ASSERT (ispin > 0) - ASSERT (ispin < 3) - ASSERT (Nint > 0) - - key_new=key_ref - - ! alpha det is list of Nint 64-bit ints - ! k is index of the int where iorb is found - ! l is index of the bit where iorb is found - k = ishft(iorb-1,-bit_kind_shift)+1 - ASSERT (k >0) - l = iorb - ishft(k-1,bit_kind_shift)-1 - ASSERT (l >= 0) - key_new(k,ispin) = ibclr(key_new(k,ispin),l) - - integer(bit_kind) :: parity_filled - - ! I assume here that the ordering is all alpha spinorbs and then all beta spinorbs - ! If we add an alpha electron, parity is not affected by beta part of determinant - ! (only need number of alpha occupied orbs below iorb) - - ! If we add a beta electron, the parity is affected by alpha part - ! (need total number of occupied alpha orbs (all of which come before beta) - ! and total number of beta occupied orbs below iorb) - - if (ispin==1) then - parity_filled=0_bit_kind - else - parity_filled=iand(int(elec_alpha_num,bit_kind),1_bit_kind) - endif - - ! get parity due to orbs in other ints (with lower indices) - do i=1,k-1 - parity_filled = iand(int(popcnt(key_ref(i,ispin)),bit_kind),parity_filled) - enddo - - ! get parity due to orbs in same int as iorb - ! ishft(1_bit_kind,l)-1 has its l rightmost bits set to 1, other bits set to 0 - parity_filled = iand(int(popcnt(iand(ishft(1_bit_kind,l)-1,key_ref(k,ispin))),bit_kind),parity_filled) - phase = p(iand(1_bit_kind,parity_filled)) - -end -!BEGIN_PROVIDER [ double precision, mo_mono_elec_integral_diag,(mo_num)] -! implicit none -! integer :: i -! BEGIN_DOC -! ! diagonal elements of mo_mono_elec_integral array -! END_DOC -! print*,'Providing the mono electronic integrals (diagonal)' -! -! do i = 1, mo_num -! mo_mono_elec_integral_diag(i) = real(mo_mono_elec_integral(i,i)) -! enddo -! -!END_PROVIDER From b4bbd0157449ef9257ff24404657b2392fe664dc Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Fri, 12 Jun 2020 23:45:23 +0200 Subject: [PATCH 125/138] Fixed determinstic PT2 --- src/cipsi/cipsi.irp.f | 45 ++++++++++++++--------------- src/cipsi/run_selection_slave.irp.f | 7 ++++- src/cipsi/stochastic_cipsi.irp.f | 2 +- src/cipsi/zmq_selection.irp.f | 2 -- 4 files changed, 29 insertions(+), 27 deletions(-) diff --git a/src/cipsi/cipsi.irp.f b/src/cipsi/cipsi.irp.f index a6ab6f8e..5b0b00c0 100644 --- a/src/cipsi/cipsi.irp.f +++ b/src/cipsi/cipsi.irp.f @@ -6,22 +6,27 @@ subroutine run_cipsi END_DOC integer :: i,j,k double precision, allocatable :: pt2(:), variance(:), norm(:), rpt2(:), zeros(:) - integer :: n_det_before, to_select + integer :: to_select + logical, external :: qp_stop + double precision :: threshold_generators_save double precision :: rss double precision, external :: memory_of_double + PROVIDE H_apply_buffer_allocated + + N_iter = 1 + threshold_generators = 1.d0 + SOFT_TOUCH threshold_generators + rss = memory_of_double(N_states)*4.d0 call check_mem(rss,irp_here) - N_iter = 1 allocate (pt2(N_states), zeros(N_states), rpt2(N_states), norm(N_states), variance(N_states)) double precision :: hf_energy_ref logical :: has double precision :: relative_error - PROVIDE H_apply_buffer_allocated - relative_error=PT2_relative_error zeros = 0.d0 @@ -55,35 +60,35 @@ subroutine run_cipsi call save_wavefunction endif - n_det_before = 0 - double precision :: correlation_energy_ratio - double precision :: threshold_generators_save - threshold_generators_save = threshold_generators double precision :: error(N_states) - logical, external :: qp_stop correlation_energy_ratio = 0.d0 do while ( & (N_det < N_det_max) .and. & (maxval(abs(rpt2(1:N_states))) > pt2_max) .and. & - (maxval(variance(1:N_states)) > variance_max) .and. & - (correlation_energy_ratio <= correlation_energy_ratio_max) & + (maxval(abs(variance(1:N_states))) > variance_max) .and. & + (correlation_energy_ratio <= correlation_energy_ratio_max) & ) write(*,'(A)') '--------------------------------------------------------------------------------' + to_select = int(sqrt(dble(N_states))*dble(N_det)*selection_factor) + to_select = max(N_states_diag, to_select) if (do_pt2) then pt2 = 0.d0 variance = 0.d0 norm = 0.d0 + threshold_generators_save = threshold_generators threshold_generators = 1.d0 SOFT_TOUCH threshold_generators call ZMQ_pt2(psi_energy_with_nucl_rep,pt2,relative_error,error, variance, & norm, 0) ! Stochastic PT2 threshold_generators = threshold_generators_save SOFT_TOUCH threshold_generators + else + call ZMQ_selection(to_select, pt2, variance, norm) endif do k=1,N_states @@ -95,7 +100,7 @@ subroutine run_cipsi correlation_energy_ratio = min(1.d0,correlation_energy_ratio) call write_double(6,correlation_energy_ratio, 'Correlation ratio') - call print_summary(psi_energy_with_nucl_rep(1:N_states),pt2,error,variance,norm,N_det,N_occ_pattern,N_states,psi_s2) + call print_summary(psi_energy_with_nucl_rep,pt2,error,variance,norm,N_det,N_occ_pattern,N_states,psi_s2) call save_energy(psi_energy_with_nucl_rep, rpt2) @@ -103,13 +108,11 @@ subroutine run_cipsi call print_extrapolated_energy() N_iter += 1 - if (qp_stop()) exit + if (qp_stop()) exit - n_det_before = N_det - to_select = int(sqrt(dble(N_states))*dble(N_det)*selection_factor) - to_select = max(N_states_diag, to_select) - to_select = max(to_select,1) - call ZMQ_selection(to_select, pt2, variance, norm) + ! Add selected determinants + call copy_H_apply_buffer_to_wf() +! call save_wavefunction PROVIDE psi_coef PROVIDE psi_det @@ -119,10 +122,6 @@ subroutine run_cipsi call save_wavefunction call save_energy(psi_energy_with_nucl_rep, zeros) if (qp_stop()) exit -print *, (N_det < N_det_max) -print *, (maxval(abs(rpt2(1:N_states))) > pt2_max) -print *, (maxval(variance(1:N_states)) > variance_max) -print *, (correlation_energy_ratio <= correlation_energy_ratio_max) enddo if (.not.qp_stop()) then @@ -152,8 +151,8 @@ print *, (correlation_energy_ratio <= correlation_energy_ratio_max) rpt2(k) = pt2(k)/(1.d0 + norm(k)) enddo - call print_summary(psi_energy_with_nucl_rep(1:N_states),pt2,error,variance,norm,N_det,N_occ_pattern,N_states,psi_s2) call save_energy(psi_energy_with_nucl_rep, rpt2) + call print_summary(psi_energy_with_nucl_rep(1:N_states),pt2,error,variance,norm,N_det,N_occ_pattern,N_states,psi_s2) call save_iterations(psi_energy_with_nucl_rep(1:N_states),rpt2,N_det) call print_extrapolated_energy() endif diff --git a/src/cipsi/run_selection_slave.irp.f b/src/cipsi/run_selection_slave.irp.f index feaa2440..f031bc72 100644 --- a/src/cipsi/run_selection_slave.irp.f +++ b/src/cipsi/run_selection_slave.irp.f @@ -63,7 +63,12 @@ subroutine run_selection_slave(thread,iproc,energy) call create_selection_buffer(bsize, bsize*2, buf) buffer_ready = .True. else - ASSERT (N == buf%N) + if (N /= buf%N) then + print *, 'N=', N + print *, 'buf%N=', buf%N + print *, 'bug in ', irp_here + stop '-1' + end if end if call select_connected(i_generator,energy,pt2,variance,norm,buf,subset,pt2_F(i_generator)) endif diff --git a/src/cipsi/stochastic_cipsi.irp.f b/src/cipsi/stochastic_cipsi.irp.f index b8bf6a1d..98c78e88 100644 --- a/src/cipsi/stochastic_cipsi.irp.f +++ b/src/cipsi/stochastic_cipsi.irp.f @@ -98,7 +98,7 @@ subroutine run_stochastic_cipsi call print_extrapolated_energy() N_iter += 1 - if (qp_stop()) exit + if (qp_stop()) exit ! Add selected determinants call copy_H_apply_buffer_to_wf() diff --git a/src/cipsi/zmq_selection.irp.f b/src/cipsi/zmq_selection.irp.f index 081d998f..a6f26ed8 100644 --- a/src/cipsi/zmq_selection.irp.f +++ b/src/cipsi/zmq_selection.irp.f @@ -129,8 +129,6 @@ subroutine ZMQ_selection(N_in, pt2, variance, norm) call make_selection_buffer_s2(b) endif call fill_H_apply_buffer_no_selection(b%cur,b%det,N_int,0) - call copy_H_apply_buffer_to_wf() - call save_wavefunction endif call delete_selection_buffer(b) do k=1,N_states From ebf49ce789d25232c6bc466beb1b376a65cf7048 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Sat, 13 Jun 2020 00:05:11 +0200 Subject: [PATCH 126/138] Fixed bug in deterministic PT2 for buffer size --- src/cipsi/cipsi.irp.f | 2 +- src/cipsi/run_selection_slave.irp.f | 3 +-- src/cipsi/zmq_selection.irp.f | 2 ++ 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/cipsi/cipsi.irp.f b/src/cipsi/cipsi.irp.f index 5b0b00c0..413a9d9a 100644 --- a/src/cipsi/cipsi.irp.f +++ b/src/cipsi/cipsi.irp.f @@ -88,7 +88,7 @@ subroutine run_cipsi threshold_generators = threshold_generators_save SOFT_TOUCH threshold_generators else - call ZMQ_selection(to_select, pt2, variance, norm) + call ZMQ_selection(to_select, pt2, variance, norm) endif do k=1,N_states diff --git a/src/cipsi/run_selection_slave.irp.f b/src/cipsi/run_selection_slave.irp.f index f031bc72..fe712c45 100644 --- a/src/cipsi/run_selection_slave.irp.f +++ b/src/cipsi/run_selection_slave.irp.f @@ -59,8 +59,7 @@ subroutine run_selection_slave(thread,iproc,energy) read(task,*) subset, i_generator, N if(buf%N == 0) then ! Only first time - bsize = min(N, (elec_alpha_num * (mo_num-elec_alpha_num))**2) - call create_selection_buffer(bsize, bsize*2, buf) + call create_selection_buffer(N, N*2, buf) buffer_ready = .True. else if (N /= buf%N) then diff --git a/src/cipsi/zmq_selection.irp.f b/src/cipsi/zmq_selection.irp.f index a6f26ed8..c0545aa1 100644 --- a/src/cipsi/zmq_selection.irp.f +++ b/src/cipsi/zmq_selection.irp.f @@ -16,6 +16,7 @@ subroutine ZMQ_selection(N_in, pt2, variance, norm) ! PROVIDE psi_det psi_coef N_det qp_max_mem N_states pt2_F s2_eig N_det_generators N = max(N_in,1) + N = min(N, (elec_alpha_num * (mo_num-elec_alpha_num))**2) if (.True.) then PROVIDE pt2_e0_denominator nproc PROVIDE psi_bilinear_matrix_columns_loc psi_det_alpha_unique psi_det_beta_unique @@ -78,6 +79,7 @@ subroutine ZMQ_selection(N_in, pt2, variance, norm) stop 'Unable to add task to task server' endif endif + N = max(N_in,1) ASSERT (associated(b%det)) From 7ae3ab4379bf6f1e77dcdd0a7d74e768f2177c46 Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Wed, 17 Jun 2020 13:16:00 -0500 Subject: [PATCH 127/138] cleaning after dev merge --- src/ao_one_e_ints/screening.irp.f | 2 +- src/ao_two_e_ints/map_integrals.irp.f | 260 +++++++++--------- src/ao_two_e_ints/map_integrals_cplx.irp.f | 82 +++--- src/ao_two_e_ints/screening.irp.f | 2 +- src/mo_one_e_ints/pot_mo_ints_cplx.irp.f | 16 +- src/scf_utils/huckel_cplx.irp.f | 4 +- .../create_ezfio_complex_3idx.py | 8 +- 7 files changed, 186 insertions(+), 188 deletions(-) diff --git a/src/ao_one_e_ints/screening.irp.f b/src/ao_one_e_ints/screening.irp.f index 1bbe3c73..bc95ea86 100644 --- a/src/ao_one_e_ints/screening.irp.f +++ b/src/ao_one_e_ints/screening.irp.f @@ -3,7 +3,7 @@ logical function ao_one_e_integral_zero(i,k) integer, intent(in) :: i,k ao_one_e_integral_zero = .False. - if (.not.((io_ao_integrals_overlap/='None').or.is_periodic)) then + if (.not.((io_ao_integrals_overlap/='None').or.is_complex)) then if (ao_overlap_abs(i,k) < ao_integrals_threshold) then ao_one_e_integral_zero = .True. return diff --git a/src/ao_two_e_ints/map_integrals.irp.f b/src/ao_two_e_ints/map_integrals.irp.f index 3cf3eadb..3a0a2659 100644 --- a/src/ao_two_e_ints/map_integrals.irp.f +++ b/src/ao_two_e_ints/map_integrals.irp.f @@ -217,111 +217,111 @@ double precision function get_ao_two_e_integral(i,j,k,l,map) result(result) result = tmp end -BEGIN_PROVIDER [ complex*16, ao_integrals_cache_periodic, (0:64*64*64*64) ] - implicit none - BEGIN_DOC - ! Cache of AO integrals for fast access - END_DOC - PROVIDE ao_two_e_integrals_in_map - integer :: i,j,k,l,ii - integer(key_kind) :: idx1, idx2 - real(integral_kind) :: tmp_re, tmp_im - integer(key_kind) :: idx_re,idx_im - complex(integral_kind) :: integral +!BEGIN_PROVIDER [ complex*16, ao_integrals_cache_periodic, (0:64*64*64*64) ] +! implicit none +! BEGIN_DOC +! ! Cache of AO integrals for fast access +! END_DOC +! PROVIDE ao_two_e_integrals_in_map +! integer :: i,j,k,l,ii +! integer(key_kind) :: idx1, idx2 +! real(integral_kind) :: tmp_re, tmp_im +! integer(key_kind) :: idx_re,idx_im +! complex(integral_kind) :: integral +! +! +! !$OMP PARALLEL DO PRIVATE (i,j,k,l,idx1,idx2,tmp_re,tmp_im,idx_re,idx_im,ii,integral) +! do l=ao_integrals_cache_min,ao_integrals_cache_max +! do k=ao_integrals_cache_min,ao_integrals_cache_max +! do j=ao_integrals_cache_min,ao_integrals_cache_max +! do i=ao_integrals_cache_min,ao_integrals_cache_max +! !DIR$ FORCEINLINE +! call two_e_integrals_index_2fold(i,j,k,l,idx1) +! !DIR$ FORCEINLINE +! call two_e_integrals_index_2fold(k,l,i,j,idx2) +! idx_re = min(idx1,idx2) +! idx_im = max(idx1,idx2) +! !DIR$ FORCEINLINE +! call map_get(ao_integrals_map,idx_re,tmp_re) +! if (idx_re /= idx_im) then +! call map_get(ao_integrals_map,idx_im,tmp_im) +! if (idx1 < idx2) then +! integral = dcmplx(tmp_re,tmp_im) +! else +! integral = dcmplx(tmp_re,-tmp_im) +! endif +! else +! tmp_im = 0.d0 +! integral = dcmplx(tmp_re,tmp_im) +! endif +! +! ii = l-ao_integrals_cache_min +! ii = ior( shiftl(ii,6), k-ao_integrals_cache_min) +! ii = ior( shiftl(ii,6), j-ao_integrals_cache_min) +! ii = ior( shiftl(ii,6), i-ao_integrals_cache_min) +! ao_integrals_cache_periodic(ii) = integral +! enddo +! enddo +! enddo +! enddo +! !$OMP END PARALLEL DO +! +!END_PROVIDER - !$OMP PARALLEL DO PRIVATE (i,j,k,l,idx1,idx2,tmp_re,tmp_im,idx_re,idx_im,ii,integral) - do l=ao_integrals_cache_min,ao_integrals_cache_max - do k=ao_integrals_cache_min,ao_integrals_cache_max - do j=ao_integrals_cache_min,ao_integrals_cache_max - do i=ao_integrals_cache_min,ao_integrals_cache_max - !DIR$ FORCEINLINE - call two_e_integrals_index_2fold(i,j,k,l,idx1) - !DIR$ FORCEINLINE - call two_e_integrals_index_2fold(k,l,i,j,idx2) - idx_re = min(idx1,idx2) - idx_im = max(idx1,idx2) - !DIR$ FORCEINLINE - call map_get(ao_integrals_map,idx_re,tmp_re) - if (idx_re /= idx_im) then - call map_get(ao_integrals_map,idx_im,tmp_im) - if (idx1 < idx2) then - integral = dcmplx(tmp_re,tmp_im) - else - integral = dcmplx(tmp_re,-tmp_im) - endif - else - tmp_im = 0.d0 - integral = dcmplx(tmp_re,tmp_im) - endif - - ii = l-ao_integrals_cache_min - ii = ior( shiftl(ii,6), k-ao_integrals_cache_min) - ii = ior( shiftl(ii,6), j-ao_integrals_cache_min) - ii = ior( shiftl(ii,6), i-ao_integrals_cache_min) - ao_integrals_cache_periodic(ii) = integral - enddo - enddo - enddo - enddo - !$OMP END PARALLEL DO - -END_PROVIDER - - -complex*16 function get_ao_two_e_integral_periodic(i,j,k,l,map) result(result) - use map_module - implicit none - BEGIN_DOC - ! Gets one AO bi-electronic integral from the AO map - END_DOC - integer, intent(in) :: i,j,k,l - integer(key_kind) :: idx1,idx2 - real(integral_kind) :: tmp_re, tmp_im - integer(key_kind) :: idx_re,idx_im - type(map_type), intent(inout) :: map - integer :: ii - complex(integral_kind) :: tmp - PROVIDE ao_two_e_integrals_in_map ao_integrals_cache_periodic ao_integrals_cache_min - !DIR$ FORCEINLINE - logical, external :: ao_two_e_integral_zero - if (ao_two_e_integral_zero(i,j,k,l)) then - tmp = (0.d0,0.d0) - else - ii = l-ao_integrals_cache_min - ii = ior(ii, k-ao_integrals_cache_min) - ii = ior(ii, j-ao_integrals_cache_min) - ii = ior(ii, i-ao_integrals_cache_min) - if (iand(ii, -64) /= 0) then - !DIR$ FORCEINLINE - call two_e_integrals_index_2fold(i,j,k,l,idx1) - !DIR$ FORCEINLINE - call two_e_integrals_index_2fold(k,l,i,j,idx2) - idx_re = min(idx1,idx2) - idx_im = max(idx1,idx2) - !DIR$ FORCEINLINE - call map_get(ao_integrals_map,idx_re,tmp_re) - if (idx_re /= idx_im) then - call map_get(ao_integrals_map,idx_im,tmp_im) - if (idx1 < idx2) then - tmp = dcmplx(tmp_re,tmp_im) - else - tmp = dcmplx(tmp_re,-tmp_im) - endif - else - tmp_im = 0.d0 - tmp = dcmplx(tmp_re,tmp_im) - endif - else - ii = l-ao_integrals_cache_min - ii = ior( shiftl(ii,6), k-ao_integrals_cache_min) - ii = ior( shiftl(ii,6), j-ao_integrals_cache_min) - ii = ior( shiftl(ii,6), i-ao_integrals_cache_min) - tmp = ao_integrals_cache_periodic(ii) - endif - result = tmp - endif -end +!complex*16 function get_ao_two_e_integral_periodic(i,j,k,l,map) result(result) +! use map_module +! implicit none +! BEGIN_DOC +! ! Gets one AO bi-electronic integral from the AO map +! END_DOC +! integer, intent(in) :: i,j,k,l +! integer(key_kind) :: idx1,idx2 +! real(integral_kind) :: tmp_re, tmp_im +! integer(key_kind) :: idx_re,idx_im +! type(map_type), intent(inout) :: map +! integer :: ii +! complex(integral_kind) :: tmp +! PROVIDE ao_two_e_integrals_in_map ao_integrals_cache_periodic ao_integrals_cache_min +! !DIR$ FORCEINLINE +! logical, external :: ao_two_e_integral_zero +! if (ao_two_e_integral_zero(i,j,k,l)) then +! tmp = (0.d0,0.d0) +! else +! ii = l-ao_integrals_cache_min +! ii = ior(ii, k-ao_integrals_cache_min) +! ii = ior(ii, j-ao_integrals_cache_min) +! ii = ior(ii, i-ao_integrals_cache_min) +! if (iand(ii, -64) /= 0) then +! !DIR$ FORCEINLINE +! call two_e_integrals_index_2fold(i,j,k,l,idx1) +! !DIR$ FORCEINLINE +! call two_e_integrals_index_2fold(k,l,i,j,idx2) +! idx_re = min(idx1,idx2) +! idx_im = max(idx1,idx2) +! !DIR$ FORCEINLINE +! call map_get(ao_integrals_map,idx_re,tmp_re) +! if (idx_re /= idx_im) then +! call map_get(ao_integrals_map,idx_im,tmp_im) +! if (idx1 < idx2) then +! tmp = dcmplx(tmp_re,tmp_im) +! else +! tmp = dcmplx(tmp_re,-tmp_im) +! endif +! else +! tmp_im = 0.d0 +! tmp = dcmplx(tmp_re,tmp_im) +! endif +! else +! ii = l-ao_integrals_cache_min +! ii = ior( shiftl(ii,6), k-ao_integrals_cache_min) +! ii = ior( shiftl(ii,6), j-ao_integrals_cache_min) +! ii = ior( shiftl(ii,6), i-ao_integrals_cache_min) +! tmp = ao_integrals_cache_periodic(ii) +! endif +! result = tmp +! endif +!end subroutine get_ao_two_e_integrals(j,k,l,sze,out_val) @@ -353,33 +353,33 @@ subroutine get_ao_two_e_integrals(j,k,l,sze,out_val) end -subroutine get_ao_two_e_integrals_periodic(j,k,l,sze,out_val) - use map_module - BEGIN_DOC - ! Gets multiple AO bi-electronic integral from the AO map . - ! All i are retrieved for j,k,l fixed. - ! physicist convention : - END_DOC - implicit none - integer, intent(in) :: j,k,l, sze - complex(integral_kind), intent(out) :: out_val(sze) - - integer :: i - integer(key_kind) :: hash - logical, external :: ao_one_e_integral_zero - PROVIDE ao_two_e_integrals_in_map ao_integrals_map - - if (ao_one_e_integral_zero(j,l)) then - out_val = 0.d0 - return - endif - - double precision :: get_ao_two_e_integral - do i=1,sze - out_val(i) = get_ao_two_e_integral(i,j,k,l,ao_integrals_map) - enddo - -end +!subroutine get_ao_two_e_integrals_periodic(j,k,l,sze,out_val) +! use map_module +! BEGIN_DOC +! ! Gets multiple AO bi-electronic integral from the AO map . +! ! All i are retrieved for j,k,l fixed. +! ! physicist convention : +! END_DOC +! implicit none +! integer, intent(in) :: j,k,l, sze +! complex(integral_kind), intent(out) :: out_val(sze) +! +! integer :: i +! integer(key_kind) :: hash +! logical, external :: ao_one_e_integral_zero +! PROVIDE ao_two_e_integrals_in_map ao_integrals_map +! +! if (ao_one_e_integral_zero(j,l)) then +! out_val = 0.d0 +! return +! endif +! +! double precision :: get_ao_two_e_integral +! do i=1,sze +! out_val(i) = get_ao_two_e_integral(i,j,k,l,ao_integrals_map) +! enddo +! +!end subroutine get_ao_two_e_integrals_non_zero(j,k,l,sze,out_val,out_val_index,non_zero_int) use map_module diff --git a/src/ao_two_e_ints/map_integrals_cplx.irp.f b/src/ao_two_e_ints/map_integrals_cplx.irp.f index 449bca02..a5926e59 100644 --- a/src/ao_two_e_ints/map_integrals_cplx.irp.f +++ b/src/ao_two_e_ints/map_integrals_cplx.irp.f @@ -343,11 +343,10 @@ complex*16 function get_ao_two_e_integral_complex(i,j,k,l,map,map2) result(resul ! a.le.c, b.le.d, tri(a,c).le.tri(b,d) PROVIDE ao_two_e_integrals_in_map ao_integrals_cache_complex ao_integrals_cache_min !DIR$ FORCEINLINE -! if (ao_overlap_abs(i,k)*ao_overlap_abs(j,l) < ao_integrals_threshold ) then -! tmp = (0.d0,0.d0) -! else if (ao_two_e_integral_schwartz(i,k)*ao_two_e_integral_schwartz(j,l) < ao_integrals_threshold) then -! tmp = (0.d0,0.d0) -! else + !logical, external :: ao_two_e_integral_zero + !if (ao_two_e_integral_zero(i,j,k,l)) then + ! tmp = (0.d0,0.d0) + !else if (.True.) then ii = l-ao_integrals_cache_min ii = ior(ii, k-ao_integrals_cache_min) @@ -362,8 +361,8 @@ complex*16 function get_ao_two_e_integral_complex(i,j,k,l,map,map2) result(resul ii = ior( shiftl(ii,6), i-ao_integrals_cache_min) tmp = ao_integrals_cache_complex(ii) endif - result = tmp endif + result = tmp end @@ -380,14 +379,13 @@ subroutine get_ao_two_e_integrals_complex(j,k,l,sze,out_val) integer :: i integer(key_kind) :: hash - double precision :: thresh + !logical, external :: ao_one_e_integral_zero PROVIDE ao_two_e_integrals_in_map ao_integrals_map - thresh = ao_integrals_threshold - if (ao_overlap_abs(j,l) < thresh) then - out_val = (0.d0,0.d0) - return - endif + !if (ao_one_e_integral_zero(j,l)) then + ! out_val = (0.d0,0.d0) + ! return + !endif complex*16 :: get_ao_two_e_integral_complex do i=1,sze @@ -397,17 +395,17 @@ subroutine get_ao_two_e_integrals_complex(j,k,l,sze,out_val) end subroutine get_ao_two_e_integrals_non_zero_complex(j,k,l,sze,out_val,out_val_index,non_zero_int) + use map_module + implicit none + BEGIN_DOC + ! Gets multiple AO bi-electronic integral from the AO map . + ! All non-zero i are retrieved for j,k,l fixed. + END_DOC + integer, intent(in) :: j,k,l, sze + complex(integral_kind), intent(out) :: out_val(sze) + integer, intent(out) :: out_val_index(sze),non_zero_int print*,'not implemented for periodic',irp_here stop -1 -! use map_module -! implicit none -! BEGIN_DOC -! ! Gets multiple AO bi-electronic integral from the AO map . -! ! All non-zero i are retrieved for j,k,l fixed. -! END_DOC -! integer, intent(in) :: j,k,l, sze -! real(integral_kind), intent(out) :: out_val(sze) -! integer, intent(out) :: out_val_index(sze),non_zero_int ! ! integer :: i ! integer(key_kind) :: hash @@ -445,18 +443,18 @@ end subroutine get_ao_two_e_integrals_non_zero_jl_complex(j,l,thresh,sze_max,sze,out_val,out_val_index,non_zero_int) + use map_module + implicit none + BEGIN_DOC + ! Gets multiple AO bi-electronic integral from the AO map . + ! All non-zero i are retrieved for j,k,l fixed. + END_DOC + double precision, intent(in) :: thresh + integer, intent(in) :: j,l, sze,sze_max + complex(integral_kind), intent(out) :: out_val(sze_max) + integer, intent(out) :: out_val_index(2,sze_max),non_zero_int print*,'not implemented for periodic',irp_here stop -1 -! use map_module -! implicit none -! BEGIN_DOC -! ! Gets multiple AO bi-electronic integral from the AO map . -! ! All non-zero i are retrieved for j,k,l fixed. -! END_DOC -! double precision, intent(in) :: thresh -! integer, intent(in) :: j,l, sze,sze_max -! real(integral_kind), intent(out) :: out_val(sze_max) -! integer, intent(out) :: out_val_index(2,sze_max),non_zero_int ! ! integer :: i,k ! integer(key_kind) :: hash @@ -496,19 +494,19 @@ end subroutine get_ao_two_e_integrals_non_zero_jl_from_list_complex(j,l,thresh,list,n_list,sze_max,out_val,out_val_index,non_zero_int) + use map_module + implicit none + BEGIN_DOC + ! Gets multiple AO two-electron integrals from the AO map . + ! All non-zero i are retrieved for j,k,l fixed. + END_DOC + double precision, intent(in) :: thresh + integer, intent(in) :: sze_max + integer, intent(in) :: j,l, n_list,list(2,sze_max) + complex(integral_kind), intent(out) :: out_val(sze_max) + integer, intent(out) :: out_val_index(2,sze_max),non_zero_int print*,'not implemented for periodic',irp_here stop -1 -! use map_module -! implicit none -! BEGIN_DOC -! ! Gets multiple AO two-electron integrals from the AO map . -! ! All non-zero i are retrieved for j,k,l fixed. -! END_DOC -! double precision, intent(in) :: thresh -! integer, intent(in) :: sze_max -! integer, intent(in) :: j,l, n_list,list(2,sze_max) -! real(integral_kind), intent(out) :: out_val(sze_max) -! integer, intent(out) :: out_val_index(2,sze_max),non_zero_int ! ! integer :: i,k ! integer(key_kind) :: hash diff --git a/src/ao_two_e_ints/screening.irp.f b/src/ao_two_e_ints/screening.irp.f index d3230370..eebe0043 100644 --- a/src/ao_two_e_ints/screening.irp.f +++ b/src/ao_two_e_ints/screening.irp.f @@ -3,7 +3,7 @@ logical function ao_two_e_integral_zero(i,j,k,l) integer, intent(in) :: i,j,k,l ao_two_e_integral_zero = .False. - if (.not.(read_ao_two_e_integrals.or.is_periodic)) then + if (.not.(read_ao_two_e_integrals.or.is_complex)) then if (ao_overlap_abs(j,l)*ao_overlap_abs(i,k) < ao_integrals_threshold) then ao_two_e_integral_zero = .True. return diff --git a/src/mo_one_e_ints/pot_mo_ints_cplx.irp.f b/src/mo_one_e_ints/pot_mo_ints_cplx.irp.f index a9f793d9..f472a8ff 100644 --- a/src/mo_one_e_ints/pot_mo_ints_cplx.irp.f +++ b/src/mo_one_e_ints/pot_mo_ints_cplx.irp.f @@ -6,8 +6,8 @@ BEGIN_PROVIDER [complex*16, mo_integrals_n_e_complex, (mo_num,mo_num)] integer :: i,j print *, 'Providing MO N-e integrals' - if (read_mo_integrals_e_n) then - call ezfio_get_mo_one_e_ints_mo_integrals_e_n_complex(mo_integrals_n_e_complex) + if (read_mo_integrals_n_e) then + call ezfio_get_mo_one_e_ints_mo_integrals_n_e_complex(mo_integrals_n_e_complex) print *, 'MO N-e integrals read from disk' else print *, 'Providing MO N-e integrals from AO N-e integrals' @@ -18,8 +18,8 @@ BEGIN_PROVIDER [complex*16, mo_integrals_n_e_complex, (mo_num,mo_num)] size(mo_integrals_n_e_complex,1) & ) endif - if (write_mo_integrals_e_n) then - call ezfio_set_mo_one_e_ints_mo_integrals_e_n_complex(mo_integrals_n_e_complex) + if (write_mo_integrals_n_e) then + call ezfio_set_mo_one_e_ints_mo_integrals_n_e_complex(mo_integrals_n_e_complex) print *, 'MO N-e integrals written to disk' endif @@ -39,8 +39,8 @@ BEGIN_PROVIDER [complex*16, mo_integrals_n_e_kpts, (mo_num_per_kpt,mo_num_per_kp integer :: i,j print *, 'Providing MO N-e integrals' - if (read_mo_integrals_e_n) then - call ezfio_get_mo_one_e_ints_mo_integrals_e_n_kpts(mo_integrals_n_e_kpts) + if (read_mo_integrals_n_e) then + call ezfio_get_mo_one_e_ints_mo_integrals_n_e_kpts(mo_integrals_n_e_kpts) print *, 'MO N-e integrals read from disk' else print *, 'Providing MO N-e integrals from AO N-e integrals' @@ -51,8 +51,8 @@ BEGIN_PROVIDER [complex*16, mo_integrals_n_e_kpts, (mo_num_per_kpt,mo_num_per_kp size(mo_integrals_n_e_kpts,1) & ) endif - if (write_mo_integrals_e_n) then - call ezfio_set_mo_one_e_ints_mo_integrals_e_n_kpts(mo_integrals_n_e_kpts) + if (write_mo_integrals_n_e) then + call ezfio_set_mo_one_e_ints_mo_integrals_n_e_kpts(mo_integrals_n_e_kpts) print *, 'MO N-e integrals written to disk' endif diff --git a/src/scf_utils/huckel_cplx.irp.f b/src/scf_utils/huckel_cplx.irp.f index ec504d14..f5dee3a4 100644 --- a/src/scf_utils/huckel_cplx.irp.f +++ b/src/scf_utils/huckel_cplx.irp.f @@ -19,7 +19,7 @@ subroutine huckel_guess_complex enddo A(j,j) = ao_one_e_integrals_diag_complex(j) + dble(ao_two_e_integral_alpha_complex(j,j)) if (dabs(dimag(ao_two_e_integral_alpha_complex(j,j))) .gt. 1.0d-10) then - stop 'diagonal elements of ao_bi_elec_integral_alpha should be real' + stop 'diagonal elements of ao_two_e_integral_alpha should be real' endif enddo @@ -67,7 +67,7 @@ subroutine huckel_guess_kpts enddo A(j,j) = ao_one_e_integrals_diag_kpts(j,k) + dble(ao_two_e_integral_alpha_kpts(j,j,k)) if (dabs(dimag(ao_two_e_integral_alpha_kpts(j,j,k))) .gt. 1.0d-10) then - stop 'diagonal elements of ao_bi_elec_integral_alpha should be real' + stop 'diagonal elements of ao_two_e_integral_alpha should be real' endif enddo diff --git a/src/utils_complex/create_ezfio_complex_3idx.py b/src/utils_complex/create_ezfio_complex_3idx.py index 0360cfe8..3fef73d2 100755 --- a/src/utils_complex/create_ezfio_complex_3idx.py +++ b/src/utils_complex/create_ezfio_complex_3idx.py @@ -145,12 +145,12 @@ def convert_kpts(filename,qph5path): ezfio.set_mo_one_e_ints_mo_integrals_kinetic_kpts(kin_mo_reim) ezfio.set_mo_one_e_ints_mo_integrals_overlap_kpts(ovlp_mo_reim) #ezfio.set_mo_one_e_ints_mo_integrals_n_e_complex(ne_mo_reim) - ezfio.set_mo_one_e_ints_mo_integrals_e_n_kpts(ne_mo_reim) + ezfio.set_mo_one_e_ints_mo_integrals_n_e_kpts(ne_mo_reim) ezfio.set_mo_one_e_ints_io_mo_integrals_kinetic('Read') ezfio.set_mo_one_e_ints_io_mo_integrals_overlap('Read') #ezfio.set_mo_one_e_ints_io_mo_integrals_n_e('Read') - ezfio.set_mo_one_e_ints_io_mo_integrals_e_n('Read') + ezfio.set_mo_one_e_ints_io_mo_integrals_n_e('Read') ########################################## # # @@ -331,12 +331,12 @@ def convert_cplx(filename,qph5path): ezfio.set_mo_one_e_ints_mo_integrals_kinetic_complex(kin_mo_reim) #ezfio.set_mo_one_e_ints_mo_integrals_overlap_complex(ovlp_mo_reim) #ezfio.set_mo_one_e_ints_mo_integrals_n_e_complex(ne_mo_reim) - ezfio.set_mo_one_e_ints_mo_integrals_e_n_complex(ne_mo_reim) + ezfio.set_mo_one_e_ints_mo_integrals_n_e_complex(ne_mo_reim) ezfio.set_mo_one_e_ints_io_mo_integrals_kinetic('Read') #ezfio.set_mo_one_e_ints_io_mo_integrals_overlap('Read') #ezfio.set_mo_one_e_ints_io_mo_integrals_n_e('Read') - ezfio.set_mo_one_e_ints_io_mo_integrals_e_n('Read') + ezfio.set_mo_one_e_ints_io_mo_integrals_n_e('Read') ########################################## # # From 83ecf1ee2eb2f469563c6248fd7150aa57743320 Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Mon, 22 Jun 2020 10:51:33 -0500 Subject: [PATCH 128/138] modifications for kpts {ao,mo}_num_per_kpt were being set as floats in python now imported explicitly as ints no default (could maybe fix with // ?) --- src/ao_basis/EZFIO.cfg | 5 +-- src/ao_basis/aos_cplx.irp.f | 14 +++---- src/determinants/density_matrix_cplx.irp.f | 4 +- src/mo_basis/EZFIO.cfg | 1 - src/mo_basis/mos.irp.f | 41 +++++++++++++++++++ src/mo_basis/mos_cplx.irp.f | 14 +++---- .../create_ezfio_complex_3idx.py | 2 + 7 files changed, 61 insertions(+), 20 deletions(-) diff --git a/src/ao_basis/EZFIO.cfg b/src/ao_basis/EZFIO.cfg index 5f7e3bf7..2d9dd2fb 100644 --- a/src/ao_basis/EZFIO.cfg +++ b/src/ao_basis/EZFIO.cfg @@ -69,7 +69,6 @@ default: true [ao_num_per_kpt] type: integer -doc: Number of |AOs| per kpt -default: =(ao_basis.ao_num/nuclei.kpt_num) -interface: ezfio +doc: Max number of |AOs| per kpt +interface: ezfio, provider diff --git a/src/ao_basis/aos_cplx.irp.f b/src/ao_basis/aos_cplx.irp.f index afec0548..f571b28d 100644 --- a/src/ao_basis/aos_cplx.irp.f +++ b/src/ao_basis/aos_cplx.irp.f @@ -1,7 +1,7 @@ -BEGIN_PROVIDER [ integer, ao_num_per_kpt ] - implicit none - BEGIN_DOC - ! number of aos per kpt. - END_DOC - ao_num_per_kpt = ao_num/kpt_num -END_PROVIDER +!BEGIN_PROVIDER [ integer, ao_num_per_kpt ] +! implicit none +! BEGIN_DOC +! ! number of aos per kpt. +! END_DOC +! ao_num_per_kpt = ao_num/kpt_num +!END_PROVIDER diff --git a/src/determinants/density_matrix_cplx.irp.f b/src/determinants/density_matrix_cplx.irp.f index d7281e76..882b73ee 100644 --- a/src/determinants/density_matrix_cplx.irp.f +++ b/src/determinants/density_matrix_cplx.irp.f @@ -441,8 +441,8 @@ END_PROVIDER !$OMP PRIVATE(j,k,k_a,k_b,l,m,occ,ck, cl, ckl,phase,h1,h2,p1,p2,s1,s2, degree,exc,& !$OMP tmp_a, tmp_b, n_occ, krow, kcol, lrow, lcol, tmp_det, tmp_det2,ih1,ip1,kh1,kp1,kk,& !$OMP tmp_det_kpts,k_shft,ii)& - !$OMP SHARED(psi_det,psi_coef_complex,N_int,N_states,elec_alpha_num_kpts, & - !$OMP elec_beta_num_kpts,one_e_dm_mo_alpha_kpts,one_e_dm_mo_beta_kpts,N_det,& + !$OMP SHARED(psi_det,psi_coef_complex,N_int,N_states, & + !$OMP one_e_dm_mo_alpha_kpts,one_e_dm_mo_beta_kpts,N_det,& !$OMP mo_num_per_kpt,psi_bilinear_matrix_rows,psi_bilinear_matrix_columns,& !$OMP psi_bilinear_matrix_transp_rows, psi_bilinear_matrix_transp_columns,& !$OMP psi_bilinear_matrix_order_reverse, psi_det_alpha_unique, psi_det_beta_unique,& diff --git a/src/mo_basis/EZFIO.cfg b/src/mo_basis/EZFIO.cfg index 76ee15e9..762eb268 100644 --- a/src/mo_basis/EZFIO.cfg +++ b/src/mo_basis/EZFIO.cfg @@ -52,6 +52,5 @@ interface: ezfio [mo_num_per_kpt] type: integer doc: Number of |MOs| per kpt -default: =(mo_basis.mo_num/nuclei.kpt_num) interface: ezfio diff --git a/src/mo_basis/mos.irp.f b/src/mo_basis/mos.irp.f index d8ff9cde..440d1703 100644 --- a/src/mo_basis/mos.irp.f +++ b/src/mo_basis/mos.irp.f @@ -39,6 +39,47 @@ BEGIN_PROVIDER [ integer, mo_num ] END_PROVIDER +BEGIN_PROVIDER [ integer, mo_num_per_kpt ] + implicit none + BEGIN_DOC + ! Number of MOs per kpt + END_DOC + + logical :: has + PROVIDE ezfio_filename + if (mpi_master) then + call ezfio_has_mo_basis_mo_num_per_kpt(has) + endif + IRP_IF MPI_DEBUG + print *, irp_here, mpi_rank + call MPI_BARRIER(MPI_COMM_WORLD, ierr) + IRP_ENDIF + IRP_IF MPI + include 'mpif.h' + integer :: ierr + call MPI_BCAST( has, 1, MPI_LOGICAL, 0, MPI_COMM_WORLD, ierr) + if (ierr /= MPI_SUCCESS) then + stop 'Unable to read mo_num_per_kpt with MPI' + endif + IRP_ENDIF + if (.not.has) then + mo_num_per_kpt = ao_ortho_canonical_num_per_kpt_max + else + if (mpi_master) then + call ezfio_get_mo_basis_mo_num_per_kpt(mo_num_per_kpt) + endif + IRP_IF MPI + call MPI_BCAST( mo_num_per_kpt, 1, MPI_INTEGER, 0, MPI_COMM_WORLD, ierr) + if (ierr /= MPI_SUCCESS) then + stop 'Unable to read mo_num_per_kpt with MPI' + endif + IRP_ENDIF + endif + call write_int(6,mo_num_per_kpt,'mo_num_per_kpt') + ASSERT (mo_num_per_kpt > 0) + +END_PROVIDER + BEGIN_PROVIDER [ double precision, mo_coef, (ao_num,mo_num) ] implicit none diff --git a/src/mo_basis/mos_cplx.irp.f b/src/mo_basis/mos_cplx.irp.f index fb90d807..19abe30e 100644 --- a/src/mo_basis/mos_cplx.irp.f +++ b/src/mo_basis/mos_cplx.irp.f @@ -1,10 +1,10 @@ -BEGIN_PROVIDER [ integer, mo_num_per_kpt ] - implicit none - BEGIN_DOC - ! number of mos per kpt. - END_DOC - mo_num_per_kpt = mo_num/kpt_num -END_PROVIDER +!BEGIN_PROVIDER [ integer, mo_num_per_kpt ] +! implicit none +! BEGIN_DOC +! ! number of mos per kpt. +! END_DOC +! mo_num_per_kpt = mo_num/kpt_num +!END_PROVIDER BEGIN_PROVIDER [ complex*16, mo_coef_complex, (ao_num,mo_num) ] implicit none diff --git a/src/utils_complex/create_ezfio_complex_3idx.py b/src/utils_complex/create_ezfio_complex_3idx.py index 3fef73d2..05399a7b 100755 --- a/src/utils_complex/create_ezfio_complex_3idx.py +++ b/src/utils_complex/create_ezfio_complex_3idx.py @@ -34,6 +34,8 @@ def convert_kpts(filename,qph5path): # need to change if we want to truncate orbital space within pyscf ezfio.set_ao_basis_ao_num(ao_num) ezfio.set_mo_basis_mo_num(mo_num) + ezfio.set_ao_basis_ao_num_per_kpt(ao_num//kpt_num) + ezfio.set_mo_basis_mo_num_per_kpt(mo_num//kpt_num) ezfio.electrons_elec_alpha_num = elec_alpha_num ezfio.electrons_elec_beta_num = elec_beta_num From 1b298d083de83b136973d32a24b278b8b26a07c6 Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Tue, 23 Jun 2020 11:11:36 -0500 Subject: [PATCH 129/138] added lin_dep_cutoff in complex calls --- src/ao_one_e_ints/ao_ortho_cano_cplx.irp.f | 4 ++-- src/ao_one_e_ints/ao_ortho_cano_kpts.irp.f | 4 ++-- src/ao_one_e_ints/ao_overlap.irp.f | 2 +- src/mo_guess/mo_ortho_lowdin_cplx.irp.f | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ao_one_e_ints/ao_ortho_cano_cplx.irp.f b/src/ao_one_e_ints/ao_ortho_cano_cplx.irp.f index 87a30d2d..1245ae6e 100644 --- a/src/ao_one_e_ints/ao_ortho_cano_cplx.irp.f +++ b/src/ao_one_e_ints/ao_ortho_cano_cplx.irp.f @@ -68,7 +68,7 @@ END_PROVIDER ao_ortho_canonical_num_complex = ao_num call ortho_canonical_complex(ao_overlap,size(ao_overlap,1), & ao_num,ao_ortho_canonical_coef_complex,size(ao_ortho_canonical_coef_complex,1), & - ao_ortho_canonical_num_complex) + ao_ortho_canonical_num_complex,lin_dep_cutoff) else @@ -83,7 +83,7 @@ END_PROVIDER ao_ortho_canonical_num_complex = ao_cart_to_sphe_num call ortho_canonical_complex(ao_cart_to_sphe_overlap_complex, size(ao_cart_to_sphe_overlap_complex,1), & - ao_cart_to_sphe_num, S, size(S,1), ao_ortho_canonical_num_complex) + ao_cart_to_sphe_num, S, size(S,1), ao_ortho_canonical_num_complex,lin_dep_cutoff) call zgemm('N','N', ao_num, ao_ortho_canonical_num_complex, ao_cart_to_sphe_num, (1.d0,0.d0), & ao_cart_to_sphe_coef_complex, size(ao_cart_to_sphe_coef_complex,1), & diff --git a/src/ao_one_e_ints/ao_ortho_cano_kpts.irp.f b/src/ao_one_e_ints/ao_ortho_cano_kpts.irp.f index 01a02f02..acfae4f8 100644 --- a/src/ao_one_e_ints/ao_ortho_cano_kpts.irp.f +++ b/src/ao_one_e_ints/ao_ortho_cano_kpts.irp.f @@ -135,7 +135,7 @@ END_PROVIDER do k=1,kpt_num call ortho_canonical_complex(ao_overlap_kpts(:,:,k),size(ao_overlap_kpts,1), & ao_num_per_kpt,ao_ortho_canonical_coef_kpts(:,:,k),size(ao_ortho_canonical_coef_kpts,1), & - ao_ortho_canonical_num_per_kpt(k)) + ao_ortho_canonical_num_per_kpt(k),lin_dep_cutoff) enddo @@ -152,7 +152,7 @@ END_PROVIDER ao_ortho_canonical_num_per_kpt(k) = ao_cart_to_sphe_num_per_kpt call ortho_canonical_complex(ao_cart_to_sphe_overlap_kpts, size(ao_cart_to_sphe_overlap_kpts,1), & - ao_cart_to_sphe_num_per_kpt, S, size(S,1), ao_ortho_canonical_num_per_kpt(k)) + ao_cart_to_sphe_num_per_kpt, S, size(S,1), ao_ortho_canonical_num_per_kpt(k),lin_dep_cutoff) call zgemm('N','N', ao_num_per_kpt, ao_ortho_canonical_num_per_kpt(k), ao_cart_to_sphe_num_per_kpt, (1.d0,0.d0), & ao_cart_to_sphe_coef_kpts, size(ao_cart_to_sphe_coef_kpts,1), & diff --git a/src/ao_one_e_ints/ao_overlap.irp.f b/src/ao_one_e_ints/ao_overlap.irp.f index d7ddf440..b6191b86 100644 --- a/src/ao_one_e_ints/ao_overlap.irp.f +++ b/src/ao_one_e_ints/ao_overlap.irp.f @@ -218,7 +218,7 @@ BEGIN_PROVIDER [ complex*16, S_inv_kpts,(ao_num_per_kpt,ao_num_per_kpt,kpt_num) integer :: k do k=1,kpt_num call get_pseudo_inverse_complex(ao_overlap_kpts(1,1,k), & - size(ao_overlap_kpts,1),ao_num_per_kpt,ao_num_per_kpt,S_inv_kpts(1,1,k),size(S_inv_kpts,1)) + size(ao_overlap_kpts,1),ao_num_per_kpt,ao_num_per_kpt,S_inv_kpts(1,1,k),size(S_inv_kpts,1),lin_dep_cutoff) enddo END_PROVIDER diff --git a/src/mo_guess/mo_ortho_lowdin_cplx.irp.f b/src/mo_guess/mo_ortho_lowdin_cplx.irp.f index 3a2750cd..b3b64ce4 100644 --- a/src/mo_guess/mo_ortho_lowdin_cplx.irp.f +++ b/src/mo_guess/mo_ortho_lowdin_cplx.irp.f @@ -12,7 +12,7 @@ BEGIN_PROVIDER [complex*16, ao_ortho_lowdin_coef_complex, (ao_num,ao_num)] do j=1, ao_num tmp_matrix(j,j) = (1.d0,0.d0) enddo - call ortho_lowdin_complex(ao_overlap_complex,ao_num,ao_num,tmp_matrix,ao_num,ao_num) + call ortho_lowdin_complex(ao_overlap_complex,ao_num,ao_num,tmp_matrix,ao_num,ao_num,lin_dep_cutoff) do i=1, ao_num do j=1, ao_num ao_ortho_lowdin_coef_complex(j,i) = tmp_matrix(i,j) @@ -68,7 +68,7 @@ BEGIN_PROVIDER [complex*16, ao_ortho_lowdin_coef_kpts, (ao_num_per_kpt,ao_num_pe do j=1, ao_num tmp_matrix(j,j) = (1.d0,0.d0) enddo - call ortho_lowdin_complex(ao_overlap_kpts(:,:,k),ao_num_per_kpt,ao_num_per_kpt,tmp_matrix,ao_num_per_kpt,ao_num_per_kpt) + call ortho_lowdin_complex(ao_overlap_kpts(:,:,k),ao_num_per_kpt,ao_num_per_kpt,tmp_matrix,ao_num_per_kpt,ao_num_per_kpt,lin_dep_cutoff) do i=1, ao_num_per_kpt do j=1, ao_num_per_kpt ao_ortho_lowdin_coef_kpts(j,i,k) = tmp_matrix(i,j) From 008fc4be2b4930d9be2e2eadb87bab74d17ac50c Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Tue, 23 Jun 2020 13:09:26 -0500 Subject: [PATCH 130/138] fixed byte vs str handling in converter --- src/utils_complex/create_ezfio_complex_3idx.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/utils_complex/create_ezfio_complex_3idx.py b/src/utils_complex/create_ezfio_complex_3idx.py index 05399a7b..afbe33e2 100755 --- a/src/utils_complex/create_ezfio_complex_3idx.py +++ b/src/utils_complex/create_ezfio_complex_3idx.py @@ -72,6 +72,8 @@ def convert_kpts(filename,qph5path): ezfio.set_nuclei_nucl_charge(nucl_charge) ezfio.set_nuclei_nucl_coord(nucl_coord) + if isinstance(nucl_label[0],bytes): + nucl_label = list(map(lambda x:x.decode(),nucl_label)) ezfio.set_nuclei_nucl_label(nucl_label) ezfio.set_nuclei_io_nuclear_repulsion('Read') @@ -260,6 +262,8 @@ def convert_cplx(filename,qph5path): ezfio.set_nuclei_nucl_charge(nucl_charge) ezfio.set_nuclei_nucl_coord(nucl_coord) + if isinstance(nucl_label[0],bytes): + nucl_label = list(map(lambda x:x.decode(),nucl_label)) ezfio.set_nuclei_nucl_label(nucl_label) ezfio.set_nuclei_io_nuclear_repulsion('Read') From 9242555008b73bedf06516c716ec6d230a105dc1 Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Tue, 23 Jun 2020 16:44:20 -0500 Subject: [PATCH 131/138] conditional in selection for mo_num_per_kpt --- src/cipsi/selection.irp.f | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/cipsi/selection.irp.f b/src/cipsi/selection.irp.f index 35ffa402..a3703a62 100644 --- a/src/cipsi/selection.irp.f +++ b/src/cipsi/selection.irp.f @@ -520,7 +520,9 @@ subroutine select_singles_and_doubles(i_generator,hole_mask,particle_mask,fock_d h1 = hole_list(i1,s1) !todo: kpts - kh1 = (h1-1)/mo_num_per_kpt + 1 + if (is_complex) then + kh1 = (h1-1)/mo_num_per_kpt + 1 + endif ! pmask is i_generator det with bit at h1 set to zero call apply_hole(psi_det_generators(1,1,i_generator), s1,h1, pmask, ok, N_int) From cffb5cd7f62b7a320028a7218bafc93672c0edec Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Wed, 24 Jun 2020 16:00:37 -0500 Subject: [PATCH 132/138] set default nuclei/is_complex in converter --- bin/qp_convert_output_to_ezfio | 1 + 1 file changed, 1 insertion(+) diff --git a/bin/qp_convert_output_to_ezfio b/bin/qp_convert_output_to_ezfio index cbc81032..e050e9b9 100755 --- a/bin/qp_convert_output_to_ezfio +++ b/bin/qp_convert_output_to_ezfio @@ -89,6 +89,7 @@ def write_ezfio(res, filename): # W r i t e # # ~#~#~#~#~ # + ezfio.set_nuclei_is_complex(False) ezfio.set_nuclei_nucl_num(len(res.geometry)) ezfio.set_nuclei_nucl_charge(charge) From 6a4659bc1001791bcb9e96bc5ac3a3bd3da4d54e Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Wed, 1 Jul 2020 13:06:24 -0500 Subject: [PATCH 133/138] placeholder to prevent warning about out values not assigned --- src/ao_two_e_ints/map_integrals_cplx.irp.f | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/ao_two_e_ints/map_integrals_cplx.irp.f b/src/ao_two_e_ints/map_integrals_cplx.irp.f index a5926e59..12d17504 100644 --- a/src/ao_two_e_ints/map_integrals_cplx.irp.f +++ b/src/ao_two_e_ints/map_integrals_cplx.irp.f @@ -406,6 +406,10 @@ subroutine get_ao_two_e_integrals_non_zero_complex(j,k,l,sze,out_val,out_val_ind integer, intent(out) :: out_val_index(sze),non_zero_int print*,'not implemented for periodic',irp_here stop -1 + !placeholder to keep compiler from complaining about out values not assigned + out_val=0.d0 + out_val_index=0 + non_zero_int=0 ! ! integer :: i ! integer(key_kind) :: hash @@ -455,6 +459,10 @@ subroutine get_ao_two_e_integrals_non_zero_jl_complex(j,l,thresh,sze_max,sze,out integer, intent(out) :: out_val_index(2,sze_max),non_zero_int print*,'not implemented for periodic',irp_here stop -1 + !placeholder to keep compiler from complaining about out values not assigned + out_val=0.d0 + out_val_index=0 + non_zero_int=0 ! ! integer :: i,k ! integer(key_kind) :: hash @@ -507,6 +515,10 @@ subroutine get_ao_two_e_integrals_non_zero_jl_from_list_complex(j,l,thresh,list, integer, intent(out) :: out_val_index(2,sze_max),non_zero_int print*,'not implemented for periodic',irp_here stop -1 + !placeholder to keep compiler from complaining about out values not assigned + out_val=0.d0 + out_val_index=0 + non_zero_int=0 ! ! integer :: i,k ! integer(key_kind) :: hash From 10bcd38c45c64da1be7146ecec62684b9b0303ec Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Wed, 1 Jul 2020 13:07:09 -0500 Subject: [PATCH 134/138] complex print_energy --- src/tools/print_energy.irp.f | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/src/tools/print_energy.irp.f b/src/tools/print_energy.irp.f index 4703e7d4..056531a0 100644 --- a/src/tools/print_energy.irp.f +++ b/src/tools/print_energy.irp.f @@ -8,7 +8,11 @@ program print_energy ! psi_coef_sorted are the wave function stored in the |EZFIO| directory. read_wf = .True. touch read_wf - call run + if (is_complex) then + call run_complex + else + call run + endif end subroutine run @@ -32,3 +36,25 @@ subroutine run print *, E(i)/norm(i) enddo end + +subroutine run_complex + implicit none + integer :: i + complex*16 :: i_h_psi_array(n_states) + double precision :: e(n_states) + double precision :: norm(n_states) + + e(:) = nuclear_repulsion + norm(:) = 0.d0 + do i=1,n_det + call i_H_psi_complex(psi_det(1,1,i), psi_det, psi_coef_complex, N_int, N_det, & + size(psi_coef_complex,1), N_states, i_H_psi_array) + norm(:) += cdabs(psi_coef_complex(i,:))**2 + E(:) += dble(i_h_psi_array(:) * dconjg(psi_coef_complex(i,:))) + enddo + + print *, 'Energy:' + do i=1,N_states + print *, E(i)/norm(i) + enddo +end From d2dc64c4227ca115e8db7a0e15854025b05a87cb Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Wed, 1 Jul 2020 13:20:35 -0500 Subject: [PATCH 135/138] complex cis and cisd --- scripts/generate_h_apply.py | 18 ++++++++++++++---- src/cis/cis.irp.f | 9 +++++++-- src/cisd/cisd.irp.f | 27 ++++++++++++++++++++------- src/cisd/cisd_routine.irp.f | 9 +++++++-- src/determinants/h_apply.irp.f | 2 +- 5 files changed, 49 insertions(+), 16 deletions(-) diff --git a/scripts/generate_h_apply.py b/scripts/generate_h_apply.py index dc7d340e..abfea976 100644 --- a/scripts/generate_h_apply.py +++ b/scripts/generate_h_apply.py @@ -130,9 +130,15 @@ class H_apply(object): !$OMP END PARALLEL call dsort(H_jj,iorder,N_det) - do k=1,N_states - psi_coef(iorder(k),k) = 1.d0 - enddo + if (is_complex) then + do k=1,N_states + psi_coef_complex(iorder(k),k) = (1.d0,0.d0) + enddo + else + do k=1,N_states + psi_coef(iorder(k),k) = 1.d0 + enddo + endif deallocate(H_jj,iorder) """ @@ -141,7 +147,11 @@ class H_apply(object): if (s2_eig) then call make_s2_eigenfunction endif - SOFT_TOUCH psi_det psi_coef N_det + if (is_complex) then + SOFT_TOUCH psi_det psi_coef_complex N_det + else + SOFT_TOUCH psi_det psi_coef N_det + endif """ s["printout_now"] = """write(6,*) & 100.*float(i_generator)/float(N_det_generators), '% in ', wall_1-wall_0, 's'""" diff --git a/src/cis/cis.irp.f b/src/cis/cis.irp.f index 816253c5..5fd76493 100644 --- a/src/cis/cis.irp.f +++ b/src/cis/cis.irp.f @@ -77,8 +77,13 @@ subroutine run endif call ezfio_set_cis_energy(CI_energy) - psi_coef = ci_eigenvectors - SOFT_TOUCH psi_coef + if (is_complex) then + psi_coef_complex = ci_eigenvectors_complex + SOFT_TOUCH psi_coef_complex + else + psi_coef = ci_eigenvectors + SOFT_TOUCH psi_coef + endif call save_wavefunction end diff --git a/src/cisd/cisd.irp.f b/src/cisd/cisd.irp.f index 6c55e2ff..c3c9f821 100644 --- a/src/cisd/cisd.irp.f +++ b/src/cisd/cisd.irp.f @@ -61,16 +61,29 @@ subroutine run else call H_apply_cisd endif - psi_coef = ci_eigenvectors - SOFT_TOUCH psi_coef + if (is_complex) then + psi_coef_complex = ci_eigenvectors_complex + SOFT_TOUCH psi_coef_complex + else + psi_coef = ci_eigenvectors + SOFT_TOUCH psi_coef + endif call save_wavefunction call ezfio_set_cisd_energy(CI_energy) - do i = 1,N_states - k = maxloc(dabs(psi_coef_sorted(1:N_det,i)),dim=1) - delta_E = CI_electronic_energy(i) - diag_h_mat_elem(psi_det_sorted(1,1,k),N_int) - cisdq(i) = CI_energy(i) + delta_E * (1.d0 - psi_coef_sorted(k,i)**2) - enddo + if (is_complex) then + do i = 1,N_states + k = maxloc(cdabs(psi_coef_sorted_complex(1:N_det,i)),dim=1) + delta_E = CI_electronic_energy(i) - diag_h_mat_elem(psi_det_sorted(1,1,k),N_int) + cisdq(i) = CI_energy(i) + delta_E * (1.d0 - cdabs(psi_coef_sorted_complex(k,i))**2) + enddo + else + do i = 1,N_states + k = maxloc(dabs(psi_coef_sorted(1:N_det,i)),dim=1) + delta_E = CI_electronic_energy(i) - diag_h_mat_elem(psi_det_sorted(1,1,k),N_int) + cisdq(i) = CI_energy(i) + delta_E * (1.d0 - psi_coef_sorted(k,i)**2) + enddo + endif print *, 'N_det = ', N_det print*,'' print*,'******************************' diff --git a/src/cisd/cisd_routine.irp.f b/src/cisd/cisd_routine.irp.f index 93b31e7d..e243e113 100644 --- a/src/cisd/cisd_routine.irp.f +++ b/src/cisd/cisd_routine.irp.f @@ -20,8 +20,13 @@ subroutine run_cisd print*, i ,CI_energy(i) - CI_energy(1) enddo endif - psi_coef = ci_eigenvectors - SOFT_TOUCH psi_coef + if (is_complex) then + psi_coef_complex = ci_eigenvectors_complex + SOFT_TOUCH psi_coef_complex + else + psi_coef = ci_eigenvectors + SOFT_TOUCH psi_coef + endif call save_wavefunction call ezfio_set_cisd_energy(CI_energy) diff --git a/src/determinants/h_apply.irp.f b/src/determinants/h_apply.irp.f index f73d328a..fcce1645 100644 --- a/src/determinants/h_apply.irp.f +++ b/src/determinants/h_apply.irp.f @@ -256,7 +256,7 @@ subroutine copy_H_apply_buffer_to_wf call remove_duplicates_in_psi_det(found_duplicates) do k=1,N_states - call normalize(psi_coef_complex(1,k),N_det) + call normalize_complex(psi_coef_complex(1,k),N_det) enddo SOFT_TOUCH N_det psi_det psi_coef_complex else From 5d0a54d30be2451632f26d9a2c0b5012976cba0c Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Thu, 2 Jul 2020 10:46:52 -0500 Subject: [PATCH 136/138] separate CIS for kpts --- src/cis/kpts_cis.irp.f | 580 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 580 insertions(+) create mode 100644 src/cis/kpts_cis.irp.f diff --git a/src/cis/kpts_cis.irp.f b/src/cis/kpts_cis.irp.f new file mode 100644 index 00000000..9bdd0175 --- /dev/null +++ b/src/cis/kpts_cis.irp.f @@ -0,0 +1,580 @@ + +subroutine H_apply_cis_kpts_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generator,iproc_in ) + use omp_lib + use bitmasks + implicit none + BEGIN_DOC + ! Generate all single excitations of key_in using the bit masks of holes and + ! particles. + ! Assume N_int is already provided. + END_DOC + integer,parameter :: size_max = 8192 + + integer ,intent(in) :: i_generator + integer(bit_kind),intent(in) :: key_in(N_int,2) + integer(bit_kind),intent(in) :: hole_1(N_int,2), particl_1(N_int,2) + integer, intent(in) :: iproc_in + double precision, intent(in) :: fock_diag_tmp(2,mo_num+1) + integer(bit_kind),allocatable :: keys_out(:,:,:) + integer(bit_kind),allocatable :: hole_save(:,:) + integer(bit_kind),allocatable :: key(:,:),hole(:,:), particle(:,:) + integer(bit_kind),allocatable :: hole_tmp(:,:), particle_tmp(:,:) + integer(bit_kind),allocatable :: hole_2(:,:), particl_2(:,:) + integer :: ii,i,jj,j,k,ispin,l + integer,allocatable :: occ_particle(:,:), occ_hole(:,:) + integer,allocatable :: occ_particle_tmp(:,:), occ_hole_tmp(:,:) + integer,allocatable :: ib_jb_pairs(:,:) + integer :: kk,pp,other_spin,key_idx + integer :: N_elec_in_key_hole_1(2),N_elec_in_key_part_1(2) + integer :: N_elec_in_key_hole_2(2),N_elec_in_key_part_2(2) + logical :: is_a_two_holes_two_particles + integer(bit_kind), allocatable :: key_union_hole_part(:) + + integer, allocatable :: ia_ja_pairs(:,:,:) + logical, allocatable :: array_pairs(:,:) + double precision :: diag_H_mat_elem + integer :: iproc + + integer(bit_kind) :: key_mask(N_int, 2) + + logical :: check_double_excitation + logical :: is_a_2h1p + logical :: is_a_2h + logical :: is_a_1h1p + logical :: is_a_1h2p + logical :: is_a_1h + logical :: is_a_1p + logical :: is_a_2p + logical :: yes_no + + do k=1,N_int + key_mask(k,1) = 0_bit_kind + key_mask(k,2) = 0_bit_kind + enddo + + iproc = iproc_in + + check_double_excitation = .True. + + + + + + +!$ iproc = omp_get_thread_num() + allocate (keys_out(N_int,2,size_max), hole_save(N_int,2), & + key(N_int,2),hole(N_int,2), particle(N_int,2), hole_tmp(N_int,2),& + particle_tmp(N_int,2), occ_particle(N_int*bit_kind_size,2), & + occ_hole(N_int*bit_kind_size,2), occ_particle_tmp(N_int*bit_kind_size,2),& + occ_hole_tmp(N_int*bit_kind_size,2),key_union_hole_part(N_int)) + + !!!! First couple hole particle + do j = 1, N_int + hole(j,1) = iand(hole_1(j,1),key_in(j,1)) + hole(j,2) = iand(hole_1(j,2),key_in(j,2)) + particle(j,1) = iand(xor(particl_1(j,1),key_in(j,1)),particl_1(j,1)) + particle(j,2) = iand(xor(particl_1(j,2),key_in(j,2)),particl_1(j,2)) + enddo + + call bitstring_to_list_ab(particle,occ_particle,N_elec_in_key_part_1,N_int) + call bitstring_to_list_ab(hole,occ_hole,N_elec_in_key_hole_1,N_int) + allocate (ia_ja_pairs(2,0:(elec_alpha_num)*mo_num,2)) + + do ispin=1,2 + i=0 + do ii=N_elec_in_key_hole_1(ispin),1,-1 ! hole + i_a = occ_hole(ii,ispin) + do jj=1,N_elec_in_key_part_1(ispin) !particule + j_a = occ_particle(jj,ispin) + i += 1 + ia_ja_pairs(1,i,ispin) = i_a + ia_ja_pairs(2,i,ispin) = j_a + enddo + enddo + ia_ja_pairs(1,0,ispin) = i + enddo + + key_idx = 0 + + integer :: i_a,j_a,i_b,j_b,k_a,l_a,k_b,l_b + integer(bit_kind) :: test(N_int,2) + double precision :: accu + accu = 0.d0 + do ispin=1,2 + other_spin = iand(ispin,1)+1 + + do ii=1,ia_ja_pairs(1,0,ispin) + i_a = ia_ja_pairs(1,ii,ispin) + j_a = ia_ja_pairs(2,ii,ispin) + hole = key_in + k = shiftr(i_a-1,bit_kind_shift)+1 + j = i_a-shiftl(k-1,bit_kind_shift)-1 + + hole(k,ispin) = ibclr(hole(k,ispin),j) + k_a = shiftr(j_a-1,bit_kind_shift)+1 + l_a = j_a-shiftl(k_a-1,bit_kind_shift)-1 + + hole(k_a,ispin) = ibset(hole(k_a,ispin),l_a) + + + + + + + + + + + + + + key_idx += 1 + do k=1,N_int + keys_out(k,1,key_idx) = hole(k,1) + keys_out(k,2,key_idx) = hole(k,2) + enddo + if (key_idx == size_max) then + call fill_H_apply_buffer_no_selection(key_idx,keys_out,N_int,iproc) + key_idx = 0 + endif + enddo ! ii + + enddo ! ispin + call fill_H_apply_buffer_no_selection(key_idx,keys_out,N_int,iproc) + + deallocate (ia_ja_pairs, & + keys_out, hole_save, & + key,hole, particle, hole_tmp,& + particle_tmp, occ_particle, & + occ_hole, occ_particle_tmp,& + occ_hole_tmp,key_union_hole_part) + + + +end + +subroutine H_apply_cis_kpts() + implicit none + use omp_lib + use bitmasks + BEGIN_DOC + ! Calls H_apply on the |HF| determinant and selects all connected single and double + ! excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. + END_DOC + + + + integer :: i_generator + double precision :: wall_0, wall_1 + integer(bit_kind), allocatable :: mask(:,:,:) + integer(bit_kind), allocatable :: mask_kpts(:,:,:) + integer :: kk + integer :: ispin, k + integer :: iproc + double precision, allocatable :: fock_diag_tmp(:,:) + + + if (is_complex) then + PROVIDE H_apply_buffer_allocated mo_two_e_integrals_in_map psi_det_generators psi_coef_generators_complex + else + PROVIDE H_apply_buffer_allocated mo_two_e_integrals_in_map psi_det_generators psi_coef_generators + endif + + call wall_time(wall_0) + + iproc = 0 + !allocate( mask(N_int,2,6), fock_diag_tmp(2,mo_num+1) ) + allocate( mask_kpts(N_int,2,6,kpt_num), fock_diag_tmp(2,mo_num+1) ) + do i_generator=1,N_det_generators + + ! Compute diagonal of the Fock matrix + !call build_fock_tmp(fock_diag_tmp,psi_det_generators(1,1,i_generator),N_int) + fock_diag_tmp=0.d0 + + ! Create bit masks for holes and particles + do kk=1,kpt_num + do ispin=1,2 + do k=1,N_int + mask_kpts(k,ispin,s_hole,kk) = & + iand(generators_bitmask_kpts(k,ispin,s_hole,kk), & + psi_det_generators(k,ispin,i_generator) ) + mask_kpts(k,ispin,s_part,kk) = & + iand(generators_bitmask_kpts(k,ispin,s_part,kk), & + not(psi_det_generators(k,ispin,i_generator)) ) + ! mask_kpts(k,ispin,d_hole1,kk) = & + ! iand(generators_bitmask_kpts(k,ispin,d_hole1,kk), & + ! psi_det_generators(k,ispin,i_generator) ) + ! mask_kpts(k,ispin,d_part1,kk) = & + ! iand(generators_bitmask_kpts(k,ispin,d_part1,kk), & + ! not(psi_det_generators(k,ispin,i_generator)) ) + ! mask_kpts(k,ispin,d_hole2,kk) = & + ! iand(generators_bitmask_kpts(k,ispin,d_hole2,kk), & + ! psi_det_generators(k,ispin,i_generator) ) + ! mask_kpts(k,ispin,d_part2,kk) = & + ! iand(generators_bitmask_kpts(k,ispin,d_part2,kk), & + ! not(psi_det_generators(k,ispin,i_generator)) ) + enddo + enddo + enddo + !if(.False.)then + ! call H_apply_cis_kpts_diexc(psi_det_generators(1,1,i_generator), & + ! psi_det_generators(1,1,1), & + ! mask(1,1,d_hole1), mask(1,1,d_part1), & + ! mask(1,1,d_hole2), mask(1,1,d_part2), & + ! fock_diag_tmp, i_generator, iproc ) + !endif + if(.True.)then + do kk=1,kpt_num + call H_apply_cis_kpts_monoexc(psi_det_generators(1,1,i_generator), & + mask_kpts(1,1,s_hole,kk), mask_kpts(1,1,s_part,kk ), & + fock_diag_tmp, i_generator, iproc ) + enddo + endif + call wall_time(wall_1) + + if (wall_1 - wall_0 > 2.d0) then + write(6,*) & + 100.*float(i_generator)/float(N_det_generators), '% in ', wall_1-wall_0, 's' + wall_0 = wall_1 + endif + enddo + + !deallocate( mask, fock_diag_tmp ) + deallocate( mask_kpts, fock_diag_tmp ) + + call copy_H_apply_buffer_to_wf + if (s2_eig) then + call make_s2_eigenfunction + endif + if (is_complex) then + SOFT_TOUCH psi_det psi_coef_complex N_det + else + SOFT_TOUCH psi_det psi_coef N_det + endif + + + ! Sort H_jj to find the N_states lowest states + integer :: i + integer, allocatable :: iorder(:) + double precision, allocatable :: H_jj(:) + double precision, external :: diag_h_mat_elem + allocate(H_jj(N_det),iorder(N_det)) + !$OMP PARALLEL DEFAULT(NONE) & + !$OMP SHARED(psi_det,N_int,H_jj,iorder,N_det) & + !$OMP PRIVATE(i) + !$OMP DO + do i = 1, N_det + H_jj(i) = diag_h_mat_elem(psi_det(1,1,i),N_int) + iorder(i) = i + enddo + !$OMP END DO + !$OMP END PARALLEL + + call dsort(H_jj,iorder,N_det) + if (is_complex) then + do k=1,N_states + psi_coef_complex(iorder(k),k) = (1.d0,0.d0) + enddo + else + do k=1,N_states + psi_coef(iorder(k),k) = 1.d0 + enddo + endif + deallocate(H_jj,iorder) + + +end + + + + +subroutine H_apply_cis_sym_kpts_monoexc(key_in, hole_1,particl_1,fock_diag_tmp,i_generator,iproc_in ) + use omp_lib + use bitmasks + implicit none + BEGIN_DOC + ! Generate all single excitations of key_in using the bit masks of holes and + ! particles. + ! Assume N_int is already provided. + END_DOC + integer,parameter :: size_max = 8192 + + integer ,intent(in) :: i_generator + integer(bit_kind),intent(in) :: key_in(N_int,2) + integer(bit_kind),intent(in) :: hole_1(N_int,2), particl_1(N_int,2) + integer, intent(in) :: iproc_in + double precision, intent(in) :: fock_diag_tmp(2,mo_num+1) + integer(bit_kind),allocatable :: keys_out(:,:,:) + integer(bit_kind),allocatable :: hole_save(:,:) + integer(bit_kind),allocatable :: key(:,:),hole(:,:), particle(:,:) + integer(bit_kind),allocatable :: hole_tmp(:,:), particle_tmp(:,:) + integer(bit_kind),allocatable :: hole_2(:,:), particl_2(:,:) + integer :: ii,i,jj,j,k,ispin,l + integer,allocatable :: occ_particle(:,:), occ_hole(:,:) + integer,allocatable :: occ_particle_tmp(:,:), occ_hole_tmp(:,:) + integer,allocatable :: ib_jb_pairs(:,:) + integer :: kk,pp,other_spin,key_idx + integer :: N_elec_in_key_hole_1(2),N_elec_in_key_part_1(2) + integer :: N_elec_in_key_hole_2(2),N_elec_in_key_part_2(2) + logical :: is_a_two_holes_two_particles + integer(bit_kind), allocatable :: key_union_hole_part(:) + + integer, allocatable :: ia_ja_pairs(:,:,:) + logical, allocatable :: array_pairs(:,:) + double precision :: diag_H_mat_elem + integer :: iproc + + integer(bit_kind) :: key_mask(N_int, 2) + + logical :: check_double_excitation + logical :: is_a_2h1p + logical :: is_a_2h + logical :: is_a_1h1p + logical :: is_a_1h2p + logical :: is_a_1h + logical :: is_a_1p + logical :: is_a_2p + logical :: yes_no + + do k=1,N_int + key_mask(k,1) = 0_bit_kind + key_mask(k,2) = 0_bit_kind + enddo + + iproc = iproc_in + + check_double_excitation = .True. + + + + + + +!$ iproc = omp_get_thread_num() + allocate (keys_out(N_int,2,size_max), hole_save(N_int,2), & + key(N_int,2),hole(N_int,2), particle(N_int,2), hole_tmp(N_int,2),& + particle_tmp(N_int,2), occ_particle(N_int*bit_kind_size,2), & + occ_hole(N_int*bit_kind_size,2), occ_particle_tmp(N_int*bit_kind_size,2),& + occ_hole_tmp(N_int*bit_kind_size,2),key_union_hole_part(N_int)) + + !!!! First couple hole particle + do j = 1, N_int + hole(j,1) = iand(hole_1(j,1),key_in(j,1)) + hole(j,2) = iand(hole_1(j,2),key_in(j,2)) + particle(j,1) = iand(xor(particl_1(j,1),key_in(j,1)),particl_1(j,1)) + particle(j,2) = iand(xor(particl_1(j,2),key_in(j,2)),particl_1(j,2)) + enddo + + call bitstring_to_list_ab(particle,occ_particle,N_elec_in_key_part_1,N_int) + call bitstring_to_list_ab(hole,occ_hole,N_elec_in_key_hole_1,N_int) + allocate (ia_ja_pairs(2,0:(elec_alpha_num)*mo_num,2)) + + do ispin=1,2 + i=0 + do ii=N_elec_in_key_hole_1(ispin),1,-1 ! hole + i_a = occ_hole(ii,ispin) + do jj=1,N_elec_in_key_part_1(ispin) !particule + j_a = occ_particle(jj,ispin) + i += 1 + ia_ja_pairs(1,i,ispin) = i_a + ia_ja_pairs(2,i,ispin) = j_a + enddo + enddo + ia_ja_pairs(1,0,ispin) = i + enddo + + key_idx = 0 + + integer :: i_a,j_a,i_b,j_b,k_a,l_a,k_b,l_b + integer(bit_kind) :: test(N_int,2) + double precision :: accu + accu = 0.d0 + do ispin=1,2 + other_spin = iand(ispin,1)+1 + + do ii=1,ia_ja_pairs(1,0,ispin) + i_a = ia_ja_pairs(1,ii,ispin) + j_a = ia_ja_pairs(2,ii,ispin) + hole = key_in + k = shiftr(i_a-1,bit_kind_shift)+1 + j = i_a-shiftl(k-1,bit_kind_shift)-1 + + hole(k,ispin) = ibclr(hole(k,ispin),j) + k_a = shiftr(j_a-1,bit_kind_shift)+1 + l_a = j_a-shiftl(k_a-1,bit_kind_shift)-1 + + hole(k_a,ispin) = ibset(hole(k_a,ispin),l_a) + + + + + + + + + + + + + + call connected_to_hf(hole,yes_no) + if (.not.yes_no) cycle + + key_idx += 1 + do k=1,N_int + keys_out(k,1,key_idx) = hole(k,1) + keys_out(k,2,key_idx) = hole(k,2) + enddo + if (key_idx == size_max) then + call fill_H_apply_buffer_no_selection(key_idx,keys_out,N_int,iproc) + key_idx = 0 + endif + enddo ! ii + + enddo ! ispin + call fill_H_apply_buffer_no_selection(key_idx,keys_out,N_int,iproc) + + deallocate (ia_ja_pairs, & + keys_out, hole_save, & + key,hole, particle, hole_tmp,& + particle_tmp, occ_particle, & + occ_hole, occ_particle_tmp,& + occ_hole_tmp,key_union_hole_part) + + + +end + +subroutine H_apply_cis_sym_kpts() + implicit none + use omp_lib + use bitmasks + BEGIN_DOC + ! Calls H_apply on the |HF| determinant and selects all connected single and double + ! excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. + END_DOC + + + + integer :: i_generator + double precision :: wall_0, wall_1 + integer(bit_kind), allocatable :: mask(:,:,:) + integer(bit_kind), allocatable :: mask_kpts(:,:,:) + integer :: kk + integer :: ispin, k + integer :: iproc + double precision, allocatable :: fock_diag_tmp(:,:) + + + if (is_complex) then + PROVIDE H_apply_buffer_allocated mo_two_e_integrals_in_map psi_det_generators psi_coef_generators_complex + else + PROVIDE H_apply_buffer_allocated mo_two_e_integrals_in_map psi_det_generators psi_coef_generators + endif + + call wall_time(wall_0) + + iproc = 0 + !allocate( mask(N_int,2,6), fock_diag_tmp(2,mo_num+1) ) + allocate( mask_kpts(N_int,2,6,kpt_num), fock_diag_tmp(2,mo_num+1) ) + do i_generator=1,N_det_generators + + ! Compute diagonal of the Fock matrix + !call build_fock_tmp(fock_diag_tmp,psi_det_generators(1,1,i_generator),N_int) + fock_diag_tmp=0.d0 + + ! Create bit masks for holes and particles + do kk=1,kpt_num + do ispin=1,2 + do k=1,N_int + mask(k,ispin,d_hole2) = & + iand(generators_bitmask(k,ispin,d_hole2), & + psi_det_generators(k,ispin,i_generator) ) + mask(k,ispin,d_part2) = & + iand(generators_bitmask(k,ispin,d_part2), & + not(psi_det_generators(k,ispin,i_generator)) ) + ! mask_kpts(k,ispin,d_hole1,kk) = & + ! iand(generators_bitmask_kpts(k,ispin,d_hole1,kk), & + ! psi_det_generators(k,ispin,i_generator) ) + ! mask_kpts(k,ispin,d_part1,kk) = & + ! iand(generators_bitmask_kpts(k,ispin,d_part1,kk), & + ! not(psi_det_generators(k,ispin,i_generator)) ) + ! mask_kpts(k,ispin,d_hole2,kk) = & + ! iand(generators_bitmask_kpts(k,ispin,d_hole2,kk), & + ! psi_det_generators(k,ispin,i_generator) ) + ! mask_kpts(k,ispin,d_part2,kk) = & + ! iand(generators_bitmask_kpts(k,ispin,d_part2,kk), & + ! not(psi_det_generators(k,ispin,i_generator)) ) + enddo + enddo + enddo + !if(.False.)then + ! call H_apply_cis_sym_kpts_diexc(psi_det_generators(1,1,i_generator), & + ! psi_det_generators(1,1,1), & + ! mask(1,1,d_hole1), mask(1,1,d_part1), & + ! mask(1,1,d_hole2), mask(1,1,d_part2), & + ! fock_diag_tmp, i_generator, iproc ) + !endif + if(.True.)then + do kk=1,kpt_num + call H_apply_cis_sym_kpts_monoexc(psi_det_generators(1,1,i_generator), & + mask_kpts(1,1,s_hole,kk), mask_kpts(1,1,s_part,kk ), & + fock_diag_tmp, i_generator, iproc ) + enddo + endif + call wall_time(wall_1) + + if (wall_1 - wall_0 > 2.d0) then + write(6,*) & + 100.*float(i_generator)/float(N_det_generators), '% in ', wall_1-wall_0, 's' + wall_0 = wall_1 + endif + enddo + + !deallocate( mask, fock_diag_tmp ) + deallocate( mask_kpts, fock_diag_tmp ) + + call copy_H_apply_buffer_to_wf + if (s2_eig) then + call make_s2_eigenfunction + endif + if (is_complex) then + SOFT_TOUCH psi_det psi_coef_complex N_det + else + SOFT_TOUCH psi_det psi_coef N_det + endif + + + ! Sort H_jj to find the N_states lowest states + integer :: i + integer, allocatable :: iorder(:) + double precision, allocatable :: H_jj(:) + double precision, external :: diag_h_mat_elem + allocate(H_jj(N_det),iorder(N_det)) + !$OMP PARALLEL DEFAULT(NONE) & + !$OMP SHARED(psi_det,N_int,H_jj,iorder,N_det) & + !$OMP PRIVATE(i) + !$OMP DO + do i = 1, N_det + H_jj(i) = diag_h_mat_elem(psi_det(1,1,i),N_int) + iorder(i) = i + enddo + !$OMP END DO + !$OMP END PARALLEL + + call dsort(H_jj,iorder,N_det) + if (is_complex) then + do k=1,N_states + psi_coef_complex(iorder(k),k) = (1.d0,0.d0) + enddo + else + do k=1,N_states + psi_coef(iorder(k),k) = 1.d0 + enddo + endif + deallocate(H_jj,iorder) + + +end + + From f71086571b25659c0b29e5f17c397c9ce8ed8afe Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Thu, 2 Jul 2020 10:48:20 -0500 Subject: [PATCH 137/138] CIS kpts --- src/bitmask/bitmasks.irp.f | 76 +++++++++++++++++++------------------- src/cis/cis.irp.f | 14 +++++-- 2 files changed, 50 insertions(+), 40 deletions(-) diff --git a/src/bitmask/bitmasks.irp.f b/src/bitmask/bitmasks.irp.f index d8580e63..a13644cd 100644 --- a/src/bitmask/bitmasks.irp.f +++ b/src/bitmask/bitmasks.irp.f @@ -343,43 +343,45 @@ END_PROVIDER -!BEGIN_PROVIDER [ integer(bit_kind), generators_bitmask, (N_int,2,6) ] -! implicit none -! BEGIN_DOC -! ! Bitmasks for generator determinants. -! ! (N_int, alpha/beta, hole/particle, generator). -! ! -! ! 3rd index is : -! ! -! ! * 1 : hole for single exc -! ! -! ! * 2 : particle for single exc -! ! -! ! * 3 : hole for 1st exc of double -! ! -! ! * 4 : particle for 1st exc of double -! ! -! ! * 5 : hole for 2nd exc of double -! ! -! ! * 6 : particle for 2nd exc of double -! ! -! END_DOC -! logical :: exists -! PROVIDE ezfio_filename full_ijkl_bitmask -! -! integer :: ispin, i -! do ispin=1,2 -! do i=1,N_int -! generators_bitmask(i,ispin,s_hole ) = reunion_of_inact_act_bitmask(i,ispin) -! generators_bitmask(i,ispin,s_part ) = reunion_of_act_virt_bitmask(i,ispin) -! generators_bitmask(i,ispin,d_hole1) = reunion_of_inact_act_bitmask(i,ispin) -! generators_bitmask(i,ispin,d_part1) = reunion_of_act_virt_bitmask(i,ispin) -! generators_bitmask(i,ispin,d_hole2) = reunion_of_inact_act_bitmask(i,ispin) -! generators_bitmask(i,ispin,d_part2) = reunion_of_act_virt_bitmask(i,ispin) -! enddo -! enddo -! -!END_PROVIDER +BEGIN_PROVIDER [ integer(bit_kind), generators_bitmask_kpts, (N_int,2,6,kpt_num) ] + implicit none + BEGIN_DOC + ! Bitmasks for generator determinants. + ! (N_int, alpha/beta, hole/particle, generator). + ! + ! 3rd index is : + ! + ! * 1 : hole for single exc + ! + ! * 2 : particle for single exc + ! + ! * 3 : hole for 1st exc of double + ! + ! * 4 : particle for 1st exc of double + ! + ! * 5 : hole for 2nd exc of double + ! + ! * 6 : particle for 2nd exc of double + ! + END_DOC + logical :: exists + PROVIDE ezfio_filename full_ijkl_bitmask + + integer :: ispin, i, k + do k=1,kpt_num + do ispin=1,2 + do i=1,N_int + generators_bitmask_kpts(i,ispin,s_hole ,k) = reunion_of_inact_act_bitmask_kpts(i,ispin,k) + generators_bitmask_kpts(i,ispin,s_part ,k) = reunion_of_act_virt_bitmask_kpts(i,ispin,k) + generators_bitmask_kpts(i,ispin,d_hole1,k) = reunion_of_inact_act_bitmask_kpts(i,ispin,k) + generators_bitmask_kpts(i,ispin,d_part1,k) = reunion_of_act_virt_bitmask_kpts(i,ispin,k) + generators_bitmask_kpts(i,ispin,d_hole2,k) = reunion_of_inact_act_bitmask_kpts(i,ispin,k) + generators_bitmask_kpts(i,ispin,d_part2,k) = reunion_of_act_virt_bitmask_kpts(i,ispin,k) + enddo + enddo + enddo + +END_PROVIDER BEGIN_PROVIDER [ integer(bit_kind), reunion_of_core_inact_bitmask_kpts, (N_int,2,kpt_num)] implicit none diff --git a/src/cis/cis.irp.f b/src/cis/cis.irp.f index 5fd76493..63b83552 100644 --- a/src/cis/cis.irp.f +++ b/src/cis/cis.irp.f @@ -57,10 +57,18 @@ subroutine run implicit none integer :: i - if(pseudo_sym)then - call H_apply_cis_sym + if (is_complex) then + if(pseudo_sym)then + call H_apply_cis_sym_kpts + else + call H_apply_cis_kpts + endif else - call H_apply_cis + if(pseudo_sym)then + call H_apply_cis_sym + else + call H_apply_cis + endif endif print *, 'N_det = ', N_det print*,'******************************' From 9e0e696e696f8714f1924c5d4b1cf82303b76719 Mon Sep 17 00:00:00 2001 From: Kevin Gasperich Date: Thu, 2 Jul 2020 12:12:29 -0500 Subject: [PATCH 138/138] cis kpts fix --- src/cis/kpts_cis.irp.f | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/cis/kpts_cis.irp.f b/src/cis/kpts_cis.irp.f index 9bdd0175..cf88fa5f 100644 --- a/src/cis/kpts_cis.irp.f +++ b/src/cis/kpts_cis.irp.f @@ -167,7 +167,7 @@ subroutine H_apply_cis_kpts() integer :: i_generator double precision :: wall_0, wall_1 integer(bit_kind), allocatable :: mask(:,:,:) - integer(bit_kind), allocatable :: mask_kpts(:,:,:) + integer(bit_kind), allocatable :: mask_kpts(:,:,:,:) integer :: kk integer :: ispin, k integer :: iproc @@ -459,7 +459,7 @@ subroutine H_apply_cis_sym_kpts() integer :: i_generator double precision :: wall_0, wall_1 integer(bit_kind), allocatable :: mask(:,:,:) - integer(bit_kind), allocatable :: mask_kpts(:,:,:) + integer(bit_kind), allocatable :: mask_kpts(:,:,:,:) integer :: kk integer :: ispin, k integer :: iproc @@ -487,11 +487,11 @@ subroutine H_apply_cis_sym_kpts() do kk=1,kpt_num do ispin=1,2 do k=1,N_int - mask(k,ispin,d_hole2) = & - iand(generators_bitmask(k,ispin,d_hole2), & + mask_kpts(k,ispin,d_hole2,kk) = & + iand(generators_bitmask_kpts(k,ispin,d_hole2,kk), & psi_det_generators(k,ispin,i_generator) ) - mask(k,ispin,d_part2) = & - iand(generators_bitmask(k,ispin,d_part2), & + mask_kpts(k,ispin,d_part2,kk) = & + iand(generators_bitmask_kpts(k,ispin,d_part2,kk), & not(psi_det_generators(k,ispin,i_generator)) ) ! mask_kpts(k,ispin,d_hole1,kk) = & ! iand(generators_bitmask_kpts(k,ispin,d_hole1,kk), &