pyEQL 1.4.0rc9__cp310-cp310-macosx_11_0_arm64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (491) hide show
  1. pyEQL/__init__.py +50 -0
  2. pyEQL/_phreeqc.cpython-310-darwin.so +0 -0
  3. pyEQL/activity_correction.py +879 -0
  4. pyEQL/database/geothermal.dat +5693 -0
  5. pyEQL/database/llnl.dat +19305 -0
  6. pyEQL/database/phreeqc_license.txt +54 -0
  7. pyEQL/database/pyeql_db.json +35607 -0
  8. pyEQL/engines.py +1153 -0
  9. pyEQL/equilibrium.py +227 -0
  10. pyEQL/functions.py +281 -0
  11. pyEQL/phreeqc/__init__.py +5 -0
  12. pyEQL/phreeqc/bindings.cpp +84 -0
  13. pyEQL/phreeqc/core.py +239 -0
  14. pyEQL/phreeqc/database/Amm.dat +1968 -0
  15. pyEQL/phreeqc/database/CMakeLists.txt +32 -0
  16. pyEQL/phreeqc/database/ColdChem.dat +267 -0
  17. pyEQL/phreeqc/database/Concrete_PHR.dat +158 -0
  18. pyEQL/phreeqc/database/Concrete_PZ.dat +195 -0
  19. pyEQL/phreeqc/database/Kinec.v2.dat +12039 -0
  20. pyEQL/phreeqc/database/Kinec_v3.dat +12159 -0
  21. pyEQL/phreeqc/database/Makefile.am +28 -0
  22. pyEQL/phreeqc/database/Makefile.in +530 -0
  23. pyEQL/phreeqc/database/PHREEQC_ThermoddemV1.10_15Dec2020.dat +12965 -0
  24. pyEQL/phreeqc/database/Tipping_Hurley.dat +4137 -0
  25. pyEQL/phreeqc/database/__init__.py +0 -0
  26. pyEQL/phreeqc/database/core10.dat +6824 -0
  27. pyEQL/phreeqc/database/frezchem.dat +634 -0
  28. pyEQL/phreeqc/database/iso.dat +7235 -0
  29. pyEQL/phreeqc/database/llnl.dat +19310 -0
  30. pyEQL/phreeqc/database/minteq.dat +5654 -0
  31. pyEQL/phreeqc/database/minteq.v4.dat +13212 -0
  32. pyEQL/phreeqc/database/phreeqc.dat +1972 -0
  33. pyEQL/phreeqc/database/phreeqc_rates.dat +3158 -0
  34. pyEQL/phreeqc/database/pitzer.dat +1044 -0
  35. pyEQL/phreeqc/database/sit.dat +14348 -0
  36. pyEQL/phreeqc/database/wateq4f.dat +4036 -0
  37. pyEQL/phreeqc/ext/README.md +10 -0
  38. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/CMakeLists.txt +476 -0
  39. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/INSTALL +302 -0
  40. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/IPhreeqc.rc +61 -0
  41. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/IPhreeqcConfig.cmake.in +4 -0
  42. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/Makefile.am +8 -0
  43. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/Makefile.in +816 -0
  44. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/aclocal.m4 +1217 -0
  45. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/CTestScript.cmake +167 -0
  46. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/CSelectedOutput.cpp.o +0 -0
  47. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/IPhreeqc.cpp.o +0 -0
  48. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/IPhreeqcLib.cpp.o +0 -0
  49. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/IPhreeqc_interface_F.cpp.o +0 -0
  50. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/Var.c.o +0 -0
  51. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/Dictionary.cpp.o +0 -0
  52. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/ExchComp.cxx.o +0 -0
  53. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/Exchange.cxx.o +0 -0
  54. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/GasComp.cxx.o +0 -0
  55. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/GasPhase.cxx.o +0 -0
  56. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/ISolution.cxx.o +0 -0
  57. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/ISolutionComp.cxx.o +0 -0
  58. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/KineticsComp.cxx.o +0 -0
  59. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/NameDouble.cxx.o +0 -0
  60. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/NumKeyword.cxx.o +0 -0
  61. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/PBasic.cpp.o +0 -0
  62. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/PHRQ_io_output.cpp.o +0 -0
  63. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/PPassemblage.cxx.o +0 -0
  64. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/PPassemblageComp.cxx.o +0 -0
  65. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/Phreeqc.cpp.o +0 -0
  66. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/PhreeqcKeywords/Keywords.cpp.o +0 -0
  67. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/Pressure.cxx.o +0 -0
  68. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/Reaction.cxx.o +0 -0
  69. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/ReadClass.cxx.o +0 -0
  70. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/SS.cxx.o +0 -0
  71. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/SSassemblage.cxx.o +0 -0
  72. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/SScomp.cxx.o +0 -0
  73. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/SelectedOutput.cpp.o +0 -0
  74. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/Serializer.cxx.o +0 -0
  75. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/Solution.cxx.o +0 -0
  76. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/SolutionIsotope.cxx.o +0 -0
  77. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/StorageBin.cxx.o +0 -0
  78. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/StorageBinList.cpp.o +0 -0
  79. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/Surface.cxx.o +0 -0
  80. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/SurfaceCharge.cxx.o +0 -0
  81. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/SurfaceComp.cxx.o +0 -0
  82. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/System.cxx.o +0 -0
  83. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/Temperature.cxx.o +0 -0
  84. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/Use.cpp.o +0 -0
  85. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/UserPunch.cpp.o +0 -0
  86. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/advection.cpp.o +0 -0
  87. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/basicsubs.cpp.o +0 -0
  88. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/cl1.cpp.o +0 -0
  89. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/common/PHRQ_base.cxx.o +0 -0
  90. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/common/PHRQ_io.cpp.o +0 -0
  91. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/common/Parser.cxx.o +0 -0
  92. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/common/Utils.cxx.o +0 -0
  93. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/cvdense.cpp.o +0 -0
  94. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/cvode.cpp.o +0 -0
  95. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/cxxKinetics.cxx.o +0 -0
  96. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/cxxMix.cxx.o +0 -0
  97. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/dense.cpp.o +0 -0
  98. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/dumper.cpp.o +0 -0
  99. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/gases.cpp.o +0 -0
  100. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/input.cpp.o +0 -0
  101. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/integrate.cpp.o +0 -0
  102. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/inverse.cpp.o +0 -0
  103. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/isotopes.cpp.o +0 -0
  104. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/kinetics.cpp.o +0 -0
  105. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/mainsubs.cpp.o +0 -0
  106. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/model.cpp.o +0 -0
  107. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/nvector.cpp.o +0 -0
  108. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/nvector_serial.cpp.o +0 -0
  109. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/parse.cpp.o +0 -0
  110. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/phqalloc.cpp.o +0 -0
  111. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/pitzer.cpp.o +0 -0
  112. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/pitzer_structures.cpp.o +0 -0
  113. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/prep.cpp.o +0 -0
  114. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/print.cpp.o +0 -0
  115. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/read.cpp.o +0 -0
  116. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/readtr.cpp.o +0 -0
  117. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/runner.cpp.o +0 -0
  118. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/sit.cpp.o +0 -0
  119. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/smalldense.cpp.o +0 -0
  120. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/spread.cpp.o +0 -0
  121. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/step.cpp.o +0 -0
  122. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/structures.cpp.o +0 -0
  123. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/sundialsmath.cpp.o +0 -0
  124. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/tally.cpp.o +0 -0
  125. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/tidy.cpp.o +0 -0
  126. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/transport.cpp.o +0 -0
  127. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CMakeFiles/IPhreeqc.dir/src/phreeqcpp/utilities.cpp.o +0 -0
  128. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/CTestTestfile.cmake +6 -0
  129. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/DartConfiguration.tcl +109 -0
  130. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/cmake_install.cmake +45 -0
  131. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/build/libIPhreeqc.a +0 -0
  132. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/ar-lib +270 -0
  133. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/compile +347 -0
  134. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/config.guess +1441 -0
  135. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/config.sub +1813 -0
  136. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/depcomp +791 -0
  137. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/install-sh +508 -0
  138. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/ltmain.sh +11156 -0
  139. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/missing +215 -0
  140. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/config/test-driver +148 -0
  141. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/configure +23867 -0
  142. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/configure.ac +136 -0
  143. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Amm.dat +1968 -0
  144. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/CMakeLists.txt +32 -0
  145. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/ColdChem.dat +267 -0
  146. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Concrete_PHR.dat +158 -0
  147. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Concrete_PZ.dat +195 -0
  148. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Kinec.v2.dat +12039 -0
  149. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Kinec_v3.dat +12159 -0
  150. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Makefile.am +28 -0
  151. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Makefile.in +530 -0
  152. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/PHREEQC_ThermoddemV1.10_15Dec2020.dat +12965 -0
  153. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/Tipping_Hurley.dat +4137 -0
  154. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/core10.dat +6824 -0
  155. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/frezchem.dat +634 -0
  156. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/iso.dat +7235 -0
  157. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/llnl.dat +19310 -0
  158. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/minteq.dat +5654 -0
  159. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/minteq.v4.dat +13212 -0
  160. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/phreeqc.dat +1972 -0
  161. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/phreeqc_rates.dat +3158 -0
  162. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/pitzer.dat +1044 -0
  163. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/sit.dat +14348 -0
  164. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/database/wateq4f.dat +4036 -0
  165. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/CMakeLists.txt +35 -0
  166. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/IPhreeqc.pdf +0 -0
  167. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/Makefile.am +24 -0
  168. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/Makefile.in +545 -0
  169. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/NOTICE +51 -0
  170. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/Phreeqc_2_1999_manual.pdf +0 -0
  171. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/Phreeqc_3_2013_manual.pdf +0 -0
  172. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/README +428 -0
  173. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/RELEASE +7294 -0
  174. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/IPhreeqc_8h.html +5096 -0
  175. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/IPhreeqc_8h_source.html +389 -0
  176. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/IPhreeqc_8hpp.html +83 -0
  177. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/IPhreeqc_8hpp_source.html +478 -0
  178. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/Var_8h.html +318 -0
  179. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/Var_8h_source.html +200 -0
  180. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/bc_s.png +0 -0
  181. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/bdwn.png +0 -0
  182. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/classIPhreeqc.html +2274 -0
  183. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/classIPhreeqc.png +0 -0
  184. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/classIPhreeqcStop.html +69 -0
  185. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/classIPhreeqcStop.png +0 -0
  186. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/closed.png +0 -0
  187. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +68 -0
  188. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/doxygen.css +1440 -0
  189. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/doxygen.png +0 -0
  190. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/dynsections.js +97 -0
  191. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2blank.png +0 -0
  192. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2doc.png +0 -0
  193. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2folderclosed.png +0 -0
  194. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2folderopen.png +0 -0
  195. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2lastnode.png +0 -0
  196. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2link.png +0 -0
  197. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2mlastnode.png +0 -0
  198. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2mnode.png +0 -0
  199. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2node.png +0 -0
  200. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2plastnode.png +0 -0
  201. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2pnode.png +0 -0
  202. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2splitbar.png +0 -0
  203. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/ftv2vertline.png +0 -0
  204. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/index.html +58 -0
  205. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/jquery.js +31 -0
  206. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/nav_f.png +0 -0
  207. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/nav_g.png +0 -0
  208. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/nav_h.png +0 -0
  209. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/open.png +0 -0
  210. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/structVAR.html +143 -0
  211. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/sync_off.png +0 -0
  212. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/sync_on.png +0 -0
  213. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/tab_a.png +0 -0
  214. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/tab_b.png +0 -0
  215. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/tab_h.png +0 -0
  216. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/tab_s.png +0 -0
  217. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/html/tabs.css +60 -0
  218. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/doc/phreeqc3.chm +0 -0
  219. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/CMakeLists.txt +11 -0
  220. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/Makefile.am +88 -0
  221. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/Makefile.in +696 -0
  222. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/CMakeLists.txt +1 -0
  223. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/CMakeLists.txt +35 -0
  224. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/CMakeLists.txt.in +21 -0
  225. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/README.txt +44 -0
  226. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/advect.c +101 -0
  227. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/ic +17 -0
  228. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/c/advect/phreeqc.dat +1579 -0
  229. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/CMakeLists.txt +10 -0
  230. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/README.txt +3 -0
  231. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/excel/CMakeLists.txt +9 -0
  232. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/excel/phreeqc.dat +1582 -0
  233. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/excel/runphreeqc.xls +0 -0
  234. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/excel/withcallback.xls +0 -0
  235. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/CMakeLists.txt +11 -0
  236. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/Gypsum.py +52 -0
  237. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/parallel_advect.py +465 -0
  238. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/phreeqc.dat +1582 -0
  239. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/pitzer.dat +790 -0
  240. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/com/python/wateq4f.dat +3846 -0
  241. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/CMakeLists.txt +1 -0
  242. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/CMakeLists.txt +35 -0
  243. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/CMakeLists.txt.in +20 -0
  244. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/README.txt +45 -0
  245. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/advect.cpp +110 -0
  246. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/ic +17 -0
  247. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/cpp/advect/phreeqc.dat +1579 -0
  248. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/CMakeLists.txt +1 -0
  249. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/CMakeLists.txt +44 -0
  250. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/CMakeLists.txt.in +24 -0
  251. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/README.txt +45 -0
  252. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/advect.F90 +102 -0
  253. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/ic +17 -0
  254. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/fortran/advect/phreeqc.dat +1579 -0
  255. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/CMakeLists.txt +26 -0
  256. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/CMakeLists.txt.in +20 -0
  257. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/README.txt +37 -0
  258. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/ex2 +26 -0
  259. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/main.cpp +20 -0
  260. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/phreeqc.dat +1837 -0
  261. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/examples/using-cmake/post-install.cmake.in +7 -0
  262. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/CMakeLists.txt +185 -0
  263. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/FileTest.cpp +171 -0
  264. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/FileTest.h +34 -0
  265. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/Makefile.am +18 -0
  266. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/Makefile.in +466 -0
  267. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/TestCVar.cpp +9 -0
  268. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/TestIPhreeqc.cpp +4901 -0
  269. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/TestIPhreeqcLib.cpp +4644 -0
  270. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/TestSelectedOutput.cpp +669 -0
  271. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/TestVar.cpp +10 -0
  272. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/conv_fail.in +11 -0
  273. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/dump +42 -0
  274. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/iso.dat +7231 -0
  275. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/kinn20140218 +349 -0
  276. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/missing_e.dat +1556 -0
  277. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/multi_punch +105 -0
  278. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/multi_punch_no_set +102 -0
  279. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/phreeqc.dat.90a6449 +1935 -0
  280. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/gtest/phreeqc.dat.old +1556 -0
  281. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/m4/libtool.m4 +8388 -0
  282. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/m4/ltoptions.m4 +437 -0
  283. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/m4/ltsugar.m4 +124 -0
  284. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/m4/ltversion.m4 +23 -0
  285. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/m4/lt~obsolete.m4 +99 -0
  286. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/resource.h +14 -0
  287. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/CSelectedOutput.cpp +401 -0
  288. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/CSelectedOutput.hxx +77 -0
  289. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/CVar.hxx +162 -0
  290. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Debug.h +12 -0
  291. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/ErrorReporter.hxx +70 -0
  292. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc.cpp +1889 -0
  293. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc.f.inc +91 -0
  294. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc.f90.inc +603 -0
  295. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc.h +2182 -0
  296. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc.hpp +1027 -0
  297. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqcCallbacks.h +19 -0
  298. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqcF.f +653 -0
  299. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqcLib.cpp +1098 -0
  300. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc_interface.F90 +1283 -0
  301. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc_interface_F.cpp +535 -0
  302. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/IPhreeqc_interface_F.h +162 -0
  303. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Makefile.am +210 -0
  304. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Makefile.in +1294 -0
  305. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/README.Fortran +17 -0
  306. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Var.c +84 -0
  307. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Var.h +152 -0
  308. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/Version.h +36 -0
  309. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fimpl.h +282 -0
  310. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap.cpp +646 -0
  311. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap.h +163 -0
  312. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap1.cpp +24 -0
  313. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap2.cpp +24 -0
  314. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap3.cpp +24 -0
  315. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap4.cpp +24 -0
  316. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap5.cpp +24 -0
  317. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap6.cpp +25 -0
  318. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap7.cpp +25 -0
  319. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/fwrap8.cpp +24 -0
  320. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ChartHandler.cpp +225 -0
  321. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ChartHandler.h +59 -0
  322. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ChartObject.cpp +1382 -0
  323. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ChartObject.h +444 -0
  324. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/CurveObject.cpp +42 -0
  325. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/CurveObject.h +79 -0
  326. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Dictionary.cpp +41 -0
  327. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Dictionary.h +28 -0
  328. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ExchComp.cxx +398 -0
  329. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ExchComp.h +117 -0
  330. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Exchange.cxx +466 -0
  331. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Exchange.h +74 -0
  332. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Form1.h +1184 -0
  333. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Form1.resX +36 -0
  334. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/GasComp.cxx +265 -0
  335. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/GasComp.h +59 -0
  336. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/GasPhase.cxx +659 -0
  337. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/GasPhase.h +103 -0
  338. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ISolution.cxx +40 -0
  339. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ISolution.h +53 -0
  340. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ISolutionComp.cxx +202 -0
  341. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ISolutionComp.h +138 -0
  342. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/KineticsComp.cxx +318 -0
  343. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/KineticsComp.h +81 -0
  344. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/NA.h +1 -0
  345. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/NameDouble.cxx +537 -0
  346. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/NameDouble.h +66 -0
  347. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/NumKeyword.cxx +190 -0
  348. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/NumKeyword.h +67 -0
  349. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PBasic.cpp +8350 -0
  350. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PBasic.h +572 -0
  351. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PHRQ_io_output.cpp +411 -0
  352. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PPassemblage.cxx +375 -0
  353. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PPassemblage.h +70 -0
  354. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PPassemblageComp.cxx +441 -0
  355. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PPassemblageComp.h +83 -0
  356. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Phreeqc.cpp +2087 -0
  357. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Phreeqc.h +2164 -0
  358. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PhreeqcKeywords/Keywords.cpp +242 -0
  359. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/PhreeqcKeywords/Keywords.h +104 -0
  360. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Pressure.cxx +417 -0
  361. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Pressure.h +43 -0
  362. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Reaction.cxx +284 -0
  363. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Reaction.h +57 -0
  364. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ReadClass.cxx +1150 -0
  365. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SS.cxx +609 -0
  366. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SS.h +128 -0
  367. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SSassemblage.cxx +317 -0
  368. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SSassemblage.h +59 -0
  369. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SScomp.cxx +297 -0
  370. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SScomp.h +66 -0
  371. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SelectedOutput.cpp +115 -0
  372. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SelectedOutput.h +209 -0
  373. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Serializer.cxx +213 -0
  374. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Serializer.h +42 -0
  375. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Solution.cxx +1795 -0
  376. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Solution.h +154 -0
  377. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SolutionIsotope.cxx +333 -0
  378. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SolutionIsotope.h +85 -0
  379. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/StorageBin.cxx +1507 -0
  380. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/StorageBin.h +141 -0
  381. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/StorageBinList.cpp +358 -0
  382. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/StorageBinList.h +81 -0
  383. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Surface.cxx +837 -0
  384. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Surface.h +108 -0
  385. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SurfaceCharge.cxx +617 -0
  386. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SurfaceCharge.h +137 -0
  387. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SurfaceComp.cxx +509 -0
  388. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/SurfaceComp.h +70 -0
  389. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/System.cxx +103 -0
  390. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/System.h +89 -0
  391. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Temperature.cxx +423 -0
  392. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Temperature.h +42 -0
  393. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Use.cpp +78 -0
  394. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/Use.h +159 -0
  395. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/UserPunch.cpp +32 -0
  396. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/UserPunch.h +39 -0
  397. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/ZedGraph.dll +0 -0
  398. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/advection.cpp +140 -0
  399. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/basicsubs.cpp +4333 -0
  400. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cl1.cpp +881 -0
  401. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/PHRQ_base.cxx +117 -0
  402. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/PHRQ_base.h +48 -0
  403. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/PHRQ_exports.h +20 -0
  404. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/PHRQ_io.cpp +914 -0
  405. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/PHRQ_io.h +207 -0
  406. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/Parser.cxx +1331 -0
  407. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/Parser.h +310 -0
  408. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/Utils.cxx +263 -0
  409. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/Utils.h +29 -0
  410. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/common/phrqtype.h +18 -0
  411. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cvdense.cpp +566 -0
  412. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cvdense.h +267 -0
  413. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cvode.cpp +3939 -0
  414. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cvode.h +940 -0
  415. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cxxKinetics.cxx +617 -0
  416. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cxxKinetics.h +78 -0
  417. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cxxMix.cxx +154 -0
  418. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/cxxMix.h +58 -0
  419. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/dense.cpp +175 -0
  420. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/dense.h +341 -0
  421. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/dumper.cpp +277 -0
  422. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/dumper.h +60 -0
  423. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/gases.cpp +748 -0
  424. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/global_structures.h +1672 -0
  425. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/input.cpp +133 -0
  426. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/integrate.cpp +1219 -0
  427. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/inverse.cpp +5135 -0
  428. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/isotopes.cpp +1813 -0
  429. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/kinetics.cpp +3180 -0
  430. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/mainsubs.cpp +2320 -0
  431. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/model.cpp +5843 -0
  432. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/nvector.cpp +272 -0
  433. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/nvector.h +485 -0
  434. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/nvector_serial.cpp +1032 -0
  435. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/nvector_serial.h +369 -0
  436. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/parse.cpp +1044 -0
  437. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/phqalloc.cpp +316 -0
  438. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/phqalloc.h +47 -0
  439. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/pitzer.cpp +2709 -0
  440. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/pitzer_structures.cpp +225 -0
  441. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/prep.cpp +6267 -0
  442. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/print.cpp +3673 -0
  443. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/read.cpp +10245 -0
  444. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/readtr.cpp +1495 -0
  445. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/runner.cpp +158 -0
  446. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/runner.h +33 -0
  447. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/sit.cpp +1684 -0
  448. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/smalldense.cpp +324 -0
  449. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/smalldense.h +261 -0
  450. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/spread.cpp +1309 -0
  451. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/step.cpp +1566 -0
  452. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/structures.cpp +3381 -0
  453. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/sundialsmath.cpp +133 -0
  454. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/sundialsmath.h +162 -0
  455. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/sundialstypes.h +183 -0
  456. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/tally.cpp +1288 -0
  457. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/tidy.cpp +5600 -0
  458. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/transport.cpp +6403 -0
  459. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/phreeqcpp/utilities.cpp +1339 -0
  460. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/src/thread.h +64 -0
  461. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/CMakeLists.txt +133 -0
  462. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/Makefile.am +45 -0
  463. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/Makefile.in +1128 -0
  464. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/ex2.in +26 -0
  465. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/main.f90 +31 -0
  466. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/main77.f +6 -0
  467. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/main_fortran.cxx +8 -0
  468. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/phreeqc.dat.in +1556 -0
  469. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/test_c.c +148 -0
  470. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/test_cxx.cxx +152 -0
  471. pyEQL/phreeqc/ext/iphreeqc-3.8.6-17100/tests/test_f90.F90 +328 -0
  472. pyEQL/phreeqc/iphreeqc_wrapper.cpp +75 -0
  473. pyEQL/phreeqc/solution.py +74 -0
  474. pyEQL/phreeqc/var.py +50 -0
  475. pyEQL/presets/Ringers lactate.yaml +20 -0
  476. pyEQL/presets/__init__.py +17 -0
  477. pyEQL/presets/normal saline.yaml +17 -0
  478. pyEQL/presets/rainwater.yaml +17 -0
  479. pyEQL/presets/seawater.yaml +29 -0
  480. pyEQL/presets/urine.yaml +26 -0
  481. pyEQL/presets/wastewater.yaml +21 -0
  482. pyEQL/py.typed +0 -0
  483. pyEQL/salt_ion_match.py +112 -0
  484. pyEQL/solute.py +163 -0
  485. pyEQL/solution.py +2714 -0
  486. pyEQL/utils.py +237 -0
  487. pyeql-1.4.0rc9.dist-info/METADATA +130 -0
  488. pyeql-1.4.0rc9.dist-info/RECORD +491 -0
  489. pyeql-1.4.0rc9.dist-info/WHEEL +6 -0
  490. pyeql-1.4.0rc9.dist-info/licenses/AUTHORS.md +21 -0
  491. pyeql-1.4.0rc9.dist-info/licenses/LICENSE.txt +20 -0
@@ -0,0 +1,1027 @@
1
+ /*! @file IPhreeqc.hpp
2
+ @brief C++ Documentation
3
+ */
4
+
5
+ #ifndef INC_IPHREEQC_HPP
6
+ #define INC_IPHREEQC_HPP
7
+
8
+ #include <exception>
9
+ #include <list>
10
+ #include <vector>
11
+ #include <map>
12
+ #include <cstdarg>
13
+ #include "IPhreeqcCallbacks.h" /* PFN_PRERUN_CALLBACK, PFN_POSTRUN_CALLBACK, PFN_CATCH_CALLBACK */
14
+ #include "Var.h" /* VRESULT */
15
+ #include "PHRQ_io.h"
16
+
17
+ #include "PHRQ_exports.h"
18
+
19
+ class Phreeqc;
20
+ class IErrorReporter;
21
+ class CSelectedOutput;
22
+ class SelectedOutput;
23
+
24
+ /**
25
+ * @class IPhreeqcStop
26
+ *
27
+ * @brief This class is derived from std::exception and is thrown
28
+ * when an unrecoverable error has occurred.
29
+ */
30
+ class IPQ_DLL_EXPORT IPhreeqcStop : public std::exception
31
+ {
32
+ public:
33
+ virtual const char *what() const throw () {return "Failure in IPhreeqc\n";}
34
+ };
35
+
36
+ /**
37
+ * @class IPhreeqc
38
+ *
39
+ * @brief Provides an interface to PHREEQC (Version 3)--A Computer
40
+ * Program for Speciation, Batch-Reaction, One-Dimensional Transport,
41
+ * and Inverse Geochemical Calculations
42
+ */
43
+
44
+ class IPQ_DLL_EXPORT IPhreeqc : public PHRQ_io
45
+ {
46
+ public:
47
+ /**
48
+ * Constructor.
49
+ * @anchor IPhreeqc_cpp
50
+ * @par Example:
51
+ * @include IPhreeqc.cpp
52
+ */
53
+ IPhreeqc(void);
54
+
55
+ /**
56
+ * Destructor
57
+ */
58
+ virtual ~IPhreeqc(void);
59
+
60
+ public:
61
+
62
+ /**
63
+ * Accumlulate line(s) for input to phreeqc.
64
+ * @param line The line(s) to add for input to phreeqc.
65
+ * @retval VR_OK Success
66
+ * @retval VR_OUTOFMEMORY Out of memory
67
+ * @see ClearAccumulatedLines, OutputAccumulatedLines, RunAccumulated
68
+ */
69
+ VRESULT AccumulateLine(const char *line);
70
+
71
+ /**
72
+ * Appends the given error message and increments the error count.
73
+ * Internally used to create an error condition.
74
+ * @param error_msg The error message to display.
75
+ * @return The current error count.
76
+ * @see GetErrorString, GetErrorStringLine, GetErrorStringLineCount, OutputErrorString
77
+ */
78
+ size_t AddError(const char* error_msg);
79
+
80
+ /**
81
+ * Appends the given warning message and increments the warning count.
82
+ * Internally used to create a warning condition.
83
+ * @param warning_msg The warning message to display.
84
+ * @return The current warning count.
85
+ * @see GetWarningString, GetWarningStringLine, GetWarningStringLineCount, OutputWarningString
86
+ */
87
+ size_t AddWarning(const char* warning_msg);
88
+
89
+ /**
90
+ * Clears the accumulated input buffer. Input buffer is accumulated from calls to @ref AccumulateLine.
91
+ * @see AccumulateLine, GetAccumulatedLines, OutputAccumulatedLines, RunAccumulated
92
+ */
93
+ void ClearAccumulatedLines(void);
94
+
95
+ /**
96
+ * Retrieve the accumulated input string. The accumulated input string can be run
97
+ * with @ref RunAccumulated.
98
+ * @return The accumulated input string.
99
+ * @see AccumulateLine, ClearAccumulatedLines, OutputAccumulatedLines, RunAccumulated
100
+ */
101
+ const std::string& GetAccumulatedLines(void);
102
+
103
+ /**
104
+ * Retrieves the given component.
105
+ * @param n The zero-based index of the component to retrieve.
106
+ * @return A null terminated string containing the given component.
107
+ * Returns an empty string if n is out of range.
108
+ * @see GetComponentCount, ListComponents
109
+ */
110
+ const char* GetComponent(int n);
111
+
112
+ /**
113
+ * Retrieves the number of components in the current list of components.
114
+ * @return The current count of components.
115
+ * @see GetComponent, ListComponents
116
+ */
117
+ size_t GetComponentCount(void);
118
+
119
+ /**
120
+ * Retrieves the current <B>SELECTED_OUTPUT</B> user number. The initial setting is 1.
121
+ * @return The current <b>SELECTED_OUTPUT</b> user number.
122
+ * @see GetSelectedOutputColumnCount, GetSelectedOutputFileName, GetSelectedOutputRowCount, GetSelectedOutputString, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, GetSelectedOutputValue, SetCurrentSelectedOutputUserNumber
123
+ */
124
+ int GetCurrentSelectedOutputUserNumber(void)const;
125
+
126
+ /**
127
+ * Retrieves the name of the dump file. This file name is used if not specified within <B>DUMP</B> input.
128
+ * The default value is <B><I>dump.id.out</I></B>, where id is obtained from @ref GetId.
129
+ * @return filename The name of the file to write <B>DUMP</B> output to.
130
+ * @see GetDumpFileOn, GetDumpString, GetDumpStringOn, GetDumpStringLine, GetDumpStringLineCount, SetDumpFileName, SetDumpFileOn, SetDumpStringOn
131
+ */
132
+ const char* GetDumpFileName(void)const;
133
+
134
+ /**
135
+ * Retrieves the current value of the dump file switch.
136
+ * @retval true Output is written to the <B>DUMP</B> (<B><I>dump.id.out</I></B> if unspecified, where id is obtained from @ref GetId) file.
137
+ * @retval false No output is written.
138
+ * @see GetDumpStringLine, GetDumpStringLineCount, GetDumpStringOn, GetDumpString, SetDumpFileOn, SetDumpStringOn
139
+ */
140
+ bool GetDumpFileOn(void)const;
141
+
142
+ /**
143
+ * Retrieves the string buffer containing <b>DUMP</b> output.
144
+ * @return A null terminated string containing <b>DUMP</b> output.
145
+ * @pre
146
+ * @ref SetDumpStringOn must have been set to true in order to receive <b>DUMP</b> output.
147
+ * @see GetDumpStringLine, GetDumpFileOn, GetDumpStringLineCount, GetDumpStringOn, SetDumpFileOn, SetDumpStringOn
148
+ */
149
+ const char* GetDumpString(void)const;
150
+
151
+ /**
152
+ * Retrieves the given dump line.
153
+ * @param n The zero-based index of the line to retrieve.
154
+ * @return A null terminated string containing the given line.
155
+ * Returns an empty string if n is out of range.
156
+ * @pre @ref SetDumpStringOn must have been set to true.
157
+ * @see GetDumpFileOn, GetDumpString, GetDumpStringLineCount, GetDumpStringOn, SetDumpFileOn, SetDumpStringOn
158
+ */
159
+ const char* GetDumpStringLine(int n);
160
+
161
+ /**
162
+ * Retrieves the number of lines in the current dump string buffer.
163
+ * @return The number of lines.
164
+ * @pre @ref SetDumpStringOn must have been set to true.
165
+ * @see GetDumpFileOn, GetDumpString, GetDumpStringLine, GetDumpStringOn, SetDumpFileOn, SetDumpStringOn
166
+ */
167
+ int GetDumpStringLineCount(void)const;
168
+
169
+ /**
170
+ * Retrieves the current value of the dump string switch.
171
+ * @retval true Output defined by the <B>DUMP</B> keyword is stored.
172
+ * @retval false No output is stored.
173
+ * @see GetDumpFileOn, GetDumpString, GetDumpStringLine, GetDumpStringLineCount, SetDumpFileOn, SetDumpStringOn
174
+ */
175
+ bool GetDumpStringOn(void)const;
176
+
177
+ /**
178
+ * Retrieves the name of the error file. The default value is <B><I>phreeqc.id.err</I></B>, where id is obtained from @ref GetId.
179
+ * @return filename The name of the file to write to.
180
+ * @see GetErrorFileOn, GetErrorString, GetErrorStringOn, GetErrorStringLine, GetErrorStringLineCount, SetErrorFileName, SetErrorFileOn, SetErrorStringOn
181
+ */
182
+ const char* GetErrorFileName(void)const;
183
+
184
+ /**
185
+ * Retrieves the current value of the error file switch.
186
+ * @retval true Errors are written to the <B><I>phreeqc.id.err</I></B> (where id is obtained from @ref GetId) file.
187
+ * @retval false No errors are written.
188
+ * @see SetErrorFileOn
189
+ */
190
+ bool GetErrorFileOn(void)const;
191
+
192
+ /**
193
+ * Retrieves the current value of the error switch.
194
+ * @retval true Error messages are sent to the error file and to the string buffer
195
+ * @retval false No errors are sent.
196
+ * @see SetErrorOn
197
+ */
198
+ bool GetErrorOn(void)const;
199
+
200
+ /**
201
+ * Retrieves the error messages from the last call to @ref RunAccumulated, @ref RunFile, @ref RunString, @ref LoadDatabase, or @ref LoadDatabaseString.
202
+ * @return A null terminated string containing error messages.
203
+ * @see GetErrorStringLine, GetErrorStringLineCount, GetErrorFileOn, OutputErrorString, SetErrorFileOn
204
+ */
205
+ const char* GetErrorString(void);
206
+
207
+ /**
208
+ * Retrieves the given error line.
209
+ * @return A null terminated string containing the given line of the error string buffer.
210
+ * @param n The zero-based index of the line to retrieve.
211
+ * @see GetErrorStringLineCount, OutputErrorString
212
+ */
213
+ const char* GetErrorStringLine(int n);
214
+
215
+ /**
216
+ * Retrieves the number of lines in the current error string buffer.
217
+ * @return The number of lines.
218
+ * @see GetErrorStringLine, OutputErrorString
219
+ */
220
+ int GetErrorStringLineCount(void)const;
221
+
222
+ /**
223
+ * Retrieves the current value of the error string switch.
224
+ * @retval true Error output is stored.
225
+ * @retval false No error output is stored.
226
+ * @see GetErrorFileOn, GetErrorString, GetErrorStringLine, GetErrorStringLineCount, SetErrorFileOn, SetErrorStringOn
227
+ */
228
+ bool GetErrorStringOn(void)const;
229
+
230
+ /**
231
+ * Retrieves the id of this object. Each instance receives an id which is incremented for each instance
232
+ * starting with the value zero.
233
+ * @return The id.
234
+ */
235
+ int GetId(void)const;
236
+
237
+ /**
238
+ * Retrieves the name of the log file. The default value is <B><I>phreeqc.id.log</I></B>, where id is obtained from @ref GetId.
239
+ * @return filename The name of the file to write to.
240
+ * @see GetLogFileOn, GetLogString, GetLogStringOn, GetLogStringLine, GetLogStringLineCount, SetLogFileName, SetLogFileOn, SetLogStringOn
241
+ */
242
+ const char* GetLogFileName(void)const;
243
+
244
+ /**
245
+ * Retrieves the current value of the log file switch.
246
+ * @retval true Log messages are written to the <B><I>phreeqc.id.log</I></B> (where id is obtained from @ref GetId) file.
247
+ * @retval false No log messages are written.
248
+ * @remarks
249
+ * Logging must be enabled through the use of the KNOBS -logfile option in order to receive any log messages.
250
+ * @see SetLogFileOn
251
+ */
252
+ bool GetLogFileOn(void)const;
253
+
254
+ /**
255
+ * Retrieves the string buffer containing phreeqc log output.
256
+ * @return A null terminated string containing log output.
257
+ * @pre
258
+ * @ref SetLogStringOn must have been set to true and enabled through the use of the KNOBS -logfile option in order to receive any log messages.
259
+ * @see GetLogStringLine, GetLogFileOn, GetLogStringLineCount, GetLogStringOn, SetLogFileOn, SetLogStringOn
260
+ */
261
+ const char* GetLogString(void)const;
262
+
263
+ /**
264
+ * Retrieves the given log line.
265
+ * @param n The zero-based index of the line to retrieve.
266
+ * @return A null terminated string containing the given line.
267
+ * Returns an empty string if n is out of range.
268
+ * @pre @ref SetLogStringOn must have been set to true and enabled through the use of the KNOBS -logfile option in order to receive any log messages.
269
+ * @see GetLogFileOn, GetLogString, GetLogStringLineCount, GetLogStringOn, SetLogFileOn, SetLogStringOn
270
+ */
271
+ const char* GetLogStringLine(int n)const;
272
+
273
+ /**
274
+ * Retrieves the number of lines in the current log string buffer.
275
+ * @return The number of lines.
276
+ * @pre @ref SetLogStringOn must have been set to true and enabled through the use of the KNOBS -logfile option in order to receive any log messages.
277
+ * @see GetLogFileOn, GetLogString, GetLogStringLine, GetLogStringOn, SetLogFileOn, SetLogStringOn
278
+ */
279
+ int GetLogStringLineCount(void)const;
280
+
281
+ /**
282
+ * Retrieves the current value of the log string switch.
283
+ * @retval true Log output is stored.
284
+ * @retval false No log output is stored.
285
+ * @see GetLogFileOn, GetLogString, GetLogStringLine, GetLogStringLineCount, SetLogFileOn, SetLogStringOn
286
+ */
287
+ bool GetLogStringOn(void)const;
288
+
289
+ /**
290
+ * Retrieves the nth user number of the currently defined <B>SELECTED_OUTPUT</B> blocks.
291
+ * @param n The zero-based index of the <B>SELECTED_OUTPUT</B> user number to retrieve.
292
+ * @return The nth defined user number; a negative value indicates an error occurred.
293
+ * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputCount, SetCurrentSelectedOutputUserNumber
294
+ */
295
+ int GetNthSelectedOutputUserNumber(int n)const;
296
+
297
+ /**
298
+ * Retrieves the name of the output file. The default value is <B><I>phreeqc.id.out</I></B>, where id is obtained from @ref GetId.
299
+ * @return filename The name of the file to write phreeqc output to.
300
+ * @see GetOutputFileOn, GetOutputString, GetOutputStringOn, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileName, SetOutputFileOn, SetOutputStringOn
301
+ */
302
+ const char* GetOutputFileName(void)const;
303
+
304
+ /**
305
+ * Retrieves the current value of the output file switch.
306
+ * @retval true Output is written to the <B><I>phreeqc.id.out</I></B> (where id is obtained from @ref GetId) file.
307
+ * @retval false No output is written.
308
+ * @see GetOutputFileOn, GetOutputString, GetOutputStringOn, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileName, SetOutputFileOn, SetOutputStringOn
309
+ */
310
+ bool GetOutputFileOn(void)const;
311
+
312
+ /**
313
+ * Retrieves the string buffer containing phreeqc output.
314
+ * @return A null terminated string containing phreeqc output.
315
+ * @pre
316
+ * @ref SetOutputStringOn must have been set to true in order to receive output.
317
+ * @see GetOutputStringLine, GetOutputFileOn, GetOutputStringLineCount, GetOutputStringOn, SetOutputFileOn, SetOutputStringOn
318
+ */
319
+ const char* GetOutputString(void)const;
320
+
321
+ /**
322
+ * Retrieves the given output line.
323
+ * @param n The zero-based index of the line to retrieve.
324
+ * @return A null terminated string containing the given line.
325
+ * Returns an empty string if n is out of range.
326
+ * @pre @ref SetOutputStringOn must have been set to true.
327
+ * @see GetOutputFileOn, GetOutputString, GetOutputStringLineCount, GetOutputStringOn, SetOutputFileOn, SetOutputStringOn
328
+ */
329
+ const char* GetOutputStringLine(int n)const;
330
+
331
+ /**
332
+ * Retrieves the number of lines in the current output string buffer.
333
+ * @return The number of lines.
334
+ * @pre @ref SetOutputStringOn must have been set to true.
335
+ * @see GetOutputFileOn, GetOutputString, GetOutputStringLine, GetOutputStringOn, SetOutputFileOn, SetOutputStringOn
336
+ */
337
+ int GetOutputStringLineCount(void)const;
338
+
339
+ /**
340
+ * Retrieves the current value of the output string switch.
341
+ * @retval true Phreeqc output is stored.
342
+ * @retval false No phreeqc output is stored.
343
+ * @see GetOutputFileOn, GetOutputString, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileOn, SetOutputStringOn
344
+ */
345
+ bool GetOutputStringOn(void)const;
346
+
347
+ /**
348
+ * Retrieves the number of columns in the current selected-output buffer (see @ref SetCurrentSelectedOutputUserNumber).
349
+ * @return The number of columns.
350
+ * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputRowCount, GetSelectedOutputValue, SetCurrentSelectedOutputUserNumber
351
+ */
352
+ int GetSelectedOutputColumnCount(void)const;
353
+
354
+ /**
355
+ * Retrieves the count of <B>SELECTED_OUTPUT</B> blocks that are currently defined.
356
+ * @return The number of <B>SELECTED_OUTPUT</B> blocks.
357
+ * @see GetCurrentSelectedOutputUserNumber, GetNthSelectedOutputUserNumber, SetCurrentSelectedOutputUserNumber
358
+ */
359
+ int GetSelectedOutputCount(void)const;
360
+
361
+ /**
362
+ * Retrieves the name of the current selected output file (see @ref SetCurrentSelectedOutputUserNumber). This file name is used if not specified within <B>SELECTED_OUTPUT</B> input.
363
+ * The default value is <B><I>selected_n.id.out</I></B>, where id is obtained from @ref GetId.
364
+ * @return filename The name of the file to write to.
365
+ * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringOn, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileName, SetSelectedOutputFileOn, SetSelectedOutputStringOn
366
+ */
367
+ const char* GetSelectedOutputFileName(void)const;
368
+
369
+ /**
370
+ * Retrieves the current selected-output file switch (see @ref SetCurrentSelectedOutputUserNumber).
371
+ * @retval true Output is written to the selected-output (<B><I>selected_n.id.out</I></B> if unspecified, where id is obtained from @ref GetId) file.
372
+ * @retval false No output is written.
373
+ * @see GetSelectedOutputValue, GetSelectedOutputColumnCount, GetSelectedOutputRowCount, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn
374
+ */
375
+ bool GetSelectedOutputFileOn(void)const;
376
+
377
+ /**
378
+ * Retrieves the number of rows in the current selected-output buffer (see @ref SetCurrentSelectedOutputUserNumber).
379
+ * @return The number of rows.
380
+ * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputColumnCount, GetSelectedOutputFileOn, GetSelectedOutputValue, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn
381
+ */
382
+ int GetSelectedOutputRowCount(void)const;
383
+
384
+ /**
385
+ * Retrieves the string buffer containing <b>SELECTED_OUTPUT</b> for the currently selected user number (see @ref SetCurrentSelectedOutputUserNumber).
386
+ * @return A null terminated string containing <b>SELECTED_OUTPUT</b>.
387
+ * @pre
388
+ * @ref SetSelectedOutputStringOn must have been set to true in order to receive <b>SELECTED_OUTPUT</b>.
389
+ * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputStringLine, GetSelectedOutputFileOn, GetSelectedOutputStringLineCount, GetSelectedOutputStringOn, GetSelectedOutputString, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn, SetSelectedOutputStringOn
390
+ */
391
+ const char* GetSelectedOutputString(void)const;
392
+
393
+ /**
394
+ * Retrieves the given selected output line of the currently selected user number (see @ref SetCurrentSelectedOutputUserNumber).
395
+ * @param n The zero-based index of the line to retrieve.
396
+ * @return A null terminated string containing the given line.
397
+ * Returns an empty string if n is out of range.
398
+ * @pre @ref SetSelectedOutputStringOn must have been set to true.
399
+ * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringLineCount, GetSelectedOutputStringOn, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn, SetSelectedOutputStringOn
400
+ */
401
+ const char* GetSelectedOutputStringLine(int n);
402
+
403
+ /**
404
+ * Retrieves the number of lines in the current selected output string buffer (see @ref SetCurrentSelectedOutputUserNumber).
405
+ * @return The number of lines.
406
+ * @pre @ref SetSelectedOutputStringOn must have been set to true.
407
+ * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringLine, GetSelectedOutputStringOn, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn, SetSelectedOutputStringOn
408
+ */
409
+ int GetSelectedOutputStringLineCount(void)const;
410
+
411
+ /**
412
+ * Retrieves the value of the current selected output string switch (see @ref SetCurrentSelectedOutputUserNumber).
413
+ * @retval true Output defined by the <B>SELECTED_OUTPUT</B> keyword is stored.
414
+ * @retval false No output is stored.
415
+ * @see GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn, SetSelectedOutputStringOn
416
+ */
417
+ bool GetSelectedOutputStringOn(void)const;
418
+
419
+ /**
420
+ * Returns the @c VAR associated with the specified row and column. The current <b>SELECTED_OUTPUT</b> block is set using the @ref SetCurrentSelectedOutputUserNumber method.
421
+ * @param row The row index.
422
+ * @param col The column index.
423
+ * @param pVAR Pointer to the @c VAR to receive the requested data.
424
+ * @retval VR_OK Success.
425
+ * @retval VR_INVALIDROW The given row is out of range.
426
+ * @retval VR_INVALIDCOL The given column is out of range.
427
+ * @retval VR_OUTOFMEMORY Memory could not be allocated.
428
+ * @retval VR_BADINSTANCE The given id is invalid.
429
+ * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputColumnCount, GetSelectedOutputFileOn, GetSelectedOutputRowCount, GetSelectedOutputValue2, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn
430
+ * @remarks
431
+ * Row 0 contains the column headings to the selected_ouput.
432
+ * @par Examples:
433
+ * The headings will include a suffix and/or prefix in order to differentiate the
434
+ * columns.
435
+ * @htmlonly
436
+ <p>
437
+ <table border=1>
438
+
439
+ <TR VALIGN="top">
440
+ <TH width=65%>
441
+ Input
442
+ </TH>
443
+ <TH width=35%>
444
+ Headings
445
+ </TH>
446
+ </TR>
447
+
448
+ <TR VALIGN="top">
449
+ <TD width=65%>
450
+ <CODE><PRE>
451
+ SELECTED_OUTPUT
452
+ -reset false
453
+ -totals Ca Na
454
+ </PRE></CODE>
455
+ </TD>
456
+ <TD width=35%>
457
+ <CODE><PRE>
458
+ Ca(mol/kgw) Na(mol/kgw)
459
+ </PRE></CODE>
460
+ </TD>
461
+ </TR>
462
+
463
+ <TR VALIGN="top">
464
+ <TD width=65%>
465
+ <CODE><PRE>
466
+ SELECTED_OUTPUT
467
+ -reset false
468
+ -molalities Fe+2 Hfo_sOZn+
469
+ </PRE></CODE>
470
+ </TD>
471
+ <TD width=35%>
472
+ <CODE><PRE>
473
+ m_Fe+2(mol/kgw) m_Hfo_sOZn+(mol/kgw)
474
+ </PRE></CODE>
475
+ </TD>
476
+ </TR>
477
+
478
+ <TR VALIGN="top">
479
+ <TD width=65%>
480
+ <CODE><PRE>
481
+ SELECTED_OUTPUT
482
+ -reset false
483
+ -activities H+ Ca+2
484
+ </PRE></CODE>
485
+ </TD>
486
+ <TD width=35%>
487
+ <CODE><PRE>
488
+ la_H+ la_Ca+2
489
+ </PRE></CODE>
490
+ </TD>
491
+ </TR>
492
+
493
+ <TR VALIGN="top">
494
+ <TD width=65%>
495
+ <CODE><PRE>
496
+ SELECTED_OUTPUT
497
+ -reset false
498
+ -equilibrium_phases Calcite Dolomite
499
+ </PRE></CODE>
500
+ </TD>
501
+ <TD width=35%>
502
+ <CODE><PRE>
503
+ Calcite d_Calcite Dolomite d_Dolomite
504
+ </PRE></CODE>
505
+ </TD>
506
+ </TR>
507
+
508
+ <TR VALIGN="top">
509
+ <TD width=65%>
510
+ <CODE><PRE>
511
+ SELECTED_OUTPUT
512
+ -reset false
513
+ -saturation_indices CO2(g) Siderite
514
+ </PRE></CODE>
515
+ </TD>
516
+ <TD width=35%>
517
+ <CODE><PRE>
518
+ si_CO2(g) si_Siderite
519
+ </PRE></CODE>
520
+ </TD>
521
+ </TR>
522
+
523
+ <TR VALIGN="top">
524
+ <TD width=65%>
525
+ <CODE><PRE>
526
+ SELECTED_OUTPUT
527
+ -reset false
528
+ -gases CO2(g) N2(g)
529
+ </PRE></CODE>
530
+ </TD>
531
+ <TD width=35%>
532
+ <CODE><PRE>
533
+ pressure "total mol" volume g_CO2(g) g_N2(g)
534
+ </PRE></CODE>
535
+ </TD>
536
+ </TR>
537
+
538
+ <TR VALIGN="top">
539
+ <TD width=65%>
540
+ <CODE><PRE>
541
+ SELECTED_OUTPUT
542
+ -reset false
543
+ -kinetic_reactants CH2O Pyrite
544
+ </PRE></CODE>
545
+ </TD>
546
+ <TD width=35%>
547
+ <CODE><PRE>
548
+ k_CH2O dk_CH2O k_Pyrite dk_Pyrite
549
+ </PRE></CODE>
550
+ </TD>
551
+ </TR>
552
+
553
+ <TR VALIGN="top">
554
+ <TD width=65%>
555
+ <CODE><PRE>
556
+ SELECTED_OUTPUT
557
+ -reset false
558
+ -solid_solutions CaSO4 SrSO4
559
+ </PRE></CODE>
560
+ </TD>
561
+ <TD width=35%>
562
+ <CODE><PRE>
563
+ s_CaSO4 s_SrSO4
564
+ </PRE></CODE>
565
+ </TD>
566
+ </TR>
567
+
568
+ </table>
569
+ * @endhtmlonly
570
+ */
571
+ VRESULT GetSelectedOutputValue(int row, int col, VAR* pVAR);
572
+
573
+ /**
574
+ * Returns the associated data with the specified row and column. The current <b>SELECTED_OUTPUT</b> block is set using the @ref SetCurrentSelectedOutputUserNumber method.
575
+ * @param row The row index.
576
+ * @param col The column index.
577
+ * @param vtype Receives the variable type. See @ref VAR_TYPE.
578
+ * @param dvalue Receives the numeric value when (VTYPE=@ref TT_DOUBLE) or (VTYPE=@ref TT_LONG).
579
+ * @param svalue Receives the string variable when (VTYPE=@ref TT_STRING). When (VTYPE=@ref TT_DOUBLE) or (VTYPE=@ref TT_LONG) this variable is filled with a string equivalent of DVALUE.
580
+ * @param svalue_length The length of the svalue buffer.
581
+ * @retval IPQ_OK Success.
582
+ * @retval IPQ_INVALIDROW The given row is out of range.
583
+ * @retval IPQ_INVALIDCOL The given column is out of range.
584
+ * @retval IPQ_OUTOFMEMORY Memory could not be allocated.
585
+ * @retval IPQ_BADINSTANCE The given id is invalid.
586
+ * @see GetSelectedOutputFileOn, GetSelectedOutputColumnCount, GetSelectedOutputRowCount, GetSelectedOutputValue, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn
587
+ * @remarks
588
+ * Row 0 contains the column headings to the selected_ouput.
589
+ * @par Examples:
590
+ * See @ref GetSelectedOutputValue.
591
+ */
592
+ VRESULT GetSelectedOutputValue2(int row, int col, int *vtype, double* dvalue, char* svalue, unsigned int svalue_length);
593
+
594
+ /**
595
+ * Retrieves the string buffer containing the version in the form of X.X.X-XXXX.
596
+ * @return A null terminated string containing the IPhreeqc version number.
597
+ */
598
+ static const char* GetVersionString(void);
599
+
600
+ /**
601
+ * Retrieves the warning messages from the last call to @ref RunAccumulated, @ref RunFile, @ref RunString, @ref LoadDatabase, or @ref LoadDatabaseString.
602
+ * @return A null terminated string containing warning messages.
603
+ * @see GetWarningStringLine, GetWarningStringLineCount, OutputWarningString
604
+ */
605
+ const char* GetWarningString(void);
606
+
607
+ /**
608
+ * Retrieves the given warning line.
609
+ * @param n The zero-based index of the line to retrieve.
610
+ * @return A null terminated string containing the given warning line message.
611
+ * @see GetWarningStringLineCount, OutputWarningString
612
+ */
613
+ const char* GetWarningStringLine(int n);
614
+
615
+ /**
616
+ * Retrieves the number of lines in the current warning string buffer.
617
+ * @return The number of lines.
618
+ * @see GetWarningStringLine, GetWarningString, OutputWarningString
619
+ */
620
+ int GetWarningStringLineCount(void)const;
621
+
622
+ /**
623
+ * Retrieves the current list of components.
624
+ * @return The current list of components.
625
+ * @see GetComponent, GetComponentCount
626
+ */
627
+ std::list< std::string > ListComponents(void);
628
+
629
+ /**
630
+ * Load the specified database file into phreeqc.
631
+ * @param filename The name of the phreeqc database to load.
632
+ * The full path (or relative path with respect to the working directory) will be required if the file is not
633
+ * in the current working directory.
634
+ * @return The number of errors encountered.
635
+ * @see LoadDatabaseString
636
+ * @remarks
637
+ * All previous definitions are cleared.
638
+ */
639
+ int LoadDatabase(const char* filename);
640
+
641
+ /**
642
+ * Load the specified string as a database into phreeqc.
643
+ * @param input String containing data to be used as the phreeqc database.
644
+ * @return The number of errors encountered.
645
+ * @see LoadDatabaseString
646
+ * @remarks
647
+ * All previous definitions are cleared.
648
+ */
649
+ int LoadDatabaseString(const char* input);
650
+
651
+ /**
652
+ * Output the accumulated input buffer to stdout. The input buffer can be run with a call to @ref RunAccumulated.
653
+ * @see AccumulateLine, ClearAccumulatedLines, RunAccumulated
654
+ */
655
+ void OutputAccumulatedLines(void);
656
+
657
+ /**
658
+ * Output the error messages normally stored in the <B><I>phreeqc.id.err</I></B> (where id is obtained from @ref GetId)
659
+ * file to stdout.
660
+ * @see GetErrorStringLine, GetErrorStringLineCount, GetErrorFileOn, SetErrorFileOn
661
+ */
662
+ void OutputErrorString(void);
663
+
664
+ /**
665
+ * Output the warning messages to stdout.
666
+ * @see GetWarningStringLine, GetWarningStringLineCount, GetWarningString
667
+ */
668
+ void OutputWarningString(void);
669
+
670
+ /**
671
+ * Runs the input buffer as defined by calls to @ref AccumulateLine.
672
+ * @return The number of errors encountered.
673
+ * @see AccumulateLine, ClearAccumulatedLines, OutputAccumulatedLines, RunFile, RunString
674
+ * @remarks
675
+ * The accumulated input is cleared at the next call to @ref AccumulateLine.
676
+ * @pre
677
+ * @ref LoadDatabase/@ref LoadDatabaseString must have been called and returned 0 (zero) errors.
678
+ */
679
+ int RunAccumulated(void);
680
+
681
+ /**
682
+ * Runs the specified phreeqc input file.
683
+ * @param filename The name of the phreeqc input file to run.
684
+ * @return The number of errors encountered during the run.
685
+ * @see RunAccumulated, RunString
686
+ * @pre
687
+ * @ref LoadDatabase/@ref LoadDatabaseString must have been called and returned 0 (zero) errors.
688
+ */
689
+ int RunFile(const char* filename);
690
+
691
+ /**
692
+ * Runs the specified string as input to phreeqc.
693
+ * @param input String containing phreeqc input.
694
+ * @return The number of errors encountered during the run.
695
+ * @see RunAccumulated, RunFile
696
+ * @pre
697
+ * @ref LoadDatabase/@ref LoadDatabaseString must have been called and returned 0 (zero) errors.
698
+ */
699
+ int RunString(const char* input);
700
+
701
+ /**
702
+ * Sets a C callback function for Basic programs. The syntax for the Basic command is
703
+ * 10 result = CALLBACK(x1, x2, string$)
704
+ * The syntax for the C function is
705
+ * double my_callback(double x1, double x2, const char * string)
706
+ * @param fcn The name of a user-defined function.
707
+ * @param cookie1 A user defined value to be passed to the callback function.
708
+ * @see SetBasicFortranCallback
709
+ */
710
+ void SetBasicCallback(double (*fcn)(double x1, double x2, const char *str, void *cookie), void * cookie1);
711
+
712
+ /**
713
+ * Sets a Fortran callback function for Basic programs. The syntax for the Basic command is
714
+ * 10 result = CALLBACK(x1, x2, string$)
715
+ * The syntax for the Fortran function is
716
+ * real(kind=8) my_callback(x1, x2, string), where x1 and x2 are real(kind=8) and string is a character variable.
717
+ * @param fcn The name of a user-defined function.
718
+ * @see SetBasicCallback
719
+ */
720
+ #ifdef IPHREEQC_NO_FORTRAN_MODULE
721
+ void SetBasicFortranCallback(double (*fcn)(double *x1, double *x2, const char *str, size_t l));
722
+ #else
723
+ void SetBasicFortranCallback(double (*fcn)(double *x1, double *x2, const char *str, int l));
724
+ #endif
725
+
726
+ /**
727
+ * Sets the current <B>SELECTED_OUTPUT</B> user number for use in subsequent calls to (@ref GetSelectedOutputColumnCount,
728
+ * @ref GetSelectedOutputFileName, @ref GetSelectedOutputRowCount, @ref GetSelectedOutputString, @ref GetSelectedOutputStringLine,
729
+ * @ref GetSelectedOutputStringLineCount, @ref GetSelectedOutputValue, @ref GetSelectedOutputValue2) routines.
730
+ * The initial setting is 1.
731
+ * @param n The user number as specified in the <B>SELECTED_OUTPUT</B> block.
732
+ * @retval VR_OK Success
733
+ * @retval VR_INVALIDARG The given user number has not been defined.
734
+ * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputColumnCount, GetSelectedOutputFileName, GetSelectedOutputRowCount, GetSelectedOutputString, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, GetSelectedOutputValue
735
+ */
736
+ VRESULT SetCurrentSelectedOutputUserNumber(int n);
737
+
738
+ /**
739
+ * Sets the name of the dump file. This file name is used if not specified within <B>DUMP</B> input.
740
+ * The default value is <B><I>dump.id.out</I></B>, where id is obtained from @ref GetId.
741
+ * @param filename The name of the file to write <B>DUMP</B> output to.
742
+ * @see GetDumpFileName, GetDumpFileOn, GetDumpString, GetDumpStringOn, GetDumpStringLine, GetDumpStringLineCount, SetDumpStringOn
743
+ */
744
+ void SetDumpFileName(const char *filename);
745
+
746
+ /**
747
+ * Sets the dump file switch on or off. This switch controls whether or not phreeqc writes to the <B>DUMP</B> (<B><I>dump.id.out</I></B>
748
+ * if unspecified, where id is obtained from @ref GetId) file.
749
+ * The initial setting is false.
750
+ * @param bValue If true, turns on output to the <B>DUMP</B> file;
751
+ * if false, turns off output to the <B>DUMP</B> file.
752
+ * @see GetDumpFileOn, GetDumpString, GetDumpStringOn, GetDumpStringLine, GetDumpStringLineCount, SetDumpStringOn
753
+ */
754
+ void SetDumpFileOn(bool bValue);
755
+
756
+ /**
757
+ * Sets the dump string switch on or off. This switch controls whether or not the data normally sent
758
+ * to the dump file are stored in a buffer for retrieval. The initial setting is false.
759
+ * @param bValue If true, captures the output defined by the <B>DUMP</B> keyword into a string buffer;
760
+ * if false, output defined by the <B>DUMP</B> keyword is not captured to a string buffer.
761
+ * @see GetDumpFileOn, GetDumpString, GetDumpStringOn, GetDumpStringLine, GetDumpStringLineCount, SetDumpFileOn
762
+ */
763
+ void SetDumpStringOn(bool bValue);
764
+
765
+ /**
766
+ * Sets the name of the error file. The default value is <B><I>phreeqc.id.err</I></B>, where id is obtained from @ref GetId.
767
+ * @param filename The name of the file to write error output to.
768
+ * @see GetErrorFileName, GetErrorFileOn, GetErrorString, GetErrorStringOn, GetErrorStringLine, GetErrorStringLineCount, SetErrorFileOn, SetErrorStringOn
769
+ */
770
+ void SetErrorFileName(const char *filename);
771
+
772
+ /**
773
+ * Sets the error file switch on or off. This switch controls whether or not
774
+ * error messages are written to the <B><I>phreeqc.id.err</I></B> (where id is obtained from @ref GetId) file.
775
+ * The initial setting is true.
776
+ * @param bValue If true, writes errors to the error file; if false, no errors are written to the error file.
777
+ * @see GetErrorStringLine, GetErrorStringLineCount, GetErrorFileOn, OutputErrorString
778
+ */
779
+ void SetErrorFileOn(bool bValue);
780
+
781
+ /**
782
+ * Sets the error switch on or off. This switch controls whether
783
+ * error messages are are generated and displayed.
784
+ * The initial setting is true.
785
+ * @param bValue If true, error messages are sent to the error file and error string buffer; if false, no error messages are generated.
786
+ * @see GetErrorOn, GetErrorStringLine, GetErrorStringLineCount, GetErrorFileOn, OutputErrorString
787
+ */
788
+ void SetErrorOn(bool bValue);
789
+
790
+ /**
791
+ * Sets the error string switch on or off. This switch controls whether or not the data normally sent
792
+ * to the error file are stored in a buffer for retrieval. The initial setting is true.
793
+ * @param bValue If true, captures error output into a string buffer; if false, error output is not captured to a string buffer.
794
+ * @see GetErrorFileOn, GetErrorString, GetErrorStringOn, GetErrorStringLine, GetErrorStringLineCount, SetErrorFileOn
795
+ */
796
+ void SetErrorStringOn(bool bValue);
797
+
798
+ /**
799
+ * Sets the name of the log file. The default value is <B><I>phreeqc.id.log</I></B>, where id is obtained from @ref GetId.
800
+ * @param filename The name of the file to write log output to.
801
+ * @see GetLogFileName, GetLogFileOn, GetLogString, GetLogStringOn, GetLogStringLine, GetLogStringLineCount, SetLogFileOn, SetLogStringOn
802
+ */
803
+ void SetLogFileName(const char *filename);
804
+
805
+ /**
806
+ * Sets the log file switch on or off. This switch controls whether or not phreeqc
807
+ * writes log messages to the <B><I>phreeqc.id.log</I></B> (where id is obtained from @ref GetId) file. The initial setting is false.
808
+ * @param bValue If true, turns on output to the log file; if false, no log messages are written to the log file.
809
+ * @remarks
810
+ * Logging must be enabled through the use of the KNOBS -logfile option in order to receive any log messages.
811
+ * @see GetLogFileOn
812
+ */
813
+ void SetLogFileOn(bool bValue);
814
+
815
+ /**
816
+ * Sets the log string switch on or off. This switch controls whether or not the data normally sent
817
+ * to the log file are stored in a buffer for retrieval. The initial setting is false.
818
+ * @param bValue If true, captures log output into a string buffer; if false, log output is not captured to a string buffer.
819
+ * @see GetLogFileOn, GetLogString, GetLogStringOn, GetLogStringLine, GetLogStringLineCount, SetLogFileOn
820
+ */
821
+ void SetLogStringOn(bool bValue);
822
+
823
+ /**
824
+ * Sets the name of the output file. The default value is <B><I>phreeqc.id.out</I></B>, where id is obtained from @ref GetId.
825
+ * @param filename The name of the file to write phreeqc output to.
826
+ * @see GetOutputFileName, GetOutputFileOn, GetOutputString, GetOutputStringOn, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileOn, SetOutputStringOn
827
+ */
828
+ void SetOutputFileName(const char *filename);
829
+
830
+ /**
831
+ * Sets the output file switch on or off. This switch controls whether or not phreeqc
832
+ * writes to the <B><I>phreeqc.id.out</I></B> file (where id is obtained from @ref GetId). This is the output that is normally generated
833
+ * when phreeqc is run. The initial setting is false.
834
+ * @param bValue If true, writes output to the output file; if false, no output is written to the output file.
835
+ * @see GetOutputFileOn
836
+ */
837
+ void SetOutputFileOn(bool bValue);
838
+
839
+ /**
840
+ * Sets the output string switch on or off. This switch controls whether or not the data normally sent
841
+ * to the output file are stored in a buffer for retrieval. The initial setting is false.
842
+ * @param bValue If true, captures output into a string buffer; if false, output is not captured to a string buffer.
843
+ * @see GetOutputFileOn, GetOutputString, GetOutputStringOn, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileOn
844
+ */
845
+ void SetOutputStringOn(bool bValue);
846
+
847
+ /**
848
+ * Sets the name of the current selected output file (see @ref SetCurrentSelectedOutputUserNumber). This file name is used if not specified within <B>SELECTED_OUTPUT</B> input.
849
+ * The default value is <B><I>selected_n.id.out</I></B>, where id is obtained from @ref GetId.
850
+ * @param filename The name of the file to write <B>SELECTED_OUTPUT</B> output to.
851
+ * @see GetSelectedOutputFileName, GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringOn, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, SetCurrentSelectedOutputUserNumber, SetSelectedOutputStringOn
852
+ */
853
+ void SetSelectedOutputFileName(const char *filename);
854
+
855
+ /**
856
+ * Sets the selected-output file switch on or off. This switch controls whether or not phreeqc writes output to
857
+ * the current <B>SELECTED_OUTPUT</B> (<B><I>selected_n.id.out</I></B> if unspecified, where id is obtained from @ref GetId) file.
858
+ * The initial setting is false.
859
+ * @param bValue If true, writes output to the selected-output file; if false, no output is written to the selected-output file.
860
+ * @see GetSelectedOutputColumnCount, GetSelectedOutputFileOn, GetSelectedOutputRowCount, GetSelectedOutputValue, SetCurrentSelectedOutputUserNumber
861
+ */
862
+ void SetSelectedOutputFileOn(bool bValue);
863
+
864
+ /**
865
+ * Sets the selected output string switch on or off. This switch controls whether or not the data normally sent
866
+ * to the current <B>SELECTED_OUTPUT</B> file (see @ref SetCurrentSelectedOutputUserNumber) are stored in a buffer for retrieval.
867
+ * The initial setting is false.
868
+ * @param bValue If true, captures the output defined by the <B>SELECTED_OUTPUT</B> keyword into a string buffer;
869
+ * if false, output defined by the <B>SELECTED_OUTPUT</B> keyword is not captured to a string buffer.
870
+ * @see GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringOn, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn
871
+ */
872
+ void SetSelectedOutputStringOn(bool bValue);
873
+
874
+ public:
875
+ // overrides
876
+ virtual void error_msg(const char *str, bool stop=false);
877
+ virtual void log_msg(const char * str);
878
+ virtual void output_msg(const char *str);
879
+ virtual void punch_msg(const char *str);
880
+ virtual void screen_msg(const char *str);
881
+ virtual void warning_msg(const char *str);
882
+
883
+ virtual void fpunchf(const char *name, const char *format, double d);
884
+ virtual void fpunchf(const char *name, const char *format, char * d);
885
+ virtual void fpunchf(const char *name, const char *format, int d);
886
+ virtual void fpunchf_end_row(const char *format);
887
+
888
+ virtual bool output_open(const char *file_name, std::ios_base::openmode mode = std::ios_base::out);
889
+ virtual bool punch_open(const char *file_name, std::ios_base::openmode mode = std::ios_base::out, int n_user = 1);
890
+
891
+ protected:
892
+ int EndRow(void);
893
+ void AddSelectedOutput(const char* name, const char* format, va_list argptr);
894
+ void UnLoadDatabase(void);
895
+
896
+ void check_database(const char* sz_routine);
897
+ int close_input_files(void);
898
+ int close_output_files(void);
899
+ void open_output_files(const char* sz_routine);
900
+
901
+ void do_run(const char* sz_routine, std::istream* pis, PFN_PRERUN_CALLBACK pfn_pre, PFN_POSTRUN_CALLBACK pfn_post, void *cookie);
902
+
903
+ void update_errors(void);
904
+
905
+ int load_db(const char* filename);
906
+ int load_db_str(const char* filename);
907
+ int test_db(void);
908
+
909
+ bool get_sel_out_file_on(int n)const;
910
+ std::string sel_file_name(int n_user);
911
+
912
+ std::string create_file_name(const char *prefix, const char *suffix);
913
+
914
+ bool get_sel_out_string_on(int n)const;
915
+
916
+ protected:
917
+ #if defined(_MSC_VER)
918
+ /* disable warning C4251: 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2' */
919
+ #pragma warning(disable:4251)
920
+ #endif
921
+
922
+ bool DatabaseLoaded;
923
+ bool ClearAccumulated;
924
+ bool UpdateComponents;
925
+ std::map< int, bool > SelectedOutputFileOnMap;
926
+
927
+ bool OutputFileOn;
928
+
929
+ bool LogFileOn;
930
+ bool ErrorFileOn;
931
+ bool DumpOn;
932
+
933
+ bool DumpStringOn;
934
+
935
+ bool OutputStringOn;
936
+ std::string OutputString;
937
+ std::vector< std::string > OutputLines;
938
+
939
+ bool LogStringOn;
940
+ std::string LogString;
941
+ std::vector< std::string > LogLines;
942
+
943
+ bool ErrorStringOn;
944
+ IErrorReporter *ErrorReporter;
945
+ std::string ErrorString;
946
+ std::vector< std::string > ErrorLines;
947
+
948
+ bool WarningStringOn;
949
+ IErrorReporter *WarningReporter;
950
+ std::string WarningString;
951
+ std::vector< std::string > WarningLines;
952
+
953
+ int CurrentSelectedOutputUserNumber;
954
+ std::map< int, CSelectedOutput* > SelectedOutputMap;
955
+ std::string StringInput;
956
+
957
+ std::string DumpString;
958
+ std::vector< std::string > DumpLines;
959
+
960
+ std::list< std::string > Components;
961
+ std::list< std::string > EquilibriumPhasesList;
962
+ const std::list<std::string> &GetEquilibriumPhasesList() { return this->EquilibriumPhasesList; };
963
+ std::list< std::string > GasComponentsList;
964
+ const std::list<std::string> &GetGasComponentsList() { return this->GasComponentsList; };
965
+ std::list< std::string > KineticReactionsList;
966
+ const std::list<std::string> &GetKineticReactionsList() { return this->KineticReactionsList; };
967
+ std::list< std::string > SolidSolutionComponentsList;
968
+ const std::list<std::string> &GetSolidSolutionComponentsList() { return this->SolidSolutionComponentsList; };
969
+ std::list< std::string > SolidSolutionNamesList;
970
+ const std::list<std::string> &GetSolidSolutionNamesList() { return this->SolidSolutionNamesList; };
971
+ //std::list< std::string > SurfaceSpeciesList;
972
+ //const std::list<std::string> &GetSurfaceSpeciesList() { return this->SurfaceSpeciesList; };
973
+ std::list< std::string > SurfaceTypeList;
974
+ const std::list<std::string> &GetSurfaceTypeList() { return this->SurfaceTypeList; };
975
+ std::list< std::string > SurfaceNamesList;
976
+ const std::list<std::string> &GetSurfaceNamesList() { return this->SurfaceNamesList; };
977
+ //std::list< std::string > ExchangeSpeciesList;
978
+ //const std::list<std::string> &GetExchangeSpeciesList() { return this->ExchangeSpeciesList; };
979
+ std::list< std::string > ExchangeNamesList;
980
+ const std::list<std::string> &GetExchangeNamesList() { return this->ExchangeNamesList; };
981
+
982
+ std::map< int, std::string > SelectedOutputFileNameMap;
983
+
984
+ std::string OutputFileName;
985
+ std::string ErrorFileName;
986
+ std::string LogFileName;
987
+ std::string DumpFileName;
988
+
989
+ std::map< int, bool > SelectedOutputStringOn;
990
+ std::map< int, std::string > SelectedOutputStringMap;
991
+ std::map< int, std::vector< std::string > > SelectedOutputLinesMap;
992
+
993
+ protected:
994
+ Phreeqc* PhreeqcPtr;
995
+ FILE *input_file;
996
+ FILE *database_file;
997
+
998
+ friend class IPhreeqcLib;
999
+ static std::map<size_t, IPhreeqc*> Instances;
1000
+ static size_t InstancesIndex;
1001
+ size_t Index;
1002
+
1003
+ static std::string Version;
1004
+
1005
+ #if defined(_MSC_VER)
1006
+ /* reset warning C4251 */
1007
+ #pragma warning(default:4251)
1008
+ #endif
1009
+
1010
+ #if defined(CPPUNIT)
1011
+ friend class TestIPhreeqc;
1012
+ friend class TestSelectedOutput;
1013
+ #endif
1014
+
1015
+ private:
1016
+ /**
1017
+ * Copy constructor not supported
1018
+ */
1019
+ IPhreeqc(const IPhreeqc&);
1020
+
1021
+ /**
1022
+ * operator= not supported
1023
+ */
1024
+ IPhreeqc& operator=(const IPhreeqc&);
1025
+ };
1026
+
1027
+ #endif // INC_IPHREEQC_HPP