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.
Files changed (128) hide show
  1. {pyeql-1.1.3 → pyeql-1.1.4}/CHANGELOG.md +7 -0
  2. {pyeql-1.1.3/src/pyEQL.egg-info → pyeql-1.1.4}/PKG-INFO +1 -1
  3. {pyeql-1.1.3 → pyeql-1.1.4}/docs/changelog.md +7 -0
  4. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/solution.py +2 -5
  5. {pyeql-1.1.3 → pyeql-1.1.4/src/pyEQL.egg-info}/PKG-INFO +1 -1
  6. {pyeql-1.1.3 → pyeql-1.1.4}/.coveragerc +0 -0
  7. {pyeql-1.1.3 → pyeql-1.1.4}/.gitattributes +0 -0
  8. {pyeql-1.1.3 → pyeql-1.1.4}/.github/dependabot.yml +0 -0
  9. {pyeql-1.1.3 → pyeql-1.1.4}/.github/pull_request_template.md +0 -0
  10. {pyeql-1.1.3 → pyeql-1.1.4}/.github/release.yml +0 -0
  11. {pyeql-1.1.3 → pyeql-1.1.4}/.github/workflows/post-process.yml +0 -0
  12. {pyeql-1.1.3 → pyeql-1.1.4}/.github/workflows/release.yml +0 -0
  13. {pyeql-1.1.3 → pyeql-1.1.4}/.github/workflows/testing.yaml +0 -0
  14. {pyeql-1.1.3 → pyeql-1.1.4}/.github/workflows/upgrade_dependencies.yml +0 -0
  15. {pyeql-1.1.3 → pyeql-1.1.4}/.gitignore +0 -0
  16. {pyeql-1.1.3 → pyeql-1.1.4}/.pre-commit-config.yaml +0 -0
  17. {pyeql-1.1.3 → pyeql-1.1.4}/.readthedocs.yml +0 -0
  18. {pyeql-1.1.3 → pyeql-1.1.4}/.zenodo.json +0 -0
  19. {pyeql-1.1.3 → pyeql-1.1.4}/AUTHORS.md +0 -0
  20. {pyeql-1.1.3 → pyeql-1.1.4}/CITATION.cff +0 -0
  21. {pyeql-1.1.3 → pyeql-1.1.4}/COPYING +0 -0
  22. {pyeql-1.1.3 → pyeql-1.1.4}/LICENSE.txt +0 -0
  23. {pyeql-1.1.3 → pyeql-1.1.4}/MANIFEST.in +0 -0
  24. {pyeql-1.1.3 → pyeql-1.1.4}/README.md +0 -0
  25. {pyeql-1.1.3 → pyeql-1.1.4}/docs/Makefile +0 -0
  26. {pyeql-1.1.3 → pyeql-1.1.4}/docs/_static/.gitignore +0 -0
  27. {pyeql-1.1.3 → pyeql-1.1.4}/docs/amounts.md +0 -0
  28. {pyeql-1.1.3 → pyeql-1.1.4}/docs/arithmetic.md +0 -0
  29. {pyeql-1.1.3 → pyeql-1.1.4}/docs/authors.md +0 -0
  30. {pyeql-1.1.3 → pyeql-1.1.4}/docs/chemistry.md +0 -0
  31. {pyeql-1.1.3 → pyeql-1.1.4}/docs/class_solution.md +0 -0
  32. {pyeql-1.1.3 → pyeql-1.1.4}/docs/conf.py +0 -0
  33. {pyeql-1.1.3 → pyeql-1.1.4}/docs/contributing.md +0 -0
  34. {pyeql-1.1.3 → pyeql-1.1.4}/docs/creating.md +0 -0
  35. {pyeql-1.1.3 → pyeql-1.1.4}/docs/database.md +0 -0
  36. {pyeql-1.1.3 → pyeql-1.1.4}/docs/engines.md +0 -0
  37. {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/.ipynb_checkpoints/pyEQL_demo_1-checkpoint.ipynb +0 -0
  38. {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/.ipynb_checkpoints/pyeql_demo-checkpoint.ipynb +0 -0
  39. {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/.ipynb_checkpoints/pyeql_tutorial_database-checkpoint.ipynb +0 -0
  40. {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/.ipynb_checkpoints/pyeql_tutorial_osmotic_pressure-checkpoint.ipynb +0 -0
  41. {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/.ipynb_checkpoints/speedup-checkpoint.ipynb +0 -0
  42. {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/pyEQL_demo_1.ipynb +0 -0
  43. {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/pyeql_demo.ipynb +0 -0
  44. {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/pyeql_tutorial_database.ipynb +0 -0
  45. {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/pyeql_tutorial_osmotic_pressure.ipynb +0 -0
  46. {pyeql-1.1.3 → pyeql-1.1.4}/docs/examples/speedup.ipynb +0 -0
  47. {pyeql-1.1.3 → pyeql-1.1.4}/docs/index.md +0 -0
  48. {pyeql-1.1.3 → pyeql-1.1.4}/docs/installation.md +0 -0
  49. {pyeql-1.1.3 → pyeql-1.1.4}/docs/internal.md +0 -0
  50. {pyeql-1.1.3 → pyeql-1.1.4}/docs/license.md +0 -0
  51. {pyeql-1.1.3 → pyeql-1.1.4}/docs/mixing.md +0 -0
  52. {pyeql-1.1.3 → pyeql-1.1.4}/docs/quickstart.md +0 -0
  53. {pyeql-1.1.3 → pyeql-1.1.4}/docs/readme.md +0 -0
  54. {pyeql-1.1.3 → pyeql-1.1.4}/docs/requirements.txt +0 -0
  55. {pyeql-1.1.3 → pyeql-1.1.4}/docs/serialization.md +0 -0
  56. {pyeql-1.1.3 → pyeql-1.1.4}/docs/tutorials.md +0 -0
  57. {pyeql-1.1.3 → pyeql-1.1.4}/docs/units.md +0 -0
  58. {pyeql-1.1.3 → pyeql-1.1.4}/pyeql-logo.png +0 -0
  59. {pyeql-1.1.3 → pyeql-1.1.4}/pyeql-logo.svg +0 -0
  60. {pyeql-1.1.3 → pyeql-1.1.4}/pyproject.toml +0 -0
  61. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.10.txt +0 -0
  62. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.10_extras.txt +0 -0
  63. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.11.txt +0 -0
  64. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.11_extras.txt +0 -0
  65. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.12.txt +0 -0
  66. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.12_extras.txt +0 -0
  67. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.9.txt +0 -0
  68. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/macos-latest_py3.9_extras.txt +0 -0
  69. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.10.txt +0 -0
  70. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.10_extras.txt +0 -0
  71. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.11.txt +0 -0
  72. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.11_extras.txt +0 -0
  73. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.12.txt +0 -0
  74. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.12_extras.txt +0 -0
  75. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.9.txt +0 -0
  76. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/ubuntu-latest_py3.9_extras.txt +0 -0
  77. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.10.txt +0 -0
  78. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.10_extras.txt +0 -0
  79. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.11.txt +0 -0
  80. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.11_extras.txt +0 -0
  81. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.12.txt +0 -0
  82. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.12_extras.txt +0 -0
  83. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.9.txt +0 -0
  84. {pyeql-1.1.3 → pyeql-1.1.4}/requirements/windows-latest_py3.9_extras.txt +0 -0
  85. {pyeql-1.1.3 → pyeql-1.1.4}/setup.cfg +0 -0
  86. {pyeql-1.1.3 → pyeql-1.1.4}/setup.py +0 -0
  87. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/__init__.py +0 -0
  88. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/activity_correction.py +0 -0
  89. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/database/geothermal.dat +0 -0
  90. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/database/llnl.dat +0 -0
  91. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/database/phreeqc_license.txt +0 -0
  92. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/database/pyeql_db.json +0 -0
  93. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/engines.py +0 -0
  94. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/equilibrium.py +0 -0
  95. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/functions.py +0 -0
  96. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/presets/Ringers lactate.yaml +0 -0
  97. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/presets/normal saline.yaml +0 -0
  98. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/presets/rainwater.yaml +0 -0
  99. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/presets/seawater.yaml +0 -0
  100. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/presets/urine.yaml +0 -0
  101. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/presets/wastewater.yaml +0 -0
  102. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/salt_ion_match.py +0 -0
  103. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/solute.py +0 -0
  104. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL/utils.py +0 -0
  105. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL.egg-info/SOURCES.txt +0 -0
  106. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL.egg-info/dependency_links.txt +0 -0
  107. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL.egg-info/requires.txt +0 -0
  108. {pyeql-1.1.3 → pyeql-1.1.4}/src/pyEQL.egg-info/top_level.txt +0 -0
  109. {pyeql-1.1.3 → pyeql-1.1.4}/tests/conftest.py +0 -0
  110. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_activity.py +0 -0
  111. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_bulk_properties.py +0 -0
  112. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_debye_length.py +0 -0
  113. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_density.py +0 -0
  114. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_dielectric.py +0 -0
  115. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_effective_pitzer.py +0 -0
  116. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_equilibrium.py +0 -0
  117. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_functions.py +0 -0
  118. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_logging.py +0 -0
  119. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_mixed_electrolyte_activity.py +0 -0
  120. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_osmotic_coeff.py +0 -0
  121. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_phreeqc.py +0 -0
  122. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_salt_matching.py +0 -0
  123. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_solute.py +0 -0
  124. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_solute_properties.py +0 -0
  125. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_solution.py +0 -0
  126. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_utils.py +0 -0
  127. {pyeql-1.1.3 → pyeql-1.1.4}/tests/test_volume_concentration.py +0 -0
  128. {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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyEQL
3
- Version: 1.1.3
3
+ Version: 1.1.4
4
4
  Summary: A python interface for solution chemistry
5
5
  Author-email: Ryan Kingsbury <kingsbury@princeton.edu>
6
6
  Project-URL: Docs, https://pyeql.readthedocs.io/
@@ -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
- # check b^2 - 4ac; are there any real roots?
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,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyEQL
3
- Version: 1.1.3
3
+ Version: 1.1.4
4
4
  Summary: A python interface for solution chemistry
5
5
  Author-email: Ryan Kingsbury <kingsbury@princeton.edu>
6
6
  Project-URL: Docs, https://pyeql.readthedocs.io/
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