(git:b1f098b)
Loading...
Searching...
No Matches
grid_cpu_prepare_pab.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#ifndef GRID_CPU_PREPARE_PAB_H
8#define GRID_CPU_PREPARE_PAB_H
9
10#include "../common/grid_constants.h"
11
12/*******************************************************************************
13 * \brief Returns block size changes due to transformation grid_prepare_pab.
14 * \author Ole Schuett
15 ******************************************************************************/
16void grid_cpu_prepare_get_ldiffs(const enum grid_func func, int *la_min_diff,
17 int *la_max_diff, int *lb_min_diff,
18 int *lb_max_diff);
19
20/*******************************************************************************
21 * \brief Selects and transforms a sub-block of the given density matrix block.
22 *
23 * \param func Transformation function to apply, one of GRID_FUNC_*.
24 * \param o{1,2} Offsets of the sub-block within the matrix block.
25 * \param l{a,b}_max Max angular momentum to collocate for give atom.
26 * \param l{a,b}_min Lowest angular momentum to collocate for give atom.
27 * \param zet_{a,b} Gaussian's exponent of given atom.
28 * \param n{1,2} Dimensions of input matrix block.
29 * \param pab Input matrix block.
30 * \param n{1,2}_prep Dimensions of the transformed matrix sub-block.
31 * \param pab_prep Resulting transformed matrix sub-block.
32 *
33 * \author Ole Schuett
34 ******************************************************************************/
35void grid_cpu_prepare_pab(const enum grid_func func, const int o1, const int o2,
36 const int la_max, const int la_min, const int lb_max,
37 const int lb_min, const double zeta,
38 const double zetb, const int n1, const int n2,
39 const double pab[n2][n1], const int n1_prep,
40 const int n2_prep, double pab_prep[n2_prep][n1_prep]);
41
42#endif
43
44// EOF
grid_func
void grid_cpu_prepare_pab(const enum grid_func func, const int o1, const int o2, const int la_max, const int la_min, const int lb_max, const int lb_min, const double zeta, const double zetb, const int n1, const int n2, const double pab[n2][n1], const int n1_prep, const int n2_prep, double pab_prep[n2_prep][n1_prep])
Selects and transforms a sub-block of the given density matrix block.
void grid_cpu_prepare_get_ldiffs(const enum grid_func func, int *la_min_diff, int *la_max_diff, int *lb_min_diff, int *lb_max_diff)
Returns block size changes due to transformation grid_prepare_pab.