On Mon, Jul 18, 2016 at 12:13 PM, Roy Stogner <royst...@ices.utexas.edu>
wrote:

>
> On Mon, 18 Jul 2016, Xujun Zhao wrote:
>
> Yes, the points are not quad-points but arbitrary points, which are moving
>> particles in the domain. It mainly happened when the points are out of the
>> element.
>>
>
> Oh, yes, looking for points far outside an element can give you
> inverse map failures.  If you imagine extending the master->physical
> element map for, say, a QUAD4 trapezoid with one very narrow side on
> top, you can see how the map stops being invertible a little way above
> that top.  We avoid ever hitting many such cases because we precede
> the inverse_map with a bounding box test, but that's a performance
> optimization, not a guarantee of an invertible map.  We pass
> secure=false to inverse_map to, in theory, avoid screaming and dying
> when handling a case that might be expected to fail.
>
> Looks like there's a bug in the 3D case, though?  We rely on
> TypeTensor::solve() in the Newton iteration in 3D, but we *don't* warn
> solve() (or have a way to warn solve()?) that in the secure=false case
> we don't necessarily expect a solution to exist.
>

I can fix this.  The zero determinant asserts could be changed to
libmesh_error()'s (or explicit exception throws) and then we could catch
the exception in inverse_map().  It should be an "exceptional" case, so it
seems reasonable to me.

Other options would be to return an error code, or pass an extra flag to
TypeTensor::solve()?  In these cases you'd have to check the flag every
time...

-- 
John
------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev
_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to