Software Header

A problem with many classic numerical analysis codes is that the solution of an analysis is given in terms of the values at a certain set of discrete points (e.g. nodal locations or integration points). However the discretization actually has more information about the interpolations that were used in the analysis. Therefore, without knowing the specifics of the analysis code it is impossible to reconstruct the interpolations used and one can not define the values at general locations given just the discrete values. This makes the use of the solution in a subsequent step in the analysis (e.g. error estimation, or as an attribute for another analysis) difficult at best and ambiguous in general. To avoid this problem, this information is preserved by introducing a construct known as a field. A field describes the variation of a tensorial quantity over one or more entities in a domain model. The spatial variation of the field is defined in terms of distributions defined over the domain discretization (typically a mesh). Interpolations are one of the possible, and most common, forms of distributions.

An distribution defines the variation of a tensor over the domain described by a mesh entity. The basic functionality of a distribution is to provide evaluations of the distribution field or its spatial derivatives within the domain of the interpolation. Each distribution has associated with it a local coordinate system and evaluations of the distribution are done with respect to that local coordinate system. Often the degrees of freedom that the distribution interpolates are stored on the mesh entities. When interpolations are continuous the shared degrees of freedom on the lower order mesh entities automatically enforce this continuity.