1#ifndef PSI_INITIALIZER_NAO_H
2#define PSI_INITIALIZER_NAO_H
24 virtual void init_psig(
T* psig,
const int& ik)
override;
33 const int& = 0)
override;
41 std::vector<std::vector<int>>
nr()
const
45 std::vector<int>
nr(
const int& itype)
const
49 int nr(
const int& itype,
const int& ichi)
const
51 return nr_[itype][ichi];
53 std::vector<std::vector<std::vector<double>>>
chi()
const
57 std::vector<std::vector<double>>
chi(
const int& itype)
const
61 std::vector<double>
chi(
const int& itype,
const int& ichi)
const
63 return chi_[itype][ichi];
65 double chi(
const int& itype,
const int& ichi,
const int& ir)
const
67 return chi_[itype][ichi][ir];
69 std::vector<std::vector<std::vector<double>>>
rgrid()
const
73 std::vector<std::vector<double>>
rgrid(
const int& itype)
const
77 std::vector<double>
rgrid(
const int& itype,
const int& ichi)
const
79 return rgrid_[itype][ichi];
81 double rgrid(
const int& itype,
const int& ichi,
const int& ir)
const
83 return rgrid_[itype][ichi][ir];
91 std::unique_ptr<ModuleBase::CubicSpline>
cubspl_;
95 std::vector<std::vector<int>>
nr_;
97 std::vector<std::vector<std::vector<double>>>
chi_;
99 std::vector<std::vector<std::vector<double>>>
rgrid_;
double float array
Definition realarray.h:21
Special pw_basis class. It includes different k-points.
Definition pw_basis_k.h:57
Definition structure_factor.h:11
Definition VNL_in_pw.h:21
Definition psi_initializer_nao.h:13
std::vector< std::vector< double > > rgrid(const int &itype) const
Definition psi_initializer_nao.h:73
double rgrid(const int &itype, const int &ichi, const int &ir) const
Definition psi_initializer_nao.h:81
virtual void initialize(const Structure_Factor *, const ModulePW::PW_Basis_K *, const UnitCell *, const K_Vectors *, const int &=1, const pseudopot_cell_vnl *=nullptr, const int &=0) override
initialize the psi_initializer with external data and methods
Definition psi_initializer_nao.cpp:150
std::vector< std::vector< int > > nr_
number of realspace grids per type per chi, [itype][ichi]
Definition psi_initializer_nao.h:95
void allocate_ao_table()
allocate memory for overlap table
Definition psi_initializer_nao.cpp:123
std::unique_ptr< ModuleBase::CubicSpline > cubspl_
cubic spline for interpolation
Definition psi_initializer_nao.h:91
std::vector< double > rgrid(const int &itype, const int &ichi) const
Definition psi_initializer_nao.h:77
std::vector< std::vector< int > > nr() const
Definition psi_initializer_nao.h:41
~psi_initializer_nao()
Definition psi_initializer_nao.h:22
psi_initializer_nao()
Definition psi_initializer_nao.h:18
std::vector< int > nr(const int &itype) const
Definition psi_initializer_nao.h:45
virtual void init_psig(T *psig, const int &ik) override
CENTRAL FUNCTION: init psi in pw basis.
Definition psi_initializer_nao.cpp:253
ModuleBase::realArray projmap_
radial map, [itype][l][izeta] -> i
Definition psi_initializer_nao.h:93
typename GetTypeReal< T >::type Real
Definition psi_initializer_nao.h:15
std::vector< double > chi(const int &itype, const int &ichi) const
Definition psi_initializer_nao.h:61
virtual void tabulate() override
CENTRAL FUNCTION: calculate the interpolate table if needed.
Definition psi_initializer_nao.cpp:198
std::vector< std::vector< std::vector< double > > > chi_
data of numerical atomic orbital per type per chi per position, [itype][ichi][ir]
Definition psi_initializer_nao.h:97
int nr(const int &itype, const int &ichi) const
Definition psi_initializer_nao.h:49
ModuleBase::SphericalBesselTransformer sbt
useful for atomic-like methods
Definition psi_initializer_nao.h:101
std::vector< std::vector< double > > chi(const int &itype) const
Definition psi_initializer_nao.h:57
void read_external_orbs(const std::string *orbital_files, const int &rank)
Definition psi_initializer_nao.cpp:46
std::vector< std::string > external_orbs() const
Definition psi_initializer_nao.h:37
std::vector< std::vector< std::vector< double > > > rgrid() const
Definition psi_initializer_nao.h:69
std::vector< std::vector< std::vector< double > > > chi() const
Definition psi_initializer_nao.h:53
std::vector< std::string > orbital_files_
Definition psi_initializer_nao.h:89
double chi(const int &itype, const int &ichi, const int &ir) const
Definition psi_initializer_nao.h:65
std::vector< std::vector< std::vector< double > > > rgrid_
r of numerical atomic orbital per type per chi per position, [itype][ichi][ir]
Definition psi_initializer_nao.h:99
Definition psi_initializer.h:53
std::string method_
method name
Definition psi_initializer.h:136
#define T
Definition exp.cpp:237
T type
Definition macros.h:8