Gromacs
2019-rc1
|
#include "gromacs/math/vectypes.h"
#include "gromacs/mdlib/nbnxn_atomdata.h"
#include "gromacs/mdlib/nbnxn_pairlist.h"
#include "gromacs/utility/real.h"
Declares the nbnxn pair interaction kernel function types and kind counts, also declares utility functions used in nbnxn_kernel.cpp.
Typedefs | |
typedef void( | nbk_func_ener )(const nbnxn_pairlist_t *nbl, const nbnxn_atomdata_t *nbat, const interaction_const_t *ic, rvec *shift_vec, real *f, real *fshift, real *Vvdw, real *Vc) |
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 nbnxn_pairlist_t *nbl, const nbnxn_atomdata_t *nbat, const interaction_const_t *ic, rvec *shift_vec, real *f, real *fshift) |
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 | clear_f (const nbnxn_atomdata_t *nbat, int output_index, real *f) |
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 clear_f | ( | const nbnxn_atomdata_t * | nbat, |
int | output_index, | ||
real * | f | ||
) |
Clears the force buffer.
Either the whole buffer is cleared or only the parts used by the current thread when nbat->bUseBufferFlags is set. In the latter case output_index is the task/thread list/buffer index.