|
| Sto_Forces (const int nat_in) |
|
| ~Sto_Forces () |
|
void | cal_stoforce (ModuleBase::matrix &force, const elecstate::ElecState &elec, ModulePW::PW_Basis *rho_basis, ModuleSymmetry::Symmetry *p_symm, const Structure_Factor *p_sf, K_Vectors *pkv, ModulePW::PW_Basis_K *wfc_basis, const pseudopot_cell_vl &locpp, const pseudopot_cell_vnl &nlpp, UnitCell &ucell, const psi::Psi< std::complex< FPTYPE >, Device > &psi_in, const Stochastic_WF< std::complex< FPTYPE >, Device > &stowf) |
|
| Forces (const int nat_in) |
|
| ~Forces () |
|
void | cal_force (UnitCell &ucell, ModuleBase::matrix &force, const elecstate::ElecState &elec, const ModulePW::PW_Basis *const rho_basis, ModuleSymmetry::Symmetry *p_symm, Structure_Factor *p_sf, surchem &solvent, const pseudopot_cell_vl *locpp, const pseudopot_cell_vnl *nlpp=nullptr, K_Vectors *pkv=nullptr, ModulePW::PW_Basis_K *psi_basis=nullptr, const psi::Psi< std::complex< FPTYPE >, Device > *psi_in=nullptr) |
|
|
void | cal_force_loc (const UnitCell &ucell, ModuleBase::matrix &forcelc, const ModulePW::PW_Basis *const rho_basis, const ModuleBase::matrix &vloc, const Charge *const chr) |
|
void | cal_force_ew (const UnitCell &ucell, ModuleBase::matrix &forceion, const ModulePW::PW_Basis *const rho_basis, const Structure_Factor *p_sf) |
|
void | cal_force_cc (ModuleBase::matrix &forcecc, const ModulePW::PW_Basis *const rho_basis, const Charge *const chr, const bool *numeric, UnitCell &ucell_in) |
|
void | cal_force_nl (ModuleBase::matrix &forcenl, const ModuleBase::matrix &wg, const ModuleBase::matrix &ekb, const K_Vectors *p_kv, const ModulePW::PW_Basis_K *psi_basis, const Structure_Factor *p_sf, const pseudopot_cell_vnl &nlpp_in, const UnitCell &ucell_in, const psi::Psi< std::complex< FPTYPE >, Device > *psi_in=nullptr) |
| This routine computes the atomic force of non-local pseudopotential F^{NL}_i = \sum_{n,k}f_{nk}\sum_I \sum_{lm,l'm'}D_{l,l'}^{I} [ \sum_G \langle c_{nk}(\mathbf{G+K})|\beta_{lm}^I(\mathbf{G+K})\rangle * \sum_{G'}\langle \beta_{lm}^I(\mathbf{G+K})*(-j)^l(\mathbf{G+K})_i |c_{nk}(\mathbf{G+K})\rangle ] there would be three parts in the above equation: (1) sum over becp and dbecp with D_{l,l'}^{I} --— first line in the above equation (2) calculate becp = <psi | beta> --— second line in the above equation (3) calculate dbecp = <psi | \nabla beta> --— third line in the above equation.
|
|
void | cal_force_onsite (ModuleBase::matrix &force_onsite, const ModuleBase::matrix &wg, const ModulePW::PW_Basis_K *wfc_basis, const UnitCell &ucell_in, const psi::Psi< std::complex< FPTYPE >, Device > *psi_in=nullptr) |
| atomic force for DFT+U and DeltaSpin
|
|
void | cal_force_scc (ModuleBase::matrix &forcescc, const ModulePW::PW_Basis *const rho_basis, const ModuleBase::matrix &v_current, const bool vnew_exist, const bool *numeric, const UnitCell &ucell_in) |
|
void | cal_force_us (ModuleBase::matrix &forcenl, const ModulePW::PW_Basis *const rho_basis, const pseudopot_cell_vnl &ppcell_in, const elecstate::ElecState &elec, const UnitCell &ucell) |
|
void | cal_ylm (int lmax, int npw, const FPTYPE *gk_in, FPTYPE *ylm) |
|
void | deriv_drhoc (const bool &numeric, const int mesh, const FPTYPE *r, const FPTYPE *rab, const FPTYPE *rhoc, FPTYPE *drhocg, const ModulePW::PW_Basis *const rho_basis, int type, const UnitCell &ucell_in) |
|
void | deriv_drhoc_scc (const bool &numeric, const int mesh, const FPTYPE *r, const FPTYPE *rab, const FPTYPE *rhoc, FPTYPE *drhocg, const ModulePW::PW_Basis *const rho_basis, const UnitCell &ucell_in) |
|
int | nat = 0 |
|
int | npwx = 0 |
|
Device * | ctx = {} |
|
base_device::DEVICE_CPU * | cpu_ctx = {} |
|
base_device::AbacusDevice_t | device = {} |
|