Skip to content

Use separate cutoff for bonded and non-bonded interactions #3680

@fweik

Description

@fweik

Because espresso finds bond partners by an index, and not by spatial neighbor search it is sufficient
for bond partners to be present (real or ghost) on the node where a bond is evaluated. Hence the cutoff for bonds needs only to be considered for the halo size, not for the cell size. This can lead to
considerable performance increase: e.g. currently adding a dihedral bond doubles the cutoff, and hence the cell size. This causes an 8-fold increase in the number of pairs that are considered in the short range pair finding. It would actually be sufficient die just use a two-cell halo and leave the cell size as is, which would not affect the performance of the hot loop.

This is also required to be able to handle multi-body bonds without the need of a reduction after the force calculation, because by selecting an appropriate halo size for the bond types present (1, 2 or 3) allows for evaluating bonds on ghost particles without influencing the performance of the pair loop.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions