Gromacs  2026.0-dev-20250613-1722f12
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Enumerations | Functions
kernel_common.h File Reference
#include "gromacs/math/vectypes.h"
#include "gromacs/nbnxm/atomdata.h"
#include "gromacs/utility/real.h"
#include "nbnxm_enums.h"
#include "pairlist.h"
+ Include dependency graph for kernel_common.h:
+ This graph shows which files directly or indirectly include this file:

Description

Declares the nbnxm pair interaction kernel function types and kind counts, also declares utility functions used in nbnxm_kernel.cpp.

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

Enumerations

enum  {
  vdwktLJCUT_COMBGEOM, vdwktLJCUT_COMBLB, vdwktLJCUT_COMBNONE, vdwktLJFORCESWITCH,
  vdwktLJPOTSWITCH, vdwktLJEWALDCOMBGEOM, vdwktLJEWALDCOMBLB, vdwktNR = vdwktLJEWALDCOMBLB,
  vdwktNR_ref
}
 Kinds of Van der Waals treatments in NBNxM SIMD kernels. More...
 

Functions

enum EwaldExclusionType int
typedef void() 
gmx::NbnxmKernelFunc (const NbnxnPairlistCpu &nbl, const nbnxn_atomdata_t &nbat, const interaction_const_t &ic, const rvec *shift_vec, nbnxn_atomdata_output_t *out)
 Pair-interaction kernel type that also calculates energies.
 
CoulombKernelType gmx::getCoulombKernelType (EwaldExclusionType ewaldExclusionType, CoulombInteractionType coulombInteractionType, bool haveEqualCoulombVwdRadii)
 Lookup function for Coulomb kernel type.
 
int gmx::getVdwKernelType (NbnxmKernelType kernelType, LJCombinationRule ljCombinationRule, VanDerWaalsType vanDerWaalsType, InteractionModifiers interactionModifiers, LongRangeVdW longRangeVdW)
 Lookup function for Vdw kernel type.
 
void gmx::clear_fshift (real *fshift)
 Clears the shift forces.
 
void gmx::reduce_energies_over_lists (const nbnxn_atomdata_t *nbat, int nlist, real *Vvdw, real *Vc)
 Reduces the collected energy terms over the pair-lists/threads.