Download Latest Version CoolingPower-0.0.3a-src.tar.bz2 (35.2 kB)
Email in envelope

Get an email when there's a new version of CoolingPower

Home
Name Modified Size InfoDownloads / Week
Source documents 2019-02-01
Depreciated 2018-12-31
CoolingPower-0.0.4-win32.zip 2019-02-04 7.8 MB
CoolingPower-0.0.4-src.tar.bz2 2019-02-04 38.5 kB
README.txt 2019-02-03 6.3 kB
CoolingPower-0.0.4-win64.zip 2019-02-03 7.8 MB
CoolingPower-0.0.4-src.zip 2019-02-03 71.4 kB
Totals: 7 Items   15.7 MB 1
CoolingPower v0.0.4 - (C) 2018-2019 - Matthew Osborne (rcx11@sourceforge.net)

Thank you for trying out CoolingPower!

CoolingPower is designed to provide thermodynamic data and simulation
for working fluids utilizing Helmholtz Free Energy equations of state.
Steam Table printing, thermodynamic property graphing, and cycle plotting
are all part of the bundle. Tools from the Boost C++ Library, Qt 5, and the
Allegro game programming library are used for this production. Previous
versions utilized the GNU Scientific Library (GSL) for some mathematical
function. This dependance has been removed, but support remains through
the use of preprocessors flags.

I'm still figuring out the packaging process, so this README will have to
suffice. Single State calculation and Steam Table printing functionality
has been implemented, and diagram plotting will be coming soon.

Compiling for *nix requires Qt 5, and the Boost C++ Libraries Boost.bind &
Boost.signals2 library development packages. Non-Windows users will also
need the Boost Program Options library. Depending on your platform, qmake
may be named differently. (In Fedora, it's qmake-qt5. I'll be using this as
the standard, as that is the OS from which I am programming.)

Linux / MacOS / BSD

If compiling from a source tarball, unzip and enter the directory as
follows:

$ tar -xjf CoolingPower-0.0.4.tar.bz2
$ cd CoolingPower-0.0.4

Whether building from a source tarball or building from a git repository,
use the following commands:

$ mkdir build
$ cd build
$ qmake-qt5 ../CoolingPower.pro
$ make

Skip the following step to run CoolingPower from the build directory.

$ sudo make install

At this point, you'll have the CoolingPower binary available. Run

$ CoolingPower -h

for usage.

Windows
----------------------------

CoolingPower has been verified to work with MSVC on Windows 10. MinGW
and builds on any other Windows version with the supporting toolchain
should work also, but it has not been explicitly tested. To build:

1. Using Visual Studio 2017 (possibly earlier), install the Qt Visual
   Studio Tools.
2. Use the newly created Qt menu in VS to open the Qt project file.
3. Save the resulting project. This step must be performed to do the next.
4. Using the NuGet package manager, install boost. If you search, it 
   should be the first option. You'll see other Boost components,
   including Program Options. Don't worry about installing this package.
   Console support is removed from Windows since the windowed version can
   perform all the same functions.
5. Also using the NuGet package manager, install Eigen. After it's
   installed, open project properties under the Project menu. Under
   C/C++ -> All Options, Add Eigen's include director in the Additional
   Include Directories list. Eigen will be located in the packages
   folder in your working directory.
6. Compile.
7. For release builds, copy Qt5Core.dll, Qt5Gui.dll, and Qt5Widgit.dll 
   to the release directory in the project folder (the one containing
   CoolingPower.exe).

(I'm writing this readme from my linux machine after figuring out how to
compile in Windows. Some of the specifics may be off. Use your judgement
or email me for clarification for the above steps.)

----------------------------

Please, play around with it and see what works and what doesn't.
For errors not covered by the messages, please email me with your input,
the expected output, and the output you received. You can reach me at

rcx11(at)sourceforge.net

Thank you, and stay cool.


----------------------------
Version history:

0.0.1 - Very basic version of CoolinPower with a command line only
interface. Provided little error checking. Provided with the hopes
of receiving some amount of usability testing.

0.0.2 - Still only command line interface. Measurement systems
integrated to provide unit conversions for common measurement schemes.

Fixed in 0.0.3a - True MS Windows support. The original application was
developed to support a simple commandline Steam Table generation with
the use of command line arguements and to launch with a GUI in the
absense of arguments. MS Windows does not support this capability; a
program must be either command line or GUI but cannot be both. Command
line support was removed from the MS Windows version because the
Steam Table calculations is fully supported in the GUI. (The command
line functionality only came about because I initially didn't know of
a GUI framework that would operate on multiple platforms. It gave me
a way to begin work on the mathematical framework before the desired
interface was developed.)

Fixed in 0.0.3b - American Engineering System (Imperial/English System)
units of measurement. Initial values to convert the metric system
measurement values that are the natural output of the Helmholtz Free
Energy calculations were inaccurate. Using the CRC Handbook of
Chemistry and Physics 90th Edition, conversion factors have been
corrected.

Also fixed in 0.0.3b - MS Windows binary release files. Compiling for
0.0.3b I discovered that the release versions wouldn't run without
the Qt5 DLLs listed above being placed in the folder containing the
executable. The DLLs are now included in the .zip files containing the
binary release.

0.0.4 - Added single state calculations for a variety of common independent
intensive property calculations. Some of the functions are mathematically
intensive and required the development of a small algorihmic differentiation
library (which also removed dependance on GSL) and an implementation of
a homotopy method for solving systems of nonlinear equations. More
combinations will be added in the future. Work is still necessary for
handling the saturation condition for the input combination of specific
enthalpy and specific entropy.

Added input verification via invalid_arguement exceptions. User input errors
for inputs outside the capability of a particular function is detected
and an exception is thrown to notify users of the error. These exceptions
are thrown by the State object and not by the user interface, providing
flexibility for eventual library calculational use.
Source: README.txt, updated 2019-02-03