pyEQL 1.3.2__tar.gz → 1.4.0__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.0/.github/workflows/docs.yml +33 -0
- pyeql-1.4.0/.github/workflows/lint.yml +22 -0
- pyeql-1.4.0/.github/workflows/release.yml +93 -0
- pyeql-1.4.0/.github/workflows/testing-pinned.yaml +46 -0
- pyeql-1.4.0/.github/workflows/testing.yaml +56 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/.gitignore +3 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/.pre-commit-config.yaml +2 -7
- {pyeql-1.3.2 → pyeql-1.4.0}/AUTHORS.md +1 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/CHANGELOG.md +42 -1
- pyeql-1.4.0/CMakeLists.txt +61 -0
- {pyeql-1.3.2/src/pyEQL.egg-info → pyeql-1.4.0}/PKG-INFO +8 -9
- pyeql-1.4.0/cibuildwheel.toml +10 -0
- pyeql-1.4.0/docs/authors.md +1 -0
- pyeql-1.4.0/docs/changelog.md +1 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/class_solution.md +1 -2
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/conf.py +7 -9
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/contributing.md +1 -1
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/engines.md +14 -3
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/examples/pyeql_tutorial_activity.ipynb +1 -1
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/examples/pyeql_tutorial_carbonate.ipynb +19 -19
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/installation.md +1 -1
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/requirements.txt +9 -9
- {pyeql-1.3.2 → pyeql-1.4.0}/pyproject.toml +11 -5
- pyeql-1.4.0/requirements.txt +127 -0
- pyeql-1.4.0/setup.cfg +8 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/__init__.py +5 -8
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/activity_correction.py +1 -1
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/engines.py +414 -132
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/functions.py +1 -1
- pyeql-1.4.0/src/pyEQL/phreeqc/__init__.py +5 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/bindings.cpp +84 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/core.py +239 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/README.md +10 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/CMakeLists.txt +476 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/INSTALL +302 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/IPhreeqc.rc +61 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/IPhreeqcConfig.cmake.in +4 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/Makefile.am +8 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/Makefile.in +816 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/aclocal.m4 +1217 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/ar-lib +270 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/compile +347 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/config.guess +1441 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/config.sub +1813 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/depcomp +791 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/install-sh +508 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/ltmain.sh +11156 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/missing +215 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/test-driver +148 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/configure +23867 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/configure.ac +136 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Amm.dat +1968 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/CMakeLists.txt +32 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/ColdChem.dat +267 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Concrete_PHR.dat +158 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Concrete_PZ.dat +195 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Kinec.v2.dat +12039 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Kinec_v3.dat +12159 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Makefile.am +28 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Makefile.in +530 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/PHREEQC_ThermoddemV1.10_15Dec2020.dat +12965 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Tipping_Hurley.dat +4137 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/core10.dat +6824 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/frezchem.dat +634 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/iso.dat +7235 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/llnl.dat +19310 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/minteq.dat +5654 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/minteq.v4.dat +13212 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/phreeqc.dat +1972 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/phreeqc_rates.dat +3158 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/pitzer.dat +1044 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/sit.dat +14348 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/wateq4f.dat +4036 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/CMakeLists.txt +35 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/IPhreeqc.pdf +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/Makefile.am +24 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/Makefile.in +545 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/NOTICE +51 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/Phreeqc_2_1999_manual.pdf +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/Phreeqc_3_2013_manual.pdf +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/README +428 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/RELEASE +7294 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/IPhreeqc_8h.html +5096 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/IPhreeqc_8h_source.html +389 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/IPhreeqc_8hpp.html +83 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/IPhreeqc_8hpp_source.html +478 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/Var_8h.html +318 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/Var_8h_source.html +200 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/bc_s.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/bdwn.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/classIPhreeqc.html +2274 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/classIPhreeqc.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/classIPhreeqcStop.html +69 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/classIPhreeqcStop.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/closed.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +68 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/doxygen.css +1440 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/doxygen.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/dynsections.js +97 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2blank.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2doc.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2folderclosed.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2folderopen.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2lastnode.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2link.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2mlastnode.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2mnode.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2node.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2plastnode.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2pnode.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2splitbar.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2vertline.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/index.html +58 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/jquery.js +31 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/nav_f.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/nav_g.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/nav_h.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/open.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/structVAR.html +143 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/sync_off.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/sync_on.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/tab_a.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/tab_b.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/tab_h.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/tab_s.png +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/tabs.css +60 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/phreeqc3.chm +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/CMakeLists.txt +11 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/Makefile.am +88 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/Makefile.in +696 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/CMakeLists.txt +1 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/CMakeLists.txt +35 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/CMakeLists.txt.in +21 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/README.txt +44 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/advect.c +101 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/ic +17 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/phreeqc.dat +1579 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/CMakeLists.txt +10 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/README.txt +3 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/excel/CMakeLists.txt +9 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/excel/phreeqc.dat +1582 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/excel/runphreeqc.xls +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/excel/withcallback.xls +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/CMakeLists.txt +11 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/Gypsum.py +52 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/parallel_advect.py +465 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/phreeqc.dat +1582 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/pitzer.dat +790 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/wateq4f.dat +3846 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/CMakeLists.txt +1 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/CMakeLists.txt +35 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/CMakeLists.txt.in +20 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/README.txt +45 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/advect.cpp +110 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/ic +17 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/phreeqc.dat +1579 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/CMakeLists.txt +1 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/CMakeLists.txt +44 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/CMakeLists.txt.in +24 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/README.txt +45 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/advect.F90 +102 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/ic +17 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/phreeqc.dat +1579 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/CMakeLists.txt +26 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/CMakeLists.txt.in +20 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/README.txt +37 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/ex2 +26 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/main.cpp +20 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/phreeqc.dat +1837 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/post-install.cmake.in +7 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/CMakeLists.txt +185 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/FileTest.cpp +171 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/FileTest.h +34 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/Makefile.am +18 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/Makefile.in +466 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/TestCVar.cpp +9 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/TestIPhreeqc.cpp +4901 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/TestIPhreeqcLib.cpp +4644 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/TestSelectedOutput.cpp +669 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/TestVar.cpp +10 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/conv_fail.in +11 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/dump +42 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/iso.dat +7231 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/kinn20140218 +349 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/missing_e.dat +1556 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/multi_punch +105 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/multi_punch_no_set +102 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/phreeqc.dat.90a6449 +1935 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/phreeqc.dat.old +1556 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/m4/libtool.m4 +8388 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/m4/ltoptions.m4 +437 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/m4/ltsugar.m4 +124 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/m4/ltversion.m4 +23 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/m4/lt~obsolete.m4 +99 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/resource.h +14 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/CSelectedOutput.cpp +401 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/CSelectedOutput.hxx +77 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/CVar.hxx +162 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Debug.h +12 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/ErrorReporter.hxx +70 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc.cpp +1889 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc.f.inc +91 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc.f90.inc +603 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc.h +2182 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc.hpp +1027 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqcCallbacks.h +19 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqcF.f +653 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqcLib.cpp +1098 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc_interface.F90 +1283 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc_interface_F.cpp +535 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc_interface_F.h +162 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Makefile.am +210 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Makefile.in +1294 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/README.Fortran +17 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Var.c +84 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Var.h +152 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Version.h +36 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fimpl.h +282 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap.cpp +646 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap.h +163 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap1.cpp +24 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap2.cpp +24 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap3.cpp +24 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap4.cpp +24 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap5.cpp +24 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap6.cpp +25 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap7.cpp +25 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap8.cpp +24 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ChartHandler.cpp +225 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ChartHandler.h +59 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ChartObject.cpp +1382 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ChartObject.h +444 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/CurveObject.cpp +42 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/CurveObject.h +79 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Dictionary.cpp +41 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Dictionary.h +28 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ExchComp.cxx +398 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ExchComp.h +117 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Exchange.cxx +466 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Exchange.h +74 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Form1.h +1184 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Form1.resX +36 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/GasComp.cxx +265 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/GasComp.h +59 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/GasPhase.cxx +659 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/GasPhase.h +103 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ISolution.cxx +40 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ISolution.h +53 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ISolutionComp.cxx +202 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ISolutionComp.h +138 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/KineticsComp.cxx +318 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/KineticsComp.h +81 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/NA.h +1 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/NameDouble.cxx +537 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/NameDouble.h +66 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/NumKeyword.cxx +190 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/NumKeyword.h +67 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PBasic.cpp +8350 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PBasic.h +572 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PHRQ_io_output.cpp +411 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PPassemblage.cxx +375 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PPassemblage.h +70 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PPassemblageComp.cxx +441 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PPassemblageComp.h +83 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Phreeqc.cpp +2087 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Phreeqc.h +2164 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PhreeqcKeywords/Keywords.cpp +242 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PhreeqcKeywords/Keywords.h +104 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Pressure.cxx +417 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Pressure.h +43 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Reaction.cxx +284 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Reaction.h +57 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ReadClass.cxx +1150 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SS.cxx +609 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SS.h +128 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SSassemblage.cxx +317 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SSassemblage.h +59 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SScomp.cxx +297 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SScomp.h +66 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SelectedOutput.cpp +115 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SelectedOutput.h +209 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Serializer.cxx +213 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Serializer.h +42 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Solution.cxx +1795 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Solution.h +154 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SolutionIsotope.cxx +333 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SolutionIsotope.h +85 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/StorageBin.cxx +1507 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/StorageBin.h +141 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/StorageBinList.cpp +358 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/StorageBinList.h +81 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Surface.cxx +837 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Surface.h +108 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SurfaceCharge.cxx +617 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SurfaceCharge.h +137 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SurfaceComp.cxx +509 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SurfaceComp.h +70 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/System.cxx +103 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/System.h +89 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Temperature.cxx +423 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Temperature.h +42 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Use.cpp +78 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Use.h +159 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/UserPunch.cpp +32 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/UserPunch.h +39 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ZedGraph.dll +0 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/advection.cpp +140 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/basicsubs.cpp +4333 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cl1.cpp +881 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/PHRQ_base.cxx +117 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/PHRQ_base.h +48 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/PHRQ_exports.h +20 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/PHRQ_io.cpp +914 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/PHRQ_io.h +207 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/Parser.cxx +1331 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/Parser.h +310 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/Utils.cxx +263 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/Utils.h +29 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/phrqtype.h +18 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cvdense.cpp +566 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cvdense.h +267 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cvode.cpp +3939 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cvode.h +940 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cxxKinetics.cxx +617 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cxxKinetics.h +78 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cxxMix.cxx +154 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cxxMix.h +58 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/dense.cpp +175 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/dense.h +341 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/dumper.cpp +277 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/dumper.h +60 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/gases.cpp +748 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/global_structures.h +1672 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/input.cpp +133 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/integrate.cpp +1219 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/inverse.cpp +5135 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/isotopes.cpp +1813 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/kinetics.cpp +3180 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/mainsubs.cpp +2320 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/model.cpp +5843 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/nvector.cpp +272 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/nvector.h +485 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/nvector_serial.cpp +1032 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/nvector_serial.h +369 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/parse.cpp +1044 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/phqalloc.cpp +316 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/phqalloc.h +47 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/pitzer.cpp +2709 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/pitzer_structures.cpp +225 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/prep.cpp +6267 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/print.cpp +3673 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/read.cpp +10245 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/readtr.cpp +1495 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/runner.cpp +158 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/runner.h +33 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/sit.cpp +1684 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/smalldense.cpp +324 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/smalldense.h +261 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/spread.cpp +1309 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/step.cpp +1566 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/structures.cpp +3381 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/sundialsmath.cpp +133 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/sundialsmath.h +162 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/sundialstypes.h +183 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/tally.cpp +1288 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/tidy.cpp +5600 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/transport.cpp +6403 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/utilities.cpp +1339 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/thread.h +64 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/CMakeLists.txt +133 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/Makefile.am +45 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/Makefile.in +1128 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/ex2.in +26 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/main.f90 +31 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/main77.f +6 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/main_fortran.cxx +8 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/phreeqc.dat.in +1556 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/test_c.c +148 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/test_cxx.cxx +152 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/test_f90.F90 +328 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/iphreeqc_wrapper.cpp +75 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/solution.py +74 -0
- pyeql-1.4.0/src/pyEQL/phreeqc/var.py +50 -0
- pyeql-1.4.0/src/pyEQL/presets/CRL.yaml +50 -0
- pyeql-1.4.0/src/pyEQL/presets/FGD.yaml +115 -0
- pyeql-1.4.0/src/pyEQL/presets/__init__.py +19 -0
- pyeql-1.4.0/src/pyEQL/presets/ash.yaml +91 -0
- pyeql-1.4.0/src/pyEQL/presets/batt_mfg.yaml +108 -0
- pyeql-1.4.0/src/pyEQL/presets/batt_recycling.yaml +23 -0
- pyeql-1.4.0/src/pyEQL/presets/coal_washing.yaml +90 -0
- pyeql-1.4.0/src/pyEQL/presets/drilling.yaml +136 -0
- pyeql-1.4.0/src/pyEQL/presets/excavation.yaml +107 -0
- pyeql-1.4.0/src/pyEQL/presets/flotation.yaml +69 -0
- pyeql-1.4.0/src/pyEQL/presets/flue_gas.yaml +69 -0
- pyeql-1.4.0/src/pyEQL/presets/gasification.yaml +54 -0
- pyeql-1.4.0/src/pyEQL/presets/geothermal.yaml +69 -0
- pyeql-1.4.0/src/pyEQL/presets/leachate.yaml +60 -0
- pyeql-1.4.0/src/pyEQL/presets/mine_drainage.yaml +56 -0
- pyeql-1.4.0/src/pyEQL/presets/mine_tailings.yaml +227 -0
- pyeql-1.4.0/src/pyEQL/presets/plating.yaml +116 -0
- pyeql-1.4.0/src/pyEQL/presets/pw_conv.yaml +64 -0
- pyeql-1.4.0/src/pyEQL/presets/pw_unconv.yaml +48 -0
- pyeql-1.4.0/src/pyEQL/presets/refining.yaml +112 -0
- pyeql-1.4.0/src/pyEQL/presets/semiconductor.yaml +65 -0
- pyeql-1.4.0/src/pyEQL/presets/smelting.yaml +89 -0
- pyeql-1.4.0/src/pyEQL/presets/tanning.yaml +68 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/solution.py +167 -46
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/utils.py +10 -1
- pyeql-1.4.0/tests/files_phreeqc/sophisticated_test_case.pqi +14 -0
- pyeql-1.4.0/tests/files_phreeqc/sophisticated_test_case.pqo +151 -0
- pyeql-1.4.0/tests/files_phreeqc/water_pH7_temp25.pqi +5 -0
- pyeql-1.4.0/tests/files_phreeqc/water_pH7_temp25.pqo +91 -0
- pyeql-1.4.0/tests/phreeqc/conftest.py +9 -0
- pyeql-1.4.0/tests/phreeqc/phreeqc.dat +1972 -0
- pyeql-1.4.0/tests/phreeqc/test_phreeqc.py +610 -0
- pyeql-1.4.0/tests/phreeqc/test_phreeqc_solution.py +16 -0
- pyeql-1.4.0/tests/phreeqc/test_var.py +40 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_activity.py +2 -2
- pyeql-1.3.2/tests/test_phreeqc.py → pyeql-1.4.0/tests/test_engine_phreeqc.py +181 -12
- pyeql-1.4.0/tests/test_engine_phreeqc2026.py +433 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_functions.py +2 -3
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_salt_matching.py +2 -2
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_solution.py +211 -23
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_utils.py +6 -1
- pyeql-1.3.2/.github/workflows/post-process.yml +0 -64
- pyeql-1.3.2/.github/workflows/release.yml +0 -60
- pyeql-1.3.2/.github/workflows/testing.yaml +0 -85
- pyeql-1.3.2/.github/workflows/upgrade_dependencies.yml +0 -93
- pyeql-1.3.2/PKG-INFO +0 -131
- pyeql-1.3.2/docs/_static/.gitignore +0 -1
- pyeql-1.3.2/docs/authors.md +0 -21
- pyeql-1.3.2/docs/changelog.md +0 -670
- pyeql-1.3.2/requirements/macos-latest_py3.10.txt +0 -232
- pyeql-1.3.2/requirements/macos-latest_py3.10_extras.txt +0 -382
- pyeql-1.3.2/requirements/macos-latest_py3.11.txt +0 -232
- pyeql-1.3.2/requirements/macos-latest_py3.11_extras.txt +0 -371
- pyeql-1.3.2/requirements/macos-latest_py3.12.txt +0 -232
- pyeql-1.3.2/requirements/macos-latest_py3.12_extras.txt +0 -371
- pyeql-1.3.2/requirements/macos-latest_py3.9.txt +0 -231
- pyeql-1.3.2/requirements/macos-latest_py3.9_extras.txt +0 -378
- pyeql-1.3.2/requirements/ubuntu-latest_py3.10.txt +0 -232
- pyeql-1.3.2/requirements/ubuntu-latest_py3.10_extras.txt +0 -382
- pyeql-1.3.2/requirements/ubuntu-latest_py3.11.txt +0 -232
- pyeql-1.3.2/requirements/ubuntu-latest_py3.11_extras.txt +0 -371
- pyeql-1.3.2/requirements/ubuntu-latest_py3.12.txt +0 -232
- pyeql-1.3.2/requirements/ubuntu-latest_py3.12_extras.txt +0 -371
- pyeql-1.3.2/requirements/ubuntu-latest_py3.9.txt +0 -231
- pyeql-1.3.2/requirements/ubuntu-latest_py3.9_extras.txt +0 -378
- pyeql-1.3.2/requirements/windows-latest_py3.10.txt +0 -234
- pyeql-1.3.2/requirements/windows-latest_py3.10_extras.txt +0 -389
- pyeql-1.3.2/requirements/windows-latest_py3.11.txt +0 -234
- pyeql-1.3.2/requirements/windows-latest_py3.11_extras.txt +0 -378
- pyeql-1.3.2/requirements/windows-latest_py3.12.txt +0 -234
- pyeql-1.3.2/requirements/windows-latest_py3.12_extras.txt +0 -378
- pyeql-1.3.2/requirements/windows-latest_py3.9.txt +0 -233
- pyeql-1.3.2/requirements/windows-latest_py3.9_extras.txt +0 -385
- pyeql-1.3.2/setup.cfg +0 -11
- pyeql-1.3.2/src/pyEQL.egg-info/SOURCES.txt +0 -127
- pyeql-1.3.2/src/pyEQL.egg-info/dependency_links.txt +0 -1
- pyeql-1.3.2/src/pyEQL.egg-info/requires.txt +0 -27
- pyeql-1.3.2/src/pyEQL.egg-info/top_level.txt +0 -1
- {pyeql-1.3.2 → pyeql-1.4.0}/.coveragerc +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/.gitattributes +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/.github/dependabot.yml +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/.github/pull_request_template.md +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/.github/release.yml +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/.readthedocs.yml +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/.zenodo.json +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/CITATION.cff +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/COPYING +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/LICENSE.txt +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/MANIFEST.in +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/README.md +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/Makefile +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/amounts.md +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/arithmetic.md +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/chemistry.md +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/creating.md +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/database.md +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/examples/.ipynb_checkpoints/pyEQL_demo_1-checkpoint.ipynb +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/examples/.ipynb_checkpoints/pyeql_demo-checkpoint.ipynb +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/examples/.ipynb_checkpoints/pyeql_tutorial_database-checkpoint.ipynb +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/examples/.ipynb_checkpoints/pyeql_tutorial_osmotic_pressure-checkpoint.ipynb +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/examples/.ipynb_checkpoints/speedup-checkpoint.ipynb +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/examples/pyeql_demo.ipynb +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/examples/pyeql_tutorial_database.ipynb +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/examples/pyeql_tutorial_osmotic_pressure.ipynb +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/index.md +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/internal.md +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/license.md +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/mixing.md +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/quickstart.md +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/serialization.md +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/tutorials.md +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/docs/units.md +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/pyeql-logo.png +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/pyeql-logo.svg +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/setup.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/database/geothermal.dat +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/database/llnl.dat +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/database/phreeqc_license.txt +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/database/pyeql_db.json +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/equilibrium.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/presets/Ringers lactate.yaml +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/presets/normal saline.yaml +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/presets/rainwater.yaml +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/presets/seawater.yaml +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/presets/urine.yaml +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/presets/wastewater.yaml +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/py.typed +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/salt_ion_match.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/src/pyEQL/solute.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/conftest.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_bulk_properties.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_debye_length.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_density.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_dielectric.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_effective_pitzer.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_equilibrium.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_logging.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_mixed_electrolyte_activity.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_osmotic_coeff.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_solute.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_solute_properties.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tests/test_volume_concentration.py +0 -0
- {pyeql-1.3.2 → pyeql-1.4.0}/tox.ini +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
name: docs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
paths-ignore:
|
|
8
|
+
- CHANGELOG.md
|
|
9
|
+
- AUTHORS.md
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
docs:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- uses: actions/checkout@v6
|
|
17
|
+
|
|
18
|
+
- name: Setup Python
|
|
19
|
+
uses: actions/setup-python@v6
|
|
20
|
+
with:
|
|
21
|
+
python-version: "3.11"
|
|
22
|
+
|
|
23
|
+
- name: Install tox
|
|
24
|
+
run: |
|
|
25
|
+
python -m pip install tox
|
|
26
|
+
|
|
27
|
+
- uses: r-lib/actions/setup-pandoc@v2
|
|
28
|
+
|
|
29
|
+
- name: Build docs
|
|
30
|
+
run: tox -e docs
|
|
31
|
+
|
|
32
|
+
- name: Check links
|
|
33
|
+
run: tox -e links
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
name: lint
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
workflow_call:
|
|
5
|
+
|
|
6
|
+
jobs:
|
|
7
|
+
lint:
|
|
8
|
+
runs-on: ubuntu-latest
|
|
9
|
+
steps:
|
|
10
|
+
- uses: actions/checkout@v6
|
|
11
|
+
with:
|
|
12
|
+
fetch-depth: 0
|
|
13
|
+
|
|
14
|
+
- name: Set up Python
|
|
15
|
+
uses: actions/setup-python@v6
|
|
16
|
+
with:
|
|
17
|
+
python-version: "3.12"
|
|
18
|
+
|
|
19
|
+
- name: Run pre-commit
|
|
20
|
+
run: |
|
|
21
|
+
pip install pre-commit
|
|
22
|
+
pre-commit run
|
|
@@ -0,0 +1,93 @@
|
|
|
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
|
+
# https://docs.pypi.org/trusted-publishers/using-a-publisher/
|
|
78
|
+
environment: publish
|
|
79
|
+
permissions:
|
|
80
|
+
id-token: write
|
|
81
|
+
steps:
|
|
82
|
+
- name: Download packages
|
|
83
|
+
uses: actions/download-artifact@v7
|
|
84
|
+
with:
|
|
85
|
+
pattern: wheels-*
|
|
86
|
+
path: dist
|
|
87
|
+
merge-multiple: true
|
|
88
|
+
|
|
89
|
+
- name: Print out packages
|
|
90
|
+
run: ls -la dist/*
|
|
91
|
+
|
|
92
|
+
- name: Publish package distributions to PyPI
|
|
93
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
name: testing-pinned
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
paths-ignore:
|
|
8
|
+
- CHANGELOG.md
|
|
9
|
+
- AUTHORS.md
|
|
10
|
+
- docs/**
|
|
11
|
+
|
|
12
|
+
jobs:
|
|
13
|
+
lint:
|
|
14
|
+
uses: ./.github/workflows/lint.yml
|
|
15
|
+
|
|
16
|
+
test:
|
|
17
|
+
needs: [lint]
|
|
18
|
+
strategy:
|
|
19
|
+
matrix:
|
|
20
|
+
# We only test on min. and max. supported Python versions here.
|
|
21
|
+
python-version: ["3.10", "3.13"]
|
|
22
|
+
os:
|
|
23
|
+
- ubuntu-latest
|
|
24
|
+
- macos-latest
|
|
25
|
+
- macos-14
|
|
26
|
+
- windows-latest
|
|
27
|
+
|
|
28
|
+
runs-on: ${{ matrix.os }}
|
|
29
|
+
|
|
30
|
+
steps:
|
|
31
|
+
- uses: actions/checkout@v6
|
|
32
|
+
|
|
33
|
+
- name: Setup Python
|
|
34
|
+
uses: actions/setup-python@v6
|
|
35
|
+
with:
|
|
36
|
+
python-version: ${{ matrix.python-version }}${{ matrix.dev }}
|
|
37
|
+
|
|
38
|
+
- name: Install requirements
|
|
39
|
+
run: |
|
|
40
|
+
python -m pip install --upgrade pip
|
|
41
|
+
pip install -r requirements.txt
|
|
42
|
+
pip install -e . --no-deps
|
|
43
|
+
|
|
44
|
+
- name: Run tests
|
|
45
|
+
run: |
|
|
46
|
+
pytest -n auto --cov=src/pyEQL --cov-report=xml --dist=loadscope
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
name: testing
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
- pourbaix
|
|
8
|
+
paths-ignore:
|
|
9
|
+
- CHANGELOG.md
|
|
10
|
+
- AUTHORS.md
|
|
11
|
+
- docs/**
|
|
12
|
+
|
|
13
|
+
concurrency:
|
|
14
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
15
|
+
cancel-in-progress: false
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
lint:
|
|
19
|
+
uses: ./.github/workflows/lint.yml
|
|
20
|
+
|
|
21
|
+
test:
|
|
22
|
+
needs: [lint]
|
|
23
|
+
strategy:
|
|
24
|
+
matrix:
|
|
25
|
+
python-version: ["3.10", "3.11", "3.12","3.13"]
|
|
26
|
+
runs-on: ubuntu-latest
|
|
27
|
+
steps:
|
|
28
|
+
- uses: actions/checkout@v6
|
|
29
|
+
|
|
30
|
+
- name: Setup Python
|
|
31
|
+
uses: actions/setup-python@v6
|
|
32
|
+
with:
|
|
33
|
+
python-version: ${{ matrix.python-version }}${{ matrix.dev }}
|
|
34
|
+
|
|
35
|
+
- name: Install test requirements
|
|
36
|
+
run: |
|
|
37
|
+
python -m pip install --upgrade pip
|
|
38
|
+
pip install -e ".[testing]"
|
|
39
|
+
|
|
40
|
+
- name: List installed requirements
|
|
41
|
+
run: |
|
|
42
|
+
pip freeze
|
|
43
|
+
|
|
44
|
+
- name: Run tests
|
|
45
|
+
run: |
|
|
46
|
+
if [[ "${{ matrix.python-version }}" == "3.12" ]]; then
|
|
47
|
+
pytest -n auto --cov=src/pyEQL --cov-report=xml --dist=loadscope
|
|
48
|
+
else
|
|
49
|
+
pytest -n auto --dist=loadscope
|
|
50
|
+
fi
|
|
51
|
+
|
|
52
|
+
- uses: codecov/codecov-action@v5
|
|
53
|
+
if: matrix.python-version == '3.12'
|
|
54
|
+
with:
|
|
55
|
+
token: ${{ secrets.CODECOV_TOKEN }}
|
|
56
|
+
file: ./coverage.xml
|
|
@@ -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,47 @@ 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.0] - 2026-02-17
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- `Phreeqc2026EOS`: 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, #333, # @vineetbansal)
|
|
15
|
+
- `Solution.from_preset`: Added presets for 22 representative industrial wastewater compositions, explained in detail in
|
|
16
|
+
our recent preprint "Composition and Critical Mineral Content of Major Industrial Wastewaters: Implications for
|
|
17
|
+
Treatment and Resource Recovery Technologies," available at [https://doi.org/10.21203/rs.3.rs-8743330/v2]
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- `Solution.equilibrate`: Added support for solid-liquid and gas-liquid equilibrium via three new kwargs - `atmopshere`,
|
|
22
|
+
`solids`, and `gases`. See docstring for details and usage.(#292, #294, #339, @vineetbansal, @YitongPan1, @SuixiongTay)
|
|
23
|
+
- `get_components_by_element`: A new keyword argument `nested` was added to methods `get_components_by_element`
|
|
24
|
+
and `get_el_amt_dict` of the `Solution` class. It defaults to `False` (no change from prior behavior), but
|
|
25
|
+
can be set to `True` to return a 2-level dictionary, with the element symbol as the key at the top level, and
|
|
26
|
+
the valence (float, or "unk" for unknown) as the key at the second level. This should make it easier for future
|
|
27
|
+
code to calculate the total amount of a given element regardless of its valence. (#284, @vineetbansal)
|
|
28
|
+
- `Solution.get_property`: Changed the `lru_cache` size to greatly enhance performance when creating `Solution` that
|
|
29
|
+
contain a large number of solutes (@vineetbansal, @SuixiongTay)
|
|
30
|
+
- Docs: `sphinx-material` theme migrated to `sphinx-immaterial` (#272, @ugognw, @rkingsbury)
|
|
31
|
+
- Docs: resolved all the `spinx` build warnings and errors (#338, @vineetbansal)
|
|
32
|
+
- Docs: Added documentation of `phreeqc2026` engine and new `equilibrate` features (#344, #349, @SuixiongTay, @YitongPan1)
|
|
33
|
+
- CI: Various changes to optimize our continuous integration testing workflows. Notably, changes to the docs (only) no
|
|
34
|
+
longer trigger unit tests of the code (only of the docs), and now test against a specific set of pinned dependencies
|
|
35
|
+
from `requirements.txt`. (#285, #314, #320, #327, #328, #330, #340, @vineetbansal, @rkingsbury)
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
- `NativeEOS` `equilibrate`: Fixed a bug in which instantiating a solution with pure elements (e.g., `{'Na': '0.5 mol/L'}`)
|
|
40
|
+
and then calling `equilibrate` could cause that element to be "double counted." In other words, speciation calculations
|
|
41
|
+
would add `Na[+1]` to the solution but retain `Na` as well. This now works correctly. In addition, elements or species
|
|
42
|
+
that are missing from PHREEQC's database (e.g. Rh) are handled more robustly. (#282, #352, #355, @vineetbansal, @rkingsbury)
|
|
43
|
+
- `from_file`: Instantiating a `Solution` from a .yaml file now gives slightly more accurate results. Previously, there were
|
|
44
|
+
slight discrepancies in the volume of the loaded solution, compared to loading from .json or `dict`. (#347, @rkingsbury)
|
|
45
|
+
- `standardize_formula`: Fixed incorrect reduction of dimers. For example, `(CO2)2` was being standardized to `CO2`, which
|
|
46
|
+
could cause incorrect concentrations to be reported. Dimers are no longer reduced. (#309, @vineetbansal)
|
|
47
|
+
- `FormulaDict`: ensured that quantities are always represented by `python` floats and not `np.float64` (#342, @rkingsbury)
|
|
48
|
+
|
|
8
49
|
## [1.3.2] - 2025-09-15
|
|
9
50
|
|
|
10
51
|
### Fixed
|
|
@@ -71,7 +112,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
71
112
|
- Support `numpy>2.0`
|
|
72
113
|
- Bump `pint` to `0.24.4` for `numpy` `v2.0` compatibility and to mitigate CI issues (#239, @SuixiongTay, @rkingsbury)
|
|
73
114
|
- CI: add `python` `v3.13` to post-merge unit tests
|
|
74
|
-
- Docs: `tox -e docs` command configured to fail on warning (#255,
|
|
115
|
+
- Docs: `tox -e docs` command configured to fail on warning (#255, ugognw)
|
|
75
116
|
- Docs: ReadTheDocs built with Python 3.11 (#255, ugognw)
|
|
76
117
|
- Use `importlib` to locate test files (#241, @SuixiongTay)
|
|
77
118
|
- Support `numpy>2.0`
|
|
@@ -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.0
|
|
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_engine_phreeqc2026.py"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
../AUTHORS.md
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
../CHANGELOG.md
|
|
@@ -9,8 +9,7 @@ This page contains detailed information on each of the methods, attributes, and
|
|
|
9
9
|
```{eval-rst}
|
|
10
10
|
.. autoclass:: pyEQL.Solution
|
|
11
11
|
:members:
|
|
12
|
-
:
|
|
12
|
+
:exclude-members: save
|
|
13
13
|
:private-members: _get_property, _get_diffusion_coefficient, _get_molar_conductivity, _get_mobility
|
|
14
|
-
:special-members: __init__
|
|
15
14
|
:member-order: bysource
|
|
16
15
|
```
|
|
@@ -47,6 +47,7 @@ templates_path = ["_templates"]
|
|
|
47
47
|
# Add any Sphinx extension module names here, as strings. They can be extensions
|
|
48
48
|
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
|
|
49
49
|
extensions = [
|
|
50
|
+
"sphinx_immaterial",
|
|
50
51
|
"sphinx.ext.autodoc",
|
|
51
52
|
"sphinx.ext.intersphinx",
|
|
52
53
|
"sphinx.ext.todo",
|
|
@@ -166,7 +167,7 @@ todo_emit_warnings = True
|
|
|
166
167
|
|
|
167
168
|
# The theme to use for HTML and HTML Help pages. See the documentation for
|
|
168
169
|
# a list of builtin themes.
|
|
169
|
-
html_theme = "
|
|
170
|
+
html_theme = "sphinx_immaterial"
|
|
170
171
|
|
|
171
172
|
# Theme options are theme-specific and customize the look and feel of a theme
|
|
172
173
|
# further. For a list of options available for each theme, see the
|
|
@@ -174,16 +175,12 @@ html_theme = "sphinx_material"
|
|
|
174
175
|
html_theme_options = {
|
|
175
176
|
# "sidebar_width": "300px",
|
|
176
177
|
# "page_width": "1200px",
|
|
177
|
-
"
|
|
178
|
+
"site_url": "https://pyeql.readthedocs.io/en/latest/",
|
|
178
179
|
"repo_url": "https://github.com/KingsburyLab/pyEQL/",
|
|
179
180
|
"repo_name": "pyEQL",
|
|
180
181
|
# 'logo_icon': 'e798',
|
|
181
|
-
"
|
|
182
|
-
"
|
|
183
|
-
"nav_title": "pyEQL: a python interface for water chemistry",
|
|
184
|
-
"color_primary": "blue",
|
|
185
|
-
"color_accent": "light-blue",
|
|
186
|
-
"globaltoc_depth": 2,
|
|
182
|
+
"toc_title": "pyEQL: a python interface for water chemistry",
|
|
183
|
+
"palette": { "primary": "blue", "accent": "light-blue" },
|
|
187
184
|
"globaltoc_collapse": True,
|
|
188
185
|
}
|
|
189
186
|
html_sidebars = {"**": ["logo-text.html", "globaltoc.html", "localtoc.html", "searchbox.html"]}
|
|
@@ -315,7 +312,8 @@ linkcheck_allowed_redirects = {
|
|
|
315
312
|
r"http://pint\.readthedocs\.io": r"https://pint\.readthedocs\.io/.*/stable",
|
|
316
313
|
r"https://tox\.wiki": r"https://tox\.wiki/.*",
|
|
317
314
|
}
|
|
318
|
-
|
|
315
|
+
# https://idst.inl.gov/ is reachable, just not from the github runner.
|
|
316
|
+
linkcheck_ignore = [r"https://localhost:\d+/", r"^https://idst\.inl\.gov/$"]
|
|
319
317
|
linkcheck_rate_limit_timeout = 500
|
|
320
318
|
|
|
321
319
|
print(f"loading configurations for {project} {version} ...", file=sys.stderr)
|
|
@@ -128,7 +128,7 @@ Please abide by the following guidelines when contributing code to `pyEQL`:
|
|
|
128
128
|
|
|
129
129
|
## Documentation
|
|
130
130
|
|
|
131
|
-
Improvements to the documentation are most welcome! Our documentation system uses `sphinx` with the [
|
|
131
|
+
Improvements to the documentation are most welcome! Our documentation system uses `sphinx` with the [Sphinx-Immaterial](https://jbms.github.io/sphinx-immaterial/) theme. To edit the documentation locally, run `tox -e autodocs` from the repository root directory. This will serve the documents to `http://localhost:8000/` so you can view them in your web browser. When you make changes to the files in the `docs/` directory, the documentation will automatically rebuild and update in your browser (you might have to refresh the page to see changes).
|
|
132
132
|
|
|
133
133
|
## Changelog
|
|
134
134
|
|
|
@@ -73,14 +73,25 @@ there may be subtle thermodynamic inconsistencies between the activities and the
|
|
|
73
73
|
concentrations returned by `equilibrate()`.
|
|
74
74
|
```
|
|
75
75
|
|
|
76
|
+
## The `'phreeqc2026'` engine
|
|
77
|
+
|
|
78
|
+
The `phreeqc2026` engine uses [`pyEQL.phreeqc`](https://github.com/KingsburyLab/pyEQL/tree/d323606e022825737c1663ee620dfa6180d2bebb/src/pyEQL/phreeqc)
|
|
79
|
+
for speciation, activity, and volume calculations. The PHREEQC engine
|
|
80
|
+
uses the `phreeqc.dat (v3.8)` PHREEQC database by default, although it is possible to instantiate
|
|
81
|
+
the engine with other databases such as `llnl.dat`, `pitzer.dat`, `vitens.dat`, `wateq4f_PWN.dat`, and `geothermal.dat`. See
|
|
82
|
+
`pyEQL.engine.Phreeqc2026EOS.equilibrate()` in the [module reference](internal.md#speciation-functions)
|
|
83
|
+
for more details.
|
|
84
|
+
Older version provided in `pyEQL.equilibrium.equilibrate_phreeqc` has been removed and absorbed in `NativeEOS`, `Phreeqc2026EOS`, and `PhreeqcEOS`.
|
|
85
|
+
|
|
76
86
|
## The `'phreeqc'` engine
|
|
77
87
|
|
|
78
88
|
The `phreeqc` engine uses [`phreeqpython`](https://github.com/Vitens/phreeqpython)
|
|
79
89
|
for speciation, activity, and volume calculations. The PHREEQC engine
|
|
80
|
-
uses the `phreeqc.dat` PHREEQC database by default, although it is possible to instantiate
|
|
81
|
-
the engine with other databases such as `llnl.dat`, `pitzer.dat`,
|
|
82
|
-
`pyEQL.
|
|
90
|
+
uses the `phreeqc.dat (v3.7)` PHREEQC database by default, although it is possible to instantiate
|
|
91
|
+
the engine with other databases such as `llnl.dat`, `pitzer.dat`, `vitens.dat`, `wateq4f_PWN.dat`, and `geothermal.dat`. See
|
|
92
|
+
`pyEQL.engine.PhreeqcEOS.equilibrate()` in the [module reference](internal.md#speciation-functions)
|
|
83
93
|
for more details.
|
|
94
|
+
Older version provided in `pyEQL.equilibrium.equilibrate_phreeqc` has been removed and absorbed in `NativeEOS`, `Phreeqc2026EOS`, and `PhreeqcEOS`.
|
|
84
95
|
|
|
85
96
|
### Activity and osmotic coefficients
|
|
86
97
|
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"source": [
|
|
30
30
|
"### Different modeling engines\n",
|
|
31
31
|
"\n",
|
|
32
|
-
"When creating a `Solution`, you can use the `engine` keyword argument to specify which [Electrolyte Modeling Engine](https://pyeql.readthedocs.io/en/latest/engines.html
|
|
32
|
+
"When creating a `Solution`, you can use the `engine` keyword argument to specify which [Electrolyte Modeling Engine](https://pyeql.readthedocs.io/en/latest/engines.html) you want to use.\n",
|
|
33
33
|
"\n",
|
|
34
34
|
"- [`ideal`](https://pyeql.readthedocs.io/en/latest/engines.html#the-ideal-engine): Ideal solution model\n",
|
|
35
35
|
"- [`phreeqc`](https://pyeql.readthedocs.io/en/latest/engines.html#the-phreeqc-engine): Uses `phreeqpython` with `phreeqc.dat`\n",
|