|
ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
Functions | |
| template<typename TK , typename TR > | |
| void | cal_pulay_fs (ModuleBase::matrix &f, ModuleBase::matrix &s, const elecstate::DensityMatrix< TK, TR > &dm, const UnitCell &ucell, const Parallel_Orbitals &pv, const double *(&dHSx)[3], const double *(&dHSxy)[6], const bool &isforce, const bool &isstress, Record_adj *ra=nullptr, const double &factor_force=1.0, const double &factor_stress=1.0) |
| for 2-center-integration terms, provided force and stress derivatives | |
| template<typename TK , typename TR > | |
| void | cal_pulay_fs (ModuleBase::matrix &f, ModuleBase::matrix &s, const elecstate::DensityMatrix< TK, TR > &dm, const UnitCell &ucell, const Parallel_Orbitals &pv, const double *(&dHSx)[3], const double *dtau, const bool &isforce, const bool &isstress, Record_adj *ra=nullptr, const double &factor_force=1.0, const double &factor_stress=1.0) |
| for 2-center-integration terms, provided force derivatives and coordinate difference | |
| template<typename TK , typename TR > | |
| void | cal_pulay_fs (ModuleBase::matrix &f, ModuleBase::matrix &s, const elecstate::DensityMatrix< TK, TR > &dm, const UnitCell &ucell, const elecstate::Potential *pot, const bool &isforce, const bool &isstress, const bool &set_dmr_gint=true) |
| for grid-integration terms | |
| template<typename TK , typename TR , typename Tfunc > | |
| void | cal_pulay_fs (ModuleBase::matrix &f, ModuleBase::matrix &s, const elecstate::DensityMatrix< TK, TR > &dm, const UnitCell &ucell, const Parallel_Orbitals &pv, const double **dHSx, const double **dHSxy, const double *dtau, const bool &isforce, const bool &isstress, Record_adj *ra, const double &factor_force, const double &factor_stress, Tfunc &stress_func) |
calculate the abstract formulas: $Tr[D*dH/dx]$ (force) and $1/V Tr[D*(dH/dx_a*x_b)]$ (stress) where D can be any (energy) density matrix and H can be any operator
| void PulayForceStress::cal_pulay_fs | ( | ModuleBase::matrix & | f, |
| ModuleBase::matrix & | s, | ||
| const elecstate::DensityMatrix< TK, TR > & | dm, | ||
| const UnitCell & | ucell, | ||
| const elecstate::Potential * | pot, | ||
| const bool & | isforce, | ||
| const bool & | isstress, | ||
| const bool & | set_dmr_gint = true |
||
| ) |
for grid-integration terms
| [out] | f | force |
| [out] | s | stress |
| [in] | dm | density matrix or energy density matrix |
| [in] | ucell | unit cell |
| [in] | pot | potential on grid |
| void PulayForceStress::cal_pulay_fs | ( | ModuleBase::matrix & | f, |
| ModuleBase::matrix & | s, | ||
| const elecstate::DensityMatrix< TK, TR > & | dm, | ||
| const UnitCell & | ucell, | ||
| const Parallel_Orbitals & | pv, | ||
| const double *(&) | dHSx[3], | ||
| const double *(&) | dHSxy[6], | ||
| const bool & | isforce, | ||
| const bool & | isstress, | ||
| Record_adj * | ra = nullptr, |
||
| const double & | factor_force = 1.0, |
||
| const double & | factor_stress = 1.0 |
||
| ) |
for 2-center-integration terms, provided force and stress derivatives
| [out] | f | force |
| [out] | s | stress |
| [in] | dm | density matrix or energy density matrix |
| [in] | ucell | unit cell |
| [in] | pv | parallel orbitals |
| [in] | dHSx | dHSx x, y, z, for force |
| [in] | dHSxy | dHSxy 11, 12, 13, 22, 23, 33, for stress |
| void PulayForceStress::cal_pulay_fs | ( | ModuleBase::matrix & | f, |
| ModuleBase::matrix & | s, | ||
| const elecstate::DensityMatrix< TK, TR > & | dm, | ||
| const UnitCell & | ucell, | ||
| const Parallel_Orbitals & | pv, | ||
| const double *(&) | dHSx[3], | ||
| const double * | dtau, | ||
| const bool & | isforce, | ||
| const bool & | isstress, | ||
| Record_adj * | ra = nullptr, |
||
| const double & | factor_force = 1.0, |
||
| const double & | factor_stress = 1.0 |
||
| ) |
for 2-center-integration terms, provided force derivatives and coordinate difference
| [out] | f | force |
| [out] | s | stress |
| [in] | dm | density matrix or energy density matrix |
| [in] | ucell | unit cell |
| [in] | pv | parallel orbitals |
| [in] | dHSx | dHSx x, y, z, for force and stress |
| [in] | dtau | dr x, y, z, for stress |
|
inline |