Gromacs  2026.0-dev-20251119-5f0a571d
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members | Public Types | Public Member Functions | Public Attributes
gmx::MDModulesPairlistConstructedSignal Struct Reference

#include <gromacs/mdrunutility/mdmodulesnotifiers.h>

+ Collaboration diagram for gmx::MDModulesPairlistConstructedSignal:

Description

Notification that the atom pair list has be (re)constructed.

This notification is emitted after the atom pair list has been reconstructed. The returned pair list is valid until the next notification. Two lists are returned. One is the list of interating pairs. The other is a list of pairs that are explicitly excluded from interacting in the topology. This list does not include self-pairs. A pairlist is returned on each PP-MPI-rank / domain. Together these pairlists contain all pairs in the system that are within the pairlist cut-off.

Both lists have entries that consist of a pair where the first pair in the pair of atom indices and the second a shift index that indicates the periodic shift. The distance vector between a pair of particles is: x[first.first] - x[first.second] + shiftVector[second] The composition in terms of box vectors of shiftVector is given by shiftIndexToXYZ() which is declared and defined in gromacs/pbcutil/ishift.h.

At the time of construction, the pairlist contains all interacting atom pairs within the pairlist cut-off rlist. But within the next nstlist steps where this pairlist is used, atoms move around. Then nearly all pairs within max(rvdw, rcoulomb) are guaranteed to be in the returned pairlist. Thus this is the maximum cut-off distances one should use with the returned pairlist.

Public Types

using ParticlePair = std::pair< int, int >
 
using PairlistEntry = std::pair< ParticlePair, int >
 

Public Member Functions

 MDModulesPairlistConstructedSignal (ArrayRef< const PairlistEntry > pairlist, ArrayRef< const PairlistEntry > excludedPairlist, ArrayRef< const int > atomTypes)
 

Public Attributes

ArrayRef< const PairlistEntry > pairlist_
 The list of interacting atom pairs.
 
ArrayRef< const PairlistEntry > excludedPairlist_
 The list of excluded atom pairs.
 
ArrayRef< const int > atomTypes_
 The list of atom types for all atoms occuring in the pairlist.
 

The documentation for this struct was generated from the following file: