(git:ccc2433)
grid_ref_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_REF_PREPARE_PAB_H
8 #define GRID_REF_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  ******************************************************************************/
16 void grid_ref_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  ******************************************************************************/
35 void grid_ref_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_ref_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_ref_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.