ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/ZConsWriter.cpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/ZConsWriter.cpp (file contents):
Revision 738 by tim, Tue Sep 2 14:30:12 2003 UTC vs.
Revision 1203 by gezelter, Thu May 27 18:59:17 2004 UTC

# Line 54 | Line 54 | void ZConsWriter::writeFZ(double time, int num, int* i
54   /**
55   *
56   */
57 < void ZConsWriter::writeFZ(double time, int num, int* index, double* fz, double* curZPos){
57 > void ZConsWriter::writeFZ(double time, int num, int* index, double* fz, double* curZPos, double* zpos){
58  
59   #ifndef IS_MPI
60    output << time << endl;
61    output << num << endl;
62    
63    for(int i = 0; i < num; i++)
64 <    output << index[i] <<"\t" << fz[i] << "\t" << curZPos[i] << endl;
64 >    output << index[i] <<"\t" << fz[i] << "\t" << curZPos[i] << "\t" << zpos[i] <<endl;
65  
66   #else
67    int totalNum;
# Line 76 | Line 76 | void ZConsWriter::writeFZ(double time, int num, int* i
76    enum CommType { RequesPosAndForce, EndOfRequest} status;
77    double pos;
78    double force;
79 +  double zconsPos;
80    int localIndex;
81    MPI_Status ierr;
82    int tag = 0;
# Line 86 | Line 87 | void ZConsWriter::writeFZ(double time, int num, int* i
87      int *MolToProcMap;
88      MolToProcMap = mpiSim->getMolToProcMap();
89      
90 <    for(int i = 0; i < parameters->size(); i++){
90 >    for(int i = 0; i < (int)(parameters->size()); i++){
91        
92        globalIndexOfCurMol = (*parameters)[i].zconsIndex;
93        whichNode = MolToProcMap[globalIndexOfCurMol];
# Line 107 | Line 108 | void ZConsWriter::writeFZ(double time, int num, int* i
108          status = RequesPosAndForce;
109          MPI_Send(&status, 1, MPI_INT, whichNode, tag, MPI_COMM_WORLD);
110          MPI_Send(&globalIndexOfCurMol, 1, MPI_INT, whichNode, tag, MPI_COMM_WORLD);
111 <        MPI_Recv(&force, 1, MPI_DOUBLE_PRECISION, whichNode, tag, MPI_COMM_WORLD, &ierr);
112 <        MPI_Recv(&pos, 1, MPI_DOUBLE_PRECISION, whichNode, tag, MPI_COMM_WORLD, &ierr);
111 >        MPI_Recv(&force, 1, MPI_DOUBLE, whichNode, tag, MPI_COMM_WORLD, &ierr);
112 >        MPI_Recv(&pos, 1, MPI_DOUBLE, whichNode, tag, MPI_COMM_WORLD, &ierr);
113 >        MPI_Recv(&zconsPos, 1, MPI_DOUBLE, whichNode, tag, MPI_COMM_WORLD, &ierr);
114        }
115  
116 <     output << globalIndexOfCurMol << "\t" << force << "\t" << pos << endl;
116 >     output << globalIndexOfCurMol << "\t" << force << "\t" << pos << "\t"<<  zconsPos << endl;
117                
118      } //End of Request Loop
119      
120      //Send ending request message to slave nodes    
121      status = EndOfRequest;
122 <    for(int i =1; i < mpiSim->getNumberProcessors(); i++)
122 >    for(int i =1; i < mpiSim->getNProcessors(); i++)
123        MPI_Send(&status, 1, MPI_INT, i, tag, MPI_COMM_WORLD);
124      
125    }
# Line 142 | Line 144 | void ZConsWriter::writeFZ(double time, int num, int* i
144               break;
145             }
146      
147 <           MPI_Send(&fz[localIndex], 1, MPI_DOUBLE_PRECISION, 0, tag, MPI_COMM_WORLD);    
148 <           MPI_Send(&curZPos[localIndex], 1, MPI_DOUBLE_PRECISION, 0, tag, MPI_COMM_WORLD);      
147 >           MPI_Send(&fz[localIndex], 1, MPI_DOUBLE, 0, tag, MPI_COMM_WORLD);    
148 >           MPI_Send(&curZPos[localIndex], 1, MPI_DOUBLE, 0, tag, MPI_COMM_WORLD);    
149 >           MPI_Send(&zpos[localIndex], 1, MPI_DOUBLE, 0, tag, MPI_COMM_WORLD);    
150             break;
151        
152          case EndOfRequest :
# Line 171 | Line 174 | void ZConsWriter::writeZPos(){
174      
175      output << parameters->size() << endl;    
176      
177 <    for(int i =0 ; i < parameters->size(); i++)
177 >    for(int i =0 ; i < (int)(parameters->size()); i++)
178        output << (*parameters)[i].zconsIndex << "\t" <<  (*parameters)[i].zPos << endl;
179  
180   #ifdef IS_MPI

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines