docs: def double_relaxation_run(cls, vasp_cmd, auto_npar=True, ediffg=-0.05,
                                half_kpts_first_relax=False, auto_continue=False):
          """
          Returns a list of two jobs corresponding to an AFLOW style double
          relaxation run.
  
          Args:
              vasp_cmd (str): Command to run vasp as a list of args. For example,
                  if you are using mpirun, it can be something like
                  ["mpirun", "pvasp.5.2.11"]
              auto_npar (bool): Whether to automatically tune NPAR to be sqrt(
                  number of cores) as recommended by VASP for DFT calculations.
                  Generally, this results in significant speedups. Defaults to
                  True. Set to False for HF, GW and RPA calculations.
              ediffg (float): Force convergence criteria for subsequent runs (
                  ignored for the initial run.)
              half_kpts_first_relax (bool): Whether to halve the kpoint grid
                  for the first relaxation. Speeds up difficult convergence
                  considerably. Defaults to False.
  
          Returns:
              List of two jobs corresponding to an AFLOW style run.
          """
          incar_update = {"ISTART": 1}
          if ediffg:
              incar_update["EDIFFG"] = ediffg
          settings_overide_1 = None
          settings_overide_2 = [
              {"dict": "INCAR",
               "action": {"_set": incar_update}},
              {"file": "CONTCAR",
               "action": {"_file_copy": {"dest": "POSCAR"}}}]
          if half_kpts_first_relax and os.path.exists("KPOINTS") and \
                  os.path.exists("POSCAR"):
              kpts = Kpoints.from_file("KPOINTS")
              orig_kpts_dict = kpts.as_dict()
              # lattice vectors with length < 8 will get >1 KPOINT
              kpts.kpts = np.round(np.maximum(np.array(kpts.kpts) / 2,
                                              1)).astype(int).tolist()
              low_kpts_dict = kpts.as_dict()
              settings_overide_1 = [
                  {"dict": "KPOINTS",
                   "action": {"_set": low_kpts_dict}}
              ]
              settings_overide_2.append(
                  {"dict": "KPOINTS",
                   "action": {"_set": orig_kpts_dict}}
              )
  
          return [VaspJob(vasp_cmd, final=False, suffix=".relax1",
                          auto_npar=auto_npar, auto_continue=auto_continue,
                          settings_override=settings_overide_1),
                  VaspJob(vasp_cmd, final=True, backup=False, suffix=".relax2",
                          auto_npar=auto_npar, auto_continue=auto_continue,
                          settings_override=settings_overide_2)]