A Composition_of_structured_mesh is a Composition_of_mesh that is between two instances of Structured_mesh.
The part can have the same dimension as the whole.
EXAMPLE - The structured mesh with 2 dimensions, and four cells in each dimension, is shown in Figure 1. The centre 4 cells is another structured mesh. The relationship between the two structured meshes is defined by:
- the lower corner array (2,2);
- (the lower face array is unused);
- the used dimensions array (1,2);
- the used dimension sense array (false, true).
The part can have a lower dimension than the whole.
EXAMPLE - The structured mesh with 2 dimensions, and four cells in each dimension, is shown in Figure 2. The indicated slice consisting of 4 cells edges is another structured mesh. The relationship between the two structured meshes is defined by:
- the lower corner array (3,2);
- the lower face array (false, unused);
- the used dimensions array (2);
- the used dimension sense array (false).
EXPRESS specification:
*) ENTITY Composition_of_structured_mesh SUBTYPE OF (Composition_of_mesh); SELF\part : Structured_mesh; SELF\whole : Structured_mesh; lower_corner : ARRAY[1,whole_dimension] OF INTEGER; lower_face : ARRAY[1,whole_dimension] OF OPTIONAL BOOLEAN; used_dimensions : ARRAY[1,part_dimension] OF INTEGER; used_dimension_sense : ARRAY[1,part_dimension] OF BOOLEAN; DERIVE whole_dimension : INTEGER := whole.dimension; part_dimension : INTEGER := part.dimension; END_ENTITY; (*
Attribute definitions:
part: the Structured_mesh that is a part of the whole.
whole: the Structured_mesh that contains the part.
lower_corner: the position of the cell in the whole that is closest to the origin of the whole; and that either:
The position of the cell specified with respect to each dimension of the whole.
lower_face: the side of the cell whole that is within the part.
The side is set for each dimension of the whole, as follows:
used_dimensions: the dimensions of the whole that are also dimensions of the part, in the order that they are used within the part.
used_dimension_sense: the sense for each dimension of the part as follows: