The Workbench

This page is a repository for Vensim plugins (external function libraries) and tools that have been built around Vensim, exploiting the capabilities of the Vensim .dll or similar features.

Much of the material on this page, particularly plugins, will require Vensim DSS. Other items may work with the Model Reader .dll or directly on Vensim files. For the moment, most of what we provide is Windows-specific, though it is generally possible to recompile external functions for Mac and Linux.

Ventana & Ventana UK contributions

These are unsupported software, without support, warranty or liability, though we will be as helpful as we can in response to usage questions and bug reports in the forum.

Source code is released under the Apache 2.0 license, an open source license that permits commercial use. We have not currently created source repositories (e.g., SVN or Git) for these codes, but if you plan to make improvements that will be released to the Vensim community, we would be happy to help set up version control.

We also provide binary executable libraries for the Windows platform. Be aware that some antivirus programs are hostile to these files, so you may need to disable virus searching for the path in which you install these.

Multi-lib External Function Manager

This external function library converts the existing external function library capability in Vensim DSS to a plugin architecture, supporting simultaneous use of multiple libraries.

Precompiled binaries (Windows): MultiExtLib_binaries_2013-03-18

Source code: MultiExtLib_src_2013-03-18

Documentation: MultiExtLib README

LP_Solve Link

This library links Vensim to lp_solve, a well-regarded open source package for linear and mixed integer programming. This makes it straightforward to solve allocation subproblems that are otherwise difficult to tackle natively in Vensim. In this initial version, two functions are provided: LP_ALLOC, which solves a many-to-many allocation problem with constrained channel capacity, and LP_SOLVE, which provides a generic solver for linear programs with bounds in matrix form.

Precompiled binaries Windows (2016-09-19): 2016-09-19_LPSolve_Binaries.zip

Source code (2016-09-19) : 2016-09-19-extern-LP.zip

Documentation: VenextLP README Additional note: you need to use the 32-bit version of lp_solve, because 32-bit processes can’t call 64-bit dlls.

GNU Scientific Library external functions (for use with Vensim DSS)

This library contains a lot of the functions that are within the GNU Scientific Library (https://www.gnu.org/software/gsl/). The functions that were straightforward to add to the library are included, if any other functions are required, please let us know (vensim@vensim.com) and we can try and incorporate them.

This is released under the GNU General Public License. To use, you’ll need Microsoft Visual Studio community edition (free from Microsoft). The project and source code are available in the download below for you to build and use.

Download the Visual Studio project -> 2017-11-28_GNU_GSL.zip

IF97 Equations (external functions) for use with Vensim DSS

This library contains the functions from “IAPWS Industrial Formulation 1997 for the Thermodynamic Properties of Water and Steam”. The code is freely available via “CoolProp” (see https://github.com/CoolProp/IF97).

This Microsoft Visual Studio project does not contain the source code from CoolProp, it can be downloaded directly from the website mentioned above.

To build/modify it, you’ll need Microsoft Visual Studio community edition (free from Microsoft). The project and source code are available in the download below for you to build and use. It also contains pre-built 32 bit binaries for use in Vensim 7.0 onwards.

There is a discussion about this on our forum (including sample model) at https://www.ventanasystems.co.uk/forum/viewtopic.php?f=2&t=6843

VensimCoolPropIF97_V2.zip

Published package manifest builder

This is a tiny java program with a very simple purpose: to generate a manifest of data (or other) files for publishing a .vpm for a model with an extensive infrastructure.

GetPublishManifest.zip

External Resources

SDM-Doc

SDM-Doc is a tool for documenting Vensim models in an attractive and useful format.

Statistical Screening

A spreadsheet tool for statistical screening of models.

Taylor, T. R. B., Ford, D. N. and Ford, A. Improving model understanding using statistical screening System Dynamics Review. 26(1): 73-87. Jan-March, 2010 – the fourth most accessed article in the System Dynamics Review from the on-line web page as of May, 2011.

Taylor, T. R. B., Ford, D. N. and Ford, A. Improving model understanding using statistical screening System Dynamics Review. 26(1): 73-87. Jan-March, 2010

TUDelft Exploratory Modeling and Analysis Workbench

See: http://simulation.tbm.tudelft.nl/ema-workbench/contents.html

“Exploratory Modeling and Analysis (EMA) is a research methodology that uses computational experiments to analyze complex and uncertain systems (Bankes, 1993).That is, exploratory modeling aims at offering computational decision support for decision making under deep uncertainty and Robust decision making.

The EMA workbench is aimed at providing support for doing EMA on models developed in various modelling packages and environments. Currently, we focus on offering support for doing EMA on models developed in Vensim, Excel, and Python. Future plans include support for Netlogo and Repast. The EMA workbench offers support for designing experiments, performing the experiments – including support for parallel processing-, and analysing the results. A key design principle is that people should be able to perform EMA on normal computers, instead of having to take recourse to a HPC.

The Exploratory Modeling and Analysis (EMA) Workbench is an evolving set of tools and methods. It evolved out of code written by Jan Kwakkel for his PhD research. The EMA workbench is implemented in Python and relies on Numpy and Scipy.”

SD-tools Group: Open Source SD Tools

sd-tools google group

SD tools list on gitHub

SD Everywhere

SDEverywhere is a Vensim transpiler that handles a broad range of System Dynamics models. It supports some advanced features of Vensim Modeling Language, including subscripts, subranges, and subscript mapping. It generates C and JavaScript code, and can create a generic web user interface for simple models.

Using SDEverywhere, you can deploy interactive System Dynamics models in mobile, desktop, and web apps for policymakers and the public. Or you could perform model analysis using general-purpose languages, running the model as high-performance C code.

VenPy

An open source wrapper for the Vensim dll, available on github.

SILVER

SILVER is a software system that provide an implementation to both local and remote storage strategy to help simulation modellers bookkeeping changes, general information and documentation related to models.

Check it out on Google code and at the SD conference.

Cohort Control external function library

This is the external function library used in the paper Precise modeling of aging populations

FunctionsAndModels

Cohort Control Vensim 8.1 External Functions

Thank you to Jim Thompson for this. For any queries, please contact Jim at jimthompson@live.com. Jim has population models for several Asian countries and one global population model.

Update: Ventity enables dynamic cohorts, which provide a more natural and sophisticated solution for cohort management.

User Contributions

There are no user contributions at this time, but we would be happy to host or link to new ones. Email us to arrange details.