def refreshWidgets(self):
        """
        This function manually refreshed all widgets attached to this simulation.
        
        You want to call this function if any particle data has been manually changed.
        """
        if hasattr(self, '_widgets'):
            for w in self._widgets:
                w.refresh(isauto=0)
        else:
            raise RuntimeError("No widgets found")