示例#1
0
	void pup(PUP::er &p) {
		p|len1;
		if (p.isUnpacking()) arr1=new int[len1];
		PUParray(p,arr1,len1);
		p|len2;
		if (p.isUnpacking()) arr2=new int[len2];
		PUParray(p,arr2,len2);
		p|subclass;
	}
示例#2
0
//============================================================================
//cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
//============================================================================
void CP_Rho_GSpacePlane::pup(PUP::er &p){
  ArrayElement1D::pup(p);
  PUParray(p, myGrid_length, 3);
  PUParray(p, myGrid_start, 3);
  PUParray(p, myGrid_end, 3);
  p|myGrid_size;
  p|numPoints;
  p|myTime;
  p|doneWhiteByrd;
  p|ehart_ret;
  p|eext_ret;
  p|ewd_ret;

  //TODO: pup needs to be done for following
  //myPoints, nlsectproxy
  //divRho{X,Y,Z}
  //--------------------------------------------------------------------------
}//end routine
    void pup(PUP::er &p){
        CBase_Jacobi::pup(p);
        //__sdag_pup(p);

        p|messages_due;
        p|itercnt;
        p|hasSent;
        p|usesAtSync;
        if(p.isUnpacking()){
          temperature = new double*[block_height+2];
          for (int i=0; i<block_height+2; i++)
            temperature[i] = new double[block_width+2];
        }
        for (int i=0; i<block_height+2; i++) {
          PUParray(p, temperature[i], block_width+2);
        }
    }
示例#4
0
//==============================================================================
//cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
//==============================================================================
void RealStateSlab::pup(PUP::er &p) {
  //==============================================================================
  p|ngrid_a;
  p|ngrid_b;
  p|size;
  if (p.isUnpacking()) {
    planeArr = (complex *) fftw_malloc(size*sizeof(complex));
    planeArrR = reinterpret_cast<double*> (planeArr);
  }
  PUParray(p, planeArr, size);
  p|thisState;    
  p|thisPlane;      
  p|numPlanesToExpect;
  p|nsize;
  p|rsize;
  p|size;
  p|e_gga; 
}
示例#5
0
/// Pack/unpack/sizing operator
void sim::pup(PUP::er &p) {
  // pup simple types
  p(active); p(myPVTidx); p(myLBidx); p(sync); p(DOs); p(UNDOs);
  // pup event queue
  if (p.isUnpacking()) {
    eq = new eventQueue();
  }
  eq->pup(p);
  // pup cancellations
  cancels.pup(p);
  if (p.isUnpacking()) { // reactivate migrated object
#if !CMK_TRACE_DISABLED
    localStats = (localStat *)CkLocalBranch(theLocalStats);
#endif
#ifndef SEQUENTIAL_POSE
    localPVT = (PVT *)CkLocalBranch(ThePVT);
    myPVTidx = localPVT->objRegister(thisIndex, localPVT->getGVT(), sync, this);
    if(pose_config.lb_on){
      localLBG = TheLBG.ckLocalBranch();
      myLBidx = localLBG->objRegister(thisIndex, sync, this);
    }
#endif
    active = 0;
  }
  PUParray(p, basicStats, 2);
  // pup checkpoint info for sequential mode using sim 0 only
#ifdef SEQUENTIAL_POSE
  if (thisIndex == 0) {
    p|seqCheckpointInProgress;
    p|seqLastCheckpointGVT;
    p|seqLastCheckpointTime;
    p|seqStartTime;
    p|POSE_Skipped_Events;
    p|poseIndexOfStopEvent;
    if (p.isUnpacking()) {
      seqStartTime = seqLastCheckpointTime;
    }
  }
#endif
}