(git:374b731)
Loading...
Searching...
No Matches
grid_dgemm_collocation_integration.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_DGEMM_COLLOCATION_INTEGRATION_H
9#define GRID_DGEMM_COLLOCATION_INTEGRATION_H
10#include <stdbool.h>
11#include <stdio.h>
12#include <stdlib.h>
13#include <string.h>
14
15#ifdef __cplusplus
16extern "C" {
17#endif
18
21
23 /* number of compute device */
26
27 /* number of gaussians block in each list */
29
30 /* some scratch storage to avoid malloc / free all the time */
34
35 /* tensors for the grid to collocate or integrate */
36 /* original grid */
38
39 /* int period[3]; */
40 /* int lb_grid[3]; */
41
42 /* original grid decomposed in block */
44
45 /* do we need to update the grid */
47
48 /* coordinates of the blocks */
50
51 double dh[3][3];
52 double dh_inv[3][3];
53 double dx[3];
54
55 /* block dimensions */
56 int blockDim[4];
57
58 /* Only allocated in sequential mode */
69 int lmax;
70 /* for the spherical cutoff */
71 int **map;
72 void *scratch;
73
74 bool durty;
75 bool orthogonal[3];
78
80 int lmin_diff[2];
81 int lmax_diff[2];
82
83 int cmax;
85
87extern void collocate_synchronize(void *gaussian_handler);
88extern void collocate_destroy_handle(void *gaussian_handle);
89extern void calculate_collocation(void *const in);
90extern void initialize_W_and_T(collocation_integration *const handler,
91 const tensor *cube, const tensor *coef);
92extern void initialize_basis_vectors(collocation_integration *const handler,
93 const double dh[3][3],
94 const double dh_inv[3][3]);
95
96#ifdef __cplusplus
97}
98#endif
99#endif
grid_func
void calculate_collocation(void *const in)
void initialize_basis_vectors(collocation_integration *const handler, const double dh[3][3], const double dh_inv[3][3])
struct collocation_integration_ collocation_integration
void collocate_destroy_handle(void *gaussian_handle)
void collocate_synchronize(void *gaussian_handler)
void initialize_W_and_T(collocation_integration *const handler, const tensor *cube, const tensor *coef)
struct collocation_integration_ * collocate_create_handle(void)