On 12/07/2013 01:15 PM, Roy Stogner wrote:
>
> On Fri, 6 Dec 2013, David Knezevic wrote:
>
>> I'm using a PointLocator to copy a solution onto a boundary mesh,
>
> In theory on modern libMesh you ought to be able to do this much more
> efficiently (O(N) instead of O(N log N)) with the
> Elem::interior_parent() pointers.

Oh, that's a great point! I forgot about interior_parent... thanks!


>
>> 3. loop over the nodes and elements of boundary_mesh and use
>> point_locator from 2 to find out which element each node and element
>> belongs to, and then copy the solution over to a system defined on the
>> boundary mesh
>>
>> This worked well. But then I ran into some problems when I did the above
>> several times in a row with different surface_ids. In this case the
>> PointLocator seemed to grind to a halt.
>
> Could you attach a debugger and figure out more specifically what was
> going wrong?  E.g. if it's infinite looping, where?

Yeah, I would need to debug this further. I should make a minimal test 
case and run it through the debugger. But this is probably all moot now 
anyway, due to your suggestion of interior_parent.


>
>> I then added "system.get_mesh().clear_point_locator()" in step 2 before
>> the call to sub_point_locator, and that fixed the issue.
>
> In theory the only time we should ever need to get new point locators
> is after the mesh clears the old master locator itself, which should
> only happen when the mesh changes...

OK, good to know.

Thanks,
David


------------------------------------------------------------------------------
Sponsored by Intel(R) XDK 
Develop, test and display web and hybrid apps with a single code base.
Download it for free now!
http://pubads.g.doubleclick.net/gampad/clk?id=111408631&iu=/4140/ostg.clktrk
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to