22 #ifndef QMCPLUSPLUS_PLANEWAVE_REALORBITALSET_BLAS_H 23 #define QMCPLUSPLUS_PLANEWAVE_REALORBITALSET_BLAS_H 54 std::string
getClassName()
const override {
return "PWRealOrbitalSet"; }
62 std::unique_ptr<SPOSet>
makeClone()
const override;
75 void addVector(
const std::vector<RealType>& coefs,
int jorb);
81 void addVector(
const std::vector<ComplexType>& coefs,
int jorb);
109 APP_ABORT(
"Need specialization of evaluate_notranspose() for grad_grad_logdet. \n");
base class for Single-particle orbital sets
helper functions for EinsplineSetBuilder
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 ...
ValueType evaluate(int ib, const PosType &pos)
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.
PosType TwistAngle
TwistAngle of this PWRealOrbitalSet.
OrbitalSetTraits< ValueType >::ValueVector ValueVector
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.
QTBase::ValueType ValueType
PWBasisPtr myBasisSet
My basis set.
void evaluateValue(const ParticleSet &P, int iat, ValueVector &psi) override
evaluate the values of this single-particle orbital set
PWRealOrbitalSet(const std::string &my_name)
default constructor
static T dot(int n, const T *restrict a, const T *restrict b)
#define APP_ABORT(msg)
Widely used but deprecated fatal error macros from legacy code.
OHMMS_INDEXTYPE IndexType
define other types
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
OrbitalSetTraits< ValueType >::GradVector GradVector
Declaration of Plane-wave basis set.
Vector< ComplexType > tempPsi
temporary complex vector before assigning to a real psi
std::string getClassName() const override
return class name
OrbitalSetTraits< ValueType >::HessMatrix HessMatrix
void setOrbitalSetSize(int norbs) override
set the OrbitalSetSize
void evaluate_notranspose(const ParticleSet &P, int first, int last, ValueMatrix &logdet, GradMatrix &dlogdet, HessMatrix &grad_grad_logdet) override
evaluate the values, gradients and hessians of this single-particle orbital for [first,last) particles