![]() |
(git:9c0f831)
|
#include <assert.h>#include <limits.h>#include <math.h>#include <stdbool.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unistd.h>#include <omp.h>#include "../common/grid_common.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_private_header.h"#include "grid_dgemm_tensor_local.h"#include "grid_dgemm_utils.h"Go to the source code of this file.
Functions | |
| void | extract_cube_within_spherical_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 | extract_cube_within_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) |
| static void | rotate_and_store_coefficients (grid_context *const ctx, const _task *prev_task, const _task *task, tensor *const hab, tensor *work, double *blocks) |
| void | update_force_pair (orbital a, orbital b, const double pab, const double ftz[2], const double *const rab, const tensor *const vab, tensor *force) |
| void | update_virial_pair (orbital a, orbital b, const double pab, const double ftz[2], const double *const rab, const tensor *const vab, tensor *virial) |
| void | update_all (const bool compute_forces, const bool compute_virial, const orbital a, const orbital b, const double f, const double *const ftz, const double *rab, const tensor *vab, const double pab, double *hab, tensor *forces, tensor *virials) |
| static void | update_tau (const bool compute_forces, const bool compute_virial, const orbital a, const orbital b, const double ftz[2], const double *const rab, const tensor *const vab, const double pab, double *const hab, tensor *forces, tensor *virials) |
| static void | update_hab_forces_and_stress (const _task *task, const tensor *const vab, const tensor *const pab, const bool compute_tau, const bool compute_forces, const bool compute_virial, tensor *const forces, tensor *const virial, tensor *const hab) |
| void | extract_cube (struct collocation_integration_ *handler, const int cmax, const int *lower_boundaries_cube, const int *cube_center) |
| void | grid_integrate (collocation_integration *const handler, const bool use_ortho, const double zetp, const double rp[3], const double radius) |
| void | integrate_one_grid_level_dgemm (grid_context *const ctx, const int level, const bool calculate_tau, const bool calculate_forces, const bool calculate_virial, const int *const shift_local, const int *const border_width, const offload_buffer *const pab_blocks, offload_buffer *const hab_blocks, tensor *forces_, tensor *virial_) |
| void | grid_dgemm_integrate_task_list (void *ptr, const bool compute_tau, const int natoms, const int nlevels, const offload_buffer *const pab_blocks, offload_buffer *grids[nlevels], offload_buffer *hab_blocks, double forces[natoms][3], double virial[3][3]) |
| Integrate all tasks of in given list from given grids using matrix - matrix multiplication. | |
| void extract_cube_within_spherical_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 32 of file grid_dgemm_integrate.c.
| void extract_cube_within_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 121 of file grid_dgemm_integrate.c.
|
static |
Definition at line 242 of file grid_dgemm_integrate.c.
| void update_force_pair | ( | orbital | a, |
| orbital | b, | ||
| const double | pab, | ||
| const double | ftz[2], | ||
| const double *const | rab, | ||
| const tensor *const | vab, | ||
| tensor * | force | ||
| ) |
Definition at line 367 of file grid_dgemm_integrate.c.
| void update_virial_pair | ( | orbital | a, |
| orbital | b, | ||
| const double | pab, | ||
| const double | ftz[2], | ||
| const double *const | rab, | ||
| const tensor *const | vab, | ||
| tensor * | virial | ||
| ) |
Definition at line 381 of file grid_dgemm_integrate.c.
| void update_all | ( | const bool | compute_forces, |
| const bool | compute_virial, | ||
| const orbital | a, | ||
| const orbital | b, | ||
| const double | f, | ||
| const double *const | ftz, | ||
| const double * | rab, | ||
| const tensor * | vab, | ||
| const double | pab, | ||
| double * | hab, | ||
| tensor * | forces, | ||
| tensor * | virials | ||
| ) |
Definition at line 405 of file grid_dgemm_integrate.c.
|
static |
Definition at line 422 of file grid_dgemm_integrate.c.
|
static |
Definition at line 443 of file grid_dgemm_integrate.c.
| void extract_cube | ( | struct collocation_integration_ * | handler, |
| const int | cmax, | ||
| const int * | lower_boundaries_cube, | ||
| const int * | cube_center | ||
| ) |
Definition at line 484 of file grid_dgemm_integrate.c.
| void grid_integrate | ( | collocation_integration *const | handler, |
| const bool | use_ortho, | ||
| const double | zetp, | ||
| const double | rp[3], | ||
| const double | radius | ||
| ) |
Definition at line 578 of file grid_dgemm_integrate.c.
| void integrate_one_grid_level_dgemm | ( | grid_context *const | ctx, |
| const int | level, | ||
| const bool | calculate_tau, | ||
| const bool | calculate_forces, | ||
| const bool | calculate_virial, | ||
| const int *const | shift_local, | ||
| const int *const | border_width, | ||
| const offload_buffer *const | pab_blocks, | ||
| offload_buffer *const | hab_blocks, | ||
| tensor * | forces_, | ||
| tensor * | virial_ | ||
| ) |
Definition at line 752 of file grid_dgemm_integrate.c.
| void grid_dgemm_integrate_task_list | ( | void * | ptr, |
| const bool | compute_tau, | ||
| const int | natoms, | ||
| const int | nlevels, | ||
| const offload_buffer *const | pab_blocks, | ||
| offload_buffer * | grids[nlevels], | ||
| offload_buffer * | hab_blocks, | ||
| double | forces[natoms][3], | ||
| double | virial[3][3] | ||
| ) |
Integrate all tasks of in given list from given grids using matrix - matrix multiplication.
Definition at line 1059 of file grid_dgemm_integrate.c.