(git:374b731)
Loading...
Searching...
No Matches
grid_dgemm_non_orthorombic_corrections.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_NON_ORTHOROMBIC_CORRECTIONS_H
9#define GRID_DGEMM_NON_ORTHOROMBIC_CORRECTIONS_H
10
11#include <stdbool.h>
12
15 const double mu_mean, const double *r_ab, const double basis[3][3],
16 const int *const xmin, const int *const xmax, bool plane[3],
17 tensor *const Exp);
19 const double mu_mean, const double *r_ab, const double basis[3][3],
20 const int *const lower_block, const int *const upper_block,
21 const int *const block_size, const int *const offset, const int *const xmin,
22 const int *const xmax, bool *plane, tensor *const Exp);
23
24extern void apply_non_orthorombic_corrections(const bool plane[3],
25 const tensor *const Exp,
26 tensor *const cube);
27extern void
28apply_non_orthorombic_corrections_xy(const int x, const int y,
29 const struct tensor_ *const Exp,
30 struct tensor_ *const m);
31extern void
32apply_non_orthorombic_corrections_xz(const int x, const int z,
33 const struct tensor_ *const Exp,
34 struct tensor_ *const m);
35extern void
36apply_non_orthorombic_corrections_yz(const int y, const int z,
37 const struct tensor_ *const Exp,
38 struct tensor_ *const m);
39extern void
41 struct tensor_ *const m);
42extern void
44 struct tensor_ *const m);
45extern void
47 struct tensor_ *const m);
49 const struct tensor_ *const Exp_xz, const struct tensor_ *const Exp_yz,
50 struct tensor_ *const m);
51#endif
void apply_non_orthorombic_corrections(const bool plane[3], const tensor *const Exp, tensor *const cube)
void calculate_non_orthorombic_corrections_tensor(const double mu_mean, const double *r_ab, const double basis[3][3], const int *const xmin, const int *const xmax, bool plane[3], tensor *const Exp)
void apply_non_orthorombic_corrections_xy(const int x, const int y, const struct tensor_ *const Exp, struct tensor_ *const m)
void apply_non_orthorombic_corrections_yz(const int y, const int z, const struct tensor_ *const Exp, struct tensor_ *const m)
void apply_non_orthorombic_corrections_xz_yz_blocked(const struct tensor_ *const Exp_xz, const struct tensor_ *const Exp_yz, struct tensor_ *const m)
void apply_non_orthorombic_corrections_yz_blocked(const struct tensor_ *const Exp, struct tensor_ *const m)
void apply_non_orthorombic_corrections_xz_blocked(const struct tensor_ *const Exp, struct tensor_ *const m)
void apply_non_orthorombic_corrections_xz(const int x, const int z, const struct tensor_ *const Exp, struct tensor_ *const m)
void calculate_non_orthorombic_corrections_tensor_blocked(const double mu_mean, const double *r_ab, const double basis[3][3], const int *const lower_block, const int *const upper_block, const int *const block_size, const int *const offset, const int *const xmin, const int *const xmax, bool *plane, tensor *const Exp)
void apply_non_orthorombic_corrections_xy_blocked(const struct tensor_ *const Exp, struct tensor_ *const m)