# Subset Inclusion Lattice

This page gives an overview of VisIt's implementation of a Subset Inclusion Lattice, often referred to as a *SIL*.

(It has been culled from an existing publication, so the text doesn't read like a Wiki page.)

# Motivation

Simulations often decompose their data in a variety of ways: by files, by materials, by parts in an assembly, by processor pieces, by levels and patches in an AMR hierarchy, etc. In addition, there are often key subsets in the data, such as nodes and/or zones representing boundary conditions, slide surfaces, user-defined tracers and probes.

The SIL allows VisIt to represent these relationships.

# Description

The SIL incorporates concepts from graph theory and set theory and enables users, for example, to turn on and off certain materials or processor pieces in the display, or to vary the AMR resolution at which data is being displayed.

The SIL is in an encoding of subset relations in graph form. Strictly speaking, a SIL is a directed, acyclic graph of the inclusion (subset-of) relationships of partially ordered sets representing the join-irreducible infinite point-sets of some computational mesh (see "A Visualization Model Based on the Mathematics of Fiber Bundles", D. Butler and M. Pendley, Computers in Physics, volume 3, number 5, 1989, pages 45-51). While the SIL necessary to represent relationships for a visualization and analysis tool does not support this strict mathematical interpretation, it is similar in concept and is nonetheless called a SIL, although it might be more appropriate named a lite-SIL.

The SIL encodes relations between the sets (such as subset relations), as well as the corresponding category of a set (for example the aluminum set is a subset of the whole set using the material category). The SIL is a graph made up of two sets of nodes: one set corresponds to categories placed on the data, the other corresponds to subsets of the whole data set. Edges in the graph always are incident to both sets - describing relationships between subsets and defining the category of subset. Further, this makes our graph bipartite.

Now consider a more concrete example of this graph.

One node of the graph corresponds to the whole data set and it is referred to as the whole. *materials*
and *processors*, two category nodes, have directed edges to
*whole*. Under *processors*, there are many subset nodes,
*Proc X*, each one corresponding to the subset of the data set
from processor X. More subset nodes - *plastic*, *air*,
and *aluminum* - have directed edges to *materials*.