I have found the bug for the broken regression tests: the simulations spend more time than the maximum time specified in the mpirun command. Removing timeout option, the regression tests are passed successfully. I'll fix it in a separate issue (see regression-tests#119 (closed))
The execution time has increased enormously in External field eval., so the changes introduced in !625 (merged) should be reviewed. It does not seem acceptable to increase the simulation time for a change of coordinate system so much. @sadr_m, @adelmann: any idea about this?
@sadr_m Maybe the problem is an excessive allocation of matrix_t rotation(3,3); in src/Algorithms/ParallelCyclotronTracker.cpp. Making rotation an member variable of Class
ParallelCyclotronTracker maybe solves the problem.
The execution time in Opal-cycl has not been increased significantly, but only in Opal-T. This is simple to check comparing timing results of regression tests before and afterBoostMatrix implementation.
The problem comes from ParallelTTracker::computeExternalFields, where different methods of CoordinateSystemTrafo are called. But I don't understand what has been changed in these methods to increase so much the computation time.
@adelmann and @ext-calvo_p
I created the branch 780-regression-tests-broken to address this issue. @ext-calvo_p Can you please remove 780-regression-tests-broken-2?
The problem may have been with the excessive memory allocation for matrix:boost. I changed the code in src/Algorithms/ParallelCyclotronTracker.cpp as Andreas suggested. I also modified the code for dot product between boost:matrix and vector, to not copy data from vector to boost:vector.
Now, the broken test cases (BeamLine-1, BeamLine-2 and PROSCAN-1) are working (passing) at least on my local device (which was failing before).
Please have a look and let me know what you think.