libsff

Home Modules Examples

CCMIO Hierarchy


The CCMIO API presupposes a certain conceptual layout of the data.  This layout is consists of a hierarchical collection of entites. Each entity stores a particular type of information and is decribed below:
hierarchy.png
All entities are conceptually of the same nature and are often interchangeable. Ideally the API would provide one general set of functions for handling entites. However some entites must be referred to by a specific name or number. Because of C's strict typing system it is necessary to divide entities into several types: regular entities, indexed entities, and special entities. Regular entities do not have any identifying information visible outside the API. For instance, each map is indistiguishable (but not interchangeable!) from another map as far as the API is concerned. Indexed entities are referred to by a user-specified ID. They are marked with a blue number on the diagram. Indexed entities are created with CCMIONewIndexedEntity() and are retrieved with CCMIOGetEntity() or, probably more commonly, with CCMIONextEntity(). The special entities contain information that is conceptually part of the entity itself and they are created and retrieved with special functions CCMIONew*(), CCMIOGet*(), where * is the entity type name. Special entities are marked with thick borders.

Some entities contain references to other entities. The border of the referrer is colored the color as the text of the referree.

The entity type names are taken from the CCMIO specification. Although they are largely self-explanatory, a more complete description of several entities follows:
State Each state describes everything necessary to solve a mesh at a given instant in time.  Multiple states will be required for moving or morphing meshes.
Processor Contains the mesh, solution, and initial conditions for the state.
Field Set A field set is the collection of post data. It may (and probably will) contain many fields.
Field One post data variable (e.g. "Pressure").
Field Data Either the cell, vertex, or face values for a particular post data variable.
Map The map converts a data index into an ID. For instance given vertex data { (0, 0, 0), (0, 1, 0), (1, 1, 0) } and the map { 3, 1, 4 }, we know that

      Vertex 1    (0, 1, 0)
      Vertex 3    (0, 0, 0)
      Vertex 4    (1, 1, 0)

Generated on Mon Dec 13 16:20:26 2004 for libccmio by doxygen 1.3.6