# | Line 36 | Line 36 | |
---|---|---|
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). | |
39 | < | * [4] Vardeman & Gezelter, in progress (2009). |
39 | > | * [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). |
40 | > | * [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). |
41 | */ | |
42 | ||
43 | #include <algorithm> | |
# | Line 98 | Line 99 | namespace OpenMD { | |
99 | output_ << i->mol->getGlobalIndex() <<"\t" << i->fz << "\t" << i->zpos << "\t" << i->param.zTargetPos <<std::endl; | |
100 | } | |
101 | #else | |
102 | < | int nproc; |
102 | < | 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 | ||
# | Line 131 | Line 132 | namespace OpenMD { | |
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]; | |
# | Line 160 | Line 161 | namespace OpenMD { | |
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 | } |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |