\(\renewcommand{\AA}{\text{Å}}\)
1.1.6. Scatter/gather operations
This section has functions which gather per-atom data from one or more processors into a contiguous global list ordered by atom ID. The same list is returned to all calling processors. It also contains functions which scatter per-atom data from a contiguous global list across the processors that own those atom IDs. It also has a create_atoms() function which can create new atoms by scattering them appropriately to owning processors in the LAMMPS spatial decomposition.
It documents the following functions:
-
void lammps_gather_atoms(void *handle, const char *name, int type, int count, void *data)
-
void lammps_gather_atoms_concat(void *handle, const char *name, int type, int count, void *data)
-
void lammps_gather_atoms_subset(void *handle, const char *name, int type, int count, int ndata, int *ids, void *data)
-
void lammps_scatter_atoms(void *handle, const char *name, int type, int count, void *data)
-
void lammps_scatter_atoms_subset(void *handle, const char *name, int type, int count, int ndata, int *ids, void *data)
-
void lammps_gather_bonds(void *handle, void *data)
-
void lammps_gather_angles(void *handle, void *data)
-
void lammps_gather_dihedrals(void *handle, void *data)
-
void lammps_gather_impropers(void *handle, void *data)
-
void lammps_gather(void *handle, const char *name, int type, int count, void *data)
-
void lammps_gather_concat(void *handle, const char *name, int type, int count, void *data)
-
void lammps_gather_subset(void *handle, const char *name, int type, int count, int ndata, int *ids, void *data)
-
void lammps_scatter(void *handle, const char *name, int type, int count, void *data)
-
void lammps_scatter_subset(void *handle, const char *name, int type, int count, int ndata, int *ids, void *data)
-
int lammps_create_atoms(void *handle, int n, const int *id, const int *type, const double *x, const double *v, const int *image, int bexpand)
-
void lammps_create_molecule(void *handle, const char *id, const char *json)