| 70 | 
  | 
   | 
| 71 | 
  | 
  SimInfo::SimInfo(ForceField* ff, Globals* simParams) :  | 
| 72 | 
  | 
    forceField_(ff), simParams_(simParams),  | 
| 73 | 
< | 
    ndf_(0), fdf_local(0), ndfRaw_(0), ndfTrans_(0), nZconstraint_(0), | 
| 73 | 
> | 
    nAtoms_(0), nBonds_(0), nBends_(0), nTorsions_(0), nInversions_(0),  | 
| 74 | 
> | 
    nRigidBodies_(0), nIntegrableObjects_(0), nCutoffGroups_(0),  | 
| 75 | 
> | 
    nConstraints_(0), nFluctuatingCharges_(0),      | 
| 76 | 
  | 
    nGlobalMols_(0), nGlobalAtoms_(0), nGlobalCutoffGroups_(0),  | 
| 77 | 
  | 
    nGlobalIntegrableObjects_(0), nGlobalRigidBodies_(0),  | 
| 78 | 
  | 
    nGlobalFluctuatingCharges_(0), nGlobalBonds_(0), nGlobalBends_(0),  | 
| 79 | 
  | 
    nGlobalTorsions_(0), nGlobalInversions_(0), nGlobalConstraints_(0), | 
| 80 | 
< | 
    nAtoms_(0), nBonds_(0), nBends_(0), nTorsions_(0), nInversions_(0),  | 
| 81 | 
< | 
    nRigidBodies_(0), nIntegrableObjects_(0), nCutoffGroups_(0),  | 
| 82 | 
< | 
    nConstraints_(0), nFluctuatingCharges_(0), sman_(NULL),  | 
| 83 | 
< | 
    topologyDone_(false), calcBoxDipole_(false), useAtomicVirial_(true), | 
| 82 | 
< | 
    hasNGlobalConstraints_(false) {     | 
| 80 | 
> | 
    hasNGlobalConstraints_(false), | 
| 81 | 
> | 
    ndf_(0), fdf_local(0), ndfRaw_(0), ndfTrans_(0), nZconstraint_(0), | 
| 82 | 
> | 
    sman_(NULL), topologyDone_(false), calcBoxDipole_(false),  | 
| 83 | 
> | 
    calcBoxQuadrupole_(false), useAtomicVirial_(true) {     | 
| 84 | 
  | 
     | 
| 85 | 
  | 
    MoleculeStamp* molStamp; | 
| 86 | 
  | 
    int nMolWithSameStamp; | 
| 752 | 
  | 
 | 
| 753 | 
  | 
    int nproc; | 
| 754 | 
  | 
    MPI_Comm_size( MPI_COMM_WORLD, &nproc); | 
| 754 | 
– | 
    // int nproc = MPI::COMM_WORLD.Get_size(); | 
| 755 | 
  | 
 | 
| 756 | 
  | 
    // we need arrays to hold the counts and displacement vectors for | 
| 757 | 
  | 
    // all processors | 
| 761 | 
  | 
    // fill the counts array | 
| 762 | 
  | 
    MPI_Allgather(&count_local, 1, MPI_INT, &counts[0], | 
| 763 | 
  | 
                  1, MPI_INT, MPI_COMM_WORLD); | 
| 764 | 
– | 
    // MPI::COMM_WORLD.Allgather(&count_local, 1, MPI::INT, &counts[0], | 
| 765 | 
– | 
    //                           1, MPI::INT); | 
| 764 | 
  | 
   | 
| 765 | 
  | 
    // use the processor counts to compute the displacement array | 
| 766 | 
  | 
    disps[0] = 0;     | 
| 777 | 
  | 
    MPI_Allgatherv(&foundTypes[0], count_local, MPI_INT,  | 
| 778 | 
  | 
                   &ftGlobal[0], &counts[0], &disps[0],  | 
| 779 | 
  | 
                   MPI_INT, MPI_COMM_WORLD); | 
| 782 | 
– | 
    // MPI::COMM_WORLD.Allgatherv(&foundTypes[0], count_local, MPI::INT,  | 
| 783 | 
– | 
    //                            &ftGlobal[0], &counts[0], &disps[0],  | 
| 784 | 
– | 
    //                            MPI::INT); | 
| 780 | 
  | 
 | 
| 781 | 
  | 
    vector<int>::iterator j; | 
| 782 | 
  | 
 | 
| 823 | 
  | 
      if ( simParams_->getAccumulateBoxDipole() ) { | 
| 824 | 
  | 
        calcBoxDipole_ = true;        | 
| 825 | 
  | 
      } | 
| 826 | 
+ | 
    // we only call setAccumulateBoxQuadrupole if the accumulateBoxQuadrupole | 
| 827 | 
+ | 
    // parameter is true | 
| 828 | 
+ | 
    calcBoxQuadrupole_ = false; | 
| 829 | 
+ | 
    if ( simParams_->haveAccumulateBoxQuadrupole() )  | 
| 830 | 
+ | 
      if ( simParams_->getAccumulateBoxQuadrupole() ) { | 
| 831 | 
+ | 
        calcBoxQuadrupole_ = true;        | 
| 832 | 
+ | 
      } | 
| 833 | 
  | 
     | 
| 834 | 
  | 
    set<AtomType*>::iterator i; | 
| 835 | 
  | 
    set<AtomType*> atomTypes; |