#include <charge.h>
|
| Charge () |
|
| ~Charge () |
|
void | set_rhopw (ModulePW::PW_Basis *rhopw_in) |
|
void | init_rho (elecstate::efermi &eferm_iout, const UnitCell &ucell, const Parallel_Grid &pgrid, const ModuleBase::ComplexMatrix &strucFac, ModuleSymmetry::Symmetry &symm, const void *klist=nullptr, const void *wfcpw=nullptr) |
| Init charge density from file or atomic pseudo-wave-functions.
|
|
void | allocate (const int &nspin_in) |
|
void | atomic_rho (const int spin_number_need, const double &omega, double **rho_in, const ModuleBase::ComplexMatrix &strucFac, const UnitCell &ucell) const |
|
void | set_rho_core (const UnitCell &ucell, const ModuleBase::ComplexMatrix &structure_factor, const bool *numeric) |
|
void | set_rho_core_paw () |
|
void | renormalize_rho () |
|
double | sum_rho () const |
|
void | save_rho_before_sum_band () |
|
void | non_linear_core_correction (const bool &numeric, const double omega, const double tpiba2, const int mesh, const double *r, const double *rab, const double *rhoc, double *rhocg) const |
|
double | cal_rho2ne (const double *rho_in) const |
|
void | check_rho () |
|
void | init_final_scf () |
|
void | init_chgmpi () |
| init some arrays for mpi_inter_pools, rho_mpi
|
|
void | rho_mpi () |
| Sum rho at different pools (k-point parallelism). Only used when GlobalV::KPAR > 1.
|
|
void | reduce_diff_pools (double *array_rho) const |
| Reduce among different pools If NPROC_IN_POOLs are all the same, use GlobalV::KP_WORLD else, gather rho in a POOL, and then reduce among different POOLs.
|
|
void | set_omega (double *omega_in) |
|
◆ Charge()
◆ ~Charge()
◆ allocate()
void Charge::allocate |
( |
const int & |
nspin_in | ) |
|
◆ atomic_rho()
void Charge::atomic_rho |
( |
const int |
spin_number_need, |
|
|
const double & |
omega, |
|
|
double ** |
rho_in, |
|
|
const ModuleBase::ComplexMatrix & |
strucFac, |
|
|
const UnitCell & |
ucell |
|
) |
| const |
◆ cal_rho2ne()
double Charge::cal_rho2ne |
( |
const double * |
rho_in | ) |
const |
◆ check_rho()
void Charge::check_rho |
( |
| ) |
|
◆ destroy()
◆ init_chgmpi()
void Charge::init_chgmpi |
( |
| ) |
|
init some arrays for mpi_inter_pools, rho_mpi
◆ init_final_scf()
void Charge::init_final_scf |
( |
| ) |
|
◆ init_rho()
Init charge density from file or atomic pseudo-wave-functions.
- Parameters
-
eferm_iout | [out] fermi energy to be initialized |
ucell | [in] unit cell |
strucFac | [in] structure factor |
symm | [in] symmetry |
klist | [in] k points list if needed |
wfcpw | [in] PW basis for wave function if needed |
◆ non_linear_core_correction()
void Charge::non_linear_core_correction |
( |
const bool & |
numeric, |
|
|
const double |
omega, |
|
|
const double |
tpiba2, |
|
|
const int |
mesh, |
|
|
const double * |
r, |
|
|
const double * |
rab, |
|
|
const double * |
rhoc, |
|
|
double * |
rhocg |
|
) |
| const |
◆ reduce_diff_pools()
void Charge::reduce_diff_pools |
( |
double * |
array_rho | ) |
const |
Reduce among different pools If NPROC_IN_POOLs are all the same, use GlobalV::KP_WORLD else, gather rho in a POOL, and then reduce among different POOLs.
- Parameters
-
array_rho | f(rho): an array [nrxx] |
◆ renormalize_rho()
void Charge::renormalize_rho |
( |
| ) |
|
◆ rho_mpi()
Sum rho at different pools (k-point parallelism). Only used when GlobalV::KPAR > 1.
◆ save_rho_before_sum_band()
void Charge::save_rho_before_sum_band |
( |
| ) |
|
◆ set_omega()
void Charge::set_omega |
( |
double * |
omega_in | ) |
|
|
inline |
◆ set_rho_core()
◆ set_rho_core_paw()
void Charge::set_rho_core_paw |
( |
| ) |
|
◆ set_rhopw()
◆ sum_rho()
double Charge::sum_rho |
( |
| ) |
const |
◆ _space_kin_r
double* Charge::_space_kin_r = nullptr |
|
private |
◆ _space_kin_r_save
double* Charge::_space_kin_r_save = nullptr |
|
private |
◆ _space_rho
double* Charge::_space_rho = nullptr |
|
private |
◆ _space_rho_save
double* Charge::_space_rho_save = nullptr |
|
private |
◆ _space_rhog
std::complex<double>* Charge::_space_rhog = nullptr |
|
private |
◆ _space_rhog_save
std::complex<double>* Charge::_space_rhog_save = nullptr |
|
private |
◆ allocate_rho
bool Charge::allocate_rho |
|
private |
◆ allocate_rho_final_scf
bool Charge::allocate_rho_final_scf |
|
private |
◆ cal_elf
bool Charge::cal_elf = false |
◆ dis
int* Charge::dis = nullptr |
|
private |
◆ kin_r
double** Charge::kin_r = nullptr |
◆ kin_r_save
double** Charge::kin_r_save = nullptr |
◆ ngmc
◆ nhat
double** Charge::nhat = nullptr |
◆ nhat_save
double** Charge::nhat_save = nullptr |
◆ nrxx
◆ nspin
◆ nxyz
◆ omega_
double* Charge::omega_ = nullptr |
|
private |
◆ pgrid
◆ prenspin
◆ rec
int* Charge::rec = nullptr |
|
private |
◆ rho
double** Charge::rho = nullptr |
◆ rho_core
double* Charge::rho_core = nullptr |
◆ rho_save
double** Charge::rho_save = nullptr |
◆ rhog
std::complex<double>** Charge::rhog = nullptr |
◆ rhog_core
std::complex<double>* Charge::rhog_core = nullptr |
◆ rhog_save
std::complex<double>** Charge::rhog_save = nullptr |
◆ rhopw
The documentation for this class was generated from the following files:
- /home/runner/work/abacus-develop/abacus-develop/source/source_estate/module_charge/charge.h
- /home/runner/work/abacus-develop/abacus-develop/source/source_estate/module_charge/charge.cpp
- /home/runner/work/abacus-develop/abacus-develop/source/source_estate/module_charge/charge_init.cpp
- /home/runner/work/abacus-develop/abacus-develop/source/source_estate/module_charge/charge_mpi.cpp
- /home/runner/work/abacus-develop/abacus-develop/source/source_estate/test/charge_extra_test.cpp
- /home/runner/work/abacus-develop/abacus-develop/source/source_estate/test/charge_mixing_test.cpp
- /home/runner/work/abacus-develop/abacus-develop/source/source_estate/test/elecstate_base_test.cpp
- /home/runner/work/abacus-develop/abacus-develop/source/source_estate/test/elecstate_magnetism_test.cpp
- /home/runner/work/abacus-develop/abacus-develop/source/source_estate/test/elecstate_print_test.cpp
- /home/runner/work/abacus-develop/abacus-develop/source/source_estate/test/elecstate_pw_test.cpp
- /home/runner/work/abacus-develop/abacus-develop/source/source_estate/test/potential_new_test.cpp
- /home/runner/work/abacus-develop/abacus-develop/source/source_estate/test_mpi/charge_mpi_test.cpp
- /home/runner/work/abacus-develop/abacus-develop/source/source_hamilt/module_xc/test/xc3_mock.h
- /home/runner/work/abacus-develop/abacus-develop/source/source_hsolver/test/test_hsolver_sdft.cpp
- /home/runner/work/abacus-develop/abacus-develop/source/source_io/test/read_wf2rho_pw_test.cpp