#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 84 of file CollectionMaster.C. References DebugM. 00085 {
00086 if (CpvAccess(CollectionMaster_instance) == 0) {
00087 CpvAccess(CollectionMaster_instance) = this;
00088 } else {
00089 DebugM(1, "CollectionMaster::CollectionMaster() - another instance of CollectionMaster exists!\n");
00090 }
00091 dataStreamFile = 0;
00092 }
|
|
|
Definition at line 95 of file CollectionMaster.C. 00096 {
00097 }
|
|
|
Definition at line 122 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(). 00123 {
00124 DebugM(3,"Collected positions at " << c->seq << std::endl);
00125 int seq = c->seq;
00126 int size = c->data.size();
00127 if ( ! size ) size = c->fdata.size();
00128 Vector *data = c->data.begin();
00129 FloatVector *fdata = c->fdata.begin();
00130 Node::Object()->output->coordinate(seq,size,data,fdata,c->lattice);
00131 c->free();
00132 }
|
|
|
Definition at line 157 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(). 00158 {
00159 DebugM(3,"Collected velocities at " << c->seq << std::endl);
00160 int seq = c->seq;
00161 int size = c->data.size();
00162 Vector *data = c->data.begin();
00163 Node::Object()->output->velocity(seq,size,data);
00164 c->free();
00165 }
|
|
||||||||||||
|
Definition at line 109 of file CollectionMaster.C. References disposePositions(), CollectionMaster::CollectVectorSequence::enqueue(), and CollectionMaster::CollectVectorSequence::removeReady(). Referenced by Controller::enqueueCollections(), and enqueuePositionsFromHandler(). 00110 {
00111 positions.enqueue(seq,lattice);
00112
00113 CollectVectorInstance *c;
00114 while ( ( c = positions.removeReady() ) ) { disposePositions(c); }
00115 }
|
|
|
Definition at line 117 of file CollectionMaster.C. References enqueuePositions(), EnqueueDataMsg::l, and EnqueueDataMsg::timestep. 00117 {
00118 enqueuePositions(msg->timestep, msg->l);
00119 delete msg;
00120 }
|
|
|
Definition at line 144 of file CollectionMaster.C. References disposeVelocities(), CollectionMaster::CollectVectorSequence::enqueue(), and CollectionMaster::CollectVectorSequence::removeReady(). Referenced by Controller::enqueueCollections(), and enqueueVelocitiesFromHandler(). 00145 {
00146 Lattice dummy;
00147 velocities.enqueue(seq,dummy);
00148
00149 CollectVectorInstance *c;
00150 while ( ( c = velocities.removeReady() ) ) { disposeVelocities(c); }
00151 }
|
|
|
Definition at line 153 of file CollectionMaster.C. References enqueueVelocities(). 00153 {
00154 enqueueVelocities(seq);
00155 }
|
|
|
Definition at line 28 of file CollectionMaster.h. 00028 {
00029 return CpvAccess(CollectionMaster_instance);
00030 }
|
|
|
Definition at line 168 of file CollectionMaster.C. References SimParameters::auxFilename, ResizeArray< Elem >::begin(), DataStreamMsg::data, NAMD_backup_file(), NAMD_die(), Node::Object(), and Node::simParameters. 00168 {
00169 if ( ! dataStreamFile ) {
00170 char *fname = Node::Object()->simParameters->auxFilename;
00171 // iout has large file linking issues on AIX
00172 // iout << iINFO << "OPENING AUXILIARY DATA STREAM FILE "
00173 // << fname << "\n" << endi;
00174 CkPrintf("Info: OPENING AUXILIARY DATA STREAM FILE %s\n", fname);
00175 NAMD_backup_file(fname);
00176 dataStreamFile = fopen(fname,"w");
00177 if ( ! dataStreamFile )
00178 NAMD_die("Can't open auxiliary data stream file!");
00179 }
00180 fprintf(dataStreamFile,"%s",msg->data.begin());
00181 fflush(dataStreamFile);
00182 delete msg;
00183 }
|
|
|
Definition at line 100 of file CollectionMaster.C. References CollectVectorMsg::aid, CollectVectorMsg::data, disposePositions(), CollectVectorMsg::fdata, CollectionMaster::CollectVectorSequence::removeReady(), CollectVectorMsg::seq, and CollectionMaster::CollectVectorSequence::submitData(). 00101 {
00102 positions.submitData(msg->seq,msg->aid,msg->data,msg->fdata);
00103 delete msg;
00104
00105 CollectVectorInstance *c;
00106 while ( ( c = positions.removeReady() ) ) { disposePositions(c); }
00107 }
|
|
|
Definition at line 135 of file CollectionMaster.C. References CollectVectorMsg::aid, CollectVectorMsg::data, disposeVelocities(), CollectVectorMsg::fdata, CollectionMaster::CollectVectorSequence::removeReady(), CollectVectorMsg::seq, and CollectionMaster::CollectVectorSequence::submitData(). 00136 {
00137 velocities.submitData(msg->seq,msg->aid,msg->data,msg->fdata);
00138 delete msg;
00139
00140 CollectVectorInstance *c;
00141 while ( ( c = velocities.removeReady() ) ) { disposeVelocities(c); }
00142 }
|
1.3.9.1