From: John P. <jwp...@gm...> - 2012-06-19 19:58:04
|
On Tue, Jun 19, 2012 at 1:14 PM, John Peterson <jwp...@gm...> wrote: > On Tue, Jun 19, 2012 at 11:27 AM, Roy Stogner <roy...@ic...> wrote: >> >> Not sure what the best solution is. Add a sanity check by calculating >> xyz for the results of the inverse_map and making sure the distance >> from the original point is under tol*h_max? Seems unnecessarily >> expensive in 90% of case, but I suppose we'd only need to do the check >> in 1D and 2D cases. > > The attached patch implements this fix, it works for my simple test > case and a more involved one I have... > > It could be made a bit faster by adding an FEInterface::map() function > in the same vein as FEInterface::inverse_map() which forwards to > FE<Dim,T>::map(). This seems like it would also be a useful feature > in general... OK, FEInterface::map() is added and Elem::point_test() uses it. Considering that Elem::point_test() already contains a call to FEInterface::inverse_map(), adding one more call to FE::map() makes it only trivially more expensive... -- John |