(git:3add494)
grid_cpu_collocate.c File Reference
#include <assert.h>
#include <float.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_collocate.h"
#include "grid_cpu_integrate.h"
#include "grid_cpu_prepare_pab.h"

Go to the source code of this file.

Macros

#define GRID_DO_COLLOCATE   1
 

Functions

static void write_task_file (const bool orthorhombic, const int border_mask, const enum grid_func func, const int la_max, const int la_min, const int lb_max, const int lb_min, const double zeta, const double zetb, const double rscale, 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 pab[n2][n1], const double *grid)
 Writes the given arguments into a .task file. See grid_replay.h for details. More...
 
static void collocate_internal (const bool orthorhombic, const int border_mask, const enum grid_func func, const int la_max, const int la_min, const int lb_max, const int lb_min, const double zeta, const double zetb, const double rscale, 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 pab[n2][n1], double *grid)
 Collocates a single product of primitiv Gaussians. See grid_cpu_collocate.h for details. More...
 
void grid_cpu_collocate_pgf_product (const bool orthorhombic, const int border_mask, const enum grid_func func, const int la_max, const int la_min, const int lb_max, const int lb_min, const double zeta, const double zetb, const double rscale, 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 pab[n2][n1], double *grid)
 Public entry point. A thin wrapper with the only purpose of calling write_task_file when DUMP_TASKS = true. More...
 

Macro Definition Documentation

◆ GRID_DO_COLLOCATE

#define GRID_DO_COLLOCATE   1

Definition at line 16 of file grid_cpu_collocate.c.

Function Documentation

◆ write_task_file()

static void write_task_file ( const bool  orthorhombic,
const int  border_mask,
const enum grid_func  func,
const int  la_max,
const int  la_min,
const int  lb_max,
const int  lb_min,
const double  zeta,
const double  zetb,
const double  rscale,
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  pab[n2][n1],
const double *  grid 
)
static

Writes the given arguments into a .task file. See grid_replay.h for details.

Author
Ole Schuett

Definition at line 28 of file grid_cpu_collocate.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ collocate_internal()

static void collocate_internal ( const bool  orthorhombic,
const int  border_mask,
const enum grid_func  func,
const int  la_max,
const int  la_min,
const int  lb_max,
const int  lb_min,
const double  zeta,
const double  zetb,
const double  rscale,
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  pab[n2][n1],
double *  grid 
)
static

Collocates a single product of primitiv Gaussians. See grid_cpu_collocate.h for details.

Author
Ole Schuett

Definition at line 148 of file grid_cpu_collocate.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ grid_cpu_collocate_pgf_product()

void grid_cpu_collocate_pgf_product ( const bool  orthorhombic,
const int  border_mask,
const enum grid_func  func,
const int  la_max,
const int  la_min,
const int  lb_max,
const int  lb_min,
const double  zeta,
const double  zetb,
const double  rscale,
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  pab[n2][n1],
double *  grid 
)

Public entry point. A thin wrapper with the only purpose of calling write_task_file when DUMP_TASKS = true.

Collocates 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 collocates all combinations of spherical harmonics.

Author
Ole Schuett

Definition at line 185 of file grid_cpu_collocate.c.

Here is the call graph for this function:
Here is the caller graph for this function: