diff --git a/src/QMCWaveFunctions/lcao/LCAOrbitalBuilder.cpp b/src/QMCWaveFunctions/lcao/LCAOrbitalBuilder.cpp index b1acd8dc6..010eebffd 100644 --- a/src/QMCWaveFunctions/lcao/LCAOrbitalBuilder.cpp +++ b/src/QMCWaveFunctions/lcao/LCAOrbitalBuilder.cpp @@ -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 " << std::endl; lcos= new LCAOrbitalSet(xyzBasisSet,ReportLevel); //take care of the cusp condition } if(ylmBasisSet!=nullptr) { + app_log() << "Creating LCAOrbitalSet " << std::endl; lcos= new LCAOrbitalSet(ylmBasisSet,ReportLevel); //take care of the cusp condition } diff --git a/src/QMCWaveFunctions/lcao/LCAOrbitalSet.h b/src/QMCWaveFunctions/lcao/LCAOrbitalSet.h index 9b71f17d3..71c24337e 100644 --- a/src/QMCWaveFunctions/lcao/LCAOrbitalSet.h +++ b/src/QMCWaveFunctions/lcao/LCAOrbitalSet.h @@ -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; iatevaluateVGL(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 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; cevaluateVGL(dist[c],displ[c],BasisOffset[c],vgl); + } } /** compute values for the iat-paricle move diff --git a/src/QMCWaveFunctions/lcao/SoaSphericalBasisSet.h b/src/QMCWaveFunctions/lcao/SoaSphericalBasisSet.h index a8385803f..dad4adf9a 100644 --- a/src/QMCWaveFunctions/lcao/SoaSphericalBasisSet.h +++ b/src/QMCWaveFunctions/lcao/SoaSphericalBasisSet.h @@ -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];