SharpProp 1.0.4

There is a newer version of this package available.
See the version list below for details.
dotnet add package SharpProp --version 1.0.4
                    
NuGet\Install-Package SharpProp -Version 1.0.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SharpProp" Version="1.0.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SharpProp" Version="1.0.4" />
                    
Directory.Packages.props
<PackageReference Include="SharpProp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SharpProp --version 1.0.4
                    
#r "nuget: SharpProp, 1.0.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=SharpProp&version=1.0.4
                    
Install as a Cake Addin
#tool nuget:?package=SharpProp&version=1.0.4
                    
Install as a Cake Tool

NuGet License Coverage

A simple, full-featured, lightweight CoolProp wrapper for C#

Quick start

All calculations of thermophysical properties are performed in SI units.

The Fluid class is responsible for pure fluids and binary mixtures, the Mixture class - for mixtures with pure fluids components, the HumidAir class - for humid air.

The FluidsList is an enum of all available fluids.

List of properties

For the Fluid and Mixture instances:

  • Compressibility - compressibility factor (-)
  • Conductivity - thermal conductivity (W/m/K)
  • CriticalPressure - absolute pressure at the critical point (Pa)
  • CriticalTemperature - absolute temperature at the critical point (K)
  • Density - mass density (kg/m3)
  • DynamicViscosity - dynamic viscosity (Pa*s)
  • Enthalpy - mass specific enthalpy (J/kg)
  • Entropy - mass specific entropy (J/kg/K)
  • FreezingTemperature - temperature at freezing point (for incompressible fluids) (K)
  • InternalEnergy - mass specific internal energy (J/kg)
  • MaxPressure - maximum pressure limit (Pa)
  • MaxTemperature - maximum temperature limit (K)
  • MinPressure - minimum pressure limit (Pa)
  • MinTemperature - minimum temperature limit (K)
  • MolarMass - molar mass (kg/mol)
  • Phase - phase
  • Prandtl - Prandtl number (-)
  • Pressure - absolute pressure (Pa)
  • Quality - mass vapor quality (-)
  • SoundSpeed - sound speed (m/s)
  • SpecificHeat - mass specific constant pressure specific heat (J/kg/K)
  • SurfaceTension - surface tension (N/m)
  • Temperature - absolute temperature (K)
  • TriplePressure - absolute pressure at the triple point (Pa)
  • TripleTemperature - absolute temperature at the triple point (K)

For the HumidAir instances:

  • Compressibility - compressibility factor (-)
  • Conductivity - thermal conductivity (W/m/K)
  • Density - mass density per humid air unit (kg/m3)
  • DewTemperature - dew-point absolute temperature (K)
  • DynamicViscosity - dynamic viscosity (Pa*s)
  • Enthalpy - mass specific enthalpy per humid air (J/kg)
  • Entropy - mass specific entropy per humid air (J/kg/K)
  • Humidity - absolute humidity ratio (kg/kg d.a.)
  • PartialPressure - partial pressure of water vapor (Pa)
  • Pressure - absolute pressure (Pa)
  • RelativeHumidity - relative humidity ratio (from 0 to 1) (-)
  • SpecificHeat - mass specific constant pressure specific heat per humid air (J/kg/K)
  • Temperature - absolute dry-bulb temperature (K)
  • WetBulbTemperature - absolute wet-bulb temperature (K)

NB. If the required property is not present in the instance of the fluid, then you can add it by extending the Fluid, Mixture or HumidAir classes - examples below.

Examples

Pure fluids

To calculate the specific heat of saturated water vapour at 101325 Pa:

using System;
using SharpProp;

namespace TestProject
{
    internal static class Program
    {
        private static void Main()
        {
            var waterVapour = new Fluid(FluidsList.Water);
            waterVapour.Update(Input.Pressure(101325), Input.Quality(1));
            Console.WriteLine(waterVapour.SpecificHeat); // 2079.937085633241
        }
    }
}
Incompressible binary mixtures

To calculate the dynamic viscosity of propylene glycol aqueous solution with 60 % mass fraction at 101325 Pa and _ 253.15 K_:

using System;
using SharpProp;

namespace TestProject
{
    internal static class Program
    {
        private static void Main()
        {
            var propyleneGlycol = new Fluid(FluidsList.MPG, 0.6);
            propyleneGlycol.Update(Input.Pressure(101325), Input.Temperature(253.15));
            Console.WriteLine(propyleneGlycol.DynamicViscosity); // 0.13907391053938847
        }
    }
}
Mixtures

To calculate the density of ethanol aqueous solution (with ethanol 40 % mass fraction) at 200 kPa and 277.15 K:

using System;
using System.Collections.Generic;
using SharpProp;

namespace TestProject
{
    internal static class Program
    {
        private static void Main()
        {
            var mixture = new Mixture(new List<FluidsList> {FluidsList.Water, FluidsList.Ethanol},
                new List<double> {0.6, 0.4});
            mixture.Update(Input.Pressure(200e3), Input.Temperature(277.15));
            Console.WriteLine(mixture.Density); // 883.3922771627759
        }
    }
}
Humid air

To calculate the wet bulb temperature of humid air at 99 kPa, 303.15 K and 50 % relative humidity:

using System;
using SharpProp;

namespace TestProject
{
    internal static class Program
    {
        private static void Main()
        {
            var humidAir = new HumidAir();
            humidAir.Update(InputHumidAir.Pressure(99e3), InputHumidAir.Temperature(303.15),
                InputHumidAir.RelativeHumidity(0.5));
            // or use:
            // var humidAir = HumidAir.WithState(InputHumidAir.Pressure(99e3), InputHumidAir.Temperature(303.15),
            //     InputHumidAir.RelativeHumidity(0.5));
            Console.WriteLine(humidAir.WetBulbTemperature); // 295.0965785590792
        }
    }
}
Adding other properties or inputs

See an examples in SharpProp.Tests/Fluids and SharpProp.Tests/HumidAir.

Product Compatible and additional computed target framework versions.
.NET net5.0 is compatible.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net5.0

    • No dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on SharpProp:

Package Downloads
VCRC

Cross-platform vapor-compression refrigeration cycles analysis tool

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
7.5.1 548 5/16/2025
7.5.0 780 3/1/2025
7.4.0 982 12/18/2024
7.3.0 1,216 10/3/2024
7.2.11 1,152 8/29/2024
7.2.10 825 7/2/2024
7.2.9 1,065 6/11/2024
7.2.8 1,227 3/19/2024
7.2.7 656 2/21/2024
7.2.6 354 1/19/2024
7.2.4 230 1/16/2024
7.2.3 332 12/27/2023
7.2.2 267 12/20/2023
7.2.1 336 12/10/2023
7.2.0 291 11/30/2023
7.1.0 347 11/15/2023
7.0.6 205 11/10/2023
7.0.5 411 10/11/2023
7.0.4 404 9/26/2023
7.0.3 445 9/6/2023
7.0.2 393 8/31/2023
7.0.1 259 8/30/2023
7.0.0 437 8/4/2023
6.0.4 1,198 3/18/2023
6.0.3 409 3/10/2023
6.0.2 443 3/5/2023
6.0.1 480 2/26/2023
6.0.0 537 2/18/2023
5.0.0 1,129 12/4/2022
4.4.1 5,340 11/21/2022
4.4.0 514 11/15/2022
4.3.3 680 11/7/2022
4.3.2 573 11/2/2022
4.3.1 735 9/12/2022
4.2.5 655 9/5/2022
4.2.4 691 8/17/2022
4.2.3 688 8/5/2022
4.2.2 678 7/22/2022
4.2.1 715 7/4/2022
4.2.0 711 6/29/2022
4.1.0 503 6/27/2022
4.0.3 918 6/22/2022
4.0.2 690 6/14/2022
4.0.1 709 6/7/2022
4.0.0 615 5/27/2022
3.2.4 628 5/7/2022
3.2.3 776 4/24/2022
3.2.2 917 4/6/2022
3.2.1 762 4/4/2022
3.2.0 789 3/22/2022
3.1.19 735 3/11/2022
3.1.18 743 3/4/2022
3.1.17 709 3/1/2022
3.1.16 726 2/17/2022
3.1.15 716 2/12/2022
3.1.14 788 1/29/2022
3.1.13 468 1/10/2022
3.1.11 620 12/8/2021
3.1.10 531 12/5/2021
3.1.9 1,596 11/28/2021
3.1.8 480 11/27/2021
3.1.7 3,370 11/25/2021
3.1.6 367 11/23/2021
3.1.4 419 11/16/2021
3.1.3 415 11/13/2021
3.1.2 484 11/6/2021
3.1.1 449 11/5/2021
3.1.0 460 10/29/2021
3.0.4 426 10/26/2021
3.0.3 546 10/24/2021
3.0.2 528 10/23/2021
3.0.1 437 10/22/2021
3.0.0 461 10/21/2021
2.0.4 440 10/18/2021
2.0.3 490 10/17/2021
2.0.2 423 10/15/2021
2.0.1 415 10/5/2021
2.0.0 413 9/27/2021
1.1.0 487 9/18/2021
1.0.6 404 9/18/2021
1.0.5 491 9/15/2021
1.0.4 426 9/15/2021
1.0.3 443 9/15/2021
1.0.2 426 9/15/2021
1.0.1 495 9/12/2021