Recent Releases of ThermoFun

ThermoFun - v0.5.3

What's Changed

  • Update ci-build.yml by @gdmiron in https://github.com/thermohub/thermofun/pull/77
  • added memoizeN function template to limit number of memoized in/outputs by @j-engelmann in https://github.com/thermohub/thermofun/pull/76
  • option to use water triple properties consistent with NEA by @gdmiron in https://github.com/thermohub/thermofun/pull/78
  • option to change the memoization chache size by @gdmiron in https://github.com/thermohub/thermofun/pull/79
  • Added disable memoize mode, and unlimited (old) memoize mode by @sdmytrievs in https://github.com/thermohub/thermofun/pull/80
  • function to set potential missing charge in records by @gdmiron in https://github.com/thermohub/thermofun/pull/81

New Contributors

  • @j-engelmann made their first contribution in https://github.com/thermohub/thermofun/pull/76

Full Changelog: https://github.com/thermohub/thermofun/compare/v0.5.2...v0.5.3

Scientific Software - Peer-reviewed - C++
Published by gdmiron 6 months ago

ThermoFun - v0.5.2

Removed old CI scripts. Implemented and debugged ci-build.yml for Linux, Windows and MacOS.

Scientific Software - Peer-reviewed - C++
Published by sdmytrievs 9 months ago

ThermoFun - v0.5.1

What's Changed

  • avoid parser errors by @gdmiron in https://github.com/thermohub/thermofun/pull/73

Full Changelog: https://github.com/thermohub/thermofun/compare/v0.5.0...v0.5.1

Scientific Software - Peer-reviewed - C++
Published by gdmiron 10 months ago

ThermoFun - v0.5.0

What's Changed

  • bugfix examples by @gdmiron in https://github.com/thermohub/thermofun/pull/66
  • Fixed examples by @gdmiron in https://github.com/thermohub/thermofun/pull/68
  • explicitly set the state of the solvent by @gdmiron in https://github.com/thermohub/thermofun/pull/67
  • setup-miniconda@v3, macos-13 by @gdmiron in https://github.com/thermohub/thermofun/pull/69
  • Database records can be changed by reference (C++, Python) by @gdmiron in https://github.com/thermohub/thermofun/pull/70

Full Changelog: https://github.com/thermohub/thermofun/compare/v0.4.5...v0.5.0

Scientific Software - Peer-reviewed - C++
Published by gdmiron over 1 year ago

ThermoFun - v0.4.5

What's Changed

  • Updated LICENSE from GPLv3.0 to LGPLv2.1 by @gdmiron in https://github.com/thermohub/thermofun/pull/64
  • Increment version to 0.4.5 by @allanleal in https://github.com/thermohub/thermofun/pull/65

Full Changelog: https://github.com/thermohub/thermofun/compare/v0.4.4...v0.4.5

Scientific Software - Peer-reviewed - C++
Published by allanleal over 2 years ago

ThermoFun - v0.4.4

What's Changed

  • Improvements in ThermoFunConfig.cmake.in by @allanleal in https://github.com/thermohub/thermofun/pull/63

Full Changelog: https://github.com/thermohub/thermofun/compare/v0.4.3...v0.4.4

Scientific Software - Peer-reviewed - C++
Published by allanleal over 2 years ago

ThermoFun - v0.4.3

What's Changed

  • Paper by @gdmiron in https://github.com/thermohub/thermofun/pull/61
  • v0.4.3 by @gdmiron in https://github.com/thermohub/thermofun/pull/62

Full Changelog: https://github.com/thermohub/thermofun/compare/v0.4.2...v0.4.3

Set spdlog in header-only mode for thermofun project. Fixed possible memory leak issues. Using pip for python package install.

Scientific Software - Peer-reviewed - C++
Published by gdmiron almost 3 years ago

ThermoFun - v0.4.2

Repository archived using Zenodo's DOI

DOI

Scientific Software - Peer-reviewed - C++
Published by gdmiron about 3 years ago

ThermoFun - v0.4.1

A fix for spdlog linking. Used in chemicalfun=0.1.6 is spdlog=1.11.0 and fmt=9.1.0

Scientific Software - Peer-reviewed - C++
Published by gdmiron over 3 years ago

ThermoFun - v0.4.0 added logger

Added spdlog for logging (https://github.com/gabime/spdlog)

In python to access the logging settings (default update_loggers(False, "thermofun.log", 2) ) ```python import thermofun as fun

True for logging to output instead of file,

file name, 2 is the logging level for info, warn, error, and critical messages.

fun.update_loggers(False, "thermofun.log", 2)

clears the log file

fun.clear_loggers("thermofun.log") ```

Scientific Software - Peer-reviewed - C++
Published by gdmiron over 3 years ago

ThermoFun - v0.3.9 Added ChemicalFun library

Scientific Software - Peer-reviewed - C++
Published by gdmiron about 4 years ago

ThermoFun - v0.3.8

add records as json strings
functions to list available methods, properties
when the reaction equation is given the reactants are added to the record.

Scientific Software - Peer-reviewed - C++
Published by gdmiron over 4 years ago

ThermoFun - Fix for default critical pressure unit

ThermoFun gas critical properties default critical pressure unit is set to "bar". The database allows any unit to be set by the user, this will be converted to bar in the ThermoFun internal data. It is important to know that if one uses a ThermoFun get function for the critical pressure will be in "bar".

Scientific Software - Peer-reviewed - C++
Published by gdmiron almost 5 years ago

ThermoFun - Fixes in formula parser and CpfT with phase transition

Scientific Software - Peer-reviewed - C++
Published by gdmiron about 5 years ago

ThermoFun - Tests for Ryzhenko Bryzgalin model, possibility to append elements

Append a new element with data for substances and reactions related to the element. python database.appendData('Fe-speciation-thermofun.json')

Scientific Software - Peer-reviewed - C++
Published by gdmiron about 5 years ago

ThermoFun - Const correctness fixes in ThermoEngine and Database class

Scientific Software - Peer-reviewed - C++
Published by gdmiron almost 6 years ago

ThermoFun - Using units from database

If units are provided together with the properties and parameters in the database file, e.g.:

json "m_landau_phase_trans_props": { "values": [ 1926.8499755859, 4, 0.035000000149012 ], "names": [ "Tcr", "Smax", "Vmax" ], "units": [ "degC", "J/(mol*K)", "J/bar" ] } The user can provide parameters in any valid and convertible units, these will be converted to the default ones when reading the database file and used accordingly in the respective correction TPMethod.

Scientific Software - Peer-reviewed - C++
Published by gdmiron almost 6 years ago

ThermoFun - BugFix

  • fix check for H+ using symbol H+

  • fix for HKF properties calculation close to the critical point. (TdegC>=355 && Pbar<500), use equations (32)-(44) of Shock and others (1992) to compute the function g and its partial derivatives on region 2.

  • fix for calculation of reaction properties using logk_fpt_function

  • check if reaction / dependent substance methods are correctly defined to avoid the case when a substance is defined by a reaction with no TPMethods.

Scientific Software - Peer-reviewed - C++
Published by gdmiron almost 6 years ago

ThermoFun -

  • Database object can now be constructed using a file or a string containing a ThermoDataSet in valid JSON
  • Bug-fixes

Scientific Software - Peer-reviewed - C++
Published by gdmiron about 6 years ago

ThermoFun - Append data, reaction equation parsing, imporved json database structure

Append data, reaction equation parsing, imporved json database structure

This release brings new functionality:

  • Append additional data to the database from provided files in json database format.

python import thermofun as thermofun database = thermofun.Database('slop98-thermofun.json') database.appendData('additional-data-thermofun.json') * Calculate properties for a given reaction equation (reactants with with the symbols used in the equation should be present in the database)

python import thermofun as thermofun engine = thermofun.ThermoEngine('slop98-thermofun.json') logK = engine.thermoPropertiesReaction(298.15, 1e5, "Cal = Ca+2 + CO3-2").log_equilibrium_constant.val * Database files have an improved JSON format. A thermofun database file contains 'substances', 'reactions', and 'elements' lists, plus additional keys with information about the ThermoDataSet.

json { "thermodataset": "slop98-inorganic", "datasources": [ "db.thermohub.org", "[1998SHO/EA]" ], "date": "10.12.2019 13:43:37", "substances": ["..."], "reactions": ["..."], "elements": ["..."] } * using pytests in CI * removed version pinning from pybind11 and nlohmann json libs * bugfixes

Scientific Software - Peer-reviewed - C++
Published by gdmiron about 6 years ago

ThermoFun -

Scientific Software - Peer-reviewed - C++
Published by gdmiron over 6 years ago

ThermoFun - Improved database parsing (simpler thermodynamic database format)

bug fixes in parser, enabling the use of simplified database files containing only fields that are necessary for calculation.

Scientific Software - Peer-reviewed - C++
Published by gdmiron over 6 years ago

ThermoFun -

Scientific Software - Peer-reviewed - C++
Published by gdmiron over 6 years ago

ThermoFun - produce dynamic library using MSVC

Scientific Software - Peer-reviewed - C++
Published by gdmiron over 6 years ago

ThermoFun - Fixes for windows build

Scientific Software - Peer-reviewed - C++
Published by gdmiron over 6 years ago

ThermoFun - Enable Windows build in conda-forge

This release enables Windows build in conda-forge.

Scientific Software - Peer-reviewed - C++
Published by allanleal over 6 years ago

ThermoFun - BugFix Cp function calculation

Scientific Software - Peer-reviewed - C++
Published by gdmiron over 6 years ago

ThermoFun - Enable Travis and AppVeyor CI

This release also fixes a build issue in which velocypack dependency was needed by default.

Scientific Software - Peer-reviewed - C++
Published by allanleal over 6 years ago

ThermoFun - Fix JSON bug

Fix JSON bug on parsing map.

Scientific Software - Peer-reviewed - C++
Published by allanleal over 6 years ago

ThermoFun - Fix further compilation issues in Windows

This release fixes several compilation errors due to the use of uint, instead of std::size_t when compiling with MSVC.

Scientific Software - Peer-reviewed - C++
Published by allanleal over 6 years ago

ThermoFun - Fix some compilation issues in Windows

This release fixes some compilation issues in Windows due to compiler flags that are not supported my MSVC. Also, the following is now used to permit shared library compilation by MSVC:

~~~cmake

Enable automatic creation of a module definition (.def) file for a SHARED library on Windows.

set(CMAKEWINDOWSEXPORTALLSYMBOLS TRUE) ~~~

Scientific Software - Peer-reviewed - C++
Published by allanleal over 6 years ago

ThermoFun - Resolve issue that dependencies are propagated to consumers

This release fixes some bugs (replace #include "nlohmann/json.hpp" by #include <nlohmann/json.hpp> and it prevents libraries linking against ThermoFun to also depend on Boost and nlohmann_json libs.

Scientific Software - Peer-reviewed - C++
Published by allanleal over 6 years ago

ThermoFun - Bug fix release

This release fixes header issues when compiling the python module of ThermoFun.

It also improves finding of dependencies using CMake.

And it introduces conda support for helping on the management of third party deps.

Scientific Software - Peer-reviewed - C++
Published by allanleal over 6 years ago

ThermoFun - Preliminary release

Scientific Software - Peer-reviewed - C++
Published by gdmiron over 6 years ago

ThermoFun - Preliminary release

Scientific Software - Peer-reviewed - C++
Published by gdmiron over 6 years ago