18 #ifndef QMCPLUSPLUS_ECPCOMPONENT_BUILDER_H 19 #define QMCPLUSPLUS_ECPCOMPONENT_BUILDER_H 44 std::map<std::string, std::unique_ptr<mGridType>>
grid_inp;
45 std::unique_ptr<RadialPotentialType>
pp_loc;
47 std::unique_ptr<SOECPComponent>
pp_so;
48 std::unique_ptr<L2RadialPotential>
pp_L2;
56 bool parse(
const std::string& fname, xmlNodePtr cur);
57 bool put(xmlNodePtr cur);
63 bool parseCasino(
const std::string& fname, xmlNodePtr cur);
78 std::unique_ptr<mGridType>
createGrid(xmlNodePtr cur,
bool useLinear =
false);
81 void doBreakUp(
const std::vector<int>& angList,
97 void buildSO(
const std::vector<int>& angList,
120 bool open_file(
const std::string& fname);
void buildLocal(xmlNodePtr cur)
build a Local Pseudopotential
Base class for any object which needs to know about a MPI communicator.
helper functions for EinsplineSetBuilder
QTBase::RealType RealType
void SetQuadratureRule(int rule)
std::map< std::string, int > angMon
ECPComponentBuilder(const std::string &aname, Communicate *c, int nrule=-1, int llocal=-1, int srule=8)
constructor spin grid used for numerical integration.
OneDimGridBase< RealType > GridType
std::unique_ptr< NonLocalECPComponent > pp_nonloc
An abstract base class to implement a One-Dimensional grid.
Wrapping information on parallelism.
void addSemiLocal(xmlNodePtr cur)
bool open_file(const std::string &fname)
std::unique_ptr< mGridType > grid_global
std::unique_ptr< SOECPComponent > pp_so
std::map< std::string, std::unique_ptr< mGridType > > grid_inp
QTFull::RealType Scalar_t
bool parseCasino(const std::string &fname, xmlNodePtr cur)
std::unique_ptr< RadialPotentialType > pp_loc
OneDimCubicSpline< RealType > RadialPotentialType
bool parse(const std::string &fname, xmlNodePtr cur)
ParticleSet::Scalar_t mRealType
bool read_pp_file(const std::string &fname)
std::unique_ptr< L2RadialPotential > pp_L2
void buildSemiLocalAndLocal(std::vector< xmlNodePtr > &semiPtr)
int get_file_length(std::ifstream *f) const
void buildL2(xmlNodePtr cur)
ReadFileBuffer(Communicate *c)
void doBreakUp(const std::vector< int > &angList, const Matrix< mRealType > &vnn, RealType rmax, mRealType Vprefactor=1.0)
Separate local from non-local potentials.
void buildSO(const std::vector< int > &angList, const Matrix< mRealType > &vnnso, RealType rmax, mRealType Vprefactor=1.0)
brief buildSO - takes the previously parsed angular momenta and spin-orbit tabulated potentials and u...
RadialPotentialType * createVrWithBasisGroup(xmlNodePtr cur, mGridType *agrid)
std::unique_ptr< mGridType > createGrid(xmlNodePtr cur, bool useLinear=false)