38 double **
rho =
nullptr;
41 std::complex<double> **
rhog =
nullptr;
85 const void* klist =
nullptr,
86 const void* wfcpw =
nullptr);
120 double cal_rho2ne(
const double *rho_in)
const;
double ** rho
Definition charge.h:38
int * dis
Definition charge.h:169
double * _space_kin_r
Definition charge.h:55
void save_rho_before_sum_band()
Definition charge.cpp:622
~Charge()
Definition charge.cpp:42
double ** nhat_save
Definition charge.h:60
int * rec
Definition charge.h:168
double * _space_kin_r_save
Definition charge.h:56
bool allocate_rho_final_scf
Definition charge.h:165
double sum_rho() const
Definition charge.cpp:164
void set_rho_core(const UnitCell &ucell, const ModuleBase::ComplexMatrix &structure_factor, const bool *numeric)
Definition charge_init.cpp:264
std::complex< double > ** rhog_save
Definition charge.h:42
bool cal_elf
Definition charge.h:156
std::complex< double > ** rhog
Definition charge.h:41
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,...
Definition charge_mpi.cpp:27
void init_final_scf()
Definition charge.cpp:686
void check_rho()
Definition charge.cpp:650
std::complex< double > * rhog_core
Definition charge.h:64
void set_rhopw(ModulePW::PW_Basis *rhopw_in)
Definition charge.cpp:51
Charge()
Definition charge.cpp:36
void atomic_rho(const int spin_number_need, const double &omega, double **rho_in, const ModuleBase::ComplexMatrix &strucFac, const UnitCell &ucell) const
Definition charge.cpp:225
double ** kin_r
Definition charge.h:44
double * _space_rho
Definition charge.h:51
void set_omega(double *omega_in)
Definition charge.h:148
void renormalize_rho()
Definition charge.cpp:197
void init_chgmpi()
init some arrays for mpi_inter_pools, rho_mpi
Definition charge_mpi.cpp:9
std::complex< double > * _space_rhog_save
Definition charge.h:54
void rho_mpi()
Sum rho at different pools (k-point parallelism). Only used when GlobalV::KPAR > 1.
Definition charge_mpi.cpp:119
void allocate(const int &nspin_in)
Definition charge.cpp:80
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.
Definition charge_init.cpp:21
const Parallel_Grid * pgrid
Definition charge.h:47
int ngmc
Definition charge.h:153
double ** kin_r_save
Definition charge.h:45
double ** rho_save
Definition charge.h:39
double cal_rho2ne(const double *rho_in) const
Definition charge.cpp:635
int nrxx
Definition charge.h:151
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
Definition charge_init.cpp:372
double ** nhat
Definition charge.h:59
double * _space_rho_save
Definition charge.h:52
int prenspin
Definition charge.h:66
std::complex< double > * _space_rhog
Definition charge.h:53
double * rho_core
Definition charge.h:63
ModulePW::PW_Basis * rhopw
Definition charge.h:155
void destroy()
Definition charge.cpp:56
double * omega_
Definition charge.h:161
void set_rho_core_paw()
Definition charge_init.cpp:365
int nxyz
Definition charge.h:152
bool allocate_rho
Definition charge.h:163
int nspin
Definition charge.h:154
Definition complexmatrix.h:14
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
This file contains all energies about first-principle calculations.
Fermi energies.
Definition fp_energy.h:63