pyEQL 1.3.1__tar.gz → 1.4.0rc9__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.4.0rc9/.github/workflows/release.yml +94 -0
- pyeql-1.4.0rc9/.github/workflows/testing-pinned.yaml +40 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/.github/workflows/testing.yaml +32 -26
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/.gitignore +3 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/.pre-commit-config.yaml +2 -7
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/CHANGELOG.md +36 -0
- pyeql-1.4.0rc9/CMakeLists.txt +61 -0
- {pyeql-1.3.1/src/pyEQL.egg-info → pyeql-1.4.0rc9}/PKG-INFO +8 -9
- pyeql-1.4.0rc9/cibuildwheel.toml +10 -0
- pyeql-1.4.0rc9/docs/authors.md +1 -0
- pyeql-1.4.0rc9/docs/changelog.md +1 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/conf.py +2 -1
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/examples/pyeql_tutorial_carbonate.ipynb +19 -19
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/installation.md +1 -1
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/pyproject.toml +10 -4
- pyeql-1.4.0rc9/requirements.txt +127 -0
- pyeql-1.4.0rc9/setup.cfg +8 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/__init__.py +5 -8
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/activity_correction.py +1 -1
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/engines.py +388 -7
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/functions.py +1 -1
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/__init__.py +5 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/bindings.cpp +84 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/core.py +239 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/README.md +10 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/CMakeLists.txt +476 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/INSTALL +302 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/IPhreeqc.rc +61 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/IPhreeqcConfig.cmake.in +4 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/Makefile.am +8 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/Makefile.in +816 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/aclocal.m4 +1217 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/ar-lib +270 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/compile +347 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/config.guess +1441 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/config.sub +1813 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/depcomp +791 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/install-sh +508 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/ltmain.sh +11156 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/missing +215 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/test-driver +148 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/configure +23867 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/configure.ac +136 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Amm.dat +1968 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/CMakeLists.txt +32 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/ColdChem.dat +267 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Concrete_PHR.dat +158 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Concrete_PZ.dat +195 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Kinec.v2.dat +12039 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Kinec_v3.dat +12159 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Makefile.am +28 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Makefile.in +530 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/PHREEQC_ThermoddemV1.10_15Dec2020.dat +12965 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Tipping_Hurley.dat +4137 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/core10.dat +6824 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/frezchem.dat +634 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/iso.dat +7235 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/llnl.dat +19310 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/minteq.dat +5654 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/minteq.v4.dat +13212 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/phreeqc.dat +1972 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/phreeqc_rates.dat +3158 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/pitzer.dat +1044 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/sit.dat +14348 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/wateq4f.dat +4036 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/CMakeLists.txt +35 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/IPhreeqc.pdf +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/Makefile.am +24 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/Makefile.in +545 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/NOTICE +51 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/Phreeqc_2_1999_manual.pdf +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/Phreeqc_3_2013_manual.pdf +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/README +428 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/RELEASE +7294 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/IPhreeqc_8h.html +5096 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/IPhreeqc_8h_source.html +389 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/IPhreeqc_8hpp.html +83 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/IPhreeqc_8hpp_source.html +478 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/Var_8h.html +318 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/Var_8h_source.html +200 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/bc_s.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/bdwn.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/classIPhreeqc.html +2274 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/classIPhreeqc.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/classIPhreeqcStop.html +69 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/classIPhreeqcStop.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/closed.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +68 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/doxygen.css +1440 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/doxygen.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/dynsections.js +97 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2blank.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2doc.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2folderclosed.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2folderopen.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2lastnode.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2link.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2mlastnode.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2mnode.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2node.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2plastnode.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2pnode.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2splitbar.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2vertline.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/index.html +58 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/jquery.js +31 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/nav_f.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/nav_g.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/nav_h.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/open.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/structVAR.html +143 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/sync_off.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/sync_on.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/tab_a.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/tab_b.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/tab_h.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/tab_s.png +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/tabs.css +60 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/phreeqc3.chm +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/CMakeLists.txt +11 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/Makefile.am +88 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/Makefile.in +696 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/CMakeLists.txt +1 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/CMakeLists.txt +35 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/CMakeLists.txt.in +21 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/README.txt +44 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/advect.c +101 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/ic +17 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/phreeqc.dat +1579 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/CMakeLists.txt +10 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/README.txt +3 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/excel/CMakeLists.txt +9 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/excel/phreeqc.dat +1582 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/excel/runphreeqc.xls +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/excel/withcallback.xls +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/CMakeLists.txt +11 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/Gypsum.py +52 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/parallel_advect.py +465 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/phreeqc.dat +1582 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/pitzer.dat +790 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/wateq4f.dat +3846 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/CMakeLists.txt +1 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/CMakeLists.txt +35 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/CMakeLists.txt.in +20 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/README.txt +45 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/advect.cpp +110 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/ic +17 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/phreeqc.dat +1579 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/CMakeLists.txt +1 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/CMakeLists.txt +44 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/CMakeLists.txt.in +24 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/README.txt +45 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/advect.F90 +102 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/ic +17 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/phreeqc.dat +1579 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/CMakeLists.txt +26 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/CMakeLists.txt.in +20 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/README.txt +37 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/ex2 +26 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/main.cpp +20 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/phreeqc.dat +1837 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/post-install.cmake.in +7 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/CMakeLists.txt +185 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/FileTest.cpp +171 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/FileTest.h +34 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/Makefile.am +18 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/Makefile.in +466 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/TestCVar.cpp +9 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/TestIPhreeqc.cpp +4901 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/TestIPhreeqcLib.cpp +4644 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/TestSelectedOutput.cpp +669 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/TestVar.cpp +10 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/conv_fail.in +11 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/dump +42 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/iso.dat +7231 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/kinn20140218 +349 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/missing_e.dat +1556 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/multi_punch +105 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/multi_punch_no_set +102 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/phreeqc.dat.90a6449 +1935 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/phreeqc.dat.old +1556 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/m4/libtool.m4 +8388 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/m4/ltoptions.m4 +437 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/m4/ltsugar.m4 +124 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/m4/ltversion.m4 +23 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/m4/lt~obsolete.m4 +99 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/resource.h +14 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/CSelectedOutput.cpp +401 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/CSelectedOutput.hxx +77 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/CVar.hxx +162 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Debug.h +12 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/ErrorReporter.hxx +70 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc.cpp +1889 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc.f.inc +91 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc.f90.inc +603 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc.h +2182 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc.hpp +1027 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqcCallbacks.h +19 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqcF.f +653 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqcLib.cpp +1098 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc_interface.F90 +1283 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc_interface_F.cpp +535 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc_interface_F.h +162 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Makefile.am +210 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Makefile.in +1294 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/README.Fortran +17 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Var.c +84 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Var.h +152 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Version.h +36 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fimpl.h +282 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap.cpp +646 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap.h +163 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap1.cpp +24 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap2.cpp +24 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap3.cpp +24 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap4.cpp +24 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap5.cpp +24 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap6.cpp +25 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap7.cpp +25 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap8.cpp +24 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ChartHandler.cpp +225 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ChartHandler.h +59 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ChartObject.cpp +1382 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ChartObject.h +444 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/CurveObject.cpp +42 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/CurveObject.h +79 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Dictionary.cpp +41 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Dictionary.h +28 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ExchComp.cxx +398 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ExchComp.h +117 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Exchange.cxx +466 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Exchange.h +74 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Form1.h +1184 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Form1.resX +36 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/GasComp.cxx +265 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/GasComp.h +59 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/GasPhase.cxx +659 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/GasPhase.h +103 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ISolution.cxx +40 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ISolution.h +53 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ISolutionComp.cxx +202 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ISolutionComp.h +138 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/KineticsComp.cxx +318 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/KineticsComp.h +81 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/NA.h +1 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/NameDouble.cxx +537 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/NameDouble.h +66 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/NumKeyword.cxx +190 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/NumKeyword.h +67 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PBasic.cpp +8350 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PBasic.h +572 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PHRQ_io_output.cpp +411 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PPassemblage.cxx +375 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PPassemblage.h +70 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PPassemblageComp.cxx +441 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PPassemblageComp.h +83 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Phreeqc.cpp +2087 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Phreeqc.h +2164 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PhreeqcKeywords/Keywords.cpp +242 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PhreeqcKeywords/Keywords.h +104 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Pressure.cxx +417 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Pressure.h +43 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Reaction.cxx +284 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Reaction.h +57 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ReadClass.cxx +1150 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SS.cxx +609 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SS.h +128 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SSassemblage.cxx +317 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SSassemblage.h +59 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SScomp.cxx +297 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SScomp.h +66 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SelectedOutput.cpp +115 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SelectedOutput.h +209 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Serializer.cxx +213 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Serializer.h +42 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Solution.cxx +1795 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Solution.h +154 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SolutionIsotope.cxx +333 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SolutionIsotope.h +85 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/StorageBin.cxx +1507 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/StorageBin.h +141 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/StorageBinList.cpp +358 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/StorageBinList.h +81 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Surface.cxx +837 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Surface.h +108 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SurfaceCharge.cxx +617 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SurfaceCharge.h +137 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SurfaceComp.cxx +509 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SurfaceComp.h +70 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/System.cxx +103 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/System.h +89 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Temperature.cxx +423 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Temperature.h +42 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Use.cpp +78 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Use.h +159 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/UserPunch.cpp +32 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/UserPunch.h +39 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ZedGraph.dll +0 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/advection.cpp +140 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/basicsubs.cpp +4333 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cl1.cpp +881 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/PHRQ_base.cxx +117 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/PHRQ_base.h +48 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/PHRQ_exports.h +20 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/PHRQ_io.cpp +914 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/PHRQ_io.h +207 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/Parser.cxx +1331 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/Parser.h +310 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/Utils.cxx +263 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/Utils.h +29 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/phrqtype.h +18 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cvdense.cpp +566 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cvdense.h +267 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cvode.cpp +3939 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cvode.h +940 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cxxKinetics.cxx +617 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cxxKinetics.h +78 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cxxMix.cxx +154 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cxxMix.h +58 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/dense.cpp +175 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/dense.h +341 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/dumper.cpp +277 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/dumper.h +60 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/gases.cpp +748 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/global_structures.h +1672 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/input.cpp +133 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/integrate.cpp +1219 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/inverse.cpp +5135 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/isotopes.cpp +1813 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/kinetics.cpp +3180 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/mainsubs.cpp +2320 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/model.cpp +5843 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/nvector.cpp +272 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/nvector.h +485 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/nvector_serial.cpp +1032 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/nvector_serial.h +369 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/parse.cpp +1044 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/phqalloc.cpp +316 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/phqalloc.h +47 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/pitzer.cpp +2709 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/pitzer_structures.cpp +225 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/prep.cpp +6267 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/print.cpp +3673 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/read.cpp +10245 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/readtr.cpp +1495 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/runner.cpp +158 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/runner.h +33 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/sit.cpp +1684 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/smalldense.cpp +324 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/smalldense.h +261 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/spread.cpp +1309 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/step.cpp +1566 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/structures.cpp +3381 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/sundialsmath.cpp +133 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/sundialsmath.h +162 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/sundialstypes.h +183 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/tally.cpp +1288 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/tidy.cpp +5600 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/transport.cpp +6403 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/utilities.cpp +1339 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/thread.h +64 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/CMakeLists.txt +133 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/Makefile.am +45 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/Makefile.in +1128 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/ex2.in +26 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/main.f90 +31 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/main77.f +6 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/main_fortran.cxx +8 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/phreeqc.dat.in +1556 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/test_c.c +148 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/test_cxx.cxx +152 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/test_f90.F90 +328 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/iphreeqc_wrapper.cpp +75 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/solution.py +74 -0
- pyeql-1.4.0rc9/src/pyEQL/phreeqc/var.py +50 -0
- pyeql-1.4.0rc9/src/pyEQL/presets/__init__.py +17 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/solution.py +82 -25
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/utils.py +7 -0
- pyeql-1.4.0rc9/tests/files_phreeqc/sophisticated_test_case.pqi +14 -0
- pyeql-1.4.0rc9/tests/files_phreeqc/sophisticated_test_case.pqo +151 -0
- pyeql-1.4.0rc9/tests/files_phreeqc/water_pH7_temp25.pqi +5 -0
- pyeql-1.4.0rc9/tests/files_phreeqc/water_pH7_temp25.pqo +91 -0
- pyeql-1.4.0rc9/tests/phreeqc/conftest.py +9 -0
- pyeql-1.4.0rc9/tests/phreeqc/phreeqc.dat +1972 -0
- pyeql-1.4.0rc9/tests/phreeqc/test_phreeqc.py +610 -0
- pyeql-1.4.0rc9/tests/phreeqc/test_phreeqc_solution.py +16 -0
- pyeql-1.4.0rc9/tests/phreeqc/test_var.py +40 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_activity.py +2 -2
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_functions.py +2 -3
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_phreeqc.py +172 -11
- pyeql-1.4.0rc9/tests/test_pyeql_phreeqc.py +423 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_salt_matching.py +2 -2
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_solution.py +163 -8
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_utils.py +4 -0
- pyeql-1.3.1/.github/workflows/post-process.yml +0 -64
- pyeql-1.3.1/.github/workflows/release.yml +0 -60
- pyeql-1.3.1/.github/workflows/upgrade_dependencies.yml +0 -93
- pyeql-1.3.1/PKG-INFO +0 -131
- pyeql-1.3.1/docs/_static/.gitignore +0 -1
- pyeql-1.3.1/docs/authors.md +0 -21
- pyeql-1.3.1/docs/changelog.md +0 -662
- pyeql-1.3.1/requirements/macos-latest_py3.10.txt +0 -231
- pyeql-1.3.1/requirements/macos-latest_py3.10_extras.txt +0 -374
- pyeql-1.3.1/requirements/macos-latest_py3.11.txt +0 -231
- pyeql-1.3.1/requirements/macos-latest_py3.11_extras.txt +0 -364
- pyeql-1.3.1/requirements/macos-latest_py3.12.txt +0 -231
- pyeql-1.3.1/requirements/macos-latest_py3.12_extras.txt +0 -364
- pyeql-1.3.1/requirements/macos-latest_py3.9.txt +0 -231
- pyeql-1.3.1/requirements/macos-latest_py3.9_extras.txt +0 -378
- pyeql-1.3.1/requirements/ubuntu-latest_py3.10.txt +0 -231
- pyeql-1.3.1/requirements/ubuntu-latest_py3.10_extras.txt +0 -374
- pyeql-1.3.1/requirements/ubuntu-latest_py3.11.txt +0 -231
- pyeql-1.3.1/requirements/ubuntu-latest_py3.11_extras.txt +0 -364
- pyeql-1.3.1/requirements/ubuntu-latest_py3.12.txt +0 -231
- pyeql-1.3.1/requirements/ubuntu-latest_py3.12_extras.txt +0 -364
- pyeql-1.3.1/requirements/ubuntu-latest_py3.9.txt +0 -231
- pyeql-1.3.1/requirements/ubuntu-latest_py3.9_extras.txt +0 -378
- pyeql-1.3.1/requirements/windows-latest_py3.10.txt +0 -233
- pyeql-1.3.1/requirements/windows-latest_py3.10_extras.txt +0 -381
- pyeql-1.3.1/requirements/windows-latest_py3.11.txt +0 -233
- pyeql-1.3.1/requirements/windows-latest_py3.11_extras.txt +0 -371
- pyeql-1.3.1/requirements/windows-latest_py3.12.txt +0 -233
- pyeql-1.3.1/requirements/windows-latest_py3.12_extras.txt +0 -371
- pyeql-1.3.1/requirements/windows-latest_py3.9.txt +0 -233
- pyeql-1.3.1/requirements/windows-latest_py3.9_extras.txt +0 -385
- pyeql-1.3.1/setup.cfg +0 -11
- pyeql-1.3.1/src/pyEQL.egg-info/SOURCES.txt +0 -127
- pyeql-1.3.1/src/pyEQL.egg-info/dependency_links.txt +0 -1
- pyeql-1.3.1/src/pyEQL.egg-info/requires.txt +0 -27
- pyeql-1.3.1/src/pyEQL.egg-info/top_level.txt +0 -1
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/.coveragerc +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/.gitattributes +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/.github/dependabot.yml +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/.github/pull_request_template.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/.github/release.yml +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/.readthedocs.yml +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/.zenodo.json +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/AUTHORS.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/CITATION.cff +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/COPYING +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/LICENSE.txt +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/MANIFEST.in +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/README.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/Makefile +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/amounts.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/arithmetic.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/chemistry.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/class_solution.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/contributing.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/creating.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/database.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/engines.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/examples/.ipynb_checkpoints/pyEQL_demo_1-checkpoint.ipynb +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/examples/.ipynb_checkpoints/pyeql_demo-checkpoint.ipynb +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/examples/.ipynb_checkpoints/pyeql_tutorial_database-checkpoint.ipynb +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/examples/.ipynb_checkpoints/pyeql_tutorial_osmotic_pressure-checkpoint.ipynb +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/examples/.ipynb_checkpoints/speedup-checkpoint.ipynb +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/examples/pyeql_demo.ipynb +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/examples/pyeql_tutorial_activity.ipynb +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/examples/pyeql_tutorial_database.ipynb +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/examples/pyeql_tutorial_osmotic_pressure.ipynb +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/index.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/internal.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/license.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/mixing.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/quickstart.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/requirements.txt +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/serialization.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/tutorials.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/docs/units.md +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/pyeql-logo.png +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/pyeql-logo.svg +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/setup.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/database/geothermal.dat +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/database/llnl.dat +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/database/phreeqc_license.txt +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/database/pyeql_db.json +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/equilibrium.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/presets/Ringers lactate.yaml +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/presets/normal saline.yaml +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/presets/rainwater.yaml +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/presets/seawater.yaml +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/presets/urine.yaml +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/presets/wastewater.yaml +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/py.typed +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/salt_ion_match.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/src/pyEQL/solute.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/conftest.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_bulk_properties.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_debye_length.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_density.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_dielectric.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_effective_pitzer.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_equilibrium.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_logging.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_mixed_electrolyte_activity.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_osmotic_coeff.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_solute.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_solute_properties.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tests/test_volume_concentration.py +0 -0
- {pyeql-1.3.1 → pyeql-1.4.0rc9}/tox.ini +0 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
name: release
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [published]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
|
|
9
|
+
build_sdist:
|
|
10
|
+
name: Build source
|
|
11
|
+
runs-on: ubuntu-latest
|
|
12
|
+
|
|
13
|
+
steps:
|
|
14
|
+
- uses: actions/checkout@v6
|
|
15
|
+
with:
|
|
16
|
+
fetch-depth: 0
|
|
17
|
+
ref: ${{ github.event.release.tag_name }}
|
|
18
|
+
|
|
19
|
+
- name: Build source
|
|
20
|
+
run: |
|
|
21
|
+
python -m pip install pip --upgrade
|
|
22
|
+
pip install build --upgrade
|
|
23
|
+
python -m build --sdist --outdir=wheelhouse
|
|
24
|
+
|
|
25
|
+
- name: Upload sdist to github
|
|
26
|
+
uses: actions/upload-artifact@v6
|
|
27
|
+
with:
|
|
28
|
+
name: wheels-sdist
|
|
29
|
+
path: wheelhouse/*.tar.gz
|
|
30
|
+
if-no-files-found: error
|
|
31
|
+
|
|
32
|
+
build_wheels:
|
|
33
|
+
name: Build wheel on ${{ matrix.os }} for ${{ matrix.cibw_archs }}
|
|
34
|
+
needs: [build_sdist]
|
|
35
|
+
runs-on: ${{ matrix.os }}
|
|
36
|
+
strategy:
|
|
37
|
+
fail-fast: false
|
|
38
|
+
matrix:
|
|
39
|
+
include:
|
|
40
|
+
- os: ubuntu-latest
|
|
41
|
+
cibw_archs: "x86_64"
|
|
42
|
+
- os: ubuntu-24.04-arm
|
|
43
|
+
cibw_archs: "auto"
|
|
44
|
+
- os: windows-2022
|
|
45
|
+
cibw_archs: "auto64"
|
|
46
|
+
# macos-15-intel for Intel and maos-latest for Apple Silicon
|
|
47
|
+
- os: macos-15-intel
|
|
48
|
+
cibw_archs: "x86_64"
|
|
49
|
+
- os: macos-latest
|
|
50
|
+
cibw_archs: "arm64"
|
|
51
|
+
|
|
52
|
+
steps:
|
|
53
|
+
- uses: actions/checkout@v6
|
|
54
|
+
with:
|
|
55
|
+
fetch-depth: 0
|
|
56
|
+
ref: ${{ github.event.release.tag_name }}
|
|
57
|
+
|
|
58
|
+
- name: Build wheels
|
|
59
|
+
uses: pypa/cibuildwheel@v3.3
|
|
60
|
+
with:
|
|
61
|
+
config-file: cibuildwheel.toml
|
|
62
|
+
output-dir: wheelhouse
|
|
63
|
+
env:
|
|
64
|
+
CIBW_ENVIRONMENT_MACOS: CMAKE_OSX_ARCHITECTURES=${{ matrix.cibw_archs }}
|
|
65
|
+
|
|
66
|
+
- name: Upload artifacts to github
|
|
67
|
+
uses: actions/upload-artifact@v6
|
|
68
|
+
with:
|
|
69
|
+
name: wheels-${{ runner.os }}-${{ matrix.cibw_archs }}
|
|
70
|
+
path: ./wheelhouse/*.whl
|
|
71
|
+
if-no-files-found: error
|
|
72
|
+
|
|
73
|
+
publish_to_pypi:
|
|
74
|
+
name: Publish wheels to PyPi
|
|
75
|
+
needs: [build_sdist, build_wheels]
|
|
76
|
+
runs-on: ubuntu-latest
|
|
77
|
+
steps:
|
|
78
|
+
- name: Download packages
|
|
79
|
+
uses: actions/download-artifact@v7
|
|
80
|
+
with:
|
|
81
|
+
pattern: wheels-*
|
|
82
|
+
path: dist
|
|
83
|
+
merge-multiple: true
|
|
84
|
+
|
|
85
|
+
- name: Print out packages
|
|
86
|
+
run: ls -la dist/*
|
|
87
|
+
|
|
88
|
+
- name: Upload wheels to pypi
|
|
89
|
+
env:
|
|
90
|
+
TWINE_USERNAME: __token__
|
|
91
|
+
TWINE_PASSWORD: ${{ secrets.pypi_password }}
|
|
92
|
+
run: |
|
|
93
|
+
python -m pip install --upgrade pip setuptools wheel packaging twine
|
|
94
|
+
twine upload dist/*
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
name: testing-pinned
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
paths-ignore:
|
|
8
|
+
- CHANGELOG.md
|
|
9
|
+
|
|
10
|
+
jobs:
|
|
11
|
+
test:
|
|
12
|
+
strategy:
|
|
13
|
+
matrix:
|
|
14
|
+
# We only test on min. and max. supported Python versions here.
|
|
15
|
+
python-version: ["3.10", "3.13"]
|
|
16
|
+
os:
|
|
17
|
+
- ubuntu-latest
|
|
18
|
+
- macos-latest
|
|
19
|
+
- macos-14
|
|
20
|
+
- windows-latest
|
|
21
|
+
|
|
22
|
+
runs-on: ${{ matrix.os }}
|
|
23
|
+
|
|
24
|
+
steps:
|
|
25
|
+
- uses: actions/checkout@v6
|
|
26
|
+
|
|
27
|
+
- name: Setup Python
|
|
28
|
+
uses: actions/setup-python@v6
|
|
29
|
+
with:
|
|
30
|
+
python-version: ${{ matrix.python-version }}${{ matrix.dev }}
|
|
31
|
+
|
|
32
|
+
- name: Install requirements
|
|
33
|
+
run: |
|
|
34
|
+
python -m pip install --upgrade pip
|
|
35
|
+
pip install -r requirements.txt
|
|
36
|
+
pip install -e . --no-deps
|
|
37
|
+
|
|
38
|
+
- name: Run tests
|
|
39
|
+
run: |
|
|
40
|
+
pytest -n auto --cov=src/pyEQL --cov-report=xml --dist=loadscope
|
|
@@ -10,22 +10,21 @@ on:
|
|
|
10
10
|
|
|
11
11
|
concurrency:
|
|
12
12
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
13
|
-
cancel-in-progress:
|
|
13
|
+
cancel-in-progress: false
|
|
14
14
|
|
|
15
15
|
jobs:
|
|
16
16
|
lint:
|
|
17
17
|
runs-on: ubuntu-latest
|
|
18
|
-
strategy:
|
|
19
|
-
max-parallel: 1
|
|
20
18
|
steps:
|
|
21
|
-
- uses: actions/checkout@
|
|
19
|
+
- uses: actions/checkout@v6
|
|
22
20
|
with:
|
|
23
21
|
fetch-depth: 0
|
|
22
|
+
|
|
24
23
|
- name: Set up Python
|
|
25
|
-
uses: actions/setup-python@
|
|
24
|
+
uses: actions/setup-python@v6
|
|
26
25
|
with:
|
|
27
|
-
python-version: "3.
|
|
28
|
-
|
|
26
|
+
python-version: "3.12"
|
|
27
|
+
|
|
29
28
|
- name: Run pre-commit
|
|
30
29
|
run: |
|
|
31
30
|
pip install pre-commit
|
|
@@ -34,52 +33,59 @@ jobs:
|
|
|
34
33
|
test:
|
|
35
34
|
needs: lint
|
|
36
35
|
strategy:
|
|
37
|
-
max-parallel: 6
|
|
38
36
|
matrix:
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
os:
|
|
42
|
-
- ubuntu-latest
|
|
43
|
-
- macos-latest
|
|
44
|
-
- macos-14
|
|
45
|
-
- windows-latest
|
|
46
|
-
include:
|
|
47
|
-
- os: ubuntu-latest
|
|
48
|
-
python-version: "3.11"
|
|
49
|
-
- os: ubuntu-latest
|
|
50
|
-
python-version: "3.12"
|
|
51
|
-
runs-on: ${{ matrix.os }}
|
|
37
|
+
python-version: ["3.10", "3.11", "3.12","3.13"]
|
|
38
|
+
runs-on: ubuntu-latest
|
|
52
39
|
steps:
|
|
53
|
-
- uses: actions/checkout@
|
|
40
|
+
- uses: actions/checkout@v6
|
|
41
|
+
|
|
54
42
|
- name: Setup Python
|
|
55
|
-
uses: actions/setup-python@
|
|
43
|
+
uses: actions/setup-python@v6
|
|
56
44
|
with:
|
|
57
45
|
python-version: ${{ matrix.python-version }}${{ matrix.dev }}
|
|
46
|
+
|
|
58
47
|
- name: Install test requirements
|
|
59
48
|
run: |
|
|
60
49
|
python -m pip install --upgrade pip
|
|
61
50
|
pip install -e ".[testing]"
|
|
51
|
+
|
|
52
|
+
- name: List installed requirements
|
|
53
|
+
run: |
|
|
54
|
+
pip freeze
|
|
55
|
+
|
|
62
56
|
- name: Run tests
|
|
63
57
|
run: |
|
|
64
|
-
|
|
58
|
+
if [[ "${{ matrix.python-version }}" == "3.12" ]]; then
|
|
59
|
+
pytest -n auto --cov=src/pyEQL --cov-report=xml --dist=loadscope
|
|
60
|
+
else
|
|
61
|
+
pytest -n auto --dist=loadscope
|
|
62
|
+
fi
|
|
63
|
+
|
|
65
64
|
- uses: codecov/codecov-action@v5
|
|
65
|
+
if: matrix.python-version == '3.12'
|
|
66
66
|
with:
|
|
67
67
|
token: ${{ secrets.CODECOV_TOKEN }}
|
|
68
68
|
file: ./coverage.xml
|
|
69
69
|
|
|
70
70
|
docs:
|
|
71
71
|
runs-on: ubuntu-latest
|
|
72
|
+
|
|
72
73
|
steps:
|
|
73
|
-
- uses: actions/checkout@
|
|
74
|
+
- uses: actions/checkout@v6
|
|
75
|
+
|
|
74
76
|
- name: Setup Python
|
|
75
|
-
uses: actions/setup-python@
|
|
77
|
+
uses: actions/setup-python@v6
|
|
76
78
|
with:
|
|
77
79
|
python-version: "3.11"
|
|
80
|
+
|
|
78
81
|
- name: Install tox
|
|
79
82
|
run: |
|
|
80
83
|
python -m pip install tox
|
|
84
|
+
|
|
81
85
|
- uses: r-lib/actions/setup-pandoc@v2
|
|
86
|
+
|
|
82
87
|
- name: Build docs
|
|
83
88
|
run: tox -e docs
|
|
89
|
+
|
|
84
90
|
- name: Check links
|
|
85
91
|
run: tox -e links
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
exclude:
|
|
1
|
+
exclude: ^(docs/conf\.py|src/pyEQL/phreeqc/ext|tests/phreeqc/.*\.dat)
|
|
2
2
|
|
|
3
3
|
default_stages: [pre-commit]
|
|
4
4
|
|
|
@@ -21,17 +21,12 @@ repos:
|
|
|
21
21
|
# Run the formatter. This WILL run on .ipynb files
|
|
22
22
|
- id: ruff-format
|
|
23
23
|
|
|
24
|
-
- repo: https://github.com/psf/black-pre-commit-mirror
|
|
25
|
-
rev: 25.1.0
|
|
26
|
-
hooks:
|
|
27
|
-
- id: black
|
|
28
|
-
|
|
29
24
|
- repo: https://github.com/codespell-project/codespell
|
|
30
25
|
rev: v2.4.1
|
|
31
26
|
hooks:
|
|
32
27
|
- id: codespell
|
|
33
28
|
stages: [pre-commit, commit-msg]
|
|
34
|
-
exclude_types: [html, svg]
|
|
29
|
+
exclude_types: [html, svg, jupyter]
|
|
35
30
|
additional_dependencies: [tomli] # needed to read pyproject.toml below py3.11
|
|
36
31
|
|
|
37
32
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
@@ -5,6 +5,42 @@ 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.4.0rc9] - 2026-02-05
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- `EOS`: Brand new, custom-compiled wrapper that interfaces directly with IPHREEQC modules distributed by USGS. This
|
|
13
|
+
new PHREEQC interface is accessible via the new `phreeqc2026` electrolyte modeling engine, and will be used
|
|
14
|
+
by default in the `native` engine in `v1.5.0`. (#306, #318, #318, #319, @vineetbansal)
|
|
15
|
+
|
|
16
|
+
### Changed
|
|
17
|
+
|
|
18
|
+
- `Solution.equilibrate`: Added support for solid-liquid and gas-liquid equilibrium via three new kwargs - `atmopshere`,
|
|
19
|
+
`solids`, and `gases`. See docstring for details and usage.(#292, #294, @vineetbansal, @YitongPan1, @SuixiongTay)
|
|
20
|
+
- `get_components_by_element`: A new keyword argument `nested` was added to methods `get_components_by_element`
|
|
21
|
+
and `get_el_amt_dict` of the `Solution` class. It defaults to `False` (no change from prior behavior), but
|
|
22
|
+
can be set to `True` to return a 2-level dictionary, with the element symbol as the key at the top level, and
|
|
23
|
+
the valence (float, or "unk" for unknown) as the key at the second level. This should make it easier for future
|
|
24
|
+
code to calculate the total amount of a given element regardless of its valence. (#284, @vineetbansal)
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
|
|
28
|
+
- `NativeEOS` `equilibrate`: We check if the total amount for any element decreases (within a tolerance of 1e-16 moles)
|
|
29
|
+
after speciation. If so, we add all species containing that element back in (unless they have been added by Phreeqc
|
|
30
|
+
already). As a result, we replace neutral (aq) molecules, and ions with incorrect charge, with ions with charge
|
|
31
|
+
determined by phreeqc, without double-counting. Missing elements (e.g. Rh) are handled correctly as well, since species
|
|
32
|
+
with the missing element are re-introduced in the solution. (#282, @vineetbansal)
|
|
33
|
+
- `standardize_formula`: Fixed incorrect reduction of dimers. For example, `(CO2)2` was being standardized to `CO2`, which
|
|
34
|
+
could cause incorrect concentrations to be reported. Dimers are no longer reduced. (#309, @vineetbansal)
|
|
35
|
+
|
|
36
|
+
## [1.3.2] - 2025-09-15
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
|
|
40
|
+
- `Solution.get_viscosity_kinematic()`: A recent change to get_salt_dict (#258) created a problem with `get_viscosity_kinetmatic`
|
|
41
|
+
in which an empty solution would cause the method to return an error. This has been fixed, and unit tests added for both
|
|
42
|
+
`get_viscosity_kinematic` and `get_viscosity_dynamic`.
|
|
43
|
+
|
|
8
44
|
## [1.3.1] - 2025-08-18
|
|
9
45
|
|
|
10
46
|
### Fixed
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
cmake_minimum_required(VERSION 3.15...3.26)
|
|
2
|
+
project(
|
|
3
|
+
"${SKBUILD_PROJECT_NAME}"
|
|
4
|
+
LANGUAGES CXX
|
|
5
|
+
VERSION "${SKBUILD_PROJECT_VERSION}")
|
|
6
|
+
|
|
7
|
+
option(PYEQL_ENABLE_EXT "Build and install IPhreeqc support" ON)
|
|
8
|
+
|
|
9
|
+
if(PYEQL_ENABLE_EXT)
|
|
10
|
+
find_package(
|
|
11
|
+
Python
|
|
12
|
+
COMPONENTS Interpreter Development.Module
|
|
13
|
+
REQUIRED)
|
|
14
|
+
find_package(pybind11 CONFIG REQUIRED)
|
|
15
|
+
|
|
16
|
+
# -------------------------------------------------------
|
|
17
|
+
# Setup for IPhreeqc
|
|
18
|
+
# -------------------------------------------------------
|
|
19
|
+
set(IPHREEQC_BASE ${CMAKE_CURRENT_SOURCE_DIR}/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100)
|
|
20
|
+
set(IPHREEQC_DIR ${IPHREEQC_BASE})
|
|
21
|
+
set(IPHREEQC_INCLUDE_DIRS
|
|
22
|
+
${IPHREEQC_BASE}/src
|
|
23
|
+
${IPHREEQC_BASE}/src/phreeqcpp/common
|
|
24
|
+
)
|
|
25
|
+
include_directories(${IPHREEQC_INCLUDE_DIRS})
|
|
26
|
+
set(IPHREEQC_BUILD_DIR ${IPHREEQC_BASE}/build)
|
|
27
|
+
add_subdirectory(${IPHREEQC_DIR} ${IPHREEQC_BUILD_DIR})
|
|
28
|
+
set_target_properties(IPhreeqc PROPERTIES POSITION_INDEPENDENT_CODE ON)
|
|
29
|
+
# -------------------------------------------------------
|
|
30
|
+
|
|
31
|
+
# -------------------------------------------------------
|
|
32
|
+
# Setup for pyEQL._phreeqc
|
|
33
|
+
# -------------------------------------------------------
|
|
34
|
+
pybind11_add_module(_phreeqc ${CMAKE_CURRENT_SOURCE_DIR}/src/pyEQL/phreeqc/bindings.cpp)
|
|
35
|
+
target_compile_definitions(_phreeqc
|
|
36
|
+
PRIVATE VERSION_INFO=${PROJECT_VERSION})
|
|
37
|
+
target_link_libraries(_phreeqc PRIVATE IPhreeqc)
|
|
38
|
+
install(TARGETS _phreeqc LIBRARY DESTINATION pyEQL COMPONENT python)
|
|
39
|
+
|
|
40
|
+
# -------------------------------------------------------
|
|
41
|
+
# IPhreeqc databases
|
|
42
|
+
# -------------------------------------------------------
|
|
43
|
+
# Till we find a way to extract artifacts from IPhreeqc's install folder
|
|
44
|
+
# through scikit-build-core, we define a COMPONENT that allows us to
|
|
45
|
+
# copy the database files.
|
|
46
|
+
set(IPHREEQC_DATABASE_DIR ${IPHREEQC_BASE}/database)
|
|
47
|
+
install(DIRECTORY
|
|
48
|
+
"${IPHREEQC_DATABASE_DIR}"
|
|
49
|
+
DESTINATION pyEQL/phreeqc COMPONENT iphreeqc_database)
|
|
50
|
+
# Make it a python module so we can access it using importlib.resources
|
|
51
|
+
file(GENERATE
|
|
52
|
+
OUTPUT "__init__.py"
|
|
53
|
+
CONTENT ""
|
|
54
|
+
)
|
|
55
|
+
install(FILES
|
|
56
|
+
"${CMAKE_CURRENT_BINARY_DIR}/__init__.py"
|
|
57
|
+
DESTINATION pyEQL/phreeqc/database
|
|
58
|
+
COMPONENT iphreeqc_database
|
|
59
|
+
)
|
|
60
|
+
# -------------------------------------------------------
|
|
61
|
+
endif()
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pyEQL
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.4.0rc9
|
|
4
4
|
Summary: A python interface for solution chemistry
|
|
5
|
-
Author-
|
|
5
|
+
Author-Email: Ryan Kingsbury <kingsbury@princeton.edu>
|
|
6
6
|
License-Expression: LGPL-3.0-or-later
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
Project-URL: Package, https://pypi.org/project/pyEQL
|
|
7
|
+
License-File: AUTHORS.md
|
|
8
|
+
License-File: LICENSE.txt
|
|
10
9
|
Classifier: Programming Language :: Python :: 3
|
|
11
10
|
Classifier: Programming Language :: Python :: 3.10
|
|
12
11
|
Classifier: Programming Language :: Python :: 3.11
|
|
@@ -15,10 +14,10 @@ Classifier: Development Status :: 4 - Beta
|
|
|
15
14
|
Classifier: Intended Audience :: Science/Research
|
|
16
15
|
Classifier: Operating System :: OS Independent
|
|
17
16
|
Classifier: Topic :: Scientific/Engineering
|
|
17
|
+
Project-URL: Docs, https://pyeql.readthedocs.io/
|
|
18
|
+
Project-URL: Repo, https://github.com/KingsburyLab/pyEQL
|
|
19
|
+
Project-URL: Package, https://pypi.org/project/pyEQL
|
|
18
20
|
Requires-Python: >=3.10
|
|
19
|
-
Description-Content-Type: text/markdown
|
|
20
|
-
License-File: LICENSE.txt
|
|
21
|
-
License-File: AUTHORS.md
|
|
22
21
|
Requires-Dist: pint>=0.24.4
|
|
23
22
|
Requires-Dist: numpy>1.26
|
|
24
23
|
Requires-Dist: scipy>=1.12
|
|
@@ -43,7 +42,7 @@ Requires-Dist: sphinx-rtd-theme; extra == "docs"
|
|
|
43
42
|
Requires-Dist: myst-parser[linkify]; extra == "docs"
|
|
44
43
|
Provides-Extra: full
|
|
45
44
|
Requires-Dist: rich; extra == "full"
|
|
46
|
-
|
|
45
|
+
Description-Content-Type: text/markdown
|
|
47
46
|
|
|
48
47
|
[](https://pyeql.readthedocs.io/en/latest/)
|
|
49
48
|
[](https://github.com/KingsburyLab/pyeql/actions?query=workflow%3Atesting)
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
[tool.cibuildwheel]
|
|
2
|
+
build = "cp3*"
|
|
3
|
+
skip = ["cp314*", "*-win32", "*-manylinux_i686", "*-musllinux_*"]
|
|
4
|
+
build-verbosity = 1
|
|
5
|
+
test-extras = ["testing"]
|
|
6
|
+
# 01/24/26 - The latest version of scipy, 1.17.0, cannot be built on
|
|
7
|
+
# manylinux without OpenBLAS. Skip it by pre-installing a binary version.
|
|
8
|
+
before-test = "pip install scipy --prefer-binary"
|
|
9
|
+
# For now, we only run the tests that are wrapper specific in cibuildwheel.
|
|
10
|
+
test-command = "python -m pytest {project}/tests/test_pyeql_phreeqc.py"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
../AUTHORS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
../CHANGELOG.md
|
|
@@ -315,7 +315,8 @@ linkcheck_allowed_redirects = {
|
|
|
315
315
|
r"http://pint\.readthedocs\.io": r"https://pint\.readthedocs\.io/.*/stable",
|
|
316
316
|
r"https://tox\.wiki": r"https://tox\.wiki/.*",
|
|
317
317
|
}
|
|
318
|
-
|
|
318
|
+
# https://idst.inl.gov/ is reachable, just not from the github runner.
|
|
319
|
+
linkcheck_ignore = [r"https://localhost:\d+/", r"^https://idst\.inl\.gov/$"]
|
|
319
320
|
linkcheck_rate_limit_timeout = 500
|
|
320
321
|
|
|
321
322
|
print(f"loading configurations for {project} {version} ...", file=sys.stderr)
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"# Import the pyEQL library and other necessary modules\n",
|
|
63
63
|
"import pyEQL\n",
|
|
64
64
|
"import numpy as np\n",
|
|
65
|
-
"import matplotlib.pyplot as plt
|
|
65
|
+
"import matplotlib.pyplot as plt"
|
|
66
66
|
]
|
|
67
67
|
},
|
|
68
68
|
{
|
|
@@ -143,9 +143,9 @@
|
|
|
143
143
|
"outputs": [],
|
|
144
144
|
"source": [
|
|
145
145
|
"initial_conditions = {\n",
|
|
146
|
-
"
|
|
147
|
-
"
|
|
148
|
-
"
|
|
146
|
+
" \"HCO3-\": 1.0e-3,\n",
|
|
147
|
+
" \"CO3--\": 1.0e-4,\n",
|
|
148
|
+
" \"H+\": 1.0e-7, # Note: instead of including H+ here, you could use the pH keyword argument\n",
|
|
149
149
|
"}"
|
|
150
150
|
]
|
|
151
151
|
},
|
|
@@ -225,7 +225,7 @@
|
|
|
225
225
|
],
|
|
226
226
|
"source": [
|
|
227
227
|
"# Retrieve equilibrium concentrations using get_amount\n",
|
|
228
|
-
"{species: solution.get_amount(species,
|
|
228
|
+
"{species: solution.get_amount(species, \"mol/L\").magnitude for species in solution.components}"
|
|
229
229
|
]
|
|
230
230
|
},
|
|
231
231
|
{
|
|
@@ -272,7 +272,7 @@
|
|
|
272
272
|
"source": [
|
|
273
273
|
"solution.equilibrate()\n",
|
|
274
274
|
"# Retrieve equilibrium concentrations using get_amount\n",
|
|
275
|
-
"{species: solution.get_amount(species,
|
|
275
|
+
"{species: solution.get_amount(species, \"mol/L\").magnitude for species in solution.components}"
|
|
276
276
|
]
|
|
277
277
|
},
|
|
278
278
|
{
|
|
@@ -322,7 +322,7 @@
|
|
|
322
322
|
"import matplotlib.pyplot as plt\n",
|
|
323
323
|
"\n",
|
|
324
324
|
"# iterate through several pH values, re-equilibrating the solution each time the pH changes\n",
|
|
325
|
-
"phs = np.arange(0,13.5, 0.5)\n",
|
|
325
|
+
"phs = np.arange(0, 13.5, 0.5)\n",
|
|
326
326
|
"# store the species concentrations in these lists\n",
|
|
327
327
|
"h2co3 = []\n",
|
|
328
328
|
"hco3 = []\n",
|
|
@@ -333,25 +333,25 @@
|
|
|
333
333
|
" # create a solution with 1 mM total carbonate, then equilibrate\n",
|
|
334
334
|
" s = pyEQL.Solution({\"Na+\": \"1e-3 mol/L\", \"HCO3-\": \"1e-3 mol/L\"}, pH=ph)\n",
|
|
335
335
|
" s.equilibrate()\n",
|
|
336
|
-
" h2co3.append(s.get_amount(
|
|
337
|
-
" hco3.append(s.get_amount(
|
|
338
|
-
" co3.append(s.get_amount(
|
|
339
|
-
" co2.append(s.get_amount(
|
|
336
|
+
" h2co3.append(s.get_amount(\"H2CO3\", \"mM\").magnitude)\n",
|
|
337
|
+
" hco3.append(s.get_amount(\"HCO3-\", \"mM\").magnitude)\n",
|
|
338
|
+
" co3.append(s.get_amount(\"CO3-2\", \"mM\").magnitude)\n",
|
|
339
|
+
" co2.append(s.get_amount(\"CO2\", \"mM\").magnitude)\n",
|
|
340
340
|
"\n",
|
|
341
341
|
"# Plotting the equilibrium concentrations\n",
|
|
342
|
-
"plt.figure(figsize=(8,4))\n",
|
|
343
|
-
"plt.plot(phs, h2co3, color
|
|
344
|
-
"plt.plot(phs, hco3, color
|
|
345
|
-
"plt.plot(phs, co3, color
|
|
346
|
-
"plt.plot(phs, co2, color
|
|
342
|
+
"plt.figure(figsize=(8, 4))\n",
|
|
343
|
+
"plt.plot(phs, h2co3, color=\"skyblue\", label=r\"H$_2$CO$_3$\")\n",
|
|
344
|
+
"plt.plot(phs, hco3, color=\"g\", label=r\"HCO$_3^{-1}$\")\n",
|
|
345
|
+
"plt.plot(phs, co3, color=\"r\", label=r\"CO$_3^{-2}$\")\n",
|
|
346
|
+
"plt.plot(phs, co2, color=\"b\", label=r\"CO$_2$(aq)\")\n",
|
|
347
347
|
"\n",
|
|
348
348
|
"# add a horizontal line for the total carbonate concentration\n",
|
|
349
349
|
"plt.axhline(1, ls=\"--\", color=\"k\")\n",
|
|
350
350
|
"# add labels and legend\n",
|
|
351
|
-
"plt.xlabel(
|
|
352
|
-
"plt.ylabel(
|
|
351
|
+
"plt.xlabel(\"pH\")\n",
|
|
352
|
+
"plt.ylabel(\"Concentration (mmol/L)\")\n",
|
|
353
353
|
"plt.legend()\n",
|
|
354
|
-
"plt.title(
|
|
354
|
+
"plt.title(\"Equilibrium Concentrations of Carbonate System Species\")\n",
|
|
355
355
|
"plt.show()"
|
|
356
356
|
]
|
|
357
357
|
},
|
|
@@ -68,7 +68,7 @@ pyEQL also requires the following packages:
|
|
|
68
68
|
- [pint](https://github.com/hgrecco/pint) - for automated unit conversion
|
|
69
69
|
- [pymatgen](https://github.com/materialsproject/pymatgen/) - used to interpret chemical formulas
|
|
70
70
|
- [iapws](https://github.com/jjgomera/iapws/) - used to calculate the properties of water
|
|
71
|
-
- [monty](https://github.com/
|
|
71
|
+
- [monty](https://github.com/materialyzeai/monty) - used for saving and loading `Solution` objects to files
|
|
72
72
|
- [maggma](https://materialsproject.github.io/maggma/) - used by the internal property database
|
|
73
73
|
- [scipy](https://scipy.org/)
|
|
74
74
|
- [numpy](https://numpy.org/)
|
|
@@ -56,9 +56,15 @@ docs = [
|
|
|
56
56
|
full = ["rich"]
|
|
57
57
|
|
|
58
58
|
[build-system]
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
59
|
+
requires = ["scikit-build-core", "pybind11", "setuptools_scm[toml]>=5"]
|
|
60
|
+
build-backend = "scikit_build_core.build"
|
|
61
|
+
|
|
62
|
+
[tool.scikit-build]
|
|
63
|
+
install.components = ["python", "iphreeqc_database"]
|
|
64
|
+
metadata.version.provider = "scikit_build_core.metadata.setuptools_scm"
|
|
65
|
+
|
|
66
|
+
[tool.scikit-build.cmake.define]
|
|
67
|
+
PYEQL_ENABLE_EXT = {env="PYEQL_ENABLE_EXT"}
|
|
62
68
|
|
|
63
69
|
[tool.setuptools.packages.find]
|
|
64
70
|
where = ["src"]
|
|
@@ -66,7 +72,7 @@ exclude = ["tests"]
|
|
|
66
72
|
|
|
67
73
|
[tool.setuptools_scm]
|
|
68
74
|
# See configuration details in https://github.com/pypa/setuptools_scm
|
|
69
|
-
|
|
75
|
+
write_to = "src/pyEQL/_version.py"
|
|
70
76
|
|
|
71
77
|
[tool.black]
|
|
72
78
|
line-length = 120
|