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

Comparing trunk/OOPSE/libmdtools/SimInfo.cpp (file contents):
Revision 859 by mmeineke, Mon Nov 10 21:50:36 2003 UTC vs.
Revision 1031 by tim, Fri Feb 6 18:58:06 2004 UTC

# Line 20 | Line 20 | inline double roundMe( double x ){
20    return ( x >= 0 ) ? floor( x + 0.5 ) : ceil( x - 0.5 );
21   }
22            
23 + inline double min( double a, double b ){
24 +  return (a < b ) ? a : b;
25 + }
26  
27   SimInfo* currentInfo;
28  
# Line 52 | Line 55 | SimInfo::SimInfo(){
55    usePBC = 0;
56    useLJ = 0;
57    useSticky = 0;
58 <  useDipole = 0;
58 >  useCharges = 0;
59 >  useDipoles = 0;
60    useReactionField = 0;
61    useGB = 0;
62    useEAM = 0;
63  
64    myConfiguration = new SimState();
65  
66 +  has_minimizer = false;
67 +  the_minimizer =NULL;
68 +
69    wrapMeSimInfo( this );
70   }
71  
# Line 176 | Line 183 | void SimInfo::calcHmatInv( void ) {
183      
184      if( orthoRhombic ){
185        sprintf( painCave.errMsg,
186 <               "Hmat is switching from Non-Orthorhombic to OrthoRhombic\n"
187 <               "       If this is a bad thing, change the orthoBoxTolerance( currently %G ).\n",
186 >               "Hmat is switching from Non-Orthorhombic to Orthorhombic Box.\n"
187 >               "\tIf this is a bad thing, change the orthoBoxTolerance\n"
188 >               "\tvariable ( currently set to %G ).\n",
189                 orthoTolerance);
190        simError();
191      }
192      else {
193        sprintf( painCave.errMsg,
194 <               "Hmat is switching from Orthorhombic to Non-OrthoRhombic\n"
195 <               "       If this is a bad thing, change the orthoBoxTolerance( currently %G ).\n",
194 >               "Hmat is switching from Orthorhombic to Non-Orthorhombic Box.\n"
195 >               "\tIf this is a bad thing, change the orthoBoxTolerance\n"
196 >               "\tvariable ( currently set to %G ).\n",
197                 orthoTolerance);
198        simError();
199      }
# Line 477 | Line 486 | void SimInfo::refreshSim(){
486  
487    fInfo.dielect = 0.0;
488  
489 <  if( useDipole ){
489 >  if( useDipoles ){
490      if( useReactionField )fInfo.dielect = dielectric;
491    }
492  
# Line 486 | Line 495 | void SimInfo::refreshSim(){
495    fInfo.SIM_uses_LJ = useLJ;
496    fInfo.SIM_uses_sticky = useSticky;
497    //fInfo.SIM_uses_sticky = 0;
498 <  fInfo.SIM_uses_dipoles = useDipole;
498 >  fInfo.SIM_uses_charges = useCharges;
499 >  fInfo.SIM_uses_dipoles = useDipoles;
500    //fInfo.SIM_uses_dipoles = 0;
501 <  //fInfo.SIM_uses_RF = useReactionField;
502 <  fInfo.SIM_uses_RF = 0;
501 >  fInfo.SIM_uses_RF = useReactionField;
502 >  //fInfo.SIM_uses_RF = 0;
503    fInfo.SIM_uses_GB = useGB;
504    fInfo.SIM_uses_EAM = useEAM;
505  
# Line 539 | Line 549 | void SimInfo::setDefaultEcr( double theEcr ){
549   void SimInfo::setDefaultEcr( double theEcr ){
550  
551    haveEcr = 1;
552 +  ecr = theEcr;
553    
554    ( rCut > ecr )? rList = rCut + 1.0: rList = ecr + 1.0;
555  
545  ecr = theEcr;
546
556    notifyFortranCutOffs( &rCut, &rList, &ecr, &est );
557   }
558  
# Line 563 | Line 572 | void SimInfo::checkCutOffs( void ){
572      if( rCut > maxCutoff ){
573        sprintf( painCave.errMsg,
574                 "Box size is too small for the long range cutoff radius, "
575 <               "%lf, at time %lf\n",
576 <               rCut, currentTime );
575 >               "%G, at time %G\n"
576 >               "\t[ %G %G %G ]\n"
577 >               "\t[ %G %G %G ]\n"
578 >               "\t[ %G %G %G ]\n",
579 >               rCut, currentTime,
580 >               Hmat[0][0], Hmat[0][1], Hmat[0][2],
581 >               Hmat[1][0], Hmat[1][1], Hmat[1][2],
582 >               Hmat[2][0], Hmat[2][1], Hmat[2][2]);
583        painCave.isFatal = 1;
584        simError();
585      }
# Line 573 | Line 588 | void SimInfo::checkCutOffs( void ){
588        if( ecr > maxCutoff ){
589          sprintf( painCave.errMsg,
590                   "Box size is too small for the electrostatic cutoff radius, "
591 <                 "%lf, at time %lf\n",
592 <                 ecr, currentTime );
591 >                 "%G, at time %G\n"
592 >                 "\t[ %G %G %G ]\n"
593 >                 "\t[ %G %G %G ]\n"
594 >                 "\t[ %G %G %G ]\n",
595 >                 ecr, currentTime,
596 >                 Hmat[0][0], Hmat[0][1], Hmat[0][2],
597 >                 Hmat[1][0], Hmat[1][1], Hmat[1][2],
598 >                 Hmat[2][0], Hmat[2][1], Hmat[2][2]);
599          painCave.isFatal = 1;
600          simError();
601        }
# Line 582 | Line 603 | void SimInfo::checkCutOffs( void ){
603    } else {
604      // initialize this stuff before using it, OK?
605      sprintf( painCave.errMsg,
606 <             "Trying to check cutoffs without a box. Be smarter.\n" );
606 >             "Trying to check cutoffs without a box.\n"
607 >             "\tOOPSE should have better programmers than that.\n" );
608      painCave.isFatal = 1;
609      simError();      
610    }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines