1#ifndef RADIAL_COLLECTION_H_
2#define RADIAL_COLLECTION_H_
27 void build(
const int nfile,
const std::string*
const file,
const char ftype =
'\0');
37 const double*
const charges,
38 const bool with_slater_screening,
39 const int*
const nmax,
40 const std::string* symbols =
nullptr,
41 const double conv_thr = 1e-10,
42 const std::string* strategies =
nullptr,
47 const std::string*
const file,
48 const double*
const screening_coeff,
49 const double conv_thr = 1e-10,
78 assert(itype >= 0 && itype <
ntype_);
84 assert(itype >= 0 && itype <
ntype_);
118 return iter_ + std::accumulate(
nl_,
nl_ + l + 1, 0);
130 void set_grid(
const bool for_r_space,
const int ngrid,
const double* grid,
const char mode =
'i');
136 const char mode =
'i',
137 const bool enable_fft =
false);
146 void to_file(
const std::string& appendix,
147 const std::string& format =
"abacus_orb"
A class that represents a numerical radial function.
Definition numerical_radial.h:65
Definition ORB_nonlocal.h:22
A class that holds all numerical radial functions of the same kind.
Definition radial_collection.h:18
int lmax_
maximum angular momentum of all NumericalRadial objects in the collection
Definition radial_collection.h:152
int nchi() const
Definition radial_collection.h:73
void to_file(const std::string &appendix, const std::string &format="abacus_orb") const
export all RadialSet objects to a file in a given format.
Definition radial_collection.cpp:370
const NumericalRadial & operator()(const int itype, const int l, const int izeta) const
Definition radial_collection.h:76
void set_grid(const bool for_r_space, const int ngrid, const double *grid, const char mode='i')
Sets a common grid for all RadialSet objects.
Definition radial_collection.cpp:315
RadialCollection & operator=(const RadialCollection &rhs)
deep copy
Definition radial_collection.cpp:39
double rcut_max_
maximum cutoff radius among all NumericalRadial objects
Definition radial_collection.h:155
RadialCollection()=default
RadialSet ** radset_
Definition radial_collection.h:157
void iter_build()
Builds iter_ from radset_.
Definition radial_collection.cpp:106
void set_rcut_max()
Finds the maximum cutoff radius among all RadialSet objects and sets rcut_max_ accordingly.
Definition radial_collection.cpp:76
~RadialCollection()
Definition radial_collection.cpp:65
const NumericalRadial ** iter_
"Iterator" for NumericalRadial objects.
Definition radial_collection.h:165
void build(const int nfile, const std::string *const file, const char ftype='\0')
Builds the collection from (orbital) files.
Definition radial_collection.cpp:175
int nzeta_max_
maximum number of distinct radial functions given a type & angular momentum
Definition radial_collection.h:154
int * nl_
Number of NumericalRadial objects for each angular momentum.
Definition radial_collection.h:168
const std::string & symbol(const int itype) const
Definition radial_collection.h:64
int nchi_
total number of NumericalRadial objects in the collection
Definition radial_collection.h:153
const NumericalRadial ** cbegin(const int l) const
*(this->cbegin(l)) returns the address of the first NumericalRadial object with angular momentum l
Definition radial_collection.h:108
void cleanup()
Deallocates all RadialSet objects and resets all members to default.
Definition radial_collection.cpp:85
int ntype() const
Definition radial_collection.h:65
int nchi(const int itype) const
Definition radial_collection.h:74
const NumericalRadial ** cbegin() const
*(this->cbegin(l)) returns the address of the first NumericalRadial object with angular momentum l
Definition radial_collection.h:95
int nzeta_max() const
Definition radial_collection.h:72
int nzeta(const int itype, const int l) const
Definition radial_collection.h:70
int ntype_
number of RadialSet in the collection
Definition radial_collection.h:151
int nzeta_max(const int itype) const
Definition radial_collection.h:71
double rcut_max() const
Definition radial_collection.h:69
void set_transformer(ModuleBase::SphericalBesselTransformer sbt, const int update=0)
Definition radial_collection.cpp:307
char check_file_type(const std::string &file) const
Returns the file type of a given file.
Definition radial_collection.cpp:337
const NumericalRadial ** cend() const
*(this->cbegin(l)) returns the address of the first NumericalRadial object with angular momentum l
Definition radial_collection.h:101
const NumericalRadial ** cend(const int l) const
*(this->cend(l)) returns the address of one-past-last NumericalRadial object with angular momentum l
Definition radial_collection.h:115
double rcut_max(const int itype) const
Definition radial_collection.h:68
int lmax() const
Definition radial_collection.h:67
int lmax(const int itype) const
Definition radial_collection.h:66
const RadialSet & operator()(const int itype) const
Definition radial_collection.h:82
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 RadialSet objects.
Definition radial_collection.cpp:324
An abstract class representing the set of all numerical radial functions (of the same kind) from a si...
Definition radial_set.h:26
int lmax() const
Definition radial_set.h:155
const NumericalRadial & chi(const int l, const int izeta)
Definition radial_set.cpp:141
int nzeta_max() const
Definition radial_set.h:159
double rcut_max() const
Definition radial_set.h:156
int nzeta(const int l) const
Definition radial_set.h:158
const std::string & symbol() const
Definition radial_set.h:153
int nchi() const
Definition radial_set.h:160
file(GLOB ATen_CORE_SRCS "*.cpp") set(ATen_CPU_SRCS $
Definition CMakeLists.txt:1