Gromacs  2020.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Functions
anonymous_namespace{listed_forces.cpp} Namespace Reference

Functions

bool isPairInteraction (int ftype)
 Return true if ftype is an explicit pair-listed LJ or COULOMB interaction type: bonded LJ (usually 1-4), or special listed non-bonded for FEP.
 
void zero_thread_output (f_thread_t *f_t)
 Zero thread-local output buffers.
 
void reduce_thread_forces (int n, gmx::ArrayRef< gmx::RVec > force, const bonded_threading_t *bt, int nthreads)
 Reduce thread-local force buffers.
 
void reduce_thread_output (int n, gmx::ForceWithShiftForces *forceWithShiftForces, real *ener, gmx_grppairener_t *grpp, real *dvdl, const bonded_threading_t *bt, const gmx::StepWorkload &stepWork)
 Reduce thread-local forces, shift forces and energies.
 
BondedKernelFlavor selectBondedKernelFlavor (const gmx::StepWorkload &stepWork, const bool useSimdKernels, const bool havePerturbedInteractions)
 Returns the bonded kernel flavor. More...
 
real calc_one_bond (int thread, int ftype, const t_idef *idef, const WorkDivision &workDivision, const rvec x[], rvec4 f[], rvec fshift[], const t_forcerec *fr, const t_pbc *pbc, const t_graph *g, gmx_grppairener_t *grpp, t_nrnb *nrnb, const real *lambda, real *dvdl, const t_mdatoms *md, t_fcdata *fcd, const gmx::StepWorkload &stepWork, int *global_atom_index)
 Calculate one element of the list of bonded interactions for this thread.
 

Function Documentation

BondedKernelFlavor anonymous_namespace{listed_forces.cpp}::selectBondedKernelFlavor ( const gmx::StepWorkload stepWork,
const bool  useSimdKernels,
const bool  havePerturbedInteractions 
)

Returns the bonded kernel flavor.

Note that energies are always requested when the virial is requested (performance gain would be small). Note that currently we do not have bonded kernels that do not compute forces.