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 |