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
