(git:374b731)
Loading...
Searching...
No Matches
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 ******************************************************************************/
14typedef struct {
15 int nset;
16 int nsgf;
17 int maxco;
18 int maxpgf;
19 int *lmin;
20 int *lmax;
21 int *npgf;
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 ******************************************************************************/
52void 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 ******************************************************************************/
64void 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_out)
Allocates a basis set which can be passed to grid_create_task_list. See grid_task_list....
void grid_free_basis_set(grid_basis_set *basis_set)
Deallocates given basis set.
Internal representation of a basis set.