32 auto myclone = std::make_unique<PWOrbitalSet>(*this);
34 myclone->IsCloned =
true;
55 if (ng != coefs.size())
57 app_error() <<
" Input G map does not match the basis size of wave functions " << std::endl;
62 for (
int ig = 0; ig < ng; ig++)
64 if (inputmap[ig] > -1)
65 (*C)[jorb][inputmap[ig]] = coefs[ig];
72 if (ng != coefs.size())
74 app_error() <<
" Input G map does not match the basis size of wave functions " << std::endl;
79 for (
int ig = 0; ig < ng; ig++)
81 if (inputmap[ig] > -1)
82 (*C)[jorb][inputmap[ig]] = coefs[ig];
116 for (
int iat = first, i = 0; iat < last; iat++, i++)
124 d2logdet(i, j) = tptr[
PW_LAP];
void evaluateAll(const ParticleSet &P, int iat)
void resize(PWBasisPtr bset, int nbands, bool cleanup=false)
resize the orbital base
helper functions for EinsplineSetBuilder
QTBase::GradType GradType
void evaluate(const PosType &pos)
IndexType BasisSetSize
number of basis
Matrix< ValueType > Temp
temporary array to perform gemm operation
void addVector(const std::vector< ComplexType > &coefs, int jorb)
Builder class takes care of the assertion.
Definition of member functions of Plane-wave basis set.
std::unique_ptr< SPOSet > makeClone() const override
make a clone of itself every derived class must implement this to have threading working correctly...
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...
std::ostream & app_error()
OrbitalSetTraits< ValueType >::ValueMatrix ValueMatrix
void resize(size_type n, size_type m)
Resize the container.
Communicate * Controller
Global Communicator for a process.
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 ...
ValueMatrix * C
pointer to matrix containing the coefficients
PWBasisPtr myBasisSet
My basis set.
OrbitalSetTraits< ValueType >::GradMatrix GradMatrix
~PWOrbitalSet() override
delete BasisSet only it owns this
Specialized paritlce class for atomistic simulations.
void product(const Matrix< T > &A, const Matrix< T > &B, Matrix< T > &C)
static function to perform C=AB for real matrices
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 evaluateValue(const ParticleSet &P, int iat, ValueVector &psi) override
evaluate the values of this single-particle orbital set
int NumPlaneWaves
total number of basis functions
OrbitalSetTraits< ValueType >::GradVector GradVector
bool IsCloned
if true, do not clean up
LatticeGaussianProduct::ValueType ValueType
void setOrbitalSetSize(int norbs) override
set the OrbitalSetSize
std::vector< int > inputmap