Roy Stogner <[email protected]> wrote on 06/08/2011 12:45:06 PM:
> > On Wed, 8 Jun 2011, David Andrs wrote: > > > > Would it be sufficient to change that assert from > > > libmesh_assert(last_local_idx < this->size()); > > > to > > > libmesh_assert(last_local_idx+1 <= this->size()); > > > ? > > > > Yes, it fixes the issue as well. > > Good to hear; that's in SVN now. > > Sorry about that. r4500 was an attempt to fix a bug in the > "processor N has 0 DoFs" corner case; I should have been looking > closely enough to see that there's be another bug if N=0. No problem at all. Thanks for such a quick fix. > > Mind if I ask how you cooked up a regression test that ended up > with 0 DoFs on proc 0? I've seen n_dofs-equal-0 cases come up when > partitioning M elements onto N>M processors, but I thought our > partitioners left the highest-numbered processors element-free in > those cases. And I've seen it come up when partitioning a fine mesh > then doing adaptive coarsening without load balancing, but there > shouldn't be any reason to skip load balancing on a non-ParallelMesh, > should there? This was actually a serial run with adaptivity and this bug poped out after first refinement when calling EquationSystems::reinit(). I'll try to replicate this behavior with pure libMesh calls and send it to you, it might be worth to include it into regression tests. -- David ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ Libmesh-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/libmesh-devel
