Skip to content

Commit

Permalink
Add missing implementations
Browse files Browse the repository at this point in the history
  • Loading branch information
williamfgc committed Jul 25, 2023
1 parent 9775e31 commit 3449762
Showing 1 changed file with 39 additions and 0 deletions.
39 changes: 39 additions & 0 deletions src/QMCWaveFunctions/SPOSetT.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -206,6 +206,29 @@ void SPOSetT<T>::mw_evaluate_notranspose(const RefVectorWithLeader<SPOSetT<T>>&
spo_list[iw].evaluate_notranspose(P_list[iw], first, last, logdet_list[iw], dlogdet_list[iw], d2logdet_list[iw]);
}

template<class T>
void SPOSetT<T>::evaluate_notranspose(const ParticleSet& P,
int first,
int last,
ValueMatrix& logdet,
GradMatrix& dlogdet,
HessMatrix& grad_grad_logdet)
{
throw std::runtime_error("Need specialization of SPOSet::evaluate_notranspose() for grad_grad_logdet. \n");
}

template<class T>
void SPOSetT<T>::evaluate_notranspose(const ParticleSet& P,
int first,
int last,
ValueMatrix& logdet,
GradMatrix& dlogdet,
HessMatrix& grad_grad_logdet,
GGGMatrix& grad_grad_grad_logdet)
{
throw std::runtime_error("Need specialization of SPOSet::evaluate_notranspose() for grad_grad_grad_logdet. \n");
}

template<class T>
std::unique_ptr<SPOSetT<T>> SPOSetT<T>::makeClone() const
{
Expand Down Expand Up @@ -370,6 +393,22 @@ void SPOSetT<T>::evaluateGradSource(const ParticleSet& P,
"must be overloaded when the SPOSet has ion derivatives.");
}

template<class T>
void SPOSetT<T>::evaluateGradSource(const ParticleSet& P,
int first,
int last,
const ParticleSet& source,
int iat_src,
GradMatrix& grad_phi,
HessMatrix& grad_grad_phi,
GradMatrix& grad_lapl_phi)
{
if (hasIonDerivs())
throw std::logic_error("Bug!! " + getClassName() +
"::evaluateGradSource "
"must be overloaded when the SPOSet has ion derivatives.");
}

template<class T>
void SPOSetT<T>::evaluateGradSourceRow(const ParticleSet& P,
int iel,
Expand Down

0 comments on commit 3449762

Please sign in to comment.