docs: def setup(self):
          """
          Performs initial setup for VaspNEBJob, including overriding any settings
          and backing up.
          """
          neb_dirs = self.neb_dirs
  
          if self.backup:
              # Back up KPOINTS, INCAR, POTCAR
              for f in VASP_NEB_INPUT_FILES:
                  shutil.copy(f, "{}.orig".format(f))
              # Back up POSCARs
              for path in neb_dirs:
                  poscar = os.path.join(path, "POSCAR")
                  shutil.copy(poscar, "{}.orig".format(poscar))
  
          if self.half_kpts and os.path.exists("KPOINTS"):
              kpts = Kpoints.from_file("KPOINTS")
              kpts.kpts = np.maximum(np.array(kpts.kpts) / 2, 1)
              kpts.kpts = kpts.kpts.astype(int).tolist()
              if tuple(kpts.kpts[0]) == (1, 1, 1):
                  kpt_dic = kpts.as_dict()
                  kpt_dic["generation_style"] = 'Gamma'
                  kpts = Kpoints.from_dict(kpt_dic)
              kpts.write_file("KPOINTS")
  
          if self.auto_npar:
              try:
                  incar = Incar.from_file("INCAR")
                  import multiprocessing
                  # Try sge environment variable first
                  # (since multiprocessing counts cores on the current
                  # machine only)
                  ncores = os.environ.get('NSLOTS') or multiprocessing.cpu_count()
                  ncores = int(ncores)
                  for npar in range(int(math.sqrt(ncores)),
                                    ncores):
                      if ncores % npar == 0:
                          incar["NPAR"] = npar
                          break
                  incar.write_file("INCAR")
              except:
                  pass
  
          if self.auto_continue and \
                  os.path.exists("STOPCAR") and \
                  not os.access("STOPCAR", os.W_OK):
              # Remove STOPCAR
              os.chmod("STOPCAR", 0o644)
              os.remove("STOPCAR")
  
              # Copy CONTCAR to POSCAR
              for path in self.neb_sub:
                  contcar = os.path.join(path, "CONTCAR")
                  poscar = os.path.join(path, "POSCAR")
                  shutil.copy(contcar, poscar)
  
          if self.settings_override is not None:
              VaspModder().apply_actions(self.settings_override)