| 35 | 
  | 
 *                                                                       | 
| 36 | 
  | 
 * [1]  Meineke, et al., J. Comp. Chem. 26, 252-271 (2005).              | 
| 37 | 
  | 
 * [2]  Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006).           | 
| 38 | 
< | 
 * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008).           | 
| 38 | 
> | 
 * [3]  Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008).           | 
| 39 | 
  | 
 * [4]  Kuang & Gezelter,  J. Chem. Phys. 133, 164101 (2010). | 
| 40 | 
  | 
 * [5]  Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). | 
| 41 | 
  | 
 */ | 
| 99 | 
  | 
      output_ << i->mol->getGlobalIndex() <<"\t" << i->fz << "\t" << i->zpos << "\t" << i->param.zTargetPos <<std::endl; | 
| 100 | 
  | 
    } | 
| 101 | 
  | 
#else | 
| 102 | 
< | 
    int nproc; | 
| 103 | 
< | 
    MPI_Comm_size(MPI_COMM_WORLD, &nproc); | 
| 102 | 
> | 
    int nproc = MPI::COMM_WORLD.Get_size(); | 
| 103 | 
  | 
    const int masterNode = 0; | 
| 104 | 
  | 
    int myNode = worldRank; | 
| 105 | 
  | 
    std::vector<int> tmpNFixedZmols(nproc, 0); | 
| 106 | 
  | 
    std::vector<int> nFixedZmolsInProc(nproc, 0); | 
| 107 | 
  | 
    tmpNFixedZmols[myNode] = fixedZmols.size(); | 
| 108 | 
  | 
     | 
| 109 | 
< | 
    //do MPI_ALLREDUCE to exchange the total number of atoms, rigidbodies and cutoff groups | 
| 110 | 
< | 
    MPI_Allreduce(&tmpNFixedZmols[0], &nFixedZmolsInProc[0], nproc, MPI_INT, | 
| 111 | 
< | 
                  MPI_SUM, MPI_COMM_WORLD); | 
| 109 | 
> | 
    //do MPI_ALLREDUCE to exchange the total number of atoms, | 
| 110 | 
> | 
    //rigidbodies and cutoff groups | 
| 111 | 
> | 
    MPI::COMM_WORLD.Allreduce(&tmpNFixedZmols[0], &nFixedZmolsInProc[0],  | 
| 112 | 
> | 
                              nproc, MPI::INT, MPI::SUM); | 
| 113 | 
  | 
 | 
| 114 | 
< | 
    MPI_Status ierr; | 
| 114 | 
> | 
    MPI::Status ierr; | 
| 115 | 
  | 
    int zmolIndex; | 
| 116 | 
  | 
    RealType data[3]; | 
| 117 | 
  | 
     | 
| 132 | 
  | 
 | 
| 133 | 
  | 
        } else { | 
| 134 | 
  | 
          for(int k =0 ; k < nFixedZmolsInProc[i]; ++k) { | 
| 135 | 
< | 
            MPI_Recv(&zmolIndex, 1, MPI_INT, i, 0, MPI_COMM_WORLD,&ierr); | 
| 136 | 
< | 
            MPI_Recv(data, 3, MPI_REALTYPE, i, 0, MPI_COMM_WORLD,&ierr); | 
| 135 | 
> | 
            MPI::COMM_WORLD.Recv(&zmolIndex, 1, MPI::INT, i, 0, ierr); | 
| 136 | 
> | 
            MPI::COMM_WORLD.Recv(data, 3, MPI::REALTYPE, i, 0, ierr); | 
| 137 | 
  | 
            tmpData.zmolIndex = zmolIndex; | 
| 138 | 
  | 
            tmpData.zforce= data[0]; | 
| 139 | 
  | 
            tmpData.zpos = data[1]; | 
| 161 | 
  | 
        data[0] = j->fz; | 
| 162 | 
  | 
        data[1] = j->zpos; | 
| 163 | 
  | 
        data[2] = j->param.zTargetPos; | 
| 164 | 
< | 
        MPI_Send(&zmolIndex, 1, MPI_INT, masterNode, 0, MPI_COMM_WORLD); | 
| 165 | 
< | 
        MPI_Send(data, 3, MPI_REALTYPE, masterNode, 0, MPI_COMM_WORLD); | 
| 164 | 
> | 
        MPI::COMM_WORLD.Send(&zmolIndex, 1, MPI::INT, masterNode, 0); | 
| 165 | 
> | 
        MPI::COMM_WORLD.Send(data, 3, MPI::REALTYPE, masterNode, 0); | 
| 166 | 
  | 
             | 
| 167 | 
  | 
      } | 
| 168 | 
  | 
    } |