OpenAtom
Version1.5a
|
Public Member Functions | |
InstanceController (CkMigrateMessage *m) | |
void | init () |
void | doneInit (CkReductionMsg *msg) |
void | initCookie (ICCookieMsg *msg) |
void | printEnergyHart (CkReductionMsg *msg) |
void | printEnergyEexc (CkReductionMsg *msg) |
void | printFictEke (CkReductionMsg *msg) |
Print out Fict CP KE and send it to the energy group /////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////. | |
void | allDoneCPForces (CkReductionMsg *m) |
When ALL the cp forces are done, you can integrate the atoms. More... | |
void | allDoneCPForcesAllKPoint (CkReductionMsg *m) |
void | printEnergyEke (CkReductionMsg *m) |
Print out Quantum KE and put all the energies into the message group /////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////. | |
void | cleanExit (CkReductionMsg *m) |
When the simulation is done on each instance, make a clean exit this gets called by each instance. | |
void | cleanExitAll (CkReductionMsg *m) |
When the simulation is done, make a clean exit this gets called on the 0th element when everyone calls cleanExit. | |
void | acceptNewTemperature (double temp) |
void | useNewTemperature (double temp) |
void | atomsDoneNewTemp (CkReductionMsg *m) |
void | gspDoneNewTemp (CkReductionMsg *m) |
void | fmagMinTest (CkReductionMsg *m) |
Public Attributes | |
double | Timer |
CProxySection_CP_State_GSpacePlane | gTemperBeadProxy |
Private Attributes | |
int | done_init |
int | numKpointforces |
bool | atomsTempDone |
bool | gspTempDone |
CkSectionInfo | allKPcookie |
Definition at line 15 of file InstanceController.h.
void InstanceController::allDoneCPForces | ( | CkReductionMsg * | m | ) |
When ALL the cp forces are done, you can integrate the atoms.
Could be made slicker by using knowledge of which gpsace chares are on each processor and coordinating that with atom launch. cklocalbranch->count_psi_forc++; zeroed in atms grp constructor and incremented could be incremented in launch atoms. If(cklocalbranch->count_psi_forc==numgspacethisproc){ atomsgrpproxy(myid).startrealspaceforces(); } That is, you only need to know that all the forces are complete on each PROCECESSOR and you can go ahead to the atoms. The atoms are a group which needs to contribute atom forces to a reduction. If all the forces aren't in there, you can't start the reduction
Definition at line 394 of file InstanceController.C.
References mCastGrpId.