25 RealType sc = vsq < std::numeric_limits<RealType>::epsilon()
27 : ((-1.0 +
std::sqrt(1.0 + 2.0 *
a_ * tau * vsq)) / (
a_ * vsq));
37 RealType sc = vsq < std::numeric_limits<RealType>::epsilon()
39 : ((-1.0 +
std::sqrt(1.0 + 2.0 *
a_ * tau * vsq)) / (
a_ * vsq));
46 for (
int i = 0; i < qf.size(); ++i)
51 const std::vector<ComplexType>& qf,
52 std::vector<ParticleSet::Scalar_t>& drift)
const 54 for (
int i = 0; i < qf.size(); ++i)
61 m_param.
add(
a_,
"drift_UNR_a");
63 app_log() <<
" Set drift_modifier UNR parameter a = " <<
a_ << std::endl;
helper functions for EinsplineSetBuilder
QMCTraits::RealType RealType
void getDrift(RealType tau, const GradType &qf, PosType &drift) const final
evaluate a drift with a real force
void convertToReal(const T1 &in, T2 &out)
generic conversion from type T1 to type T2 using implicit conversion
bool parseXML(xmlNodePtr cur) final
void getDrifts(RealType tau, const std::vector< GradType > &qf, std::vector< PosType > &) const final
bool put(std::istream &is) override
read from std::istream
RealType a_
JCP1993 Umrigar et eq. (35) "a" parameter is set to 1.0.
class to handle a set of parameters
QTFull::RealType Scalar_t
void add(PDT &aparam, const std::string &aname_in, std::vector< PDT > candidate_values={}, TagStatus status=TagStatus::OPTIONAL)
add a new parameter corresponding to an xmlNode <parameter>
QMCTraits::ComplexType ComplexType
MakeReturn< UnaryNode< FnSqrt, typename CreateLeaf< Vector< T1, C1 > >::Leaf_t > >::Expression_t sqrt(const Vector< T1, C1 > &l)
Tensor< typename BinaryReturn< T1, T2, OpMultiply >::Type_t, D > dot(const AntiSymTensor< T1, D > &lhs, const AntiSymTensor< T2, D > &rhs)