![]() |
(git:73f2880)
|
#include <assert.h>#include <limits.h>#include <math.h>#include <omp.h>#include <stdbool.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include "../common/grid_basis_set.h"#include "../common/grid_common.h"#include "../common/grid_constants.h"#include "grid_dgemm_coefficients.h"#include "grid_dgemm_collocate.h"#include "grid_dgemm_collocation_integration.h"#include "grid_dgemm_non_orthorombic_corrections.h"#include "grid_dgemm_prepare_pab.h"#include "grid_dgemm_private_header.h"#include "grid_dgemm_task_list.h"#include "grid_dgemm_tensor_local.h"Go to the source code of this file.
Functions | |
| void | collocate_l0 (double *scratch, const double alpha, const bool orthogonal, const struct tensor_ *exp_xy, const struct tensor_ *p_alpha_beta_reduced_, struct tensor_ *cube) |
| void | rotate_to_cartesian_harmonics (const grid_basis_set *ibasis, const grid_basis_set *jbasis, const int iatom, const int jatom, const int iset, const int jset, double *const block, tensor *work, tensor *pab) |
| void | tensor_reduction_for_collocate_integrate (double *scratch, const double alpha, const bool *const orthogonal, const struct tensor_ *Exp, const struct tensor_ *co, const struct tensor_ *p_alpha_beta_reduced_, struct tensor_ *cube) |
| void | grid_fill_pol_dgemm (const bool transpose, const double dr, const double roffset, const int pol_offset, const int xmin, const int xmax, const int lp, const int cmax, const double zetp, double *pol_) |
| void | apply_sphere_cutoff_ortho (struct collocation_integration_ *const handler, const double disr_radius, const int cmax, const int *const lb_cube, const int *const cube_center) |
| void | apply_spherical_cutoff_generic (struct collocation_integration_ *const handler, const double disr_radius, const int cmax, const int *const lb_cube, const int *const ub_cube, const double *const roffset, const int *const cube_center) |
| void | apply_mapping_cubic (struct collocation_integration_ *handler, const int cmax, const int *const lower_boundaries_cube, const int *const cube_center) |
| void | grid_collocate (collocation_integration *const handler, const bool use_ortho, const double zetp, const double rp[3], const double radius) |
| void | grid_dgemm_collocate_pgf_product (const bool use_ortho, const int border_mask, const enum grid_func func, const int la_max, const int la_min, const int lb_max, const int lb_min, const double zeta, const double zetb, const double rscale, const double dh[3][3], const double dh_inv[3][3], const double ra[3], const double rab[3], const int grid_global_size[3], const int grid_local_size[3], const int shift_local[3], const int border_width[3], const double radius, const int o1, const int o2, const int n1, const int n2, const double pab_[n2][n1], double *const grid_) |
| void | extract_blocks (grid_context *const ctx, const _task *const task, const offload_buffer *pab_blocks, tensor *const work, tensor *const pab) |
| void | compute_coefficients (grid_context *const ctx, struct collocation_integration_ *handler, const _task *const previous_task, const _task *const task, const offload_buffer *pab_blocks, tensor *const pab, tensor *const work, tensor *const pab_prep) |
| void | collocate_one_grid_level_dgemm (grid_context *const ctx, const int *const border_width, const int *const shift_local, const enum grid_func func, const int level, const offload_buffer *pab_blocks) |
| void | grid_dgemm_collocate_task_list (grid_dgemm_task_list *const ptr, const enum grid_func func, const int nlevels, const offload_buffer *pab_blocks, offload_buffer *grids[nlevels]) |
| Collocate all tasks of a given list onto given grids. See grid_task_list.h for details. | |
| void collocate_l0 | ( | double * | scratch, |
| const double | alpha, | ||
| const bool | orthogonal, | ||
| const struct tensor_ * | exp_xy, | ||
| const struct tensor_ * | p_alpha_beta_reduced_, | ||
| struct tensor_ * | cube | ||
| ) |
Definition at line 446 of file grid_dgemm_collocate.c.
| void rotate_to_cartesian_harmonics | ( | const grid_basis_set * | ibasis, |
| const grid_basis_set * | jbasis, | ||
| const int | iatom, | ||
| const int | jatom, | ||
| const int | iset, | ||
| const int | jset, | ||
| double *const | block, | ||
| tensor * | work, | ||
| tensor * | pab | ||
| ) |
Definition at line 38 of file grid_dgemm_collocate.c.
| void tensor_reduction_for_collocate_integrate | ( | double * | scratch, |
| const double | alpha, | ||
| const bool *const | orthogonal, | ||
| const struct tensor_ * | Exp, | ||
| const struct tensor_ * | co, | ||
| const struct tensor_ * | p_alpha_beta_reduced_, | ||
| struct tensor_ * | cube | ||
| ) |
Definition at line 485 of file grid_dgemm_collocate.c.
| void grid_fill_pol_dgemm | ( | const bool | transpose, |
| const double | dr, | ||
| const double | roffset, | ||
| const int | pol_offset, | ||
| const int | xmin, | ||
| const int | xmax, | ||
| const int | lp, | ||
| const int | cmax, | ||
| const double | zetp, | ||
| double * | pol_ | ||
| ) |
Definition at line 128 of file grid_dgemm_collocate.c.
| void apply_sphere_cutoff_ortho | ( | struct collocation_integration_ *const | handler, |
| const double | disr_radius, | ||
| const int | cmax, | ||
| const int *const | lb_cube, | ||
| const int *const | cube_center | ||
| ) |
Definition at line 241 of file grid_dgemm_collocate.c.
| void apply_spherical_cutoff_generic | ( | struct collocation_integration_ *const | handler, |
| const double | disr_radius, | ||
| const int | cmax, | ||
| const int *const | lb_cube, | ||
| const int *const | ub_cube, | ||
| const double *const | roffset, | ||
| const int *const | cube_center | ||
| ) |
Definition at line 327 of file grid_dgemm_collocate.c.
| void apply_mapping_cubic | ( | struct collocation_integration_ * | handler, |
| const int | cmax, | ||
| const int *const | lower_boundaries_cube, | ||
| const int *const | cube_center | ||
| ) |
Definition at line 648 of file grid_dgemm_collocate.c.
| void grid_collocate | ( | collocation_integration *const | handler, |
| const bool | use_ortho, | ||
| const double | zetp, | ||
| const double | rp[3], | ||
| const double | radius | ||
| ) |
Definition at line 757 of file grid_dgemm_collocate.c.
| void grid_dgemm_collocate_pgf_product | ( | const bool | use_ortho, |
| const int | border_mask, | ||
| const enum grid_func | func, | ||
| const int | la_max, | ||
| const int | la_min, | ||
| const int | lb_max, | ||
| const int | lb_min, | ||
| const double | zeta, | ||
| const double | zetb, | ||
| const double | rscale, | ||
| const double | dh[3][3], | ||
| const double | dh_inv[3][3], | ||
| const double | ra[3], | ||
| const double | rab[3], | ||
| const int | grid_global_size[3], | ||
| const int | grid_local_size[3], | ||
| const int | shift_local[3], | ||
| const int | border_width[3], | ||
| const double | radius, | ||
| const int | o1, | ||
| const int | o2, | ||
| const int | n1, | ||
| const int | n2, | ||
| const double | pab_[n2][n1], | ||
| double *const | grid_ | ||
| ) |
| void extract_blocks | ( | grid_context *const | ctx, |
| const _task *const | task, | ||
| const offload_buffer * | pab_blocks, | ||
| tensor *const | work, | ||
| tensor *const | pab | ||
| ) |
Definition at line 983 of file grid_dgemm_collocate.c.
| void compute_coefficients | ( | grid_context *const | ctx, |
| struct collocation_integration_ * | handler, | ||
| const _task *const | previous_task, | ||
| const _task *const | task, | ||
| const offload_buffer * | pab_blocks, | ||
| tensor *const | pab, | ||
| tensor *const | work, | ||
| tensor *const | pab_prep | ||
| ) |
Definition at line 1010 of file grid_dgemm_collocate.c.
| void collocate_one_grid_level_dgemm | ( | grid_context *const | ctx, |
| const int *const | border_width, | ||
| const int *const | shift_local, | ||
| const enum grid_func | func, | ||
| const int | level, | ||
| const offload_buffer * | pab_blocks | ||
| ) |
Definition at line 1084 of file grid_dgemm_collocate.c.
| void grid_dgemm_collocate_task_list | ( | grid_dgemm_task_list *const | ptr, |
| const enum grid_func | func, | ||
| const int | nlevels, | ||
| const offload_buffer * | pab_blocks, | ||
| offload_buffer * | grids[nlevels] | ||
| ) |
Collocate all tasks of a given list onto given grids. See grid_task_list.h for details.
Collocate all tasks of in given list onto given grids. See grid_task_list.h for details.
Definition at line 1233 of file grid_dgemm_collocate.c.