Gromacs  2018.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Enumerations
pme-pp-communication.h File Reference
#include "gromacs/math/vectypes.h"
#include "gromacs/mdlib/sighandler.h"
#include "gromacs/utility/real.h"
+ Include dependency graph for pme-pp-communication.h:
+ This graph shows which files directly or indirectly include this file:

Description

This file contains declarations and constants necessary for coordinating the communication for the offload of long-ranged PME work to separate MPI rank, for computing energies and forces (Coulomb and LJ).

Author
Berk Hess hess@.nosp@m.kth..nosp@m.se
Mark Abraham mark..nosp@m.j.ab.nosp@m.raham.nosp@m.@gma.nosp@m.il.co.nosp@m.m

Classes

struct  gmx_pme_comm_n_box_t
 Helper struct for PP-PME communication of parameters. More...
 
struct  gmx_pme_comm_vir_ene_t
 Helper struct for PP-PME communication of virial and energy. More...
 

Macros

#define PP_PME_CHARGE   (1<<0)
 Flags used to coordinate PP-PME communication and computation phases. More...
 
#define PP_PME_CHARGEB   (1<<1)
 
#define PP_PME_SQRTC6   (1<<2)
 
#define PP_PME_SQRTC6B   (1<<3)
 
#define PP_PME_SIGMA   (1<<4)
 
#define PP_PME_SIGMAB   (1<<5)
 
#define PP_PME_COORD   (1<<6)
 
#define PP_PME_ENER_VIR   (1<<9)
 
#define PP_PME_FINISH   (1<<10)
 
#define PP_PME_SWITCHGRID   (1<<11)
 
#define PP_PME_RESETCOUNTERS   (1<<12)
 

Enumerations

enum  {
  eCommType_ChargeA, eCommType_ChargeB, eCommType_SQRTC6A, eCommType_SQRTC6B,
  eCommType_SigmaA, eCommType_SigmaB, eCommType_NR, eCommType_COORD,
  eCommType_CNB
}
 MPI Tags used to separate communication of different types of quantities.
 
enum  { pmerecvqxX, pmerecvqxFINISH, pmerecvqxSWITCHGRID, pmerecvqxRESETCOUNTERS }
 Return values for gmx_pme_recv_q_x.
 

Macro Definition Documentation

#define PP_PME_CHARGE   (1<<0)

Flags used to coordinate PP-PME communication and computation phases.

Some parts of the code(gmx_pme_send_q, gmx_pme_recv_q_x) assume that the six first flags are exactly in this order.