Gromacs  2023.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Functions
#include <cstdio>
#include <vector>
#include "gromacs/math/vectypes.h"
#include "gromacs/utility/real.h"
+ Include dependency graph for ewald.h:

Description

This file contains function declarations necessary for computing energies and forces for the plain-Ewald long-ranged part, and the correction for overall system charge for all Ewald-family methods.

Author
David van der Spoel david.nosp@m..van.nosp@m.dersp.nosp@m.oel@.nosp@m.icm.u.nosp@m.u.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

real do_ewald (bool havePbcXY2Walls, real wallEwaldZfac, real epsilonR, FreeEnergyPerturbationType freeEnergyPerturbationType, gmx::ArrayRef< const gmx::RVec > coords, gmx::ArrayRef< gmx::RVec > forces, gmx::ArrayRef< const real > chargeA, gmx::ArrayRef< const real > chargeB, const matrix box, const t_commrec *commrec, int natoms, matrix lrvir, real ewaldcoeff, real lambda, real *dvdlambda, gmx_ewald_tab_t *et)
 Do the long-ranged part of an Ewald calculation.
 
real ewald_charge_correction (const t_commrec *commrec, real epsilonR, real ewaldcoeffQ, gmx::ArrayRef< const double > qsum, real lambda, const matrix box, real *dvdlambda, tensor vir)
 Calculate the correction to the Ewald sum, due to a net system charge. More...
 

Function Documentation

real ewald_charge_correction ( const t_commrec *  commrec,
real  epsilonR,
real  ewaldcoeffQ,
gmx::ArrayRef< const double >  qsum,
real  lambda,
const matrix  box,
real dvdlambda,
tensor  vir 
)

Calculate the correction to the Ewald sum, due to a net system charge.

Should only be called on one thread.