| 834 | 
  | 
  } | 
| 835 | 
  | 
 | 
| 836 | 
  | 
  //check whether sample time, status time, thermal time and reset time are divisble by dt | 
| 837 | 
< | 
  if (!isDivisible(globals->getSampleTime(), globals->getDt())){ | 
| 837 | 
> | 
  if (globals->haveSampleTime() && !isDivisible(globals->getSampleTime(), globals->getDt())){ | 
| 838 | 
  | 
    sprintf(painCave.errMsg, | 
| 839 | 
  | 
            "Sample time is not divisible by dt.\n" | 
| 840 | 
  | 
            "\tThis will result in samples that are not uniformly\n" | 
| 844 | 
  | 
    simError();     | 
| 845 | 
  | 
  } | 
| 846 | 
  | 
 | 
| 847 | 
< | 
  if (globals->haveStatusTime() && !isDivisible(globals->getSampleTime(), globals->getDt())){ | 
| 847 | 
> | 
  if (globals->haveStatusTime() && !isDivisible(globals->getStatusTime(), globals->getDt())){ | 
| 848 | 
  | 
    sprintf(painCave.errMsg, | 
| 849 | 
  | 
            "Status time is not divisible by dt.\n" | 
| 850 | 
  | 
            "\tThis will result in status reports that are not uniformly\n" | 
| 880 | 
  | 
    if (globals->haveSampleTime()){ | 
| 881 | 
  | 
      info[i].sampleTime = globals->getSampleTime(); | 
| 882 | 
  | 
      info[i].statusTime = info[i].sampleTime; | 
| 883 | 
– | 
      info[i].thermalTime = info[i].sampleTime; | 
| 883 | 
  | 
    } | 
| 884 | 
  | 
    else{ | 
| 885 | 
  | 
      info[i].sampleTime = globals->getRunTime(); | 
| 886 | 
  | 
      info[i].statusTime = info[i].sampleTime; | 
| 888 | 
– | 
      info[i].thermalTime = info[i].sampleTime; | 
| 887 | 
  | 
    } | 
| 888 | 
  | 
 | 
| 889 | 
  | 
    if (globals->haveStatusTime()){ | 
| 892 | 
  | 
 | 
| 893 | 
  | 
    if (globals->haveThermalTime()){ | 
| 894 | 
  | 
      info[i].thermalTime = globals->getThermalTime(); | 
| 895 | 
+ | 
    } else { | 
| 896 | 
+ | 
      info[i].thermalTime = globals->getRunTime(); | 
| 897 | 
  | 
    } | 
| 898 | 
  | 
 | 
| 899 | 
  | 
    info[i].resetIntegrator = 0; | 
| 911 | 
  | 
 | 
| 912 | 
  | 
    info[i].useInitXSstate = globals->getUseInitXSstate(); | 
| 913 | 
  | 
    info[i].orthoTolerance = globals->getOrthoBoxTolerance(); | 
| 914 | 
+ | 
    info[i].useMolecularCutoffs = globals->getUseMolecularCutoffs(); | 
| 915 | 
+ | 
 | 
| 916 | 
  | 
     | 
| 917 | 
  | 
  } | 
| 918 | 
  | 
   | 
| 1367 | 
  | 
  int localMol, allMol; | 
| 1368 | 
  | 
  int local_atoms, local_bonds, local_bends, local_torsions, local_SRI; | 
| 1369 | 
  | 
  int local_rigid; | 
| 1368 | 
– | 
  vector<int> globalAtomIndex; | 
| 1370 | 
  | 
  vector<int> globalMolIndex; | 
| 1371 | 
  | 
 | 
| 1372 | 
  | 
  mpiSim = new mpiSimulation(info); | 
| 1373 | 
  | 
 | 
| 1374 | 
  | 
  mpiSim->divideLabor(); | 
| 1375 | 
  | 
  globalAtomIndex = mpiSim->getGlobalAtomIndex(); | 
| 1376 | 
< | 
  globalMolIndex = mpiSim->getGlobalMolIndex(); | 
| 1376 | 
> | 
  //globalMolIndex = mpiSim->getGlobalMolIndex(); | 
| 1377 | 
  | 
 | 
| 1378 | 
  | 
  // set up the local variables  | 
| 1379 | 
  | 
 |