67 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
70 double *origin_B, int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
73 double *rpp_origin, int32_t *rpp_num_primitives, int32_t *rpp_powers,
74 double *rpp_coeffs,
double *rpp_alpha,
77 int *pot_powers_int = (
int *)calloc(*rpp_num_primitives,
sizeof(
int));
79 for (
int i = 0;
i < *rpp_num_primitives;
i++) {
80 pot_powers_int[
i] = rpp_powers[
i];
84 0, 0, *rpp_num_primitives, pot_powers_int, rpp_coeffs, rpp_alpha);
104 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
105 double *alpha_A,
double *origin_B,
107 int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
double *alpha_B,
109 double *pot_origin, int32_t *pot_L, int32_t *pot_num_primitives,
110 int32_t *pot_powers,
double *pot_coeffs,
double *pot_alpha,
113 int *pot_powers_int = (
int *)calloc(*pot_num_primitives,
sizeof(
int));
115 for (
int i = 0;
i < *pot_num_primitives;
i++) {
116 pot_powers_int[
i] = pot_powers[
i];
120 *pot_L, 0, *pot_num_primitives, pot_powers_int, pot_coeffs, pot_alpha);
131 free(pot_powers_int);
141 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
144 double *origin_B, int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
147 double *pot_origin, int32_t *pot_L, int32_t *pot_num_primitives,
148 int32_t *pot_powers,
double *pot_coeffs,
double *pot_alpha,
150 double *so_x_matrix,
double *so_y_matrix,
double *so_z_matrix) {
151 int *pot_powers_int = (
int *)calloc(*pot_num_primitives,
sizeof(
int));
153 for (
int i = 0;
i < *pot_num_primitives;
i++) {
154 pot_powers_int[
i] = pot_powers[
i];
161 *pot_L, 0, *pot_num_primitives, pot_powers_int, pot_coeffs, pot_alpha);
172 so_y_matrix, so_z_matrix);
177 free(pot_powers_int);
189 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
190 double *alpha_A,
double *origin_B,
192 int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
double *alpha_B,
194 double *pot_origin, int32_t *pot_L, int32_t *pot_J,
195 int32_t *pot_num_primitives, int32_t *pot_powers,
double *pot_coeffs,
198 int32_t *oc_shell_num_primitives,
double *oc_shell_coeffs,
199 double *oc_shell_alpha,
201 double *arep_matrix,
double *so_x_matrix,
double *so_y_matrix,
202 double *so_z_matrix) {
206 double *arep_matrix,
double *so_x_matrix,
double *so_y_matrix,
207 double *so_z_matrix);
212 int *pot_powers_int = (
int *)calloc(*pot_num_primitives,
sizeof(
int));
213 for (
int i = 0;
i < *pot_num_primitives;
i++) {
214 pot_powers_int[
i] = pot_powers[
i];
230 pot_coeffs, pot_alpha);
237 oc_shell_coeffs, oc_shell_alpha);
243 shell_A, shell_B, pot_origin, oc_potential, oc_shell, arep_matrix,
244 so_x_matrix, so_y_matrix, so_z_matrix);
253 free(pot_powers_int);
265 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
268 double *origin_B, int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
273 int32_t *oc_shell_1_L, int32_t *oc_shell_1_J, int32_t *pot1_num_primitives,
274 int32_t *pot1_powers,
double *pot1_coeffs,
double *pot1_alpha,
275 int32_t *oc_shell_1_num_primitives,
double *oc_shell_1_coeffs,
276 double *oc_shell_1_alpha,
278 int32_t *oc_shell_2_L, int32_t *oc_shell_2_J, int32_t *pot2_num_primitives,
279 int32_t *pot2_powers,
double *pot2_coeffs,
double *pot2_alpha,
280 int32_t *oc_shell_2_num_primitives,
double *oc_shell_2_coeffs,
281 double *oc_shell_2_alpha,
283 double *arep_matrix,
double *so_x_matrix,
double *so_y_matrix,
284 double *so_z_matrix) {
289 double *arep_matrix,
double *so_x_matrix,
double *so_y_matrix,
290 double *so_z_matrix);
295 int *pot1_powers_int = (
int *)calloc(*pot1_num_primitives,
sizeof(
int));
296 int *pot2_powers_int = (
int *)calloc(*pot2_num_primitives,
sizeof(
int));
298 for (
int i = 0;
i < *pot1_num_primitives;
i++) {
299 pot1_powers_int[
i] = pot1_powers[
i];
301 for (
int i = 0;
i < *pot2_num_primitives;
i++) {
302 pot2_powers_int[
i] = pot2_powers[
i];
319 pot1_powers_int, pot1_coeffs, pot1_alpha);
322 oc_shell_1_coeffs, oc_shell_1_alpha);
330 pot2_powers_int, pot2_coeffs, pot2_alpha);
333 oc_shell_2_coeffs, oc_shell_2_alpha);
339 shell_A, shell_B, pot_origin, oc_potential_1, oc_shell_1, oc_potential_2,
340 oc_shell_2, arep_matrix, so_x_matrix, so_y_matrix, so_z_matrix);
351 free(pot1_powers_int);
352 free(pot2_powers_int);
361 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
364 double *origin_B, int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
367 double *rpp_origin, int32_t *rpp_num_primitives, int32_t *rpp_powers,
368 double *rpp_coeffs,
double *rpp_alpha,
372 double *grad_arep_x,
double *grad_arep_y,
double *grad_arep_z) {
373 int *pot_powers_int = (
int *)calloc(*rpp_num_primitives,
sizeof(
int));
374 double *grad_array[3];
375 grad_array[0] = grad_arep_x;
376 grad_array[1] = grad_arep_y;
377 grad_array[2] = grad_arep_z;
379 for (
int i = 0;
i < *rpp_num_primitives;
i++) {
380 pot_powers_int[
i] = rpp_powers[
i];
384 0, 0, *rpp_num_primitives, pot_powers_int, rpp_coeffs, rpp_alpha);
396 free(pot_powers_int);
405 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
406 double *alpha_A,
double *origin_B,
408 int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
double *alpha_B,
410 double *pot_origin, int32_t *pot_L, int32_t *pot_num_primitives,
411 int32_t *pot_powers,
double *pot_coeffs,
double *pot_alpha,
415 double *grad_arep_x,
double *grad_arep_y,
double *grad_arep_z) {
416 int *pot_powers_int = (
int *)calloc(*pot_num_primitives,
sizeof(
int));
417 for (
int i = 0;
i < *pot_num_primitives;
i++) {
418 pot_powers_int[
i] = pot_powers[
i];
421 double *grad_array[3];
422 grad_array[0] = grad_arep_x;
423 grad_array[1] = grad_arep_y;
424 grad_array[2] = grad_arep_z;
427 *pot_L, 0, *pot_num_primitives, pot_powers_int, pot_coeffs, pot_alpha);
439 free(pot_powers_int);
449 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
452 double *origin_B, int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
455 double *pot_origin, int32_t *pot_L, int32_t *pot_num_primitives,
456 int32_t *pot_powers,
double *pot_coeffs,
double *pot_alpha,
461 double *grad_sox_x,
double *grad_sox_y,
double *grad_sox_z,
463 double *grad_soy_x,
double *grad_soy_y,
double *grad_soy_z,
465 double *grad_soz_x,
double *grad_soz_y,
double *grad_soz_z) {
466 int *pot_powers_int = (
int *)calloc(*pot_num_primitives,
sizeof(
int));
468 double *grad_array_SO_x[3];
469 grad_array_SO_x[0] = grad_sox_x;
470 grad_array_SO_x[1] = grad_sox_y;
471 grad_array_SO_x[2] = grad_sox_z;
473 double *grad_array_SO_y[3];
474 grad_array_SO_y[0] = grad_soy_x;
475 grad_array_SO_y[1] = grad_soy_y;
476 grad_array_SO_y[2] = grad_soy_z;
478 double *grad_array_SO_z[3];
479 grad_array_SO_z[0] = grad_soz_x;
480 grad_array_SO_z[1] = grad_soz_y;
481 grad_array_SO_z[2] = grad_soz_z;
483 for (
int i = 0;
i < *pot_num_primitives;
i++) {
484 pot_powers_int[
i] = pot_powers[
i];
491 *pot_L, 0, *pot_num_primitives, pot_powers_int, pot_coeffs, pot_alpha);
502 point_3d, grad_array_SO_x,
503 grad_array_SO_y, grad_array_SO_z);
508 free(pot_powers_int);
518 double *origin_A, int32_t *n_A, int32_t *l_A, int32_t *m_A,
519 int32_t *num_primitives_A,
double *coeffs_A,
double *alpha_A,
521 double *origin_B, int32_t *n_B, int32_t *l_B, int32_t *m_B,
522 int32_t *num_primitives_B,
double *coeffs_B,
double *alpha_B,
524 double *overlap_integral) {
527 double *overlap_matrix);
530 origin_A, *n_A + *l_A + *m_A, *num_primitives_A, coeffs_A, alpha_A);
532 origin_B, *n_B + *l_B + *m_B, *num_primitives_B, coeffs_B, alpha_B);
555 double *coeffs,
double *alpha,
double *norm) {
558 double origin[] = {0, 0, 0};
562 coeffs, alpha, origin, L, &zero, &zero,
563 num_primitives, coeffs, alpha, &S);
574 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
577 double *origin_B, int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
598 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
601 double *origin_B, int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
622 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
625 double *origin_B, int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
628 double *matrix_x,
double *matrix_y,
double *matrix_z) {
646 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
649 double *origin_B, int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
652 double *charge_origin, int32_t *charge, int32_t *nuclear_model,
653 double *model_params,
662 *nuclear_model, model_params, matrix);
670 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
673 double *origin_B, int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
676 double *charge_origin, int32_t *charge,
685 shell_A, shell_B, charge_origin, *charge, matrix);
693 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
696 double *origin_B, int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
699 double *charge_origin, int32_t *charge,
double *r_rms,
708 shell_A, shell_B, charge_origin, *charge, *r_rms, matrix);
716 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
719 double *origin_B, int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
722 double *charge_origin, int32_t *charge,
double *r_rms,
731 shell_A, shell_B, charge_origin, *charge, *r_rms, matrix);
739 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
742 double *origin_B, int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
745 double *charge_origin, int32_t *charge,
double *fermi_param_c,
746 double *fermi_param_a,
755 shell_A, shell_B, charge_origin, *charge, *fermi_param_c, *fermi_param_a,
764 double *origin_A, int32_t *L_A, int32_t *num_primitives_A,
double *coeffs_A,
767 double *origin_B, int32_t *L_B, int32_t *num_primitives_B,
double *coeffs_B,
770 double *charge_origin, int32_t *charge,
double *fermi_param_c,
771 double *fermi_param_a,
double *param_k,
780 shell_A, shell_B, charge_origin, *charge, *fermi_param_c, *fermi_param_a,
802 double *a, int32_t *err_code) {
822 double *a,
double *k,
double *rho) {
841 double *a,
double *potential) {
846 double *a,
double *k,
857 double *k,
double *r_rms) {
static void const int const int i
double libgrpp_double_factorial(int n)
void libgrpp_nuclear_attraction_integrals_fermi_model_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *charge_origin, int32_t *charge, double *fermi_param_c, double *fermi_param_a, double *matrix)
void libgrpp_nuclear_attraction_integrals_fermi_bubble_model_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *charge_origin, int32_t *charge, double *fermi_param_c, double *fermi_param_a, double *param_k, double *matrix)
void libgrpp_type1_integrals_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *rpp_origin, int32_t *rpp_num_primitives, int32_t *rpp_powers, double *rpp_coeffs, double *rpp_alpha, double *matrix)
void libgrpp_spin_orbit_integrals_gradient_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *pot_origin, int32_t *pot_L, int32_t *pot_num_primitives, int32_t *pot_powers, double *pot_coeffs, double *pot_alpha, double *point_3d, double *grad_sox_x, double *grad_sox_y, double *grad_sox_z, double *grad_soy_x, double *grad_soy_y, double *grad_soy_z, double *grad_soz_x, double *grad_soz_y, double *grad_soz_z)
void libgrpp_type1_integrals_gradient_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *rpp_origin, int32_t *rpp_num_primitives, int32_t *rpp_powers, double *rpp_coeffs, double *rpp_alpha, double *point_3d, double *grad_arep_x, double *grad_arep_y, double *grad_arep_z)
void libgrpp_set_radial_tolerance_(const double *tolerance)
void libgrpp_type2_integrals_gradient_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *pot_origin, int32_t *pot_L, int32_t *pot_num_primitives, int32_t *pot_powers, double *pot_coeffs, double *pot_alpha, double *point_3d, double *grad_arep_x, double *grad_arep_y, double *grad_arep_z)
void libgrpp_charge_density_fermi_bubble_(double *r, double *Z, double *c, double *a, double *k, double *rho)
void libgrpp_nuclear_attraction_integrals_point_charge_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *charge_origin, int32_t *charge, double *matrix)
void libgrpp_charge_density_fermi_(double *r, double *Z, double *c, double *a, double *rho)
void libgrpp_nuclear_attraction_integrals_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *charge_origin, int32_t *charge, int32_t *nuclear_model, double *model_params, double *matrix)
void libgrpp_type2_integrals_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *pot_origin, int32_t *pot_L, int32_t *pot_num_primitives, int32_t *pot_powers, double *pot_coeffs, double *pot_alpha, double *matrix)
void libgrpp_set_default_parameters_()
void libgrpp_estimate_nuclear_rms_radius_johnson_1985_(int32_t *A, double *R_rms)
void radial_gto_norm_factor_(int32_t *L, int32_t *num_primitives, double *coeffs, double *alpha, double *norm)
void libgrpp_outercore_potential_integrals_part_2_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *pot_origin, int32_t *oc_shell_1_L, int32_t *oc_shell_1_J, int32_t *pot1_num_primitives, int32_t *pot1_powers, double *pot1_coeffs, double *pot1_alpha, int32_t *oc_shell_1_num_primitives, double *oc_shell_1_coeffs, double *oc_shell_1_alpha, int32_t *oc_shell_2_L, int32_t *oc_shell_2_J, int32_t *pot2_num_primitives, int32_t *pot2_powers, double *pot2_coeffs, double *pot2_alpha, int32_t *oc_shell_2_num_primitives, double *oc_shell_2_coeffs, double *oc_shell_2_alpha, double *arep_matrix, double *so_x_matrix, double *so_y_matrix, double *so_z_matrix)
void libgrpp_overlap_integrals_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *matrix)
void libgrpp_rms_radius_fermi_(int32_t *Z, double *c, double *a, double *r_rms)
void libgrpp_set_cartesian_order_(const int32_t *order)
void libgrpp_coulomb_potential_fermi_bubble_(double *r, double *Z, double *c, double *a, double *k, double *potential)
void libgrpp_nuclear_attraction_integrals_charged_ball_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *charge_origin, int32_t *charge, double *r_rms, double *matrix)
void libgrpp_estimate_nuclear_rms_radius_golovko_2008_(int32_t *A, double *R_rms)
void libgrpp_estimate_fermi_model_parameters_(double *R_rms, double *c, double *a, int32_t *err_code)
void libgrpp_momentum_integrals_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *matrix_x, double *matrix_y, double *matrix_z)
void libgrpp_set_angular_screening_tolerance_(const double *tolerance)
void libgrpp_coulomb_potential_fermi_(double *r, double *Z, double *c, double *a, double *potential)
void libgrpp_rms_radius_fermi_bubble_(int32_t *Z, double *c, double *a, double *k, double *r_rms)
void libgrpp_set_modified_bessel_tolerance_(const double *tolerance)
void libgrpp_nuclear_attraction_integrals_gaussian_model_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *charge_origin, int32_t *charge, double *r_rms, double *matrix)
void libgrpp_kinetic_energy_integrals_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *matrix)
void libgrpp_coulomb_potential_gaussian_(double *r, double *Z, double *R_rms, double *potential)
void evaluate_overlap_integral_contracted_(double *origin_A, int32_t *n_A, int32_t *l_A, int32_t *m_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *n_B, int32_t *l_B, int32_t *m_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *overlap_integral)
void libgrpp_coulomb_potential_ball_(double *r, double *Z, double *R_rms, double *potential)
void libgrpp_coulomb_potential_point_(double *r, double *Z, double *potential)
void libgrpp_spin_orbit_integrals_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *pot_origin, int32_t *pot_L, int32_t *pot_num_primitives, int32_t *pot_powers, double *pot_coeffs, double *pot_alpha, double *so_x_matrix, double *so_y_matrix, double *so_z_matrix)
void libgrpp_charge_density_gaussian_(double *r, double *Z, double *R_rms, double *rho)
void libgrpp_charge_density_ball_(double *r, double *Z, double *R_rms, double *rho)
void libgrpp_outercore_potential_integrals_part_1_(double *origin_A, int32_t *L_A, int32_t *num_primitives_A, double *coeffs_A, double *alpha_A, double *origin_B, int32_t *L_B, int32_t *num_primitives_B, double *coeffs_B, double *alpha_B, double *pot_origin, int32_t *pot_L, int32_t *pot_J, int32_t *pot_num_primitives, int32_t *pot_powers, double *pot_coeffs, double *pot_alpha, int32_t *oc_shell_num_primitives, double *oc_shell_coeffs, double *oc_shell_alpha, double *arep_matrix, double *so_x_matrix, double *so_y_matrix, double *so_z_matrix)
void libgrpp_type2_integrals_gradient(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *grpp_origin, libgrpp_potential_t *potential, double *point_3d, double **grad_arep)
void libgrpp_spin_orbit_integrals_gradient(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *grpp_origin, libgrpp_potential_t *potential, double *point_3d, double **grad_so_x, double **grad_so_y, double **grad_so_z)
void libgrpp_type1_integrals_gradient(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *grpp_origin, libgrpp_potential_t *potential, double *point_3d, double **grad_arep)
void libgrpp_kinetic_energy_integrals(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *kinetic_matrix)
void libgrpp_momentum_integrals(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *momentum_x_matrix, double *momentum_y_matrix, double *momentum_z_matrix)
void libgrpp_nuclear_attraction_integrals_fermi_bubble_model(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *charge_origin, int charge, double param_c, double param_a, double param_k, double *coulomb_matrix)
void libgrpp_nuclear_attraction_integrals_point_charge(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *charge_origin, int charge, double *coulomb_matrix)
void libgrpp_nuclear_attraction_integrals_gaussian_model(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *charge_origin, int charge, double r_rms, double *coulomb_matrix)
void libgrpp_nuclear_attraction_integrals(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *charge_origin, int charge, int nuclear_model, double *model_params, double *coulomb_matrix)
void libgrpp_nuclear_attraction_integrals_fermi_model(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *charge_origin, int charge, double fermi_param_c, double fermi_param_a, double *coulomb_matrix)
void libgrpp_nuclear_attraction_integrals_charged_ball(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *charge_origin, int charge, double r_rms, double *coulomb_matrix)
double libgrpp_coulomb_potential_ball(double r, double Z, double R_rms)
double libgrpp_charge_density_fermi_bubble(double r, double Z, double c, double a, double k)
int libgrpp_estimate_fermi_model_parameters(double R_rms, double *c, double *a)
double libgrpp_coulomb_potential_gaussian(double r, double Z, double R_rms)
double libgrpp_rms_radius_fermi_bubble(int Z, double c, double a, double k)
double libgrpp_estimate_nuclear_rms_radius_golovko_2008(int A)
double libgrpp_coulomb_potential_point(double r, double Z)
double libgrpp_coulomb_potential_fermi_bubble(double r, double Z, double c, double a, double k)
double libgrpp_estimate_nuclear_rms_radius_johnson_1985(int A)
double libgrpp_charge_density_fermi(double r, double Z, double c, double a)
double libgrpp_coulomb_potential_fermi(double r, double Z, double c, double a)
double libgrpp_rms_radius_fermi(int Z, double c, double a)
double libgrpp_charge_density_gaussian(double r, double Z, double R_rms)
double libgrpp_charge_density_ball(double r, double Z, double R_rms)
void libgrpp_outercore_potential_integrals_part_1(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *C, libgrpp_potential_t *oc_potential, libgrpp_shell_t *oc_shell, double *arep_matrix, double *so_x_matrix, double *so_y_matrix, double *so_z_matrix)
void libgrpp_outercore_potential_integrals_part_2(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *C, libgrpp_potential_t *oc_potential_1, libgrpp_shell_t *oc_shell_1, libgrpp_potential_t *oc_potential_2, libgrpp_shell_t *oc_shell_2, double *arep_matrix, double *so_x_matrix, double *so_y_matrix, double *so_z_matrix)
void libgrpp_overlap_integrals(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *overlap_matrix)
void libgrpp_set_angular_screening_tolerance(double tolerance)
void libgrpp_set_radial_tolerance(double tolerance)
void libgrpp_set_cartesian_order(int order)
void libgrpp_set_default_parameters()
void libgrpp_set_modified_bessel_tolerance(double tolerance)
void libgrpp_delete_potential(libgrpp_potential_t *potential)
libgrpp_potential_t * libgrpp_new_potential(int L, int J, int num_primitives, int *powers, double *coeffs, double *alpha)
libgrpp_shell_t * libgrpp_new_shell(double *origin, int L, int num_primitives, double *coeffs, double *alpha)
void libgrpp_delete_shell(libgrpp_shell_t *shell)
void libgrpp_spin_orbit_integrals(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *rpp_origin, libgrpp_potential_t *potential, double *so_x_matrix, double *so_y_matrix, double *so_z_matrix)
void libgrpp_type1_integrals(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *rpp_origin, libgrpp_potential_t *potential, double *matrix)
void libgrpp_type2_integrals(libgrpp_shell_t *shell_A, libgrpp_shell_t *shell_B, double *rpp_origin, libgrpp_potential_t *potential, double *matrix)