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.

So then I guess the reason you're getting a zero determinant is that,
for people who hit a positive determinant the iteration tends to work,
for people who hit a negative determinant the iteration diverges and
contains_point() reports false, but you managed to test a point right
on the cusp?
---
Roy

------------------------------------------------------------------------------
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