diff --git a/.gitignore b/.gitignore
index ac524ce..154e127 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,5 +1,477 @@
-/wrappers/python/ctypes/dist
-/wrappers/python/ctypes/build
-/wrappers/python/ctypes/ctREFPROP.egg-info
-/wrappers/Mathcad/buildPrime/RefpropPrimeWrapper.VC.VC.opendb
-/**/.DS_Store
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
+
+# User-specific files
+*.rsuser
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Mono auto generated files
+mono_crash.*
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+[Ww][Ii][Nn]32/
+[Aa][Rr][Mm]/
+[Aa][Rr][Mm]64/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+[Ll]ogs/
+
+# Visual Studio 2015/2017 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# Visual Studio 2017 auto generated files
+Generated\ Files/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUnit
+*.VisualState.xml
+TestResult.xml
+nunit-*.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+# Tye
+.tye/
+
+# ASP.NET Scaffolding
+ScaffoldingReadMe.txt
+
+# StyleCop
+StyleCopReport.xml
+
+# Files built by Visual Studio
+*_i.c
+*_p.c
+*_h.h
+*.ilk
+*.meta
+*.obj
+*.iobj
+*.pch
+*.pdb
+*.ipdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*_wpftmp.csproj
+*.log
+*.tlog
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Coverlet is a free, cross platform Code Coverage Tool
+coverage*.json
+coverage*.xml
+coverage*.info
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# NuGet Symbol Packages
+*.snupkg
+# The packages folder can be ignored because of Package Restore
+**/[Pp]ackages/*
+# except build/, which is used as an MSBuild target.
+!**/[Pp]ackages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/[Pp]ackages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+*.appxbundle
+*.appxupload
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!?*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Including strong name files can present a security risk
+# (https://github.com/github/gitignore/pull/2483#issue-259490424)
+#*.snk
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+ServiceFabricBackup/
+*.rptproj.bak
+
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+*.rptproj.rsuser
+*- [Bb]ackup.rdl
+*- [Bb]ackup ([0-9]).rdl
+*- [Bb]ackup ([0-9][0-9]).rdl
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio 6 auto-generated project file (contains which files were open etc.)
+*.vbp
+
+# Visual Studio 6 workspace and project file (working project files containing files to include in project)
+*.dsw
+*.dsp
+
+# Visual Studio 6 technical files
+*.ncb
+*.aps
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# CodeRush personal settings
+.cr/personal
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
+
+# Azure Stream Analytics local run output
+ASALocalRun/
+
+# MSBuild Binary and Structured Log
+*.binlog
+
+# NVidia Nsight GPU debugger configuration file
+*.nvuser
+
+# MFractors (Xamarin productivity tool) working folder
+.mfractor/
+
+# Local History for Visual Studio
+.localhistory/
+
+# Visual Studio History (VSHistory) files
+.vshistory/
+
+# BeatPulse healthcheck temp database
+healthchecksdb
+
+# Backup folder for Package Reference Convert tool in Visual Studio 2017
+MigrationBackup/
+
+# Ionide (cross platform F# VS Code tools) working folder
+.ionide/
+
+# Fody - auto-generated XML schema
+FodyWeavers.xsd
+
+# VS Code files for those working on multiple tools
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+*.code-workspace
+
+# Local History for Visual Studio Code
+.history/
+
+# Windows Installer files from build outputs
+*.cab
+*.msi
+*.msix
+*.msm
+*.msp
+
+# JetBrains Rider
+*.sln.iml
+
+##
+## Visual studio for Mac
+##
+
+
+# globs
+Makefile.in
+*.userprefs
+*.usertasks
+config.make
+config.status
+aclocal.m4
+install-sh
+autom4te.cache/
+*.tar.gz
+tarballs/
+test-results/
+
+# Mac bundle stuff
+*.dmg
+*.app
+
+# content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore
+# General
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+# content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore
+# Windows thumbnail cache files
+Thumbs.db
+ehthumbs.db
+ehthumbs_vista.db
+
+# Dump file
+*.stackdump
+
+# Folder config file
+[Dd]esktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msix
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
diff --git a/wrappers/Csharp_High_API/.gitignore b/wrappers/Csharp_High_API/.gitignore
new file mode 100644
index 0000000..154e127
--- /dev/null
+++ b/wrappers/Csharp_High_API/.gitignore
@@ -0,0 +1,477 @@
+## Ignore Visual Studio temporary files, build results, and
+## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
+
+# User-specific files
+*.rsuser
+*.suo
+*.user
+*.userosscache
+*.sln.docstates
+
+# User-specific files (MonoDevelop/Xamarin Studio)
+*.userprefs
+
+# Mono auto generated files
+mono_crash.*
+
+# Build results
+[Dd]ebug/
+[Dd]ebugPublic/
+[Rr]elease/
+[Rr]eleases/
+x64/
+x86/
+[Ww][Ii][Nn]32/
+[Aa][Rr][Mm]/
+[Aa][Rr][Mm]64/
+bld/
+[Bb]in/
+[Oo]bj/
+[Ll]og/
+[Ll]ogs/
+
+# Visual Studio 2015/2017 cache/options directory
+.vs/
+# Uncomment if you have tasks that create the project's static files in wwwroot
+#wwwroot/
+
+# Visual Studio 2017 auto generated files
+Generated\ Files/
+
+# MSTest test Results
+[Tt]est[Rr]esult*/
+[Bb]uild[Ll]og.*
+
+# NUnit
+*.VisualState.xml
+TestResult.xml
+nunit-*.xml
+
+# Build Results of an ATL Project
+[Dd]ebugPS/
+[Rr]eleasePS/
+dlldata.c
+
+# Benchmark Results
+BenchmarkDotNet.Artifacts/
+
+# .NET
+project.lock.json
+project.fragment.lock.json
+artifacts/
+
+# Tye
+.tye/
+
+# ASP.NET Scaffolding
+ScaffoldingReadMe.txt
+
+# StyleCop
+StyleCopReport.xml
+
+# Files built by Visual Studio
+*_i.c
+*_p.c
+*_h.h
+*.ilk
+*.meta
+*.obj
+*.iobj
+*.pch
+*.pdb
+*.ipdb
+*.pgc
+*.pgd
+*.rsp
+*.sbr
+*.tlb
+*.tli
+*.tlh
+*.tmp
+*.tmp_proj
+*_wpftmp.csproj
+*.log
+*.tlog
+*.vspscc
+*.vssscc
+.builds
+*.pidb
+*.svclog
+*.scc
+
+# Chutzpah Test files
+_Chutzpah*
+
+# Visual C++ cache files
+ipch/
+*.aps
+*.ncb
+*.opendb
+*.opensdf
+*.sdf
+*.cachefile
+*.VC.db
+*.VC.VC.opendb
+
+# Visual Studio profiler
+*.psess
+*.vsp
+*.vspx
+*.sap
+
+# Visual Studio Trace Files
+*.e2e
+
+# TFS 2012 Local Workspace
+$tf/
+
+# Guidance Automation Toolkit
+*.gpState
+
+# ReSharper is a .NET coding add-in
+_ReSharper*/
+*.[Rr]e[Ss]harper
+*.DotSettings.user
+
+# TeamCity is a build add-in
+_TeamCity*
+
+# DotCover is a Code Coverage Tool
+*.dotCover
+
+# AxoCover is a Code Coverage Tool
+.axoCover/*
+!.axoCover/settings.json
+
+# Coverlet is a free, cross platform Code Coverage Tool
+coverage*.json
+coverage*.xml
+coverage*.info
+
+# Visual Studio code coverage results
+*.coverage
+*.coveragexml
+
+# NCrunch
+_NCrunch_*
+.*crunch*.local.xml
+nCrunchTemp_*
+
+# MightyMoose
+*.mm.*
+AutoTest.Net/
+
+# Web workbench (sass)
+.sass-cache/
+
+# Installshield output folder
+[Ee]xpress/
+
+# DocProject is a documentation generator add-in
+DocProject/buildhelp/
+DocProject/Help/*.HxT
+DocProject/Help/*.HxC
+DocProject/Help/*.hhc
+DocProject/Help/*.hhk
+DocProject/Help/*.hhp
+DocProject/Help/Html2
+DocProject/Help/html
+
+# Click-Once directory
+publish/
+
+# Publish Web Output
+*.[Pp]ublish.xml
+*.azurePubxml
+# Note: Comment the next line if you want to checkin your web deploy settings,
+# but database connection strings (with potential passwords) will be unencrypted
+*.pubxml
+*.publishproj
+
+# Microsoft Azure Web App publish settings. Comment the next line if you want to
+# checkin your Azure Web App publish settings, but sensitive information contained
+# in these scripts will be unencrypted
+PublishScripts/
+
+# NuGet Packages
+*.nupkg
+# NuGet Symbol Packages
+*.snupkg
+# The packages folder can be ignored because of Package Restore
+**/[Pp]ackages/*
+# except build/, which is used as an MSBuild target.
+!**/[Pp]ackages/build/
+# Uncomment if necessary however generally it will be regenerated when needed
+#!**/[Pp]ackages/repositories.config
+# NuGet v3's project.json files produces more ignorable files
+*.nuget.props
+*.nuget.targets
+
+# Microsoft Azure Build Output
+csx/
+*.build.csdef
+
+# Microsoft Azure Emulator
+ecf/
+rcf/
+
+# Windows Store app package directories and files
+AppPackages/
+BundleArtifacts/
+Package.StoreAssociation.xml
+_pkginfo.txt
+*.appx
+*.appxbundle
+*.appxupload
+
+# Visual Studio cache files
+# files ending in .cache can be ignored
+*.[Cc]ache
+# but keep track of directories ending in .cache
+!?*.[Cc]ache/
+
+# Others
+ClientBin/
+~$*
+*~
+*.dbmdl
+*.dbproj.schemaview
+*.jfm
+*.pfx
+*.publishsettings
+orleans.codegen.cs
+
+# Including strong name files can present a security risk
+# (https://github.com/github/gitignore/pull/2483#issue-259490424)
+#*.snk
+
+# Since there are multiple workflows, uncomment next line to ignore bower_components
+# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
+#bower_components/
+
+# RIA/Silverlight projects
+Generated_Code/
+
+# Backup & report files from converting an old project file
+# to a newer Visual Studio version. Backup files are not needed,
+# because we have git ;-)
+_UpgradeReport_Files/
+Backup*/
+UpgradeLog*.XML
+UpgradeLog*.htm
+ServiceFabricBackup/
+*.rptproj.bak
+
+# SQL Server files
+*.mdf
+*.ldf
+*.ndf
+
+# Business Intelligence projects
+*.rdl.data
+*.bim.layout
+*.bim_*.settings
+*.rptproj.rsuser
+*- [Bb]ackup.rdl
+*- [Bb]ackup ([0-9]).rdl
+*- [Bb]ackup ([0-9][0-9]).rdl
+
+# Microsoft Fakes
+FakesAssemblies/
+
+# GhostDoc plugin setting file
+*.GhostDoc.xml
+
+# Node.js Tools for Visual Studio
+.ntvs_analysis.dat
+node_modules/
+
+# Visual Studio 6 build log
+*.plg
+
+# Visual Studio 6 workspace options file
+*.opt
+
+# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
+*.vbw
+
+# Visual Studio 6 auto-generated project file (contains which files were open etc.)
+*.vbp
+
+# Visual Studio 6 workspace and project file (working project files containing files to include in project)
+*.dsw
+*.dsp
+
+# Visual Studio 6 technical files
+*.ncb
+*.aps
+
+# Visual Studio LightSwitch build output
+**/*.HTMLClient/GeneratedArtifacts
+**/*.DesktopClient/GeneratedArtifacts
+**/*.DesktopClient/ModelManifest.xml
+**/*.Server/GeneratedArtifacts
+**/*.Server/ModelManifest.xml
+_Pvt_Extensions
+
+# Paket dependency manager
+.paket/paket.exe
+paket-files/
+
+# FAKE - F# Make
+.fake/
+
+# CodeRush personal settings
+.cr/personal
+
+# Python Tools for Visual Studio (PTVS)
+__pycache__/
+*.pyc
+
+# Cake - Uncomment if you are using it
+# tools/**
+# !tools/packages.config
+
+# Tabs Studio
+*.tss
+
+# Telerik's JustMock configuration file
+*.jmconfig
+
+# BizTalk build output
+*.btp.cs
+*.btm.cs
+*.odx.cs
+*.xsd.cs
+
+# OpenCover UI analysis results
+OpenCover/
+
+# Azure Stream Analytics local run output
+ASALocalRun/
+
+# MSBuild Binary and Structured Log
+*.binlog
+
+# NVidia Nsight GPU debugger configuration file
+*.nvuser
+
+# MFractors (Xamarin productivity tool) working folder
+.mfractor/
+
+# Local History for Visual Studio
+.localhistory/
+
+# Visual Studio History (VSHistory) files
+.vshistory/
+
+# BeatPulse healthcheck temp database
+healthchecksdb
+
+# Backup folder for Package Reference Convert tool in Visual Studio 2017
+MigrationBackup/
+
+# Ionide (cross platform F# VS Code tools) working folder
+.ionide/
+
+# Fody - auto-generated XML schema
+FodyWeavers.xsd
+
+# VS Code files for those working on multiple tools
+.vscode/*
+!.vscode/settings.json
+!.vscode/tasks.json
+!.vscode/launch.json
+!.vscode/extensions.json
+*.code-workspace
+
+# Local History for Visual Studio Code
+.history/
+
+# Windows Installer files from build outputs
+*.cab
+*.msi
+*.msix
+*.msm
+*.msp
+
+# JetBrains Rider
+*.sln.iml
+
+##
+## Visual studio for Mac
+##
+
+
+# globs
+Makefile.in
+*.userprefs
+*.usertasks
+config.make
+config.status
+aclocal.m4
+install-sh
+autom4te.cache/
+*.tar.gz
+tarballs/
+test-results/
+
+# Mac bundle stuff
+*.dmg
+*.app
+
+# content below from: https://github.com/github/gitignore/blob/master/Global/macOS.gitignore
+# General
+.DS_Store
+.AppleDouble
+.LSOverride
+
+# Icon must end with two \r
+Icon
+
+
+# Thumbnails
+._*
+
+# Files that might appear in the root of a volume
+.DocumentRevisions-V100
+.fseventsd
+.Spotlight-V100
+.TemporaryItems
+.Trashes
+.VolumeIcon.icns
+.com.apple.timemachine.donotpresent
+
+# Directories potentially created on remote AFP share
+.AppleDB
+.AppleDesktop
+Network Trash Folder
+Temporary Items
+.apdisk
+
+# content below from: https://github.com/github/gitignore/blob/master/Global/Windows.gitignore
+# Windows thumbnail cache files
+Thumbs.db
+ehthumbs.db
+ehthumbs_vista.db
+
+# Dump file
+*.stackdump
+
+# Folder config file
+[Dd]esktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Windows Installer files
+*.cab
+*.msi
+*.msix
+*.msm
+*.msp
+
+# Windows shortcuts
+*.lnk
diff --git a/wrappers/Csharp_High_API/README.md b/wrappers/Csharp_High_API/README.md
new file mode 100644
index 0000000..eac0598
--- /dev/null
+++ b/wrappers/Csharp_High_API/README.md
@@ -0,0 +1,40 @@
+# Wrapper of REFPROP for C#
+
+The files in this directory demonstrate how to call REFPROP routines from a C# program for High level API. This example can be used to easily and quickly create your own C# program that uses RefProp.
+Cancel changes
+
+
+## To Use Wraper
+
+1. Clone the repository.
+2. Insert your project.
+3. Add references the DLL
+4. Create an object.
+5. Here is an example :
+
+ using RefpropDLL;
+ public partial class Refprop
+ {
+ Refprop refprop = new Refprop(); // creating object
+
+ string prop_1 = "T"; // property 1, T Ç Temperature
+ double prop_1_value = "300"; // property 1 value, for temperature in K
+ string prop_2 = "p"; // property 2, P : Pressure
+ double prop_2_value = "200000; // property 2 value, for pressure in Pa
+ string output_prop = "H"; // output property, H : Enthalpy (J/kg)
+ string fluid = "R134A"; // fluid
+ double output_val = refprop.Calculate(output_prop, prop_1, prop_1_value, prop_2, prop_2_value, fluid);
+ // this method calculates desired property. output : 424.410 J/kg
+
+ string phase = refprop.Phase(prop_1, prop_1_value, prop_2, prop_2_value, fluid);
+ // this method gives the phase state of the fluid.
+ // phase : Superheated gas
+
+ double dll = refprop.DLL_VERSION(); // this method gives DLL version. (version*10000)
+ dll = dll / 10000;
+ // dll : 10
+
+ }
+
+* You must already have REFPROP installed in the default location
+* refprop.SetDLLPathProgramtDirectory(); this method can be used if dll will be used in the project. Sets the path : appdomain.currentdomain.basedirectory
diff --git a/wrappers/Csharp_High_API/RefpropDLL/Properties/AssemblyInfo.cs b/wrappers/Csharp_High_API/RefpropDLL/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..61094a5
--- /dev/null
+++ b/wrappers/Csharp_High_API/RefpropDLL/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("RefpropDLL")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("RefpropDLL")]
+[assembly: AssemblyCopyright("Copyright © 2023")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("54455f0b-34f7-4b52-bee6-72c7bf15a007")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/wrappers/Csharp_High_API/RefpropDLL/Refprop.cs b/wrappers/Csharp_High_API/RefpropDLL/Refprop.cs
new file mode 100644
index 0000000..2536e4f
--- /dev/null
+++ b/wrappers/Csharp_High_API/RefpropDLL/Refprop.cs
@@ -0,0 +1,162 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace RefpropDLL
+{
+ public class Refprop
+ {
+ int iUnits = 21;
+ int iFlag = 1;
+ int iMass = 1;
+ double[] z = new double[20];
+ double[] Output = new double[200];
+ static string hUnits = new string(' ', 255);
+ double[] x = new double[20];
+ double[] y = new double[20];
+ double[] x3 = new double[20];
+ static string hpath = "C:\\Program Files (x86)\\REFPROP";
+ bool base_path = true;
+ int iUCode = 0;
+ double q = 0;
+ static string herr = new string(' ', 255);
+ int herr_lenght = herr.Length;
+ int hUnits_length = hUnits.Length;
+
+ ///
+ /// This method sets the dll program directory.
+ ///
+ public void SetDLLPathProgramtDirectory()
+ {
+ string path = AppDomain.CurrentDomain.BaseDirectory;
+ hpath = path;
+ base_path = false;
+
+ }
+
+ ///
+ /// This method define fuild phase depends on given two properties like T,P,Q,etc.
+ ///
+ /// Input Property 1, Ex.: "T" (K)
+ /// Input Property 1 Value, Ex.: 300 (K)
+ /// Input Property 2, Ex.: "P" (Pa)
+ /// Input Property 2 Value, Ex.: 300000 (Pa)
+ /// Fluild Name, Ex.: "R134A"
+ /// Desired Poperty in double type, Ex : 200000 (J/kg)
+ public string Phase(string a_p, double a, string b_p, double b, string hFldi)
+ {
+ int hpath_Lenght = hpath.Length;
+ string hFld = hFldi;
+ int ierr = 0;
+ int hFld_length = hFld.Length;
+ string hIn = a_p + b_p;
+ string hOut = "PHASE";
+ int hIn_length = hIn.Length;
+ int hOut_lenght = hOut.Length;
+ if (hOut == "Q") { hOut = "QMASS"; }
+
+ if (base_path)
+ {
+ Refprop_DLL_base.SETPATHdll(hpath, ref hpath_Lenght);
+ Refprop_DLL_base.SETFLUIDSdll(hFld, ref ierr, ref hFld_length);
+ Refprop_DLL_base.REFPROPdll(ref hFld, ref hIn, ref hOut, ref iUnits, ref iFlag, ref iMass, ref a, ref b, z, Output, ref hUnits, ref iUCode, x, y, x3, ref q, ref ierr, ref herr,
+ ref hFld_length, ref hIn_length, ref hOut_lenght, ref hUnits_length, ref herr_lenght);
+ }
+
+ else
+ {
+ Refprop_DLL.SETPATHdll(hpath, ref hpath_Lenght);
+ Refprop_DLL.SETFLUIDSdll(hFld, ref ierr, ref hFld_length);
+ Refprop_DLL.REFPROPdll(ref hFld, ref hIn, ref hOut, ref iUnits, ref iFlag, ref iMass, ref a, ref b, z, Output, ref hUnits, ref iUCode, x, y, x3, ref q, ref ierr, ref herr,
+ ref hFld_length, ref hIn_length, ref hOut_lenght, ref hUnits_length, ref herr_lenght);
+ }
+
+ string result = hUnits;
+ return result;
+
+ }
+
+ ///
+ /// This method calculates propety depends on given two properties like T,P,Q,etc.
+ ///
+ /// Output Property 1, Ex. : "H" (Enthalpy)
+ /// Input Property 1, Ex.: "T" (K)
+ /// Input Property 1 Value, Ex.: 300 (K)
+ /// Input Property 2, Ex.: "P" (Pa)
+ /// Input Property 2 Value, Ex.: 300000 (Pa)
+ /// Fluild Name, Ex.: "R134A"
+ /// Desired Poperty in double type, Ex : 200000 (J/kg)
+ public double Calculate(string hOuti, string a_p, double a, string b_p, double b, string hFldi)
+ {
+
+ int hpath_Lenght = hpath.Length;
+ Refprop_DLL.SETPATHdll(hpath, ref hpath_Lenght);
+ string hFld = hFldi;
+ int ierr = 0;
+ int hFld_length = hFld.Length;
+ Refprop_DLL.SETFLUIDSdll(hFld, ref ierr, ref hFld_length);
+ string hIn = a_p + b_p;
+ string hOut = hOuti;
+ int hIn_length = hIn.Length;
+ int hOut_lenght = hOut.Length;
+
+
+
+ if (hOut == "Q") { hOut = "QMASS"; } // For the quality, hOuti must be type as "QMASS"
+ if (base_path)
+ {
+ Refprop_DLL_base.REFPROPdll(ref hFld, ref hIn, ref hOut, ref iUnits, ref iFlag, ref iMass, ref a, ref b, z, Output, ref hUnits, ref iUCode, x, y, x3, ref q, ref ierr, ref herr,
+ ref hFld_length, ref hIn_length, ref hOut_lenght, ref hUnits_length, ref herr_lenght);
+ }
+ else
+ {
+ Refprop_DLL.REFPROPdll(ref hFld, ref hIn, ref hOut, ref iUnits, ref iFlag, ref iMass, ref a, ref b, z, Output, ref hUnits, ref iUCode, x, y, x3, ref q, ref ierr, ref herr,
+ ref hFld_length, ref hIn_length, ref hOut_lenght, ref hUnits_length, ref herr_lenght);
+ }
+
+
+ double result = Output[0];
+
+ return result;
+ }
+
+ ///
+ /// This method gives DLL version.
+ ///
+ /// Retuns type is int, Ex:10 type
+ public int DLL_VERSION()
+ {
+ int hpath_Lenght = hpath.Length;
+ Refprop_DLL.SETPATHdll(hpath, ref hpath_Lenght);
+ string hFld = "WATER";
+ int ierr = 0;
+ int hFld_length = hFld.Length;
+ Refprop_DLL.SETFLUIDSdll(hFld, ref ierr, ref hFld_length);
+ string hIn = "TP";
+ string hOut = "DLL#";
+ int hIn_length = hIn.Length;
+ int hOut_lenght = hOut.Length;
+ double a = 300;
+ double b = 101325;
+
+ if (hOut == "Q") { hOut = "QMASS"; }
+ if (base_path)
+ {
+ Refprop_DLL_base.REFPROPdll(ref hFld, ref hIn, ref hOut, ref iUnits, ref iFlag, ref iMass, ref a, ref b, z, Output, ref hUnits, ref iUCode, x, y, x3, ref q, ref ierr, ref herr,
+ ref hFld_length, ref hIn_length, ref hOut_lenght, ref hUnits_length, ref herr_lenght);
+ }
+ else
+ {
+ Refprop_DLL.REFPROPdll(ref hFld, ref hIn, ref hOut, ref iUnits, ref iFlag, ref iMass, ref a, ref b, z, Output, ref hUnits, ref iUCode, x, y, x3, ref q, ref ierr, ref herr,
+ ref hFld_length, ref hIn_length, ref hOut_lenght, ref hUnits_length, ref herr_lenght);
+ }
+
+ int result = iUCode;
+ return result;
+ }
+
+ }
+}
diff --git a/wrappers/Csharp_High_API/RefpropDLL/RefpropDLL.csproj b/wrappers/Csharp_High_API/RefpropDLL/RefpropDLL.csproj
new file mode 100644
index 0000000..e0f6266
--- /dev/null
+++ b/wrappers/Csharp_High_API/RefpropDLL/RefpropDLL.csproj
@@ -0,0 +1,50 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {54455F0B-34F7-4B52-BEE6-72C7BF15A007}
+ Library
+ Properties
+ RefpropDLL
+ RefpropDLL
+ v4.7.2
+ 512
+ true
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+ x64
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wrappers/Csharp_High_API/RefpropDLL/Refprop_DLL.cs b/wrappers/Csharp_High_API/RefpropDLL/Refprop_DLL.cs
new file mode 100644
index 0000000..79f9037
--- /dev/null
+++ b/wrappers/Csharp_High_API/RefpropDLL/Refprop_DLL.cs
@@ -0,0 +1,102 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Text;
+using System.Threading.Tasks;
+using System.Xml.Linq;
+
+namespace RefpropDLL
+{
+ public class Refprop_DLL
+ {
+
+ [DllImport(@"REFPRP64.DLL")]
+ public static extern void SETPATHdll(string hpath, ref int hpath_Lenght);
+ [DllImport(@"REFPRP64.DLL")]
+
+ public static extern void SETFLUIDSdll(string hFld, ref int ierr, ref int hFld_length);
+
+ [DllImport(@"REFPRP64.DLL")]
+ /*Calculate the properties identified in the hOut string for the inputs specified in the hIn string for the fluid or mixture given in the hFld string.
+ The unit identifier for the properties should be passed in the iUnits variable (as described below).
+ Compositions can be sent as mole fractions or mass fractions in the z array depending on the value of iMass.*/
+
+ public static extern void REFPROPdll(
+
+ [MarshalAs(UnmanagedType.VBByRefStr)] ref string hFld, // hFld [char ,in] :: Fluid string.
+ [MarshalAs(UnmanagedType.VBByRefStr)] ref string hIn, // hIn [char ,in] :: Input string of properties being sent to the routine.
+ [MarshalAs(UnmanagedType.VBByRefStr)] ref string hOut, // hOut [char ,in] :: Output string of properties to be calculated.
+ ref int iUnits, // iUnits [int ,in] :: The unit system to be used for the input and output properties (such as SI, English, etc.). MOLAR BASE SI = 20
+ ref int iFlag, // iFlag [int ,in] :: Flag to specify if the routine SATSPLN should be called (where a value of 1 activates the call).
+ ref int iMass, // iMass [int ,in] :: Specifies if the input composition is mole or mass based
+ ref double a, // a [double ,in] :: First input property as specified in the hIn variable.
+ ref double b, // b [double ,in] :: Second input property as specified in the hIn variable.
+ [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] double[] z, // z (20) [double ,in] :: Molar composition (array of size ncmax=20).
+ [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] double[] Output, // Output (200) [double ,out] :: Array of properties specified by the hOut string (array of size
+ // 200 dimensioned as double precision). The number -9999970 will be returned when errors occur, and the number
+ // -9999990 will be returned when nothing was calculated. Read the comments in the ALLPROPS routine to fully understand the contents of this array.
+ [MarshalAs(UnmanagedType.VBByRefStr)] ref string hUnits, // hUnits [char ,out] :: The units for the first property in the Output array. Strings such as a fluid name may also be passed back in this position.
+ // To obtain the units for all of the properties sent to the string, call the ALLPROPS routine instead.
+ ref int iUCode, // iUCode [int ,out] :: Unit code that represents the units of the first property in the Output array. See below for further details.
+ [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] double[] x, // x (20) [double ,out] :: Composition of the liquid phase (array of mole fractions of size 20) for two-phase states on a mole or mass basis depending on the value of iMass.
+ [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] double[] y, // y (20) [double ,out] :: Composition of the vapor phase(array of mole fractions of size 20) for two-phase states on a mole or mass basis depending on the value of iMass.
+ [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] double[] x3, // x3 (20) [double ,out] :: Reserved for returning the composition of a second liquid phase for LLE or VLLE.
+ ref double q, // q [double ,out] :: Vapor quality on a mole or mass basis depending on the value of iMass. (See subroutine ABFLSH for the definitions of values. returned for this variable).
+ // To obtain the molar quality regardless of iMass, send “qmole” as an input in hIn, and vice-versa for “qmass”.
+ ref int ierr, // ierr [int ,out] :: Error flag
+ [MarshalAs(UnmanagedType.VBByRefStr)] ref string herr, // herr [char ,out] :: Error string (character*255)
+ ref int hFld_length, // hFld_length [int ] :: length of variable hFld (default: 10000)
+ ref int hIn_length, // hIn_length [int ] :: length of variable hIn (default: 255)
+ ref int hOut_length, // hOut_length [int ] :: length of variable hOut (default: 255)
+ ref int hUnits_length, // hUnits_length [int ] :: length of variable hUnits (default: 255)
+ ref int herr_length);
+ }
+
+ public class Refprop_DLL_base
+ {
+
+ [DllImport(@"C:\Program Files (x86)\REFPROP\REFPRP64.DLL")]
+ public static extern void SETPATHdll(string hpath, ref int hpath_Lenght);
+ [DllImport(@"C:\Program Files (x86)\REFPROP\REFPRP64.DLL")]
+
+ public static extern void SETFLUIDSdll(string hFld, ref int ierr, ref int hFld_length);
+
+ [DllImport(@"C:\Program Files (x86)\REFPROP\REFPRP64.DLL")]
+ /*Calculate the properties identified in the hOut string for the inputs specified in the hIn string for the fluid or mixture given in the hFld string.
+ The unit identifier for the properties should be passed in the iUnits variable (as described below).
+ Compositions can be sent as mole fractions or mass fractions in the z array depending on the value of iMass.*/
+
+ public static extern void REFPROPdll(
+
+ [MarshalAs(UnmanagedType.VBByRefStr)] ref string hFld, // hFld [char ,in] :: Fluid string.
+ [MarshalAs(UnmanagedType.VBByRefStr)] ref string hIn, // hIn [char ,in] :: Input string of properties being sent to the routine.
+ [MarshalAs(UnmanagedType.VBByRefStr)] ref string hOut, // hOut [char ,in] :: Output string of properties to be calculated.
+ ref int iUnits, // iUnits [int ,in] :: The unit system to be used for the input and output properties (such as SI, English, etc.). MOLAR BASE SI = 20
+ ref int iFlag, // iFlag [int ,in] :: Flag to specify if the routine SATSPLN should be called (where a value of 1 activates the call).
+ ref int iMass, // iMass [int ,in] :: Specifies if the input composition is mole or mass based
+ ref double a, // a [double ,in] :: First input property as specified in the hIn variable.
+ ref double b, // b [double ,in] :: Second input property as specified in the hIn variable.
+ [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] double[] z, // z (20) [double ,in] :: Molar composition (array of size ncmax=20).
+ [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] double[] Output, // Output (200) [double ,out] :: Array of properties specified by the hOut string (array of size
+ // 200 dimensioned as double precision). The number -9999970 will be returned when errors occur, and the number
+ // -9999990 will be returned when nothing was calculated. Read the comments in the ALLPROPS routine to fully understand the contents of this array.
+ [MarshalAs(UnmanagedType.VBByRefStr)] ref string hUnits, // hUnits [char ,out] :: The units for the first property in the Output array. Strings such as a fluid name may also be passed back in this position.
+ // To obtain the units for all of the properties sent to the string, call the ALLPROPS routine instead.
+ ref int iUCode, // iUCode [int ,out] :: Unit code that represents the units of the first property in the Output array. See below for further details.
+ [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] double[] x, // x (20) [double ,out] :: Composition of the liquid phase (array of mole fractions of size 20) for two-phase states on a mole or mass basis depending on the value of iMass.
+ [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] double[] y, // y (20) [double ,out] :: Composition of the vapor phase(array of mole fractions of size 20) for two-phase states on a mole or mass basis depending on the value of iMass.
+ [MarshalAs(UnmanagedType.LPArray, SizeParamIndex = 0)] double[] x3, // x3 (20) [double ,out] :: Reserved for returning the composition of a second liquid phase for LLE or VLLE.
+ ref double q, // q [double ,out] :: Vapor quality on a mole or mass basis depending on the value of iMass. (See subroutine ABFLSH for the definitions of values. returned for this variable).
+ // To obtain the molar quality regardless of iMass, send “qmole” as an input in hIn, and vice-versa for “qmass”.
+ ref int ierr, // ierr [int ,out] :: Error flag
+ [MarshalAs(UnmanagedType.VBByRefStr)] ref string herr, // herr [char ,out] :: Error string (character*255)
+ ref int hFld_length, // hFld_length [int ] :: length of variable hFld (default: 10000)
+ ref int hIn_length, // hIn_length [int ] :: length of variable hIn (default: 255)
+ ref int hOut_length, // hOut_length [int ] :: length of variable hOut (default: 255)
+ ref int hUnits_length, // hUnits_length [int ] :: length of variable hUnits (default: 255)
+ ref int herr_length);
+ }
+
+}
diff --git a/wrappers/Csharp_High_API/Refprop_CSharp.sln b/wrappers/Csharp_High_API/Refprop_CSharp.sln
new file mode 100644
index 0000000..d6bc88c
--- /dev/null
+++ b/wrappers/Csharp_High_API/Refprop_CSharp.sln
@@ -0,0 +1,31 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.4.33205.214
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "RefpropDLL", "RefpropDLL\RefpropDLL.csproj", "{54455F0B-34F7-4B52-BEE6-72C7BF15A007}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Refprop_Example", "Refprop_Example\Refprop_Example.csproj", "{8E17BC1E-D7C5-4317-A7A7-3F3DE8212773}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {54455F0B-34F7-4B52-BEE6-72C7BF15A007}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {54455F0B-34F7-4B52-BEE6-72C7BF15A007}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {54455F0B-34F7-4B52-BEE6-72C7BF15A007}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {54455F0B-34F7-4B52-BEE6-72C7BF15A007}.Release|Any CPU.Build.0 = Release|Any CPU
+ {8E17BC1E-D7C5-4317-A7A7-3F3DE8212773}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {8E17BC1E-D7C5-4317-A7A7-3F3DE8212773}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {8E17BC1E-D7C5-4317-A7A7-3F3DE8212773}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {8E17BC1E-D7C5-4317-A7A7-3F3DE8212773}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {66E5718F-9425-4A98-9D55-DB0A82BD582E}
+ EndGlobalSection
+EndGlobal
diff --git a/wrappers/Csharp_High_API/Refprop_Example/App.config b/wrappers/Csharp_High_API/Refprop_Example/App.config
new file mode 100644
index 0000000..56efbc7
--- /dev/null
+++ b/wrappers/Csharp_High_API/Refprop_Example/App.config
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/wrappers/Csharp_High_API/Refprop_Example/Program.cs b/wrappers/Csharp_High_API/Refprop_Example/Program.cs
new file mode 100644
index 0000000..694b33a
--- /dev/null
+++ b/wrappers/Csharp_High_API/Refprop_Example/Program.cs
@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+
+namespace Refprop_Deneme
+{
+ internal static class Program
+ {
+ ///
+ /// The main entry point for the application.
+ ///
+ [STAThread]
+ static void Main()
+ {
+ Application.EnableVisualStyles();
+ Application.SetCompatibleTextRenderingDefault(false);
+ Application.Run(new Refprop_Form());
+ }
+ }
+}
diff --git a/wrappers/Csharp_High_API/Refprop_Example/Properties/AssemblyInfo.cs b/wrappers/Csharp_High_API/Refprop_Example/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..4b44c19
--- /dev/null
+++ b/wrappers/Csharp_High_API/Refprop_Example/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("Refprop_Example")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Refprop_Deneme")]
+[assembly: AssemblyCopyright("Copyright © 2023")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible
+// to COM components. If you need to access a type in this assembly from
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("8e17bc1e-d7c5-4317-a7a7-3f3de8212773")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/wrappers/Csharp_High_API/Refprop_Example/Properties/Resources.Designer.cs b/wrappers/Csharp_High_API/Refprop_Example/Properties/Resources.Designer.cs
new file mode 100644
index 0000000..55ac375
--- /dev/null
+++ b/wrappers/Csharp_High_API/Refprop_Example/Properties/Resources.Designer.cs
@@ -0,0 +1,63 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Refprop_Example.Properties {
+ using System;
+
+
+ ///
+ /// A strongly-typed resource class, for looking up localized strings, etc.
+ ///
+ // This class was auto-generated by the StronglyTypedResourceBuilder
+ // class via a tool like ResGen or Visual Studio.
+ // To add or remove a member, edit your .ResX file then rerun ResGen
+ // with the /str option, or rebuild your VS project.
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")]
+ [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ internal class Resources {
+
+ private static global::System.Resources.ResourceManager resourceMan;
+
+ private static global::System.Globalization.CultureInfo resourceCulture;
+
+ [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
+ internal Resources() {
+ }
+
+ ///
+ /// Returns the cached ResourceManager instance used by this class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Resources.ResourceManager ResourceManager {
+ get {
+ if (object.ReferenceEquals(resourceMan, null)) {
+ global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Refprop_Example.Properties.Resources", typeof(Resources).Assembly);
+ resourceMan = temp;
+ }
+ return resourceMan;
+ }
+ }
+
+ ///
+ /// Overrides the current thread's CurrentUICulture property for all
+ /// resource lookups using this strongly typed resource class.
+ ///
+ [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+ internal static global::System.Globalization.CultureInfo Culture {
+ get {
+ return resourceCulture;
+ }
+ set {
+ resourceCulture = value;
+ }
+ }
+ }
+}
diff --git a/wrappers/Csharp_High_API/Refprop_Example/Properties/Resources.resx b/wrappers/Csharp_High_API/Refprop_Example/Properties/Resources.resx
new file mode 100644
index 0000000..af7dbeb
--- /dev/null
+++ b/wrappers/Csharp_High_API/Refprop_Example/Properties/Resources.resx
@@ -0,0 +1,117 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file
diff --git a/wrappers/Csharp_High_API/Refprop_Example/Properties/Settings.Designer.cs b/wrappers/Csharp_High_API/Refprop_Example/Properties/Settings.Designer.cs
new file mode 100644
index 0000000..ff29b97
--- /dev/null
+++ b/wrappers/Csharp_High_API/Refprop_Example/Properties/Settings.Designer.cs
@@ -0,0 +1,26 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+// Runtime Version:4.0.30319.42000
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+namespace Refprop_Example.Properties {
+
+
+ [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.4.0.0")]
+ internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase {
+
+ private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+ public static Settings Default {
+ get {
+ return defaultInstance;
+ }
+ }
+ }
+}
diff --git a/wrappers/Csharp_High_API/Refprop_Example/Properties/Settings.settings b/wrappers/Csharp_High_API/Refprop_Example/Properties/Settings.settings
new file mode 100644
index 0000000..3964565
--- /dev/null
+++ b/wrappers/Csharp_High_API/Refprop_Example/Properties/Settings.settings
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/wrappers/Csharp_High_API/Refprop_Example/Refprop_Example.csproj b/wrappers/Csharp_High_API/Refprop_Example/Refprop_Example.csproj
new file mode 100644
index 0000000..fc1ddff
--- /dev/null
+++ b/wrappers/Csharp_High_API/Refprop_Example/Refprop_Example.csproj
@@ -0,0 +1,115 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {8E17BC1E-D7C5-4317-A7A7-3F3DE8212773}
+ WinExe
+ Refprop_Example
+ Refprop_Example
+ v4.7.2
+ 512
+ true
+ true
+ publish\
+ true
+ Disk
+ false
+ Foreground
+ 7
+ Days
+ false
+ false
+ true
+ 0
+ 1.0.0.%2a
+ false
+ false
+ true
+
+
+ x64
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+ False
+ ..\RefpropDLL\bin\Debug\RefpropDLL.dll
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Form
+
+
+ Refprop_Form.cs
+
+
+
+
+ Refprop_Form.cs
+
+
+ ResXFileCodeGenerator
+ Resources.Designer.cs
+ Designer
+
+
+ True
+ Resources.resx
+ True
+
+
+ SettingsSingleFileGenerator
+ Settings.Designer.cs
+
+
+ True
+ Settings.settings
+ True
+
+
+
+
+
+
+
+ False
+ Microsoft .NET Framework 4.7.2 %28x86 and x64%29
+ true
+
+
+ False
+ .NET Framework 3.5 SP1
+ false
+
+
+
+
\ No newline at end of file
diff --git a/wrappers/Csharp_High_API/Refprop_Example/Refprop_Form.Designer.cs b/wrappers/Csharp_High_API/Refprop_Example/Refprop_Form.Designer.cs
new file mode 100644
index 0000000..fc7bba9
--- /dev/null
+++ b/wrappers/Csharp_High_API/Refprop_Example/Refprop_Form.Designer.cs
@@ -0,0 +1,367 @@
+namespace Refprop_Deneme
+{
+ partial class Refprop_Form
+ {
+ ///
+ /// Required designer variable.
+ ///
+ private System.ComponentModel.IContainer components = null;
+
+ ///
+ /// Clean up any resources being used.
+ ///
+ /// true if managed resources should be disposed; otherwise, false.
+ protected override void Dispose(bool disposing)
+ {
+ if (disposing && (components != null))
+ {
+ components.Dispose();
+ }
+ base.Dispose(disposing);
+ }
+
+ #region Windows Form Designer generated code
+
+ ///
+ /// Required method for Designer support - do not modify
+ /// the contents of this method with the code editor.
+ ///
+ private void InitializeComponent()
+ {
+ this.calculate = new System.Windows.Forms.Button();
+ this.label1 = new System.Windows.Forms.Label();
+ this.label2 = new System.Windows.Forms.Label();
+ this.label3 = new System.Windows.Forms.Label();
+ this.label4 = new System.Windows.Forms.Label();
+ this.property_1_value = new System.Windows.Forms.TextBox();
+ this.label5 = new System.Windows.Forms.Label();
+ this.property_2_value = new System.Windows.Forms.TextBox();
+ this.label6 = new System.Windows.Forms.Label();
+ this.output_property_value = new System.Windows.Forms.TextBox();
+ this.property_1 = new System.Windows.Forms.ComboBox();
+ this.property_2 = new System.Windows.Forms.ComboBox();
+ this.output_property = new System.Windows.Forms.ComboBox();
+ this.refrigerant = new System.Windows.Forms.ComboBox();
+ this.label7 = new System.Windows.Forms.Label();
+ this.property_1_unit = new System.Windows.Forms.Label();
+ this.property_2_unit = new System.Windows.Forms.Label();
+ this.output_unit = new System.Windows.Forms.Label();
+ this.label10 = new System.Windows.Forms.Label();
+ this.phase_textbox = new System.Windows.Forms.TextBox();
+ this.label9 = new System.Windows.Forms.Label();
+ this.dll_version_label = new System.Windows.Forms.Label();
+ this.SuspendLayout();
+ //
+ // calculate
+ //
+ this.calculate.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.calculate.Location = new System.Drawing.Point(20, 342);
+ this.calculate.Name = "calculate";
+ this.calculate.Size = new System.Drawing.Size(86, 32);
+ this.calculate.TabIndex = 0;
+ this.calculate.Text = "Calculate";
+ this.calculate.UseVisualStyleBackColor = true;
+ this.calculate.Click += new System.EventHandler(this.calculate_Click);
+ //
+ // label1
+ //
+ this.label1.AutoSize = true;
+ this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label1.Location = new System.Drawing.Point(16, 60);
+ this.label1.Name = "label1";
+ this.label1.Size = new System.Drawing.Size(82, 20);
+ this.label1.TabIndex = 2;
+ this.label1.Text = "Property-1";
+ //
+ // label2
+ //
+ this.label2.AutoSize = true;
+ this.label2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label2.Location = new System.Drawing.Point(16, 216);
+ this.label2.Name = "label2";
+ this.label2.Size = new System.Drawing.Size(121, 20);
+ this.label2.TabIndex = 4;
+ this.label2.Text = "Output Property";
+ //
+ // label3
+ //
+ this.label3.AutoSize = true;
+ this.label3.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label3.Location = new System.Drawing.Point(16, 138);
+ this.label3.Name = "label3";
+ this.label3.Size = new System.Drawing.Size(82, 20);
+ this.label3.TabIndex = 6;
+ this.label3.Text = "Property-2";
+ //
+ // label4
+ //
+ this.label4.AutoSize = true;
+ this.label4.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label4.Location = new System.Drawing.Point(16, 99);
+ this.label4.Name = "label4";
+ this.label4.Size = new System.Drawing.Size(127, 20);
+ this.label4.TabIndex = 8;
+ this.label4.Text = "Property-1 Value";
+ //
+ // property_1_value
+ //
+ this.property_1_value.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.property_1_value.Location = new System.Drawing.Point(214, 102);
+ this.property_1_value.Name = "property_1_value";
+ this.property_1_value.Size = new System.Drawing.Size(261, 26);
+ this.property_1_value.TabIndex = 7;
+ this.property_1_value.Text = "27";
+ //
+ // label5
+ //
+ this.label5.AutoSize = true;
+ this.label5.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label5.Location = new System.Drawing.Point(16, 177);
+ this.label5.Name = "label5";
+ this.label5.Size = new System.Drawing.Size(127, 20);
+ this.label5.TabIndex = 10;
+ this.label5.Text = "Property-2 Value";
+ //
+ // property_2_value
+ //
+ this.property_2_value.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.property_2_value.Location = new System.Drawing.Point(214, 178);
+ this.property_2_value.Name = "property_2_value";
+ this.property_2_value.Size = new System.Drawing.Size(261, 26);
+ this.property_2_value.TabIndex = 9;
+ this.property_2_value.Text = "1";
+ //
+ // label6
+ //
+ this.label6.AutoSize = true;
+ this.label6.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label6.Location = new System.Drawing.Point(16, 272);
+ this.label6.Name = "label6";
+ this.label6.Size = new System.Drawing.Size(166, 20);
+ this.label6.TabIndex = 12;
+ this.label6.Text = "Output Property Value";
+ //
+ // output_property_value
+ //
+ this.output_property_value.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.output_property_value.Location = new System.Drawing.Point(214, 266);
+ this.output_property_value.Name = "output_property_value";
+ this.output_property_value.Size = new System.Drawing.Size(261, 26);
+ this.output_property_value.TabIndex = 11;
+ //
+ // property_1
+ //
+ this.property_1.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.property_1.FormattingEnabled = true;
+ this.property_1.Items.AddRange(new object[] {
+ "T",
+ "P",
+ "H",
+ "S",
+ "D",
+ "Q"});
+ this.property_1.Location = new System.Drawing.Point(214, 63);
+ this.property_1.Name = "property_1";
+ this.property_1.Size = new System.Drawing.Size(261, 28);
+ this.property_1.TabIndex = 13;
+ this.property_1.Text = "T";
+ this.property_1.SelectedIndexChanged += new System.EventHandler(this.property_1_SelectedIndexChanged);
+ //
+ // property_2
+ //
+ this.property_2.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.property_2.FormattingEnabled = true;
+ this.property_2.Items.AddRange(new object[] {
+ "T",
+ "P",
+ "H",
+ "S",
+ "D",
+ "Q"});
+ this.property_2.Location = new System.Drawing.Point(214, 139);
+ this.property_2.Name = "property_2";
+ this.property_2.Size = new System.Drawing.Size(261, 28);
+ this.property_2.TabIndex = 14;
+ this.property_2.Text = "Q";
+ this.property_2.SelectedIndexChanged += new System.EventHandler(this.property_2_SelectedIndexChanged);
+ //
+ // output_property
+ //
+ this.output_property.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.output_property.FormattingEnabled = true;
+ this.output_property.Items.AddRange(new object[] {
+ "T",
+ "P",
+ "H",
+ "S",
+ "D",
+ "Q"});
+ this.output_property.Location = new System.Drawing.Point(214, 215);
+ this.output_property.Name = "output_property";
+ this.output_property.Size = new System.Drawing.Size(261, 28);
+ this.output_property.TabIndex = 15;
+ this.output_property.Text = "P";
+ this.output_property.SelectedIndexChanged += new System.EventHandler(this.output_property_SelectedIndexChanged);
+ //
+ // refrigerant
+ //
+ this.refrigerant.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.refrigerant.FormattingEnabled = true;
+ this.refrigerant.Items.AddRange(new object[] {
+ "R134A",
+ "R407C",
+ "R227EA",
+ "R236FA",
+ "R450A",
+ "R22",
+ "R32",
+ "R410A",
+ "R134a;0.44; R1234yf;0.56;",
+ "R227ea;0.089;r1234zee;0.911",
+ "WATER",
+ "R515A",
+ "R515B"});
+ this.refrigerant.Location = new System.Drawing.Point(214, 24);
+ this.refrigerant.Name = "refrigerant";
+ this.refrigerant.Size = new System.Drawing.Size(261, 28);
+ this.refrigerant.TabIndex = 17;
+ this.refrigerant.Text = "R134A";
+ //
+ // label7
+ //
+ this.label7.AutoSize = true;
+ this.label7.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label7.Location = new System.Drawing.Point(16, 24);
+ this.label7.Name = "label7";
+ this.label7.Size = new System.Drawing.Size(89, 20);
+ this.label7.TabIndex = 16;
+ this.label7.Text = "Refrigerant";
+ //
+ // property_1_unit
+ //
+ this.property_1_unit.AutoSize = true;
+ this.property_1_unit.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.property_1_unit.Location = new System.Drawing.Point(480, 108);
+ this.property_1_unit.Name = "property_1_unit";
+ this.property_1_unit.Size = new System.Drawing.Size(25, 20);
+ this.property_1_unit.TabIndex = 19;
+ this.property_1_unit.Text = "°C";
+ //
+ // property_2_unit
+ //
+ this.property_2_unit.AutoSize = true;
+ this.property_2_unit.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.property_2_unit.Location = new System.Drawing.Point(480, 181);
+ this.property_2_unit.Name = "property_2_unit";
+ this.property_2_unit.Size = new System.Drawing.Size(101, 20);
+ this.property_2_unit.TabIndex = 20;
+ this.property_2_unit.Text = "kg-vap/kg-tot";
+ //
+ // output_unit
+ //
+ this.output_unit.AutoSize = true;
+ this.output_unit.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.output_unit.Location = new System.Drawing.Point(480, 269);
+ this.output_unit.Name = "output_unit";
+ this.output_unit.Size = new System.Drawing.Size(43, 20);
+ this.output_unit.TabIndex = 21;
+ this.output_unit.Text = "Bara";
+ //
+ // label10
+ //
+ this.label10.AutoSize = true;
+ this.label10.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label10.Location = new System.Drawing.Point(16, 310);
+ this.label10.Name = "label10";
+ this.label10.Size = new System.Drawing.Size(54, 20);
+ this.label10.TabIndex = 23;
+ this.label10.Text = "Phase";
+ //
+ // phase_textbox
+ //
+ this.phase_textbox.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.phase_textbox.Location = new System.Drawing.Point(214, 304);
+ this.phase_textbox.Name = "phase_textbox";
+ this.phase_textbox.Size = new System.Drawing.Size(261, 26);
+ this.phase_textbox.TabIndex = 22;
+ //
+ // label9
+ //
+ this.label9.AutoSize = true;
+ this.label9.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.label9.Location = new System.Drawing.Point(210, 348);
+ this.label9.Name = "label9";
+ this.label9.Size = new System.Drawing.Size(109, 20);
+ this.label9.TabIndex = 24;
+ this.label9.Text = "DLL Verison : ";
+ //
+ // dll_version_label
+ //
+ this.dll_version_label.AutoSize = true;
+ this.dll_version_label.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+ this.dll_version_label.Location = new System.Drawing.Point(336, 348);
+ this.dll_version_label.Name = "dll_version_label";
+ this.dll_version_label.Size = new System.Drawing.Size(0, 20);
+ this.dll_version_label.TabIndex = 25;
+ //
+ // Form1
+ //
+ this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+ this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+ this.ClientSize = new System.Drawing.Size(596, 398);
+ this.Controls.Add(this.dll_version_label);
+ this.Controls.Add(this.label9);
+ this.Controls.Add(this.label10);
+ this.Controls.Add(this.phase_textbox);
+ this.Controls.Add(this.output_unit);
+ this.Controls.Add(this.property_2_unit);
+ this.Controls.Add(this.property_1_unit);
+ this.Controls.Add(this.refrigerant);
+ this.Controls.Add(this.label7);
+ this.Controls.Add(this.output_property);
+ this.Controls.Add(this.property_2);
+ this.Controls.Add(this.property_1);
+ this.Controls.Add(this.label6);
+ this.Controls.Add(this.output_property_value);
+ this.Controls.Add(this.label5);
+ this.Controls.Add(this.property_2_value);
+ this.Controls.Add(this.label4);
+ this.Controls.Add(this.property_1_value);
+ this.Controls.Add(this.label3);
+ this.Controls.Add(this.label2);
+ this.Controls.Add(this.label1);
+ this.Controls.Add(this.calculate);
+ this.Name = "Form1";
+ this.Text = "Refprop_CSharp";
+ this.ResumeLayout(false);
+ this.PerformLayout();
+
+ }
+
+ #endregion
+
+ private System.Windows.Forms.Button calculate;
+ private System.Windows.Forms.Label label1;
+ private System.Windows.Forms.Label label2;
+ private System.Windows.Forms.Label label3;
+ private System.Windows.Forms.Label label4;
+ private System.Windows.Forms.TextBox property_1_value;
+ private System.Windows.Forms.Label label5;
+ private System.Windows.Forms.TextBox property_2_value;
+ private System.Windows.Forms.Label label6;
+ private System.Windows.Forms.TextBox output_property_value;
+ private System.Windows.Forms.ComboBox property_1;
+ private System.Windows.Forms.ComboBox property_2;
+ private System.Windows.Forms.ComboBox output_property;
+ private System.Windows.Forms.ComboBox refrigerant;
+ private System.Windows.Forms.Label label7;
+ private System.Windows.Forms.Label property_1_unit;
+ private System.Windows.Forms.Label property_2_unit;
+ private System.Windows.Forms.Label output_unit;
+ private System.Windows.Forms.Label label10;
+ private System.Windows.Forms.TextBox phase_textbox;
+ private System.Windows.Forms.Label label9;
+ private System.Windows.Forms.Label dll_version_label;
+ }
+}
+
diff --git a/wrappers/Csharp_High_API/Refprop_Example/Refprop_Form.cs b/wrappers/Csharp_High_API/Refprop_Example/Refprop_Form.cs
new file mode 100644
index 0000000..1f6b27e
--- /dev/null
+++ b/wrappers/Csharp_High_API/Refprop_Example/Refprop_Form.cs
@@ -0,0 +1,186 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Data;
+using System.Drawing;
+using System.Linq;
+using System.Security.Cryptography;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Forms;
+using RefpropDLL;
+using static System.Net.WebRequestMethods;
+using static System.Windows.Forms.LinkLabel;
+
+namespace Refprop_Deneme
+{
+ public partial class Refprop_Form : Form
+ {
+ public Refprop_Form()
+ {
+ InitializeComponent();
+ }
+
+ private void calculate_Click(object sender, EventArgs e)
+ {
+ Refprop refprop = new Refprop(); // creating object
+ // refprop.SetDLLPathProgramtDirectory();
+ string prop_1 = property_1.SelectedItem.ToString();
+ double prop_1_value = Convert.ToDouble(property_1_value.Text);
+ string prop_2 = property_2.SelectedItem.ToString();
+ double prop_2_value = Convert.ToDouble(property_2_value.Text);
+ string output_prop = output_property.Text.ToString();
+ string refri = refrigerant.SelectedItem.ToString();
+
+ switch (prop_1)
+ {
+ case "T":
+ prop_1_value= prop_1_value+273.15;
+ break;
+ case "P":
+ prop_1_value = prop_1_value *(100000);
+ break;
+ case "H":
+ prop_1_value = prop_1_value * (1000);
+ break;
+ case "S":
+ prop_1_value = prop_1_value * (1000);
+ break;
+ }
+ switch (prop_2)
+ {
+ case "T":
+ prop_2_value = prop_2_value + 273.15;
+ break;
+ case "P":
+ prop_2_value = prop_2_value * (100000);
+ break;
+ case "H":
+ prop_2_value = prop_2_value * (1000);
+ break;
+ case "S":
+ prop_2_value = prop_2_value * (1000);
+ break;
+ }
+
+ // ("P" for Pressure, "T" for Temmperature etc..) You may find a table for input and output parameters below the ALLPROPSdll, link: https://refprop-docs.readthedocs.io/en/latest/DLL/high_level.html#function-listing
+ // prop_1 : Input Property 1
+ // prop_1_value :Input Property 1 Value
+ // prop_2 : Input Property 2
+ // prop_2_value :Input Property 2 Value
+ // refri : Refrigerant name ("R134A" , "R450A" etc.)
+ // output_prop : Output Property
+
+ double output_val = refprop.Calculate(output_prop, prop_1, prop_1_value, prop_2, prop_2_value, refri);
+
+
+ switch (output_prop)
+ {
+ case "T":
+ output_val = output_val - 273.15;
+ break;
+ case "P":
+ output_val = output_val / (100000);
+ break;
+ case "H":
+ output_val = output_val / (1000);
+ break;
+ case "S":
+ output_val = output_val / (1000);
+ break;
+ }
+
+ output_property_value.Text = output_val.ToString("0.##");
+
+ string phase = refprop.Phase(prop_1, prop_1_value, prop_2, prop_2_value, refri);
+ phase_textbox.Text = phase;
+ double dll = refprop.DLL_VERSION();
+ dll = dll / 10000;
+ dll_version_label.Text = dll.ToString("0.#");
+
+ }
+
+ private void property_1_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ string prop_1 = property_1.SelectedItem.ToString();
+
+ switch (prop_1)
+ {
+ case "T":
+ property_1_unit.Text = "°C";
+ break;
+ case "P":
+ property_1_unit.Text = "Bara";
+ break;
+ case "H":
+ property_1_unit.Text = "kJ/kg";
+ break;
+ case "S":
+ property_1_unit.Text = "(kJ/kg)/K";
+ break;
+ case "D":
+ property_1_unit.Text = "kg/m^3";
+ break;
+ case "Q":
+ property_1_unit.Text = "kg-vap/kg-tot";
+ break;
+
+ }
+ }
+
+ private void property_2_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ string prop_2 = property_2.SelectedItem.ToString();
+
+ switch (prop_2)
+ {
+ case "T":
+ property_2_unit.Text = "°C";
+ break;
+ case "P":
+ property_2_unit.Text = "Bara";
+ break;
+ case "H":
+ property_2_unit.Text = "kJ/kg";
+ break;
+ case "S":
+ property_2_unit.Text = "(kJ/kg)/K";
+ break;
+ case "D":
+ property_2_unit.Text = "kg/m^3";
+ break;
+ case "Q":
+ property_2_unit.Text = "kg-vap/kg-tot";
+ break;
+ }
+
+ }
+
+ private void output_property_SelectedIndexChanged(object sender, EventArgs e)
+ {
+ string output_prop = output_property.SelectedItem.ToString();
+
+ switch (output_prop)
+ {
+ case "T":
+ output_unit.Text = "°C";
+ break;
+ case "P":
+ output_unit.Text = "Bara";
+ break;
+ case "H":
+ output_unit.Text = "kJ/kg";
+ break;
+ case "S":
+ output_unit.Text = "(kJ/kg)/K";
+ break;
+ case "D":
+ output_unit.Text = "kg/m^3";
+ break;
+ case "Q":
+ output_unit.Text = "kg-vap/kg-tot";
+ break;
+ }
+ }
+ }
+}
diff --git a/wrappers/Csharp_High_API/Refprop_Example/Refprop_Form.resx b/wrappers/Csharp_High_API/Refprop_Example/Refprop_Form.resx
new file mode 100644
index 0000000..1af7de1
--- /dev/null
+++ b/wrappers/Csharp_High_API/Refprop_Example/Refprop_Form.resx
@@ -0,0 +1,120 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
\ No newline at end of file