Gromacs  2016.5
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Functions
listed-forces.h File Reference
#include "gromacs/math/vectypes.h"
#include "gromacs/utility/basedefinitions.h"
+ Include dependency graph for listed-forces.h:

Description

This file contains declarations of high-level functions used by mdrun to compute energies and forces for listed interactions.

Clients of libgromacs that want to evaluate listed interactions should call functions declared here.

Author
Mark Abraham mark..nosp@m.j.ab.nosp@m.raham.nosp@m.@gma.nosp@m.il.co.nosp@m.m

Functions

gmx_bool ftype_is_bonded_potential (int ftype)
 Return whether this is an interaction that actually calculates a potential and works on multiple atoms (not e.g. a connection or a position restraint). More...
 
void calc_listed (const t_commrec *cr, struct gmx_wallcycle *wcycle, const t_idef *idef, const rvec x[], history_t *hist, rvec f[], t_forcerec *fr, const struct t_pbc *pbc, const struct t_pbc *pbc_full, const struct t_graph *g, gmx_enerdata_t *enerd, t_nrnb *nrnb, real *lambda, const t_mdatoms *md, struct t_fcdata *fcd, int *ddgatindex, int force_flags)
 Calculates all listed force interactions. More...
 
void calc_listed_lambda (const t_idef *idef, const rvec x[], t_forcerec *fr, const struct t_pbc *pbc, const struct t_graph *g, gmx_grppairener_t *grpp, real *epot, t_nrnb *nrnb, real *lambda, const t_mdatoms *md, struct t_fcdata *fcd, int *global_atom_index)
 As calc_listed(), but only determines the potential energy for the perturbed interactions. More...
 
void do_force_listed (struct gmx_wallcycle *wcycle, matrix box, const t_lambda *fepvals, const t_commrec *cr, const t_idef *idef, const rvec x[], history_t *hist, rvec f[], t_forcerec *fr, const struct t_pbc *pbc, const struct t_graph *graph, gmx_enerdata_t *enerd, t_nrnb *nrnb, real *lambda, const t_mdatoms *md, struct t_fcdata *fcd, int *global_atom_index, int flags)
 Do all aspects of energy and force calculations for mdrun on the set of listed interactions.
 

Function Documentation

void calc_listed ( const t_commrec *  cr,
struct gmx_wallcycle *  wcycle,
const t_idef *  idef,
const rvec  x[],
history_t *  hist,
rvec  f[],
t_forcerec *  fr,
const struct t_pbc pbc,
const struct t_pbc pbc_full,
const struct t_graph *  g,
gmx_enerdata_t *  enerd,
t_nrnb *  nrnb,
real lambda,
const t_mdatoms md,
struct t_fcdata *  fcd,
int *  ddgatindex,
int  force_flags 
)

Calculates all listed force interactions.

Note that pbc_full is used only for position restraints, and is not initialized if there are none.

void calc_listed_lambda ( const t_idef *  idef,
const rvec  x[],
t_forcerec *  fr,
const struct t_pbc pbc,
const struct t_graph *  g,
gmx_grppairener_t *  grpp,
real epot,
t_nrnb *  nrnb,
real lambda,
const t_mdatoms md,
struct t_fcdata *  fcd,
int *  global_atom_index 
)

As calc_listed(), but only determines the potential energy for the perturbed interactions.

The shift forces in fr are not affected.

gmx_bool ftype_is_bonded_potential ( int  ftype)

Return whether this is an interaction that actually calculates a potential and works on multiple atoms (not e.g. a connection or a position restraint).

Todo:
This function could go away when idef is not a big bucket of everything.