#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