#include <CollectionMaster.h>
Public Member Functions | |
| CollectionMaster () | |
| ~CollectionMaster (void) | |
| void | receivePositions (CollectVectorMsg *msg) |
| void | receiveVelocities (CollectVectorMsg *msg) |
| void | receiveDataStream (DataStreamMsg *msg) |
| void | enqueuePositions (int seq, Lattice &lattice) |
| void | enqueueVelocities (int seq) |
| void | enqueuePositionsFromHandler (EnqueueDataMsg *msg) |
| void | enqueueVelocitiesFromHandler (int seq) |
| void | disposePositions (CollectVectorInstance *c) |
| void | disposeVelocities (CollectVectorInstance *c) |
Static Public Member Functions | |
| CollectionMaster * | Object () |
|
|
Definition at line 76 of file CollectionMaster.C. References DebugM. 00077 {
00078 if (CkpvAccess(CollectionMaster_instance) == 0) {
00079 CkpvAccess(CollectionMaster_instance) = this;
00080 } else {
00081 DebugM(1, "CollectionMaster::CollectionMaster() - another instance of CollectionMaster exists!\n");
00082 }
00083 dataStreamFile = 0;
00084 }
|
|
|
Definition at line 87 of file CollectionMaster.C. 00088 {
00089 }
|
|
|
Definition at line 114 of file CollectionMaster.C. References ResizeArray< Elem >::begin(), Output::coordinate(), CollectionMaster::CollectVectorInstance::data, DebugM, CollectionMaster::CollectVectorInstance::fdata, CollectionMaster::CollectVectorInstance::free(), CollectionMaster::CollectVectorInstance::lattice, Node::Object(), Node::output, CollectionMaster::CollectVectorInstance::seq, and ResizeArray< Elem >::size(). Referenced by enqueuePositions(), and receivePositions(). 00115 {
00116 DebugM(3,"Collected positions at " << c->seq << std::endl);
00117 int seq = c->seq;
00118 int size = c->data.size();
00119 if ( ! size ) size = c->fdata.size();
00120 Vector *data = c->data.begin();
00121 FloatVector *fdata = c->fdata.begin();
00122 Node::Object()->output->coordinate(seq,size,data,fdata,c->lattice);
00123 c->free();
00124 }
|
|
|
Definition at line 149 of file CollectionMaster.C. References ResizeArray< Elem >::begin(), CollectionMaster::CollectVectorInstance::data, DebugM, CollectionMaster::CollectVectorInstance::free(), Node::Object(), Node::output, CollectionMaster::CollectVectorInstance::seq, ResizeArray< Elem >::size(), and Output::velocity(). Referenced by enqueueVelocities(), and receiveVelocities(). 00150 {
00151 DebugM(3,"Collected velocities at " << c->seq << std::endl);
00152 int seq = c->seq;
00153 int size = c->data.size();
00154 Vector *data = c->data.begin();
00155 Node::Object()->output->velocity(seq,size,data);
00156 c->free();
00157 }
|
|
||||||||||||
|
Definition at line 101 of file CollectionMaster.C. References disposePositions(), CollectionMaster::CollectVectorSequence::enqueue(), and CollectionMaster::CollectVectorSequence::removeReady(). Referenced by Controller::enqueueCollections(), and enqueuePositionsFromHandler(). 00102 {
00103 positions.enqueue(seq,lattice);
00104
00105 CollectVectorInstance *c;
00106 while ( ( c = positions.removeReady() ) ) { disposePositions(c); }
00107 }
|
|
|
Definition at line 109 of file CollectionMaster.C. References enqueuePositions(), EnqueueDataMsg::l, and EnqueueDataMsg::timestep. 00109 {
00110 enqueuePositions(msg->timestep, msg->l);
00111 delete msg;
00112 }
|
|
|
Definition at line 136 of file CollectionMaster.C. References disposeVelocities(), CollectionMaster::CollectVectorSequence::enqueue(), and CollectionMaster::CollectVectorSequence::removeReady(). Referenced by Controller::enqueueCollections(), and enqueueVelocitiesFromHandler(). 00137 {
00138 Lattice dummy;
00139 velocities.enqueue(seq,dummy);
00140
00141 CollectVectorInstance *c;
00142 while ( ( c = velocities.removeReady() ) ) { disposeVelocities(c); }
00143 }
|
|
|
Definition at line 145 of file CollectionMaster.C. References enqueueVelocities(). 00145 {
00146 enqueueVelocities(seq);
00147 }
|
|
|
Definition at line 28 of file CollectionMaster.h. 00028 {
00029 return CkpvAccess(CollectionMaster_instance);
00030 }
|
|
|
Definition at line 160 of file CollectionMaster.C. References SimParameters::auxFilename, ResizeArray< Elem >::begin(), DataStreamMsg::data, NAMD_backup_file(), NAMD_die(), Node::Object(), and Node::simParameters. 00160 {
00161 if ( ! dataStreamFile ) {
00162 char *fname = Node::Object()->simParameters->auxFilename;
00163 // iout has large file linking issues on AIX
00164 // iout << iINFO << "OPENING AUXILIARY DATA STREAM FILE "
00165 // << fname << "\n" << endi;
00166 CkPrintf("Info: OPENING AUXILIARY DATA STREAM FILE %s\n", fname);
00167 NAMD_backup_file(fname);
00168 dataStreamFile = fopen(fname,"w");
00169 if ( ! dataStreamFile )
00170 NAMD_die("Can't open auxiliary data stream file!");
00171 }
00172 fprintf(dataStreamFile,"%s",msg->data.begin());
00173 fflush(dataStreamFile);
00174 delete msg;
00175 }
|
|
|
Definition at line 92 of file CollectionMaster.C. References CollectVectorMsg::aid, CollectVectorMsg::data, disposePositions(), CollectVectorMsg::fdata, CollectionMaster::CollectVectorSequence::removeReady(), CollectVectorMsg::seq, and CollectionMaster::CollectVectorSequence::submitData(). 00093 {
00094 positions.submitData(msg->seq,msg->aid,msg->data,msg->fdata);
00095 delete msg;
00096
00097 CollectVectorInstance *c;
00098 while ( ( c = positions.removeReady() ) ) { disposePositions(c); }
00099 }
|
|
|
Definition at line 127 of file CollectionMaster.C. References CollectVectorMsg::aid, CollectVectorMsg::data, disposeVelocities(), CollectVectorMsg::fdata, CollectionMaster::CollectVectorSequence::removeReady(), CollectVectorMsg::seq, and CollectionMaster::CollectVectorSequence::submitData(). 00128 {
00129 velocities.submitData(msg->seq,msg->aid,msg->data,msg->fdata);
00130 delete msg;
00131
00132 CollectVectorInstance *c;
00133 while ( ( c = velocities.removeReady() ) ) { disposeVelocities(c); }
00134 }
|
1.3.9.1