Skinner seems wrong

Issue #137 resolved
In-hak Min created an issue

Hi all,

I am using moab::Skinner class for extract faces from Hex meshset.
but some meshset are can not extract faces exactly.
(.. Most solid meshset are can extract faces exactly)

Please look attachment.
This is a picture before using skinner.

This is a picture after using skinner.

Here is the code.

mb->get_entities_by_type(m_part_handle_mapper[part_id], moab::MBHEX, range);

moab::Range faces;
moab::Skinner skinner(mb);
bool verts_too = false;
ret = skinner.find_skin(0, range, verts_too, faces);

for( moab::Range::iterator it = faces.begin(); it != faces.end(); ++it ) {
const moab::EntityHandle* nodes;
int node_count;
ret = mb->get_connectivity( *it, nodes, node_count );
....
}

What is the problem?

Thank you.

Comments (14)

  1. Iulian Grindeanu

    can you convert the model in a format that we can read ? Can may try vtk or exodus , nastran, ansys? I don’t think we can convert LTSC format. (is this LS dyna?) What kind of elements are there? hex8 and shells (quad 4) ? Bars ?

    you may need to perform a “node merging”, if the model is not connected/conforming ; skinning is a topology operation; if you put together 2 hexes that are not connected, the skin will have 12 faces, not 11;

  2. In-hak Min reporter

    Thank you for your reply.
    You are right. This model is LSTC’s model and elements are all hex8 type.
    All nodes are merged already.
    I have converted to Exodus & Ansys model and replace the attachment.
    Please check this model why can't extract faces.

  3. Iulian Grindeanu

    not sure what is in your code/moab instance; you can try running outside with mbskin tool
    -m option will try to do merging of nodes that are too close to each other

    mbskin -m test.exo skin.vtk
    or just do this:
    mbskin test.exo skin2.vtk
    This is what I get

  4. In-hak Min reporter

    I have tested.
    But I got a strange situation.
    First I have read the LS-Dyna model from Altair HyperMesh and export new file.
    and reload in my program. and I got exactly outer faces.
    Is this problem with node connection ordering (CCW or CW)?

    Thank you.

  5. Iulian Grindeanu

    what is the problem? Are hexa elements oriented correctly ? MOAB does not check that, but you can compute volume of each hexa; faces on the skin should be oriented towards the exterior of hexa elements.

  6. In-hak Min reporter

    @Iulian Grindeanu I have tested and I found an error in my code.
    I am parsing pyramid type to hexa type in my LS-Dyna parser.
    so indices are twisted.

    This is pyramid. not hexa.

    546861 8
    10063 9829 10047 10091 10074 10074 10062 10062 0 0

    Thank you very much.

  7. Log in to comment