Associating a role with a collection category¶

SAF_RoleConstants is a collection of related C preprocessor symbols defined in SAFrole.h.

Synopsis:

SAF_TOPOLOGY: This role is associated with collection categories whose purpose is to knit the fine grained topology of the mesh together.

SAF_PROCESSOR: This role is associated with collection categories whose purpose is to represent different processor’s pieces

SAF_BLOCK: This role is associated with collection categories whose purpose is to represent different blocks (regions of homogenous cell type)

SAF_DOMAIN: This role is associated with collection categories whose purpose is to represent different domains; fundamental quanta of a mesh that can be assigned to or, perhaps, migrate between, different processors.

SAF_ASSEMBLY: This role is associated with collection categories whose purpose is to represent parts in an assembly of parts.

SAF_MATERIAL: This role is associated with collection categories whose purpose is to represent materials.

SAF_SPACE_SLICE:

SAF_PARAM_SLICE:

SAF_ANY_ROLE: Wildcard role for searching

Description: The Role object is used in calls to saf_declare_category to associate a role with a collection category. We use the role of a collection category to hint at the purpose or intent of collections created of a given category. Some collections are used to represent processor pieces. Some are used to knit individual computational elements together into a mesh. Some are used to represent different materials, etc. The list of roles here is by no means complete.

Issues: It is unclear whether any routines in SAF will be or ought to be sensitive to the value of role or whether SAF simply passes the role around without ever interpreting it. There are two clear cases in which SAF itself might need to interpret the role; topology and boundary information. It might also be useful if SAF could interpret the processor role as this could help to make SAF knowledgeable about what pieces of the mesh are on which processors.

See Also: