docs: def pause(self, progress_hook=None):
          """
          Pause the simulation. How is this different from stopping it? Maintain
          info sufficient to restart simulation. Sets ``is_paused`` to True.
          Will this state allow analysis? changing parameters? What can you do
          with a paused simulation?
          Should be capable of saving paused simulation for loading/resuming
          later, that is the main usage. EG: someone else need computer, or power
          goes out, so on battery backup quickly pause simulation, and save.
          Is save automatic? Should there be a parameter for auto save changed?
          """
          # default progress hook
          if progress_hook is None:
              progress_hook = sim_progress_hook
          progress_hook('simulation paused')
          self.cmd_queue.put('pause')
          self._ispaused = True