| 172 |
|
double r[3]; |
| 173 |
|
double boxNum[3]; |
| 174 |
|
double percentScale[3]; |
| 175 |
+ |
double delta[3]; |
| 176 |
|
double rxi, ryi, rzi; |
| 177 |
|
|
| 178 |
|
molecules = entry_plug->molecules; |
| 182 |
|
percentScale[1] = (newBox[1] - oldBox[1]) / oldBox[1]; |
| 183 |
|
percentScale[2] = (newBox[2] - oldBox[2]) / oldBox[2]; |
| 184 |
|
|
| 184 |
– |
std::cerr << "ps = " << percentScale[0] <<" " << percentScale[1] << " " << percentScale[2] << "\n"; |
| 185 |
– |
|
| 186 |
– |
|
| 185 |
|
for (i=0; i < entry_plug->n_mol; i++) { |
| 186 |
|
|
| 187 |
|
molecules[i].getCOM(r); |
| 197 |
|
boxNum[2] = oldBox[2] * copysign(1.0,r[2]) * |
| 198 |
|
(double)(int)(fabs(r[2]/oldBox[2]) + 0.5); |
| 199 |
|
|
| 202 |
– |
|
| 203 |
– |
std::cerr << "boxNum = " << boxNum[0] << " " << boxNum[1] << " " << boxNum[2] << "\n"; |
| 204 |
– |
|
| 200 |
|
rxi = r[0] - boxNum[0]; |
| 201 |
|
ryi = r[1] - boxNum[1]; |
| 202 |
|
rzi = r[2] - boxNum[2]; |
| 206 |
|
ryi += ryi*percentScale[1]; |
| 207 |
|
rzi += rzi*percentScale[2]; |
| 208 |
|
|
| 209 |
< |
r[0] = rxi + boxNum[0]; |
| 210 |
< |
r[1] = ryi + boxNum[1]; |
| 211 |
< |
r[2] = rzi + boxNum[2]; |
| 209 |
> |
delta[0] = r[0] - (rxi + boxNum[0]); |
| 210 |
> |
delta[1] = r[1] - (ryi + boxNum[1]); |
| 211 |
> |
delta[2] = r[2] - (rzi + boxNum[2]); |
| 212 |
|
|
| 213 |
< |
molecules[i].moveCOM(r); |
| 213 |
> |
molecules[i].moveCOM(delta); |
| 214 |
|
} |
| 215 |
|
} |