(git:0de0cc2)
grid_prepare_pab.h File Reference
#include "../common/grid_common.h"
#include "../common/grid_constants.h"
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>

Go to the source code of this file.

Data Structures

struct  prepare_ldiffs
 Differences in angular momentum. More...
 

Macros

#define GRID_DEVICE
 

Functions

static GRID_DEVICE void cab_add (cab_store *cab, const orbital a, const orbital b, const double value)
 Adds given value to matrix element cab[idx(b)][idx(a)]. This function has to be implemented by the importing compilation unit. Without thread safety it's simply: cab[idx(b) * n + idx(a)] += value;. More...
 
static GRID_DEVICE void prepare_pab_AB (const orbital a, const orbital b, const double pab_val, cab_store *cab)
 Implementation of function GRID_FUNC_AB, ie. identity transformation. More...
 
static GRID_DEVICE void prepare_pab_DADB (const orbital a, const orbital b, const double zeta, const double zetb, const double pab_val, cab_store *cab)
 Implementation of function GRID_FUNC_DADB. More...
 
static GRID_DEVICE void prepare_pab_ADBmDAB (const int idir, const orbital a, const orbital b, const double zeta, const double zetb, const double pab_val, cab_store *cab)
 Implementation of function GRID_FUNC_ADBmDAB_{X,Y,Z}. More...
 
static GRID_DEVICE void prepare_pab_ARDBmDARB (const int idir, const int ir, const orbital a, const orbital b, const double zeta, const double zetb, const double pab_val, cab_store *cab)
 Implementation of function GRID_FUNC_ARDBmDARB_{X,Y,Z}{X,Y,Z}. More...
 
static GRID_DEVICE void prepare_pab_DABpADB (const int idir, const orbital a, const orbital b, const double zeta, const double zetb, const double pab_val, cab_store *cab)
 Implementation of function GRID_FUNC_DABpADB_{X,Y,Z}. More...
 
static GRID_DEVICE void prepare_pab_DAB (const int idir, const orbital a, const orbital b, const double zeta, const double pab_val, cab_store *cab)
 Implementation of function GRID_FUNC_DAB_{X,Y,Z}. This function takes the derivates with respect to nuclear positions which results in a change of signs compared to prepare_pab_DABpADB. Only the derivative with respect to the primitive on the left. More...
 
static GRID_DEVICE void prepare_pab_ADB (const int idir, const orbital a, const orbital b, const double zetb, const double pab_val, cab_store *cab)
 Implementation of function GRID_FUNC_ADB_{X,Y,Z}. This function takes the derivates with respect to nuclear positions which results in a change of signs compared to prepare_pab_DABpADB. Only the derivative with respect to the primitive on the right. More...
 
static GRID_DEVICE void prepare_pab_core (const int idir, const orbital a, const orbital b, const double zeta, const double pab_val, cab_store *cab)
 Implementation of function GRID_FUNC_CORE_{X,Y,Z}. This function takes the derivates with respect to nuclear positions. More...
 
static GRID_DEVICE void prepare_pab_Di (const int ider, const orbital a, const orbital b, const double zeta, const double zetb, const double pab_val, cab_store *cab)
 Implementation of function GRID_FUNC_{DX,DY,DZ}. More...
 
static GRID_DEVICE void oneterm_dijdij (const int idir, const double func_a, const orbital a, const orbital b, const double zetb, cab_store *cab)
 Helper for grid_prepare_pab_DiDj. More...
 
static GRID_DEVICE void prepare_pab_DiDj (const int ider1, const int ider2, const orbital a, const orbital b, const double zeta, const double zetb, const double pab_val, cab_store *cab)
 Implementation of function GRID_FUNC_{DXDY,DYDZ,DZDX}. More...
 
static GRID_DEVICE void oneterm_diidii (const int idir, const double func_a, const orbital a, const orbital b, const double zetb, cab_store *cab)
 Helper for grid_prepare_pab_Di2. More...
 
static GRID_DEVICE void prepare_pab_Di2 (const int ider, const orbital a, const orbital b, const double zeta, const double zetb, const double pab_val, cab_store *cab)
 Implementation of function GRID_FUNC_{DXDX,DYDY,DZDZ}. More...
 
static GRID_DEVICE void prepare_pab (const enum grid_func func, const orbital a, const orbital b, const double zeta, const double zetb, const double pab_val, cab_store *cab)
 Transforms a given element of the density matrix according to func. More...
 
static prepare_ldiffs prepare_get_ldiffs (const enum grid_func func)
 Returns difference in angular momentum range for given func. More...
 

Macro Definition Documentation

◆ GRID_DEVICE

#define GRID_DEVICE

Definition at line 17 of file grid_prepare_pab.h.

Function Documentation

◆ cab_add()

static GRID_DEVICE void cab_add ( cab_store cab,
const orbital  a,
const orbital  b,
const double  value 
)
inlinestatic

Adds given value to matrix element cab[idx(b)][idx(a)]. This function has to be implemented by the importing compilation unit. Without thread safety it's simply: cab[idx(b) * n + idx(a)] += value;.

Author
Ole Schuett
Here is the caller graph for this function:

◆ prepare_pab_AB()

static GRID_DEVICE void prepare_pab_AB ( const orbital  a,
const orbital  b,
const double  pab_val,
cab_store cab 
)
static

Implementation of function GRID_FUNC_AB, ie. identity transformation.

Author
Ole Schuett

Definition at line 33 of file grid_prepare_pab.h.

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

◆ prepare_pab_DADB()

static GRID_DEVICE void prepare_pab_DADB ( const orbital  a,
const orbital  b,
const double  zeta,
const double  zetb,
const double  pab_val,
cab_store cab 
)
static

Implementation of function GRID_FUNC_DADB.

Author
Ole Schuett

Definition at line 44 of file grid_prepare_pab.h.

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

◆ prepare_pab_ADBmDAB()

static GRID_DEVICE void prepare_pab_ADBmDAB ( const int  idir,
const orbital  a,
const orbital  b,
const double  zeta,
const double  zetb,
const double  pab_val,
cab_store cab 
)
static

Implementation of function GRID_FUNC_ADBmDAB_{X,Y,Z}.

Author
Ole Schuett

Definition at line 65 of file grid_prepare_pab.h.

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

◆ prepare_pab_ARDBmDARB()

static GRID_DEVICE void prepare_pab_ARDBmDARB ( const int  idir,
const int  ir,
const orbital  a,
const orbital  b,
const double  zeta,
const double  zetb,
const double  pab_val,
cab_store cab 
)
static

Implementation of function GRID_FUNC_ARDBmDARB_{X,Y,Z}{X,Y,Z}.

Author
Ole Schuett

Definition at line 89 of file grid_prepare_pab.h.

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

◆ prepare_pab_DABpADB()

static GRID_DEVICE void prepare_pab_DABpADB ( const int  idir,
const orbital  a,
const orbital  b,
const double  zeta,
const double  zetb,
const double  pab_val,
cab_store cab 
)
static

Implementation of function GRID_FUNC_DABpADB_{X,Y,Z}.

Author
Ole Schuett

Definition at line 112 of file grid_prepare_pab.h.

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

◆ prepare_pab_DAB()

static GRID_DEVICE void prepare_pab_DAB ( const int  idir,
const orbital  a,
const orbital  b,
const double  zeta,
const double  pab_val,
cab_store cab 
)
static

Implementation of function GRID_FUNC_DAB_{X,Y,Z}. This function takes the derivates with respect to nuclear positions which results in a change of signs compared to prepare_pab_DABpADB. Only the derivative with respect to the primitive on the left.

Author
Edward Ditler

Definition at line 138 of file grid_prepare_pab.h.

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

◆ prepare_pab_ADB()

static GRID_DEVICE void prepare_pab_ADB ( const int  idir,
const orbital  a,
const orbital  b,
const double  zetb,
const double  pab_val,
cab_store cab 
)
static

Implementation of function GRID_FUNC_ADB_{X,Y,Z}. This function takes the derivates with respect to nuclear positions which results in a change of signs compared to prepare_pab_DABpADB. Only the derivative with respect to the primitive on the right.

Author
Edward Ditler

Definition at line 158 of file grid_prepare_pab.h.

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

◆ prepare_pab_core()

static GRID_DEVICE void prepare_pab_core ( const int  idir,
const orbital  a,
const orbital  b,
const double  zeta,
const double  pab_val,
cab_store cab 
)
static

Implementation of function GRID_FUNC_CORE_{X,Y,Z}. This function takes the derivates with respect to nuclear positions.

Author
Edward Ditler

Definition at line 177 of file grid_prepare_pab.h.

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

◆ prepare_pab_Di()

static GRID_DEVICE void prepare_pab_Di ( const int  ider,
const orbital  a,
const orbital  b,
const double  zeta,
const double  zetb,
const double  pab_val,
cab_store cab 
)
static

Implementation of function GRID_FUNC_{DX,DY,DZ}.

Author
Ole Schuett

Definition at line 195 of file grid_prepare_pab.h.

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

◆ oneterm_dijdij()

static GRID_DEVICE void oneterm_dijdij ( const int  idir,
const double  func_a,
const orbital  a,
const orbital  b,
const double  zetb,
cab_store cab 
)
static

Helper for grid_prepare_pab_DiDj.

Author
Ole Schuett

Definition at line 218 of file grid_prepare_pab.h.

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

◆ prepare_pab_DiDj()

static GRID_DEVICE void prepare_pab_DiDj ( const int  ider1,
const int  ider2,
const orbital  a,
const orbital  b,
const double  zeta,
const double  zetb,
const double  pab_val,
cab_store cab 
)
static

Implementation of function GRID_FUNC_{DXDY,DYDZ,DZDX}.

Author
Ole Schuett

Definition at line 246 of file grid_prepare_pab.h.

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

◆ oneterm_diidii()

static GRID_DEVICE void oneterm_diidii ( const int  idir,
const double  func_a,
const orbital  a,
const orbital  b,
const double  zetb,
cab_store cab 
)
static

Helper for grid_prepare_pab_Di2.

Author
Ole Schuett

Definition at line 272 of file grid_prepare_pab.h.

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

◆ prepare_pab_Di2()

static GRID_DEVICE void prepare_pab_Di2 ( const int  ider,
const orbital  a,
const orbital  b,
const double  zeta,
const double  zetb,
const double  pab_val,
cab_store cab 
)
static

Implementation of function GRID_FUNC_{DXDX,DYDY,DZDZ}.

Author
Ole Schuett

Definition at line 286 of file grid_prepare_pab.h.

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

◆ prepare_pab()

static GRID_DEVICE void prepare_pab ( const enum grid_func  func,
const orbital  a,
const orbital  b,
const double  zeta,
const double  zetb,
const double  pab_val,
cab_store cab 
)
static

Transforms a given element of the density matrix according to func.

Parameters
funcTransformation function to apply, one of GRID_FUNC_*.
{a,b}Orbital angular momenta.
zet_{a,b}Gaussian exponents.
pab_valInput matrix element of pab.
nLeading dimensions of output matrix cab.
cabOutput matrix.
Author
Ole Schuett

Definition at line 315 of file grid_prepare_pab.h.

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

◆ prepare_get_ldiffs()

static prepare_ldiffs prepare_get_ldiffs ( const enum grid_func  func)
static

Returns difference in angular momentum range for given func.

Author
Ole Schuett

Definition at line 447 of file grid_prepare_pab.h.

Here is the caller graph for this function: