[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,¶ms
> ); 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,¶ms
> 4175 ); CHKERRQ_MOAB(rval);
>
>
> Kind regards,
> Lukasz
>
>
>
More information about the moab-dev
mailing list