![]() |
(git:b77b4be)
|
#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.