|
ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
Classes | |
| class | Setup_DM |
Typedefs | |
| typedef std::tuple< int, int, int, int > | key_tuple |
Functions | |
| template<typename T > | |
| void | DeePKS_init (const UnitCell &ucell, Parallel_Orbitals &pv, const int &nks, const LCAO_Orbitals &orb, LCAO_Deepks< T > &ld, std::ofstream &ofs) |
| template void | DeePKS_init< double > (const UnitCell &ucell, Parallel_Orbitals &pv, const int &nks, const LCAO_Orbitals &orb, LCAO_Deepks< double > &ld, std::ofstream &ofs) |
| template void | DeePKS_init< std::complex< double > > (const UnitCell &ucell, Parallel_Orbitals &pv, const int &nks, const LCAO_Orbitals &orb, LCAO_Deepks< std::complex< double > > &ld, std::ofstream &ofs) |
| void | init_basis_lcao (Parallel_Orbitals &pv, const double &onsite_radius, const double &lcao_ecut, const double &lcao_dk, const double &lcao_dr, const double &lcao_rmax, UnitCell &ucell, TwoCenterBundle &two_center_bundle, LCAO_Orbitals &orb) |
| void | build_Nonlocal_mu_new (const Parallel_Orbitals &pv, ForceStressArrays &fsr, double *HlocR, const bool &calc_deri, const UnitCell &ucell, const LCAO_Orbitals &orb, const TwoCenterIntegrator &intor_orb_beta, const Grid_Driver *GridD) |
| void | set_force (const Parallel_Orbitals &pv, const int &iw1_all, const int &iw2_all, const double &vx, const double &vy, const double &vz, const char &dtype, double *dsloc_x, double *dsloc_y, double *dsloc_z, double *dhloc_fixed_x, double *dhloc_fixed_y, double *dhloc_fixed_z) |
| set the elements of force-related matrices in LCAO method | |
| void | set_stress (const Parallel_Orbitals &pv, const int &iw1_all, const int &iw2_all, const double &vx, const double &vy, const double &vz, const char &dtype, const ModuleBase::Vector3< double > &dtau, double *dsloc_11, double *dsloc_12, double *dsloc_13, double *dsloc_22, double *dsloc_23, double *dsloc_33, double *dhloc_fixed_11, double *dhloc_fixed_12, double *dhloc_fixed_13, double *dhloc_fixed_22, double *dhloc_fixed_23, double *dhloc_fixed_33) |
| set the elements of stress-related matrices in LCAO method | |
| void | single_overlap (const LCAO_Orbitals &orb, const TwoCenterBundle &two_center_bundle, const Parallel_Orbitals &pv, const UnitCell &ucell, const int nspin, const bool cal_stress, const int iw1_all, const int iw2_all, const int m1, const int m2, const char &dtype, const int T1, const int L1, const int N1, const int T2, const int L2, const int N2, const ModuleBase::Vector3< double > &dtau, const ModuleBase::Vector3< double > &tau1, const ModuleBase::Vector3< double > &tau2, const int npol, const int jj, const int jj0, const int kk, const int kk0, int &nnr, int &total_nnr, double *olm, double *HSloc) |
| set each element without derivatives | |
| void | single_derivative (ForceStressArrays &fsr, const LCAO_Orbitals &orb, const TwoCenterBundle &two_center_bundle, const Parallel_Orbitals &pv, const UnitCell &ucell, const int nspin, const bool cal_stress, const int iw1_all, const int iw2_all, const int m1, const int m2, const char &dtype, const int T1, const int L1, const int N1, const int T2, const int L2, const int N2, const ModuleBase::Vector3< double > &dtau, const ModuleBase::Vector3< double > &tau1, const ModuleBase::Vector3< double > &tau2, const int npol, const int jj, const int jj0, const int kk, const int kk0, int &nnr, int &total_nnr, double *olm) |
| set each element of T matrices | |
| void | build_ST_new (ForceStressArrays &fsr, const char &dtype, const bool &cal_deri, const bool &cal_stress, const UnitCell &ucell, const LCAO_Orbitals &orb, const Parallel_Orbitals &pv, const TwoCenterBundle &two_center_bundle, const Grid_Driver *GridD, double *SHlocR, bool cal_syns=false, double dmax=0.0) |
| set the elements of S and T matrices | |
| void | zeros_HSR (const char &mtype, LCAO_HS_Arrays &HS_arrays) |
| set zeros for HSR matrices | |
| template<typename T > | |
| void | set_mat2d (const int &global_ir, const int &global_ic, const T &v, const Parallel_Orbitals &pv, T *mat) |
| template<typename TK > | |
| void | set_psi_occ_dm_chg (const K_Vectors &kv, psi::Psi< TK > *&psi, const Parallel_Orbitals &pv, elecstate::ElecState *pelec, LCAO_domain::Setup_DM< TK > &dmat, Charge &chr, const Input_para &inp) |
| set up wave functions, occupation numbers, density matrix and charge density | |
| template<typename TK > | |
| void | set_pot (UnitCell &ucell, K_Vectors &kv, Structure_Factor &sf, const ModulePW::PW_Basis &pw_rho, const ModulePW::PW_Basis &pw_rhod, elecstate::ElecState *pelec, const LCAO_Orbitals &orb, Parallel_Orbitals &pv, pseudopot_cell_vl &locpp, Plus_U &dftu, surchem &solvent, Exx_NAO< TK > &exx_nao, Setup_DeePKS< TK > &deepks, const Input_para &inp) |
| set up potentials, including local pseudopotentials, +U potential, solvent potential, exx potential and deepks potential | |
| template<typename TK > | |
| void | init_dm_from_file (const std::string dmfile, LCAO_domain::Setup_DM< TK > &dmat, const UnitCell &ucell, const Parallel_Orbitals *pv) |
| template void | set_mat2d< double > (const int &global_ir, const int &global_ic, const double &v, const Parallel_Orbitals &pv, double *HSloc) |
| template void | set_mat2d< std::complex< double > > (const int &global_ir, const int &global_ic, const std::complex< double > &v, const Parallel_Orbitals &pv, std::complex< double > *HSloc) |
| void | dm2rho (std::vector< hamilt::HContainer< double > * > &dmr, const int nspin, Charge *chr, bool skip_normalize=false) |
| void | dm2tau (std::vector< hamilt::HContainer< double > * > &dmr, const int nspin, Charge *chr) |
once the GlobalC::exx_info has been deleted, this include can be gone mohan note 2024-07-21
| typedef std::tuple<int, int, int, int> LCAO_domain::key_tuple |
| void LCAO_domain::build_Nonlocal_mu_new | ( | const Parallel_Orbitals & | pv, |
| ForceStressArrays & | fsr, | ||
| double * | HlocR, | ||
| const bool & | calc_deri, | ||
| const UnitCell & | ucell, | ||
| const LCAO_Orbitals & | orb, | ||
| const TwoCenterIntegrator & | intor_orb_beta, | ||
| const Grid_Driver * | GridD | ||
| ) |
calc_deri
calc_deri
| void LCAO_domain::build_ST_new | ( | ForceStressArrays & | fsr, |
| const char & | dtype, | ||
| const bool & | cal_deri, | ||
| const bool & | cal_stress, | ||
| const UnitCell & | ucell, | ||
| const LCAO_Orbitals & | orb, | ||
| const Parallel_Orbitals & | pv, | ||
| const TwoCenterBundle & | two_center_bundle, | ||
| const Grid_Driver * | GridD, | ||
| double * | SHlocR, | ||
| bool | cal_syns = false, |
||
| double | dmax = 0.0 |
||
| ) |
set the elements of S and T matrices
| void LCAO_domain::DeePKS_init | ( | const UnitCell & | ucell, |
| Parallel_Orbitals & | pv, | ||
| const int & | nks, | ||
| const LCAO_Orbitals & | orb, | ||
| LCAO_Deepks< T > & | ld, | ||
| std::ofstream & | ofs | ||
| ) |
| template void LCAO_domain::DeePKS_init< double > | ( | const UnitCell & | ucell, |
| Parallel_Orbitals & | pv, | ||
| const int & | nks, | ||
| const LCAO_Orbitals & | orb, | ||
| LCAO_Deepks< double > & | ld, | ||
| std::ofstream & | ofs | ||
| ) |
| template void LCAO_domain::DeePKS_init< std::complex< double > > | ( | const UnitCell & | ucell, |
| Parallel_Orbitals & | pv, | ||
| const int & | nks, | ||
| const LCAO_Orbitals & | orb, | ||
| LCAO_Deepks< std::complex< double > > & | ld, | ||
| std::ofstream & | ofs | ||
| ) |
| void LCAO_domain::dm2rho | ( | std::vector< hamilt::HContainer< double > * > & | dmr, |
| const int | nspin, | ||
| Charge * | chr, | ||
| bool | skip_normalize = false |
||
| ) |
| void LCAO_domain::dm2tau | ( | std::vector< hamilt::HContainer< double > * > & | dmr, |
| const int | nspin, | ||
| Charge * | chr | ||
| ) |
| void LCAO_domain::init_basis_lcao | ( | Parallel_Orbitals & | pv, |
| const double & | onsite_radius, | ||
| const double & | lcao_ecut, | ||
| const double & | lcao_dk, | ||
| const double & | lcao_dr, | ||
| const double & | lcao_rmax, | ||
| UnitCell & | ucell, | ||
| TwoCenterBundle & | two_center_bundle, | ||
| LCAO_Orbitals & | orb | ||
| ) |
| void LCAO_domain::init_dm_from_file | ( | const std::string | dmfile, |
| LCAO_domain::Setup_DM< TK > & | dmat, | ||
| const UnitCell & | ucell, | ||
| const Parallel_Orbitals * | pv | ||
| ) |
| void LCAO_domain::set_force | ( | const Parallel_Orbitals & | pv, |
| const int & | iw1_all, | ||
| const int & | iw2_all, | ||
| const double & | vx, | ||
| const double & | vy, | ||
| const double & | vz, | ||
| const char & | dtype, | ||
| double * | dsloc_x, | ||
| double * | dsloc_y, | ||
| double * | dsloc_z, | ||
| double * | dhloc_fixed_x, | ||
| double * | dhloc_fixed_y, | ||
| double * | dhloc_fixed_z | ||
| ) |
set the elements of force-related matrices in LCAO method
| void LCAO_domain::set_mat2d | ( | const int & | global_ir, |
| const int & | global_ic, | ||
| const T & | v, | ||
| const Parallel_Orbitals & | pv, | ||
| T * | mat | ||
| ) |
| template void LCAO_domain::set_mat2d< double > | ( | const int & | global_ir, |
| const int & | global_ic, | ||
| const double & | v, | ||
| const Parallel_Orbitals & | pv, | ||
| double * | HSloc | ||
| ) |
| template void LCAO_domain::set_mat2d< std::complex< double > > | ( | const int & | global_ir, |
| const int & | global_ic, | ||
| const std::complex< double > & | v, | ||
| const Parallel_Orbitals & | pv, | ||
| std::complex< double > * | HSloc | ||
| ) |
| void LCAO_domain::set_pot | ( | UnitCell & | ucell, |
| K_Vectors & | kv, | ||
| Structure_Factor & | sf, | ||
| const ModulePW::PW_Basis & | pw_rho, | ||
| const ModulePW::PW_Basis & | pw_rhod, | ||
| elecstate::ElecState * | pelec, | ||
| const LCAO_Orbitals & | orb, | ||
| Parallel_Orbitals & | pv, | ||
| pseudopot_cell_vl & | locpp, | ||
| Plus_U & | dftu, | ||
| surchem & | solvent, | ||
| Exx_NAO< TK > & | exx_nao, | ||
| Setup_DeePKS< TK > & | deepks, | ||
| const Input_para & | inp | ||
| ) |
set up potentials, including local pseudopotentials, +U potential, solvent potential, exx potential and deepks potential
1) init local pseudopotentials
2) init potentials
3) initialize DFT+U
4) init exact exchange calculations
5) init deepks
| void LCAO_domain::set_psi_occ_dm_chg | ( | const K_Vectors & | kv, |
| psi::Psi< TK > *& | psi, | ||
| const Parallel_Orbitals & | pv, | ||
| elecstate::ElecState * | pelec, | ||
| LCAO_domain::Setup_DM< TK > & | dmat, | ||
| Charge & | chr, | ||
| const Input_para & | inp | ||
| ) |
set up wave functions, occupation numbers, density matrix and charge density
1) init electronic wave function psi
2) read psi from file
3) set occupations, tddft does not need to set occupations in the first scf
4) init DMK, but DMR is constructed in before_scf()
| void LCAO_domain::set_stress | ( | const Parallel_Orbitals & | pv, |
| const int & | iw1_all, | ||
| const int & | iw2_all, | ||
| const double & | vx, | ||
| const double & | vy, | ||
| const double & | vz, | ||
| const char & | dtype, | ||
| const ModuleBase::Vector3< double > & | dtau, | ||
| double * | dsloc_11, | ||
| double * | dsloc_12, | ||
| double * | dsloc_13, | ||
| double * | dsloc_22, | ||
| double * | dsloc_23, | ||
| double * | dsloc_33, | ||
| double * | dhloc_fixed_11, | ||
| double * | dhloc_fixed_12, | ||
| double * | dhloc_fixed_13, | ||
| double * | dhloc_fixed_22, | ||
| double * | dhloc_fixed_23, | ||
| double * | dhloc_fixed_33 | ||
| ) |
set the elements of stress-related matrices in LCAO method
| void LCAO_domain::single_derivative | ( | ForceStressArrays & | fsr, |
| const LCAO_Orbitals & | orb, | ||
| const TwoCenterBundle & | two_center_bundle, | ||
| const Parallel_Orbitals & | pv, | ||
| const UnitCell & | ucell, | ||
| const int | nspin, | ||
| const bool | cal_stress, | ||
| const int | iw1_all, | ||
| const int | iw2_all, | ||
| const int | m1, | ||
| const int | m2, | ||
| const char & | dtype, | ||
| const int | T1, | ||
| const int | L1, | ||
| const int | N1, | ||
| const int | T2, | ||
| const int | L2, | ||
| const int | N2, | ||
| const ModuleBase::Vector3< double > & | dtau, | ||
| const ModuleBase::Vector3< double > & | tau1, | ||
| const ModuleBase::Vector3< double > & | tau2, | ||
| const int | npol, | ||
| const int | jj, | ||
| const int | jj0, | ||
| const int | kk, | ||
| const int | kk0, | ||
| int & | nnr, | ||
| int & | total_nnr, | ||
| double * | olm | ||
| ) |
set each element of T matrices
| void LCAO_domain::single_overlap | ( | const LCAO_Orbitals & | orb, |
| const TwoCenterBundle & | two_center_bundle, | ||
| const Parallel_Orbitals & | pv, | ||
| const UnitCell & | ucell, | ||
| const int | nspin, | ||
| const bool | cal_stress, | ||
| const int | iw1_all, | ||
| const int | iw2_all, | ||
| const int | m1, | ||
| const int | m2, | ||
| const char & | dtype, | ||
| const int | T1, | ||
| const int | L1, | ||
| const int | N1, | ||
| const int | T2, | ||
| const int | L2, | ||
| const int | N2, | ||
| const ModuleBase::Vector3< double > & | dtau, | ||
| const ModuleBase::Vector3< double > & | tau1, | ||
| const ModuleBase::Vector3< double > & | tau2, | ||
| const int | npol, | ||
| const int | jj, | ||
| const int | jj0, | ||
| const int | kk, | ||
| const int | kk0, | ||
| int & | nnr, | ||
| int & | total_nnr, | ||
| double * | olm, | ||
| double * | HSloc | ||
| ) |
set each element without derivatives
| void LCAO_domain::zeros_HSR | ( | const char & | mtype, |
| LCAO_HS_Arrays & | HS_arrays | ||
| ) |
set zeros for HSR matrices