Dear Libmesh developers, I found a problem with the mesh locator.
I created a 2nd order 2D mesh with gmesh software. When I run my code using this mesh, I'm getting an error with the PointLocator. Does PointLocator support QUAD9 elements? Bellow you can find output from my debugger. If you need the mesh to reproduce the problem, I can provide it. Thank you, Michael. Program received signal SIGFPE, Arithmetic exception. 0x00002aaab87a575c in libMesh::FE<2u, (libMesh::FEFamily)0>::inverse_map (elem=0x1f42750, physical_point=..., tolerance=9.9999999999999995e-08, secure=false) at src/fe/fe_map.C:1726 1726 dp(0) = (Ginv11*dxidelta + Ginv12*detadelta); Missing separate debuginfos, use: debuginfo-install glibc-2.17-260.el7.x86_64 hwloc-libs-1.11.8-4.el7.x86_64 hwloc-plugins-1.11.8-4.el7.x86_64 libfabric-1.7.0-1.el7.x86_64 libibumad-43.1.1.MLNX20180612.87b4d9b-0.1.45101.x86_64 libibverbs-41mlnx1-OFED.4.5.0.1.0.45101.x86_64 libmlx4-41mlnx1-OFED.4.5.0.0.3.45101.x86_64 libmlx5-41mlnx1-OFED.4.5.0.3.8.45101.x86_64 libnl3-3.2.28-4.el7.x86_64 libpciaccess-0.14-1.el7.x86_64 librdmacm-41mlnx1-OFED.4.2.0.1.3.45101.x86_64 libtool-ltdl-2.4.2-22.el7_3.x86_64 libxml2-2.9.1-6.el7_2.3.x86_64 numactl-libs-2.0.9-7.el7.x86_64 opensm-libs-5.3.0.MLNX20181108.33944a2-0.1.45101.x86_64 xz-libs-5.2.2-1.el7.x86_64 zlib-1.2.7-18.el7.x86_64 (gdb) p dxidelta $1 = -2.0365205457321792e+22 (gdb) p Ginv11 $2 = inf (gdb) p Ginv12 $3 = inf (gdb) p detadelta $4 = 1.0182602728660896e+22 (gdb) up #1 0x00002aaab8721e1b in libMesh::FEInterface::inverse_map (dim=2, fe_t=..., elem=0x1f42750, p=..., tolerance=9.9999999999999995e-08, secure=false) at src/fe/fe_interface.C:570 570 fe_with_vec_switch(inverse_map(elem, p, tolerance, secure)); (gdb) p p $5 = (const libMesh::Point &) @0x5131998: {<libMesh::TypeVector<double>> = {_coords = {1140, 1216, 0}}, <No data fields>} (gdb) p elem->type() $6 = libMesh::QUAD9 (gdb) p elem->point(0) $7 = (const libMesh::Point &) @0xbe79d0: {<libMesh::TypeVector<double>> = {_coords = {1073.919607848597, 1053.6736755206391, 0}}, <No data fields>} (gdb) p elem->point(1) $8 = (const libMesh::Point &) @0xd7c550: {<libMesh::TypeVector<double>> = {_coords = {1118.8895049213079, 1069.0910114055571, 0}}, <No data fields>} (gdb) p elem->point(2) $9 = (const libMesh::Point &) @0xc440d0: {<libMesh::TypeVector<double>> = {_coords = {1136.2480098839389, 1025.636099727888, 0}}, <No data fields>} (gdb) p elem->point(3) $10 = (const libMesh::Point &) @0xc57a50: {<libMesh::TypeVector<double>> = {_coords = {1091.286513287763, 998.03909901903012, 0}}, <No data fields>} (gdb) p elem->point(4) $11 = (const libMesh::Point &) @0xe34510: {<libMesh::TypeVector<double>> = {_coords = {1096.404556384952, 1061.3823434630981, 0}}, <No data fields>} (gdb) p elem->point(5) $12 = (const libMesh::Point &) @0xe345d0: {<libMesh::TypeVector<double>> = {_coords = {1127.5687574026231, 1047.3635555667231, 0}}, <No data fields>} (gdb) p elem->point(6) $13 = (const libMesh::Point &) @0xe34690: {<libMesh::TypeVector<double>> = {_coords = {1113.767261585851, 1011.8375993734591, 0}}, <No data fields>} (gdb) p elem->point(7) $14 = (const libMesh::Point &) @0xe34750: {<libMesh::TypeVector<double>> = {_coords = {1082.6030605681799, 1025.8563872698351, 0}}, <No data fields>} (gdb) p elem->point(8) $15 = (const libMesh::Point &) @0xe34810: {<libMesh::TypeVector<double>> = {_coords = {1105.0859089854021, 1036.609971418279, 0}}, <No data fields>} (gdb) (gdb) up #2 0x00002aaab889f5cf in libMesh::Elem::point_test (this=0x1f42750, p=..., box_tol=9.9999999999999995e-07, map_tol=9.9999999999999995e-07) at src/geom/elem.C:2406 2406 /*secure=*/ false); (gdb) #3 0x00002aaab889eec6 in libMesh::Elem::contains_point (this=0x1f42750, p=..., tol=9.9999999999999995e-07) at src/geom/elem.C:2321 2321 return this->point_test(p, TOLERANCE, tol); (gdb) #4 0x00002aaab8de5cc6 in libMesh::TreeNode<4u>::find_element (this=0x318a930, p=..., allowed_subdomains=0x0, relative_tol=9.9999999999999995e-07) at src/utils/tree_node.C:484 484 if ((*pos)->active() && (*pos)->contains_point(p, relative_tol)) (gdb) #5 0x00002aaab8de5eee in libMesh::TreeNode<4u>::find_element_in_children (this=0x31890c0, p=..., allowed_subdomains=0x0, relative_tol=9.9999999999999995e-07) at src/utils/tree_node.C:517 517 relative_tol); (gdb) #6 0x00002aaab8de5d27 in libMesh::TreeNode<4u>::find_element (this=0x31890c0, p=..., allowed_subdomains=0x0, relative_tol=9.9999999999999995e-07) at src/utils/tree_node.C:492 492 relative_tol); (gdb) #7 0x00002aaab8de5eee in libMesh::TreeNode<4u>::find_element_in_children (this=0x314d730, p=..., allowed_subdomains=0x0, relative_tol=9.9999999999999995e-07) at src/utils/tree_node.C:517 517 relative_tol); (gdb) #8 0x00002aaab8de5d27 in libMesh::TreeNode<4u>::find_element (this=0x314d730, p=..., allowed_subdomains=0x0, relative_tol=9.9999999999999995e-07) at src/utils/tree_node.C:492 492 relative_tol); (gdb) #9 0x00002aaab8de5eee in libMesh::TreeNode<4u>::find_element_in_children (this=0x313d2c0, p=..., allowed_subdomains=0x0, relative_tol=9.9999999999999995e-07) at src/utils/tree_node.C:517 517 relative_tol); (gdb) #10 0x00002aaab8de5d27 in libMesh::TreeNode<4u>::find_element (this=0x313d2c0, p=..., allowed_subdomains=0x0, relative_tol=9.9999999999999995e-07) at src/utils/tree_node.C:492 492 relative_tol); (gdb) #11 0x00002aaab8de5eee in libMesh::TreeNode<4u>::find_element_in_children (this=0x3132c20, p=..., allowed_subdomains=0x0, relative_tol=9.9999999999999995e-07) at src/utils/tree_node.C:517 517 relative_tol); (gdb) #12 0x00002aaab8de5d27 in libMesh::TreeNode<4u>::find_element (this=0x3132c20, p=..., allowed_subdomains=0x0, relative_tol=9.9999999999999995e-07) at src/utils/tree_node.C:492 492 relative_tol); (gdb) #13 0x00002aaab8de5eee in libMesh::TreeNode<4u>::find_element_in_children (this=0x3132df0, p=..., allowed_subdomains=0x0, relative_tol=9.9999999999999995e-07) at src/utils/tree_node.C:517 517 relative_tol); (gdb) #14 0x00002aaab8de5d27 in libMesh::TreeNode<4u>::find_element (this=0x3132df0, p=..., allowed_subdomains=0x0, relative_tol=9.9999999999999995e-07) at src/utils/tree_node.C:492 492 relative_tol); (gdb) #15 0x00002aaab8ddd67e in libMesh::Tree<4u>::find_element (this=0x3132de0, p=..., allowed_subdomains=0x0, relative_tol=9.9999999999999995e-07) at src/utils/tree.C:152 152 return root.find_element(p, allowed_subdomains, relative_tol); (gdb) #16 0x00002aaab8d81ac7 in libMesh::PointLocatorTree::operator() (this=0x3132af0, p=..., allowed_subdomains=0x0) at src/utils/point_locator_tree.C:207 207 this->_element = this->_tree->find_element (p,allowed_subdomains); (gdb) _______________________________________________ Libmesh-users mailing list Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users