(git:374b731)
Loading...
Searching...
No Matches
grid_ref_integrate.h
Go to the documentation of this file.
1/*----------------------------------------------------------------------------*/
2/* CP2K: A general program to perform molecular dynamics simulations */
3/* Copyright 2000-2024 CP2K developers group <https://cp2k.org> */
4/* */
5/* SPDX-License-Identifier: BSD-3-Clause */
6/*----------------------------------------------------------------------------*/
7
8#ifndef GRID_REF_INTEGRATE_H
9#define GRID_REF_INTEGRATE_H
10
11#include <stdbool.h>
12
13/*******************************************************************************
14 * \brief Integrates a single task. A task consists of a pair of atoms each
15 * with a position, Gaussian exponent, and a range of angular momentum.
16 * This function then integrates all combinations of spherical harmonics.
17 * Arguments are identical with grid_collocate_pgf_product except for:
18 *
19 * \param grid Input grid array.
20 * \param hab Output Hamiltonian matrix block.
21 *
22 * \param pab Optional input density matrix block.
23 * \param forces Optional output forces, requires pab.
24 * \param virials Optional output virials, requires pab.
25 * \param hdab Optional output derivative d(hab)/da, requires pab.
26 * \param a_hdab Optional output virial of hab, requires pab.
27 *
28 * \author Ole Schuett
29 ******************************************************************************/
31 const bool orthorhombic, const bool compute_tau, const int border_mask,
32 const int la_max, const int la_min, const int lb_max, const int lb_min,
33 const double zeta, const double zetb, const double dh[3][3],
34 const double dh_inv[3][3], const double ra[3], const double rab[3],
35 const int npts_global[3], const int npts_local[3], const int shift_local[3],
36 const int border_width[3], const double radius, const int o1, const int o2,
37 const int n1, const int n2, const double *grid, double hab[n2][n1],
38 const double pab[n2][n1], double forces[2][3], double virials[2][3][3],
39 double hdab[n2][n1][3], double hadb[n2][n1][3],
40 double a_hdab[n2][n1][3][3]);
41
42#endif
43// EOF
static void const int const int const int const int const int const double const int const int const int int GRID_CONST_WHEN_COLLOCATE double GRID_CONST_WHEN_INTEGRATE double * grid
static void const int const int const int const int const int const double const int const int const int npts_local[3]
void grid_ref_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. A task consists of a pair of atoms each with a position,...