Gromacs  2026.0-dev-20241106-9ba7f4d
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
#include <cstdint>
#include "gromacs/math/vectypes.h"
#include "gromacs/utility/real.h"
+ Include dependency graph for pme_pp.h:
+ This graph shows which files directly or indirectly include this file:

Description

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

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

class  gmx::ArrayRef< typename >
 STL-like interface to a C array of T (or part of a std container of T). More...
 

Functions

void gmx_pme_send_parameters (const t_commrec *cr, const interaction_const_t &interactionConst, bool bFreeEnergy_q, bool bFreeEnergy_lj, gmx::ArrayRef< const real > chargeA, gmx::ArrayRef< const real > chargeB, gmx::ArrayRef< const real > sqrt_c6A, gmx::ArrayRef< const real > sqrt_c6B, gmx::ArrayRef< const real > sigmaA, gmx::ArrayRef< const 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, gmx::ArrayRef< const gmx::RVec > x, real lambda_q, real lambda_lj, bool computeEnergyAndVirial, int64_t step, bool useGpuPmePpComms, bool reinitGpuPmePpComms, bool sendCoordinatesFromGpu, bool receiveForcesToGpu, GpuEventSynchronizer *coordinatesReadyOnDeviceEvent, bool useMdGpuGraph, 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.