pyEQL 1.1.3__tar.gz → 1.1.4__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pyeql-1.1.3 → pyeql-1.1.4}/CHANGELOG.md +7 -0
- {pyeql-1.1.3/src/pyEQL.egg-info → pyeql-1.1.4}/PKG-INFO +1 -1
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/changelog.md +7 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/solution.py +2 -5
- {pyeql-1.1.3 → pyeql-1.1.4/src/pyEQL.egg-info}/PKG-INFO +1 -1
- {pyeql-1.1.3 → pyeql-1.1.4}/.coveragerc +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/.gitattributes +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/.github/dependabot.yml +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/.github/pull_request_template.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/.github/release.yml +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/.github/workflows/post-process.yml +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/.github/workflows/release.yml +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/.github/workflows/testing.yaml +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/.github/workflows/upgrade_dependencies.yml +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/.gitignore +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/.pre-commit-config.yaml +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/.readthedocs.yml +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/.zenodo.json +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/AUTHORS.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/CITATION.cff +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/COPYING +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/LICENSE.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/MANIFEST.in +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/README.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/Makefile +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/_static/.gitignore +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/amounts.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/arithmetic.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/authors.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/chemistry.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/class_solution.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/conf.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/contributing.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/creating.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/database.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/engines.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/.ipynb_checkpoints/pyEQL_demo_1-checkpoint.ipynb +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/.ipynb_checkpoints/pyeql_demo-checkpoint.ipynb +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/.ipynb_checkpoints/pyeql_tutorial_database-checkpoint.ipynb +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/.ipynb_checkpoints/pyeql_tutorial_osmotic_pressure-checkpoint.ipynb +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/.ipynb_checkpoints/speedup-checkpoint.ipynb +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/pyEQL_demo_1.ipynb +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/pyeql_demo.ipynb +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/pyeql_tutorial_database.ipynb +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/pyeql_tutorial_osmotic_pressure.ipynb +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/speedup.ipynb +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/index.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/installation.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/internal.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/license.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/mixing.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/quickstart.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/readme.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/requirements.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/serialization.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/tutorials.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/docs/units.md +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/pyeql-logo.png +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/pyeql-logo.svg +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/pyproject.toml +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.10.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.10_extras.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.11.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.11_extras.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.12.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.12_extras.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.9.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.9_extras.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.10.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.10_extras.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.11.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.11_extras.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.12.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.12_extras.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.9.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.9_extras.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.10.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.10_extras.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.11.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.11_extras.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.12.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.12_extras.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.9.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.9_extras.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/setup.cfg +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/setup.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/__init__.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/activity_correction.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/database/geothermal.dat +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/database/llnl.dat +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/database/phreeqc_license.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/database/pyeql_db.json +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/engines.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/equilibrium.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/functions.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/presets/Ringers lactate.yaml +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/presets/normal saline.yaml +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/presets/rainwater.yaml +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/presets/seawater.yaml +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/presets/urine.yaml +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/presets/wastewater.yaml +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/salt_ion_match.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/solute.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/utils.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL.egg-info/SOURCES.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL.egg-info/dependency_links.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL.egg-info/requires.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL.egg-info/top_level.txt +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/conftest.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_activity.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_bulk_properties.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_debye_length.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_density.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_dielectric.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_effective_pitzer.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_equilibrium.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_functions.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_logging.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_mixed_electrolyte_activity.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_osmotic_coeff.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_phreeqc.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_salt_matching.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_solute.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_solute_properties.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_solution.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_utils.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_volume_concentration.py +0 -0
- {pyeql-1.1.3 → pyeql-1.1.4}/tox.ini +0 -0
|
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.1.4] - 2024-07-28
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- `Solution`: Fix a bug in`pH` charge balancing that erroneously prevented charge
|
|
13
|
+
balancing from occurring in certain cases, and raised an error.
|
|
14
|
+
|
|
8
15
|
## [1.1.3] - 2024-07-28
|
|
9
16
|
|
|
10
17
|
### Fixed
|
|
@@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
+
## [1.1.4] - 2024-07-28
|
|
9
|
+
|
|
10
|
+
### Fixed
|
|
11
|
+
|
|
12
|
+
- `Solution`: Fix a bug in`pH` charge balancing that erroneously prevented charge
|
|
13
|
+
balancing from occurring in certain cases, and raised an error.
|
|
14
|
+
|
|
8
15
|
## [1.1.3] - 2024-07-28
|
|
9
16
|
|
|
10
17
|
### Fixed
|
|
@@ -2306,11 +2306,8 @@ class Solution(MSONable):
|
|
|
2306
2306
|
start_imbalance = C_hplus - K_W / C_hplus
|
|
2307
2307
|
new_imbalance = start_imbalance - cb
|
|
2308
2308
|
# calculate the new concentration of H+ that will balance the charge
|
|
2309
|
-
# solve H^2 - new_imbalance H - K_W = 0, so a=1, b=-new_imbalance, c=-K_W
|
|
2310
|
-
#
|
|
2311
|
-
if new_imbalance**2 - 4 * 1 * K_W < 0:
|
|
2312
|
-
self.logger.error("Cannot balance charge by adjusting pH. The imbalance is too large.")
|
|
2313
|
-
return
|
|
2309
|
+
# solve H^2 - new_imbalance H - K_W = 0, so a=1, b=-new_imbalance, c=-K_W. Note that this is guaranteed to have real roots as
|
|
2310
|
+
# b^2-4ac > 0
|
|
2314
2311
|
new_hplus = max(
|
|
2315
2312
|
[
|
|
2316
2313
|
(new_imbalance + np.sqrt(new_imbalance**2 + 4 * 1 * K_W)) / 2,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|