Mesh function basis Application Object


A Mesh_function_basis is a Maths_function that has:

NOTE - A Mesh_function_basis is used such that the domain is a parametric space that identifies points within a cell of a mesh. Hence the dimension of the real tuple space shall be the same as the topological dimension of the cell.

Each table function in the range of a Mesh_function_basis has:

NOTE - A Mesh_function_basis is used such that

Each table function specifies the weightings for control values that define the value of a Mesh_function at a point within a cell.

EXAMPLE - There is bi-linear interpolation/extrapolation from Gauss points for each cell of the mesh shown in Figure 1. The Mesh_function_basis these cells has:

EXAMPLE - There is bi-linear interpolation from vertices for each cell of the mesh shown in Figure 2. The Mesh_function_basis these cells has:

*)
ENTITY Mesh_function_basis;
  SUBTYPE OF (Maths_functon);
  cell_topological_dimension :  INTEGER;
  control_value_array_dimension :  INTEGER;
  control_value_array_order :  ARRAY[1,control_value_array_dimension] OF INTEGER;
  control_value_positions :  Table;
END_ENTITY;
(*

Attribute definitions:

cell_topology_dimension: the dimension of the real tuple space that is the domain of the Mesh_function_basis.

control_value_array_dimension: the dimension of the subscript space for each table function in the range of the Mesh_function_basis.

control_value_array_order: the number of control values - 1 for each control value array direction.

control_value_positions: the table that specifies the 'positions' of the control values within the domain of the Mesh_function_basis. The 'position' of a control value is the point within the domain that has a weighting of 1.0 for that control value and a weighting of 0.0 for all other control values.

The control_value_positions table shall be a function that has:

A control value for a Mesh_function_basis need not have a position. Whether or not a control value has a position is determined by the nature Mesh_function_basis. If a control value does not have a position, then the corresponding value of the control_value_positions function is of no significance.

Informal propositions:

consistent_cell_topology_dimension: The cell_topology_dimension shall be the same at the topological_dimension of any topological_region to which the Mesh_function_basis is assigned.

consistent_control_value_position_table_domain: The domain of the table of control value positions shall be consistent with the control_value_array_order. It shall be the tuple space that is the Cartesian product of integer intervals [1, n1]´[1, n2]´ ...[1, nm], where:

consistent_control_value_position_table_range: The dimension of the tuple space that is the range of the table of control value positions shall be equal to the cell_topology_dimension.

valid_weighting_at_control_value_position: If a control value is assigned to a position, then the value of the Mesh_function_basis at that position shall be: