Guys,

I met this error when I try to determine if a point is inside an element
using the function constains_point(). I tracked the code using the
dbg version and found that this happened when computing the
FE::inverse_map(), in which it calls TypeTensor::inverse() and leads to
Jacobian = 0. Here are the error messages:

Assertion `my_det != static_cast<T>(0.)' failed.

my_det = 0

static_cast<T>(0.) = 0


Stack frames: 12

0: 0   libmesh_dbg.0.dylib                 0x000000010b72db6c
libMesh::print_trace(std::ostream&) + 472

1: 1   libmesh_dbg.0.dylib                 0x000000010b729122
libMesh::MacroFunctions::report_error(char const*, int, char const*, char
const*) + 387

2: 2   libmesh_dbg.0.dylib                 0x000000010bde82f2
libMesh::TypeTensor<double>::inverse() const + 666

3: 3   libmesh_dbg.0.dylib                 0x000000010b93c35a
libMesh::FE<3u, (libMesh::FEFamily)0>::inverse_map(libMesh::Elem const*,
libMesh::Point const&, double, bool) + 1250

4: 4   libmesh_dbg.0.dylib                 0x000000010b8a101d
libMesh::FEInterface::inverse_map(unsigned int, libMesh::FEType const&,
libMesh::Elem const*, libMesh::Point const&, double, bool) + 3725

5: 5   libmesh_dbg.0.dylib                 0x000000010bae6f18
libMesh::Elem::point_test(libMesh::Point const&, double, double) const +
1744

6: 6   libmesh_dbg.0.dylib                 0x000000010bae680a
libMesh::Elem::contains_point(libMesh::Point const&, double) const + 250

7: 7   example-dbg                         0x000000010b2e7fd2
libMesh::PointMesh<3u>::build_elem_neighbor_list() + 1158

8: 8   example-dbg                         0x000000010b2e8aae
libMesh::PointMesh<3u>::reinit() + 534

9: 9   example-dbg                         0x000000010b275e07
test_cell(libMesh::Parallel::Communicator const&) + 4146


I am curious why this happens. It seems to me that J can be zero when the
volume of an element is zero. But I let elem->volume() to compute the
volume value of each element, none of those are zeros!

Also, I am using the second order Hex27 element, can this be caused by the
unconvergence of newton iteration? Thanks a lot.


-Xujun
------------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to