code: def reset(self):
          r
          self['pore.invasion_pressure'] = np.inf
          self['throat.invasion_pressure'] = np.inf
          self['pore.invasion_sequence'] = -1
          self['throat.invasion_sequence'] = -1
          self['pore.invasion_saturation'] = -1
          self['throat.invasion_saturation'] = -1
          self['pore.cluster'] = -1
          self['throat.cluster'] = -1
          self['pore.trapped'] = np.inf
          self['throat.trapped'] = np.inf
          self['pore.inlets'] = False
          self['pore.outlets'] = False
          self['pore.residual'] = False
          self['throat.residual'] = False
          for elem in ['pore', 'throat']:
              for prop in ['occupancy']:
                  try:
                      del self[elem+'.'+prop]
                  except KeyError:
                      pass
  
          # Masks for tracking pores and throats at the interface
          # Basically a quick way of getting to all the elements in the queues
          self._interface_Ts = np.zeros(self.Nt, dtype=bool)
          self._interface_Ps = np.zeros(self.Np, dtype=bool)
docs: r"""
          Resets the various data arrays on the object back to their original
          state. This is useful for repeating a simulation at different inlet
          conditions, or invasion points for instance.