On Tue, 29 Jan 2008, Roy Stogner wrote:

> On Tue, 29 Jan 2008, David Knezevic wrote:
>
>> I was using flag_elements_by_nelem_target for an adaptive computation,
>> and the assert
>> assert(parent->has_children());
>> near the bottom of MeshRefinement::flag_elements_by_nelem_target failed.
>> It looks to me like the problem is that active elements don't get a flag
>> of -1 from the function MeshRefinement::create_parent_error_vector?
>>
>> I added a line
>> error_per_parent[elem->id()] = -1.0;
>> in the first element loop in MeshRefinement::create_parent_error_vector
>> (around line 186), and it worked OK. Does this sound like a correct
>> alteration?
>
> Yeah, that whole function regressed when I was playing around with it
> a while ago, and I didn't notice it until I started running more
> adaptive simulations last week.  I've got a fixed version in my local
> workspace, but I hadn't been in a hurry to commit it back to SVN yet
> since I thought I was the only one currently using it.  The bug
> actually isn't in flag_elements_by_nelem_target, it's in
> create_parent_error_vector in mesh_refinement.C.  I'll clean the
> debugging changes out of my code and commit the fix now.

Okay, it's committed.  You had 50% of the fix; the only other problem
I'd found was that Parallel::sum() turning error=-1 flags into
error=-n_proc.  Thanks,
---
Roy

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Libmesh-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-devel

Reply via email to