36 auto myclone = std::make_unique<PWRealOrbitalSet>(*this);
59 if (ng != coefs.size())
61 app_error() <<
" Input G map does not match the basis size of wave functions " << std::endl;
66 for (
int ig = 0; ig < ng; ig++)
68 if (inputmap[ig] > -1)
69 CC[jorb][inputmap[ig]] = coefs[ig];
76 if (ng != coefs.size())
78 app_error() <<
" Input G map does not match the basis size of wave functions " << std::endl;
83 for (
int ig = 0; ig < ng; ig++)
85 if (inputmap[ig] > -1)
86 CC[jorb][inputmap[ig]] = coefs[ig];
110 d2psi[j] = tptr[
PW_LAP].real();
118 #error "Only physical dimensions 1/2/3 are supported." 130 for (
int iat = first, i = 0; iat < last; iat++, i++)
146 #error "Only physical dimensions 1/2/3 are supported." void evaluateAll(const ParticleSet &P, int iat)
void resize(size_type n, Type_t val=Type_t())
Resize the container.
helper functions for EinsplineSetBuilder
QTBase::GradType GradType
void evaluate(const PosType &pos)
void addVector(const std::vector< RealType > &coefs, int jorb)
add eigenstate for jorb-th orbital
void evaluateVGL(const ParticleSet &P, int iat, ValueVector &psi, GradVector &dpsi, ValueVector &d2psi) override
evaluate the values, gradients and laplacians of this single-particle orbital set ...
std::ostream & app_error()
void convertToReal(const T1 &in, T2 &out)
generic conversion from type T1 to type T2 using implicit conversion
OrbitalSetTraits< ValueType >::ValueMatrix ValueMatrix
~PWRealOrbitalSet() override
delete BasisSet only it owns this
float real(const float &c)
real part of a scalar. Cannot be replaced by std::real due to AFQMC specific needs.
void resize(size_type n, size_type m)
Resize the container.
Communicate * Controller
Global Communicator for a process.
Matrix< ComplexType > Temp
temporary array to perform gemm operation
OrbitalSetTraits< ValueType >::GradMatrix GradMatrix
std::unique_ptr< SPOSet > makeClone() const override
make a clone of itself every derived class must implement this to have threading working correctly...
void resize(PWBasisPtr bset, int nbands, bool cleanup=false)
resize the orbital base
Matrix< ComplexType > CC
Plane-wave coefficients of complex: (iband,g-vector)
Specialized paritlce class for atomistic simulations.
PWBasisPtr myBasisSet
My basis set.
void product(const Matrix< T > &A, const Matrix< T > &B, Matrix< T > &C)
static function to perform C=AB for real matrices
void evaluateValue(const ParticleSet &P, int iat, ValueVector &psi) override
evaluate the values of this single-particle orbital set
OrbitalSetTraits< ValueType >::ValueVector ValueVector
IndexType OrbitalSetSize
number of Single-particle orbitals
const PosType & activeR(int iat) const
return the active position if the particle is active or the return current position if not ...
void evaluate_notranspose(const ParticleSet &P, int first, int last, ValueMatrix &logdet, GradMatrix &dlogdet, ValueMatrix &d2logdet) override
evaluate the values, gradients and laplacians of this single-particle orbital for [first...
IndexType BasisSetSize
number of basis
int NumPlaneWaves
total number of basis functions
OrbitalSetTraits< ValueType >::GradVector GradVector
QMCTraits::ComplexType ComplexType
Define PWRealOrbitalSet derived from SPOSet.
Vector< ComplexType > tempPsi
temporary complex vector before assigning to a real psi
void setOrbitalSetSize(int norbs) override
set the OrbitalSetSize
std::vector< int > inputmap