DAGMC .h5m File Specification
The .h5m file is a generic file format supported by MOAB. These files may contain meshes intended for any number of purposes with various element types. Some basics regarding MOAB constructs is required to navigate following specification, namely EntitySet's' and Tag's. See the Glossary for more information on these items.
Geometric EntitySets¶
For an .h5m file to be used with DAGMC, EntitySet's that are "tagged" specific information must be present. Only EntitySet's that are tagged with the required information will be "seen" by the DAGMC interface. These tags are used to identify the geometric entities (volumes, surfaces, curves, and vertices) as well as their relationships to each other. Tags on geometric EntitySet's are also used to establish topological relationships. For example, the GEOM_SENSE_2 tag (described in the geom_tags table) is used to relate surfaces to the volumes on either side of the surface.The GEOM_DIM tag is used to indicate the dimensionality of the geometric EntitySet. See the geom_dim_table for valid entries for this tag.
Metdata EntitySets
To apply a DAGMC geometry in transport, certain properties need to be associated with the geometry. Examples of these properties include:
Material assignments
Boundary conditions
Temperatures
Tallies
Please refer to code-specific-steps for any properties that may be specific to the transport code you intened to use.
Tag Name |
Type |
Real Type |
Size |
Tagged On |
Purpose |
---|---|---|---|---|---|
GLOBAL_ID |
MB_TYPE_INT |
int |
1 |
EntitySet |
Value of an ID associated with a geometric EntitySet. |
GEOM_SENSE_2 |
EntityHandle |
uint64_t |
2 |
EntitySet |
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 |
EntitySet |
Relates a curve to any topologically adjacent surface `EntitySet`s. |
GEOM_SENSE_N_SENSES |
MB_TYPE_INT |
int |
N |
EntitySet |
Curve sense data correllated with the GEOM_SENSE_N_ENTS information. Values are 1 for a forward senses and -1 for reversed senses. |
CATEGORY |
MB_TYPE_OPAQUE |
char |
32 |
EntitySet |
The geometric category of an EntitySet. One of "Vertex", "Curve", "Surface", "Volume", or "Group" |
GEOM_DIM |
MB_TYPE_INT |
int |
1 |
EntitySet |
The dimensionality of a geometric EntitySet. See table below for meaning of values. |
NAME |
MB_TYPE_OPAQUE |
char |
32 |
EntitySet |
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" |
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 |
Topology¶
Every mesh-based geometry contains entity sets that are either volumes, surfaces, or curves. There are two types of relationships that can relate entities to other entities. The first is called a parent-child relationship. Volumes are parents to surfaces that make up that volume; surfaces are parents to curves; and curves are parents to the geometric vertices.
The second type of relationship is the set relationship, which is different from a parent-child relationship. Each surface and curve is an entity set. The surface entity sets contain the triangles and their vertices for that surface. The curve entity sets contain edges and their vertices. The volume entity sets, however, are empty. While a volume is parent to surfaces (the parent-child relationship), the volume does not contain any mesh entities.