pyEQL 1.4.0rc9__cp310-cp310-macosx_10_9_x86_64.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,2182 @@
1
+ /*! @file IPhreeqc.h
2
+ @brief C/Fortran Documentation
3
+ */
4
+ #ifndef INC_IPHREEQC_H
5
+ #define INC_IPHREEQC_H
6
+
7
+ #include "Var.h"
8
+
9
+ #ifdef IPHREEQC_NO_FORTRAN_MODULE
10
+ #include <stddef.h>
11
+ #endif
12
+
13
+ /**
14
+ * @mainpage IPhreeqc Library Documentation (3.8.6-17100)
15
+ *
16
+ * @htmlonly
17
+ * <table>
18
+ * <tr><td class="indexkey"><a class="el" href="IPhreeqc_8h.html">IPhreeqc.h</a> </td><td class="indexvalue">C/Fortran Documentation </td></tr>
19
+ * <tr><td class="indexkey"><a class="el" href="IPhreeqc_8hpp.html">IPhreeqc.hpp</a> </td><td class="indexvalue">C++ Documentation </td></tr>
20
+ * <tr><td class="indexkey"><a class="el" href="Var_8h.html">Var.h</a></td><td class="indexvalue">IPhreeqc VARIANT Documentation </td></tr>
21
+ * </table>
22
+ * @endhtmlonly
23
+ */
24
+
25
+ /*! @brief Enumeration used to return error codes.
26
+ */
27
+ typedef enum {
28
+ IPQ_OK = 0, /*!< Success */
29
+ IPQ_OUTOFMEMORY = -1, /*!< Failure, Out of memory */
30
+ IPQ_BADVARTYPE = -2, /*!< Failure, Invalid VAR type */
31
+ IPQ_INVALIDARG = -3, /*!< Failure, Invalid argument */
32
+ IPQ_INVALIDROW = -4, /*!< Failure, Invalid row */
33
+ IPQ_INVALIDCOL = -5, /*!< Failure, Invalid column */
34
+ IPQ_BADINSTANCE = -6 /*!< Failure, Invalid instance id */
35
+ } IPQ_RESULT;
36
+
37
+
38
+ #if defined(__cplusplus)
39
+ extern "C" {
40
+ #endif
41
+
42
+ /**
43
+ * Accumlulate line(s) for input to phreeqc.
44
+ * @param id The instance id returned from @ref CreateIPhreeqc.
45
+ * @param line The line(s) to add for input to phreeqc.
46
+ * @retval IPQ_OK Success
47
+ * @retval IPQ_OUTOFMEMORY Out of memory
48
+ * @see ClearAccumulatedLines, OutputAccumulatedLines, RunAccumulated
49
+ * @par Fortran90 Interface:
50
+ * @htmlonly
51
+ * <CODE>
52
+ * <PRE>
53
+ * FUNCTION AccumulateLine(ID,LINE)
54
+ * INTEGER(KIND=4), INTENT(IN) :: ID
55
+ * CHARACTER(LEN=*), INTENT(IN) :: LINE
56
+ * INTEGER(KIND=4) :: AccumulateLine
57
+ * END FUNCTION AccumulateLine
58
+ * </PRE>
59
+ * </CODE>
60
+ * @endhtmlonly
61
+ *
62
+ * @par C Example:
63
+ * @include AccumulateLine.c
64
+ *
65
+ * @par Fortran90 Example:
66
+ * see @ref GetDumpStringLine_f90 "GetDumpStringLine"
67
+ */
68
+ IPQ_DLL_EXPORT IPQ_RESULT AccumulateLine(int id, const char *line);
69
+
70
+
71
+ /**
72
+ * Appends the given error message and increments the error count.
73
+ * Internally used to create an error condition.
74
+ * @param id The instance id returned from @ref CreateIPhreeqc.
75
+ * @param error_msg The error message to display.
76
+ * @return The current error count if successful; otherwise a negative value indicates an error occurred (see @ref IPQ_RESULT).
77
+ * @see GetErrorString, GetErrorStringLine, GetErrorStringLineCount, OutputErrorString
78
+ * @par Fortran90 Interface:
79
+ * @htmlonly
80
+ * <CODE>
81
+ * <PRE>
82
+ * FUNCTION AddError(ID,ERROR_MSG)
83
+ * INTEGER(KIND=4), INTENT(IN) :: ID
84
+ * CHARACTER(LEN=*), INTENT(IN) :: ERROR_MSG
85
+ * INTEGER(KIND=4) :: AddError
86
+ * END FUNCTION AddError
87
+ * </PRE>
88
+ * </CODE>
89
+ * @endhtmlonly
90
+ */
91
+ IPQ_DLL_EXPORT int AddError(int id, const char* error_msg);
92
+
93
+
94
+ /**
95
+ * Appends the given warning message and increments the warning count.
96
+ * Internally used to create a warning condition.
97
+ * @param id The instance id returned from @ref CreateIPhreeqc.
98
+ * @param warn_msg The warning message to display.
99
+ * @return The current warning count if successful; otherwise a negative value indicates an error occurred (see @ref IPQ_RESULT).
100
+ * @see GetWarningString, GetWarningStringLine, GetWarningStringLineCount, OutputWarningString
101
+ * @par Fortran90 Interface:
102
+ * @htmlonly
103
+ * <CODE>
104
+ * <PRE>
105
+ * FUNCTION AddWarning(ID,WARN_MSG)
106
+ * INTEGER(KIND=4), INTENT(IN) :: ID
107
+ * CHARACTER(LEN=*), INTENT(IN) :: WARN_MSG
108
+ * INTEGER(KIND=4) :: AddWarning
109
+ * END FUNCTION AddWarning
110
+ * </PRE>
111
+ * </CODE>
112
+ * @endhtmlonly
113
+ */
114
+ IPQ_DLL_EXPORT int AddWarning(int id, const char* warn_msg);
115
+
116
+
117
+
118
+ /**
119
+ * Clears the accumulated input buffer. Input buffer is accumulated from calls to @ref AccumulateLine.
120
+ * @retval IPQ_OK Success.
121
+ * @retval IPQ_BADINSTANCE The given id is invalid.
122
+ * @see AccumulateLine, OutputAccumulatedLines, RunAccumulated
123
+ * @par Fortran90 Interface:
124
+ * @htmlonly
125
+ * <CODE>
126
+ * <PRE>
127
+ * FUNCTION ClearAccumulatedLines(ID)
128
+ * INTEGER(KIND=4), INTENT(IN) :: ID
129
+ * INTEGER(KIND=4) :: ClearAccumulatedLines
130
+ * END FUNCTION ClearAccumulatedLines
131
+ * </PRE>
132
+ * </CODE>
133
+ * @endhtmlonly
134
+ */
135
+ IPQ_DLL_EXPORT IPQ_RESULT ClearAccumulatedLines(int id);
136
+
137
+
138
+ /**
139
+ * Create a new IPhreeqc instance.
140
+ * @return A non-negative value if successful; otherwise a negative value indicates an error occurred (see @ref IPQ_RESULT).
141
+ * @see DestroyIPhreeqc
142
+ * @par Fortran90 Interface:
143
+ * @htmlonly
144
+ * <CODE>
145
+ * <PRE>
146
+ * FUNCTION CreateIPhreeqc()
147
+ * INTEGER(KIND=4) :: CreateIPhreeqc
148
+ * END FUNCTION CreateIPhreeqc
149
+ * </PRE>
150
+ * </CODE>
151
+ * @endhtmlonly
152
+ *
153
+ * @anchor CreateIPhreeqc_c
154
+ * @par C Example:
155
+ * @include CreateIPhreeqc.c
156
+ *
157
+ * @anchor CreateIPhreeqc_f90
158
+ * @par Fortran90 Example:
159
+ * @include F90CreateIPhreeqc.f90
160
+ */
161
+ IPQ_DLL_EXPORT int CreateIPhreeqc(void);
162
+
163
+
164
+ /**
165
+ * Release an IPhreeqc instance from memory.
166
+ * @param id The instance id returned from @ref CreateIPhreeqc.
167
+ * @retval IPQ_OK Success
168
+ * @retval IPQ_BADINSTANCE The given id is invalid.
169
+ * @see CreateIPhreeqc
170
+ * @par Fortran90 Interface:
171
+ * @htmlonly
172
+ * <CODE>
173
+ * <PRE>
174
+ * FUNCTION DestroyIPhreeqc(ID)
175
+ * INTEGER(KIND=4), INTENT(IN) :: ID
176
+ * INTEGER(KIND=4) :: DestroyIPhreeqc
177
+ * END FUNCTION DestroyIPhreeqc
178
+ * </PRE>
179
+ * </CODE>
180
+ * @endhtmlonly
181
+ *
182
+ * @par C Example:
183
+ * see @ref CreateIPhreeqc_c "CreateIPhreeqc"
184
+ *
185
+ * @par Fortran90 Example:
186
+ * see @ref CreateIPhreeqc_f90 "CreateIPhreeqc"
187
+ */
188
+ IPQ_DLL_EXPORT IPQ_RESULT DestroyIPhreeqc(int id);
189
+
190
+
191
+ /**
192
+ * Retrieves the given component.
193
+ * @param id The instance id returned from @ref CreateIPhreeqc.
194
+ * @param n The zero-based index of the component to retrieve.
195
+ * @return A null terminated string containing the given component.
196
+ * Returns an empty string if n is out of range.
197
+ * @see GetComponentCount
198
+ * @par Fortran90 Interface:
199
+ * (Note: N is one-based for the Fortran interface)
200
+ * @htmlonly
201
+ * <CODE>
202
+ * <PRE>
203
+ * SUBROUTINE GetComponent(ID,N,COMP)
204
+ * INTEGER(KIND=4), INTENT(IN) :: ID
205
+ * INTEGER(KIND=4), INTENT(IN) :: N
206
+ * CHARACTER(LEN=*), INTENT(OUT) :: COMP
207
+ * END SUBROUTINE GetComponent
208
+ * </PRE>
209
+ * </CODE>
210
+ * @endhtmlonly
211
+ *
212
+ * @anchor GetComponent_c
213
+ * @par C Example:
214
+ * @include GetComponent.c
215
+ *
216
+ * @anchor GetComponent_f90
217
+ * @par Fortran90 Example:
218
+ * @include F90GetComponent.f90
219
+ */
220
+ IPQ_DLL_EXPORT const char* GetComponent(int id, int n);
221
+
222
+
223
+ /**
224
+ * Retrieves the number of components in the current component list.
225
+ * @param id The instance id returned from @ref CreateIPhreeqc.
226
+ * @return The current count of components.
227
+ * A negative value indicates an error occurred (see @ref IPQ_RESULT).
228
+ * @see GetComponent
229
+ * @par Fortran90 Interface:
230
+ * @htmlonly
231
+ * <CODE>
232
+ * <PRE>
233
+ * FUNCTION GetComponentCount(ID)
234
+ * INTEGER(KIND=4), INTENT(IN) :: ID
235
+ * INTEGER(KIND=4) :: GetComponentCount
236
+ * END FUNCTION GetComponentCount
237
+ * </PRE>
238
+ * </CODE>
239
+ * @endhtmlonly
240
+ *
241
+ * @par C Example:
242
+ * see @ref GetComponent_c "GetComponent"
243
+ *
244
+ * @par Fortran90 Example:
245
+ * see @ref GetComponent_f90 "GetComponent"
246
+ */
247
+ IPQ_DLL_EXPORT int GetComponentCount(int id);
248
+
249
+ /**
250
+ * Retrieves the current <b>SELECTED_OUTPUT</b> user number for use in subsequent calls to (@ref GetSelectedOutputColumnCount,
251
+ * GetSelectedOutputFileName, GetSelectedOutputRowCount, GetSelectedOutputString, GetSelectedOutputStringLine,
252
+ * GetSelectedOutputStringLineCount, GetSelectedOutputValue, GetSelectedOutputValue2) routines.
253
+ * The initial setting after calling @ref CreateIPhreeqc is 1.
254
+ * @param id The instance id returned from @ref CreateIPhreeqc.
255
+ * @return The current <b>SELECTED_OUTPUT</b> user number.
256
+ * @see GetNthSelectedOutputUserNumber, GetSelectedOutputCount, SetCurrentSelectedOutputUserNumber
257
+ * @par Fortran90 Interface:
258
+ * @htmlonly
259
+ * <CODE>
260
+ * <PRE>
261
+ * FUNCTION GetCurrentSelectedOutputUserNumber(ID)
262
+ * INTEGER(KIND=4), INTENT(IN) :: ID
263
+ * INTEGER(KIND=4) :: GetCurrentSelectedOutputUserNumber
264
+ * END FUNCTION GetCurrentSelectedOutputUserNumber
265
+ * </PRE>
266
+ * </CODE>
267
+ * @endhtmlonly
268
+ */
269
+ IPQ_DLL_EXPORT int GetCurrentSelectedOutputUserNumber(int id);
270
+
271
+ /**
272
+ * Retrieves the name of the dump file. This file name is used if not specified within <B>DUMP</B> input.
273
+ * The default value is <B><I>dump.id.out</I></B>.
274
+ * @param id The instance id returned from @ref CreateIPhreeqc.
275
+ * @return filename The name of the file to write <B>DUMP</B> output to.
276
+ * @see GetDumpFileOn, GetDumpString, GetDumpStringOn, GetDumpStringLine, GetDumpStringLineCount, SetDumpFileName, SetDumpFileOn, SetDumpStringOn
277
+ * @par Fortran90 Interface:
278
+ * @htmlonly
279
+ * <CODE>
280
+ * <PRE>
281
+ * SUBROUTINE GetDumpFileName(ID,FILENAME)
282
+ * INTEGER(KIND=4), INTENT(IN) :: ID
283
+ * CHARACTER(LEN=*), INTENT(OUT) :: FILENAME
284
+ * END SUBROUTINE GetDumpFileName
285
+ * </PRE>
286
+ * </CODE>
287
+ * @endhtmlonly
288
+ */
289
+ IPQ_DLL_EXPORT const char* GetDumpFileName(int id);
290
+
291
+
292
+ /**
293
+ * Retrieves the current value of the dump file switch.
294
+ * @param id The instance id returned from @ref CreateIPhreeqc.
295
+ * @return Non-zero if output is written to the <B>DUMP</B> (<B><I>dump.id.out</I></B> if unspecified) file, 0 (zero) otherwise.
296
+ * @see GetDumpString, GetDumpStringLine, GetDumpStringLineCount, GetDumpStringOn, SetDumpFileOn, SetDumpStringOn
297
+ * @par Fortran90 Interface:
298
+ * @htmlonly
299
+ * <CODE>
300
+ * <PRE>
301
+ * FUNCTION GetDumpFileOn(ID)
302
+ * INTEGER(KIND=4), INTENT(IN) :: ID
303
+ * LOGICAL(KIND=4) :: GetDumpFileOn
304
+ * END FUNCTION GetDumpFileOn
305
+ * </PRE>
306
+ * </CODE>
307
+ * @endhtmlonly
308
+ */
309
+ IPQ_DLL_EXPORT int GetDumpFileOn(int id);
310
+
311
+
312
+ /**
313
+ * Retrieves the string buffer containing <b>DUMP</b> output.
314
+ * @param id The instance id returned from @ref CreateIPhreeqc.
315
+ * @return A null terminated string containing <b>DUMP</b> output.
316
+ * @pre @ref SetDumpStringOn must have been set to true (non-zero) in order to receive <b>DUMP</b> output.
317
+ * @see GetDumpFileOn, GetDumpStringLine, GetDumpStringLineCount, SetDumpFileOn, GetDumpStringOn, SetDumpStringOn
318
+ * @par Fortran90 Interface:
319
+ * Not implemented. (see @ref GetDumpStringLineCount, @ref GetDumpStringLine)
320
+ *
321
+ * @anchor GetDumpString_c
322
+ * @par C Example:
323
+ * @include GetDumpString.c
324
+ */
325
+ IPQ_DLL_EXPORT const char* GetDumpString(int id);
326
+
327
+
328
+ /**
329
+ * Retrieves the given dump line.
330
+ * @param id The instance id returned from @ref CreateIPhreeqc.
331
+ * @param n The zero-based index of the line to retrieve.
332
+ * @return A null terminated string containing the given line.
333
+ * Returns an empty string if n is out of range.
334
+ * @pre @ref SetDumpStringOn must have been set to true (non-zero).
335
+ * @see GetDumpFileOn, GetDumpString, GetDumpStringLineCount, GetDumpStringOn, SetDumpFileOn, SetDumpStringOn
336
+ * @par Fortran90 Interface:
337
+ * @htmlonly
338
+ * (Note: N is one-based for the Fortran interface.)
339
+ * <CODE>
340
+ * <PRE>
341
+ * SUBROUTINE GetDumpStringLine(ID,N,LINE)
342
+ * INTEGER(KIND=4), INTENT(IN) :: ID
343
+ * INTEGER(KIND=4), INTENT(IN) :: N
344
+ * CHARACTER(LEN=*), INTENT(OUT) :: LINE
345
+ * END SUBROUTINE GetDumpStringLine
346
+ * </PRE>
347
+ * </CODE>
348
+ * @endhtmlonly
349
+ *
350
+ * @anchor GetDumpStringLine_f90
351
+ * @par Fortran90 Example:
352
+ * @include F90GetDumpStringLine.f90
353
+ */
354
+ IPQ_DLL_EXPORT const char* GetDumpStringLine(int id, int n);
355
+
356
+
357
+ /**
358
+ * Retrieves the number of lines in the current dump string buffer.
359
+ * @param id The instance id returned from @ref CreateIPhreeqc.
360
+ * @return The number of lines.
361
+ * @pre @ref SetDumpStringOn must have been set to true (non-zero).
362
+ * @see GetDumpFileOn, GetDumpString, GetDumpStringLine, GetDumpStringOn, SetDumpFileOn, SetDumpStringOn
363
+ * @par Fortran90 Interface:
364
+ * @htmlonly
365
+ * <CODE>
366
+ * <PRE>
367
+ * FUNCTION GetDumpStringLineCount(ID)
368
+ * INTEGER(KIND=4), INTENT(IN) :: ID
369
+ * INTEGER(KIND=4) :: GetDumpStringLineCount
370
+ * END FUNCTION GetDumpStringLineCount
371
+ * </PRE>
372
+ * </CODE>
373
+ * @endhtmlonly
374
+ *
375
+ * @par Fortran90 Example:
376
+ * see @ref GetDumpStringLine_f90 "GetDumpStringLine"
377
+ */
378
+ IPQ_DLL_EXPORT int GetDumpStringLineCount(int id);
379
+
380
+
381
+ /**
382
+ * Retrieves the current value of the dump string switch.
383
+ * @param id The instance id returned from @ref CreateIPhreeqc.
384
+ * @return Non-zero if output defined by the <B>DUMP</B> keyword is stored, 0 (zero) otherwise.
385
+ * @see GetDumpFileOn, GetDumpString, GetDumpStringLine, GetDumpStringLineCount, SetDumpFileOn, SetDumpStringOn
386
+ * @par Fortran90 Interface:
387
+ * @htmlonly
388
+ * <CODE>
389
+ * <PRE>
390
+ * FUNCTION GetDumpStringOn(ID)
391
+ * INTEGER(KIND=4), INTENT(IN) :: ID
392
+ * LOGICAL(KIND=4) :: GetDumpStringOn
393
+ * END FUNCTION GetDumpStringOn
394
+ * </PRE>
395
+ * </CODE>
396
+ * @endhtmlonly
397
+ */
398
+ IPQ_DLL_EXPORT int GetDumpStringOn(int id);
399
+
400
+
401
+ /**
402
+ * Retrieves the name of the error file. The default name is <B><I>phreeqc.id.err</I></B>.
403
+ * @param id The instance id returned from @ref CreateIPhreeqc.
404
+ * @return filename The name of the error file.
405
+ * @see GetErrorFileOn, GetErrorString, GetErrorStringOn, GetErrorStringLine, GetErrorStringLineCount, SetErrorFileName, SetErrorFileOn, SetErrorStringOn
406
+ * @par Fortran90 Interface:
407
+ * @htmlonly
408
+ * <CODE>
409
+ * <PRE>
410
+ * SUBROUTINE GetErrorFileName(ID,FILENAME)
411
+ * INTEGER(KIND=4), INTENT(IN) :: ID
412
+ * CHARACTER(LEN=*), INTENT(OUT) :: FILENAME
413
+ * END SUBROUTINE GetErrorFileName
414
+ * </PRE>
415
+ * </CODE>
416
+ * @endhtmlonly
417
+ */
418
+ IPQ_DLL_EXPORT const char* GetErrorFileName(int id);
419
+
420
+
421
+ /**
422
+ * Retrieves the current value of the error file switch.
423
+ * @param id The instance id returned from @ref CreateIPhreeqc.
424
+ * @return Non-zero if errors are written to the <B><I>phreeqc.id.err</I></B> file, 0 (zero) otherwise.
425
+ * @see SetErrorFileOn
426
+ * @par Fortran90 Interface:
427
+ * @htmlonly
428
+ * <CODE>
429
+ * <PRE>
430
+ * FUNCTION GetErrorFileOn(ID)
431
+ * INTEGER(KIND=4), INTENT(IN) :: ID
432
+ * LOGICAL(KIND=4) :: GetErrorFileOn
433
+ * END FUNCTION GetErrorFileOn
434
+ * </PRE>
435
+ * </CODE>
436
+ * @endhtmlonly
437
+ */
438
+ IPQ_DLL_EXPORT int GetErrorFileOn(int id);
439
+
440
+ /**
441
+ * Retrieves the current value of the error on switch.
442
+ * @param id The instance id returned from @ref CreateIPhreeqc.
443
+ * @return Non-zero if errors are generated, 0 (zero) otherwise.
444
+ * @see SetErrorOn
445
+ * @par Fortran90 Interface:
446
+ * @htmlonly
447
+ * <CODE>
448
+ * <PRE>
449
+ * FUNCTION GetErrorOn(ID)
450
+ * INTEGER(KIND=4), INTENT(IN) :: ID
451
+ * LOGICAL(KIND=4) :: GetErrorOn
452
+ * END FUNCTION GetErrorOn
453
+ * </PRE>
454
+ * </CODE>
455
+ * @endhtmlonly
456
+ */
457
+ IPQ_DLL_EXPORT int GetErrorOn(int id);
458
+
459
+
460
+ /**
461
+ * Retrieves the error messages from the last call to @ref RunAccumulated, @ref RunFile, @ref RunString, @ref LoadDatabase, or @ref LoadDatabaseString.
462
+ * @param id The instance id returned from @ref CreateIPhreeqc.
463
+ * @return A null terminated string containing error messages.
464
+ * @see GetErrorFileOn, GetErrorStringLine, GetErrorStringLineCount, OutputErrorString, SetErrorFileOn
465
+ * @par Fortran90 Interface:
466
+ * Not implemented. (see @ref GetErrorStringLineCount, @ref GetErrorStringLine, @ref OutputErrorString)
467
+ *
468
+ * @anchor GetErrorString_c
469
+ * @par C Example:
470
+ * @include GetErrorString.c
471
+ */
472
+ IPQ_DLL_EXPORT const char* GetErrorString(int id);
473
+
474
+
475
+ /**
476
+ * Retrieves the given error line.
477
+ * @param id The instance id returned from @ref CreateIPhreeqc.
478
+ * @param n The zero-based index of the line to retrieve.
479
+ * @return A null terminated string containing the given line of the error string buffer.
480
+ * @see GetErrorFileOn, GetErrorString, GetErrorStringLineCount, OutputErrorString, SetErrorFileOn
481
+ * @par Fortran90 Interface:
482
+ * (Note: N is one-based for the Fortran interface.)
483
+ * @htmlonly
484
+ * <CODE>
485
+ * <PRE>
486
+ * SUBROUTINE GetErrorStringLine(ID,N,LINE)
487
+ * INTEGER(KIND=4), INTENT(IN) :: ID
488
+ * INTEGER(KIND=4), INTENT(IN) :: N
489
+ * CHARACTER(LEN=*), INTENT(OUT) :: LINE
490
+ * END SUBROUTINE GetErrorStringLine
491
+ * </PRE>
492
+ * </CODE>
493
+ * @endhtmlonly
494
+ *
495
+ * @anchor GetErrorStringLine_f90
496
+ * @par Fortran90 Example:
497
+ * @include F90GetErrorStringLine.f90
498
+ */
499
+ IPQ_DLL_EXPORT const char* GetErrorStringLine(int id, int n);
500
+
501
+
502
+ /**
503
+ * Retrieves the number of lines in the current error string buffer.
504
+ * @param id The instance id returned from @ref CreateIPhreeqc.
505
+ * @return The number of lines.
506
+ * @see GetErrorFileOn, GetErrorString, GetErrorStringLine, OutputErrorString, SetErrorFileOn
507
+ * @par Fortran90 Interface:
508
+ * @htmlonly
509
+ * <CODE>
510
+ * <PRE>
511
+ * FUNCTION GetErrorStringLineCount(ID)
512
+ * INTEGER(KIND=4), INTENT(IN) :: ID
513
+ * INTEGER(KIND=4) :: GetErrorStringLineCount
514
+ * END FUNCTION GetErrorStringLineCount
515
+ * </PRE>
516
+ * </CODE>
517
+ * @endhtmlonly
518
+ */
519
+ IPQ_DLL_EXPORT int GetErrorStringLineCount(int id);
520
+
521
+ /**
522
+ * Retrieves the current value of the error string switch.
523
+ * @param id The instance id returned from @ref CreateIPhreeqc.
524
+ * @return Non-zero if output is stored, 0 (zero) otherwise.
525
+ * @see GetErrorFileOn, GetErrorString, GetErrorStringLine, GetErrorStringLineCount, SetErrorFileOn, SetErrorStringOn
526
+ * @par Fortran90 Interface:
527
+ * @htmlonly
528
+ * <CODE>
529
+ * <PRE>
530
+ * FUNCTION GetErrorStringOn(ID)
531
+ * INTEGER(KIND=4), INTENT(IN) :: ID
532
+ * LOGICAL(KIND=4) :: GetErrorStringOn
533
+ * END FUNCTION GetErrorStringOn
534
+ * </PRE>
535
+ * </CODE>
536
+ * @endhtmlonly
537
+ */
538
+ IPQ_DLL_EXPORT int GetErrorStringOn(int id);
539
+
540
+ /**
541
+ * Retrieves the name of the log file. The default name is <B><I>phreeqc.id.log</I></B>.
542
+ * @param id The instance id returned from @ref CreateIPhreeqc.
543
+ * @return filename The name of the log file.
544
+ * @see GetLogFileOn, GetLogString, GetLogStringOn, GetLogStringLine, GetLogStringLineCount, SetLogFileName, SetLogFileOn, SetLogStringOn
545
+ * @par Fortran90 Interface:
546
+ * @htmlonly
547
+ * <CODE>
548
+ * <PRE>
549
+ * SUBROUTINE GetLogFileName(ID,FILENAME)
550
+ * INTEGER(KIND=4), INTENT(IN) :: ID
551
+ * CHARACTER(LEN=*), INTENT(OUT) :: FILENAME
552
+ * END SUBROUTINE GetLogFileName
553
+ * </PRE>
554
+ * </CODE>
555
+ * @endhtmlonly
556
+ */
557
+ IPQ_DLL_EXPORT const char* GetLogFileName(int id);
558
+
559
+
560
+ /**
561
+ * Retrieves the current value of the log file switch.
562
+ * @param id The instance id returned from @ref CreateIPhreeqc.
563
+ * @return Non-zero if log messages are written to the <B><I>phreeqc.id.log</I></B> file, 0 (zero) otherwise.
564
+ * @remarks Logging must be enabled through the use of the KNOBS -logfile option in order to receive any log messages.
565
+ * @see SetLogFileOn
566
+ * @par Fortran90 Interface:
567
+ * @htmlonly
568
+ * <CODE>
569
+ * <PRE>
570
+ * FUNCTION GetLogFileOn(ID)
571
+ * INTEGER(KIND=4), INTENT(IN) :: ID
572
+ * LOGICAL(KIND=4) :: GetLogFileOn
573
+ * END FUNCTION GetLogFileOn
574
+ * </PRE>
575
+ * </CODE>
576
+ * @endhtmlonly
577
+ */
578
+ IPQ_DLL_EXPORT int GetLogFileOn(int id);
579
+
580
+
581
+ /**
582
+ * Retrieves the string buffer containing log output.
583
+ * @param id The instance id returned from @ref CreateIPhreeqc.
584
+ * @return A null terminated string containing log output.
585
+ * @remarks Logging must be enabled through the use of the KNOBS -logfile option in order to receive any log messages.
586
+ * @pre @ref SetLogStringOn must have been set to true (non-zero) in order to receive log output.
587
+ * @see GetLogFileOn, GetLogStringLine, GetLogStringLineCount, SetLogFileOn, GetLogStringOn, SetLogStringOn
588
+ * @par Fortran90 Interface:
589
+ * Not implemented. (see @ref GetLogStringLineCount, @ref GetLogStringLine)
590
+ *
591
+ * @anchor GetLogString_c
592
+ * @par C Example:
593
+ * @include GetLogString.c
594
+ */
595
+ IPQ_DLL_EXPORT const char* GetLogString(int id);
596
+
597
+
598
+ /**
599
+ * Retrieves the given log line.
600
+ * @param id The instance id returned from @ref CreateIPhreeqc.
601
+ * @param n The zero-based index of the line to retrieve.
602
+ * @return A null terminated string containing the given line.
603
+ * Returns an empty string if n is out of range.
604
+ * @pre @ref SetLogStringOn must have been set to true (non-zero).
605
+ * @see GetLogFileOn, GetLogString, GetLogStringLineCount, GetLogStringOn, SetLogFileOn, SetLogStringOn
606
+ * @par Fortran90 Interface:
607
+ * @htmlonly
608
+ * (Note: N is one-based for the Fortran interface.)
609
+ * <CODE>
610
+ * <PRE>
611
+ * SUBROUTINE GetLogStringLine(ID,N,LINE)
612
+ * INTEGER(KIND=4), INTENT(IN) :: ID
613
+ * INTEGER(KIND=4), INTENT(IN) :: N
614
+ * CHARACTER(LEN=*), INTENT(OUT) :: LINE
615
+ * END SUBROUTINE GetLogStringLine
616
+ * </PRE>
617
+ * </CODE>
618
+ * @endhtmlonly
619
+ *
620
+ * @anchor GetLogStringLine_f90
621
+ * @par Fortran90 Example:
622
+ * @include F90GetLogStringLine.f90
623
+ */
624
+ IPQ_DLL_EXPORT const char* GetLogStringLine(int id, int n);
625
+
626
+ /**
627
+ * Retrieves the number of lines in the current log string buffer.
628
+ * @param id The instance id returned from @ref CreateIPhreeqc.
629
+ * @return The number of lines.
630
+ * @pre @ref SetLogStringOn must have been set to true (non-zero).
631
+ * @see GetLogFileOn, GetLogString, GetLogStringLine, GetLogStringOn, SetLogFileOn, SetLogStringOn
632
+ * @par Fortran90 Interface:
633
+ * @htmlonly
634
+ * <CODE>
635
+ * <PRE>
636
+ * FUNCTION GetLogStringLineCount(ID)
637
+ * INTEGER(KIND=4), INTENT(IN) :: ID
638
+ * INTEGER(KIND=4) :: GetLogStringLineCount
639
+ * END FUNCTION GetLogStringLineCount
640
+ * </PRE>
641
+ * </CODE>
642
+ * @endhtmlonly
643
+ *
644
+ * @par Fortran90 Example:
645
+ * see @ref GetLogStringLine_f90 "GetLogStringLine"
646
+ */
647
+ IPQ_DLL_EXPORT int GetLogStringLineCount(int id);
648
+
649
+
650
+ /**
651
+ * Retrieves the current value of the log string switch.
652
+ * @param id The instance id returned from @ref CreateIPhreeqc.
653
+ * @return Non-zero if output is stored, 0 (zero) otherwise.
654
+ * @see GetLogFileOn, GetLogString, GetLogStringLine, GetLogStringLineCount, SetLogFileOn, SetLogStringOn
655
+ * @par Fortran90 Interface:
656
+ * @htmlonly
657
+ * <CODE>
658
+ * <PRE>
659
+ * FUNCTION GetLogStringOn(ID)
660
+ * INTEGER(KIND=4), INTENT(IN) :: ID
661
+ * LOGICAL(KIND=4) :: GetLogStringOn
662
+ * END FUNCTION GetLogStringOn
663
+ * </PRE>
664
+ * </CODE>
665
+ * @endhtmlonly
666
+ */
667
+ IPQ_DLL_EXPORT int GetLogStringOn(int id);
668
+
669
+
670
+ /**
671
+ * Retrieves the nth user number of the currently defined <B>SELECTED_OUTPUT</B> keyword blocks.
672
+ * @param id The instance id returned from @ref CreateIPhreeqc.
673
+ * @param n The zero-based index of the <B>SELECTED_OUTPUT</B> user number to retrieve.
674
+ * @return The nth defined user number; a negative value indicates an error occurred.
675
+ * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputCount, SetCurrentSelectedOutputUserNumber
676
+ * @pre @ref RunAccumulated, @ref RunFile, @ref RunString must have been called and returned 0 (zero) errors.
677
+ * @par Fortran90 Interface:
678
+ * @htmlonly
679
+ * (Note: N is one-based for the Fortran interface.)
680
+ * <CODE>
681
+ * <PRE>
682
+ * FUNCTION GetNthSelectedOutputUserNumber(ID,N)
683
+ * INTEGER(KIND=4), INTENT(IN) :: ID
684
+ * INTEGER(KIND=4), INTENT(IN) :: N
685
+ * INTEGER(KIND=4) :: GetNthSelectedOutputUserNumber
686
+ * END FUNCTION GetNthSelectedOutputUserNumber
687
+ * </PRE>
688
+ * </CODE>
689
+ * @endhtmlonly
690
+ *
691
+ * @par C Example:
692
+ * see @ref SetCurrentSelectedOutputUserNumber_c "SetCurrentSelectedOutputUserNumber"
693
+ */
694
+ IPQ_DLL_EXPORT int GetNthSelectedOutputUserNumber(int id, int n);
695
+
696
+ /**
697
+ * Retrieves the name of the output file. The default name is <B><I>phreeqc.id.out</I></B>.
698
+ * @param id The instance id returned from @ref CreateIPhreeqc.
699
+ * @return filename The name of the output file.
700
+ * @see GetOutputFileOn, GetOutputString, GetOutputStringOn, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileName, SetOutputFileOn, SetOutputStringOn
701
+ * @par Fortran90 Interface:
702
+ * @htmlonly
703
+ * <CODE>
704
+ * <PRE>
705
+ * SUBROUTINE GetOutputFileName(ID,FILENAME)
706
+ * INTEGER(KIND=4), INTENT(IN) :: ID
707
+ * CHARACTER(LEN=*), INTENT(OUT) :: FILENAME
708
+ * END SUBROUTINE GetOutputFileName
709
+ * </PRE>
710
+ * </CODE>
711
+ * @endhtmlonly
712
+ */
713
+ IPQ_DLL_EXPORT const char* GetOutputFileName(int id);
714
+
715
+
716
+ /**
717
+ * Retrieves the current value of the output file switch.
718
+ * @param id The instance id returned from @ref CreateIPhreeqc.
719
+ * @return Non-zero if output is written to the <B><I>phreeqc.id.out</I></B> file, 0 (zero) otherwise.
720
+ * @see SetOutputFileOn
721
+ * @par Fortran90 Interface:
722
+ * @htmlonly
723
+ * <CODE>
724
+ * <PRE>
725
+ * FUNCTION GetOutputFileOn(ID)
726
+ * INTEGER(KIND=4), INTENT(IN) :: ID
727
+ * LOGICAL(KIND=4) :: GetOutputFileOn
728
+ * END FUNCTION GetOutputFileOn
729
+ * </PRE>
730
+ * </CODE>
731
+ * @endhtmlonly
732
+ */
733
+ IPQ_DLL_EXPORT int GetOutputFileOn(int id);
734
+
735
+ /**
736
+ * Retrieves the string buffer containing phreeqc output.
737
+ * @param id The instance id returned from @ref CreateIPhreeqc.
738
+ * @return A null terminated string containing phreeqc output.
739
+ * @pre @ref SetOutputStringOn must have been set to true (non-zero) in order to receive phreeqc output.
740
+ * @see GetOutputFileOn, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileOn, GetOutputStringOn, SetOutputStringOn
741
+ * @par Fortran90 Interface:
742
+ * Not implemented. (see @ref GetOutputStringLineCount, @ref GetOutputStringLine)
743
+ *
744
+ * @anchor GetOutputString_c
745
+ * @par C Example:
746
+ * @include GetOutputString.c
747
+ */
748
+ IPQ_DLL_EXPORT const char* GetOutputString(int id);
749
+
750
+ /**
751
+ * Retrieves the given output line.
752
+ * @param id The instance id returned from @ref CreateIPhreeqc.
753
+ * @param n The zero-based index of the line to retrieve.
754
+ * @return A null terminated string containing the given line.
755
+ * Returns an empty string if n is out of range.
756
+ * @pre @ref SetOutputStringOn must have been set to true (non-zero).
757
+ * @see GetOutputFileOn, GetOutputString, GetOutputStringLineCount, GetOutputStringOn, SetOutputFileOn, SetOutputStringOn
758
+ * @par Fortran90 Interface:
759
+ * @htmlonly
760
+ * (Note: N is one-based for the Fortran interface.)
761
+ * <CODE>
762
+ * <PRE>
763
+ * SUBROUTINE GetOutputStringLine(ID,N,LINE)
764
+ * INTEGER(KIND=4), INTENT(IN) :: ID
765
+ * INTEGER(KIND=4), INTENT(IN) :: N
766
+ * CHARACTER(LEN=*), INTENT(OUT) :: LINE
767
+ * END SUBROUTINE GetOutputStringLine
768
+ * </PRE>
769
+ * </CODE>
770
+ * @endhtmlonly
771
+ *
772
+ * @anchor GetOutputStringLine_f90
773
+ * @par Fortran90 Example:
774
+ * @include F90GetOutputStringLine.f90
775
+ */
776
+ IPQ_DLL_EXPORT const char* GetOutputStringLine(int id, int n);
777
+
778
+ /**
779
+ * Retrieves the number of lines in the current output string buffer.
780
+ * @param id The instance id returned from @ref CreateIPhreeqc.
781
+ * @return The number of lines.
782
+ * @pre @ref SetOutputStringOn must have been set to true (non-zero).
783
+ * @see GetOutputFileOn, GetOutputString, GetOutputStringLine, GetOutputStringOn, SetOutputFileOn, SetOutputStringOn
784
+ * @par Fortran90 Interface:
785
+ * @htmlonly
786
+ * <CODE>
787
+ * <PRE>
788
+ * FUNCTION GetOutputStringLineCount(ID)
789
+ * INTEGER(KIND=4), INTENT(IN) :: ID
790
+ * INTEGER(KIND=4) :: GetOutputStringLineCount
791
+ * END FUNCTION GetOutputStringLineCount
792
+ * </PRE>
793
+ * </CODE>
794
+ * @endhtmlonly
795
+ *
796
+ * @par Fortran90 Example:
797
+ * see @ref GetOutputStringLine_f90 "GetOutputStringLine"
798
+ */
799
+ IPQ_DLL_EXPORT int GetOutputStringLineCount(int id);
800
+
801
+ /**
802
+ * Retrieves the current value of the output string switch.
803
+ * @param id The instance id returned from @ref CreateIPhreeqc.
804
+ * @return Non-zero if output is stored, 0 (zero) otherwise.
805
+ * @see GetOutputFileOn, GetOutputString, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileOn, SetOutputStringOn
806
+ * @par Fortran90 Interface:
807
+ * @htmlonly
808
+ * <CODE>
809
+ * <PRE>
810
+ * FUNCTION GetOutputStringOn(ID)
811
+ * INTEGER(KIND=4), INTENT(IN) :: ID
812
+ * LOGICAL(KIND=4) :: GetOutputStringOn
813
+ * END FUNCTION GetOutputStringOn
814
+ * </PRE>
815
+ * </CODE>
816
+ * @endhtmlonly
817
+ */
818
+ IPQ_DLL_EXPORT int GetOutputStringOn(int id);
819
+
820
+
821
+ /**
822
+ * Retrieves the number of columns in the selected-output buffer.
823
+ * @param id The instance id returned from @ref CreateIPhreeqc.
824
+ * @return The number of columns.
825
+ * @see GetSelectedOutputFileOn, GetSelectedOutputRowCount, GetSelectedOutputValue, SetSelectedOutputFileOn
826
+ * @par Fortran90 Interface:
827
+ * @htmlonly
828
+ * <CODE>
829
+ * <PRE>
830
+ * FUNCTION GetSelectedOutputColumnCount(ID)
831
+ * INTEGER(KIND=4), INTENT(IN) :: ID
832
+ * INTEGER(KIND=4) :: GetSelectedOutputColumnCount
833
+ * END FUNCTION GetSelectedOutputColumnCount
834
+ * </PRE>
835
+ * </CODE>
836
+ * @endhtmlonly
837
+ */
838
+ IPQ_DLL_EXPORT int GetSelectedOutputColumnCount(int id);
839
+
840
+ /**
841
+ * Retrieves the count of <B>SELECTED_OUTPUT</B> blocks that are currently defined.
842
+ * @param id The instance id returned from @ref CreateIPhreeqc.
843
+ * @return The number of <B>SELECTED_OUTPUT</B> blocks.
844
+ * @see GetCurrentSelectedOutputUserNumber, GetNthSelectedOutputUserNumber, SetCurrentSelectedOutputUserNumber
845
+ * @pre (@ref RunAccumulated, @ref RunFile, @ref RunString) must have been called and returned 0 (zero) errors.
846
+ * @par Fortran90 Interface:
847
+ * @htmlonly
848
+ * <CODE>
849
+ * <PRE>
850
+ * FUNCTION GetSelectedOutputCount(ID)
851
+ * INTEGER(KIND=4), INTENT(IN) :: ID
852
+ * INTEGER(KIND=4) :: GetSelectedOutputCount
853
+ * END FUNCTION GetSelectedOutputCount
854
+ * </PRE>
855
+ * </CODE>
856
+ * @endhtmlonly
857
+ *
858
+ * @par C Example:
859
+ * see @ref SetCurrentSelectedOutputUserNumber_c "SetCurrentSelectedOutputUserNumber"
860
+ */
861
+ IPQ_DLL_EXPORT int GetSelectedOutputCount(int id);
862
+
863
+
864
+ /**
865
+ * 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.
866
+ * The default value is <B><I>selected_n.id.out</I></B>.
867
+ * @param id The instance id returned from @ref CreateIPhreeqc.
868
+ * @return filename The name of the file to write <B>SELECTED_OUTPUT</B> output to.
869
+ * @see GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringOn, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileName, SetSelectedOutputFileOn, SetSelectedOutputStringOn
870
+ * @par Fortran90 Interface:
871
+ * @htmlonly
872
+ * <CODE>
873
+ * <PRE>
874
+ * SUBROUTINE GetSelectedOutputFileName(ID,FILENAME)
875
+ * INTEGER(KIND=4), INTENT(IN) :: ID
876
+ * CHARACTER(LEN=*), INTENT(OUT) :: FILENAME
877
+ * END SUBROUTINE GetSelectedOutputFileName
878
+ * </PRE>
879
+ * </CODE>
880
+ * @endhtmlonly
881
+ */
882
+ IPQ_DLL_EXPORT const char* GetSelectedOutputFileName(int id);
883
+
884
+
885
+ /**
886
+ * Retrieves the current selected-output file switch (see @ref SetCurrentSelectedOutputUserNumber).
887
+ * @param id The instance id returned from @ref CreateIPhreeqc.
888
+ * @return Non-zero if output is written to the selected-output (<B><I>selected_n.id.out</I></B> if unspecified) file, 0 (zero) otherwise.
889
+ * @see GetSelectedOutputColumnCount, GetSelectedOutputRowCount, GetSelectedOutputValue, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn
890
+ * @par Fortran90 Interface:
891
+ * @htmlonly
892
+ * <CODE>
893
+ * <PRE>
894
+ * FUNCTION GetSelectedOutputFileOn(ID)
895
+ * INTEGER(KIND=4), INTENT(IN) :: ID
896
+ * LOGICAL(KIND=4) :: GetSelectedOutputFileOn
897
+ * END FUNCTION GetSelectedOutputFileOn
898
+ * </PRE>
899
+ * </CODE>
900
+ * @endhtmlonly
901
+ */
902
+ IPQ_DLL_EXPORT int GetSelectedOutputFileOn(int id);
903
+
904
+
905
+ /**
906
+ * Retrieves the number of rows in the current selected-output buffer (see @ref SetCurrentSelectedOutputUserNumber).
907
+ * @param id The instance id returned from @ref CreateIPhreeqc.
908
+ * @return The number of rows.
909
+ * @see GetSelectedOutputFileOn, GetSelectedOutputColumnCount, GetSelectedOutputValue, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn
910
+ * @par Fortran90 Interface:
911
+ * @htmlonly
912
+ * <CODE>
913
+ * <PRE>
914
+ * FUNCTION GetSelectedOutputRowCount(ID)
915
+ * INTEGER(KIND=4), INTENT(IN) :: ID
916
+ * INTEGER(KIND=4) :: GetSelectedOutputRowCount
917
+ * END FUNCTION GetSelectedOutputRowCount
918
+ * </PRE>
919
+ * </CODE>
920
+ * @endhtmlonly
921
+ */
922
+ IPQ_DLL_EXPORT int GetSelectedOutputRowCount(int id);
923
+
924
+
925
+ /**
926
+ * Retrieves the string buffer containing the current <b>SELECTED_OUTPUT</b> (see @ref SetCurrentSelectedOutputUserNumber).
927
+ * @param id The instance id returned from @ref CreateIPhreeqc.
928
+ * @return A null terminated string containing <b>SELECTED_OUTPUT</b>.
929
+ * @pre @ref SetSelectedOutputStringOn must have been set to true (non-zero) in order to receive <b>SELECTED_OUTPUT</b>.
930
+ * @see GetSelectedOutputFileOn, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, GetSelectedOutputStringOn, SetSelectedOutputFileOn, SetCurrentSelectedOutputUserNumber SetSelectedOutputStringOn
931
+ * @par Fortran90 Interface:
932
+ * Not implemented. (see @ref GetSelectedOutputStringLineCount, @ref GetSelectedOutputStringLine)
933
+ *
934
+ * @anchor GetSelectedOutputString_c
935
+ * @par C Example:
936
+ * @include GetSelectedOutputString.c
937
+ */
938
+ IPQ_DLL_EXPORT const char* GetSelectedOutputString(int id);
939
+
940
+
941
+ /**
942
+ * Retrieves the given line of the current selected output string (see @ref SetCurrentSelectedOutputUserNumber).
943
+ * @param id The instance id returned from @ref CreateIPhreeqc.
944
+ * @param n The zero-based index of the line to retrieve.
945
+ * @return A null terminated string containing the given line.
946
+ * Returns an empty string if n is out of range.
947
+ * @pre @ref SetSelectedOutputStringOn must have been set to true (non-zero).
948
+ * @see GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringLineCount, GetSelectedOutputStringOn, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn, SetSelectedOutputStringOn
949
+ * @par Fortran90 Interface:
950
+ * @htmlonly
951
+ * (Note: N is one-based for the Fortran interface.)
952
+ * <CODE>
953
+ * <PRE>
954
+ * SUBROUTINE GetSelectedOutputStringLine(ID,N,LINE)
955
+ * INTEGER(KIND=4), INTENT(IN) :: ID
956
+ * INTEGER(KIND=4), INTENT(IN) :: N
957
+ * CHARACTER(LEN=*), INTENT(OUT) :: LINE
958
+ * END SUBROUTINE GetSelectedOutputStringLine
959
+ * </PRE>
960
+ * </CODE>
961
+ * @endhtmlonly
962
+ *
963
+ * @anchor GetSelectedOutputStringLine_f90
964
+ * @par Fortran90 Example:
965
+ * @include F90GetSelectedOutputStringLine.f90
966
+ */
967
+ IPQ_DLL_EXPORT const char* GetSelectedOutputStringLine(int id, int n);
968
+
969
+
970
+ /**
971
+ * Retrieves the number of lines in the current selected output string buffer (see @ref SetCurrentSelectedOutputUserNumber).
972
+ * @param id The instance id returned from @ref CreateIPhreeqc.
973
+ * @return The number of lines.
974
+ * @pre @ref SetSelectedOutputStringOn must have been set to true (non-zero).
975
+ * @see GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringLine, GetSelectedOutputStringOn, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn, SetSelectedOutputStringOn
976
+ * @par Fortran90 Interface:
977
+ * @htmlonly
978
+ * <CODE>
979
+ * <PRE>
980
+ * FUNCTION GetSelectedOutputStringLineCount(ID)
981
+ * INTEGER(KIND=4), INTENT(IN) :: ID
982
+ * INTEGER(KIND=4) :: GetSelectedOutputStringLineCount
983
+ * END FUNCTION GetSelectedOutputStringLineCount
984
+ * </PRE>
985
+ * </CODE>
986
+ * @endhtmlonly
987
+ *
988
+ * @par Fortran90 Example:
989
+ * see @ref GetSelectedOutputStringLine_f90 "GetSelectedOutputStringLine"
990
+ */
991
+ IPQ_DLL_EXPORT int GetSelectedOutputStringLineCount(int id);
992
+
993
+
994
+ /**
995
+ * Retrieves the value of the current selected output string switch (see @ref SetCurrentSelectedOutputUserNumber).
996
+ * @param id The instance id returned from @ref CreateIPhreeqc.
997
+ * @return Non-zero if output defined by the <B>SELECTED_OUTPUT</B> keyword is stored, 0 (zero) otherwise.
998
+ * @see GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn, SetSelectedOutputStringOn
999
+ * @par Fortran90 Interface:
1000
+ * @htmlonly
1001
+ * <CODE>
1002
+ * <PRE>
1003
+ * FUNCTION GetSelectedOutputStringOn(ID)
1004
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1005
+ * LOGICAL(KIND=4) :: GetSelectedOutputStringOn
1006
+ * END FUNCTION GetSelectedOutputStringOn
1007
+ * </PRE>
1008
+ * </CODE>
1009
+ * @endhtmlonly
1010
+ */
1011
+ IPQ_DLL_EXPORT int GetSelectedOutputStringOn(int id);
1012
+
1013
+
1014
+ /**
1015
+ * 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.
1016
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1017
+ * @param row The row index.
1018
+ * @param col The column index.
1019
+ * @param pVAR Pointer to the @c VAR to receive the requested data.
1020
+ * @retval IPQ_OK Success.
1021
+ * @retval IPQ_INVALIDROW The given row is out of range.
1022
+ * @retval IPQ_INVALIDCOL The given column is out of range.
1023
+ * @retval IPQ_OUTOFMEMORY Memory could not be allocated.
1024
+ * @retval IPQ_BADINSTANCE The given id is invalid.
1025
+ * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputFileOn, GetSelectedOutputColumnCount, GetSelectedOutputRowCount, GetSelectedOutputValue2, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn
1026
+ * @remarks
1027
+ * Row 0 contains the column headings to the selected_ouput.
1028
+ * @par Examples:
1029
+ * The headings will include a suffix and/or prefix in order to differentiate the
1030
+ * columns.
1031
+ * @htmlonly
1032
+ <p>
1033
+ <table border=1>
1034
+
1035
+ <TR VALIGN="top">
1036
+ <TH width=65%>
1037
+ Input
1038
+ </TH>
1039
+ <TH width=35%>
1040
+ Headings
1041
+ </TH>
1042
+ </TR>
1043
+
1044
+ <TR VALIGN="top">
1045
+ <TD width=65%>
1046
+ <CODE><PRE>
1047
+ SELECTED_OUTPUT
1048
+ -reset false
1049
+ -totals Ca Na
1050
+ </PRE></CODE>
1051
+ </TD>
1052
+ <TD width=35%>
1053
+ <CODE><PRE>
1054
+ Ca(mol/kgw) Na(mol/kgw)
1055
+ </PRE></CODE>
1056
+ </TD>
1057
+ </TR>
1058
+
1059
+ <TR VALIGN="top">
1060
+ <TD width=65%>
1061
+ <CODE><PRE>
1062
+ SELECTED_OUTPUT
1063
+ -reset false
1064
+ -molalities Fe+2 Hfo_sOZn+
1065
+ </PRE></CODE>
1066
+ </TD>
1067
+ <TD width=35%>
1068
+ <CODE><PRE>
1069
+ m_Fe+2(mol/kgw) m_Hfo_sOZn+(mol/kgw)
1070
+ </PRE></CODE>
1071
+ </TD>
1072
+ </TR>
1073
+
1074
+ <TR VALIGN="top">
1075
+ <TD width=65%>
1076
+ <CODE><PRE>
1077
+ SELECTED_OUTPUT
1078
+ -reset false
1079
+ -activities H+ Ca+2
1080
+ </PRE></CODE>
1081
+ </TD>
1082
+ <TD width=35%>
1083
+ <CODE><PRE>
1084
+ la_H+ la_Ca+2
1085
+ </PRE></CODE>
1086
+ </TD>
1087
+ </TR>
1088
+
1089
+ <TR VALIGN="top">
1090
+ <TD width=65%>
1091
+ <CODE><PRE>
1092
+ SELECTED_OUTPUT
1093
+ -reset false
1094
+ -equilibrium_phases Calcite Dolomite
1095
+ </PRE></CODE>
1096
+ </TD>
1097
+ <TD width=35%>
1098
+ <CODE><PRE>
1099
+ Calcite d_Calcite Dolomite d_Dolomite
1100
+ </PRE></CODE>
1101
+ </TD>
1102
+ </TR>
1103
+
1104
+ <TR VALIGN="top">
1105
+ <TD width=65%>
1106
+ <CODE><PRE>
1107
+ SELECTED_OUTPUT
1108
+ -reset false
1109
+ -saturation_indices CO2(g) Siderite
1110
+ </PRE></CODE>
1111
+ </TD>
1112
+ <TD width=35%>
1113
+ <CODE><PRE>
1114
+ si_CO2(g) si_Siderite
1115
+ </PRE></CODE>
1116
+ </TD>
1117
+ </TR>
1118
+
1119
+ <TR VALIGN="top">
1120
+ <TD width=65%>
1121
+ <CODE><PRE>
1122
+ SELECTED_OUTPUT
1123
+ -reset false
1124
+ -gases CO2(g) N2(g)
1125
+ </PRE></CODE>
1126
+ </TD>
1127
+ <TD width=35%>
1128
+ <CODE><PRE>
1129
+ pressure "total mol" volume g_CO2(g) g_N2(g)
1130
+ </PRE></CODE>
1131
+ </TD>
1132
+ </TR>
1133
+
1134
+ <TR VALIGN="top">
1135
+ <TD width=65%>
1136
+ <CODE><PRE>
1137
+ SELECTED_OUTPUT
1138
+ -reset false
1139
+ -kinetic_reactants CH2O Pyrite
1140
+ </PRE></CODE>
1141
+ </TD>
1142
+ <TD width=35%>
1143
+ <CODE><PRE>
1144
+ k_CH2O dk_CH2O k_Pyrite dk_Pyrite
1145
+ </PRE></CODE>
1146
+ </TD>
1147
+ </TR>
1148
+
1149
+ <TR VALIGN="top">
1150
+ <TD width=65%>
1151
+ <CODE><PRE>
1152
+ SELECTED_OUTPUT
1153
+ -reset false
1154
+ -solid_solutions CaSO4 SrSO4
1155
+ </PRE></CODE>
1156
+ </TD>
1157
+ <TD width=35%>
1158
+ <CODE><PRE>
1159
+ s_CaSO4 s_SrSO4
1160
+ </PRE></CODE>
1161
+ </TD>
1162
+ </TR>
1163
+
1164
+ </table>
1165
+ * @endhtmlonly
1166
+ * @par Fortran90 Interface:
1167
+ * ROW is 1-based for the Fortran interface except that the column headings are stored in ROW=0.
1168
+ * COL is 1-based for the Fortran interface.
1169
+ * @htmlonly
1170
+ * <CODE>
1171
+ * <PRE>
1172
+ * FUNCTION GetSelectedOutputValue(ID,ROW,COL,VTYPE,DVALUE,SVALUE,SLENGTH)
1173
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1174
+ * INTEGER(KIND=4), INTENT(IN) :: ROW
1175
+ * INTEGER(KIND=4), INTENT(IN) :: COL
1176
+ * INTEGER(KIND=4), INTENT(OUT) :: VTYPE
1177
+ * REAL(KIND=8), INTENT(OUT) :: DVALUE
1178
+ * CHARACTER(LEN=*), INTENT(OUT) :: SVALUE
1179
+ * INTEGER(KIND=4), INTENT(OUT), OPTIONAL :: SLENGTH
1180
+ * INTEGER(KIND=4) :: GetSelectedOutputValue
1181
+ * END FUNCTION GetSelectedOutputValue
1182
+ * </PRE>
1183
+ * </CODE>
1184
+ * @endhtmlonly
1185
+ * @param ID The instance id returned from @ref CreateIPhreeqc.
1186
+ * @param ROW The row index.
1187
+ * @param COL The column index.
1188
+ * @param VTYPE Returns the variable type. See @ref VAR_TYPE.
1189
+ * @param DVALUE Returns the numeric value when (VTYPE=@ref TT_DOUBLE) or (VTYPE=@ref TT_LONG).
1190
+ * @param SVALUE Returns 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.
1191
+ * @param SLENGTH Optional, if the length of SVALUE isn't sufficient to hold the entire string value, returns the required length, otherwise returns 0 (zero).
1192
+ * @anchor GetSelectedOutputValue_c
1193
+ * @par C Example:
1194
+ * @include GetSelectedOutputValue.c
1195
+ *
1196
+ * @anchor F90GetSelectedOutputValue_f90
1197
+ * @par Fortran90 Example:
1198
+ * @include F90GetSelectedOutputValue.f90
1199
+ */
1200
+ IPQ_DLL_EXPORT IPQ_RESULT GetSelectedOutputValue(int id, int row, int col, VAR* pVAR);
1201
+
1202
+
1203
+ /**
1204
+ * Returns the associated data with the specified row and column. The current <b>SELECTED_OUTPUT</b> block is set using the @ref SetCurrentSelectedOutputUserNumber method.
1205
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1206
+ * @param row The row index.
1207
+ * @param col The column index.
1208
+ * @param vtype Receives the variable type. See @ref VAR_TYPE.
1209
+ * @param dvalue Receives the numeric value when (VTYPE=@ref TT_DOUBLE) or (VTYPE=@ref TT_LONG).
1210
+ * @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.
1211
+ * @param svalue_length The length of the svalue buffer.
1212
+ * @retval IPQ_OK Success.
1213
+ * @retval IPQ_INVALIDROW The given row is out of range.
1214
+ * @retval IPQ_INVALIDCOL The given column is out of range.
1215
+ * @retval IPQ_OUTOFMEMORY Memory could not be allocated.
1216
+ * @retval IPQ_BADINSTANCE The given id is invalid.
1217
+ * @see GetCurrentSelectedOutputUserNumber, GetSelectedOutputFileOn, GetSelectedOutputColumnCount, GetSelectedOutputRowCount, GetSelectedOutputValue, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn
1218
+ * @remarks
1219
+ * Row 0 contains the column headings to the selected_ouput.
1220
+ * @par Examples:
1221
+ * The headings will include a suffix and/or prefix in order to differentiate the
1222
+ * columns.
1223
+ * @htmlonly
1224
+ <p>
1225
+ <table border=1>
1226
+
1227
+ <TR VALIGN="top">
1228
+ <TH width=65%>
1229
+ Input
1230
+ </TH>
1231
+ <TH width=35%>
1232
+ Headings
1233
+ </TH>
1234
+ </TR>
1235
+
1236
+ <TR VALIGN="top">
1237
+ <TD width=65%>
1238
+ <CODE><PRE>
1239
+ SELECTED_OUTPUT
1240
+ -reset false
1241
+ -totals Ca Na
1242
+ </PRE></CODE>
1243
+ </TD>
1244
+ <TD width=35%>
1245
+ <CODE><PRE>
1246
+ Ca(mol/kgw) Na(mol/kgw)
1247
+ </PRE></CODE>
1248
+ </TD>
1249
+ </TR>
1250
+
1251
+ <TR VALIGN="top">
1252
+ <TD width=65%>
1253
+ <CODE><PRE>
1254
+ SELECTED_OUTPUT
1255
+ -reset false
1256
+ -molalities Fe+2 Hfo_sOZn+
1257
+ </PRE></CODE>
1258
+ </TD>
1259
+ <TD width=35%>
1260
+ <CODE><PRE>
1261
+ m_Fe+2(mol/kgw) m_Hfo_sOZn+(mol/kgw)
1262
+ </PRE></CODE>
1263
+ </TD>
1264
+ </TR>
1265
+
1266
+ <TR VALIGN="top">
1267
+ <TD width=65%>
1268
+ <CODE><PRE>
1269
+ SELECTED_OUTPUT
1270
+ -reset false
1271
+ -activities H+ Ca+2
1272
+ </PRE></CODE>
1273
+ </TD>
1274
+ <TD width=35%>
1275
+ <CODE><PRE>
1276
+ la_H+ la_Ca+2
1277
+ </PRE></CODE>
1278
+ </TD>
1279
+ </TR>
1280
+
1281
+ <TR VALIGN="top">
1282
+ <TD width=65%>
1283
+ <CODE><PRE>
1284
+ SELECTED_OUTPUT
1285
+ -reset false
1286
+ -equilibrium_phases Calcite Dolomite
1287
+ </PRE></CODE>
1288
+ </TD>
1289
+ <TD width=35%>
1290
+ <CODE><PRE>
1291
+ Calcite d_Calcite Dolomite d_Dolomite
1292
+ </PRE></CODE>
1293
+ </TD>
1294
+ </TR>
1295
+
1296
+ <TR VALIGN="top">
1297
+ <TD width=65%>
1298
+ <CODE><PRE>
1299
+ SELECTED_OUTPUT
1300
+ -reset false
1301
+ -saturation_indices CO2(g) Siderite
1302
+ </PRE></CODE>
1303
+ </TD>
1304
+ <TD width=35%>
1305
+ <CODE><PRE>
1306
+ si_CO2(g) si_Siderite
1307
+ </PRE></CODE>
1308
+ </TD>
1309
+ </TR>
1310
+
1311
+ <TR VALIGN="top">
1312
+ <TD width=65%>
1313
+ <CODE><PRE>
1314
+ SELECTED_OUTPUT
1315
+ -reset false
1316
+ -gases CO2(g) N2(g)
1317
+ </PRE></CODE>
1318
+ </TD>
1319
+ <TD width=35%>
1320
+ <CODE><PRE>
1321
+ pressure "total mol" volume g_CO2(g) g_N2(g)
1322
+ </PRE></CODE>
1323
+ </TD>
1324
+ </TR>
1325
+
1326
+ <TR VALIGN="top">
1327
+ <TD width=65%>
1328
+ <CODE><PRE>
1329
+ SELECTED_OUTPUT
1330
+ -reset false
1331
+ -kinetic_reactants CH2O Pyrite
1332
+ </PRE></CODE>
1333
+ </TD>
1334
+ <TD width=35%>
1335
+ <CODE><PRE>
1336
+ k_CH2O dk_CH2O k_Pyrite dk_Pyrite
1337
+ </PRE></CODE>
1338
+ </TD>
1339
+ </TR>
1340
+
1341
+ <TR VALIGN="top">
1342
+ <TD width=65%>
1343
+ <CODE><PRE>
1344
+ SELECTED_OUTPUT
1345
+ -reset false
1346
+ -solid_solutions CaSO4 SrSO4
1347
+ </PRE></CODE>
1348
+ </TD>
1349
+ <TD width=35%>
1350
+ <CODE><PRE>
1351
+ s_CaSO4 s_SrSO4
1352
+ </PRE></CODE>
1353
+ </TD>
1354
+ </TR>
1355
+
1356
+ </table>
1357
+ * @endhtmlonly
1358
+ * @anchor GetSelectedOutputValue2_c
1359
+ * @par C Example:
1360
+ * @include GetSelectedOutputValue2.c
1361
+ */
1362
+ IPQ_DLL_EXPORT IPQ_RESULT GetSelectedOutputValue2(int id, int row, int col, int *vtype, double* dvalue, char* svalue, unsigned int svalue_length);
1363
+
1364
+
1365
+ /**
1366
+ * Retrieves the string buffer containing the version in the form of X.X.X-XXXX.
1367
+ * @return A null terminated string containing the IPhreeqc version number.
1368
+ * @par Fortran90 Interface:
1369
+ * @htmlonly
1370
+ * <CODE>
1371
+ * <PRE>
1372
+ * SUBROUTINE GetVersionString(VERSION)
1373
+ * CHARACTER(LEN=*), INTENT(OUT) :: VERSION
1374
+ * END SUBROUTINE GetVersionString
1375
+ * </PRE>
1376
+ * </CODE>
1377
+ * @endhtmlonly
1378
+ *
1379
+ * @par C Example:
1380
+ * @include GetVersionString.c
1381
+ *
1382
+ * @par Fortran90 Example:
1383
+ * @include F90GetVersionString.f90
1384
+ */
1385
+ IPQ_DLL_EXPORT const char* GetVersionString(void);
1386
+
1387
+
1388
+ /**
1389
+ * Retrieves the warning messages from the last call to (@ref RunAccumulated, @ref RunFile, @ref RunString, @ref LoadDatabase, or @ref LoadDatabaseString).
1390
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1391
+ * @return A null terminated string containing warning messages.
1392
+ * @see GetWarningStringLine, GetWarningStringLineCount, OutputWarningString
1393
+ * @par Fortran90 Interface:
1394
+ * Not implemented. (see @ref GetWarningStringLineCount, @ref GetWarningStringLine, @ref OutputWarningString)
1395
+ */
1396
+ IPQ_DLL_EXPORT const char* GetWarningString(int id);
1397
+
1398
+
1399
+ /**
1400
+ * Retrieves the given warning line.
1401
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1402
+ * @param n The zero-based index of the line to retrieve.
1403
+ * @return A null terminated string containing the given warning line message.
1404
+ * @see GetWarningString, GetWarningStringLineCount, OutputWarningString
1405
+ * @par Fortran90 Interface:
1406
+ * (Note: N is one-based for the Fortran interface.)
1407
+ * @htmlonly
1408
+ * <CODE>
1409
+ * <PRE>
1410
+ * SUBROUTINE GetWarningStringLine(ID,N,LINE)
1411
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1412
+ * LOGICAL(KIND=4), INTENT(IN) :: N
1413
+ * CHARACTER(LEN=*), INTENT(OUT) :: LINE
1414
+ * END SUBROUTINE GetWarningStringLine
1415
+ * </PRE>
1416
+ * </CODE>
1417
+ * @endhtmlonly
1418
+ */
1419
+ IPQ_DLL_EXPORT const char* GetWarningStringLine(int id, int n);
1420
+
1421
+
1422
+ /**
1423
+ * Retrieves the number of lines in the current warning string buffer.
1424
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1425
+ * @return The number of lines.
1426
+ * @see GetWarningString, GetWarningStringLine, OutputWarningString
1427
+ * @par Fortran90 Interface:
1428
+ * @htmlonly
1429
+ * <CODE>
1430
+ * <PRE>
1431
+ * FUNCTION GetWarningStringLineCount(ID)
1432
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1433
+ * INTEGER(KIND=4) :: GetWarningStringLineCount
1434
+ * END FUNCTION GetWarningStringLineCount
1435
+ * </PRE>
1436
+ * </CODE>
1437
+ * @endhtmlonly
1438
+ */
1439
+ IPQ_DLL_EXPORT int GetWarningStringLineCount(int id);
1440
+
1441
+
1442
+ /**
1443
+ * Load the specified database file into phreeqc.
1444
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1445
+ * @param filename The name of the phreeqc database to load.
1446
+ * The full path (or relative path with respect to the working directory)
1447
+ * must be given if the file is not in the current working directory.
1448
+ * @return The number of errors encountered.
1449
+ * @see LoadDatabaseString
1450
+ * @remarks
1451
+ * All previous definitions are cleared.
1452
+ * @par Fortran90 Interface:
1453
+ * @htmlonly
1454
+ * <CODE>
1455
+ * <PRE>
1456
+ * FUNCTION LoadDatabase(ID,FILENAME)
1457
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1458
+ * CHARACTER(LEN=*), INTENT(IN) :: FILENAME
1459
+ * INTEGER(KIND=4) :: LoadDatabase
1460
+ * END FUNCTION LoadDatabase
1461
+ * </PRE>
1462
+ * </CODE>
1463
+ * @endhtmlonly
1464
+ *
1465
+ * @par C Example:
1466
+ * see @ref CreateIPhreeqc_c "CreateIPhreeqc"
1467
+ *
1468
+ * @par Fortran90 Example:
1469
+ * see @ref CreateIPhreeqc_f90 "CreateIPhreeqc"
1470
+ */
1471
+ IPQ_DLL_EXPORT int LoadDatabase(int id, const char* filename);
1472
+
1473
+
1474
+ /**
1475
+ * Load the specified string as a database into phreeqc.
1476
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1477
+ * @param input String containing data to be used as the phreeqc database.
1478
+ * @return The number of errors encountered.
1479
+ * @see LoadDatabase
1480
+ * @remarks
1481
+ * All previous definitions are cleared.
1482
+ * @par Fortran90 Interface:
1483
+ * @htmlonly
1484
+ * <CODE>
1485
+ * <PRE>
1486
+ * FUNCTION LoadDatabaseString(ID,INPUT)
1487
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1488
+ * CHARACTER(LEN=*), INTENT(IN) :: INPUT
1489
+ * INTEGER(KIND=4) :: LoadDatabaseString
1490
+ * END FUNCTION LoadDatabaseString
1491
+ * </PRE>
1492
+ * </CODE>
1493
+ * @endhtmlonly
1494
+ */
1495
+ IPQ_DLL_EXPORT int LoadDatabaseString(int id, const char* input);
1496
+
1497
+
1498
+ /**
1499
+ * Output the accumulated input buffer to stdout. This input buffer can be run with a call to @ref RunAccumulated.
1500
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1501
+ * @see AccumulateLine, ClearAccumulatedLines, RunAccumulated
1502
+ * @par Fortran90 Interface:
1503
+ * @htmlonly
1504
+ * <CODE>
1505
+ * <PRE>
1506
+ * SUBROUTINE OutputAccumulatedLines(ID)
1507
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1508
+ * END SUBROUTINE OutputAccumulatedLines
1509
+ * </PRE>
1510
+ * </CODE>
1511
+ * @endhtmlonly
1512
+ *
1513
+ * @par Fortran90 Example:
1514
+ * see @ref GetDumpStringLine_f90 "GetDumpStringLine"
1515
+ */
1516
+ IPQ_DLL_EXPORT void OutputAccumulatedLines(int id);
1517
+
1518
+
1519
+ /**
1520
+ * Output the error messages normally stored in the <B><I>phreeqc.id.err</I></B> file to stdout.
1521
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1522
+ * @see GetErrorFileOn, GetErrorStringLine, GetErrorStringLineCount, SetErrorFileOn
1523
+ * @par Fortran90 Interface:
1524
+ * @htmlonly
1525
+ * <CODE>
1526
+ * <PRE>
1527
+ * SUBROUTINE OutputErrorString(ID)
1528
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1529
+ * END SUBROUTINE OutputErrorString
1530
+ * </PRE>
1531
+ * </CODE>
1532
+ * @endhtmlonly
1533
+ *
1534
+ * @par C Example:
1535
+ * see @ref GetComponent_c "GetComponent"
1536
+ *
1537
+ * @par Fortran90 Example:
1538
+ * see @ref GetDumpStringLine_f90 "GetDumpStringLine"
1539
+ */
1540
+ IPQ_DLL_EXPORT void OutputErrorString(int id);
1541
+
1542
+
1543
+ /**
1544
+ * Output the warning messages to stdout.
1545
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1546
+ * @see GetWarningString, GetWarningStringLine, GetWarningStringLineCount
1547
+ * @par Fortran90 Interface:
1548
+ * @htmlonly
1549
+ * <CODE>
1550
+ * <PRE>
1551
+ * SUBROUTINE OutputWarningString(ID)
1552
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1553
+ * END SUBROUTINE OutputWarningString
1554
+ * </PRE>
1555
+ * </CODE>
1556
+ * @endhtmlonly
1557
+ */
1558
+ IPQ_DLL_EXPORT void OutputWarningString(int id);
1559
+
1560
+
1561
+ /**
1562
+ * Runs the input buffer as defined by calls to @ref AccumulateLine.
1563
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1564
+ * @return The number of errors encountered.
1565
+ * @see AccumulateLine, ClearAccumulatedLines, OutputAccumulatedLines, RunFile, RunString
1566
+ * @remarks
1567
+ * The accumulated input is cleared at the next call to @ref AccumulateLine.
1568
+ * @pre @ref LoadDatabase/@ref LoadDatabaseString must have been called and returned 0 (zero) errors.
1569
+ * @par Fortran90 Interface:
1570
+ * @htmlonly
1571
+ * <CODE>
1572
+ * <PRE>
1573
+ * FUNCTION RunAccumulated(ID)
1574
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1575
+ * INTEGER(KIND=4) :: RunAccumulated
1576
+ * END FUNCTION RunAccumulated
1577
+ * </PRE>
1578
+ * </CODE>
1579
+ * @endhtmlonly
1580
+ *
1581
+ * @par Fortran90 Example:
1582
+ * see @ref GetDumpStringLine_f90 "GetDumpStringLine"
1583
+ */
1584
+ IPQ_DLL_EXPORT int RunAccumulated(int id);
1585
+
1586
+
1587
+ /**
1588
+ * Runs the specified phreeqc input file.
1589
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1590
+ * @param filename The name of the phreeqc input file to run.
1591
+ * @return The number of errors encountered during the run.
1592
+ * @see RunAccumulated, RunString
1593
+ * @pre (@ref LoadDatabase, @ref LoadDatabaseString) must have been called and returned 0 (zero) errors.
1594
+ * @par Fortran90 Interface:
1595
+ * @htmlonly
1596
+ * <CODE>
1597
+ * <PRE>
1598
+ * FUNCTION RunFile(ID,FNAME)
1599
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1600
+ * CHARACTER(LEN=*), INTENT(IN) :: FNAME
1601
+ * INTEGER(KIND=4) :: RunFile
1602
+ * END FUNCTION RunFile
1603
+ * </PRE>
1604
+ * </CODE>
1605
+ * @endhtmlonly
1606
+ *
1607
+ * @par C Example:
1608
+ * see @ref CreateIPhreeqc_c "CreateIPhreeqc"
1609
+ *
1610
+ * @par Fortran90 Example:
1611
+ * see @ref CreateIPhreeqc_f90 "CreateIPhreeqc"
1612
+ */
1613
+ IPQ_DLL_EXPORT int RunFile(int id, const char* filename);
1614
+
1615
+
1616
+ /**
1617
+ * Runs the specified string as input to phreeqc.
1618
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1619
+ * @param input String containing phreeqc input.
1620
+ * @return The number of errors encountered during the run.
1621
+ * @see RunAccumulated, RunFile
1622
+ * @pre (@ref LoadDatabase, @ref LoadDatabaseString) must have been called and returned 0 (zero) errors.
1623
+ * @par Fortran90 Interface:
1624
+ * @htmlonly
1625
+ * <CODE>
1626
+ * <PRE>
1627
+ * FUNCTION RunString(ID,INPUT)
1628
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1629
+ * CHARACTER(LEN=*), INTENT(IN) :: INPUT
1630
+ * INTEGER(KIND=4) :: RunString
1631
+ * END FUNCTION RunString
1632
+ * </PRE>
1633
+ * </CODE>
1634
+ * @endhtmlonly
1635
+ *
1636
+ * @par C Example:
1637
+ * see @ref GetDumpString_c "GetDumpString"
1638
+ *
1639
+ */
1640
+ IPQ_DLL_EXPORT int RunString(int id, const char* input);
1641
+
1642
+ /**
1643
+ * Sets a C callback function for Basic programs. The syntax for the Basic command is
1644
+ * 10 result = CALLBACK(x1, x2, string$)
1645
+ * The syntax for the C function is
1646
+ * double my_callback(double x1, double x2, const char * string)
1647
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1648
+ * @param fcn The name of a user-defined function.
1649
+ * @param cookie1 A user defined value to be passed to the callback function.
1650
+ * @retval IPQ_OK Success.
1651
+ * @retval IPQ_BADINSTANCE The given id is invalid.
1652
+ * @par Fortran90 Interface:
1653
+ * see @ref SetBasicFortranCallback
1654
+ * @par C Example:
1655
+ * @include SetBasicCallback.c
1656
+ */
1657
+ IPQ_DLL_EXPORT IPQ_RESULT SetBasicCallback(int id, double (*fcn)(double x1, double x2, const char *str, void *cookie), void *cookie1);
1658
+
1659
+ /**
1660
+ * Sets a Fortran callback function for Basic programs. The syntax for the Basic command is
1661
+ * 10 result = CALLBACK(x1, x2, string$)
1662
+ * The syntax for the Fortran function is
1663
+ * REAL(KIND=C_DOUBLE) my_callback(x1, x2, string), where x1 and x2 are REAL(KIND=C_DOUBLE) and string is a CHARACTER(KIND=C_CHAR).
1664
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1665
+ * @param fcn The name of a REAL(KIND=C_DOUBLE) Fortran function with three arguments (two REAL(KIND=C_DOUBLE), and one CHARACTER(KIND=C_CHAR)).
1666
+ * @retval IPQ_OK Success.
1667
+ * @retval IPQ_BADINSTANCE The given id is invalid.
1668
+ * @par Fortran90 Interface:
1669
+ * @htmlonly
1670
+ * <CODE>
1671
+ * <PRE>
1672
+ * !
1673
+ * ! if using include files (IPhreeqc.f.inc or IPhreeqc.f90.inc)
1674
+ * !
1675
+ * #ifdef IPHREEQC_NO_FORTRAN_MODULE
1676
+ * FUNCTION SetBasicFortranCallback(ID,FCN)
1677
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1678
+ * INTERFACE
1679
+ * real(kind=8) FUNCTION FCN(x1, x2, str)
1680
+ * real(kind=8), INTENT(in) :: x1
1681
+ * real(kind=8), INTENT(in) :: x2
1682
+ * CHARACTER(*), INTENT(in) :: str
1683
+ * END FUNCTION
1684
+ * END INTERFACE
1685
+ * INTEGER(KIND=4) :: SetBasicFortranCallback
1686
+ * END FUNCTION SetBasicFortranCallback
1687
+ * #else
1688
+ * !
1689
+ * ! if using the fortran module (USE IPhreeqc)
1690
+ * ! must also add IPhreeqc_interface.F90 to your project
1691
+ * !
1692
+ * FUNCTION SetBasicFortranCallback(ID,FCN)
1693
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1694
+ * INTERFACE
1695
+ * REAL(KIND=C_DOUBLE) FUNCTION fcn(x1, x2, str, l) BIND(C)
1696
+ * USE ISO_C_BINDING
1697
+ * IMPLICIT none
1698
+ * REAL(KIND=C_DOUBLE), INTENT(in) :: x1, x2
1699
+ * CHARACTER(KIND=C_CHAR), INTENT(in) :: str(*)
1700
+ * INTEGER(KIND=C_INT), INTENT(in), VALUE :: l
1701
+ * END FUNCTION fcn
1702
+ * END INTERFACE
1703
+ * END FUNCTION SetBasicFortranCallback
1704
+ * #endif
1705
+ * </PRE>
1706
+ * </CODE>
1707
+ * @endhtmlonly
1708
+ * @par Fortran90 Example:
1709
+ * @include F90SetBasicFortranCallback.f90
1710
+ * @par File ic :
1711
+ * @include ic
1712
+ */
1713
+ #ifdef IPHREEQC_NO_FORTRAN_MODULE
1714
+ IPQ_DLL_EXPORT IPQ_RESULT SetBasicFortranCallback(int id, double (*fcn)(double *x1, double *x2, const char *str, size_t l));
1715
+ #else
1716
+ IPQ_DLL_EXPORT IPQ_RESULT SetBasicFortranCallback(int id, double (*fcn)(double *x1, double *x2, const char *str, int l));
1717
+ #endif
1718
+
1719
+
1720
+ /**
1721
+ * Sets the current <B>SELECTED_OUTPUT</B> user number for use in subsequent calls to (@ref GetSelectedOutputColumnCount,
1722
+ * @ref GetSelectedOutputFileName, @ref GetSelectedOutputRowCount, @ref GetSelectedOutputString, @ref GetSelectedOutputStringLine,
1723
+ * @ref GetSelectedOutputStringLineCount, @ref GetSelectedOutputValue, @ref GetSelectedOutputValue2) routines.
1724
+ * The initial setting after calling @ref CreateIPhreeqc is 1.
1725
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1726
+ * @param n The user number specified in the <B>SELECTED_OUTPUT</B> block.
1727
+ * @retval IPQ_OK Success.
1728
+ * @retval IPQ_BADINSTANCE The given id is invalid.
1729
+ * @retval IPQ_INVALIDARG The given user number is invalid.
1730
+ * @see GetSelectedOutputColumnCount, GetSelectedOutputFileName, GetSelectedOutputRowCount, GetSelectedOutputString, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, GetSelectedOutputValue
1731
+ * @par Fortran90 Interface:
1732
+ * @htmlonly
1733
+ * <CODE>
1734
+ * <PRE>
1735
+ * FUNCTION SetCurrentSelectedOutputUserNumber(ID,N)
1736
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1737
+ * INTEGER(KIND=4), INTENT(IN) :: N
1738
+ * INTEGER(KIND=4) :: SetCurrentSelectedOutputUserNumber
1739
+ * END FUNCTION SetCurrentSelectedOutputUserNumber
1740
+ * </PRE>
1741
+ * </CODE>
1742
+ * @endhtmlonly
1743
+ *
1744
+ * @anchor SetCurrentSelectedOutputUserNumber_c
1745
+ * @par C Example:
1746
+ * @include SetCurrentSelectedOutputUserNumber.c
1747
+ * @par File multi_punch :
1748
+ * @include multi_punch
1749
+ */
1750
+ IPQ_DLL_EXPORT IPQ_RESULT SetCurrentSelectedOutputUserNumber(int id, int n);
1751
+
1752
+ /**
1753
+ * Sets the name of the dump file. This file name is used if not specified within <B>DUMP</B> input.
1754
+ * The default value is <B><I>dump.id.out</I></B>.
1755
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1756
+ * @param filename The name of the file to write <B>DUMP</B> output to.
1757
+ * @retval IPQ_OK Success.
1758
+ * @retval IPQ_BADINSTANCE The given id is invalid.
1759
+ * @see GetDumpFileName, GetDumpFileOn, GetDumpString, GetDumpStringOn, GetDumpStringLine, GetDumpStringLineCount, SetDumpFileOn, SetDumpStringOn
1760
+ * @par Fortran90 Interface:
1761
+ * @htmlonly
1762
+ * <CODE>
1763
+ * <PRE>
1764
+ * FUNCTION SetDumpFileName(ID,FILENAME)
1765
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1766
+ * CHARACTER(LEN=*), INTENT(OUT) :: FILENAME
1767
+ * INTEGER(KIND=4) :: SetDumpFileName
1768
+ * END FUNCTION SetDumpFileName
1769
+ * </PRE>
1770
+ * </CODE>
1771
+ * @endhtmlonly
1772
+ */
1773
+ IPQ_DLL_EXPORT IPQ_RESULT SetDumpFileName(int id, const char* filename);
1774
+
1775
+
1776
+ /**
1777
+ * Sets the dump file switch on or off. This switch controls whether or not phreeqc writes to the dump file.
1778
+ * The initial setting after calling @ref CreateIPhreeqc is off.
1779
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1780
+ * @param dump_on If non-zero, turns on output to the <B>DUMP</B> (<B><I>dump.id.out</I></B> if unspecified) file;
1781
+ * if zero, turns off output to the <B>DUMP</B> file.
1782
+ * @retval IPQ_OK Success.
1783
+ * @retval IPQ_BADINSTANCE The given id is invalid.
1784
+ * @see GetDumpFileOn, GetDumpString, GetDumpStringLine, GetDumpStringOn, GetDumpStringLineCount, SetDumpStringOn
1785
+ * @par Fortran90 Interface:
1786
+ * @htmlonly
1787
+ * <CODE>
1788
+ * <PRE>
1789
+ * FUNCTION SetDumpFileOn(ID,DUMP_ON)
1790
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1791
+ * LOGICAL(KIND=4), INTENT(IN) :: DUMP_ON
1792
+ * INTEGER(KIND=4) :: SetDumpFileOn
1793
+ * END FUNCTION SetDumpFileOn
1794
+ * </PRE>
1795
+ * </CODE>
1796
+ * @endhtmlonly
1797
+ */
1798
+ IPQ_DLL_EXPORT IPQ_RESULT SetDumpFileOn(int id, int dump_on);
1799
+
1800
+
1801
+ /**
1802
+ * Sets the dump string switch on or off. This switch controls whether or not the data normally sent
1803
+ * to the dump file are stored in a buffer for retrieval. The initial setting after calling
1804
+ * @ref CreateIPhreeqc is off.
1805
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1806
+ * @param dump_string_on If non-zero, captures the output defined by the <B>DUMP</B> keyword into a string buffer;
1807
+ * if zero, output defined by the <B>DUMP</B> keyword is not captured to a string buffer.
1808
+ * @retval IPQ_OK Success.
1809
+ * @retval IPQ_BADINSTANCE The given id is invalid.
1810
+ * @see GetDumpFileOn, GetDumpStringOn, GetDumpString, GetDumpStringLine, GetDumpStringLineCount, SetDumpFileOn
1811
+ * @par Fortran90 Interface:
1812
+ * @htmlonly
1813
+ * <CODE>
1814
+ * <PRE>
1815
+ * FUNCTION SetDumpStringOn(ID,DUMP_STRING_ON)
1816
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1817
+ * LOGICAL(KIND=4), INTENT(IN) :: DUMP_STRING_ON
1818
+ * INTEGER(KIND=4) :: SetDumpStringOn
1819
+ * END FUNCTION SetDumpStringOn
1820
+ * </PRE>
1821
+ * </CODE>
1822
+ * @endhtmlonly
1823
+ *
1824
+ * @par C Example:
1825
+ * see @ref GetDumpString_c "GetDumpString"
1826
+ *
1827
+ * @par Fortran90 Example:
1828
+ * see @ref GetDumpStringLine_f90 "GetDumpStringLine"
1829
+ */
1830
+ IPQ_DLL_EXPORT IPQ_RESULT SetDumpStringOn(int id, int dump_string_on);
1831
+
1832
+ /**
1833
+ * Sets the name of the error file. The default value is <B><I>phreeqc.id.err</I></B>.
1834
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1835
+ * @param filename The name of the error file.
1836
+ * @retval IPQ_OK Success.
1837
+ * @retval IPQ_BADINSTANCE The given id is invalid.
1838
+ * @see GetErrorFileName, GetErrorFileOn, GetErrorString, GetErrorStringOn, GetErrorStringLine, GetErrorStringLineCount, SetErrorFileOn, SetErrorStringOn
1839
+ * @par Fortran90 Interface:
1840
+ * @htmlonly
1841
+ * <CODE>
1842
+ * <PRE>
1843
+ * FUNCTION SetErrorFileName(ID,FILENAME)
1844
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1845
+ * CHARACTER(LEN=*), INTENT(OUT) :: FILENAME
1846
+ * INTEGER(KIND=4) :: SetErrorFileName
1847
+ * END FUNCTION SetErrorFileName
1848
+ * </PRE>
1849
+ * </CODE>
1850
+ * @endhtmlonly
1851
+ */
1852
+ IPQ_DLL_EXPORT IPQ_RESULT SetErrorFileName(int id, const char* filename);
1853
+
1854
+ /**
1855
+ * Sets the error file switch on or off. This switch controls whether or not
1856
+ * error messages are written to the <B><I>phreeqc.id.err</I></B> file. The initial setting after calling
1857
+ * @ref CreateIPhreeqc is off.
1858
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1859
+ * @param error_on If non-zero, writes errors to the error file; if zero, no errors are written to the error file.
1860
+ * @retval IPQ_OK Success.
1861
+ * @retval IPQ_BADINSTANCE The given id is invalid.
1862
+ * @see GetErrorFileOn, GetErrorStringLine, GetErrorStringLineCount, OutputErrorString
1863
+ * @par Fortran90 Interface:
1864
+ * @htmlonly
1865
+ * <CODE>
1866
+ * <PRE>
1867
+ * FUNCTION SetErrorFileOn(ID,ERR_ON)
1868
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1869
+ * LOGICAL(KIND=4), INTENT(IN) :: ERR_ON
1870
+ * INTEGER(KIND=4) :: SetErrorFileOn
1871
+ * END FUNCTION SetErrorFileOn
1872
+ * </PRE>
1873
+ * </CODE>
1874
+ * @endhtmlonly
1875
+ */
1876
+ IPQ_DLL_EXPORT IPQ_RESULT SetErrorFileOn(int id, int error_on);
1877
+
1878
+ /**
1879
+ * Sets the error switch on or off. This switch controls whether or not
1880
+ * error messages are generated and displayed. The initial setting after calling
1881
+ * @ref CreateIPhreeqc is on.
1882
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1883
+ * @param error_on If non-zero, writes errors to the error file and error string; if zero, no errors are written to the error file or stored in the error string.
1884
+ * @retval IPQ_OK Success.
1885
+ * @retval IPQ_BADINSTANCE The given id is invalid.
1886
+ * @see GetErrorOn, GetErrorStringLine, GetErrorStringLineCount, OutputErrorString
1887
+ * @par Fortran90 Interface:
1888
+ * @htmlonly
1889
+ * <CODE>
1890
+ * <PRE>
1891
+ * FUNCTION SetErrorOn(ID,ERR_ON)
1892
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1893
+ * LOGICAL(KIND=4), INTENT(IN) :: ERR_ON
1894
+ * INTEGER(KIND=4) :: SetErrorOn
1895
+ * END FUNCTION SetErrorOn
1896
+ * </PRE>
1897
+ * </CODE>
1898
+ * @endhtmlonly
1899
+ */
1900
+ IPQ_DLL_EXPORT IPQ_RESULT SetErrorOn(int id, int error_on);
1901
+
1902
+
1903
+ /**
1904
+ * Sets the error string switch on or off. This switch controls whether or not the data normally sent
1905
+ * to the error file are stored in a buffer for retrieval. The initial setting after calling
1906
+ * @ref CreateIPhreeqc is on.
1907
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1908
+ * @param error_string_on If non-zero, captures the error output into a string buffer;
1909
+ * if zero, error output is not captured to a string buffer.
1910
+ * @retval IPQ_OK Success.
1911
+ * @retval IPQ_BADINSTANCE The given id is invalid.
1912
+ * @see GetErrorFileOn, GetErrorStringOn, GetErrorString, GetErrorStringLine, GetErrorStringLineCount, SetErrorFileOn
1913
+ * @par Fortran90 Interface:
1914
+ * @htmlonly
1915
+ * <CODE>
1916
+ * <PRE>
1917
+ * FUNCTION SetErrorStringOn(ID,ERR_STRING_ON)
1918
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1919
+ * LOGICAL(KIND=4), INTENT(IN) :: ERR_STRING_ON
1920
+ * INTEGER(KIND=4) :: SetErrorStringOn
1921
+ * END FUNCTION SetErrorStringOn
1922
+ * </PRE>
1923
+ * </CODE>
1924
+ * @endhtmlonly
1925
+ *
1926
+ * @par C Example:
1927
+ * see @ref GetErrorString_c "GetErrorString"
1928
+ *
1929
+ * @par Fortran90 Example:
1930
+ * see @ref GetErrorStringLine_f90 "GetErrorStringLine"
1931
+ */
1932
+ IPQ_DLL_EXPORT IPQ_RESULT SetErrorStringOn(int id, int error_string_on);
1933
+
1934
+ /**
1935
+ * Sets the name of the log file. The default value is <B><I>phreeqc.id.log</I></B>.
1936
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1937
+ * @param filename The name of the log file.
1938
+ * @retval IPQ_OK Success.
1939
+ * @retval IPQ_BADINSTANCE The given id is invalid.
1940
+ * @see GetLogFileName, GetLogFileOn, GetLogString, GetLogStringOn, GetLogStringLine, GetLogStringLineCount, SetLogFileOn, SetLogStringOn
1941
+ * @par Fortran90 Interface:
1942
+ * @htmlonly
1943
+ * <CODE>
1944
+ * <PRE>
1945
+ * FUNCTION SetLogFileName(ID,FILENAME)
1946
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1947
+ * CHARACTER(LEN=*), INTENT(OUT) :: FILENAME
1948
+ * INTEGER(KIND=4) :: SetLogFileName
1949
+ * END FUNCTION SetLogFileName
1950
+ * </PRE>
1951
+ * </CODE>
1952
+ * @endhtmlonly
1953
+ */
1954
+ IPQ_DLL_EXPORT IPQ_RESULT SetLogFileName(int id, const char* filename);
1955
+
1956
+ /**
1957
+ * Sets the log file switch on or off. This switch controls whether or not phreeqc
1958
+ * writes log messages to the <B><I>phreeqc.id.log</I></B> file. The initial setting after calling
1959
+ * @ref CreateIPhreeqc is off.
1960
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1961
+ * @param log_on If non-zero, log messages are written to the log file; if zero, no log messages are written to the log file.
1962
+ * @retval IPQ_OK Success.
1963
+ * @retval IPQ_BADINSTANCE The given id is invalid.
1964
+ * @remarks
1965
+ * Logging must be enabled through the use of the KNOBS -logfile option in order to receive any log messages.
1966
+ * @see GetLogFileOn
1967
+ * @par Fortran90 Interface:
1968
+ * @htmlonly
1969
+ * <CODE>
1970
+ * <PRE>
1971
+ * FUNCTION SetLogFileOn(ID,LOG_ON)
1972
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1973
+ * LOGICAL(KIND=4), INTENT(IN) :: LOG_ON
1974
+ * INTEGER(KIND=4) :: SetLogFileOn
1975
+ * END FUNCTION SetLogFileOn
1976
+ * </PRE>
1977
+ * </CODE>
1978
+ * @endhtmlonly
1979
+ */
1980
+ IPQ_DLL_EXPORT IPQ_RESULT SetLogFileOn(int id, int log_on);
1981
+
1982
+ /**
1983
+ * Sets the log string switch on or off. This switch controls whether or not the data normally sent
1984
+ * to the log file are stored in a buffer for retrieval. The initial setting after calling
1985
+ * @ref CreateIPhreeqc is off.
1986
+ * @param id The instance id returned from @ref CreateIPhreeqc.
1987
+ * @param log_string_on If non-zero, captures the log output into a string buffer;
1988
+ * if zero, log output is not captured to a string buffer.
1989
+ * @retval IPQ_OK Success.
1990
+ * @retval IPQ_BADINSTANCE The given id is invalid.
1991
+ * @see GetLogFileOn, GetLogStringOn, GetLogString, GetLogStringLine, GetLogStringLineCount, SetLogFileOn
1992
+ * @par Fortran90 Interface:
1993
+ * @htmlonly
1994
+ * <CODE>
1995
+ * <PRE>
1996
+ * FUNCTION SetLogStringOn(ID,LOG_STRING_ON)
1997
+ * INTEGER(KIND=4), INTENT(IN) :: ID
1998
+ * LOGICAL(KIND=4), INTENT(IN) :: LOG_STRING_ON
1999
+ * INTEGER(KIND=4) :: SetLogStringOn
2000
+ * END FUNCTION SetLogStringOn
2001
+ * </PRE>
2002
+ * </CODE>
2003
+ * @endhtmlonly
2004
+ *
2005
+ * @par C Example:
2006
+ * see @ref GetLogString_c "GetLogString"
2007
+ *
2008
+ * @par Fortran90 Example:
2009
+ * see @ref GetLogStringLine_f90 "GetLogStringLine"
2010
+ */
2011
+ IPQ_DLL_EXPORT IPQ_RESULT SetLogStringOn(int id, int log_string_on);
2012
+
2013
+
2014
+ /**
2015
+ * Sets the name of the output file. This file name is used if not specified within <B>DUMP</B> input.
2016
+ * The default value is <B><I>phreeqc.id.out</I></B>.
2017
+ * @param id The instance id returned from @ref CreateIPhreeqc.
2018
+ * @param filename The name of the phreeqc output file.
2019
+ * @retval IPQ_OK Success.
2020
+ * @retval IPQ_BADINSTANCE The given id is invalid.
2021
+ * @see GetOutputFileName, GetOutputFileOn, GetOutputString, GetOutputStringOn, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileOn, SetOutputStringOn
2022
+ * @par Fortran90 Interface:
2023
+ * @htmlonly
2024
+ * <CODE>
2025
+ * <PRE>
2026
+ * FUNCTION SetOutputFileName(ID,FILENAME)
2027
+ * INTEGER(KIND=4), INTENT(IN) :: ID
2028
+ * CHARACTER(LEN=*), INTENT(OUT) :: FILENAME
2029
+ * INTEGER(KIND=4) :: SetOutputFileName
2030
+ * END FUNCTION SetOutputFileName
2031
+ * </PRE>
2032
+ * </CODE>
2033
+ * @endhtmlonly
2034
+ */
2035
+ IPQ_DLL_EXPORT IPQ_RESULT SetOutputFileName(int id, const char* filename);
2036
+
2037
+ /**
2038
+ * Sets the output file switch on or off. This switch controls whether or not phreeqc
2039
+ * writes to the <B><I>phreeqc.id.out</I></B> file. This is the output normally generated
2040
+ * when phreeqc is run. The initial setting after calling @ref CreateIPhreeqc is off.
2041
+ * @param id The instance id returned from @ref CreateIPhreeqc.
2042
+ * @param output_on If non-zero, writes output to the output file; if zero, no output is written to the output file.
2043
+ * @retval IPQ_OK Success.
2044
+ * @retval IPQ_BADINSTANCE The given id is invalid.
2045
+ * @see GetOutputFileOn
2046
+ * @par Fortran90 Interface:
2047
+ * @htmlonly
2048
+ * <CODE>
2049
+ * <PRE>
2050
+ * FUNCTION SetOutputFileOn(ID,OUT_ON)
2051
+ * INTEGER(KIND=4), INTENT(IN) :: ID
2052
+ * LOGICAL(KIND=4), INTENT(IN) :: OUT_ON
2053
+ * INTEGER(KIND=4) :: SetOutputFileOn
2054
+ * END FUNCTION SetOutputFileOn
2055
+ * </PRE>
2056
+ * </CODE>
2057
+ * @endhtmlonly
2058
+ */
2059
+ IPQ_DLL_EXPORT IPQ_RESULT SetOutputFileOn(int id, int output_on);
2060
+
2061
+ /**
2062
+ * Sets the output string switch on or off. This switch controls whether or not the data normally sent
2063
+ * to the output file are stored in a buffer for retrieval. The initial setting after calling
2064
+ * @ref CreateIPhreeqc is off.
2065
+ * @param id The instance id returned from @ref CreateIPhreeqc.
2066
+ * @param output_string_on If non-zero, captures the phreeqc output into a string buffer;
2067
+ * if zero, phreeqc output is not captured to a string buffer.
2068
+ * @retval IPQ_OK Success.
2069
+ * @retval IPQ_BADINSTANCE The given id is invalid.
2070
+ * @see GetOutputFileOn, GetOutputStringOn, GetOutputString, GetOutputStringLine, GetOutputStringLineCount, SetOutputFileOn
2071
+ * @par Fortran90 Interface:
2072
+ * @htmlonly
2073
+ * <CODE>
2074
+ * <PRE>
2075
+ * FUNCTION SetOutputStringOn(ID,OUTPUT_STRING_ON)
2076
+ * INTEGER(KIND=4), INTENT(IN) :: ID
2077
+ * LOGICAL(KIND=4), INTENT(IN) :: OUTPUT_STRING_ON
2078
+ * INTEGER(KIND=4) :: SetOutputStringOn
2079
+ * END FUNCTION SetOutputStringOn
2080
+ * </PRE>
2081
+ * </CODE>
2082
+ * @endhtmlonly
2083
+ *
2084
+ * @par C Example:
2085
+ * see @ref GetOutputString_c "GetOutputString"
2086
+ *
2087
+ * @par Fortran90 Example:
2088
+ * see @ref GetOutputStringLine_f90 "GetOutputStringLine"
2089
+ */
2090
+ IPQ_DLL_EXPORT IPQ_RESULT SetOutputStringOn(int id, int output_string_on);
2091
+
2092
+
2093
+ /**
2094
+ * 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.
2095
+ * The default value is <B><I>selected_n.id.out</I></B>.
2096
+ * @param id The instance id returned from @ref CreateIPhreeqc.
2097
+ * @param filename The name of the file to write <B>SELECTED_OUTPUT</B> output to.
2098
+ * @retval IPQ_OK Success.
2099
+ * @retval IPQ_BADINSTANCE The given id is invalid.
2100
+ * @see GetSelectedOutputFileName, GetSelectedOutputFileOn, GetSelectedOutputString, GetSelectedOutputStringOn, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn, SetSelectedOutputStringOn
2101
+ * @par Fortran90 Interface:
2102
+ * @htmlonly
2103
+ * <CODE>
2104
+ * <PRE>
2105
+ * FUNCTION SetSelectedOutputFileName(ID,FILENAME)
2106
+ * INTEGER(KIND=4), INTENT(IN) :: ID
2107
+ * CHARACTER(LEN=*), INTENT(OUT) :: FILENAME
2108
+ * INTEGER(KIND=4) :: SetSelectedOutputFileName
2109
+ * END FUNCTION SetSelectedOutputFileName
2110
+ * </PRE>
2111
+ * </CODE>
2112
+ * @endhtmlonly
2113
+ */
2114
+ IPQ_DLL_EXPORT IPQ_RESULT SetSelectedOutputFileName(int id, const char* filename);
2115
+
2116
+
2117
+ /**
2118
+ * Sets the selected-output file switch on or off. This switch controls whether or not phreeqc writes output to
2119
+ * the current <B>SELECTED_OUTPUT</B> file (see @ref SetCurrentSelectedOutputUserNumber). The initial
2120
+ * setting after calling @ref CreateIPhreeqc is off.
2121
+ * @param id The instance id returned from @ref CreateIPhreeqc.
2122
+ * @param sel_on If non-zero, writes output to the selected-output file; if zero, no output is written to the selected-output file.
2123
+ * @retval IPQ_OK Success.
2124
+ * @retval IPQ_BADINSTANCE The given id is invalid.
2125
+ * @see GetSelectedOutputFileOn, GetSelectedOutputColumnCount, GetSelectedOutputRowCount, GetSelectedOutputValue, SetCurrentSelectedOutputUserNumber
2126
+ * @par Fortran90 Interface:
2127
+ * @htmlonly
2128
+ * <CODE>
2129
+ * <PRE>
2130
+ * FUNCTION SetSelectedOutputFileOn(ID,SEL_ON)
2131
+ * INTEGER(KIND=4), INTENT(IN) :: ID
2132
+ * LOGICAL(KIND=4), INTENT(IN) :: SEL_ON
2133
+ * INTEGER(KIND=4) :: SetSelectedOutputFileOn
2134
+ * END FUNCTION SetSelectedOutputFileOn
2135
+ * </PRE>
2136
+ * </CODE>
2137
+ * @endhtmlonly
2138
+ */
2139
+ IPQ_DLL_EXPORT IPQ_RESULT SetSelectedOutputFileOn(int id, int sel_on);
2140
+
2141
+ /**
2142
+ * Sets the current selected output string switch on or off. This switch controls whether or not the data normally sent
2143
+ * to the current selected output file (see @ref SetCurrentSelectedOutputUserNumber) are stored in a buffer for retrieval. The initial setting after calling
2144
+ * @ref CreateIPhreeqc is off.
2145
+ * @param id The instance id returned from @ref CreateIPhreeqc.
2146
+ * @param sel_string_on If non-zero, captures the output defined by the <B>SELECTED_OUTPUT</B> keyword into a string buffer;
2147
+ * if zero, output defined by the <B>SELECTED_OUTPUT</B> keyword is not captured to a string buffer.
2148
+ * @retval IPQ_OK Success.
2149
+ * @retval IPQ_BADINSTANCE The given id is invalid.
2150
+ * @see GetSelectedOutputFileOn, GetSelectedOutputStringOn, GetSelectedOutputString, GetSelectedOutputStringLine, GetSelectedOutputStringLineCount, SetCurrentSelectedOutputUserNumber, SetSelectedOutputFileOn
2151
+ * @par Fortran90 Interface:
2152
+ * @htmlonly
2153
+ * <CODE>
2154
+ * <PRE>
2155
+ * FUNCTION SetSelectedOutputStringOn(ID,SELECTED_OUTPUT_STRING_ON)
2156
+ * INTEGER(KIND=4), INTENT(IN) :: ID
2157
+ * LOGICAL(KIND=4), INTENT(IN) :: SELECTED_OUTPUT_STRING_ON
2158
+ * INTEGER(KIND=4) :: SetSelectedOutputStringOn
2159
+ * END FUNCTION SetSelectedOutputStringOn
2160
+ * </PRE>
2161
+ * </CODE>
2162
+ * @endhtmlonly
2163
+ *
2164
+ * @par C Example:
2165
+ * see @ref GetSelectedOutputString_c "GetSelectedOutputString"
2166
+ *
2167
+ * @par Fortran90 Example:
2168
+ * see @ref GetSelectedOutputStringLine_f90 "GetSelectedOutputStringLine"
2169
+ */
2170
+ IPQ_DLL_EXPORT IPQ_RESULT SetSelectedOutputStringOn(int id, int sel_string_on);
2171
+
2172
+ // TODO int RunWithCallback(PFN_PRERUN_CALLBACK pfn_pre, PFN_POSTRUN_CALLBACK pfn_post, void *cookie, int output_on, int error_on, int log_on, int selected_output_on);
2173
+
2174
+
2175
+ // TODO int CatchErrors(PFN_CATCH_CALLBACK pfn, void *cookie);
2176
+
2177
+
2178
+ #if defined(__cplusplus)
2179
+ }
2180
+ #endif
2181
+
2182
+ #endif // INC_IPHREEQC_H