Other modelling tools: Difference between revisions
| (20 intermediate revisions by the same user not shown) | |||
| Line 30: | Line 30: | ||
* http://dwsim.inforside.com.br/ | * http://dwsim.inforside.com.br/ | ||
* http://sourceforge.net/projects/dwsim | * http://sourceforge.net/projects/dwsim | ||
=== GLIDER === | |||
A combined discrete/continuous modelling environment in Delphi. | |||
http://www.faces.ula.ve/glider/ | |||
=== 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. | |||
http://lpsolve.sourceforge.net/ | |||
http://www.gnu.org/software/glpk/ | |||
=== GNU Octave === | === GNU Octave === | ||
| Line 62: | Line 75: | ||
* http://openmdao.org/ | * http://openmdao.org/ | ||
=== EPANET === | |||
A modelling package specifically for doing pipe networks: calculating pressure drops and flow rates in complex systems of plumbing, including check valves, bends, etc. | |||
http://www.epa.gov/nrmrl/wswrd/dw/epanet.html | |||
=== PyDSTool === | |||
Modelling of dynamic systems including a framework for [http://www2.gsu.edu/~matrhc/HybridSystems.html hybrid systems] with switching behaviour. | |||
http://www2.gsu.edu/~matrhc/PyDSTool.htm | |||
=== OSeMOSYS === | |||
This is a project to do energy system modelling apparently at the whole-of-grid scale using linear programming. Might be interesting to watch. | |||
http://osmosys.yolasite.com/ | |||
=== CasADi === | |||
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. | |||
http://sourceforge.net/apps/trac/casadi/ | |||
== Licensing TBD == | == Licensing TBD == | ||
| Line 107: | Line 144: | ||
* http://sourceforge.net/projects/fms/ | * http://sourceforge.net/projects/fms/ | ||
* <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 href="https://fms.gfdl.noaa.gov/" class="external free" title="https://fms.gfdl.noaa.gov/" rel="nofollow">https://fms.gfdl.noaa.gov/</a> | ||
=== MOSILAB === | |||
A Modelica compiler, possibly not yet released: | |||
* http://mosim.swt.tu-berlin.de/wiki/doku.php?id=projects:mosilab:home | |||
== Gratis but not Libre == | == Gratis but not Libre == | ||
=== | === COCO === | ||
A bunch of components implementing the various APIs of the CAPE-OPEN simulator. It's resolutely closed-source. | |||
http://www.cocosimulator.org/ | |||
=== DNA === | === DNA === | ||
| Line 125: | Line 167: | ||
http://www.et.web.mek.dtu.dk/software/dna/ | http://www.et.web.mek.dtu.dk/software/dna/ | ||
=== | === EMSO === | ||
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. | |||
* http://www.enq.ufrgs.br/alsoc/download/ | |||
* http://www.enq.ufrgs.br/trac/alsoc/wiki/EMSO | |||
=== SAM === | |||
The [https://www.nrel.gov/analysis/sam/ System Advisor Model (SAM)] from NREL is a wrapping around [[#TRNSYS|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. | |||
=== WinDali === | |||
http://www. | http://www.et.web.mek.dtu.dk/WinDali/Index.html | ||
== Commercial Software == | == Commercial Software == | ||
| Line 160: | Line 208: | ||
* http://www.berkeleymadonna.com/ | * http://www.berkeleymadonna.com/ | ||
=== ChemCAD === | |||
A chemical process modelling environment that apparently includes both sequential-modular and [http://www.norpar.com/cc.html "matrix based"] simulation methods. Support for a reasonable range of thermodynamic property formulations. | |||
http://www.chemstations.com/ | |||
=== Dymola === | === Dymola === | ||
A commercial (the original?) implementation of the Modelica langauge. Includes a canvas-based GUI for flowsheeting. | 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. | ||
* http://www. | * http://www.dymola.com/ | ||
=== Ebsilon === | === Ebsilon === | ||
| Line 213: | Line 267: | ||
* http://www.simtechnology.com/IPSEpro/english/IPSEpro.php | * http://www.simtechnology.com/IPSEpro/english/IPSEpro.php | ||
=== MiMiC === | |||
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. | |||
* http://www.mynah.com/products/mimic | |||
=== Outotec === | |||
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 [http://www.hsc-chemistry.net/ HSC Chemistry] which can also be used independently. | |||
* http://www.outotec.com | |||
=== Pro/II === | === Pro/II === | ||
| Line 221: | Line 287: | ||
* http://www.bre.com/promax.aspx | * http://www.bre.com/promax.aspx | ||
=== ProSim === | |||
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. | |||
* http://www.prosim.net/en/index.html | |||
=== Simulink / MATLAB === | === Simulink / MATLAB === | ||
| Line 279: | Line 351: | ||
* http://www.winsim.com/ | * http://www.winsim.com/ | ||
=== Polysun === | |||
Energy system modelling with a focus on PV and solar domestic hot water applications. | |||
http://www.polysun.ch/ | |||
== Defunct == | == Defunct == | ||
Latest revision as of 10:28, 18 January 2017
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
Free and Open Source Software
JModelica
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.
fREEDA
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.
DWSIM
Steady state sequential-modular simulator written in VB.net.
GLIDER
A combined discrete/continuous modelling environment in Delphi.
http://www.faces.ula.ve/glider/
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.
http://lpsolve.sourceforge.net/ http://www.gnu.org/software/glpk/
GNU Octave
Free MATLAB clone
SciPy
Aims to partly clone MATLAB but within the Python interpreter. Includes many high-level scientific computing routines, plotting, etc.
ColSim
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
Ptolemy II is a heterogeneous modelling environment written in Java, with a GUI called Virgil.
OpenMDAO
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.
EPANET
A modelling package specifically for doing pipe networks: calculating pressure drops and flow rates in complex systems of plumbing, including check valves, bends, etc.
http://www.epa.gov/nrmrl/wswrd/dw/epanet.html
PyDSTool
Modelling of dynamic systems including a framework for hybrid systems with switching behaviour.
http://www2.gsu.edu/~matrhc/PyDSTool.htm
OSeMOSYS
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
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.
http://sourceforge.net/apps/trac/casadi/
Licensing TBD
Cycle-Tempo
"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."
OpenModelica
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.
masaccio
http://www.eecs.berkeley.edu/~tah/Publications/masaccio.html
CHARON
http://www.cis.upenn.edu/mobies/charon/
FMS (Flexible Modelling System)
Licensing situation is not clear, old code hosted at SourceForge, new code at National Oceanic and Atomspheric Administration (US Govt).
- http://sourceforge.net/projects/fms/
- <a href="https://fms.gfdl.noaa.gov/" class="external free" title="https://fms.gfdl.noaa.gov/" rel="nofollow">https://fms.gfdl.noaa.gov/</a>
MOSILAB
A Modelica compiler, possibly not yet released:
Gratis but not Libre
COCO
A bunch of components implementing the various APIs of the CAPE-OPEN simulator. It's resolutely closed-source.
DNA
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.
http://www.et.web.mek.dtu.dk/software/dna/
EMSO
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.
SAM
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.
WinDali
http://www.et.web.mek.dtu.dk/WinDali/Index.html
Commercial Software
AMPL
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.
Aspen
Equation-based modeller with emphasis on chemical process modelling, with flowsheet/canvas-style GUI. Seems to be bighly respected in the process engineering industry.
http://www.aspentech.com/products/aspen-custom-modeler.aspx
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.
Berkeley Madonna
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.
ChemCAD
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.
Dymola
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.
Ebsilon
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.
EcoSim Pro
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.
EES
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.
GAMS
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.
GateCycle
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.
- http://www.gepower.com/prod_serv/products/oc/en/opt_diagsw/gatecycle.htm
- 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).
gPROMS
For both dynamic and steady-state simulations
Interactive Thermodynamics
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.
IPSEpro
With new model components for solar thermal energy systems by Jurgen Rheinländer. SimTech attended the recent SolarPACES 2009 and 2010 conferences.
MiMiC
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.
Outotec
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.
Pro/II
ProMax
ProSim
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 / MATLAB
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.
STELLA
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'.
SysCAD
An Australian-based simulator that is used by most of the world's bauxite refineries, according to one of the developers.
TkSolver
ThermoFlex
TRNSYS
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[1], 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
UniSim
From Honeywell. Appears to be free for non-commercial users.
VMGSim
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...
WinSim
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.
Polysun
Energy system modelling with a focus on PV and solar domestic hot water applications.
Defunct
ABACUSS II
We were recommended to look at Jacobian instead.
Jacobian
Commercial spinoff of ABACUSS II. Website appears to be offline.
Omola
Efforts were moved over onto Dymola/Modelica?
Sim42
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)
- http://opensource.cheme.info/index.php/topic,14.0.html
- https://sourceforge.net/projects/ollints/ (Source code for Sim42 still appears to be available from this project's download area)
SpeedUp
Pantelides' program
http://scholar.lib.vt.edu/theses/available/etd-32898-13261/unrestricted/ETD.PDF]
References
- ↑ D Y Goswami, F Kreith and J F Kreider, 2000, Principles of Solar Engineering, Taylor & Francis.