From: Boyce G. <gri...@ci...> - 2017-04-28 20:18:33
|
> On Apr 28, 2017, at 11:40 AM, Roy Stogner <roy...@ic...> wrote: > > > 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 think what Simone wants is a "three level AMR grid", so that he is getting the same effective fine grid resolution with a 2x2x2 base grid as in the uniformly fine case. What is the correct way to initialize such a mesh and maintain it in a time-dependent model? Thanks, -- Boyce > 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 > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libmesh-users |