Courses: Introduction to GoldSim:

Unit 2 - Basic Concepts

Lesson 6 - Building Large, Hierarchical Models

Although some GoldSim models are very simple (such as the Exercises and Examples we will use in this Course), consisting of a small number of elements, complex GoldSim models can have hundreds or thousands of elements. In order to manage, organize and view such a model it is useful (in fact, essential) to group the elements into Containers. A Container is simply a collection of elements.

A Container can be thought of as a "box" into which other elements have been placed. In a sense, it is like a directory folder on your computer. The elements inside the Container can be thought of as a “sub-system” of your model. Containers can be placed inside other Containers, and any number of levels of containment can be created. This ability to organize model elements into a hierarchy provides a powerful tool for creating "top-down" models, in which the level of detail increases as you "drill down" into the containment hierarchy.

The example below shows a system that has been divided into a number of distinct sub-systems:

All of the elements with a small triangle in their upper left-hand corner are Containers. Clicking on the triangle allows you to drill down into (i.e., enter) that Container to see more details. The hierarchy and contents of the Containers are shown in the tree structure on the left side of the screen.  The elements inside a particular Container are shown on the right side of the screen.

Note: As we will see in a later Unit, the default symbol for a Container is actually a box. However, one of the many things you can do to better document and present your model is to use customized element symbols.  In the example above, the various element symbols have been customized to make the model more visually appealing and easier to understand.

The ability to create hierarchical, top-down models, coupled with GoldSim's powerful documentation and presentation abilities, allows you to effectively describe and explain your model at different (and appropriate) levels of detail to different audiences.

Moreover, the ability to create sub-systems using Containers provides a powerful capability: the reuse of sub-systems. A user can create a complex sub-system, and then document and save it, such that a subsequent user could simply drop the sub-system into a new model. This facilitates the creation of a library of documented and verified sub-systems. Such a library can be used to quickly and efficiently build complex models.