ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
LCAO_Orbitals Class Reference

#include <ORB_read.h>

Collaboration diagram for LCAO_Orbitals:

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_OrbitalPhi
 numerical atomic orbitals
 
Numerical_OrbitalAlpha
 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
 

Detailed Description

advices for reconstructions:

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

Constructor & Destructor Documentation

◆ LCAO_Orbitals()

LCAO_Orbitals::LCAO_Orbitals ( )

PLEASE avoid using 'ORB' as global variable.

◆ ~LCAO_Orbitals()

LCAO_Orbitals::~LCAO_Orbitals ( )

Member Function Documentation

◆ bcast_files()

void LCAO_Orbitals::bcast_files ( const int &  ntype_in,
const int &  my_rank 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ cutoffs()

std::vector< double > LCAO_Orbitals::cutoffs ( ) const
Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_dk()

const double & LCAO_Orbitals::get_dk ( ) const
inline
Here is the caller graph for this function:

◆ get_dR()

const double & LCAO_Orbitals::get_dR ( ) const
inline
Here is the caller graph for this function:

◆ get_dr_uniform()

const double & LCAO_Orbitals::get_dr_uniform ( ) const
inline
Here is the caller graph for this function:

◆ get_ecutwfc()

const double & LCAO_Orbitals::get_ecutwfc ( ) const
inline

◆ get_kmesh()

const int & LCAO_Orbitals::get_kmesh ( ) const
inline
Here is the caller graph for this function:

◆ get_lmax()

const int & LCAO_Orbitals::get_lmax ( ) const
inline

◆ get_lmax_d()

const int & LCAO_Orbitals::get_lmax_d ( ) const
inline

lmax of descriptor basis

Here is the caller graph for this function:

◆ get_nchimax()

const int & LCAO_Orbitals::get_nchimax ( ) const
inline

◆ get_nchimax_d()

const int & LCAO_Orbitals::get_nchimax_d ( ) const
inline

nchimax of descriptor basis

Here is the caller graph for this function:

◆ get_ntype()

const int & LCAO_Orbitals::get_ntype ( ) const
inline
Here is the caller graph for this function:

◆ get_rcutmax_Phi()

const double & LCAO_Orbitals::get_rcutmax_Phi ( ) const
inline
Here is the caller graph for this function:

◆ get_Rmax()

const double & LCAO_Orbitals::get_Rmax ( ) const
inline
Here is the caller graph for this function:

◆ init()

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 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ Read_Descriptor()

void LCAO_Orbitals::Read_Descriptor ( std::ofstream &  ofs_in,
const bool &  force_flag,
const int &  my_rank 
)
Here is the caller graph for this function:

◆ read_orb_file()

void LCAO_Orbitals::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

◆ Read_Orbitals()

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.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ Read_PAO()

void LCAO_Orbitals::Read_PAO ( std::ofstream &  ofs_in,
const int &  it,
const bool &  force_flag,
const int &  my_rank 
)
Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ TwoCenterBundle

friend class TwoCenterBundle
friend

Member Data Documentation

◆ Alpha

Numerical_Orbital* LCAO_Orbitals::Alpha

descriptor bases, saved as one-type atom orbital

◆ descriptor_file

std::string LCAO_Orbitals::descriptor_file

◆ dk

double LCAO_Orbitals::dk

◆ dR

double LCAO_Orbitals::dR

◆ dr_uniform

double LCAO_Orbitals::dr_uniform

◆ ecutwfc

double LCAO_Orbitals::ecutwfc

◆ kmesh

int LCAO_Orbitals::kmesh
private

◆ lmax

int LCAO_Orbitals::lmax
private

◆ lmax_d

int LCAO_Orbitals::lmax_d
private

◆ nchimax

int LCAO_Orbitals::nchimax
private

◆ nchimax_d

int LCAO_Orbitals::nchimax_d
private

◆ nonlocal_file

std::vector<std::string> LCAO_Orbitals::nonlocal_file

◆ ntype

int LCAO_Orbitals::ntype
private

◆ orbital_file

std::vector<std::string> LCAO_Orbitals::orbital_file

◆ Phi

Numerical_Orbital* LCAO_Orbitals::Phi

numerical atomic orbitals

◆ rcutmax_Phi

double LCAO_Orbitals::rcutmax_Phi
private

◆ read_in_flag

bool LCAO_Orbitals::read_in_flag

◆ Rmax

double LCAO_Orbitals::Rmax

The documentation for this class was generated from the following files: