|
static int | nral_rt (int ftype) |
| Returns the number of atom entries for il in gmx_reverse_top_t.
|
|
static gmx_bool | dd_check_ftype (int ftype, gmx_bool bBCheck, gmx_bool bConstr, gmx_bool bSettle) |
| Return whether interactions of type ftype need to be assigned exactly once.
|
|
static void | print_error_header (FILE *fplog, const char *moltypename, int nprint) |
| Print a header on error messages.
|
|
static void | print_missing_interactions_mb (FILE *fplog, t_commrec *cr, const gmx_reverse_top_t *rt, const char *moltypename, const reverse_ilist_t *ril, int a_start, int a_end, int nat_mol, int nmol, const t_idef *idef) |
| Help print error output when interactions are missing.
|
|
static void | print_missing_interactions_atoms (FILE *fplog, t_commrec *cr, const gmx_mtop_t *mtop, const t_idef *idef) |
| Help print error output when interactions are missing.
|
|
void | dd_print_missing_interactions (FILE *fplog, t_commrec *cr, int local_count, const gmx_mtop_t *top_global, const gmx_localtop_t *top_local, t_state *state_local) |
| Print error output when interactions are missing.
|
|
static void | global_atomnr_to_moltype_ind (gmx_reverse_top_t *rt, int i_gl, int *mb, int *mt, int *mol, int *i_mol) |
| Return global topology molecule information for global atom index i_gl .
|
|
static void | count_excls (const t_block *cgs, const t_blocka *excls, int *n_excl, int *n_intercg_excl, int *n_excl_at_max) |
| Count the exclusions for all atoms in cgs .
|
|
static int | low_make_reverse_ilist (const t_ilist *il_mt, const t_atom *atom, const int *const *vsite_pbc, int *count, gmx_bool bConstr, gmx_bool bSettle, gmx_bool bBCheck, int *r_index, int *r_il, gmx_bool bLinkToAllAtoms, gmx_bool bAssign) |
| Run the reverse ilist generation and store it when bAssign = TRUE.
|
|
static int | make_reverse_ilist (const t_ilist *ilist, const t_atoms *atoms, const int *const *vsite_pbc, gmx_bool bConstr, gmx_bool bSettle, gmx_bool bBCheck, gmx_bool bLinkToAllAtoms, reverse_ilist_t *ril_mt) |
| Make the reverse ilist: a list of bonded interactions linked to atoms.
|
|
static void | destroy_reverse_ilist (reverse_ilist_t *ril) |
| Destroys a reverse_ilist_t struct.
|
|
static gmx_reverse_top_t * | make_reverse_top (const gmx_mtop_t *mtop, gmx_bool bFE, const int *const *const *vsite_pbc_molt, gmx_bool bConstr, gmx_bool bSettle, gmx_bool bBCheck, int *nint) |
| Generate the reverse topology.
|
|
void | dd_make_reverse_top (FILE *fplog, gmx_domdec_t *dd, const gmx_mtop_t *mtop, const gmx_vsite_t *vsite, const t_inputrec *ir, gmx_bool bBCheck) |
| Generate and store the reverse topology.
|
|
static void | add_ifunc_for_vsites (t_iatom *tiatoms, gmx_ga2la_t *ga2la, int nral, gmx_bool bHomeA, int a, int a_gl, int a_mol, const t_iatom *iatoms, t_ilist *il) |
| Store a vsite interaction at the end of il . More...
|
|
static void | add_ifunc (int nral, t_iatom *tiatoms, t_ilist *il) |
| Store a bonded interaction at the end of il .
|
|
static void | add_posres (int mol, int a_mol, const gmx_molblock_t *molb, t_iatom *iatoms, const t_iparams *ip_in, t_idef *idef) |
| Store a position restraint in idef and iatoms, complex because the parameters are different for each entry.
|
|
static void | add_fbposres (int mol, int a_mol, const gmx_molblock_t *molb, t_iatom *iatoms, const t_iparams *ip_in, t_idef *idef) |
| Store a flat-bottomed position restraint in idef and iatoms, complex because the parameters are different for each entry.
|
|
static void | add_vsite (gmx_ga2la_t *ga2la, const int *index, const int *rtil, int ftype, int nral, gmx_bool bHomeA, int a, int a_gl, int a_mol, const t_iatom *iatoms, t_idef *idef, int **vsite_pbc, int *vsite_pbc_nalloc) |
| Store a virtual site interaction, complex because of PBC and recursion.
|
|
static void | make_la2lc (gmx_domdec_t *dd) |
| Update the local atom to local charge group index.
|
|
static real | dd_dist2 (t_pbc *pbc_null, rvec *cg_cm, const int *la2lc, int i, int j) |
| Returns the squared distance between charge groups i and j .
|
|
static void | combine_blocka (t_blocka *dest, const thread_work_t *src, int nsrc) |
| Append t_blocka block structures 1 to nsrc in src to *dest.
|
|
static void | combine_idef (t_idef *dest, const thread_work_t *src, int nsrc, gmx_vsite_t *vsite) |
| Append t_idef structures 1 to nsrc in src to *dest, virtual sites need special attention, as pbc info differs per vsite.
|
|
static void | check_assign_interactions_atom (int i, int i_gl, int mol, int i_mol, const int *index, const int *rtil, gmx_bool bInterMolInteractions, int ind_start, int ind_end, const gmx_domdec_t *dd, const gmx_domdec_zones_t *zones, const gmx_molblock_t *molb, gmx_bool bRCheckMB, ivec rcheck, gmx_bool bRCheck2B, real rc2, int *la2lc, t_pbc *pbc_null, rvec *cg_cm, const t_iparams *ip_in, t_idef *idef, int **vsite_pbc, int *vsite_pbc_nalloc, int iz, gmx_bool bBCheck, int *nbonded_local) |
| Check and when available assign bonded interactions for local atom i.
|
|
static int | make_bondeds_zone (gmx_domdec_t *dd, const gmx_domdec_zones_t *zones, const gmx_molblock_t *molb, gmx_bool bRCheckMB, ivec rcheck, gmx_bool bRCheck2B, real rc2, int *la2lc, t_pbc *pbc_null, rvec *cg_cm, const t_iparams *ip_in, t_idef *idef, int **vsite_pbc, int *vsite_pbc_nalloc, int izone, int at_start, int at_end) |
| This function looks up and assigns bonded interactions for zone iz. More...
|
|
static void | set_no_exclusions_zone (gmx_domdec_t *dd, gmx_domdec_zones_t *zones, int iz, t_blocka *lexcls) |
| Set the exclusion data for i-zone iz for the case of no exclusions.
|
|
static int | make_exclusions_zone_cg (gmx_domdec_t *dd, gmx_domdec_zones_t *zones, const gmx_moltype_t *moltype, gmx_bool bRCheck, real rc2, int *la2lc, t_pbc *pbc_null, rvec *cg_cm, const int *cginfo, t_blocka *lexcls, int iz, int cg_start, int cg_end) |
| Set the exclusion data for i-zone iz . More...
|
|
static void | make_exclusions_zone (gmx_domdec_t *dd, gmx_domdec_zones_t *zones, const gmx_moltype_t *moltype, const int *cginfo, t_blocka *lexcls, int iz, int at_start, int at_end) |
| Set the exclusion data for i-zone iz .
|
|
static void | check_alloc_index (t_blocka *ba, int nindex_max) |
| Ensure we have enough space in ba for nindex_max indices.
|
|
static void | check_exclusions_alloc (gmx_domdec_t *dd, gmx_domdec_zones_t *zones, t_blocka *lexcls) |
| Ensure that we have enough space for exclusion storate in lexcls .
|
|
static void | finish_local_exclusions (gmx_domdec_t *dd, gmx_domdec_zones_t *zones, t_blocka *lexcls) |
| Set the total count indexes for the local exclusions, needed by several functions.
|
|
static void | clear_idef (t_idef *idef) |
| Clear a t_idef struct.
|
|
static int | make_local_bondeds_excls (gmx_domdec_t *dd, gmx_domdec_zones_t *zones, const gmx_mtop_t *mtop, const int *cginfo, gmx_bool bRCheckMB, ivec rcheck, gmx_bool bRCheck2B, real rc, int *la2lc, t_pbc *pbc_null, rvec *cg_cm, t_idef *idef, gmx_vsite_t *vsite, t_blocka *lexcls, int *excl_count) |
| Generate and store all required local bonded interactions in idef and local exclusions in lexcls .
|
|
void | dd_make_local_cgs (gmx_domdec_t *dd, t_block *lcgs) |
| Store the local charge group index in lcgs .
|
|
void | dd_make_local_top (gmx_domdec_t *dd, gmx_domdec_zones_t *zones, int npbcdim, matrix box, rvec cellsize_min, ivec npulse, t_forcerec *fr, rvec *cgcm_or_x, gmx_vsite_t *vsite, const gmx_mtop_t *mtop, gmx_localtop_t *ltop) |
| Generate the local topology and virtual site data.
|
|
void | dd_sort_local_top (gmx_domdec_t *dd, const t_mdatoms *mdatoms, gmx_localtop_t *ltop) |
| Sort ltop->ilist when we are doing free energy.
|
|
gmx_localtop_t * | dd_init_local_top (const gmx_mtop_t *top_global) |
| Construct local topology.
|
|
void | dd_init_local_state (gmx_domdec_t *dd, t_state *state_global, t_state *state_local) |
| Construct local state.
|
|
static void | check_link (t_blocka *link, int cg_gl, int cg_gl_j) |
| Check if a link is stored in link between charge groups cg_gl and cg_gl_j and if not so, store a link.
|
|
static int * | make_at2cg (t_block *cgs) |
| Allocate and return an array of the charge group index for all atoms.
|
|
t_blocka * | make_charge_group_links (const gmx_mtop_t *mtop, gmx_domdec_t *dd, cginfo_mb_t *cginfo_mb) |
| Generate a list of links between charge groups that are linked by bonded interactions.
|
|
static void | update_max_bonded_distance (real r2, int ftype, int a1, int a2, bonded_distance_t *bd) |
| Compare distance^2 r2 against the distance in bd and if larger store it along with ftype and atom indices a1 and a2 .
|
|
static void | bonded_cg_distance_mol (gmx_moltype_t *molt, int *at2cg, gmx_bool bBCheck, gmx_bool bExcl, rvec *cg_cm, bonded_distance_t *bd_2b, bonded_distance_t *bd_mb) |
| Set the distance, function type and atom indices for the longest distance between charge-groups of molecule type molt for two-body and multi-body bonded interactions.
|
|
static void | bonded_distance_intermol (const t_ilist *ilists_intermol, gmx_bool bBCheck, const rvec *x, int ePBC, matrix box, bonded_distance_t *bd_2b, bonded_distance_t *bd_mb) |
| Set the distance, function type and atom indices for the longest atom distance involved in intermolecular interactions for two-body and multi-body bonded interactions.
|
|
static void | get_cgcm_mol (const gmx_moltype_t *molt, const gmx_ffparams_t *ffparams, int ePBC, t_graph *graph, matrix box, const gmx_vsite_t *vsite, const rvec *x, rvec *xs, rvec *cg_cm) |
| Compute charge group centers of mass for molecule molt .
|
|
static int | have_vsite_molt (gmx_moltype_t *molt) |
| Returns whether molt has a virtual site.
|
|
void | dd_bonded_cg_distance (FILE *fplog, const gmx_mtop_t *mtop, const t_inputrec *ir, const rvec *x, matrix box, gmx_bool bBCheck, real *r_2b, real *r_mb) |
| Calculate the maximum distance involved in 2-body and multi-body bonded interactions.
|
|