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

The radial part of beta functions of a single element. More...

#include <beta_radials.h>

Inheritance diagram for BetaRadials:
Collaboration diagram for BetaRadials:

Public Member Functions

 BetaRadials ()
 
 BetaRadials (const BetaRadials &other)
 deep copy
 
BetaRadialsclone () const
 for polymorphic copy
 
 ~BetaRadials ()
 
void build (const Numerical_Nonlocal &nl, const int itype=0, std::ofstream *const ptr_log=nullptr)
 Build the class from a Numerical_Nonlocal object.
 
RadialSetoperator= (const RadialSet &)
 deep copy
 
- Public Member Functions inherited from RadialSet
 RadialSet ()=default
 
 RadialSet (const RadialSet &)
 deep copy
 
RadialSetoperator= (const RadialSet &)
 deep copy
 
virtual ~RadialSet ()
 
virtual void to_numerical_orbital (Numerical_Orbital &, const int nk_legacy=4005, const double lcao_dk=0.01) const
 Overwrites the content of a Numerical_Orbital object with the current object.
 
virtual void build (const std::string &, const int=0, std::ofstream *const =nullptr, const int=0)
 Builds the object from a file.
 
virtual void build (const int=0, const double=1.0, const bool=false, const int=0, const double=10.0, const double=0.01, const double=1e-6, const int=0, const std::string="", const std::string="minimal-valence", std::ofstream *const =nullptr)
 Builds from hydrogen-like radial functions.
 
virtual void build (const std::string &, const int, const double, const double, std::ofstream *const =nullptr, const int=0)
 Builds from pseudopotential file.
 
virtual void build (const int, const int, const double, const double=0.1, const double=0.01, const int=0, std::ofstream *=nullptr, const int=0)
 Builds with the truncated spherical Bessel functions.
 
void write_abacus_orb (const std::string &, const int=0) const
 write any RadialSet object to a file in ABACUS numerical atomic orbital format.
 
const std::string & symbol () const
 
int itype () const
 
int lmax () const
 
double rcut_max () const
 
int nzeta (const int l) const
 
int nzeta_max () const
 
int nchi () const
 
const NumericalRadialchi (const int l, const int izeta)
 
const NumericalRadialcbegin () const
 
const NumericalRadialcend () const
 
void set_transformer (ModuleBase::SphericalBesselTransformer sbt, const int update=0)
 
void set_grid (const bool for_r_space, const int ngrid, const double *grid, const char mode='i')
 Sets a common grid for all NumericalRadial objects.
 
void set_uniform_grid (const bool for_r_space, const int ngrid, const double cutoff, const char mode='i', const bool enable_fft=false)
 Sets a common uniform grid for all NumericalRadial objects.
 

Additional Inherited Members

- Protected Member Functions inherited from RadialSet
void cleanup ()
 Deallocates memory and reset all class members to default values.
 
int index (const int l, const int izeta) const
 Gets the index in chi_ array from (l,izeta).
 
void indexing ()
 Builds index_map_ from nzeta_, nzeta_max_ and lmax_.
 
void set_rcut_max ()
 Sets rcut_max_ to be the maximum rcut of all NumericalRadial objects.
 
- Protected Attributes inherited from RadialSet
std::string symbol_ = ""
 usually the chemical symbol
 
int itype_ = 0
 usually the index for element in calculation
 
int lmax_ = -1
 maximum angular momentum among all NumericalRadial objects
 
double rcut_max_ = 0.0
 maximum rcut (NOT rmax!) among all NumericalRadial objects
 
int * nzeta_ = nullptr
 number of NumericalRadial objects for each angular momentum
 
int nzeta_max_ = 0
 maximum number of NumericalRadial objects among each angular momentum
 
int nchi_ = 0
 total number of NumericalRadial objects
 
NumericalRadialchi_ = nullptr
 array of NumericalRadial objects
 
int * index_map_ = nullptr
 A map from (l,izeta) to an index in chi_ array.
 

Detailed Description

The radial part of beta functions of a single element.

This class represents the radial part of all Kleinman-Bylander beta functions of a single element as read from a pseudopotential file.

See also
RadialSet

Usage:

int element_index = 1;
std::ofstream ofs_log("/path/to/log/file");
std::string upf_file = "/path/to/pseudopotential/file";

BetaRadials O_beta;
O_beta.build(orb_file, element_index, ofs_log, GlobalV::MY_RANK);

Constructor & Destructor Documentation

◆ BetaRadials() [1/2]

BetaRadials::BetaRadials ( )
inline
Here is the caller graph for this function:

◆ BetaRadials() [2/2]

BetaRadials::BetaRadials ( const BetaRadials other)
inline

deep copy

◆ ~BetaRadials()

BetaRadials::~BetaRadials ( )
inline

Member Function Documentation

◆ build()

void BetaRadials::build ( const Numerical_Nonlocal nl,
const int  itype = 0,
std::ofstream *const  ptr_log = nullptr 
)
virtual

Build the class from a Numerical_Nonlocal object.

Reimplemented from RadialSet.

Here is the call graph for this function:

◆ clone()

BetaRadials * BetaRadials::clone ( ) const
inlinevirtual

for polymorphic copy

Implements RadialSet.

Here is the call graph for this function:

◆ operator=()

RadialSet & RadialSet::operator= ( const RadialSet rhs)

deep copy


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