18 #ifndef QMCPLUSPLUS_SOA_LCAO_ORBITAL_BUILDER_H 19 #define QMCPLUSPLUS_SOA_LCAO_ORBITAL_BUILDER_H 46 using BasissetMap = std::map<std::string, std::unique_ptr<BasisSet_t>>;
79 template<
int I,
int J>
81 template<
int I,
int J>
96 Matrix<std::complex<RealType>>& Ctemp,
116 const std::string& setname,
bool cuspCorr
if true, add cusp correction to orbitals
bool loadMO(LCAOrbitalSet &spo, xmlNodePtr cur)
Parse the xml file for information on the Dirac determinants.
ParticleSet & targetPtcl
target ParticleSet
Vector< ValueType, OffloadPinnedAllocator< ValueType > > PeriodicImagePhaseFactors
Periodic Image Phase Factors. Correspond to the phase from the PBCImages. Computed only once...
helper functions for EinsplineSetBuilder
const BasissetMap & getBasissetMap() const
bool putPBCFromH5(LCAOrbitalSet &spo, xmlNodePtr coeff_ptr)
read data from a hdf5 file
std::string useGPU
Captured gpu input string.
void LoadFullCoefsFromH5(hdf_archive &hin, int setVal, PosType &SuperTwist, Matrix< std::complex< RealType >> &Ctemp, bool MultiDet)
Vector< RealType > Occ
occupation number
std::unique_ptr< BasisSet_t > loadBasisSetFromXML(xmlNodePtr cur, xmlNodePtr parent)
load a basis set from XML input
SPOSetBuilder using new LCAOrbitalSet and Soa versions.
Wrapping information on parallelism.
PosType SuperTwist
Coordinates Super Twist.
Specialized paritlce class for atomistic simulations.
base class for the real SPOSet builder
std::map< std::string, std::unique_ptr< BasisSet_t > > basisset_map_
localized basis set map
Declaration of a base class of SPOSet Builders.
int determineRadialOrbType(xmlNodePtr cur) const
determine radial orbital type based on "keyword" and "transform" attributes
Array< RealType, 2, OffloadPinnedAllocator< RealType > > PeriodicImageDisplacements
ParticleSet & sourcePtcl
source ParticleSet
BasisSet_t * createBasisSetH5()
LCAOrbitalBuilder(ParticleSet &els, ParticleSet &ions, Communicate *comm, xmlNodePtr cur)
constructor
std::unique_ptr< SPOSet > createSPOSetFromXML(xmlNodePtr cur) override
create an sposet from xml (legacy)
bool putOccupation(LCAOrbitalSet &spo, xmlNodePtr occ_ptr)
Tensor< double, 3 > Lattice
Store Lattice parameters from HDF5 to use in PeriodicImagePhaseFactors.
OMPallocator is an allocator with fused device and dualspace allocator functionality.
std::string h5_path
Path to HDF5 Wavefunction.
BasisSet_t * createBasisSet(xmlNodePtr cur)
create basis set
bool putFromXML(LCAOrbitalSet &spo, xmlNodePtr coeff_ptr)
void readRealMatrixFromH5(hdf_archive &hin, const std::string &setname, Matrix< LCAOrbitalBuilder::RealType > &Creal) const
read matrix from h5 file
bool putFromH5(LCAOrbitalSet &spo, xmlNodePtr coeff_ptr)
read data from a hdf5 file
TinyVector< int, 3 > PBCImages
Number of periodic Images for Orbital evaluation.
std::unique_ptr< BasisSet_t > loadBasisSetFromH5(xmlNodePtr parent)
load a basis set from h5 file
class to handle linear combinations of basis orbitals used to evaluate the Dirac determinants.
~LCAOrbitalBuilder() override
std::map< std::string, std::unique_ptr< BasisSet_t > > BasissetMap
A D-dimensional Array class based on PETE.
bool doCuspCorrection
Enable cusp correction.
SoaBasisSetBase< ValueType > basis_type
void EvalPeriodicImagePhaseFactors(PosType SuperTwist, Vector< RealType, OffloadPinnedAllocator< RealType >> &LocPeriodicImagePhaseFactors, Array< RealType, 2, OffloadPinnedAllocator< RealType >> &LocPeriodicImageDisplacements)
Periodic Image Phase Factors computation to be determined.
Declaration of a base class of BasisSet.