コード例 #1
0
ファイル: SpaceWarp.cpp プロジェクト: digideskio/qmcpack
 void SpaceWarp::copyFromBuffer(PooledData<RealType>& buf) {
   vector<ParticleSet*>::iterator pit(PtclRefs.begin()), pit_end(PtclRefs.end());
   while(pit != pit_end) {
     RealType* first=&((**pit).R[0][0]);
     buf.get(first,first+SizeOfR);
     ++pit;
   }
   buf.get(one_ptcl_Jacob.begin(),one_ptcl_Jacob.end());
 }
コード例 #2
0
void TrialWaveFunction::copyFromBuffer(ParticleSet& P, PooledData<RealType>& buf)
{
  buf.rewind(BufferCursor);
  //TAU_PROFILE("TrialWaveFunction::copyFromBuffer","(P,..)", TAU_USER);
  for (int i=0; i<Z.size(); i++)
    Z[i]->copyFromBuffer(P,buf);
  //get the gradients and laplacians from the buffer
  buf.get(PhaseValue);
  buf.get(LogValue);
  buf.get(&(P.G[0][0]), &(P.G[0][0])+TotalDim);
  buf.get(&(P.L[0]), &(P.L[0])+NumPtcls);
}
コード例 #3
0
  void TrialWaveFunction::copyFromBuffer(ParticleSet& P, PooledData<RealType>& buf) {

    for(int i=0; i<Z.size(); i++) Z[i]->copyFromBuffer(P,buf);

    //get the gradients and laplacians from the buffer
    buf.get(&(P.G[0][0]), &(P.G[0][0])+TotalDim);
    buf.get(&(P.L[0]), &(P.L[0])+NumPtcls);

//     cout << "Checking out gradients and laplacians " << endl;
//     for(int i=0; i<P.getLocalNum(); i++) {
//       cout << P.G[i] << " " << P.L[i] << endl;
//     }
  }
コード例 #4
0
  void 
  ThreeBodyGeminal::copyFromBuffer(ParticleSet& P, PooledData<RealType>& buf) {
    buf.get(LogValue);
    buf.get(V.begin(), V.end());

    buf.get(Y.begin(), Y.end());
    buf.get(FirstAddressOfdY,LastAddressOfdY);
    buf.get(d2Y.begin(),d2Y.end());

    buf.get(Uk.begin(), Uk.end());
    buf.get(FirstAddressOfgU,LastAddressOfgU);
    buf.get(d2Uk.begin(), d2Uk.end());
  }
コード例 #5
0
ファイル: AGPDeterminant.cpp プロジェクト: digideskio/qmcpack
 void AGPDeterminant::copyFromBuffer(ParticleSet& P, PooledData<RealType>& buf) {
   if(UseBuffer) {
     buf.get(CurrentDet);
     buf.get(psiM.begin(),psiM.end());
     buf.get(phiT.begin(),phiT.end());
     buf.get(d2psiU.begin(),d2psiU.end());
     buf.get(d2psiD.begin(),d2psiD.end());
     buf.get(FirstAddressOfdVU,LastAddressOfdVU);
     buf.get(FirstAddressOfdVD,LastAddressOfdVD);
     buf.get(d2Y.begin(),d2Y.end());
     buf.get(FirstAddressOfdY,LastAddressOfdY);
     buf.get(FirstAddressOfG,LastAddressOfG);
     buf.get(myL.first_address(), myL.last_address());
     //buf.get(myL.begin(), myL.end());
     //copy current inverse of the determinant
     psiM_temp = psiM;
   }
 }
コード例 #6
0
void RNDiracDeterminantBase::copyFromBuffer(ParticleSet& P, PooledData<RealType>& buf)
{
  buf.get(psiM.first_address(),psiM.last_address());
  buf.get(FirstAddressOfdV,LastAddressOfdV);
  buf.get(d2psiM.first_address(),d2psiM.last_address());
  buf.get(myL.first_address(), myL.last_address());
  buf.get(FirstAddressOfG,LastAddressOfG);
  buf.get(LogValue);
  buf.get(alternateLogValue);
  buf.get(alternatePhaseValue);
  //re-evaluate it for testing
  //Phi.evaluate(P, FirstIndex, LastIndex, psiM, dpsiM, d2psiM);
  //CurrentDet = Invert(psiM.data(),NumPtcls,NumOrbitals);
  //need extra copy for gradient/laplacian calculations without updating it
  psiM_temp = psiM;
  dpsiM_temp = dpsiM;
  d2psiM_temp = d2psiM;
}
コード例 #7
0
 /** copy the inverse from the buffer
 */
 void DiracDeterminantBase::dumpFromBuffer(ParticleSet& P, PooledData<RealType>& buf) {
   buf.get(psiM.first_address(),psiM.last_address());
 }
コード例 #8
0
 void LRTwoBodyJastrow::copyFromBuffer(ParticleSet& P, PooledData<RealType>& buf) {
   buf.get(Rhok.first_address(), Rhok.last_address());
   buf.get(U.first_address(), U.last_address());
   buf.get(d2U.first_address(), d2U.last_address());
   buf.get(FirstAddressOfdU,LastAddressOfdU);
 }