Other modelling tools
Here is a (probably incomplete) list of related software that does some or all of what ASCEND aims to do. Please, feel free to add to, or update, this list.
Some further software tools are listed at http://www.idsia.ch/~andrea/sim/simtools.html
- 1 Free and Open Source Software
- 2 Licensing TBD
- 3 Gratis but not Libre
- 4 Commercial Software
- 4.1 AMPL
- 4.2 Aspen
- 4.3 Berkeley Madonna
- 4.4 ChemCAD
- 4.5 Dymola
- 4.6 Ebsilon
- 4.7 EcoSim Pro
- 4.8 EES
- 4.9 GAMS
- 4.10 GateCycle
- 4.11 gPROMS
- 4.12 Interactive Thermodynamics
- 4.13 IPSEpro
- 4.14 MiMiC
- 4.15 Outotec
- 4.16 Pro/II
- 4.17 ProMax
- 4.18 ProSim
- 4.19 Simulink / MATLAB
- 4.20 STELLA
- 4.21 SysCAD
- 4.22 TkSolver
- 4.23 ThermoFlex
- 4.24 TRNSYS
- 4.25 UniSim
- 4.26 VMGSim
- 4.27 WinSim
- 4.28 Polysun
- 5 Defunct
- 6 References
Free and Open Source Software
A partial java implementation of the Modelica language, support for IPOPT, Python and C APIs. Interesting!
Scicos / SciLab
Scicos is a free clone of Simulink. Arguably not suited for process engineering style problems (although this might be changing). Good for control and electrical problems.
Focussed on electrical networks but includes nonlinear solvers and a 'small language'. Appears to have a fairly well developed GUI now too, based on Qt.
Steady state sequential-modular simulator written in VB.net.
A combined discrete/continuous modelling environment in Delphi.
GLPK, GNU MathProg
GLPK is the GNU Linear Programming Kit, and includes solver(s) for large linear programs (LP) problems. GNU MathProg is a programming language in which linear programmes can be expressed; it is a subset of the AMPL language.
Free MATLAB clone
Aims to partly clone MATLAB but within the Python interpreter. Includes many high-level scientific computing routines, plotting, etc.
Aimed primarily at solving solar thermal collector models. Appears to be sequential modular in nature. Includes a SIMULINK-style block diagram GUI based on XFIG.
Ptolemy II is a heterogeneous modelling environment written in Java, with a GUI called Virgil.
A modular simulation environment based on Python. Essentially appears to be a sequential-modular system, with calculation units written in terms of inputs and outputs.
A modelling package specifically for doing pipe networks: calculating pressure drops and flow rates in complex systems of plumbing, including check valves, bends, etc.
Modelling of dynamic systems including a framework for hybrid systems with switching behaviour.
This is a project to do energy system modelling apparently at the whole-of-grid scale using linear programming. Might be interesting to watch.
CasADi is a 'minimal' computer algebra system in C++ (with Python bindings) with included support for automatic differentiation (AD) as well as bindings for a range of numerical tools including SUNDIALS (of which IDA is a part) plus SuperLU, KNITRO and others. Looks like quite a nice flexible basis for some future simulator. Noticed that there is no support for event handling as yet, but that could certainly be on the cards.
"a modern tool for the thermodynamic analysis and optimization of systems for the production of electricity, heat and refrigeration. The program is suited to model steam turbine cycles, STAG units, gas turbine cycles, combustion and heat transfer systems, coal and bio mass gasification combined cycles, fuel cell systems, organic Rankine cycles (ORC), refrigeration systems, and heat pumps."
A free implementation of the Modelica language, not yet a complete implementation. Includes an Eclipse-plugin IDE.
OpenModelica still lacks functionality sufficient for modelling of thermo-fluid systems as can be done using the Modelica language using the commercial solver Dymola.
A GUI called SimForge is under development, in Java:
A closed-source editor called MathModelica Lite is also available for OpenModelica.
OpenModelica is licensed under an unusual three-way combination of GPLv3 and two kinds of bespoke commercial license.
MPxJava / MPxCsharp
Products developed Kirk Abbott, who did his PhD on ASCEND. He is considering opening up the source code, or he might even send it to you if you're nice.
FMS (Flexible Modelling System)
Licensing situation is not clear, old code hosted at SourceForge, new code at National Oceanic and Atomspheric Administration (US Govt).
- <a href="https://fms.gfdl.noaa.gov/" class="external free" title="https://fms.gfdl.noaa.gov/" rel="nofollow">https://fms.gfdl.noaa.gov/</a>
A Modelica compiler, possibly not yet released:
Gratis but not Libre
A bunch of components implementing the various APIs of the CAPE-OPEN simulator. It's resolutely closed-source.
This is a fairly basic 'small language' by Brian Elmegaard for wiring up energy systems including turbines, boilers, condensers, pumps, etc. Both steady and dynamic systems are handled, although the system is limited to modelling of energy systems. The modelling language is similar in style to #Cycle-Tempo, a table-like file format with keywords at the start of each line, followed by numbers/values. The modelling language provides no capability for writing free-form equations or variables; only models already coded in Fortran can be used in the model being constructed.
Currently, the source code is included with the installer, and not available separately. The modeller is integrated into EMACS to provide an IDE that also returns modelling results to the use. DNA runs on all systems where GCC and EMACS area available, and all the compiled code is written in FORTRAN-77. There appear to be some DLLs in the distributed zip files for which source code is not given. No license file was found.
EMSO features a very nice user interface and an easy-to-learn language. It uses SUNDIALS to provide some of its solver functionality but does not seem to provide a fully block-decomposing NLA solver like QRSlv. It includes very nice automatic index reduction and a good plotting interface, and can quite easily link external functions and external solvers, using external DLL/SOs. Can link to a thermo properties library by VMG, via a CAPE-OPEN interface. Their model library is open source, although it has a few binary DLLs in it which are kept closed. Recent versions have added a canvas-based editor.
The System Advisor Model (SAM) from NREL is a wrapping around TRNSYS that makes annual performance simulation of energy systems like solar-thermal, wind and photovoltaic, fairly easy, and includes the ability to do financial modelling of different scenarios. Extensibility is there, but perhaps not super-easy as a platform for building a lot of custom models.
AMPL has its own modelling language for describing various large-scale optimisation and mathematical programming problems, and a wide range of solvers have been interfaced. There is a trial version that will solve up to 300 variables. No support for object-oriented modelling or engineering units, but a mature and large set of optimisation solvers available.
Equation-based modeller with emphasis on chemical process modelling, with flowsheet/canvas-style GUI. Seems to be bighly respected in the process engineering industry.
HYSYS is also from Aspen Tech. Seems to be focussed on oil & gas production, gas processing, petroleum refining, and air separation industries. Not clear to what extent if any the core engine is different from other Aspen products.. Includes optimization capabilities.
Aspen Plus is also from Aspen Tech. Seems to be focussed on chemical, polymer, specialty chemical, metals and minerals, and coal power industries. Again, not sure yet how this project differs essentially from other Aspen offerings.
A clone of STELLA with a quite-nice GUI, frequency-domain analysis, bifurcation analysis,... Doesn't look like a system suitable for really large-scale models though.
A chemical process modelling environment that apparently includes both sequential-modular and "matrix based" simulation methods. Support for a reasonable range of thermodynamic property formulations.
A commercial (the original?) implementation of the Modelica langauge. Includes a canvas-based GUI for flowsheeting. Dymola is actively maintained as an independent product, but can also work as an integrated component of the CATIA software.
General purpose graphical process simulation program with apparently good support for power generation applications (coal power, condensers, boilers, turbines, etc). Currently being actively promoted on the conference circuit. Doesn't seem to be aimed at the chemical process modelling market; contains a relatively limited set of chemical species in its thermo database (compared to CAPE tools). Contains model components specifically for solar thermal energy system modelling, but does not support full dynamic system modelling.
ODE and DAE simulation too. Possibly doesn't include NLA, NLP simulation. Seems to handle conditional variables in dynamic models (bouncing ball demo). Seems to have a good range of model libraries for fluid flow, control, power cycles, but more limited support for process modelling.
Commercial equation solver, includes support for units of measurement and has procedural/function support. Does not include the same support for hierarchical modelling that ASCEND has, AFAICT. But a very comprehensive program, can be tightly integrated with TRNSYS, is used as the 'standard' in textbooks by Nellis and Klein and Cengel on Heat Transfer and Thermodynamics, and possibly others.
NLA, LP and MINLP solver with its own modelling language. The language allows quite concise and readable models, although the syntax uses some funny conventions like =L= for less-than. A wide range of very powerful solvers is available. There is a trial version of some sort.
No particular support for engineering-specific features, no support for units of measurement.
A very well-established and accurate software for power station simulation, this package was developed initially by Michael Erbes and subsequently continued as a project of General Electric (GE). Active development of the software has been said to be diminishing. The software includes in-depth support for off-design calculation. Extremely expensive.
- Erbes, M. R. and Gay, R. R. GATE/CYCLE predictions of the off-design performance of combined cycle power plants. Simulation of Thermal Energy Systems, ASME Winter Annual Meeting, AES-Vol. 124, December 1989, pp. 43-51 (American Society of Mechanical Engineers, New York).
For both dynamic and steady-state simulations
An educational equation solver including support for the calculation of thermodynamic properties, referred to in the textbook by Moran & Shapiro. Not sure to what extent it is aimed for broader use.
With new model components for solar thermal energy systems by Jurgen Rheinländer. SimTech attended the recent SolarPACES 2009 and 2010 conferences.
From MYNAH, this is a dynamic simulation program with an apparent emphasis on control system simulation. "MiMiC is Built for Software Acceptance Testing (SAT) and Operator Training Systems (OTS)." It is not clear whether one would be re-using models created during the system design phase, or whether these would be a new set of models. The software is purchased alongside 'simulation hardware', which we presume is used to send simulation signal outputs as inputs to control system hardware, so that operators can test their 'live' control system.
A Finland-based chemical process simulator with a canvas-based interface and an emphasis on metallurgical industry processes. Seems to integrate closely with Microsoft Excel, possibly using Excel as part of the calculation engine. Also incorporates a thermodynamics library called HSC Chemistry which can also be used independently.
A steady-state process simulation package with accompanying thermodynamics package plus support for CAPE-OPEN thermo. Includes heat exchanger, power plants, chemical reactors. Seems to profess a strength in the area of nitric acid plant modelling. Includes support for process optimisation. Doesn't appear to support dynamic modelling of off-design modelling.
Simulink seems to be a poor choice for many process-flow-diagram type models, because it is oriented more toward signal flow (one direction) than fluid flow (could be any direction), and because there is not support for things like units of measurement, built-in thermodynamic property evaluation, and so on. Having said that, Matlab is a completely flexible and powerful environment for doing numerical work, and if you're willing to 'roll your own' you can model anything you want. Expensive though.
Looks to be squarely aimed at the educational market. Looks to have some nice graphics. From Jay Forrester's lab -- the 'pioneer of system dynamics'.
An Australian-based simulator that is used by most of the world's bauxite refineries, according to one of the developers.
Popular with Solar Thermal Energy researchers and HVAC engineers, TRNSYS provides a rather low-level 'small language' that can be used to link together arbitrary equations and 'units' from a large library of components such as hot water tanks, thermal collectors, pumps, control valves, weather data, sun position, etc. Performs dynamic simulation and reports results of 'watched' variables. There are two GUI interfaces available that make it quite a bit easier to use. External units can be programmed in Fortran-90. Update with version 16, external units can be programmed in any language (as long as it's Windows). TRNSYS is a sequential modular transient simulator, although it does provide support for 'equation blocks' to be written.
Note also that Solar Advisor Model (SAM, aka System Advisor Model) from NREL is a simulator specifically for cost/project evaluation of solar energy systems, and it makes use of TRNSYS as its internal calculation engine
From Honeywell. Appears to be free for non-commercial users.
Simulator that seems to have been based on the previously free, open source simulator, Sim42 (see below). Apparently not everyone who was involved was happy about this...
Steady-state chemical process simulation, distillation, heat exchangers, gas processing, flash, reactors, pipelines, pumps, compressors. GUI-based, Windows only, Excel export interface. Wide range of property correlations for 1000+ chemical species.
Energy system modelling with a focus on PV and solar domestic hot water applications.
We were recommended to look at Jacobian instead.
Commercial spinoff of ABACUSS II. Website appears to be offline.
Efforts were moved over onto Dymola/Modelica?
This was an attempt to make a nice modelling environment using the Python language, but the project fell down for reasons that may have been related to the Virtual Materials Group, who took over the website for a while and then ultimately took it offline. It appears that they may have incorporated further Sim42 development into a commercial product (clarifications welcome)
- https://sourceforge.net/projects/ollints/ (Source code for Sim42 still appears to be available from this project's download area)
- D Y Goswami, F Kreith and J F Kreider, 2000, Principles of Solar Engineering, Taylor & Francis.