On Thu, 27 Apr 2017, Rossi, Simone wrote:

> The run times for 100 timesteps using AMR can be more than 10 times slower 
> than when using a fine uniform grid.
> For example, with a 16 x 16 x 16 uniform grid, 100 iterations take about 18 
> seconds with a single processor.

> With AMR, using a 2 x 2 x 2 grid and 3 levels of refinement, 100 iterations 
> take about 800 seconds.

I didn't really understand this sentence until I started to run your
code to test possible libMesh optimizations - you're running 3 levels
of refinement *per timestep*!?  That's pretty much guaranteed to be
inefficient; for nearly any transient PDE solve, the solution is never
going to change so much within a single time step that you'll want to
use more than one AMR step.

We probably violate this rule of thumb in the examples, which we
should fix to avoid misleading others, but in most cases you want to
think "time steps per adaptive step", not the other way around.

(there are exceptions, but in those cases you have to also be
exceptionally careful about how you do AMR; e.g. saving your previous
time step's error indicator so you don't accidentally coarsen too
soon)


I'm not complaining, though; your code really hammers the AMR code in
libMesh, which is exactly what we need for optimization purposes.
---
Roy

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to