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

Comparing trunk/OOPSE/libmdtools/SimSetup.cpp (file contents):
Revision 812 by mmeineke, Wed Oct 22 21:17:32 2003 UTC vs.
Revision 855 by mmeineke, Thu Nov 6 22:01:37 2003 UTC

# Line 1 | Line 1
1   #include <algorithm>
2 < #include <cstdlib>
2 > #include <stdlib.h>
3   #include <iostream>
4 < #include <cmath>
4 > #include <math.h>
5   #include <string>
6   #include <sprng.h>
7
7   #include "SimSetup.hpp"
8   #include "ReadWrite.hpp"
9   #include "parse_me.h"
# Line 32 | Line 31 | SimSetup::SimSetup(){
31   using namespace std;
32  
33   SimSetup::SimSetup(){
34 +  
35 +  initSuspend = false;
36    isInfoArray = 0;
37    nInfo = 1;
38  
# Line 54 | Line 55 | void SimSetup::setSimInfo(SimInfo* the_info, int theNi
55    info = the_info;
56    nInfo = theNinfo;
57    isInfoArray = 1;
58 +  initSuspend = true;
59   }
60  
61  
# Line 100 | Line 102 | void SimSetup::createSim(void){
102    // creation of complex system objects
103  
104    sysObjectsCreation();
103
104  // check on the post processing info
105
106  finalInfoCheck();
105  
106    // initialize the system coordinates
107  
108 <  if (!isInfoArray){
108 >  if ( !initSuspend ){
109      initSystemCoords();
110  
111      if( !(globals->getUseInitTime()) )
112        info[0].currentTime = 0.0;
113    }  
114  
115 +  // check on the post processing info
116 +
117 +  finalInfoCheck();
118 +
119    // make the output filenames
120  
121    makeOutNames();
# Line 694 | Line 696 | void SimSetup::gatherInfo(void){
696      }
697  
698      // check for the temperature set flag
699 <
699 >    
700      if (globals->haveTempSet())
701        info[i].setTemp = globals->getTempSet();
702  
703 <    // get some of the tricky things that may still be in the globals
703 >    // check for the extended State init
704  
705 <    double boxVector[3];
706 <    if (globals->haveBox()){
707 <      boxVector[0] = globals->getBox();
706 <      boxVector[1] = globals->getBox();
707 <      boxVector[2] = globals->getBox();
708 <
709 <      info[i].setBox(boxVector);
710 <    }
711 <    else if (globals->haveDensity()){
712 <      double vol;
713 <      vol = (double) tot_nmol / globals->getDensity();
714 <      boxVector[0] = pow(vol, (1.0 / 3.0));
715 <      boxVector[1] = boxVector[0];
716 <      boxVector[2] = boxVector[0];
717 <
718 <      info[i].setBox(boxVector);
719 <    }
720 <    else{
721 <      if (!globals->haveBoxX()){
722 <        sprintf(painCave.errMsg,
723 <                "SimSetup error, no periodic BoxX size given.\n");
724 <        painCave.isFatal = 1;
725 <        simError();
726 <      }
727 <      boxVector[0] = globals->getBoxX();
728 <
729 <      if (!globals->haveBoxY()){
730 <        sprintf(painCave.errMsg,
731 <                "SimSetup error, no periodic BoxY size given.\n");
732 <        painCave.isFatal = 1;
733 <        simError();
734 <      }
735 <      boxVector[1] = globals->getBoxY();
736 <
737 <      if (!globals->haveBoxZ()){
738 <        sprintf(painCave.errMsg,
739 <                "SimSetup error, no periodic BoxZ size given.\n");
740 <        painCave.isFatal = 1;
741 <        simError();
742 <      }
743 <      boxVector[2] = globals->getBoxZ();
744 <
745 <      info[i].setBox(boxVector);
746 <    }
705 >    info[i].useInitXSstate = globals->getUseInitXSstate();
706 >    info[i].orthoTolerance = globals->getOrthoBoxTolerance();
707 >    
708    }
709 <
709 >  
710    //setup seed for random number generator
711    int seedValue;
712  
# Line 849 | Line 810 | void SimSetup::finalInfoCheck(void){
810          theEst = globals->getEST();
811        }
812  
813 <      info[i].setEcr(theEcr, theEst);
813 >      info[i].setDefaultEcr(theEcr, theEst);
814  
815        if (!globals->haveDielectric()){
816          sprintf(painCave.errMsg,
# Line 894 | Line 855 | void SimSetup::finalInfoCheck(void){
855            theEst = globals->getEST();
856          }
857  
858 <        info[i].setEcr(theEcr, theEst);
858 >        info[i].setDefaultEcr(theEcr, theEst);
859        }
860      }
861 +
862 +    if( !initSuspend )
863 +      info[i].checkCutOffs();
864    }
865  
866   #ifdef IS_MPI
# Line 1458 | Line 1422 | void SimSetup::makeIntegrator(void){
1422  
1423          if (globals->haveTauThermostat())
1424            myNPTf->setTauThermostat(globals->getTauThermostat());
1425 +
1426          else{
1427            sprintf(painCave.errMsg,
1428                    "SimSetup error: If you use an NPT\n"
# Line 1468 | Line 1433 | void SimSetup::makeIntegrator(void){
1433  
1434          if (globals->haveTauBarostat())
1435            myNPTf->setTauBarostat(globals->getTauBarostat());
1436 +
1437          else{
1438            sprintf(painCave.errMsg,
1439                    "SimSetup error: If you use an NPT\n"

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines