Defining an Alias for an Exposed Output

There are some situations where referencing an exposed output of a localized container might be ambiguous. In particular, suppose you exposed the Overflow_Rate from the Reservoir in L2 on Container L1. How would you then reference this output from outside of L1?  L1.Overflow_Rate is already used (it refers to the output from the Reservoir in L1). The same problem would occur if you added another Reservoir element with a different name (e.g., R2) to L1 and exposed the Overflow_Rate on L1. Again, L1.Overflow_Rate is already used and is not available.

GoldSim solves this potential conflict by defining an alias for each exposed output. Whenever at least one output is exposed on a Container, an Exposed Outputs tab is added to the Container's property dialog:

If you hold the cursor over the Output field, a tool-tip showing the full path to the output is displayed.

The first column on this tab lists the full path of the output (which uniquely identifies it). The second column contains an alias. By default, the alias is the output name. When you reference an exposed output outside of a localized Container, it is not actually referenced as ContainerID.OutputID. Rather, it is referenced as ContainerID.Alias.

If you expose an additional output which has the same output name, GoldSim automatically appends a number to the alias.

In the example above, if you exposed the Overflow_Rate from Reservoir R2 on Container L1 after exposing the Overflow_Rate from Reservoir R1 on L1, then outside of L1, R2.Overflow_Rate would be referenced as L1.Overflow_Rate_2:

   Note: The aliases automatically created by GoldSim for outputs with the same name depend on the order in which the outputs are exposed. The alias of the first output with a particular name that is exposed is always the output name. GoldSim then adds numbers (beginning with 2) to each additional output with the same name that is exposed on the Container.

Although GoldSim automatically creates aliases, you can manually edit an alias if you wish (by clicking on it in the dialog). The same rules that apply for element names apply for aliases: Aliases can only include letters, numbers, and the underscore ("_") character. They cannot include spaces and must begin with a letter. Furthermore, for a given Container, no two exposed output aliases can be the same.

Related Topics…