[MOAB-dev] AdaptiveKDTree and ElemEvaluator - problem with MBHEX
Grindeanu, Iulian R.
iulian at mcs.anl.gov
Fri May 12 22:39:05 CDT 2017
Hi Lukasz,
So how do you define your hex element? How many nodes does it have? mid-edge nodes, mid-face nodes or just an extra center node?
The hex27 is tested, but other combinations (or serendipity elements, like hex20) we do not test, I think
Iulian
________________________________________
From: moab-dev-bounces at mcs.anl.gov [moab-dev-bounces at mcs.anl.gov] on behalf of Lukasz Kaczmarczyk [Lukasz.Kaczmarczyk at glasgow.ac.uk]
Sent: Thursday, May 11, 2017 7:07 AM
To: moab-dev at mcs.anl.gov
Subject: [MOAB-dev] AdaptiveKDTree and ElemEvaluator - problem with MBHEX
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