def METHOD_NAME(self):
    """
    This callback is called when all tasks in the Work reach status `S_OK`.
    Here are add a new PhononWork for each volume using the relaxed structure.
    """
    if self.edos_ngkpt is not None: self.edos_work = Work()
    # Build phonon works for the different volumes.
    for ivol, task in enumerate(self.relax_tasks_vol):
        relaxed_structure = task.get_final_structure()
        scf_input = self.initial_scf_input.new_with_structure(relaxed_structure)
        ph_work = PhononWork.from_scf_input(scf_input, self.ngqpt, is_ngqpt=True, tolerance=None,
                                            with_becs=self.with_becs, ddk_tolerance=None)
        self.ph_works_vol[ivol] = ph_work
        # Add e-DOS calculation.
        if self.edos_ngkpt is not None:
            edos_input = scf_input.make_edos_input(self.edos_ngkpt)
            self.edos_work.register_nscf_task(edos_input, deps={ph_work[0]: "DEN"})
        self.flow.register_work(ph_work)
    if self.edos_ngkpt is not None: self.flow.register_work(self.edos_work)
    self.flow.allocate()
    self.flow.build_and_pickle_dump()
    return super().METHOD_NAME()