From 58cd3f009d92d56c74078d4e0acad7e69e3cb690 Mon Sep 17 00:00:00 2001 From: Anthony Scemama Date: Thu, 3 Jun 2021 18:26:00 +0200 Subject: [PATCH] Added test data for ch3clbrf --- org/qmckl_ao.org | 101 +++++++++++-- org/qmckl_tests.org | 339 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 426 insertions(+), 14 deletions(-) diff --git a/org/qmckl_ao.org b/org/qmckl_ao.org index 06565aa..2e40ada 100644 --- a/org/qmckl_ao.org +++ b/org/qmckl_ao.org @@ -10,27 +10,30 @@ Gaussian ($p=2$): \[ R_s(\mathbf{r}) = \mathcal{N}_s |\mathbf{r}-\mathbf{R}_A|^{n_s} - \sum_{k=1}^{N_{\text{prim}}} a_{ks} + \sum_{k=1}^{N_{\text{prim}}} a_{ks}\, f_{ks} \exp \left( - \gamma_{ks} | \mathbf{r}-\mathbf{R}_A | ^p \right). \] In the case of Gaussian functions, $n_s$ is always zero. The normalization factor $\mathcal{N}_s$ ensures that all the functions -of the shell are normalized to unity. As this normalization requires -the ability to compute overlap integrals, it should be written in the -file to ensure that the file is self-contained and does not require -the client program to have the ability to compute such integrals. +of the shell are normalized to unity. Usually, basis sets are given +a combination of normalized primitives, so the normalization +coefficients of the primitives, $f_{ks}$, need also to be provided. Atomic orbitals (AOs) are defined as \[ -\chi_i (\mathbf{r}) = P_{\eta(i)}(\mathbf{r})\, R_{\theta(i)} (\mathbf{r}) +\chi_i (\mathbf{r}) = \mathcal{M}_i\, P_{\eta(i)}(\mathbf{r})\, R_{\theta(i)} (\mathbf{r}) \] where $\theta(i)$ returns the shell on which the AO is expanded, and $\eta(i)$ denotes which angular function is chosen. +Here, the parameter $\mathcal{M}_i$ is an extra parameter which allows +the normalization of the different functions of the same shell to be +different, as in GAMESS for example. -In this section we describe the kernels used to compute the values, +In this section we describe first how the basis set is stored in the +context, and then we present the kernels used to compute the values, gradients and Laplacian of the atomic basis functions. * Headers :noexport: @@ -125,16 +128,23 @@ type = 'G' shell_num = 12 prim_num = 20 shell_center = [1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2] -shell_ang_mom = ['S', 'S', 'S', 'P', 'P', 'D', 'S', 'S', 'S', 'P', 'P', 'D'] +shell_ang_mom = [0, 0, 0, 1, 1, 2, 0, 0, 0, 1, 1, 2] shell_factor = [ 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.] shell_prim_num = [5, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1] shell_prim_index = [1, 6, 7, 8, 9, 10, 11, 16, 17, 18, 19, 20] -exponent = [ 33.87, 5.095, 1.159, 0.3258, 0.1027, 0.3258, 0.1027, - 1.407, 0.388, 1.057, 33.87, 5.095, 1.159, 0.3258, 0.1027, - 0.3258, 0.1027, 1.407, 0.388, 1.057] -coefficient = [ 0.006068, 0.045308, 0.202822, 0.503903, 0.383421, - 1.0, 1.0, 1.0, 1.0, 1.0, 0.006068, 0.045308, 0.202822, - 0.503903, 0.383421, 1.0, 1.0, 1.0, 1.0, 1.0] +exponent = [ 33.87, 5.095, 1.159, 0.3258, 0.1027, 0.3258, 0.1027, 1.407, + 0.388, 1.057, 33.87, 5.095, 1.159, 0.3258, 0.1027, 0.3258, 0.1027, 1.407, + 0.388, 1.057] +coefficient = [ 0.006068, 0.045308, 0.202822, 0.503903, 0.383421, 1.0, 1.0, + 1.0, 1.0, 1.0, 0.006068, 0.045308, 0.202822, 0.503903, 0.383421, 1.0, 1.0, + 1.0, 1.0, 1.0] +prim_factor = [ 1.0006253235944540e+01, 2.4169531573445120e+00, 7.9610924849766440e-01 + 3.0734305383061117e-01, 1.2929684417481876e-01, 3.0734305383061117e-01, + 1.2929684417481876e-01, 2.1842769845268308e+00, 4.3649547399719840e-01, + 1.8135965626177861e+00, 1.0006253235944540e+01, 2.4169531573445120e+00, + 7.9610924849766440e-01, 3.0734305383061117e-01, 1.2929684417481876e-01, + 3.0734305383061117e-01, 1.2929684417481876e-01, 2.1842769845268308e+00, + 4.3649547399719840e-01, 1.8135965626177861e+00 ] #+END_EXAMPLE ** Data structure @@ -151,6 +161,7 @@ typedef struct qmckl_ao_basis_struct { double * shell_factor; double * exponent ; double * coefficient ; + double * prim_factor ; bool provided; char type; } qmckl_ao_basis_struct; @@ -174,6 +185,7 @@ int64_t* qmckl_get_ao_basis_shell_prim_index (const qmckl_context context); double* qmckl_get_ao_basis_shell_factor (const qmckl_context context); double* qmckl_get_ao_basis_exponent (const qmckl_context context); double* qmckl_get_ao_basis_coefficient (const qmckl_context context); +double* qmckl_get_ao_basis_prim_factor (const qmckl_context context); #+end_src When all the data for the AOs have been provided, the following @@ -383,6 +395,25 @@ double* qmckl_get_ao_basis_coefficient (const qmckl_context context) { } +double* qmckl_get_ao_basis_prim_factor (const qmckl_context context) { + if (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) { + return NULL; + } + + qmckl_context_struct* const ctx = (qmckl_context_struct* const) context; + assert (ctx != NULL); + + int32_t mask = 1 << 8; + + if ( (ctx->ao_basis.uninitialized & mask) != 0) { + return NULL; + } + + assert (ctx->ao_basis.prim_factor != NULL); + return ctx->ao_basis.prim_factor; +} + + bool qmckl_ao_basis_provided(const qmckl_context context) { if (qmckl_context_check(context) == QMCKL_NULL_CONTEXT) { @@ -412,6 +443,7 @@ qmckl_exit_code qmckl_set_ao_basis_shell_prim_num (qmckl_context context, con qmckl_exit_code qmckl_set_ao_basis_shell_factor (qmckl_context context, const double * shell_factor); qmckl_exit_code qmckl_set_ao_basis_exponent (qmckl_context context, const double * exponent); qmckl_exit_code qmckl_set_ao_basis_coefficient (qmckl_context context, const double * coefficient); +qmckl_exit_code qmckl_set_ao_basis_prim_factor (qmckl_context context, const double * prim_factor); #+end_src #+NAME:pre2 @@ -789,6 +821,47 @@ qmckl_exit_code qmckl_set_ao_basis_coefficient(qmckl_context context, const dou <> } +qmckl_exit_code qmckl_set_ao_basis_prim_factor(qmckl_context context, const double* prim_factor) { + <> + + int32_t mask = 1 << 7; + + const int64_t prim_num = qmckl_get_ao_basis_prim_num(context); + if (prim_num == 0L) { + return qmckl_failwith( context, + QMCKL_FAILURE, + "qmckl_set_ao_basis_prim_factor", + "prim_num is not set"); + } + + + if (ctx->ao_basis.prim_factor != NULL) { + qmckl_exit_code rc = qmckl_free(context, ctx->ao_basis.prim_factor); + if (rc != QMCKL_SUCCESS) { + return qmckl_failwith( context, rc, + "qmckl_set_ao_basis_prim_factor", + NULL); + } + } + + qmckl_memory_info_struct mem_info = qmckl_memory_info_struct_zero; + mem_info.size = prim_num * sizeof(double); + double* new_array = (double*) qmckl_malloc(context, mem_info); + + if (new_array == NULL) { + return qmckl_failwith( context, + QMCKL_ALLOCATION_FAILED, + "qmckl_set_ao_basis_prim_factor", + NULL); + } + + memcpy(new_array, prim_factor, mem_info.size); + + ctx->ao_basis.prim_factor = new_array; + + <> +} + #+end_src ** TODO Fortran interfaces diff --git a/org/qmckl_tests.org b/org/qmckl_tests.org index 77eedd4..304c9e4 100644 --- a/org/qmckl_tests.org +++ b/org/qmckl_tests.org @@ -523,6 +523,345 @@ F 1 #+END_example +#+begin_src c :tangle ../tests/chbrclf.h +#define chbrclf_shell_num 72 +#define chbrclf_prim_num 297 + +chbrclf_basis_shell_center[chbrclf_shell_num] = + {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}; + +chbrclf_basis_shell_ang_mom[chbrclf_shell_num] = + {0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 0, 0, 0, 0, 1, 1, 1, 2, 2, 0, + 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 3, 3, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, + 2, 2, 2, 3, 3, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3}; + +chbrclf_basis_shell_prim_index[chbrclf_shell_num] = + {1, 11, 21, 22, 23, 24, 29, 30, 31, 32, 33, 34, 35, 36, 37, 42, 43, 44, 45, + 46, 47, 48, 49, 50, 60, 70, 71, 72, 73, 78, 79, 80, 81, 82, 83, 84, 85, 86, + 101, 116, 131, 132, 133, 134, 143, 152, 153, 154, 155, 156, 157, 158, 159, + 160, 180, 200, 220, 240, 241, 242, 243, 256, 269, 282, 283, 284, 285, 293, + 294, 295, 296, 297}; + +chbrclf_basis_shell_prim_num[chbrclf_shell_num] = + {10, 10, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 10, + 10, 1, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 15, 15, 15, 1, 1, 1, 9, 9, 1, 1, 1, + 1, 1, 1, 1, 1, 20, 20, 20, 20, 1, 1, 1, 13, 13, 13, 1, 1, 1, 8, 1, 1, 1, 1, + 1}; + +chbrclf_basis_shell_factor[chbrclf_shell_num] = + {1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., + 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., + 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., + 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.}; + +chbrclf_basis_exponent[chbrclf_prim_num] = + {8.2360000000000000e+03, 1.2350000000000000e+03, 2.8080000000000001e+02, + 7.9269999999999996e+01, 2.5590000000000000e+01, 8.9969999999999999e+00, + 3.3190000000000000e+00, 9.0590000000000004e-01, 3.6430000000000001e-01, + 1.2850000000000000e-01, 8.2360000000000000e+03, 1.2350000000000000e+03, + 2.8080000000000001e+02, 7.9269999999999996e+01, 2.5590000000000000e+01, + 8.9969999999999999e+00, 3.3190000000000000e+00, 9.0590000000000004e-01, + 3.6430000000000001e-01, 1.2850000000000000e-01, 9.0590000000000004e-01, + 1.2850000000000000e-01, 4.4019999999999997e-02, 1.8710000000000001e+01, + 4.1330000000000000e+00, 1.2000000000000000e+00, 3.8269999999999998e-01, + 1.2089999999999999e-01, 3.8269999999999998e-01, 1.2089999999999999e-01, + 3.5690000000000000e-02, 1.0970000000000000e+00, 3.1800000000000000e-01, + 1.0000000000000001e-01, 7.6100000000000001e-01, 2.6800000000000002e-01, + 3.3869999999999997e+01, 5.0949999999999998e+00, 1.1590000000000000e+00, + 3.2579999999999998e-01, 1.0270000000000000e-01, 3.2579999999999998e-01, + 1.0270000000000000e-01, 2.5260000000000001e-02, 1.4070000000000000e+00, + 3.8800000000000001e-01, 1.0199999999999999e-01, 1.0569999999999999e+00, + 2.4700000000000000e-01, 1.9500000000000000e+04, 2.9230000000000000e+03, + 6.6450000000000000e+02, 1.8750000000000000e+02, 6.0619999999999997e+01, + 2.1420000000000002e+01, 7.9500000000000002e+00, 2.2570000000000001e+00, + 8.8149999999999995e-01, 3.0409999999999998e-01, 1.9500000000000000e+04, + 2.9230000000000000e+03, 6.6450000000000000e+02, 1.8750000000000000e+02, + 6.0619999999999997e+01, 2.1420000000000002e+01, 7.9500000000000002e+00, + 2.2570000000000001e+00, 8.8149999999999995e-01, 3.0409999999999998e-01, + 2.2570000000000001e+00, 3.0409999999999998e-01, 9.1579999999999995e-02, + 4.3880000000000003e+01, 9.9260000000000002e+00, 2.9300000000000002e+00, + 9.1320000000000001e-01, 2.6719999999999999e-01, 9.1320000000000001e-01, + 2.6719999999999999e-01, 7.3609999999999995e-02, 3.1070000000000002e+00, + 8.5499999999999998e-01, 2.9199999999999998e-01, 1.9170000000000000e+00, + 7.2399999999999998e-01, 4.5610000000000000e+05, 6.8330000000000000e+04, + 1.5550000000000000e+04, 4.4050000000000000e+03, 1.4390000000000000e+03, + 5.2039999999999998e+02, 2.0309999999999999e+02, 8.3959999999999994e+01, + 3.6200000000000003e+01, 1.5830000000000000e+01, 6.3339999999999996e+00, + 2.6940000000000000e+00, 9.7680000000000000e-01, 4.3130000000000002e-01, + 1.6250000000000001e-01, 4.5610000000000000e+05, 6.8330000000000000e+04, + 1.5550000000000000e+04, 4.4050000000000000e+03, 1.4390000000000000e+03, + 5.2039999999999998e+02, 2.0309999999999999e+02, 8.3959999999999994e+01, + 3.6200000000000003e+01, 1.5830000000000000e+01, 6.3339999999999996e+00, + 2.6940000000000000e+00, 9.7680000000000000e-01, 4.3130000000000002e-01, + 1.6250000000000001e-01, 4.5610000000000000e+05, 6.8330000000000000e+04, + 1.5550000000000000e+04, 4.4050000000000000e+03, 1.4390000000000000e+03, + 5.2039999999999998e+02, 2.0309999999999999e+02, 8.3959999999999994e+01, + 3.6200000000000003e+01, 1.5830000000000000e+01, 6.3339999999999996e+00, + 2.6940000000000000e+00, 9.7680000000000000e-01, 4.3130000000000002e-01, + 1.6250000000000001e-01, 9.7680000000000000e-01, 1.6250000000000001e-01, + 5.9100000000000000e-02, 6.6329999999999995e+02, 1.5680000000000001e+02, + 4.9979999999999997e+01, 1.8420000000000002e+01, 7.2400000000000002e+00, + 2.9220000000000002e+00, 1.0220000000000000e+00, 3.8179999999999997e-01, + 1.3009999999999999e-01, 6.6329999999999995e+02, 1.5680000000000001e+02, + 4.9979999999999997e+01, 1.8420000000000002e+01, 7.2400000000000002e+00, + 2.9220000000000002e+00, 1.0220000000000000e+00, 3.8179999999999997e-01, + 1.3009999999999999e-01, 1.0220000000000000e+00, 1.3009999999999999e-01, + 4.1900000000000000e-02, 1.0460000000000000e+00, 3.4399999999999997e-01, + 1.3500000000000001e-01, 7.0599999999999996e-01, 3.1200000000000000e-01, + 1.0639000000000000e+07, 1.5934000000000000e+06, 3.6261000000000000e+05, + 1.0270000000000000e+05, 3.3501000000000000e+04, 1.2093000000000000e+04, + 4.7158999999999996e+03, 1.9555999999999999e+03, 8.5261000000000001e+02, + 3.8767000000000002e+02, 1.8268000000000001e+02, 8.8245000000000005e+01, + 3.9262999999999998e+01, 1.9234000000000002e+01, 9.4056999999999995e+00, + 4.1600999999999999e+00, 1.8995000000000000e+00, 6.0472000000000004e-01, + 3.0114000000000002e-01, 1.2515000000000001e-01, 1.0639000000000000e+07, + 1.5934000000000000e+06, 3.6261000000000000e+05, 1.0270000000000000e+05, + 3.3501000000000000e+04, 1.2093000000000000e+04, 4.7158999999999996e+03, + 1.9555999999999999e+03, 8.5261000000000001e+02, 3.8767000000000002e+02, + 1.8268000000000001e+02, 8.8245000000000005e+01, 3.9262999999999998e+01, + 1.9234000000000002e+01, 9.4056999999999995e+00, 4.1600999999999999e+00, + 1.8995000000000000e+00, 6.0472000000000004e-01, 3.0114000000000002e-01, + 1.2515000000000001e-01, 1.0639000000000000e+07, 1.5934000000000000e+06, + 3.6261000000000000e+05, 1.0270000000000000e+05, 3.3501000000000000e+04, + 1.2093000000000000e+04, 4.7158999999999996e+03, 1.9555999999999999e+03, + 8.5261000000000001e+02, 3.8767000000000002e+02, 1.8268000000000001e+02, + 8.8245000000000005e+01, 3.9262999999999998e+01, 1.9234000000000002e+01, + 9.4056999999999995e+00, 4.1600999999999999e+00, 1.8995000000000000e+00, + 6.0472000000000004e-01, 3.0114000000000002e-01, 1.2515000000000001e-01, + 1.0639000000000000e+07, 1.5934000000000000e+06, 3.6261000000000000e+05, + 1.0270000000000000e+05, 3.3501000000000000e+04, 1.2093000000000000e+04, + 4.7158999999999996e+03, 1.9555999999999999e+03, 8.5261000000000001e+02, + 3.8767000000000002e+02, 1.8268000000000001e+02, 8.8245000000000005e+01, + 3.9262999999999998e+01, 1.9234000000000002e+01, 9.4056999999999995e+00, + 4.1600999999999999e+00, 1.8995000000000000e+00, 6.0472000000000004e-01, + 3.0114000000000002e-01, 1.2515000000000001e-01, 6.0472000000000004e-01, + 1.2515000000000001e-01, 4.5593000000000002e-02, 8.6765000000000000e+03, + 2.0559000000000001e+03, 6.6623000000000002e+02, 2.5309999999999999e+02, + 1.0612000000000000e+02, 4.7241999999999997e+01, 2.1824999999999999e+01, + 9.9684000000000008e+00, 4.5171000000000001e+00, 1.9982000000000000e+00, + 7.0987999999999996e-01, 2.8144999999999998e-01, 1.0204000000000001e-01, + 8.6765000000000000e+03, 2.0559000000000001e+03, 6.6623000000000002e+02, + 2.5309999999999999e+02, 1.0612000000000000e+02, 4.7241999999999997e+01, + 2.1824999999999999e+01, 9.9684000000000008e+00, 4.5171000000000001e+00, + 1.9982000000000000e+00, 7.0987999999999996e-01, 2.8144999999999998e-01, + 1.0204000000000001e-01, 8.6765000000000000e+03, 2.0559000000000001e+03, + 6.6623000000000002e+02, 2.5309999999999999e+02, 1.0612000000000000e+02, + 4.7241999999999997e+01, 2.1824999999999999e+01, 9.9684000000000008e+00, + 4.5171000000000001e+00, 1.9982000000000000e+00, 7.0987999999999996e-01, + 2.8144999999999998e-01, 1.0204000000000001e-01, 7.0987999999999996e-01, + 1.0204000000000001e-01, 3.5142000000000000e-02, 4.0382999999999998e+02, + 1.2117000000000000e+02, 4.6344999999999999e+01, 1.9721000000000000e+01, + 8.8623999999999992e+00, 3.9962000000000000e+00, 1.7636000000000001e+00, + 7.0618999999999998e-01, 7.0618999999999998e-01, 2.6390000000000002e-01, + 1.0470000000000000e-01, 5.5149999999999999e-01, 2.5800000000000001e-01}; + +chbrclf_basis_coefficient[chbrclf_prim_num] = + {5.3100000000000000e-04, 4.1079999999999997e-03, 2.1087000000000002e-02, + 8.1852999999999995e-02, 2.3481700000000000e-01, 4.3440099999999998e-01, + 3.4612900000000002e-01, 3.9378000000000003e-02, -8.9829999999999997e-03, + 2.3850000000000000e-03, -1.1300000000000000e-04, -8.7799999999999998e-04, + -4.5399999999999998e-03, -1.8133000000000000e-02, -5.5759999999999997e-02, + -1.2689500000000001e-01, -1.7035200000000000e-01, 1.4038200000000001e-01, + 5.9868399999999999e-01, 3.9538899999999999e-01, 1.0000000000000000e+00, + 1.0000000000000000e+00, 1.0000000000000000e+00, 1.4031000000000000e-02, + 8.6865999999999999e-02, 2.9021599999999997e-01, 5.0100800000000001e-01, + 3.4340599999999999e-01, 1.0000000000000000e+00, 1.0000000000000000e+00, + 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, + 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, + 6.0679999999999996e-03, 4.5308000000000001e-02, 2.0282200000000000e-01, + 5.0390299999999999e-01, 3.8342100000000001e-01, 1.0000000000000000e+00, + 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, + 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, + 1.0000000000000000e+00, 5.0699999999999996e-04, 3.9230000000000003e-03, + 2.0199999999999999e-02, 7.9009999999999997e-02, 2.3043900000000000e-01, + 4.3287199999999998e-01, 3.4996400000000000e-01, 4.3233000000000001e-02, + -7.8919999999999997e-03, 2.3839999999999998e-03, -1.1700000000000000e-04, + -9.1200000000000005e-04, -4.7169999999999998e-03, -1.9085999999999999e-02, + -5.9655000000000000e-02, -1.4001000000000000e-01, -1.7678199999999999e-01, + 1.7162500000000000e-01, 6.0504300000000000e-01, 3.6951200000000001e-01, + 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, + 1.6664999999999999e-02, 1.0447200000000000e-01, 3.1725999999999999e-01, + 4.8734300000000003e-01, 3.3460400000000001e-01, 1.0000000000000000e+00, + 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, + 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, + 1.0000000000000000e+00, 4.9296999999999999e-05, 3.8302900000000001e-04, + 2.0085400000000001e-03, 8.3855800000000001e-03, 2.9470300000000001e-02, + 8.7832499999999994e-02, 2.1147299999999999e-01, 3.6536400000000002e-01, + 3.4088400000000002e-01, 1.0213300000000000e-01, 3.1167500000000002e-03, + 1.0575100000000000e-03, -3.7800000000000003e-04, 1.5613600000000000e-04, + -5.1412600000000003e-05, -1.3830400000000001e-05, -1.0727900000000000e-04, + -5.6508299999999997e-04, -2.3613499999999999e-03, -8.4588600000000003e-03, + -2.5963799999999999e-02, -6.8636199999999994e-02, -1.4187400000000000e-01, + -1.9931900000000000e-01, -1.9566199999999999e-02, 4.9974099999999999e-01, + 5.6373600000000001e-01, 7.9032500000000006e-02, -8.3509099999999996e-03, + 2.3245599999999998e-03, 4.1854599999999997e-06, 3.2439500000000000e-05, + 1.7110500000000001e-04, 7.1417599999999996e-04, 2.5670500000000000e-03, + 7.8855200000000000e-03, 2.1086700000000000e-02, 4.4226399999999999e-02, + 6.5167000000000003e-02, 6.0301199999999999e-03, -2.0649500000000001e-01, + -4.0587099999999998e-01, 7.5955800000000004e-02, 7.2566100000000000e-01, + 3.9442300000000002e-01, 1.0000000000000000e+00, 1.0000000000000000e+00, + 1.0000000000000000e+00, 2.4044800000000001e-03, 1.9214800000000001e-02, + 8.8509699999999997e-02, 2.5602000000000003e-01, 4.3692700000000001e-01, + 3.5033399999999998e-01, 5.8549499999999997e-02, -4.5842299999999999e-03, + 2.2696999999999999e-03, -6.5214500000000003e-04, -5.1944499999999998e-03, + -2.4693799999999998e-02, -7.2816699999999998e-02, -1.3403000000000001e-01, + -9.4774200000000003e-02, 2.6228899999999999e-01, 5.6466700000000003e-01, + 3.4125000000000000e-01, 1.0000000000000000e+00, 1.0000000000000000e+00, + 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, + 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00, + 5.9000000000000003e-06, 4.6100000000000002e-05, 2.4220000000000001e-04, + 1.0226000000000000e-03, 3.7112999999999998e-03, 1.1978500000000000e-02, + 3.4692700000000000e-02, 8.9123900000000006e-02, 1.9345570000000001e-01, + 3.2090190000000002e-01, 3.2992329999999997e-01, 1.4941209999999999e-01, + 1.4993800000000000e-02, -9.1650000000000000e-04, 4.3800000000000002e-04, + -2.3980000000000000e-04, 7.3600000000000000e-05, -3.6699999999999998e-05, + 2.3900000000000002e-05, -5.5999999999999997e-06, -1.9000000000000000e-06, + -1.4500000000000000e-05, -7.6100000000000007e-05, -3.2100000000000000e-04, + -1.1708999999999999e-03, -3.7967999999999999e-03, -1.1230700000000000e-02, + -2.9927700000000002e-02, -7.1270600000000003e-02, -1.4031360000000001e-01, + -2.0307629999999999e-01, -9.6098500000000003e-02, 3.5580859999999997e-01, + 5.9217920000000002e-01, 2.2159770000000001e-01, 1.3764800000000001e-02, + 8.3949999999999997e-04, -4.5099999999999998e-05, -8.4999999999999999e-06, + -1.2400000000000000e-05, 6.9999999999999997e-07, 5.6999999999999996e-06, + 3.0300000000000001e-05, 1.2750000000000001e-04, 4.6589999999999999e-04, + 1.5096000000000000e-03, 4.4852000000000000e-03, 1.1983499999999999e-02, + 2.8957100000000000e-02, 5.8156600000000003e-02, 8.8813299999999998e-02, + 4.4524399999999999e-02, -2.0603869999999999e-01, -5.1270170000000004e-01, + -1.5093490000000001e-01, 6.7892030000000003e-01, 5.8176969999999995e-01, + 4.6755499999999998e-02, -1.1182500000000000e-02, 2.4402000000000000e-03, + -1.9999999999999999e-07, -1.7999999999999999e-06, -9.3000000000000007e-06, + -3.9100000000000002e-05, -1.4280000000000000e-04, -4.6279999999999997e-04, + -1.3749999999999999e-03, -3.6784000000000001e-03, -8.8981000000000008e-03, + -1.7952900000000001e-02, -2.7573199999999999e-02, -1.4095300000000000e-02, + 6.7256099999999999e-02, 1.7669280000000001e-01, 5.2886099999999998e-02, + -3.0759550000000002e-01, -4.7006579999999998e-01, 2.5587610000000000e-01, + 6.9803409999999999e-01, 2.9672559999999998e-01, 1.0000000000000000e+00, + 1.0000000000000000e+00, 1.0000000000000000e+00, 4.3570000000000002e-04, + 3.7815000000000001e-03, 2.0478199999999998e-02, 7.9283400000000004e-02, + 2.1784729999999999e-01, 3.8785849999999999e-01, 3.5943500000000000e-01, + 1.1219949999999999e-01, 4.3873999999999996e-03, 1.7809000000000000e-03, + -4.5760000000000001e-04, 2.1220000000000001e-04, -7.3399999999999995e-05, + -1.7479999999999999e-04, -1.5263000000000000e-03, -8.3399000000000008e-03, + -3.3220300000000001e-02, -9.5418000000000003e-02, -1.8240260000000000e-01, + -1.5583079999999999e-01, 1.8678990000000001e-01, 5.4277330000000001e-01, + 3.8733089999999998e-01, 4.5306899999999997e-02, -4.3784000000000002e-03, + 1.8110999999999999e-03, 4.5099999999999998e-05, 3.9639999999999999e-04, + 2.1554999999999999e-03, 8.6719999999999992e-03, 2.4868000000000001e-02, + 4.8547199999999999e-02, 3.9615600000000001e-02, -6.0574900000000001e-02, + -1.8716990000000000e-01, -1.3777570000000000e-01, 2.9280210000000001e-01, + 5.7608959999999998e-01, 3.0786170000000002e-01, 1.0000000000000000e+00, + 1.0000000000000000e+00, 1.0000000000000000e+00, 1.4732000000000000e-03, + 1.2672500000000000e-02, 5.8045100000000002e-02, 1.7051030000000000e-01, + 3.1859579999999998e-01, 3.8450230000000002e-01, 2.7377370000000001e-01, + 7.4396699999999996e-02, 1.0000000000000000e+00, 1.0000000000000000e+00, + 1.0000000000000000e+00, 1.0000000000000000e+00, 1.0000000000000000e+00}; + +chbrclf_basis_prim_factor[chbrclf_prim_num] = + {6.1616545431994848e+02, 1.4847738511079908e+02, 4.8888635917437597e+01, + 1.8933972232608955e+01, 8.1089160941724145e+00, 3.7024003863155635e+00, + 1.7525302846177560e+00, 6.6179013183966806e-01, 3.3419848027174592e-01, + 1.5296336817449557e-01, 6.1616545431994848e+02, 1.4847738511079908e+02, + 4.8888635917437597e+01, 1.8933972232608955e+01, 8.1089160941724145e+00, + 3.7024003863155635e+00, 1.7525302846177560e+00, 6.6179013183966806e-01, + 3.3419848027174592e-01, 1.5296336817449557e-01, 6.6179013183966806e-01, + 1.5296336817449557e-01, 6.8493225861981921e-02, 5.5466699238441954e+01, + 8.3998560685400019e+00, 1.7902622143452276e+00, 4.2905519588435126e-01, + 1.0161854305479753e-01, 4.2905519588435126e-01, 1.0161854305479753e-01, + 2.2111758010684022e-02, 1.9354014159719681e+00, 2.2164447815916102e-01, + 2.9269105913429974e-02, 7.9628755341813429e-01, 7.6077763383300537e-02, + 1.0006253235944540e+01, 2.4169531573445120e+00, 7.9610924849766440e-01, + 3.0734305383061117e-01, 1.2929684417481876e-01, 3.0734305383061117e-01, + 1.2929684417481876e-01, 4.5158041868216925e-02, 2.1842769845268308e+00, + 4.3649547399719840e-01, 8.2165651391863506e-02, 1.8135965626177861e+00, + 1.4243906834168285e-01, 1.1760777961352585e+03, 2.8332291650568584e+02, + 9.3278452222064189e+01, 3.6112790320330610e+01, 1.5483603491420400e+01, + 7.0961811262237955e+00, 3.3743135718917610e+00, 1.3123774561862465e+00, + 6.4837584903810197e-01, 2.9185854115641796e-01, 1.1760777961352585e+03, + 2.8332291650568584e+02, 9.3278452222064189e+01, 3.6112790320330610e+01, + 1.5483603491420400e+01, 7.0961811262237955e+00, 3.3743135718917610e+00, + 1.3123774561862465e+00, 6.4837584903810197e-01, 2.9185854115641796e-01, + 1.3123774561862465e+00, 2.9185854115641796e-01, 1.1864804090515012e-01, + 1.6098053319659394e+02, 2.5113539500925100e+01, 5.4641751683240054e+00, + 1.2724697488890255e+00, 2.7383291850797253e-01, 1.2724697488890255e+00, + 2.7383291850797253e-01, 5.4652635549581594e-02, 1.1967588544907814e+01, + 1.2512674783228661e+00, 1.9091033786232964e-01, 6.3658177914201666e+00, + 7.1181350527019893e-01, 1.2508497509090121e+04, 3.0120949486045815e+03, + 9.9244828879919498e+02, 3.8536256746518035e+02, 1.6651589181438584e+02, + 7.7653861740552273e+01, 3.8343569039456206e+01, 1.9768076572700657e+01, + 1.0518202315565855e+01, 5.6561481770276556e+00, 2.8455658258813377e+00, + 1.4986778401686554e+00, 7.0026807980299932e-01, 3.7931034358525295e-01, + 1.8241061862759339e-01, 1.2508497509090121e+04, 3.0120949486045815e+03, + 9.9244828879919498e+02, 3.8536256746518035e+02, 1.6651589181438584e+02, + 7.7653861740552273e+01, 3.8343569039456206e+01, 1.9768076572700657e+01, + 1.0518202315565855e+01, 5.6561481770276556e+00, 2.8455658258813377e+00, + 1.4986778401686554e+00, 7.0026807980299932e-01, 3.7931034358525295e-01, + 1.8241061862759339e-01, 1.2508497509090121e+04, 3.0120949486045815e+03, + 9.9244828879919498e+02, 3.8536256746518035e+02, 1.6651589181438584e+02, + 7.7653861740552273e+01, 3.8343569039456206e+01, 1.9768076572700657e+01, + 1.0518202315565855e+01, 5.6561481770276556e+00, 2.8455658258813377e+00, + 1.4986778401686554e+00, 7.0026807980299932e-01, 3.7931034358525295e-01, + 1.8241061862759339e-01, 7.0026807980299932e-01, 1.8241061862759339e-01, + 8.5428091252337218e-02, 4.7981915824835833e+03, 7.9090197643220097e+02, + 1.8942417420993877e+02, 5.4394140688380837e+01, 1.6928298001679121e+01, + 5.4455324755334713e+00, 1.4647169510384077e+00, 4.2779429930932966e-01, + 1.1137474138247395e-01, 4.7981915824835833e+03, 7.9090197643220097e+02, + 1.8942417420993877e+02, 5.4394140688380837e+01, 1.6928298001679121e+01, + 5.4455324755334713e+00, 1.4647169510384077e+00, 4.2779429930932966e-01, + 1.1137474138247395e-01, 1.4647169510384077e+00, 1.1137474138247395e-01, + 2.7021385701525968e-02, 1.7806964960637739e+00, 2.5432363995130330e-01, + 4.9487276238674341e-02, 6.7261264398159915e-01, 1.0710316041250582e-01, + 1.3276564169936487e+05, 3.1963453883259335e+04, 1.0531492549479324e+04, + 4.0887252186430137e+03, 1.7648322054568350e+03, 8.2188420053589937e+02, + 4.0558653897685440e+02, 2.0958978573126603e+02, 1.1245348234327012e+02, + 6.2266827352587455e+01, 3.5414274108483511e+01, 2.0520014948183928e+01, + 1.1178864762092555e+01, 6.5457935075374944e+00, 3.8278369835025656e+00, + 2.0760505305870112e+00, 1.1531599898261422e+00, 4.8873770086696849e-01, + 2.8972530369835303e-01, 1.4996269365355971e-01, 1.3276564169936487e+05, + 3.1963453883259335e+04, 1.0531492549479324e+04, 4.0887252186430137e+03, + 1.7648322054568350e+03, 8.2188420053589937e+02, 4.0558653897685440e+02, + 2.0958978573126603e+02, 1.1245348234327012e+02, 6.2266827352587455e+01, + 3.5414274108483511e+01, 2.0520014948183928e+01, 1.1178864762092555e+01, + 6.5457935075374944e+00, 3.8278369835025656e+00, 2.0760505305870112e+00, + 1.1531599898261422e+00, 4.8873770086696849e-01, 2.8972530369835303e-01, + 1.4996269365355971e-01, 1.3276564169936487e+05, 3.1963453883259335e+04, + 1.0531492549479324e+04, 4.0887252186430137e+03, 1.7648322054568350e+03, + 8.2188420053589937e+02, 4.0558653897685440e+02, 2.0958978573126603e+02, + 1.1245348234327012e+02, 6.2266827352587455e+01, 3.5414274108483511e+01, + 2.0520014948183928e+01, 1.1178864762092555e+01, 6.5457935075374944e+00, + 3.8278369835025656e+00, 2.0760505305870112e+00, 1.1531599898261422e+00, + 4.8873770086696849e-01, 2.8972530369835303e-01, 1.4996269365355971e-01, + 1.3276564169936487e+05, 3.1963453883259335e+04, 1.0531492549479324e+04, + 4.0887252186430137e+03, 1.7648322054568350e+03, 8.2188420053589937e+02, + 4.0558653897685440e+02, 2.0958978573126603e+02, 1.1245348234327012e+02, + 6.2266827352587455e+01, 3.5414274108483511e+01, 2.0520014948183928e+01, + 1.1178864762092555e+01, 6.5457935075374944e+00, 3.8278369835025656e+00, + 2.0760505305870112e+00, 1.1531599898261422e+00, 4.8873770086696849e-01, + 2.8972530369835303e-01, 1.4996269365355971e-01, 4.8873770086696849e-01, + 1.4996269365355971e-01, 7.0320786489653203e-02, 1.1936329579215313e+05, + 1.9732975244933248e+04, 4.8247000542937221e+03, 1.4389816948051262e+03, + 4.8549709936386239e+02, 1.7654297142185436e+02, 6.7240804881705529e+01, + 2.5247705079657806e+01, 9.3867385006594475e+00, 3.3864040992879496e+00, + 9.2879798315626561e-01, 2.9220769881703862e-01, 8.2205930646140513e-02, + 1.1936329579215313e+05, 1.9732975244933248e+04, 4.8247000542937221e+03, + 1.4389816948051262e+03, 4.8549709936386239e+02, 1.7654297142185436e+02, + 6.7240804881705529e+01, 2.5247705079657806e+01, 9.3867385006594475e+00, + 3.3864040992879496e+00, 9.2879798315626561e-01, 2.9220769881703862e-01, + 8.2205930646140513e-02, 1.1936329579215313e+05, 1.9732975244933248e+04, + 4.8247000542937221e+03, 1.4389816948051262e+03, 4.8549709936386239e+02, + 1.7654297142185436e+02, 6.7240804881705529e+01, 2.5247705079657806e+01, + 9.3867385006594475e+00, 3.3864040992879496e+00, 9.2879798315626561e-01, + 2.9220769881703862e-01, 8.2205930646140513e-02, 9.2879798315626561e-01, + 8.2205930646140513e-02, 2.1688183591227813e-02, 5.9876577632594533e+04, + 7.2836806319891484e+03, 1.3549226646722386e+03, 3.0376315094739988e+02, + 7.4924579607137730e+01, 1.8590543353806009e+01, 4.4423176930919421e+00, + 8.9541051939952665e-01, 8.9541051939952665e-01, 1.5992942988584680e-01, + 3.1718756222897104e-02, 3.8586186799894789e-01, 6.9839124768946298e-02}; + +#+end_src + +** TODO Molecular orbitals ** Electron coordinates Electron coordinates are stored in atomic units in normal format.