Skip to content

About

CoolProp Wrapper for Rust

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome to coolprop-rs

EXPERIMENTAL CoolProp Wrapper for Rust

The wrapper uses rust-bindgen to create the bindings to the C++ shared library of CoolProp and adds some wrapper functions. The wrapper should work on all platforms that CoolProp and Rust work on.

Prerequisites

The CoolProp shared library (libCoolProp.so) and header file (CoolPropLib.h) must be available to the build script. By default the system linker and compiler search paths are used (e.g. /usr/lib64 and /usr/include on Linux). Instructions to build CoolProp can be found on the project page of CoolProp.

You can override the default locations by exporting these environment variables before building:

  • COOLPROP_ROOT: Root folder that contains include/CoolPropLib.h and lib/libCoolProp.{so,dylib,dll}.
  • COOLPROP_INCLUDE_DIR: Path to the directory containing CoolPropLib.h. Overrides COOLPROP_ROOT.
  • COOLPROP_LIB_DIR: Path to the directory containing the shared library. Overrides COOLPROP_ROOT.

Example:

COOLPROP_ROOT=$PWD/third_party/coolprop cargo build

Installation

The wrapper gets published on crates.io as coolplot-rs and you can add the library in your project.

[dependencies]
coolprop-rs = "0.2"

Examples

At the moment the wrapper provides access to either the full C++ bindings directly or a small subset of methods which utilizes Rust types, error handling and unit testing.

The C++ bindings can be used with:

Rust:

use coolprop-rs::bindings::*;

The subset of Rust methods are at the moment PropsSI() and HAPropsSI():

Rust:

use coolprop-rs;
println!("{:?}", coolprop-rs::PropsSI("H", "T", 300.0, "Q", 1.0, "R134a").unwrap());
println!("{:?}", coolprop-rs::HAPropsSI("H", "T", 300.0, "P", 100000.0, "R", 0.0).unwrap());

Output:

413265.6843372975
27013.112479771713

License

This Rust package is released under the terms of the MIT license.

About

CoolProp Wrapper for Rust

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages