Viewing Element Dependencies

In complex models, it is often useful to explore the interdependencies of the various elements (i.e., who affects who). GoldSim provides two very powerful utilities for doing this: the Function Of View, and the Affects View. If you right-click on an element in either the graphics pane or the browser (to access the context menu) and select Function Of…, a floating window is displayed:

This is a specialized browser view of the model. It starts with the selected element, and only shows those elements which affect that element (i.e., those elements which the selected element is a function of). In the above example, “Pond2” is a function of one element: “Route_Overflow”. “Route_Overflow”, in turn, is a function of “Fraction_to_Pond2” and “Pond1”. “Pond1” is a function of “Inflow”, “Initial_Volume” and “Pond_Capacity”.

Similarly, if you select Affects… from the context menu, a window like this will be displayed:

This view of the model starts with the selected element, and only shows those elements which are a function of that element (i.e., those elements which the selected element affects).

In the above example, “Inflow” affects “Pond1”, which affects “Route_Overflow”, “Pond2” and “Pond3”.

   Note:  The Function Of… and Affects… options are only available if the element is either a function of other elements or affects other elements.

These two browser views have all the functionality of the regular browser (e.g., tool-tips, context menus). If you double-click on an element in one of these views, its property dialog is displayed.

In addition, the context menu for an item in the Function Of or Affects browser includes an option to immediately jump to the opposite view. That is, if you are viewing a Function Of list, you can right click on any element in the list, and immediately jump to the Affects list for the selected element.

By default, Function Of and Affects browser views are synchronized with the main browser (and hence the graphics pane). As a result, as you explore the interdependencies of the elements, you can simultaneously observe where they are located in the containment hierarchy.

   Note: If desired, you can turn off the synchronization by right-clicking on white space in the Function Of or Affects view (i.e., not on an element), and clearing the Synchronize option in the context menu.

Note that if you have defined a looping model, GoldSim will stop at the point of recursion. For example, if “Pond” is a function of “Evaporation”, and “Evaporation” is a function of “Pond”, the Function Of view for “Pond” would look like this:

If an element is a function of a locally-available property (such as a Run Property), the Function Of view will indicate that it is a function of the Container that "owns" the property (typically the Model Container):

In this example, Inflow_Rate is a function of ETime (a Run Property)

   Note: Result elements do not appear in the “Affects” list for elements that they reference. This is because unlike other elements in GoldSim, when you reference an output of an element within a Result element, it is not treated as a “link”. GoldSim provides other tools for navigating these kinds of connections.

The Function Of and Affects have a search field at the top. Enter a string and press the Search button to the left of the string (the magnifying glass) or press F3 to find the next item in the list that matches the search string. The search is not case-sensitive.

You can control where GoldSim searches by pressing Search Options…, which will display a dialog for selecting whether you want to search in IDs, Descriptions, and/or Notes.

   Note: These Search options are stored in the Windows Registry (so that once you change them, they will remain until you edit them again, even when editing other GoldSim files).

This ability to search the Function Of and Affects lists for an element can be very useful for answering questions like "Is Y a function of X?" or "Is Y affected by X?".

Related Topics…

Learn more about: