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


This file contains function declarations necessary for mananging the PP side of PME-only ranks.

Berk Hess
Mark Abraham


void gmx_pme_send_parameters (const t_commrec *cr, const interaction_const_t *ic, gmx_bool bFreeEnergy_q, gmx_bool bFreeEnergy_lj, real *chargeA, real *chargeB, real *sqrt_c6A, real *sqrt_c6B, real *sigmaA, real *sigmaB, int maxshift_x, int maxshift_y)
 Send the charges and maxshift to out PME-only node.
void gmx_pme_send_coordinates (t_forcerec *fr, const t_commrec *cr, const matrix box, const rvec *x, real lambda_q, real lambda_lj, bool computeEnergyAndVirial, int64_t step, bool useGpuPmePpComms, bool reinitGpuPmePpComms, bool sendCoordinatesFromGpu, GpuEventSynchronizer *coordinatesReadyOnDeviceEvent, gmx_wallcycle *wcycle)
 Send the coordinates to our PME-only node and request a PME calculation.
void gmx_pme_send_finish (const t_commrec *cr)
 Tell our PME-only node to finish.
void gmx_pme_send_resetcounters (const t_commrec *cr, int64_t step)
 Tell our PME-only node to reset all cycle and flop counters.
void gmx_pme_receive_f (gmx::PmePpCommGpu *pmePpCommGpu, const t_commrec *cr, gmx::ForceWithVirial *forceWithVirial, real *energy_q, real *energy_lj, real *dvdlambda_q, real *dvdlambda_lj, bool useGpuPmePpComms, bool receivePmeForceToGpu, float *pme_cycles)
 PP nodes receive the long range forces from the PME nodes.
void gmx_pme_send_switchgrid (const t_commrec *cr, ivec grid_size, real ewaldcoeff_q, real ewaldcoeff_lj)
 Tell our PME-only node to switch to a new grid size.