10
0
mirror of https://github.com/LCPQ/quantum_package synced 2024-11-18 12:03:57 +01:00

Merge pull request #7 from LCPQ/master

update
This commit is contained in:
garniron 2016-01-29 15:07:05 +01:00
commit 83c38c4a55
147 changed files with 69129 additions and 1380 deletions

View File

@ -22,12 +22,9 @@ language: python
python: python:
- "2.6" - "2.6"
script: script:
- ./configure --production ./config/gfortran.cfg - ./configure --production ./config/gfortran.cfg
- source ./quantum_package.rc - source ./quantum_package.rc ; qp_module.py install Full_CI Hartree_Fock CAS_SD MRCC_CASSD
- qp_install_module.py install Full_CI Hartree_Fock CAS_SD MRCC_CASSD - source ./quantum_package.rc ; ninja
- ninja - source ./quantum_package.rc ; cd ocaml ; make ; cd -
- cd ocaml ; make ; cd - - source ./quantum_package.rc ; cd tests ; bats bats/qp.bats
- cd testing_no_regression ; ./unit_test.py

108
README.md
View File

@ -9,15 +9,19 @@ Quantum package
Set of quantum chemistry programs and libraries. Set of quantum chemistry programs and libraries.
(under GNU GENERAL PUBLIC LICENSE v2) (under GNU GENERAL PUBLIC LICENSE v2)
For more information, you can visit the [wiki of the project](http://github.com/LCPQ/quantum_package/wiki>), or bellow for the installation instruction. For more information, you can visit the [wiki of the project](http://github.com/LCPQ/quantum_package/wiki>), or below for the installation instructions.
# Installation # Installation
## Requirements ## Requirements
* Fortran compiler (`ifort` and `gfortran` are tested) * Fortran compiler (`ifort` and `gfortran` are tested)
* Python >= 2.6 * Python >= 2.6
* GNU make * GNU make
* Bash * Bash
* Blast/Lapack
* unzip
* g++ (For ninja)
## Standard installation ## Standard installation
@ -27,95 +31,55 @@ For more information, you can visit the [wiki of the project](http://github.com/
For example you can type `./configure config/gfortran.cfg --production` For example you can type `./configure config/gfortran.cfg --production`
This command have to purpose : This command has two purposes :
- Download and install all the requirements. - Download and install all the requirements.
Installing OCaml and the Core library may take some time (up to 20min on an old machine). Installing OCaml and the Core library may take some time (up to 20min on an old machine).
- And create the file which contains all the tree dependencies for the binaries. - Create the file which contains all the dependencies for the binaries.
It's not a Makefile, but a Ninja file (so don't type `make` is hopeless, type `ninja` instead) It's not a Makefile, but a Ninja file (so don't type `make` is hopeless, type `ninja` instead)
####Compilation Flags (`<config_file>`) ####Compilation Flags (`<config_file>`)
`<config_file>` is the path to the file who contain all the flags useful for the compilation: like the optimization flags, the Lapack libary, etc. We have two default configure file in ``$QP_ROOT/config`` : ``ifort.cfg`` and ``gfortran.cfg``. You can edit these files to modify the compiling options. `<config_file>` is the path to the file which contains all the compilation flags (optimization flags, Lapack libary, etc). There are two example configure files in ``$QP_ROOT/config`` : ``ifort.cfg`` and ``gfortran.cfg``. You can copy these files to create a new file adapted to your architecture.
#### What utilization of the code will you do? #### What utilization of the code will you do?
* If you only want the binaries (for production workflow) use the flag * If you only want the binaries (for production workflow) use the flag
`--production` in when calling this script. It's quicker `--production`. It compiles faster.
* Else if you are a developer and you want to be able to compile specific modules use: `--development`. It will create for you the `build.ninja` in each module * Else if you are a developer and you want to be able to compile specific modules use: `--development`. It will create the `build.ninja` in each module.
### 2) Set environment variable ### 2) Load environment variables
source quantum_package.rc source quantum_package.rc
This file contains all the environment variables needed by the quantum package both to compile and run. This should also be done before running calculations. This file contains all the environment variables needed by the quantum package both to compile and run. This should also be done before running calculations.
### Optional) Add some new module ### Optional) Add some modules
Usage: qp_install_module.py list (--installed|--avalaible-local|--avalaible-remote) Usage: qp_module.py list (--installed|--avalaible-local|--avalaible-remote)
qp_install_module.py install <name>... qp_module.py install <name>...
qp_install_module.py create -n <name> [<children_module>...] qp_module.py create -n <name> [<children_module>...]
qp_install_module.py download -n <name> [<path_folder>...] qp_module.py download -n <name> [<path_folder>...]
For exemple you can type : For exemple you can type :
`qp_install_module.py install Full_CI` `qp_module.py install Full_CI`
### 3) Compiling the fortran ### 3) Compiling the Fortran
ninja Just type `ninja` if you are in `$QP_ROOT` (or `ninja -f $QP_ROOT/build.ninja` elsewhere). The compilation will take approximately 3 min.
Just type `ninja` if you are in `$QP_ROOT` (or `ninja -f $QP_ROOT/build.ninja`
elsewhere). The compilation will take approximately 3 min.
If you have set the `--developement` flag in a specific module you can go in If you have set the `--developement` flag you can go in any module directory and run `ninja` to build only this particular module. You can type `ninja all` in a module to compile all the submodules.
the corresponding module directory and run `ninja` to build only this module.
You can type `ninja all` in a module for compiling all the submodule
### 4) Compiling the OCaml ### 4) Compiling the OCaml
cd ocaml ; make ; cd - make -C ocaml
### 5) Testing if all is ok ### 5) Testing if all is ok
cd testing_no_regression ; ./unit_test.py cd tests ; bats bats/qp.bats
## Installing behind a firewall !
1) Download `tsocks`:
wget http://sourceforge.net/projects/tsocks/files/latest/download
mv download tsocks.tar.gz
2) Tranfer `tsocks.tar.gz` on the remote host
3) Configure `tsocks` with the proper directory for the `tsocks.conf` file:
tar -zxvf tsocks.tar.gz
cd tsocks-*
./configure --with-conf=${PWD}/tsocks.conf
4) Create the `tsocks.conf` file with the following content:
server = 127.0.0.1
server_port = 10000
5) Create the tsocks library:
make
6) Add the `libtsocks.so` to the `LD_PRELOAD` environment variable:
export LD_PRELOAD="${PWD}/libtsocks.so.1.8"
7) Create a custom curl command to set the tsocks option: open a file named
`curl`, which is accessible from your `PATH` environment variable before the
real `curl` command, and fill this file with:
#!/bin/bash
/usr/bin/curl --socks5 127.0.0.1:10000 $@
8) Start a tsocks ssh tunnel:
ssh -fN -D 10000 user@external-server.com
# Note on EZFIO.cfg # Note on EZFIO.cfg
@ -125,24 +89,24 @@ You can type `ninja all` in a module for compiling all the submodule
Required: Required:
[<provider_name>] The name of the provider in irp.f90 and in the EZFIO lib [<provider_name>] The name of the provider in irp.f90 and in the EZFIO lib
doc:<str> The plain text documentation doc:<str> The plain text documentation
type:<str> A Fancy_type supported by the ocaml. type:<str> A type supported by the OCaml.
type `ei_handler.py get_supported_type` for a list type `ei_handler.py get_supported_type` for a list
interface:<str> The interface is list of string sepeared by "," who can containt : interface:<str> The interface is a list of strings sepeared by "," which can contain :
- ezfio (if you only whant the ezfiolib) - ezfio : to build the EZFIO API
- provider (if you want the provider) - provider : to build the corresponding providers
- ocaml (if you want the ocaml gestion) - ocaml : to build the corresponding bindings in OCaml
Optional: Optional:
default: <str> The default value needed, default: <str> The default value,
if 'ocaml' is in interface list. needed if 'ocaml' is in interface list.
! No list is allowed for now ! ! No list is allowed for now !
size: <str> The size information. size: <str> The size information.
(by default is one) (by default is one)
Example : 1, =sum(ao_num); (ao_num,3) Example : 1; =sum(ao_num); (ao_num,3)
ATTENTION : The module and the value are separed by a "." not a "_". WARNING : The module and the value are separed by a "." not a "_".
For exemple (determinants.n_det) For example (determinants.n_det)
ezfio_name: <str> The name for the EZFIO lib ezfio_name: <str> The name in the EZFIO API
(by default is <provider_name>) (by default is <provider_name>)
ezfio_dir: <str> Will be the folder of EZFIO. ezfio_dir: <str> Will be the directory of EZFIO.
(by default is <module_lower>) (by default is <module_lower>)
``` ```
@ -168,7 +132,7 @@ interface: ezfio
#### Why ? #### Why ?
You have two or more ezfio configuration file for the same variable. Check in `$QP_ROOT/install/config/` You have two or more ezfio configuration files for the same variable. Check files in `$QP_ROOT/install/EZFIO/config/`
#### Fix #### Fix

View File

@ -10,7 +10,7 @@
# #
# #
[COMMON] [COMMON]
FC : gfortran -mavx -g -ffree-line-length-none -I . -static-libgcc FC : gfortran -g -ffree-line-length-none -I . -static-libgcc
LAPACK_LIB : -llapack -lblas LAPACK_LIB : -llapack -lblas
IRPF90 : irpf90 IRPF90 : irpf90
IRPF90_FLAGS : --ninja --align=32 IRPF90_FLAGS : --ninja --align=32
@ -35,7 +35,7 @@ OPENMP : 1 ; Append OpenMP flags
# -ffast-math and the Fortran-specific # -ffast-math and the Fortran-specific
# -fno-protect-parens and -fstack-arrays. # -fno-protect-parens and -fstack-arrays.
[OPT] [OPT]
FCFLAGS : -Ofast FCFLAGS : -Ofast -march=native
# Profiling flags # Profiling flags
################# #################

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 -opt-prefetch -ftz -g FCFLAGS : -xHost -O2 -ip -ftz -g
# Profiling flags # Profiling flags
################# #################
# #
[PROFILE] [PROFILE]
FC : -p -g FC : -p -g
FCFLAGS : -xSSE4.2 -O2 -ip -opt-prefetch -ftz FCFLAGS : -xSSE4.2 -O2 -ip -ftz
# Debugging flags # Debugging flags
################# #################
@ -52,6 +52,7 @@ FCFLAGS : -xSSE4.2 -O2 -ip -opt-prefetch -ftz
[DEBUG] [DEBUG]
FC : -g -traceback FC : -g -traceback
FCFLAGS : -xSSE2 -C -fpe0 FCFLAGS : -xSSE2 -C -fpe0
IRPF90_FLAGS : --openmp
# OpenMP flags # OpenMP flags
################# #################

38
configure vendored
View File

@ -26,6 +26,8 @@ Examples:
""" """
OK="✓"
FAIL="✗"
import subprocess import subprocess
import os import os
import sys import sys
@ -52,7 +54,7 @@ QP_ROOT_INSTALL = join(QP_ROOT, "install")
os.environ["PATH"] = os.environ["PATH"] + ":" + QP_ROOT_BIN os.environ["PATH"] = os.environ["PATH"] + ":" + QP_ROOT_BIN
d_dependency = { d_dependency = {
"ocaml": ["m4", "curl", "zlib", "patch", "gcc"], "ocaml": ["m4", "curl", "zlib", "patch", "gcc", "zeromq"],
"m4": ["make"], "m4": ["make"],
"curl": ["make"], "curl": ["make"],
"zlib": ["gcc", "make"], "zlib": ["gcc", "make"],
@ -69,7 +71,8 @@ d_dependency = {
"python": [], "python": [],
"ninja": ["g++", "python"], "ninja": ["g++", "python"],
"make": [], "make": [],
"p_graphviz": ["python"] "p_graphviz": ["python"],
"bats": []
} }
from collections import namedtuple from collections import namedtuple
@ -134,25 +137,31 @@ ezfio = Info(
default_path=join(QP_ROOT_INSTALL, "EZFIO")) default_path=join(QP_ROOT_INSTALL, "EZFIO"))
zeromq = Info( zeromq = Info(
url='http://download.zeromq.org/zeromq-4.1.3.tar.gz', url='http://download.zeromq.org/zeromq-4.0.7.tar.gz',
description=' ZeroMQ', description=' ZeroMQ',
default_path=join(QP_ROOT_LIB, "libzmq.a")) default_path=join(QP_ROOT_LIB, "libzmq.a"))
f77zmq = Info( f77zmq = Info(
url='{head}/zeromq/f77_zmq/{tail}'.format(**path_github), url='{head}/zeromq/f77_zmq/{tail}'.format(**path_github),
description=' F77-ZeroMQ', description=' F77-ZeroMQ',
default_path=join(QP_ROOT_LIB, "libf77zmq.a")) default_path=join(QP_ROOT_LIB, "libf77zmq.a") + " " + \
join(QP_ROOT, "src", "ZMQ", "f77zmq.h") )
p_graphviz = Info( p_graphviz = Info(
url='https://github.com/xflr6/graphviz/archive/master.tar.gz', url='https://github.com/xflr6/graphviz/archive/master.tar.gz',
description=' Python library for graphviz', description=' Python library for graphviz',
default_path=join(QP_ROOT_INSTALL, "p_graphviz")) default_path=join(QP_ROOT_INSTALL, "p_graphviz"))
bats = Info(
url='https://github.com/sstephenson/bats/archive/master.tar.gz',
description=' Bash Automated Testing System',
default_path=join(QP_ROOT_INSTALL, "bats"))
d_info = dict() d_info = dict()
for m in ["ocaml", "m4", "curl", "zlib", "patch", "irpf90", "docopt", for m in ["ocaml", "m4", "curl", "zlib", "patch", "irpf90", "docopt",
"resultsFile", "ninja", "emsl", "ezfio", "p_graphviz", "resultsFile", "ninja", "emsl", "ezfio", "p_graphviz",
"zeromq", "f77zmq" ]: "zeromq", "f77zmq","bats" ]:
exec ("d_info['{0}']={0}".format(m)) exec ("d_info['{0}']={0}".format(m))
@ -281,10 +290,10 @@ def checking(d_dependency):
r = check_availability(i) r = check_availability(i)
if r: if r:
print "[ OK ] ( {0} )".format(r.strip()) print OK+" ( {0} )".format(r.strip())
l_installed[i] = r.strip() l_installed[i] = r.strip()
else: else:
print "[ FAIL ]" print FAIL
l_needed.append(i) l_needed.append(i)
print "" print ""
@ -366,7 +375,7 @@ _|_ | | _> |_ (_| | | (_| |_ | (_) | |
except: except:
raise raise
else: else:
print "[ OK ]" print OK
l_install_descendant.remove("ninja") l_install_descendant.remove("ninja")
@ -409,10 +418,10 @@ _|_ | | _> |_ (_| | | (_| |_ | (_) | |
with open(path, "w+") as f: with open(path, "w+") as f:
f.write("\n".join(l_string)) f.write("\n".join(l_string))
print " [ OK ] ({0})".format(path) print OK+" ({0})".format(path)
print str_info("install"), print str_info("install"),
print " [ Running ]" print "Running"
try: try:
path_ninja = find_path("ninja", l_installed) path_ninja = find_path("ninja", l_installed)
subprocess.check_call("cd install ;{0}".format(path_ninja), shell=True) subprocess.check_call("cd install ;{0}".format(path_ninja), shell=True)
@ -477,7 +486,7 @@ def create_ninja_and_rc(l_installed):
'export IRPF90={0}'.format(path_irpf90.replace(QP_ROOT,"${QP_ROOT}")), 'export IRPF90={0}'.format(path_irpf90.replace(QP_ROOT,"${QP_ROOT}")),
'export NINJA={0}'.format(path_ninja.replace(QP_ROOT,"${QP_ROOT}")), 'export NINJA={0}'.format(path_ninja.replace(QP_ROOT,"${QP_ROOT}")),
'export QP_PYTHON={0}'.format(":".join(l_python)), "", 'export QP_PYTHON={0}'.format(":".join(l_python)), "",
'export PYTHONPATH="${QP_EZFIO}":"${QP_PYTHON}":"${PYTHONPATH}"', 'export PYTHONPATH="${QP_EZFIO}/Python":"${QP_PYTHON}":"${PYTHONPATH}"',
'export PATH="${QP_PYTHON}":"${QP_ROOT}"/bin:"${QP_ROOT}"/ocaml:"${PATH}"', 'export PATH="${QP_PYTHON}":"${QP_ROOT}"/bin:"${QP_ROOT}"/ocaml:"${PATH}"',
'export LD_LIBRARY_PATH="${QP_ROOT}"/lib:"${LD_LIBRARY_PATH}"', 'export LD_LIBRARY_PATH="${QP_ROOT}"/lib:"${LD_LIBRARY_PATH}"',
'export LIBRARY_PATH="${QP_ROOT}"/lib:"${LIBRARY_PATH}"', "", 'export LIBRARY_PATH="${QP_ROOT}"/lib:"${LIBRARY_PATH}"', "",
@ -490,7 +499,7 @@ def create_ninja_and_rc(l_installed):
with open(path, "w+") as f: with open(path, "w+") as f:
f.write("\n".join(l_rc)) f.write("\n".join(l_rc))
print "[ OK ] ({0})".format(path) print OK+" ({0})".format(path)
command = ['bash', '-c', 'source {0} && env'.format(path)] command = ['bash', '-c', 'source {0} && env'.format(path)]
proc = subprocess.Popen(command, stdout=subprocess.PIPE) proc = subprocess.Popen(command, stdout=subprocess.PIPE)
@ -515,7 +524,7 @@ def create_ninja_and_rc(l_installed):
sys.exit(1) sys.exit(1)
else: else:
print "[ OK ]" print OK
def recommendation(): def recommendation():
@ -530,7 +539,8 @@ def recommendation():
print " ninja" print " ninja"
print " make -C ocaml" print " make -C ocaml"
print "" print ""
print "PS : For more info on compiling the code, read the COMPILE_RUN.md file." print "You can install more plugin with the qp_install command"
print "PS : For more info on compiling the code, read the README.md"
if __name__ == '__main__': if __name__ == '__main__':

View File

@ -4,3 +4,6 @@ Data
This directory contains all the data files needed for the Quantum Package. This directory contains all the data files needed for the Quantum Package.
The `basis` directory contains some of the most popular basis sets, and the
`pseudo` directory contains pseudopotential data.

707
data/basis/aug-cc-pcv5z Normal file
View File

@ -0,0 +1,707 @@
ALUMINUM
S 11
1 3269000.0000000 0.0000021
2 489400.0000000 0.0000166
3 111400.0000000 0.0000875
4 31560.0000000 0.0003690
5 10320.0000000 0.0013390
6 3731.0000000 0.0043564
7 1456.0000000 0.0128955
8 604.1000000 0.0348201
9 263.5000000 0.0843530
10 119.8000000 0.1759070
11 56.3200000 0.2920910
S 11
1 3269000.0000000 -0.0000006
2 489400.0000000 -0.0000043
3 111400.0000000 -0.0000227
4 31560.0000000 -0.0000960
5 10320.0000000 -0.0003484
6 3731.0000000 -0.0011384
7 1456.0000000 -0.0033874
8 604.1000000 -0.0093151
9 263.5000000 -0.0233023
10 119.8000000 -0.0523486
11 56.3200000 -0.0999499
S 1
1 27.1900000 1.0000000
S 1
1 13.2600000 1.0000000
S 1
1 6.0520000 1.0000000
S 1
1 2.9810000 1.0000000
S 1
1 1.4760000 1.0000000
S 1
1 0.7334000 1.0000000
S 1
1 0.2447000 1.0000000
S 1
1 0.1088000 1.0000000
S 1
1 0.0467200 1.0000000
S 1
1 0.0177000 1.0000000
P 3
1 1461.0000000 0.0002086
2 346.2000000 0.0018101
3 112.2000000 0.0097343
P 1
1 42.5100000 1.0000000
P 1
1 17.7200000 1.0000000
P 1
1 7.8520000 1.0000000
P 1
1 3.5710000 1.0000000
P 1
1 1.6370000 1.0000000
P 1
1 0.7382000 1.0000000
P 1
1 0.2577000 1.0000000
P 1
1 0.0977300 1.0000000
P 1
1 0.0369000 1.0000000
P 1
1 0.0115000 1.0000000
D 1
1 1.3170000 1.0000000
D 1
1 0.5260000 1.0000000
D 1
1 0.2100000 1.0000000
D 1
1 0.0840000 1.0000000
D 1
1 30.2400000 1.0000000
D 1
1 14.2490000 1.0000000
D 1
1 6.7142000 1.0000000
D 1
1 3.1630000 1.0000000
D 1
1 0.0294000 1.0000000
F 1
1 0.1300000 1.0000000
F 1
1 0.2580000 1.0000000
F 1
1 0.5130000 1.0000000
F 1
1 15.6410000 1.0000000
F 1
1 6.5270000 1.0000000
F 1
1 2.7240000 1.0000000
F 1
1 0.0509000 1.0000000
G 1
1 0.2520000 1.0000000
G 1
1 0.5430000 1.0000000
G 1
1 11.8300000 1.0000000
G 1
1 4.5020000 1.0000000
G 1
1 0.1069000 1.0000000
H 1
1 0.4460000 1.0000000
H 1
1 8.5080000 1.0000000
H 1
1 0.2270000 1.0000000
SILICON
S 11
1 3948000.0000000 0.0000020
2 591100.0000000 0.0000158
3 134500.0000000 0.0000834
4 38120.0000000 0.0003514
5 12460.0000000 0.0012766
6 4504.0000000 0.0041519
7 1758.0000000 0.0123030
8 729.1000000 0.0333102
9 318.0000000 0.0809845
10 144.6000000 0.1702900
11 67.9700000 0.2868790
S 11
1 3948000.0000000 -0.0000005
2 591100.0000000 -0.0000042
3 134500.0000000 -0.0000222
4 38120.0000000 -0.0000936
5 12460.0000000 -0.0003401
6 4504.0000000 -0.0011106
7 1758.0000000 -0.0033088
8 729.1000000 -0.0091160
9 318.0000000 -0.0228790
10 144.6000000 -0.0517119
11 67.9700000 -0.0999091
S 1
1 32.8200000 1.0000000
S 1
1 16.0300000 1.0000000
S 1
1 7.3960000 1.0000000
S 1
1 3.6610000 1.0000000
S 1
1 1.8230000 1.0000000
S 1
1 0.9147000 1.0000000
S 1
1 0.3393000 1.0000000
S 1
1 0.1500000 1.0000000
S 1
1 0.0643800 1.0000000
S 1
1 0.0260000 1.0000000
P 3
1 1780.0000000 0.0002012
2 421.8000000 0.0017494
3 136.7000000 0.0094814
P 1
1 51.8100000 1.0000000
P 1
1 21.6000000 1.0000000
P 1
1 9.5630000 1.0000000
P 1
1 4.3500000 1.0000000
P 1
1 2.0060000 1.0000000
P 1
1 0.9205000 1.0000000
P 1
1 0.3500000 1.0000000
P 1
1 0.1381000 1.0000000
P 1
1 0.0533800 1.0000000
P 1
1 0.0192000 1.0000000
D 1
1 0.1260000 1.0000000
D 1
1 0.3210000 1.0000000
D 1
1 0.8170000 1.0000000
D 1
1 2.0820000 1.0000000
D 1
1 39.9340000 1.0000000
D 1
1 19.4830000 1.0000000
D 1
1 9.5050000 1.0000000
D 1
1 4.6380000 1.0000000
D 1
1 0.0468000 1.0000000
F 1
1 0.1690000 1.0000000
F 1
1 0.3410000 1.0000000
F 1
1 0.6880000 1.0000000
F 1
1 18.9640000 1.0000000
F 1
1 7.9560000 1.0000000
F 1
1 3.3380000 1.0000000
F 1
1 0.0735000 1.0000000
G 1
1 0.3200000 1.0000000
G 1
1 0.7050000 1.0000000
G 1
1 14.5040000 1.0000000
G 1
1 5.5810000 1.0000000
G 1
1 0.1510000 1.0000000
H 1
1 0.5830000 1.0000000
H 1
1 10.5360000 1.0000000
H 1
1 0.3230000 1.0000000
PHOSPHORUS
S 11
1 4666000.0000000 0.0000020
2 698600.0000000 0.0000153
3 159000.0000000 0.0000805
4 45040.0000000 0.0003397
5 14720.0000000 0.0012329
6 5323.0000000 0.0040135
7 2076.0000000 0.0119124
8 861.1000000 0.0322511
9 375.7000000 0.0786643
10 170.8000000 0.1664580
11 80.2900000 0.2830390
S 11
1 4666000.0000000 -0.0000005
2 698600.0000000 -0.0000042
3 159000.0000000 -0.0000218
4 45040.0000000 -0.0000923
5 14720.0000000 -0.0003351
6 5323.0000000 -0.0010951
7 2076.0000000 -0.0032680
8 861.1000000 -0.0089995
9 375.7000000 -0.0226528
10 170.8000000 -0.0514650
11 80.2900000 -0.1001860
S 1
1 38.7700000 1.0000000
S 1
1 18.9300000 1.0000000
S 1
1 8.7960000 1.0000000
S 1
1 4.3580000 1.0000000
S 1
1 2.1740000 1.0000000
S 1
1 1.0950000 1.0000000
S 1
1 0.4400000 1.0000000
S 1
1 0.1945000 1.0000000
S 1
1 0.0837600 1.0000000
S 1
1 0.0335000 1.0000000
P 3
1 2010.0000000 0.0002159
2 476.3000000 0.0018754
3 154.4000000 0.0101742
P 1
1 58.5100000 1.0000000
P 1
1 24.4000000 1.0000000
P 1
1 10.8000000 1.0000000
P 1
1 4.9130000 1.0000000
P 1
1 2.2690000 1.0000000
P 1
1 1.0430000 1.0000000
P 1
1 0.4313000 1.0000000
P 1
1 0.1767000 1.0000000
P 1
1 0.0700900 1.0000000
P 1
1 0.0253000 1.0000000
D 1
1 0.1660000 1.0000000
D 1
1 0.4180000 1.0000000
D 1
1 1.0540000 1.0000000
D 1
1 2.6560000 1.0000000
D 1
1 48.4830000 1.0000000
D 1
1 23.8780000 1.0000000
D 1
1 11.7600000 1.0000000
D 1
1 5.7920000 1.0000000
D 1
1 0.0624000 1.0000000
F 1
1 0.2190000 1.0000000
F 1
1 0.4500000 1.0000000
F 1
1 0.9230000 1.0000000
F 1
1 22.9200000 1.0000000
F 1
1 9.6830000 1.0000000
F 1
1 4.0910000 1.0000000
F 1
1 0.0950000 1.0000000
G 1
1 0.4120000 1.0000000
G 1
1 0.9030000 1.0000000
G 1
1 17.3220000 1.0000000
G 1
1 6.7170000 1.0000000
G 1
1 0.1840000 1.0000000
H 1
1 0.7450000 1.0000000
H 1
1 12.8110000 1.0000000
H 1
1 0.3720000 1.0000000
SULFUR
S 11
1 5481000.0000000 0.0000019
2 820600.0000000 0.0000147
3 186700.0000000 0.0000775
4 52880.0000000 0.0003272
5 17250.0000000 0.0011937
6 6226.0000000 0.0038839
7 2429.0000000 0.0115336
8 1007.0000000 0.0312748
9 439.5000000 0.0764387
10 199.8000000 0.1627000
11 93.9200000 0.2793280
S 11
1 5481000.0000000 -0.0000005
2 820600.0000000 -0.0000041
3 186700.0000000 -0.0000214
4 52880.0000000 -0.0000905
5 17250.0000000 -0.0003301
6 6226.0000000 -0.0010778
7 2429.0000000 -0.0032187
8 1007.0000000 -0.0088722
9 439.5000000 -0.0223771
10 199.8000000 -0.0510577
11 93.9200000 -0.1002250
S 1
1 45.3400000 1.0000000
S 1
1 22.1500000 1.0000000
S 1
1 10.3400000 1.0000000
S 1
1 5.1190000 1.0000000
S 1
1 2.5530000 1.0000000
S 1
1 1.2820000 1.0000000
S 1
1 0.5450000 1.0000000
S 1
1 0.2411000 1.0000000
S 1
1 0.1035000 1.0000000
S 1
1 0.0420000 1.0000000
P 3
1 2200.0000000 0.0002390
2 521.4000000 0.0020769
3 169.0000000 0.0112363
P 1
1 64.0500000 1.0000000
P 1
1 26.7200000 1.0000000
P 1
1 11.8300000 1.0000000
P 1
1 5.3780000 1.0000000
P 1
1 2.4820000 1.0000000
P 1
1 1.1160000 1.0000000
P 1
1 0.4848000 1.0000000
P 1
1 0.2006000 1.0000000
P 1
1 0.0795100 1.0000000
P 1
1 0.0294000 1.0000000
D 1
1 0.2050000 1.0000000
D 1
1 0.5120000 1.0000000
D 1
1 1.2810000 1.0000000
D 1
1 3.2030000 1.0000000
D 1
1 56.6940000 1.0000000
D 1
1 28.0700000 1.0000000
D 1
1 13.8980000 1.0000000
D 1
1 6.8810000 1.0000000
D 1
1 0.0794000 1.0000000
F 1
1 0.2550000 1.0000000
F 1
1 0.5290000 1.0000000
F 1
1 1.0960000 1.0000000
F 1
1 26.3820000 1.0000000
F 1
1 11.0720000 1.0000000
F 1
1 4.6470000 1.0000000
F 1
1 0.1188000 1.0000000
G 1
1 0.4630000 1.0000000
G 1
1 1.0710000 1.0000000
G 1
1 20.3460000 1.0000000
G 1
1 7.9080000 1.0000000
G 1
1 0.2200000 1.0000000
H 1
1 0.8720000 1.0000000
H 1
1 15.3060000 1.0000000
H 1
1 0.4720000 1.0000000
CHLORINE
S 11
1 6410000.0000000 0.0000018
2 959600.0000000 0.0000141
3 218300.0000000 0.0000742
4 61810.0000000 0.0003141
5 20140.0000000 0.0011464
6 7264.0000000 0.0037389
7 2832.0000000 0.0110946
8 1175.0000000 0.0301152
9 512.6000000 0.0739145
10 233.0000000 0.1582580
11 109.5000000 0.2747530
S 11
1 6410000.0000000 -0.0000005
2 959600.0000000 -0.0000040
3 218300.0000000 -0.0000208
4 61810.0000000 -0.0000881
5 20140.0000000 -0.0003217
6 7264.0000000 -0.0010528
7 2832.0000000 -0.0031418
8 1175.0000000 -0.0086636
9 512.6000000 -0.0219353
10 233.0000000 -0.0502584
11 109.5000000 -0.0995414
S 1
1 52.8600000 1.0000000
S 1
1 25.8400000 1.0000000
S 1
1 12.1700000 1.0000000
S 1
1 6.0300000 1.0000000
S 1
1 3.0120000 1.0000000
S 1
1 1.5110000 1.0000000
S 1
1 0.6604000 1.0000000
S 1
1 0.2926000 1.0000000
S 1
1 0.1254000 1.0000000
S 1
1 0.0479000 1.0000000
P 3
1 2548.0000000 0.0002357
2 603.7000000 0.0020516
3 195.6000000 0.0111543
P 1
1 74.1500000 1.0000000
P 1
1 30.9400000 1.0000000
P 1
1 13.6900000 1.0000000
P 1
1 6.2290000 1.0000000
P 1
1 2.8780000 1.0000000
P 1
1 1.2820000 1.0000000
P 1
1 0.5641000 1.0000000
P 1
1 0.2348000 1.0000000
P 1
1 0.0931200 1.0000000
P 1
1 0.0348000 1.0000000
D 1
1 0.2500000 1.0000000
D 1
1 0.6180000 1.0000000
D 1
1 1.5290000 1.0000000
D 1
1 3.7810000 1.0000000
D 1
1 65.8370000 1.0000000
D 1
1 32.6870000 1.0000000
D 1
1 16.2280000 1.0000000
D 1
1 8.0570000 1.0000000
D 1
1 0.1003000 1.0000000
F 1
1 0.3200000 1.0000000
F 1
1 0.6560000 1.0000000
F 1
1 1.3450000 1.0000000
F 1
1 30.6910000 1.0000000
F 1
1 12.8840000 1.0000000
F 1
1 5.4090000 1.0000000
F 1
1 0.1640000 1.0000000
G 1
1 0.5560000 1.0000000
G 1
1 1.3020000 1.0000000
G 1
1 23.4460000 1.0000000
G 1
1 9.1210000 1.0000000
G 1
1 0.2770000 1.0000000
H 1
1 1.0530000 1.0000000
H 1
1 18.0660000 1.0000000
H 1
1 0.6070000 1.0000000
ARGON
S 11
1 7401000.0000000 0.0000018
2 1108000.0000000 0.0000136
3 252100.0000000 0.0000716
4 71380.0000000 0.0003030
5 23260.0000000 0.0011061
6 8390.0000000 0.0036067
7 3271.0000000 0.0107132
8 1357.0000000 0.0291068
9 592.0000000 0.0716601
10 269.1000000 0.1541405
11 126.5000000 0.2704171
S 11
1 7401000.0000000 -0.0000005
2 1108000.0000000 -0.0000039
3 252100.0000000 -0.0000203
4 71380.0000000 -0.0000861
5 23260.0000000 -0.0003144
6 8390.0000000 -0.0010284
7 3271.0000000 -0.0030727
8 1357.0000000 -0.0084753
9 592.0000000 -0.0215201
10 269.1000000 -0.0494493
11 126.5000000 -0.0987759
S 1
1 61.0300000 1.0000000
S 1
1 29.8600000 1.0000000
S 1
1 14.1700000 1.0000000
S 1
1 7.0220000 1.0000000
S 1
1 3.5110000 1.0000000
S 1
1 1.7580000 1.0000000
S 1
1 0.7841000 1.0000000
S 1
1 0.3480000 1.0000000
S 1
1 0.1491000 1.0000000
S 1
1 0.0538000 1.0000000
P 3
1 2927.0000000 0.0002320
2 693.5000000 0.0020233
3 224.7000000 0.0110340
P 1
1 85.1700000 1.0000000
P 1
1 35.5300000 1.0000000
P 1
1 15.7300000 1.0000000
P 1
1 7.1650000 1.0000000
P 1
1 3.3220000 1.0000000
P 1
1 1.4780000 1.0000000
P 1
1 0.6552000 1.0000000
P 1
1 0.2751000 1.0000000
P 1
1 0.1097000 1.0000000
P 1
1 0.0402000 1.0000000
D 1
1 0.3090000 1.0000000
D 1
1 0.7700000 1.0000000
D 1
1 1.9170000 1.0000000
D 1
1 4.7760000 1.0000000
D 1
1 76.8080000 1.0000000
D 1
1 38.7370000 1.0000000
D 1
1 19.5370000 1.0000000
D 1
1 9.8530000 1.0000000
D 1
1 0.1210000 1.0000000
F 1
1 0.4080000 1.0000000
F 1
1 0.8250000 1.0000000
F 1
1 1.6680000 1.0000000
F 1
1 35.8730000 1.0000000
F 1
1 15.1400000 1.0000000
F 1
1 6.3900000 1.0000000
F 1
1 0.2090000 1.0000000
G 1
1 0.6650000 1.0000000
G 1
1 1.5620000 1.0000000
G 1
1 26.5600000 1.0000000
G 1
1 10.3060000 1.0000000
G 1
1 0.3340000 1.0000000
H 1
1 1.2640000 1.0000000
H 1
1 21.1040000 1.0000000
H 1
1 0.7420000 1.0000000

895
data/basis/aug-cc-pcvdz Normal file
View File

@ -0,0 +1,895 @@
LITHIUM
S 8
1 1469.0000000 0.0007660
2 220.5000000 0.0058920
3 50.2600000 0.0296710
4 14.2400000 0.1091800
5 4.5810000 0.2827890
6 1.5800000 0.4531230
7 0.5640000 0.2747740
8 0.0734500 0.0097510
S 8
1 1469.0000000 -0.0001200
2 220.5000000 -0.0009230
3 50.2600000 -0.0046890
4 14.2400000 -0.0176820
5 4.5810000 -0.0489020
6 1.5800000 -0.0960090
7 0.5640000 -0.1363800
8 0.0734500 0.5751020
S 1
1 0.0280500 1.0000000
S 1
1 0.9060000 1.0000000
S 1
1 0.0086400 1.0000000
P 3
1 1.5340000 0.0227840
2 0.2749000 0.1391070
3 0.0736200 0.5003750
P 1
1 0.0240300 1.0000000
P 1
1 3.2420000 1.0000000
P 1
1 0.0057900 1.0000000
D 1
1 0.1239000 1.0000000
D 1
1 0.0725000 1.0000000
BERYLLIUM
S 8
1 2940.0000000 0.0006800
2 441.2000000 0.0052360
3 100.5000000 0.0266060
4 28.4300000 0.0999930
5 9.1690000 0.2697020
6 3.1960000 0.4514690
7 1.1590000 0.2950740
8 0.1811000 0.0125870
S 8
1 2940.0000000 -0.0001230
2 441.2000000 -0.0009660
3 100.5000000 -0.0048310
4 28.4300000 -0.0193140
5 9.1690000 -0.0532800
6 3.1960000 -0.1207230
7 1.1590000 -0.1334350
8 0.1811000 0.5307670
S 1
1 0.0589000 1.0000000
S 1
1 1.8600000 1.0000000
S 1
1 0.0187700 1.0000000
P 3
1 3.6190000 0.0291110
2 0.7110000 0.1693650
3 0.1951000 0.5134580
P 1
1 0.0601800 1.0000000
P 1
1 6.1630000 1.0000000
P 1
1 0.0085000 1.0000000
D 1
1 0.2380000 1.0000000
D 1
1 0.0740000 1.0000000
BORON
S 8
1 4570.0000000 0.0006960
2 685.9000000 0.0053530
3 156.5000000 0.0271340
4 44.4700000 0.1013800
5 14.4800000 0.2720550
6 5.1310000 0.4484030
7 1.8980000 0.2901230
8 0.3329000 0.0143220
S 8
1 4570.0000000 -0.0001390
2 685.9000000 -0.0010970
3 156.5000000 -0.0054440
4 44.4700000 -0.0219160
5 14.4800000 -0.0597510
6 5.1310000 -0.1387320
7 1.8980000 -0.1314820
8 0.3329000 0.5395260
S 1
1 0.1043000 1.0000000
S 1
1 3.0660000 1.0000000
S 1
1 0.0310500 1.0000000
P 3
1 6.0010000 0.0354810
2 1.2410000 0.1980720
3 0.3364000 0.5052300
P 1
1 0.0953800 1.0000000
P 1
1 9.9400000 1.0000000
P 1
1 0.0237800 1.0000000
D 1
1 0.3430000 1.0000000
D 1
1 0.0904000 1.0000000
CARBON
S 8
1 6665.0000000 0.0006920
2 1000.0000000 0.0053290
3 228.0000000 0.0270770
4 64.7100000 0.1017180
5 21.0600000 0.2747400
6 7.4950000 0.4485640
7 2.7970000 0.2850740
8 0.5215000 0.0152040
S 8
1 6665.0000000 -0.0001460
2 1000.0000000 -0.0011540
3 228.0000000 -0.0057250
4 64.7100000 -0.0233120
5 21.0600000 -0.0639550
6 7.4950000 -0.1499810
7 2.7970000 -0.1272620
8 0.5215000 0.5445290
S 1
1 0.1596000 1.0000000
S 1
1 4.5300000 1.0000000
S 1
1 0.0469000 1.0000000
P 3
1 9.4390000 0.0381090
2 2.0020000 0.2094800
3 0.5456000 0.5085570
P 1
1 0.1517000 1.0000000
P 1
1 14.5570000 1.0000000
P 1
1 0.0404100 1.0000000
D 1
1 0.5500000 1.0000000
D 1
1 0.1510000 1.0000000
NITROGEN
S 8
1 9046.0000000 0.0007000
2 1357.0000000 0.0053890
3 309.3000000 0.0274060
4 87.7300000 0.1032070
5 28.5600000 0.2787230
6 10.2100000 0.4485400
7 3.8380000 0.2782380
8 0.7466000 0.0154400
S 8
1 9046.0000000 -0.0001530
2 1357.0000000 -0.0012080
3 309.3000000 -0.0059920
4 87.7300000 -0.0245440
5 28.5600000 -0.0674590
6 10.2100000 -0.1580780
7 3.8380000 -0.1218310
8 0.7466000 0.5490030
S 1
1 0.2248000 1.0000000
S 1
1 6.2330000 1.0000000
S 1
1 0.0612400 1.0000000
P 3
1 13.5500000 0.0399190
2 2.9170000 0.2171690
3 0.7973000 0.5103190
P 1
1 0.2185000 1.0000000
P 1
1 19.9770000 1.0000000
P 1
1 0.0561100 1.0000000
D 1
1 0.8170000 1.0000000
D 1
1 0.2300000 1.0000000
OXYGEN
S 8
1 11720.0000000 0.0007100
2 1759.0000000 0.0054700
3 400.8000000 0.0278370
4 113.7000000 0.1048000
5 37.0300000 0.2830620
6 13.2700000 0.4487190
7 5.0250000 0.2709520
8 1.0130000 0.0154580
S 8
1 11720.0000000 -0.0001600
2 1759.0000000 -0.0012630
3 400.8000000 -0.0062670
4 113.7000000 -0.0257160
5 37.0300000 -0.0709240
6 13.2700000 -0.1654110
7 5.0250000 -0.1169550
8 1.0130000 0.5573680
S 1
1 0.3023000 1.0000000
S 1
1 8.2150000 1.0000000
S 1
1 0.0789600 1.0000000
P 3
1 17.7000000 0.0430180
2 3.8540000 0.2289130
3 1.0460000 0.5087280
P 1
1 0.2753000 1.0000000
P 1
1 26.0560000 1.0000000
P 1
1 0.0685600 1.0000000
D 1
1 1.1850000 1.0000000
D 1
1 0.3320000 1.0000000
FLUORINE
S 8
1 14710.0000000 0.0007210
2 2207.0000000 0.0055530
3 502.8000000 0.0282670
4 142.6000000 0.1064440
5 46.4700000 0.2868140
6 16.7000000 0.4486410
7 6.3560000 0.2647610
8 1.3160000 0.0153330
S 8
1 14710.0000000 -0.0001650
2 2207.0000000 -0.0013080
3 502.8000000 -0.0064950
4 142.6000000 -0.0266910
5 46.4700000 -0.0736900
6 16.7000000 -0.1707760
7 6.3560000 -0.1123270
8 1.3160000 0.5628140
S 1
1 0.3897000 1.0000000
S 1
1 10.4260000 1.0000000
S 1
1 0.0986300 1.0000000
P 3
1 22.6700000 0.0448780
2 4.9770000 0.2357180
3 1.3470000 0.5085210
P 1
1 0.3471000 1.0000000
P 1
1 32.8300000 1.0000000
P 1
1 0.0850200 1.0000000
D 1
1 1.6400000 1.0000000
D 1
1 0.4640000 1.0000000
NEON
S 8
1 17880.0000000 0.0007380
2 2683.0000000 0.0056770
3 611.5000000 0.0288830
4 173.5000000 0.1085400
5 56.6400000 0.2909070
6 20.4200000 0.4483240
7 7.8100000 0.2580260
8 1.6530000 0.0150630
S 8
1 17880.0000000 -0.0001720
2 2683.0000000 -0.0013570
3 611.5000000 -0.0067370
4 173.5000000 -0.0276630
5 56.6400000 -0.0762080
6 20.4200000 -0.1752270
7 7.8100000 -0.1070380
8 1.6530000 0.5670500
S 1
1 0.4869000 1.0000000
S 1
1 12.8540000 1.0000000
S 1
1 0.1230000 1.0000000
P 3
1 28.3900000 0.0460870
2 6.2700000 0.2401810
3 1.6950000 0.5087440
P 1
1 0.4317000 1.0000000
P 1
1 40.1840000 1.0000000
P 1
1 0.1064000 1.0000000
D 1
1 2.2020000 1.0000000
D 1
1 0.6310000 1.0000000
SODIUM
S 11
1 31700.0000000 0.458878E-03
2 4755.0000000 0.355070E-02
3 1082.0000000 0.182618E-01
4 306.4000000 0.716650E-01
5 99.5300000 0.212346E+00
6 35.4200000 0.416203E+00
7 13.3000000 0.373020E+00
8 4.3920000 0.625054E-01
9 1.6760000 -0.624532E-02
10 0.5889000 0.243374E-02
11 0.0564000 -0.442381E-03
S 11
1 31700.0000000 -0.112162E-03
2 4755.0000000 -0.868512E-03
3 1082.0000000 -0.451330E-02
4 306.4000000 -0.181436E-01
5 99.5300000 -0.580799E-01
6 35.4200000 -0.137653E+00
7 13.3000000 -0.193908E+00
8 4.3920000 0.858009E-01
9 1.6760000 0.604419E+00
10 0.5889000 0.441719E+00
11 0.0564000 0.130547E-01
S 11
1 31700.0000000 0.170160E-04
2 4755.0000000 0.130693E-03
3 1082.0000000 0.687784E-03
4 306.4000000 0.272359E-02
5 99.5300000 0.895529E-02
6 35.4200000 0.207832E-01
7 13.3000000 0.319380E-01
8 4.3920000 -0.191368E-01
9 1.6760000 -0.102595E+00
10 0.5889000 -0.198945E+00
11 0.0564000 0.655952E+00
S 1
1 0.0230700 1.0000000
S 1
1 0.7040000 1.0000000
S 1
1 0.0072500 1.0000000
P 7
1 138.1000000 0.579641E-02
2 32.2400000 0.415756E-01
3 9.9850000 0.162873E+00
4 3.4840000 0.359401E+00
5 1.2310000 0.449988E+00
6 0.4177000 0.227507E+00
7 0.0651300 0.808247E-02
P 7
1 138.1000000 -0.581531E-03
2 32.2400000 -0.407306E-02
3 9.9850000 -0.167937E-01
4 3.4840000 -0.353268E-01
5 1.2310000 -0.521971E-01
6 0.4177000 -0.168359E-01
7 0.0651300 0.434613E+00
P 1
1 0.0205300 1.0000000
P 1
1 0.7610000 1.0000000
P 1
1 0.0063300 1.0000000
D 1
1 0.0973000 1.0000000
D 1
1 2.9490000 1.0000000
D 1
1 0.0468000 1.0000000
MAGNESIUM
S 11
1 47390.0000000 0.346023E-03
2 7108.0000000 0.268077E-02
3 1618.0000000 0.138367E-01
4 458.4000000 0.551767E-01
5 149.3000000 0.169660E+00
6 53.5900000 0.364703E+00
7 20.7000000 0.406856E+00
8 8.3840000 0.135089E+00
9 2.5420000 0.490884E-02
10 0.8787000 0.286460E-03
11 0.1077000 0.264590E-04
S 11
1 47390.0000000 -0.877839E-04
2 7108.0000000 -0.674725E-03
3 1618.0000000 -0.355603E-02
4 458.4000000 -0.142154E-01
5 149.3000000 -0.476748E-01
6 53.5900000 -0.114892E+00
7 20.7000000 -0.200676E+00
8 8.3840000 -0.341224E-01
9 2.5420000 0.570454E+00
10 0.8787000 0.542309E+00
11 0.1077000 0.218128E-01
S 11
1 47390.0000000 0.169628E-04
2 7108.0000000 0.129865E-03
3 1618.0000000 0.688831E-03
4 458.4000000 0.273533E-02
5 149.3000000 0.931224E-02
6 53.5900000 0.223265E-01
7 20.7000000 0.411195E-01
8 8.3840000 0.545642E-02
9 2.5420000 -0.134012E+00
10 0.8787000 -0.256176E+00
11 0.1077000 0.605856E+00
S 1
1 0.0399900 1.0000000
S 1
1 3.4220000 1.0000000
S 1
1 0.0148800 1.0000000
P 7
1 179.9000000 0.538161E-02
2 42.1400000 0.392418E-01
3 13.1300000 0.157445E+00
4 4.6280000 0.358535E+00
5 1.6700000 0.457226E+00
6 0.5857000 0.215918E+00
7 0.1311000 0.664948E-02
P 7
1 179.9000000 -0.865948E-03
2 42.1400000 -0.615978E-02
3 13.1300000 -0.261519E-01
4 4.6280000 -0.570647E-01
5 1.6700000 -0.873906E-01
6 0.5857000 -0.122990E-01
7 0.1311000 0.502085E+00
P 1
1 0.0411200 1.0000000
P 1
1 8.2790000 1.0000000
P 1
1 0.0093500 1.0000000
D 1
1 0.1870000 1.0000000
D 1
1 3.7040000 1.0000000
D 1
1 0.0595000 1.0000000
ALUMINUM
S 11
1 64150.0000000 0.290250E-03
2 9617.0000000 0.225064E-02
3 2189.0000000 0.116459E-01
4 620.5000000 0.467377E-01
5 202.7000000 0.146299E+00
6 73.1500000 0.330283E+00
7 28.5500000 0.415861E+00
8 11.7700000 0.189253E+00
9 3.3000000 0.115889E-01
10 1.1730000 -0.128385E-02
11 0.1752000 0.425883E-03
S 11
1 64150.0000000 -0.758048E-04
2 9617.0000000 -0.581791E-03
3 2189.0000000 -0.308113E-02
4 620.5000000 -0.123112E-01
5 202.7000000 -0.419781E-01
6 73.1500000 -0.103371E+00
7 28.5500000 -0.196308E+00
8 11.7700000 -0.830002E-01
9 3.3000000 0.541040E+00
10 1.1730000 0.578796E+00
11 0.1752000 0.288147E-01
S 11
1 64150.0000000 0.175078E-04
2 9617.0000000 0.134208E-03
3 2189.0000000 0.712442E-03
4 620.5000000 0.284330E-02
5 202.7000000 0.976842E-02
6 73.1500000 0.241850E-01
7 28.5500000 0.474993E-01
8 11.7700000 0.203621E-01
9 3.3000000 -0.158788E+00
10 1.1730000 -0.311694E+00
11 0.1752000 0.620147E+00
S 1
1 0.0647300 1.0000000
S 1
1 4.0300000 1.0000000
S 1
1 0.0231000 1.0000000
P 7
1 258.8000000 0.406847E-02
2 60.8900000 0.306815E-01
3 19.1400000 0.129149E+00
4 6.8810000 0.320831E+00
5 2.5740000 0.453815E+00
6 0.9572000 0.275066E+00
7 0.2099000 0.190807E-01
P 7
1 258.8000000 -0.748053E-03
2 60.8900000 -0.545796E-02
3 19.1400000 -0.245371E-01
4 6.8810000 -0.582138E-01
5 2.5740000 -0.983756E-01
6 0.9572000 -0.260064E-01
7 0.2099000 0.464020E+00
P 1
1 0.0598600 1.0000000
P 1
1 1.5290000 1.0000000
P 1
1 0.0153000 1.0000000
D 1
1 0.1890000 1.0000000
D 1
1 4.7250000 1.0000000
D 1
1 0.0535000 1.0000000
SILICON
S 11
1 78860.0000000 0.270443E-03
2 11820.0000000 0.209717E-02
3 2692.0000000 0.108506E-01
4 763.4000000 0.436754E-01
5 249.6000000 0.137653E+00
6 90.2800000 0.316644E+00
7 35.2900000 0.418581E+00
8 14.5100000 0.210212E+00
9 4.0530000 0.144952E-01
10 1.4820000 -0.203590E-02
11 0.2517000 0.624186E-03
S 11
1 78860.0000000 -0.723177E-04
2 11820.0000000 -0.555116E-03
3 2692.0000000 -0.293805E-02
4 763.4000000 -0.117687E-01
5 249.6000000 -0.402907E-01
6 90.2800000 -0.100609E+00
7 35.2900000 -0.196528E+00
8 14.5100000 -0.102382E+00
9 4.0530000 0.527190E+00
10 1.4820000 0.593251E+00
11 0.2517000 0.332652E-01
S 11
1 78860.0000000 0.185113E-04
2 11820.0000000 0.142236E-03
3 2692.0000000 0.752185E-03
4 763.4000000 0.302279E-02
5 249.6000000 0.103677E-01
6 90.2800000 0.262563E-01
7 35.2900000 0.523989E-01
8 14.5100000 0.290959E-01
9 4.0530000 -0.178003E+00
10 1.4820000 -0.346874E+00
11 0.2517000 0.623020E+00
S 1
1 0.0924300 1.0000000
S 1
1 4.9590000 1.0000000
S 1
1 0.0332000 1.0000000
P 7
1 315.9000000 0.392656E-02
2 74.4200000 0.298811E-01
3 23.4800000 0.127212E+00
4 8.4880000 0.320943E+00
5 3.2170000 0.455429E+00
6 1.2290000 0.268563E+00
7 0.2964000 0.188336E-01
P 7
1 315.9000000 -0.858302E-03
2 74.4200000 -0.630328E-02
3 23.4800000 -0.288255E-01
4 8.4880000 -0.694560E-01
5 3.2170000 -0.119493E+00
6 1.2290000 -0.199581E-01
7 0.2964000 0.510268E+00
P 1
1 0.0876800 1.0000000
P 1
1 1.9980000 1.0000000
P 1
1 0.0250000 1.0000000
D 1
1 0.2750000 1.0000000
D 1
1 5.8060000 1.0000000
D 1
1 0.0823000 1.0000000
PHOSPHORUS
S 11
1 94840.0000000 0.255509E-03
2 14220.0000000 0.198193E-02
3 3236.0000000 0.102760E-01
4 917.1000000 0.414823E-01
5 299.5000000 0.131984E+00
6 108.1000000 0.308662E+00
7 42.1800000 0.420647E+00
8 17.2800000 0.222878E+00
9 4.8580000 0.164035E-01
10 1.8180000 -0.254255E-02
11 0.3372000 0.748050E-03
S 11
1 94840.0000000 -0.696939E-04
2 14220.0000000 -0.535266E-03
3 3236.0000000 -0.283709E-02
4 917.1000000 -0.113983E-01
5 299.5000000 -0.392929E-01
6 108.1000000 -0.996364E-01
7 42.1800000 -0.197983E+00
8 17.2800000 -0.114860E+00
9 4.8580000 0.518595E+00
10 1.8180000 0.601847E+00
11 0.3372000 0.368612E-01
S 11
1 94840.0000000 0.191199E-04
2 14220.0000000 0.147223E-03
3 3236.0000000 0.777912E-03
4 917.1000000 0.314546E-02
5 299.5000000 0.108200E-01
6 108.1000000 0.279957E-01
7 42.1800000 0.563978E-01
8 17.2800000 0.358190E-01
9 4.8580000 -0.193387E+00
10 1.8180000 -0.372097E+00
11 0.3372000 0.624246E+00
S 1
1 0.1232000 1.0000000
S 1
1 5.9770000 1.0000000
S 1
1 0.0417000 1.0000000
P 7
1 370.5000000 0.395005E-02
2 87.3300000 0.302492E-01
3 27.5900000 0.129554E+00
4 10.0000000 0.327594E+00
5 3.8250000 0.456992E+00
6 1.4940000 0.253086E+00
7 0.3921000 0.168798E-01
P 7
1 370.5000000 -0.959832E-03
2 87.3300000 -0.711177E-02
3 27.5900000 -0.327122E-01
4 10.0000000 -0.795784E-01
5 3.8250000 -0.135016E+00
6 1.4940000 -0.910585E-02
7 0.3921000 0.537802E+00
P 1
1 0.1186000 1.0000000
P 1
1 2.5240000 1.0000000
P 1
1 0.0343000 1.0000000
D 1
1 0.3730000 1.0000000
D 1
1 7.0200000 1.0000000
D 1
1 0.1130000 1.0000000
SULFUR
S 11
1 110800.0000000 0.247635E-03
2 16610.0000000 0.192026E-02
3 3781.0000000 0.996192E-02
4 1071.0000000 0.402975E-01
5 349.8000000 0.128604E+00
6 126.3000000 0.303480E+00
7 49.2600000 0.421432E+00
8 20.1600000 0.230781E+00
9 5.7200000 0.178971E-01
10 2.1820000 -0.297516E-02
11 0.4327000 0.849522E-03
S 11
1 110800.0000000 -0.687039E-04
2 16610.0000000 -0.527681E-03
3 3781.0000000 -0.279671E-02
4 1071.0000000 -0.112651E-01
5 349.8000000 -0.388834E-01
6 126.3000000 -0.995025E-01
7 49.2600000 -0.199740E+00
8 20.1600000 -0.123360E+00
9 5.7200000 0.513194E+00
10 2.1820000 0.607120E+00
11 0.4327000 0.396753E-01
S 11
1 110800.0000000 0.199077E-04
2 16610.0000000 0.153483E-03
3 3781.0000000 0.809503E-03
4 1071.0000000 0.328974E-02
5 349.8000000 0.112967E-01
6 126.3000000 0.296385E-01
7 49.2600000 0.599851E-01
8 20.1600000 0.413248E-01
9 5.7200000 -0.207474E+00
10 2.1820000 -0.392889E+00
11 0.4327000 0.632840E+00
S 1
1 0.1570000 1.0000000
S 1
1 7.0830000 1.0000000
S 1
1 0.0507000 1.0000000
P 7
1 399.7000000 0.447541E-02
2 94.1900000 0.341708E-01
3 29.7500000 0.144250E+00
4 10.7700000 0.353928E+00
5 4.1190000 0.459085E+00
6 1.6250000 0.206383E+00
7 0.4726000 0.102141E-01
P 7
1 399.7000000 -0.116251E-02
2 94.1900000 -0.865664E-02
3 29.7500000 -0.390886E-01
4 10.7700000 -0.934625E-01
5 4.1190000 -0.147994E+00
6 1.6250000 0.301904E-01
7 0.4726000 0.561573E+00
P 1
1 0.1407000 1.0000000
P 1
1 3.0890000 1.0000000
P 1
1 0.0399000 1.0000000
D 1
1 0.4790000 1.0000000
D 1
1 8.3630000 1.0000000
D 1
1 0.1520000 1.0000000
CHLORINE
S 11
1 127900.0000000 0.241153E-03
2 19170.0000000 0.187095E-02
3 4363.0000000 0.970827E-02
4 1236.0000000 0.393153E-01
5 403.6000000 0.125932E+00
6 145.7000000 0.299341E+00
7 56.8100000 0.421886E+00
8 23.2300000 0.237201E+00
9 6.6440000 0.191531E-01
10 2.5750000 -0.334792E-02
11 0.5371000 0.929883E-03
S 11
1 127900.0000000 -0.678922E-04
2 19170.0000000 -0.521836E-03
3 4363.0000000 -0.276513E-02
4 1236.0000000 -0.111537E-01
5 403.6000000 -0.385919E-01
6 145.7000000 -0.994848E-01
7 56.8100000 -0.201392E+00
8 23.2300000 -0.130313E+00
9 6.6440000 0.509443E+00
10 2.5750000 0.610725E+00
11 0.5371000 0.421549E-01
S 11
1 127900.0000000 0.204986E-04
2 19170.0000000 0.158298E-03
3 4363.0000000 0.833639E-03
4 1236.0000000 0.339880E-02
5 403.6000000 0.116738E-01
6 145.7000000 0.309622E-01
7 56.8100000 0.629533E-01
8 23.2300000 0.460257E-01
9 6.6440000 -0.219312E+00
10 2.5750000 -0.408773E+00
11 0.5371000 0.638465E+00
S 1
1 0.1938000 1.0000000
S 1
1 8.2730000 1.0000000
S 1
1 0.0608000 1.0000000
P 7
1 417.6000000 0.525982E-02
2 98.3300000 0.398332E-01
3 31.0400000 0.164655E+00
4 11.1900000 0.387322E+00
5 4.2490000 0.457072E+00
6 1.6240000 0.151636E+00
7 0.5322000 0.181615E-02
P 7
1 417.6000000 -0.143570E-02
2 98.3300000 -0.107796E-01
3 31.0400000 -0.470075E-01
4 11.1900000 -0.111030E+00
5 4.2490000 -0.153275E+00
6 1.6240000 0.894609E-01
7 0.5322000 0.579444E+00
P 1
1 0.1620000 1.0000000
P 1
1 3.6970000 1.0000000
P 1
1 0.0466000 1.0000000
D 1
1 0.6000000 1.0000000
D 1
1 9.8440000 1.0000000
D 1
1 0.1960000 1.0000000
ARGON
S 11
1 145700.0000000 0.236700E-03
2 21840.0000000 0.183523E-02
3 4972.0000000 0.952860E-02
4 1408.0000000 0.386283E-01
5 459.7000000 0.124081E+00
6 165.9000000 0.296471E+00
7 64.6900000 0.422068E+00
8 26.4400000 0.241711E+00
9 7.6280000 0.200509E-01
10 2.9960000 -0.361000E-02
11 0.6504000 0.975607E-03
S 11
1 145700.0000000 -0.674910E-04
2 21840.0000000 -0.518522E-03
3 4972.0000000 -0.274825E-02
4 1408.0000000 -0.111007E-01
5 459.7000000 -0.384820E-01
6 165.9000000 -0.997599E-01
7 64.6900000 -0.203088E+00
8 26.4400000 -0.135608E+00
9 7.6280000 0.507195E+00
10 2.9960000 0.612898E+00
11 0.6504000 0.442968E-01
S 11
1 145700.0000000 0.210457E-04
2 21840.0000000 0.162565E-03
3 4972.0000000 0.855463E-03
4 1408.0000000 0.349745E-02
5 459.7000000 0.120156E-01
6 165.9000000 0.321368E-01
7 64.6900000 0.655279E-01
8 26.4400000 0.499370E-01
9 7.6280000 -0.229769E+00
10 2.9960000 -0.421006E+00
11 0.6504000 0.642331E+00
S 1
1 0.2337000 1.0000000
S 1
1 9.5480000 1.0000000
S 1
1 0.0709000 1.0000000
P 7
1 453.7000000 0.570555E-02
2 106.8000000 0.430460E-01
3 33.7300000 0.176591E+00
4 12.1300000 0.406863E+00
5 4.5940000 0.452549E+00
6 1.6780000 0.122801E+00
7 0.5909000 -0.445996E-02
P 7
1 453.7000000 -0.160655E-02
2 106.8000000 -0.121714E-01
3 33.7300000 -0.520789E-01
4 12.1300000 -0.123737E+00
5 4.5940000 -0.151619E+00
6 1.6780000 0.142425E+00
7 0.5909000 0.584501E+00
P 1
1 0.1852000 1.0000000
P 1
1 4.3610000 1.0000000
P 1
1 0.0533000 1.0000000
D 1
1 0.7380000 1.0000000
D 1
1 11.4590000 1.0000000
D 1
1 0.2400000 1.0000000

1596
data/basis/aug-cc-pcvqz Normal file

File diff suppressed because it is too large Load Diff

1226
data/basis/aug-cc-pcvtz Normal file

File diff suppressed because it is too large Load Diff

7067
data/basis/aug-cc-pv5z Normal file

File diff suppressed because it is too large Load Diff

1517
data/basis/aug-cc-pv6z Normal file

File diff suppressed because it is too large Load Diff

3487
data/basis/aug-cc-pvdz Normal file

File diff suppressed because it is too large Load Diff

5687
data/basis/aug-cc-pvqz Normal file

File diff suppressed because it is too large Load Diff

4423
data/basis/aug-cc-pvtz Normal file

File diff suppressed because it is too large Load Diff

1616
data/basis/cc-pcv5z Normal file

File diff suppressed because it is too large Load Diff

785
data/basis/cc-pcv6z Normal file
View File

@ -0,0 +1,785 @@
ALUMINUM
S 11
1 3652000.0000000 0.0000019
2 546800.0000000 0.0000145
3 124500.0000000 0.0000762
4 35440.0000000 0.0003158
5 11840.0000000 0.0010974
6 4434.0000000 0.0033697
7 1812.0000000 0.0093222
8 791.5000000 0.0237992
9 361.0000000 0.0568191
10 169.5000000 0.1224680
11 81.6800000 0.2238970
S 11
1 3652000.0000000 -0.0000005
2 546800.0000000 -0.0000038
3 124500.0000000 -0.0000198
4 35440.0000000 -0.0000821
5 11840.0000000 -0.0002858
6 4434.0000000 -0.0008785
7 1812.0000000 -0.0024482
8 791.5000000 -0.0063100
9 361.0000000 -0.0154854
10 169.5000000 -0.0349589
11 81.6800000 -0.0707729
S 1
1 40.2800000 1.0000000
S 1
1 20.2500000 1.0000000
S 1
1 10.2300000 1.0000000
S 1
1 4.8020000 1.0000000
S 1
1 2.3390000 1.0000000
S 1
1 1.1630000 1.0000000
S 1
1 0.5882000 1.0000000
S 1
1 0.2311000 1.0000000
S 1
1 0.1027000 1.0000000
S 1
1 0.0452100 1.0000000
P 4
1 2884.0000000 0.0000638
2 683.2000000 0.0005631
3 222.0000000 0.0031691
4 84.8200000 0.0132401
P 1
1 35.8100000 1.0000000
P 1
1 16.2200000 1.0000000
P 1
1 7.7020000 1.0000000
P 1
1 3.7410000 1.0000000
P 1
1 1.8310000 1.0000000
P 1
1 0.8878000 1.0000000
P 1
1 0.3989000 1.0000000
P 1
1 0.1718000 1.0000000
P 1
1 0.0729800 1.0000000
P 1
1 0.0306900 1.0000000
D 1
1 2.2143000 1.0000000
D 1
1 0.9449000 1.0000000
D 1
1 0.4032000 1.0000000
D 1
1 0.1721000 1.0000000
D 1
1 0.0734300 1.0000000
D 1
1 45.6727000 1.0000000
D 1
1 25.6388000 1.0000000
D 1
1 14.3925000 1.0000000
D 1
1 8.0794000 1.0000000
D 1
1 4.5354000 1.0000000
F 1
1 0.8756000 1.0000000
F 1
1 0.4472000 1.0000000
F 1
1 0.2284000 1.0000000
F 1
1 0.1167000 1.0000000
F 1
1 25.3530000 1.0000000
F 1
1 12.3332000 1.0000000
F 1
1 5.9996000 1.0000000
F 1
1 2.9185000 1.0000000
G 1
1 0.6952000 1.0000000
G 1
1 0.3771000 1.0000000
G 1
1 0.2046000 1.0000000
G 1
1 17.2911000 1.0000000
G 1
1 7.8399000 1.0000000
G 1
1 3.5547000 1.0000000
H 1
1 0.6560000 1.0000000
H 1
1 0.3300000 1.0000000
H 1
1 14.1238000 1.0000000
H 1
1 5.8461000 1.0000000
I 1
1 0.5302000 1.0000000
I 1
1 10.0337000 1.0000000
SILICON
S 11
1 4465000.0000000 0.0000017
2 668500.0000000 0.0000136
3 152200.0000000 0.0000714
4 43300.0000000 0.0002973
5 14410.0000000 0.0010383
6 5394.0000000 0.0031747
7 2212.0000000 0.0087324
8 968.1000000 0.0223830
9 441.2000000 0.0537273
10 207.1000000 0.1166490
11 99.8000000 0.2159780
S 11
1 4465000.0000000 -0.0000005
2 668500.0000000 -0.0000036
3 152200.0000000 -0.0000190
4 43300.0000000 -0.0000791
5 14410.0000000 -0.0002769
6 5394.0000000 -0.0008472
7 2212.0000000 -0.0023478
8 968.1000000 -0.0060705
9 441.2000000 -0.0149711
10 207.1000000 -0.0339729
11 99.8000000 -0.0694584
S 1
1 49.2400000 1.0000000
S 1
1 24.7400000 1.0000000
S 1
1 12.4700000 1.0000000
S 1
1 5.7950000 1.0000000
S 1
1 2.8300000 1.0000000
S 1
1 1.4070000 1.0000000
S 1
1 0.6995000 1.0000000
S 1
1 0.3083000 1.0000000
S 1
1 0.1385000 1.0000000
S 1
1 0.0614500 1.0000000
P 4
1 3572.0000000 0.0000599
2 846.0000000 0.0005296
3 274.8000000 0.0029958
4 105.0000000 0.0126335
P 1
1 44.3500000 1.0000000
P 1
1 20.0800000 1.0000000
P 1
1 9.5300000 1.0000000
P 1
1 4.6340000 1.0000000
P 1
1 2.2800000 1.0000000
P 1
1 1.1160000 1.0000000
P 1
1 0.4991000 1.0000000
P 1
1 0.2254000 1.0000000
P 1
1 0.1001000 1.0000000
P 1
1 0.0433200 1.0000000
D 1
1 3.2386000 1.0000000
D 1
1 1.3767000 1.0000000
D 1
1 0.5853000 1.0000000
D 1
1 0.2488000 1.0000000
D 1
1 0.1058000 1.0000000
D 1
1 59.7837000 1.0000000
D 1
1 34.3949000 1.0000000
D 1
1 19.7882000 1.0000000
D 1
1 11.3846000 1.0000000
D 1
1 6.5498000 1.0000000
F 1
1 1.3510000 1.0000000
F 1
1 0.6600000 1.0000000
F 1
1 0.3225000 1.0000000
F 1
1 0.1575000 1.0000000
F 1
1 32.0854000 1.0000000
F 1
1 15.9556000 1.0000000
F 1
1 7.9345000 1.0000000
F 1
1 3.9457000 1.0000000
G 1
1 0.8528000 1.0000000
G 1
1 0.4631000 1.0000000
G 1
1 0.2515000 1.0000000
G 1
1 20.8258000 1.0000000
G 1
1 9.4348000 1.0000000
G 1
1 4.2743000 1.0000000
H 1
1 0.8557000 1.0000000
H 1
1 0.4231000 1.0000000
H 1
1 17.4400000 1.0000000
H 1
1 7.3087000 1.0000000
I 1
1 0.6946000 1.0000000
I 1
1 12.3782000 1.0000000
PHOSPHORUS
S 11
1 5384000.0000000 0.0000016
2 806200.0000000 0.0000128
3 183600.0000000 0.0000672
4 52250.0000000 0.0002797
5 17390.0000000 0.0009767
6 6523.0000000 0.0029684
7 2687.0000000 0.0081240
8 1178.0000000 0.0209200
9 536.2000000 0.0505590
10 251.5000000 0.1104790
11 121.3000000 0.2069570
S 11
1 5384000.0000000 -0.0000004
2 806200.0000000 -0.0000035
3 183600.0000000 -0.0000183
4 52250.0000000 -0.0000759
5 17390.0000000 -0.0002657
6 6523.0000000 -0.0008080
7 2687.0000000 -0.0022273
8 1178.0000000 -0.0057833
9 536.2000000 -0.0143438
10 251.5000000 -0.0327061
11 121.3000000 -0.0673716
S 1
1 59.8800000 1.0000000
S 1
1 30.0500000 1.0000000
S 1
1 15.1200000 1.0000000
S 1
1 7.0100000 1.0000000
S 1
1 3.4410000 1.0000000
S 1
1 1.7120000 1.0000000
S 1
1 0.8337000 1.0000000
S 1
1 0.3912000 1.0000000
S 1
1 0.1777000 1.0000000
S 1
1 0.0793900 1.0000000
P 4
1 4552.0000000 0.0000520
2 1078.0000000 0.0004604
3 350.1000000 0.0026208
4 133.8000000 0.0111873
P 1
1 56.5200000 1.0000000
P 1
1 25.5800000 1.0000000
P 1
1 12.1400000 1.0000000
P 1
1 5.9020000 1.0000000
P 1
1 2.9100000 1.0000000
P 1
1 1.4350000 1.0000000
P 1
1 0.6570000 1.0000000
P 1
1 0.3005000 1.0000000
P 1
1 0.1340000 1.0000000
P 1
1 0.0578300 1.0000000
D 1
1 4.3008000 1.0000000
D 1
1 1.8346000 1.0000000
D 1
1 0.7826000 1.0000000
D 1
1 0.3339000 1.0000000
D 1
1 0.1424000 1.0000000
D 1
1 73.4257000 1.0000000
D 1
1 42.7149000 1.0000000
D 1
1 24.8491000 1.0000000
D 1
1 14.4558000 1.0000000
D 1
1 8.4096000 1.0000000
F 1
1 1.8160000 1.0000000
F 1
1 0.8806000 1.0000000
F 1
1 0.4270000 1.0000000
F 1
1 0.2070000 1.0000000
F 1
1 38.8989000 1.0000000
F 1
1 19.6568000 1.0000000
F 1
1 9.9332000 1.0000000
F 1
1 5.0196000 1.0000000
G 1
1 1.0616000 1.0000000
G 1
1 0.5791000 1.0000000
G 1
1 0.3159000 1.0000000
G 1
1 24.7656000 1.0000000
G 1
1 11.2155000 1.0000000
G 1
1 5.0791000 1.0000000
H 1
1 1.0850000 1.0000000
H 1
1 0.5277000 1.0000000
H 1
1 20.9939000 1.0000000
H 1
1 8.8512000 1.0000000
I 1
1 0.8890000 1.0000000
I 1
1 15.0320000 1.0000000
SULFUR
S 11
1 6297000.0000000 0.0000016
2 943100.0000000 0.0000124
3 214900.0000000 0.0000649
4 61250.0000000 0.0002693
5 20450.0000000 0.0009347
6 7719.0000000 0.0028083
7 3198.0000000 0.0076740
8 1402.0000000 0.0198898
9 637.2000000 0.0482589
10 298.9000000 0.1057570
11 144.3000000 0.2002230
S 11
1 6297000.0000000 -0.0000004
2 943100.0000000 -0.0000034
3 214900.0000000 -0.0000179
4 61250.0000000 -0.0000744
5 20450.0000000 -0.0002587
6 7719.0000000 -0.0007777
7 3198.0000000 -0.0021396
8 1402.0000000 -0.0055906
9 637.2000000 -0.0139076
10 298.9000000 -0.0317689
11 144.3000000 -0.0659302
S 1
1 71.2100000 1.0000000
S 1
1 35.7300000 1.0000000
S 1
1 17.9700000 1.0000000
S 1
1 8.3410000 1.0000000
S 1
1 4.1120000 1.0000000
S 1
1 2.0450000 1.0000000
S 1
1 0.9770000 1.0000000
S 1
1 0.4766000 1.0000000
S 1
1 0.2185000 1.0000000
S 1
1 0.0975900 1.0000000
P 4
1 5266.0000000 0.0000523
2 1247.0000000 0.0004635
3 405.0000000 0.0026410
4 154.8000000 0.0113169
P 1
1 65.3800000 1.0000000
P 1
1 29.5900000 1.0000000
P 1
1 14.0400000 1.0000000
P 1
1 6.8240000 1.0000000
P 1
1 3.3690000 1.0000000
P 1
1 1.6660000 1.0000000
P 1
1 0.7681000 1.0000000
P 1
1 0.3504000 1.0000000
P 1
1 0.1556000 1.0000000
P 1
1 0.0668100 1.0000000
D 1
1 5.0755000 1.0000000
D 1
1 2.1833000 1.0000000
D 1
1 0.9392000 1.0000000
D 1
1 0.4040000 1.0000000
D 1
1 0.1738000 1.0000000
D 1
1 85.0420000 1.0000000
D 1
1 49.7384000 1.0000000
D 1
1 29.0905000 1.0000000
D 1
1 17.0141000 1.0000000
D 1
1 9.9510000 1.0000000
F 1
1 2.2120000 1.0000000
F 1
1 1.0630000 1.0000000
F 1
1 0.5100000 1.0000000
F 1
1 0.2450000 1.0000000
F 1
1 45.8659000 1.0000000
F 1
1 23.2578000 1.0000000
F 1
1 11.7936000 1.0000000
F 1
1 5.9803000 1.0000000
G 1
1 1.3473000 1.0000000
G 1
1 0.7009000 1.0000000
G 1
1 0.3647000 1.0000000
G 1
1 29.0245000 1.0000000
G 1
1 13.1169000 1.0000000
G 1
1 5.9279000 1.0000000
H 1
1 1.2861000 1.0000000
H 1
1 0.6115000 1.0000000
H 1
1 24.7413000 1.0000000
H 1
1 10.4793000 1.0000000
I 1
1 1.0409000 1.0000000
I 1
1 17.9499000 1.0000000
CHLORINE
S 11
1 7733000.0000000 0.0000014
2 1158000.0000000 0.0000111
3 263700.0000000 0.0000586
4 75010.0000000 0.0002445
5 24890.0000000 0.0008583
6 9318.0000000 0.0026102
7 3840.0000000 0.0071378
8 1684.0000000 0.0184564
9 766.3000000 0.0448944
10 359.5000000 0.0993822
11 173.4000000 0.1907820
S 11
1 7733000.0000000 -0.0000004
2 1158000.0000000 -0.0000031
3 263700.0000000 -0.0000164
4 75010.0000000 -0.0000685
5 24890.0000000 -0.0002410
6 9318.0000000 -0.0007335
7 3840.0000000 -0.0020183
8 1684.0000000 -0.0052611
9 766.3000000 -0.0130986
10 359.5000000 -0.0301794
11 173.4000000 -0.0631888
S 1
1 85.6100000 1.0000000
S 1
1 42.9300000 1.0000000
S 1
1 21.5500000 1.0000000
S 1
1 10.0500000 1.0000000
S 1
1 4.9780000 1.0000000
S 1
1 2.4780000 1.0000000
S 1
1 1.1800000 1.0000000
S 1
1 0.5828000 1.0000000
S 1
1 0.2668000 1.0000000
S 1
1 0.1183000 1.0000000
P 4
1 6091.0000000 0.0000516
2 1442.0000000 0.0004585
3 468.3000000 0.0026151
4 179.0000000 0.0112554
P 1
1 75.6100000 1.0000000
P 1
1 34.2200000 1.0000000
P 1
1 16.2300000 1.0000000
P 1
1 7.8900000 1.0000000
P 1
1 3.8980000 1.0000000
P 1
1 1.9330000 1.0000000
P 1
1 0.9057000 1.0000000
P 1
1 0.4140000 1.0000000
P 1
1 0.1836000 1.0000000
P 1
1 0.0785900 1.0000000
D 1
1 6.2428000 1.0000000
D 1
1 2.6906000 1.0000000
D 1
1 1.1596000 1.0000000
D 1
1 0.4998000 1.0000000
D 1
1 0.2154000 1.0000000
D 1
1 101.5340000 1.0000000
D 1
1 59.4799000 1.0000000
D 1
1 34.8440000 1.0000000
D 1
1 20.4120000 1.0000000
D 1
1 11.9576000 1.0000000
F 1
1 2.5327000 1.0000000
F 1
1 1.2406000 1.0000000
F 1
1 0.6077000 1.0000000
F 1
1 0.2977000 1.0000000
F 1
1 52.5155000 1.0000000
F 1
1 26.5151000 1.0000000
F 1
1 13.3874000 1.0000000
F 1
1 6.7593000 1.0000000
G 1
1 1.5388000 1.0000000
G 1
1 0.8050000 1.0000000
G 1
1 0.4212000 1.0000000
G 1
1 32.9291000 1.0000000
G 1
1 14.6315000 1.0000000
G 1
1 6.5013000 1.0000000
H 1
1 1.5613000 1.0000000
H 1
1 0.7397000 1.0000000
H 1
1 29.1168000 1.0000000
H 1
1 12.3898000 1.0000000
I 1
1 1.2572000 1.0000000
I 1
1 21.0502000 1.0000000
ARGON
S 11
1 9149000.0000000 0.0000013
2 1370000.0000000 0.0000104
3 311900.0000000 0.0000549
4 88650.0000000 0.0002296
5 29330.0000000 0.0008103
6 10930.0000000 0.0024853
7 4480.0000000 0.0068369
8 1962.0000000 0.0176199
9 894.1000000 0.0428752
10 419.6000000 0.0954853
11 202.3000000 0.1850640
S 11
1 9149000.0000000 -0.0000004
2 1370000.0000000 -0.0000030
3 311900.0000000 -0.0000156
4 88650.0000000 -0.0000652
5 29330.0000000 -0.0002304
6 10930.0000000 -0.0007075
7 4480.0000000 -0.0019573
8 1962.0000000 -0.0050856
9 894.1000000 -0.0126528
10 419.6000000 -0.0293065
11 202.3000000 -0.0617712
S 1
1 99.8400000 1.0000000
S 1
1 50.0700000 1.0000000
S 1
1 25.1400000 1.0000000
S 1
1 11.8100000 1.0000000
S 1
1 5.8820000 1.0000000
S 1
1 2.9390000 1.0000000
S 1
1 1.4050000 1.0000000
S 1
1 0.6963000 1.0000000
S 1
1 0.3188000 1.0000000
S 1
1 0.1410000 1.0000000
P 4
1 7050.0000000 0.0000502
2 1669.0000000 0.0004454
3 542.1000000 0.0025480
4 207.1000000 0.0110155
P 1
1 87.5200000 1.0000000
P 1
1 39.6100000 1.0000000
P 1
1 18.7800000 1.0000000
P 1
1 9.1300000 1.0000000
P 1
1 4.5160000 1.0000000
P 1
1 2.2450000 1.0000000
P 1
1 1.0650000 1.0000000
P 1
1 0.4885000 1.0000000
P 1
1 0.2166000 1.0000000
P 1
1 0.0925500 1.0000000
D 1
1 7.6327000 1.0000000
D 1
1 3.2876000 1.0000000
D 1
1 1.4160000 1.0000000
D 1
1 0.6099000 1.0000000
D 1
1 0.2627000 1.0000000
D 1
1 110.4290000 1.0000000
D 1
1 62.1231000 1.0000000
D 1
1 34.9483000 1.0000000
D 1
1 19.6606000 1.0000000
D 1
1 11.0604000 1.0000000
F 1
1 3.0582000 1.0000000
F 1
1 1.5292000 1.0000000
F 1
1 0.7647000 1.0000000
F 1
1 0.3824000 1.0000000
F 1
1 61.3518000 1.0000000
F 1
1 31.1445000 1.0000000
F 1
1 15.8101000 1.0000000
F 1
1 8.0258000 1.0000000
G 1
1 1.8450000 1.0000000
G 1
1 0.9657000 1.0000000
G 1
1 0.5055000 1.0000000
G 1
1 37.7753000 1.0000000
G 1
1 16.6961000 1.0000000
G 1
1 7.3794000 1.0000000
H 1
1 1.8743000 1.0000000
H 1
1 0.8871000 1.0000000
H 1
1 33.4560000 1.0000000
H 1
1 14.2454000 1.0000000
I 1
1 1.5066000 1.0000000
I 1
1 24.5369000 1.0000000

907
data/basis/cc-pcvdz Normal file
View File

@ -0,0 +1,907 @@
LITHIUM
S 8
1 1469.0000000 0.0007660
2 220.5000000 0.0058920
3 50.2600000 0.0296710
4 14.2400000 0.1091800
5 4.5810000 0.2827890
6 1.5800000 0.4531230
7 0.5640000 0.2747740
8 0.0734500 0.0097510
S 8
1 1469.0000000 -0.0001200
2 220.5000000 -0.0009230
3 50.2600000 -0.0046890
4 14.2400000 -0.0176820
5 4.5810000 -0.0489020
6 1.5800000 -0.0960090
7 0.5640000 -0.1363800
8 0.0734500 0.5751020
S 1
1 0.0280500 1.0000000
S 1
1 0.9060000 1.0000000
P 3
1 1.5340000 0.0227840
2 0.2749000 0.1391070
3 0.0736200 0.5003750
P 1
1 0.0240300 1.0000000
P 1
1 3.2420000 1.0000000
D 1
1 0.1239000 1.0000000
BERYLLIUM
S 8
1 2940.0000000 0.0006800
2 441.2000000 0.0052360
3 100.5000000 0.0266060
4 28.4300000 0.0999930
5 9.1690000 0.2697020
6 3.1960000 0.4514690
7 1.1590000 0.2950740
8 0.1811000 0.0125870
S 8
1 2940.0000000 -0.0001230
2 441.2000000 -0.0009660
3 100.5000000 -0.0048310
4 28.4300000 -0.0193140
5 9.1690000 -0.0532800
6 3.1960000 -0.1207230
7 1.1590000 -0.1334350
8 0.1811000 0.5307670
S 1
1 0.0589000 1.0000000
S 1
1 1.8600000 1.0000000
P 3
1 3.6190000 0.0291110
2 0.7110000 0.1693650
3 0.1951000 0.5134580
P 1
1 0.0601800 1.0000000
P 1
1 6.1630000 1.0000000
D 1
1 0.2380000 1.0000000
BORON
S 8
1 4570.0000000 0.0006960
2 685.9000000 0.0053530
3 156.5000000 0.0271340
4 44.4700000 0.1013800
5 14.4800000 0.2720550
6 5.1310000 0.4484030
7 1.8980000 0.2901230
8 0.3329000 0.0143220
S 8
1 4570.0000000 -0.0001390
2 685.9000000 -0.0010970
3 156.5000000 -0.0054440
4 44.4700000 -0.0219160
5 14.4800000 -0.0597510
6 5.1310000 -0.1387320
7 1.8980000 -0.1314820
8 0.3329000 0.5395260
S 1
1 0.1043000 1.0000000
S 1
1 3.0660000 1.0000000
P 3
1 6.0010000 0.0354810
2 1.2410000 0.1980720
3 0.3364000 0.5052300
P 1
1 0.0953800 1.0000000
P 1
1 9.9400000 1.0000000
D 1
1 0.3430000 1.0000000
CARBON
S 8
1 6665.0000000 0.0006920
2 1000.0000000 0.0053290
3 228.0000000 0.0270770
4 64.7100000 0.1017180
5 21.0600000 0.2747400
6 7.4950000 0.4485640
7 2.7970000 0.2850740
8 0.5215000 0.0152040
S 8
1 6665.0000000 -0.0001460
2 1000.0000000 -0.0011540
3 228.0000000 -0.0057250
4 64.7100000 -0.0233120
5 21.0600000 -0.0639550
6 7.4950000 -0.1499810
7 2.7970000 -0.1272620
8 0.5215000 0.5445290
S 1
1 0.1596000 1.0000000
S 1
1 4.5300000 1.0000000
P 3
1 9.4390000 0.0381090
2 2.0020000 0.2094800
3 0.5456000 0.5085570
P 1
1 0.1517000 1.0000000
P 1
1 14.5570000 1.0000000
D 1
1 0.5500000 1.0000000
NITROGEN
S 8
1 9046.0000000 0.0007000
2 1357.0000000 0.0053890
3 309.3000000 0.0274060
4 87.7300000 0.1032070
5 28.5600000 0.2787230
6 10.2100000 0.4485400
7 3.8380000 0.2782380
8 0.7466000 0.0154400
S 8
1 9046.0000000 -0.0001530
2 1357.0000000 -0.0012080
3 309.3000000 -0.0059920
4 87.7300000 -0.0245440
5 28.5600000 -0.0674590
6 10.2100000 -0.1580780
7 3.8380000 -0.1218310
8 0.7466000 0.5490030
S 1
1 0.2248000 1.0000000
S 1
1 6.2330000 1.0000000
P 3
1 13.5500000 0.0399190
2 2.9170000 0.2171690
3 0.7973000 0.5103190
P 1
1 0.2185000 1.0000000
P 1
1 19.9770000 1.0000000
D 1
1 0.8170000 1.0000000
OXYGEN
S 8
1 11720.0000000 0.0007100
2 1759.0000000 0.0054700
3 400.8000000 0.0278370
4 113.7000000 0.1048000
5 37.0300000 0.2830620
6 13.2700000 0.4487190
7 5.0250000 0.2709520
8 1.0130000 0.0154580
S 8
1 11720.0000000 -0.0001600
2 1759.0000000 -0.0012630
3 400.8000000 -0.0062670
4 113.7000000 -0.0257160
5 37.0300000 -0.0709240
6 13.2700000 -0.1654110
7 5.0250000 -0.1169550
8 1.0130000 0.5573680
S 1
1 0.3023000 1.0000000
S 1
1 8.2150000 1.0000000
P 3
1 17.7000000 0.0430180
2 3.8540000 0.2289130
3 1.0460000 0.5087280
P 1
1 0.2753000 1.0000000
P 1
1 26.0560000 1.0000000
D 1
1 1.1850000 1.0000000
FLUORINE
S 8
1 14710.0000000 0.0007210
2 2207.0000000 0.0055530
3 502.8000000 0.0282670
4 142.6000000 0.1064440
5 46.4700000 0.2868140
6 16.7000000 0.4486410
7 6.3560000 0.2647610
8 1.3160000 0.0153330
S 8
1 14710.0000000 -0.0001650
2 2207.0000000 -0.0013080
3 502.8000000 -0.0064950
4 142.6000000 -0.0266910
5 46.4700000 -0.0736900
6 16.7000000 -0.1707760
7 6.3560000 -0.1123270
8 1.3160000 0.5628140
S 1
1 0.3897000 1.0000000
S 1
1 10.4260000 1.0000000
P 3
1 22.6700000 0.0448780
2 4.9770000 0.2357180
3 1.3470000 0.5085210
P 1
1 0.3471000 1.0000000
P 1
1 32.8300000 1.0000000
D 1
1 1.6400000 1.0000000
NEON
S 8
1 17880.0000000 0.0007380
2 2683.0000000 0.0056770
3 611.5000000 0.0288830
4 173.5000000 0.1085400
5 56.6400000 0.2909070
6 20.4200000 0.4483240
7 7.8100000 0.2580260
8 1.6530000 0.0150630
S 8
1 17880.0000000 -0.0001720
2 2683.0000000 -0.0013570
3 611.5000000 -0.0067370
4 173.5000000 -0.0276630
5 56.6400000 -0.0762080
6 20.4200000 -0.1752270
7 7.8100000 -0.1070380
8 1.6530000 0.5670500
S 1
1 0.4869000 1.0000000
S 1
1 12.8540000 1.0000000
P 3
1 28.3900000 0.0460870
2 6.2700000 0.2401810
3 1.6950000 0.5087440
P 1
1 0.4317000 1.0000000
P 1
1 40.1840000 1.0000000
D 1
1 2.2020000 1.0000000
SODIUM
S 11
1 31700.0000000 0.458878E-03
2 4755.0000000 0.355070E-02
3 1082.0000000 0.182618E-01
4 306.4000000 0.716650E-01
5 99.5300000 0.212346E+00
6 35.4200000 0.416203E+00
7 13.3000000 0.373020E+00
8 4.3920000 0.625054E-01
9 1.6760000 -0.624532E-02
10 0.5889000 0.243374E-02
11 0.0564000 -0.442381E-03
S 11
1 31700.0000000 -0.112162E-03
2 4755.0000000 -0.868512E-03
3 1082.0000000 -0.451330E-02
4 306.4000000 -0.181436E-01
5 99.5300000 -0.580799E-01
6 35.4200000 -0.137653E+00
7 13.3000000 -0.193908E+00
8 4.3920000 0.858009E-01
9 1.6760000 0.604419E+00
10 0.5889000 0.441719E+00
11 0.0564000 0.130547E-01
S 11
1 31700.0000000 0.170160E-04
2 4755.0000000 0.130693E-03
3 1082.0000000 0.687784E-03
4 306.4000000 0.272359E-02
5 99.5300000 0.895529E-02
6 35.4200000 0.207832E-01
7 13.3000000 0.319380E-01
8 4.3920000 -0.191368E-01
9 1.6760000 -0.102595E+00
10 0.5889000 -0.198945E+00
11 0.0564000 0.655952E+00
S 1
1 0.0230700 1.0000000
S 1
1 0.7040000 1.0000000
P 7
1 138.1000000 0.579641E-02
2 32.2400000 0.415756E-01
3 9.9850000 0.162873E+00
4 3.4840000 0.359401E+00
5 1.2310000 0.449988E+00
6 0.4177000 0.227507E+00
7 0.0651300 0.808247E-02
P 7
1 138.1000000 -0.581531E-03
2 32.2400000 -0.407306E-02
3 9.9850000 -0.167937E-01
4 3.4840000 -0.353268E-01
5 1.2310000 -0.521971E-01
6 0.4177000 -0.168359E-01
7 0.0651300 0.434613E+00
P 1
1 0.0205300 1.0000000
P 1
1 0.7610000 1.0000000
D 1
1 0.0973000 1.0000000
D 1
1 2.9490000 1.0000000
MAGNESIUM
S 11
1 47390.0000000 0.346023E-03
2 7108.0000000 0.268077E-02
3 1618.0000000 0.138367E-01
4 458.4000000 0.551767E-01
5 149.3000000 0.169660E+00
6 53.5900000 0.364703E+00
7 20.7000000 0.406856E+00
8 8.3840000 0.135089E+00
9 2.5420000 0.490884E-02
10 0.8787000 0.286460E-03
11 0.1077000 0.264590E-04
S 11
1 47390.0000000 -0.877839E-04
2 7108.0000000 -0.674725E-03
3 1618.0000000 -0.355603E-02
4 458.4000000 -0.142154E-01
5 149.3000000 -0.476748E-01
6 53.5900000 -0.114892E+00
7 20.7000000 -0.200676E+00
8 8.3840000 -0.341224E-01
9 2.5420000 0.570454E+00
10 0.8787000 0.542309E+00
11 0.1077000 0.218128E-01
S 11
1 47390.0000000 0.169628E-04
2 7108.0000000 0.129865E-03
3 1618.0000000 0.688831E-03
4 458.4000000 0.273533E-02
5 149.3000000 0.931224E-02
6 53.5900000 0.223265E-01
7 20.7000000 0.411195E-01
8 8.3840000 0.545642E-02
9 2.5420000 -0.134012E+00
10 0.8787000 -0.256176E+00
11 0.1077000 0.605856E+00
S 1
1 0.0399900 1.0000000
S 1
1 3.4220000 1.0000000
P 7
1 179.9000000 0.538161E-02
2 42.1400000 0.392418E-01
3 13.1300000 0.157445E+00
4 4.6280000 0.358535E+00
5 1.6700000 0.457226E+00
6 0.5857000 0.215918E+00
7 0.1311000 0.664948E-02
P 7
1 179.9000000 -0.865948E-03
2 42.1400000 -0.615978E-02
3 13.1300000 -0.261519E-01
4 4.6280000 -0.570647E-01
5 1.6700000 -0.873906E-01
6 0.5857000 -0.122990E-01
7 0.1311000 0.502085E+00
P 1
1 0.0411200 1.0000000
P 1
1 8.2790000 1.0000000
D 1
1 0.1870000 1.0000000
D 1
1 3.7040000 1.0000000
ALUMINUM
S 11
1 64150.0000000 0.290250E-03
2 9617.0000000 0.225064E-02
3 2189.0000000 0.116459E-01
4 620.5000000 0.467377E-01
5 202.7000000 0.146299E+00
6 73.1500000 0.330283E+00
7 28.5500000 0.415861E+00
8 11.7700000 0.189253E+00
9 3.3000000 0.115889E-01
10 1.1730000 -0.128385E-02
11 0.1752000 0.425883E-03
S 11
1 64150.0000000 -0.758048E-04
2 9617.0000000 -0.581791E-03
3 2189.0000000 -0.308113E-02
4 620.5000000 -0.123112E-01
5 202.7000000 -0.419781E-01
6 73.1500000 -0.103371E+00
7 28.5500000 -0.196308E+00
8 11.7700000 -0.830002E-01
9 3.3000000 0.541040E+00
10 1.1730000 0.578796E+00
11 0.1752000 0.288147E-01
S 11
1 64150.0000000 0.175078E-04
2 9617.0000000 0.134208E-03
3 2189.0000000 0.712442E-03
4 620.5000000 0.284330E-02
5 202.7000000 0.976842E-02
6 73.1500000 0.241850E-01
7 28.5500000 0.474993E-01
8 11.7700000 0.203621E-01
9 3.3000000 -0.158788E+00
10 1.1730000 -0.311694E+00
11 0.1752000 0.620147E+00
S 1
1 0.0647300 1.0000000
S 1
1 4.0300000 1.0000000
P 7
1 258.8000000 0.406847E-02
2 60.8900000 0.306815E-01
3 19.1400000 0.129149E+00
4 6.8810000 0.320831E+00
5 2.5740000 0.453815E+00
6 0.9572000 0.275066E+00
7 0.2099000 0.190807E-01
P 7
1 258.8000000 -0.748053E-03
2 60.8900000 -0.545796E-02
3 19.1400000 -0.245371E-01
4 6.8810000 -0.582138E-01
5 2.5740000 -0.983756E-01
6 0.9572000 -0.260064E-01
7 0.2099000 0.464020E+00
P 1
1 0.0598600 1.0000000
P 1
1 1.5290000 1.0000000
D 1
1 0.1890000 1.0000000
D 1
1 4.7250000 1.0000000
SILICON
S 11
1 78860.0000000 0.270443E-03
2 11820.0000000 0.209717E-02
3 2692.0000000 0.108506E-01
4 763.4000000 0.436754E-01
5 249.6000000 0.137653E+00
6 90.2800000 0.316644E+00
7 35.2900000 0.418581E+00
8 14.5100000 0.210212E+00
9 4.0530000 0.144952E-01
10 1.4820000 -0.203590E-02
11 0.2517000 0.624186E-03
S 11
1 78860.0000000 -0.723177E-04
2 11820.0000000 -0.555116E-03
3 2692.0000000 -0.293805E-02
4 763.4000000 -0.117687E-01
5 249.6000000 -0.402907E-01
6 90.2800000 -0.100609E+00
7 35.2900000 -0.196528E+00
8 14.5100000 -0.102382E+00
9 4.0530000 0.527190E+00
10 1.4820000 0.593251E+00
11 0.2517000 0.332652E-01
S 11
1 78860.0000000 0.185113E-04
2 11820.0000000 0.142236E-03
3 2692.0000000 0.752185E-03
4 763.4000000 0.302279E-02
5 249.6000000 0.103677E-01
6 90.2800000 0.262563E-01
7 35.2900000 0.523989E-01
8 14.5100000 0.290959E-01
9 4.0530000 -0.178003E+00
10 1.4820000 -0.346874E+00
11 0.2517000 0.623020E+00
S 1
1 0.0924300 1.0000000
S 1
1 4.9590000 1.0000000
P 7
1 315.9000000 0.392656E-02
2 74.4200000 0.298811E-01
3 23.4800000 0.127212E+00
4 8.4880000 0.320943E+00
5 3.2170000 0.455429E+00
6 1.2290000 0.268563E+00
7 0.2964000 0.188336E-01
P 7
1 315.9000000 -0.858302E-03
2 74.4200000 -0.630328E-02
3 23.4800000 -0.288255E-01
4 8.4880000 -0.694560E-01
5 3.2170000 -0.119493E+00
6 1.2290000 -0.199581E-01
7 0.2964000 0.510268E+00
P 1
1 0.0876800 1.0000000
P 1
1 1.9980000 1.0000000
D 1
1 0.2750000 1.0000000
D 1
1 5.8060000 1.0000000
PHOSPHORUS
S 11
1 94840.0000000 0.255509E-03
2 14220.0000000 0.198193E-02
3 3236.0000000 0.102760E-01
4 917.1000000 0.414823E-01
5 299.5000000 0.131984E+00
6 108.1000000 0.308662E+00
7 42.1800000 0.420647E+00
8 17.2800000 0.222878E+00
9 4.8580000 0.164035E-01
10 1.8180000 -0.254255E-02
11 0.3372000 0.748050E-03
S 11
1 94840.0000000 -0.696939E-04
2 14220.0000000 -0.535266E-03
3 3236.0000000 -0.283709E-02
4 917.1000000 -0.113983E-01
5 299.5000000 -0.392929E-01
6 108.1000000 -0.996364E-01
7 42.1800000 -0.197983E+00
8 17.2800000 -0.114860E+00
9 4.8580000 0.518595E+00
10 1.8180000 0.601847E+00
11 0.3372000 0.368612E-01
S 11
1 94840.0000000 0.191199E-04
2 14220.0000000 0.147223E-03
3 3236.0000000 0.777912E-03
4 917.1000000 0.314546E-02
5 299.5000000 0.108200E-01
6 108.1000000 0.279957E-01
7 42.1800000 0.563978E-01
8 17.2800000 0.358190E-01
9 4.8580000 -0.193387E+00
10 1.8180000 -0.372097E+00
11 0.3372000 0.624246E+00
S 1
1 0.1232000 1.0000000
S 1
1 5.9770000 1.0000000
P 7
1 370.5000000 0.395005E-02
2 87.3300000 0.302492E-01
3 27.5900000 0.129554E+00
4 10.0000000 0.327594E+00
5 3.8250000 0.456992E+00
6 1.4940000 0.253086E+00
7 0.3921000 0.168798E-01
P 7
1 370.5000000 -0.959832E-03
2 87.3300000 -0.711177E-02
3 27.5900000 -0.327122E-01
4 10.0000000 -0.795784E-01
5 3.8250000 -0.135016E+00
6 1.4940000 -0.910585E-02
7 0.3921000 0.537802E+00
P 1
1 0.1186000 1.0000000
P 1
1 2.5240000 1.0000000
D 1
1 0.3730000 1.0000000
D 1
1 7.0200000 1.0000000
SULFUR
S 11
1 110800.0000000 0.247635E-03
2 16610.0000000 0.192026E-02
3 3781.0000000 0.996192E-02
4 1071.0000000 0.402975E-01
5 349.8000000 0.128604E+00
6 126.3000000 0.303480E+00
7 49.2600000 0.421432E+00
8 20.1600000 0.230781E+00
9 5.7200000 0.178971E-01
10 2.1820000 -0.297516E-02
11 0.4327000 0.849522E-03
S 11
1 110800.0000000 -0.687039E-04
2 16610.0000000 -0.527681E-03
3 3781.0000000 -0.279671E-02
4 1071.0000000 -0.112651E-01
5 349.8000000 -0.388834E-01
6 126.3000000 -0.995025E-01
7 49.2600000 -0.199740E+00
8 20.1600000 -0.123360E+00
9 5.7200000 0.513194E+00
10 2.1820000 0.607120E+00
11 0.4327000 0.396753E-01
S 11
1 110800.0000000 0.199077E-04
2 16610.0000000 0.153483E-03
3 3781.0000000 0.809503E-03
4 1071.0000000 0.328974E-02
5 349.8000000 0.112967E-01
6 126.3000000 0.296385E-01
7 49.2600000 0.599851E-01
8 20.1600000 0.413248E-01
9 5.7200000 -0.207474E+00
10 2.1820000 -0.392889E+00
11 0.4327000 0.632840E+00
S 1
1 0.1570000 1.0000000
S 1
1 7.0830000 1.0000000
P 7
1 399.7000000 0.447541E-02
2 94.1900000 0.341708E-01
3 29.7500000 0.144250E+00
4 10.7700000 0.353928E+00
5 4.1190000 0.459085E+00
6 1.6250000 0.206383E+00
7 0.4726000 0.102141E-01
P 7
1 399.7000000 -0.116251E-02
2 94.1900000 -0.865664E-02
3 29.7500000 -0.390886E-01
4 10.7700000 -0.934625E-01
5 4.1190000 -0.147994E+00
6 1.6250000 0.301904E-01
7 0.4726000 0.561573E+00
P 1
1 0.1407000 1.0000000
P 1
1 3.0890000 1.0000000
D 1
1 0.4790000 1.0000000
D 1
1 8.3630000 1.0000000
CHLORINE
S 11
1 127900.0000000 0.241153E-03
2 19170.0000000 0.187095E-02
3 4363.0000000 0.970827E-02
4 1236.0000000 0.393153E-01
5 403.6000000 0.125932E+00
6 145.7000000 0.299341E+00
7 56.8100000 0.421886E+00
8 23.2300000 0.237201E+00
9 6.6440000 0.191531E-01
10 2.5750000 -0.334792E-02
11 0.5371000 0.929883E-03
S 11
1 127900.0000000 -0.678922E-04
2 19170.0000000 -0.521836E-03
3 4363.0000000 -0.276513E-02
4 1236.0000000 -0.111537E-01
5 403.6000000 -0.385919E-01
6 145.7000000 -0.994848E-01
7 56.8100000 -0.201392E+00
8 23.2300000 -0.130313E+00
9 6.6440000 0.509443E+00
10 2.5750000 0.610725E+00
11 0.5371000 0.421549E-01
S 11
1 127900.0000000 0.204986E-04
2 19170.0000000 0.158298E-03
3 4363.0000000 0.833639E-03
4 1236.0000000 0.339880E-02
5 403.6000000 0.116738E-01
6 145.7000000 0.309622E-01
7 56.8100000 0.629533E-01
8 23.2300000 0.460257E-01
9 6.6440000 -0.219312E+00
10 2.5750000 -0.408773E+00
11 0.5371000 0.638465E+00
S 1
1 0.1938000 1.0000000
S 1
1 8.2730000 1.0000000
P 7
1 417.6000000 0.525982E-02
2 98.3300000 0.398332E-01
3 31.0400000 0.164655E+00
4 11.1900000 0.387322E+00
5 4.2490000 0.457072E+00
6 1.6240000 0.151636E+00
7 0.5322000 0.181615E-02
P 7
1 417.6000000 -0.143570E-02
2 98.3300000 -0.107796E-01
3 31.0400000 -0.470075E-01
4 11.1900000 -0.111030E+00
5 4.2490000 -0.153275E+00
6 1.6240000 0.894609E-01
7 0.5322000 0.579444E+00
P 1
1 0.1620000 1.0000000
P 1
1 3.6970000 1.0000000
D 1
1 0.6000000 1.0000000
D 1
1 9.8440000 1.0000000
ARGON
S 11
1 145700.0000000 0.236700E-03
2 21840.0000000 0.183523E-02
3 4972.0000000 0.952860E-02
4 1408.0000000 0.386283E-01
5 459.7000000 0.124081E+00
6 165.9000000 0.296471E+00
7 64.6900000 0.422068E+00
8 26.4400000 0.241711E+00
9 7.6280000 0.200509E-01
10 2.9960000 -0.361000E-02
11 0.6504000 0.975607E-03
S 11
1 145700.0000000 -0.674910E-04
2 21840.0000000 -0.518522E-03
3 4972.0000000 -0.274825E-02
4 1408.0000000 -0.111007E-01
5 459.7000000 -0.384820E-01
6 165.9000000 -0.997599E-01
7 64.6900000 -0.203088E+00
8 26.4400000 -0.135608E+00
9 7.6280000 0.507195E+00
10 2.9960000 0.612898E+00
11 0.6504000 0.442968E-01
S 11
1 145700.0000000 0.210457E-04
2 21840.0000000 0.162565E-03
3 4972.0000000 0.855463E-03
4 1408.0000000 0.349745E-02
5 459.7000000 0.120156E-01
6 165.9000000 0.321368E-01
7 64.6900000 0.655279E-01
8 26.4400000 0.499370E-01
9 7.6280000 -0.229769E+00
10 2.9960000 -0.421006E+00
11 0.6504000 0.642331E+00
S 1
1 0.2337000 1.0000000
S 1
1 9.5480000 1.0000000
P 7
1 453.7000000 0.570555E-02
2 106.8000000 0.430460E-01
3 33.7300000 0.176591E+00
4 12.1300000 0.406863E+00
5 4.5940000 0.452549E+00
6 1.6780000 0.122801E+00
7 0.5909000 -0.445996E-02
P 7
1 453.7000000 -0.160655E-02
2 106.8000000 -0.121714E-01
3 33.7300000 -0.520789E-01
4 12.1300000 -0.123737E+00
5 4.5940000 -0.151619E+00
6 1.6780000 0.142425E+00
7 0.5909000 0.584501E+00
P 1
1 0.1852000 1.0000000
P 1
1 4.3610000 1.0000000
D 1
1 0.7380000 1.0000000
D 1
1 11.4590000 1.0000000
CALCIUM
S 13
1 190000.7000000 0.00022145
2 28481.4600000 0.00171830
3 6482.7010000 0.00892348
4 1835.8910000 0.03630183
5 598.7243000 0.11762223
6 215.8841000 0.28604352
7 84.0124200 0.42260708
8 34.2248800 0.25774366
9 10.0249700 0.02391893
10 4.0559200 -0.00495218
11 1.0202610 0.00171779
12 0.4268650 -0.00089209
13 0.0633470 0.00024510
S 13
1 190000.7000000 -0.00006453
2 28481.4600000 -0.00049662
3 6482.7010000 -0.00262826
4 1835.8910000 -0.01066845
5 598.7243000 -0.03713509
6 215.8841000 -0.09804284
7 84.0124200 -0.20342692
8 34.2248800 -0.15244655
9 10.0249700 0.48279406
10 4.0559200 0.62923839
11 1.0202610 0.06164842
12 0.4268650 -0.01479971
13 0.0633470 0.00361089
S 13
1 190000.7000000 0.00002223
2 28481.4600000 0.00017170
3 6482.7010000 0.00090452
4 1835.8910000 0.00370343
5 598.7243000 0.01283750
6 215.8841000 0.03475459
7 84.0124200 0.07303491
8 34.2248800 0.06100083
9 10.0249700 -0.24292928
10 4.0559200 -0.48708500
11 1.0202610 0.56502804
12 0.4268650 0.65574386
13 0.0633470 0.02672894
S 13
1 190000.7000000 0.00000531
2 28481.4600000 0.00004111
3 6482.7010000 0.00021568
4 1835.8910000 0.00088827
5 598.7243000 0.00305813
6 215.8841000 0.00837608
7 84.0124200 0.01741056
8 34.2248800 0.01515453
9 10.0249700 -0.06207919
10 4.0559200 -0.12611803
11 1.0202610 0.17360694
12 0.4268650 0.37822943
13 0.0633470 -0.65964698
S 1
1 0.0263010 1.0000000
S 1
1 1.1143000 1.0000000
P 10
1 1072.0430000 0.00198166
2 253.8439000 0.01612944
3 81.3162600 0.07657851
4 30.2418300 0.23269594
5 12.1011000 0.42445210
6 5.0225540 0.37326402
7 1.9092200 0.07868530
8 0.7713040 -0.00599927
9 0.3005700 0.00264257
10 0.0766490 -0.00085694
P 10
1 1072.0430000 -0.00064891
2 253.8439000 -0.00527907
3 81.3162600 -0.02581131
4 30.2418300 -0.08062892
5 12.1011000 -0.15846552
6 5.0225540 -0.12816816
7 1.9092200 0.25610103
8 0.7713040 0.58724068
9 0.3005700 0.30372561
10 0.0766490 0.01416451
P 10
1 1072.0430000 0.00013595
2 253.8439000 0.00109420
3 81.3162600 0.00542680
4 30.2418300 0.01674718
5 12.1011000 0.03389863
6 5.0225540 0.02531183
7 1.9092200 -0.05895713
8 0.7713040 -0.15876120
9 0.3005700 -0.08554523
10 0.0766490 0.54464665
P 1
1 0.0277720 1.0000000
P 1
1 1.5101000 1.0000000
D 4
1 10.3182000 0.03284900
2 2.5924200 0.14819200
3 0.7617000 0.31092100
4 0.2083800 0.45219500
D 1
1 0.0537000 1.0000000
D 1
1 1.3743000 1.0000000

1613
data/basis/cc-pcvqz Normal file

File diff suppressed because it is too large Load Diff

1248
data/basis/cc-pcvtz Normal file

File diff suppressed because it is too large Load Diff

7214
data/basis/cc-pv5z Normal file

File diff suppressed because it is too large Load Diff

1325
data/basis/cc-pv6z Normal file

File diff suppressed because it is too large Load Diff

3369
data/basis/cc-pvdz Normal file

File diff suppressed because it is too large Load Diff

5484
data/basis/cc-pvqz Normal file

File diff suppressed because it is too large Load Diff

4271
data/basis/cc-pvtz Normal file

File diff suppressed because it is too large Load Diff

1019
data/basis/v5z-bfd Normal file

File diff suppressed because it is too large Load Diff

588
data/basis/vdz-ano-bfd Normal file
View File

@ -0,0 +1,588 @@
LITHIUM
S 6
1 1.865990 0.005887
2 0.725995 -0.057751
3 0.309251 -0.111789
4 0.110313 0.361605
5 0.048874 -0.241554
6 0.021768 1.027902
S 6
1 1.865990 0.021568
2 0.725995 -0.162539
3 0.309251 0.000231
4 0.110313 0.104303
5 0.048874 2.112288
6 0.021768 -1.974803
S 1
1 0.028050 1.000000
P 3
1 1.534000 0.022786
2 0.274900 0.139102
3 0.073620 0.500375
STRONTIUM
S 9
1 12.537926 0.056019
2 9.644559 -0.319559
3 7.418891 0.496897
4 3.106116 -0.693521
5 0.731407 0.559915
6 0.421768 0.476488
7 0.236198 0.239153
8 0.057380 0.010270
9 0.023248 0.000444
S 9
1 12.537926 -0.009645
2 9.644559 0.074660
3 7.418891 -0.133872
4 3.106116 0.221481
5 0.731407 -0.178482
6 0.421768 -0.367483
7 0.236198 -0.143888
8 0.057380 0.819749
9 0.023248 0.378443
S 9
1 12.537926 -0.016059
2 9.644559 -0.036282
3 7.418891 0.162875
4 3.106116 -0.403863
5 0.731407 0.657318
6 0.421768 0.725036
7 0.236198 -0.864069
8 0.057380 -1.614344
9 0.023248 1.741258
P 8
1 8.031300 -0.027375
2 6.169712 0.134451
3 4.737447 -0.141446
4 2.557380 -0.288234
5 1.958905 0.251489
6 0.755919 0.484837
7 0.346062 0.478923
8 0.144393 0.116113
P 8
1 8.031300 -0.076563
2 6.169712 0.260116
3 4.737447 -0.361526
4 2.557380 1.223168
5 1.958905 -1.150741
6 0.755919 -0.648497
7 0.346062 0.005398
8 0.144393 1.027073
P 8
1 8.031300 0.054262
2 6.169712 -0.233234
3 4.737447 0.166259
4 2.557380 1.433437
5 1.958905 -1.749155
6 0.755919 -1.304300
7 0.346062 2.787813
8 0.144393 -1.637281
D 7
1 2.597486 -0.123249
2 2.259068 0.131478
3 0.851914 0.183936
4 0.374411 0.259131
5 0.151068 0.324639
6 0.058848 0.377687
7 0.022210 0.198546
D 7
1 2.597486 -0.393968
2 2.259068 0.421141
3 0.851914 0.667093
4 0.374411 0.283968
5 0.151068 -0.248146
6 0.058848 -0.332207
7 0.022210 -0.173660
S 1
1 0.018536 1.000000
P 1
1 0.206837 1.000000
D 1
1 0.434602 1.000000
MAGNESIUM
S 6
1 1.478260 0.044288
2 0.730245 -0.302453
3 0.310223 0.115083
4 0.092031 0.665354
5 0.043335 0.341308
6 0.019667 0.055695
S 6
1 1.478260 0.125665
2 0.730245 -0.856674
3 0.310223 1.205157
4 0.092031 1.223081
5 0.043335 -1.734563
6 0.019667 0.022266
P 6
1 1.152482 -0.033073
2 0.480621 -0.143375
3 0.284194 0.316043
4 0.114904 0.557585
5 0.060492 0.303614
6 0.018183 0.021914
S 1
1 0.039990 1.000000
RUBIDIUM
S 8
1 9.767225 -0.072358
2 7.513250 0.179488
3 2.694294 -0.499645
4 0.633389 0.414757
5 0.409050 0.499081
6 0.201657 0.319280
7 0.034640 0.005694
8 0.015189 -0.001424
S 8
1 9.767225 0.016043
2 7.513250 -0.042332
3 2.694294 0.132859
4 0.633389 -0.129005
5 0.409050 -0.204416
6 0.201657 -0.199195
7 0.034640 0.750685
8 0.015189 0.388186
S 8
1 9.767225 -0.085889
2 7.513250 0.238678
3 2.694294 -0.867484
4 0.633389 3.599294
5 0.409050 -1.879202
6 0.201657 -1.295026
7 0.034640 0.244264
8 0.015189 0.243444
P 7
1 6.343477 0.012668
2 4.879598 0.010587
3 3.131868 -0.146383
4 1.246199 0.088865
5 0.649813 0.443670
6 0.292612 0.483346
7 0.122257 0.137563
P 7
1 6.343477 0.028803
2 4.879598 -0.145777
3 3.131868 0.403476
4 1.246199 -0.503892
5 0.649813 -0.939167
6 0.292612 0.709793
7 0.122257 0.563643
P 7
1 6.343477 0.032476
2 4.879598 0.039075
3 3.131868 -0.486709
4 1.246199 1.556776
5 0.649813 -0.316928
6 0.292612 -1.802466
7 0.122257 1.538441
D 6
1 3.634479 -0.002835
2 0.636322 0.095349
3 0.192312 0.121831
4 0.052088 0.294960
5 0.016287 0.635141
6 0.005344 0.190060
D 6
1 3.634479 -0.018264
2 0.636322 0.870358
3 0.192312 0.202742
4 0.052088 -0.103526
5 0.016287 -0.156987
6 0.005344 -0.054265
S 1
1 0.398962 1.000000
P 1
1 0.248810 1.000000
D 1
1 0.376507 1.000000
HYDROGEN
S 6
1 6.359201 0.003784
2 3.546637 0.022388
3 1.493442 0.091414
4 0.551948 0.149980
5 0.207203 0.375784
6 0.079234 -0.098638
S 6
1 6.359201 0.001940
2 3.546637 -0.053797
3 1.493442 -0.088952
4 0.551948 -0.457785
5 0.207203 -0.291335
6 0.079234 -0.540688
S 1
1 0.122000 1.000000
P 1
1 0.727000 1.000000
BARIUM
S 9
1 7.668827 0.099903
2 5.899098 -0.539014
3 4.537768 0.789884
4 1.939767 -0.919853
5 0.485416 0.685412
6 0.316438 0.352069
7 0.191001 0.313113
8 0.046602 0.012071
9 0.019586 0.000195
S 9
1 7.668827 -0.020684
2 5.899098 0.142186
3 4.537768 -0.235880
4 1.939767 0.325146
5 0.485416 -0.241735
6 0.316438 -0.361947
7 0.191001 -0.195150
8 0.046602 0.854162
9 0.019586 0.372375
S 9
1 7.668827 -0.018216
2 5.899098 -0.083670
3 4.537768 0.274989
4 1.939767 -0.559768
5 0.485416 0.739773
6 0.316438 1.068059
7 0.191001 -1.183905
8 0.046602 -1.686402
9 0.019586 1.807458
P 8
1 5.748216 -0.007820
2 4.359494 0.025098
3 2.694811 0.130142
4 2.054688 -0.371710
5 1.325476 0.045562
6 0.533933 0.512549
7 0.252234 0.522043
8 0.106579 0.115212
P 8
1 5.748216 -0.070208
2 4.359494 0.228384
3 2.694811 -1.018839
4 2.054688 1.622011
5 1.325476 -0.723284
6 0.533933 -0.759934
7 0.252234 -0.102172
8 0.106579 1.116375
P 8
1 5.748216 -0.020008
2 4.359494 0.102486
3 2.694811 -1.184510
4 2.054688 2.482766
5 1.325476 -1.525193
6 0.533933 -1.791667
7 0.252234 3.163544
8 0.106579 -1.697757
D 7
1 1.291237 -0.081526
2 0.620118 0.242122
3 0.245894 0.363230
4 0.100378 0.363001
5 0.043471 0.279462
6 0.019366 0.080598
7 0.005614 0.001495
D 7
1 1.291237 -0.226381
2 0.620118 0.924147
3 0.245894 0.238044
4 0.100378 -0.428248
5 0.043471 -0.294578
6 0.019366 -0.098393
7 0.005614 0.000523
S 1
1 0.044672 1.000000
P 1
1 0.148023 1.000000
D 1
1 0.280688 1.000000
CESIUM
S 8
1 8.550325 -0.029241
2 5.842621 0.098301
3 1.648331 -0.489131
4 0.671392 -0.089889
5 0.400830 0.851669
6 0.172129 0.479902
7 0.027883 0.010125
8 0.012661 -0.003102
S 8
1 8.550325 0.007746
2 5.842621 -0.027891
3 1.648331 0.158615
4 0.671392 0.012978
5 0.400830 -0.331365
6 0.172129 -0.288264
7 0.027883 0.824514
8 0.012661 0.326060
S 8
1 8.550325 -0.090949
2 5.842621 0.250139
3 1.648331 -1.343357
4 0.671392 2.095624
5 0.400830 0.865253
6 0.172129 -2.085356
7 0.027883 0.323332
8 0.012661 0.213379
P 7
1 5.889092 -0.000325
2 3.217760 0.082741
3 2.244936 -0.211311
4 0.872867 -0.117777
5 0.570741 0.476090
6 0.245890 0.583238
7 0.102479 0.177461
P 7
1 5.889092 0.005847
2 3.217760 -0.189345
3 2.244936 0.461426
4 0.872867 0.084312
5 0.570741 -1.477717
6 0.245890 0.496504
7 0.102479 0.743335
P 7
1 5.889092 0.006016
2 3.217760 -0.338322
3 2.244936 0.938988
4 0.872867 -1.750300
5 0.570741 -0.125834
6 0.245890 2.355014
7 0.102479 -1.617844
D 6
1 2.495395 0.022198
2 1.888219 -0.045568
3 0.402947 0.182091
4 0.060596 0.380572
5 0.023404 0.370509
6 0.009039 0.408565
D 6
1 2.495395 0.017088
2 1.888219 -0.103040
3 0.402947 0.996033
4 0.060596 0.008025
5 0.023404 -0.220790
6 0.009039 -0.121410
S 1
1 0.070711 1.000000
P 1
1 0.172591 1.000000
D 1
1 0.227673 1.000000
CALCIUM
S 8
1 13.477361 -0.068812
2 10.366318 0.195841
3 4.451759 -0.499643
4 1.034535 0.486822
5 0.564680 0.488475
6 0.301117 0.248699
7 0.067769 0.012110
8 0.026665 0.000284
S 8
1 13.477361 0.015699
2 10.366318 -0.049635
3 4.451759 0.145436
4 1.034535 -0.147502
5 0.564680 -0.288572
6 0.301117 -0.173348
7 0.067769 0.762592
8 0.026665 0.417691
S 8
1 13.477361 -0.006948
2 10.366318 0.056970
3 4.451759 -0.266642
4 1.034535 0.537766
5 0.564680 0.557346
6 0.301117 -0.600386
7 0.067769 -1.666858
8 0.026665 1.730097
P 7
1 7.675629 0.027362
2 5.900655 -0.084484
3 2.665766 -0.076649
4 2.044642 0.276402
5 0.918736 0.457956
6 0.421800 0.386995
7 0.176537 0.089635
P 7
1 7.675629 -0.006243
2 5.900655 0.048318
3 2.665766 0.507648
4 2.044642 -1.036016
5 0.918736 -0.312149
6 0.421800 0.190137
7 0.176537 0.856880
P 7
1 7.675629 -0.143357
2 5.900655 0.357390
3 2.665766 -0.230640
4 2.044642 -0.669554
5 0.918736 -0.480028
6 0.421800 2.213388
7 0.176537 -1.590456
D 6
1 5.262963 0.040805
2 2.239047 0.180718
3 0.848828 0.299968
4 0.301758 0.306863
5 0.100864 0.372598
6 0.032751 0.268735
D 6
1 5.262963 0.038233
2 2.239047 0.386451
3 0.848828 0.541224
4 0.301758 -0.149400
5 0.100864 -0.398345
6 0.032751 -0.278415
S 1
1 0.026301 1.000000
P 1
1 0.027772 1.000000
D 1
1 0.053700 1.000000
SODIUM
S 6
1 1.478260 0.016543
2 0.730245 -0.070302
3 0.310223 -0.112523
4 0.092031 0.249490
5 0.043335 -0.049536
6 0.019667 0.919011
S 6
1 1.478260 0.047476
2 0.730245 -0.203137
3 0.310223 -0.054702
4 0.092031 0.305867
5 0.043335 1.913205
6 0.019667 -1.942172
P 6
1 1.191176 0.008098
2 0.688275 -0.046550
3 0.158308 -0.009617
4 0.094423 0.244709
5 0.036269 0.617743
6 0.014748 0.251068
S 1
1 0.023070 1.000000
BERYLLIUM
S 6
1 1.534946 0.031822
2 1.126766 -0.284692
3 0.791542 0.134293
4 0.178640 0.447713
5 0.073776 0.501301
6 0.032780 0.143845
S 6
1 1.534946 0.371714
2 1.126766 -1.460040
3 0.791542 1.125926
4 0.178640 1.598045
5 0.073776 -1.306671
6 0.032780 -0.328239
P 3
1 3.619000 0.029105
2 0.711000 0.169466
3 0.195100 0.512969
S 1
1 0.058900 1.000000
POTASSIUM
S 8
1 12.069048 -0.070763
2 9.279420 0.193428
3 3.843824 -0.493653
4 0.980495 0.365802
5 0.507987 0.597102
6 0.235140 0.269210
7 0.038580 0.004569
8 0.016566 -0.001158
S 8
1 12.069048 0.013322
2 9.279420 -0.039190
3 3.843824 0.111796
4 0.980495 -0.089775
5 0.507987 -0.205832
6 0.235140 -0.178814
7 0.038580 0.722698
8 0.016566 0.404078
S 8
1 12.069048 -0.070942
2 9.279420 0.237264
3 3.843824 -0.832982
4 0.980495 2.382744
5 0.507987 -0.673282
6 0.235140 -1.321024
7 0.038580 0.256722
8 0.016566 0.200108
P 7
1 7.064005 0.026186
2 5.416953 -0.071147
3 2.711517 -0.143338
4 2.078824 0.267792
5 0.854092 0.438107
6 0.374019 0.435410
7 0.154283 0.129704
P 7
1 7.064005 -0.020278
2 5.416953 0.058346
3 2.711517 0.636570
4 2.078824 -1.049953
5 0.854092 -0.752403
6 0.374019 0.731023
7 0.154283 0.490763
P 7
1 7.064005 0.056535
2 5.416953 -0.182992
3 2.711517 -0.820658
4 2.078824 2.129538
5 0.854092 -0.701656
6 0.374019 -1.213006
7 0.154283 1.325680
D 6
1 2.800270 0.032813
2 0.814743 0.081949
3 0.214162 0.087435
4 0.052469 0.259192
5 0.016177 0.660947
6 0.005297 0.221836
D 6
1 2.800270 0.280064
2 0.814743 0.749156
3 0.214162 0.132601
4 0.052469 -0.071315
5 0.016177 -0.117915
6 0.005297 -0.046267
S 1
1 0.018206 1.000000
P 1
1 0.174519 1.000000
D 1
1 0.070000 1.000000
HELIUM
S 6
1 14.724593 0.035459
2 5.876024 0.096816
3 2.184104 0.214521
4 0.859307 0.340033
5 0.346900 0.349025
6 0.140004 0.133138
S 6
1 14.724593 -0.057627
2 5.876024 -0.205015
3 2.184104 -0.625120
4 0.859307 -0.249861
5 0.346900 0.718294
6 0.140004 0.368902
S 1
1 0.297600 1.000000
P 1
1 1.275000 1.000000

999
data/basis/vdz-bfd Normal file
View File

@ -0,0 +1,999 @@
ARSENIC
S 9
1 0.079412 0.192043
2 0.178687 0.611682
3 0.402068 0.439261
4 0.904702 -0.110280
5 2.035691 -0.394179
6 4.580555 0.145632
7 10.306811 -0.021379
8 23.191593 0.003205
9 52.183937 -0.000469
S 1
1 0.051480 1.000000
P 9
1 0.050626 0.105058
2 0.108692 0.361819
3 0.233354 0.452107
4 0.500995 0.231243
5 1.075603 -0.009549
6 2.309248 -0.121767
7 4.957802 0.028648
8 10.644071 -0.002941
9 22.852115 0.000293
P 1
1 0.095623 1.000000
D 1
1 0.297652 1.000000
LITHIUM
S 9
1 0.010125 0.007841
2 0.023437 0.258118
3 0.054251 0.423307
4 0.125581 0.167825
5 0.290697 -0.068332
6 0.672909 -0.119269
7 1.557659 0.007736
8 3.605689 0.003630
9 8.346494 -0.000646
S 1
1 0.103721 1.000000
P 9
1 0.018300 -0.005906
2 0.031699 -0.031422
3 0.054908 -0.043628
4 0.095111 -0.016781
5 0.164751 -0.078594
6 0.285379 0.015562
7 0.494330 -0.030830
8 0.856273 0.006185
9 1.483225 -0.008621
P 1
1 0.070391 1.000000
D 1
1 0.110720 1.000000
GERMANIUM
S 9
1 0.066287 0.213230
2 0.150128 0.605570
3 0.340013 0.413442
4 0.770064 -0.106356
5 1.744049 -0.364579
6 3.949940 0.127448
7 8.945864 -0.017166
8 20.260687 0.002454
9 45.886614 -0.000355
S 1
1 0.043781 1.000000
P 9
1 0.036511 0.098680
2 0.080524 0.372290
3 0.177593 0.443836
4 0.391677 0.232585
5 0.863832 0.000058
6 1.905157 -0.108282
7 4.201772 0.021894
8 9.266892 -0.001911
9 20.437873 0.000181
P 1
1 0.074726 1.000000
D 1
1 0.234278 1.000000
POLONIUM
S 9
1 0.088283 0.231892
2 0.178248 0.604604
3 0.359891 0.486838
4 0.726636 -0.020877
5 1.467111 -0.915693
6 2.962164 0.530287
7 5.980742 -0.134624
8 12.075388 0.024651
9 24.380753 -0.003353
S 1
1 0.037768 1.000000
P 9
1 0.044924 0.081132
2 0.089086 0.312154
3 0.176659 0.485758
4 0.350319 0.289954
5 0.694690 -0.005099
6 1.377585 -0.290284
7 2.731780 0.120724
8 5.417177 -0.021788
9 10.742374 0.002411
P 1
1 0.062466 1.000000
D 1
1 0.180317 1.000000
TIN
S 9
1 0.059000 0.238882
2 0.124327 0.598806
3 0.261986 0.422531
4 0.552065 -0.035727
5 1.163330 -0.631790
6 2.451407 0.294297
7 5.165685 -0.057592
8 10.885303 0.009333
9 22.937872 -0.001298
S 1
1 0.031199 1.000000
P 9
1 0.030513 0.083958
2 0.063306 0.340660
3 0.131342 0.458257
4 0.272497 0.257950
5 0.565351 0.020922
6 1.172938 -0.189121
7 2.433504 0.054068
8 5.048810 -0.007013
9 10.474808 0.000749
P 1
1 0.058385 1.000000
D 1
1 0.170348 1.000000
NEON
S 9
1 0.205835 0.057514
2 0.391384 0.215776
3 0.744196 0.374799
4 1.415048 0.326313
5 2.690638 0.166383
6 5.116103 -0.039149
7 9.727994 -0.085909
8 18.497256 0.006816
9 35.171534 0.000206
S 1
1 0.455383 1.000000
P 9
1 0.121772 0.029943
2 0.238248 0.114200
3 0.466136 0.219618
4 0.912002 0.268864
5 1.784344 0.256932
6 3.491095 0.191378
7 6.830378 0.112176
8 13.363732 0.063317
9 26.146332 0.008057
P 1
1 0.472224 1.000000
D 1
1 2.371533 1.000000
BORON
S 9
1 0.040569 0.032031
2 0.081044 0.243317
3 0.161898 0.434636
4 0.323418 0.329581
5 0.646080 0.111875
6 1.290648 -0.078699
7 2.578276 -0.098781
8 5.150520 0.016164
9 10.288990 -0.000016
S 1
1 0.082513 1.000000
P 9
1 0.029207 0.019909
2 0.058408 0.141775
3 0.116803 0.294463
4 0.233582 0.309028
5 0.467115 0.236378
6 0.934132 0.131317
7 1.868068 0.066454
8 3.735743 0.021248
9 7.470701 0.002837
P 1
1 0.086803 1.000000
D 1
1 0.349879 1.000000
GALLIUM
S 9
1 0.054628 0.253171
2 0.123743 0.598295
3 0.280299 0.356909
4 0.634926 -0.056544
5 1.438218 -0.411266
6 3.257814 0.156079
7 7.379514 -0.025142
8 16.715879 0.004089
9 37.864367 -0.000622
S 1
1 0.031898 1.000000
P 9
1 0.029207 0.759400
2 0.064420 -0.022059
3 0.142086 0.368252
4 0.313389 0.051142
5 0.691221 0.036655
6 1.524577 -0.078589
7 3.362652 0.017781
8 7.416764 -0.002498
9 16.358632 0.000386
P 1
1 0.027155 1.000000
D 1
1 0.182311 1.000000
ALUMINUM
S 9
1 0.045518 0.206193
2 0.100308 0.559887
3 0.221051 0.407852
4 0.487132 -0.041098
5 1.073500 -0.238652
6 2.365686 0.038132
7 5.213294 -0.003935
8 11.488606 0.000470
9 25.317597 -0.000014
S 1
1 0.044024 1.000000
P 9
1 0.014848 0.009932
2 0.030967 0.160212
3 0.064586 0.389171
4 0.134700 0.373235
5 0.280932 0.195800
6 0.585913 0.022947
7 1.221985 -0.053293
8 2.548578 0.004846
9 5.315330 -0.000726
P 1
1 0.206631 1.000000
D 1
1 0.193079 1.000000
MAGNESIUM
S 9
1 0.030975 0.165290
2 0.062959 0.506272
3 0.127970 0.333197
4 0.260111 0.057482
5 0.528700 -0.137614
6 1.074630 -0.135378
7 2.184285 0.048310
8 4.439759 -0.005312
9 9.024217 0.000465
S 1
1 0.162370 1.000000
P 9
1 0.047055 1.502038
2 0.083253 -1.433944
3 0.147298 1.318987
4 0.260611 -0.741124
5 0.461094 0.436300
6 0.815803 -0.243798
7 1.443383 0.086774
8 2.553745 -0.028677
9 4.518286 0.006085
P 1
1 0.121683 1.000000
D 1
1 0.135526 1.000000
ASTATINE
S 9
1 0.100143 0.225290
2 0.199361 0.601541
3 0.396881 0.515609
4 0.790095 -0.010167
5 1.572891 -0.996102
6 3.131250 0.588717
7 6.233573 -0.152415
8 12.409558 0.028000
9 24.704472 -0.003759
S 1
1 0.042701 1.000000
P 9
1 0.053678 0.126224
2 0.104254 0.308300
3 0.202485 0.458455
4 0.393270 0.283998
5 0.763818 0.007241
6 1.483503 -0.319237
7 2.881292 0.136193
8 5.596107 -0.024849
9 10.868879 0.002680
P 1
1 0.074570 1.000000
D 1
1 0.204779 1.000000
NITROGEN
S 9
1 0.098869 0.067266
2 0.211443 0.334290
3 0.452197 0.454257
4 0.967080 0.267861
5 2.068221 0.000248
6 4.423150 -0.132606
7 9.459462 0.014437
8 20.230246 0.000359
9 43.264919 -0.000094
S 1
1 0.175123 1.000000
P 9
1 0.073234 0.035758
2 0.145867 0.153945
3 0.290535 0.277656
4 0.578683 0.297676
5 1.152612 0.234403
6 2.295756 0.140321
7 4.572652 0.067219
8 9.107739 0.031594
9 18.140657 0.003301
P 1
1 0.223042 1.000000
D 1
1 0.832058 1.000000
INDIUM
S 9
1 0.048513 0.266560
2 0.104327 0.595345
3 0.224354 0.377654
4 0.482469 -0.036404
5 1.037542 -0.581005
6 2.231217 0.270265
7 4.798193 -0.053715
8 10.318430 0.008961
9 22.189605 -0.001283
S 1
1 0.024011 1.000000
P 9
1 0.024898 0.739358
2 0.052455 -0.048330
3 0.110513 0.414377
4 0.232832 0.046307
5 0.490534 0.047980
6 1.033468 -0.124316
7 2.177331 0.037471
8 4.587245 -0.006011
9 9.664500 0.000835
P 1
1 0.022887 1.000000
D 1
1 0.136213 1.000000
BROMINE
S 9
1 0.114626 0.199832
2 0.253024 0.605806
3 0.558520 0.486414
4 1.232866 -0.208964
5 2.721403 -0.328448
6 6.007171 0.118471
7 13.260109 -0.013112
8 29.270100 0.001206
9 64.610234 -0.000121
S 1
1 0.074712 1.000000
P 9
1 0.067990 0.107992
2 0.145507 0.331860
3 0.311403 0.442871
4 0.666441 0.283256
5 1.426267 -0.026045
6 3.052389 -0.111323
7 6.532494 0.021712
8 13.980353 -0.001188
9 29.919703 0.000022
P 1
1 0.129654 1.000000
D 1
1 0.417296 1.000000
FLUORINE
S 9
1 0.172723 0.070240
2 0.364875 0.311088
3 0.770795 0.444675
4 1.628295 0.287011
5 3.439757 0.018759
6 7.266451 -0.128608
7 15.350300 0.009104
8 32.427348 0.000810
9 68.502433 -0.000133
S 1
1 0.344569 1.000000
P 9
1 0.101001 0.035321
2 0.204414 0.136924
3 0.413707 0.249353
4 0.837289 0.286620
5 1.694565 0.254541
6 3.429580 0.169572
7 6.941026 0.088542
8 14.047737 0.039843
9 28.430799 0.003378
P 1
1 0.364831 1.000000
D 1
1 1.722479 1.000000
CHLORINE
S 9
1 0.119944 0.148917
2 0.257348 0.503616
3 0.552157 0.523995
4 1.184691 0.013612
5 2.541836 -0.328846
6 5.453681 0.056309
7 11.701243 -0.001301
8 25.105812 -0.000294
9 53.866226 0.000076
S 1
1 0.120667 1.000000
P 9
1 0.074374 0.084925
2 0.155084 0.270658
3 0.323378 0.396022
4 0.674303 0.324325
5 1.406043 0.100661
6 2.931855 -0.069802
7 6.113450 -0.000951
8 12.747651 0.001501
9 26.581165 -0.000249
P 1
1 0.168333 1.000000
D 1
1 0.651071 1.000000
CARBON
S 9
1 0.051344 0.013991
2 0.102619 0.169852
3 0.205100 0.397529
4 0.409924 0.380369
5 0.819297 0.180113
6 1.637494 -0.033512
7 3.272791 -0.121499
8 6.541187 0.015176
9 13.073594 -0.000705
S 1
1 0.127852 1.000000
P 9
1 0.029281 0.001787
2 0.058547 0.050426
3 0.117063 0.191634
4 0.234064 0.302667
5 0.468003 0.289868
6 0.935757 0.210979
7 1.871016 0.112024
8 3.741035 0.054425
9 7.480076 0.021931
P 1
1 0.149161 1.000000
D 1
1 0.561160 1.000000
THALLIUM
S 9
1 0.062145 0.342000
2 0.123848 0.545081
3 0.246813 0.349532
4 0.491866 0.191962
5 0.980226 -1.133349
6 1.953465 0.667322
7 3.893007 -0.183402
8 7.758267 0.036089
9 15.461238 -0.005048
S 1
1 0.093384 1.000000
P 9
1 0.026802 0.849514
2 0.054580 -0.193930
3 0.111148 0.480000
4 0.226344 -0.014563
5 0.460933 0.099645
6 0.938656 -0.202294
7 1.911505 0.080577
8 3.892639 -0.016631
9 7.927075 0.002321
P 1
1 0.022400 1.000000
D 1
1 0.118701 1.000000
ANTIMONY
S 9
1 0.069280 0.217459
2 0.143940 0.599932
3 0.299056 0.459407
4 0.621332 -0.042472
5 1.290905 -0.650362
6 2.682040 0.298333
7 5.572320 -0.056893
8 11.577290 0.009102
9 24.053472 -0.001255
S 1
1 0.037942 1.000000
P 9
1 0.040092 0.081712
2 0.080679 0.322605
3 0.162356 0.464722
4 0.326720 0.277088
5 0.657481 0.009090
6 1.323093 -0.194825
7 2.662550 0.054392
8 5.358030 -0.006455
9 10.782327 0.000629
P 1
1 0.073629 1.000000
D 1
1 0.210604 1.000000
OXYGEN
S 9
1 0.125346 0.055741
2 0.268022 0.304848
3 0.573098 0.453752
4 1.225429 0.295926
5 2.620277 0.019567
6 5.602818 -0.128627
7 11.980245 0.012024
8 25.616801 0.000407
9 54.775216 -0.000076
S 1
1 0.258551 1.000000
P 9
1 0.083598 0.044958
2 0.167017 0.150175
3 0.333673 0.255999
4 0.666627 0.281879
5 1.331816 0.242835
6 2.660761 0.161134
7 5.315785 0.082308
8 10.620108 0.039899
9 21.217318 0.004679
P 1
1 0.267865 1.000000
D 1
1 1.232753 1.000000
KRYPTON
S 9
1 0.129911 0.183453
2 0.282220 0.596016
3 0.613098 0.506410
4 1.331901 -0.150926
5 2.893437 -0.423611
6 6.285735 0.162644
7 13.655203 -0.023284
8 29.664719 0.003157
9 64.443973 -0.000422
S 1
1 0.634619 1.000000
P 9
1 0.079314 0.096705
2 0.167216 0.312567
3 0.352539 0.448237
4 0.743252 0.298640
5 1.566988 -0.003641
6 3.303659 -0.138798
7 6.965055 0.029989
8 14.684325 -0.002578
9 30.958748 0.000205
P 1
1 0.149902 1.000000
D 1
1 0.487932 1.000000
HYDROGEN
S 9
1 0.013000 0.000706
2 0.029900 -0.002119
3 0.068770 0.057693
4 0.158170 0.230695
5 0.363792 0.277612
6 0.836721 0.169833
7 1.924458 0.097443
8 4.426254 0.029966
9 10.180385 -0.000452
S 1
1 0.170483 1.000000
P 9
1 0.003000 0.001242
2 0.007800 -0.000913
3 0.020281 -0.000054
4 0.052730 -0.000238
5 0.137097 -0.011530
6 0.356451 -0.018235
7 0.926774 -0.013929
8 2.409612 -0.009395
9 6.264991 -0.000347
PHOSPHORUS
S 9
1 0.074718 0.140225
2 0.160834 0.506746
3 0.346202 0.499893
4 0.745215 0.037301
5 1.604109 -0.284591
6 3.452917 0.024766
7 7.432561 0.001798
8 15.998924 -0.000314
9 34.438408 0.000088
S 1
1 0.077260 1.000000
P 9
1 0.050242 0.072095
2 0.102391 0.278735
3 0.208669 0.411034
4 0.425256 0.304724
5 0.866651 0.091727
6 1.766191 -0.057060
7 3.599410 -0.005103
8 7.335418 0.000328
9 14.949217 -0.000046
P 1
1 0.113433 1.000000
D 1
1 0.390944 1.000000
XENON
S 9
1 0.102640 0.191464
2 0.213839 0.622770
3 0.445507 0.534309
4 0.928158 -0.198001
5 1.933703 -0.566409
6 4.028632 0.286498
7 8.393159 -0.056363
8 17.486112 0.008649
9 36.430159 -0.001133
S 1
1 0.476026 1.000000
P 9
1 0.064650 0.098971
2 0.128837 0.311502
3 0.256753 0.460882
4 0.511669 0.309078
5 1.019678 -0.040260
6 2.032062 -0.202851
7 4.049587 0.067000
8 8.070204 -0.008468
9 16.082675 0.000710
P 1
1 0.404825 1.000000
D 1
1 0.299432 1.000000
IODINE
S 9
1 0.093293 0.205902
2 0.193211 0.623144
3 0.400142 0.491788
4 0.828698 -0.113418
5 1.716243 -0.678442
6 3.554356 0.356660
7 7.361107 -0.078676
8 15.244927 0.013475
9 31.572396 -0.001859
S 1
1 0.047406 1.000000
P 9
1 0.056487 0.112792
2 0.113038 0.317009
3 0.226204 0.456514
4 0.452663 0.284746
5 0.905837 -0.012076
6 1.812697 -0.230182
7 3.627439 0.082214
8 7.258973 -0.012492
9 14.526139 0.001285
P 1
1 0.088978 1.000000
D 1
1 0.269408 1.000000
RADON
S 9
1 0.107979 0.206817
2 0.216651 0.608890
3 0.434692 0.544015
4 0.872173 -0.082252
5 1.749941 -0.878709
6 3.511108 0.506465
7 7.044740 -0.124315
8 14.134673 0.021988
9 28.360021 -0.002930
S 1
1 0.459987 1.000000
P 9
1 0.061896 0.115991
2 0.119480 0.305963
3 0.230636 0.465939
4 0.445207 0.298902
5 0.859401 -0.018422
6 1.658936 -0.304231
7 3.202311 0.129646
8 6.181551 -0.022935
9 11.932499 0.002383
P 1
1 0.365679 1.000000
D 1
1 0.226604 1.000000
BISMUTH
S 9
1 0.082248 0.282386
2 0.164490 0.593494
3 0.328968 0.424216
4 0.657912 0.038472
5 1.315777 -0.999227
6 2.631462 0.598472
7 5.262739 -0.160394
8 10.525107 0.030465
9 21.049473 -0.004168
S 1
1 0.033232 1.000000
P 9
1 0.044793 0.143664
2 0.087289 0.347153
3 0.170104 0.460130
4 0.331490 0.210922
5 0.645988 0.005175
6 1.258866 -0.293261
7 2.453207 0.131047
8 4.780671 -0.025394
9 9.316301 0.002893
P 1
1 0.061071 1.000000
D 1
1 0.168534 1.000000
SILICON
S 9
1 0.059887 0.167492
2 0.130108 0.532550
3 0.282668 0.464290
4 0.614115 -0.002322
5 1.334205 -0.268234
6 2.898645 0.031921
7 6.297493 -0.000106
8 13.681707 -0.000145
9 29.724387 0.000067
S 1
1 0.059803 1.000000
P 9
1 0.036525 0.078761
2 0.076137 0.308331
3 0.158712 0.417773
4 0.330843 0.281676
5 0.689658 0.069876
6 1.437625 -0.056306
7 2.996797 0.000744
8 6.246966 -0.000259
9 13.022097 -0.000022
P 1
1 0.081570 1.000000
D 1
1 0.283626 1.000000
ARGON
S 9
1 0.147347 0.155473
2 0.312164 0.494617
3 0.661339 0.526705
4 1.401090 0.021986
5 2.968301 -0.338533
6 6.288539 0.056023
7 13.322677 -0.000115
8 28.224956 -0.000595
9 59.796402 0.000127
S 1
1 0.147526 1.000000
P 9
1 0.090580 0.079101
2 0.188085 0.260718
3 0.390548 0.395065
4 0.810953 0.334954
5 1.683902 0.107462
6 3.496535 -0.073657
7 7.260371 -0.001407
8 15.075781 0.001710
9 31.304069 -0.000275
P 1
1 0.211798 1.000000
D 1
1 0.810888 1.000000
TELLURIUM
S 9
1 0.075142 0.172506
2 0.157584 0.588177
3 0.330475 0.542659
4 0.693051 -0.103930
5 1.453424 -0.570963
6 3.048032 0.239627
7 6.392144 -0.037900
8 13.405211 0.005057
9 28.112581 -0.000643
S 1
1 0.045193 1.000000
P 9
1 0.044821 0.059581
2 0.089826 0.289200
3 0.180021 0.467423
4 0.360780 0.331776
5 0.723040 0.005406
6 1.449048 -0.191721
7 2.904042 0.045538
8 5.820001 -0.003600
9 11.663885 0.000205
P 1
1 0.080058 1.000000
D 1
1 0.238566 1.000000
LEAD
S 9
1 0.073981 0.324264
2 0.147087 0.571155
3 0.292431 0.374051
4 0.581400 0.124749
5 1.155914 -1.112721
6 2.298139 0.681231
7 4.569061 -0.191716
8 9.084013 0.037806
9 18.060446 -0.005225
S 1
1 0.027053 1.000000
P 9
1 0.036515 0.171402
2 0.072248 0.355473
3 0.142946 0.438265
4 0.282828 0.182315
5 0.559594 0.038526
6 1.107191 -0.295227
7 2.190647 0.129708
8 4.334333 -0.025877
9 8.575748 0.003106
P 1
1 0.050333 1.000000
D 1
1 0.143903 1.000000
SODIUM
S 9
1 0.013061 0.200118
2 0.030041 0.467652
3 0.069092 0.227738
4 0.158908 -0.061581
5 0.365481 -0.137533
6 0.840589 0.003323
7 1.933315 0.003741
8 4.446533 -0.001117
9 10.226816 0.000244
S 1
1 0.865135 1.000000
P 9
1 0.002593 -0.002840
2 0.006741 0.005340
3 0.017525 -0.025936
4 0.045563 -0.053466
5 0.118461 -0.053691
6 0.307987 0.014439
7 0.800738 0.006199
8 2.081847 -0.001026
9 5.412617 0.000168
P 1
1 0.106025 1.000000
D 1
1 0.050790 1.000000
BERYLLIUM
S 9
1 0.030068 0.025105
2 0.054002 0.178890
3 0.096986 0.263939
4 0.174186 0.435946
5 0.312836 -0.008188
6 0.561850 0.049509
7 9077 -0.114576
8 1.812290 -0.067207
9 3.254852 0.017250
S 1
1 0.239392 1.000000
P 9
1 0.015064 0.735052
2 0.028584 -0.476214
3 0.054236 0.564806
4 0.102911 -0.108575
5 0.195269 0.233862
6 0.370513 -0.009003
7 0.703030 0.067510
8 1.333967 -0.002868
9 2.531139 0.017869
P 1
1 0.222969 1.000000
D 1
1 0.217340 1.000000
SELENIUM
S 9
1 0.096883 0.200965
2 0.217674 0.615093
3 0.489067 0.462636
4 1.098828 -0.204179
5 2.468828 -0.307584
6 5.546920 0.109895
7 12.462726 -0.012288
8 28.001040 0.001205
9 62.912258 -0.000132
S 1
1 0.062467 1.000000
P 9
1 0.056147 0.073504
2 0.122259 0.334692
3 0.266220 0.473323
4 0.579694 0.276571
5 1.262286 -0.032356
6 2.748631 -0.103709
7 5.985152 0.020181
8 13.032685 -0.001095
9 28.378708 0.000019
P 1
1 0.107381 1.000000
D 1
1 0.348649 1.000000
SULFUR
S 9
1 0.095120 0.140074
2 0.202385 0.490942
3 0.430611 0.515297
4 0.916203 0.050320
5 1.949388 -0.298908
6 4.147674 0.019827
7 8.824926 0.007266
8 18.776623 -0.001602
9 39.950656 0.000271
S 1
1 0.098454 1.000000
P 9
1 0.057087 0.081938
2 0.115901 0.251826
3 0.235305 0.376344
4 0.477723 0.320902
5 0.969889 0.143779
6 1.969099 -0.045543
7 3.997726 -0.017191
8 8.116307 0.002580
9 16.477979 -0.000222
P 1
1 0.128926 1.000000
D 1
1 0.514135 1.000000
HELIUM
S 9
1 0.077786 0.012425
2 0.161528 0.128251
3 0.335425 0.282221
4 0.696535 0.292427
5 1.446408 0.215025
6 3.003576 0.125450
7 6.237154 0.064912
8 12.951926 0.038892
9 26.895662 0.002531
S 1
1 0.321750 1.000000
P 8
1 0.228528 -0.000116
2 0.422019 2.116950
3 0.779333 -2.182954
4 1.439180 1.545850
5 2.657706 -0.879477
6 4.907934 0.469710
7 9.063386 -0.224631
8 16.737180 0.098422

2411
data/basis/vqz-ano-bfd Normal file

File diff suppressed because it is too large Load Diff

811
data/basis/vqz-bfd Normal file
View File

@ -0,0 +1,811 @@
LITHIUM
S 9
1 0.010125 0.007841
2 0.023437 0.258118
3 0.054251 0.423307
4 0.125581 0.167825
5 0.290697 -0.068332
6 0.672909 -0.119269
7 1.557659 0.007736
8 3.605689 0.003630
9 8.346494 -0.000646
S 1
1 0.024834 1.000000
S 1
1 0.109770 1.000000
S 1
1 0.519693 1.000000
P 9
1 0.018300 -0.005906
2 0.031699 -0.031422
3 0.054908 -0.043628
4 0.095111 -0.016781
5 0.164751 -0.078594
6 0.285379 0.015562
7 0.494330 -0.030830
8 0.856273 0.006185
9 1.483225 -0.008621
P 1
1 0.070662 1.000000
P 1
1 0.115823 1.000000
P 1
1 0.207505 1.000000
D 1
1 0.029817 1.000000
D 1
1 0.089353 1.000000
D 1
1 0.214990 1.000000
F 1
1 0.099930 1.000000
F 1
1 0.240323 1.000000
G 1
1 0.199570 1.000000
NEON
S 9
1 0.205835 0.057514
2 0.391384 0.215776
3 0.744196 0.374799
4 1.415048 0.326313
5 2.690638 0.166383
6 5.116103 -0.039149
7 9.727994 -0.085909
8 18.497256 0.006816
9 35.171534 0.000206
S 1
1 0.399186 1.000000
S 1
1 1.658402 1.000000
S 1
1 2.261159 1.000000
P 9
1 0.121772 0.029943
2 0.238248 0.114200
3 0.466136 0.219618
4 0.912002 0.268864
5 1.784344 0.256932
6 3.491095 0.191378
7 6.830378 0.112176
8 13.363732 0.063317
9 26.146332 0.008057
P 1
1 0.245215 1.000000
P 1
1 0.757342 1.000000
P 1
1 1.938376 1.000000
D 1
1 0.738131 1.000000
D 1
1 2.188751 1.000000
D 1
1 6.170224 1.000000
F 1
1 1.589986 1.000000
F 1
1 4.849402 1.000000
G 1
1 3.228793 1.000000
BORON
S 9
1 0.040569 0.032031
2 0.081044 0.243317
3 0.161898 0.434636
4 0.323418 0.329581
5 0.646080 0.111875
6 1.290648 -0.078699
7 2.578276 -0.098781
8 5.150520 0.016164
9 10.288990 -0.000016
S 1
1 0.082968 1.000000
S 1
1 0.305133 1.000000
S 1
1 0.422217 1.000000
P 9
1 0.029207 0.019909
2 0.058408 0.141775
3 0.116803 0.294463
4 0.233582 0.309028
5 0.467115 0.236378
6 0.934132 0.131317
7 1.868068 0.066454
8 3.735743 0.021248
9 7.470701 0.002837
P 1
1 0.066445 1.000000
P 1
1 0.196614 1.000000
P 1
1 0.447031 1.000000
D 1
1 0.149100 1.000000
D 1
1 0.410733 1.000000
D 1
1 1.142614 1.000000
F 1
1 0.315902 1.000000
F 1
1 0.870011 1.000000
G 1
1 0.710746 1.000000
ALUMINUM
S 9
1 0.045518 0.206193
2 0.100308 0.559887
3 0.221051 0.407852
4 0.487132 -0.041098
5 1.073500 -0.238652
6 2.365686 0.038132
7 5.213294 -0.003935
8 11.488606 0.000470
9 25.317597 -0.000014
S 1
1 0.058688 1.000000
S 1
1 0.150215 1.000000
S 1
1 0.324193 1.000000
P 9
1 0.014848 0.009932
2 0.030967 0.160212
3 0.064586 0.389171
4 0.134700 0.373235
5 0.280932 0.195800
6 0.585913 0.022947
7 1.221985 -0.053293
8 2.548578 0.004846
9 5.315330 -0.000726
P 1
1 0.034866 1.000000
P 1
1 0.403929 1.000000
P 1
1 0.084117 1.000000
D 1
1 0.092392 1.000000
D 1
1 0.245212 1.000000
D 1
1 0.726318 1.000000
F 1
1 0.160909 1.000000
F 1
1 0.409285 1.000000
G 1
1 0.352027 1.000000
MAGNESIUM
S 9
1 0.030975 0.165290
2 0.062959 0.506272
3 0.127970 0.333197
4 0.260111 0.057482
5 0.528700 -0.137614
6 1.074630 -0.135378
7 2.184285 0.048310
8 4.439759 -0.005312
9 9.024217 0.000465
S 1
1 0.023378 1.000000
S 1
1 0.188141 1.000000
S 1
1 0.616205 1.000000
P 9
1 0.047055 1.502038
2 0.083253 -1.433944
3 0.147298 1.318987
4 0.260611 -0.741124
5 0.461094 0.436300
6 0.815803 -0.243798
7 1.443383 0.086774
8 2.553745 -0.028677
9 4.518286 0.006085
P 1
1 0.089167 1.000000
P 1
1 0.209210 1.000000
P 1
1 0.846859 1.000000
D 1
1 0.095526 1.000000
D 1
1 0.734089 1.000000
D 1
1 0.233222 1.000000
F 1
1 0.127025 1.000000
F 1
1 0.304907 1.000000
G 1
1 0.192272 1.000000
NITROGEN
S 9
1 0.098869 0.067266
2 0.211443 0.334290
3 0.452197 0.454257
4 0.967080 0.267861
5 2.068221 0.000248
6 4.423150 -0.132606
7 9.459462 0.014437
8 20.230246 0.000359
9 43.264919 -0.000094
S 1
1 0.135764 1.000000
S 1
1 0.310826 1.000000
S 1
1 1.625001 1.000000
P 9
1 0.073234 0.035758
2 0.145867 0.153945
3 0.290535 0.277656
4 0.578683 0.297676
5 1.152612 0.234403
6 2.295756 0.140321
7 4.572652 0.067219
8 9.107739 0.031594
9 18.140657 0.003301
P 1
1 0.140736 1.000000
P 1
1 0.413103 1.000000
P 1
1 1.020750 1.000000
D 1
1 0.346233 1.000000
D 1
1 1.009895 1.000000
D 1
1 3.028459 1.000000
F 1
1 0.691129 1.000000
F 1
1 2.024747 1.000000
G 1
1 1.357512 1.000000
FLUORINE
S 9
1 0.172723 0.070240
2 0.364875 0.311088
3 0.770795 0.444675
4 1.628295 0.287011
5 3.439757 0.018759
6 7.266451 -0.128608
7 15.350300 0.009104
8 32.427348 0.000810
9 68.502433 -0.000133
S 1
1 0.294345 1.000000
S 1
1 1.048013 1.000000
S 1
1 1.705653 1.000000
P 9
1 0.101001 0.035321
2 0.204414 0.136924
3 0.413707 0.249353
4 0.837289 0.286620
5 1.694565 0.254541
6 3.429580 0.169572
7 6.941026 0.088542
8 14.047737 0.039843
9 28.430799 0.003378
P 1
1 0.205806 1.000000
P 1
1 0.647240 1.000000
P 1
1 1.650688 1.000000
D 1
1 0.587354 1.000000
D 1
1 1.724392 1.000000
D 1
1 4.998085 1.000000
F 1
1 1.178147 1.000000
F 1
1 3.694285 1.000000
G 1
1 2.406583 1.000000
CHLORINE
S 9
1 0.119944 0.148917
2 0.257348 0.503616
3 0.552157 0.523995
4 1.184691 0.013612
5 2.541836 -0.328846
6 5.453681 0.056309
7 11.701243 -0.001301
8 25.105812 -0.000294
9 53.866226 0.000076
S 1
1 0.161594 1.000000
S 1
1 0.440111 1.000000
S 1
1 0.848928 1.000000
P 9
1 0.074374 0.084925
2 0.155084 0.270658
3 0.323378 0.396022
4 0.674303 0.324325
5 1.406043 0.100661
6 2.931855 -0.069802
7 6.113450 -0.000951
8 12.747651 0.001501
9 26.581165 -0.000249
P 1
1 0.111309 1.000000
P 1
1 1.286881 1.000000
P 1
1 0.289403 1.000000
D 1
1 0.253063 1.000000
D 1
1 0.642589 1.000000
D 1
1 1.654717 1.000000
F 1
1 0.448175 1.000000
F 1
1 1.189807 1.000000
G 1
1 0.848307 1.000000
CARBON
S 9
1 0.051344 0.013991
2 0.102619 0.169852
3 0.205100 0.397529
4 0.409924 0.380369
5 0.819297 0.180113
6 1.637494 -0.033512
7 3.272791 -0.121499
8 6.541187 0.015176
9 13.073594 -0.000705
S 1
1 0.109576 1.000000
S 1
1 0.846879 1.000000
S 1
1 0.269659 1.000000
P 9
1 0.029281 0.001787
2 0.058547 0.050426
3 0.117063 0.191634
4 0.234064 0.302667
5 0.468003 0.289868
6 0.935757 0.210979
7 1.871016 0.112024
8 3.741035 0.054425
9 7.480076 0.021931
P 1
1 0.105389 1.000000
P 1
1 0.313254 1.000000
P 1
1 0.804681 1.000000
D 1
1 0.240171 1.000000
D 1
1 0.684884 1.000000
D 1
1 2.013760 1.000000
F 1
1 0.457302 1.000000
F 1
1 1.324930 1.000000
G 1
1 1.034180 1.000000
OXYGEN
S 9
1 0.125346 0.055741
2 0.268022 0.304848
3 0.573098 0.453752
4 1.225429 0.295926
5 2.620277 0.019567
6 5.602818 -0.128627
7 11.980245 0.012024
8 25.616801 0.000407
9 54.775216 -0.000076
S 1
1 0.224380 1.000000
S 1
1 0.843157 1.000000
S 1
1 1.351771 1.000000
P 9
1 0.083598 0.044958
2 0.167017 0.150175
3 0.333673 0.255999
4 0.666627 0.281879
5 1.331816 0.242835
6 2.660761 0.161134
7 5.315785 0.082308
8 10.620108 0.039899
9 21.217318 0.004679
P 1
1 0.148562 1.000000
P 1
1 0.452364 1.000000
P 1
1 1.106737 1.000000
D 1
1 0.455711 1.000000
D 1
1 1.344331 1.000000
D 1
1 4.008867 1.000000
F 1
1 0.876289 1.000000
F 1
1 2.763115 1.000000
G 1
1 1.759081 1.000000
HYDROGEN
S 9
1 0.013000 0.000706
2 0.029900 -0.002119
3 0.068770 0.057693
4 0.158170 0.230695
5 0.363792 0.277612
6 0.836721 0.169833
7 1.924458 0.097443
8 4.426254 0.029966
9 10.180385 -0.000452
S 1
1 0.120599 1.000000
S 1
1 0.404783 1.000000
S 1
1 0.715129 1.000000
P 9
1 0.003000 0.001242
2 0.007800 -0.000913
3 0.020281 -0.000054
4 0.052730 -0.000238
5 0.137097 -0.011530
6 0.356451 -0.018235
7 0.926774 -0.013929
8 2.409612 -0.009395
9 6.264991 -0.000347
P 1
1 0.774536 1.000000
P 1
1 0.263038 1.000000
D 1
1 2.315883 1.000000
D 1
1 0.636656 1.000000
F 1
1 1.130819 1.000000
PHOSPHORUS
S 9
1 0.074718 0.140225
2 0.160834 0.506746
3 0.346202 0.499893
4 0.745215 0.037301
5 1.604109 -0.284591
6 3.452917 0.024766
7 7.432561 0.001798
8 15.998924 -0.000314
9 34.438408 0.000088
S 1
1 0.098851 1.000000
S 1
1 0.255593 1.000000
S 1
1 0.546057 1.000000
P 9
1 0.050242 0.072095
2 0.102391 0.278735
3 0.208669 0.411034
4 0.425256 0.304724
5 0.866651 0.091727
6 1.766191 -0.057060
7 3.599410 -0.005103
8 7.335418 0.000328
9 14.949217 -0.000046
P 1
1 0.074522 1.000000
P 1
1 0.764539 1.000000
P 1
1 0.182211 1.000000
D 1
1 0.186505 1.000000
D 1
1 0.502400 1.000000
D 1
1 1.576445 1.000000
F 1
1 0.280702 1.000000
F 1
1 0.719161 1.000000
G 1
1 0.599144 1.000000
SILICON
S 9
1 0.059887 0.167492
2 0.130108 0.532550
3 0.282668 0.464290
4 0.614115 -0.002322
5 1.334205 -0.268234
6 2.898645 0.031921
7 6.297493 -0.000106
8 13.681707 -0.000145
9 29.724387 0.000067
S 1
1 0.079900 1.000000
S 1
1 0.206024 1.000000
S 1
1 0.435017 1.000000
P 9
1 0.036525 0.078761
2 0.076137 0.308331
3 0.158712 0.417773
4 0.330843 0.281676
5 0.689658 0.069876
6 1.437625 -0.056306
7 2.996797 0.000744
8 6.246966 -0.000259
9 13.022097 -0.000022
P 1
1 0.054575 1.000000
P 1
1 0.599112 1.000000
P 1
1 0.134681 1.000000
D 1
1 0.133118 1.000000
D 1
1 0.350967 1.000000
D 1
1 1.063961 1.000000
F 1
1 0.211319 1.000000
F 1
1 0.535932 1.000000
G 1
1 0.465365 1.000000
ARGON
S 9
1 0.147347 0.155473
2 0.312164 0.494617
3 0.661339 0.526705
4 1.401090 0.021986
5 2.968301 -0.338533
6 6.288539 0.056023
7 13.322677 -0.000115
8 28.224956 -0.000595
9 59.796402 0.000127
S 1
1 0.196024 1.000000
S 1
1 0.540061 1.000000
S 1
1 1.020348 1.000000
P 9
1 0.090580 0.079101
2 0.188085 0.260718
3 0.390548 0.395065
4 0.810953 0.334954
5 1.683902 0.107462
6 3.496535 -0.073657
7 7.260371 -0.001407
8 15.075781 0.001710
9 31.304069 -0.000275
P 1
1 0.140701 1.000000
P 1
1 1.604300 1.000000
P 1
1 0.367738 1.000000
D 1
1 0.304103 1.000000
D 1
1 0.760464 1.000000
D 1
1 1.900944 1.000000
F 1
1 0.583628 1.000000
F 1
1 1.480507 1.000000
G 1
1 1.030824 1.000000
SODIUM
S 9
1 0.013061 0.200118
2 0.030041 0.467652
3 0.069092 0.227738
4 0.158908 -0.061581
5 0.365481 -0.137533
6 0.840589 0.003323
7 1.933315 0.003741
8 4.446533 -0.001117
9 10.226816 0.000244
S 1
1 0.064915 1.000000
S 1
1 1.134458 1.000000
S 1
1 0.771046 1.000000
P 9
1 0.002593 -0.002840
2 0.006741 0.005340
3 0.017525 -0.025936
4 0.045563 -0.053466
5 0.118461 -0.053691
6 0.307987 0.014439
7 0.800738 0.006199
8 2.081847 -0.001026
9 5.412617 0.000168
P 1
1 0.059662 1.000000
P 1
1 0.096714 1.000000
P 1
1 0.552976 1.000000
D 1
1 0.046917 1.000000
D 1
1 0.813868 1.000000
D 1
1 0.127780 1.000000
F 1
1 0.129992 1.000000
F 1
1 0.626429 1.000000
G 1
1 0.588778 1.000000
BERYLLIUM
S 9
1 0.030068 0.025105
2 0.054002 0.178890
3 0.096986 0.263939
4 0.174186 0.435946
5 0.312836 -0.008188
6 0.561850 0.049509
7 9077 -0.114576
8 1.812290 -0.067207
9 3.254852 0.017250
S 1
1 0.012287 1.000000
S 1
1 0.175341 1.000000
S 1
1 1.244398 1.000000
P 9
1 0.015064 0.735052
2 0.028584 -0.476214
3 0.054236 0.564806
4 0.102911 -0.108575
5 0.195269 0.233862
6 0.370513 -0.009003
7 0.703030 0.067510
8 1.333967 -0.002868
9 2.531139 0.017869
P 1
1 0.317061 1.000000
P 1
1 1.585739 1.000000
P 1
1 0.108346 1.000000
D 1
1 0.125228 1.000000
D 1
1 0.801065 1.000000
D 1
1 0.301656 1.000000
F 1
1 0.153439 1.000000
F 1
1 0.377536 1.000000
G 1
1 0.338801 1.000000
SULFUR
S 9
1 0.095120 0.140074
2 0.202385 0.490942
3 0.430611 0.515297
4 0.916203 0.050320
5 1.949388 -0.298908
6 4.147674 0.019827
7 8.824926 0.007266
8 18.776623 -0.001602
9 39.950656 0.000271
S 1
1 0.123759 1.000000
S 1
1 0.315587 1.000000
S 1
1 0.651905 1.000000
P 9
1 0.057087 0.081938
2 0.115901 0.251826
3 0.235305 0.376344
4 0.477723 0.320902
5 0.969889 0.143779
6 1.969099 -0.045543
7 3.997726 -0.017191
8 8.116307 0.002580
9 16.477979 -0.000222
P 1
1 0.078717 1.000000
P 1
1 0.202707 1.000000
P 1
1 0.301333 1.000000
D 1
1 0.215701 1.000000
D 1
1 0.560638 1.000000
D 1
1 1.588204 1.000000
F 1
1 0.356554 1.000000
F 1
1 0.961826 1.000000
G 1
1 0.694803 1.000000
HELIUM
S 9
1 0.077786 0.012425
2 0.161528 0.128251
3 0.335425 0.282221
4 0.696535 0.292427
5 1.446408 0.215025
6 3.003576 0.125450
7 6.237154 0.064912
8 12.951926 0.038892
9 26.895662 0.002531
S 1
1 0.937228 1.000000
S 1
1 1.223567 1.000000
S 1
1 0.229163 1.000000
P 8
1 0.228528 -0.000116
2 0.422019 2.116950
3 0.779333 -2.182954
4 1.439180 1.545850
5 2.657706 -0.879477
6 4.907934 0.469710
7 9.063386 -0.224631
8 16.737180 0.098422
P 1
1 3.888767 1.000000
P 1
1 1.015492 1.000000
D 1
1 0.939402 1.000000
D 1
1 3.054371 1.000000
F 1
1 1.021427 1.000000

1852
data/basis/vtz-ano-bfd Normal file

File diff suppressed because it is too large Load Diff

1281
data/basis/vtz-bfd Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,36 +0,0 @@
1 H Hydrogen
2 He Helium
3 Li Lithium
4 Be Beryllium
5 B Boron
6 C Carbon
7 N Nitrogen
8 O Oxygen
9 F Fluorine
10 Ne Neon
11 Na Sodium
12 Mg Magnesium
13 Al Aluminum
14 Si Silicon
15 P Phosphorus
16 S Sulfur
17 Cl Chlorine
18 Ar Argon
19 K Potassium
20 Ca Calcium
21 Sc Scandium
22 Ti Titanium
23 V Vanadium
24 Cr Chromium
25 Mn Manganese
26 Fe Iron
27 Co Cobalt
28 Ni Nickel
29 Cu Copper
30 Zn Zinc
31 Ga Gallium
32 Ge Germanium
33 As Arsenic
34 Se Selenium
35 Br Bromine
36 Kr Krypton

552
data/pseudo/bfd Normal file
View File

@ -0,0 +1,552 @@
H GEN 0 0
3
1.00000000 1 4.47692410
4.47692410 3 2.97636451
-4.32112340 2 3.01841596
He GEN 0 0
3
2.00000000 1 9.84368811
19.68737622 3 10.94516233
-17.20570338 2 12.03715264
Li GEN 2 1
3
1.00000000 1 5.41040609
5.41040609 3 2.70520138
-4.60151975 2 2.07005488
1
7.09172172 2 1.34319829
Be GEN 2 1
3
2.00000000 1 4.58686001
9.17372003 3 2.29371778
-8.12599146 2 2.10401964
1
14.90499810 2 2.71723988
B GEN 2 1
3
3.00000000 1 5.40423964
16.21271892 3 5.71678458
-11.86640633 2 4.48974455
1
15.49737620 2 3.43781634
C GEN 2 1
3
4.00000000 1 8.35973821
33.43895285 3 4.48361888
-19.17537323 2 3.93831258
1
22.55164191 2 5.02991637
N GEN 2 1
3
5.00000000 1 9.23501007
46.17505034 3 7.66830008
-30.18893534 2 7.34486070
1
31.69720409 2 6.99536540
O GEN 2 1
3
6.00000000 1 9.29793903
55.78763416 3 8.86492204
-38.81978498 2 8.62925665
1
38.41914135 2 8.71924452
F GEN 2 1
3
7.00000000 1 11.39210685
79.74474797 3 10.74911370
-49.45159098 2 10.45120693
1
50.25646328 2 11.30345826
Ne GEN 2 1
3
8.00000000 1 10.74945199
85.99561593 3 10.19801460
-56.79004456 2 10.18694048
1
55.11144535 2 12.85042963
Na GEN 10 2
3
1.00000000 1 5.35838717
5.35838717 3 3.67918975
-2.07764789 2 1.60507673
1
10.69640234 2 1.32389367
1
10.11238853 2 1.14052020
Mg GEN 10 2
3
2.00000000 1 4.48537898
8.97075796 3 2.24268949
-7.72153408 2 1.59710474
1
15.07848048 2 1.57188656
1
12.37888383 2 1.42757357
Al GEN 10 2
3
3.00000000 1 3.07301275
9.21903825 3 9.97055633
-9.65888637 2 2.64134660
1
17.16680112 2 1.87284747
1
14.22120694 2 1.79397208
Si GEN 10 2
3
4.00000000 1 1.80721061
7.22884246 3 9.99633089
-13.06725590 2 2.50043232
1
21.20531613 2 2.26686403
1
15.43693603 2 2.11659661
P GEN 10 2
3
5.00000000 1 2.02622810
10.13114051 3 9.95970113
-14.94375088 2 2.74841795
1
23.62479480 2 2.60470698
1
18.18547203 2 2.54957900
S GEN 10 2
3
6.00000000 1 2.42178462
14.53070769 3 6.74148698
-17.52965289 2 3.06094751
1
25.99260928 2 2.94272173
1
18.93356489 2 2.84566981
Cl GEN 10 2
3
7.00000000 1 2.41079533
16.87556731 3 5.29139158
-18.80917558 2 2.91105513
1
28.59107316 2 3.34528827
1
19.37583724 2 3.12408551
Ar GEN 10 2
3
8.00000000 1 3.09403094
24.75224749 3 6.53700323
-20.38446872 2 3.35769859
1
30.67006675 2 3.68203169
1
20.84338017 2 3.45735664
K GEN 10 2
3
9.00000000 1 1.61692238
14.55230143 3 2.94781323
-28.90972088 2 2.34518380
1
85.63621269 2 6.20715645
1
30.81028404 2 4.43761067
Ca GEN 10 2
3
10.00000000 1 1.83448200
18.34481997 3 2.93139337
-33.15102838 2 2.50808985
1
90.63863403 2 6.91765747
1
31.99145044 2 4.89613174
Sc GEN 10 2
3
11.00000000 1 1.64916555
18.14082106 3 3.06833288
-35.19310566 2 2.41985389
1
97.62913482 2 7.60319353
1
33.97033635 2 5.31121835
Ti GEN 10 2
3
12.00000000 1 1.85755224
22.29062683 3 3.30638246
-41.26280518 2 2.70879079
1
96.94231089 2 8.03040157
1
38.01641313 2 5.93291405
V GEN 10 2
3
13.00000000 1 2.16361754
28.12702797 3 4.07901780
-48.27656329 2 3.21436396
1
96.23226580 2 8.44326050
1
41.58043539 2 6.53136059
Cr GEN 10 2
3
14.00000000 1 2.94337662
41.20727267 3 3.40750349
-55.51413840 2 3.33587110
1
103.26274052 2 9.14231779
1
45.80124572 2 7.21220771
Mn GEN 10 2
3
15.00000000 1 3.29524605
49.42869068 3 3.61599152
-61.66925169 2 3.57405761
1
112.85037953 2 9.99154195
1
49.18832867 2 7.80925218
Fe GEN 10 2
3
16.00000000 1 3.72075632
59.53210107 3 3.92321272
-68.75847841 2 3.89595440
1
112.92561163 2 10.42343546
1
52.55882759 2 8.41664076
Co GEN 10 2
3
17.00000000 1 4.18819322
71.19928469 3 4.42968808
-77.65278252 2 4.39800669
1
113.90484511 2 10.86075441
1
56.10698766 2 9.05202771
Ni GEN 10 2
3
18.00000000 1 4.22878924
76.11820629 3 4.46202418
-82.85330412 2 4.44960456
1
120.84003628 2 11.62700064
1
58.54148726 2 9.57327085
Cu GEN 10 2
3
19.00000000 1 6.25149628
118.77842940 3 6.72725326
-105.89982403 2 6.61024592
1
127.35069424 2 12.36568715
1
71.22984900 2 11.16072939
Zn GEN 10 2
3
20.00000000 1 5.25282726
105.05654526 3 5.85433298
-105.08806248 2 5.80452897
1
123.87006927 2 12.52174964
1
72.33499364 2 11.56019052
Ga GEN 28 3
3
3.00000000 1 1.22544253
3.67632759 3 5.71065133
-11.23828733 2 1.33931968
1
57.88512249 2 2.48772664
1
43.67871044 2 2.12489462
1
17.97137628 2 1.27124173
Ge GEN 28 3
3
4.00000000 1 1.88492329
7.53969315 3 9.98137268
-13.13622589 2 1.98008364
1
61.26369269 2 3.03315885
1
55.52495744 2 2.76564031
1
23.49168485 2 1.66026543
As GEN 28 3
3
5.00000000 1 1.21796059
6.08980295 3 9.96302171
-14.92625816 2 1.86158567
1
73.75553709 2 3.54546456
1
68.03580909 2 3.28664249
1
23.32540737 2 1.95862616
Se GEN 28 3
3
6.00000000 1 1.73494732
10.40968393 3 6.91632737
-17.83199463 2 3.10551681
1
85.94238004 2 4.67503354
1
78.84838432 2 4.34256579
1
30.92151589 2 2.61905005
Br GEN 28 3
3
7.00000000 1 1.86793881
13.07557164 3 5.30536536
-18.79056037 2 3.32134623
1
88.58537968 2 5.17694821
1
79.43718432 2 4.80714881
1
29.35463757 2 3.03534088
Kr GEN 28 3
3
8.00000000 1 1.72397711
13.79181690 3 6.70510242
-22.77215308 2 2.75463922
1
92.78570269 2 4.85045356
1
80.37767796 2 4.52350391
1
31.36172413 2 3.04556109
Rb GEN 28 3
3
9.00000000 1 1.93326235
17.39936111 3 3.14473834
-26.53731001 2 2.67367304
1
85.71767228 2 5.15576814
1
48.02236719 2 4.13480924
1
32.98704385 2 3.52393676
Sr GEN 28 3
3
10.00000000 1 1.51098327
15.10983267 3 4.08312080
-26.67485196 2 2.20539101
1
91.10888571 2 4.83388773
1
51.70644278 2 3.81526734
1
31.98712514 2 3.20797541
In GEN 46 3
3
3.00000000 1 0.84508372
2.53525117 3 5.66019931
-7.66579852 2 0.85764327
1
58.16918845 2 1.87837596
1
43.63891951 2 1.51547534
1
17.93363847 2 0.83917399
Sn GEN 46 3
3
4.00000000 1 0.61334103
2.45336413 3 5.67826592
-9.33070594 2 0.86945138
1
58.04190484 2 2.01380769
1
43.68447157 2 1.63883815
1
17.95660523 2 0.92346533
Sb GEN 46 3
3
5.00000000 1 0.74773404
3.73867018 3 5.79307847
-13.88202267 2 1.07909250
1
57.56076138 2 2.04356327
1
43.88817098 2 1.70062095
1
17.82275877 2 1.00414410
Te GEN 46 3
3
6.00000000 1 1.28872858
7.73237146 3 5.81046154
-13.65642757 2 1.55436985
1
57.52907325 2 2.39157624
1
43.70165092 2 1.96781367
1
18.64325026 2 1.13849722
I GEN 46 3
3
7.00000000 1 1.01780923
7.12466460 3 3.60136147
-29.18419372 2 1.68345378
1
108.68417388 2 2.80278521
1
99.35380694 2 2.51494051
1
41.32653157 2 1.56672279
Xe GEN 46 3
3
8.00000000 1 1.22029027
9.76232213 3 5.14625292
-32.16318995 2 2.10563577
1
110.93633943 2 3.20320603
1
99.49007680 2 2.86062806
1
41.81892440 2 1.74523568
Cs GEN 46 3
3
9.00000000 1 1.42083294
12.78749648 3 3.04497432
-21.48605417 2 3.27432859
1
87.71882150 2 4.74273103
1
50.11684516 2 3.50080269
1
34.28999477 2 2.05168748
Ba GEN 46 3
3
10.00000000 1 1.75114866
17.51148658 3 7.10519292
-27.30238921 2 1.92434265
1
86.12190858 2 2.79769987
1
52.48439280 2 2.16940023
1
41.96330733 2 1.76672762
Tl GEN 78 4
3
3.00000000 1 1.34540299
4.03620897 3 1.80622564
-21.68751419 2 0.88272932
1
91.69120822 2 1.55008480
1
85.52036047 2 1.34656124
1
62.00124014 2 0.92193030
1
45.59483689 2 0.95782546
Pb GEN 78 4
3
4.00000000 1 1.33905502
5.35622008 3 3.57680327
-25.11165802 2 1.08584447
1
121.69447681 2 1.89957262
1
114.36466627 2 1.64009233
1
49.32959048 2 0.93051806
1
45.59434323 2 1.07638351
Bi GEN 78 4
3
5.00000000 1 1.32337887
6.61689433 3 3.57500194
-25.11872438 2 1.26988106
1
121.69346942 2 2.17897203
1
114.36404033 2 1.85248885
1
59.32816833 2 1.10815262
1
55.59430794 2 1.13749297
Po GEN 78 4
3
6.00000000 1 1.12915012
6.77490072 3 3.57645639
-27.15687722 2 1.43566151
1
123.68767392 2 2.45166968
1
116.36047985 2 2.06261668
1
81.32822758 2 1.28212112
1
80.59441478 2 1.32883356
At GEN 78 4
3
7.00000000 1 1.03089969
7.21629781 3 3.69262441
-29.19452905 2 1.45693225
1
128.68209352 2 2.56609159
1
119.35613288 2 2.15280178
1
80.33152157 2 1.37630746
1
80.58962589 2 1.47835294
Rn GEN 78 4
3
8.00000000 1 1.09138091
8.73104728 3 3.03187023
-29.28994938 2 1.65026568
1
128.63606138 2 2.92260183
1
119.39674828 2 2.42144059
1
80.33096401 2 1.49781359
1
80.58961959 2 1.47976575

13
install/scripts/install_bats.sh Executable file
View File

@ -0,0 +1,13 @@
#!/bin/bash -x
TARGET=bats
function _install()
{
cp -R ${BUILD} . || exit 1
cd ../bin
ln -s ../install/${TARGET}/libexec/bats . || return 1
cd -
}
source scripts/build.sh

View File

@ -5,16 +5,56 @@ QP_ROOT=$PWD
cd - cd -
# Normal installation # Normal installation
PACKAGES="core cryptokit ocamlfind sexplib" PACKAGES="core cryptokit ocamlfind sexplib ZMQ"
declare -i i # Needed for ZeroMQ
i=$(gcc -dumpversion | cut -d '.' -f 2) export C_INCLUDE_PATH="${QP_ROOT}"/lib:"${C_INCLUDE_PATH}"
if [[ i -lt 6 ]] export LIBRARY_PATH="${QP_ROOT}"/lib:"${LIBRARY_PATH}"
export LD_LIBRARY_PATH="${QP_ROOT}"/lib:"${LD_LIBRARY_PATH}"
# return 0 if program version is equal or greater than check version
check_version () {
if [[ $1 == $2 ]]
then
return 0
fi
local IFS=.
local i ver1=($1) ver2=($2)
# fill empty fields in ver1 with zeros
for ((i=${#ver1[@]}; i<${#ver2[@]}; i++))
do
ver1[i]=0
done
for ((i=0; i<${#ver1[@]}; i++))
do
if [[ -z ${ver2[i]} ]]
then
# fill empty fields in ver2 with zeros
ver2[i]=0
fi
if ((10#${ver1[i]} > 10#${ver2[i]}))
then
return 1
fi
if ((10#${ver1[i]} < 10#${ver2[i]}))
then
return 2
fi
done
return 0
}
i=$(gcc -dumpversion)
check_version 4.6 $i
if [[ $? == 1 ]]
then then
echo "GCC version $(gcc -dumpversion) too old. GCC >= 4.6 required." echo "GCC version $(gcc -dumpversion) too old. GCC >= 4.6 required."
exit 1 exit 1
fi fi
if [[ -d ${HOME}/.opam ]] if [[ -d ${HOME}/.opam ]]
then then
source ${HOME}/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true source ${HOME}/.opam/opam-init/init.sh > /dev/null 2> /dev/null || true
@ -37,6 +77,4 @@ NCPUs=$(cat /proc/cpuinfo | grep -i MHz | wc -l)
${QP_ROOT}/bin/opam install -j ${NCPUs} ${PACKAGES} -y -q || exit 1 ${QP_ROOT}/bin/opam install -j ${NCPUs} ${PACKAGES} -y -q || exit 1
rm -f ../_build/ocaml.log rm -f ../_build/ocaml.log
exit 0

View File

@ -14,12 +14,15 @@ function _install()
cd "${BUILD}" cd "${BUILD}"
./configure --without-libsodium || exit 1 ./configure --without-libsodium || exit 1
make -j 8 || exit 1 make -j 8 || exit 1
rm -f -- "${QP_ROOT}"/lib/libzmq.a "${QP_ROOT}"/lib/libzmq.so "${QP_ROOT}"/lib/libzmq.so.5 rm -f -- "${QP_ROOT}"/lib/libzmq.a "${QP_ROOT}"/lib/libzmq.so "${QP_ROOT}"/lib/libzmq.so.?
cp .libs/libzmq.a "${QP_ROOT}"/lib # cp .libs/libzmq.a "${QP_ROOT}"/lib
cp .libs/libzmq.so "${QP_ROOT}"/lib/libzmq.so.5 # cp .libs/libzmq.so "${QP_ROOT}"/lib/libzmq.so.5
cp src/.libs/libzmq.a "${QP_ROOT}"/lib
cp src/.libs/libzmq.so "${QP_ROOT}"/lib/libzmq.so.4
cp include/{zmq.h,zmq_utils.h} "${QP_ROOT}"/lib cp include/{zmq.h,zmq_utils.h} "${QP_ROOT}"/lib
cd "${QP_ROOT}"/lib cd "${QP_ROOT}"/lib
ln -s libzmq.so.5 libzmq.so # ln -s libzmq.so.5 libzmq.so
ln -s libzmq.so.4 libzmq.so
cd ${ORIG} cd ${ORIG}
return 0 return 0
} }

13
ocaml/.gitignore vendored
View File

@ -1,6 +1,7 @@
_build _build
ezfio.ml ezfio.ml
.gitignore .gitignore
Git.ml
Input_auto_generated.ml Input_auto_generated.ml
Input_determinants.ml Input_determinants.ml
Input_hartree_fock.ml Input_hartree_fock.ml
@ -16,6 +17,8 @@ qp_edit
qp_edit.ml qp_edit.ml
qp_edit.native qp_edit.native
qp_print qp_print
qp_print_basis
qp_print_basis.native
qp_print.native qp_print.native
qp_run qp_run
qp_run.native qp_run.native
@ -39,9 +42,19 @@ test_excitation
test_excitation.byte test_excitation.byte
test_gto test_gto
test_gto.byte test_gto.byte
test_message
test_message.byte
test_mo_label test_mo_label
test_mo_label.byte test_mo_label.byte
test_molecule test_molecule
test_molecule.byte test_molecule.byte
test_point3d test_point3d
test_point3d.byte test_point3d.byte
test_pseudo
test_pseudo.byte
test_queuing_system
test_queuing_system.byte
test_symmetry
test_symmetry.byte
test_task_server
test_task_server.byte

48
ocaml/Address.ml Normal file
View File

@ -0,0 +1,48 @@
open Core.Std
module Tcp : sig
type t
val of_string : string -> t
val to_string : t -> string
end = struct
type t = string
let of_string x =
assert (String.is_prefix ~prefix:"tcp://" x);
x
let to_string x = x
end
module Ipc : sig
type t
val of_string : string -> t
val to_string : t -> string
end = struct
type t = string
let of_string x =
assert (String.is_prefix ~prefix:"ipc://" x);
x
let to_string x = x
end
module Inproc : sig
type t
val of_string : string -> t
val to_string : t -> string
end = struct
type t = string
let of_string x =
assert (String.is_prefix ~prefix:"inproc://" x);
x
let to_string x = x
end
type t =
| Tcp of Tcp.t
| Ipc of Ipc.t
| Inproc of Inproc.t
let to_string = function
| Tcp x -> Tcp.to_string x
| Ipc x -> Ipc.to_string x
| Inproc x -> Inproc.to_string x

View File

@ -1,7 +1,7 @@
open Core.Std;; open Core.Std
open Qptypes;; open Qptypes
type t = (Gto.t * Nucl_number.t) list with sexp;; type t = (Gto.t * Nucl_number.t) list with sexp
(** Read all the basis functions of an element *) (** Read all the basis functions of an element *)
let read in_channel at_number = let read in_channel at_number =
@ -12,7 +12,7 @@ let read in_channel at_number =
with with
| Gto.End_Of_Basis -> List.rev result | Gto.End_Of_Basis -> List.rev result
in read [] in read []
;;
(** Find an element in the basis set file *) (** Find an element in the basis set file *)
let find in_channel element = let find in_channel element =
@ -27,13 +27,13 @@ let find in_channel element =
| Element.ElementError _ -> () | Element.ElementError _ -> ()
done ; done ;
!element_read !element_read
;;
(** Read an element from the file *) (** Read an element from the file *)
let read_element in_channel at_number element = let read_element in_channel at_number element =
ignore (find in_channel element) ; ignore (find in_channel element) ;
read in_channel at_number ; read in_channel at_number
;;
let to_string b = let to_string b =
let new_nucleus n = let new_nucleus n =
@ -55,9 +55,9 @@ let to_string b =
in in
do_work [new_nucleus 1] 1 b do_work [new_nucleus 1] 1 b
|> String.concat ~sep:"\n" |> String.concat ~sep:"\n"
;;
include To_md5;;
include To_md5
let to_md5 = to_md5 sexp_of_t let to_md5 = to_md5 sexp_of_t
;;

View File

@ -1,5 +1,5 @@
open Core.Std;; open Core.Std
open Qptypes;; open Qptypes
exception GTO_Read_Failure of string exception GTO_Read_Failure of string
exception End_Of_Basis exception End_Of_Basis
@ -8,7 +8,7 @@ type t =
{ sym : Symmetry.t ; { sym : Symmetry.t ;
lc : ((Primitive.t * AO_coef.t) list) lc : ((Primitive.t * AO_coef.t) list)
} with sexp } with sexp
;;
let of_prim_coef_list pc = let of_prim_coef_list pc =
let (p,c) = List.hd_exn pc in let (p,c) = List.hd_exn pc in
@ -27,7 +27,7 @@ let of_prim_coef_list pc =
{ sym = sym ; { sym = sym ;
lc = pc lc = pc
} }
;;
let read_one in_channel = let read_one in_channel =
@ -65,7 +65,7 @@ let read_one in_channel =
in read_lines [] n in read_lines [] n
|> List.rev |> List.rev
|> of_prim_coef_list |> of_prim_coef_list
;;
(** Transform the gto to a string *) (** Transform the gto to a string *)
@ -86,5 +86,5 @@ let to_string { sym = sym ; lc = lc } =
in in
(do_work [result] 1 lc) (do_work [result] 1 lc)
|> String.concat ~sep:"\n" |> String.concat ~sep:"\n"
;;

33
ocaml/Id.ml Normal file
View File

@ -0,0 +1,33 @@
open Core.Std
module Id : sig
type t
val of_int : int -> t
val to_int : t -> int
val of_string : string -> t
val to_string : t -> string
val increment : t -> t
val decrement : t -> t
end
= struct
type t = int
let of_int x =
assert (x>0); x
let to_int x = x
let of_string x =
Int.of_string x
|> of_int
let to_string x =
Int.to_string x
let increment x = x + 1
let decrement x = x - 1
end
module Task = struct
include Id
end
module Client = struct
include Id
end

View File

@ -12,6 +12,7 @@ module Ao_basis : sig
ao_power : Symmetry.Xyz.t array; ao_power : Symmetry.Xyz.t array;
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;
} with sexp } with sexp
;; ;;
val read : unit -> t option val read : unit -> t option
@ -29,6 +30,7 @@ end = struct
ao_power : Symmetry.Xyz.t array; ao_power : Symmetry.Xyz.t array;
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;
} with sexp } with sexp
;; ;;
@ -93,6 +95,15 @@ end = struct
|> Array.map ~f:AO_expo.of_float |> Array.map ~f:AO_expo.of_float
;; ;;
let read_ao_cartesian () =
if not (Ezfio.has_ao_basis_ao_cartesian ()) then
get_default "ao_cartesian"
|> Bool.of_string
|> Ezfio.set_ao_basis_ao_cartesian
;
Ezfio.get_ao_basis_ao_cartesian ()
;;
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)
@ -154,6 +165,7 @@ end = struct
ao_power ; ao_power ;
ao_coef ; ao_coef ;
ao_expo ; ao_expo ;
ao_cartesian ;
} = b } = b
in in
write_md5 b ; write_md5 b ;
@ -173,6 +185,7 @@ end = struct
ao_power = read_ao_power (); ao_power = read_ao_power ();
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 () ;
} }
in in
to_md5 result to_md5 result
@ -204,7 +217,11 @@ Name of the AO basis ::
ao_basis = %s ao_basis = %s
Basis set :: Cartesian coordinates (6d,10f,...) ::
ao_cartesian = %s
Basis set (read-only) ::
%s %s
@ -215,12 +232,14 @@ Basis set ::
%s %s
======= ========= =========== ======= ========= ===========
" (AO_basis_name.to_string b.ao_basis) " (AO_basis_name.to_string b.ao_basis)
(Bool.to_string b.ao_cartesian)
(Basis.to_string short_basis (Basis.to_string short_basis
|> String.split ~on:'\n' |> String.split ~on:'\n'
|> List.map ~f:(fun x-> " "^x) |> List.map ~f:(fun x-> " "^x)
|> String.concat ~sep:"\n" |> String.concat ~sep:"\n"
) print_sym ) print_sym
|> Rst_string.of_string |> Rst_string.of_string
;; ;;
@ -232,7 +251,7 @@ Basis set ::
| [] -> failwith "Error in basis set" | [] -> failwith "Error in basis set"
| line :: tail -> | line :: tail ->
let line = String.strip line in let line = String.strip line in
if line = "Basis set ::" then if line = "Basis set (read-only) ::" then
String.concat tail ~sep:"\n" String.concat tail ~sep:"\n"
else else
extract_basis tail extract_basis tail
@ -250,6 +269,7 @@ ao_nucl = %s
ao_power = %s ao_power = %s
ao_coef = %s ao_coef = %s
ao_expo = %s ao_expo = %s
ao_cartesian = %s
md5 = %s md5 = %s
" "
(AO_basis_name.to_string b.ao_basis) (AO_basis_name.to_string b.ao_basis)
@ -265,6 +285,7 @@ md5 = %s
|> String.concat ~sep:", ") |> String.concat ~sep:", ")
(b.ao_expo |> Array.to_list |> List.map ~f:AO_expo.to_string (b.ao_expo |> Array.to_list |> List.map ~f:AO_expo.to_string
|> String.concat ~sep:", ") |> String.concat ~sep:", ")
(b.ao_cartesian |> Bool.to_string)
(to_md5 b |> MD5.to_string ) (to_md5 b |> MD5.to_string )
;; ;;

View File

@ -10,7 +10,7 @@ let of_basis b =
begin begin
let new_accu = let new_accu =
Symmetry.Xyz.of_symmetry g.Gto.sym Symmetry.Xyz.of_symmetry g.Gto.sym
|> List.map ~f:(fun x-> (x,g,n)) |> List.rev_map ~f:(fun x-> (x,g,n))
in in
do_work (new_accu@accu) tail do_work (new_accu@accu) tail
end end

View File

@ -14,17 +14,18 @@ PKGS=
OCAMLCFLAGS="-g -warn-error A" OCAMLCFLAGS="-g -warn-error A"
OCAMLBUILD=ocamlbuild -j 0 -syntax camlp4o -cflags $(OCAMLCFLAGS) -lflags $(OCAMLCFLAGS) OCAMLBUILD=ocamlbuild -j 0 -syntax camlp4o -cflags $(OCAMLCFLAGS) -lflags $(OCAMLCFLAGS)
MLFILES=$(wildcard *.ml) ezfio.ml Qptypes.ml Input_auto_generated.ml qp_edit.ml MLFILES=$(wildcard *.ml) ezfio.ml Qptypes.ml Input_auto_generated.ml qp_edit.ml
MLIFILES=$(wildcard *.mli) MLIFILES=$(wildcard *.mli) git
ALL_TESTS=$(patsubst %.ml,%.byte,$(wildcard test_*.ml)) ALL_TESTS=$(patsubst %.ml,%.byte,$(wildcard test_*.ml))
ALL_EXE=$(patsubst %.ml,%.native,$(wildcard qp_*.ml)) qp_edit.native ALL_EXE=$(patsubst %.ml,%.native,$(wildcard qp_*.ml)) qp_edit.native
.PHONY: executables default remake_executables .PHONY: executables default remake_executables
default: $(ALL_TESTS) $(ALL_EXE) .gitignore default: $(ALL_EXE) .gitignore
tests: $(ALL_TESTS)
.gitignore: $(MLFILES) .gitignore: $(MLFILES) $(MLIFILES)
@for i in .gitignore ezfio.ml Qptypes.ml qptypes_generator.byte _build $(ALL_EXE) $(ALL_TESTS) \ @for i in .gitignore ezfio.ml Qptypes.ml Git.ml qptypes_generator.byte _build $(ALL_EXE) $(ALL_TESTS) \
$(patsubst %.ml,%,$(wildcard test_*.ml)) $(patsubst %.ml,%,$(wildcard qp_*.ml)) \ $(patsubst %.ml,%,$(wildcard test_*.ml)) $(patsubst %.ml,%,$(wildcard qp_*.ml)) \
$(shell grep Input Input_auto_generated.ml | awk '{print $$2 ".ml"}') \ $(shell grep Input Input_auto_generated.ml | awk '{print $$2 ".ml"}') \
qp_edit.ml qp_edit qp_edit.native Input_auto_generated.ml;\ qp_edit.ml qp_edit qp_edit.native Input_auto_generated.ml;\
@ -34,6 +35,7 @@ default: $(ALL_TESTS) $(ALL_EXE) .gitignore
executables: $(QP_ROOT)/data/executables executables: $(QP_ROOT)/data/executables
$(QP_ROOT)/data/executables: remake_executables $(QP_ROOT)/data/executables: remake_executables
$(QP_ROOT)/scripts/module/create_executables_list.sh $(QP_ROOT)/scripts/module/create_executables_list.sh
@ -71,6 +73,9 @@ qptypes_generator.byte: qptypes_generator.ml
Qptypes.ml: qptypes_generator.byte Qptypes.ml: qptypes_generator.byte
./qptypes_generator.byte > Qptypes.ml ./qptypes_generator.byte > Qptypes.ml
git:
./create_git_sha1.sh
${QP_ROOT}/install/EZFIO/Ocaml/ezfio.ml: ${QP_ROOT}/install/EZFIO/Ocaml/ezfio.ml:
$(NINJA) -C ${QP_ROOT}/install/EZFIO $(NINJA) -C ${QP_ROOT}/install/EZFIO
@ -78,5 +83,5 @@ Input_auto_generated.ml qp_edit.ml:
ei_handler.py ocaml_global ei_handler.py ocaml_global
clean: clean:
rm -rf _build Qptypes.ml Input_auto_generated.ml $(ALL_EXE) $(ALL_TESTS) rm -rf _build Qptypes.ml Git.ml Input_auto_generated.ml $(ALL_EXE) $(ALL_TESTS)

323
ocaml/Message.ml Normal file
View File

@ -0,0 +1,323 @@
open Core.Std
(** New job : Request to create a new multi-tasked job *)
module State : sig
type t
val of_string : string -> t
val to_string : t -> string
end = struct
type t = string
let of_string x = x
let to_string x = x
end
module Newjob_msg : sig
type t =
{ state: State.t;
address_tcp: Address.Tcp.t ;
address_inproc: Address.Inproc.t;
}
val create : address_tcp:string -> address_inproc:string -> state:string -> t
val to_string : t -> string
end = struct
type t =
{ state: State.t;
address_tcp: Address.Tcp.t ;
address_inproc: Address.Inproc.t;
}
let create ~address_tcp ~address_inproc ~state =
{ state = State.of_string state;
address_tcp = Address.Tcp.of_string address_tcp ;
address_inproc = Address.Inproc.of_string address_inproc ;
}
let to_string t =
Printf.sprintf "newjob %s %s %s"
( State.to_string t.state )
( Address.Tcp.to_string t.address_tcp )
( Address.Inproc.to_string t.address_inproc )
end
(** Connect : connect a new client to the task server *)
module Connect_msg : sig
type t = Tcp | Inproc | Ipc
val create : typ:string -> t
val to_string : t -> string
end = struct
type t = Tcp | Inproc | Ipc
let create ~typ =
match typ with
| "tcp" -> Tcp
| "inproc" -> Inproc
| "ipc" -> Ipc
| _ -> assert false
let to_string = function
| Tcp -> "connect tcp"
| Inproc -> "connect inproc"
| Ipc -> "connect ipc"
end
(** ConnectReply : Reply to the connect messsage *)
module ConnectReply_msg : sig
type t =
{ client_id: Id.Client.t ;
state: State.t ;
push_address: Address.t;
}
val create : state:State.t -> client_id:Id.Client.t -> push_address:Address.t -> t
val to_string : t -> string
end = struct
type t =
{ client_id: Id.Client.t ;
state: State.t ;
push_address: Address.t;
}
let create ~state ~client_id ~push_address =
{ client_id ; state ; push_address }
let to_string x =
Printf.sprintf "connect_reply %s %d %s"
(State.to_string x.state)
(Id.Client.to_int x.client_id)
(Address.to_string x.push_address)
end
(** Disconnect : disconnect a client from the task server *)
module Disconnect_msg : sig
type t =
{ client_id: Id.Client.t ;
state: State.t ;
}
val create : state:string -> client_id:string -> t
val to_string : t -> string
end = struct
type t =
{ client_id: Id.Client.t ;
state: State.t ;
}
let create ~state ~client_id =
{ client_id = Id.Client.of_string client_id ; state = State.of_string state }
let to_string x =
Printf.sprintf "disconnect %s %d"
(State.to_string x.state)
(Id.Client.to_int x.client_id)
end
module DisconnectReply_msg : sig
type t =
{ finished: bool ;
state: State.t ;
}
val create : state:State.t -> finished:bool -> t
val to_string : t -> string
end = struct
type t =
{ finished: bool;
state: State.t ;
}
let create ~state ~finished =
{ state ; finished }
let to_string x =
Printf.sprintf "disconnect_reply %s %d"
(State.to_string x.state)
(if x.finished then 1 else 0)
end
(** AddTask : Add a new task to the queue *)
module AddTask_msg : sig
type t =
{ state: State.t;
task: string;
}
val create : state:string -> task:string -> t
val to_string : t -> string
end = struct
type t =
{ state: State.t;
task: string;
}
let create ~state ~task = { state = State.of_string state ; task }
let to_string x =
Printf.sprintf "add_task %s %s" (State.to_string x.state) x.task
end
(** AddTaskReply : Reply to the AddTask message *)
module AddTaskReply_msg : sig
type t
val create : task_id:Id.Task.t -> t
val to_string : t -> string
end = struct
type t = Id.Task.t
let create ~task_id = task_id
let to_string x =
Printf.sprintf "add_task_reply %d" (Id.Task.to_int x)
end
(** GetTask : get a new task to do *)
module GetTask_msg : sig
type t =
{ client_id: Id.Client.t ;
state: State.t ;
}
val create : state:string -> client_id:string -> t
val to_string : t -> string
end = struct
type t =
{ client_id: Id.Client.t ;
state: State.t ;
}
let create ~state ~client_id =
{ client_id = Id.Client.of_string client_id ; state = State.of_string state }
let to_string x =
Printf.sprintf "get_task %s %d"
(State.to_string x.state)
(Id.Client.to_int x.client_id)
end
(** GetTaskReply : Reply to the GetTask message *)
module GetTaskReply_msg : sig
type t
val create : task_id:Id.Task.t -> task:string -> t
val to_string : t -> string
end = struct
type t =
{ task_id: Id.Task.t ;
task : string ;
}
let create ~task_id ~task = { task_id ; task }
let to_string x =
Printf.sprintf "get_task_reply %d %s" (Id.Task.to_int x.task_id) x.task
end
(** TaskDone : Inform the server that a task is finished *)
module TaskDone_msg : sig
type t =
{ client_id: Id.Client.t ;
state: State.t ;
task_id: Id.Task.t;
}
val create : state:string -> client_id:string -> task_id:string -> t
val to_string : t -> string
end = struct
type t =
{ client_id: Id.Client.t ;
state: State.t ;
task_id: Id.Task.t;
}
let create ~state ~client_id ~task_id =
{ client_id = Id.Client.of_string client_id ;
state = State.of_string state ;
task_id = Id.Task.of_string task_id }
let to_string x =
Printf.sprintf "task_done %s %d %d"
(State.to_string x.state)
(Id.Client.to_int x.client_id)
(Id.Task.to_int x.task_id)
end
(** Terminate *)
module Terminate_msg : sig
type t
val create : unit -> t
val to_string : t -> string
end = struct
type t = Terminate
let create () = Terminate
let to_string x = "terminate"
end
(** OK *)
module Ok_msg : sig
type t
val create : unit -> t
val to_string : t -> string
end = struct
type t = Ok
let create () = Ok
let to_string x = "ok"
end
(** Error *)
module Error_msg : sig
type t
val create : string -> t
val to_string : t -> string
end = struct
type t = string
let create x = x
let to_string x =
String.concat ~sep:" " [ "error" ; x ]
end
(** Message *)
type t =
| Newjob of Newjob_msg.t
| Connect of Connect_msg.t
| ConnectReply of ConnectReply_msg.t
| Disconnect of Disconnect_msg.t
| DisconnectReply of DisconnectReply_msg.t
| GetTask of GetTask_msg.t
| GetTaskReply of GetTaskReply_msg.t
| AddTask of AddTask_msg.t
| AddTaskReply of AddTaskReply_msg.t
| TaskDone of TaskDone_msg.t
| Terminate of Terminate_msg.t
| Ok of Ok_msg.t
| Error of Error_msg.t
let of_string s =
let l =
String.split ~on:' ' s
|> List.filter ~f:(fun x -> (String.strip x) <> "")
|> List.map ~f:String.lowercase
in
match l with
| "add_task" :: state :: task ->
AddTask (AddTask_msg.create ~state ~task:(String.concat ~sep:" " task) )
| "get_task" :: state :: client_id :: [] ->
GetTask (GetTask_msg.create ~state ~client_id)
| "task_done" :: state :: client_id :: task_id :: [] ->
TaskDone (TaskDone_msg.create ~state ~client_id ~task_id)
| "disconnect" :: state :: client_id :: [] ->
Disconnect (Disconnect_msg.create ~state ~client_id)
| "connect" :: t :: [] ->
Connect (Connect_msg.create t)
| "new_job" :: state :: push_address_tcp :: push_address_inproc :: [] ->
Newjob (Newjob_msg.create push_address_tcp push_address_inproc state)
| "terminate" :: [] ->
Terminate (Terminate_msg.create () )
| "ok" :: [] ->
Ok (Ok_msg.create ())
| "error" :: rest ->
Error (Error_msg.create (String.concat ~sep:" " rest))
| _ -> failwith "Message not understood"
let to_string = function
| Newjob x -> Newjob_msg.to_string x
| Connect x -> Connect_msg.to_string x
| ConnectReply x -> ConnectReply_msg.to_string x
| Disconnect x -> Disconnect_msg.to_string x
| DisconnectReply x -> DisconnectReply_msg.to_string x
| GetTask x -> GetTask_msg.to_string x
| GetTaskReply x -> GetTaskReply_msg.to_string x
| AddTask x -> AddTask_msg.to_string x
| AddTaskReply x -> AddTaskReply_msg.to_string x
| TaskDone x -> TaskDone_msg.to_string x
| Terminate x -> Terminate_msg.to_string x
| Ok x -> Ok_msg.to_string x
| Error x -> Error_msg.to_string x

273
ocaml/Pseudo.ml Normal file
View File

@ -0,0 +1,273 @@
open Core.Std
open Qptypes
module Primitive_local : sig
type t = {
expo : AO_expo.t ;
r_power : R_power.t ;
} with sexp
val of_expo_r_power : AO_expo.t -> R_power.t -> t
val to_string : t -> string
end = struct
type t = {
expo : AO_expo.t ;
r_power : R_power.t ;
} with sexp
let of_expo_r_power dz n =
{ expo = dz ; r_power = n }
let to_string p =
Printf.sprintf "(%d, %f)"
(R_power.to_int p.r_power)
(AO_expo.to_float p.expo)
end
module Primitive_non_local : sig
type t = {
expo : AO_expo.t ;
r_power : R_power.t ;
proj : Positive_int.t
} with sexp
val of_proj_expo_r_power : Positive_int.t -> AO_expo.t -> R_power.t -> t
val to_string : t -> string
end = struct
type t = {
expo : AO_expo.t ;
r_power : R_power.t ;
proj : Positive_int.t
} with sexp
let of_proj_expo_r_power p dz n =
{ expo = dz ; r_power = n ; proj = p }
let to_string p =
Printf.sprintf "(%d, %f, %d)"
(R_power.to_int p.r_power)
(AO_expo.to_float p.expo)
(Positive_int.to_int p.proj)
end
type t = {
element : Element.t ;
n_elec : Positive_int.t ;
local : (Primitive_local.t * AO_coef.t ) list ;
non_local : (Primitive_non_local.t * AO_coef.t ) list
} with sexp
let empty e =
{ element = e;
n_elec = Positive_int.of_int 0;
local = [];
non_local = [];
}
(** Transform the local component of the pseudopotential to a string *)
let to_string_local = function
| [] -> ""
| t ->
"Local component:" ::
( Printf.sprintf "%20s %8s %20s" "Coeff." "r^n" "Exp." ) ::
( List.map t ~f:(fun (l,c) -> Printf.sprintf "%20f %8d %20f"
(AO_coef.to_float c)
(R_power.to_int l.Primitive_local.r_power)
(AO_expo.to_float l.Primitive_local.expo)
) )
|> String.concat ~sep:"\n"
(** Transform the non-local component of the pseudopotential to a string *)
let to_string_non_local = function
| [] -> ""
| t ->
"Non-local component:" ::
( Printf.sprintf "%20s %8s %20s %8s" "Coeff." "r^n" "Exp." "Proj") ::
( List.map t ~f:(fun (l,c) ->
let p =
Positive_int.to_int l.Primitive_non_local.proj
in
Printf.sprintf "%20f %8d %20f |%d><%d|"
(AO_coef.to_float c)
(R_power.to_int l.Primitive_non_local.r_power)
(AO_expo.to_float l.Primitive_non_local.expo)
p p
) )
|> String.concat ~sep:"\n"
(** Transform the Pseudopotential to a string *)
let to_string t =
Printf.sprintf "%s %d electrons removed"
(Element.to_string t.element)
(Positive_int.to_int t.n_elec)
:: to_string_local t.local
:: to_string_non_local t.non_local
:: []
|> List.filter ~f:(fun x -> x <> "")
|> String.concat ~sep:"\n"
(** Find an element in the file *)
let find in_channel element =
In_channel.seek in_channel 0L;
let element_read, old_pos =
ref Element.X,
ref (In_channel.pos in_channel)
in
while !element_read <> element
do
let buffer =
old_pos := In_channel.pos in_channel;
match In_channel.input_line in_channel with
| Some line -> String.split ~on:' ' line
|> List.hd_exn
| None -> ""
in
try
element_read := Element.of_string buffer
with
| Element.ElementError _ -> ()
done ;
In_channel.seek in_channel !old_pos;
!element_read
(** Read the Pseudopotential in GAMESS format *)
let read_element in_channel element =
ignore (find in_channel element);
let rec read result =
match In_channel.input_line in_channel with
| None -> result
| Some line ->
if (String.strip line = "") then
result
else
read (line::result)
in
let data =
read []
|> List.rev
in
let debug_data =
String.concat ~sep:"\n" data
in
let decode_first_line = function
| first_line :: rest ->
begin
let first_line_split =
String.split first_line ~on:' '
|> List.filter ~f:(fun x -> (String.strip x) <> "")
in
match first_line_split with
| e :: "GEN" :: n :: p ->
{ element = Element.of_string e ;
n_elec = Int.of_string n |> Positive_int.of_int ;
local = [] ;
non_local = []
}, rest
| _ -> failwith (
Printf.sprintf "Unable to read Pseudopotential : \n%s\n"
debug_data )
end
| _ -> failwith ("Error reading pseudopotential\n"^debug_data)
in
let rec loop create_primitive accu = function
| (0,rest) -> List.rev accu, rest
| (n,line::rest) ->
begin
match
String.split line ~on:' '
|> List.filter ~f:(fun x -> String.strip x <> "")
with
| c :: i :: e :: [] ->
let i =
Int.of_string i
in
let elem =
( create_primitive
(Float.of_string e |> AO_expo.of_float)
(i-2 |> R_power.of_int),
Float.of_string c |> AO_coef.of_float
)
in
loop create_primitive (elem::accu) (n-1, rest)
| _ -> failwith ("Error reading pseudopotential\n"^debug_data)
end
| _ -> failwith ("Error reading pseudopotential\n"^debug_data)
in
let decode_local (pseudo,data) =
let decode_local_n n rest =
let result, rest =
loop Primitive_local.of_expo_r_power [] (Positive_int.to_int n,rest)
in
{ pseudo with local = result }, rest
in
match data with
| n :: rest ->
let n =
String.strip n
|> Int.of_string
|> Positive_int.of_int
in
decode_local_n n rest
| _ -> failwith ("Unable to read (non-)local pseudopotential\n"^debug_data)
in
let decode_non_local (pseudo,data) =
let decode_non_local_n proj n (pseudo,data) =
let result, rest =
loop (Primitive_non_local.of_proj_expo_r_power proj)
[] (Positive_int.to_int n, data)
in
{ pseudo with non_local = pseudo.non_local @ result }, rest
in
let rec new_proj (pseudo,data) proj =
match data with
| n :: rest ->
let n =
String.strip n
|> Int.of_string
|> Positive_int.of_int
in
let result =
decode_non_local_n proj n (pseudo,rest)
and proj_next =
(Positive_int.to_int proj)+1
|> Positive_int.of_int
in
new_proj result proj_next
| _ -> pseudo
in
new_proj (pseudo,data) (Positive_int.of_int 0)
in
decode_first_line data
|> decode_local
|> decode_non_local
include To_md5
let to_md5 = to_md5 sexp_of_t

View File

@ -55,7 +55,6 @@ let executables = lazy (
In_channel.input_lines in_channel In_channel.input_lines in_channel
|> List.map ~f:(fun x -> |> List.map ~f:(fun x ->
let e = String.split ~on:' ' x let e = String.split ~on:' ' x
|> List.map ~f:String.strip
|> List.filter ~f:(fun x -> x <> "") |> List.filter ~f:(fun x -> x <> "")
in in
match e with match e with

118
ocaml/Queuing_system.ml Normal file
View File

@ -0,0 +1,118 @@
open Core.Std
type t =
{ queued : Id.Task.t list ;
running : (Id.Task.t, Id.Client.t) Map.Poly.t ;
tasks : (Id.Task.t, string) Map.Poly.t;
clients : Id.Client.t Set.Poly.t;
next_client_id : Id.Client.t;
next_task_id : Id.Task.t;
}
let create () =
{ queued = [] ;
running = Map.Poly.empty ;
tasks = Map.Poly.empty;
clients = Set.Poly.empty;
next_client_id = Id.Client.of_int 1;
next_task_id = Id.Task.of_int 1;
}
let add_task ~task q =
let task_id =
q.next_task_id
in
{ q with
queued = task_id :: q.queued ;
tasks = Map.add q.tasks ~key:task_id ~data:task ;
next_task_id = Id.Task.increment task_id ;
}, task_id
let add_client q =
let client_id =
q.next_client_id
in
{ q with
clients = Set.add q.clients client_id;
next_client_id = Id.Client.increment client_id;
}, client_id
let pop_task ~client_id q =
let { queued ; running ; _ } =
q
in
assert (Set.mem q.clients client_id);
match queued with
| task_id :: new_queue ->
let new_q =
{ q with
queued = new_queue ;
running = Map.add running ~key:task_id ~data:client_id ;
}
in new_q, Some task_id, (Map.find q.tasks task_id)
| [] -> q, None, None
let del_client ~client_id q =
assert (Set.mem q.clients client_id);
{ q with
clients = Set.remove q.clients client_id }
let end_task ~task_id ~client_id q =
let { running ; tasks ; _ } =
q
in
assert (Set.mem q.clients client_id);
let () =
match Map.Poly.find running task_id with
| None -> failwith "Task already finished"
| Some client_id_check -> assert (client_id_check = client_id)
in
{ q with
running = Map.remove running task_id ;
tasks = Map.remove tasks task_id ;
}
let number_of_queued q =
List.length q.queued
let number_of_running q =
Map.length q.running
let to_string { queued ; running ; tasks ; _ } =
let q =
List.map ~f:Id.Task.to_string queued
|> String.concat ~sep:" ; "
and r =
Map.Poly.to_alist running
|> List.map ~f:(fun (t,c) -> "("^(Id.Task.to_string t)^", "
^(Id.Client.to_string c)^")")
|> String.concat ~sep:" ; "
and t =
Map.Poly.to_alist tasks
|> List.map ~f:(fun (t,c) -> "("^(Id.Task.to_string t)^", \""
^c^"\")")
|> String.concat ~sep:" ; "
in
Printf.sprintf "{
queued : { %s }
running : { %s }
tasks : [ %s
]
}" q r t

View File

@ -1,5 +1,5 @@
open Qptypes;; open Qptypes
open Core.Std;; open Core.Std
type t = S|P|D|F|G|H|I|J|K|L with sexp type t = S|P|D|F|G|H|I|J|K|L with sexp
@ -53,7 +53,7 @@ let to_l = function
| J -> Positive_int.of_int 7 | J -> Positive_int.of_int 7
| K -> Positive_int.of_int 8 | K -> Positive_int.of_int 8
| L -> Positive_int.of_int 9 | L -> Positive_int.of_int 9
;;
let of_l i = let of_l i =
let i = Positive_int.to_int i in let i = Positive_int.to_int i in
@ -69,10 +69,10 @@ let of_l i =
| 8 -> K | 8 -> K
| 9 -> L | 9 -> L
| x -> raise (Failure ("Symmetry should be S|P|D|F|G|H|I|J|K|L")) | x -> raise (Failure ("Symmetry should be S|P|D|F|G|H|I|J|K|L"))
;;
type st = t type st = t
;;
module Xyz = struct module Xyz = struct
type t = { x: Positive_int.t ; type t = { x: Positive_int.t ;
@ -119,7 +119,7 @@ module Xyz = struct
{ x=Positive_int.of_int 0 ; { x=Positive_int.of_int 0 ;
y=Positive_int.of_int 0 ; y=Positive_int.of_int 0 ;
z=Positive_int.of_int 0 } "" z=Positive_int.of_int 0 } ""
;;
(** Transforms an XYZ triplet to a string *) (** Transforms an XYZ triplet to a string *)
let to_string t = let to_string t =
@ -139,7 +139,7 @@ module Xyz = struct
let result = (x^y^z) in let result = (x^y^z) in
if (result = "") then "s" if (result = "") then "s"
else result else result
;;
(** Returns the l quantum number from a XYZ powers triplet *) (** Returns the l quantum number from a XYZ powers triplet *)
let get_l t = let get_l t =
@ -147,7 +147,7 @@ module Xyz = struct
and y = Positive_int.to_int t.y and y = Positive_int.to_int t.y
and z = Positive_int.to_int t.z and z = Positive_int.to_int t.z
in Positive_int.of_int (x+y+z) in Positive_int.of_int (x+y+z)
;;
(** Returns a list of XYZ powers for a given symmetry *) (** Returns a list of XYZ powers for a given symmetry *)
let of_symmetry sym = let of_symmetry sym =
@ -178,10 +178,11 @@ module Xyz = struct
in in
create_x [] { x=(to_l sym) ; y=Positive_int.of_int 0 ; create_x [] { x=(to_l sym) ; y=Positive_int.of_int 0 ;
z=Positive_int.of_int 0 } z=Positive_int.of_int 0 }
;; |> List.rev
(** Returns the symmetry corresponding to the XYZ triplet *) (** Returns the symmetry corresponding to the XYZ triplet *)
let to_symmetry sym = of_l (get_l sym) let to_symmetry sym = of_l (get_l sym)
;;
end end

337
ocaml/TaskServer.ml Normal file
View File

@ -0,0 +1,337 @@
open Core.Std
open Qptypes
(**
The tasks server listens on a REQ socket and accepts the following commands:
* "new_job %s %s %s" state push_address_tcp push_address_inproc -> "OK"
-> "OK"
* "connect %s" ["tcp"|"inproc"]
-> "%d %s %s" id state push_address
* "disconnect %d" id
-> "OK"
* "get_task %d %s" id state
-> "%d %s" task_id task
* "task_done %d task_id %s" id state
-> "%d %s" task_id task
*)
let bind_socket ~socket_type ~socket ~address =
try
ZMQ.Socket.bind socket address
with
| Unix.Unix_error (_, message, f) ->
failwith @@ Printf.sprintf
"\n%s\nUnable to bind the %s socket :\n %s\n%s"
f socket_type address message
| other_exception -> raise other_exception
(** Name of the host on which the server runs *)
let hostname = lazy (
try
Unix.gethostname ()
with
| _ -> "localhost"
)
(** IP address *)
let ip_address = lazy (
match Sys.getenv "QP_NIC" with
| None ->
begin
try
Lazy.force hostname
|> Unix.Inet_addr.of_string_or_getbyname
|> Unix.Inet_addr.to_string
with
| Unix.Unix_error _ ->
failwith "Unable to find IP address from host name."
end
| Some interface ->
begin
try
ok_exn Linux_ext.get_ipv4_address_for_interface interface
with
| Unix.Unix_error _ ->
Lazy.force hostname
|> Unix.Inet_addr.of_string_or_getbyname
|> Unix.Inet_addr.to_string
end
)
let stop ~port =
let zmq_context =
ZMQ.Context.create ()
in
let req_socket =
ZMQ.Socket.create zmq_context ZMQ.Socket.req
and address =
Printf.sprintf "tcp://%s:%d" (Lazy.force ip_address) port
in
ZMQ.Socket.connect req_socket address;
Message.Terminate (Message.Terminate_msg.create ())
|> Message.to_string
|> ZMQ.Socket.send ~block:false req_socket ;
let msg =
ZMQ.Socket.recv req_socket
|> Message.of_string
in
let () =
match msg with
| Message.Ok _ -> ()
| _ -> failwith "Problem in termination"
in
ZMQ.Socket.set_linger_period req_socket 1000;
ZMQ.Socket.close req_socket
(** Run the task server *)
let run ~port =
let zmq_context =
ZMQ.Context.create ()
in
let rep_socket =
ZMQ.Socket.create zmq_context ZMQ.Socket.rep
and address =
Printf.sprintf "tcp://%s:%d" (Lazy.force ip_address) port
in
bind_socket "REP" rep_socket address;
let pollitem =
ZMQ.Poll.mask_of
[| (rep_socket, ZMQ.Poll.In) |]
in
Printf.printf "Task server running : %s\n%!" address;
(** State variables *)
let q = ref
(Queuing_system.create ())
and running =
ref true
and job =
ref None
in
let get_state () =
match !job with
| None -> None
| Some j -> Some j.Message.Newjob_msg.state
in
let get_tcp_address () =
match !job with
| Some j -> Address.Tcp j.Message.Newjob_msg.address_tcp
| None -> assert false
in
let get_inproc_address () =
match !job with
| Some j -> Address.Inproc j.Message.Newjob_msg.address_inproc
| None -> assert false
in
let ok =
Message.Ok (Message.Ok_msg.create ())
in
while ( !running )
do
let state =
get_state ()
and polling =
ZMQ.Poll.poll ~timeout:1000 pollitem
in
let terminate () =
running := false;
Message.to_string ok
|> ZMQ.Socket.send ~block:false rep_socket
and newjob x =
q := Queuing_system.create ();
job := Some x;
Message.to_string ok
|> ZMQ.Socket.send ~block:false rep_socket
and connect state msg =
let push_address =
match msg with
| Message.Connect_msg.Tcp -> get_tcp_address ()
| Message.Connect_msg.Inproc -> get_inproc_address ()
| Message.Connect_msg.Ipc -> assert false
in
let new_q, client_id =
Queuing_system.add_client !q
in
q := new_q;
Message.ConnectReply (Message.ConnectReply_msg.create
~state ~client_id ~push_address)
|> Message.to_string
|> ZMQ.Socket.send ~block:false rep_socket
and disconnect state msg =
let s, c =
msg.Message.Disconnect_msg.state ,
msg.Message.Disconnect_msg.client_id
in
assert (s = state);
let new_q =
Queuing_system.del_client ~client_id:c !q
in
q := new_q;
let finished =
Queuing_system.number_of_queued !q +
Queuing_system.number_of_running !q = 0
in
Message.DisconnectReply (Message.DisconnectReply_msg.create
~state ~finished)
|> Message.to_string
|> ZMQ.Socket.send ~block:false rep_socket
and add_task state msg =
let s, task =
msg.Message.AddTask_msg.state,
msg.Message.AddTask_msg.task
in
assert (s = state);
Message.to_string ok
|> ZMQ.Socket.send ~block:false rep_socket
;
begin
match
String.split ~on:' ' msg.Message.AddTask_msg.task
|> List.filter ~f:(fun x -> x <> "")
with
| "triangle" :: str_l :: [] ->
begin
let l =
Int.of_string str_l
in
for j=1 to l
do
let task =
Printf.sprintf "%d %s" j str_l
in
let new_q, _ =
Queuing_system.add_task ~task !q
in
q := new_q
done
end
| "range" :: str_i :: str_j :: [] ->
begin
let i, j =
Int.of_string str_i,
Int.of_string str_j
in
for k=i to (j+1)
do
let task =
Int.to_string k
in
let new_q, task_id =
Queuing_system.add_task ~task !q
in
q := new_q
done
end
| _ ->
let new_q, task_id =
Queuing_system.add_task ~task !q
in
q := new_q
end
and get_task state msg =
let s, client_id =
msg.Message.GetTask_msg.state,
msg.Message.GetTask_msg.client_id
in
assert (s = state);
let new_q, task_id, task =
Queuing_system.pop_task ~client_id !q
in
q := new_q;
let reply =
match (task, task_id) with
| Some task, Some task_id ->
Message.GetTaskReply (Message.GetTaskReply_msg.create ~task ~task_id)
| _ -> Message.Terminate (Message.Terminate_msg.create ())
in
Message.to_string reply
|> ZMQ.Socket.send ~block:false rep_socket
and task_done state msg =
let s, client_id, task_id =
msg.Message.TaskDone_msg.state,
msg.Message.TaskDone_msg.client_id,
msg.Message.TaskDone_msg.task_id
in
assert (s = state);
let new_q =
Queuing_system.end_task ~task_id ~client_id !q
in
q := new_q;
Message.to_string ok
|> ZMQ.Socket.send ~block:false rep_socket
and error msg =
Message.Error (Message.Error_msg.create msg)
|> Message.to_string
|> ZMQ.Socket.send ~block:false rep_socket
in
if (polling.(0) = Some ZMQ.Poll.In) then
let raw_message =
ZMQ.Socket.recv rep_socket
in
try
let message =
Message.of_string raw_message
in
(*
Printf.printf "%d %d : %s\n%!"
(Queuing_system.number_of_queued !q)
(Queuing_system.number_of_running !q)
(Message.to_string message);
Printf.printf "%s\n%!" (Queuing_system.to_string !q); *)
match (state, message) with
| _ , Message.Terminate _ -> terminate ()
| None , Message.Newjob x -> newjob x
| None , _ -> error "No job is running"
| _ , Message.Newjob _ -> error "A job is already running"
| Some s, Message.Connect x -> connect s x
| Some s, Message.Disconnect x -> disconnect s x
| Some s, Message.AddTask x -> add_task s x
| Some s, Message.GetTask x -> get_task s x
| Some s, Message.TaskDone x -> task_done s x
| _ , _ ->
error ("Invalid message : "^(Message.to_string message))
with
| Failure f -> error (f^" : "^raw_message)
| Assert_failure (f,i,j) -> error (Printf.sprintf "%s:%d:%d : %s" f i j raw_message)
done;
ZMQ.Socket.set_linger_period rep_socket 1000;
ZMQ.Socket.close rep_socket
(*
let () =
Printf.printf "export QP_RUN_ADDRESS=tcp://%s:%d\n%!" (Lazy.force ip_address) (Lazy.force port)
*)

View File

@ -1,2 +1,2 @@
true: package(core,sexplib.syntax,cryptokit) true: package(core,sexplib.syntax,cryptokit,ZMQ)
true: thread true: thread

12
ocaml/create_git_sha1.sh Executable file
View File

@ -0,0 +1,12 @@
#!/bin/bash
SHA1=$(git log -1 | head -1 | cut -d ' ' -f 2)
DATE=$(git log -1 | grep Date | cut -d ':' -f 2-)
MESSAGE=$(git log -1 | tail -1)
cat << EOF > Git.ml
open Core.Std
let sha1 = "$SHA1" |> String.strip
let date = "$DATE" |> String.strip
let message = "$MESSAGE" |> String.strip
EOF

View File

@ -15,11 +15,14 @@ let spec =
~doc:"float Add dummy atoms. x * (covalent radii of the atoms)" ~doc:"float Add dummy atoms. x * (covalent radii of the atoms)"
+> flag "m" (optional_with_default 1 int) +> flag "m" (optional_with_default 1 int)
~doc:"int Spin multiplicity (2S+1) of the molecule. Default is 1." ~doc:"int Spin multiplicity (2S+1) of the molecule. Default is 1."
+> flag "p" no_arg +> flag "p" (optional string)
~doc:" Using pseudopotentials" ~doc:"string Name of the pseudopotential"
+> flag "cart" no_arg
~doc:" Compute AOs in the Cartesian basis set (6d, 10f, ...)"
+> anon ("xyz_file" %: file ) +> anon ("xyz_file" %: file )
(** Handle dummy atoms placed on bonds *)
let dummy_centers ~threshold ~molecule ~nuclei = let dummy_centers ~threshold ~molecule ~nuclei =
let d = let d =
Molecule.distance_matrix molecule Molecule.distance_matrix molecule
@ -68,6 +71,7 @@ let dummy_centers ~threshold ~molecule ~nuclei =
) )
(** Returns the list of available basis sets *)
let list_basis () = let list_basis () =
let basis_list = let basis_list =
Qpackage.root ^ "/install/emsl/EMSL_api.py list_basis" Qpackage.root ^ "/install/emsl/EMSL_api.py list_basis"
@ -84,7 +88,8 @@ let list_basis () =
|> String.concat ~sep:"\t" |> String.concat ~sep:"\t"
let run ?o b c d m p xyz_file = (** Run the program *)
let run ?o b c d m p cart xyz_file =
(* Read molecule *) (* Read molecule *)
let molecule = let molecule =
@ -94,16 +99,15 @@ let run ?o b c d m p xyz_file =
let dummy = let dummy =
dummy_centers ~threshold:d ~molecule ~nuclei:molecule.Molecule.nuclei dummy_centers ~threshold:d ~molecule ~nuclei:molecule.Molecule.nuclei
in in
(*
List.iter dummy ~f:(fun x ->
Printf.printf "%s\n" (Atom.to_string ~units:Units.Angstrom x)
);
*)
let nuclei = let nuclei =
molecule.Molecule.nuclei @ dummy molecule.Molecule.nuclei @ dummy
in in
(**********
Basis set
**********)
let basis_table = let basis_table =
Hashtbl.Poly.create () Hashtbl.Poly.create ()
in in
@ -133,16 +137,18 @@ let run ?o b c d m p xyz_file =
let fetch_channel basis = let fetch_channel basis =
let command = let command =
if (p) then Qpackage.root ^ "/scripts/get_basis.sh \"" ^ temp_filename
Qpackage.root ^ "/scripts/get_basis.sh \"" ^ temp_filename
^ "." ^ basis ^ "\" \"" ^ basis ^"\" pseudo"
else
Qpackage.root ^ "/scripts/get_basis.sh \"" ^ temp_filename
^ "." ^ basis ^ "\" \"" ^ basis ^"\"" ^ "." ^ basis ^ "\" \"" ^ basis ^"\""
in in
match Sys.is_file basis with let long_basis =
| `Yes -> Qpackage.root ^ "/data/basis/" ^ basis
In_channel.create basis in
match
Sys.is_file basis,
Sys.is_file long_basis
with
| `Yes, _ -> In_channel.create basis
| `No , `Yes -> In_channel.create long_basis
| _ -> | _ ->
begin begin
let filename = let filename =
@ -206,6 +212,96 @@ let run ?o b c d m p xyz_file =
|> List.rev_map ~f:String.strip |> List.rev_map ~f:String.strip
|> build_basis; |> build_basis;
(***************
Pseudopotential
***************)
let pseudo_table =
Hashtbl.Poly.create ()
in
(* Open pseudo channels *)
let pseudo_channel element =
let key =
Element.to_string element
in
Hashtbl.find pseudo_table key
in
let temp_filename =
Filename.temp_file "qp_create_" ".pseudo"
in
let () =
Sys.remove temp_filename
in
let fetch_channel pseudo =
let long_pseudo =
Qpackage.root ^ "/data/pseudo/" ^ pseudo
in
match
Sys.is_file pseudo,
Sys.is_file long_pseudo
with
| `Yes, _ -> In_channel.create pseudo
| `No , `Yes -> In_channel.create long_pseudo
| _ -> failwith ("Pseudo file "^pseudo^" not found.")
in
let rec build_pseudo = function
| [] -> ()
| elem_and_pseudo_name :: rest ->
begin
match (String.lsplit2 ~on:':' elem_and_pseudo_name) with
| None -> (* Principal pseudo *)
begin
let pseudo =
elem_and_pseudo_name
in
let new_channel =
fetch_channel pseudo
in
List.iter nuclei ~f:(fun elem->
let key =
Element.to_string elem.Atom.element
in
match Hashtbl.add pseudo_table ~key:key ~data:new_channel with
| `Ok -> ()
| `Duplicate -> ()
)
end
| Some (key, pseudo) -> (*Aux pseudo *)
begin
let elem =
Element.of_string key
and pseudo =
String.lowercase pseudo
in
let key =
Element.to_string elem
in
let new_channel =
fetch_channel pseudo
in
begin
match Hashtbl.add pseudo_table ~key:key ~data:new_channel with
| `Ok -> ()
| `Duplicate -> failwith ("Duplicate definition of pseudo for "^(Element.to_long_string elem))
end
end
end;
build_pseudo rest
in
let () =
match p with
| None -> ()
| Some p ->
String.split ~on:'|' p
|> List.rev_map ~f:String.strip
|> build_pseudo
in
(* Build EZFIO File name *) (* Build EZFIO File name *)
let ezfio_file = let ezfio_file =
match o with match o with
@ -223,6 +319,45 @@ let run ?o b c d m p xyz_file =
(* Create EZFIO *) (* Create EZFIO *)
Ezfio.set_file ezfio_file; Ezfio.set_file ezfio_file;
(* Write Pseudo *)
let pseudo =
List.map nuclei ~f:(fun x ->
match pseudo_channel x.Atom.element with
| Some channel -> Pseudo.read_element channel x.Atom.element
| None -> Pseudo.empty x.Atom.element
)
in
let molecule =
let n_elec_to_remove =
List.fold pseudo ~init:0 ~f:(fun accu x ->
accu + (Positive_int.to_int x.Pseudo.n_elec))
in
{ Molecule.elec_alpha =
(Elec_alpha_number.to_int molecule.Molecule.elec_alpha)
- n_elec_to_remove/2
|> Elec_alpha_number.of_int;
Molecule.elec_beta =
(Elec_beta_number.to_int molecule.Molecule.elec_beta)
- (n_elec_to_remove - n_elec_to_remove/2)
|> Elec_beta_number.of_int;
Molecule.nuclei =
let charges =
List.map pseudo ~f:(fun x -> Positive_int.to_int x.Pseudo.n_elec
|> Float.of_int)
|> Array.of_list
in
List.mapi molecule.Molecule.nuclei ~f:(fun i x ->
{ x with Atom.charge = (Charge.to_float x.Atom.charge) -. charges.(i)
|> Charge.of_float }
)
}
in
let nuclei =
molecule.Molecule.nuclei @ dummy
in
(* Write Electrons *) (* Write Electrons *)
Ezfio.set_electrons_elec_alpha_num ( Elec_alpha_number.to_int Ezfio.set_electrons_elec_alpha_num ( Elec_alpha_number.to_int
molecule.Molecule.elec_alpha ) ; molecule.Molecule.elec_alpha ) ;
@ -247,6 +382,123 @@ let run ?o b c d m p xyz_file =
Ezfio.set_nuclei_nucl_coord (Ezfio.ezfio_array_of_list Ezfio.set_nuclei_nucl_coord (Ezfio.ezfio_array_of_list
~rank:2 ~dim:[| nucl_num ; 3 |] ~data:coords); ~rank:2 ~dim:[| nucl_num ; 3 |] ~data:coords);
(* Write pseudopotential *)
let () =
match p with
| None -> Ezfio.set_pseudo_do_pseudo false
| _ -> Ezfio.set_pseudo_do_pseudo true
in
let klocmax =
List.fold pseudo ~init:0 ~f:(fun accu x ->
let x =
List.length x.Pseudo.local
in
if (x > accu) then x
else accu
)
and kmax =
List.fold pseudo ~init:0 ~f:(fun accu x ->
let x =
List.length x.Pseudo.non_local
in
if (x > accu) then x
else accu
)
and lmax =
List.fold pseudo ~init:0 ~f:(fun accu x ->
let x =
List.fold x.Pseudo.non_local ~init:0 ~f:(fun accu (x,_) ->
let x =
Positive_int.to_int x.Pseudo.Primitive_non_local.proj
in
if (x > accu) then x
else accu
)
in
if (x > accu) then x
else accu
)
in
let () =
Ezfio.set_pseudo_pseudo_klocmax klocmax;
Ezfio.set_pseudo_pseudo_kmax kmax;
Ezfio.set_pseudo_pseudo_lmax lmax;
let tmp_array_v_k, tmp_array_dz_k, tmp_array_n_k =
Array.make_matrix ~dimx:klocmax ~dimy:nucl_num 0. ,
Array.make_matrix ~dimx:klocmax ~dimy:nucl_num 0. ,
Array.make_matrix ~dimx:klocmax ~dimy:nucl_num 0
in
List.iteri pseudo ~f:(fun j x ->
List.iteri x.Pseudo.local ~f:(fun i (y,c) ->
tmp_array_v_k.(i).(j) <- AO_coef.to_float c;
let y, z =
AO_expo.to_float y.Pseudo.Primitive_local.expo,
R_power.to_int y.Pseudo.Primitive_local.r_power
in
tmp_array_dz_k.(i).(j) <- y;
tmp_array_n_k.(i).(j) <- z;
)
);
let concat_2d tmp_array =
let data =
Array.map tmp_array ~f:Array.to_list
|> Array.to_list
|> List.concat
in
Ezfio.ezfio_array_of_list ~rank:2 ~dim:[|nucl_num ; klocmax|] ~data
in
concat_2d tmp_array_v_k
|> Ezfio.set_pseudo_pseudo_v_k ;
concat_2d tmp_array_dz_k
|> Ezfio.set_pseudo_pseudo_dz_k;
concat_2d tmp_array_n_k
|> Ezfio.set_pseudo_pseudo_n_k;
let tmp_array_v_kl, tmp_array_dz_kl, tmp_array_n_kl =
Array.create ~len:(lmax+1)
(Array.make_matrix ~dimx:kmax ~dimy:nucl_num 0. ),
Array.create ~len:(lmax+1)
(Array.make_matrix ~dimx:kmax ~dimy:nucl_num 0. ),
Array.create ~len:(lmax+1)
(Array.make_matrix ~dimx:kmax ~dimy:nucl_num 0 )
in
List.iteri pseudo ~f:(fun j x ->
List.iteri x.Pseudo.non_local ~f:(fun i (y,c) ->
let k, y, z =
Positive_int.to_int y.Pseudo.Primitive_non_local.proj,
AO_expo.to_float y.Pseudo.Primitive_non_local.expo,
R_power.to_int y.Pseudo.Primitive_non_local.r_power
in
tmp_array_v_kl.(k).(i).(j) <- AO_coef.to_float c;
tmp_array_dz_kl.(k).(i).(j) <- y;
tmp_array_n_kl.(k).(i).(j) <- z;
)
);
let concat_3d tmp_array =
let data =
Array.map tmp_array ~f:(fun x ->
Array.map x ~f:Array.to_list
|> Array.to_list
|> List.concat)
|> Array.to_list
|> List.concat
in
Ezfio.ezfio_array_of_list ~rank:3 ~dim:[|nucl_num ; kmax ; lmax+1|] ~data
in
concat_3d tmp_array_v_kl
|> Ezfio.set_pseudo_pseudo_v_kl ;
concat_3d tmp_array_dz_kl
|> Ezfio.set_pseudo_pseudo_dz_kl ;
concat_3d tmp_array_n_kl
|> Ezfio.set_pseudo_pseudo_n_kl ;
in
(* Write Basis set *) (* Write Basis set *)
let basis = let basis =
@ -296,7 +548,9 @@ let run ?o b c d m p xyz_file =
if x > s then x if x > s then x
else s) ao_prim_num else s) ao_prim_num
in in
let gtos = List.map long_basis ~f:(fun (_,x,_) -> x) in let gtos =
List.map long_basis ~f:(fun (_,x,_) -> x)
in
let create_expo_coef ec = let create_expo_coef ec =
let coefs = let coefs =
@ -329,25 +583,19 @@ let run ?o b c d m p xyz_file =
let ao_coef = create_expo_coef `Coefs let ao_coef = create_expo_coef `Coefs
and ao_expo = create_expo_coef `Expos and ao_expo = create_expo_coef `Expos
in in
Ezfio.set_ao_basis_ao_prim_num (Ezfio.ezfio_array_of_list let () =
~rank:1 ~dim:[| ao_num |] ~data:ao_prim_num) ; Ezfio.set_ao_basis_ao_prim_num (Ezfio.ezfio_array_of_list
Ezfio.set_ao_basis_ao_nucl(Ezfio.ezfio_array_of_list ~rank:1 ~dim:[| ao_num |] ~data:ao_prim_num) ;
~rank:1 ~dim:[| ao_num |] ~data:ao_nucl) ; Ezfio.set_ao_basis_ao_nucl(Ezfio.ezfio_array_of_list
Ezfio.set_ao_basis_ao_power(Ezfio.ezfio_array_of_list ~rank:1 ~dim:[| ao_num |] ~data:ao_nucl) ;
~rank:2 ~dim:[| ao_num ; 3 |] ~data:ao_power) ; Ezfio.set_ao_basis_ao_power(Ezfio.ezfio_array_of_list
Ezfio.set_ao_basis_ao_coef(Ezfio.ezfio_array_of_list ~rank:2 ~dim:[| ao_num ; 3 |] ~data:ao_power) ;
~rank:2 ~dim:[| ao_num ; ao_prim_num_max |] ~data:ao_coef) ; Ezfio.set_ao_basis_ao_coef(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_coef) ;
~rank:2 ~dim:[| ao_num ; ao_prim_num_max |] ~data:ao_expo) ; Ezfio.set_ao_basis_ao_expo(Ezfio.ezfio_array_of_list
~rank:2 ~dim:[| ao_num ; ao_prim_num_max |] ~data:ao_expo) ;
Ezfio.set_ao_basis_ao_cartesian(cart);
(* Doesn't work... *) in
if (p) then
begin
Qpackage.root ^ "/scripts/pseudo/put_pseudo_in_ezfio.py " ^ ezfio_file
|> Sys.command_exn
end;
match Input.Ao_basis.read () with match Input.Ao_basis.read () with
| None -> failwith "Error in basis" | None -> failwith "Error in basis"
| Some x -> Input.Ao_basis.write x | Some x -> Input.Ao_basis.write x
@ -376,8 +624,8 @@ Otherwise, the basis set is obtained from the database.
" ) " )
spec spec
(fun o b c d m p xyz_file () -> (fun o b c d m p cart xyz_file () ->
run ?o b c d m p xyz_file ) run ?o b c d m p cart xyz_file )
let () = let () =

View File

@ -21,8 +21,8 @@ type keyword =
| Integrals_bielec | Integrals_bielec
| Pseudo | Pseudo
| Perturbation | Perturbation
| Hartree_fock
| Properties | Properties
| Hartree_fock
;; ;;
@ -36,8 +36,8 @@ let keyword_to_string = function
| Integrals_bielec -> "Integrals_bielec" | Integrals_bielec -> "Integrals_bielec"
| Pseudo -> "Pseudo" | Pseudo -> "Pseudo"
| Perturbation -> "Perturbation" | Perturbation -> "Perturbation"
| Hartree_fock -> "Hartree_fock"
| Properties -> "Properties" | Properties -> "Properties"
| Hartree_fock -> "Hartree_fock"
;; ;;
@ -94,10 +94,10 @@ let get s =
f Pseudo.(read, to_rst) f Pseudo.(read, to_rst)
| Perturbation -> | Perturbation ->
f Perturbation.(read, to_rst) f Perturbation.(read, to_rst)
| Hartree_fock ->
f Hartree_fock.(read, to_rst)
| Properties -> | Properties ->
f Properties.(read, to_rst) f Properties.(read, to_rst)
| Hartree_fock ->
f Hartree_fock.(read, to_rst)
end end
with with
| Sys_error msg -> (Printf.eprintf "Info: %s\n%!" msg ; "") | Sys_error msg -> (Printf.eprintf "Info: %s\n%!" msg ; "")
@ -139,8 +139,8 @@ let set str s =
| Integrals_bielec -> write Integrals_bielec.(of_rst, write) s | Integrals_bielec -> write Integrals_bielec.(of_rst, write) s
| Pseudo -> write Pseudo.(of_rst, write) s | Pseudo -> write Pseudo.(of_rst, write) s
| Perturbation -> write Perturbation.(of_rst, write) s | Perturbation -> write Perturbation.(of_rst, write) s
| Hartree_fock -> write Hartree_fock.(of_rst, write) s
| Properties -> write Properties.(of_rst, write) s | Properties -> write Properties.(of_rst, write) s
| Hartree_fock -> write Hartree_fock.(of_rst, write) s
| Electrons -> write Electrons.(of_rst, write) s | Electrons -> write Electrons.(of_rst, write) s
| Determinants_by_hand -> write Determinants_by_hand.(of_rst, write) s | Determinants_by_hand -> write Determinants_by_hand.(of_rst, write) s
| Nuclei -> write Nuclei.(of_rst, write) s | Nuclei -> write Nuclei.(of_rst, write) s
@ -192,8 +192,8 @@ let run check_only ezfio_filename =
Integrals_bielec ; Integrals_bielec ;
Pseudo ; Pseudo ;
Perturbation ; Perturbation ;
Hartree_fock ;
Properties ; Properties ;
Hartree_fock ;
Mo_basis; Mo_basis;
Determinants_by_hand ; Determinants_by_hand ;
] ]

View File

@ -41,7 +41,7 @@ let run_i ~action ezfio_filename =
let action = create_i_action action in let action = create_i_action action in
if (not (Sys.file_exists_exn ezfio_filename)) then if (not (Sys.file_exists_exn ezfio_filename)) then
failwith (ezfio_filename^" does not exists"); failwith (ezfio_filename^" does not exist");
Ezfio.set_file ezfio_filename; Ezfio.set_file ezfio_filename;
@ -133,7 +133,7 @@ let run_i ~action ezfio_filename =
let run_o ~action ezfio_filename = let run_o ~action ezfio_filename =
if (not (Sys.file_exists_exn ezfio_filename)) then if (not (Sys.file_exists_exn ezfio_filename)) then
failwith (ezfio_filename^" does not exists"); failwith (ezfio_filename^" does not exist");
(* Open EZFIO *) (* Open EZFIO *)
Ezfio.set_file ezfio_filename; Ezfio.set_file ezfio_filename;

41
ocaml/qp_print_basis.ml Normal file
View File

@ -0,0 +1,41 @@
open Core.Std
open Qptypes
let basis () =
let ezfio_filename =
Sys.argv.(1)
in
if (not (Sys.file_exists_exn ezfio_filename)) then
failwith "Error reading EZFIO file";
Ezfio.set_file ezfio_filename;
let basis =
match Input.Ao_basis.read () with
| Some basis -> basis
| _ -> failwith "Error reading basis set"
in
Input.Ao_basis.to_rst basis
|> Rst_string.to_string
|> print_endline
let mo () =
let ezfio_filename =
Sys.argv.(1)
in
if (not (Sys.file_exists_exn ezfio_filename)) then
failwith "Error reading EZFIO file";
Ezfio.set_file ezfio_filename;
let mo_coef =
match Input.Mo_basis.read () with
| Some mo_coef -> mo_coef
| _ -> failwith "Error reading the mo set"
in
Input.Mo_basis.to_rst mo_coef
|> Rst_string.to_string
|> print_endline
let () =
basis ();
mo ()

View File

@ -17,13 +17,38 @@ let run exe ezfio_file =
if (not (List.exists ~f:(fun (x,_) -> x = exe) executables)) then if (not (List.exists ~f:(fun (x,_) -> x = exe) executables)) then
failwith ("Executable "^exe^" not found"); failwith ("Executable "^exe^" not found");
Printf.printf "%s\n" (Time.to_string time_start);
Printf.printf "===============\nQuantum Package\n===============\n\n"; Printf.printf "===============\nQuantum Package\n===============\n\n";
Printf.printf "Date : %s\n\n%!" (Time.to_string time_start); Printf.printf "Git Commit: %s\n" Git.message;
Printf.printf "Git Date : %s\n" Git.date;
Printf.printf "Git SHA1 : %s\n" Git.sha1;
Printf.printf "\n\n%!";
(** Check input *)
match (Sys.command ("qp_edit -c "^ezfio_file)) with match (Sys.command ("qp_edit -c "^ezfio_file)) with
| 0 -> () | 0 -> ()
| i -> failwith "Error: Input inconsistent\n"; | i -> failwith "Error: Input inconsistent\n";
; ;
(** Start task server *)
let port_number =
12345
in
let address =
Printf.sprintf "tcp://%s:%d" (Lazy.force TaskServer.ip_address) port_number
in
let task_thread =
let thread =
Thread.create ( fun () ->
TaskServer.run port_number )
in
thread ();
in
Unix.putenv ~key:"QP_RUN_ADDRESS" ~data:address;
(** Run executable *)
let exe = let exe =
match (List.find ~f:(fun (x,_) -> x = exe) executables) with match (List.find ~f:(fun (x,_) -> x = exe) executables) with
| None -> assert false | None -> assert false
@ -34,6 +59,9 @@ let run exe ezfio_file =
| i -> Printf.printf "Program exited with code %d.\n%!" i; | i -> Printf.printf "Program exited with code %d.\n%!" i;
; ;
TaskServer.stop ~port:port_number;
Thread.join task_thread;
let duration = Time.diff (Time.now()) time_start let duration = Time.diff (Time.now()) time_start
|> Core.Span.to_string in |> Core.Span.to_string in
Printf.printf "Wall time : %s\n\n" duration; Printf.printf "Wall time : %s\n\n" duration;
@ -60,6 +88,7 @@ Executes a Quantum Package binary file among these:\n\n"
(fun exe ezfio_file () -> (fun exe ezfio_file () ->
run exe ezfio_file run exe ezfio_file
) )
|> Command.run |> Command.run ~version: Git.sha1 ~build_info: Git.message
;; ;;

View File

@ -79,6 +79,10 @@ let input_data = "
* AO_prim_number : int * AO_prim_number : int
assert (x > 0) ; assert (x > 0) ;
* R_power : int
assert (x >= -2) ;
assert (x <= 8) ;
* Threshold : float * Threshold : float
assert (x >= 0.) ; assert (x >= 0.) ;
assert (x <= 1.) ; assert (x <= 1.) ;
@ -138,7 +142,7 @@ let input_ezfio = "
* Det_number : int * Det_number : int
determinants_n_det determinants_n_det
1 : 100000000 1 : 100000000
More than 100 million determinants More than 100 million of determinants
" "
;; ;;

89
ocaml/test_message.ml Normal file
View File

@ -0,0 +1,89 @@
open Core.Std
let () =
Message.of_string "new_job tcp://127.0.0.1 inproc://ao_ints:12345 ao_integrals"
|> Message.to_string
|> print_endline
;
Message.of_string "connect tcp"
|> Message.to_string
|> print_endline
;
Message.of_string "connect inproc"
|> Message.to_string
|> print_endline
;
Message.of_string "disconnect 3 mystate"
|> Message.to_string
|> print_endline
;
Message.of_string "get_task 3 mystate"
|> Message.to_string
|> print_endline
;
Message.of_string "task_done 1 mystate 3"
|> Message.to_string
|> print_endline
;
Message.of_string "add_task mystate 1 2 3 4 5 6"
|> Message.to_string
|> print_endline
;
try
Message.of_string "new_job inproc://ao_ints tcp://127.0.0.1:12345 ao_integrals"
|> Message.to_string
|> print_endline
;
failwith "Should have failed"
with
| Assert_failure _ -> print_endline "OK"
;
try
Message.of_string "new_job tcp://ao_ints inproc://ao_ints"
|> Message.to_string
|> print_endline
;
assert false
with
| Failure _ -> print_endline "OK"
;
try
Message.of_string "disconnect -4 mystate"
|> Message.to_string
|> print_endline
;
assert false
with
| Assert_failure _ -> print_endline "OK"
;
try
Message.of_string "disconnect mystate 3"
|> Message.to_string
|> print_endline
;
assert false
with
| Failure _ -> print_endline "OK"
;
try
Message.of_string "connect tcp tcp://127.0.0.1"
|> Message.to_string
|> print_endline
;
assert false
with
| Failure _ -> print_endline "OK"
;

19
ocaml/test_pseudo.ml Normal file
View File

@ -0,0 +1,19 @@
open Core.Std
open Qputils
open Qptypes
let test_module () =
let pseudo_channel =
let b = "BFD" in
In_channel.create (Qpackage.root^"/data/pseudo/"^(String.lowercase b))
in
let pseudo =
Pseudo.read_element pseudo_channel (Element.of_string "Cu")
in
print_endline (Pseudo.to_string pseudo);
;;
test_module ();

View File

@ -0,0 +1,102 @@
open Core.Std
let () =
let nclients =
8
in
let q =
Queuing_system.create ()
in
let tasks =
Array.init 20 ~f:(fun i -> Printf.sprintf "Task %d" i)
|> Array.to_list
in
let (q,_) =
List.fold_left tasks ~init:(q, q.Queuing_system.next_task_id)
~f:(fun (q,_) task -> Queuing_system.add_task ~task q)
in
print_endline @@ Queuing_system.to_string q ;
let rec aux q clients = function
| 0 -> q, clients
| i ->
let new_q, client_id =
Queuing_system.add_client q
in
aux new_q (client_id::clients) (i-1)
in
let q, _ =
aux q [] nclients
in
let rec aux q = function
| 0 -> q
| i ->
begin
let c =
Id.Client.of_int i
in
let new_q, task_id, task =
Queuing_system.pop_task ~client_id:c q
in
begin
match task_id, task with
| Some task_id, Some task ->
Printf.printf "Task Running: %d %s\n" (Id.Task.to_int task_id) task
| _ -> Printf.printf "Done!\n"
end;
aux new_q (i-1)
end
in
let rec aux2 q = function
| 0 -> q
| i ->
begin
let task_id =
(Id.Task.of_int i)
in
try
let client_id =
Map.Poly.find_exn q.Queuing_system.running task_id
in
let new_q =
Queuing_system.end_task ~task_id ~client_id q
in
Printf.printf "Task Done : %d\n" (Id.Task.to_int task_id) ;
aux2 new_q (i-1)
with
| _ -> aux2 q 0
end
in
let q =
aux q nclients
in
print_endline @@ Queuing_system.to_string q ;
let q =
aux2 q nclients
in
print_endline @@ Queuing_system.to_string q ;
Printf.printf "Queued : %d\n Running : %d\n"
(Queuing_system.number_of_queued q)
(Queuing_system.number_of_running q)
;
let q =
aux q nclients
in
print_endline @@ Queuing_system.to_string q ;
let q =
aux2 q nclients
in
print_endline @@ Queuing_system.to_string q ;
(*
List.map ~f:Id.Task.to_int tasks
|> List.iter ~f:(fun x -> Printf.printf "%d\n" x)
*)

15
ocaml/test_symmetry.ml Normal file
View File

@ -0,0 +1,15 @@
open Core.Std
open Qputils
open Qptypes
open Symmetry
let () =
"SPDFGHIJKL"
|> String.to_list_rev
|> List.rev
|> List.map ~f:of_char
|> List.map ~f:Xyz.of_symmetry
|> List.iter ~f:(fun x -> List.iter x ~f:(fun y -> Xyz.to_string y |> print_endline) ;
print_newline ();)

View File

@ -0,0 +1,5 @@
open Core
let () =
TaskServer.run 12345

46
ocaml/test_task_server.py Executable file
View File

@ -0,0 +1,46 @@
#!/usr/bin/python
import zmq
import sys, os
def main():
context = zmq.Context()
socket = context.socket(zmq.REQ)
socket.connect(os.environ["QP_RUN_ADDRESS"])
def send(msg,expected):
print "Send : ", msg
print " -> ", socket.send(msg)
reply = socket.recv()
print "Reply : ", reply
print ""
assert (reply == expected)
send("new_job ao_integrals tcp://130.120.229.139:12345 inproc://ao_integrals",
"ok")
send("new_job ao_integrals tcp://130.120.229.139:12345 inproc://ao_integrals",
"error A job is already running")
send("connect","error Message not understood : connect")
send("connect tcp","connect_reply ao_integrals 1 tcp://130.120.229.139:12345")
send("connect inproc","connect_reply ao_integrals 2 inproc://ao_integrals")
send("disconnect ao_integrals 3","error Queuing_system.ml:65:2 : disconnect ao_integrals 3")
send("disconnect ao_integrals 2","disconnect_reply ao_integrals 1")
send("connect inproc","connect_reply ao_integrals 3 inproc://ao_integrals")
for i in range(10):
send("add_task ao_integrals %d %d"%(i,i+10), "ok")
for i in range(10):
send("get_task ao_integrals 3", "get_task_reply %d %d %d"%(i+1,i,i+10))
send("task_done ao_integrals 3 %d"%(i+1), "ok")
send("get_task ao_integrals 3", "terminate")
send("terminate","ok")
if __name__ == '__main__':
main()

View File

@ -30,7 +30,7 @@ program full_ci
endif endif
do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max) do while (N_det < N_det_max.and.maxval(abs(pt2(1:N_st))) > pt2_max)
call H_apply_CAS_S_selected(pt2, norm_pert, H_pert_diag, N_st) call H_apply_CAS_S_selected_no_skip(pt2, norm_pert, H_pert_diag, N_st)
PROVIDE psi_coef PROVIDE psi_coef
PROVIDE psi_det PROVIDE psi_det

View File

@ -20,6 +20,7 @@ Pseudo
Selectors_full Selectors_full
SingleRefMethod SingleRefMethod
Utils Utils
ZMQ
cisd cisd
cisd_lapack cisd_lapack
ezfio_interface.irp.f ezfio_interface.irp.f

View File

@ -23,6 +23,7 @@ Pseudo
Selectors_full Selectors_full
SingleRefMethod SingleRefMethod
Utils Utils
ZMQ
cisd_selection cisd_selection
ezfio_interface.irp.f ezfio_interface.irp.f
irpf90.make irpf90.make

View File

@ -196,6 +196,10 @@ Documentation
.. by the `update_README.py` script. .. by the `update_README.py` script.
`cisd <http://github.com/LCPQ/quantum_package/tree/master/plugins/CISD_selected/cisd_selection.irp.f#L1>`_
Undocumented
h_apply_cisd h_apply_cisd
Calls H_apply on the HF determinant and selects all connected single and double Calls H_apply on the HF determinant and selects all connected single and double
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script. excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.

View File

@ -31,9 +31,9 @@ program cisd
print *, 'PT2 = ', pt2(i) print *, 'PT2 = ', pt2(i)
print *, 'E = ', CI_energy(i) print *, 'E = ', CI_energy(i)
print *, 'E_before +PT2 = ', (E_old(i)+pt2(i)) print *, 'E_before +PT2 = ', (E_old(i)+pt2(i))
! print *, 'E+PT2_new= ', (E_old(1)+1.d0*pt2(1)+H_pert_diag(1))/(1.d0 +norm_pert(1))
enddo enddo
E_old = CI_energy E_old = CI_energy
call save_wavefunction
if (abort_all) then if (abort_all) then
exit exit
endif endif

View File

@ -16,6 +16,7 @@ Makefile.depend
Nuclei Nuclei
Pseudo Pseudo
Utils Utils
ZMQ
ezfio_interface.irp.f ezfio_interface.irp.f
fcidump fcidump
irpf90.make irpf90.make

View File

@ -22,6 +22,7 @@ Properties
Pseudo Pseudo
Selectors_full Selectors_full
Utils Utils
ZMQ
ezfio_interface.irp.f ezfio_interface.irp.f
full_ci full_ci
full_ci_no_skip full_ci_no_skip

View File

@ -18,6 +18,7 @@ Nuclei
Pseudo Pseudo
SCF SCF
Utils Utils
ZMQ
ezfio_interface.irp.f ezfio_interface.irp.f
irpf90.make irpf90.make
irpf90_entities irpf90_entities

View File

@ -73,10 +73,6 @@
enddo enddo
endif endif
! Introduce level shift here
do i = elec_alpha_num+1, mo_tot_num
Fock_matrix_mo(i,i) += level_shift
enddo
do i = 1, mo_tot_num do i = 1, mo_tot_num
Fock_matrix_diag_mo(i) = Fock_matrix_mo(i,i) Fock_matrix_diag_mo(i) = Fock_matrix_mo(i,i)

View File

@ -52,7 +52,7 @@ Documentation
Diagonal Fock matrix in the MO basis Diagonal Fock matrix in the MO basis
`diagonal_fock_matrix_mo_sum <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/diagonalize_fock.irp.f#L67>`_ `diagonal_fock_matrix_mo_sum <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/diagonalize_fock.irp.f#L112>`_
diagonal element of the fock matrix calculated as the sum over all the interactions diagonal element of the fock matrix calculated as the sum over all the interactions
with all the electrons in the RHF determinant with all the electrons in the RHF determinant
diagonal_Fock_matrix_mo_sum(i) = sum_{j=1, N_elec} 2 J_ij -K_ij diagonal_Fock_matrix_mo_sum(i) = sum_{j=1, N_elec} 2 J_ij -K_ij
@ -114,7 +114,7 @@ Documentation
.br .br
`fock_mo_to_ao <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/Fock_matrix.irp.f#L375>`_ `fock_mo_to_ao <http://github.com/LCPQ/quantum_package/tree/master/plugins/Hartree_Fock/Fock_matrix.irp.f#L392>`_
Undocumented Undocumented

View File

@ -11,55 +11,55 @@
double precision, allocatable :: work(:), F(:,:), S(:,:) double precision, allocatable :: work(:), F(:,:), S(:,:)
if (mo_tot_num == ao_num) then ! if (mo_tot_num == ao_num) then
! Solve H.C = E.S.C in AO basis set ! ! Solve H.C = E.S.C in AO basis set
!
allocate(F(ao_num_align,ao_num), S(ao_num_align,ao_num) ) ! allocate(F(ao_num_align,ao_num), S(ao_num_align,ao_num) )
do j=1,ao_num ! do j=1,ao_num
do i=1,ao_num ! do i=1,ao_num
S(i,j) = ao_overlap(i,j) ! S(i,j) = ao_overlap(i,j)
F(i,j) = Fock_matrix_ao(i,j) ! F(i,j) = Fock_matrix_ao(i,j)
enddo ! enddo
enddo ! enddo
!
n = ao_num ! n = ao_num
lwork = 1+6*n + 2*n*n ! lwork = 1+6*n + 2*n*n
liwork = 3 + 5*n ! liwork = 3 + 5*n
!
allocate(work(lwork), iwork(liwork) ) ! allocate(work(lwork), iwork(liwork) )
!
lwork = -1 ! lwork = -1
liwork = -1 ! liwork = -1
!
call dsygvd(1,'v','u',ao_num,F,size(F,1),S,size(S,1),& ! call dsygvd(1,'v','u',ao_num,F,size(F,1),S,size(S,1),&
diagonal_Fock_matrix_mo, work, lwork, iwork, liwork, info) ! diagonal_Fock_matrix_mo, work, lwork, iwork, liwork, info)
!
if (info /= 0) then ! if (info /= 0) then
print *, irp_here//' failed : ', info ! print *, irp_here//' failed : ', info
stop 1 ! stop 1
endif ! endif
lwork = int(work(1)) ! lwork = int(work(1))
liwork = iwork(1) ! liwork = iwork(1)
deallocate(work,iwork) ! deallocate(work,iwork)
allocate(work(lwork), iwork(liwork) ) ! allocate(work(lwork), iwork(liwork) )
!
call dsygvd(1,'v','u',ao_num,F,size(F,1),S,size(S,1),& ! call dsygvd(1,'v','u',ao_num,F,size(F,1),S,size(S,1),&
diagonal_Fock_matrix_mo, work, lwork, iwork, liwork, info) ! diagonal_Fock_matrix_mo, work, lwork, iwork, liwork, info)
!
if (info /= 0) then ! if (info /= 0) then
print *, irp_here//' failed : ', info ! print *, irp_here//' failed : ', info
stop 1 ! stop 1
endif ! endif
do j=1,mo_tot_num ! do j=1,mo_tot_num
do i=1,ao_num ! do i=1,ao_num
eigenvectors_Fock_matrix_mo(i,j) = F(i,j) ! eigenvectors_Fock_matrix_mo(i,j) = F(i,j)
enddo ! enddo
enddo ! enddo
!
deallocate(work, iwork, F, S) ! deallocate(work, iwork, F, S)
!
else ! else
!
! Solve H.C = E.C in MO basis set ! Solve H.C = E.C in MO basis set
allocate( F(mo_tot_num_align,mo_tot_num) ) allocate( F(mo_tot_num_align,mo_tot_num) )
@ -69,6 +69,16 @@
enddo enddo
enddo enddo
! Insert level shift here
do i = elec_beta_num+1, elec_alpha_num
F(i,i) += 0.5d0*level_shift
enddo
do i = elec_alpha_num+1, mo_tot_num
F(i,i) += level_shift
enddo
n = mo_tot_num n = mo_tot_num
lwork = 1+6*n + 2*n*n lwork = 1+6*n + 2*n*n
liwork = 3 + 5*n liwork = 3 + 5*n
@ -105,7 +115,8 @@
0.d0, eigenvectors_Fock_matrix_mo, size(eigenvectors_Fock_matrix_mo,1)) 0.d0, eigenvectors_Fock_matrix_mo, size(eigenvectors_Fock_matrix_mo,1))
deallocate(work, iwork, F) deallocate(work, iwork, F)
endif
! endif
END_PROVIDER END_PROVIDER

View File

@ -8,8 +8,6 @@ subroutine huckel_guess
double precision :: c double precision :: c
character*(64) :: label character*(64) :: label
mo_coef = ao_ortho_lowdin_coef
TOUCH mo_coef
label = "Guess" label = "Guess"
call mo_as_eigvectors_of_mo_matrix(mo_mono_elec_integral, & call mo_as_eigvectors_of_mo_matrix(mo_mono_elec_integral, &
size(mo_mono_elec_integral,1), & size(mo_mono_elec_integral,1), &

View File

@ -22,8 +22,10 @@ Pseudo
Selectors_full Selectors_full
SingleRefMethod SingleRefMethod
Utils Utils
ZMQ
ezfio_interface.irp.f ezfio_interface.irp.f
irpf90.make irpf90.make
irpf90_entities irpf90_entities
mp2 mp2
mp2_wf
tags tags

View File

@ -8,7 +8,7 @@ s.set_perturbation("Moller_plesset")
print s print s
s = H_apply("mp2_selection") s = H_apply("mp2_selection")
s.set_selection_pt2("Moller_plesset") s.set_selection_pt2("Moller_Plesset")
print s print s
END_SHELL END_SHELL

View File

@ -83,6 +83,35 @@ h_apply_mp2_monoexc
Assume N_int is already provided. Assume N_int is already provided.
h_apply_mp2_selection
Calls H_apply on the HF determinant and selects all connected single and double
excitations (of the same symmetry). Auto-generated by the ``generate_h_apply`` script.
h_apply_mp2_selection_diexc
Undocumented
h_apply_mp2_selection_diexcorg
Generate all double excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
h_apply_mp2_selection_diexcp
Undocumented
h_apply_mp2_selection_monoexc
Generate all single excitations of key_in using the bit masks of holes and
particles.
Assume N_int is already provided.
`mp2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/MP2/mp2.irp.f#L1>`_ `mp2 <http://github.com/LCPQ/quantum_package/tree/master/plugins/MP2/mp2.irp.f#L1>`_
Undocumented Undocumented
`mp2_wf <http://github.com/LCPQ/quantum_package/tree/master/plugins/MP2/mp2_wf.irp.f#L1>`_
Save the MP2 wave function

View File

@ -12,8 +12,7 @@ program mp2_wf
allocate (pt2(N_st), norm_pert(N_st), H_pert_diag(N_st)) allocate (pt2(N_st), norm_pert(N_st), H_pert_diag(N_st))
pt2 = 1.d0 pt2 = 1.d0
selection_criterion = 1.e-12 selection_criterion_factor = 0.d0
selection_criterion_min = 1.e-12
TOUCH selection_criterion_min selection_criterion selection_criterion_factor TOUCH selection_criterion_min selection_criterion selection_criterion_factor
call H_apply_mp2_selection(pt2, norm_pert, H_pert_diag, N_st) call H_apply_mp2_selection(pt2, norm_pert, H_pert_diag, N_st)
psi_det = psi_det_sorted psi_det = psi_det_sorted

View File

@ -23,25 +23,28 @@
call i_h_psi(psi_non_ref(1,1,i), psi_ref_restart, psi_ref_coef_restart, N_int, N_det_ref,& call i_h_psi(psi_non_ref(1,1,i), psi_ref_restart, psi_ref_coef_restart, N_int, N_det_ref,&
size(psi_ref_coef_restart,1), n_states, ihpsi) size(psi_ref_coef_restart,1), n_states, ihpsi)
call i_H_j(psi_non_ref(1,1,i),psi_non_ref(1,1,i),N_int,hii) call i_H_j(psi_non_ref(1,1,i),psi_non_ref(1,1,i),N_int,hii)
! TODO --- Test perturbatif ------
do k=1,N_states do k=1,N_states
lambda_pert(k,i) = 1.d0 / (psi_ref_energy_diagonalized(k)-hii) lambda_pert(k,i) = 1.d0 / (psi_ref_energy_diagonalized(k)-hii)
call i_h_psi(psi_non_ref(1,1,i), psi_ref, psi_ref_coef, N_int, N_det_ref,size(psi_ref_coef,1), n_states, ihpsi_current) call i_h_psi(psi_non_ref(1,1,i), psi_ref, psi_ref_coef, N_int, N_det_ref,size(psi_ref_coef,1), n_states, ihpsi_current)
tmp = psi_non_ref_coef(i,k)/ihpsi_current(k) tmp = psi_non_ref_coef(i,k)/ihpsi_current(k)
i_pert = 1 i_pert = 0
if((ihpsi(k) * lambda_pert(k,i))/psi_non_ref_coef_restart(i,k) .ge. 0.5d0 & ! Perturbation only if 1st order < 0.5 x second order
.and. (ihpsi(k) * lambda_pert(k,i))/psi_non_ref_coef_restart(i,k) > 0.d0 )then ! test on the first order coefficient if((ihpsi(k) * lambda_pert(k,i)) < 0.5d0 * psi_non_ref_coef_restart(i,k) )then
i_pert = 0
endif
do j = 1, N_det_ref
call i_H_j(psi_non_ref(1,1,i),psi_ref(1,1,j),N_int,hij)
if(dabs(hij * tmp).ge.0.5d0)then
i_pert_count +=1
i_pert = 1 i_pert = 1
exit else
endif do j = 1, N_det_ref
enddo call i_H_j(psi_non_ref(1,1,i),psi_ref(1,1,j),N_int,hij)
! Perturbation diverges when hij*tmp > 0.5
if(dabs(hij * tmp).ge.0.5d0)then
i_pert_count +=1
i_pert = 1
exit
endif
enddo
endif
if( i_pert == 1)then if( i_pert == 1)then
pert_determinants(k,i) = i_pert pert_determinants(k,i) = i_pert
endif endif
if(pert_determinants(k,i) == 1)then if(pert_determinants(k,i) == 1)then
i_ok +=1 i_ok +=1
@ -50,6 +53,7 @@
lambda_mrcc(k,i) = psi_non_ref_coef(i,k)/ihpsi_current(k) lambda_mrcc(k,i) = psi_non_ref_coef(i,k)/ihpsi_current(k)
endif endif
enddo enddo
! TODO --- Fin test perturbatif ------
enddo enddo
!if(oscillations)then !if(oscillations)then
! print*,'AVERAGING the lambda_mrcc with those of the previous iterations' ! print*,'AVERAGING the lambda_mrcc with those of the previous iterations'

196
plugins/Molden/aos.irp.f Normal file
View File

@ -0,0 +1,196 @@
BEGIN_PROVIDER [ character*(128), ao_l_char, (ao_num) ]
implicit none
BEGIN_DOC
! ao_l = l value of the AO: a+b+c in x^a y^b z^c
END_DOC
integer :: i
do i=1,ao_num
ao_l_char(i) = l_to_character(ao_l(i))
enddo
END_PROVIDER
BEGIN_PROVIDER [ character*(128), l_to_character, (0:4)]
BEGIN_DOC
! character corresponding to the "L" value of an AO orbital
END_DOC
implicit none
l_to_character(0)='S'
l_to_character(1)='P'
l_to_character(2)='D'
l_to_character(3)='F'
l_to_character(4)='G'
END_PROVIDER
BEGIN_PROVIDER [ integer, Nucl_N_Aos, (nucl_num)]
&BEGIN_PROVIDER [ integer, N_AOs_max ]
implicit none
integer :: i
BEGIN_DOC
! Number of AOs per atom
END_DOC
Nucl_N_Aos = 0
do i = 1, ao_num
Nucl_N_Aos(ao_nucl(i)) +=1
enddo
N_AOs_max = maxval(Nucl_N_Aos)
END_PROVIDER
BEGIN_PROVIDER [ integer, Nucl_Aos, (nucl_num,N_AOs_max)]
implicit none
BEGIN_DOC
! List of AOs attached on each atom
END_DOC
integer :: i
integer, allocatable :: nucl_tmp(:)
allocate(nucl_tmp(nucl_num))
nucl_tmp = 0
Nucl_Aos = 0
do i = 1, ao_num
nucl_tmp(ao_nucl(i))+=1
Nucl_Aos(ao_nucl(i),nucl_tmp(ao_nucl(i))) = i
enddo
deallocate(nucl_tmp)
END_PROVIDER
BEGIN_PROVIDER [ integer, Nucl_list_shell_Aos, (nucl_num,N_AOs_max)]
&BEGIN_PROVIDER [ integer, Nucl_num_shell_Aos, (nucl_num)]
implicit none
integer :: i,j,k
BEGIN_DOC
! Index of the shell type Aos and of the corresponding Aos
! Per convention, for P,D,F and G AOs, we take the index
! of the AO with the the corresponding power in the "X" axis
END_DOC
do i = 1, nucl_num
Nucl_num_shell_Aos(i) = 0
do j = 1, Nucl_N_Aos(i)
if(ao_l(Nucl_Aos(i,j))==0)then
! S type function
Nucl_num_shell_Aos(i)+=1
Nucl_list_shell_Aos(i,Nucl_num_shell_Aos(i))=Nucl_Aos(i,j)
elseif(ao_l(Nucl_Aos(i,j))==1)then
! P type function
if(ao_power(Nucl_Aos(i,j),1)==1)then
Nucl_num_shell_Aos(i)+=1
Nucl_list_shell_Aos(i,Nucl_num_shell_Aos(i))=Nucl_Aos(i,j)
endif
elseif(ao_l(Nucl_Aos(i,j))==2)then
! D type function
if(ao_power(Nucl_Aos(i,j),1)==2)then
Nucl_num_shell_Aos(i)+=1
Nucl_list_shell_Aos(i,Nucl_num_shell_Aos(i))=Nucl_Aos(i,j)
endif
elseif(ao_l(Nucl_Aos(i,j))==3)then
! F type function
if(ao_power(Nucl_Aos(i,j),1)==3)then
Nucl_num_shell_Aos(i)+=1
Nucl_list_shell_Aos(i,Nucl_num_shell_Aos(i))=Nucl_Aos(i,j)
endif
elseif(ao_l(Nucl_Aos(i,j))==4)then
! G type function
if(ao_power(Nucl_Aos(i,j),1)==4)then
Nucl_num_shell_Aos(i)+=1
Nucl_list_shell_Aos(i,Nucl_num_shell_Aos(i))=Nucl_Aos(i,j)
endif
endif
enddo
enddo
END_PROVIDER
BEGIN_PROVIDER [ character*(4), ao_l_char_space, (ao_num) ]
implicit none
integer :: i
character*(4) :: give_ao_character_space
do i=1,ao_num
if(ao_l(i)==0)then
! S type AO
give_ao_character_space = 'S '
elseif(ao_l(i) == 1)then
! P type AO
if(ao_power(i,1)==1)then
give_ao_character_space = 'X '
elseif(ao_power(i,2) == 1)then
give_ao_character_space = 'Y '
else
give_ao_character_space = 'Z '
endif
elseif(ao_l(i) == 2)then
! D type AO
if(ao_power(i,1)==2)then
give_ao_character_space = 'XX '
elseif(ao_power(i,2) == 2)then
give_ao_character_space = 'YY '
elseif(ao_power(i,3) == 2)then
give_ao_character_space = 'ZZ '
elseif(ao_power(i,1) == 1 .and. ao_power(i,2) == 1)then
give_ao_character_space = 'XY '
elseif(ao_power(i,1) == 1 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'XZ '
else
give_ao_character_space = 'YZ '
endif
elseif(ao_l(i) == 3)then
! F type AO
if(ao_power(i,1)==3)then
give_ao_character_space = 'XXX '
elseif(ao_power(i,2) == 3)then
give_ao_character_space = 'YYY '
elseif(ao_power(i,3) == 3)then
give_ao_character_space = 'ZZZ '
elseif(ao_power(i,1) == 2 .and. ao_power(i,2) == 1)then
give_ao_character_space = 'XXY '
elseif(ao_power(i,1) == 2 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'XXZ '
elseif(ao_power(i,2) == 2 .and. ao_power(i,1) == 1)then
give_ao_character_space = 'YYX '
elseif(ao_power(i,2) == 2 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'YYZ '
elseif(ao_power(i,3) == 2 .and. ao_power(i,1) == 1)then
give_ao_character_space = 'ZZX '
elseif(ao_power(i,3) == 2 .and. ao_power(i,2) == 1)then
give_ao_character_space = 'ZZY '
elseif(ao_power(i,3) == 1 .and. ao_power(i,2) == 1 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'XYZ '
endif
elseif(ao_l(i) == 4)then
! G type AO
if(ao_power(i,1)==4)then
give_ao_character_space = 'XXXX'
elseif(ao_power(i,2) == 4)then
give_ao_character_space = 'YYYY'
elseif(ao_power(i,3) == 4)then
give_ao_character_space = 'ZZZZ'
elseif(ao_power(i,1) == 3 .and. ao_power(i,2) == 1)then
give_ao_character_space = 'XXXY'
elseif(ao_power(i,1) == 3 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'XXXZ'
elseif(ao_power(i,2) == 3 .and. ao_power(i,1) == 1)then
give_ao_character_space = 'YYYX'
elseif(ao_power(i,2) == 3 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'YYYZ'
elseif(ao_power(i,3) == 3 .and. ao_power(i,1) == 1)then
give_ao_character_space = 'ZZZX'
elseif(ao_power(i,3) == 3 .and. ao_power(i,2) == 1)then
give_ao_character_space = 'ZZZY'
elseif(ao_power(i,1) == 2 .and. ao_power(i,2) == 2)then
give_ao_character_space = 'XXYY'
elseif(ao_power(i,2) == 2 .and. ao_power(i,3) == 2)then
give_ao_character_space = 'YYZZ'
elseif(ao_power(i,1) == 2 .and. ao_power(i,2) == 1 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'XXYZ'
elseif(ao_power(i,2) == 2 .and. ao_power(i,1) == 1 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'YYXZ'
elseif(ao_power(i,3) == 2 .and. ao_power(i,1) == 1 .and. ao_power(i,2) == 1)then
give_ao_character_space = 'ZZXY'
endif
endif
ao_l_char_space(i) = give_ao_character_space
enddo
END_PROVIDER

View File

@ -123,8 +123,8 @@ subroutine pt2_moller_plesset ($arguments)
call get_excitation(ref_bitmask,det_pert,exc,degree,phase,Nint) call get_excitation(ref_bitmask,det_pert,exc,degree,phase,Nint)
if (degree == 2) then if (degree == 2) then
call decode_exc(exc,degree,h1,p1,h2,p2,s1,s2) call decode_exc(exc,degree,h1,p1,h2,p2,s1,s2)
delta_e = Fock_matrix_diag_mo(h1) + Fock_matrix_diag_mo(h2) - & delta_e = (Fock_matrix_diag_mo(h1) - Fock_matrix_diag_mo(p1)) + &
(Fock_matrix_diag_mo(p1) + Fock_matrix_diag_mo(p2)) (Fock_matrix_diag_mo(h2) - Fock_matrix_diag_mo(p2))
delta_e = 1.d0/delta_e delta_e = 1.d0/delta_e
else if (degree == 1) then else if (degree == 1) then
call decode_exc(exc,degree,h1,p1,h2,p2,s1,s2) call decode_exc(exc,degree,h1,p1,h2,p2,s1,s2)
@ -134,9 +134,14 @@ subroutine pt2_moller_plesset ($arguments)
delta_e = 0.d0 delta_e = 0.d0
endif endif
call i_H_psi(det_pert,psi_selectors,psi_selectors_coef,Nint,N_det,psi_selectors_size,n_st,i_H_psi_array) if (delta_e /= 0.d0) then
h = diag_H_mat_elem_fock(det_ref,det_pert,fock_diag_tmp,Nint) call i_H_psi_minilist(det_pert,minilist,idx_minilist,N_minilist,psi_selectors_coef,Nint,N_minilist,psi_selectors_size,N_st,i_H_psi_array)
do i =1,n_st h = diag_H_mat_elem_fock(det_ref,det_pert,fock_diag_tmp,Nint)
else
i_H_psi_array(:) = 0.d0
h = 0.d0
endif
do i =1,N_st
H_pert_diag(i) = h H_pert_diag(i) = h
c_pert(i) = i_H_psi_array(i) *delta_e c_pert(i) = i_H_psi_array(i) *delta_e
e_2_pert(i) = c_pert(i) * i_H_psi_array(i) e_2_pert(i) = c_pert(i) * i_H_psi_array(i)

View File

@ -20,8 +20,6 @@ subroutine fill_H_apply_buffer_selection(n_selected,det_buffer,e_2_pert_buffer,c
ASSERT (N_int == N_int) ASSERT (N_int == N_int)
ASSERT (N_selected >= 0) ASSERT (N_selected >= 0)
call omp_set_lock(H_apply_buffer_lock(1,iproc)) call omp_set_lock(H_apply_buffer_lock(1,iproc))
smax = selection_criterion
smin = selection_criterion_min
new_size = H_apply_buffer(iproc)%N_det + n_selected new_size = H_apply_buffer(iproc)%N_det + n_selected
if (new_size > h_apply_buffer(iproc)%sze) then if (new_size > h_apply_buffer(iproc)%sze) then
@ -41,8 +39,6 @@ subroutine fill_H_apply_buffer_selection(n_selected,det_buffer,e_2_pert_buffer,c
select_max_out = max(select_max_out,s) select_max_out = max(select_max_out,s)
enddo enddo
if (is_selected) then if (is_selected) then
l = l+1 l = l+1
do j=1,N_int do j=1,N_int
@ -55,8 +51,6 @@ subroutine fill_H_apply_buffer_selection(n_selected,det_buffer,e_2_pert_buffer,c
enddo enddo
ASSERT (sum(popcnt(h_apply_buffer(iproc)%det(:,1,l)) )== elec_alpha_num) ASSERT (sum(popcnt(h_apply_buffer(iproc)%det(:,1,l)) )== elec_alpha_num)
ASSERT (sum(popcnt(h_apply_buffer(iproc)%det(:,2,l))) == elec_beta_num) ASSERT (sum(popcnt(h_apply_buffer(iproc)%det(:,2,l))) == elec_beta_num)
smax = max(s,smax)
smin = min(selection_criterion_min,smin)
endif endif
enddo enddo
H_apply_buffer(iproc)%N_det = l H_apply_buffer(iproc)%N_det = l
@ -65,10 +59,6 @@ subroutine fill_H_apply_buffer_selection(n_selected,det_buffer,e_2_pert_buffer,c
ASSERT (sum(popcnt(h_apply_buffer(iproc)%det(:,2,i))) == elec_beta_num) ASSERT (sum(popcnt(h_apply_buffer(iproc)%det(:,2,i))) == elec_beta_num)
enddo enddo
call omp_unset_lock(H_apply_buffer_lock(1,iproc)) call omp_unset_lock(H_apply_buffer_lock(1,iproc))
!$OMP CRITICAL
selection_criterion = max(selection_criterion,smax)
selection_criterion_min = min(selection_criterion_min,smin)
!$OMP END CRITICAL
end end
BEGIN_PROVIDER [ double precision, selection_criterion ] BEGIN_PROVIDER [ double precision, selection_criterion ]

View File

@ -16,6 +16,7 @@ Makefile.depend
Nuclei Nuclei
Pseudo Pseudo
Utils Utils
ZMQ
ezfio_interface.irp.f ezfio_interface.irp.f
irpf90.make irpf90.make
irpf90_entities irpf90_entities

View File

@ -0,0 +1 @@
AO_Basis Determinants Hartree_Fock

View File

@ -0,0 +1,15 @@
=======
qmcpack
=======
Normalize the AO basis using GAMESS convention and save it inside the EZFIO.
Then the python script is called.
Needed Modules
==============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.
Documentation
=============
.. Do not edit this section It was auto-generated
.. by the `update_README.py` script.

View File

@ -0,0 +1,232 @@
#!/usr/bin/python
print "#QP -> QMCPACK"
from ezfio import ezfio
import sys
ezfio_path = sys.argv[1]
ezfio.set_file(ezfio_path)
do_pseudo = ezfio.get_pseudo_do_pseudo()
if do_pseudo:
print "do_pseudo True"
zcore = ezfio.get_pseudo_nucl_charge_remove()
else:
print "do_pseudo False"
n_det =ezfio.get_determinants_n_det()
if n_det == 1:
print "multi_det False"
else:
print "multi_det True"
ao_num = ezfio.get_ao_basis_ao_num()
print "ao_num", ao_num
mo_num = ezfio.get_mo_basis_mo_tot_num()
print "mo_num", mo_num
alpha = ezfio.get_electrons_elec_alpha_num()
beta = ezfio.get_electrons_elec_beta_num()
print "elec_alpha_num", alpha
print "elec_beta_num", beta
print "elec_tot_num", alpha + beta
print "spin_multiplicity", 2*(alpha-beta)+1
l_label = ezfio.get_nuclei_nucl_label()
l_charge = ezfio.get_nuclei_nucl_charge()
l_coord = ezfio.get_nuclei_nucl_coord()
l_coord_str = [" ".join(map(str,i)) for i in l_coord]
print "nucl_num",len(l_label)
print "Atomic coord in Bohr"
for i,t in enumerate(zip(l_label,l_charge,l_coord_str)):
try :
l = (t[0],t[1]+zcore[i],t[1])
except NameError:
l = t
print " ".join(map(str,l))
import subprocess
process = subprocess.Popen(['qp_print_basis', ezfio_path], stdout=subprocess.PIPE)
out, err = process.communicate()
basis_raw, sym_raw, mo_raw = out.split("\n\n\n")
basis_without_header = "\n".join(basis_raw.split("\n")[7:])
for i,l in enumerate(l_label):
basis_without_header=basis_without_header.replace('Atom {0}'.format(i+1),l)
print "BEGIN_BASIS_SET"
print ""
print basis_without_header
print "END_BASIS_SET"
# _
# |\/| / \ _
# | | \_/ _>
#
def same_character(item1):
return item1==item1[0]* len(item1)
def compare_gamess_style(item1, item2):
if len(item1) < len(item2):
return -1
elif len(item1) > len(item2):
return 1
elif same_character(item1) and same_character(item2):
if item1 < item2:
return -1
else:
return 1
elif same_character(item1) and not same_character(item2):
return -1
elif not same_character(item1) and same_character(item2):
return 1
else:
return compare_gamess_style(item1[:-1],item2[:-1])
def expend_and_order_sym(str_):
#Expend
for i,c in enumerate(str_):
try:
n = int(c)
except ValueError:
pass
else:
str_ = str_[:i-1] + str_[i-1]*n + str_[i+1:]
#Order by frequency
return "".join(sorted(str_,key=str_.count,reverse=True))
def get_nb_permutation(str_):
l = len(str_)-1
if l==0:
return 1
else:
return 2*(2*l + 1)
## We will order the symetry
l_sym_without_header = sym_raw.split("\n")[3:-2]
l_l_sym = [i.split() for i in l_sym_without_header]
for l in l_l_sym:
l[2] = expend_and_order_sym(l[2])
l_l_sym_iter = iter(l_l_sym)
for i,l in enumerate(l_l_sym_iter):
n = get_nb_permutation(l[2])
if n !=1:
l_l_sym[i:i+n] = sorted(l_l_sym[i:i+n],key=lambda x : x[2], cmp=compare_gamess_style)
for next_ in range(n-1):
next(l_l_sym_iter)
#Is orderd now
l_block = mo_raw.split("\n\n")[5:-1]
l_block_format=[]
print ""
print "BEGIN_MO"
for block in l_block:
print ""
l_ligne = block.split("\n")
print l_ligne.pop(0)
for l in l_l_sym:
i = int(l[0]) - 1
i_a = int(l[1]) - 1
sym = l[2]
print l_label[i_a],sym,l_ligne[i]
print "END_MO"
if do_pseudo:
print ""
print "BEGIN_PSEUDO"
klocmax = ezfio.get_pseudo_pseudo_klocmax()
kmax = ezfio.get_pseudo_pseudo_kmax()
lmax = ezfio.get_pseudo_pseudo_lmax()
n_k = ezfio.get_pseudo_pseudo_n_k()
v_k = ezfio.get_pseudo_pseudo_v_k()
dz_k = ezfio.get_pseudo_pseudo_dz_k()
n_kl = ezfio.get_pseudo_pseudo_n_kl()
v_kl = ezfio.get_pseudo_pseudo_v_kl()
dz_kl = ezfio.get_pseudo_pseudo_dz_kl()
def list_to_string(l):
return " ".join(map(str,l))
for i,a in enumerate(l_label):
l_str = []
l_dump = []
for k in range(klocmax):
if v_k[k][i]:
l_ = list_to_string([v_k[k][i], n_k[k][i]+2, dz_k[k][i]])
l_dump.append(l_)
l_str.append(l_dump)
for l in range(lmax+1):
l_dump = []
for k in range(kmax):
if v_kl[l][k][i]:
l_ = list_to_string([v_kl[l][k][i], n_kl[l][k][i]+2, dz_kl[l][k][i]])
l_dump.append(l_)
if l_dump:
l_str.append(l_dump)
str_ = "PARAMETERS FOR {0} ON ATOM {1} WITH ZCORE {2} AND LMAX {3} ARE"
print str_.format(a,i+1,zcore[i],len(l_str))
for i, l in enumerate(l_str):
str_ = "FOR L= {0} COEFF N ZETA"
print str_.format(len(l_str)-i-1)
for ii, ll in enumerate(l):
print " ",ii+1, ll
str_ = "THE ECP RUN REMOVES {0} CORE ELECTRONS, AND THE SAME NUMBER OF PROTONS."
print str_.format(sum(zcore))
print "END_PSEUDO"
print ""
print "BEGIN_DET"
print ""
print "mo_num", mo_num
print "det_num", n_det
print ""
psi_det = ezfio.get_determinants_psi_det()
psi_coef = ezfio.get_determinants_psi_coef()[0]
for c, (l_det_bit_alpha, l_det_bit_beta) in zip(psi_coef,psi_det):
print c
for det in l_det_bit_alpha:
bin_det_raw = "{0:b}".format(det)[::-1]
bin_det = bin_det_raw+"0"*(mo_num-len(bin_det_raw))
print bin_det
for det in l_det_bit_beta:
bin_det_raw = "{0:b}".format(det)[::-1]
bin_det = bin_det_raw+"0"*(mo_num-len(bin_det_raw))
print bin_det
print ""
print "END_DET"

View File

@ -0,0 +1,20 @@
program qmcpack
implicit none
BEGIN_DOC
! Generates a file for QMCPACK
END_DOC
integer :: i,j
read_wf = .True.
TOUCH read_wf
call save_wavefunction
do j=1,ao_prim_num_max
do i=1,ao_num
ao_coef(i,j) = ao_coef(i,j) * ao_coef_normalization_factor(i)
enddo
enddo
call ezfio_set_ao_basis_ao_coef(ao_coef)
call system('rm '//trim(ezfio_filename)//'/mo_basis/ao_md5')
call system('$QP_ROOT/src/qmcpack/qp_convert_qmcpack_from_ezfio.py '//trim(ezfio_filename))
end

View File

@ -637,7 +637,7 @@ def ninja_binaries_rule():
# c m d # # c m d #
# ~#~#~ # # ~#~#~ #
l_cmd = ["cd $module_abs/IRPF90_temp", "ninja $out && touch $out"] l_cmd = ["cd $module_abs/IRPF90_temp", "ninja $out && for i in $out ; do [ -x $$i ] && touch $$i ; done"]
# ~#~#~#~#~#~ # # ~#~#~#~#~#~ #
# s t r i n g # # s t r i n g #
@ -911,7 +911,7 @@ if __name__ == "__main__":
if module not in d_binaries: if module not in d_binaries:
l_msg = ["{0} is a root module but does not contain a main file.", l_msg = ["{0} is a root module but does not contain a main file.",
"- Create it in {0}", "- Create it in {0}",
"- Or delete {0} `qp_install_module.py uninstall {0}`", "- Or delete {0} `qp_module.py uninstall {0}`",
"- Or install a module that needs {0} with a main "] "- Or install a module that needs {0} with a main "]
print "\n".join(l_msg).format(module.rel) print "\n".join(l_msg).format(module.rel)

View File

@ -46,15 +46,4 @@ then
exit 1 exit 1
fi fi
pseudo="$1" ${EMSL_API_ROOT}/EMSL_api.py get_basis_data --treat_l --save --path="${tmpfile}" --basis="${basis}"
shift
if [[ -z $pseudo ]]
then
${EMSL_API_ROOT}/EMSL_api.py get_basis_data --treat_l --save --path="${tmpfile}" --basis="${basis}"
else
${EMSL_API_ROOT}/EMSL_api.py get_basis_data --save --path="${tmpfile}" --basis="${basis}" --db_path="${EMSL_API_ROOT}/db/Pseudo.db"
# echo ${EMSL_API_ROOT}/EMSL_api.py get_basis_data --save --path="${tmpfile}" --basis="${basis}" --db_path="${EMSL_API_ROOT}/db/Pseudo.db" 1>&2
# echo $PWD/BASIS
fi

View File

@ -2,13 +2,11 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
""" """
Usage: Usage:
qp_install_module.py create -n <name> [<children_modules>...] qp_module.py create -n <name> [<children_modules>...]
qp_install_module.py download -n <name> [<path_folder>...] qp_module.py download -n <name> [<path_folder>...]
qp_install_module.py install <name>... qp_module.py install <name>...
qp_install_module.py list (--installed | --available-local) qp_module.py list (--installed | --available-local)
qp_install_module.py uninstall <name>... qp_module.py uninstall <name>
Options: Options:
list: List all the modules available list: List all the modules available
create: Create a new module create: Create a new module

View File

@ -4,7 +4,7 @@
Create the pseudo potential for a given atom Create the pseudo potential for a given atom
Usage: Usage:
put_pseudo_in_ezfio.py <ezfio_path> put_pseudo_in_ezfio.py <ezfio_path> <pseudo_name> [<db_dump_path>]
Help: Help:
atom is the Abreviation of the atom atom is the Abreviation of the atom
@ -28,7 +28,7 @@ import re
p = re.compile(ur'\|(\d+)><\d+\|') p = re.compile(ur'\|(\d+)><\d+\|')
def get_pseudo_str(l_atom): def get_pseudo_str(db_dump_path,pseudo_name,l_atom):
""" """
Run EMSL_local for getting the str of the pseudo potential Run EMSL_local for getting the str of the pseudo potential
@ -53,7 +53,6 @@ def get_pseudo_str(l_atom):
EMSL_root = "{0}/install/emsl/".format(qpackage_root) EMSL_root = "{0}/install/emsl/".format(qpackage_root)
EMSL_path = "{0}/EMSL_api.py".format(EMSL_root) EMSL_path = "{0}/EMSL_api.py".format(EMSL_root)
db_path = "{0}/db/Pseudo.db".format(EMSL_root)
str_ = "" str_ = ""
@ -63,8 +62,8 @@ def get_pseudo_str(l_atom):
l_cmd_atom = ["--atom", a] l_cmd_atom = ["--atom", a]
l_cmd_head = [EMSL_path, "get_basis_data", l_cmd_head = [EMSL_path, "get_basis_data",
"--db_path", db_path, "--db_dump_path", db_dump_path,
"--basis", "BFD-Pseudo"] "--basis", pseudo_name]
process = Popen(l_cmd_head + l_cmd_atom, stdout=PIPE, stderr=PIPE) process = Popen(l_cmd_head + l_cmd_atom, stdout=PIPE, stderr=PIPE)
@ -180,19 +179,22 @@ def get_zeff_alpha_beta(str_ele):
# #
from elts_num_ele import name_to_elec from elts_num_ele import name_to_elec
from math import ceil, floor
z = name_to_elec[name] z = name_to_elec[name]
z_eff = z - z_remove z_eff = z - z_remove
alpha = (z_remove / 2) alpha = int(ceil(z_remove / 2.))
beta = (z_remove / 2) beta = int(floor(z_remove / 2.))
# Remove more alpha, than beta
# _ # _
# |_) _ _|_ ._ ._ # |_) _ _|_ ._ ._
# | \ (/_ |_ |_| | | | # | \ (/_ |_ |_| | | |
# #
return [z_eff, alpha, beta] return [z_remove, z_eff, alpha, beta]
def add_zero(array, size, type): def add_zero(array, size, type):
@ -224,6 +226,12 @@ def make_it_square(matrix, dim, type=float):
return matrix return matrix
def full_path(path):
path = os.path.expanduser(path)
path = os.path.expandvars(path)
path = os.path.abspath(path)
return path
if __name__ == "__main__": if __name__ == "__main__":
arguments = docopt(__doc__) arguments = docopt(__doc__)
# ___ # ___
@ -235,19 +243,22 @@ if __name__ == "__main__":
# E Z F I O # # E Z F I O #
# ~#~#~#~#~ # # ~#~#~#~#~ #
ezfio_path = arguments["<ezfio_path>"] ezfio_path = full_path(arguments["<ezfio_path>"])
ezfio_path = os.path.expanduser(ezfio_path)
ezfio_path = os.path.expandvars(ezfio_path)
ezfio_path = os.path.abspath(ezfio_path)
ezfio.set_file("{0}".format(ezfio_path)) ezfio.set_file("{0}".format(ezfio_path))
# ~#~#~#~#~#~#~#~#~#~#~ # # ~#~#~#~#~#~#~#~#~#~#~ #
# P s e u d o _ d a t a # # P s e u d o _ d a t a #
# ~#~#~#~#~#~#~#~#~#~#~ # # ~#~#~#~#~#~#~#~#~#~#~ #
if arguments["<db_dump_path>"]:
db_dump_path = full_path(arguments["<db_dump_path>"])
else:
db_dump_path= full_path("{0}/data/BFD-Pseudo.dump".format(qpackage_root))
pseudo_name = arguments["<pseudo_name>"]
l_ele = ezfio.get_nuclei_nucl_label() l_ele = ezfio.get_nuclei_nucl_label()
str_ = get_pseudo_str(l_ele)
str_ = get_pseudo_str(db_dump_path,pseudo_name,l_ele)
# _ # _
# |_) _. ._ _ _ # |_) _. ._ _ _
@ -257,7 +268,7 @@ if __name__ == "__main__":
l_str_ele = [str_ele for str_ele in str_.split("Element Symbol: ") l_str_ele = [str_ele for str_ele in str_.split("Element Symbol: ")
if str_ele] if str_ele]
for i in "l_zeff v_k n_k dz_k v_kl n_kl dz_kl".split(): for i in "l_zeff l_remove v_k n_k dz_k v_kl n_kl dz_kl".split():
exec("{0} = []".format(i)) exec("{0} = []".format(i))
alpha_tot = 0 alpha_tot = 0
@ -296,11 +307,13 @@ if __name__ == "__main__":
# Z _ e f f , a l p h a / b e t a _ e l e c # # Z _ e f f , a l p h a / b e t a _ e l e c #
# ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~ # # ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~ #
zeff, alpha, beta = get_zeff_alpha_beta(str_ele) zremove, zeff, alpha, beta = get_zeff_alpha_beta(str_ele)
alpha_tot += alpha alpha_tot += alpha
beta_tot += beta beta_tot += beta
l_zeff.append(zeff) l_zeff.append(zeff)
l_remove.append(zremove)
# _ # _
# /\ _| _| _|_ _ _ _ _|_ o _ # /\ _| _| _|_ _ _ _ _|_ o _
# /--\ (_| (_| |_ (_) (/_ /_ | | (_) # /--\ (_| (_| |_ (_) (/_ /_ | | (_)
@ -311,6 +324,7 @@ if __name__ == "__main__":
# ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~ # # ~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~#~ #
ezfio.nuclei_nucl_charge = l_zeff ezfio.nuclei_nucl_charge = l_zeff
ezfio.pseudo_nucl_charge_remove = l_remove
alpha_tot = ezfio.get_electrons_elec_alpha_num() - alpha_tot alpha_tot = ezfio.get_electrons_elec_alpha_num() - alpha_tot
beta_tot = ezfio.get_electrons_elec_beta_num() - beta_tot beta_tot = ezfio.get_electrons_elec_beta_num() - beta_tot

View File

@ -1,11 +1,11 @@
[ao_basis] [ao_basis]
type: character*(256) type: character*(256)
doc: name of the ao basis doc: name of the AO basis set
interface: ezfio interface: ezfio
[ao_num] [ao_num]
type: integer type: integer
doc: number of ao doc: number of AOs
interface: ezfio, provider interface: ezfio, provider
[ao_prim_num] [ao_prim_num]
@ -22,29 +22,35 @@ interface: ezfio
[ao_nucl] [ao_nucl]
type: integer type: integer
doc: Index of the nuclei on which the ao is centered doc: Index of the nucleus on which the AO is centered
size: (ao_basis.ao_num) size: (ao_basis.ao_num)
interface: ezfio, provider interface: ezfio, provider
[ao_power] [ao_power]
type: integer type: integer
doc: power for each dimension for each ao_basis doc: Powers of x, y and z for each AO
size: (ao_basis.ao_num,3) size: (ao_basis.ao_num,3)
interface: ezfio, provider interface: ezfio, provider
[ao_coef] [ao_coef]
type: double precision type: double precision
doc: AO Coefficients, read from input. Those should not be used directly, as the MOs are expressed on the basis of **normalized** AOs. doc: Primitive coefficients, read from input. Those should not be used directly, as the MOs are expressed on the basis of **normalized** AOs.
size: (ao_basis.ao_num,ao_basis.ao_prim_num_max) size: (ao_basis.ao_num,ao_basis.ao_prim_num_max)
interface: ezfio, provider interface: ezfio, provider
[ao_expo] [ao_expo]
type: double precision type: double precision
doc: expo for each primitive of each ao_basis doc: Exponents for each primitive of each AO
size: (ao_basis.ao_num,ao_basis.ao_prim_num_max) size: (ao_basis.ao_num,ao_basis.ao_prim_num_max)
interface: ezfio, provider interface: ezfio, provider
[ao_md5] [ao_md5]
type: character*(32) type: character*(32)
doc: MD5 key characteristic of the AO basis doc: MD5 key, specific of the AO basis
interface: ezfio, provider interface: ezfio, provider
[ao_cartesian]
type: logical
doc: If true, use AOs in Cartesian coordinates (6d,10f,...)
interface: ezfio, provider
default: false

View File

@ -117,7 +117,7 @@ Documentation
:math:`\int \chi_i(r) \chi_j(r) dr)` :math:`\int \chi_i(r) \chi_j(r) dr)`
`ao_overlap_abs <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/ao_overlap.irp.f#L65>`_ `ao_overlap_abs <http://github.com/LCPQ/quantum_package/tree/master/src/AO_Basis/ao_overlap.irp.f#L66>`_
Overlap between absolute value of atomic basis functions: Overlap between absolute value of atomic basis functions:
:math:`\int |\chi_i(r)| |\chi_j(r)| dr)` :math:`\int |\chi_i(r)| |\chi_j(r)| dr)`

View File

@ -19,18 +19,20 @@ END_PROVIDER
ao_prim_num_max_align = align_double(ao_prim_num_max) ao_prim_num_max_align = align_double(ao_prim_num_max)
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ double precision, ao_coef_normalized, (ao_num_align,ao_prim_num_max) ] BEGIN_PROVIDER [ double precision, ao_coef_normalized, (ao_num_align,ao_prim_num_max) ]
&BEGIN_PROVIDER [ double precision, ao_coef_normalization_factor, (ao_num) ]
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! Coefficients including the AO normalization ! Coefficients including the AO normalization
END_DOC END_DOC
double precision :: norm, norm2,overlap_x,overlap_y,overlap_z,C_A(3) double precision :: norm, norm2,overlap_x,overlap_y,overlap_z,C_A(3), c
integer :: l, powA(3), nz integer :: l, powA(3), nz
integer :: i,j integer :: i,j,k
nz=100 nz=100
C_A(1) = 0.d0 C_A(1) = 0.d0
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
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)
@ -39,6 +41,18 @@ BEGIN_PROVIDER [ double precision, ao_coef_normalized, (ao_num_align,ao_prim_num
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) 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) ao_coef_normalized(i,j) = ao_coef(i,j)/sqrt(norm)
enddo enddo
! Normalization of the contracted basis functions
norm = 0.d0
do j=1,ao_prim_num(i)
do k=1,ao_prim_num(i)
call overlap_gaussian_xyz(C_A,C_A,ao_expo(i,j),ao_expo(i,k),powA,powA,overlap_x,overlap_y,overlap_z,c,nz)
norm = norm+c*ao_coef_normalized(i,j)*ao_coef_normalized(i,k)
enddo
enddo
ao_coef_normalization_factor(i) = 1.d0/sqrt(norm)
do j=1,ao_prim_num(i)
ao_coef_normalized(i,j) = ao_coef_normalized(i,j) * ao_coef_normalization_factor(i)
enddo
enddo enddo
END_PROVIDER END_PROVIDER
@ -97,7 +111,7 @@ BEGIN_PROVIDER [ double precision, ao_expo_ordered_transp, (ao_prim_num_max_alig
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ integer, ao_l, (ao_num) ] BEGIN_PROVIDER [ integer, ao_l, (ao_num) ]
&BEGIN_PROVIDER [ character*(128), ao_l_char, (ao_num) ] &BEGIN_PROVIDER [ integer, ao_l_max ]
implicit none implicit none
BEGIN_DOC BEGIN_DOC
! ao_l = l value of the AO: a+b+c in x^a y^b z^c ! ao_l = l value of the AO: a+b+c in x^a y^b z^c
@ -105,8 +119,8 @@ END_PROVIDER
integer :: i integer :: i
do i=1,ao_num do i=1,ao_num
ao_l(i) = ao_power(i,1) + ao_power(i,2) + ao_power(i,3) ao_l(i) = ao_power(i,1) + ao_power(i,2) + ao_power(i,3)
ao_l_char(i) = l_to_charater(ao_l(i))
enddo enddo
ao_l_max = maxval(ao_l)
END_PROVIDER END_PROVIDER
BEGIN_PROVIDER [ integer, ao_prim_num_max_align ] BEGIN_PROVIDER [ integer, ao_prim_num_max_align ]
@ -119,188 +133,16 @@ BEGIN_PROVIDER [ integer, ao_prim_num_max_align ]
ao_prim_num_max_align = align_double(ao_prim_num_max) ao_prim_num_max_align = align_double(ao_prim_num_max)
END_PROVIDER END_PROVIDER
integer function ao_power_index(nx,ny,nz)
implicit none
integer, intent(in) :: nx, ny, nz
BEGIN_DOC
! Unique index given to a triplet of powers:
!
! 1/2 (l-n_x)*(l-n_x+1) + n_z + 1
END_DOC
integer :: l
l = nx + ny + nz
ao_power_index = ((l-nx)*(l-nx+1))/2 + nz + 1
end
BEGIN_PROVIDER [ character*(128), l_to_charater, (0:4)]
BEGIN_DOC
! character corresponding to the "L" value of an AO orbital
END_DOC
implicit none
l_to_charater(0)='S'
l_to_charater(1)='P'
l_to_charater(2)='D'
l_to_charater(3)='F'
l_to_charater(4)='G'
END_PROVIDER
BEGIN_PROVIDER [ integer, Nucl_N_Aos, (nucl_num)]
&BEGIN_PROVIDER [ integer, N_AOs_max ]
implicit none
integer :: i
BEGIN_DOC
! Number of AOs per atom
END_DOC
Nucl_N_Aos = 0
do i = 1, ao_num
Nucl_N_Aos(ao_nucl(i)) +=1
enddo
N_AOs_max = maxval(Nucl_N_Aos)
END_PROVIDER
BEGIN_PROVIDER [ integer, Nucl_Aos, (nucl_num,N_AOs_max)]
implicit none
BEGIN_DOC
! List of AOs attached on each atom
END_DOC
integer :: i
integer, allocatable :: nucl_tmp(:)
allocate(nucl_tmp(nucl_num))
nucl_tmp = 0
Nucl_Aos = 0
do i = 1, ao_num
nucl_tmp(ao_nucl(i))+=1
Nucl_Aos(ao_nucl(i),nucl_tmp(ao_nucl(i))) = i
enddo
deallocate(nucl_tmp)
END_PROVIDER
BEGIN_PROVIDER [ integer, Nucl_list_shell_Aos, (nucl_num,N_AOs_max)]
&BEGIN_PROVIDER [ integer, Nucl_num_shell_Aos, (nucl_num)]
implicit none
integer :: i,j,k
BEGIN_DOC
! Index of the shell type Aos and of the corresponding Aos
! Per convention, for P,D,F and G AOs, we take the index
! of the AO with the the corresponding power in the "X" axis
END_DOC
do i = 1, nucl_num
Nucl_num_shell_Aos(i) = 0
do j = 1, Nucl_N_Aos(i)
if(ao_l(Nucl_Aos(i,j))==0)then
! S type function
Nucl_num_shell_Aos(i)+=1
Nucl_list_shell_Aos(i,Nucl_num_shell_Aos(i))=Nucl_Aos(i,j)
elseif(ao_l(Nucl_Aos(i,j))==1)then
! P type function
if(ao_power(Nucl_Aos(i,j),1)==1)then
Nucl_num_shell_Aos(i)+=1
Nucl_list_shell_Aos(i,Nucl_num_shell_Aos(i))=Nucl_Aos(i,j)
endif
elseif(ao_l(Nucl_Aos(i,j))==2)then
! D type function
if(ao_power(Nucl_Aos(i,j),1)==2)then
Nucl_num_shell_Aos(i)+=1
Nucl_list_shell_Aos(i,Nucl_num_shell_Aos(i))=Nucl_Aos(i,j)
endif
elseif(ao_l(Nucl_Aos(i,j))==3)then
! F type function
if(ao_power(Nucl_Aos(i,j),1)==3)then
Nucl_num_shell_Aos(i)+=1
Nucl_list_shell_Aos(i,Nucl_num_shell_Aos(i))=Nucl_Aos(i,j)
endif
elseif(ao_l(Nucl_Aos(i,j))==4)then
! G type function
if(ao_power(Nucl_Aos(i,j),1)==4)then
Nucl_num_shell_Aos(i)+=1
Nucl_list_shell_Aos(i,Nucl_num_shell_Aos(i))=Nucl_Aos(i,j)
endif
endif
enddo
enddo
END_PROVIDER
BEGIN_PROVIDER [ character*(4), ao_l_char_space, (ao_num) ]
implicit none
integer :: i
character*(4) :: give_ao_character_space
do i=1,ao_num
if(ao_l(i)==0)then
! S type AO
give_ao_character_space = 'S '
elseif(ao_l(i) == 1)then
! P type AO
if(ao_power(i,1)==1)then
give_ao_character_space = 'X '
elseif(ao_power(i,2) == 1)then
give_ao_character_space = 'Y '
else
give_ao_character_space = 'Z '
endif
elseif(ao_l(i) == 2)then
! D type AO
if(ao_power(i,1)==2)then
give_ao_character_space = 'XX '
elseif(ao_power(i,2) == 2)then
give_ao_character_space = 'YY '
elseif(ao_power(i,3) == 2)then
give_ao_character_space = 'ZZ '
elseif(ao_power(i,1) == 1 .and. ao_power(i,2) == 1)then
give_ao_character_space = 'XY '
elseif(ao_power(i,1) == 1 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'XZ '
else
give_ao_character_space = 'YZ '
endif
elseif(ao_l(i) == 3)then
! F type AO
if(ao_power(i,1)==3)then
give_ao_character_space = 'XXX '
elseif(ao_power(i,2) == 3)then
give_ao_character_space = 'YYY '
elseif(ao_power(i,3) == 3)then
give_ao_character_space = 'ZZZ '
elseif(ao_power(i,1) == 2 .and. ao_power(i,2) == 1)then
give_ao_character_space = 'XXY '
elseif(ao_power(i,1) == 2 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'XXZ '
elseif(ao_power(i,2) == 2 .and. ao_power(i,1) == 1)then
give_ao_character_space = 'YYX '
elseif(ao_power(i,2) == 2 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'YYZ '
elseif(ao_power(i,3) == 2 .and. ao_power(i,1) == 1)then
give_ao_character_space = 'ZZX '
elseif(ao_power(i,3) == 2 .and. ao_power(i,2) == 1)then
give_ao_character_space = 'ZZY '
elseif(ao_power(i,3) == 1 .and. ao_power(i,2) == 1 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'XYZ '
endif
elseif(ao_l(i) == 4)then
! G type AO
if(ao_power(i,1)==4)then
give_ao_character_space = 'XXXX'
elseif(ao_power(i,2) == 4)then
give_ao_character_space = 'YYYY'
elseif(ao_power(i,3) == 4)then
give_ao_character_space = 'ZZZZ'
elseif(ao_power(i,1) == 3 .and. ao_power(i,2) == 1)then
give_ao_character_space = 'XXXY'
elseif(ao_power(i,1) == 3 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'XXXZ'
elseif(ao_power(i,2) == 3 .and. ao_power(i,1) == 1)then
give_ao_character_space = 'YYYX'
elseif(ao_power(i,2) == 3 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'YYYZ'
elseif(ao_power(i,3) == 3 .and. ao_power(i,1) == 1)then
give_ao_character_space = 'ZZZX'
elseif(ao_power(i,3) == 3 .and. ao_power(i,2) == 1)then
give_ao_character_space = 'ZZZY'
elseif(ao_power(i,1) == 2 .and. ao_power(i,2) == 2)then
give_ao_character_space = 'XXYY'
elseif(ao_power(i,2) == 2 .and. ao_power(i,3) == 2)then
give_ao_character_space = 'YYZZ'
elseif(ao_power(i,1) == 2 .and. ao_power(i,2) == 1 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'XXYZ'
elseif(ao_power(i,2) == 2 .and. ao_power(i,1) == 1 .and. ao_power(i,3) == 1)then
give_ao_character_space = 'YYXZ'
elseif(ao_power(i,3) == 2 .and. ao_power(i,1) == 1 .and. ao_power(i,2) == 1)then
give_ao_character_space = 'ZZXY'
endif
endif
ao_l_char_space(i) = give_ao_character_space
enddo
END_PROVIDER

View File

@ -0,0 +1,707 @@
! Spherical to cartesian transformation matrix obtained with
! Horton (http://theochem.github.com/horton/, 2015)
! First index is the index of the carteisan AO, obtained by ao_power_index
! Second index is the index of the spherical AO
BEGIN_PROVIDER [ double precision, cart_to_sphe_0, (1,1) ]
implicit none
BEGIN_DOC
! Spherical -> Cartesian Transformation matrix for l=0
END_DOC
cart_to_sphe_0 = 0.d0
cart_to_sphe_0 ( 1, 1) = 1.0d0
END_PROVIDER
BEGIN_PROVIDER [ double precision, cart_to_sphe_1, (3,3) ]
implicit none
BEGIN_DOC
! Spherical -> Cartesian Transformation matrix for l=1
END_DOC
cart_to_sphe_1 = 0.d0
cart_to_sphe_1 ( 3, 1) = 1.0d0
cart_to_sphe_1 ( 1, 2) = 1.0d0
cart_to_sphe_1 ( 2, 3) = 1.0d0
END_PROVIDER
BEGIN_PROVIDER [ double precision, cart_to_sphe_2, (6,5) ]
implicit none
BEGIN_DOC
! Spherical -> Cartesian Transformation matrix for l=2
END_DOC
cart_to_sphe_2 = 0.d0
cart_to_sphe_2 ( 1, 1) = -0.5d0
cart_to_sphe_2 ( 4, 1) = -0.5d0
cart_to_sphe_2 ( 6, 1) = 1.0d0
cart_to_sphe_2 ( 3, 2) = 1.0d0
cart_to_sphe_2 ( 5, 3) = 1.0d0
cart_to_sphe_2 ( 1, 4) = 0.86602540378443864676d0
cart_to_sphe_2 ( 4, 4) = -0.86602540378443864676d0
cart_to_sphe_2 ( 2, 5) = 1.0d0
END_PROVIDER
BEGIN_PROVIDER [ double precision, cart_to_sphe_3, (10,7) ]
implicit none
BEGIN_DOC
! Spherical -> Cartesian Transformation matrix for l=3
END_DOC
cart_to_sphe_3 = 0.d0
cart_to_sphe_3 ( 3, 1) = -0.67082039324993690892d0
cart_to_sphe_3 ( 8, 1) = -0.67082039324993690892d0
cart_to_sphe_3 (10, 1) = 1.0d0
cart_to_sphe_3 ( 1, 2) = -0.61237243569579452455d0
cart_to_sphe_3 ( 4, 2) = -0.27386127875258305673d0
cart_to_sphe_3 ( 6, 2) = 1.0954451150103322269d0
cart_to_sphe_3 ( 2, 3) = -0.27386127875258305673d0
cart_to_sphe_3 ( 7, 3) = -0.61237243569579452455d0
cart_to_sphe_3 ( 9, 3) = 1.0954451150103322269d0
cart_to_sphe_3 ( 3, 4) = 0.86602540378443864676d0
cart_to_sphe_3 ( 8, 4) = -0.86602540378443864676d0
cart_to_sphe_3 ( 5, 5) = 1.0d0
cart_to_sphe_3 ( 1, 6) = 0.790569415042094833d0
cart_to_sphe_3 ( 4, 6) = -1.0606601717798212866d0
cart_to_sphe_3 ( 2, 7) = 1.0606601717798212866d0
cart_to_sphe_3 ( 7, 7) = -0.790569415042094833d0
END_PROVIDER
BEGIN_PROVIDER [ double precision, cart_to_sphe_4, (15,9) ]
implicit none
BEGIN_DOC
! Spherical -> Cartesian Transformation matrix for l=4
END_DOC
cart_to_sphe_4 = 0.d0
cart_to_sphe_4 ( 1, 1) = 0.375d0
cart_to_sphe_4 ( 4, 1) = 0.21957751641341996535d0
cart_to_sphe_4 ( 6, 1) = -0.87831006565367986142d0
cart_to_sphe_4 (11, 1) = 0.375d0
cart_to_sphe_4 (13, 1) = -0.87831006565367986142d0
cart_to_sphe_4 (15, 1) = 1.0d0
cart_to_sphe_4 ( 3, 2) = -0.89642145700079522998d0
cart_to_sphe_4 ( 8, 2) = -0.40089186286863657703d0
cart_to_sphe_4 (10, 2) = 1.19522860933439364d0
cart_to_sphe_4 ( 5, 3) = -0.40089186286863657703d0
cart_to_sphe_4 (12, 3) = -0.89642145700079522998d0
cart_to_sphe_4 (14, 3) = 1.19522860933439364d0
cart_to_sphe_4 ( 1, 4) = -0.5590169943749474241d0
cart_to_sphe_4 ( 6, 4) = 0.9819805060619657157d0
cart_to_sphe_4 (11, 4) = 0.5590169943749474241d0
cart_to_sphe_4 (13, 4) = -0.9819805060619657157d0
cart_to_sphe_4 ( 2, 5) = -0.42257712736425828875d0
cart_to_sphe_4 ( 7, 5) = -0.42257712736425828875d0
cart_to_sphe_4 ( 9, 5) = 1.1338934190276816816d0
cart_to_sphe_4 ( 3, 6) = 0.790569415042094833d0
cart_to_sphe_4 ( 8, 6) = -1.0606601717798212866d0
cart_to_sphe_4 ( 5, 7) = 1.0606601717798212866d0
cart_to_sphe_4 (12, 7) = -0.790569415042094833d0
cart_to_sphe_4 ( 1, 8) = 0.73950997288745200532d0
cart_to_sphe_4 ( 4, 8) = -1.2990381056766579701d0
cart_to_sphe_4 (11, 8) = 0.73950997288745200532d0
cart_to_sphe_4 ( 2, 9) = 1.1180339887498948482d0
cart_to_sphe_4 ( 7, 9) = -1.1180339887498948482d0
END_PROVIDER
BEGIN_PROVIDER [ double precision, cart_to_sphe_5, (21,11) ]
implicit none
BEGIN_DOC
! Spherical -> Cartesian Transformation matrix for l=5
END_DOC
cart_to_sphe_5 = 0.d0
cart_to_sphe_5 ( 3, 1) = 0.625d0
cart_to_sphe_5 ( 8, 1) = 0.36596252735569994226d0
cart_to_sphe_5 (10, 1) = -1.0910894511799619063d0
cart_to_sphe_5 (17, 1) = 0.625d0
cart_to_sphe_5 (19, 1) = -1.0910894511799619063d0
cart_to_sphe_5 (21, 1) = 1.0d0
cart_to_sphe_5 ( 1, 2) = 0.48412291827592711065d0
cart_to_sphe_5 ( 4, 2) = 0.21128856368212914438d0
cart_to_sphe_5 ( 6, 2) = -1.2677313820927748663d0
cart_to_sphe_5 (11, 2) = 0.16137430609197570355d0
cart_to_sphe_5 (13, 2) = -0.56694670951384084082d0
cart_to_sphe_5 (15, 2) = 1.2909944487358056284d0
cart_to_sphe_5 ( 2, 3) = 0.16137430609197570355d0
cart_to_sphe_5 ( 7, 3) = 0.21128856368212914438d0
cart_to_sphe_5 ( 9, 3) = -0.56694670951384084082d0
cart_to_sphe_5 (16, 3) = 0.48412291827592711065d0
cart_to_sphe_5 (18, 3) = -1.2677313820927748663d0
cart_to_sphe_5 (20, 3) = 1.2909944487358056284d0
cart_to_sphe_5 ( 3, 4) = -0.85391256382996653194d0
cart_to_sphe_5 (10, 4) = 1.1180339887498948482d0
cart_to_sphe_5 (17, 4) = 0.85391256382996653194d0
cart_to_sphe_5 (19, 4) = -1.1180339887498948482d0
cart_to_sphe_5 ( 5, 5) = -0.6454972243679028142d0
cart_to_sphe_5 (12, 5) = -0.6454972243679028142d0
cart_to_sphe_5 (14, 5) = 1.2909944487358056284d0
cart_to_sphe_5 ( 1, 6) = -0.52291251658379721749d0
cart_to_sphe_5 ( 4, 6) = 0.22821773229381921394d0
cart_to_sphe_5 ( 6, 6) = 0.91287092917527685576d0
cart_to_sphe_5 (11, 6) = 0.52291251658379721749d0
cart_to_sphe_5 (13, 6) = -1.2247448713915890491d0
cart_to_sphe_5 ( 2, 7) = -0.52291251658379721749d0
cart_to_sphe_5 ( 7, 7) = -0.22821773229381921394d0
cart_to_sphe_5 ( 9, 7) = 1.2247448713915890491d0
cart_to_sphe_5 (16, 7) = 0.52291251658379721749d0
cart_to_sphe_5 (18, 7) = -0.91287092917527685576d0
cart_to_sphe_5 ( 3, 8) = 0.73950997288745200532d0
cart_to_sphe_5 ( 8, 8) = -1.2990381056766579701d0
cart_to_sphe_5 (17, 8) = 0.73950997288745200532d0
cart_to_sphe_5 ( 5, 9) = 1.1180339887498948482d0
cart_to_sphe_5 (12, 9) = -1.1180339887498948482d0
cart_to_sphe_5 ( 1,10) = 0.7015607600201140098d0
cart_to_sphe_5 ( 4,10) = -1.5309310892394863114d0
cart_to_sphe_5 (11,10) = 1.169267933366856683d0
cart_to_sphe_5 ( 2,11) = 1.169267933366856683d0
cart_to_sphe_5 ( 7,11) = -1.5309310892394863114d0
cart_to_sphe_5 (16,11) = 0.7015607600201140098d0
END_PROVIDER
BEGIN_PROVIDER [ double precision, cart_to_sphe_6, (28,13) ]
implicit none
BEGIN_DOC
! Spherical -> Cartesian Transformation matrix for l=6
END_DOC
cart_to_sphe_6 = 0.d0
cart_to_sphe_6 ( 1, 1) = -0.3125d0
cart_to_sphe_6 ( 4, 1) = -0.16319780245846672329d0
cart_to_sphe_6 ( 6, 1) = 0.97918681475080033975d0
cart_to_sphe_6 (11, 1) = -0.16319780245846672329d0
cart_to_sphe_6 (13, 1) = 0.57335309036732873772d0
cart_to_sphe_6 (15, 1) = -1.3055824196677337863d0
cart_to_sphe_6 (22, 1) = -0.3125d0
cart_to_sphe_6 (24, 1) = 0.97918681475080033975d0
cart_to_sphe_6 (26, 1) = -1.3055824196677337863d0
cart_to_sphe_6 (28, 1) = 1.0d0
cart_to_sphe_6 ( 3, 2) = 0.86356159963469679725d0
cart_to_sphe_6 ( 8, 2) = 0.37688918072220452831d0
cart_to_sphe_6 (10, 2) = -1.6854996561581052156d0
cart_to_sphe_6 (17, 2) = 0.28785386654489893242d0
cart_to_sphe_6 (19, 2) = -0.75377836144440905662d0
cart_to_sphe_6 (21, 2) = 1.3816985594155148756d0
cart_to_sphe_6 ( 5, 3) = 0.28785386654489893242d0
cart_to_sphe_6 (12, 3) = 0.37688918072220452831d0
cart_to_sphe_6 (14, 3) = -0.75377836144440905662d0
cart_to_sphe_6 (23, 3) = 0.86356159963469679725d0
cart_to_sphe_6 (25, 3) = -1.6854996561581052156d0
cart_to_sphe_6 (27, 3) = 1.3816985594155148756d0
cart_to_sphe_6 ( 1, 4) = 0.45285552331841995543d0
cart_to_sphe_6 ( 4, 4) = 0.078832027985861408788d0
cart_to_sphe_6 ( 6, 4) = -1.2613124477737825406d0
cart_to_sphe_6 (11, 4) = -0.078832027985861408788d0
cart_to_sphe_6 (15, 4) = 1.2613124477737825406d0
cart_to_sphe_6 (22, 4) = -0.45285552331841995543d0
cart_to_sphe_6 (24, 4) = 1.2613124477737825406d0
cart_to_sphe_6 (26, 4) = -1.2613124477737825406d0
cart_to_sphe_6 ( 2, 5) = 0.27308215547040717681d0
cart_to_sphe_6 ( 7, 5) = 0.26650089544451304287d0
cart_to_sphe_6 ( 9, 5) = -0.95346258924559231545d0
cart_to_sphe_6 (16, 5) = 0.27308215547040717681d0
cart_to_sphe_6 (18, 5) = -0.95346258924559231545d0
cart_to_sphe_6 (20, 5) = 1.4564381625088382763d0
cart_to_sphe_6 ( 3, 6) = -0.81924646641122153043d0
cart_to_sphe_6 ( 8, 6) = 0.35754847096709711829d0
cart_to_sphe_6 (10, 6) = 1.0660035817780521715d0
cart_to_sphe_6 (17, 6) = 0.81924646641122153043d0
cart_to_sphe_6 (19, 6) = -1.4301938838683884732d0
cart_to_sphe_6 ( 5, 7) = -0.81924646641122153043d0
cart_to_sphe_6 (12, 7) = -0.35754847096709711829d0
cart_to_sphe_6 (14, 7) = 1.4301938838683884732d0
cart_to_sphe_6 (23, 7) = 0.81924646641122153043d0
cart_to_sphe_6 (25, 7) = -1.0660035817780521715d0
cart_to_sphe_6 ( 1, 8) = -0.49607837082461073572d0
cart_to_sphe_6 ( 4, 8) = 0.43178079981734839863d0
cart_to_sphe_6 ( 6, 8) = 0.86356159963469679725d0
cart_to_sphe_6 (11, 8) = 0.43178079981734839863d0
cart_to_sphe_6 (13, 8) = -1.5169496905422946941d0
cart_to_sphe_6 (22, 8) = -0.49607837082461073572d0
cart_to_sphe_6 (24, 8) = 0.86356159963469679725d0
cart_to_sphe_6 ( 2, 9) = -0.59829302641309923139d0
cart_to_sphe_6 ( 9, 9) = 1.3055824196677337863d0
cart_to_sphe_6 (16, 9) = 0.59829302641309923139d0
cart_to_sphe_6 (18, 9) = -1.3055824196677337863d0
cart_to_sphe_6 ( 3,10) = 0.7015607600201140098d0
cart_to_sphe_6 ( 8,10) = -1.5309310892394863114d0
cart_to_sphe_6 (17,10) = 1.169267933366856683d0
cart_to_sphe_6 ( 5,11) = 1.169267933366856683d0
cart_to_sphe_6 (12,11) = -1.5309310892394863114d0
cart_to_sphe_6 (23,11) = 0.7015607600201140098d0
cart_to_sphe_6 ( 1,12) = 0.67169328938139615748d0
cart_to_sphe_6 ( 4,12) = -1.7539019000502850245d0
cart_to_sphe_6 (11,12) = 1.7539019000502850245d0
cart_to_sphe_6 (22,12) = -0.67169328938139615748d0
cart_to_sphe_6 ( 2,13) = 1.2151388809514737933d0
cart_to_sphe_6 ( 7,13) = -1.9764235376052370825d0
cart_to_sphe_6 (16,13) = 1.2151388809514737933d0
END_PROVIDER
BEGIN_PROVIDER [ double precision, cart_to_sphe_7, (36,15) ]
implicit none
BEGIN_DOC
! Spherical -> Cartesian Transformation matrix for l=7
END_DOC
cart_to_sphe_7 = 0.d0
cart_to_sphe_7 ( 3, 1) = -0.60670333962134435221d0
cart_to_sphe_7 ( 8, 1) = -0.31684048566533184861d0
cart_to_sphe_7 (10, 1) = 1.4169537279434593918d0
cart_to_sphe_7 (17, 1) = -0.31684048566533184861d0
cart_to_sphe_7 (19, 1) = 0.82968314787883083417d0
cart_to_sphe_7 (21, 1) = -1.5208343311935928733d0
cart_to_sphe_7 (30, 1) = -0.60670333962134435221d0
cart_to_sphe_7 (32, 1) = 1.4169537279434593918d0
cart_to_sphe_7 (34, 1) = -1.5208343311935928733d0
cart_to_sphe_7 (36, 1) = 1.0d0
cart_to_sphe_7 ( 1, 2) = -0.41339864235384227977d0
cart_to_sphe_7 ( 4, 2) = -0.17963167078872714852d0
cart_to_sphe_7 ( 6, 2) = 1.4370533663098171882d0
cart_to_sphe_7 (11, 2) = -0.1338895422651523892d0
cart_to_sphe_7 (13, 2) = 0.62718150750531807803d0
cart_to_sphe_7 (15, 2) = -2.1422326762424382273d0
cart_to_sphe_7 (22, 2) = -0.1146561540164598136d0
cart_to_sphe_7 (24, 2) = 0.47901778876993906273d0
cart_to_sphe_7 (26, 2) = -0.95803557753987812546d0
cart_to_sphe_7 (28, 2) = 1.4675987714106856141d0
cart_to_sphe_7 ( 2, 3) = -0.1146561540164598136d0
cart_to_sphe_7 ( 7, 3) = -0.1338895422651523892d0
cart_to_sphe_7 ( 9, 3) = 0.47901778876993906273d0
cart_to_sphe_7 (16, 3) = -0.17963167078872714852d0
cart_to_sphe_7 (18, 3) = 0.62718150750531807803d0
cart_to_sphe_7 (20, 3) = -0.95803557753987812546d0
cart_to_sphe_7 (29, 3) = -0.41339864235384227977d0
cart_to_sphe_7 (31, 3) = 1.4370533663098171882d0
cart_to_sphe_7 (33, 3) = -2.1422326762424382273d0
cart_to_sphe_7 (35, 3) = 1.4675987714106856141d0
cart_to_sphe_7 ( 3, 4) = 0.84254721963085980365d0
cart_to_sphe_7 ( 8, 4) = 0.14666864502533059662d0
cart_to_sphe_7 (10, 4) = -1.7491256557036030854d0
cart_to_sphe_7 (17, 4) = -0.14666864502533059662d0
cart_to_sphe_7 (21, 4) = 1.4080189922431737275d0
cart_to_sphe_7 (30, 4) = -0.84254721963085980365d0
cart_to_sphe_7 (32, 4) = 1.7491256557036030854d0
cart_to_sphe_7 (34, 4) = -1.4080189922431737275d0
cart_to_sphe_7 ( 5, 5) = 0.50807509012231371428d0
cart_to_sphe_7 (12, 5) = 0.49583051751369852316d0
cart_to_sphe_7 (14, 5) = -1.3222147133698627284d0
cart_to_sphe_7 (23, 5) = 0.50807509012231371428d0
cart_to_sphe_7 (25, 5) = -1.3222147133698627284d0
cart_to_sphe_7 (27, 5) = 1.6258402883914038857d0
cart_to_sphe_7 ( 1, 6) = 0.42961647140211000062d0
cart_to_sphe_7 ( 4, 6) = -0.062226236090912312563d0
cart_to_sphe_7 ( 6, 6) = -1.2445247218182462513d0
cart_to_sphe_7 (11, 6) = -0.23190348980538452414d0
cart_to_sphe_7 (13, 6) = 0.54315511828342602619d0
cart_to_sphe_7 (15, 6) = 1.2368186122953841287d0
cart_to_sphe_7 (22, 6) = -0.35746251148251142922d0
cart_to_sphe_7 (24, 6) = 1.2445247218182462513d0
cart_to_sphe_7 (26, 6) = -1.6593662957576616683d0
cart_to_sphe_7 ( 2, 7) = 0.35746251148251142922d0
cart_to_sphe_7 ( 7, 7) = 0.23190348980538452414d0
cart_to_sphe_7 ( 9, 7) = -1.2445247218182462513d0
cart_to_sphe_7 (16, 7) = 0.062226236090912312563d0
cart_to_sphe_7 (18, 7) = -0.54315511828342602619d0
cart_to_sphe_7 (20, 7) = 1.6593662957576616683d0
cart_to_sphe_7 (29, 7) = -0.42961647140211000062d0
cart_to_sphe_7 (31, 7) = 1.2445247218182462513d0
cart_to_sphe_7 (33, 7) = -1.2368186122953841287d0
cart_to_sphe_7 ( 3, 8) = -0.79037935147039945351d0
cart_to_sphe_7 ( 8, 8) = 0.6879369240987588816d0
cart_to_sphe_7 (10, 8) = 1.025515817677958738d0
cart_to_sphe_7 (17, 8) = 0.6879369240987588816d0
cart_to_sphe_7 (19, 8) = -1.8014417303072302517d0
cart_to_sphe_7 (30, 8) = -0.79037935147039945351d0
cart_to_sphe_7 (32, 8) = 1.025515817677958738d0
cart_to_sphe_7 ( 5, 9) = -0.95323336395336381126d0
cart_to_sphe_7 (14, 9) = 1.5504341823651057024d0
cart_to_sphe_7 (23, 9) = 0.95323336395336381126d0
cart_to_sphe_7 (25, 9) = -1.5504341823651057024d0
cart_to_sphe_7 ( 1,10) = -0.47495887979908323849d0
cart_to_sphe_7 ( 4,10) = 0.61914323168888299344d0
cart_to_sphe_7 ( 6,10) = 0.82552430891851065792d0
cart_to_sphe_7 (11,10) = 0.25637895441948968451d0
cart_to_sphe_7 (13,10) = -1.8014417303072302517d0
cart_to_sphe_7 (22,10) = -0.65864945955866621126d0
cart_to_sphe_7 (24,10) = 1.3758738481975177632d0
cart_to_sphe_7 ( 2,11) = -0.65864945955866621126d0
cart_to_sphe_7 ( 7,11) = 0.25637895441948968451d0
cart_to_sphe_7 ( 9,11) = 1.3758738481975177632d0
cart_to_sphe_7 (16,11) = 0.61914323168888299344d0
cart_to_sphe_7 (18,11) = -1.8014417303072302517d0
cart_to_sphe_7 (29,11) = -0.47495887979908323849d0
cart_to_sphe_7 (31,11) = 0.82552430891851065792d0
cart_to_sphe_7 ( 3,12) = 0.67169328938139615748d0
cart_to_sphe_7 ( 8,12) = -1.7539019000502850245d0
cart_to_sphe_7 (17,12) = 1.7539019000502850245d0
cart_to_sphe_7 (30,12) = -0.67169328938139615748d0
cart_to_sphe_7 ( 5,13) = 1.2151388809514737933d0
cart_to_sphe_7 (12,13) = -1.9764235376052370825d0
cart_to_sphe_7 (23,13) = 1.2151388809514737933d0
cart_to_sphe_7 ( 1,14) = 0.64725984928774934788d0
cart_to_sphe_7 ( 4,14) = -1.96875d0
cart_to_sphe_7 (11,14) = 2.4456993503903949804d0
cart_to_sphe_7 (22,14) = -1.2566230789301937693d0
cart_to_sphe_7 ( 2,15) = 1.2566230789301937693d0
cart_to_sphe_7 ( 7,15) = -2.4456993503903949804d0
cart_to_sphe_7 (16,15) = 1.96875d0
cart_to_sphe_7 (29,15) = -0.64725984928774934788d0
END_PROVIDER
BEGIN_PROVIDER [ double precision, cart_to_sphe_8, (45,17) ]
implicit none
BEGIN_DOC
! Spherical -> Cartesian Transformation matrix for l=8
END_DOC
cart_to_sphe_8 = 0.d0
cart_to_sphe_8 ( 1, 1) = 0.2734375d0
cart_to_sphe_8 ( 4, 1) = 0.13566299095694674896d0
cart_to_sphe_8 ( 6, 1) = -1.0853039276555739917d0
cart_to_sphe_8 (11, 1) = 0.12099545906566282998d0
cart_to_sphe_8 (13, 1) = -0.56678149117738375672d0
cart_to_sphe_8 (15, 1) = 1.9359273450506052797d0
cart_to_sphe_8 (22, 1) = 0.13566299095694674896d0
cart_to_sphe_8 (24, 1) = -0.56678149117738375672d0
cart_to_sphe_8 (26, 1) = 1.1335629823547675134d0
cart_to_sphe_8 (28, 1) = -1.7364862842489183867d0
cart_to_sphe_8 (37, 1) = 0.2734375d0
cart_to_sphe_8 (39, 1) = -1.0853039276555739917d0
cart_to_sphe_8 (41, 1) = 1.9359273450506052797d0
cart_to_sphe_8 (43, 1) = -1.7364862842489183867d0
cart_to_sphe_8 (45, 1) = 1.0d0
cart_to_sphe_8 ( 3, 2) = -0.84721510698287244363d0
cart_to_sphe_8 ( 8, 2) = -0.36813537731583001376d0
cart_to_sphe_8 (10, 2) = 2.1951352762686132731d0
cart_to_sphe_8 (17, 2) = -0.27439190953357665914d0
cart_to_sphe_8 (19, 2) = 0.95803557753987812546d0
cart_to_sphe_8 (21, 2) = -2.6341623315223359277d0
cart_to_sphe_8 (30, 2) = -0.23497519304418891392d0
cart_to_sphe_8 (32, 2) = 0.73171175875620442437d0
cart_to_sphe_8 (34, 2) = -1.178033207410656044d0
cart_to_sphe_8 (36, 2) = 1.5491933384829667541d0
cart_to_sphe_8 ( 5, 3) = -0.23497519304418891392d0
cart_to_sphe_8 (12, 3) = -0.27439190953357665914d0
cart_to_sphe_8 (14, 3) = 0.73171175875620442437d0
cart_to_sphe_8 (23, 3) = -0.36813537731583001376d0
cart_to_sphe_8 (25, 3) = 0.95803557753987812546d0
cart_to_sphe_8 (27, 3) = -1.178033207410656044d0
cart_to_sphe_8 (38, 3) = -0.84721510698287244363d0
cart_to_sphe_8 (40, 3) = 2.1951352762686132731d0
cart_to_sphe_8 (42, 3) = -2.6341623315223359277d0
cart_to_sphe_8 (44, 3) = 1.5491933384829667541d0
cart_to_sphe_8 ( 1, 4) = -0.39218438743784791311d0
cart_to_sphe_8 ( 4, 4) = -0.0972889728117695298d0
cart_to_sphe_8 ( 6, 4) = 1.459334592176542947d0
cart_to_sphe_8 (13, 4) = 0.25403754506115685714d0
cart_to_sphe_8 (15, 4) = -2.3138757483972597747d0
cart_to_sphe_8 (22, 4) = 0.0972889728117695298d0
cart_to_sphe_8 (24, 4) = -0.25403754506115685714d0
cart_to_sphe_8 (28, 4) = 1.5566235649883124768d0
cart_to_sphe_8 (37, 4) = 0.39218438743784791311d0
cart_to_sphe_8 (39, 4) = -1.459334592176542947d0
cart_to_sphe_8 (41, 4) = 2.3138757483972597747d0
cart_to_sphe_8 (43, 4) = -1.5566235649883124768d0
cart_to_sphe_8 ( 2, 5) = -0.20252314682524563222d0
cart_to_sphe_8 ( 7, 5) = -0.1967766362666553471d0
cart_to_sphe_8 ( 9, 5) = 0.8800118701519835797d0
cart_to_sphe_8 (16, 5) = -0.1967766362666553471d0
cart_to_sphe_8 (18, 5) = 0.85880364827689588344d0
cart_to_sphe_8 (20, 5) = -1.7491256557036030854d0
cart_to_sphe_8 (29, 5) = -0.20252314682524563222d0
cart_to_sphe_8 (31, 5) = 0.8800118701519835797d0
cart_to_sphe_8 (33, 5) = -1.7491256557036030854d0
cart_to_sphe_8 (35, 5) = 1.7974340685458342478d0
cart_to_sphe_8 ( 3, 6) = 0.82265291131801144316d0
cart_to_sphe_8 ( 8, 6) = -0.11915417049417047641d0
cart_to_sphe_8 (10, 6) = -1.7762455001837659611d0
cart_to_sphe_8 (17, 6) = -0.44406137504594149028d0
cart_to_sphe_8 (19, 6) = 0.77521709118255285119d0
cart_to_sphe_8 (21, 6) = 1.4209964001470127689d0
cart_to_sphe_8 (30, 6) = -0.68448859700003543819d0
cart_to_sphe_8 (32, 6) = 1.7762455001837659611d0
cart_to_sphe_8 (34, 6) = -1.9064667279067276225d0
cart_to_sphe_8 ( 5, 7) = 0.68448859700003543819d0
cart_to_sphe_8 (12, 7) = 0.44406137504594149028d0
cart_to_sphe_8 (14, 7) = -1.7762455001837659611d0
cart_to_sphe_8 (23, 7) = 0.11915417049417047641d0
cart_to_sphe_8 (25, 7) = -0.77521709118255285119d0
cart_to_sphe_8 (27, 7) = 1.9064667279067276225d0
cart_to_sphe_8 (38, 7) = -0.82265291131801144316d0
cart_to_sphe_8 (40, 7) = 1.7762455001837659611d0
cart_to_sphe_8 (42, 7) = -1.4209964001470127689d0
cart_to_sphe_8 ( 1, 8) = 0.41132645565900572158d0
cart_to_sphe_8 ( 4, 8) = -0.20407507102873838124d0
cart_to_sphe_8 ( 6, 8) = -1.2244504261724302874d0
cart_to_sphe_8 (11, 8) = -0.3033516698106721761d0
cart_to_sphe_8 (13, 8) = 1.0657473001102595767d0
cart_to_sphe_8 (15, 8) = 1.2134066792426887044d0
cart_to_sphe_8 (22, 8) = -0.20407507102873838124d0
cart_to_sphe_8 (24, 8) = 1.0657473001102595767d0
cart_to_sphe_8 (26, 8) = -2.1314946002205191534d0
cart_to_sphe_8 (37, 8) = 0.41132645565900572158d0
cart_to_sphe_8 (39, 8) = -1.2244504261724302874d0
cart_to_sphe_8 (41, 8) = 1.2134066792426887044d0
cart_to_sphe_8 ( 2, 9) = 0.42481613669916071115d0
cart_to_sphe_8 ( 7, 9) = 0.13758738481975177632d0
cart_to_sphe_8 ( 9, 9) = -1.4767427774562605828d0
cart_to_sphe_8 (16, 9) = -0.13758738481975177632d0
cart_to_sphe_8 (20, 9) = 1.8344984642633570176d0
cart_to_sphe_8 (29, 9) = -0.42481613669916071115d0
cart_to_sphe_8 (31, 9) = 1.4767427774562605828d0
cart_to_sphe_8 (33, 9) = -1.8344984642633570176d0
cart_to_sphe_8 ( 3,10) = -0.76584818175667166625d0
cart_to_sphe_8 ( 8,10) = 0.99833846339806020718d0
cart_to_sphe_8 (10,10) = 0.99215674164922147144d0
cart_to_sphe_8 (17,10) = 0.41339864235384227977d0
cart_to_sphe_8 (19,10) = -2.1650635094610966169d0
cart_to_sphe_8 (30,10) = -1.0620403417479017779d0
cart_to_sphe_8 (32,10) = 1.6535945694153691191d0
cart_to_sphe_8 ( 5,11) = -1.0620403417479017779d0
cart_to_sphe_8 (12,11) = 0.41339864235384227977d0
cart_to_sphe_8 (14,11) = 1.6535945694153691191d0
cart_to_sphe_8 (23,11) = 0.99833846339806020718d0
cart_to_sphe_8 (25,11) = -2.1650635094610966169d0
cart_to_sphe_8 (38,11) = -0.76584818175667166625d0
cart_to_sphe_8 (40,11) = 0.99215674164922147144d0
cart_to_sphe_8 ( 1,12) = -0.45768182862115030664d0
cart_to_sphe_8 ( 4,12) = 0.79475821795059156217d0
cart_to_sphe_8 ( 6,12) = 0.79475821795059156217d0
cart_to_sphe_8 (13,12) = -2.0752447144854989366d0
cart_to_sphe_8 (22,12) = -0.79475821795059156217d0
cart_to_sphe_8 (24,12) = 2.0752447144854989366d0
cart_to_sphe_8 (37,12) = 0.45768182862115030664d0
cart_to_sphe_8 (39,12) = -0.79475821795059156217d0
cart_to_sphe_8 ( 2,13) = -0.70903764004458888811d0
cart_to_sphe_8 ( 7,13) = 0.53582588123382020898d0
cart_to_sphe_8 ( 9,13) = 1.4377717134510610478d0
cart_to_sphe_8 (16,13) = 0.53582588123382020898d0
cart_to_sphe_8 (18,13) = -2.338535866733713366d0
cart_to_sphe_8 (29,13) = -0.70903764004458888811d0
cart_to_sphe_8 (31,13) = 1.4377717134510610478d0
cart_to_sphe_8 ( 3,14) = 0.64725984928774934788d0
cart_to_sphe_8 ( 8,14) = -1.96875d0
cart_to_sphe_8 (17,14) = 2.4456993503903949804d0
cart_to_sphe_8 (30,14) = -1.2566230789301937693d0
cart_to_sphe_8 ( 5,15) = 1.2566230789301937693d0
cart_to_sphe_8 (12,15) = -2.4456993503903949804d0
cart_to_sphe_8 (23,15) = 1.96875d0
cart_to_sphe_8 (38,15) = -0.64725984928774934788d0
cart_to_sphe_8 ( 1,16) = 0.626706654240043952d0
cart_to_sphe_8 ( 4,16) = -2.176535018670731151d0
cart_to_sphe_8 (11,16) = 3.2353561313826025233d0
cart_to_sphe_8 (22,16) = -2.176535018670731151d0
cart_to_sphe_8 (37,16) = 0.626706654240043952d0
cart_to_sphe_8 ( 2,17) = 1.2945196985754986958d0
cart_to_sphe_8 ( 7,17) = -2.9348392204684739765d0
cart_to_sphe_8 (16,17) = 2.9348392204684739765d0
cart_to_sphe_8 (29,17) = -1.2945196985754986958d0
END_PROVIDER
BEGIN_PROVIDER [ double precision, cart_to_sphe_9, (55,19) ]
implicit none
BEGIN_DOC
! Spherical -> Cartesian Transformation matrix for l=9
END_DOC
cart_to_sphe_9 = 0.d0
cart_to_sphe_9 ( 3, 1) = 0.59686501473785067702d0
cart_to_sphe_9 ( 8, 1) = 0.29612797475437320937d0
cart_to_sphe_9 (10, 1) = -1.7657660842403202261d0
cart_to_sphe_9 (17, 1) = 0.26411138361943717788d0
cart_to_sphe_9 (19, 1) = -0.92214126273187869253d0
cart_to_sphe_9 (21, 1) = 2.5354692827465969076d0
cart_to_sphe_9 (30, 1) = 0.29612797475437320937d0
cart_to_sphe_9 (32, 1) = -0.92214126273187869253d0
cart_to_sphe_9 (34, 1) = 1.4846187947947014119d0
cart_to_sphe_9 (36, 1) = -1.952374120367905548d0
cart_to_sphe_9 (47, 1) = 0.59686501473785067702d0
cart_to_sphe_9 (49, 1) = -1.7657660842403202261d0
cart_to_sphe_9 (51, 1) = 2.5354692827465969076d0
cart_to_sphe_9 (53, 1) = -1.952374120367905548d0
cart_to_sphe_9 (55, 1) = 1.0d0
cart_to_sphe_9 ( 1, 2) = 0.36685490255855924707d0
cart_to_sphe_9 ( 4, 2) = 0.15916400393009351387d0
cart_to_sphe_9 ( 6, 2) = -1.5916400393009351387d0
cart_to_sphe_9 (11, 2) = 0.11811420148091719529d0
cart_to_sphe_9 (13, 2) = -0.6916059470489090194d0
cart_to_sphe_9 (15, 2) = 3.1497120394911252077d0
cart_to_sphe_9 (22, 2) = 0.098709324918124403125d0
cart_to_sphe_9 (24, 2) = -0.51549263708149354579d0
cart_to_sphe_9 (26, 2) = 1.3746470322173161221d0
cart_to_sphe_9 (28, 2) = -3.1586983973799809d0
cart_to_sphe_9 (37, 2) = 0.088975383089683195547d0
cart_to_sphe_9 (39, 2) = -0.44144152106008005653d0
cart_to_sphe_9 (41, 2) = 1.0499040131637084026d0
cart_to_sphe_9 (43, 2) = -1.4126128673922561809d0
cart_to_sphe_9 (45, 2) = 1.62697843363992129d0
cart_to_sphe_9 ( 2, 3) = 0.088975383089683195547d0
cart_to_sphe_9 ( 7, 3) = 0.098709324918124403125d0
cart_to_sphe_9 ( 9, 3) = -0.44144152106008005653d0
cart_to_sphe_9 (16, 3) = 0.11811420148091719529d0
cart_to_sphe_9 (18, 3) = -0.51549263708149354579d0
cart_to_sphe_9 (20, 3) = 1.0499040131637084026d0
cart_to_sphe_9 (29, 3) = 0.15916400393009351387d0
cart_to_sphe_9 (31, 3) = -0.6916059470489090194d0
cart_to_sphe_9 (33, 3) = 1.3746470322173161221d0
cart_to_sphe_9 (35, 3) = -1.4126128673922561809d0
cart_to_sphe_9 (46, 3) = 0.36685490255855924707d0
cart_to_sphe_9 (48, 3) = -1.5916400393009351387d0
cart_to_sphe_9 (50, 3) = 3.1497120394911252077d0
cart_to_sphe_9 (52, 3) = -3.1586983973799809d0
cart_to_sphe_9 (54, 3) = 1.62697843363992129d0
cart_to_sphe_9 ( 3, 4) = -0.83466307816035426155d0
cart_to_sphe_9 ( 8, 4) = -0.2070544267420625878d0
cart_to_sphe_9 (10, 4) = 2.3149388661875113029d0
cart_to_sphe_9 (19, 4) = 0.40297913150666282783d0
cart_to_sphe_9 (21, 4) = -2.9546917977869539993d0
cart_to_sphe_9 (30, 4) = 0.2070544267420625878d0
cart_to_sphe_9 (32, 4) = -0.40297913150666282783d0
cart_to_sphe_9 (36, 4) = 1.7063893769835631924d0
cart_to_sphe_9 (47, 4) = 0.83466307816035426155d0
cart_to_sphe_9 (49, 4) = -2.3149388661875113029d0
cart_to_sphe_9 (51, 4) = 2.9546917977869539993d0
cart_to_sphe_9 (53, 4) = -1.7063893769835631924d0
cart_to_sphe_9 ( 5, 5) = -0.43101816018790287844d0
cart_to_sphe_9 (12, 5) = -0.4187881980957120927d0
cart_to_sphe_9 (14, 5) = 1.395960660319040309d0
cart_to_sphe_9 (23, 5) = -0.4187881980957120927d0
cart_to_sphe_9 (25, 5) = 1.3623181102386339839d0
cart_to_sphe_9 (27, 5) = -2.2335370565104644944d0
cart_to_sphe_9 (38, 5) = -0.43101816018790287844d0
cart_to_sphe_9 (40, 5) = 1.395960660319040309d0
cart_to_sphe_9 (42, 5) = -2.2335370565104644944d0
cart_to_sphe_9 (44, 5) = 1.9703687322875560157d0
cart_to_sphe_9 ( 1, 6) = -0.37548796377180986812d0
cart_to_sphe_9 ( 6, 6) = 1.4661859659554465543d0
cart_to_sphe_9 (11, 6) = 0.12089373945199884835d0
cart_to_sphe_9 (13, 6) = -0.21236437647040795145d0
cart_to_sphe_9 (15, 6) = -2.417874789039976967d0
cart_to_sphe_9 (22, 6) = 0.20206443016189559856d0
cart_to_sphe_9 (24, 6) = -0.79143530297864839268d0
cart_to_sphe_9 (26, 6) = 1.0552470706381978569d0
cart_to_sphe_9 (28, 6) = 1.6165154412951647885d0
cart_to_sphe_9 (37, 6) = 0.27320762396104757397d0
cart_to_sphe_9 (39, 6) = -1.2199404645272449631d0
cart_to_sphe_9 (41, 6) = 2.417874789039976967d0
cart_to_sphe_9 (43, 6) = -2.16878304804843549d0
cart_to_sphe_9 ( 2, 7) = -0.27320762396104757397d0
cart_to_sphe_9 ( 7, 7) = -0.20206443016189559856d0
cart_to_sphe_9 ( 9, 7) = 1.2199404645272449631d0
cart_to_sphe_9 (16, 7) = -0.12089373945199884835d0
cart_to_sphe_9 (18, 7) = 0.79143530297864839268d0
cart_to_sphe_9 (20, 7) = -2.417874789039976967d0
cart_to_sphe_9 (31, 7) = 0.21236437647040795145d0
cart_to_sphe_9 (33, 7) = -1.0552470706381978569d0
cart_to_sphe_9 (35, 7) = 2.16878304804843549d0
cart_to_sphe_9 (46, 7) = 0.37548796377180986812d0
cart_to_sphe_9 (48, 7) = -1.4661859659554465543d0
cart_to_sphe_9 (50, 7) = 2.417874789039976967d0
cart_to_sphe_9 (52, 7) = -1.6165154412951647885d0
cart_to_sphe_9 ( 3, 8) = 0.80430146722719804411d0
cart_to_sphe_9 ( 8, 8) = -0.39904527606894581113d0
cart_to_sphe_9 (10, 8) = -1.7845847267806657796d0
cart_to_sphe_9 (17, 8) = -0.59316922059788797031d0
cart_to_sphe_9 (19, 8) = 1.5532816304615888184d0
cart_to_sphe_9 (21, 8) = 1.4236061294349311288d0
cart_to_sphe_9 (30, 8) = -0.39904527606894581113d0
cart_to_sphe_9 (32, 8) = 1.5532816304615888184d0
cart_to_sphe_9 (34, 8) = -2.5007351860179508607d0
cart_to_sphe_9 (47, 8) = 0.80430146722719804411d0
cart_to_sphe_9 (49, 8) = -1.7845847267806657796d0
cart_to_sphe_9 (51, 8) = 1.4236061294349311288d0
cart_to_sphe_9 ( 5, 9) = 0.83067898344030094085d0
cart_to_sphe_9 (12, 9) = 0.26903627024228973454d0
cart_to_sphe_9 (14, 9) = -2.1522901619383178764d0
cart_to_sphe_9 (23, 9) = -0.26903627024228973454d0
cart_to_sphe_9 (27, 9) = 2.1522901619383178764d0
cart_to_sphe_9 (38, 9) = -0.83067898344030094085d0
cart_to_sphe_9 (40, 9) = 2.1522901619383178764d0
cart_to_sphe_9 (42, 9) = -2.1522901619383178764d0
cart_to_sphe_9 ( 1,10) = 0.39636409043643194293d0
cart_to_sphe_9 ( 4,10) = -0.34393377440500167929d0
cart_to_sphe_9 ( 6,10) = -1.2037682104175058775d0
cart_to_sphe_9 (11,10) = -0.29776858550677551679d0
cart_to_sphe_9 (13,10) = 1.5691988753163563388d0
cart_to_sphe_9 (15,10) = 1.1910743420271020672d0
cart_to_sphe_9 (24,10) = 0.64978432507844251538d0
cart_to_sphe_9 (26,10) = -2.5991373003137700615d0
cart_to_sphe_9 (37,10) = 0.48066206207978815025d0
cart_to_sphe_9 (39,10) = -1.6693261563207085231d0
cart_to_sphe_9 (41,10) = 1.9851239033785034453d0
cart_to_sphe_9 ( 2,11) = 0.48066206207978815025d0
cart_to_sphe_9 ( 9,11) = -1.6693261563207085231d0
cart_to_sphe_9 (16,11) = -0.29776858550677551679d0
cart_to_sphe_9 (18,11) = 0.64978432507844251538d0
cart_to_sphe_9 (20,11) = 1.9851239033785034453d0
cart_to_sphe_9 (29,11) = -0.34393377440500167929d0
cart_to_sphe_9 (31,11) = 1.5691988753163563388d0
cart_to_sphe_9 (33,11) = -2.5991373003137700615d0
cart_to_sphe_9 (46,11) = 0.39636409043643194293d0
cart_to_sphe_9 (48,11) = -1.2037682104175058775d0
cart_to_sphe_9 (50,11) = 1.1910743420271020672d0
cart_to_sphe_9 ( 3,12) = -0.74463846463549402274d0
cart_to_sphe_9 ( 8,12) = 1.2930544805637086353d0
cart_to_sphe_9 (10,12) = 0.96378590571704436469d0
cart_to_sphe_9 (19,12) = -2.5166038696554342464d0
cart_to_sphe_9 (30,12) = -1.2930544805637086353d0
cart_to_sphe_9 (32,12) = 2.5166038696554342464d0
cart_to_sphe_9 (47,12) = 0.74463846463549402274d0
cart_to_sphe_9 (49,12) = -0.96378590571704436469d0
cart_to_sphe_9 ( 5,13) = -1.1535889489914915606d0
cart_to_sphe_9 (12,13) = 0.87177715295353129935d0
cart_to_sphe_9 (14,13) = 1.7435543059070625987d0
cart_to_sphe_9 (23,13) = 0.87177715295353129935d0
cart_to_sphe_9 (25,13) = -2.8358912905407192076d0
cart_to_sphe_9 (38,13) = -1.1535889489914915606d0
cart_to_sphe_9 (40,13) = 1.7435543059070625987d0
cart_to_sphe_9 ( 1,14) = -0.44314852502786805507d0
cart_to_sphe_9 ( 4,14) = 0.96132412415957630049d0
cart_to_sphe_9 ( 6,14) = 0.76905929932766104039d0
cart_to_sphe_9 (11,14) = -0.33291539937855436029d0
cart_to_sphe_9 (13,14) = -2.3392235702823930554d0
cart_to_sphe_9 (22,14) = -0.83466307816035426155d0
cart_to_sphe_9 (24,14) = 2.9059238431784376645d0
cart_to_sphe_9 (37,14) = 0.75235513151094117345d0
cart_to_sphe_9 (39,14) = -1.4930907048606177933d0
cart_to_sphe_9 ( 2,15) = -0.75235513151094117345d0
cart_to_sphe_9 ( 7,15) = 0.83466307816035426155d0
cart_to_sphe_9 ( 9,15) = 1.4930907048606177933d0
cart_to_sphe_9 (16,15) = 0.33291539937855436029d0
cart_to_sphe_9 (18,15) = -2.9059238431784376645d0
cart_to_sphe_9 (29,15) = -0.96132412415957630049d0
cart_to_sphe_9 (31,15) = 2.3392235702823930554d0
cart_to_sphe_9 (46,15) = 0.44314852502786805507d0
cart_to_sphe_9 (48,15) = -0.76905929932766104039d0
cart_to_sphe_9 ( 3,16) = 0.626706654240043952d0
cart_to_sphe_9 ( 8,16) = -2.176535018670731151d0
cart_to_sphe_9 (17,16) = 3.2353561313826025233d0
cart_to_sphe_9 (30,16) = -2.176535018670731151d0
cart_to_sphe_9 (47,16) = 0.626706654240043952d0
cart_to_sphe_9 ( 5,17) = 1.2945196985754986958d0
cart_to_sphe_9 (12,17) = -2.9348392204684739765d0
cart_to_sphe_9 (23,17) = 2.9348392204684739765d0
cart_to_sphe_9 (38,17) = -1.2945196985754986958d0
cart_to_sphe_9 ( 1,18) = 0.60904939217552380708d0
cart_to_sphe_9 ( 4,18) = -2.3781845426185916576d0
cart_to_sphe_9 (11,18) = 4.1179360680974030877d0
cart_to_sphe_9 (22,18) = -3.4414040330583097636d0
cart_to_sphe_9 (37,18) = 1.3294455750836041652d0
cart_to_sphe_9 ( 2,19) = 1.3294455750836041652d0
cart_to_sphe_9 ( 7,19) = -3.4414040330583097636d0
cart_to_sphe_9 (16,19) = 4.1179360680974030877d0
cart_to_sphe_9 (29,19) = -2.3781845426185916576d0
cart_to_sphe_9 (46,19) = 0.60904939217552380708d0
END_PROVIDER

View File

@ -80,7 +80,7 @@ Documentation
Bitmask to include all possible single excitations from Hartree-Fock Bitmask to include all possible single excitations from Hartree-Fock
`core_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L350>`_ `core_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L344>`_
Reunion of the inactive, active and virtual bitmasks Reunion of the inactive, active and virtual bitmasks
@ -142,7 +142,7 @@ Documentation
Hartree Fock bit mask Hartree Fock bit mask
`i_bitmask_gen <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L364>`_ `i_bitmask_gen <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L358>`_
Current bitmask for the generators Current bitmask for the generators
@ -150,7 +150,7 @@ Documentation
Bitmasks for the inactive orbitals that are excited in post CAS method Bitmasks for the inactive orbitals that are excited in post CAS method
`inact_virt_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L338>`_ `inact_virt_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L332>`_
Reunion of the inactive and virtual bitmasks Reunion of the inactive and virtual bitmasks
@ -158,7 +158,7 @@ Documentation
Undocumented Undocumented
`list_inact <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L304>`_ `list_inact <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L298>`_
Undocumented Undocumented
@ -167,7 +167,7 @@ Documentation
occupations "list(N_int*bit_kind_size,2) occupations "list(N_int*bit_kind_size,2)
`list_virt <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L305>`_ `list_virt <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L299>`_
Undocumented Undocumented
@ -219,11 +219,11 @@ Documentation
Reference bit mask, used in Slater rules, chosen as Hartree-Fock bitmask Reference bit mask, used in Slater rules, chosen as Hartree-Fock bitmask
`reunion_of_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L325>`_ `reunion_of_bitmask <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L319>`_
Reunion of the inactive, active and virtual bitmasks Reunion of the inactive, active and virtual bitmasks
`unpaired_alpha_electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L373>`_ `unpaired_alpha_electrons <http://github.com/LCPQ/quantum_package/tree/master/src/Bitmask/bitmasks.irp.f#L367>`_
Bitmask reprenting the unpaired alpha electrons in the HF_bitmask Bitmask reprenting the unpaired alpha electrons in the HF_bitmask

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