svalinn / DAGMC

Direct Accelerated Geometry Monte Carlo Toolkit
https://svalinn.github.io/DAGMC
Other
96 stars 63 forks source link

Add information on representation of metadata and topological relationships #861

Open pshriwise opened 1 year ago

pshriwise commented 1 year ago

There is some information in the developer's guide on what information exists in our .h5m files regarding metadata (meaning material/temperature assignments, boundary conditions, etc.).

It would be useful to developers to describe in more detail what tags are used (CATEGORY_TAG, GEOM_DIM, etc.), how the metadata is organized in the file ("Group" EntitySet's are tagged with X and contain Y).

Similarly, it would be useful for the developer's guide to contain information on how topological relationships are represented (parent-child relationships) and what each entity set requires to be recognized as a geometric entity (category tag and geom dim tag).

pshriwise commented 1 year ago

Adding an inventory of the tags we use to store topological information and metadata:

dagmc

Geometry

Tag Name Type Real Type Size Purpose Tagged On
GLOBAL_ID MB_TYPE_INT int 1 Value of an ID associated with a geometric EntitySet. EntitySet
GEOM_SENSE_2 EntityHandle uint64_t 2 Relates a surface to the two volumes on either side of the surface. An entry in the first position indicates tht the surafce has a sense that is forward with respect to the volume EntityHandle in that position. An entry in the second position indicates that the surface has a sense reversed with respect to the volume EntityHandle in that position.
GEOM_SENSE_N_ENTS EntityHandle uint64_t N Relates a curve to any topologically adjacent surface EntitySets. EntitySet
GEOM_SENSE_N_SENSES MB_TYPE_INT int N Curve sense data correllated with the GEOM_SENSE_N_ENTS information. Values are 1 for a forward senses and -1 for reversed senses. EntitySet
CATEGORY MB_TYPE_OPAQUE char 32 The geometric category of an EntitySet. One of "Vertex", "Curve", "Surface", "Volume", or "Group" EntitySet
GEOM_DIM MB_TYPE_INT int 1 The dimensionality of a geometric EntitySet. See table below for meaning of values. EntitySet
NAME MB_TYPE_OPAQUE char 32 A name assigned to an EntitySet. Use to indicate material assignments, boundary conditions, temperatures, and the implicit complement on EntitySet's with a CATEGORY tag whose value is "Group" EntitySet
Geometry Object Dimensionality
Vertex 0
Curve 1
Surface 2
Volume 3
Group 4

Tree Structures

Tag Name Type True Type Size Purpose Tagged On
OBB_ROOT EntityHandle uint64_t 1 This tag resides on geometric EntitySet's. Its value is the handle of the associated OBB tree root EntitySet. EntitySet
OBB_GSET EntityHandle uint64_t 1 This tag resides on OBB tree root EntitySet's. Its value is the handle of the associated geometric EntitySet. EntitySet
OBB MB_TYPE_DOUBLE double 9 This tag resides on EntitySets in an OBB tree. The value of this tag is nine doubles representing the oriented bounding box for this EntitySet-node in the tree. EntitySet
pshriwise commented 1 year ago

Also linking in this set of slides that covers some of this as well as EntitySet relationships.

https://docs.google.com/presentation/d/10m8e6GN8DhLpNHHSOMniZ2pDU9DOAiD0xJF1Zyewzh8/edit?usp=sharing