Skip to content
Francesco Casella edited this page Nov 20, 2017 · 7 revisions

The ExternalMedia Modelica library

The ExternalMedia library was initially developed by Francesco Casella and Christoph Richter in the year 2007, see this paper. The goal was (and still is) to provide a library which is plug-compatible with Modelica.Media but can use external code to compute fluid properties. Initially, the library provided native support for the FluidProp tool, formerly owned by TU Delft and now a product of Asimptote BV, providing access to the NIST RefProp database as well as to other fluid models. Over time, the CoolProp v4 tool was also integrated in the library. The structure of the library was also improved compared to the initial design, to overcome some problems with its use inside nonlinear implicit equations that stemmed from the original caching technique. So far the development was mainly targeted to Dymola 32-bit using the MS Visual Studio compiler, with some attempts at also supporting OpenModelica with gcc.

The library currently implements the Modelica.Media.Interfaces.PartialTwoPhase medium interface for pure fluids with one or two phases, e.g., refrigerants, organic fluids for ORC systems, supercritical CO2, cryogenic He and H2, etc. Support for single-phase mixtures was never implemented, because the Modelica.Media library already contains excellent ideal gas mixture models, that cover most application needs. However, the library could be extended to also support these medium models, if there are interesting use cases. Conversely, ExternalMedia will never be able to cover multi-phase mixtures, because that's beyond the scope of Modelica.Media. If you are interested in modelling these fluids, please contact francesco.casella@polimi.it to discuss further options.

The development of ExternalMedia was stopped for a while, but is now being resumed. Previously the https://github.com/modelica/ExternalMedia project was just a clone of the old SVN repository maintained by the Modelica association, now the development is carried out directly from here. Please refer to this website for all information, updates and latest releases. You may also contribute via pull requests (that would be best) or directly by asking francesco.casella@polimi.it to have permission to push into the repository.

The latest action plan is discussed in issue #4.

If you want to help contributing to the software development, you are welcome to join this GitHub project; you can also write to francesco.casella@polimi.it. Contribution are welcome both in terms of code developments and of testing.

Clone this wiki locally