9
1
mirror of https://github.com/QuantumPackage/qp2.git synced 2024-11-07 14:03:37 +01:00

Merge pull request #118 from kgasperich/dev-kpts

merge dev
This commit is contained in:
Kevin Gasperich 2020-07-07 15:26:21 -05:00 committed by GitHub
commit 45b65508d1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
291 changed files with 61269 additions and 11518 deletions

View File

@ -13,12 +13,6 @@ dev:
bugfix: bugfix:
A fork of the *master* on which the bug fixes are made. A fork of the *master* on which the bug fixes are made.
dev-lcpq:
Toulouse development branch
dev-lct:
Paris development branch
gh-pages: gh-pages:
This is an independent branch, containing only the web site of QP2. This is an independent branch, containing only the web site of QP2.

View File

@ -36,7 +36,7 @@ Requirements
- Fortran compiler : GNU Fortran, Intel Fortran or IBM XL Fortran - Fortran compiler : GNU Fortran, Intel Fortran or IBM XL Fortran
- `GNU make`_ - `GNU make`_
- `Autoconf`_ - `Autoconf`_
- `Python`_ > 2.6 - `Python`_ > 3.0
- |IRPF90| : Fortran code generator - |IRPF90| : Fortran code generator
- |EZFIO| : Easy Fortran Input/Output library generator - |EZFIO| : Easy Fortran Input/Output library generator
- |BLAS| and |LAPACK| - |BLAS| and |LAPACK|
@ -370,11 +370,11 @@ Docopt
*Docopt* is a Python package defining a command-line interface description language. *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 .. code:: bash
pip2 install --user docopt python3 -m pip install --user docopt
Otherwise, Otherwise,

14
REPLACE
View File

@ -220,6 +220,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_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
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
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 psi_energy_bielec -r psi_energy_two_e
qp_name read_ao_integrals_e_n -r read_ao_integrals_n_e qp_name read_ao_integrals_e_n -r read_ao_integrals_n_e
qp_name read_ao_integrals --rename="read_ao_two_e_integrals" qp_name read_ao_integrals --rename="read_ao_two_e_integrals"
@ -239,6 +244,15 @@ 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_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 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
qp_name ao_ortho_canonical_coef_inv_complex -r ao_ortho_cano_coef_inv_cplx qp_name ao_ortho_canonical_coef_inv_complex -r ao_ortho_cano_coef_inv_cplx
qp_name fock_operator_closed_shell_ref_bitmask -r fock_op_cshell_ref_bitmask qp_name fock_operator_closed_shell_ref_bitmask -r fock_op_cshell_ref_bitmask
qp_name fock_operator_closed_shell_ref_bitmask_complex -r fock_op_cshell_ref_bitmask_cplx qp_name fock_operator_closed_shell_ref_bitmask_complex -r fock_op_cshell_ref_bitmask_cplx

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
@ -12,7 +12,7 @@ Usage:
""" """
from __future__ import print_function
import sys import sys
import os import os
import subprocess import subprocess

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
""" """
convert output of GAMESS/GAU$$IAN to ezfio convert output of GAMESS/GAU$$IAN to ezfio
@ -22,7 +22,7 @@ try:
QP_ROOT = os.environ["QP_ROOT"] QP_ROOT = os.environ["QP_ROOT"]
QP_EZFIO = os.environ["QP_EZFIO"] QP_EZFIO = os.environ["QP_EZFIO"]
except KeyError: except KeyError:
print "Error: QP_ROOT environment variable not found." print("Error: QP_ROOT environment variable not found.")
sys.exit(1) sys.exit(1)
else: else:
sys.path = [QP_EZFIO + "/Python", sys.path = [QP_EZFIO + "/Python",
@ -30,10 +30,11 @@ else:
QP_ROOT + "/install", QP_ROOT + "/install",
QP_ROOT + "/scripts"] + sys.path QP_ROOT + "/scripts"] + sys.path
from resultsFile import *
try: try:
from resultsFile import * from resultsFile import *
except: except:
print "Error: resultsFile Python library not installed" print("Error: resultsFile Python library not installed")
sys.exit(1) 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_alpha_num(res.num_alpha)
ezfio.set_electrons_elec_beta_num(res.num_beta) ezfio.set_electrons_elec_beta_num(res.num_beta)
print "OK" print("OK")
# #
# |\ | _ | _ o # |\ | _ | _ o
# | \| |_| (_ | (/_ | # | \| |_| (_ | (/_ |
# #
print "Nuclei\t\t...\t", print("Nuclei\t\t...\t", end=' ')
# ~#~#~#~ # # ~#~#~#~ #
# I n i t # # I n i t #
# ~#~#~#~ # # ~#~#~#~ #
@ -88,29 +89,29 @@ def write_ezfio(res, filename):
# W r i t e # # W r i t e #
# ~#~#~#~#~ # # ~#~#~#~#~ #
ezfio.set_nuclei_is_complex(False)
ezfio.set_nuclei_nucl_num(len(res.geometry)) ezfio.set_nuclei_nucl_num(len(res.geometry))
ezfio.set_nuclei_nucl_charge(charge) ezfio.set_nuclei_nucl_charge(charge)
# Transformt H1 into H # Transformt H1 into H
import re import re
p = re.compile(ur'(\d*)$') p = re.compile(r'(\d*)$')
label = [p.sub("", x.name).capitalize() for x in res.geometry] label = [p.sub("", x.name).capitalize() for x in res.geometry]
ezfio.set_nuclei_nucl_label(label) ezfio.set_nuclei_nucl_label(label)
ezfio.set_nuclei_nucl_coord(coord_x + coord_y + coord_z) ezfio.set_nuclei_nucl_coord(coord_x + coord_y + coord_z)
print "OK" print("OK")
# _ # _
# /\ _ _ |_) _. _ o _ # /\ _ _ |_) _. _ o _
# /--\ (_) _> |_) (_| _> | _> # /--\ (_) _> |_) (_| _> | _>
# #
print "AOS\t\t...\t", print("AOS\t\t...\t", end=' ')
# ~#~#~#~ # # ~#~#~#~ #
# I n i t # # I n i t #
# ~#~#~#~ # # ~#~#~#~ #
import string
at = [] at = []
num_prim = [] num_prim = []
power_x = [] power_x = []
@ -131,9 +132,9 @@ def write_ezfio(res, filename):
at.append(i + 1) at.append(i + 1)
num_prim.append(len(b.prim)) num_prim.append(len(b.prim))
s = b.sym s = b.sym
power_x.append(string.count(s, "x")) power_x.append(str.count(s, "x"))
power_y.append(string.count(s, "y")) power_y.append(str.count(s, "y"))
power_z.append(string.count(s, "z")) power_z.append(str.count(s, "z"))
coefficient.append(b.coef) coefficient.append(b.coef)
exponent.append([p.expo for p in b.prim]) exponent.append([p.expo for p in b.prim])
@ -175,14 +176,14 @@ def write_ezfio(res, filename):
ezfio.set_ao_basis_ao_expo(expo) ezfio.set_ao_basis_ao_expo(expo)
ezfio.set_ao_basis_ao_basis("Read by resultsFile") ezfio.set_ao_basis_ao_basis("Read by resultsFile")
print "OK" print("OK")
# _ # _
# |\/| _ _ |_) _. _ o _ # |\/| _ _ |_) _. _ o _
# | | (_) _> |_) (_| _> | _> # | | (_) _> |_) (_| _> | _>
# #
print "MOS\t\t...\t", print("MOS\t\t...\t", end=' ')
# ~#~#~#~ # # ~#~#~#~ #
# I n i t # # I n i t #
# ~#~#~#~ # # ~#~#~#~ #
@ -205,9 +206,9 @@ def write_ezfio(res, filename):
virtual = [] virtual = []
active = [(allMOs[i].eigenvalue, i) for i in range(len(allMOs))] active = [(allMOs[i].eigenvalue, i) for i in range(len(allMOs))]
closed = map(lambda x: x[1], closed) closed = [x[1] for x in closed]
active = map(lambda x: x[1], active) active = [x[1] for x in active]
virtual = map(lambda x: x[1], virtual) virtual = [x[1] for x in virtual]
MOindices = closed + active + virtual MOindices = closed + active + virtual
MOs = [] MOs = []
@ -223,7 +224,7 @@ def write_ezfio(res, filename):
MOmap[i] = MOindices.index(i) MOmap[i] = MOindices.index(i)
energies = [] energies = []
for i in xrange(mo_num): for i in range(mo_num):
energies.append(MOs[i].eigenvalue) energies.append(MOs[i].eigenvalue)
if res.occ_num is not None: if res.occ_num is not None:
@ -237,11 +238,11 @@ def write_ezfio(res, filename):
MoMatrix = [] MoMatrix = []
sym0 = [i.sym for i in res.mo_sets[MO_type]] sym0 = [i.sym for i in res.mo_sets[MO_type]]
sym = [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] sym[MOmap[i]] = sym0[i]
MoMatrix = [] MoMatrix = []
for i in xrange(len(MOs)): for i in range(len(MOs)):
m = MOs[i] m = MOs[i]
for coef in m.vector: for coef in m.vector:
MoMatrix.append(coef) MoMatrix.append(coef)
@ -256,10 +257,10 @@ def write_ezfio(res, filename):
ezfio.set_mo_basis_mo_num(mo_num) ezfio.set_mo_basis_mo_num(mo_num)
ezfio.set_mo_basis_mo_occ(OccNum) ezfio.set_mo_basis_mo_occ(OccNum)
ezfio.set_mo_basis_mo_coef(MoMatrix) ezfio.set_mo_basis_mo_coef(MoMatrix)
print "OK" print("OK")
print "Pseudos\t\t...\t", print("Pseudos\t\t...\t", end=' ')
try: try:
lmax = 0 lmax = 0
nucl_charge_remove = [] nucl_charge_remove = []
@ -327,7 +328,7 @@ def write_ezfio(res, filename):
else: else:
ezfio.set_pseudo_do_pseudo(True) ezfio.set_pseudo_do_pseudo(True)
print "OK" print("OK")
@ -335,7 +336,7 @@ def write_ezfio(res, filename):
def get_full_path(file_path): def get_full_path(file_path):
file_path = os.path.expanduser(file_path) file_path = os.path.expanduser(file_path)
file_path = os.path.expandvars(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 return file_path
@ -354,15 +355,15 @@ if __name__ == '__main__':
except: except:
raise raise
else: 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) write_ezfio(RES_FILE, EZFIO_FILE)
sys.stdout.flush() sys.stdout.flush()
if os.system("qp_run save_ortho_mos "+EZFIO_FILE) != 0: 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 qp run save_ortho_mos
to be sure your MOs will be orthogonal, which is not the case when 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).""")

View File

@ -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 Displays the names of all the files in which the provider/subroutine/function
@ -30,7 +30,7 @@ try:
from docopt import docopt from docopt import docopt
from qp_path import QP_SRC, QP_ROOT from qp_path import QP_SRC, QP_ROOT
except ImportError: except ImportError:
print "source .quantum_package.rc" print("source .quantum_package.rc")
raise raise
@ -38,7 +38,7 @@ def main(arguments):
"""Main function""" """Main function"""
# Check that name exist in */IRPF90_man # Check that name exist in */IRPF90_man
print "Checking that name exists..." print("Checking that name exists...")
all_modules = os.listdir(QP_SRC) all_modules = os.listdir(QP_SRC)
f = arguments["<name>"]+".l" f = arguments["<name>"]+".l"
@ -52,21 +52,21 @@ def main(arguments):
if found: break if found: break
if not found: if not found:
print "Error:" print("Error:")
print "The variable/subroutine/function \""+arguments["<name>"] \ print("The variable/subroutine/function \""+arguments["<name>"] \
+ "\" was not found in the sources." + "\" was not found in the sources.")
print "Did you compile the code at the root?" print("Did you compile the code at the root?")
print "Continue? [y/N] ", print("Continue? [y/N] ", end=' ')
cont = sys.stdin.read(1).strip() in ["y", "Y"] cont = sys.stdin.read(1).strip() in ["y", "Y"]
if not cont: if not cont:
print "Aborted" print("Aborted")
sys.exit(1) sys.exit(1)
# Now search in all the files # Now search in all the files
if arguments["--rename"]: if arguments["--rename"]:
print "Replacing..." print("Replacing...")
else: else:
print "Searching..." print("Searching...")
name = re.compile(r"\b"+arguments["<name>"]+r"\b", re.IGNORECASE) name = re.compile(r"\b"+arguments["<name>"]+r"\b", re.IGNORECASE)
@ -84,15 +84,15 @@ def main(arguments):
with open(filename, "r") as f: with open(filename, "r") as f:
f_in = f.read() f_in = f.read()
if name.search(f_in): if name.search(f_in):
print filename print(filename)
if arguments["--rename"]: if arguments["--rename"]:
f_new = name.sub(arguments["--rename"], f_in) f_new = name.sub(arguments["--rename"], f_in)
with open(filename, "w") as f: with open(filename, "w") as f:
f.write(f_new) f.write(f_new)
print "Done" print("Done")
with open(os.path.join(QP_ROOT, "REPLACE"), 'a') as f: 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)

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
Usage: Usage:
@ -43,9 +43,9 @@ try:
from module_handler import get_l_module_descendant from module_handler import get_l_module_descendant
from qp_path import QP_SRC, QP_PLUGINS, QP_DATA, QP_ROOT from qp_path import QP_SRC, QP_PLUGINS, QP_DATA, QP_ROOT
except ImportError: except ImportError:
print "Please check if you have sourced the ${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`)" print("(`source ${QP_ROOT}/quantum_package.rc`)")
print sys.exit(1) print(sys.exit(1))
def save_new_module(path, l_child): def save_new_module(path, l_child):
@ -58,7 +58,7 @@ def save_new_module(path, l_child):
try: try:
os.makedirs(path) os.makedirs(path)
except OSError: except OSError:
print "The module ({0}) already exists...".format(path) print("The module ({0}) already exists...".format(path))
sys.exit(1) sys.exit(1)
with open(os.path.join(path, "NEED"), "w") as f: with open(os.path.join(path, "NEED"), "w") as f:
@ -105,7 +105,7 @@ def main(arguments):
if arguments["list"]: if arguments["list"]:
if arguments["--repositories"]: if arguments["--repositories"]:
for repo in get_repositories(): for repo in get_repositories():
print repo print(repo)
else: else:
# Search in QP_PLUGINS all directories with a NEED file # Search in QP_PLUGINS all directories with a NEED file
@ -121,7 +121,7 @@ def main(arguments):
for (x, y) in l_tmp: for (x, y) in l_tmp:
d_tmp[x] = y d_tmp[x] = y
repo_of_plugin[y] = x.replace(QP_PLUGINS+'/','') repo_of_plugin[y] = x.replace(QP_PLUGINS+'/','')
l_repository = d_tmp.keys() l_repository = list(d_tmp.keys())
if l_repository == []: if l_repository == []:
l_result = [] l_result = []
else: else:
@ -142,7 +142,7 @@ def main(arguments):
l_result = [f for f in l_plugins if f not in l_installed] l_result = [f for f in l_plugins if f not in l_installed]
for module in sorted(l_result): 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"]: if arguments["create"]:
@ -159,29 +159,29 @@ def main(arguments):
path = os.path.join(QP_PLUGINS, repository, name) path = os.path.join(QP_PLUGINS, repository, name)
print "Created plugin:" print("Created plugin:")
print path, '\n' print(path, '\n')
for children in l_children: for children in l_children:
if children not in m_instance.dict_descendant: 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) sys.exit(1)
print "Needed modules:" print("Needed modules:")
print l_children, '\n' print(l_children, '\n')
print "This corresponds to using the following modules:" print("This corresponds to using the following modules:")
print l_children + m_instance.l_descendant_unique(l_children), '\n' 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) 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) save_new_module(path, l_child_reduce)
print " [ OK ]" print(" [ OK ]")
print "" print("")
arguments["create"] = False arguments["create"] = False
arguments["install"] = True arguments["install"] = True
main(arguments) main(arguments)
@ -228,7 +228,7 @@ def main(arguments):
for (x, y) in [os.path.split(f) for f in l_tmp]: for (x, y) in [os.path.split(f) for f in l_tmp]:
d_repo_of_plugin[y] = x d_repo_of_plugin[y] = x
d_repo[x] = None d_repo[x] = None
l_repository = d_repo.keys() l_repository = list(d_repo.keys())
d_plugin = get_dict_child(l_repository) d_plugin = get_dict_child(l_repository)
@ -236,7 +236,7 @@ def main(arguments):
d_child.update(d_plugin) d_child.update(d_plugin)
normalize_case = {} 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 normalize_case[name.lower()] = name
l_name = [normalize_case[name.lower()] for name in arguments["<name>"]] l_name = [normalize_case[name.lower()] for name in arguments["<name>"]]
@ -244,7 +244,7 @@ def main(arguments):
for name in l_name: for name in l_name:
if name in d_local: 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) l_module_descendant = get_l_module_descendant(d_child, l_name)
@ -252,10 +252,10 @@ def main(arguments):
if l_module_to_cp: if l_module_to_cp:
print "Required dependencies:" print("Required dependencies:")
print l_module_to_cp print(l_module_to_cp)
print "Installation...", print("Installation...", end=' ')
for module_to_cp in l_module_to_cp: for module_to_cp in l_module_to_cp:
src = os.path.join(d_repo_of_plugin[module_to_cp], 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]) subprocess.check_call([install])
os.chdir(wd) os.chdir(wd)
except OSError: except OSError:
print "The src directory is broken. Please remove %s" % des print("The src directory is broken. Please remove %s" % des)
raise raise
subprocess.check_call(["qp_create_ninja", "update"]) subprocess.check_call(["qp_create_ninja", "update"])
print "[ OK ]" print("[ OK ]")
elif arguments["uninstall"]: elif arguments["uninstall"]:
@ -285,17 +285,17 @@ def main(arguments):
l_failed = [name for name in l_name if name not in d_local] l_failed = [name for name in l_name if name not in d_local]
if l_failed: if l_failed:
print "Plugins not installed:" print("Plugins not installed:")
for name in sorted(l_failed): for name in sorted(l_failed):
print "%s" % name print("%s" % name)
sys.exit(1) sys.exit(1)
l_name_to_remove = l_name + \ l_name_to_remove = l_name + \
[module for module in m_instance.l_module \ [module for module in m_instance.l_module \
for name in l_name if name in d_descendant[module]] for name in l_name if name in d_descendant[module]]
print "Removing plugins:" print("Removing plugins:")
print l_name_to_remove print(l_name_to_remove)
for module in set(l_name_to_remove): for module in set(l_name_to_remove):
@ -310,7 +310,7 @@ def main(arguments):
try: try:
os.unlink(os.path.join(QP_SRC, module)) os.unlink(os.path.join(QP_SRC, module))
except OSError: 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"]: elif arguments["update"]:
@ -321,7 +321,7 @@ def main(arguments):
l_repositories = get_repositories() l_repositories = get_repositories()
for repo in l_repositories: for repo in l_repositories:
print "Updating ", repo print("Updating ", repo)
os.chdir(os.path.join(QP_PLUGINS,repo)) os.chdir(os.path.join(QP_PLUGINS,repo))
git_cmd=["git", "pull"] git_cmd=["git", "pull"]
subprocess.check_call(git_cmd) subprocess.check_call(git_cmd)

View File

@ -95,6 +95,8 @@ qp set_file $ezfio
if [[ $dets -eq 1 ]] ; then if [[ $dets -eq 1 ]] ; then
rm --force -- ${ezfio}/determinants/n_det rm --force -- ${ezfio}/determinants/n_det
rm --force -- ${ezfio}/determinants/psi_{det,coef}.gz 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 fi
if [[ $mos -eq 1 ]] ; then if [[ $mos -eq 1 ]] ; then
@ -110,7 +112,7 @@ qp_edit --check ${ezfio}
if [[ $mos -eq 1 ]] ; then if [[ $mos -eq 1 ]] ; then
qp set mo_two_e_ints io_mo_two_e_integrals None 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_kinetic None
qp set mo_one_e_ints io_mo_integrals_pseudo None qp set mo_one_e_ints io_mo_integrals_pseudo None
qp set mo_one_e_ints io_mo_one_e_integrals None qp set mo_one_e_ints io_mo_one_e_integrals None

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
""" """
@ -49,7 +49,7 @@ import os.path
try: try:
import qp_path import qp_path
except ImportError: except ImportError:
print "source .quantum_package.rc" print("source .quantum_package.rc")
raise raise
from docopt import docopt from docopt import docopt
@ -102,7 +102,7 @@ def main(arguments):
mo_num = ezfio.mo_basis_mo_num mo_num = ezfio.mo_basis_mo_num
if arguments["--query"]: if arguments["--query"]:
print n_frozen print(n_frozen)
sys.exit(0) sys.exit(0)
if n_frozen == 0: if n_frozen == 0:

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
""" """
@ -23,7 +23,7 @@ import os.path
try: try:
import qp_path import qp_path
except ImportError: except ImportError:
print "source .quantum_package.rc" print("source .quantum_package.rc")
raise raise
from docopt import docopt from docopt import docopt
@ -62,7 +62,7 @@ def main(arguments):
mo_num = ezfio.mo_basis_mo_num mo_num = ezfio.mo_basis_mo_num
if arguments["--query"]: if arguments["--query"]:
print n_frozen print(n_frozen)
sys.exit(0) sys.exit(0)
if n_frozen == 0: if n_frozen == 0:

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
@ -21,8 +21,8 @@ try:
from docopt import docopt from docopt import docopt
from qp_path import QP_SRC, QP_TESTS from qp_path import QP_SRC, QP_TESTS
except ImportError: except ImportError:
print "Please check if you have sourced the ${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`)" print("(`source ${QP_ROOT}/quantum_package.rc`)")
sys.exit(1) sys.exit(1)
@ -54,11 +54,11 @@ def main(arguments):
os.chdir(QP_TESTS) os.chdir(QP_TESTS)
for bats_file in l_bats: for bats_file in l_bats:
print "" print("")
print "-~-~-~-~-~-~" print("-~-~-~-~-~-~")
print "" print("")
print "Running tests for %s"%(bats_file) print("Running tests for %s"%(bats_file))
print "" print("")
if arguments["-v"]: if arguments["-v"]:
p = None p = None
if arguments["TEST"]: if arguments["TEST"]:
@ -66,7 +66,7 @@ def main(arguments):
else: else:
test = "" test = ""
try: try:
os.system(test+" python2 bats_to_sh.py "+bats_file+ os.system(test+" python3 bats_to_sh.py "+bats_file+
"| bash") "| bash")
except: except:
if p: if p:

View File

@ -51,7 +51,7 @@ FCFLAGS : -Ofast
# -g : Extra debugging information # -g : Extra debugging information
# #
[DEBUG] [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 # OpenMP flags
################# #################

View File

@ -31,7 +31,7 @@ OPENMP : 1 ; Append OpenMP flags
# -ftz : Flushes denormal results to zero # -ftz : Flushes denormal results to zero
# #
[OPT] [OPT]
FCFLAGS : -march=corei7-avx -O2 -ip -ftz -g -traceback FCFLAGS : -mavx -axAVX -O2 -ip -ftz -g -traceback
# Profiling flags # Profiling flags
################# #################

View File

@ -32,7 +32,7 @@ OPENMP : 1 ; Append OpenMP flags
# #
[OPT] [OPT]
FC : -traceback FC : -traceback
FCFLAGS : -xSSE4.2 -O2 -ip -ftz -g FCFLAGS : -msse4.2 -O2 -ip -ftz -g
# Profiling flags # Profiling flags
@ -40,7 +40,7 @@ FCFLAGS : -xSSE4.2 -O2 -ip -ftz -g
# #
[PROFILE] [PROFILE]
FC : -p -g FC : -p -g
FCFLAGS : -xSSE4.2 -O2 -ip -ftz FCFLAGS : -msse4.2 -O2 -ip -ftz
# Debugging flags # Debugging flags
@ -50,11 +50,11 @@ FCFLAGS : -xSSE4.2 -O2 -ip -ftz
# -fpe0 : All floating point exaceptions # -fpe0 : All floating point exaceptions
# -C : Checks uninitialized variables, array subscripts, etc... # -C : Checks uninitialized variables, array subscripts, etc...
# -g : Extra debugging information # -g : Extra debugging information
# -xSSE2 : Valgrind needs a very simple x86 executable # -msse4.2 : Valgrind needs a very simple x86 executable
# #
[DEBUG] [DEBUG]
FC : -g -traceback FC : -g -traceback
FCFLAGS : -xSSE4.2 -C -fpe0 -implicitnone FCFLAGS : -msse4.2 -C -fpe0 -implicitnone
# OpenMP flags # OpenMP flags

View File

@ -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

View File

@ -31,14 +31,14 @@ OPENMP : 1 ; Append OpenMP flags
# -ftz : Flushes denormal results to zero # -ftz : Flushes denormal results to zero
# #
[OPT] [OPT]
FCFLAGS : -xSSE4.2 -O2 -ip -ftz -g -traceback FCFLAGS : -msse4.2 -O2 -ip -ftz -g -traceback
# Profiling flags # Profiling flags
################# #################
# #
[PROFILE] [PROFILE]
FC : -p -g FC : -p -g
FCFLAGS : -xSSE4.2 -O2 -ip -ftz FCFLAGS : -msse4.2 -O2 -ip -ftz
# Debugging flags # Debugging flags

19
configure vendored
View File

@ -17,18 +17,18 @@ export CC=gcc
# /!\ When updating version, update also etc files # /!\ 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" 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" 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" 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" 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" 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" 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" 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" 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" OCAML_URL="https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh"
RESULTS_URL="https://gitlab.com/scemama/resultsFile/-/archive/v1.0/resultsFile-v1.0.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" 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" ZLIB_URL="https://www.zlib.net/zlib-1.2.11.tar.gz"
@ -154,7 +154,7 @@ function find_exe() {
} }
function find_python_lib() { 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() { function find_lib() {
@ -278,6 +278,8 @@ EOF
download ${ZEROMQ_URL} "${QP_ROOT}"/external/zeromq.tar.gz download ${ZEROMQ_URL} "${QP_ROOT}"/external/zeromq.tar.gz
execute << EOF execute << EOF
export CC=gcc
export CXX=g++
cd "\${QP_ROOT}"/external cd "\${QP_ROOT}"/external
tar --gunzip --extract --file zeromq.tar.gz tar --gunzip --extract --file zeromq.tar.gz
rm zeromq.tar.gz rm zeromq.tar.gz
@ -326,8 +328,8 @@ EOF
rm ${QP_ROOT}/external/opam_installer.sh rm ${QP_ROOT}/external/opam_installer.sh
# source ${OPAMROOT}/opam-init/init.sh > /dev/null 2> /dev/null || true # source ${OPAMROOT}/opam-init/init.sh > /dev/null 2> /dev/null || true
# #
# opam switch create ocaml-base-compiler.4.07.1 # opam switch create ocaml-base-compiler.4.10.0
opam init --verbose --yes --compiler=4.07.1 --disable-sandboxing opam init --verbose --yes --compiler=4.10.0 --disable-sandboxing
eval $(opam env) eval $(opam env)
opam install -y ${OCAML_PACKAGES} || exit 1 opam install -y ${OCAML_PACKAGES} || exit 1
@ -346,15 +348,16 @@ EOF
EOF EOF
rm ${QP_ROOT}/external/opam_installer.sh rm ${QP_ROOT}/external/opam_installer.sh
# source ${OPAMROOT}/opam-init/init.sh > /dev/null 2> /dev/null || true # 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) eval $(opam env)
execute << EOF execute << EOF
opam install -y \${OCAML_PACKAGES} || exit 1 opam install -y \${OCAML_PACKAGES} || exit 1
EOF EOF
fi fi
elif [[ ${PACKAGE} = bse ]] ; then elif [[ ${PACKAGE} = bse ]] ; then
download ${BSE_URL} "${QP_ROOT}"/external/bse.tar.gz download ${BSE_URL} "${QP_ROOT}"/external/bse.tar.gz

694
data/basis/2zapa-nr Normal file
View File

@ -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

955
data/basis/2zapa-nr-cv Normal file
View File

@ -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

967
data/basis/3zapa-nr Normal file
View File

@ -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

1453
data/basis/3zapa-nr-cv Normal file

File diff suppressed because it is too large Load Diff

1283
data/basis/4zapa-nr Normal file

File diff suppressed because it is too large Load Diff

2042
data/basis/4zapa-nr-cv Normal file

File diff suppressed because it is too large Load Diff

1625
data/basis/5zapa-nr Normal file

File diff suppressed because it is too large Load Diff

2636
data/basis/5zapa-nr-cv Normal file

File diff suppressed because it is too large Load Diff

2000
data/basis/6zapa-nr Normal file

File diff suppressed because it is too large Load Diff

2479
data/basis/7zapa-nr Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,519 +1,195 @@
HYDROGEN ! Obtained from
S 8 ! https://pseudopotentiallibrary.org
1 23.843185 0.00411490
2 10.212443 0.01046440 $DATA
3 4.374164 0.02801110
4 1.873529 0.07588620 POTASSIUM
5 0.802465 0.18210620 S 13
6 0.343709 0.34852140 1 33.190598 0.00093460
7 0.147217 0.37823130 2 17.266513 -0.01746080
8 0.063055 0.11642410 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 S 1
1 0.040680 1.00000000 1 0.910504 1.00000000
S 1 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 P 1
1 0.166430 1.00000000 1 0.479550 1.00000000
P 1 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 CALCIUM
S 12 S 13
1 50.364926 -0.00144900 1 38.909972 0.00094450
2 24.480199 -0.00059000 2 20.573489 -0.01770900
3 11.898760 -0.11881800 3 10.878148 0.14349340
4 5.783470 -0.01085600 4 5.751777 -0.28035140
5 2.811093 0.25078300 5 3.041228 -0.28847700
6 1.366350 0.44727600 6 1.608037 0.17248640
7 0.664123 0.34725400 7 0.850243 0.55290080
8 0.322801 0.08065200 8 0.449563 0.46769880
9 0.156900 0.00120800 9 0.237704 0.09929150
10 0.076262 0.00040900 10 0.125685 0.00665130
11 0.037068 0.00011200 11 0.066456 -0.00192570
12 0.018017 0.00007200 12 0.035138 0.00096120
S 12 13 0.018579 -0.00024390
1 50.364926 0.00021200 S 13
2 24.480199 0.00037900 1 38.909972 -0.00018310
3 11.898760 0.01958200 2 20.573489 0.00425520
4 5.783470 0.00062300 3 10.878148 -0.03727720
5 2.811093 -0.04578100 4 5.751777 0.07704740
6 1.366350 -0.08872800 5 3.041228 0.07822310
7 0.664123 -0.11295200 6 1.608037 -0.05175260
8 0.322801 -0.10839600 7 0.850243 -0.17462310
9 0.156900 0.00990100 8 0.449563 -0.25326320
10 0.076262 0.35541800 9 0.237704 -0.16061050
11 0.037068 0.56145100 10 0.125685 0.12654760
12 0.018017 0.19899800 11 0.066456 0.46487670
S 1 12 0.035138 0.47840060
1 0.073591 1.00000000 13 0.018579 0.15642960
S 1 P 12
1 0.036796 1.00000000 1 31.519451 -0.00013110
P 12 2 15.831494 0.00581110
1 77.769943 0.00005400 3 7.951795 -0.04461000
2 42.060816 -0.00001600 4 3.994003 -0.04239180
3 22.748020 0.01257100 5 2.006096 0.18028850
4 12.302957 0.07960100 6 1.007616 0.40747440
5 6.653887 0.14044200 7 0.506102 0.38646720
6 3.598664 0.21214100 8 0.254203 0.15452190
7 1.946289 0.26179900 9 0.127681 0.01706770
8 1.052624 0.25582000 10 0.064131 0.00315970
9 0.569297 0.18035900 11 0.032211 -0.00022470
10 0.307897 0.07216500 12 0.016179 0.00016830
11 0.166522 0.01066300 P 12
12 0.090061 0.00153800 1 31.519451 0.00002060
P 12 2 15.831494 -0.00124550
1 77.769943 -0.00065600 3 7.951795 0.01011140
2 42.060816 0.00313700 4 3.994003 0.00894270
3 22.748020 -0.01100400 5 2.006096 -0.04458680
4 12.302957 0.00937600 6 1.007616 -0.09627520
5 6.653887 -0.06647900 7 0.506102 -0.11300730
6 3.598664 0.05895900 8 0.254203 -0.06533320
7 1.946289 -0.22105000 9 0.127681 0.14680910
8 1.052624 0.30349100 10 0.064131 0.44119800
9 0.569297 -0.67170500 11 0.032211 0.42763180
10 0.307897 1.06436000 12 0.016179 0.12519670
11 0.166522 -1.53048900 D 11
12 0.090061 1.84316700 1 28.997930 0.00227830
P 1 2 13.712713 0.01197270
1 0.063647 1.00000000 3 6.484549 0.02273230
P 1 4 3.066452 0.06997740
1 0.031823 1.00000000 5 1.450082 0.12588700
D 1 6 0.685723 0.17597110
1 0.093145 1.00000000 7 0.324269 0.20962750
D 1 8 0.153342 0.25661550
1 0.046573 1.00000000 9 0.072513 0.28874140
10 0.034291 0.22477940
MAGNESIUM 11 0.016216 0.08294810
S 12 S 1
1 63.931893 -0.00079400 1 1.383790 1.00000000
2 31.602596 0.00747900 S 1
3 15.621687 -0.13624600 1 0.701508 1.00000000
4 7.722059 -0.03203300 S 1
5 3.817142 0.21682300 1 0.066369 1.00000000
6 1.886877 0.45136400 S 1
7 0.932714 0.37759900 1 0.026432 1.00000000
8 0.461056 0.09431900 S 1
9 0.227908 0.00170300 1 0.006700 1.00000000
10 0.112659 0.00048500 P 1
11 0.055689 -0.00015100 1 0.563426 1.00000000
12 0.027528 0.00003100 P 1
S 12 1 0.261483 1.00000000
1 63.931893 0.00010600 P 1
2 31.602596 -0.00108600 1 0.076223 1.00000000
3 15.621687 0.02867600 P 1
4 7.722059 0.00578100 1 0.027633 1.00000000
5 3.817142 -0.05065300 P 1
6 1.886877 -0.11687700 1 0.005400 1.00000000
7 0.932714 -0.16512100 D 1
8 0.461056 -0.11801600 1 1.493098 1.00000000
9 0.227908 0.10836500 D 1
10 0.112659 0.41475500 1 0.050522 1.00000000
11 0.055689 0.47763300 D 1
12 0.027528 0.17347600 1 0.008800 1.00000000
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
SCANDIUM SCANDIUM
S 13 S 13
@ -640,6 +316,20 @@ F 1
1 0.083742 1.00000000 1 0.083742 1.00000000
F 1 F 1
1 0.280673 1.00000000 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 TITANIUM
S 13 S 13
@ -766,6 +456,20 @@ F 1
1 0.146931 1.00000000 1 0.146931 1.00000000
F 1 F 1
1 0.499717 1.00000000 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 VANADIUM
S 13 S 13
@ -892,6 +596,20 @@ F 1
1 0.308388 1.00000000 1 0.308388 1.00000000
F 1 F 1
1 1.138450 1.00000000 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 CHROMIUM
S 13 S 13
@ -1018,6 +736,20 @@ F 1
1 0.311720 1.00000000 1 0.311720 1.00000000
F 1 F 1
1 1.112997 1.00000000 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 MANGANESE
S 13 S 13
@ -1144,6 +876,20 @@ F 1
1 0.373591 1.00000000 1 0.373591 1.00000000
F 1 F 1
1 1.357898 1.00000000 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 IRON
S 13 S 13
@ -1270,6 +1016,20 @@ F 1
1 0.463696 1.00000000 1 0.463696 1.00000000
F 1 F 1
1 1.696126 1.00000000 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 COBALT
S 13 S 13
@ -1396,6 +1156,20 @@ F 1
1 0.557444 1.00000000 1 0.557444 1.00000000
F 1 F 1
1 2.012568 1.00000000 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 NICKEL
S 13 S 13
@ -1522,6 +1296,20 @@ F 1
1 0.650562 1.00000000 1 0.650562 1.00000000
F 1 F 1
1 2.317543 1.00000000 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 COPPER
S 13 S 13
@ -1648,6 +1436,20 @@ F 1
1 0.771675 1.00000000 1 0.771675 1.00000000
F 1 F 1
1 2.739578 1.00000000 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 ZINC
S 13 S 13
@ -1774,4 +1576,19 @@ F 1
1 0.893402 1.00000000 1 0.893402 1.00000000
F 1 F 1
1 3.171936 1.00000000 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
$END

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

1019
data/basis/cc-pv5z_ecp_bfd Normal file

File diff suppressed because it is too large Load Diff

4156
data/basis/cc-pv5z_ecp_ccecp Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

3370
data/basis/cc-pvqz_ecp_ccecp Normal file

File diff suppressed because it is too large Load Diff

2654
data/basis/cc-pvtz_ecp_ccecp Normal file

File diff suppressed because it is too large Load Diff

433
data/pseudo/ccecp Normal file
View File

@ -0,0 +1,433 @@
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 12.08758490486192
84.61309433403344 3 12.83806306400466
-53.02751706539332 2 12.31234562699041
1
78.90177172847011 2 14.78076492090162
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 10 2
3
3.000000 1 5.073893
15.221680 3 8.607001
-11.165685 2 3.027490
2
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
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 10 2
3
5.000000 1 5.872694
29.363469 3 9.891298
-17.011136 2 4.692469
2
15.259383 2 12.091334
31.707918 2 3.044535
2
7.747190 2 4.310884
13.932528 2 2.426903
S GEN 10 2
3
6.000000 1 6.151144
36.906864 3 11.561575
-19.819533 2 5.390961
2
15.925748 2 16.117687
38.515895 2 3.608629
2
8.062221 2 6.228956
18.737525 2 2.978074
Cl GEN 10 2
3
7.000000 1 7.944352
55.610463 3 12.801261
-22.860784 2 6.296744
2
15.839234 2 17.908432
44.469504 2 4.159880
2
8.321946 2 7.931763
24.044745 2 3.610412
Ar GEN 10 2
3
8.000000 1 8.317181
66.537451 3 13.124648
-24.100393 2 6.503132
2
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
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

View File

@ -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

View File

@ -14,7 +14,7 @@ help:
.PHONY: help Makefile auto .PHONY: help Makefile auto
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 # Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).

View File

@ -1,9 +1,9 @@
#!/usr/bin/env python2 #!/usr/bin/env python2
from __future__ import print_function
import os import os
import sys import sys
import ConfigParser import configparser
from module_handler import get_binaries from module_handler import get_binaries
@ -27,7 +27,7 @@ def generate_modules(abs_module, entities):
EZFIO = os.path.join(abs_module,'EZFIO.cfg') EZFIO = os.path.join(abs_module,'EZFIO.cfg')
if os.path.exists(EZFIO): if os.path.exists(EZFIO):
rst += ["", "EZFIO parameters", "----------------", ""] rst += ["", "EZFIO parameters", "----------------", ""]
config_file = ConfigParser.ConfigParser() config_file = configparser.ConfigParser()
with open(EZFIO, 'r') as f: with open(EZFIO, 'r') as f:
config_file.readfp(f) config_file.readfp(f)
for section in config_file.sections(): for section in config_file.sections():

View File

@ -1,7 +1,7 @@
# Configuration of IRPF90 package # Configuration of IRPF90 package
# Set the path of IRPF90 here: # 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 PATH=${PATH}:${IRPF90_PATH}/bin
export IRPF90=${IRPF90_PATH}/bin/irpf90 export IRPF90=${IRPF90_PATH}/bin/irpf90

View File

@ -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 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 C_INCLUDE_PATH=$(qp_prepend_export "C_INCLUDE_PATH" "${QP_ROOT}"/include)
export CPATH=$(qp_prepend_export "CPATH" "${QP_ROOT}"/include)

View File

@ -170,7 +170,7 @@ _qp_Complete()
COMPREPLY=( $(compgen -W "" -- $cur ) ) COMPREPLY=( $(compgen -W "" -- $cur ) )
return 0;; return 0;;
-b) -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 return 0
;; ;;
-p) -p)

Binary file not shown.

BIN
external/EZFIO.2.0.2.tar.gz vendored Normal file

Binary file not shown.

View File

@ -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/

View File

@ -1,6 +1,7 @@
open Sexplib open Sexplib
open Sexplib.Std open Sexplib.Std
open Qptypes open Qptypes
open Qputils
let fail_msg str (ex,range) = let fail_msg str (ex,range) =
@ -25,7 +26,7 @@ let fail_msg str (ex,range) =
in in
let str = String_ext.tr str ~target:'(' ~replacement:' ' let str = String_ext.tr str ~target:'(' ~replacement:' '
|> String_ext.split ~on:')' |> String_ext.split ~on:')'
|> List.map String_ext.strip |> list_map String_ext.strip
|> List.filter (fun x -> |> List.filter (fun x ->
match String_ext.substr_index ~pos:0 ~pattern:"##" x with match String_ext.substr_index ~pos:0 ~pattern:"##" x with
| None -> false | None -> false
@ -48,7 +49,7 @@ let of_rst t_of_sexp s =
Rst_string.to_string s Rst_string.to_string s
|> String_ext.split ~on:'\n' |> String_ext.split ~on:'\n'
|> List.filter (fun line -> String.contains line '=') |> List.filter (fun line -> String.contains line '=')
|> List.map (fun line -> |> list_map (fun line ->
"("^( "("^(
String_ext.tr ~target:'=' ~replacement:' ' line String_ext.tr ~target:'=' ~replacement:' ' line
)^")" ) )^")" )

View File

@ -13,6 +13,8 @@ module Ao_basis : sig
ao_coef : AO_coef.t array; ao_coef : AO_coef.t array;
ao_expo : AO_expo.t array; ao_expo : AO_expo.t array;
ao_cartesian : bool; ao_cartesian : bool;
ao_normalized : bool;
primitives_normalized : bool;
} [@@deriving sexp] } [@@deriving sexp]
;; ;;
val read : unit -> t option val read : unit -> t option
@ -34,6 +36,8 @@ end = struct
ao_coef : AO_coef.t array; ao_coef : AO_coef.t array;
ao_expo : AO_expo.t array; ao_expo : AO_expo.t array;
ao_cartesian : bool; ao_cartesian : bool;
ao_normalized : bool;
primitives_normalized : bool;
} [@@deriving sexp] } [@@deriving sexp]
;; ;;
@ -107,6 +111,24 @@ end = struct
Ezfio.get_ao_basis_ao_cartesian () 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 to_long_basis b =
let ao_num = AO_number.to_int b.ao_num in let ao_num = AO_number.to_int b.ao_num in
let gto_array = Array.init (AO_number.to_int b.ao_num) let gto_array = Array.init (AO_number.to_int b.ao_num)
@ -169,6 +191,8 @@ end = struct
ao_coef ; ao_coef ;
ao_expo ; ao_expo ;
ao_cartesian ; ao_cartesian ;
ao_normalized ;
primitives_normalized ;
} = b } = b
in in
write_md5 b ; write_md5 b ;
@ -178,14 +202,14 @@ end = struct
in in
let ao_prim_num = let ao_prim_num =
Array.to_list ao_prim_num Array.to_list ao_prim_num
|> List.map AO_prim_number.to_int |> list_map AO_prim_number.to_int
in in
Ezfio.set_ao_basis_ao_prim_num (Ezfio.ezfio_array_of_list Ezfio.set_ao_basis_ao_prim_num (Ezfio.ezfio_array_of_list
~rank:1 ~dim:[| ao_num |] ~data:ao_prim_num) ; ~rank:1 ~dim:[| ao_num |] ~data:ao_prim_num) ;
let ao_nucl = let ao_nucl =
Array.to_list ao_nucl Array.to_list ao_nucl
|> List.map Nucl_number.to_int |> list_map Nucl_number.to_int
in in
Ezfio.set_ao_basis_ao_nucl(Ezfio.ezfio_array_of_list Ezfio.set_ao_basis_ao_nucl(Ezfio.ezfio_array_of_list
~rank:1 ~dim:[| ao_num |] ~data:ao_nucl) ; ~rank:1 ~dim:[| ao_num |] ~data:ao_nucl) ;
@ -193,25 +217,27 @@ end = struct
let ao_power = let ao_power =
let l = Array.to_list ao_power in let l = Array.to_list ao_power in
List.concat [ 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.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.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.z) l) ]
in in
Ezfio.set_ao_basis_ao_power(Ezfio.ezfio_array_of_list Ezfio.set_ao_basis_ao_power(Ezfio.ezfio_array_of_list
~rank:2 ~dim:[| ao_num ; 3 |] ~data:ao_power) ; ~rank:2 ~dim:[| ao_num ; 3 |] ~data:ao_power) ;
Ezfio.set_ao_basis_ao_cartesian(ao_cartesian); 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 = let ao_coef =
Array.to_list ao_coef Array.to_list ao_coef
|> List.map AO_coef.to_float |> list_map AO_coef.to_float
in in
Ezfio.set_ao_basis_ao_coef(Ezfio.ezfio_array_of_list Ezfio.set_ao_basis_ao_coef(Ezfio.ezfio_array_of_list
~rank:2 ~dim:[| ao_num ; ao_prim_num_max |] ~data:ao_coef) ; ~rank:2 ~dim:[| ao_num ; ao_prim_num_max |] ~data:ao_coef) ;
let ao_expo = let ao_expo =
Array.to_list ao_expo Array.to_list ao_expo
|> List.map AO_expo.to_float |> list_map AO_expo.to_float
in in
Ezfio.set_ao_basis_ao_expo(Ezfio.ezfio_array_of_list Ezfio.set_ao_basis_ao_expo(Ezfio.ezfio_array_of_list
~rank:2 ~dim:[| ao_num ; ao_prim_num_max |] ~data:ao_expo) ; ~rank:2 ~dim:[| ao_num ; ao_prim_num_max |] ~data:ao_expo) ;
@ -233,6 +259,8 @@ end = struct
ao_coef = read_ao_coef () ; ao_coef = read_ao_coef () ;
ao_expo = read_ao_expo () ; ao_expo = read_ao_expo () ;
ao_cartesian = read_ao_cartesian () ; ao_cartesian = read_ao_cartesian () ;
ao_normalized = read_ao_normalized () ;
primitives_normalized = read_primitives_normalized () ;
} }
in in
to_md5 result to_md5 result
@ -271,8 +299,8 @@ end = struct
| Some (s', g', n') -> | Some (s', g', n') ->
if s <> s' || n <> n' then find2 (s,g,n) a (i+1) if s <> s' || n <> n' then find2 (s,g,n) a (i+1)
else else
let 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 and lc' = list_map (fun (prim, _) -> prim) g'.Gto.lc
in in
if lc <> lc' then find2 (s,g,n) a (i+1) else (a.(i) <- None ; i) if lc <> lc' then find2 (s,g,n) a (i+1) else (a.(i) <- None ; i)
in in
@ -286,14 +314,14 @@ end = struct
let of_long_basis long_basis name ao_cartesian = let of_long_basis long_basis name ao_cartesian =
let ao_num = List.length long_basis |> AO_number.of_int in let ao_num = List.length long_basis |> AO_number.of_int in
let ao_prim_num = 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 |> AO_prim_number.of_int ) long_basis
|> Array.of_list |> Array.of_list
and ao_nucl = and ao_nucl =
List.map (fun (_,_,n) -> n) long_basis list_map (fun (_,_,n) -> n) long_basis
|> Array.of_list |> Array.of_list
and ao_power = and ao_power =
List.map (fun (x,_,_) -> x) long_basis list_map (fun (x,_,_) -> x) long_basis
|> Array.of_list |> Array.of_list
in in
let ao_prim_num_max = Array.fold_left (fun s x -> let ao_prim_num_max = Array.fold_left (fun s x ->
@ -303,15 +331,15 @@ end = struct
in in
let gtos = let gtos =
List.map (fun (_,x,_) -> x) long_basis list_map (fun (_,x,_) -> x) long_basis
in in
let create_expo_coef ec = let create_expo_coef ec =
let coefs = let coefs =
begin match ec with begin match ec with
| `Coefs -> List.map (fun x-> | `Coefs -> list_map (fun x->
List.map (fun (_,coef) -> AO_coef.to_float coef) x.Gto.lc ) gtos list_map (fun (_,coef) -> AO_coef.to_float coef) x.Gto.lc ) gtos
| `Expos -> List.map (fun x-> | `Expos -> list_map (fun x->
List.map (fun (prim,_) -> AO_expo.to_float list_map (fun (prim,_) -> AO_expo.to_float
prim.GaussianPrimitive.expo) x.Gto.lc ) gtos prim.GaussianPrimitive.expo) x.Gto.lc ) gtos
end end
in in
@ -340,7 +368,10 @@ end = struct
in in
{ ao_basis = name ; { ao_basis = name ;
ao_num ; ao_prim_num ; ao_prim_num_max ; ao_nucl ; 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 = let reorder b =
@ -394,6 +425,14 @@ Cartesian coordinates (6d,10f,...) ::
ao_cartesian = %s ao_cartesian = %s
Use normalized primitive functions ::
primitives_normalized = %s
Use normalized basis functions ::
ao_normalized = %s
Basis set (read-only) :: Basis set (read-only) ::
%s %s
@ -407,9 +446,11 @@ Basis set (read-only) ::
" (AO_basis_name.to_string b.ao_basis) " (AO_basis_name.to_string b.ao_basis)
(string_of_bool b.ao_cartesian) (string_of_bool b.ao_cartesian)
(string_of_bool b.primitives_normalized)
(string_of_bool b.ao_normalized)
(Basis.to_string short_basis (Basis.to_string short_basis
|> String_ext.split ~on:'\n' |> String_ext.split ~on:'\n'
|> List.map (fun x-> " "^x) |> list_map (fun x-> " "^x)
|> String.concat "\n" |> String.concat "\n"
) print_sym ) print_sym
@ -434,31 +475,35 @@ Basis set (read-only) ::
let to_string b = let to_string b =
Printf.sprintf " Printf.sprintf "
ao_basis = %s ao_basis = %s
ao_num = %s ao_num = %s
ao_prim_num = %s ao_prim_num = %s
ao_prim_num_max = %s ao_prim_num_max = %s
ao_nucl = %s ao_nucl = %s
ao_power = %s ao_power = %s
ao_coef = %s ao_coef = %s
ao_expo = %s ao_expo = %s
ao_cartesian = %s ao_cartesian = %s
md5 = %s ao_normalized = %s
primitives_normalized = %s
md5 = %s
" "
(AO_basis_name.to_string b.ao_basis) (AO_basis_name.to_string b.ao_basis)
(AO_number.to_string b.ao_num) (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) |> String.concat ", " )
(AO_prim_number.to_string b.ao_prim_num_max) (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 ", ") 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 ", ") "("^(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 ", ") |> 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 ", ") |> String.concat ", ")
(b.ao_cartesian |> string_of_bool) (b.ao_cartesian |> string_of_bool)
(b.ao_normalized |> string_of_bool)
(b.primitives_normalized |> string_of_bool)
(to_md5 b |> MD5.to_string ) (to_md5 b |> MD5.to_string )
;; ;;

View File

@ -407,7 +407,7 @@ end = struct
(coefs_string i) (coefs_string i)
(Determinant.to_string ~mo_num:mo_num b.psi_det.(i) (Determinant.to_string ~mo_num:mo_num b.psi_det.(i)
|> String_ext.split ~on:'\n' |> String_ext.split ~on:'\n'
|> List.map (fun x -> " "^x) |> list_map (fun x -> " "^x)
|> String.concat "\n" |> String.concat "\n"
) )
) )
@ -457,7 +457,7 @@ psi_det = %s
(b.n_det |> Det_number.to_string) (b.n_det |> Det_number.to_string)
(b.n_states |> States_number.to_string) (b.n_states |> States_number.to_string)
(b.expected_s2 |> Positive_float.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 (b.psi_coef |> Array.map Det_coef.to_string |> Array.to_list
|> String.concat ", ") |> String.concat ", ")
(b.psi_det |> Array.map (Determinant.to_string ~mo_num) |> Array.to_list (b.psi_det |> Array.map (Determinant.to_string ~mo_num) |> Array.to_list
@ -487,7 +487,7 @@ psi_det = %s
else else
( (String.contains line '=') && (line.[0] = ' ') ) ( (String.contains line '=') && (line.[0] = ' ') )
) )
|> List.map (fun line -> |> list_map (fun line ->
"("^( "("^(
String_ext.tr line ~target:'=' ~replacement:' ' String_ext.tr line ~target:'=' ~replacement:' '
|> String.trim |> String.trim
@ -498,7 +498,7 @@ psi_det = %s
(* Handle determinant coefs *) (* Handle determinant coefs *)
let dets = match ( dets let dets = match ( dets
|> String_ext.split ~on:'\n' |> String_ext.split ~on:'\n'
|> List.map String.trim |> list_map String.trim
) with ) with
| _::lines -> lines | _::lines -> lines
| _ -> failwith "Error in determinants" | _ -> failwith "Error in determinants"
@ -511,7 +511,7 @@ psi_det = %s
| ""::c::tail -> | ""::c::tail ->
let c = let c =
String_ext.split ~on:'\t' 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 |> Array.of_list
in in
read_coefs (c::accu) tail read_coefs (c::accu) tail
@ -529,7 +529,7 @@ psi_det = %s
let i = let i =
i-1 i-1
in 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 " " |> String.concat " "
in in
let rec build_result = function let rec build_result = function

View File

@ -242,9 +242,9 @@ mo_coef = %s
" "
(MO_label.to_string b.mo_label) (MO_label.to_string b.mo_label)
(MO_number.to_string b.mo_num) (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 ", " ) (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 ", " ) (MO_occ.to_string) |> String.concat ", " )
(b.mo_coef |> Array.map (b.mo_coef |> Array.map
(fun x-> Array.map MO_coef.to_string x |> (fun x-> Array.map MO_coef.to_string x |>

View File

@ -50,7 +50,7 @@ end = struct
in in
let labels = let labels =
Array.to_list labels Array.to_list labels
|> List.map Element.to_string |> list_map Element.to_string
in in
Ezfio.ezfio_array_of_list ~rank:1 Ezfio.ezfio_array_of_list ~rank:1
~dim:[| nucl_num |] ~data:labels ~dim:[| nucl_num |] ~data:labels
@ -70,7 +70,7 @@ end = struct
in in
let charges = let charges =
Array.to_list charges Array.to_list charges
|> List.map Charge.to_float |> list_map Charge.to_float
in in
Ezfio.ezfio_array_of_list ~rank:1 Ezfio.ezfio_array_of_list ~rank:1
~dim:[| nucl_num |] ~data:charges ~dim:[| nucl_num |] ~data:charges
@ -101,9 +101,9 @@ end = struct
in in
let coord = Array.to_list coord in let coord = Array.to_list coord in
let coord = let coord =
(List.map (fun x-> x.Point3d.x) coord) @ (list_map (fun x-> x.Point3d.x) coord) @
(List.map (fun x-> x.Point3d.y) coord) @ (list_map (fun x-> x.Point3d.y) coord) @
(List.map (fun x-> x.Point3d.z) coord) (list_map (fun x-> x.Point3d.z) coord)
in in
Ezfio.ezfio_array_of_list ~rank:2 Ezfio.ezfio_array_of_list ~rank:2
~dim:[| nucl_num ; 3 |] ~data:coord ~dim:[| nucl_num ; 3 |] ~data:coord
@ -159,11 +159,11 @@ nucl_charge = %s
nucl_coord = %s nucl_coord = %s
" "
(Nucl_number.to_string b.nucl_num) (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 ", " ) (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 ", " ) (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" ) (Point3d.to_string ~units:Units.Bohr) |> String.concat "\n" )
;; ;;
@ -226,11 +226,11 @@ Nuclear coordinates in xyz format (Angstroms) ::
let result = let result =
{ nucl_num = List.length atom_list { nucl_num = List.length atom_list
|> Nucl_number.of_int ~max:nmax; |> 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 ; 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 ; 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 ; x.Atom.coord ) atom_list |> Array.of_list ;
} }
in Some result in Some result

View File

@ -1,4 +1,5 @@
open Qptypes open Qptypes
open Qputils
open Sexplib.Std open Sexplib.Std
type t = (Symmetry.Xyz.t * Gto.t * Nucl_number.t ) list [@@deriving sexp] 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 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)))^", "^ "( "^((string_of_int (Nucl_number.to_int z)))^", "^
(Symmetry.Xyz.to_string x)^", "^(Gto.to_string y) (Symmetry.Xyz.to_string x)^", "^(Gto.to_string y)
^" )" ^" )"

View File

@ -1,4 +1,5 @@
open Qptypes open Qptypes
open Qputils
open Sexplib.Std open Sexplib.Std
@ -13,7 +14,7 @@ type t =
let to_string x = let to_string x =
let print_list l = 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 ", ") |> (String.concat ", ")
in in
"("^s^")" "("^s^")"
@ -43,7 +44,7 @@ let of_string s =
let _mo_number_list_of_range range = 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) let create_core range = Core (_mo_number_list_of_range range)

View File

@ -1,5 +1,6 @@
open Sexplib.Std open Sexplib.Std
open Qptypes open Qptypes
open Qputils
(** New job : Request to create a new multi-tasked job *) (** New job : Request to create a new multi-tasked job *)
@ -193,12 +194,12 @@ end = struct
} }
let create ~state ~task_ids = let create ~state ~task_ids =
{ state = State.of_string state ; { 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 = let to_string x =
Printf.sprintf "del_task %s %s" Printf.sprintf "del_task %s %s"
(State.to_string x.state) (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 end
@ -219,7 +220,7 @@ end = struct
else "done" else "done"
in in
Printf.sprintf "del_task_reply %s %s" 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 end
@ -303,7 +304,7 @@ end = struct
"get_tasks_reply ok" "get_tasks_reply ok"
let to_string_list x = let to_string_list x =
"get_tasks_reply ok" :: ( "get_tasks_reply ok" :: (
List.map (fun (task_id, task) -> list_map (fun (task_id, task) ->
match task_id with match task_id with
| Some task_id -> Printf.sprintf "%d %s" (Id.Task.to_int task_id) task | Some task_id -> Printf.sprintf "%d %s" (Id.Task.to_int task_id) task
| None -> Printf.sprintf "0 terminate" | None -> Printf.sprintf "0 terminate"
@ -408,14 +409,14 @@ end = struct
let create ~state ~client_id ~task_ids = let create ~state ~client_id ~task_ids =
{ client_id = Id.Client.of_int client_id ; { client_id = Id.Client.of_int client_id ;
state = State.of_string state ; 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 = let to_string x =
Printf.sprintf "task_done %s %d %s" Printf.sprintf "task_done %s %d %s"
(State.to_string x.state) (State.to_string x.state)
(Id.Client.to_int x.client_id) (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 end
(** Terminate *) (** Terminate *)

View File

@ -1,4 +1,5 @@
open Qptypes open Qptypes
open Qputils
open Sexplib.Std open Sexplib.Std
exception MultiplicityError of string exception MultiplicityError of string
@ -96,7 +97,7 @@ let to_string_general ~f m =
let title = let title =
name m name m
in in
[ string_of_int n ; title ] @ (List.map f nuclei) [ string_of_int n ; title ] @ (list_map f nuclei)
|> String.concat "\n" |> String.concat "\n"
let to_string = let to_string =
@ -112,7 +113,7 @@ let of_xyz_string
s = s =
let l = String_ext.split s ~on:'\n' let l = String_ext.split s ~on:'\n'
|> List.filter (fun x -> x <> "") |> List.filter (fun x -> x <> "")
|> List.map (fun x -> Atom.of_string units x) |> list_map (fun x -> Atom.of_string units x)
in in
let ne = ( get_charge { let ne = ( get_charge {
nuclei=l ; nuclei=l ;
@ -149,14 +150,18 @@ let of_xyz_file
let lines = let lines =
match Io_ext.input_lines filename with match Io_ext.input_lines filename with
| natoms :: title :: rest -> | natoms :: title :: rest ->
begin let natoms =
try try
if (int_of_string @@ String_ext.strip natoms) <= 0 then int_of_string @@ String_ext.strip natoms
raise XYZError with
with | _ -> raise XYZError
| _ -> raise XYZError in
end; if natoms <= 0 then
String.concat "\n" rest raise XYZError;
let a = Array.of_list rest in
Array.sub a 0 natoms
|> Array.to_list
|> String.concat "\n"
| _ -> raise XYZError | _ -> raise XYZError
in in
of_xyz_string ~charge:charge ~multiplicity:multiplicity of_xyz_string ~charge:charge ~multiplicity:multiplicity
@ -186,7 +191,7 @@ let of_file
let distance_matrix molecule = let distance_matrix molecule =
let coord = let coord =
molecule.nuclei molecule.nuclei
|> List.map (fun x -> x.Atom.coord) |> list_map (fun x -> x.Atom.coord)
|> Array.of_list |> Array.of_list
in in
let n = let n =

View File

@ -1,4 +1,5 @@
open Qptypes open Qptypes
open Qputils
open Sexplib.Std open Sexplib.Std
type t = { type t = {
@ -23,7 +24,7 @@ let of_string ~units s =
let l = s let l = s
|> String_ext.split ~on:' ' |> String_ext.split ~on:' '
|> List.filter (fun x -> x <> "") |> List.filter (fun x -> x <> "")
|> List.map float_of_string |> list_map float_of_string
|> Array.of_list |> Array.of_list
in in
{ x = l.(0) *. f ; { x = l.(0) *. f ;

View File

@ -1,4 +1,5 @@
open Sexplib.Std open Sexplib.Std
open Qputils
open Qptypes open Qptypes
@ -81,7 +82,7 @@ let to_string_local = function
| t -> | t ->
"Local component:" :: "Local component:" ::
( Printf.sprintf "%20s %8s %20s" "Coeff." "r^n" "Exp." ) :: ( 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) (AO_coef.to_float c)
(R_power.to_int l.GaussianPrimitive_local.r_power) (R_power.to_int l.GaussianPrimitive_local.r_power)
(AO_expo.to_float l.GaussianPrimitive_local.expo) (AO_expo.to_float l.GaussianPrimitive_local.expo)
@ -95,7 +96,7 @@ let to_string_non_local = function
| t -> | t ->
"Non-local component:" :: "Non-local component:" ::
( Printf.sprintf "%20s %8s %20s %8s" "Coeff." "r^n" "Exp." "Proj") :: ( Printf.sprintf "%20s %8s %20s %8s" "Coeff." "r^n" "Exp." "Proj") ::
( List.map (fun (l,c) -> ( list_map (fun (l,c) ->
let p = let p =
Positive_int.to_int l.GaussianPrimitive_non_local.proj Positive_int.to_int l.GaussianPrimitive_non_local.proj
in in

View File

@ -30,7 +30,7 @@ let bit_kind_size = lazy (
in in
begin match (String_ext.rsplit2 ~on:':' line) with begin match (String_ext.rsplit2 ~on:':' line) with
| Some (_ ,buffer) -> | 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] -> | ["bit_kind_size"; x] ->
int_of_string x |> Bit_kind_size.of_int int_of_string x |> Bit_kind_size.of_int
| _ -> get_data tail | _ -> get_data tail
@ -58,7 +58,7 @@ let executables = lazy (
result result
in in
lines lines
|> List.map (fun x -> |> list_map (fun x ->
let e = String_ext.split ~on:' ' x let e = String_ext.split ~on:' ' x
|> List.filter (fun x -> x <> "") |> List.filter (fun x -> x <> "")
in in

View File

@ -53,3 +53,6 @@ let input_lines ic =
let string_of_string s = s let string_of_string s = s
let list_map f l =
List.rev_map f l
|> List.rev

View File

@ -38,7 +38,7 @@ let dummy_centers ~threshold ~molecule ~nuclei =
| _ -> assert false | _ -> assert false
in in
aux [] (n-1,n-1) aux [] (n-1,n-1)
|> List.map (fun (i,x,j,y,r) -> |> list_map (fun (i,x,j,y,r) ->
let f = let f =
x /. (x +. y) x /. (x +. y)
in in
@ -270,7 +270,7 @@ let run ?o b au c d m p cart xyz_file =
(* Write Pseudo *) (* Write Pseudo *)
let pseudo = let pseudo =
List.map (fun x -> list_map (fun x ->
match pseudo_channel x.Atom.element with match pseudo_channel x.Atom.element with
| Some channel -> Pseudo.read_element channel x.Atom.element | Some channel -> Pseudo.read_element channel x.Atom.element
| None -> Pseudo.empty 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; |> Elec_beta_number.of_int;
Molecule.nuclei = Molecule.nuclei =
let charges = 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 |> Float.of_int) pseudo
|> Array.of_list |> Array.of_list
in in
@ -315,13 +315,13 @@ let run ?o b au c d m p cart xyz_file =
(* Write Nuclei *) (* Write Nuclei *)
let labels = 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 = 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 = and coords =
(List.map (fun x-> x.Atom.coord.Point3d.x) nuclei) @ (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.y) nuclei) @
(List.map (fun x-> x.Atom.coord.Point3d.z) nuclei) in (list_map (fun x-> x.Atom.coord.Point3d.z) nuclei) in
let nucl_num = (List.length labels) in let nucl_num = (List.length labels) in
Ezfio.set_nuclei_nucl_num nucl_num ; Ezfio.set_nuclei_nucl_num nucl_num ;
Ezfio.set_nuclei_nucl_label (Ezfio.ezfio_array_of_list 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 = let kmax =
Array.init (lmax+1) (fun i-> Array.init (lmax+1) (fun i->
List.map (fun x -> list_map (fun x ->
List.filter (fun (y,_) -> List.filter (fun (y,_) ->
(Positive_int.to_int y.Pseudo.GaussianPrimitive_non_local.proj) = i) (Positive_int.to_int y.Pseudo.GaussianPrimitive_non_local.proj) = i)
x.Pseudo.non_local x.Pseudo.non_local
@ -478,7 +478,7 @@ let run ?o b au c d m p cart xyz_file =
in in
let result = do_work [] 1 nuclei let result = do_work [] 1 nuclei
|> List.rev |> List.rev
|> List.map (fun (x,i) -> |> list_map (fun (x,i) ->
try try
let e = let e =
match x.Atom.element with 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 let ao_num = List.length long_basis in
Ezfio.set_ao_basis_ao_num ao_num; Ezfio.set_ao_basis_ao_num ao_num;
Ezfio.set_ao_basis_ao_basis b; Ezfio.set_ao_basis_ao_basis b;
let ao_prim_num = List.map (fun (_,g,_) -> List.length g.Gto.lc) 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_nucl = list_map (fun (_,_,n) -> Nucl_number.to_int n) long_basis
and ao_power= and ao_power=
let l = List.map (fun (x,_,_) -> x) long_basis in 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.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.y)) l)@
(List.map (fun t -> Positive_int.to_int Symmetry.Xyz.(t.z)) l) (list_map (fun t -> Positive_int.to_int Symmetry.Xyz.(t.z)) l)
in in
let ao_prim_num_max = List.fold_left (fun s x -> let ao_prim_num_max = List.fold_left (fun s x ->
if x > s then x if x > s then x
else s) 0 ao_prim_num else s) 0 ao_prim_num
in in
let gtos = let gtos =
List.map (fun (_,x,_) -> x) long_basis list_map (fun (_,x,_) -> x) long_basis
in in
let create_expo_coef ec = let create_expo_coef ec =
let coefs = let coefs =
begin match ec with begin match ec with
| `Coefs -> List.map (fun x-> | `Coefs -> list_map (fun x->
List.map (fun (_,coef) -> list_map (fun (_,coef) ->
AO_coef.to_float coef) x.Gto.lc) gtos AO_coef.to_float coef) x.Gto.lc) gtos
| `Expos -> List.map (fun x-> | `Expos -> list_map (fun x->
List.map (fun (prim,_) -> AO_expo.to_float list_map (fun (prim,_) -> AO_expo.to_float
prim.GaussianPrimitive.expo) x.Gto.lc) gtos prim.GaussianPrimitive.expo) x.Gto.lc) gtos
end end
in in

View File

@ -21,10 +21,6 @@ let () =
doc="Downloads the EZFIO directory." ; doc="Downloads the EZFIO directory." ;
arg=Without_arg; } ; arg=Without_arg; } ;
{ short='v' ; long="verbose" ; opt=Optional ;
doc="Prints the transfer speed." ;
arg=Without_arg; } ;
anonymous anonymous
"(EZFIO_DIR|ADDRESS)" "(EZFIO_DIR|ADDRESS)"
Mandatory Mandatory
@ -150,45 +146,6 @@ let () =
Zmq.Socket.subscribe socket_in ""; 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 = let action_in =
match req_or_sub with match req_or_sub with

View File

@ -220,22 +220,19 @@ module Perturbation : sig
end = struct end = struct
type t = type t =
| EN | EN
| Barycentric | HF
| Variance
| SOP | SOP
[@@deriving sexp] [@@deriving sexp]
let to_string = function let to_string = function
| EN -> \"EN\" | EN -> \"EN\"
| Variance -> \"Variance\" | HF -> \"HF\"
| Barycentric -> \"Barycentric\"
| SOP -> \"SOP\" | SOP -> \"SOP\"
let of_string s = let of_string s =
match (String.lowercase_ascii s) with match (String.lowercase_ascii s) with
| \"sop\" -> SOP | \"sop\" -> SOP
| \"en\" -> EN | \"en\" -> EN
| \"variance\" -> Variance | \"hf\" -> HF
| \"barycentric\" -> Barycentric
| _ -> raise (Invalid_argument (\"Wrong Perturbation type : \"^s)) | _ -> raise (Invalid_argument (\"Wrong Perturbation type : \"^s))
end end
" "

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
""" """
Save the .o from a .f90 Save the .o from a .f90
and is the .o is asked a second time, retur it and is the .o is asked a second time, retur it
@ -13,9 +13,9 @@ import re
import shutil import shutil
import subprocess import subprocess
r = re.compile(ur'-c\s+(\S+\.[fF]90)\s+-o\s+(\S+\.o)') r = re.compile(r'-c\s+(\S+\.[fF]90)\s+-o\s+(\S+\.o)')
p = re.compile(ur'-I IRPF90_temp/\S*\s+') p = re.compile(r'-I IRPF90_temp/\S*\s+')
mod = re.compile(ur'module\s+(?P<mod>\S+).+end\s?module\s+(?P=mod)?', mod = re.compile(r'module\s+(?P<mod>\S+).+end\s?module\s+(?P=mod)?',
re.MULTILINE | re.IGNORECASE) re.MULTILINE | re.IGNORECASE)
tmpdir_root = os.environ.get("TMPDIR", failobj="/dev/shm") tmpdir_root = os.environ.get("TMPDIR", failobj="/dev/shm")

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
Usage: qp_create_ninja create <config_file> (--development | --production) Usage: qp_create_ninja create <config_file> (--development | --production)
@ -24,7 +24,7 @@ except ImportError:
"..", "..",
"quantum_package.rc")) "quantum_package.rc"))
print "\n".join(["", "Error:", "source %s" % f, ""]) print("\n".join(["", "Error:", "source %s" % f, ""]))
sys.exit(1) sys.exit(1)
# Compress path # Compress path
@ -124,7 +124,7 @@ def dict_module_genelogy_path(d_module_genelogy):
d_module_genelogy d_module_genelogy
""" """
d = dict() 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) module_abs = real_join(QP_SRC, module_rel)
p = Path(module_abs, module_rel) p = Path(module_abs, module_rel)
@ -235,11 +235,11 @@ def ninja_ezfio_cfg_build(l_util):
""" """
l_string = [] l_string = []
for m in l_util.itervalues(): for m in l_util.values():
str_ = "build {1} {2}: build_ezfio_interface {0}" str_ = "build {1} {2}: build_ezfio_interface {0}"
l_string += [str_.format(*map(comp_path,(m.ez_cfg.abs, m.ez_interface.abs, l_string += [str_.format(*list(map(comp_path,(m.ez_cfg.abs, m.ez_interface.abs,
m.ez_config.abs)))] m.ez_config.abs))))]
l_string += [" sub_module = {0}".format(comp_path(m.ez_module.abs))] l_string += [" sub_module = {0}".format(comp_path(m.ez_module.abs))]
l_string += [""] l_string += [""]
@ -257,8 +257,8 @@ def ninja_ezfio_config_build(l_ezfio_config):
file_source = m.path_in_module file_source = m.path_in_module
file_create = m.path_in_ezfio file_create = m.path_in_ezfio
l_string += ["build {0}: build_ezfio_config {1}".format(*map(comp_path,(file_create, l_string += ["build {0}: build_ezfio_config {1}".format(*list(map(comp_path,(file_create,
file_source)))] file_source))))]
l_string += [""] l_string += [""]
return 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_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))) str_ = " ".join(map(comp_path,(l_ezfio_config + l_ezfio_from_cfg)))
l_string = ["build {0}: build_ezfio {1}".format(EZFIO_LIB, str_), ""] 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: 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 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")) 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, root = "build {0}: build_gitignore {1}".format(path_gitignore,
" ".join(l_b)) " ".join(l_b))
@ -420,9 +420,9 @@ def get_file_dependency(d_info_module):
""" """
d_irp = defaultdict(dict) 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"]: if key in ["l_src"]:
values = [join(module.abs, o) for o in values] values = [join(module.abs, o) for o in values]
if key in ["l_obj"]: if key in ["l_obj"]:
@ -431,7 +431,7 @@ def get_file_dependency(d_info_module):
d_irp[module][key] = values d_irp[module][key] = values
for children in l_children: 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"]: if key in ["l_src"]:
values = [join(module.abs, children.rel, o) values = [join(module.abs, children.rel, o)
for o in values] 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 # # D e p e n d a n c y #
# ~#~#~#~#~#~#~#~#~#~ # # ~#~#~#~#~#~#~#~#~#~ #
l_depend = map(comp_path,d_irp[path_module]["l_depend"]) l_depend = list(map(comp_path,d_irp[path_module]["l_depend"]))
l_src = map(comp_path,d_irp[path_module]["l_src"]) l_src = list(map(comp_path,d_irp[path_module]["l_src"]))
l_obj = map(comp_path,d_irp[path_module]["l_obj"]) l_obj = list(map(comp_path,d_irp[path_module]["l_obj"]))
l_template = map(comp_path,d_irp[path_module]["l_template"]) l_template = list(map(comp_path,d_irp[path_module]["l_template"]))
if l_needed_molule: if l_needed_molule:
l_symlink = ["l_symlink_{0}".format(path_module.rel)] l_symlink = ["l_symlink_{0}".format(path_module.rel)]
@ -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 # # 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 = [ l_string = [
"build {0}: build_irpf90.ninja {1}".format(str_creation, str_depend), "build {0}: build_irpf90.ninja {1}".format(str_creation, str_depend),
@ -544,6 +544,7 @@ def get_binaries(path_module):
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.PIPE) stderr=subprocess.PIPE)
stdout, stderr = process.communicate() stdout, stderr = process.communicate()
stdout = stdout.decode()
except OSError: except OSError:
return [] return []
else: 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") 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 # # 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): 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") 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 = module_instance.dict_root
dict_root_path = dict_module_genelogy_path(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 # # M o d u l e _ t o _ i r p #
# ~#~#~#~#~#~#~#~#~#~#~#~#~ # # ~#~#~#~#~#~#~#~#~#~#~#~#~ #
d_binaries = get_dict_binaries(l_all_module, mode="development") d_binaries = get_dict_binaries(l_all_module, mode="development")
l_module = d_binaries.keys() l_module = list(d_binaries.keys())
# ~#~#~#~#~#~#~#~#~#~#~#~ # # ~#~#~#~#~#~#~#~#~#~#~#~ #

View File

@ -1,8 +1,8 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import os, sys import os, sys
import ConfigParser import configparser
def get_l_option_section(config): 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 Return the flag compilation of a compile.cfg located in pwd_cfg
""" """
if not os.path.isfile(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) sys.exit(1)
config = ConfigParser.ConfigParser() config = configparser.ConfigParser(inline_comment_prefixes=(';','#'))
config.read(pwd_cfg) config.read(pwd_cfg)
if flag_name == "FC" and config.getboolean("OPTION","CACHE"): 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: for section in ["COMMON"] + l_option_section:
try: try:
l.extend(config.get(section, flag_name).split()) l.extend(config.get(section, flag_name).split())
except ConfigParser.NoOptionError: except configparser.NoOptionError:
pass pass
return " ".join(l) return " ".join(l)
@ -43,5 +43,5 @@ if __name__ == '__main__':
qpackage_root = os.environ['QP_ROOT'] qpackage_root = os.environ['QP_ROOT']
pwd_cfg = os.path.join(qpackage_root, "config/ifort_gpi2.cfg") pwd_cfg = os.path.join(qpackage_root, "config/ifort_gpi2.cfg")
print get_compilation_option(pwd_cfg, "FC") print(get_compilation_option(pwd_cfg, "FC"))
print get_compilation_option(pwd_cfg, "FCFLAGS") print(get_compilation_option(pwd_cfg, "FCFLAGS"))

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
Welcome to the ei_handler. Welcome to the ei_handler.
@ -72,7 +72,7 @@ import sys
import os import os
import os.path import os.path
import ConfigParser import configparser
from collections import defaultdict from collections import defaultdict
from collections import namedtuple 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 # # L o a d _ C o n f i g #
# ~#~#~#~#~#~#~#~#~#~#~ # # ~#~#~#~#~#~#~#~#~#~#~ #
config_file = ConfigParser.ConfigParser() config_file = configparser.ConfigParser()
config_file.readfp(open(module_obj.path)) config_file.read_file(open(module_obj.path))
# ~#~#~#~#~#~#~#~#~ # # ~#~#~#~#~#~#~#~#~ #
# F i l l _ d i c t # # F i l l _ d i c t #
@ -229,7 +229,7 @@ def get_dict_config_file(module_obj):
def error(o, p, c): def error(o, p, c):
"o option ; p provider_name ;c module_obj.path" "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(): for section in config_file.sections():
# pvd = provider # pvd = provider
@ -245,13 +245,13 @@ def get_dict_config_file(module_obj):
# Check if type is avalaible # Check if type is avalaible
try: try:
type_ = config_file.get(section, "type").strip() type_ = config_file.get(section, "type").strip()
except ConfigParser.NoOptionError: except configparser.NoOptionError:
error("type", pvd, module_obj.path) error("type", pvd, module_obj.path)
sys.exit(1) sys.exit(1)
if type_ not in type_dict: if type_ not in type_dict:
print "{0} not avalaible. Choose in:".format(type_).strip() print("{0} not avalaible. Choose in:".format(type_).strip())
print ", ".join(sorted([i for i in type_dict])) print(", ".join(sorted([i for i in type_dict])))
sys.exit(1) sys.exit(1)
else: else:
d[pvd]["type"] = type_dict[type_] d[pvd]["type"] = type_dict[type_]
@ -259,18 +259,18 @@ def get_dict_config_file(module_obj):
# Fill the dict with REQUIRED information # Fill the dict with REQUIRED information
try: try:
d[pvd]["doc"] = config_file.get(section, "doc") d[pvd]["doc"] = config_file.get(section, "doc")
except ConfigParser.NoOptionError: except configparser.NoOptionError:
error("doc", pvd, module_obj.path) error("doc", pvd, module_obj.path)
sys.exit(1) sys.exit(1)
try: try:
interface = [i.lower().strip() for i in config_file.get(section, "interface").split(",")] 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) error("doc", pvd, module_obj.path)
sys.exit(1) sys.exit(1)
else: else:
if not any(i in ["ezfio", "provider", "ocaml"] for i in interface): 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) sys.exit(1)
else: else:
d[pvd]["interface"] = interface d[pvd]["interface"] = interface
@ -279,7 +279,7 @@ def get_dict_config_file(module_obj):
for option in l_info_optional: for option in l_info_optional:
try: try:
d[pvd][option] = config_file.get(section, option).lower() d[pvd][option] = config_file.get(section, option).lower()
except ConfigParser.NoOptionError: except configparser.NoOptionError:
if option in d_default: if option in d_default:
d[pvd][option] = d_default[option] d[pvd][option] = d_default[option]
@ -287,7 +287,7 @@ def get_dict_config_file(module_obj):
try: try:
default_raw = config_file.get(section, "default") default_raw = config_file.get(section, "default")
except ConfigParser.NoOptionError: except configparser.NoOptionError:
if "ocaml" in d[pvd]["interface"]: if "ocaml" in d[pvd]["interface"]:
error("default", pvd, module_obj.path) error("default", pvd, module_obj.path)
sys.exit(1) sys.exit(1)
@ -322,7 +322,7 @@ def create_ezfio_provider(dict_ezfio_cfg):
dict_code_provider = dict() dict_code_provider = dict()
ez_p = EZFIO_Provider() 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"]: if "provider" in dict_info["interface"]:
ez_p.set_type(dict_info['type'].fortran) ez_p.set_type(dict_info['type'].fortran)
ez_p.set_name(provider_name) 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), "! from file {0}/EZFIO.cfg".format(path_head),
"\n"] "\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) 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): def size_format_to_ezfio(size_raw):
""" """
If size_raw == "=" is a formula -> do nothing; return 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 (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) size_raw = str(size_raw)
if size_raw.startswith('='): if size_raw.startswith('='):
size_convert = size_raw.replace('.', '_') size_convert = size_raw.replace('.', '_')
else: else:
size_raw = provider_info["size"].translate(None, "()") size_raw = provider_info["size"].translate(str.maketrans("","","()"))
size_raw = size_raw.replace('.', '_') size_raw = size_raw.replace('.', '_')
a_size_raw = [] a_size_raw = []
for dim in size_raw.split(","): for dim in size_raw.split(","):
try: try:
(begin, end) = map(str.strip, dim.split(":")) (begin, end) = list(map(str.strip, dim.split(":")))
except ValueError: except ValueError:
a_size_raw.append(dim) a_size_raw.append(dim)
else: 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_name = max([len(i) for i in dict_ezfio_cfg])
lenmax_type = max([len(i["type"].fortran) 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_name_format = create_format_string(lenmax_name + 2)
str_type_format = create_format_string(lenmax_type + 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 # 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): 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 raise TypeError
else: else:
result = [l_ezfio_dir[0]] 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 # Get the value from dict
name_raw = provider_info["ezfio_name"].lower() name_raw = provider_info["ezfio_name"].lower()
@ -532,7 +532,7 @@ def create_ocaml_input(dict_ezfio_cfg, module_lower):
l_type = [] l_type = []
l_doc = [] l_doc = []
for k, v in dict_ezfio_cfg.iteritems(): for k, v in dict_ezfio_cfg.items():
if "ocaml" in v['interface']: if "ocaml" in v['interface']:
l_ezfio_name.append(v['ezfio_name']) l_ezfio_name.append(v['ezfio_name'])
l_type.append(v["type"]) 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: if 'default' not in d_val:
continue continue
@ -655,7 +655,7 @@ def get_l_module_with_auto_generate_ocaml_lower():
l_module_lower = [] l_module_lower = []
import re import re
p = re.compile(ur'interface:.*ocaml') p = re.compile(r'interface:.*ocaml')
for f in l_folder: for f in l_folder:
path = "{0}/{1}/EZFIO.cfg".format(QP_SRC, f) path = "{0}/{1}/EZFIO.cfg".format(QP_SRC, f)
@ -782,7 +782,7 @@ if __name__ == "__main__":
# #
if arguments["list_supported_types"]: if arguments["list_supported_types"]:
for i in sorted(get_type_dict()): for i in sorted(get_type_dict()):
print i print(i)
sys.exit(0) sys.exit(0)
if arguments["ocaml_global"]: if arguments["ocaml_global"]:

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
""" """
This program generates all the This program generates all the
OCaml templates needed by qp_edit OCaml templates needed by qp_edit
@ -17,12 +17,12 @@ class EZFIO_ocaml(object):
def __init__(self, **kwargs): def __init__(self, **kwargs):
for k, v in kwargs.iteritems(): for k, v in kwargs.items():
try: try:
exec "self.{0} = {1}".format(k, v) exec("self.{0} = {1}".format(k, v))
except NameError: except NameError:
exec "self.{0} = '{1}'".format(k, v) exec("self.{0} = '{1}'".format(k, v))
@property @property
def Ocaml_type(self): def Ocaml_type(self):
@ -39,7 +39,7 @@ class EZFIO_ocaml(object):
def check_if_init(self, l_arg, name): def check_if_init(self, l_arg, name):
for i in l_arg: for i in l_arg:
try: try:
exec "self.{0}".format(i) exec("self.{0}".format(i))
except AttributeError: except AttributeError:
msg = "You need to provide a '{0}' for creating {1}" msg = "You need to provide a '{0}' for creating {1}"
raise KeyError(msg.format(i, name)) raise KeyError(msg.format(i, name))

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
__author__ = "Applencourt PEP8" __author__ = "Applencourt PEP8"
__date__ = "jeudi 26 mars 2015, 12:49:35 (UTC+0100)" __date__ = "jeudi 26 mars 2015, 12:49:35 (UTC+0100)"
@ -88,7 +88,7 @@ END_PROVIDER
def __init__(self): def __init__(self):
self.values = "type doc name ezfio_dir ezfio_name write output".split() self.values = "type doc name ezfio_dir ezfio_name write output".split()
for v in self.values: for v in self.values:
exec "self.{0} = None".format(v) exec("self.{0} = None".format(v))
def __repr__(self): def __repr__(self):
self.set_write() self.set_write()
@ -96,7 +96,7 @@ END_PROVIDER
for v in self.values: for v in self.values:
if not v: if not v:
msg = "Error : %s is not set in EZFIO.cfg" % (v) msg = "Error : %s is not set in EZFIO.cfg" % (v)
print >>sys.stderr, msg print(msg, file=sys.stderr)
sys.exit(1) sys.exit(1)
if "size" not in self.__dict__: if "size" not in self.__dict__:
self.__dict__["size"] = "" self.__dict__["size"] = ""
@ -167,7 +167,7 @@ def test_module():
T.set_ezfio_dir("Hartree_Fock") T.set_ezfio_dir("Hartree_Fock")
T.set_ezfio_name("thresh_SCF") T.set_ezfio_name("thresh_SCF")
T.set_output("output_Hartree_Fock") T.set_output("output_Hartree_Fock")
print T print(T)
if __name__ == '__main__': if __name__ == '__main__':
test_module() test_module()

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
import os import os
@ -105,7 +105,6 @@ class H_apply(object):
s["do_mono_excitations"] = d[do_mono_exc] s["do_mono_excitations"] = d[do_mono_exc]
s["do_double_excitations"] = d[do_double_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["keys_work"] += "call fill_H_apply_buffer_no_selection(key_idx,keys_out,N_int,iproc)"
s["filter_integrals"] = "array_pairs = .True." s["filter_integrals"] = "array_pairs = .True."
if SingleRef: if SingleRef:
s["filter_integrals"] = """ s["filter_integrals"] = """
@ -131,9 +130,15 @@ class H_apply(object):
!$OMP END PARALLEL !$OMP END PARALLEL
call dsort(H_jj,iorder,N_det) call dsort(H_jj,iorder,N_det)
do k=1,N_states if (is_complex) then
psi_coef(iorder(k),k) = 1.d0 do k=1,N_states
enddo 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) deallocate(H_jj,iorder)
""" """
@ -142,7 +147,11 @@ class H_apply(object):
if (s2_eig) then if (s2_eig) then
call make_s2_eigenfunction call make_s2_eigenfunction
endif 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,*) & s["printout_now"] = """write(6,*) &
100.*float(i_generator)/float(N_det_generators), '% in ', wall_1-wall_0, 's'""" 100.*float(i_generator)/float(N_det_generators), '% in ', wall_1-wall_0, 's'"""
@ -156,7 +165,7 @@ class H_apply(object):
def __repr__(self): def __repr__(self):
buffer = self.template buffer = self.template
for key,value in self.data.items(): for key,value in list(self.data.items()):
buffer = buffer.replace('$'+key, value) buffer = buffer.replace('$'+key, value)
return buffer return buffer

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
import random import random
@ -131,8 +131,8 @@ _ __ `/___ __ \__ ___/__ __ \
""" ] """ ]
print random.choice(hello) print(random.choice(hello))
print "\n -- Quantum Package Shell --\n" print("\n -- Quantum Package Shell --\n")

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
Module utilitary Module utilitary
@ -25,7 +25,7 @@ try:
from docopt import docopt from docopt import docopt
from qp_path import QP_SRC, QP_ROOT, QP_PLUGINS, QP_EZFIO from qp_path import QP_SRC, QP_ROOT, QP_PLUGINS, QP_EZFIO
except ImportError: except ImportError:
print "source .quantum_package.rc" print("source .quantum_package.rc")
raise raise
@ -50,6 +50,7 @@ def get_binaries(path_module):
stdout=subprocess.PIPE, stdout=subprocess.PIPE,
stderr=subprocess.PIPE) stderr=subprocess.PIPE)
stdout, stderr = process.communicate() stdout, stderr = process.communicate()
stdout = stdout.decode()
except OSError: except OSError:
return [] return []
else: else:
@ -106,9 +107,9 @@ def get_l_module_descendant(d_child, l_module):
try: try:
l.extend(get_l_module_descendant(d_child, d_child[module])) l.extend(get_l_module_descendant(d_child, d_child[module]))
except KeyError: except KeyError:
print >> sys.stderr, "Error: " print("Error: ", file=sys.stderr)
print >> sys.stderr, "`{0}` is not a submodule".format(module) print("`{0}` is not a submodule".format(module), file=sys.stderr)
print >> sys.stderr, "Check the typo (spelling, case, '/', etc.) " print("Check the typo (spelling, case, '/', etc.) ", file=sys.stderr)
sys.exit(1) sys.exit(1)
return list(set(l)) return list(set(l))
@ -120,7 +121,7 @@ class ModuleHandler():
@property @property
def l_module(self): def l_module(self):
return self.dict_child.keys() return list(self.dict_child.keys())
@property @property
def dict_parent(self): def dict_parent(self):
@ -132,7 +133,7 @@ class ModuleHandler():
d = {} d = {}
for module_name in d_child: 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]] if module_name in d_child[i]]
return d return d
@ -151,8 +152,8 @@ class ModuleHandler():
d[module_name] = get_l_module_descendant(d_child, d[module_name] = get_l_module_descendant(d_child,
d_child[module_name]) d_child[module_name])
except KeyError: except KeyError:
print "Check NEED for {0}".format( print("Check NEED for {0}".format(
module_name) module_name))
sys.exit(1) sys.exit(1)
return d return d
@ -185,7 +186,7 @@ class ModuleHandler():
for e in d_desc[module]: for e in d_desc[module]:
d[e] = 1 d[e] = 1
return d.keys() return list(d.keys())
def l_reduce_tree(self, l_module): def l_reduce_tree(self, l_module):
"""For a list of module in input return only the root""" """For a list of module in input return only the root"""
@ -218,8 +219,8 @@ if __name__ == '__main__':
for module in l_module: for module in l_module:
if not is_module(module): if not is_module(module):
print "{0} is not a valid module. Abort".format(module) print("{0} is not a valid module. Abort".format(module))
print "No NEED in it" print("No NEED in it")
sys.exit(1) sys.exit(1)
m = ModuleHandler() m = ModuleHandler()
@ -227,7 +228,7 @@ if __name__ == '__main__':
if arguments['print_descendant']: if arguments['print_descendant']:
for module in l_module: for module in l_module:
print " ".join(sorted(m.l_descendant_unique([module]))) print(" ".join(sorted(m.l_descendant_unique([module]))))
if arguments["clean"]: if arguments["clean"]:

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
import os import os
from qp_path import QP_SRC from qp_path import QP_SRC
@ -7,7 +7,7 @@ Pert_dir = os.path.join(QP_SRC,"perturbation")
perturbations = [] 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) filename = os.path.join(Pert_dir,filename)
file = open(filename,'r') 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__': if __name__ == '__main__':
print 'Perturbations:' print('Perturbations:')
for k in perturbations: for k in perturbations:
print '* ', k print('* ', k)

View File

@ -1,7 +1,7 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import urllib import urllib.request, urllib.parse, urllib.error
import sys import sys
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
@ -35,11 +35,11 @@ def clean_up(text):
return False return False
else: else:
return y[0] in irred return y[0] in irred
data = filter(f,data)[:len(irred)] data = list(filter(f,data))[:len(irred)]
for line in data: for line in data:
s = line.replace('*','').split() s = line.replace('*','').split()
l = irred[s[0]] l = irred[s[0]]
data[l] = map(float,s[1:len(irred)+1]) data[l] = list(map(float,s[1:len(irred)+1]))
d = {} d = {}
e = {} e = {}
@ -48,23 +48,23 @@ def clean_up(text):
for k in sop: for k in sop:
e[sop[k]] = k e[sop[k]] = k
n = len(irred) n = len(irred)
print "Group\t", group, "\nn\t", n print("Group\t", group, "\nn\t", n)
print "\n \tIrred \tOperation" print("\n \tIrred \tOperation")
for i in range(n): 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): 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): for i in range(n):
print "\n%4d "%(i+1), print("\n%4d "%(i+1), end=' ')
for j in range(n): for j in range(n):
print "%8.5f "%(data[i][j]), print("%8.5f "%(data[i][j]), end=' ')
print "\n" print("\n")
def main(): def main():
for group in sys.argv[1:]: for group in sys.argv[1:]:
f = urllib.urlopen(address%(group)) f = urllib.request.urlopen(address%(group))
html = f.read().split('\n',1)[1] html = f.read().split('\n',1)[1]
text = clean_up(html) text = clean_up(html)

View File

@ -1,4 +1,4 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
BIT_KIND_SIZE=64 BIT_KIND_SIZE=64

View File

@ -0,0 +1,40 @@
#!/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 -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
perl -pi -e 's/[^[:ascii:]]/ /g' $F
done

View File

@ -1,13 +1,14 @@
#!/usr/bin/env python2 #!/usr/bin/env python3
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
import os import os
import sys import sys
try: try:
QP_ROOT = os.environ['QP_ROOT'] QP_ROOT = os.environ['QP_ROOT']
except: except:
print "source quantum_package.rc" print("source quantum_package.rc")
sys.exit(1) sys.exit(1)
else: else:
QP_EZFIO = os.environ["QP_EZFIO"] QP_EZFIO = os.environ["QP_EZFIO"]

View File

@ -1,3 +1,51 @@
========================== ==========================
The core modules of the QP 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 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.
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 ...

View File

@ -55,9 +55,20 @@ doc: If |true|, use |AOs| in Cartesian coordinates (6d,10f,...)
interface: ezfio, provider interface: ezfio, provider
default: false 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
[ao_num_per_kpt] [ao_num_per_kpt]
type: integer type: integer
doc: Number of |AOs| per kpt doc: Max number of |AOs| per kpt
default: =(ao_basis.ao_num/nuclei.kpt_num) interface: ezfio, provider
interface: ezfio

View File

@ -20,25 +20,38 @@ END_PROVIDER
C_A(2) = 0.d0 C_A(2) = 0.d0
C_A(3) = 0.d0 C_A(3) = 0.d0
ao_coef_normalized = 0.d0 ao_coef_normalized = 0.d0
do i=1,ao_num do i=1,ao_num
powA(1) = ao_power(i,1) powA(1) = ao_power(i,1)
powA(2) = ao_power(i,2) powA(2) = ao_power(i,2)
powA(3) = ao_power(i,3) powA(3) = ao_power(i,3)
do j=1,ao_prim_num(i) ! Normalization of the primitives
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) if (primitives_normalized) then
ao_coef_normalized(i,j) = ao_coef(i,j)/sqrt(norm) do j=1,ao_prim_num(i)
enddo 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 ! Normalization of the contracted basis functions
norm = 0.d0 if (ao_normalized) then
do j=1,ao_prim_num(i) norm = 0.d0
do k=1,ao_prim_num(i) do j=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) do k=1,ao_prim_num(i)
norm = norm+c*ao_coef_normalized(i,j)*ao_coef_normalized(i,k) 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)
enddo norm = norm+c*ao_coef_normalized(i,j)*ao_coef_normalized(i,k)
enddo enddo
ao_coef_normalization_factor(i) = 1.d0/sqrt(norm) enddo
ao_coef_normalization_factor(i) = 1.d0/sqrt(norm)
else
ao_coef_normalization_factor(i) = 1.d0
endif
enddo enddo
END_PROVIDER END_PROVIDER

View File

@ -1,7 +1,7 @@
BEGIN_PROVIDER [ integer, ao_num_per_kpt ] !BEGIN_PROVIDER [ integer, ao_num_per_kpt ]
implicit none ! implicit none
BEGIN_DOC ! BEGIN_DOC
! number of aos per kpt. ! ! number of aos per kpt.
END_DOC ! END_DOC
ao_num_per_kpt = ao_num/kpt_num ! ao_num_per_kpt = ao_num/kpt_num
END_PROVIDER !END_PROVIDER

View File

@ -122,3 +122,9 @@ doc: Read/Write |AO| one-electron integrals from/to disk [ Write | Read | None ]
interface: ezfio,provider,ocaml interface: ezfio,provider,ocaml
default: None 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

View File

@ -14,9 +14,6 @@
ELSE ELSE
ao_one_e_integrals = ao_integrals_n_e + ao_kinetic_integrals ao_one_e_integrals = ao_integrals_n_e + ao_kinetic_integrals
IF (DO_PSEUDO) THEN
ao_one_e_integrals += ao_pseudo_integrals
ENDIF
ENDIF ENDIF
DO j = 1, ao_num DO j = 1, ao_num

View File

@ -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),& call get_pseudo_inverse(ao_cart_to_sphe_coef,size(ao_cart_to_sphe_coef,1),&
ao_num,ao_cart_to_sphe_num, & 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 END_PROVIDER
@ -107,16 +107,13 @@ END_PROVIDER
ao_ortho_canonical_coef(i,i) = 1.d0 ao_ortho_canonical_coef(i,i) = 1.d0
enddo enddo
!call ortho_lowdin(ao_overlap,size(ao_overlap,1),ao_num,ao_ortho_canonical_coef,size(ao_ortho_canonical_coef,1),ao_num) call write_double(6, lin_dep_cutoff, "Linear dependencies cut-off")
!ao_ortho_canonical_num=ao_num
!return
if (ao_cartesian) then if (ao_cartesian) then
ao_ortho_canonical_num = ao_num ao_ortho_canonical_num = ao_num
call ortho_canonical(ao_overlap,size(ao_overlap,1), & call ortho_canonical(ao_overlap,size(ao_overlap,1), &
ao_num,ao_ortho_canonical_coef,size(ao_ortho_canonical_coef,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 else
@ -131,7 +128,7 @@ END_PROVIDER
ao_ortho_canonical_num = ao_cart_to_sphe_num ao_ortho_canonical_num = ao_cart_to_sphe_num
call ortho_canonical(ao_cart_to_sphe_overlap, size(ao_cart_to_sphe_overlap,1), & 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, & 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), & ao_cart_to_sphe_coef, size(ao_cart_to_sphe_coef,1), &

View File

@ -68,7 +68,7 @@ END_PROVIDER
ao_ortho_canonical_num_complex = ao_num ao_ortho_canonical_num_complex = ao_num
call ortho_canonical_complex(ao_overlap,size(ao_overlap,1), & 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_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 else
@ -83,7 +83,7 @@ END_PROVIDER
ao_ortho_canonical_num_complex = ao_cart_to_sphe_num 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), & 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), & 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), & ao_cart_to_sphe_coef_complex, size(ao_cart_to_sphe_coef_complex,1), &

View File

@ -135,7 +135,7 @@ END_PROVIDER
do k=1,kpt_num do k=1,kpt_num
call ortho_canonical_complex(ao_overlap_kpts(:,:,k),size(ao_overlap_kpts,1), & 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_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 enddo
@ -152,7 +152,7 @@ END_PROVIDER
ao_ortho_canonical_num_per_kpt(k) = ao_cart_to_sphe_num_per_kpt 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), & 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), & 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), & ao_cart_to_sphe_coef_kpts, size(ao_cart_to_sphe_coef_kpts,1), &

View File

@ -197,7 +197,8 @@ BEGIN_PROVIDER [ double precision, S_inv,(ao_num,ao_num) ]
BEGIN_DOC BEGIN_DOC
! Inverse of the overlap matrix ! Inverse of the overlap matrix
END_DOC 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 END_PROVIDER
BEGIN_PROVIDER [ complex*16, S_inv_complex,(ao_num,ao_num) ] BEGIN_PROVIDER [ complex*16, S_inv_complex,(ao_num,ao_num) ]
@ -205,8 +206,8 @@ BEGIN_PROVIDER [ complex*16, S_inv_complex,(ao_num,ao_num) ]
BEGIN_DOC BEGIN_DOC
! Inverse of the overlap matrix ! Inverse of the overlap matrix
END_DOC END_DOC
call get_pseudo_inverse_complex(ao_overlap_complex, & call get_pseudo_inverse_complex(ao_overlap_complex, size(ao_overlap_complex,1),&
size(ao_overlap_complex,1),ao_num,ao_num,S_inv_complex,size(S_inv_complex,1)) ao_num,ao_num,S_inv_complex,size(S_inv_complex,1),lin_dep_cutoff)
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ complex*16, S_inv_kpts,(ao_num_per_kpt,ao_num_per_kpt,kpt_num) ] BEGIN_PROVIDER [ complex*16, S_inv_kpts,(ao_num_per_kpt,ao_num_per_kpt,kpt_num) ]
@ -217,7 +218,7 @@ BEGIN_PROVIDER [ complex*16, S_inv_kpts,(ao_num_per_kpt,ao_num_per_kpt,kpt_num)
integer :: k integer :: k
do k=1,kpt_num do k=1,kpt_num
call get_pseudo_inverse_complex(ao_overlap_kpts(1,1,k), & 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 enddo
END_PROVIDER END_PROVIDER

View File

@ -3,6 +3,8 @@ BEGIN_PROVIDER [ double precision, ao_integrals_n_e, (ao_num,ao_num)]
! Nucleus-electron interaction, in the |AO| basis set. ! Nucleus-electron interaction, in the |AO| basis set.
! !
! :math:`\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle` ! :math:`\langle \chi_i | -\sum_A \frac{1}{|r-R_A|} | \chi_j \rangle`
!
! These integrals also contain the pseudopotential integrals.
END_DOC END_DOC
implicit none implicit none
double precision :: alpha, beta, gama, delta double precision :: alpha, beta, gama, delta
@ -75,7 +77,13 @@ BEGIN_PROVIDER [ double precision, ao_integrals_n_e, (ao_num,ao_num)]
!$OMP END DO !$OMP END DO
!$OMP END PARALLEL !$OMP END PARALLEL
IF (DO_PSEUDO) THEN
ao_integrals_n_e += ao_pseudo_integrals
ENDIF
endif endif
if (write_ao_integrals_n_e) then if (write_ao_integrals_n_e) then
call ezfio_set_ao_one_e_ints_ao_integrals_n_e(ao_integrals_n_e) call ezfio_set_ao_one_e_ints_ao_integrals_n_e(ao_integrals_n_e)
print *, 'AO N-e integrals written to disk' print *, 'AO N-e integrals written to disk'

View File

@ -238,9 +238,6 @@ ntotB=n_b(1)+n_b(2)+n_b(3)
ntot=ntotA+ntotB ntot=ntotA+ntotB
nkl_max=4 nkl_max=4
!=!=!=!=!=!=!=!=!=!
! A l l o c a t e !
!=!=!=!=!=!=!=!=!=!
allocate (array_coefs_A(0:ntot,3)) allocate (array_coefs_A(0:ntot,3))
allocate (array_coefs_B(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 if(ac.eq.0.d0.and.bc.eq.0.d0)then
!=!=!=!=!=!
! I n i t !
!=!=!=!=!=!
accu=0.d0 accu=0.d0
!=!=!=!=!=!=!=!
! c a l c u l !
!=!=!=!=!=!=!=!
do k=1,kmax do k=1,kmax
do l=0,lmax do l=0,lmax
ktot=ntot+n_kl(k,l) ktot=ntot+n_kl(k,l)
@ -278,18 +267,10 @@ if(ac.eq.0.d0.and.bc.eq.0.d0)then
enddo enddo
enddo enddo
!=!=!=!=!
! E n d !
!=!=!=!=!
Vpseudo=accu*fourpi Vpseudo=accu*fourpi
else if(ac.ne.0.d0.and.bc.ne.0.d0)then else if(ac.ne.0.d0.and.bc.ne.0.d0)then
!=!=!=!=!=!
! I n i t !
!=!=!=!=!=!
f=fourpi*fourpi f=fourpi*fourpi
theta_AC0=dacos( (a(3)-c(3))/ac ) 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) array_coefs_B(k3p,3) = binom_func(n_b(3),k3p)*(c(3)-b(3))**(n_b(3)-k3p)
enddo enddo
!=!=!=!=!=!=!=!
! c a l c u l !
!=!=!=!=!=!=!=!
accu=0.d0 accu=0.d0
do l=0,lmax do l=0,lmax
do m=-l,l do m=-l,l
@ -408,18 +385,10 @@ else if(ac.ne.0.d0.and.bc.ne.0.d0)then
enddo enddo
enddo enddo
!=!=!=!=!
! E n d !
!=!=!=!=!
Vpseudo=f*accu Vpseudo=f*accu
else if(ac.eq.0.d0.and.bc.ne.0.d0)then else if(ac.eq.0.d0.and.bc.ne.0.d0)then
!=!=!=!=!=!
! I n i t !
!=!=!=!=!=!
f=fourpi**1.5d0 f=fourpi**1.5d0
theta_BC0=dacos( (b(3)-c(3))/bc ) theta_BC0=dacos( (b(3)-c(3))/bc )
phi_BC0=datan2((b(2)-c(2))/bc,(b(1)-c(1))/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) array_coefs_B(k3p,3) = binom_func(n_b(3),k3p)*(c(3)-b(3))**(n_b(3)-k3p)
enddo enddo
!=!=!=!=!=!=!=!
! c a l c u l !
!=!=!=!=!=!=!=!
accu=0.d0 accu=0.d0
do l=0,lmax do l=0,lmax
do m=-l,l do m=-l,l
@ -498,18 +463,10 @@ else if(ac.eq.0.d0.and.bc.ne.0.d0)then
enddo enddo
enddo enddo
!=!=!=!=!
! E n d !
!=!=!=!=!
Vpseudo=f*accu Vpseudo=f*accu
else if(ac.ne.0.d0.and.bc.eq.0.d0)then else if(ac.ne.0.d0.and.bc.eq.0.d0)then
!=!=!=!=!=!
! I n i t !
!=!=!=!=!=!
f=fourpi**1.5d0 f=fourpi**1.5d0
theta_AC0=dacos( (a(3)-c(3))/ac ) theta_AC0=dacos( (a(3)-c(3))/ac )
phi_AC0=datan2((a(2)-c(2))/ac,(a(1)-c(1))/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) array_coefs_A(k3,3) = binom_func(n_a(3),k3)*(c(3)-a(3))**(n_a(3)-k3)
enddo enddo
!=!=!=!=!=!=!=!
! c a l c u l !
!=!=!=!=!=!=!=!
accu=0.d0 accu=0.d0
do l=0,lmax do l=0,lmax
do m=-l,l do m=-l,l
@ -587,10 +540,6 @@ else if(ac.ne.0.d0.and.bc.eq.0.d0)then
enddo enddo
enddo enddo
!=!=!=!=!
! E n d !
!=!=!=!=!
Vpseudo=f*accu Vpseudo=f*accu
endif endif
@ -1885,7 +1834,7 @@ double precision function int_prod_bessel(l,gam,n,m,a,b,arg)
pi=dacos(-1.d0) pi=dacos(-1.d0)
a_over_b_square = (a/b)**2 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)) term_a =dble_fact(nlm-1) / (dble_fact(n_1)*dble_fact(m_1))
expo=0.5d0*dfloat(nlm+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) s_0_0=term_rap*a**(n)*b**(m)
if(mod(nlm,2).eq.0)s_0_0=s_0_0*dsqrt(pi*.5d0) 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 s_q_0 = s_0_0
@ -1914,6 +1863,10 @@ double precision function int_prod_bessel(l,gam,n,m,a,b,arg)
two_qkmp1 = 2.d0*(qk+mk)+1.d0 two_qkmp1 = 2.d0*(qk+mk)+1.d0
do k=0,q-1 do k=0,q-1
s_q_k = two_qkmp1*qk*inverses(k)*s_q_k 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 sum=sum+s_q_k
two_qkmp1 = two_qkmp1-2.d0 two_qkmp1 = two_qkmp1-2.d0
qk = qk-1.d0 qk = qk-1.d0

View File

@ -0,0 +1,13 @@
logical function ao_one_e_integral_zero(i,k)
implicit none
integer, intent(in) :: i,k
ao_one_e_integral_zero = .False.
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
endif
endif
end

View File

@ -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 type(map_type), intent(inout) :: map
integer :: ii integer :: ii
real(integral_kind) :: tmp 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 PROVIDE ao_two_e_integrals_erf_in_map ao_integrals_erf_cache ao_integrals_erf_cache_min
!DIR$ FORCEINLINE !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)) then
tmp = 0.d0 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 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 tmp = 0.d0
@ -127,10 +128,11 @@ subroutine get_ao_two_e_integrals_erf(j,k,l,sze,out_val)
integer :: i integer :: i
integer(key_kind) :: hash integer(key_kind) :: hash
double precision :: thresh double precision :: thresh
logical, external :: ao_one_e_integral_zero
PROVIDE ao_two_e_integrals_erf_in_map ao_integrals_erf_map PROVIDE ao_two_e_integrals_erf_in_map ao_integrals_erf_map
thresh = ao_integrals_threshold 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 out_val = 0.d0
return return
endif 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 :: i
integer(key_kind) :: hash integer(key_kind) :: hash
double precision :: thresh,tmp double precision :: thresh,tmp
logical, external :: ao_one_e_integral_zero
PROVIDE ao_two_e_integrals_erf_in_map PROVIDE ao_two_e_integrals_erf_in_map
thresh = ao_integrals_threshold thresh = ao_integrals_threshold
non_zero_int = 0 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 out_val = 0.d0
return return
endif endif

View File

@ -291,8 +291,10 @@ subroutine compute_ao_two_e_integrals_erf(j,k,l,sze,buffer_value)
double precision :: ao_two_e_integral_erf double precision :: ao_two_e_integral_erf
integer :: i 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 buffer_value = 0._integral_kind
return return
endif endif
@ -302,7 +304,7 @@ subroutine compute_ao_two_e_integrals_erf(j,k,l,sze,buffer_value)
endif endif
do i = 1, ao_num 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 buffer_value(i) = 0._integral_kind
cycle cycle
endif 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 :: integral, wall_0
double precision :: thr double precision :: thr
integer :: kk, m, j1, i1 integer :: kk, m, j1, i1
logical, external :: ao_two_e_integral_zero
thr = ao_integrals_threshold 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 if (i1 > j1) then
exit exit
endif 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 cycle
endif endif
if (ao_two_e_integral_erf_schwartz(i,k)*ao_two_e_integral_erf_schwartz(j,l) < thr ) then if (ao_two_e_integral_erf_schwartz(i,k)*ao_two_e_integral_erf_schwartz(j,l) < thr ) then

View File

@ -191,11 +191,10 @@ double precision function get_ao_two_e_integral(i,j,k,l,map) result(result)
type(map_type), intent(inout) :: map type(map_type), intent(inout) :: map
integer :: ii integer :: ii
real(integral_kind) :: tmp 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 PROVIDE ao_two_e_integrals_in_map ao_integrals_cache ao_integrals_cache_min
!DIR$ FORCEINLINE !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)) then
tmp = 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 tmp = 0.d0
else else
ii = l-ao_integrals_cache_min ii = l-ao_integrals_cache_min
@ -218,6 +217,113 @@ double precision function get_ao_two_e_integral(i,j,k,l,map) result(result)
result = tmp result = tmp
end 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
!
!
! !$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
subroutine get_ao_two_e_integrals(j,k,l,sze,out_val) subroutine get_ao_two_e_integrals(j,k,l,sze,out_val)
use map_module use map_module
BEGIN_DOC BEGIN_DOC
@ -231,11 +337,10 @@ subroutine get_ao_two_e_integrals(j,k,l,sze,out_val)
integer :: i integer :: i
integer(key_kind) :: hash integer(key_kind) :: hash
double precision :: thresh logical, external :: ao_one_e_integral_zero
PROVIDE ao_two_e_integrals_in_map ao_integrals_map 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 out_val = 0.d0
return return
endif endif
@ -248,6 +353,33 @@ subroutine get_ao_two_e_integrals(j,k,l,sze,out_val)
end 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 : <ij|kl>
! 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) subroutine get_ao_two_e_integrals_non_zero(j,k,l,sze,out_val,out_val_index,non_zero_int)
use map_module use map_module
@ -262,16 +394,17 @@ subroutine get_ao_two_e_integrals_non_zero(j,k,l,sze,out_val,out_val_index,non_z
integer :: i integer :: i
integer(key_kind) :: hash 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
if(is_complex) then if(is_complex) then
print*,'not implemented for periodic:',irp_here print*,'not implemented for periodic:',irp_here
stop -1 stop -1
endif endif
PROVIDE ao_two_e_integrals_in_map PROVIDE ao_two_e_integrals_in_map
thresh = ao_integrals_threshold
non_zero_int = 0 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 out_val = 0.d0
return return
endif endif
@ -281,12 +414,12 @@ subroutine get_ao_two_e_integrals_non_zero(j,k,l,sze,out_val,out_val_index,non_z
integer, external :: ao_l4 integer, external :: ao_l4
double precision, external :: ao_two_e_integral double precision, external :: ao_two_e_integral
!DIR$ FORCEINLINE !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 cycle
endif endif
call two_e_integrals_index(i,j,k,l,hash) call two_e_integrals_index(i,j,k,l,hash)
call map_get(ao_integrals_map, hash,tmp) 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 non_zero_int = non_zero_int+1
out_val_index(non_zero_int) = i out_val_index(non_zero_int) = i
out_val(non_zero_int) = tmp out_val(non_zero_int) = tmp
@ -310,6 +443,8 @@ subroutine get_ao_two_e_integrals_non_zero_jl(j,l,thresh,sze_max,sze,out_val,out
integer :: i,k integer :: i,k
integer(key_kind) :: hash integer(key_kind) :: hash
double precision :: tmp double precision :: tmp
logical, external :: ao_one_e_integral_zero
logical, external :: ao_two_e_integral_zero
if(is_complex) then if(is_complex) then
print*,'not implemented for periodic:',irp_here print*,'not implemented for periodic:',irp_here
@ -317,7 +452,7 @@ subroutine get_ao_two_e_integrals_non_zero_jl(j,l,thresh,sze_max,sze,out_val,out
endif endif
PROVIDE ao_two_e_integrals_in_map PROVIDE ao_two_e_integrals_in_map
non_zero_int = 0 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 out_val = 0.d0
return return
endif endif
@ -328,7 +463,7 @@ subroutine get_ao_two_e_integrals_non_zero_jl(j,l,thresh,sze_max,sze,out_val,out
integer, external :: ao_l4 integer, external :: ao_l4
double precision, external :: ao_two_e_integral double precision, external :: ao_two_e_integral
!DIR$ FORCEINLINE !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 cycle
endif endif
call two_e_integrals_index(i,j,k,l,hash) call two_e_integrals_index(i,j,k,l,hash)
@ -360,6 +495,8 @@ subroutine get_ao_two_e_integrals_non_zero_jl_from_list(j,l,thresh,list,n_list,s
integer :: i,k integer :: i,k
integer(key_kind) :: hash integer(key_kind) :: hash
double precision :: tmp double precision :: tmp
logical, external :: ao_one_e_integral_zero
logical, external :: ao_two_e_integral_zero
if(is_complex) then if(is_complex) then
print*,'not implemented for periodic:',irp_here print*,'not implemented for periodic:',irp_here
@ -367,7 +504,7 @@ subroutine get_ao_two_e_integrals_non_zero_jl_from_list(j,l,thresh,list,n_list,s
endif endif
PROVIDE ao_two_e_integrals_in_map PROVIDE ao_two_e_integrals_in_map
non_zero_int = 0 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 out_val = 0.d0
return return
endif endif
@ -380,7 +517,7 @@ subroutine get_ao_two_e_integrals_non_zero_jl_from_list(j,l,thresh,list,n_list,s
integer, external :: ao_l4 integer, external :: ao_l4
double precision, external :: ao_two_e_integral double precision, external :: ao_two_e_integral
!DIR$ FORCEINLINE !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 cycle
endif endif
call two_e_integrals_index(i,j,k,l,hash) call two_e_integrals_index(i,j,k,l,hash)

Some files were not shown because too many files have changed in this diff Show More