FieldInterfaceΒΆ

A field is data defined across a mesh domain. Fields consist of entries (scalar, vector, or tensor data) defined at either the cells or nodes of a mesh. An entry can be integers (either 32 bit or 64 bit) or floating point values (either single or double precision). Each entry in a field must be the same length (if the field represents scalar data, all nodes must have scalar data). Entries of a field are accessed using local entity IDs by calling void Field::value(int entity_id, void* data). Fields have a string description to help identify what the field represents.

Additional requirements are placed on fields based on their usage. For example, mesh adaptation plugins take a field as input that represents the target metric spacing. These metric fields must be 6 double precision numbers defined at each mesh node. The 6 numbers must be the upper triangular entries of the metric tensor at the node in row ordering.