Laboratory for Simulation Development

...because open source matters

  • Increase font size
  • Default font size
  • Decrease font size
Home Introduction to LSD LSD models' components

Users developing simulations in LSD define the model in an intuitive format that satisfies two conditions:

  •  define univocally the model
  •  provide as little information as possible

The definition of a model as required in LSD distinguishes between model's configuration and equations. The former defines the elements of the model, the second the computational content.

Model configuration

A configuration is the list of the elements in a model. The available elementsare:

  • Variables. Labels attached to values computed at each time step, once and only once at each time step, using an equation (see below).
  • Functions. Similar to variables, but are not necesssarily computed at each time step, but only when requested by the equation's of other elements.
  • Parameters. Labels attached to values that do not change value (unless overwritten)
  • Objects. Containers for other elements (inlcuding objects), giving structure to the model. Objects can be defined in many copies, generating multiple copies of their content. 


An equation is a piece of code used to generate a numerical value assigned to a type of variable (or function). The same piece of code is used to compute the values for all the copies of a variable. Within an equation it is possible to use any legal C++ command and a number of LSD specific commands, such as, for example, introduce new objects, overwrite values of other elements, etc.

Notice that the equations is the only computational content of a model. This means that the modeller needs not (and cannot) control the flow of a  simulation run in other ways by writing equations. This simplies considerably the generation of a model, or its modification, since it is the system that automatically determines which equation must be executed at any moment.

Last Updated on Sunday, 01 March 2009 14:14