ShrinkPyr shrinks pyramid cells or faces about their centroids, maintaining element values and connectivity. A copy is made of each element to be shrunken, maintaining its internal connectivity and element values. The coordinates of the element are then interpolated toward the element centroid. The centroid is computed as the average of all the element's vertices.

Levels above the one being shrunken are not changed. For instance, if faces are shrunk in a 3 layer (3D) pyramid, each 3D cell will connect to the same faces as before. The faces will be shrunken, so the cells will not be closed.


Port: Input
Type: Pyramid
Constraints: 2..-layer
Constraints: 1..-baseLat
Constraints: n-D compression
Constraints: n-compression type
The pyramid which is to be shrunk.


Port: Shrink Factor
Type: Dial

Port: Layer
Type: Option Menu
Menu Item: Cell
Menu Item: Face
Chooses whether to shrink cells (3D elements) or faces (2D elements).


Port: Shrunken
Type: Pyramid
Constraints: 2..-layer
Constraints: 1..-baseLat
Constraints: n-D compression
Constraints: unique..multiple-compression type
The shrunken pyramid is output in compressed form.


The "shrunken" pyramid may occupy much more memory than the original pyramid, because lower-level elements are not shared between the elements that are shrunken. For example, faces, edges and coordinates that are shared between cells cannot be shared if the cells are shrunken. Face data in the input, if present, must be copied for each unique face in the output. Coordinate data is unique, and must be supplied for each new output coordinate.

However, the output pyramid is always stored in compressed form, which may save storage if the input is not compressed. No duplication of edges will result, since the output is compressed at 2D for face shrinking and at 3D for cell shrinking.

As an example, if a 10x10x10 lattice is represented as a pyramid with cubical cells is shrunk at the cell level, the result has just as many elements and 5.8 times as many vertices. Faces and edges disappear, so there may be a saving if the input is uncompressed or is compressed below 3D.

Shrinking it at the face level does not affect the number of cells, cell-to-face connections, or faces. Face-to-edge connections are removed in the output, for a possible savings. It would increase the number of vertices by 9.7X.

Because the module expands and recompresses inputs compressed below the shrinking level (i.e., inputs compressed at the 1D level, as well as 2D-compressed input when cell shrinking is commanded), it may be expensive to shrink inputs of this form. The most efficient shrinking occurs when the input compression level equals the dimensionality of the shrinking to be performed.


LatToPyr, PyrToGeom.
[Documentation Home]
© The Numerical Algorithms Group Ltd, Oxford UK. 2000