Gromacs  2016.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
#include "gromacs/math/vectypes.h"
#include "gromacs/mdtypes/commrec.h"
#include "gromacs/utility/basedefinitions.h"
+ Include dependency graph for domdec_specatomcomm.h:
+ This graph shows which files directly or indirectly include this file:

Description

This file declares functions for domdec to use while managing communication of atoms required for special purposes.

Author
Berk Hess hess@.nosp@m.kth..nosp@m.se

Classes

struct  gmx_domdec_specat_comm_t
 Struct with setup and buffers for special atom communication. More...
 

Functions

void dd_move_f_specat (gmx_domdec_t *dd, gmx_domdec_specat_comm_t *spac, rvec *f, rvec *fshift)
 Communicates the force for special atoms, the shift forces are reduced with fshift != NULL.
 
void dd_move_x_specat (gmx_domdec_t *dd, gmx_domdec_specat_comm_t *spac, matrix box, rvec *x0, rvec *x1, gmx_bool bX1IsCoord)
 Communicates the coordinates for special atoms. More...
 
int setup_specat_communication (gmx_domdec_t *dd, ind_req_t *ireq, gmx_domdec_specat_comm_t *spac, gmx_hash_t *ga2la_specat, int at_start, int vbuf_fac, const char *specat_type, const char *add_err)
 Sets up the communication for special atoms. More...
 
gmx_domdec_specat_comm_tspecat_comm_init (int nthread)
 Initialize a special communication struct.
 

Function Documentation

void dd_move_x_specat ( gmx_domdec_t *  dd,
gmx_domdec_specat_comm_t spac,
matrix  box,
rvec *  x0,
rvec *  x1,
gmx_bool  bX1IsCoord 
)

Communicates the coordinates for special atoms.

Parameters
[in]ddDomain decomposition struct
[in]spacSpecial atom communication struct
[in]boxBox, used for pbc
[in,out]x0Vector to communicate
[in,out]x1Vector to communicate, when != NULL
[in]bX1IsCoordTells is x1 is a coordinate vector (needs pbc)
int setup_specat_communication ( gmx_domdec_t *  dd,
ind_req_t *  ireq,
gmx_domdec_specat_comm_t spac,
gmx_hash_t ga2la_specat,
int  at_start,
int  vbuf_fac,
const char *  specat_type,
const char *  add_err 
)

Sets up the communication for special atoms.

Parameters
[in]ddDomain decomposition struct
[in]ireqList of requested atom indices
[in,out]spacSpecial atom communication struct
[out]ga2la_specatGlobal to local special atom index
[in]at_startIndex in local state where to start storing communicated atoms
[in]vbuf_facBuffer factor, 1 or 2 for communicating 1 or 2 vectors
[in]specat_typeName of the special atom, used for error message
[in]add_errText to add at the end of error message when atoms can't be found