![]() |
(git:d18deda)
|
#include <assert.h>
#include <limits.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "../common/grid_common.h"
#include "grid_cpu_collint.h"
#include "grid_cpu_integrate.h"
#include "../common/grid_process_vab.h"
Go to the source code of this file.
Data Structures | |
struct | cab_store |
Cab matrix container to be passed through get_force/virial to cab_get. More... | |
Macros | |
#define | GRID_DO_COLLOCATE 0 |
Functions | |
static double | cab_get (const cab_store *cab, const orbital a, const orbital b) |
Returns matrix element cab[idx(b)][idx(a)]. | |
void | grid_cpu_integrate_pgf_product (const bool orthorhombic, const bool compute_tau, const int border_mask, const int la_max, const int la_min, const int lb_max, const int lb_min, const double zeta, const double zetb, const double dh[3][3], const double dh_inv[3][3], const double ra[3], const double rab[3], const int npts_global[3], const int npts_local[3], const int shift_local[3], const int border_width[3], const double radius, const int o1, const int o2, const int n1, const int n2, const double *grid, double hab[n2][n1], const double pab[n2][n1], double forces[2][3], double virials[2][3][3], double hdab[n2][n1][3], double hadb[n2][n1][3], double a_hdab[n2][n1][3][3]) |
Integrates a single task. See grid_cpu_integrate.h for details. | |
#define GRID_DO_COLLOCATE 0 |
Definition at line 15 of file grid_cpu_integrate.c.
Returns matrix element cab[idx(b)][idx(a)].
Definition at line 33 of file grid_cpu_integrate.c.
void grid_cpu_integrate_pgf_product | ( | const bool | orthorhombic, |
const bool | compute_tau, | ||
const int | border_mask, | ||
const int | la_max, | ||
const int | la_min, | ||
const int | lb_max, | ||
const int | lb_min, | ||
const double | zeta, | ||
const double | zetb, | ||
const double | dh[3][3], | ||
const double | dh_inv[3][3], | ||
const double | ra[3], | ||
const double | rab[3], | ||
const int | npts_global[3], | ||
const int | npts_local[3], | ||
const int | shift_local[3], | ||
const int | border_width[3], | ||
const double | radius, | ||
const int | o1, | ||
const int | o2, | ||
const int | n1, | ||
const int | n2, | ||
const double * | grid, | ||
double | hab[n2][n1], | ||
const double | pab[n2][n1], | ||
double | forces[2][3], | ||
double | virials[2][3][3], | ||
double | hdab[n2][n1][3], | ||
double | hadb[n2][n1][3], | ||
double | a_hdab[n2][n1][3][3] | ||
) |
Integrates a single task. See grid_cpu_integrate.h for details.
Integrates a single task. A task consists of a pair of atoms each with a position, Gaussian exponent, and a range of angular momentum. This function then integrates all combinations of spherical harmonics. Arguments are identical with grid_collocate_pgf_product except for:
Definition at line 44 of file grid_cpu_integrate.c.