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