|
ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#include <ORB_read.h>
Public Member Functions | |
| LCAO_Orbitals () | |
| PLEASE avoid using 'ORB' as global variable. | |
| ~LCAO_Orbitals () | |
| void | init (std::ofstream &ofs_in, const int &ntype, const std::string &orbital_dir, const std::string *orbital_file, const std::string &descriptor_file, const int &lmax, const double &lcao_ecut_in, const double &lcao_dk_in, const double &lcao_dr_in, const double &lcao_rmax_in, const bool &deepks_setorb, const int &out_mat_r, const bool &force_flag, const int &my_rank) |
| void | Read_Orbitals (std::ofstream &ofs_in, const int &ntype_in, const int &lmax_in, const bool &deepks_setorb, const int &out_mat_r, const bool &force_flag, const int &my_rank) |
| void | Read_PAO (std::ofstream &ofs_in, const int &it, const bool &force_flag, const int &my_rank) |
| void | Read_Descriptor (std::ofstream &ofs_in, const bool &force_flag, const int &my_rank) |
| void | bcast_files (const int &ntype_in, const int &my_rank) |
| const double & | get_ecutwfc () const |
| const int & | get_kmesh () const |
| const double & | get_dk () const |
| const double & | get_dR () const |
| const double & | get_Rmax () const |
| const int & | get_lmax () const |
| const int & | get_lmax_d () const |
| lmax of descriptor basis | |
| const int & | get_nchimax () const |
| const int & | get_nchimax_d () const |
| nchimax of descriptor basis | |
| const int & | get_ntype () const |
| const double & | get_dr_uniform () const |
| const double & | get_rcutmax_Phi () const |
| std::vector< double > | cutoffs () const |
Public Attributes | |
| Numerical_Orbital * | Phi |
| numerical atomic orbitals | |
| Numerical_Orbital * | Alpha |
| descriptor bases, saved as one-type atom orbital | |
| double | ecutwfc |
| double | dk |
| double | dR |
| double | Rmax |
| double | dr_uniform |
| bool | read_in_flag |
| std::vector< std::string > | orbital_file |
| std::vector< std::string > | nonlocal_file |
| std::string | descriptor_file |
Private Member Functions | |
| void | read_orb_file (std::ofstream &ofs_in, std::ifstream &ifs, const int &it, int &lmax, int &nchimax, Numerical_Orbital *ao, const bool &force_flag, const int &my_rank) |
Private Attributes | |
| int | ntype |
| int | kmesh |
| int | lmax |
| int | nchimax |
| int | lmax_d |
| int | nchimax_d |
| double | rcutmax_Phi |
Friends | |
| class | TwoCenterBundle |
each set of orbitals should have: lmax, dr, dk, rmax, lmax, etc.
the orbitals include : NAO, non-local projectors, descriptors, etc.
mohan note 2021-02-13
| LCAO_Orbitals::LCAO_Orbitals | ( | ) |
PLEASE avoid using 'ORB' as global variable.
| LCAO_Orbitals::~LCAO_Orbitals | ( | ) |
| void LCAO_Orbitals::bcast_files | ( | const int & | ntype_in, |
| const int & | my_rank | ||
| ) |
| std::vector< double > LCAO_Orbitals::cutoffs | ( | ) | const |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
lmax of descriptor basis
|
inline |
|
inline |
nchimax of descriptor basis
|
inline |
|
inline |
|
inline |
| void LCAO_Orbitals::init | ( | std::ofstream & | ofs_in, |
| const int & | ntype, | ||
| const std::string & | orbital_dir, | ||
| const std::string * | orbital_file, | ||
| const std::string & | descriptor_file, | ||
| const int & | lmax, | ||
| const double & | lcao_ecut_in, | ||
| const double & | lcao_dk_in, | ||
| const double & | lcao_dr_in, | ||
| const double & | lcao_rmax_in, | ||
| const bool & | deepks_setorb, | ||
| const int & | out_mat_r, | ||
| const bool & | force_flag, | ||
| const int & | my_rank | ||
| ) |
| void LCAO_Orbitals::Read_Descriptor | ( | std::ofstream & | ofs_in, |
| const bool & | force_flag, | ||
| const int & | my_rank | ||
| ) |
|
private |
| void LCAO_Orbitals::Read_Orbitals | ( | std::ofstream & | ofs_in, |
| const int & | ntype_in, | ||
| const int & | lmax_in, | ||
| const bool & | deepks_setorb, | ||
| const int & | out_mat_r, | ||
| const bool & | force_flag, | ||
| const int & | my_rank | ||
| ) |
(1) check dk, dR, Rmax.
ntype: number of atom species
lmax: lmax used in local orbitals as basis sets
(2) set the kmesh according to ecutwfc and dk.
calculate number of k mesh according to energy cutoff. Mohan choose ecutwfc according to interpolation requirement.
| void LCAO_Orbitals::Read_PAO | ( | std::ofstream & | ofs_in, |
| const int & | it, | ||
| const bool & | force_flag, | ||
| const int & | my_rank | ||
| ) |
|
friend |
| Numerical_Orbital* LCAO_Orbitals::Alpha |
descriptor bases, saved as one-type atom orbital
| std::string LCAO_Orbitals::descriptor_file |
| double LCAO_Orbitals::dk |
| double LCAO_Orbitals::dR |
| double LCAO_Orbitals::dr_uniform |
| double LCAO_Orbitals::ecutwfc |
|
private |
|
private |
|
private |
|
private |
|
private |
| std::vector<std::string> LCAO_Orbitals::nonlocal_file |
|
private |
| std::vector<std::string> LCAO_Orbitals::orbital_file |
| Numerical_Orbital* LCAO_Orbitals::Phi |
numerical atomic orbitals
|
private |
| bool LCAO_Orbitals::read_in_flag |
| double LCAO_Orbitals::Rmax |