(git:e7e05ae)
grid_basis_set.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_BASIS_SET_H
8 #define GRID_BASIS_SET_H
9 
10 /*******************************************************************************
11  * \brief Internal representation of a basis set.
12  * \author Ole Schuett
13  ******************************************************************************/
14 typedef struct {
15  int nset;
16  int nsgf;
17  int maxco;
18  int maxpgf;
19  int *lmin;
20  int *lmax;
21  int *npgf;
22  int *nsgf_set;
23  int *first_sgf;
24  double *sphi;
25  double *zet;
27 
28 #ifndef __cplusplus
29 
30 /*******************************************************************************
31  * \brief Allocates a basis set which can be passed to grid_create_task_list.
32  *
33  * \param nset Number of sets this basis is composed of.
34  * \param nsgf Size of contracted spherical basis, ie. the block size
35  * \param maxco Maximum number of Cartesian functions across all sets.
36  * \param maxpgf Maximum number of primitive Gaussians across all sets.
37  *
38  * The following params are given for each set:
39  *
40  * \param lmin Lowest angular momentum.
41  * \param lmax Highest angular momentum.
42  * \param npgf Number of primitive Gaussians, ie. exponents.
43  * \param nsgf_set Number of spherical basis functions
44  * \param first_sgf Index of first spherical basis function (one based).
45  * \param sphi Transformation matrix for (de-)contracting the basis.
46  * \param zet Exponents of primitive Gaussians.
47  *
48  * \param basis_set Handle to the created basis set.
49  *
50  * \author Ole Schuett
51  ******************************************************************************/
52 void grid_create_basis_set(const int nset, const int nsgf, const int maxco,
53  const int maxpgf, const int lmin[nset],
54  const int lmax[nset], const int npgf[nset],
55  const int nsgf_set[nset], const int first_sgf[nset],
56  const double sphi[nsgf][maxco],
57  const double zet[nset][maxpgf],
58  grid_basis_set **basis_set);
59 
60 /*******************************************************************************
61  * \brief Deallocates given basis set.
62  * \author Ole Schuett
63  ******************************************************************************/
64 void grid_free_basis_set(grid_basis_set *basis_set);
65 
66 #endif
67 
68 #endif
69 
70 // EOF
void grid_create_basis_set(const int nset, const int nsgf, const int maxco, const int maxpgf, const int lmin[nset], const int lmax[nset], const int npgf[nset], const int nsgf_set[nset], const int first_sgf[nset], const double sphi[nsgf][maxco], const double zet[nset][maxpgf], grid_basis_set **basis_set)
Allocates a basis set which can be passed to grid_create_task_list.
void grid_free_basis_set(grid_basis_set *basis_set)
Deallocates given basis set.
integer, parameter lmax
Definition: ai_eri_debug.F:28
Internal representation of a basis set.