Closed mcgratta closed 8 years ago
The function for computing the equilibrium condition is not very cheap. That is probably a good part of it. It is also likely I am not as efficient as I could be in the routine. As I continue to work on it, I'll look to see where I can get rid of unneeded loops.
I don't see how the GET_EQ function should depend on the number of particles. It works at the cell level, no?
On Thu, Apr 14, 2016 at 5:21 PM, Jason Floyd notifications@github.com wrote:
The function for computing the equilibrium condition is not very cheap. That is probably a good part of it. It is also likely I am not as efficient as I could be in the routine. As I continue to work on it, I'll look to see where I can get rid of unneeded loops.
— You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub https://github.com/firemodels/fds-smv/issues/3788#issuecomment-210153124
Indirectly there could be a dependence. GET_EQ operates on all cells with evaporating particles. If the increase in the number of particles for this case also has more cells with particles, then the cost of GET_EQ will go up.
I am closing this issue since a new approach for droplets has been implemented.
I know you're still working on this, but I found that
EQUILIBRIUM_MODEL
uses alot of CPU time, especially as the number of droplets increases. I've been running this case as the base case of a strong scaling test:For
EQUILIBRIUM_MODEL=.FALSE.
, the CPU time is:For
EQUILIBRIUM_MODEL=.TRUE.
, the CPU time is:I did not see anything in the new droplet routine that would lead to such a huge increase in CPU. Maybe you're looping over something twice?