This file defines high-level functions for mdrun to compute energies and forces for listed interactions.
- Author
- Mark Abraham mark..nosp@m.j.ab.nosp@m.raham.nosp@m.@gma.nosp@m.il.co.nosp@m.m
|
static void | selectInteractions (InteractionDefinitions *idef, const InteractionDefinitions &idefSrc, const ListedForces::InteractionSelection interactionSelection) |
| Copies the selection interactions from idefSrc to idef .
|
|
bool | anonymous_namespace{listed_forces.cpp}::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 | anonymous_namespace{listed_forces.cpp}::zero_thread_output (f_thread_t *f_t) |
| Zero thread-local output buffers.
|
|
void | anonymous_namespace{listed_forces.cpp}::reduce_thread_forces (gmx::ArrayRef< gmx::RVec > force, const bonded_threading_t *bt, int nthreads) |
| Reduce thread-local force buffers.
|
|
void | anonymous_namespace{listed_forces.cpp}::reduce_thread_output (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 | anonymous_namespace{listed_forces.cpp}::selectBondedKernelFlavor (const gmx::StepWorkload &stepWork, const bool useSimdKernels, const bool havePerturbedInteractions) |
| Returns the bonded kernel flavor. More...
|
|
real | anonymous_namespace{listed_forces.cpp}::calc_one_bond (int thread, int ftype, const InteractionDefinitions &idef, ArrayRef< const int > iatoms, const int numNonperturbedInteractions, const WorkDivision &workDivision, const rvec x[], rvec4 f[], rvec fshift[], const t_forcerec *fr, const t_pbc *pbc, 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.
|
|
static void | calcBondedForces (const InteractionDefinitions &idef, bonded_threading_t *bt, const rvec x[], const t_forcerec *fr, const t_pbc *pbc_null, rvec *fshiftMasterBuffer, gmx_enerdata_t *enerd, t_nrnb *nrnb, const real *lambda, real *dvdl, const t_mdatoms *md, t_fcdata *fcd, const gmx::StepWorkload &stepWork, int *global_atom_index) |
| Compute the bonded part of the listed forces, parallelized over threads.
|
|
void | anonymous_namespace{listed_forces.cpp}::calc_listed (struct gmx_wallcycle *wcycle, const InteractionDefinitions &idef, bonded_threading_t *bt, const rvec x[], gmx::ForceOutputs *forceOutputs, const t_forcerec *fr, const t_pbc *pbc, gmx_enerdata_t *enerd, t_nrnb *nrnb, const real *lambda, const t_mdatoms *md, t_fcdata *fcd, int *global_atom_index, const gmx::StepWorkload &stepWork) |
| Calculates all listed force interactions.
|
|
void | anonymous_namespace{listed_forces.cpp}::calc_listed_lambda (const InteractionDefinitions &idef, bonded_threading_t *bt, const rvec x[], const t_forcerec *fr, const struct t_pbc *pbc, gmx::ArrayRef< real > forceBufferLambda, gmx::ArrayRef< gmx::RVec > shiftForceBufferLambda, gmx_grppairener_t *grpp, real *epot, gmx::ArrayRef< real > dvdl, t_nrnb *nrnb, const real *lambda, const t_mdatoms *md, t_fcdata *fcd, int *global_atom_index) |
| As calc_listed(), but only determines the potential energy for the perturbed interactions. More...
|
|