Gromacs
2020.4
|
#include "gromacs/math/vectypes.h"
#include "gromacs/utility/real.h"
#include "atomdata.h"
#include "pairlist.h"
Declares the nbnxm pair interaction kernel function types and kind counts, also declares utility functions used in nbnxm_kernel.cpp.
Typedefs | |
typedef void( | nbk_func_ener )(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. | |
typedef nbk_func_ener * | p_nbk_func_ener |
Pointer to nbk_func_ener . | |
typedef void( | nbk_func_noener )(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 does not calculates energies. | |
typedef nbk_func_noener * | p_nbk_func_noener |
Pointer to nbk_func_noener . | |
Enumerations | |
enum | { coulktRF, coulktTAB, coulktTAB_TWIN, coulktEWALD, coulktEWALD_TWIN, coulktNR } |
Kinds of electrostatic treatments in SIMD Verlet kernels. | |
enum | { vdwktLJCUT_COMBGEOM, vdwktLJCUT_COMBLB, vdwktLJCUT_COMBNONE, vdwktLJFORCESWITCH, vdwktLJPOTSWITCH, vdwktLJEWALDCOMBGEOM, vdwktLJEWALDCOMBLB, vdwktNR = vdwktLJEWALDCOMBLB, vdwktNR_ref } |
Kinds of Van der Waals treatments in SIMD Verlet kernels. More... | |
Functions | |
void | clearForceBuffer (nbnxn_atomdata_t *nbat, int outputIndex) |
Clears the force buffer. More... | |
void | clear_fshift (real *fshift) |
Clears the shift forces. | |
void | 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. | |
anonymous enum |
Kinds of Van der Waals treatments in SIMD Verlet kernels.
The LJCUT_COMB
refers to the LJ combination rule for the short range. The EWALDCOMB
refers to the combination rule for the grid part. vdwktNR
is the number of VdW treatments for the SIMD kernels. vdwktNR_ref
is the number of VdW treatments for the C reference kernels. These two numbers differ, because currently only the reference kernels support LB combination rules for the LJ-Ewald grid part.
void clearForceBuffer | ( | nbnxn_atomdata_t * | nbat, |
int | outputIndex | ||
) |
Clears the force buffer.
Either the whole buffer is cleared or only the parts used by thread/task outputIndex
when nbat->bUseBufferFlags is set.
[in,out] | nbat | The Nbnxm atom data |
[in] | outputIndex | The index of the output object to clear |