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,
32 Setup_Psi_pw &stp,
33 const Parallel_Grid &para_grid,
34 const Input_para& inp);
35
36// print out information in 'after_all_runners' in ESolver_KS_PW
37template <typename T, typename Device>
38void ctrl_runner_pw(UnitCell& ucell,
41 ModulePW::PW_Basis* pw_rho,
42 ModulePW::PW_Basis* pw_rhod,
43 Charge &chr,
44 K_Vectors &kv,
45 Setup_Psi_pw &stp,
47 pseudopot_cell_vnl &ppcell,
48 surchem &solvent,
49 Parallel_Grid &para_grid,
50 const Input_para& inp);
51
52// print out information in 'after_all_runners' in ESolver_KS_PW (runtime version)
53template <typename T, typename Device>
57 ModulePW::PW_Basis* pw_rho,
58 ModulePW::PW_Basis* pw_rhod,
59 Charge &chr,
60 K_Vectors &kv,
61 Setup_Psi_pw &stp,
63 pseudopot_cell_vnl &ppcell,
64 surchem &solvent,
66 Parallel_Grid &para_grid,
67 const Input_para& inp);
68
69}
70#endif
Definition charge.h:17
Definition klist.h:12
Definition pw_basis_big.h:17
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:56
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:7
Definition setup_psi_pw.h:15
Definition structure_factor.h:10
Definition unitcell.h:15
Singleton class to manage GPU device context and initialization.
Definition device.h:98
Definition elecstate.h:15
Definition vnl_pw.h:21
Definition psi.h:37
Definition surchem.h:13
Definition input_help.cpp:10
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 &stp, Structure_Factor &sf, pseudopot_cell_vnl &ppcell, surchem &solvent, Parallel_Grid &para_grid, const Input_para &inp)
Definition ctrl_output_pw.cpp:249
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 &stp, 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
Definition exx_lip.h:23
Definition input_parameter.h:12