Releases: thermohub/thermofun
Fixes in formula parser and CpfT with phase transition
Fixes for formula parser and CpfT for phase transition (#24) * fix for Cp=f(T) phase transition, problems with the derivatives * added default valences and fixed formula parser bug * tests for formula parser and CpfT with phase transition
Tests for Ryzhenko Bryzgalin model, possibility to append elements
Append a new element with data for substances and reactions related to the element.
database.appendData('Fe-speciation-thermofun.json')
Const correctness fixes in ThermoEngine and Database class
Merge pull request #21 from allanleal/improve-const-correctness Improve const-correctness for classes Database and ThermoEngine
Using units from database
If units are provided together with the properties and parameters in the database file, e.g.:
"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
.
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
.
v0.3.1: Origin bucket (#18)
- Database object can now be constructed using a file or a string containing a ThermoDataSet in valid JSON
- Bug-fixes
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.
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)
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.
{
"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
v0.2.2: Merge pull request #12 from gdmiron/master
Sync with bitbucket
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.
v0.2.0: Merge pull request #9 from gdmiron/master
sync with bitbucket