ComputeGlobalMsgs.h

Go to the documentation of this file.
00001 
00007 #ifndef COMPUTEGLOBALMSGS_H
00008 #define COMPUTEGLOBALMSGS_H
00009 
00010 #include "charm++.h"
00011 
00012 #include "NamdTypes.h"
00013 #include "Lattice.h"
00014 #include "ComputeMgr.decl.h"
00015 
00016 #if 0
00017 class ComputeGlobalConfigMsg : public CMessage_ComputeGlobalConfigMsg {
00018 public:
00019   // data members
00020   AtomIDList aid;
00021   AtomIDList gdef;  // group definitions
00022 
00023   // constructor and destructor
00024   ComputeGlobalConfigMsg(void);
00025   ~ComputeGlobalConfigMsg(void);
00026 
00027   // pack and unpack functions
00028   static void* pack(ComputeGlobalConfigMsg *msg);
00029   static ComputeGlobalConfigMsg* unpack(void *ptr);
00030 };
00031 #endif
00032 
00033 
00034 class ComputeGlobalDataMsg : public CMessage_ComputeGlobalDataMsg {
00035 public:
00036   // data members
00037   int step;
00038   int count;
00039   AtomIDList aid;
00040   PositionList p;
00041   PositionList gcom;  // group center of mass
00042   BigRealList gmass;  // group total mass
00043   AtomIDList fid;
00044   ForceList tf;
00045   ForceList gtf;  // group total force
00046   ResizeArray<Lattice> lat;
00047 
00048   // constructor and destructor
00049   ComputeGlobalDataMsg(void);
00050   ~ComputeGlobalDataMsg(void);
00051 
00052   // pack and unpack functions
00053   static void* pack(ComputeGlobalDataMsg *msg);
00054   static ComputeGlobalDataMsg* unpack(void *ptr);
00055 };
00056 
00057 
00058 class ComputeGlobalResultsMsg : public CMessage_ComputeGlobalResultsMsg {
00059 public:
00060   // data members
00061   AtomIDList aid;
00062   ForceList f;
00063   ForceList gforce;  // force on group
00064 
00065   int seq;
00066   int totalforces;  // send total forces?
00067   int reconfig;
00068 
00069   /* If <resendCoordinates> is 1, this message indicates a request for
00070      another set of coordinates (a ComputeGlobalDataMessage) during
00071      this timestep.  It may be 1 even if reconfig was not set,
00072      though there is no particular reason to do that.  A 1 here also
00073      indicates that the ComputeGlobal should ignore any forces
00074      included in this message, and wait instead for the next Results
00075      Message to come in. */
00076   int resendCoordinates;
00077   
00078   AtomIDList newaid;
00079   AtomIDList newgdef;
00080 
00081   // constructor and destructor
00082   ComputeGlobalResultsMsg(void);
00083   ~ComputeGlobalResultsMsg(void);
00084 
00085   // pack and unpack functions
00086   static void* pack(ComputeGlobalResultsMsg *msg);
00087   static ComputeGlobalResultsMsg* unpack(void *ptr);
00088 
00089 };
00090 
00091 
00092 #endif
00093 

Generated on Tue Sep 26 01:17:11 2017 for NAMD by  doxygen 1.4.7