ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
ctrl_output_pw.h
Go to the documentation of this file.
1#ifndef CTRL_OUTPUT_PW_H
2#define CTRL_OUTPUT_PW_H
3
4#include "source_base/module_device/device.h" // use Device
5#include "source_psi/psi.h" // define psi
6#include "source_estate/elecstate_lcao.h" // use pelec
7#include "source_psi/setup_psi_pw.h" // use Setup_Psi class
8
9namespace ModuleIO
10{
11
12// print out information in 'iter_finish' in ESolver_KS_PW
13void ctrl_iter_pw(const int istep,
14 const int iter,
15 const double &conv_esolver,
16 psi::Psi<std::complex<double>, base_device::DEVICE_CPU>* psi,
17 const K_Vectors &kv,
18 const ModulePW::PW_Basis_K *pw_wfc,
19 const Input_para& inp);
20
21// print out information in 'after_scf' in ESolver_KS_PW
22template <typename T, typename Device>
23void ctrl_scf_pw(const int istep,
24 UnitCell& ucell,
26 const Charge &chr,
27 const K_Vectors &kv,
28 const ModulePW::PW_Basis_K *pw_wfc,
29 const ModulePW::PW_Basis *pw_rho,
30 const ModulePW::PW_Basis *pw_rhod,
31 const ModulePW::PW_Basis_Big *pw_big,
33 const Device* ctx,
34 const base_device::AbacusDevice_t &device, // mohan add 2025-10-15
35 const Parallel_Grid &para_grid,
36 const Input_para& inp);
37
38// print out information in 'after_all_runners' in ESolver_KS_PW
39template <typename T, typename Device>
40void ctrl_runner_pw(UnitCell& ucell,
43 ModulePW::PW_Basis* pw_rho,
44 ModulePW::PW_Basis* pw_rhod,
45 Charge &chr,
46 K_Vectors &kv,
49 pseudopot_cell_vnl &ppcell,
50 surchem &solvent,
51 const Device* ctx,
52 Parallel_Grid &para_grid,
53 const Input_para& inp);
54
55}
56#endif
Definition charge.h:18
Definition klist.h:13
Definition pw_basis_big.h:16
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:57
A class which can convert a function of "r" to the corresponding linear superposition of plane waves ...
Definition pw_basis.h:56
Definition parallel_grid.h:8
Definition setup_psi_pw.h:16
Definition structure_factor.h:11
Definition unitcell.h:17
Definition elecstate.h:15
Definition VNL_in_pw.h:21
Definition psi.h:37
Definition surchem.h:15
Definition cal_dos.h:9
void ctrl_runner_pw(UnitCell &ucell, elecstate::ElecState *pelec, ModulePW::PW_Basis_K *pw_wfc, ModulePW::PW_Basis *pw_rho, ModulePW::PW_Basis *pw_rhod, Charge &chr, K_Vectors &kv, Setup_Psi_pw< T, Device > &stp, Structure_Factor &sf, pseudopot_cell_vnl &ppcell, surchem &solvent, const Device *ctx, Parallel_Grid &para_grid, const Input_para &inp)
Definition ctrl_output_pw.cpp:248
void ctrl_scf_pw(const int istep, UnitCell &ucell, elecstate::ElecState *pelec, const Charge &chr, const K_Vectors &kv, const ModulePW::PW_Basis_K *pw_wfc, const ModulePW::PW_Basis *pw_rho, const ModulePW::PW_Basis *pw_rhod, const ModulePW::PW_Basis_Big *pw_big, Setup_Psi_pw< T, Device > &stp, const Device *ctx, const base_device::AbacusDevice_t &device, const Parallel_Grid &para_grid, const Input_para &inp)
Definition ctrl_output_pw.cpp:84
void ctrl_iter_pw(const int istep, const int iter, const double &conv_esolver, psi::Psi< std::complex< double >, base_device::DEVICE_CPU > *psi, const K_Vectors &kv, const ModulePW::PW_Basis_K *pw_wfc, const Input_para &inp)
Definition ctrl_output_pw.cpp:21
AbacusDevice_t
Definition types.h:12
Definition exx_lip.h:23
Definition input_parameter.h:13