struct BONDS {
  int n; // number of bonds
  <-- snip -->
  int *ia;
  // ia[n] : particle index of one end of the bond
  int *ib;
  // ib[n] : particle index of the other end of the bond
};
struct BONDS_GROUP {
  int np; // number of particles in this group
  int *ip;
  // ip[np] : particle index of the group particles
  int *bonds;
  // bonds[np-1] : independent bond list
};
struct BONDS_GROUPS {
  int n;                      // number of groups
  struct BONDS_GROUP **group; // grp[ng]
};
(NOTE: this is still in development 
and not imported into libstokes yet.)