OpenAtom  Version1.5a
GSpaceDriver Class Reference

2D chare array [nchareG][nstates] Handles flow of control within an instance, always same dimensional cardinality and mapping as CP_Gspace_State_Plane More...

#include <GSpaceDriver.h>

Inheritance diagram for GSpaceDriver:
CBase_GSpaceDriver

Public Member Functions

GSpaceDriver_SDAG_CODE GSpaceDriver ()
 Constructors.
 
 GSpaceDriver (CkMigrateMessage *msg)
 
 GSpaceDriver (const UberCollection _thisInstance)
 Constructor. More...
 
void init ()
 Initializer. More...
 
void pup (PUP::er &p)
 PUP method.
 
void startControl ()
 Entry Method. Creates and invokes the SDAG that controls GSpace execution. More...
 
void readyToExit ()
 Entry Method. local. GSpace notifies me that its ready to exit by calling this method.
 
void needUpdatedPsiV ()
 Entry Method. Ortho notifies us that GSpace needs a tolerance update (velocity rotation) More...
 
void startNonLocalEes (int iteration_loc)
 Entry Method. Triggers nonlocal energy computations. More...
 
void releaseSFComputeZ ()
 Triggers nonlocal energy computations. More...
 

Public Attributes

bool isFirstStep
 True if this is the first step.
 
int ees_nonlocal
 
int natm_nl
 
int cp_min_opt
 
int gen_wave
 
int ndump_frq
 
bool isPsiVupdateNeeded
 
bool isOutputNeeded
 
CP_State_GSpacePlanemyGSpaceObj
 Pointer to the GSpacePlane object that I am driving (controlling)
 
CP_State_ParticlePlanemyParticlePlaneObj
 Pointer to the ParticlePlane object that I am driving (controlling)
 

Private Attributes

const UberCollection thisInstance
 A handle to the local copy of the config parameters (refresh on migration) More...
 
CProxySection_StructureFactor sfCompSectionProxy
 Array section of the structure factor chares that I will be triggering.
 

Detailed Description

2D chare array [nchareG][nstates] Handles flow of control within an instance, always same dimensional cardinality and mapping as CP_Gspace_State_Plane

A 2D chare array bound to CP_State_GspacePlane that manages the driver logic and related communication details.

Implements entry methods that are primarily used by other chares for notifying progress on different portions of the computation. This information is used to orchestrate the work. Holds counters and flags used in the GSpace driver logic that is currently implemented as SDAG code.

Use starts with the creation of the numInstances bound arrays in init_state_chares(). InstanceController::doneInit() then invokes startControl() which calls init and then driveGSpace. The latter uses Structured DAGger to manage the control flow. The intricacies of the workflow should be evident in gspace.ci's documentation and in the SDAG code comments. SDAG defined the chain of dependencies between entry methods and invokes different local object functions when their input dependencies have been met. Flow returns naturally to the driveGSpace as those functions return.

Definition at line 34 of file GSpaceDriver.h.

Member Data Documentation

const UberCollection GSpaceDriver::thisInstance
private

A handle to the local copy of the config parameters (refresh on migration)

A marker tying this class to a particular instance of interacting chares

Definition at line 83 of file GSpaceDriver.h.

Referenced by init(), startControl(), and startNonLocalEes().


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