pyEQL Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[v0.6.0] - 2023-08-15¶
Added¶
Solution
: add tests to confirm that solution density changes with temperature and pressureSolution
: add tests forcharge_balance
,alkalinity
,hardness
,osmotic_pressure
,p()
, andconductivity
Solution
:pE
attribute and kwargSolution
: add support for passing solutes as adict
Implement extensible system for connecting
Solution
to various activity and speciation models. Models can be integrated into pyEQL by implementing anEOS
class. The desired activity model is selected on init. Currently available models arenative
(for pyEQL’s implementation of Pitzer, which decays gracefully into Debye-Huckel and other models if parameters are not available) orideal
for a dummy engine that returns unit activity coefficients. Support for additional external engines such asphreeqpython
is planned.Add
pymatgen
,monty
, andmaggma
as dependenciesAdd
pre-commit
configurationAdd pull request template, new GitHub actions, and
tox -e autodocs
environment to serve and update docs in real timeAdd pre-commit configuration and lint with
ruff
using rulesets mostly borrowed frompymatgen
Add more comprehensive platform testing via
tox
Changed¶
Complete overhaul of the property database. The database is now distributed in a .json file containing serialize
Solute
objects.Solution
can now be connected to this database (by default) or to any othermaggma
Store
containing properly formatted data.database.py
,parameter.py
, and all the.tsv
data files have been removed and replaced withpyeql_db.json
.Docs: update, change theme, convert to .md format, and adopt Keep a Changelog format
Replace
water_properties.py
with iapws packageReplace
elements.py`` with
pymatgen.core.periodic_table`Solution.charge_balance
now returns in equivalents instead of CoulombsMigrate all tests to
pytest
Update packaging format to use pyscaffold
Deprecated¶
Solution
: new propertiespressure
,temperature
,volume
,pH
,mass
,density
,viscosity_dynamic
,viscosity_kinematic
,ionic_strength
,conductivity
,debye_length
,bjerrum_length
,alkalinity
,hardness
,dielectric_constant
,osmotic_pressure
,solvent_mass
,charge_balance
have replaced the corresponding get_XXX and set_XXX (for temperature and pressure) methods, which will be removed in a future release.get_viscosity_relative
will be removed entirely.Solute
: methodsget_formal_charge()
,get_name()
, andget_molecular_weight()
have been replaced by direct access to the attributescharge
,formula
, andmw
, respectively.
Removed¶
disable ‘verbose’ kwarg in
get_activity
andget_activity_coefficient
Fixed¶
Fixed various documentation rendering issues
bug in
alkalinity
[0.5.2] - 2020-04-21¶
Fix breaking bug introduced by upstream pint change to avogadro_number
Format project with black
Misc. linting and docstring changes
[0.5.0] 2018-09-19¶
Implement the effective Pitzer model for improved activity calculations in multicomponent solutions
Add support for calculation of activity and osmotic coefficients on different scales
Add support for calculating % by weight to get_amount()
Added methods for calculating the osmolarity or osmolality of a Solution
Add the ability to filter list_concentrations() to show only cations or anions
Add two medical solutions - normal saline and Ringer’s lacate -to the autogenerate method
Add shorthand abbreviations for ‘seawater’ and ‘wastewater’ in the autogenerate method
Enhance automatic test suite to compare results with experimental data based on relative error
Add test suites for the effective Pitzer model and a multicomponent salt solution
DEPRECATED get_mole_fraction. Use get_amount() instead
Fix bug causing get_activity_coefficient to fail if the solute concentration was zero
[0.4.0] 2016-07-14¶
Add ability to calculate dielectric constant based on solution composition for salts
Add database entries for the viscosity ‘B’ parameter for 63 more inorganic ions
Add domestic wastewater and human urine to the autogenerate()method
Improve entry point for running automated tests (#16, thanks Hernan Grecco)
Significantly expand documentation of activity correction methods
Make output of get_osmotic_coefficient more verbose when Pitzer parameters are not found
Fix bug causing activity corrections for non 1:1 salts to be calculated incorrectly (#15)
Fix bug causing ‘bad operand type’ error when calculating osmotic pressure on some systems
Fix bug causing ValueError exceptions when a solute has zero concentration
Numerous fixes and corrections in the documentation
[0.3.1] 2016-02-24¶
Fix packaging problems preventing installation from PyPi
Fix character encoding issue in Erying_viscosity database file
[0.3.0] 2016-01-15¶
Add method to calculate the total concentration of an element in a solution
Add method to automatically generate certain solutions (like seawater)
Add method to calculate the hardness of a solution
Add method to calculate the alkalinity of a solution
Add method to calculate the charge balance of a solution
Add method to calculate the Bjerrum length
Add database entries for hydrated and ionic radii of 23 commonions
Add database entries for the ‘B’ parameter in the Jones-Dole viscosity equation for 20 common ions
Add test suites for solute property methods, hardness, osmotic coefficient, and Debye length
Improve logging system to work better when using pyEQL interactively
Improved README with graphics and rich formatting
Fix bug related to activity and osmotic coefficients for multivalent salts
Fix bug related to retrieval of water properties
Documentation enhancements and fixes
[0.2.2] 2015-08-28¶
Fix bug in get_amount() causing no output when mass-based units were specified.
[0.2.1] 2015-05-06¶
Add 93 entries to diffusion coefficient database
Add 93 entries to Pitzer partial molar volume parameters database
Add 130 entries to Pitzer activity parameters database
Change extension for database files from .csv to .tsv
Corrections and additions to the contributing documentation
Uploaded to the Python Package Index for easier installation
Add this changelog
[0.2.0] 2015-03-26¶
First public release