[MOAB-dev] Quadratic pyramid faces
Grindeanu, Iulian R.
iulian at mcs.anl.gov
Tue Nov 3 12:46:12 CST 2015
OK, thanks,
I reproduced the error by creating faces with get_adjacencies() method on the pyramid
Thanks,
Iulian
________________________________________
From: Jacob Hochhalter [Jacob.D.Hochhalter at nasa.gov]
Sent: Tuesday, November 03, 2015 12:25 PM
To: Grindeanu, Iulian R.; moab-dev at mcs.anl.gov
Subject: Re: [MOAB-dev] Quadratic pyramid faces
I'm attaching 2 moab files which correspond to before and after the
change to illustrate what I am getting.
Just generating the Pyramid13 will not induce the error, you will need
to add the element's faces to the moab database to see the error. To
provide some context, in our code, we have defined some volume elements
(quadratic pyramids, in this case), and then assemble a surface (as a
set of faces of elements).
Here is a snippet of code which should illustrate what we are doing when
the Tri7 and Quad7 types are generated by moab:
"facet_set" is the vector of element face entity handles being defined
"name" is just a string name to give the set
"
vector<EntityHandle> facet_set
EntityHandle set_hnd;
if (MB_SUCCESS != mb->create_meshset(MESHSET_SET, set_hnd, 0)) {
EXCEPT("'create_meshset' failed.");
}
name_map.insert(make_pair(name, set_hnd));
Tag tag_hnd;
if (MB_SUCCESS != mb->tag_get_handle(NAME_TAG_NAME,
NAME_TAG_SIZE,
MB_TYPE_OPAQUE, tag_hnd,
MB_TAG_SPARSE|MB_TAG_CREAT))
{ EXCEPT("'tag_get_handle' failed."); }
char buf[32] = {};
copy(name.begin(),
(name.size() >= 32 ? name.begin()+32 : name.end()), buf);
if (MB_SUCCESS != mb->tag_set_data(tag_hnd, &set_hnd, 1, buf))
{ EXCEPT("'tag_set_data' failed."); }
if (MB_SUCCESS != mb->add_entities(set_hnd, &facet_set[0],
(int) facet_set.size()))
{ EXCEPT("'add_entities' failed."); }
"
- Jake
On 11/03/2015 11:36 AM, Grindeanu, Iulian R. wrote:
> Hi Jake,
> Can you share the test you made for this issue?
> I did not reproduce the error, by just creating a 13 node pyramid.
> How did you create the pyramid?
> I probably missed something.
> Thanks,
> Iulian
> ________________________________________
> From: moab-dev-bounces at mcs.anl.gov [moab-dev-bounces at mcs.anl.gov] on behalf of Jacob Hochhalter [Jacob.D.Hochhalter at nasa.gov]
> Sent: Monday, November 02, 2015 3:35 PM
> To: moab-dev at mcs.anl.gov
> Subject: [MOAB-dev] Quadratic pyramid faces
>
> Hello,
>
> I'm working with moab 4.7, compiled during a petsc install, and have
> noticed some strange behavior with quadratic pyramids. I'll do my best
> to explain below, without writing too much - let me know if more detail
> is needed.
>
> Upon making a set of face entities, consisting of the quadrilateral
> faces on a pyramid, moab generates "Tri7" and "Quad7" faces. The Tri7
> faces consist of 3 corner nodes from a triangular face and the 4 midside
> nodes from the quadrilateral face. The Quad7 faces consist of the 4
> corner nodes from the quadrilateral face and 3 midisde nodes from a
> triangular face. Note, linear pyramids work fine. I figured that meant
> that there was some inconsistency in the face ordering and midside node
> ordering (for quadratic pyramids) and landed in MBCNArrays.hpp, after
> snooping around a bit. There I noticed that the face indexing does not
> match the documentation that I have been referring to
> (http://homepages.cae.wisc.edu/~tautges/papers/cnmev3.pdf). Upon making
> the change below, and rebuilding, the issue disappeared and moab
> generates "Tri6" and "Quad8" faces, as expected.
>
> The following code from lines 89-92:
> "
> // pyramid-face
> { 3, 5, {4,3,3,3,3}, {MBQUAD,MBTRI,MBTRI,MBTRI,MBTRI, MBMAXTYPE,
> MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
> MBMAXTYPE, MBMAXTYPE},
> {{0,3,2,1}, {0,1,4}, {1,2,4}, {2,3,4}, {3,0,4} } },
> "
>
> should be this (the 4th face should be the quadrilateral)
> "
> // pyramid-face
> { 3, 5, {3,3,3,3,4}, {MBTRI,MBTRI,MBTRI,MBTRI,MBQUAD, MBMAXTYPE,
> MBMAXTYPE, MBMAXTYPE, MBMAXTYPE, MBMAXTYPE,
> MBMAXTYPE, MBMAXTYPE},
> { {0,1,4}, {1,2,4}, {2,3,4}, {3,0,4}, {0,3,2,1} } },
> "
>
> Thanks,
> - Jake
More information about the moab-dev
mailing list