mirror of https://github.com/QMCPACK/qmcpack.git
Debug with LiH: walker move OK; pbyp NO.
This commit is contained in:
parent
b2de302094
commit
af30a0833c
|
@ -149,14 +149,15 @@ namespace qmcplusplus
|
|||
OhmmsAttributeSet coeffAttrib;
|
||||
coeffAttrib.add (algorithm, "algorithm");
|
||||
coeffAttrib.put(cur);
|
||||
app_log() << "Creating LCOrbitalSet with the input coefficients" << std::endl;
|
||||
if(xyzBasisSet!=nullptr)
|
||||
{
|
||||
app_log() << "Creating LCAOrbitalSet<XYZBasisT> " << std::endl;
|
||||
lcos= new LCAOrbitalSet<XYZBasisT>(xyzBasisSet,ReportLevel);
|
||||
//take care of the cusp condition
|
||||
}
|
||||
if(ylmBasisSet!=nullptr)
|
||||
{
|
||||
app_log() << "Creating LCAOrbitalSet<YLMBasisT> " << std::endl;
|
||||
lcos= new LCAOrbitalSet<YlmBasisT>(ylmBasisSet,ReportLevel);
|
||||
//take care of the cusp condition
|
||||
}
|
||||
|
|
|
@ -183,10 +183,12 @@ namespace qmcplusplus
|
|||
#endif
|
||||
}
|
||||
|
||||
/* implement using gemm algorithm */
|
||||
void evaluate_notranspose(const ParticleSet& P, int first, int last,
|
||||
ValueMatrix_t& logdet, GradMatrix_t& dlogdet, ValueMatrix_t& d2logdet)
|
||||
{
|
||||
const bool curpos=false;
|
||||
const bool curpos=false; //hint that the full distance table used
|
||||
//#pramga omp for nowait
|
||||
for(size_t i=0, iat=first; iat<last; i++,iat++)
|
||||
{
|
||||
myBasisSet->evaluateVGL(P,iat,Temp,curpos);
|
||||
|
@ -202,6 +204,12 @@ namespace qmcplusplus
|
|||
dlogdet[i][j][2]=gz[j];
|
||||
}
|
||||
simd::copy_n(Tempv.data(4),OrbitalSetSize,d2logdet[i]);
|
||||
#if 0
|
||||
for(int j=0; j<OrbitalSetSize; ++j)
|
||||
{
|
||||
printf("%d %.6f %.6f %.6f %.6f %.6f\n",j, logdet[i][j], dlogdet[i][j][0],dlogdet[i][j][1],dlogdet[i][j][2],d2logdet[i][j]);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -130,7 +130,9 @@ struct SoaLocalizedBasisSet //: public BasisSetBase<typename COT::value_type>
|
|||
const value_type* restrict dist = (newp)? d_table->Temp_r.data(): d_table->Distances[iat];
|
||||
const auto& displ= (newp)? d_table->Temp_dr: d_table->Displacements[iat];
|
||||
for(int c=0; c<NumCenters; c++)
|
||||
{
|
||||
LOBasisSet[IonID[c]]->evaluateVGL(dist[c],displ[c],BasisOffset[c],vgl);
|
||||
}
|
||||
}
|
||||
|
||||
/** compute values for the iat-paricle move
|
||||
|
|
|
@ -112,7 +112,8 @@ namespace qmcplusplus
|
|||
{
|
||||
CONSTEXPR T cone(1);
|
||||
CONSTEXPR T ctwo(2);
|
||||
const T x=dr[0], y=dr[1], z=dr[2];
|
||||
//SIGN Change!!
|
||||
const T x=-dr[0], y=-dr[1], z=-dr[2];
|
||||
Ylm.evaluateVGL(x,y,z);
|
||||
|
||||
const size_t nl_max=Rnl.size();
|
||||
|
@ -156,10 +157,8 @@ namespace qmcplusplus
|
|||
inline void
|
||||
evaluateV(const T r, const PosType& dr, T* restrict psi) const
|
||||
{
|
||||
CONSTEXPR T cone(1);
|
||||
CONSTEXPR T ctwo(2);
|
||||
T ylm_v[Ylm.size()];
|
||||
Ylm.evaluateV(dr[0],dr[1],dr[2],ylm_v);
|
||||
Ylm.evaluateV(-dr[0],-dr[1],-dr[2],ylm_v);
|
||||
|
||||
const int nl_max=Rnl.size();
|
||||
T phi_r[nl_max];
|
||||
|
|
Loading…
Reference in New Issue