[cgma-dev] [Meshkit-dev] Inconsistency in getEntities for iGeom interface. Causes problems in iRel.

Tim Tautges timothy.tautges at cd-adapco.com
Fri Jun 13 15:53:45 CDT 2014


ACIS Body, the gift that keeps on giving :).

I think both MOAB and MeshKit should be modified to always do things (geom_topo sets, MeshKit ModelEnts, etc.) based on 
RefVolumes.  And, take Body entities from CGM and automatically make them entity sets in MOAB, *containing* (not having 
as children) the volumes in them, and also mark them with the "Body" category tag.  Then MK won't consider Body entities 
as ModelEnts, and iRel should work as before.  IIRC, we went straight to volumes in MOAB's cgm reader.

- tim

On 06/13/2014 01:23 PM, Patrick Shriwise wrote:
>
> Hi all,
>
> After a lot of investigation, I've discovered an inconsistency in the iGeom function getEntities() (line 1149
> iGeom_CGMA.cc). This problem can actually be seen throughout the file iGeom_CGMA.cc file, but I'm using getEntities as
> an example.
>
> When entities are loaded from a standard geom EntSet (or a group), CubitEntities are returned.
>
> However, when querying from the root_set, RefEntities are returned.
>
> In most cases this seems to be ok, except for the case of Volumes. When volumes are queried at the with the root_set as
> the set_handle, the RefEntitiy for the body that contains that volume is returned. However, if a volume (not the body it
> belongs to) is added to an EntSet or Group, the volume CubitEntity will be returned from iGeom's getEntities.
>
> This causes problems in iRel when trying to populate groups in other software (to be specific, Meshkit). When ModelEnts
> are created upon loading a file they are created for the bodies, meaning that iRel associates a meshset with the bodies.
> Then upon populating groups that contain volumes, iRel cannot find a relation between the geom Entity and the mesh
> EntitySet for the volume.
>
> So..... I'm not really clear as to whether or not this is a problem with returning CubitEntities vs. RefEntities or if
> its a more conceptual issue cause by the different EntityType definitions between CGM and iGeom, shown below.
>
> const char *iGeom_entity_type_names[] = {"vertex", "curve", "surface", "body"};
> const char *cgm_type_names[] = {"vertex", "curve", "surface", "volume", "body"};
>
> What's the best way to remedy this? Is there a way to get volumes within bodies via iGeom?
>
> --
> Patrick C. Shriwise
> Research Assistant
> University of Wisconsin - Madison
> Engineering Research Building - Rm. 428
> 1500 Engineering Drive
> Madison, WI 53706
> (608) 446-8173
>
>
>
> _______________________________________________
> Meshkit-dev mailing list
> Meshkit-dev at mcs.anl.gov
> https://lists.mcs.anl.gov/mailman/listinfo/meshkit-dev
>

-- 
Timothy J. Tautges
Manager, Directed Meshing, CD-adapco
Phone: 608-354-1459
timothy.tautges at cd-adapco.com


More information about the cgma-dev mailing list