[MOAB-dev] AdaptiveKDTree and ElemEvaluator - problem with MBHEX

Vijay S. Mahadevan vijay.m at gmail.com
Fri May 12 20:25:42 CDT 2017


Hi Lukasz,

Can you provide more context ? Or perhaps provide a test case where we
can replicate the bug you are mentioning ? If you can also attach the
mesh that you are using (concise one I hope), at least that will give
us a starting point.

We may not have a unit test currently that checks the point-search
with a higher order mesh. Iulian, perhaps we should add one along
these lines.

Vijay

On Thu, May 11, 2017 at 7:07 AM, Lukasz Kaczmarczyk
<Lukasz.Kaczmarczyk at glasgow.ac.uk> wrote:
> Hello,
>
> I working with AdaptiveKDTree and ElemEvaluator it works ok for MBTET, however, I get a segmentation fault for MBHEX.
>
> The error is not critical for me I can work with the leaf, however, it will be good to know if you aware of this. In some time I can look for a fix in moab assuming that I do nothing wrong.
>
> It could be a problem that I have hex with HO node in the middle of volume? Although, It works for tetrahedrons.
>
> My code is,
>
>  rval = myTree->build_tree(level3D,&treeRoot); CHKERRQ_MOAB(rval);
>  boost::shared_ptr<ElemEvaluator> elemEval(myTree,new ElemEvaluator(&mwlsMoab));
>   myTree->set_eval(elemEval.get());
>
> and then
>
> CartVect params(material_coords);
> EntityHandle leaf_out;
>       rval = myTree->point_search(
>         material_coords,leaf_out,maxEdgeL*1e-5,maxEdgeL*1e-3,NULL,NULL,&params
>  ); CHKERRQ_MOAB(rval);
>
> Trace of error is here,
> libMOAB.0.dylib`moab::ElemEvaluator::find_containing_entity:
>     0x104b1b2b0 <+320>: testl  %eax, %eax
>     0x104b1b2b2 <+322>: je     0x104b1b1e0               ; <+112>
>     0x104b1b2b8 <+328>: jmp    0x104b1b2e1               ; <+369>
>     0x104b1b2ba <+330>: xorl   %eax, %eax
>
> error: libMOAB.0.dylib debug map object file '/Users/likask/MyBuild/moab-bitbucket/src/.libs/Range.o' has changed (actual time is 0x585d90e8, debug map time is 0x585d2e31) since this executable was linked, file will be ignored
> frame #2: 0x000000010473bba1 libMOAB.0.dylib`moab::AdaptiveKDTree::point_search(double const*, unsigned long&, double, double, bool*, unsigned long*, moab::CartVect*) + 785
> libMOAB.0.dylib`moab::AdaptiveKDTree::point_search:
>     0x10473bba1 <+785>: movl   %eax, %r13d
>     0x10473bba4 <+788>: leaq   -0x70(%rbp), %rdi
>     0x10473bba8 <+792>: callq  0x10481e590               ; moab::Range::clear()
>     0x10473bbad <+797>: testl  %r13d, %r13d
>
> frame #3: 0x00000001000f3692 mwls`CrackPropagation::MWLSApprox::getInfluenceNodes(this=0x00007fff5fbfc138, material_coords=0x00007fff5fbfb890, search_point=true) + 946 at CrackPropagation.cpp:4173
>    4170       // Find 3DENT clase to location
>    4171       CartVect params(material_coords);
>    4172       EntityHandle leaf_out;
> -> 4173       rval = myTree->point_search(
>    4174         material_coords,leaf_out,maxEdgeL*1e-5,maxEdgeL*1e-3,NULL,NULL,&params
>    4175       ); CHKERRQ_MOAB(rval);
>
>
> Kind regards,
> Lukasz
>
>
>


More information about the moab-dev mailing list