{
class ForceOutputs;
class StepWorkload;
-}
+} // namespace gmx
//! Type of CPU function to compute a bonded interaction.
-using BondedFunction = real(*)(int nbonds, const t_iatom iatoms[],
- const t_iparams iparams[],
- const rvec x[], rvec4 f[], rvec fshift[],
- const t_pbc *pbc, const t_graph *g,
- real lambda, real *dvdlambda,
- const t_mdatoms *md, t_fcdata *fcd,
- int *ddgatindex);
+using BondedFunction = real (*)(int nbonds,
+ const t_iatom iatoms[],
+ const t_iparams iparams[],
+ const rvec x[],
+ rvec4 f[],
+ rvec fshift[],
+ const t_pbc* pbc,
+ const t_graph* g,
+ real lambda,
+ real* dvdlambda,
+ const t_mdatoms* md,
+ t_fcdata* fcd,
+ int* ddgatindex);
//! Getter for finding a callable CPU function to compute an \c ftype interaction.
BondedFunction bondedFunction(int ftype);
*
* Note that pbc_full is used only for position restraints, and is
* not initialized if there are none. */
-void calc_listed(const t_commrec *cr,
- const gmx_multisim_t *ms,
- struct gmx_wallcycle *wcycle,
- const t_idef *idef,
- const rvec x[], history_t *hist,
- gmx::ForceOutputs *forceOutputs,
- const 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, const real *lambda,
- const t_mdatoms *md,
- struct t_fcdata *fcd, int *ddgatindex,
- const gmx::StepWorkload &stepWork);
+void calc_listed(const t_commrec* cr,
+ const gmx_multisim_t* ms,
+ struct gmx_wallcycle* wcycle,
+ const t_idef* idef,
+ const rvec x[],
+ history_t* hist,
+ gmx::ForceOutputs* forceOutputs,
+ const 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,
+ const real* lambda,
+ const t_mdatoms* md,
+ struct t_fcdata* fcd,
+ int* ddgatindex,
+ const gmx::StepWorkload& stepWork);
/*! \brief As calc_listed(), but only determines the potential energy
* for the perturbed interactions.
*
* The shift forces in fr are not affected. */
-void calc_listed_lambda(const t_idef *idef,
- const rvec x[],
- const t_forcerec *fr,
- const struct t_pbc *pbc, const struct t_graph *g,
- gmx_grppairener_t *grpp, real *epot, t_nrnb *nrnb,
- const real *lambda,
- const t_mdatoms *md,
- struct t_fcdata *fcd, int *global_atom_index);
+void calc_listed_lambda(const t_idef* idef,
+ const rvec x[],
+ const t_forcerec* fr,
+ const struct t_pbc* pbc,
+ const struct t_graph* g,
+ gmx_grppairener_t* grpp,
+ real* epot,
+ t_nrnb* nrnb,
+ const real* lambda,
+ const t_mdatoms* md,
+ struct t_fcdata* fcd,
+ int* global_atom_index);
/*! \brief Do all aspects of energy and force calculations for mdrun
* on the set of listed interactions */
-void
-do_force_listed(struct gmx_wallcycle *wcycle,
- const matrix box,
- const t_lambda *fepvals,
- const t_commrec *cr,
- const gmx_multisim_t *ms,
- const t_idef *idef,
- const rvec x[],
- history_t *hist,
- gmx::ForceOutputs *forceOutputs,
- const t_forcerec *fr,
- const struct t_pbc *pbc,
- const struct t_graph *graph,
- gmx_enerdata_t *enerd,
- t_nrnb *nrnb,
- const real *lambda,
- const t_mdatoms *md,
- struct t_fcdata *fcd,
- int *global_atom_index,
- const gmx::StepWorkload &stepWork);
+void do_force_listed(struct gmx_wallcycle* wcycle,
+ const matrix box,
+ const t_lambda* fepvals,
+ const t_commrec* cr,
+ const gmx_multisim_t* ms,
+ const t_idef* idef,
+ const rvec x[],
+ history_t* hist,
+ gmx::ForceOutputs* forceOutputs,
+ const t_forcerec* fr,
+ const struct t_pbc* pbc,
+ const struct t_graph* graph,
+ gmx_enerdata_t* enerd,
+ t_nrnb* nrnb,
+ const real* lambda,
+ const t_mdatoms* md,
+ struct t_fcdata* fcd,
+ int* global_atom_index,
+ const gmx::StepWorkload& stepWork);
/*! \brief Returns true if there are position, distance or orientation restraints. */
-bool haveRestraints(const t_idef &idef,
- const t_fcdata &fcd);
+bool haveRestraints(const t_idef& idef, const t_fcdata& fcd);
/*! \brief Returns true if there are CPU (i.e. not GPU-offloaded) bonded interactions to compute. */
-bool haveCpuBondeds(const t_forcerec &fr);
+bool haveCpuBondeds(const t_forcerec& fr);
/*! \brief Returns true if there are listed interactions to compute.
*
* NOTE: the current implementation returns true if there are position restraints
* or any bonded interactions computed on the CPU.
*/
-bool haveCpuListedForces(const t_forcerec &fr,
- const t_idef &idef,
- const t_fcdata &fcd);
+bool haveCpuListedForces(const t_forcerec& fr, const t_idef& idef, const t_fcdata& fcd);
#endif