The Matlab CAPE-OPEN Unit Operation is a unit operation implementation for which the
calculations can be entered in Matlab.
To get started with the Matlab CAPE-OPEN unit operation, start your CAPE-OPEN capable simulation environment. Insert
a Matlab CAPE-OPEN unit operation. Edit a unit operation. Define feed and product ports. Go back to the simulation
environment and connect streams to the ports.
Now edit the unit operation again. On the Matlab tab, you can enter the Matlab calculation script. This script
can obtain feed properties using the getFeedProp function. It can then do calculations, using thermo-dynamic
calculations that are based on the underlying thermodynamic system of the simulation environment the unit operation
is running in. It must specify all the product streams using setProduct, that takes composition and
flow as well as two other properties required to specify the thermodynamic phase equilibrium.
The Matlab unit operation will function in CAPE-OPEN compliant simulation environments
that support version 1.1 thermodynamics or version 1.0 thermodynamics. It has been tested in COCO simulator, AVEVA Pro/II, AspenPlus, Honeywell Unisim Design and other simulators.
Matlab version 7.7 or higher must be installed and running at your system. The
Matlab CAPE-OPEN unit operation has been tested with Matlab versions 7.7, 7.8, 7.9, 7.10, 7.11, 7.12, 7.13, 7.14, 8.0, 8.1, 8.2, 8.3, 8.4, 8.5, 8.6, 9.0, 9.1, 9.2, 9.3, 9.4, 9.5, 9.6, 9.7, 9.8, 9.9, 9.10, 9.11, 9.12, 9.13, 9.14, 23.2, 24.1 and 24.2.
Deliismail, O., Seker, E., Mini modular plant design for ethylene production using Martian atmosphere on Mars, Advances in Space Research (2023)
Chu, Y., Lindbråthen, A., Lei, L., He, X., Hillestad, M., Mathematical modeling and process parametric study of CO2 removal from natural gas by hollow fiber membranes, Chemical Engineering Research and Design 148 (2019) 45-55
Ostadi, M., Rytter, E., Hillestad, M., Boosting carbon efficiency of the biomass to liquid process with hydrogen from power: The effect of H2/CO ratio to the Fischer-Tropsch reactors on the production and power consumption, Biomass and Bioenergy 127 (2019)
Ostadi, M., Austbø, B., Hillestad, M., Parametric Optimization of a Power and Biomass to Liquid Process, Computer Aided Chemical Engineering 47 (2019) 287-292
Dalane, K., Hillestad, M., Deng, L. Subsea natural gas dehydration with membraneprocesses: Simulation and process optimization, Chemical Engineering Research and Design 142 (2019) 257-267
Uebbing, J., Rihko-Struckmann, L.K.,Sundmacher, K., Exergetic assessment of CO2 methanation processes for the chemical storage of renewable energies, Applied Energy 233-234 (2019) 271-282
Usman, M., Hillestad, M., Deng, L., Assessment of a membrane contactor process for pre-combustion CO2 capture by modelling and integrated process simulation, International Journal of Greenhouse Gas Control 71 (2018) 95-103
Hillestad, M., Ostadi, M., Alamo Serrano, G.d., Rytter, E., Austbø, B., Pharoah, J.G., Burheim, O.S., Improving carbon efficiency and profitability of the biomass to liquid process with hydrogen from renewable power, Fuel 234 (2018) 1431-1451
Dalane, K., Svendsen, H.F., Hillestad, M., Deng, L., Membrane contactor for subsea natural gas dehydration: Model development and sensitivity study, Journal of Membrane Science 556 (2018) 263-276
Wang, Q., Chen, J.Y., Pan, M., He, C., He, C.C., Zhang, B.J., Chen, Q.L., A new sulfolane aromatic extractive distillation process and optimization for better energy utilization, Chemical Engineering & Processing: Process Intensification 128 (2018), 80-95
Shi, B., Peshev, D., Marchetti, P., Zhang, S., Livingston, A.G., Multi-scale modelling of OSN batch concentration with spiral-wound membrane modules using OSN Designer, Chemical Engineering Research And Design, 109 (2016) 385-396
Tolksdorf, G.,Esche, E., van Baten, J.M., Wozny, G., Taylor-Made Modeling and Solution of Novel Process Units by Modular CAPE-OPEN-based Flowsheeting, Proceedings of the 26th European Symposium on Computer Aided Process Engineering (2016)
Jullok, N., Patricia, L., Degrève, J. , Van der Bruggen, B., A cascaded pervaporation process for dehydration of acetic acid. Chemical Engineering Science 105 (2014) 208 - 212
Gozálvez-Zafrilla, J.M., Santafé-Moros, A., Sanchis-Sebastiá, M and Gomis-Fons, J., Implementation of membrane models on a CAPE-OPEN tool to simulate a process including RO membranes, Desalination and Water Treatment (2014), DOI: 10.1080/19443994.2014.995718
Peshev, D., Livingston, A.G., OSN Designer, a tool for predicting organic solvent nanofiltration technology performance using Aspen One, MATLAB and CAPE OPEN. Chemical Engineering Science 104 (2013), 975-987
De María, R., Díaz, I., Rodríguez, M., and Adrián Sáiz, Industrial Methanol from Syngas: Kinetic Study and Process Simulation, International Journal of Chemical Reactor Engineering 11/1 (2013) 1-9
The Matlab CAPE-OPEN Unit Operation installer is available from the Downloads Page.
The Matlab CAPE-OPEN Unit Operation is free of charge for personal and academic use.
For commercial use, a license fee must be paid. Licensing is on a per-person basis (and can be
used on multiple computers). Commercial license fee for a perpetual license is € 400,- (if you are outside
the European union or inside Spain, VAT of 21% is applicable).
Please see the Downloads page for downloading the Matlab CAPE-OPEN Unit Operation.
Change log
Version 1.0.5
ensuring proper locale when storing / loading files
fix for error getting product ports by name
Version 1.0.6
preventing two unit operations to calculate simultaneously to facilitate multi-threaded PMEs
Version 1.0.7
fixed rounding off of values of real output parameters to integer values
Version 1.0.8
fixed exported CAPE-OPEN version
compiler upgrade
fixed to work with x64 Matlab (7.1 or higher)
x64 CAPE-OPEN Unit Operation
new installer
Version 1.0.9
changed CapeVersion from 1.1 to 1.0 (refers to unit standard, not to thermo standard)
Version 1.0.10
current-user installation option (allows for installation for users without administrative rights)
Version 1.0.11
added logMessage function
Version 1.0.12
fix for proper DLL version for Matlab R2012b (8.0)
Version 1.0.13
fix for finding non hidden dialog parent
Version 1.0.14
fixed problems with uninstallation of current user install
next installation will default to single user in case only single user version is already installed
Version 1.0.15
fix for running a 32bit unit operation using an x64 Matlab installation
Version 1.0.16
added Consumes_Thermo_CATID, SupportsThermodynamics10_CATID and SupportsThermodynamics11_CATID
Version 1.0.17
Edit returns S_FALSE in case the unit remains unchanged, allowing the simulation environment not to invalidate the solution
Version 1.0.18
Fixed problem with file lock due to error handling
Version 1.0.19
Compiler upgrade
Fixed memory error on file comparison
Fixed file comparison result error (detection of modified files)
Skipping backspace character in error log output, preventing xml parser from choking upon matlab errors
Version 2.0.0.0
Compiler upgrade
Help spell checked
Code spell checked
Code signed
30 day registration-free operation allowed; after that free or commercial registration is required
Corrected error messages
Inter procedural optimization
Version 2.0.0.1
Corrected registration dialog messages
Added license status output at unit operation calculation
Version 2.0.0.2
thermo 1.0 support (matlab 7.1+ only)
exception handling during property processing
more efficient VARIANT handling
fixed memory leaks
output report persistence fix (string not cleared)
fixed setting string values
removed problems with locale and thread safety
IPersistPropertyBag support
Version 2.0.0.3
compiler upgrade
fixed issue with binary data saved in XML
fixed issue in case no compounds are known to the unit operation (e.g. no ports connected, no thermo selected)
fixed crash upon asking for parameter with undefined name
fixed issue with loading saved parameters via property bag (in COCO/COFE)
Version 2.0.0.4
compiler upgrade
changed default installation folder for current user
Version 2.0.0.5
compiler upgrade
clear report list prior to load model
Version 2.0.0.6
allowing for more than 32k characters in script text boxes
Version 2.0.0.7
compiler upgrade
check for sum(X)=1 to avoid composition unit of measure confusion
Version 2.0.0.8
compiler upgrade
fixed unique ID generation and temp folder management
fixed crash on unit operation clean up if Matlab was not found
Version 2.0.0.9
compiler upgrade
removed problems with backward compatibility of Matlab versions
removed support for Matlab 7.7 and below
removed support for Windows XP
Version 2.0.0.10
compiler upgrade
allow inserting multiple external files at once
solved problem with lingering path in single-instance COM object
created button for duplication of existing parameter
Version 2.0.0.11
compiler upgrade
fixed multiple issues with adding files, introduced in 2.0.0.10
Version 2.0.0.12
fixed issue with storing absent values in property bag format
Version 2.0.0.13
compiler upgrade
fixed issues with locking empty VARIANT values
Version 2.0.0.14
compiler upgrade
using exception handling instead of lasterr to avoid problems with incorrectly implemented echo command
clearing functions, values and globals prior to loading runUnit.m, so that runUnit.m itself is cleared and can be modified on disk for debugging the unit operation
fixed problem with states of aggregation check, invalidly report as Unknown for some PMEs
fixed problem with being unable to write to initialization file
Version 2.0.0.15
work around Matlab issue #3158891 (command echo does not work via automation) so that "echo each line" output is correctly shown
Version 2.0.0.16
compiler upgrade
fixed problem with being unable to write to initialization file