NAMD
Public Member Functions | Protected Attributes | List of all members
ComputeHomePatches Class Reference

#include <ComputeHomePatches.h>

Inheritance diagram for ComputeHomePatches:
Compute ComputeEwald ComputeExt ComputeFmmSerial ComputeFullDirect ComputeGBISser ComputeGlobal ComputeLjPmeSerial ComputeMoa ComputeMsm ComputeMsmSerial ComputeQM ComputeTclBC

Public Member Functions

 ComputeHomePatches (ComputeID c)
 
virtual ~ComputeHomePatches ()
 
virtual void initialize ()
 
virtual void atomUpdate ()
 
FlagsgetFlags (void)
 
- Public Member Functions inherited from Compute
 Compute (ComputeID)
 
int type ()
 
virtual ~Compute ()
 
void setNumPatches (int n)
 
int getNumPatches ()
 
virtual void patchReady (PatchID, int doneMigration, int seq)
 
virtual int noWork ()
 
virtual void doWork ()
 
virtual void finishPatch (int)
 
int sequence (void)
 
int priority (void)
 
int getGBISPhase (void)
 
virtual void gbisP2PatchReady (PatchID, int seq)
 
virtual void gbisP3PatchReady (PatchID, int seq)
 

Protected Attributes

int useAvgPositions
 
int hasPatchZero
 
ComputeHomePatchList patchList
 
PatchMappatchMap
 
- Protected Attributes inherited from Compute
int computeType
 
int basePriority
 
int gbisPhase
 
int gbisPhasePriority [3]
 

Additional Inherited Members

- Public Attributes inherited from Compute
const ComputeID cid
 
LDObjHandle ldObjHandle
 
LocalWorkMsg *const localWorkMsg
 
- Protected Member Functions inherited from Compute
void enqueueWork ()
 

Detailed Description

Definition at line 72 of file ComputeHomePatches.h.

Constructor & Destructor Documentation

◆ ComputeHomePatches()

ComputeHomePatches::ComputeHomePatches ( ComputeID  c)

Definition at line 18 of file ComputeHomePatches.C.

References hasPatchZero, PatchMap::Object(), patchMap, and useAvgPositions.

18  : Compute(c) {
20  useAvgPositions = 0;
21  hasPatchZero = 0;
22 }
static PatchMap * Object()
Definition: PatchMap.h:27
Compute(ComputeID)
Definition: Compute.C:37

◆ ~ComputeHomePatches()

ComputeHomePatches::~ComputeHomePatches ( )
virtual

Definition at line 24 of file ComputeHomePatches.C.

25 {
26  ;
27 }

Member Function Documentation

◆ atomUpdate()

void ComputeHomePatches::atomUpdate ( void  )
virtual

Reimplemented from Compute.

Definition at line 44 of file ComputeHomePatches.C.

References Compute::atomUpdate().

45 {
47 }
virtual void atomUpdate()
Definition: Compute.h:59

◆ getFlags()

Flags* ComputeHomePatches::getFlags ( void  )
inline

Definition at line 86 of file ComputeHomePatches.h.

References patchList.

86 { return &(patchList[0].p->flags); }
ComputeHomePatchList patchList

◆ initialize()

void ComputeHomePatches::initialize ( void  )
virtual

Reimplemented from Compute.

Reimplemented in ComputeQM.

Definition at line 29 of file ComputeHomePatches.C.

References UniqueSortedArray< Elem >::add(), ResizeArrayIter< T >::begin(), ResizeArrayIter< T >::end(), hasPatchZero, PatchMap::homePatchList(), patchList, patchMap, ResizeArray< Elem >::resize(), Compute::setNumPatches(), ResizeArray< Elem >::size(), and useAvgPositions.

Referenced by ComputeQM::initialize().

30 {
33 
34  patchList.resize(0);
35 
36  for ( ai = ai.begin(); ai != ai.end(); ai++ ) {
37  patchList.add(PatchElem((*ai).patch, this, useAvgPositions));
38  if ( (*ai).patch->getPatchID() == 0 ) hasPatchZero = 1;
39  }
40 
42 }
void setNumPatches(int n)
Definition: Compute.h:52
int size(void) const
Definition: ResizeArray.h:131
ComputeHomePatchList patchList
HomePatchList * homePatchList()
Definition: PatchMap.C:438
int add(const Elem &elem)
void resize(int i)
Definition: ResizeArray.h:84

Member Data Documentation

◆ hasPatchZero

int ComputeHomePatches::hasPatchZero
protected

◆ patchList

ComputeHomePatchList ComputeHomePatches::patchList
protected

◆ patchMap

PatchMap* ComputeHomePatches::patchMap
protected

Definition at line 79 of file ComputeHomePatches.h.

Referenced by ComputeHomePatches(), and initialize().

◆ useAvgPositions

int ComputeHomePatches::useAvgPositions
protected

The documentation for this class was generated from the following files: