Identifier for Fields within a Grid. More...
#include <FieldID.hpp>
Identifier for Fields within a Grid.
Grid objects are home to Fields. Each field is accessible through its identifier, which is basically some arbitrary user-defined text. A few names such as "Positions" have particular meanings, otherwise it can be anything and using the full UTF-8 character encoding is encouraged.
A Field in the mathematical sense is more than just a single dataset and may be spread over many Grids. An example is a time evolution of a Field, or a Field given on different geometric instances, such as a 3D volume and a 2D surface. These multiple datasets can be identified through their same textual naming. The FieldID class provides an even stronger relation by allowing all these references to refer to the same instance of a text. Thus, it is even possible to rename all data sets by changing the name of the unique Field identifier. In this sense, the Field identifier takes the role of a mathematical instance of a field, whereas the respective datasets are the representations of the field in a certain discretization (the Grid object).
The FieldID identifier also allows to specify relationships among fields, such as telling that one field is dependant on another field. These properties may well be extended to cover some more semantics in the future.