From c5f5b043fbe31a971d0b25fe79fafef939862617 Mon Sep 17 00:00:00 2001 From: AsTonyshment Date: Mon, 3 Nov 2025 19:39:25 +0800 Subject: [PATCH] Modify the call to Parallel_Orbital and remove unnecessary code in ctrl_output_td --- .../source_esolver/esolver_ks_lcao_tddft.cpp | 28 +++++----- source/source_io/ctrl_output_td.cpp | 55 ------------------- 2 files changed, 14 insertions(+), 69 deletions(-) diff --git a/source/source_esolver/esolver_ks_lcao_tddft.cpp b/source/source_esolver/esolver_ks_lcao_tddft.cpp index 749ba72a73..de1799f9f1 100644 --- a/source/source_esolver/esolver_ks_lcao_tddft.cpp +++ b/source/source_esolver/esolver_ks_lcao_tddft.cpp @@ -447,20 +447,20 @@ void ESolver_KS_LCAO_TDDFT::after_scf(UnitCell& ucell, const int ist // Output energy for sub-loop (electronic step) std::cout << " Potential (Ry): " << std::setprecision(15) << this->pelec->f_en.etot << std::endl; - ModuleIO::ctrl_output_td( - ucell, - this->chr.rho_save, - this->chr.rhopw, - istep, - this->psi, - this->pelec, - this->kv, - this->two_center_bundle_.overlap_orb.get(), - dynamic_cast>*>(this->pelec)->get_DM()->get_paraV_pointer(), - this->orb_, - this->velocity_mat, - this->RA, - this->td_p); + // Output dipole, current, etc. + ModuleIO::ctrl_output_td(ucell, + this->chr.rho_save, + this->chr.rhopw, + istep, + this->psi, + this->pelec, + this->kv, + this->two_center_bundle_.overlap_orb.get(), + &this->pv, + this->orb_, + this->velocity_mat, + this->RA, + this->td_p); ModuleBase::timer::tick(this->classname, "after_scf"); } diff --git a/source/source_io/ctrl_output_td.cpp b/source/source_io/ctrl_output_td.cpp index 4426ce3cdd..2f12dbfca1 100644 --- a/source/source_io/ctrl_output_td.cpp +++ b/source/source_io/ctrl_output_td.cpp @@ -25,61 +25,6 @@ void ctrl_output_td(const UnitCell& ucell, { ModuleBase::TITLE("ModuleIO", "ctrl_output_td"); - // Original code commented out, might need reference later - - // // (1) Write dipole information - // for (int is = 0; is < PARAM.inp.nspin; is++) - // { - // if (PARAM.inp.out_dipole == 1) - // { - // std::stringstream ss_dipole; - // ss_dipole << PARAM.globalv.global_out_dir << "dipole_s" << is + 1 << ".txt"; - // ModuleIO::write_dipole(ucell, this->chr.rho_save[is], this->chr.rhopw, is, istep, ss_dipole.str()); - // } - // } - - // // (2) Write current information - // elecstate::DensityMatrix, double>* tmp_DM - // = dynamic_cast>*>(this->pelec)->get_DM(); - // if (TD_info::out_current) - // { - // if (TD_info::out_current_k) - // { - // ModuleIO::write_current_eachk(ucell, - // istep, - // this->psi, - // this->pelec, - // this->kv, - // this->two_center_bundle_.overlap_orb.get(), - // tmp_DM->get_paraV_pointer(), - // this->orb_, - // this->velocity_mat, - // this->RA); - // } - // else - // { - // ModuleIO::write_current(ucell, - // istep, - // this->psi, - // this->pelec, - // this->kv, - // this->two_center_bundle_.overlap_orb.get(), - // tmp_DM->get_paraV_pointer(), - // this->orb_, - // this->velocity_mat, - // this->RA); - // } - // } - - // // (3) Output file for restart - // if (PARAM.inp.out_freq_ion > 0) // default value of out_freq_ion is 0 - // { - // if (istep % PARAM.inp.out_freq_ion == 0) - // { - // td_p->out_restart_info(istep, elecstate::H_TDDFT_pw::At, elecstate::H_TDDFT_pw::At_laststep); - // } - // } - #ifdef __LCAO // (1) Write dipole information for (int is = 0; is < PARAM.inp.nspin; ++is)