This file contains function declarations necessary for computing energies and forces for the PME long-ranged part (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
|
int | gmx_pme_reinit (struct gmx_pme_t **pmedata, t_commrec *cr, struct gmx_pme_t *pme_src, const t_inputrec *ir, ivec grid_size) |
| As gmx_pme_init, but takes most settings, except the grid, from pme_src.
|
|
void | gmx_pme_check_restrictions (int pme_order, int nkx, int nky, int nkz, int nnodes_major, int nnodes_minor, gmx_bool bUseThreads, gmx_bool bFatal, gmx_bool *bValidSettings) |
| Check restrictions on pme_order and the PME grid nkx,nky,nkz. More...
|
|
gmx_pme_pp_t | gmx_pme_pp_init (t_commrec *cr) |
| Initialize the PME-only side of the PME <-> PP communication.
|
|
void | gmx_pme_send_switchgrid (t_commrec *cr, ivec grid_size, real ewaldcoeff_q, real ewaldcoeff_lj) |
| Tell our PME-only node to switch to a new grid size.
|
|
int | gmx_pme_recv_coeffs_coords (struct gmx_pme_pp *pme_pp, int *natoms, real **chargeA, real **chargeB, real **sqrt_c6A, real **sqrt_c6B, real **sigmaA, real **sigmaB, matrix box, rvec **x, rvec **f, int *maxshift_x, int *maxshift_y, gmx_bool *bFreeEnergy_q, gmx_bool *bFreeEnergy_lj, real *lambda_q, real *lambda_lj, gmx_bool *bEnerVir, int *pme_flags, gmx_int64_t *step, ivec grid_size, real *ewaldcoeff_q, real *ewaldcoeff_lj) |
| Called by PME-only ranks to receive coefficients and coordinates. More...
|
|
void | gmx_pme_send_force_vir_ener (struct gmx_pme_pp *pme_pp, rvec *f, matrix vir_q, real energy_q, matrix vir_lj, real energy_lj, real dvdlambda_q, real dvdlambda_lj, float cycles) |
| Send the PME mesh force, virial and energy to the PP-only nodes.
|
|
void gmx_pme_check_restrictions |
( |
int |
pme_order, |
|
|
int |
nkx, |
|
|
int |
nky, |
|
|
int |
nkz, |
|
|
int |
nnodes_major, |
|
|
int |
nnodes_minor, |
|
|
gmx_bool |
bUseThreads, |
|
|
gmx_bool |
bFatal, |
|
|
gmx_bool * |
bValidSettings |
|
) |
| |
Check restrictions on pme_order and the PME grid nkx,nky,nkz.
With bFatal=TRUE, a fatal error is generated on violation, bValidSettings=NULL can be passed. With bFatal=FALSE, *bValidSettings reports the validity of the settings. bUseThreads tells if any MPI rank doing PME uses more than 1 threads. If at calling you bUseThreads is unknown, pass TRUE for conservative checking.