7 |
|
#include <unistd.h> |
8 |
|
#endif //is_mpi |
9 |
|
|
10 |
+ |
#ifdef PROFILE |
11 |
+ |
#include "mdProfile.hpp" |
12 |
+ |
#endif // profile |
13 |
+ |
|
14 |
|
#include "Integrator.hpp" |
15 |
|
#include "simError.h" |
16 |
|
|
178 |
|
|
179 |
|
// initialize the forces before the first step |
180 |
|
|
177 |
– |
std::cerr << "Before initial Force calc\n"; |
178 |
– |
|
181 |
|
calcForce(1, 1); |
182 |
|
|
183 |
|
if (nConstrained){ |
185 |
|
constrainA(); |
186 |
|
calcForce(1, 1); |
187 |
|
constrainB(); |
186 |
– |
std::cerr << "premove done\n"; |
188 |
|
} |
189 |
< |
|
189 |
< |
|
190 |
< |
|
189 |
> |
|
190 |
|
if (info->setTemp){ |
191 |
|
thermalize(); |
192 |
|
} |
202 |
|
statOut->writeStat(info->getTime()); |
203 |
|
|
204 |
|
|
206 |
– |
|
205 |
|
#ifdef IS_MPI |
206 |
|
strcpy(checkPointMsg, "The integrator is ready to go."); |
207 |
|
MPIcheckPoint(); |
213 |
|
calcStress = 1; |
214 |
|
} |
215 |
|
|
216 |
+ |
#ifdef PROFILE |
217 |
+ |
startProfile( pro1 ); |
218 |
+ |
#endif |
219 |
+ |
|
220 |
|
integrateStep(calcPot, calcStress); |
221 |
|
|
222 |
+ |
#ifdef PROFILE |
223 |
+ |
endProfile( pro1 ); |
224 |
+ |
|
225 |
+ |
startProfile( pro2 ); |
226 |
+ |
#endif // profile |
227 |
+ |
|
228 |
|
info->incrTime(dt); |
229 |
|
|
230 |
|
if (info->setTemp){ |
252 |
|
currReset += resetTime; |
253 |
|
} |
254 |
|
} |
255 |
< |
|
256 |
< |
std::cerr << "done with time = " << info->getTime() << "\n"; |
255 |
> |
|
256 |
> |
#ifdef PROFILE |
257 |
> |
endProfile( pro2 ); |
258 |
> |
#endif //profile |
259 |
|
|
260 |
|
#ifdef IS_MPI |
261 |
|
strcpy(checkPointMsg, "successfully took a time step."); |
274 |
|
template<typename T> void Integrator<T>::integrateStep(int calcPot, |
275 |
|
int calcStress){ |
276 |
|
// Position full step, and velocity half step |
277 |
+ |
|
278 |
+ |
#ifdef PROFILE |
279 |
+ |
startProfile(pro3); |
280 |
+ |
#endif //profile |
281 |
+ |
|
282 |
|
preMove(); |
283 |
|
|
284 |
< |
moveA(); |
284 |
> |
#ifdef PROFILE |
285 |
> |
endProfile(pro3); |
286 |
|
|
287 |
+ |
startProfile(pro4); |
288 |
+ |
#endif // profile |
289 |
|
|
290 |
+ |
moveA(); |
291 |
+ |
|
292 |
+ |
#ifdef PROFILE |
293 |
+ |
endProfile(pro4); |
294 |
+ |
|
295 |
+ |
startProfile(pro5); |
296 |
+ |
#endif//profile |
297 |
|
|
298 |
|
|
299 |
|
#ifdef IS_MPI |
310 |
|
strcpy(checkPointMsg, "Succesful doForces\n"); |
311 |
|
MPIcheckPoint(); |
312 |
|
#endif // is_mpi |
313 |
+ |
|
314 |
+ |
#ifdef PROFILE |
315 |
+ |
endProfile( pro5 ); |
316 |
|
|
317 |
+ |
startProfile( pro6 ); |
318 |
+ |
#endif //profile |
319 |
|
|
320 |
|
// finish the velocity half step |
321 |
|
|
322 |
|
moveB(); |
293 |
– |
|
323 |
|
|
324 |
+ |
#ifdef PROFILE |
325 |
+ |
endProfile(pro6); |
326 |
+ |
#endif // profile |
327 |
|
|
328 |
|
#ifdef IS_MPI |
329 |
|
strcpy(checkPointMsg, "Succesful moveB\n"); |