Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

Patch Class Reference

#include <Patch.h>

Inheritance diagram for Patch:

HomePatch ProxyPatch List of all members.

Public Member Functions

 Patch (PatchID pd)
int hasNewAtoms ()
virtual ~Patch ()
Box< Patch, CompAtom > * registerPositionPickup (ComputeID cid)
void unregisterPositionPickup (ComputeID cid, Box< Patch, CompAtom > **const box)
Box< Patch, CompAtom > * registerAvgPositionPickup (ComputeID cid)
void unregisterAvgPositionPickup (ComputeID cid, Box< Patch, CompAtom > **const box)
Box< Patch, CompAtom > * registerVelocityPickup (ComputeID cid)
void unregisterVelocityPickup (ComputeID cid, Box< Patch, CompAtom > **const box)
Box< Patch, Real > * registerIntRadPickup (ComputeID cid)
void unregisterIntRadPickup (ComputeID cid, Box< Patch, Real > **const box)
Box< Patch, GBReal > * registerPsiSumDeposit (ComputeID cid)
void unregisterPsiSumDeposit (ComputeID cid, Box< Patch, GBReal > **const box)
Box< Patch, Real > * registerBornRadPickup (ComputeID cid)
void unregisterBornRadPickup (ComputeID cid, Box< Patch, Real > **const box)
Box< Patch, GBReal > * registerDEdaSumDeposit (ComputeID cid)
void unregisterDEdaSumDeposit (ComputeID cid, Box< Patch, GBReal > **const box)
Box< Patch, Real > * registerDHdrPrefixPickup (ComputeID cid)
void unregisterDHdrPrefixPickup (ComputeID cid, Box< Patch, Real > **const box)
Box< Patch, Results > * registerForceDeposit (ComputeID cid)
void unregisterForceDeposit (ComputeID cid, Box< Patch, Results > **const box)
void positionsReady (int n=0)
void positionBoxClosed (void)
void forceBoxClosed (void)
void avgPositionBoxClosed (void)
void velocityBoxClosed (void)
void intRadBoxClosed (void)
void psiSumBoxClosed (void)
void bornRadBoxClosed (void)
void dEdaSumBoxClosed (void)
void dHdrPrefixBoxClosed (void)
void gbisP2Ready ()
void gbisP3Ready ()
int getNumAtoms ()
int getNumFixedAtoms ()
void setNumFixedAtoms (int numFixed)
PatchID getPatchID ()
int getNumComputes ()
CompAtomExtgetCompAtomExtInfo ()

Public Attributes

Latticelattice
Flags flags

Protected Member Functions

virtual void boxClosed (int)=0

Protected Attributes

const PatchID patchID
int numAtoms
int numFixedAtoms
CompAtomList p
CompAtomList p_avg
CompAtomList v
AtomMapperatomMapper
RealList intRad
GBRealList psiSum
GBRealList psiFin
RealList bornRad
RealList dHdrPrefix
GBRealList dEdaSum
CompAtomExtList pExt
CompAtomavgPositionPtrBegin
CompAtomavgPositionPtrEnd
CompAtomvelocityPtrBegin
CompAtomvelocityPtrEnd
ForceList f [Results::maxNumForces]
Results results
OwnerBox< Patch, CompAtompositionBox
ComputeIDList positionComputeList
OwnerBox< Patch, CompAtomavgPositionBox
ComputeIDList avgPositionComputeList
OwnerBox< Patch, CompAtomvelocityBox
ComputeIDList velocityComputeList
OwnerBox< Patch, RealintRadBox
ComputeIDList intRadComputeList
OwnerBox< Patch, GBRealpsiSumBox
ComputeIDList psiSumComputeList
OwnerBox< Patch, RealbornRadBox
ComputeIDList bornRadComputeList
OwnerBox< Patch, GBRealdEdaSumBox
ComputeIDList dEdaSumComputeList
OwnerBox< Patch, RealdHdrPrefixBox
ComputeIDList dHdrPrefixComputeList
OwnerBox< Patch, ResultsforceBox
ComputeIDList forceComputeList
int boxesOpen
int _hasNewAtoms
int * child
int nChild

Constructor & Destructor Documentation

Patch::Patch PatchID  pd  ) 
 

Definition at line 32 of file Patch.C.

References atomMapper, child, SimParameters::lattice, lattice, NAMD_SeparateWaters, nChild, Node::Object(), and Node::simParameters.

00032                        :
00033    lattice(flags.lattice),
00034    patchID(pd), numAtoms(0), numFixedAtoms(0),
00035    avgPositionPtrBegin(0), avgPositionPtrEnd(0),
00036    velocityPtrBegin(0), velocityPtrEnd(0),      // BEGIN LA, END LA
00037    positionBox(this,&Patch::positionBoxClosed,pd,0),
00038    avgPositionBox(this,&Patch::avgPositionBoxClosed,pd,3),
00039    velocityBox(this,&Patch::velocityBoxClosed,pd,4), // BEGIN LA, END LA
00040    psiSumBox(this,&Patch::psiSumBoxClosed,pd,5), // begin gbis
00041    intRadBox(this,&Patch::intRadBoxClosed,pd,6),
00042    bornRadBox(this,&Patch::bornRadBoxClosed,pd,7),
00043    dEdaSumBox(this,&Patch::dEdaSumBoxClosed,pd,8),
00044    dHdrPrefixBox(this,&Patch::dHdrPrefixBoxClosed,pd,9), //end gbis
00045    forceBox(this,&Patch::forceBoxClosed,pd,1),
00046    boxesOpen(0), _hasNewAtoms(0)
00047 
00048    // DMK - Atom Separation (water vs. non-water)
00049    #if NAMD_SeparateWaters != 0
00050      ,numWaterAtoms(-1)
00051    #endif
00052 {
00053   //CkPrintf("GBIS: PatchCreated\n");
00054 #ifdef REMOVE_PROXYDATAMSG_EXTRACOPY
00055     positionPtrBegin = 0;
00056     positionPtrEnd = 0;
00057 #endif
00058 
00059         nChild = 0;
00060         child = NULL;
00061 #ifdef NODEAWARE_PROXY_SPANNINGTREE
00062   #ifdef USE_NODEPATCHMGR
00063   nodeChildren = NULL;
00064   numNodeChild = 0;
00065   #endif
00066 #endif
00067 
00068   lattice = Node::Object()->simParameters->lattice;
00069   atomMapper = new AtomMapper(pd);
00070 }

Patch::~Patch  )  [virtual]
 

Definition at line 28 of file Patch.C.

00028               {
00029   delete atomMapper;
00030 }


Member Function Documentation

void Patch::avgPositionBoxClosed void   ) 
 

Definition at line 211 of file Patch.C.

References avgPositionPtrBegin, and boxClosed().

00212 {
00213    avgPositionPtrBegin = 0;
00214    this->boxClosed(3);
00215 }

void Patch::bornRadBoxClosed void   ) 
 

Definition at line 236 of file Patch.C.

References boxClosed().

00236                                  {
00237    //bornRadPtr = 0;
00238    this->boxClosed(7);
00239 }

virtual void Patch::boxClosed int   )  [protected, pure virtual]
 

Implemented in HomePatch, and ProxyPatch.

Referenced by avgPositionBoxClosed(), bornRadBoxClosed(), dEdaSumBoxClosed(), dHdrPrefixBoxClosed(), forceBoxClosed(), intRadBoxClosed(), positionBoxClosed(), psiSumBoxClosed(), and velocityBoxClosed().

void Patch::dEdaSumBoxClosed void   ) 
 

Definition at line 240 of file Patch.C.

References boxClosed().

00240                                  {
00241    //dEdaSumPtr = 0;
00242    this->boxClosed(8);
00243 }

void Patch::dHdrPrefixBoxClosed void   ) 
 

Definition at line 244 of file Patch.C.

References boxClosed().

00244                                     {
00245    //dHdrPrefixPtr = 0;
00246    this->boxClosed(9);
00247 }

void Patch::forceBoxClosed void   ) 
 

Definition at line 201 of file Patch.C.

References boxClosed(), DebugM, Results::f, j, patchID, and results.

00202 {
00203    DebugM(4, "patchID("<<patchID<<") forceBoxClosed! call\n");
00204    for (int j = 0; j < Results::maxNumForces; ++j )
00205    {
00206      results.f[j] = 0;
00207    }
00208    this->boxClosed(1);
00209 }

void Patch::gbisP2Ready  ) 
 

Reimplemented in HomePatch.

Definition at line 355 of file Patch.C.

References ResizeArrayPrimIter< T >::begin(), ComputeMap::compute(), ComputeIDListIter, computeNonbondedPairType, computeNonbondedSelfType, ResizeArrayPrimIter< T >::end(), flags, Compute::gbisP2PatchReady(), ComputeMap::Object(), patchID, positionComputeList, Flags::sequence, and Compute::type().

Referenced by HomePatch::gbisP2Ready(), and ProxyPatch::receiveData().

00355                         {
00356  ComputeMap *computeMap = ComputeMap::Object();
00357  ComputeIDListIter cid(positionComputeList);
00358 
00359   int compute_count = 0;
00360   int seq = flags.sequence;
00361   for(cid = cid.begin(); cid != cid.end(); cid++) {
00362     if ( computeMap->compute(*cid)->type() == computeNonbondedSelfType ||
00363          computeMap->compute(*cid)->type() == computeNonbondedPairType ||
00364          computeMap->compute(*cid)->type() == computeNonbondedCUDAType) {
00365       compute_count++;
00366       computeMap->compute(*cid)->gbisP2PatchReady(patchID,seq);
00367     }
00368   }
00369 }

void Patch::gbisP3Ready  ) 
 

Reimplemented in HomePatch.

Definition at line 371 of file Patch.C.

References ResizeArrayPrimIter< T >::begin(), ComputeMap::compute(), ComputeIDListIter, computeNonbondedPairType, computeNonbondedSelfType, ResizeArrayPrimIter< T >::end(), flags, Compute::gbisP3PatchReady(), ComputeMap::Object(), patchID, positionComputeList, Flags::sequence, and Compute::type().

Referenced by HomePatch::gbisP3Ready(), and ProxyPatch::receiveData().

00371                         {
00372 
00373   ComputeMap *computeMap = ComputeMap::Object();
00374   ComputeIDListIter cid(positionComputeList);
00375 
00376   int compute_count = 0;
00377   int seq = flags.sequence;
00378   for(cid = cid.begin(); cid != cid.end(); cid++) {
00379     if ( computeMap->compute(*cid)->type() == computeNonbondedSelfType ||
00380          computeMap->compute(*cid)->type() == computeNonbondedPairType ||
00381          computeMap->compute(*cid)->type() == computeNonbondedCUDAType) {
00382       compute_count++;
00383       computeMap->compute(*cid)->gbisP3PatchReady(patchID,seq);
00384     }
00385   }
00386 }

CompAtomExt* Patch::getCompAtomExtInfo  )  [inline]
 

Definition at line 103 of file Patch.h.

Referenced by ComputePatchPair::doWork(), ComputePatch::doWork(), ComputeNonbondedCUDA::doWork(), and ComputeNonbondedCUDA::noWork().

00103 { return pExt.begin(); }

int Patch::getNumAtoms  )  [inline]
 

Definition at line 91 of file Patch.h.

Referenced by WorkDistrib::assignNodeToPatch(), ComputePatchPair::atomUpdate(), ComputePatch::atomUpdate(), ComputeHomePatch::atomUpdate(), ComputeGridForce::doForce(), ComputeNonbondedCUDA::doWork(), dumpbench(), ComputePatchPair::initialize(), ComputePatch::initialize(), ComputeHomePatch::initialize(), ComputeHomeTuples< TholeElem, Thole, TholeValue >::loadTuples(), PatchMgr::moveAllBy(), and Node::outputPatchComputeMaps().

00091 { return numAtoms; }

int Patch::getNumComputes  )  [inline]
 

Definition at line 101 of file Patch.h.

00101 { return positionComputeList.size(); }

int Patch::getNumFixedAtoms  )  [inline]
 

Definition at line 98 of file Patch.h.

00098 { return numFixedAtoms; }  // not updated

PatchID Patch::getPatchID  )  [inline]
 

Definition at line 100 of file Patch.h.

References PatchID.

Referenced by PatchMap::checkMap(), ProxyMgr::createProxy(), ComputeNonbondedSelf::doForce(), ComputeNonbondedPair::doForce(), ComputePatch::initialize(), ComputeHomePatch::initialize(), PatchElem::PatchElem(), Sequencer::rebalanceLoad(), Sequencer::run(), Sequencer::runComputeObjects(), Sequencer::Sequencer(), and TuplePatchElem::TuplePatchElem().

00100 { return patchID; }

int Patch::hasNewAtoms  )  [inline]
 

Definition at line 33 of file Patch.h.

00033 { return _hasNewAtoms; }

void Patch::intRadBoxClosed void   ) 
 

Definition at line 232 of file Patch.C.

References boxClosed().

00232                                 {
00233    //dHdrPrefixPtr = 0;
00234    this->boxClosed(6);
00235 }

void Patch::positionBoxClosed void   ) 
 

Definition at line 195 of file Patch.C.

References boxClosed().

00196 {
00197    //positionPtrBegin = 0;
00198    this->boxClosed(0);
00199 }

void Patch::positionsReady int  n = 0  ) 
 

Reimplemented in HomePatch.

Definition at line 250 of file Patch.C.

References _hasNewAtoms, atomMapper, avgPositionBox, avgPositionPtrBegin, ResizeArrayPrimIter< T >::begin(), ResizeArray< Elem >::begin(), bornRad, bornRadBox, boxesOpen, ComputeMap::compute(), ComputeIDListIter, DebugM, dEdaSum, dEdaSumBox, dHdrPrefix, dHdrPrefixBox, Flags::doGBIS, Flags::doLoweAndersen, Flags::doMolly, ResizeArrayPrimIter< T >::end(), ResizeArray< Elem >::end(), Results::f, f, flags, Force, forceBox, Sync::holdComputes(), iINFO(), intRad, intRadBox, iout, j, PatchMap::node(), numAtoms, PatchMap::Object(), Sync::Object(), ComputeMap::Object(), OwnerBox< Owner, Data >::open(), p, patchID, Compute::patchReady(), pExt, positionBox, positionComputeList, psiFin, psiSum, psiSumBox, AtomMapper::registerIDsCompAtomExt(), ResizeArray< Elem >::resize(), results, Flags::sequence, ResizeArray< Elem >::setall(), velocityBox, and velocityPtrBegin.

Referenced by HomePatch::positionsReady(), ProxyPatch::receiveAll(), and ProxyPatch::receiveData().

00251 {
00252    DebugM(4,"Patch::positionsReady() - patchID(" << patchID <<")"<<std::endl );
00253    ComputeMap *computeMap = ComputeMap::Object();
00254 
00255    if ( doneMigration ){
00256 // #ifdef REMOVE_PROXYDATAMSG_EXTRACOPY
00257 //       AtomMap::Object()->registerIDs(patchID,positionPtrBegin,positionPtrEnd);       
00258 // #else
00259        atomMapper->registerIDsCompAtomExt(pExt.begin(),pExt.end());
00260 // #endif
00261    }
00262 
00263    boxesOpen = 2;
00264    if ( flags.doMolly ) boxesOpen++;
00265    // BEGIN LA
00266    if (flags.doLoweAndersen) {
00267        DebugM(4, "Patch::positionsReady, flags.doMolly = " << flags.doMolly << "\n");
00268        boxesOpen++;
00269    }
00270    // END LA
00271    _hasNewAtoms = (doneMigration != 0);
00272 
00273 #if CMK_BLUEGENEL
00274    CmiNetworkProgressAfter (0);
00275 #endif
00276 
00277    // Give all position pickup boxes access to positions
00278    //positionPtrBegin = p.begin();
00279 #ifdef REMOVE_PROXYDATAMSG_EXTRACOPY
00280    positionBox.open(positionPtrBegin);
00281 #else
00282    positionBox.open(p.begin());
00283 #endif
00284    if ( flags.doMolly ) {
00285      //avgPositionPtrBegin = p_avg.begin();
00286      avgPositionBox.open(avgPositionPtrBegin);
00287    }
00288    
00289    // BEGIN LA
00290    if (flags.doLoweAndersen) {
00291        velocityBox.open(velocityPtrBegin);
00292    }
00293    // END LA
00294    // begin gbis
00295     if (flags.doGBIS) {
00296       boxesOpen += 5;
00297       //intRad should already be taken care of
00298       intRadBox.open(intRad.begin());
00299       psiSum.resize(numAtoms);//resize array
00300       psiSum.setall(0);
00301       psiSumBox.open(psiSum.begin());
00302       psiFin.resize(numAtoms);//has no box
00303       psiFin.setall(0);
00304       bornRad.resize(numAtoms);
00305       bornRad.setall(0);
00306       bornRadBox.open(bornRad.begin());
00307       dEdaSum.resize(numAtoms);//resize array
00308       dEdaSum.setall(0);
00309       dEdaSumBox.open(dEdaSum.begin());
00310       dHdrPrefix.resize(numAtoms);
00311       dHdrPrefix.setall(0);
00312       dHdrPrefixBox.open(dHdrPrefix.begin());
00313     }
00314    // end gbis
00315 
00316 #if CMK_BLUEGENEL
00317    CmiNetworkProgressAfter (0);
00318 #endif
00319    
00320    // Give all force deposit boxes access to forces
00321    Force *forcePtr;
00322    for ( int j = 0; j < Results::maxNumForces; ++j )
00323     {
00324       f[j].resize(numAtoms);
00325       forcePtr = f[j].begin();
00326       memset (forcePtr, 0, sizeof (Force) * numAtoms);
00327       results.f[j] = forcePtr;
00328     }
00329    forceBox.open(&results);
00330 
00331    // Iterate over compute objects that need to be informed we are ready
00332    ComputeIDListIter cid(positionComputeList);
00333    int seq = flags.sequence;
00334    // gzheng
00335      if (Sync::Object()->holdComputes(patchID, cid, doneMigration, seq))
00336        return;
00337 
00338    int compute_count = 0;
00339    for(cid = cid.begin(); cid != cid.end(); cid++)
00340    {
00341          compute_count++;
00342          computeMap->compute(*cid)->patchReady(patchID,doneMigration,seq);
00343    }
00344    if (compute_count == 0 && PatchMap::Object()->node(patchID) != CkMyPe()) {
00345        iout << iINFO << "PATCH_COUNT: Patch " << patchID 
00346             << " on PE " << CkMyPe() <<" home patch " 
00347             << PatchMap::Object()->node(patchID)
00348             << " does not have any computes\n" 
00349             << endi;
00350    }
00351 }

void Patch::psiSumBoxClosed void   ) 
 

Definition at line 229 of file Patch.C.

References boxClosed().

00229                                 {
00230   this->boxClosed(5);
00231 }

Box< Patch, CompAtom > * Patch::registerAvgPositionPickup ComputeID  cid  ) 
 

Definition at line 91 of file Patch.C.

References avgPositionBox, and OwnerBox< Owner, Data >::checkOut().

Referenced by ComputeNonbondedSelf::initialize(), ComputeNonbondedPair::initialize(), PatchElem::PatchElem(), and TuplePatchElem::TuplePatchElem().

00092 {
00093    //DebugM(4, "registerAvgPositionPickup("<<patchID<<") from " << cid << "\n");
00094    return avgPositionBox.checkOut(cid);
00095 }

Box< Patch, Real > * Patch::registerBornRadPickup ComputeID  cid  ) 
 

Definition at line 144 of file Patch.C.

References bornRadBox, and OwnerBox< Owner, Data >::checkOut().

Referenced by ComputeNonbondedSelf::initialize(), ComputeNonbondedPair::initialize(), and ComputeNonbondedCUDA::registerPatches().

00144                                                            {
00145   return bornRadBox.checkOut(cid);
00146 }

Box< Patch, GBReal > * Patch::registerDEdaSumDeposit ComputeID  cid  ) 
 

Definition at line 152 of file Patch.C.

References SortedArray< Elem >::add(), OwnerBox< Owner, Data >::checkOut(), DebugM, dEdaSumBox, dEdaSumComputeList, and ResizeArray< Elem >::size().

Referenced by ComputeNonbondedSelf::initialize(), ComputeNonbondedPair::initialize(), and ComputeNonbondedCUDA::registerPatches().

00152                                                               {
00153   if (dEdaSumComputeList.add(cid) < 0) {
00154     DebugM(7, "registerDEdaSumDeposit() failed for cid " << cid << std::endl);
00155     DebugM(7, "  size of dEdaSumCompueList " << dEdaSumComputeList.size() << std::endl);
00156      return NULL;
00157   }
00158   return dEdaSumBox.checkOut(cid);
00159 }

Box< Patch, Real > * Patch::registerDHdrPrefixPickup ComputeID  cid  ) 
 

Definition at line 166 of file Patch.C.

References OwnerBox< Owner, Data >::checkOut(), and dHdrPrefixBox.

Referenced by ComputeNonbondedSelf::initialize(), ComputeNonbondedPair::initialize(), and ComputeNonbondedCUDA::registerPatches().

00167 {
00168   return dHdrPrefixBox.checkOut(cid);
00169 }

Box< Patch, Results > * Patch::registerForceDeposit ComputeID  cid  ) 
 

Definition at line 176 of file Patch.C.

References SortedArray< Elem >::add(), OwnerBox< Owner, Data >::checkOut(), DebugM, forceBox, forceComputeList, and ResizeArray< Elem >::size().

Referenced by ComputePatchPair::initialize(), ComputePatch::initialize(), ComputeHomePatch::initialize(), PatchElem::PatchElem(), ComputeNonbondedCUDA::registerPatches(), and TuplePatchElem::TuplePatchElem().

00177 {
00178    if (forceComputeList.add(cid) < 0)
00179    {
00180      DebugM(7, "registerForceDeposit() failed for cid " << cid << std::endl);
00181      DebugM(7, "  size of forceCompueList " << forceComputeList.size() << std::endl);
00182      return NULL;
00183    }
00184    return forceBox.checkOut(cid);
00185 }

Box< Patch, Real > * Patch::registerIntRadPickup ComputeID  cid  ) 
 

Definition at line 136 of file Patch.C.

References OwnerBox< Owner, Data >::checkOut(), and intRadBox.

Referenced by ComputeNonbondedSelf::initialize(), ComputeNonbondedPair::initialize(), and ComputeNonbondedCUDA::registerPatches().

00136                                                           {
00137   return intRadBox.checkOut(cid);
00138 }

Box< Patch, CompAtom > * Patch::registerPositionPickup ComputeID  cid  ) 
 

Definition at line 72 of file Patch.C.

References SortedArray< Elem >::add(), OwnerBox< Owner, Data >::checkOut(), DebugM, positionBox, and positionComputeList.

Referenced by ComputePatchPair::initialize(), ComputePatch::initialize(), ComputeHomePatch::initialize(), PatchElem::PatchElem(), ComputeNonbondedCUDA::registerPatches(), and TuplePatchElem::TuplePatchElem().

00073 {
00074    //DebugM(4, "registerPositionPickupa("<<patchID<<") from " << cid << "\n");
00075    if (positionComputeList.add(cid) < 0)
00076    {
00077      DebugM(7, "registerPositionPickup() failed for cid " << cid << std::endl);
00078      return NULL;
00079    }
00080    return positionBox.checkOut(cid);
00081 }

Box< Patch, GBReal > * Patch::registerPsiSumDeposit ComputeID  cid  ) 
 

Definition at line 121 of file Patch.C.

References SortedArray< Elem >::add(), OwnerBox< Owner, Data >::checkOut(), DebugM, psiSumBox, psiSumComputeList, and ResizeArray< Elem >::size().

Referenced by ComputeNonbondedSelf::initialize(), ComputeNonbondedPair::initialize(), and ComputeNonbondedCUDA::registerPatches().

00121                                                              {
00122 
00123   if (psiSumComputeList.add(cid) < 0) {
00124     DebugM(7, "registerPsiSumDeposit() failed for cid " << cid << std::endl);
00125     DebugM(7, "  size of psiSumCompueList " << psiSumComputeList.size() << std::endl);
00126      return NULL;
00127   }
00128   return psiSumBox.checkOut(cid);
00129 }

Box< Patch, CompAtom > * Patch::registerVelocityPickup ComputeID  cid  ) 
 

Definition at line 105 of file Patch.C.

References OwnerBox< Owner, Data >::checkOut(), and velocityBox.

Referenced by ComputeNonbondedSelf::initialize(), and ComputeNonbondedPair::initialize().

00106 {
00107    //DebugM(4, "registerVelocityPickup("<<patchID<<") from " << cid << "\n");
00108    return velocityBox.checkOut(cid);
00109 }

void Patch::setNumFixedAtoms int  numFixed  )  [inline]
 

Definition at line 99 of file Patch.h.

Referenced by PatchMgr::setHomePatchFixedAtomNum().

00099 { numFixedAtoms=numFixed; }  // not updated

void Patch::unregisterAvgPositionPickup ComputeID  cid,
Box< Patch, CompAtom > **const   box
 

Definition at line 97 of file Patch.C.

References avgPositionBox, OwnerBox< Owner, Data >::checkIn(), and DebugM.

Referenced by ComputeNonbondedPair::~ComputeNonbondedPair(), and ComputeNonbondedSelf::~ComputeNonbondedSelf().

00098 {
00099    DebugM(4, "UnregisterAvgPositionPickup from " << cid << "\n");
00100    avgPositionBox.checkIn(*box);
00101    *box = 0;
00102 }

void Patch::unregisterBornRadPickup ComputeID  cid,
Box< Patch, Real > **const   box
 

Definition at line 147 of file Patch.C.

References bornRadBox, and OwnerBox< Owner, Data >::checkIn().

Referenced by ComputeNonbondedPair::~ComputeNonbondedPair(), and ComputeNonbondedSelf::~ComputeNonbondedSelf().

00147                                                                              {
00148   bornRadBox.checkIn(*box);
00149   *box = 0;
00150 }

void Patch::unregisterDEdaSumDeposit ComputeID  cid,
Box< Patch, GBReal > **const   box
 

Definition at line 160 of file Patch.C.

References OwnerBox< Owner, Data >::checkIn(), dEdaSumBox, dEdaSumComputeList, and SortedArray< Elem >::del().

Referenced by ComputeNonbondedPair::~ComputeNonbondedPair(), and ComputeNonbondedSelf::~ComputeNonbondedSelf().

00160                                                                                {
00161   dEdaSumComputeList.del(cid);
00162   dEdaSumBox.checkIn(*box);
00163   *box = 0;
00164 }

void Patch::unregisterDHdrPrefixPickup ComputeID  cid,
Box< Patch, Real > **const   box
 

Definition at line 170 of file Patch.C.

References OwnerBox< Owner, Data >::checkIn(), and dHdrPrefixBox.

Referenced by ComputeNonbondedPair::~ComputeNonbondedPair(), and ComputeNonbondedSelf::~ComputeNonbondedSelf().

00170                                                                                 {
00171   dHdrPrefixBox.checkIn(*box);
00172   *box = 0;
00173 }

void Patch::unregisterForceDeposit ComputeID  cid,
Box< Patch, Results > **const   box
 

Definition at line 187 of file Patch.C.

References OwnerBox< Owner, Data >::checkIn(), DebugM, SortedArray< Elem >::del(), forceBox, and forceComputeList.

Referenced by ComputeHomePatch::~ComputeHomePatch(), ComputePatch::~ComputePatch(), and ComputePatchPair::~ComputePatchPair().

00188 {
00189    DebugM(4, "unregisterForceDeposit() computeID("<<cid<<")"<<std::endl);
00190    forceComputeList.del(cid);
00191    forceBox.checkIn(*box);
00192    *box = 0;
00193 }

void Patch::unregisterIntRadPickup ComputeID  cid,
Box< Patch, Real > **const   box
 

Definition at line 139 of file Patch.C.

References OwnerBox< Owner, Data >::checkIn(), and intRadBox.

Referenced by ComputeNonbondedPair::~ComputeNonbondedPair(), and ComputeNonbondedSelf::~ComputeNonbondedSelf().

00139                                                                             {
00140   intRadBox.checkIn(*box);
00141   *box = 0;
00142 }

void Patch::unregisterPositionPickup ComputeID  cid,
Box< Patch, CompAtom > **const   box
 

Definition at line 83 of file Patch.C.

References OwnerBox< Owner, Data >::checkIn(), DebugM, SortedArray< Elem >::del(), positionBox, and positionComputeList.

Referenced by ComputeHomePatch::~ComputeHomePatch(), ComputePatch::~ComputePatch(), and ComputePatchPair::~ComputePatchPair().

00084 {
00085    DebugM(4, "UnregisterPositionPickup from " << cid << "\n");
00086    positionComputeList.del(cid);
00087    positionBox.checkIn(*box);
00088    *box = 0;
00089 }

void Patch::unregisterPsiSumDeposit ComputeID  cid,
Box< Patch, GBReal > **const   box
 

Definition at line 131 of file Patch.C.

References OwnerBox< Owner, Data >::checkIn(), SortedArray< Elem >::del(), psiSumBox, and psiSumComputeList.

Referenced by ComputeNonbondedPair::~ComputeNonbondedPair(), and ComputeNonbondedSelf::~ComputeNonbondedSelf().

00131                                                                                {
00132   psiSumComputeList.del(cid);
00133   psiSumBox.checkIn(*box);
00134   *box = 0;
00135 }

void Patch::unregisterVelocityPickup ComputeID  cid,
Box< Patch, CompAtom > **const   box
 

Definition at line 111 of file Patch.C.

References OwnerBox< Owner, Data >::checkIn(), DebugM, and velocityBox.

Referenced by ComputeNonbondedPair::~ComputeNonbondedPair(), and ComputeNonbondedSelf::~ComputeNonbondedSelf().

00112 {
00113    DebugM(4, "UnregisterVelocityPickup from " << cid << "\n");
00114    velocityBox.checkIn(*box);
00115    *box = 0;
00116 }

void Patch::velocityBoxClosed void   ) 
 

Definition at line 218 of file Patch.C.

References boxClosed(), DebugM, patchID, and velocityPtrBegin.

00219 {
00220    DebugM(4, "patchID("<<patchID<<") velocityBoxClosed! call\n");
00221    velocityPtrBegin = 0;
00222    this->boxClosed(4);  // ?? Don't know about number
00223 }


Member Data Documentation

int Patch::_hasNewAtoms [protected]
 

Definition at line 194 of file Patch.h.

Referenced by positionsReady().

AtomMapper* Patch::atomMapper [protected]
 

Definition at line 119 of file Patch.h.

Referenced by Sequencer::integrate(), Sequencer::minimize(), Patch(), and positionsReady().

OwnerBox<Patch,CompAtom> Patch::avgPositionBox [protected]
 

Definition at line 168 of file Patch.h.

Referenced by positionsReady(), registerAvgPositionPickup(), and unregisterAvgPositionPickup().

ComputeIDList Patch::avgPositionComputeList [protected]
 

Definition at line 169 of file Patch.h.

CompAtom* Patch::avgPositionPtrBegin [protected]
 

Definition at line 155 of file Patch.h.

Referenced by avgPositionBoxClosed(), and positionsReady().

CompAtom* Patch::avgPositionPtrEnd [protected]
 

Definition at line 156 of file Patch.h.

RealList Patch::bornRad [protected]
 

Definition at line 125 of file Patch.h.

Referenced by positionsReady().

OwnerBox<Patch,Real> Patch::bornRadBox [protected]
 

Definition at line 180 of file Patch.h.

Referenced by positionsReady(), registerBornRadPickup(), and unregisterBornRadPickup().

ComputeIDList Patch::bornRadComputeList [protected]
 

Definition at line 181 of file Patch.h.

int Patch::boxesOpen [protected]
 

Definition at line 192 of file Patch.h.

Referenced by positionsReady().

int* Patch::child [protected]
 

Definition at line 211 of file Patch.h.

Referenced by Patch().

GBRealList Patch::dEdaSum [protected]
 

Definition at line 127 of file Patch.h.

Referenced by positionsReady().

OwnerBox<Patch,GBReal> Patch::dEdaSumBox [protected]
 

Definition at line 182 of file Patch.h.

Referenced by positionsReady(), registerDEdaSumDeposit(), and unregisterDEdaSumDeposit().

ComputeIDList Patch::dEdaSumComputeList [protected]
 

Definition at line 183 of file Patch.h.

Referenced by registerDEdaSumDeposit(), and unregisterDEdaSumDeposit().

RealList Patch::dHdrPrefix [protected]
 

Definition at line 126 of file Patch.h.

Referenced by positionsReady().

OwnerBox<Patch,Real> Patch::dHdrPrefixBox [protected]
 

Definition at line 184 of file Patch.h.

Referenced by positionsReady(), registerDHdrPrefixPickup(), and unregisterDHdrPrefixPickup().

ComputeIDList Patch::dHdrPrefixComputeList [protected]
 

Definition at line 185 of file Patch.h.

ForceList Patch::f[Results::maxNumForces] [protected]
 

Definition at line 163 of file Patch.h.

Referenced by Sequencer::minimizeMoveDownhill(), Sequencer::newMinimizeDirection(), positionsReady(), Sequencer::rescaleaccelMD(), Sequencer::runComputeObjects(), ComputeGlobal::saveTotalForces(), Sequencer::submitCollections(), Sequencer::submitMinimizeReductions(), and Sequencer::submitReductions().

Flags Patch::flags
 

Definition at line 106 of file Patch.h.

Referenced by ExclElem::computeForce(), ComputeGridForce::do_calc(), ComputeStir::doForce(), ComputeRestraints::doForce(), ComputeNonbondedSelf::doForce(), ComputeNonbondedPair::doForce(), ComputeGridForce::doForce(), ComputeEField::doForce(), ComputePatchPair::doWork(), ComputePatch::doWork(), ComputeNonbondedCUDA::doWork(), gbisP2Ready(), gbisP3Ready(), Sequencer::integrate(), Sequencer::minimize(), ComputeNonbondedSelf::noWork(), ComputeNonbondedPair::noWork(), positionsReady(), Sequencer::runComputeObjects(), Sequencer::submitCollections(), and Sequencer::submitMinimizeReductions().

OwnerBox<Patch,Results> Patch::forceBox [protected]
 

Definition at line 188 of file Patch.h.

Referenced by positionsReady(), registerForceDeposit(), and unregisterForceDeposit().

ComputeIDList Patch::forceComputeList [protected]
 

Definition at line 189 of file Patch.h.

Referenced by registerForceDeposit(), and unregisterForceDeposit().

RealList Patch::intRad [protected]
 

Definition at line 122 of file Patch.h.

Referenced by positionsReady().

OwnerBox<Patch,Real> Patch::intRadBox [protected]
 

Definition at line 176 of file Patch.h.

Referenced by positionsReady(), registerIntRadPickup(), and unregisterIntRadPickup().

ComputeIDList Patch::intRadComputeList [protected]
 

Definition at line 177 of file Patch.h.

Lattice& Patch::lattice
 

Definition at line 105 of file Patch.h.

Referenced by Sequencer::berendsenPressure(), TholeElem::computeForce(), ExclElem::computeForce(), ImproperElem::computeForce(), DihedralElem::computeForce(), CrosstermElem::computeForce(), BondElem::computeForce(), AnisoElem::computeForce(), AngleElem::computeForce(), ComputeGridForce::do_calc(), ComputeStir::doForce(), ComputeRestraints::doForce(), ComputeNonbondedSelf::doForce(), ComputeNonbondedPair::doForce(), ComputeGridForce::doForce(), ComputeEField::doForce(), ComputeConsTorque::doForce(), ComputeConsForce::doForce(), Sequencer::langevinPiston(), PatchMgr::moveAllBy(), PatchMgr::moveAtom(), Patch(), PatchMgr::setLattice(), Sequencer::submitCollections(), Sequencer::submitHalfstep(), and Sequencer::submitReductions().

int Patch::nChild [protected]
 

Definition at line 212 of file Patch.h.

Referenced by Patch().

int Patch::numAtoms [protected]
 

Definition at line 111 of file Patch.h.

Referenced by Sequencer::addMovDragToPosition(), Sequencer::addRotDragToPosition(), Sequencer::berendsenPressure(), Sequencer::correctMomentum(), Sequencer::langevinPiston(), Sequencer::langevinVelocities(), Sequencer::langevinVelocitiesBBK1(), Sequencer::langevinVelocitiesBBK2(), Sequencer::maximumMove(), Sequencer::minimizationQuenchVelocity(), Sequencer::minimizeMoveDownhill(), Sequencer::newMinimizeDirection(), Sequencer::newMinimizePosition(), positionsReady(), Sequencer::quenchVelocities(), Sequencer::reassignVelocities(), Sequencer::reinitVelocities(), Sequencer::reloadCharges(), Sequencer::rescaleaccelMD(), Sequencer::rescaleVelocities(), Sequencer::rescaleVelocitiesByFactor(), Sequencer::runComputeObjects(), ComputeGlobal::saveTotalForces(), Sequencer::submitHalfstep(), Sequencer::submitMinimizeReductions(), Sequencer::submitMomentum(), Sequencer::submitReductions(), and Sequencer::tcoupleVelocities().

int Patch::numFixedAtoms [protected]
 

Definition at line 112 of file Patch.h.

CompAtomList Patch::p [protected]
 

Definition at line 113 of file Patch.h.

Referenced by positionsReady(), and Sequencer::runComputeObjects().

CompAtomList Patch::p_avg [protected]
 

Definition at line 114 of file Patch.h.

const PatchID Patch::patchID [protected]
 

Definition at line 110 of file Patch.h.

Referenced by forceBoxClosed(), gbisP2Ready(), gbisP3Ready(), Sequencer::integrate(), positionsReady(), and velocityBoxClosed().

CompAtomExtList Patch::pExt [protected]
 

Definition at line 138 of file Patch.h.

Referenced by positionsReady(), Sequencer::runComputeObjects(), and Sequencer::submitMinimizeReductions().

OwnerBox<Patch,CompAtom> Patch::positionBox [protected]
 

Definition at line 166 of file Patch.h.

Referenced by positionsReady(), registerPositionPickup(), and unregisterPositionPickup().

ComputeIDList Patch::positionComputeList [protected]
 

Definition at line 167 of file Patch.h.

Referenced by gbisP2Ready(), gbisP3Ready(), positionsReady(), registerPositionPickup(), and unregisterPositionPickup().

GBRealList Patch::psiFin [protected]
 

Definition at line 124 of file Patch.h.

Referenced by positionsReady().

GBRealList Patch::psiSum [protected]
 

Definition at line 123 of file Patch.h.

Referenced by positionsReady().

OwnerBox<Patch,GBReal> Patch::psiSumBox [protected]
 

Definition at line 178 of file Patch.h.

Referenced by positionsReady(), registerPsiSumDeposit(), and unregisterPsiSumDeposit().

ComputeIDList Patch::psiSumComputeList [protected]
 

Definition at line 179 of file Patch.h.

Referenced by registerPsiSumDeposit(), and unregisterPsiSumDeposit().

Results Patch::results [protected]
 

Definition at line 164 of file Patch.h.

Referenced by forceBoxClosed(), and positionsReady().

CompAtomList Patch::v [protected]
 

Definition at line 116 of file Patch.h.

OwnerBox<Patch,CompAtom> Patch::velocityBox [protected]
 

Definition at line 171 of file Patch.h.

Referenced by positionsReady(), registerVelocityPickup(), and unregisterVelocityPickup().

ComputeIDList Patch::velocityComputeList [protected]
 

Definition at line 172 of file Patch.h.

CompAtom* Patch::velocityPtrBegin [protected]
 

Definition at line 159 of file Patch.h.

Referenced by positionsReady(), and velocityBoxClosed().

CompAtom* Patch::velocityPtrEnd [protected]
 

Definition at line 160 of file Patch.h.


The documentation for this class was generated from the following files:
Generated on Sun Feb 12 04:08:04 2012 for NAMD by  doxygen 1.3.9.1