[MOAB-dev] Order of the nodes in get_connectivity

Vijay S. Mahadevan vijay.m at gmail.com
Wed Sep 23 11:10:46 CDT 2020


> I'm interested in polyhedra in general. I noticed MOAB already has
> entity types for tetrahedra, hexahedra, pyramids and prisms, besides one
> for generic polyhedra.

There aren't general methods to compute the volume of the polyhedra,
but you can perform a quick local tessellation and loop over the
tetrahedra to accumulate the total volume. This should work quite well
as long as the polyhedra is convex.

Vijay

On Wed, Sep 23, 2020 at 10:38 AM Filipe Antônio Cumaru Silva Alves
<facsa at cin.ufpe.br> wrote:
>
> Hi Vijay,
>
> > Are you asking specifically about how to look at the numbering for the
> > nodes in each element type ?
> I was wondering if get_connectivity returns the nodes ordered by some
> spacial criterion. For example, given a pyramid formed by the nodes with
> coordinates (x,y,z) below
>
> [(0,1,0), (1,0,0), (1,1,0), (0,0,0), (0.5, 0.5, 1)]
>
> Calling get_connectivity would return the corresponding EntityHandles of
>
> [(0,0,0), (1,0,0), (0,1,0), (1,1,0), (0.5,0.5,1)]
>
> in this order.
>
> > Again, what element types are you interested in?
>
> I'm interested in polyhedra in general. I noticed MOAB already has
> entity types for tetrahedra, hexahedra, pyramids and prisms, besides one
> for generic polyhedra.
>
> > You can look at the methods exposed by verdict.h and use the area
> > calculation method corresponding to your element.
> Thanks, that slipped under the radar. It'll be very useful.
>
>
> Once again, many thanks.
>
> Filipe
>
> On 22/09/2020 16:36, Vijay S. Mahadevan wrote:
>
> > Hi Filipe,
> >
> > Are you asking specifically about how to look at the numbering for the
> > nodes in each element type ? These are available in the CN (Canonical
> > Numbering) class [1]. If you are looking at numbering for specific
> > element types, you can look more closely at the mConnectivityMap
> > declaration in [2].
> >
> >> 1. Is there a method from MOAB to calculate areas and volumes?
> > There are examples that do this. Again, what element types are you
> > interested in?
> >
> > You can look at the methods exposed by verdict.h and use the area
> > calculation method corresponding to your element.
> >
> >> 2. How are the nodes ordered in the get_connectivity method?
> > The ordering in the get_connectivity uses the internal MOAB numbering
> > in the local space.
> >
> > Vijay
> >
> > [1] https://ftp.mcs.anl.gov/pub/fathom/moab-docs-develop/CN_8cpp.html
> > [2] https://ftp.mcs.anl.gov/pub/fathom/moab-docs-develop/MBCNArrays_8hpp_source.html
> >
> > On Tue, Sep 22, 2020 at 1:44 PM Filipe Antônio Cumaru Silva Alves
> > <facsa at cin.ufpe.br> wrote:
> >> Hello,
> >>
> >> I'm developing a tool for multiscale mesh preprocessing using MOAB and
> >> I'm currently working on a method to calculate areas and volumes for the
> >> mesh elements. This task depends on the order of the nodes returned by
> >> the get_connectivity method. However, I can't find any information in
> >> the documentation on how the nodes are sorted other than the definition
> >> (here
> >> <https://ftp.mcs.anl.gov/pub/fathom/moab-docs-develop/classmoab_1_1ElementSequence.html#a918f9016130f7b0d7e3598dda2984430>)
> >> and the implementation (here
> >> <https://ftp.mcs.anl.gov/pub/fathom/moab-docs-develop/classmoab_1_1UnstructuredElemSeq.html#af0d6d48f8d60cd82a1a8abc3a7d433ca>).
> >>
> >> Thus, I have two questions:
> >>
> >>   1. Is there a method from MOAB to calculate areas and volumes?
> >>   2. How are the nodes ordered in the get_connectivity method?
> >>
> >>
> >> Many thanks,
> >>
> >> --
> >> Filipe Antônio Cumaru Silva Alves
> >>
>


More information about the moab-dev mailing list