def calc_preSCF(self, dry_run=False):
        """ """
        if self.is_finished_prescf:
            logger.info("preSCF has been calced.")
            return

        self.cd_work_dir("calc preSCF")
        self.check_bump_of_atoms()

        self._setup_pdf()
        self.pdfparam.step_control = "integral"
        self.save()

        pdfsim = pdf.PdfSim()
        pdfsim.sp(
            self.pdfparam,
            workdir=self.work_dir,
            db_path=self.db_path,
            dry_run=dry_run,
            cmd_archive=self._cmds["archive"],
        )

        self._cache.pop("pdfparam")
        self.is_finished_prescf = True
        self.save()

        self.restore_cwd()