Rules for Using Arrayed Variables

As you begin the process of defining the arrayed variables in your models, there are certain rules you need to keep in mind. The software will not allow you to create arrayed stocks or flows that violate the following rules.

General Rules for Arrayed Variables:

a) A flow must be attached to at least one stock before it can be arrayed.

b) An inflow from a cloud to an arrayed stock will be given the same dimension(s) as the stock.

c) An outflow from an arrayed stock to a cloud will be given the same dimension(s) as the stock.

d) When a flow runs from one arrayed stock to a second arrayed stock, and the stocks have identical specification of their dimensions, the flow will be assigned the same dimensions as the stocks. a conserved flow (stock upstream and downstream) has arrayed stocks both upstream and downstream, and the stocks use the same Dimensions (in the same order - for two-dimensional Arrays), the flow will take on the same Dimensions.

e) When a flow runs from a one-dimensional stock to a second one-dimensional stock both upstream and downstream, but the stocks are not of the same dimension, the flow will become two-dimensional. The Dimensions will be assigned the order [upstream Dimension, downstream Dimension].

f) When a flow runs between a one-dimensional stock and a two-dimensional stock, and the Dimension for the one-dimensional stock is the same as one Dimension in the two-dimensional stock, the flow will be will take on identical dimensions to the the two-dimensional stock.

g) When a flow runs between two one-dimensional stocks and the stocks use the same Dimensions, the Cross Flows check box becomes accessible within the flow dialog. When cross flows is check, this flow will become two-dimensional, using the same Dimension Name twice. As a result, you will be able to distribute the entire contents of the upstream stock across the elements of the downstream stock.

Rules for Arrayed Variables that do not share the same dimensions:

Rules for Arrayed Conveyors, Ovens, and Queues:

Rules for Prioritization of outflows:

a) If you have a two-dimensional outflow from a non-arrayed Queue or non-negative Reservoir, the priorities of the flows are determined by the order of the Dimensions in the two-dimensional arrayed variable - the first Dimension gets first priority. In this case, if you have two Dimensions in the flow, where Dimension 1 = {a,b} and Dimension 2 = {x,y}, then flow priority will be [a,x], [a,y], [b,x], [b,y].

b) If you have an outflow from a one-dimensional Queue or non-negative Reservoir into a two-dimensional stock (the flow will be two-dimensional), the priorities of the flow out of any particular element are determined by the Dimension the two have in common. If there are not sufficient units in the one-dimensional stock and its inflow(s) to cover the demand for the two-dimensional outflow, the software will meet the demand as follows. Suppose the one-dimensional stock uses Dimension 1 (Dimension 1 contains elements {a,b}) and the two-dimensional flow contains Dimension 1 and Dimension 2 (Dimension 2 contains elements {x,y}). The priority for flows out of the one-dimensional stock's element a will be [a,x] then [a,y]. The priority for flows out of element b will be [b,x] then [b,y].

Using Arrays with Other Features:

Figure 11-15
Cycle-Time Measurement with Arrays