43
43
struct coordinates PB);
44
44
static double f_n(int k, int l1, int l2, double A, double B);
45
45
static double int_pow(double a, int p);
46
static double ***init_box(int a, int b, int c);
47
static void free_box(double ***box, int a, int b);
49
47
/*-------------------------------------------------------------
50
48
This function computes derivatives of one-electron integrals
92
90
double inorm, jnorm, over_pf;
93
double norm_pf, normover_pf, dens_pf, wdens_pf, zdens_pf, znormover_pf;
91
double norm_pf, normover_pf, dens_pf, wdens_pf, zdens_pf, znormover_pf, hds_norm_pf;
94
92
double twozeta_a, twozeta_b, upuppfac, updownpfac, s_int, t_int, v_int;
95
93
double *ptr1, *ptr2, norm1, norm12;
215
214
/*----------------------------------
215
Half-derivative overap integrals
216
----------------------------------*/
218
tmp = 2.0*a1*overlap_int(a1, l1+1, m1, n1, inorm, a2, l2, m2,
219
n2, jnorm, AB, PA, PB);
221
tmp -= l1*overlap_int(a1, l1-1, m1, n1, inorm, a2, l2, m2,
222
n2, jnorm, AB, PA, PB);
223
HDS[coord_ax][I][J] += tmp*hds_norm_pf;
226
tmp = 2.0*a1*overlap_int(a1, l1, m1+1, n1, inorm, a2, l2, m2,
227
n2, jnorm, AB, PA, PB);
229
tmp -= m1*overlap_int(a1, l1, m1-1, n1, inorm, a2, l2, m2,
230
n2, jnorm, AB, PA, PB);
231
HDS[coord_ay][I][J] += tmp*hds_norm_pf;
234
tmp = 2.0*a1*overlap_int(a1, l1, m1, n1+1, inorm, a2, l2, m2,
235
n2, jnorm, AB, PA, PB);
237
tmp -= n1*overlap_int(a1, l1, m1, n1-1, inorm, a2, l2, m2,
238
n2, jnorm, AB, PA, PB);
239
HDS[coord_az][I][J] += tmp*hds_norm_pf;
243
tmp = 2.0*a2*overlap_int(a2, l2+1, m2, n2, jnorm, a1, l1, m1,
244
n1, inorm, AB, PB, PA);
246
tmp -= l2*overlap_int(a2, l2-1, m2, n2, jnorm, a1, l1, m1,
247
n1, inorm, AB, PB, PA);
248
HDS[coord_bx][J][I] += tmp*hds_norm_pf;
251
tmp = 2.0*a2*overlap_int(a2, l2, m2+1, n2, jnorm, a1, l1, m1,
252
n1, inorm, AB, PB, PA);
254
tmp -= m2*overlap_int(a2, l2, m2-1, n2, jnorm, a1, l1, m1,
255
n1, inorm, AB, PB, PA);
256
HDS[coord_by][J][I] += tmp*hds_norm_pf;
259
tmp = 2.0*a2*overlap_int(a2, l2, m2, n2+1, jnorm, a1, l1, m1,
260
n1, inorm, AB, PB, PA);
262
tmp -= n2*overlap_int(a2, l2, m2, n2-1, jnorm, a1, l1, m1,
263
n1, inorm, AB, PB, PA);
264
HDS[coord_bz][J][I] += tmp*hds_norm_pf;
267
/*----------------------------------
216
268
First derivative overap integrals
217
269
----------------------------------*/
218
270
/*--- d/dAx ---*/