93 |
|
atoms = entry_plug->atoms; |
94 |
|
|
95 |
|
p_ext = targetPressure * p_units; |
96 |
< |
p_mol = p_int; |
96 |
> |
p_mol = p_int * p_units; |
97 |
|
|
98 |
|
entry_plug->getBox(oldBox); |
99 |
– |
|
99 |
|
volume = oldBox[0]*oldBox[1]*oldBox[2]; |
100 |
|
|
101 |
|
ke_temp = ke * e_convert; |
106 |
|
epsilonDot += dt * ((p_mol - p_ext) * volume / |
107 |
|
(tauRelax*tauRelax * kB * targetTemp) ); |
108 |
|
|
110 |
– |
|
111 |
– |
std::cerr << "p_mol = " << p_mol << " p_ext = " << p_ext << " volume = " << volume << " tauRelax = " << tauRelax << "\n"; |
112 |
– |
|
113 |
– |
|
109 |
|
// determine the change in cell volume |
110 |
|
scale = pow( (1.0 + dt * 3.0 * epsilonDot), (1.0 / 3.0)); |
111 |
|
|
127 |
|
zeta += dt * ( (ke_temp*2.0 - NkBT) / qmass ); |
128 |
|
zetaScale = zeta * dt; |
129 |
|
|
130 |
< |
std::cerr << "zetaScale = " << zetaScale << "epsilonScale = " << epsilonScale << "\n"; |
130 |
> |
std::cerr << "zetaScale = " << zetaScale << " epsilonScale = " << epsilonScale << "\n"; |
131 |
|
|
132 |
|
// apply barostating and thermostating to velocities and angular momenta |
133 |
|
for(i = 0; i < entry_plug->n_atoms; i++){ |
166 |
|
double r[3]; |
167 |
|
double boxNum[3]; |
168 |
|
double percentScale[3]; |
169 |
+ |
double delta[3]; |
170 |
|
double rxi, ryi, rzi; |
171 |
|
|
172 |
|
molecules = entry_plug->molecules; |
179 |
|
for (i=0; i < entry_plug->n_mol; i++) { |
180 |
|
|
181 |
|
molecules[i].getCOM(r); |
182 |
< |
|
182 |
> |
|
183 |
|
// find the minimum image coordinates of the molecular centers of mass: |
184 |
|
|
185 |
|
boxNum[0] = oldBox[0] * copysign(1.0,r[0]) * |
200 |
|
ryi += ryi*percentScale[1]; |
201 |
|
rzi += rzi*percentScale[2]; |
202 |
|
|
203 |
< |
r[0] = rxi + boxNum[0]; |
204 |
< |
r[1] = ryi + boxNum[1]; |
205 |
< |
r[2] = rzi + boxNum[2]; |
203 |
> |
delta[0] = r[0] - (rxi + boxNum[0]); |
204 |
> |
delta[1] = r[1] - (ryi + boxNum[1]); |
205 |
> |
delta[2] = r[2] - (rzi + boxNum[2]); |
206 |
|
|
207 |
< |
molecules[i].moveCOM(r); |
207 |
> |
molecules[i].moveCOM(delta); |
208 |
|
} |
209 |
|
} |