|
template<> |
void | rdmft::conj_psi< double > (psi::Psi< double > &wfc) |
|
template<> |
void | rdmft::HkPsi< double > (const Parallel_Orbitals *ParaV, const double &HK, const double &wfc, double &H_wfc) |
|
template<> |
void | rdmft::cal_bra_op_ket< double > (const Parallel_Orbitals *ParaV, const Parallel_2D ¶_Eij_in, const double &wfc, const double &H_wfc, std::vector< double > &Dmn) |
|
void | rdmft::occNum_Mul_wfcHwfc (const ModuleBase::matrix &occ_number, const ModuleBase::matrix &wfcHwfc, ModuleBase::matrix &occNum_wfcHwfc, int symbol=0, const std::string XC_func_rdmft="hf", const double alpha=1.0) |
| occNum_wfcHwfc = occNum*wfcHwfc + occNum_wfcHwfc
|
|
void | rdmft::add_occNum (const K_Vectors &kv, const ModuleBase::matrix &occ_number, const ModuleBase::matrix &wfcHwfc_TV_in, const ModuleBase::matrix &wfcHwfc_hartree_in, const ModuleBase::matrix &wfcHwfc_dft_XC_in, const ModuleBase::matrix &wfcHwfc_exx_XC_in, ModuleBase::matrix &occNum_wfcHwfc, const std::string XC_func_rdmft="hf", const double alpha=1.0) |
| Default symbol = 0 for the gradient of Etotal with respect to occupancy, symbol = 1 for the relevant calculation of Etotal.
|
|
void | rdmft::add_wfcHwfc (const ModuleBase::matrix &wg, const ModuleBase::matrix &wk_fun_occNum, const ModuleBase::matrix &wfcHwfc_TV_in, const ModuleBase::matrix &wfcHwfc_hartree_in, const ModuleBase::matrix &wfcHwfc_XC_in, ModuleBase::matrix &occNum_wfcHwfc, const std::string XC_func_rdmft, const double alpha) |
| do wk*g(occNum)*wfcHwfc and add for TV, hartree, XC. This function just use once, so it can be replace and delete
|
|
double | rdmft::getEnergy (const ModuleBase::matrix &occNum_wfcHwfc) |
| give certain occNum_wfcHwfc, get the corresponding energy
|
|
double | rdmft::occNum_func (double eta, int symbol=0, const std::string XC_func_rdmft="hf", const double alpha_power=1.0) |
| now support XC_func_rdmft = "hf", "muller", "power", "pbe", "pbe0". "wp22" and "cwp22" is realizing.
|
|