A model can now be run simultaneously with its default parameters and with various other combinations of parameters, using multiple processors if they are available. Results for all cases are shown together and the experiment setup can be saved for use with different versions of the model.
Simile’s saved model file now also contains the helper setup information, the parameter metadata and the experiment setup all together. They can still be saved and loaded separately for transferring between models.
This matches the behaviour for variable parameters, although fixed parameters do not have to have a value in the model or min/max values.
The format for values for matrices etc. or lists of time points was previously Simile’s own, now JSON objects can be cut and pasted in the parameter tab
They can be adjusted without opening a separate dialogue. This tab also contains the experiment setup.
Model execution now happens in a separate thread at the code level rather than the scripting language level, meaning more responsiveness during long runs.
As screens get higher and higher resolution, default text sizes are more likely to be difficult to use. Simile’s new text size preference option affects the whole user interface layout to accommodate the chosen size, which is consistent across the whole interface.
A new way of perceiving a rapidly varying value in the model – play its waveform through your sound card. Oscillations, noise, periodicity changes etc. have never been so clear.
Simile has always considered array indices to start at 1. Now they do so by default, but starting at 0 can be set for the whole model or a particular hierarchy of submodels. The setting affects the results of the element(), index() and place_in() functions as well as the indices shown in I/O tools.
Replaced by the Simile/R interface
Improvements in screen technology mean the single-window MRE is sufficient for all cases.
X86_64 is now ubiquitous, and 64-bit versions have better performance and can handle more complex models and larger datasets.
Interface to executing model, with run control, explorer pane, I/O tools and additionally the model diagram, can now used a tabbed browser window, which gives better looks, improved performance and a preview of what execution would look like in SimiLive
A Simile model can now exchange data with another tool as it runs, representing the external process as a submodel and connecting via a FIFO or bidirectional pipe.
Has now been completely overhauled. This means that model parameters can be read from a MySQL database in Linux, and reading them from an ODBC source such as .xls works in 64-bit Windows. .xlsb, .xlsm and .xlsx formats can also be used, and the data logger tool can write to any of these in Windows and to MySQL in Linux
Allows arrays to be sorted efficiently
2-D layers visualization now includes 2-D versions of the 3-D shapes from the projection viewer
Components in a flat model can now represent components in an instance of a grid submodel according to their position on the diagram
There is now an image component that allows arbitrary images to be placed on the model diagram
Display model data as lines, spheres or ellipses, and view as current lollipop diagram
Record values of several variables over time to a single file
e.g., 20*min to apply one reading every 20 minutes of simulated time
Pre-defined submodel types for rectangular and hexagonal grid cells which allow communication between neighbours without the use of an association submodel
It can have a list as the first argument, and a single value, array or list as the second, allowing sublists of values to be picked from variable-membership submodels
A 2-dimensional array submodel, or a variable membership (including population) submodel can now have its indices looked up when building an association involving it
Maps of different model values and a new tool for drawing widgets representing moving individuals can be superimposed or juxtaposed within one window, along with text and static images
Simile can now model systems in which instantaneous changes take place at arbitrary times, alongside continuous processes
Modellers can create functions to use in Simile equations by making model fragments that implement their behaviour
Jump forwards and backwards between pre-defined points, for presentation or training
New in version 5.0:
Load 2-dimensional parameter arrays from comma-separated grids, image files or other datafile formats
Saving raw data in scenario files
Keep all the parameter information in one place, and have models start up faster
Following influences round the diagram
Simile v5 makes it easy to show, and follow, the way information flows round the model
with_greatest(...) and with_least(...) functions
New functions allowing data from special submodel instances to be picked out
Get more accurate results more quickly in 'stiff system' problem domains
There are a lot of other improvements, most of which do not require the modeller to do anything differently; see What's new in Simile 5.0, 5.1, etc for a more comprehensive list.
Happy modelling!