ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/trunk/src/io/DumpReader.cpp
(Generate patch)

Comparing trunk/src/io/DumpReader.cpp (file contents):
Revision 1879 by gezelter, Sun Jun 16 15:15:42 2013 UTC vs.
Revision 1993 by gezelter, Tue Apr 29 17:32:31 2014 UTC

# Line 43 | Line 43
43   #define _LARGEFILE_SOURCE64
44   #define _FILE_OFFSET_BITS 64
45  
46 + #ifdef IS_MPI
47 + #include <mpi.h>
48 + #endif
49 +
50   #include <sys/types.h>
51   #include <sys/stat.h>
52  
# Line 60 | Line 64
64   #include "utils/StringTokenizer.hpp"
65   #include "brains/Thermo.hpp"
66  
63 #ifdef IS_MPI
64 #include <mpi.h>
65 #endif
67  
67
68   namespace OpenMD {
69    
70    DumpReader::DumpReader(SimInfo* info, const std::string& filename)
# Line 203 | Line 203 | namespace OpenMD {
203   #ifdef IS_MPI
204      }
205      
206 <    MPI::COMM_WORLD.Bcast(&nframes_, 1, MPI::INT, 0);
206 >    MPI_Bcast(&nframes_, 1, MPI_INT, 0, MPI_COMM_WORLD);
207      
208   #endif // is_mpi
209      
# Line 289 | Line 289 | namespace OpenMD {
289        }
290  
291        int sendBufferSize = sendBuffer.size();
292 <      MPI::COMM_WORLD.Bcast(&sendBufferSize, 1, MPI::INT, masterNode);    
293 <      MPI::COMM_WORLD.Bcast((void *)sendBuffer.c_str(), sendBufferSize,
294 <                            MPI::CHAR, masterNode);    
292 >      MPI_Bcast(&sendBufferSize, 1, MPI_INT, masterNode, MPI_COMM_WORLD);    
293 >      MPI_Bcast((void *)sendBuffer.c_str(), sendBufferSize,
294 >                MPI_CHAR, masterNode, MPI_COMM_WORLD);    
295        
296        sstream.str(sendBuffer);
297      } else {
298        int sendBufferSize;
299 <      MPI::COMM_WORLD.Bcast(&sendBufferSize, 1, MPI::INT, masterNode);
299 >      MPI_Bcast(&sendBufferSize, 1, MPI_INT, masterNode, MPI_COMM_WORLD);
300        char * recvBuffer = new char[sendBufferSize+1];
301        assert(recvBuffer);
302        recvBuffer[sendBufferSize] = '\0';
303 <      MPI::COMM_WORLD.Bcast(recvBuffer, sendBufferSize, MPI::CHAR, masterNode);
303 >      MPI_Bcast(recvBuffer, sendBufferSize, MPI_CHAR, masterNode, MPI_COMM_WORLD);
304        sstream.str(recvBuffer);
305        delete [] recvBuffer;
306      }      
# Line 508 | Line 508 | namespace OpenMD {
508             eField[1] = tokenizer.nextTokenAsDouble();
509             eField[2] = tokenizer.nextTokenAsDouble();          
510             sd->setElectricField(eField);          
511 +           break;
512 +        }
513 +        case 's' : {
514 +
515 +           RealType sPot;
516 +           sPot = tokenizer.nextTokenAsDouble();
517 +           sd->setSitePotential(sPot);          
518             break;
519          }
520          default: {
# Line 520 | Line 527 | namespace OpenMD {
527  
528        }
529      }
523    
530    }
531    
532  
# Line 560 | Line 566 | namespace OpenMD {
566      if (i >> siteIndex) {
567        // chew up this token and parse as an int:
568        siteIndex = tokenizer.nextTokenAsInt();
569 <      RigidBody* rb = static_cast<RigidBody*>(sd);
570 <      sd = rb->getAtoms()[siteIndex];
569 >
570 >      if (sd->isRigidBody()) {
571 >        RigidBody* rb = static_cast<RigidBody*>(sd);
572 >        sd = rb->getAtoms()[siteIndex];
573 >      }
574      }
575  
576      /**
# Line 610 | Line 619 | namespace OpenMD {
619          sd->setElectricField(eField);          
620          break;
621        }
622 +      case 's' : {
623 +        
624 +        RealType sPot;
625 +        sPot = tokenizer.nextTokenAsDouble();
626 +        sd->setSitePotential(sPot);          
627 +        break;
628 +      }
629        default: {
630          sprintf(painCave.errMsg,
631                  "DumpReader Error: %s is an unrecognized type\n", type.c_str());
# Line 622 | Line 638 | namespace OpenMD {
638    }
639    
640    
641 <  void  DumpReader::readStuntDoubles(std::istream& inputStream) {
641 >    void  DumpReader::readStuntDoubles(std::istream& inputStream) {
642      
643      inputStream.getline(buffer, bufferSize);
644      std::string line(buffer);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines