1#ifndef PSWFC_RADIALS_H_
2#define PSWFC_RADIALS_H_
23 const double screening_coeff = 0.1,
24 const double conv_thr = 1e-10,
25 std::ofstream* ptr_log =
nullptr,
35 const double screening_coeff,
36 const double conv_thr,
37 std::ofstream* ptr_log =
nullptr,
46 const std::vector<double> rvalue);
51 bool startswith(std::string word, std::string pattern);
73 std::vector<double>& rvalue,
74 const double& conv_thr);
79 void smooth(std::vector<double>& rgrid,
80 std::vector<double>& rvalue,
81 const double sigma = 0.1);
85 std::vector<double>
pswfc_prepossess(std::map<std::pair<int, int>, std::vector<double>>& pswfc_map,
86 const double conv_thr = 1e-6);
Definition pswfc_radials.h:8
double radial_norm(const std::vector< double > rgrid, const std::vector< double > rvalue)
returns the norm of the radial function
Definition pswfc_radials.cpp:141
PswfcRadials()
Definition pswfc_radials.h:10
std::vector< double > pswfc_prepossess(std::map< std::pair< int, int >, std::vector< double > > &pswfc_map, const double conv_thr=1e-6)
call cut_to_convergence for each (l,zeta) corresponding orbital in std::map, then zero-padding to the...
Definition pswfc_radials.cpp:202
void read_upf_pswfc(std::ifstream &ifs, const double screening_coeff, const double conv_thr, std::ofstream *ptr_log=nullptr, const int rank=0)
read ONCVPSP program generated pseudopotential file, and store the radial functions in RadialCollecti...
Definition pswfc_radials.cpp:247
~PswfcRadials()
Definition pswfc_radials.h:13
PswfcRadials * clone() const
for polymorphic copy
Definition pswfc_radials.h:12
PswfcRadials & operator=(const PswfcRadials &rhs)
Definition pswfc_radials.cpp:13
void smooth(std::vector< double > &rgrid, std::vector< double > &rvalue, const double sigma=0.1)
smooth the radial function to avoid high frequency noise in FFT-spherical bessel transform
Definition pswfc_radials.cpp:190
bool startswith(std::string word, std::string pattern)
python-like startswith function
Definition pswfc_radials.cpp:57
void build(const std::string &file="", const int itype=0, const double screening_coeff=0.1, const double conv_thr=1e-10, std::ofstream *ptr_log=nullptr, const int rank=0)
central function to build RadialCollection from ONCVPSP program generated pseudopotential file
Definition pswfc_radials.cpp:19
std::string steal_from_quotes(std::string word)
steal string from quotes
Definition pswfc_radials.cpp:76
double cut_to_convergence(const std::vector< double > &rgrid, std::vector< double > &rvalue, const double &conv_thr)
cut radial function to convergence
Definition pswfc_radials.cpp:154
std::string read_keyword_value(std::ifstream &ifs, std::string word)
read value from attributes in HTML-like format
Definition pswfc_radials.cpp:125
An abstract class representing the set of all numerical radial functions (of the same kind) from a si...
Definition radial_set.h:26
int itype() const
Definition radial_set.h:154
file(GLOB ATen_CORE_SRCS "*.cpp") set(ATen_CPU_SRCS $
Definition CMakeLists.txt:1