Gromacs  2024.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
pairlist_tuning.h File Reference
#include <cstdio>
#include "gromacs/math/vectypes.h"
+ Include dependency graph for pairlist_tuning.h:
+ This graph shows which files directly or indirectly include this file:

Description

Declares functions for tuning adjustable parameters for the nbnxn non-bonded search and interaction kernels.

Author
Berk Hess hess@.nosp@m.kth..nosp@m.se

Functions

void increaseNstlist (FILE *fplog, t_commrec *cr, t_inputrec *ir, int nstlistOnCmdline, const gmx_mtop_t *mtop, const matrix box, real effectiveAtomDensity, bool useOrEmulateGpuForNonbondeds, const gmx::CpuInfo &cpuinfo)
 Try to increase nstlist when using the Verlet cut-off scheme. More...
 
void setupDynamicPairlistPruning (const gmx::MDLogger &mdlog, const t_inputrec &inputrec, const gmx_mtop_t &mtop, real effectiveAtomDensity, const interaction_const_t &interactionConst, PairlistParams *listParams)
 Set up the dynamic pairlist pruning. More...
 
void printNbnxmPressureError (const gmx::MDLogger &mdlog, const t_inputrec &inputrec, const gmx_mtop_t &mtop, real effectiveAtomDensity, const PairlistParams &listParams)
 Prints an estimate of the error in the pressure due to missing interactions. More...
 

Function Documentation

void increaseNstlist ( FILE *  fplog,
t_commrec *  cr,
t_inputrec *  ir,
int  nstlistOnCmdline,
const gmx_mtop_t *  mtop,
const matrix  box,
real  effectiveAtomDensity,
bool  useOrEmulateGpuForNonbondeds,
const gmx::CpuInfo cpuinfo 
)

Try to increase nstlist when using the Verlet cut-off scheme.

Parameters
[in,out]fplogLog file
[in]crThe communication record
[in]irThe input parameter record
[in]nstlistOnCmdlineThe value of nstlist provided on the command line
[in]mtopThe global topology
[in]boxThe unit cell
[in]effectiveAtomDensityThe effective atom density
[in]useOrEmulateGpuForNonbondedsTells if we are using a GPU for non-bondeds
[in]cpuinfoInformation about the CPU(s)
void printNbnxmPressureError ( const gmx::MDLogger mdlog,
const t_inputrec &  inputrec,
const gmx_mtop_t &  mtop,
real  effectiveAtomDensity,
const PairlistParams listParams 
)

Prints an estimate of the error in the pressure due to missing interactions.

The NBNxM algorithm tolerates a few missing pair interactions. Missing pair interactions will lead to a systematic overestimates of the pressure when dispersion forces dominate at the cut-off distance. This routine prints an overestimate of the error in the average pressure.

Parameters
[in,out]mdlogMD logger
[in]inputrecThe input parameter record
[in]mtopThe global topology
[in]effectiveAtomDensityThe effective atom density of the system
[in]listParamsThe list setup parameters
void setupDynamicPairlistPruning ( const gmx::MDLogger mdlog,
const t_inputrec &  inputrec,
const gmx_mtop_t &  mtop,
real  effectiveAtomDensity,
const interaction_const_t &  interactionConst,
PairlistParams listParams 
)

Set up the dynamic pairlist pruning.

Parameters
[in,out]mdlogMD logger
[in]inputrecThe input parameter record
[in]mtopThe global topology
[in]effectiveAtomDensityThe effective atom density of the system
[in]interactionConstThe nonbonded interactions constants
[in,out]listParamsThe list setup parameters