Array compose

Here we describe the two expressions array_compose() and array_compose_with_bins

array_compose

The array_compose(var1,var2,var3,…,varN) expression is a very simple expression that takes a list of scalar mesh variables and composes them creating an array mesh variable. An array mesh variable is useful when using the label plot or when doing picks and wanting pick values to always return a certain selected set of mesh variables. But, all an array mesh variable really is is a convenient container to hold a group of individual scalar mesh variables.

Note, however, that the notion of containerization here does not manifest in the form of GUI sub-menus. That is, definining an array variable to VisIt does not create a GUI menu with the array variable's name and then sub-menu items underneath it with each scalar mesh variable's member name. Grouping of items in VisIt's GUI menus is handled defining variable pathnames much like a unix filesystem defines files at various pathnames.

array_compose_with_bins

The array_compose_with_bins(var1,var2,var3,…,varN[,bin1,bin2,…binN+1]) expression combines two related concepts. One is the array concept where a group of individual scalar mesh variables are grouped into an array variable container. The other is a set of coordinate values (you can kinda think of as bin boundaries), that should be used by VisIt for certain kinds of operations involving the array variable. If there are N variables in the array, there are N+1 coordinate values (or bin boundaries). When such a variable is picked using one of VisIt's pick operations, VisIt can display a bar-graph. Each bar in the bar-graph has a height determined by the associated scalar mesh variable (at the picked point) and a width determined by the associated bin-boundaries. For example, suppose you had an array variable, foo, composed of 5 scalar mesh variables, a1, a2, a3, a4, and a5 like so…

array_compose_with_bins(a1,a2,a3,a4,a5,0,3.5,10.1,10.7,12,22)

For any given point on the mesh, when you pick foo, there are 5 values returned, the value of each of the 5 scalar variable members of foo. And, if you arrange for a pick to return a bar-graph of the variable using the bin-boundaries, you get something that might look like…

Array compose with bins.png