Skip to content

Commit 1a2cfc0

Browse files
committed
add output of DFT+U energy term
1 parent 559c0a4 commit 1a2cfc0

File tree

1 file changed

+41
-1
lines changed

1 file changed

+41
-1
lines changed

source/source_estate/elecstate_print.cpp

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,28 +192,52 @@ void print_etot(const Magnetism& magnet,
192192
if( (iter % PARAM.inp.out_freq_elec == 0) || converged || iter == PARAM.inp.scf_nmax )
193193
{
194194
int n_order = std::max(0, Occupy::gaussian_type);
195+
196+
//! Kohn-Sham functional energy
195197
titles.push_back("E_KohnSham");
196198
energies_Ry.push_back(elec.f_en.etot);
199+
200+
//! Kohn-Sham energy with sigma->0
197201
titles.push_back("E_KS(sigma->0)");
198202
energies_Ry.push_back(elec.f_en.etot - elec.f_en.demet / (2 + n_order));
203+
204+
//! Harris functional energy
199205
titles.push_back("E_Harris");
200206
energies_Ry.push_back(elec.f_en.etot_harris);
207+
208+
//! band energy
201209
titles.push_back("E_band");
202210
energies_Ry.push_back(elec.f_en.eband);
211+
212+
//! one-electron energy
203213
titles.push_back("E_one_elec");
204214
energies_Ry.push_back(elec.f_en.eband + elec.f_en.deband);
215+
216+
//! Hartree energy
205217
titles.push_back("E_Hartree");
206218
energies_Ry.push_back(elec.f_en.hartree_energy);
219+
220+
//! exchange-correlation energy
207221
titles.push_back("E_xc");
208222
energies_Ry.push_back(elec.f_en.etxc - elec.f_en.etxcc);
223+
224+
//! Ewald energy
209225
titles.push_back("E_Ewald");
210226
energies_Ry.push_back(elec.f_en.ewald_energy);
227+
228+
//! entropy energy
211229
titles.push_back("E_entropy(-TS)");
212230
energies_Ry.push_back(elec.f_en.demet);
231+
232+
//! correction energy for scf
213233
titles.push_back("E_descf");
214234
energies_Ry.push_back(elec.f_en.descf);
215-
titles.push_back("E_LocalPP");
235+
236+
//! local potential energy
237+
titles.push_back("E_localpp");
216238
energies_Ry.push_back(elec.f_en.e_local_pp);
239+
240+
//! vdw energy
217241
std::string vdw_method = PARAM.inp.vdw_method;
218242
if (vdw_method == "d2") // Peize Lin add 2014-04, update 2021-03-09
219243
{
@@ -225,26 +249,42 @@ void print_etot(const Magnetism& magnet,
225249
titles.push_back("E_vdwD3");
226250
energies_Ry.push_back(elec.f_en.evdw);
227251
}
252+
253+
// mohan add 20251108
254+
if (PARAM.inp.dft_plus_u)
255+
{
256+
titles.push_back("E_plusU");
257+
energies_Ry.push_back(elec.f_en.edftu);
258+
}
259+
260+
//! hybrid functional energy
228261
titles.push_back("E_exx");
229262
energies_Ry.push_back(elec.f_en.exx);
263+
264+
//! solvation energy
230265
if (PARAM.inp.imp_sol)
231266
{
232267
titles.push_back("E_sol_el");
233268
energies_Ry.push_back(elec.f_en.esol_el);
234269
titles.push_back("E_sol_cav");
235270
energies_Ry.push_back(elec.f_en.esol_cav);
236271
}
272+
273+
//! electric field energy
237274
if (PARAM.inp.efield_flag)
238275
{
239276
titles.push_back("E_efield");
240277
energies_Ry.push_back(elecstate::Efield::etotefield);
241278
}
279+
280+
//! gate energy
242281
if (PARAM.inp.gate_flag)
243282
{
244283
titles.push_back("E_gatefield");
245284
energies_Ry.push_back(elecstate::Gatefield::etotgatefield);
246285
}
247286

287+
//! deepks energy
248288
#ifdef __MLALGO
249289
if (PARAM.inp.deepks_scf)
250290
{

0 commit comments

Comments
 (0)