ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
Functions | |
void | load_model (const std::string &model_file, torch::jit::script::Module &model) |
void | cal_gevdm (const int nat, const int inlmax, const std::vector< int > &inl2l, const std::vector< torch::Tensor > &pdm, std::vector< torch::Tensor > &gevdm) |
void | cal_edelta_gedm (const int nat, const int inlmax, const int des_per_atom, const std::vector< int > &inl2l, const std::vector< torch::Tensor > &descriptor, const std::vector< torch::Tensor > &pdm, torch::jit::script::Module &model_deepks, double **gedm, double &E_delta) |
calculate partial of energy correction to descriptors | |
void | check_gedm (const int inlmax, const std::vector< int > &inl2l, double **gedm) |
void | cal_edelta_gedm_equiv (const int nat, const int lmaxd, const int nmaxd, const int inlmax, const int des_per_atom, const std::vector< int > &inl2l, const std::vector< torch::Tensor > &descriptor, double **gedm, double &E_delta, const int rank) |
void | prepare_atom (const UnitCell &ucell, torch::Tensor &atom_out) |
void | prepare_box (const UnitCell &ucell, torch::Tensor &box_out) |
template<typename T > | |
void | check_tensor (const torch::Tensor &tensor, const std::string &filename, const int rank) |
void | cal_descriptor (const int nat, const int inlmax, const std::vector< int > &inl2l, const std::vector< torch::Tensor > &pdm, std::vector< torch::Tensor > &descriptor, const int des_per_atom) |
void | check_descriptor (const int inlmax, const int des_per_atom, const std::vector< int > &inl2l, const UnitCell &ucell, const std::string &out_dir, const std::vector< torch::Tensor > &descriptor, const int rank) |
print descriptors based on LCAO basis | |
void | cal_descriptor_equiv (const int nat, const int des_per_atom, const std::vector< torch::Tensor > &pdm, std::vector< torch::Tensor > &descriptor) |
template<typename TK > | |
void | cal_f_delta (const hamilt::HContainer< double > *dmr, const UnitCell &ucell, const LCAO_Orbitals &orb, const Grid_Driver &GridD, const Parallel_Orbitals &pv, const int nks, const std::vector< ModuleBase::Vector3< double > > &kvec_d, std::vector< hamilt::HContainer< double > * > phialpha, double **gedm, ModuleBase::IntArray *inl_index, ModuleBase::matrix &f_delta, const bool isstress, ModuleBase::matrix &svnl_dalpha) |
template<typename TK > | |
void | cal_gdmx (const int lmaxd, const int inlmax, const int nks, const std::vector< ModuleBase::Vector3< double > > &kvec_d, std::vector< hamilt::HContainer< double > * > phialpha, const ModuleBase::IntArray *inl_index, const hamilt::HContainer< double > *dmr, const UnitCell &ucell, const LCAO_Orbitals &orb, const Parallel_Orbitals &pv, const Grid_Driver &GridD, torch::Tensor &gdmx) |
void | cal_gvx (const int nat, const int inlmax, const int des_per_atom, const std::vector< int > &inl2l, const std::vector< torch::Tensor > &gevdm, const torch::Tensor &gdmx, torch::Tensor &gvx, const int rank) |
void | iterate_ad1 (const UnitCell &ucell, const Grid_Driver &GridD, const LCAO_Orbitals &orb, const bool with_trace, std::function< void(const int, const ModuleBase::Vector3< double > &, const int, const ModuleBase::Vector3< double > &, const int, const int, ModuleBase::Vector3< int >)> callback) |
void | iterate_ad2 (const UnitCell &ucell, const Grid_Driver &GridD, const LCAO_Orbitals &orb, const bool with_trace, std::function< void(const int, const ModuleBase::Vector3< double > &, const int, const ModuleBase::Vector3< double > &, const int, const int, ModuleBase::Vector3< int >, const int, const ModuleBase::Vector3< double > &, const int, const int, ModuleBase::Vector3< int >)> callback) |
template<typename TK , typename TH > | |
void | cal_o_delta (const std::vector< TH > &dm_hl, const std::vector< std::vector< TK > > &h_delta, ModuleBase::matrix &o_delta, const Parallel_Orbitals &pv, const int nks, const int nspin) |
template<typename TK , typename TH > | |
void | cal_orbital_precalc (const std::vector< TH > &dm_hl, const int lmaxd, const int inlmax, const int nat, const int nks, const std::vector< int > &inl2l, const std::vector< ModuleBase::Vector3< double > > &kvec_d, const std::vector< hamilt::HContainer< double > * > phialpha, const std::vector< torch::Tensor > gevdm, const ModuleBase::IntArray *inl_index, const UnitCell &ucell, const LCAO_Orbitals &orb, const Parallel_Orbitals &pv, const Grid_Driver &GridD, torch::Tensor &orbital_precalc) |
void | read_pdm (bool read_pdm_file, bool is_equiv, bool &init_pdm, const int nat, const int inlmax, const int lmaxd, const std::vector< int > &inl2l, const Numerical_Orbital &alpha, std::vector< torch::Tensor > &pdm) |
template<typename TK > | |
void | update_dmr (const std::vector< ModuleBase::Vector3< double > > &kvec_d, const std::vector< std::vector< TK > > &dmk, const UnitCell &ucell, const LCAO_Orbitals &orb, const Parallel_Orbitals &pv, const Grid_Driver &GridD, hamilt::HContainer< double > *dmr_deepks) |
template<typename TK > | |
void | cal_pdm (bool &init_pdm, const int inlmax, const int lmaxd, const std::vector< int > &inl2l, const ModuleBase::IntArray *inl_index, const std::vector< ModuleBase::Vector3< double > > &kvec_d, const hamilt::HContainer< double > *dmr, const std::vector< hamilt::HContainer< double > * > phialpha, const UnitCell &ucell, const LCAO_Orbitals &orb, const Grid_Driver &GridD, const Parallel_Orbitals &pv, std::vector< torch::Tensor > &pdm) |
void | check_pdm (const int inlmax, const std::vector< int > &inl2l, const std::vector< torch::Tensor > &pdm) |
void | allocate_phialpha (const bool &cal_deri, const UnitCell &ucell, const LCAO_Orbitals &orb, const Grid_Driver &GridD, const Parallel_Orbitals *pv, std::vector< hamilt::HContainer< double > * > &phialpha) |
void | build_phialpha (const bool &cal_deri, const UnitCell &ucell, const LCAO_Orbitals &orb, const Grid_Driver &GridD, const Parallel_Orbitals *pv, const TwoCenterIntegrator &overlap_orb_alpha, std::vector< hamilt::HContainer< double > * > &phialpha) |
void | check_phialpha (const bool &cal_deri, const UnitCell &ucell, const LCAO_Orbitals &orb, const Grid_Driver &GridD, const Parallel_Orbitals *pv, std::vector< hamilt::HContainer< double > * > &phialpha, const int rank) |
template<typename TK > | |
void | cal_gdmepsl (const int lmaxd, const int inlmax, const int nks, const std::vector< ModuleBase::Vector3< double > > &kvec_d, std::vector< hamilt::HContainer< double > * > phialpha, const ModuleBase::IntArray *inl_index, const hamilt::HContainer< double > *dmr, const UnitCell &ucell, const LCAO_Orbitals &orb, const Parallel_Orbitals &pv, const Grid_Driver &GridD, torch::Tensor &gdmepsl) |
void | cal_gvepsl (const int nat, const int inlmax, const int des_per_atom, const std::vector< int > &inl2l, const std::vector< torch::Tensor > &gevdm, const torch::Tensor &gdmepsl, torch::Tensor &gvepsl, const int rank) |
template<typename TK > | |
void | cal_e_delta_band (const std::vector< std::vector< TK > > &dm, const std::vector< std::vector< TK > > &V_delta, const int nks, const int nspin, const Parallel_Orbitals *pv, double &e_delta_band) |
calculate tr(\rho V_delta) | |
template<typename TK , typename TH > | |
void | collect_h_mat (const Parallel_Orbitals &pv, const std::vector< std::vector< TK > > &h_in, std::vector< TH > &h_out, const int nlocal, const int nks) |
template<typename TK , typename TH , typename TR > | |
void | get_h_tot (const Parallel_Orbitals &pv, hamilt::HamiltLCAO< TK, TR > *p_ham, std::vector< TH > &h_tot, const int nlocal, const int nks, const char matrix_type) |
template<typename TK > | |
void | cal_v_delta_precalc (const int nlocal, const int lmaxd, const int inlmax, const int nat, const int nks, const std::vector< int > &inl2l, const std::vector< ModuleBase::Vector3< double > > &kvec_d, const std::vector< hamilt::HContainer< double > * > phialpha, const std::vector< torch::Tensor > gevdm, const ModuleBase::IntArray *inl_index, const UnitCell &ucell, const LCAO_Orbitals &orb, const Parallel_Orbitals &pv, const Grid_Driver &GridD, torch::Tensor &v_delta_precalc) |
cal_v_delta_precalc : v_delta_precalc is used for training with v_delta label, | |
template<typename TK > | |
void | prepare_phialpha (const int nlocal, const int lmaxd, const int inlmax, const int nat, const int nks, const std::vector< ModuleBase::Vector3< double > > &kvec_d, const std::vector< hamilt::HContainer< double > * > phialpha, const UnitCell &ucell, const LCAO_Orbitals &orb, const Parallel_Orbitals &pv, const Grid_Driver &GridD, torch::Tensor &phialpha_out) |
void | prepare_gevdm (const int nat, const int lmaxd, const int inlmax, const LCAO_Orbitals &orb, const std::vector< torch::Tensor > &gevdm_in, torch::Tensor &gevdm_out) |
void | prepare_phialpha_r (const int nlocal, const int lmaxd, const int inlmax, const int nat, const int R_size, const std::vector< hamilt::HContainer< double > * > phialpha, const UnitCell &ucell, const LCAO_Orbitals &orb, const Parallel_Orbitals &pv, const Grid_Driver &GridD, torch::Tensor &phialpha_r_out) |
void | cal_vdr_precalc (const int nlocal, const int lmaxd, const int inlmax, const int nat, const int nks, const int R_size, const std::vector< int > &inl2l, const std::vector< ModuleBase::Vector3< double > > &kvec_d, const std::vector< hamilt::HContainer< double > * > phialpha, const std::vector< torch::Tensor > gevdm, const ModuleBase::IntArray *inl_index, const UnitCell &ucell, const LCAO_Orbitals &orb, const Parallel_Orbitals &pv, const Grid_Driver &GridD, torch::Tensor &vdr_precalc) |
int | mapping_R (int R) |
template<typename T > | |
int | get_R_size (const hamilt::HContainer< T > &hcontainer) |
void DeePKS_domain::allocate_phialpha | ( | const bool & | cal_deri, |
const UnitCell & | ucell, | ||
const LCAO_Orbitals & | orb, | ||
const Grid_Driver & | GridD, | ||
const Parallel_Orbitals * | pv, | ||
std::vector< hamilt::HContainer< double > * > & | phialpha | ||
) |
void DeePKS_domain::build_phialpha | ( | const bool & | cal_deri, |
const UnitCell & | ucell, | ||
const LCAO_Orbitals & | orb, | ||
const Grid_Driver & | GridD, | ||
const Parallel_Orbitals * | pv, | ||
const TwoCenterIntegrator & | overlap_orb_alpha, | ||
std::vector< hamilt::HContainer< double > * > & | phialpha | ||
) |
[in] | cal_deri | 0 for 2-center intergration, 1 for its derivation |
void DeePKS_domain::cal_descriptor | ( | const int | nat, |
const int | inlmax, | ||
const std::vector< int > & | inl2l, | ||
const std::vector< torch::Tensor > & | pdm, | ||
std::vector< torch::Tensor > & | descriptor, | ||
const int | des_per_atom = -1 |
||
) |
Calculates descriptors which are eigenvalues of pdm in blocks of I_n_l
void DeePKS_domain::cal_descriptor_equiv | ( | const int | nat, |
const int | des_per_atom, | ||
const std::vector< torch::Tensor > & | pdm, | ||
std::vector< torch::Tensor > & | descriptor | ||
) |
void DeePKS_domain::cal_e_delta_band | ( | const std::vector< std::vector< TK > > & | dm, |
const std::vector< std::vector< TK > > & | V_delta, | ||
const int | nks, | ||
const int | nspin, | ||
const Parallel_Orbitals * | pv, | ||
double & | e_delta_band | ||
) |
calculate tr(\rho V_delta)
void DeePKS_domain::cal_edelta_gedm | ( | const int | nat, |
const int | inlmax, | ||
const int | des_per_atom, | ||
const std::vector< int > & | inl2l, | ||
const std::vector< torch::Tensor > & | descriptor, | ||
const std::vector< torch::Tensor > & | pdm, | ||
torch::jit::script::Module & | model_deepks, | ||
double ** | gedm, | ||
double & | E_delta | ||
) |
calculate partial of energy correction to descriptors
void DeePKS_domain::cal_edelta_gedm_equiv | ( | const int | nat, |
const int | lmaxd, | ||
const int | nmaxd, | ||
const int | inlmax, | ||
const int | des_per_atom, | ||
const std::vector< int > & | inl2l, | ||
const std::vector< torch::Tensor > & | descriptor, | ||
double ** | gedm, | ||
double & | E_delta, | ||
const int | rank | ||
) |
template void DeePKS_domain::cal_f_delta< double > | ( | const hamilt::HContainer< double > * | dmr, |
const UnitCell & | ucell, | ||
const LCAO_Orbitals & | orb, | ||
const Grid_Driver & | GridD, | ||
const Parallel_Orbitals & | pv, | ||
const int | nks, | ||
const std::vector< ModuleBase::Vector3< double > > & | kvec_d, | ||
std::vector< hamilt::HContainer< double > * > | phialpha, | ||
double ** | gedm, | ||
ModuleBase::IntArray * | inl_index, | ||
ModuleBase::matrix & | f_delta, | ||
const bool | isstress, | ||
ModuleBase::matrix & | svnl_dalpha | ||
) |
template void DeePKS_domain::cal_gdmepsl< double > | ( | const int | lmaxd, |
const int | inlmax, | ||
const int | nks, | ||
const std::vector< ModuleBase::Vector3< double > > & | kvec_d, | ||
std::vector< hamilt::HContainer< double > * > | phialpha, | ||
const ModuleBase::IntArray * | inl_index, | ||
const hamilt::HContainer< double > * | dmr, | ||
const UnitCell & | ucell, | ||
const LCAO_Orbitals & | orb, | ||
const Parallel_Orbitals & | pv, | ||
const Grid_Driver & | GridD, | ||
torch::Tensor & | gdmepsl | ||
) |
this subroutine calculates the gradient of PDM wrt strain tensor: gdmepsl = d/d\epsilon_{ab} * sum_{mu,nu} rho_{mu,nu} <chi_mu|alpha_m><alpha_m'|chi_nu>
template void DeePKS_domain::cal_gdmx< double > | ( | const int | lmaxd, |
const int | inlmax, | ||
const int | nks, | ||
const std::vector< ModuleBase::Vector3< double > > & | kvec_d, | ||
std::vector< hamilt::HContainer< double > * > | phialpha, | ||
const ModuleBase::IntArray * | inl_index, | ||
const hamilt::HContainer< double > * | dmr, | ||
const UnitCell & | ucell, | ||
const LCAO_Orbitals & | orb, | ||
const Parallel_Orbitals & | pv, | ||
const Grid_Driver & | GridD, | ||
torch::Tensor & | gdmx | ||
) |
this subroutine calculates the gradient of projected density matrices gdmx_m,m = d/dX sum_{mu,nu} rho_{mu,nu} <chi_mu|alpha_m><alpha_m'|chi_nu>
void DeePKS_domain::cal_gevdm | ( | const int | nat, |
const int | inlmax, | ||
const std::vector< int > & | inl2l, | ||
const std::vector< torch::Tensor > & | pdm, | ||
std::vector< torch::Tensor > & | gevdm | ||
) |
void DeePKS_domain::cal_gvepsl | ( | const int | nat, |
const int | inlmax, | ||
const int | des_per_atom, | ||
const std::vector< int > & | inl2l, | ||
const std::vector< torch::Tensor > & | gevdm, | ||
const torch::Tensor & | gdmepsl, | ||
torch::Tensor & | gvepsl, | ||
const int | rank | ||
) |
void DeePKS_domain::cal_gvx | ( | const int | nat, |
const int | inlmax, | ||
const int | des_per_atom, | ||
const std::vector< int > & | inl2l, | ||
const std::vector< torch::Tensor > & | gevdm, | ||
const torch::Tensor & | gdmx, | ||
torch::Tensor & | gvx, | ||
const int | rank | ||
) |
void DeePKS_domain::cal_o_delta | ( | const std::vector< TH > & | dm_hl, |
const std::vector< std::vector< TK > > & | h_delta, | ||
ModuleBase::matrix & | o_delta, | ||
const Parallel_Orbitals & | pv, | ||
const int | nks, | ||
const int | nspin | ||
) |
void DeePKS_domain::cal_orbital_precalc | ( | const std::vector< TH > & | dm_hl, |
const int | lmaxd, | ||
const int | inlmax, | ||
const int | nat, | ||
const int | nks, | ||
const std::vector< int > & | inl2l, | ||
const std::vector< ModuleBase::Vector3< double > > & | kvec_d, | ||
const std::vector< hamilt::HContainer< double > * > | phialpha, | ||
const std::vector< torch::Tensor > | gevdm, | ||
const ModuleBase::IntArray * | inl_index, | ||
const UnitCell & | ucell, | ||
const LCAO_Orbitals & | orb, | ||
const Parallel_Orbitals & | pv, | ||
const Grid_Driver & | GridD, | ||
torch::Tensor & | orbital_precalc | ||
) |
cal_orbital_precalc : orbital_precalc is used for training with orbital label, which equals gevdm * orbital_pdm, orbital_pdm[nks,Inl,nm,nm] = dm_hl * overlap * overlap
template void DeePKS_domain::cal_pdm< double > | ( | bool & | init_pdm, |
const int | inlmax, | ||
const int | lmaxd, | ||
const std::vector< int > & | inl2l, | ||
const ModuleBase::IntArray * | inl_index, | ||
const std::vector< ModuleBase::Vector3< double > > & | kvec_d, | ||
const hamilt::HContainer< double > * | dmr, | ||
const std::vector< hamilt::HContainer< double > * > | phialpha, | ||
const UnitCell & | ucell, | ||
const LCAO_Orbitals & | orb, | ||
const Grid_Driver & | GridD, | ||
const Parallel_Orbitals & | pv, | ||
std::vector< torch::Tensor > & | pdm | ||
) |
template void DeePKS_domain::cal_v_delta_precalc< double > | ( | const int | nlocal, |
const int | lmaxd, | ||
const int | inlmax, | ||
const int | nat, | ||
const int | nks, | ||
const std::vector< int > & | inl2l, | ||
const std::vector< ModuleBase::Vector3< double > > & | kvec_d, | ||
const std::vector< hamilt::HContainer< double > * > | phialpha, | ||
const std::vector< torch::Tensor > | gevdm, | ||
const ModuleBase::IntArray * | inl_index, | ||
const UnitCell & | ucell, | ||
const LCAO_Orbitals & | orb, | ||
const Parallel_Orbitals & | pv, | ||
const Grid_Driver & | GridD, | ||
torch::Tensor & | v_delta_precalc | ||
) |
cal_v_delta_precalc : v_delta_precalc is used for training with v_delta label,
void DeePKS_domain::cal_vdr_precalc | ( | const int | nlocal, |
const int | lmaxd, | ||
const int | inlmax, | ||
const int | nat, | ||
const int | nks, | ||
const int | R_size, | ||
const std::vector< int > & | inl2l, | ||
const std::vector< ModuleBase::Vector3< double > > & | kvec_d, | ||
const std::vector< hamilt::HContainer< double > * > | phialpha, | ||
const std::vector< torch::Tensor > | gevdm, | ||
const ModuleBase::IntArray * | inl_index, | ||
const UnitCell & | ucell, | ||
const LCAO_Orbitals & | orb, | ||
const Parallel_Orbitals & | pv, | ||
const Grid_Driver & | GridD, | ||
torch::Tensor & | vdr_precalc | ||
) |
void DeePKS_domain::check_descriptor | ( | const int | inlmax, |
const int | des_per_atom, | ||
const std::vector< int > & | inl2l, | ||
const UnitCell & | ucell, | ||
const std::string & | out_dir, | ||
const std::vector< torch::Tensor > & | descriptor, | ||
const int | rank | ||
) |
print descriptors based on LCAO basis
void DeePKS_domain::check_gedm | ( | const int | inlmax, |
const std::vector< int > & | inl2l, | ||
double ** | gedm | ||
) |
void DeePKS_domain::check_pdm | ( | const int | inlmax, |
const std::vector< int > & | inl2l, | ||
const std::vector< torch::Tensor > & | pdm | ||
) |
void DeePKS_domain::check_phialpha | ( | const bool & | cal_deri, |
const UnitCell & | ucell, | ||
const LCAO_Orbitals & | orb, | ||
const Grid_Driver & | GridD, | ||
const Parallel_Orbitals * | pv, | ||
std::vector< hamilt::HContainer< double > * > & | phialpha, | ||
const int | rank | ||
) |
[in] | cal_deri | 0 for 2-center intergration, 1 for its derivation |
template void DeePKS_domain::check_tensor< double > | ( | const torch::Tensor & | tensor, |
const std::string & | filename, | ||
const int | rank | ||
) |
void DeePKS_domain::collect_h_mat | ( | const Parallel_Orbitals & | pv, |
const std::vector< std::vector< TK > > & | h_in, | ||
std::vector< TH > & | h_out, | ||
const int | nlocal, | ||
const int | nks | ||
) |
void DeePKS_domain::get_h_tot | ( | const Parallel_Orbitals & | pv, |
hamilt::HamiltLCAO< TK, TR > * | p_ham, | ||
std::vector< TH > & | h_tot, | ||
const int | nlocal, | ||
const int | nks, | ||
const char | matrix_type | ||
) |
int DeePKS_domain::get_R_size | ( | const hamilt::HContainer< T > & | hcontainer | ) |
void DeePKS_domain::iterate_ad1 | ( | const UnitCell & | ucell, |
const Grid_Driver & | GridD, | ||
const LCAO_Orbitals & | orb, | ||
const bool | with_trace, | ||
std::function< void(const int, const ModuleBase::Vector3< double > &, const int, const ModuleBase::Vector3< double > &, const int, const int, ModuleBase::Vector3< int >)> | callback | ||
) |
void DeePKS_domain::iterate_ad2 | ( | const UnitCell & | ucell, |
const Grid_Driver & | GridD, | ||
const LCAO_Orbitals & | orb, | ||
const bool | with_trace, | ||
std::function< void(const int, const ModuleBase::Vector3< double > &, const int, const ModuleBase::Vector3< double > &, const int, const int, ModuleBase::Vector3< int >, const int, const ModuleBase::Vector3< double > &, const int, const int, ModuleBase::Vector3< int >)> | callback | ||
) |
void DeePKS_domain::load_model | ( | const std::string & | model_file, |
torch::jit::script::Module & | model | ||
) |
int DeePKS_domain::mapping_R | ( | int | R | ) |
void DeePKS_domain::prepare_atom | ( | const UnitCell & | ucell, |
torch::Tensor & | atom_out | ||
) |
void DeePKS_domain::prepare_box | ( | const UnitCell & | ucell, |
torch::Tensor & | box_out | ||
) |
void DeePKS_domain::prepare_gevdm | ( | const int | nat, |
const int | lmaxd, | ||
const int | inlmax, | ||
const LCAO_Orbitals & | orb, | ||
const std::vector< torch::Tensor > & | gevdm_in, | ||
torch::Tensor & | gevdm_out | ||
) |
template void DeePKS_domain::prepare_phialpha< double > | ( | const int | nlocal, |
const int | lmaxd, | ||
const int | inlmax, | ||
const int | nat, | ||
const int | nks, | ||
const std::vector< ModuleBase::Vector3< double > > & | kvec_d, | ||
const std::vector< hamilt::HContainer< double > * > | phialpha, | ||
const UnitCell & | ucell, | ||
const LCAO_Orbitals & | orb, | ||
const Parallel_Orbitals & | pv, | ||
const Grid_Driver & | GridD, | ||
torch::Tensor & | phialpha_out | ||
) |
void DeePKS_domain::prepare_phialpha_r | ( | const int | nlocal, |
const int | lmaxd, | ||
const int | inlmax, | ||
const int | nat, | ||
const int | R_size, | ||
const std::vector< hamilt::HContainer< double > * > | phialpha, | ||
const UnitCell & | ucell, | ||
const LCAO_Orbitals & | orb, | ||
const Parallel_Orbitals & | pv, | ||
const Grid_Driver & | GridD, | ||
torch::Tensor & | phialpha_r_out | ||
) |
void DeePKS_domain::read_pdm | ( | bool | read_pdm_file, |
bool | is_equiv, | ||
bool & | init_pdm, | ||
const int | nat, | ||
const int | inlmax, | ||
const int | lmaxd, | ||
const std::vector< int > & | inl2l, | ||
const Numerical_Orbital & | alpha, | ||
std::vector< torch::Tensor > & | pdm | ||
) |
void DeePKS_domain::update_dmr | ( | const std::vector< ModuleBase::Vector3< double > > & | kvec_d, |
const std::vector< std::vector< TK > > & | dmk, | ||
const UnitCell & | ucell, | ||
const LCAO_Orbitals & | orb, | ||
const Parallel_Orbitals & | pv, | ||
const Grid_Driver & | GridD, | ||
hamilt::HContainer< double > * | dmr_deepks | ||
) |