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

Comparing:
trunk/src/io/DumpReader.cpp (file contents), Revision 1390 by gezelter, Wed Nov 25 20:02:06 2009 UTC vs.
branches/development/src/io/DumpReader.cpp (file contents), Revision 1714 by gezelter, Sat May 19 18:12:46 2012 UTC

# Line 36 | Line 36
36   * [1]  Meineke, et al., J. Comp. Chem. 26, 252-271 (2005).            
37   * [2]  Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006).          
38   * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008).          
39 < * [4]  Vardeman & Gezelter, in progress (2009).                        
39 > * [4]  Kuang & Gezelter,  J. Chem. Phys. 133, 164101 (2010).
40 > * [5]  Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011).
41   */
42    
43   #define _LARGEFILE_SOURCE64
# Line 341 | Line 342 | namespace OpenMD {
342      
343      nTokens = tokenizer.countTokens();
344      
345 <    if (nTokens < 2) {
345 >    if (nTokens < 2) {  
346        sprintf(painCave.errMsg,
347                "DumpReader Error: Not enough Tokens.\n%s\n", line.c_str());
348        painCave.isFatal = 1;
# Line 358 | Line 359 | namespace OpenMD {
359      std::string type = tokenizer.nextToken();
360      int size = type.size();
361  
362 +    size_t found;
363 +    
364 +    if (needPos_) {
365 +      found = type.find("p");      
366 +      if (found == std::string::npos) {
367 +        sprintf(painCave.errMsg,
368 +                "DumpReader Error: StuntDouble %d has no Position\n"
369 +                "\tField (\"p\") specified.\n%s\n", index,
370 +                line.c_str());  
371 +        painCave.isFatal = 1;
372 +        simError();
373 +      }
374 +    }
375 +    
376 +    if (integrableObject->isDirectional()) {
377 +      if (needQuaternion_) {
378 +        found = type.find("q");      
379 +        if (found == std::string::npos) {
380 +          sprintf(painCave.errMsg,
381 +                  "DumpReader Error: Directional StuntDouble %d has no\n"
382 +                  "\tQuaternion Field (\"q\") specified.\n%s\n", index,
383 +                  line.c_str());  
384 +          painCave.isFatal = 1;
385 +          simError();
386 +        }
387 +      }      
388 +    }
389 +
390      for(int i = 0; i < size; ++i) {
391        switch(type[i]) {
392          
# Line 436 | Line 465 | namespace OpenMD {
465             torque[1] = tokenizer.nextTokenAsDouble();
466             torque[2] = tokenizer.nextTokenAsDouble();          
467             integrableObject->setTrq(torque);          
468 +           break;
469 +        }
470 +        case 'u' : {
471 +
472 +           RealType particlePot;
473 +           particlePot = tokenizer.nextTokenAsDouble();
474 +           integrableObject->setParticlePot(particlePot);          
475             break;
476          }
477 +        case 'c' : {
478 +
479 +           RealType flucQPos;
480 +           flucQPos = tokenizer.nextTokenAsDouble();
481 +           integrableObject->setFlucQPos(flucQPos);          
482 +           break;
483 +        }
484 +        case 'w' : {
485 +
486 +           RealType flucQVel;
487 +           flucQVel = tokenizer.nextTokenAsDouble();
488 +           integrableObject->setFlucQVel(flucQVel);          
489 +           break;
490 +        }
491 +        case 'g' : {
492 +
493 +           RealType flucQFrc;
494 +           flucQFrc = tokenizer.nextTokenAsDouble();
495 +           integrableObject->setFlucQFrc(flucQFrc);          
496 +           break;
497 +        }
498 +        case 'e' : {
499 +
500 +           Vector3d eField;
501 +           eField[0] = tokenizer.nextTokenAsDouble();
502 +           eField[1] = tokenizer.nextTokenAsDouble();
503 +           eField[2] = tokenizer.nextTokenAsDouble();          
504 +           integrableObject->setElectricField(eField);          
505 +           break;
506 +        }
507          default: {
508                 sprintf(painCave.errMsg,
509                         "DumpReader Error: %s is an unrecognized type\n", type.c_str());

Comparing:
trunk/src/io/DumpReader.cpp (property svn:keywords), Revision 1390 by gezelter, Wed Nov 25 20:02:06 2009 UTC vs.
branches/development/src/io/DumpReader.cpp (property svn:keywords), Revision 1714 by gezelter, Sat May 19 18:12:46 2012 UTC

# Line 0 | Line 1
1 + Author Id Revision Date

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines