QMCPACK
RadialOrbitalSetBuilder< SoaAtomicBasisSet< MultiFunctorAdapter< FN >, SH > > Class Template Reference
+ Inheritance diagram for RadialOrbitalSetBuilder< SoaAtomicBasisSet< MultiFunctorAdapter< FN >, SH > >:
+ Collaboration diagram for RadialOrbitalSetBuilder< SoaAtomicBasisSet< MultiFunctorAdapter< FN >, SH > >:

Public Types

using COT = SoaAtomicBasisSet< MultiFunctorAdapter< FN >, SH >
 
using RadialOrbital_t = MultiFunctorAdapter< FN >
 
using single_type = typename RadialOrbital_t::single_type
 
- Public Types inherited from MPIObjectBase
using mpi_comm_type = Communicate::mpi_comm_type
 

Public Member Functions

 RadialOrbitalSetBuilder (Communicate *comm, COT &aos)
 constructor More...
 
bool addGrid (xmlNodePtr cur, const std::string &rad_type)
 implement functions used by AOBasisBuilder More...
 
bool addGridH5 (hdf_archive &hin)
 
bool openNumericalBasisH5 (xmlNodePtr cur)
 
bool put (xmlNodePtr cur)
 
bool addRadialOrbital (xmlNodePtr cur, const std::string &rad_type, const QuantumNumberType &nlms)
 
bool addRadialOrbitalH5 (hdf_archive &hin, const std::string &rad_type, const QuantumNumberType &nlms)
 
void finalize ()
 
- Public Member Functions inherited from MPIObjectBase
 MPIObjectBase (Communicate *c)
 constructor with communicator More...
 
int rank () const
 return the rank of the communicator More...
 
int getGroupID () const
 return the group id of the communicator More...
 
Communicate * getCommunicator () const
 return myComm More...
 
Communicate & getCommRef () const
 return a TEMPORARY reference to Communicate More...
 
mpi_comm_type getMPI () const
 return MPI communicator if one wants to use MPI directly More...
 
bool is_manager () const
 return true if the rank == 0 More...
 
const std::string & getName () const
 return the name More...
 
void setName (const std::string &aname)
 

Public Attributes

bool Normalized
 true, if the RadialOrbitalType is normalized More...
 
COT & m_orbitals
 orbitals to build More...
 

Additional Inherited Members

- Protected Attributes inherited from MPIObjectBase
Communicate * myComm
 pointer to Communicate More...
 
std::string ClassName
 class Name More...
 
std::string myName
 name of the object More...
 

Detailed Description

template<typename FN, typename SH>
class qmcplusplus::RadialOrbitalSetBuilder< SoaAtomicBasisSet< MultiFunctorAdapter< FN >, SH > >

Definition at line 190 of file MultiFunctorAdapter.h.

Member Typedef Documentation

◆ COT

Definition at line 193 of file MultiFunctorAdapter.h.

◆ RadialOrbital_t

Definition at line 194 of file MultiFunctorAdapter.h.

◆ single_type

Definition at line 195 of file MultiFunctorAdapter.h.

Constructor & Destructor Documentation

◆ RadialOrbitalSetBuilder()

RadialOrbitalSetBuilder ( Communicate *  comm,
COT &  aos 
)
inline

constructor

Definition at line 203 of file MultiFunctorAdapter.h.

Member Function Documentation

◆ addGrid()

bool addGrid ( xmlNodePtr  cur,
const std::string &  rad_type 
)
inline

implement functions used by AOBasisBuilder

Definition at line 206 of file MultiFunctorAdapter.h.

206 { return true; }

◆ addGridH5()

bool addGridH5 ( hdf_archive &  hin)
inline

Definition at line 207 of file MultiFunctorAdapter.h.

207 { return true; }

◆ addRadialOrbital()

bool addRadialOrbital ( xmlNodePtr  cur,
const std::string &  rad_type,
const QuantumNumberType &  nlms 
)
inline

Definition at line 217 of file MultiFunctorAdapter.h.

References RadialOrbitalSetBuilder< COT >::m_orbitals, RadialOrbitalSetBuilder< COT >::Normalized, and qmcplusplus::q_l.

218  {
219  auto radorb = std::make_unique<single_type>(nlms[q_l], Normalized);
220  radorb->putBasisGroup(cur);
221 
222  m_orbitals.RnlID.push_back(nlms);
223  m_orbitals.MultiRnl.Rnl.push_back(std::move(radorb));
224  return true;
225  }
std::vector< QuantumNumberType > RnlID
container for the quantum-numbers

◆ addRadialOrbitalH5()

bool addRadialOrbitalH5 ( hdf_archive &  hin,
const std::string &  rad_type,
const QuantumNumberType &  nlms 
)
inline

Definition at line 227 of file MultiFunctorAdapter.h.

References RadialOrbitalSetBuilder< COT >::hin, RadialOrbitalSetBuilder< COT >::m_orbitals, MPIObjectBase::myComm, RadialOrbitalSetBuilder< COT >::Normalized, and qmcplusplus::q_l.

228  {
229  auto radorb = std::make_unique<single_type>(nlms[q_l], Normalized);
230  radorb->putBasisGroupH5(hin, *myComm);
231 
232  m_orbitals.RnlID.push_back(nlms);
233  m_orbitals.MultiRnl.Rnl.push_back(std::move(radorb));
234 
235  return true;
236  }
std::vector< QuantumNumberType > RnlID
container for the quantum-numbers
Communicate * myComm
pointer to Communicate
Definition: MPIObjectBase.h:62

◆ finalize()

void finalize ( )
inline

◆ openNumericalBasisH5()

bool openNumericalBasisH5 ( xmlNodePtr  cur)
inline

Definition at line 208 of file MultiFunctorAdapter.h.

208 { return true; }

◆ put()

bool put ( xmlNodePtr  cur)
inline

Definition at line 209 of file MultiFunctorAdapter.h.

References getXMLAttributeValue(), qmcplusplus::lowerCase(), and RadialOrbitalSetBuilder< COT >::Normalized.

210  {
211  const std::string a(lowerCase(getXMLAttributeValue(cur, "normalized")));
212  if (a == "no")
213  Normalized = false;
214  return true;
215  }
std::string lowerCase(const std::string_view s)
++17
std::string getXMLAttributeValue(const xmlNodePtr cur, const std::string_view name)
get the value string for attribute name if name is unfound in cur you get an empty string back this i...

Member Data Documentation

◆ m_orbitals

COT& m_orbitals

orbitals to build

Definition at line 200 of file MultiFunctorAdapter.h.

◆ Normalized

bool Normalized

true, if the RadialOrbitalType is normalized

Definition at line 198 of file MultiFunctorAdapter.h.


The documentation for this class was generated from the following file: