Have a look at https://github.com/usnistgov/REFPROP-cmake before you start looking at this outdated repository.
... if you really want to work with ancient scripts - please go ahead.
These files allow you to compile the REFPROP fluid property database as a shared library for Linux and MacOS systems. This enables you to use the Fortran sources developed by NIST providing an alternative to the REFPROP.dll for Windows.
For installation on a Linux or OSX machine, please follow the steps described below. By default, the library and the header file are placed in system directories. Please change the paths if you do not have write access to this part of your file system.
apt-get install gcc
might do the job.git clone --recursive https://github.com/jowr/librefprop.so.git
or by downloading the latest release or the current development version as zip file. If you do not use git, you have to add the header files manually to externels/REFPROP-headers after unpacking the zip archives. make
to prepare the files. sudo make install
to copy the files to /usr/local/lib
, /usr/local/include
and /opt/refprop
or you run make install
as normal user to copy the files to $(HOME)/.refprop/lib
, $(HOME)/.refprop/include
and $(HOME)/.refprop
.You can remove the files again by calling make uninstall
or sudo make uninstall
.
There is a simple Fortran file to test the library. You can call make fortest
and run the executable ./bin/fortest
to display some R410 two-phase properties:
Temperature | Pressure | Density, liquid | Density, vapour |
---|---|---|---|
300.0000 | 1740.5894 | 14.4550 | 0.9628 |
300.0000 | 1735.1589 | 14.2345 | 0.9603 |
There is also a simple C++ file to test the library: Call make cpptest
and run the executable ./bin/cpptest
to test the C++ interface and the header files.
There is a basic python package based on the examples from
NIST
in the pyrp
folder.
Please note that there is a much more mature Python interface available at https://github.com/BenThelen/python-refprop. Thank you Ben for sharing it!
There is a Matlab prototype file available from NIST. Unfortunately, you have to change a few things in order to use the library on MacOS and GNU/Linux.
There is a makefile section and a shell script that help you with this. After installing the library as described above, you can run make matlab
in order to use REFPROP with Matlab. Then run `make matlab-install’ as root user for a system-wide installation.
The test.m is a simple code you can use to check if the intergration works.
Summary for the impatient:
make
and then sudo make install
to install the shared library (Skip this if your administrator already installed REFPROP for you).make matlab
to download files and edit them as written in the terminal.sudo make matlab-install
to copy the matlab file to /opt/refprop
.This part was contributed partly by nkampy and speredenn and is still experimental. Please open new issues if you encounter any problems. Problems are likely to be encountered in setting up matlab with gcc, needed to use the builtin MEX functionality, which is required for the load library command in the thunk.m file. We hope that the user community and nkampy's comments, left at the mathworks website (here and here), will help figuring out a good solution.
It is possible to use the shared libraries without root access. However, you need to make sure that the libraries get found and it is recommended to add something like export LD_LIBRARY_PATH=$(HOME)/.refprop/lib:$(HOME)/.refprop:$LD_LIBRARY_PATH
to the calls to executables that need REFPROP. The makefile will print more instructions when running make install
as a non-root user.
USEOPENMP :=FALSE
in line 51 of the Makefile.Please note that you need a working and licensed copy of REFPROP in order to use the software provided here. This is not a replacement for REFPROP. You can purchase REFPROP at http://www.nist.gov/srd/nist23.cfm
If you are interested in fluid property modelling, you might also be interested in CoolProp, an open-source thermodynamic fluid property package with over 100 compressible and over 50 incompressible fluids.