(git:f2099e5)
Loading...
Searching...
No Matches
grid_task_list.c File Reference
#include <assert.h>
#include <math.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "grid_task_list.h"
#include "grid_task_list_internal.h"

Go to the source code of this file.

Functions

void grid_create_task_list (const bool orthorhombic, const int ntasks, const int nlevels, const int natoms, const int nkinds, const int nblocks, const int block_offsets[nblocks], const double atom_positions[natoms][3], const int atom_kinds[natoms], const grid_basis_set *basis_sets[nkinds], const int level_list[ntasks], const int iatom_list[ntasks], const int jatom_list[ntasks], const int iset_list[ntasks], const int jset_list[ntasks], const int ipgf_list[ntasks], const int jpgf_list[ntasks], const int border_mask_list[ntasks], const int block_num_list[ntasks], const double radius_list[ntasks], const double rab_list[ntasks][3], const int npts_global[nlevels][3], const int npts_local[nlevels][3], const int shift_local[nlevels][3], const int border_width[nlevels][3], const double dh[nlevels][3][3], const double dh_inv[nlevels][3][3], grid_task_list **task_list_out)
 Allocates a task list which can be passed to grid_collocate_task_list. See grid_task_list.h for details.
void grid_free_task_list (grid_task_list *ptr)
 Deallocates given task list, basis_sets have to be freed separately.
void grid_collocate_task_list (const grid_task_list *ptr, const enum grid_func func, const int nlevels, const int npts_local[nlevels][3], const offload_buffer *pab_blocks, offload_buffer *grids[nlevels])
 Collocate all tasks of in given list onto given grids. See grid_task_list.h for details.
void grid_integrate_task_list (const grid_task_list *ptr, const bool compute_tau, const int natoms, const int nlevels, const int npts_local[nlevels][3], const offload_buffer *pab_blocks, const 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. See grid_task_list.h for details.

Function Documentation

◆ grid_create_task_list()

void grid_create_task_list ( const bool orthorhombic,
const int ntasks,
const int nlevels,
const int natoms,
const int nkinds,
const int nblocks,
const int block_offsets[nblocks],
const double atom_positions[natoms][3],
const int atom_kinds[natoms],
const grid_basis_set * basis_sets[nkinds],
const int level_list[ntasks],
const int iatom_list[ntasks],
const int jatom_list[ntasks],
const int iset_list[ntasks],
const int jset_list[ntasks],
const int ipgf_list[ntasks],
const int jpgf_list[ntasks],
const int border_mask_list[ntasks],
const int block_num_list[ntasks],
const double radius_list[ntasks],
const double rab_list[ntasks][3],
const int npts_global[nlevels][3],
const int npts_local[nlevels][3],
const int shift_local[nlevels][3],
const int border_width[nlevels][3],
const double dh[nlevels][3][3],
const double dh_inv[nlevels][3][3],
grid_task_list ** task_list_out )

Allocates a task list which can be passed to grid_collocate_task_list. See grid_task_list.h for details.

Allocates a task list which can be passed to grid_collocate_task_list.

Author
Ole Schuett

Definition at line 23 of file grid_task_list.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ grid_free_task_list()

void grid_free_task_list ( grid_task_list * ptr)

Deallocates given task list, basis_sets have to be freed separately.

Author
Ole Schuett

Definition at line 141 of file grid_task_list.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ grid_collocate_task_list()

void grid_collocate_task_list ( const grid_task_list * ptr,
const enum grid_func func,
const int nlevels,
const int npts_local[nlevels][3],
const offload_buffer * pab_blocks,
offload_buffer * grids[nlevels] )

Collocate all tasks of in given list onto given grids. See grid_task_list.h for details.

Collocate all tasks of in given list onto given grids.

Author
Ole Schuett

Definition at line 176 of file grid_task_list.c.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ grid_integrate_task_list()

void grid_integrate_task_list ( const grid_task_list * ptr,
const bool compute_tau,
const int natoms,
const int nlevels,
const int npts_local[nlevels][3],
const offload_buffer * pab_blocks,
const 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. See grid_task_list.h for details.

Integrate all tasks of in given list from given grids.

Author
Ole Schuett

Definition at line 278 of file grid_task_list.c.

Here is the call graph for this function:
Here is the caller graph for this function: