def more_cores(self, factor=1):
        """
        Method to increase the number of MPI procs.
        Return: new number of processors if success, 0 if processors cannot be increased.
        """
        # TODO : find a formula that works for all max_cores
        if self.max_cores > 40:
          base_increase = 4 * int(self.max_cores / 40)
        else:
          base_increase = 4

        new_cores = self.hint_cores + factor * base_increase

        if new_cores < self.max_cores:
            self.hint_cores = new_cores
            return new_cores

        raise self.Error('%s hint_cores reached limit on max_core %s' % (new_cores, self.max_cores))
Method to increase the number of MPI procs.
        Return: new number of processors if success, 0 if processors cannot be increased.