* build: replace git submodules with CPM.cmake All 11 submodules (Eigen, fmtlib, msgpack-c, rapidjson, IF97, REFPROP-headers, multicomplex, Catch2, pybind11, ExcelAddinInstaller, FindMathematica) are now fetched by CPM.cmake at configure time. Set CPM_SOURCE_CACHE (e.g. ~/.cache/CPM) to share the download cache across git worktrees and build directories — no more per-worktree `git submodule update --init --recursive`. Vendored deps that have no upstream release cycle (miniz, nlohmann-json, incbin) remain in externals/ as before. Source-level changes: angle-bracket includes for rapidjson, IF97, and REFPROP-headers now that their directories are on the include path via CPM-provided source dirs rather than relative paths from the repo root. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(python): wire up CPM.cmake in Python wrapper, fix include paths The Python wrapper CMakeLists.txt was still referencing submodule paths (externals/Eigen, externals/fmtlib, externals/msgpack-c) removed by the CPM migration. Include CPM.cmake + dependencies.cmake from the root and use the ${Pkg_SOURCE_DIR} variables instead. Also adds missing rapidjson, IF97, and REFPROP_headers include dirs required by CoolProp sources. CI workflows drop the now-meaningless `submodules: recursive` checkout option and add a CPM source-cache step to avoid re-downloading on each macOS/Windows runner. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs: remove git submodule references after CPM.cmake migration Dependencies are now managed by CPM.cmake (fetched automatically at CMake configure time), so git submodules no longer exist. - Drop `--recursive` from all `git clone` commands in Web docs and wrapper READMEs (26 .rst/.md files) - Remove `submodules: recursive` from all CI workflow checkout steps (13 workflow files) - Remove `git submodule foreach/update` calls from release.bsh and delete the now-dead pybind11 security-workaround lines - Drop `--recursive` from build_swigged_matlab.sh and gitMirror.bsh - Update CONTRIBUTING.md: drop "and its submodules" phrasing Changelog entries referencing old submodule PRs are left intact as historical records. The --recursive in buildbot.rst is for the Dockerfiles repo (unrelated) and is also left unchanged. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * fix(ci): remove empty 'with:' blocks after submodule removal, apply clang-format After removing 'submodules: recursive' from checkout steps, some workflow files were left with dangling empty 'with:' blocks that GitHub Actions rejects as workflow file errors. Remove the empty 'with:' in 9 workflows. Also apply clang-format to fix spacing in REFPROPMixtureBackend.cpp, HumidAirProp.cpp, and Helmholtz.cpp. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
CoolProp Wrapper for PTC Mathcad Prime 7.0 or later (64-bit)
| Copyright Scott Polak and Ian Bell, 2013
| Updated by Jeff Henning, 2016
There are two ways to get the CoolProp wrapper add-in for Mathcad Prime; download the pre-compiled binary from SourceForge or Compile your own.
Precompiled Binaries
The binary DLL file (including nightly builds and release versions) can be downloaded and placed in the Mathcad Prime installation directory.
-
Goto the SourceForge CoolProp web page.
-
Browse to the desired version.
-
Under the MathCADPrime folder, download all three files
-
The README.txt files contains these instructions.
-
Place the
CoolPropMathcadWrapper.DLLfile in the Mathcad Prime installation directory under theCustom Functionsdirectory. -
(Optional) Install the Custom Functions Add-in, CustFunc and copy the associated
CoolProp_EN.xmlfile to theCustom Functions\docsfolder, creating it if it doesn't exist (this file is optional and for features in development). The CustFunc add-in provides a pop-up (when pressing<F3>) that gives brief descriptions of each implemented function and its input parameters and facilitates inserting these functions into the worksheet.
-
-
Restart Mathcad Prime. The add-in,
CoolPropMathcadWrapper.DLLwill automatically load the from theCustom Functionsdirectory. -
Open the
CoolPropFluidProperties.mcdxfile (also found in the Mathcad folder of this repository) in Mathcad Prime for function usage examples. Press<Ctrl>-<F5>to force recalculation of the entire workbook. -
The CoolProp functions will not be added to the internal Functions menu as this functionality has not been implemented in PTC Mathcad Prime as of version 11.0.0.0. Users should refer to the usage
.mcdxfile referenced above and/or the companion PDF of that file. Pop-up insert functionality can be implemented using the additional, optional CustFunc add-in.
Build Your Own
Prerequisites
-
You will need to have Visual Studio 2015 or later installed. You will need the professional version of Visual Studio C++, or at least Visual Studio Express 2015 or later, as Mathcad Prime libraries are 64-bit and require the 64-bit compiler. The community edition of Visual Studio will also work.
-
You will need CMake version 2.8.12 or later from https://cmake.org/download/.
-
You will need to install Git-SCM for Windows. You can install this from https://git-for-windows.github.io or https://www.git-scm.com.
-
You will need Anaconda/Miniconda Python, which you can get from https://store.continuum.io/cshop/anaconda. This is needed because the CMake process runs some python scripts that build the fluids and mixtures libraries.
To Build
-
Recursively clone the CoolProp library to a local repository.::
git clone https://github.com/CoolProp/CoolProp
-
Change directory (cd) to the CoolProp directory you just created.::
cd CoolProp
-
In the top level CoolProp directory and make a build directory (something like \buildprime)::
mkdir buildprime cd buildprime
-
Build the makefile using CMake (adjust root string for correct version of Prime)::
cmake .. -DCOOLPROP_PRIME_MODULE=ON -DCOOLPROP_PRIME_ROOT="C:/Program Files/PTC/Mathcad Prime x.0.0.0" -G "Visual Studio 17 2022" -A x64" -DCMAKE_VERBOSE_MAKEFILE=ONNOTE: Replace
x.0.0.0with your latest version. Example:10.0.0.0NOTE: Replace
Visual Studio 17 2022with your current Visual Studio compiler version.NOTE: Visual Studio versions earlier than Visual Studio 2017 will not recognize the bitness flag (
-A) and it must be combined into the geneorator-Gstring with theWin64suffix, such as:
-G "Visual Studio 14 2015 Win64" -
Make the dynamic library (DLL)::
cmake --build . --config Release
(Alternatively, open the VS solution created in the build directory with Visual Studio, set the config to Release and x64, and compile the DLL under the Build menu.)
To Use
-
Copy CoolProp\buildprime\Release\CoolPropMathcadWrapper.dll file to C:\Program Files\PTC\Mathcad Prime
x.0.0.0\Custom Functions (replacex.0.0.0with your current version) -
Open the
CoolPropFluidProperties.mcdxfile in MathCAD and press<Ctrl>-<F5>to force recalculation of the entire workbook. This file provides usage examples for the implemented CoolProp Functions. -
(Optional) Install the Custom Functions Add-in, CustFunc and copy the associated
CoolProp_EN.xmlfile to theCustom Functions\docsfolder, creating it if it doesn't exist (this file is optional and for features in development). The CustFunc add-in provides a pop-up (when pressing<F3>) that gives brief descriptions of each implemented function and its input parameters and facilitates inserting these functions into the worksheet.