| 14 | 
  | 
 | 
| 15 | 
  | 
#include "MatVec3.h" | 
| 16 | 
  | 
 | 
| 17 | 
+ | 
#include "ConstraintManager.hpp" | 
| 18 | 
+ | 
 | 
| 19 | 
  | 
#ifdef IS_MPI | 
| 20 | 
  | 
#include "mpiSimulation.hpp" | 
| 21 | 
  | 
#endif | 
| 78 | 
  | 
 | 
| 79 | 
  | 
  ngroup = 0; | 
| 80 | 
  | 
 | 
| 81 | 
+ | 
  consMan = NULL; | 
| 82 | 
+ | 
   | 
| 83 | 
  | 
  wrapMeSimInfo( this ); | 
| 84 | 
  | 
} | 
| 85 | 
  | 
 | 
| 92 | 
  | 
   | 
| 93 | 
  | 
  for(i = properties.begin(); i != properties.end(); i++) | 
| 94 | 
  | 
    delete (*i).second; | 
| 95 | 
< | 
   | 
| 95 | 
> | 
 | 
| 96 | 
> | 
  if (!consMan) | 
| 97 | 
> | 
    delete consMan;   | 
| 98 | 
  | 
} | 
| 99 | 
  | 
 | 
| 100 | 
  | 
void SimInfo::setBox(double newBox[3]) { | 
| 197 | 
  | 
 | 
| 198 | 
  | 
  if( oldOrtho != orthoRhombic ){ | 
| 199 | 
  | 
     | 
| 200 | 
< | 
    if( orthoRhombic ){ | 
| 200 | 
> | 
    if( orthoRhombic ) { | 
| 201 | 
  | 
      sprintf( painCave.errMsg, | 
| 202 | 
  | 
               "OOPSE is switching from the default Non-Orthorhombic\n" | 
| 203 | 
  | 
               "\tto the faster Orthorhombic periodic boundary computations.\n" | 
| 205 | 
  | 
               "\tNon-Orthorhombic computations, make the orthoBoxTolerance\n" | 
| 206 | 
  | 
               "\tvariable ( currently set to %G ) smaller.\n", | 
| 207 | 
  | 
               orthoTolerance); | 
| 208 | 
+ | 
      painCave.severity = OOPSE_INFO; | 
| 209 | 
  | 
      simError(); | 
| 210 | 
  | 
    } | 
| 211 | 
  | 
    else { | 
| 217 | 
  | 
               "\tthe Orthorhombic computations, make the orthoBoxTolerance\n" | 
| 218 | 
  | 
               "\tvariable ( currently set to %G ) larger.\n", | 
| 219 | 
  | 
               orthoTolerance); | 
| 220 | 
+ | 
      painCave.severity = OOPSE_WARNING; | 
| 221 | 
  | 
      simError(); | 
| 222 | 
  | 
    } | 
| 223 | 
  | 
  } | 
| 467 | 
  | 
  //Most of the compilers will organize the memory of vector continuously | 
| 468 | 
  | 
  setFsimulation( &fInfo, &n_global, &n_atoms, identArray, &n_exclude, excl,  | 
| 469 | 
  | 
                  &nGlobalExcludes, globalExcludes, molMembershipArray,  | 
| 470 | 
< | 
                  &mfact[0], &ngroup, &FglobalGroupMembership[0], &isError); | 
| 471 | 
< | 
   | 
| 470 | 
> | 
                  &mfact[0], &ngroup, &FglobalGroupMembership[0], &isError);  | 
| 471 | 
> | 
 | 
| 472 | 
  | 
  if( isError ){ | 
| 473 | 
  | 
     | 
| 474 | 
  | 
    sprintf( painCave.errMsg, | 
| 475 | 
  | 
             "There was an error setting the simulation information in fortran.\n" ); | 
| 476 | 
  | 
    painCave.isFatal = 1; | 
| 477 | 
+ | 
    painCave.severity = OOPSE_ERROR; | 
| 478 | 
  | 
    simError(); | 
| 479 | 
  | 
  } | 
| 480 | 
  | 
   | 
| 525 | 
  | 
               Hmat[0][0], Hmat[0][1], Hmat[0][2], | 
| 526 | 
  | 
               Hmat[1][0], Hmat[1][1], Hmat[1][2], | 
| 527 | 
  | 
               Hmat[2][0], Hmat[2][1], Hmat[2][2]); | 
| 528 | 
+ | 
      painCave.severity = OOPSE_ERROR; | 
| 529 | 
  | 
      painCave.isFatal = 1; | 
| 530 | 
  | 
      simError(); | 
| 531 | 
  | 
    }     | 
| 534 | 
  | 
    sprintf( painCave.errMsg, | 
| 535 | 
  | 
             "Trying to check cutoffs without a box.\n" | 
| 536 | 
  | 
             "\tOOPSE should have better programmers than that.\n" ); | 
| 537 | 
+ | 
    painCave.severity = OOPSE_ERROR; | 
| 538 | 
  | 
    painCave.isFatal = 1; | 
| 539 | 
  | 
    simError();       | 
| 540 | 
  | 
  } | 
| 607 | 
  | 
#endif | 
| 608 | 
  | 
  for (int i = 0; i < numAtom; i++)  | 
| 609 | 
  | 
    FglobalGroupMembership.push_back(globalGroupMembership[i] + 1); | 
| 610 | 
+ | 
   | 
| 611 | 
  | 
 | 
| 612 | 
  | 
  myMols = info->molecules; | 
| 613 | 
  | 
  numMol = info->n_mol; |