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

Comparing trunk/OOPSE/libmdtools/InitializeFromFile.cpp (file contents):
Revision 644 by mmeineke, Tue Jul 22 16:41:08 2003 UTC vs.
Revision 830 by gezelter, Tue Oct 28 16:20:28 2003 UTC

# Line 1 | Line 1
1 + #define _FILE_OFFSET_BITS 64
2   #include <iostream>
3 < #include <cmath>
3 > #include <math.h>
4  
5   #include <stdio.h>
6   #include <stdlib.h>
# Line 26 | Line 27 | InitializeFromFile :: InitializeFromFile( char *in_nam
27  
28   #endif // is_mpi
29  
30 < InitializeFromFile :: InitializeFromFile( char *in_name ){
30 > InitializeFromFile::InitializeFromFile( char *in_name ){
31 >
32   #ifdef IS_MPI
33    if (worldRank == 0) {
34   #endif
# Line 48 | Line 50 | InitializeFromFile :: ~InitializeFromFile( ){
50    return;  
51   }
52  
53 < InitializeFromFile :: ~InitializeFromFile( ){
53 > InitializeFromFile::~InitializeFromFile( ){
54   #ifdef IS_MPI
55    if (worldRank == 0) {
56   #endif
# Line 71 | Line 73 | void InitializeFromFile :: readInit( SimInfo* the_simn
73  
74   void InitializeFromFile :: readInit( SimInfo* the_simnfo ){
75  
76 <  int i, j, done, which_node, which_atom; // loop counter
76 >  int i, j;
77 >  
78 > #ifdef IS_MPI
79 >  int done, which_node, which_atom; // loop counter
80 > #endif //is_mpi
81  
82    const int BUFFERSIZE = 2000; // size of the read buffer
83    int n_atoms; // the number of atoms
84    char read_buffer[BUFFERSIZE]; //the line buffer for reading
79 #ifdef IS_MPI
80  char send_buffer[BUFFERSIZE];
81 #endif
85  
86    char *eof_test; // ptr to see when we reach the end of the file
87    char *parseErr;
88 <  int procIndex;
88 >
89    double currTime;
90    double boxMat[9];
91    double theBoxMat3[3][3];
# Line 102 | Line 105 | void InitializeFromFile :: readInit( SimInfo* the_simn
105  
106    n_atoms = atoi( read_buffer );
107  
105  Atom **atoms = simnfo->atoms;
106  DirectionalAtom* dAtom;
107
108    if( n_atoms != simnfo->n_atoms ){
109      sprintf( painCave.errMsg,
110               "Initialize from File error. %s n_atoms, %d, "
# Line 180 | Line 180 | void InitializeFromFile :: readInit( SimInfo* the_simn
180      eof_test = fgets(read_buffer, sizeof(read_buffer), c_in_file);
181      if( eof_test == NULL ){
182        sprintf( painCave.errMsg,
183 <               "Error reading 1st line of %d \n ",c_in_name);
183 >               "Error reading 1st line of %s \n ",c_in_name);
184        haveError = 1;
185        simError();
186      }
187      
188      n_atoms = atoi( read_buffer );
189      
190    Atom **atoms = simnfo->atoms;
191    DirectionalAtom* dAtom;
192
190      // Check to see that the number of atoms in the intial configuration file is the
191      // same as declared in simBass.
192      
# Line 323 | Line 320 | char* InitializeFromFile::parseDumpLine(char* readLine
320  
321    char *foo; // the pointer to the current string token
322    
323 <  double rx, ry, rz; // position place holders
324 <  double vx, vy, vz; // velocity placeholders
323 >  double pos[3]; // position place holders
324 >  double vel[3]; // velocity placeholders
325    double q[4]; // the quaternions
326    double jx, jy, jz; // angular velocity placeholders;
327    double qSqr, qLength; // needed to normalize the quaternion vector.
# Line 332 | Line 329 | char* InitializeFromFile::parseDumpLine(char* readLine
329    Atom **atoms = simnfo->atoms;
330    DirectionalAtom* dAtom;
331    
332 <  int j, n_atoms, atomIndex;
332 >  int n_atoms, atomIndex;
333  
334   #ifdef IS_MPI
335 +  int j;
336 +
337    n_atoms = mpiSim->getTotAtoms();
338    atomIndex=-1;        
339    for (j=0; j < mpiSim->getMyNlocal(); j++) {
# Line 377 | Line 376 | char* InitializeFromFile::parseDumpLine(char* readLine
376               c_in_name, n_atoms, atomIndex );
377      return strdup( painCave.errMsg );
378    }
379 <  rx = atof( foo );
379 >  pos[0] = atof( foo );
380    
381    foo = strtok(NULL, " ,;\t");
382    if(foo == NULL){
# Line 387 | Line 386 | char* InitializeFromFile::parseDumpLine(char* readLine
386               c_in_name, n_atoms, atomIndex );
387      return strdup( painCave.errMsg );
388    }
389 <  ry = atof( foo );
389 >  pos[1] = atof( foo );
390      
391    foo = strtok(NULL, " ,;\t");
392    if(foo == NULL){
# Line 397 | Line 396 | char* InitializeFromFile::parseDumpLine(char* readLine
396               c_in_name, n_atoms, atomIndex );
397      return strdup( painCave.errMsg );
398    }
399 <  rz = atof( foo );    
399 >  pos[2] = atof( foo );    
400  
401  
402    // get the velocities
# Line 410 | Line 409 | char* InitializeFromFile::parseDumpLine(char* readLine
409               c_in_name, n_atoms, atomIndex );
410      return strdup( painCave.errMsg );
411    }
412 <  vx = atof( foo );
412 >  vel[0] = atof( foo );
413      
414    foo = strtok(NULL, " ,;\t");
415    if(foo == NULL){
# Line 420 | Line 419 | char* InitializeFromFile::parseDumpLine(char* readLine
419               c_in_name, n_atoms, atomIndex );
420      return strdup( painCave.errMsg );
421    }
422 <  vy = atof( foo );
422 >  vel[1] = atof( foo );
423      
424    foo = strtok(NULL, " ,;\t");
425    if(foo == NULL){
# Line 430 | Line 429 | char* InitializeFromFile::parseDumpLine(char* readLine
429               c_in_name, n_atoms, atomIndex );
430      return strdup( painCave.errMsg );
431    }
432 <  vz = atof( foo );
432 >  vel[2] = atof( foo );
433      
434      
435    // get the quaternions
# Line 532 | Line 531 | char* InitializeFromFile::parseDumpLine(char* readLine
531      
532    // add the positions and velocities to the atom
533      
534 <  atoms[atomIndex]->setX( rx );
535 <  atoms[atomIndex]->setY( ry );
537 <  atoms[atomIndex]->setZ( rz );
538 <    
539 <  atoms[atomIndex]->set_vx( vx );
540 <  atoms[atomIndex]->set_vy( vy );
541 <  atoms[atomIndex]->set_vz( vz );
534 >  atoms[atomIndex]->setPos( pos );
535 >  atoms[atomIndex]->setVel( vel );
536  
537    return NULL;
538   }
# Line 548 | Line 542 | char* InitializeFromFile::parseBoxLine(char* readLine,
542                                         double &time ){
543  
544    char *foo; // the pointer to the current string token
551  int j;
545  
546    // set the string tokenizer
547    

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines