1#ifndef SPHBES_RADIALS_H_
2#define SPHBES_RADIALS_H_
36 const double dr = 0.01,
38 std::ofstream* ptr_log =
nullptr,
60 const double dr = 0.01,
62 std::ofstream* ptr_log =
nullptr,
71 double dr()
const {
return dr_; }
72 std::vector<double>
const&
coeff(
const int l,
const int izeta)
const {
return coeff_.at(std::make_pair(l, izeta)); }
84 std::map<std::pair<int,int>, std::vector<double>>
coeff_;
88 std::ofstream* ptr_log =
nullptr,
95 std::string
extract(std::string
const& str, std::string
const& keyword);
98 std::vector<std::string>
split(std::string
const& str,
const char* delim =
" \n\t");
102 std::vector<double>
const& coeff_q,
105 std::vector<double>
const& q
109 double smooth(
double r,
double rcut,
double sigma);
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
int itype() const
Definition radial_set.h:154
Numerical radials from spherical Bessel coefficients.
Definition sphbes_radials.h:15
~SphbesRadials()
Definition sphbes_radials.h:24
std::vector< double > sphbes_comb(const int l, std::vector< double > const &coeff_q, double rcut, double dr, std::vector< double > const &q)
Computes the combination of spherical Bessel functions on a uniform grid.
Definition sphbes_radials.cpp:202
std::string extract(std::string const &str, std::string const &keyword)
Extracts a substring (VALUE) from a string of the form KEYWORD=" VALUE ".
Definition sphbes_radials.cpp:181
void build(const std::string &file, const double dr=0.01, const int itype=0, std::ofstream *ptr_log=nullptr, const int rank=0)
Builds the class from a spherical Bessel coefficient file.
Definition sphbes_radials.cpp:24
std::vector< double > const & coeff(const int l, const int izeta) const
Definition sphbes_radials.h:72
SphbesRadials * clone() const
for polymorphic copy
Definition sphbes_radials.h:22
double dr_
Radial grid spacing.
Definition sphbes_radials.h:81
SphbesRadials()
Definition sphbes_radials.h:17
void build_radset(const bool normalize=true)
Definition sphbes_radials.cpp:240
double sigma() const
Definition sphbes_radials.h:70
std::vector< std::string > split(std::string const &str, const char *delim=" \n\t")
Splits a string into a vector of substrings with given delimiters.
Definition sphbes_radials.cpp:190
std::map< std::pair< int, int >, std::vector< double > > coeff_
Spherical Bessel coefficients coeff_[{l,zeta}][q].
Definition sphbes_radials.h:84
double smooth(double r, double rcut, double sigma)
Smoothing function.
Definition sphbes_radials.cpp:235
void read_coeff(std::ifstream &ifs, std::ofstream *ptr_log=nullptr, const int rank=0)
Reads spherical Bessel coefficients, cutoff radius & smoothing parameter from a file stream.
Definition sphbes_radials.cpp:124
SphbesRadials & operator=(const SphbesRadials &rhs)
Definition sphbes_radials.cpp:12
double sigma_
Smoothing parameter.
Definition sphbes_radials.h:78
double dr() const
Definition sphbes_radials.h:71
SphbesRadials(const SphbesRadials &other)
Definition sphbes_radials.h:18
void normalize(const std::vector< double > &r, std::vector< double > &flz)
Definition psi_initializer_nao.cpp:33
file(GLOB ATen_CORE_SRCS "*.cpp") set(ATen_CPU_SRCS $
Definition CMakeLists.txt:1