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 782 by mmeineke, Tue Sep 23 20:34:31 2003 UTC vs.
Revision 812 by mmeineke, Wed Oct 22 21:17:32 2003 UTC

# Line 22 | Line 22
22   #define NVT_ENS        1
23   #define NPTi_ENS       2
24   #define NPTf_ENS       3
25 + #define NPTxyz_ENS     4
26  
27 +
28   #define FF_DUFF 0
29   #define FF_LJ   1
30   #define FF_EAM  2
# Line 90 | Line 92 | void SimSetup::createSim(void){
92   #endif // is_mpi
93  
94   void SimSetup::createSim(void){
93  int i, j, k, globalAtomIndex;
95  
96    // gather all of the information from the Bass file
97  
# Line 108 | Line 109 | void SimSetup::createSim(void){
109  
110    if (!isInfoArray){
111      initSystemCoords();
112 +
113 +    if( !(globals->getUseInitTime()) )
114 +      info[0].currentTime = 0.0;
115    }  
116  
117    // make the output filenames
# Line 129 | Line 133 | void SimSetup::makeMolecules(void){
133  
134  
135   void SimSetup::makeMolecules(void){
136 <  int k, l;
136 >  int k;
137    int i, j, exI, exJ, tempEx, stampID, atomOffset, excludeOffset;
138    molInit molInfo;
139    DirectionalAtom* dAtom;
# Line 551 | Line 555 | void SimSetup::gatherInfo(void){
555  
556  
557   void SimSetup::gatherInfo(void){
558 <  int i, j, k;
558 >  int i;
559  
560    ensembleCase = -1;
561    ffCase = -1;
# Line 601 | Line 605 | void SimSetup::gatherInfo(void){
605    }
606    else if (!strcasecmp(ensemble, "NPTf")){
607      ensembleCase = NPTf_ENS;
608 +  }
609 +  else if (!strcasecmp(ensemble, "NPTxyz")){
610 +    ensembleCase = NPTxyz_ENS;
611    }
612    else{
613      sprintf(painCave.errMsg,
# Line 914 | Line 921 | void SimSetup::initSystemCoords(void){
921      if (worldRank == 0){
922   #endif //is_mpi
923        inName = globals->getInitialConfig();
917      double* tempDouble = new double[1000000];
924        fileInit = new InitializeFromFile(inName);
925   #ifdef IS_MPI
926      }
# Line 932 | Line 938 | void SimSetup::initSystemCoords(void){
938  
939      sprintf(painCave.errMsg,
940              "Cannot intialize a parallel simulation without an initial configuration file.\n");
941 <    painCave.isFatal;
941 >    painCave.isFatal = 1;;
942      simError();
943  
944   #else
# Line 1158 | Line 1164 | void SimSetup::calcSysValues(void){
1164   }
1165  
1166   void SimSetup::calcSysValues(void){
1167 <  int i, j, k;
1167 >  int i;
1168  
1169    int* molMembershipArray;
1170  
# Line 1257 | Line 1263 | void SimSetup::makeSysArrays(void){
1263  
1264  
1265   void SimSetup::makeSysArrays(void){
1266 <  int i, j, k, l;
1266 >
1267 > #ifndef IS_MPI
1268 >  int k, j;
1269 > #endif // is_mpi
1270 >  int i, l;
1271  
1272    Atom** the_atoms;
1273    Molecule* the_molecules;
# Line 1344 | Line 1354 | void SimSetup::makeIntegrator(void){
1354    NVT<RealIntegrator>* myNVT = NULL;
1355    NPTi<NPT<RealIntegrator> >* myNPTi = NULL;
1356    NPTf<NPT<RealIntegrator> >* myNPTf = NULL;
1357 +  NPTxyz<NPT<RealIntegrator> >* myNPTxyz = NULL;
1358    
1359    for (k = 0; k < nInfo; k++){
1360      switch (ensembleCase){
# Line 1466 | Line 1477 | void SimSetup::makeIntegrator(void){
1477          }
1478  
1479          info->the_integrator = myNPTf;
1480 +        break;
1481 +
1482 +      case NPTxyz_ENS:
1483 +        if (globals->haveZconstraints()){
1484 +          setupZConstraint(info[k]);
1485 +          myNPTxyz = new ZConstraint<NPTxyz<NPT <RealIntegrator> > >(&(info[k]), the_ff);
1486 +        }
1487 +        else
1488 +          myNPTxyz = new NPTxyz<NPT <RealIntegrator> >(&(info[k]), the_ff);
1489 +
1490 +        myNPTxyz->setTargetTemp(globals->getTargetTemp());
1491 +
1492 +        if (globals->haveTargetPressure())
1493 +          myNPTxyz->setTargetPressure(globals->getTargetPressure());
1494 +        else{
1495 +          sprintf(painCave.errMsg,
1496 +                  "SimSetup error: If you use a constant pressure\n"
1497 +                  "    ensemble, you must set targetPressure in the BASS file.\n");
1498 +          painCave.isFatal = 1;
1499 +          simError();
1500 +        }    
1501 +
1502 +        if (globals->haveTauThermostat())
1503 +          myNPTxyz->setTauThermostat(globals->getTauThermostat());
1504 +        else{
1505 +          sprintf(painCave.errMsg,
1506 +                  "SimSetup error: If you use an NPT\n"
1507 +                  "    ensemble, you must set tauThermostat.\n");
1508 +          painCave.isFatal = 1;
1509 +          simError();
1510 +        }
1511 +
1512 +        if (globals->haveTauBarostat())
1513 +          myNPTxyz->setTauBarostat(globals->getTauBarostat());
1514 +        else{
1515 +          sprintf(painCave.errMsg,
1516 +                  "SimSetup error: If you use an NPT\n"
1517 +                  "    ensemble, you must set tauBarostat.\n");
1518 +          painCave.isFatal = 1;
1519 +          simError();
1520 +        }
1521 +
1522 +        info->the_integrator = myNPTxyz;
1523          break;
1524  
1525        default:

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines