The Neighborlist Functionality: Design Document



Introduction


This document discusses the design of the Neighborlist feature -- essentially, what it does and how it does what it does.


Purpose of the Neighborlist Functionality


This functionality is necessary/important in order to:

We'll discuss each of these aspects in the following sections:

Link Characterization: Design Considerations


In designing this aspect, we were faced with the following considerations/issues/choices.

API to access the per-neighbor statistics: Design Considerations


Module Structure


Module Structure


Core Modules


Application Design


In our implementation, the customer for the neighborlist functionality is TinyDiffusion, which assumes that all links that are seen are bidirectional and "good".  Now, one design approach that would keep the TinyDiffusion code simple by providing it an abstraction of bidirectional and "good" links.  To achieve this, the layered structure, as described below, involving the NeighborFilter module is provided.  


Future Work