From 2f86fb6f305cb72fb94674ee5644ce11f2676f8d Mon Sep 17 00:00:00 2001 From: rastogi Date: Thu, 6 Nov 2025 11:46:59 +0100 Subject: [PATCH] Enable DHT time measurement --- bin/dol.pqi | 43 ++ bin/dolo_fgcs_3.R | 135 +++++ bin/dolo_fgcs_3.qs2 | Bin 0 -> 30583 bytes bin/phreeqc_kin.dat | 1307 +++++++++++++++++++++++++++++++++++++++++++ bin/run_poet.sh | 19 + 5 files changed, 1504 insertions(+) create mode 100644 bin/dol.pqi create mode 100644 bin/dolo_fgcs_3.R create mode 100644 bin/dolo_fgcs_3.qs2 create mode 100644 bin/phreeqc_kin.dat create mode 100644 bin/run_poet.sh diff --git a/bin/dol.pqi b/bin/dol.pqi new file mode 100644 index 000000000..30a6674d7 --- /dev/null +++ b/bin/dol.pqi @@ -0,0 +1,43 @@ +SOLUTION 1 + units mol/kgw + water 1 + temperature 25 + pH 7 + pe 4 +PURE 1 + Calcite 0.0 1 +END + +RUN_CELLS + -cells 1 + +COPY solution 1 2 + +PURE 2 + O2g -0.1675 10 +KINETICS 2 + Calcite + -m 0.000207 + -parms 0.05 + -tol 1e-10 + Dolomite + -m 0.0 + -parms 0.005 + -tol 1e-10 +END + +SOLUTION 3 + units mol/kgw + water 1 + temp 25 + Mg 0.001 + Cl 0.002 +END + +SOLUTION 4 + units mol/kgw + water 1 + temp 25 + Mg 0.002 + Cl 0.004 +END diff --git a/bin/dolo_fgcs_3.R b/bin/dolo_fgcs_3.R new file mode 100644 index 000000000..eb57e65bb --- /dev/null +++ b/bin/dolo_fgcs_3.R @@ -0,0 +1,135 @@ +rows <- 400 +cols <- 400 + +grid_def <- matrix(2, nrow = rows, ncol = cols) + +# Define grid configuration for POET model +grid_setup <- list( + pqc_in_file = "./dolo_fgcs.pqi", + pqc_db_file = "./phreeqc_kin.dat", # Path to the database file for Phreeqc + grid_def = grid_def, # Definition of the grid, containing IDs according to the Phreeqc input script + grid_size = c(5, 5), # Size of the grid in meters + constant_cells = c() # IDs of cells with constant concentration +) + +bound_def_we <- list( + "type" = rep("constant", rows), + "sol_id" = rep(1, rows), + "cell" = seq(1, rows) +) + +bound_def_ns <- list( + "type" = rep("constant", cols), + "sol_id" = rep(1, cols), + "cell" = seq(1, cols) +) + +diffusion_setup <- list( + boundaries = list( + "W" = bound_def_we, + "E" = bound_def_we, + "N" = bound_def_ns, + "S" = bound_def_ns + ), + inner_boundaries = list( + "row" = floor(rows / 2), + "col" = floor(cols / 2), + "sol_id" = c(3) + ), + alpha_x = 1e-6, + alpha_y = 1e-6 +) + +check_sign_cal_dol_dht <- function(old, new) { + if ((old["Calcite"] == 0) != (new["Calcite"] == 0)) { + return(TRUE) + } + if ((old["Dolomite"] == 0) != (new["Dolomite"] == 0)) { + return(TRUE) + } + return(FALSE) +} + +check_sign_cal_dol_interp <- function(to_interp, data_set) { + dht_species <- c( + "H" = 3, + "O" = 3, + "C" = 6, + "Ca" = 6, + "Cl" = 3, + "Mg" = 5, + "Calcite" = 4, + "Dolomite" = 4 + ) + data_set <- as.data.frame(do.call(rbind, data_set), check.names = FALSE, optional = TRUE) + names(data_set) <- names(dht_species) + cal <- (data_set$Calcite == 0) == (to_interp["Calcite"] == 0) + dol <- (data_set$Dolomite == 0) == (to_interp["Dolomite"] == 0) + + cal_dol_same_sig <- cal == dol + return(rev(which(!cal_dol_same_sig))) +} + +check_neg_cal_dol <- function(result) { + neg_sign <- (result["Calcite"] < 0) || (result["Dolomite"] < 0) + return(neg_sign) +} + +# Optional when using Interpolation (example with less key species and custom +# significant digits) + +pht_species <- c( + "C" = 3, + "Ca" = 3, + "Mg" = 3, + "Cl" = 3, + "Calcite" = 3, + "Dolomite" = 3 +) + + +dht_species <- c( + "H" = 3, + "O" = 3, + "C" = 6, + "Ca" = 6, + "Cl" = 3, + "Mg" = 5, + "Calcite" = 4, + "Dolomite" = 4) + +chemistry_setup <- list( + dht_species = dht_species, + pht_species = pht_species, + hooks = list( + dht_fill = check_sign_cal_dol_dht, + interp_pre = check_sign_cal_dol_interp, + interp_post = check_neg_cal_dol + ) +) + +# Define a setup list for simulation configuration +setup <- list( + Grid = grid_setup, # Parameters related to the grid structure + Diffusion = diffusion_setup, # Parameters related to the diffusion process + Chemistry = chemistry_setup # Parameters related to the chemistry process +) + +iterations <- 15000 +dt <- 200 +checkpoint_interval <- 100 +control_interval <- 100 +mape_threshold <- rep(0.1, 13) +mape_threshold[5] <- 1 #Charge +out_save <- seq(1000, iterations, by = 1000) +#out_save = c(seq(1, 10), seq(10, 100, by= 10), seq(200, iterations, by=100)) + + +list( + timesteps = rep(dt, iterations), + store_result = TRUE, + out_save = out_save, + checkpoint_interval = checkpoint_interval, + control_interval = control_interval, + mape_threshold = mape_threshold +) \ No newline at end of file diff --git a/bin/dolo_fgcs_3.qs2 b/bin/dolo_fgcs_3.qs2 new file mode 100644 index 0000000000000000000000000000000000000000..03ab6ea88527806007cd8987fb96cd93ec650d1e GIT binary patch literal 30583 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 literal 0 HcmV?d00001 diff --git a/bin/phreeqc_kin.dat b/bin/phreeqc_kin.dat new file mode 100644 index 000000000..01d5bf516 --- /dev/null +++ b/bin/phreeqc_kin.dat @@ -0,0 +1,1307 @@ +### This is the standard "phreeqc.dat" stripped of EXCHANGE and +### SURFACE and with the RATES for Calcite and Dolomite to use with +### RedModRphree + +### Time-stamp: "Last modified 2023-05-23 10:35:56 mluebke" + +# PHREEQC.DAT for calculating pressure dependence of reactions, with +# molal volumina of aqueous species and of minerals, and +# critical temperatures and pressures of gases used in Peng-Robinson's EOS. +# Details are given at the end of this file. + +SOLUTION_MASTER_SPECIES +# +#element species alk gfw_formula element_gfw +# +H H+ -1.0 H 1.008 +H(0) H2 0 H +H(1) H+ -1.0 0 +E e- 0 0.0 0 +O H2O 0 O 16.0 +O(0) O2 0 O +O(-2) H2O 0 0 +Ca Ca+2 0 Ca 40.08 +Mg Mg+2 0 Mg 24.312 +Na Na+ 0 Na 22.9898 +K K+ 0 K 39.102 +Fe Fe+2 0 Fe 55.847 +Fe(+2) Fe+2 0 Fe +Fe(+3) Fe+3 -2.0 Fe +Mn Mn+2 0 Mn 54.938 +Mn(+2) Mn+2 0 Mn +Mn(+3) Mn+3 0 Mn +Al Al+3 0 Al 26.9815 +Ba Ba+2 0 Ba 137.34 +Sr Sr+2 0 Sr 87.62 +Si H4SiO4 0 SiO2 28.0843 +Cl Cl- 0 Cl 35.453 +C CO3-2 2.0 HCO3 12.0111 +C(+4) CO3-2 2.0 HCO3 +C(-4) CH4 0 CH4 +Alkalinity CO3-2 1.0 Ca0.5(CO3)0.5 50.05 +S SO4-2 0 SO4 32.064 +S(6) SO4-2 0 SO4 +S(-2) HS- 1.0 S +N NO3- 0 N 14.0067 +N(+5) NO3- 0 N +N(+3) NO2- 0 N +N(0) N2 0 N +N(-3) NH4+ 0 N 14.0067 +#Amm AmmH+ 0 AmmH 17.0 +B H3BO3 0 B 10.81 +P PO4-3 2.0 P 30.9738 +F F- 0 F 18.9984 +Li Li+ 0 Li 6.939 +Br Br- 0 Br 79.904 +Zn Zn+2 0 Zn 65.37 +Cd Cd+2 0 Cd 112.4 +Pb Pb+2 0 Pb 207.19 +Cu Cu+2 0 Cu 63.546 +Cu(+2) Cu+2 0 Cu +Cu(+1) Cu+1 0 Cu +# redox-uncoupled gases +Hdg Hdg 0 Hdg 2.016 # H2 gas +Oxg Oxg 0 Oxg 32 # O2 gas +Mtg Mtg 0 Mtg 16.032 # CH4 gas +Sg H2Sg 1.0 H2Sg 34.08 +Ntg Ntg 0 Ntg 28.0134 # N2 gas + +SOLUTION_SPECIES +H+ = H+ + -gamma 9.0 0 + -dw 9.31e-9 +e- = e- +H2O = H2O +Ca+2 = Ca+2 + -gamma 5.0 0.1650 + -dw 0.793e-9 + -Vm -0.3456 -7.252 6.149 -2.479 1.239 5 1.60 -57.1 -6.12e-3 1 # ref. 1 +Mg+2 = Mg+2 + -gamma 5.5 0.20 + -dw 0.705e-9 + -Vm -1.410 -8.6 11.13 -2.39 1.332 5.5 1.29 -32.9 -5.86e-3 1 # ref. 1 +Na+ = Na+ + -gamma 4.0 0.075 + -gamma 4.08 0.082 # halite solubility + -dw 1.33e-9 + -Vm 2.28 -4.38 -4.1 -0.586 0.09 4 0.3 52 -3.33e-3 0.566 # ref. 1 +# for calculating densities (rho) when I > 3... + # -Vm 2.28 -4.38 -4.1 -0.586 0.09 4 0.3 52 -3.33e-3 0.45 +K+ = K+ + -gamma 3.5 0.015 + -dw 1.96e-9 + -Vm 3.322 -1.473 6.534 -2.712 9.06e-2 3.5 0 29.7 0 1 # ref. 1 +Fe+2 = Fe+2 + -gamma 6.0 0 + -dw 0.719e-9 + -Vm -0.3255 -9.687 1.536 -2.379 0.3033 6 -4.21e-2 39.7 0 1 # ref. 1 +Mn+2 = Mn+2 + -gamma 6.0 0 + -dw 0.688e-9 + -Vm -1.10 -8.03 4.08 -2.45 1.4 6 8.07 0 -1.51e-2 0.118 # ref. 2 +Al+3 = Al+3 + -gamma 9.0 0 + -dw 0.559e-9 + -Vm -2.28 -17.1 10.9 -2.07 2.87 9 0 0 5.5e-3 1 # ref. 2 and Barta and Hepler, 1986, Can. J.C. 64, 353. +Ba+2 = Ba+2 + -gamma 5.0 0 + -gamma 4.0 0.153 # Barite solubility + -dw 0.848e-9 + -Vm 2.063 -10.06 1.9534 -2.36 0.4218 5 1.58 -12.03 -8.35e-3 1 # ref. 1 +Sr+2 = Sr+2 + -gamma 5.260 0.121 + -dw 0.794e-9 + -Vm -1.57e-2 -10.15 10.18 -2.36 0.860 5.26 0.859 -27.0 -4.1e-3 1.97 # ref. 1 +H4SiO4 = H4SiO4 + -dw 1.10e-9 + -Vm 10.5 1.7 20 -2.7 0.1291 # supcrt + 2*H2O in a1 +Cl- = Cl- + -gamma 3.5 0.015 + -gamma 3.63 0.017 # cf. pitzer.dat + -dw 2.03e-9 + -Vm 4.465 4.801 4.325 -2.847 1.748 0 -0.331 20.16 0 1 # ref. 1 +CO3-2 = CO3-2 + -gamma 5.4 0 + -dw 0.955e-9 + -Vm 5.95 0 0 -5.67 6.85 0 1.37 106 -0.0343 1 # ref. 1 +SO4-2 = SO4-2 + -gamma 5.0 -0.04 + -dw 1.07e-9 + -Vm 8.0 2.3 -46.04 6.245 3.82 0 0 0 0 1 # ref. 1 +NO3- = NO3- + -gamma 3.0 0 + -dw 1.9e-9 + -Vm 6.32 6.78 0 -3.06 0.346 0 0.93 0 -0.012 1 # ref. 1 +#AmmH+ = AmmH+ +# -gamma 2.5 0 +# -dw 1.98e-9 +# -Vm 4.837 2.345 5.522 -2.88 1.096 3 -1.456 75.0 7.17e-3 1 # ref. 1 +H3BO3 = H3BO3 + -dw 1.1e-9 + -Vm 7.0643 8.8547 3.5844 -3.1451 -.2000 # supcrt +PO4-3 = PO4-3 + -gamma 4.0 0 + -dw 0.612e-9 + -Vm 1.24 -9.07 9.31 -2.4 5.61 0 0 0 -1.41e-2 1 # ref. 2 +F- = F- + -gamma 3.5 0 + -dw 1.46e-9 + -Vm 0.928 1.36 6.27 -2.84 1.84 0 0 -0.318 0 1 # ref. 2 +Li+ = Li+ + -gamma 6.0 0 + -dw 1.03e-9 + -Vm -0.419 -0.069 13.16 -2.78 0.416 0 0.296 -12.4 -2.74e-3 1.26 # ref. 2 and Ellis, 1968, J. Chem. Soc. A, 1138 +Br- = Br- + -gamma 3.0 0 + -dw 2.01e-9 + -Vm 6.72 2.85 4.21 -3.14 1.38 0 -9.56e-2 7.08 -1.56e-3 1 # ref. 2 +Zn+2 = Zn+2 + -gamma 5.0 0 + -dw 0.715e-9 + -Vm -1.96 -10.4 14.3 -2.35 1.46 5 -1.43 24 1.67e-2 1.11 # ref. 2 +Cd+2 = Cd+2 + -dw 0.717e-9 + -Vm 1.63 -10.7 1.01 -2.34 1.47 5 0 0 0 1 # ref. 2 +Pb+2 = Pb+2 + -dw 0.945e-9 + -Vm -.0051 -7.7939 8.8134 -2.4568 1.0788 4.5 # supcrt +Cu+2 = Cu+2 + -gamma 6.0 0 + -dw 0.733e-9 + -Vm -1.13 -10.5 7.29 -2.35 1.61 6 9.78e-2 0 3.42e-3 1 # ref. 2 +# redox-uncoupled gases +Hdg = Hdg # H2 + -dw 5.13e-9 + -Vm 6.52 0.78 0.12 # supcrt +Oxg = Oxg # O2 + -dw 2.35e-9 + -Vm 5.7889 6.3536 3.2528 -3.0417 -0.3943 # supcrt +Mtg = Mtg # CH4 + -dw 1.85e-9 + -Vm 7.7 # CH4 solubility, 25-100C, 1-700atm +Ntg = Ntg # N2 + -dw 1.96e-9 + -Vm 7 # Pray et al., 1952, IEC 44. 1146 +H2Sg = H2Sg # H2S + -dw 2.1e-9 + -Vm 7.81 2.96 -0.46 # supcrt +# aqueous species +H2O = OH- + H+ + -analytic 293.29227 0.1360833 -10576.913 -123.73158 0 -6.996455e-5 + -gamma 3.5 0 + -dw 5.27e-9 + -Vm -9.66 28.5 80.0 -22.9 1.89 0 1.09 0 0 1 # ref. 1 +2 H2O = O2 + 4 H+ + 4 e- + -log_k -86.08 + -delta_h 134.79 kcal + -dw 2.35e-9 + -Vm 5.7889 6.3536 3.2528 -3.0417 -0.3943 # supcrt +2 H+ + 2 e- = H2 + -log_k -3.15 + -delta_h -1.759 kcal + -dw 5.13e-9 + -Vm 6.52 0.78 0.12 # supcrt +CO3-2 + H+ = HCO3- + -log_k 10.329 + -delta_h -3.561 kcal + -analytic 107.8871 0.03252849 -5151.79 -38.92561 563713.9 + -gamma 5.4 0 + -dw 1.18e-9 + -Vm 8.472 0 -11.5 0 1.56 0 0 146 3.16e-3 1 # ref. 1 +CO3-2 + 2 H+ = CO2 + H2O + -log_k 16.681 + -delta_h -5.738 kcal + -analytic 464.1965 0.09344813 -26986.16 -165.75951 2248628.9 + -dw 1.92e-9 + -Vm 20.85 -46.93 -79.0 27.9 -0.193 # ref. 1 +CO3-2 + 10 H+ + 8 e- = CH4 + 3 H2O + -log_k 41.071 + -delta_h -61.039 kcal + -dw 1.85e-9 + -Vm 7.7 +SO4-2 + H+ = HSO4- + -log_k 1.988 + -delta_h 3.85 kcal + -analytic -56.889 0.006473 2307.9 19.8858 + -dw 1.33e-9 + -Vm 8.2 9.2590 2.1108 -3.1618 1.1748 0 -0.3 15 0 1 # ref. 1 +HS- = S-2 + H+ + -log_k -12.918 + -delta_h 12.1 kcal + -gamma 5.0 0 + -dw 0.731e-9 +SO4-2 + 9 H+ + 8 e- = HS- + 4 H2O + -log_k 33.65 + -delta_h -60.140 kcal + -gamma 3.5 0 + -dw 1.73e-9 + -Vm 5.0119 4.9799 3.4765 -2.9849 1.4410 # supcrt +HS- + H+ = H2S + -log_k 6.994 + -delta_h -5.30 kcal + -analytical -11.17 0.02386 3279.0 + -dw 2.1e-9 + -Vm 7.81 2.96 -0.46 # supcrt +H2Sg = HSg- + H+ + -log_k -6.994 + -delta_h 5.30 kcal + -analytical 11.17 -0.02386 -3279.0 + -dw 2.1e-9 + -Vm 5.0119 4.9799 3.4765 -2.9849 1.4410 # supcrt +NO3- + 2 H+ + 2 e- = NO2- + H2O + -log_k 28.570 + -delta_h -43.760 kcal + -gamma 3.0 0 + -dw 1.91e-9 + -Vm 5.5864 5.8590 3.4472 -3.0212 1.1847 # supcrt +2 NO3- + 12 H+ + 10 e- = N2 + 6 H2O + -log_k 207.08 + -delta_h -312.130 kcal + -dw 1.96e-9 + -Vm 7 # Pray et al., 1952, IEC 44. 1146 +NO3- + 10 H+ + 8 e- = NH4+ + 3 H2O + -log_k 119.077 + -delta_h -187.055 kcal + -gamma 2.5 0 + -dw 1.98e-9 + -Vm 4.837 2.345 5.522 -2.88 1.096 3 -1.456 75.0 7.17e-3 1 # ref. 1 +#AmmH+ = AmmH+ +# -gamma 2.5 0.0 +# -dw 1.98e-9 +# -Vm 4.837 2.345 5.522 -2.88 1.096 3 -1.456 75.0 7.17e-3 1 # supcrt modified +NH4+ = NH3 + H+ + -log_k -9.252 + -delta_h 12.48 kcal + -analytic 0.6322 -0.001225 -2835.76 + -dw 2.28e-9 + -Vm 6.69 2.8 3.58 -2.88 1.43 # ref. 2 +#AmmH+ = Amm + H+ +# -log_k -9.252 +# -delta_h 12.48 kcal +# -analytic 0.6322 -0.001225 -2835.76 +# -dw 2.28e-9 +# -Vm 6.69 2.8 3.58 -2.88 1.43 # ref. 2 +NH4+ + SO4-2 = NH4SO4- + log_k 1.11 + -Vm 14.0 0 -35.2 0 0 0 12.3 0 -0.141 1 # ref. 2 +#AmmH+ + SO4-2 = AmmHSO4- +# -log_k 1.11 +# -Vm 14.0 0 -35.2 0 0 0 12.3 0 -0.141 1 # ref. 2 +H3BO3 = H2BO3- + H+ + -log_k -9.24 + -delta_h 3.224 kcal +H3BO3 + F- = BF(OH)3- + -log_k -0.4 + -delta_h 1.850 kcal +H3BO3 + 2 F- + H+ = BF2(OH)2- + H2O + -log_k 7.63 + -delta_h 1.618 kcal +H3BO3 + 2 H+ + 3 F- = BF3OH- + 2 H2O + -log_k 13.67 + -delta_h -1.614 kcal +H3BO3 + 3 H+ + 4 F- = BF4- + 3 H2O + -log_k 20.28 + -delta_h -1.846 kcal +PO4-3 + H+ = HPO4-2 + -log_k 12.346 + -delta_h -3.530 kcal + -gamma 5.0 0 + -dw 0.69e-9 + -Vm 3.52 1.09 8.39 -2.82 3.34 0 0 0 0 1 # ref. 2 +PO4-3 + 2 H+ = H2PO4- + -log_k 19.553 + -delta_h -4.520 kcal + -gamma 5.4 0 + -dw 0.846e-9 + -Vm 5.58 8.06 12.2 -3.11 1.3 0 0 0 1.62e-2 1 # ref. 2 +PO4-3 + 3H+ = H3PO4 + log_k 21.721 # log_k and delta_h from minteq.v4.dat, NIST46.3 + delta_h -10.1 kJ + -Vm 7.47 12.4 6.29 -3.29 0 # ref. 2 +H+ + F- = HF + -log_k 3.18 + -delta_h 3.18 kcal + -analytic -2.033 0.012645 429.01 + -Vm 3.4753 .7042 5.4732 -2.8081 -.0007 # supcrt +H+ + 2 F- = HF2- + -log_k 3.76 + -delta_h 4.550 kcal + -Vm 5.2263 4.9797 3.7928 -2.9849 1.2934 # supcrt +Ca+2 + H2O = CaOH+ + H+ + -log_k -12.78 +Ca+2 + CO3-2 = CaCO3 + -log_k 3.224 + -delta_h 3.545 kcal + -analytic -1228.732 -0.299440 35512.75 485.818 + -dw 4.46e-10 # complexes: calc'd with the Pikal formula + -Vm -.2430 -8.3748 9.0417 -2.4328 -.0300 # supcrt +Ca+2 + CO3-2 + H+ = CaHCO3+ + -log_k 11.435 + -delta_h -0.871 kcal + -analytic 1317.0071 0.34546894 -39916.84 -517.70761 563713.9 + -gamma 6.0 0 + -dw 5.06e-10 + -Vm 3.1911 .0104 5.7459 -2.7794 .3084 5.4 # supcrt +Ca+2 + SO4-2 = CaSO4 + -log_k 2.25 + -delta_h 1.325 kcal + -dw 4.71e-10 + -Vm 2.7910 -.9666 6.1300 -2.7390 -.0010 # supcrt +Ca+2 + HSO4- = CaHSO4+ + -log_k 1.08 +Ca+2 + PO4-3 = CaPO4- + -log_k 6.459 + -delta_h 3.10 kcal + -gamma 5.4 0.0 +Ca+2 + HPO4-2 = CaHPO4 + -log_k 2.739 + -delta_h 3.3 kcal +Ca+2 + H2PO4- = CaH2PO4+ + -log_k 1.408 + -delta_h 3.4 kcal + -gamma 5.4 0.0 +# Ca+2 + F- = CaF+ + # -log_k 0.94 + # -delta_h 4.120 kcal + # -gamma 5.5 0.0 + # -Vm .9846 -5.3773 7.8635 -2.5567 .6911 5.5 # supcrt +Mg+2 + H2O = MgOH+ + H+ + -log_k -11.44 + -delta_h 15.952 kcal + -gamma 6.5 0 +Mg+2 + CO3-2 = MgCO3 + -log_k 2.98 + -delta_h 2.713 kcal + -analytic 0.9910 0.00667 + -dw 4.21e-10 + -Vm -.5837 -9.2067 9.3687 -2.3984 -.0300 # supcrt +Mg+2 + H+ + CO3-2 = MgHCO3+ + -log_k 11.399 + -delta_h -2.771 kcal + -analytic 48.6721 0.03252849 -2614.335 -18.00263 563713.9 + -gamma 4.0 0 + -dw 4.78e-10 + -Vm 2.7171 -1.1469 6.2008 -2.7316 .5985 4 # supcrt +Mg+2 + SO4-2 = MgSO4 + -log_k 2.37 + -delta_h 4.550 kcal + -dw 4.45e-10 + -Vm 2.4 -0.97 6.1 -2.74 # est'd +Mg+2 + PO4-3 = MgPO4- + -log_k 6.589 + -delta_h 3.10 kcal + -gamma 5.4 0 +Mg+2 + HPO4-2 = MgHPO4 + -log_k 2.87 + -delta_h 3.3 kcal +Mg+2 + H2PO4- = MgH2PO4+ + -log_k 1.513 + -delta_h 3.4 kcal + -gamma 5.4 0 +Mg+2 + F- = MgF+ + -log_k 1.82 + -delta_h 3.20 kcal + -gamma 4.5 0 + -Vm .6494 -6.1958 8.1852 -2.5229 .9706 4.5 # supcrt +Na+ + OH- = NaOH + -log_k -10 # remove this complex +Na+ + CO3-2 = NaCO3- + -log_k 1.27 + -delta_h 8.91 kcal + -dw 5.85e-10 + -Vm 3.89 -8.23e-4 20 -9.44 3.02 9.05e-3 3.07 0 0.0233 1 # ref. 1 +Na+ + HCO3- = NaHCO3 + -log_k -0.25 + -delta_h -1 kcal + -dw 6.73e-10 + -Vm 0.431 # ref. 1 +Na+ + SO4-2 = NaSO4- + -log_k 0.7 + -delta_h 1.120 kcal + -gamma 5.4 0 + -dw 6.18e-10 + -Vm 1e-5 16.4 -0.0678 -1.05 4.14 0 6.86 0 0.0242 0.53 # ref. 1 +Na+ + HPO4-2 = NaHPO4- + -log_k 0.29 + -gamma 5.4 0 + -Vm 5.2 8.1 13 -3 0.9 0 0 1.62e-2 1 # ref. 2 +Na+ + F- = NaF + -log_k -0.24 + -Vm 2.7483 -1.0708 6.1709 -2.7347 -.030 # supcrt +K+ + SO4-2 = KSO4- + -log_k 0.85 + -delta_h 2.250 kcal + -analytical 3.106 0.0 -673.6 + -gamma 5.4 0 + -dw 7.46e-10 + -Vm 6.8 7.06 3.0 -2.07 1.1 0 0 0 0 1 # ref. 1 +K+ + HPO4-2 = KHPO4- + -log_k 0.29 + -gamma 5.4 0 + -Vm 5.4 8.1 19 -3.1 0.7 0 0 0 1.62e-2 1 # ref. 2 +Fe+2 + H2O = FeOH+ + H+ + -log_k -9.5 + -delta_h 13.20 kcal + -gamma 5.0 0 +Fe+2 + 3H2O = Fe(OH)3- + 3H+ + -log_k -31.0 + -delta_h 30.3 kcal + -gamma 5.0 0 +Fe+2 + Cl- = FeCl+ + -log_k 0.14 +Fe+2 + CO3-2 = FeCO3 + -log_k 4.38 +Fe+2 + HCO3- = FeHCO3+ + -log_k 2.0 +Fe+2 + SO4-2 = FeSO4 + -log_k 2.25 + -delta_h 3.230 kcal + -Vm -13 0 123 # ref. 2 +Fe+2 + HSO4- = FeHSO4+ + -log_k 1.08 +Fe+2 + 2HS- = Fe(HS)2 + -log_k 8.95 +Fe+2 + 3HS- = Fe(HS)3- + -log_k 10.987 +Fe+2 + HPO4-2 = FeHPO4 + -log_k 3.6 +Fe+2 + H2PO4- = FeH2PO4+ + -log_k 2.7 + -gamma 5.4 0 +Fe+2 + F- = FeF+ + -log_k 1.0 +Fe+2 = Fe+3 + e- + -log_k -13.02 + -delta_h 9.680 kcal + -gamma 9.0 0 +Fe+3 + H2O = FeOH+2 + H+ + -log_k -2.19 + -delta_h 10.4 kcal + -gamma 5.0 0 +Fe+3 + 2 H2O = Fe(OH)2+ + 2 H+ + -log_k -5.67 + -delta_h 17.1 kcal + -gamma 5.4 0 +Fe+3 + 3 H2O = Fe(OH)3 + 3 H+ + -log_k -12.56 + -delta_h 24.8 kcal +Fe+3 + 4 H2O = Fe(OH)4- + 4 H+ + -log_k -21.6 + -delta_h 31.9 kcal + -gamma 5.4 0 +Fe+2 + 2H2O = Fe(OH)2 + 2H+ + -log_k -20.57 + -delta_h 28.565 kcal +2 Fe+3 + 2 H2O = Fe2(OH)2+4 + 2 H+ + -log_k -2.95 + -delta_h 13.5 kcal +3 Fe+3 + 4 H2O = Fe3(OH)4+5 + 4 H+ + -log_k -6.3 + -delta_h 14.3 kcal +Fe+3 + Cl- = FeCl+2 + -log_k 1.48 + -delta_h 5.6 kcal + -gamma 5.0 0 +Fe+3 + 2 Cl- = FeCl2+ + -log_k 2.13 + -gamma 5.0 0 +Fe+3 + 3 Cl- = FeCl3 + -log_k 1.13 +Fe+3 + SO4-2 = FeSO4+ + -log_k 4.04 + -delta_h 3.91 kcal + -gamma 5.0 0 +Fe+3 + HSO4- = FeHSO4+2 + -log_k 2.48 +Fe+3 + 2 SO4-2 = Fe(SO4)2- + -log_k 5.38 + -delta_h 4.60 kcal +Fe+3 + HPO4-2 = FeHPO4+ + -log_k 5.43 + -delta_h 5.76 kcal + -gamma 5.0 0 +Fe+3 + H2PO4- = FeH2PO4+2 + -log_k 5.43 + -gamma 5.4 0 +Fe+3 + F- = FeF+2 + -log_k 6.2 + -delta_h 2.7 kcal + -gamma 5.0 0 +Fe+3 + 2 F- = FeF2+ + -log_k 10.8 + -delta_h 4.8 kcal + -gamma 5.0 0 +Fe+3 + 3 F- = FeF3 + -log_k 14.0 + -delta_h 5.4 kcal +Mn+2 + H2O = MnOH+ + H+ + -log_k -10.59 + -delta_h 14.40 kcal + -gamma 5.0 0 +Mn+2 + 3H2O = Mn(OH)3- + 3H+ + -log_k -34.8 + -gamma 5.0 0 +Mn+2 + Cl- = MnCl+ + -log_k 0.61 + -gamma 5.0 0 + -Vm 7.25 -1.08 -25.8 -2.73 3.99 5 0 0 0 1 # ref. 2 +Mn+2 + 2 Cl- = MnCl2 + -log_k 0.25 + -Vm 1e-5 0 144 # ref. 2 +Mn+2 + 3 Cl- = MnCl3- + -log_k -0.31 + -gamma 5.0 0 + -Vm 11.8 0 0 0 2.4 0 0 0 3.6e-2 1 # ref. 2 +Mn+2 + CO3-2 = MnCO3 + -log_k 4.9 +Mn+2 + HCO3- = MnHCO3+ + -log_k 1.95 + -gamma 5.0 0 +Mn+2 + SO4-2 = MnSO4 + -log_k 2.25 + -delta_h 3.370 kcal + -Vm -1.31 -1.83 62.3 -2.7 # ref. 2 +Mn+2 + 2 NO3- = Mn(NO3)2 + -log_k 0.6 + -delta_h -0.396 kcal + -Vm 6.16 0 29.4 0 0.9 # ref. 2 +Mn+2 + F- = MnF+ + -log_k 0.84 + -gamma 5.0 0 +Mn+2 = Mn+3 + e- + -log_k -25.51 + -delta_h 25.80 kcal + -gamma 9.0 0 +Al+3 + H2O = AlOH+2 + H+ + -log_k -5.0 + -delta_h 11.49 kcal + -analytic -38.253 0.0 -656.27 14.327 + -gamma 5.4 0 + -Vm -1.46 -11.4 10.2 -2.31 1.67 5.4 0 0 0 1 # ref. 2 and Barta and Hepler, 1986, Can. J. Chem. 64, 353. +Al+3 + 2 H2O = Al(OH)2+ + 2 H+ + -log_k -10.1 + -delta_h 26.90 kcal + -gamma 5.4 0 + -analytic 88.50 0.0 -9391.6 -27.121 +Al+3 + 3 H2O = Al(OH)3 + 3 H+ + -log_k -16.9 + -delta_h 39.89 kcal + -analytic 226.374 0.0 -18247.8 -73.597 +Al+3 + 4 H2O = Al(OH)4- + 4 H+ + -log_k -22.7 + -delta_h 42.30 kcal + -analytic 51.578 0.0 -11168.9 -14.865 + -gamma 4.5 0 +Al+3 + SO4-2 = AlSO4+ + -log_k 3.5 + -delta_h 2.29 kcal + -gamma 4.5 0 +Al+3 + 2SO4-2 = Al(SO4)2- + -log_k 5.0 + -delta_h 3.11 kcal + -gamma 4.5 0 +Al+3 + HSO4- = AlHSO4+2 + -log_k 0.46 +Al+3 + F- = AlF+2 + -log_k 7.0 + -delta_h 1.060 kcal + -gamma 5.4 0 +Al+3 + 2 F- = AlF2+ + -log_k 12.7 + -delta_h 1.980 kcal + -gamma 5.4 0 +Al+3 + 3 F- = AlF3 + -log_k 16.8 + -delta_h 2.160 kcal +Al+3 + 4 F- = AlF4- + -log_k 19.4 + -delta_h 2.20 kcal + -gamma 4.5 0 +# Al+3 + 5 F- = AlF5-2 + # log_k 20.6 + # delta_h 1.840 kcal +# Al+3 + 6 F- = AlF6-3 + # log_k 20.6 + # delta_h -1.670 kcal +H4SiO4 = H3SiO4- + H+ + -log_k -9.83 + -delta_h 6.12 kcal + -analytic -302.3724 -0.050698 15669.69 108.18466 -1119669.0 + -gamma 4 0 + -Vm 7.94 1.0881 5.3224 -2.8240 1.4767 # supcrt + H2O in a1 +H4SiO4 = H2SiO4-2 + 2 H+ + -log_k -23.0 + -delta_h 17.6 kcal + -analytic -294.0184 -0.072650 11204.49 108.18466 -1119669.0 + -gamma 5.4 0 +H4SiO4 + 4 H+ + 6 F- = SiF6-2 + 4 H2O + -log_k 30.18 + -delta_h -16.260 kcal + -gamma 5.0 0 + -Vm 8.5311 13.0492 .6211 -3.3185 2.7716 # supcrt +Ba+2 + H2O = BaOH+ + H+ + -log_k -13.47 + -gamma 5.0 0 +Ba+2 + CO3-2 = BaCO3 + -log_k 2.71 + -delta_h 3.55 kcal + -analytic 0.113 0.008721 + -Vm .2907 -7.0717 8.5295 -2.4867 -.0300 # supcrt +Ba+2 + HCO3- = BaHCO3+ + -log_k 0.982 + -delta_h 5.56 kcal + -analytic -3.0938 0.013669 +Ba+2 + SO4-2 = BaSO4 + -log_k 2.7 +Sr+2 + H2O = SrOH+ + H+ + -log_k -13.29 + -gamma 5.0 0 +Sr+2 + CO3-2 + H+ = SrHCO3+ + -log_k 11.509 + -delta_h 2.489 kcal + -analytic 104.6391 0.04739549 -5151.79 -38.92561 563713.9 + -gamma 5.4 0 +Sr+2 + CO3-2 = SrCO3 + -log_k 2.81 + -delta_h 5.22 kcal + -analytic -1.019 0.012826 + -Vm -.1787 -8.2177 8.9799 -2.4393 -.0300 # supcrt +Sr+2 + SO4-2 = SrSO4 + -log_k 2.29 + -delta_h 2.08 kcal + -Vm 6.7910 -.9666 6.1300 -2.7390 -.0010 # celestite solubility +Li+ + SO4-2 = LiSO4- + -log_k 0.64 + -gamma 5.0 0 +Cu+2 + e- = Cu+ + -log_k 2.72 + -delta_h 1.65 kcal + -gamma 2.5 0 +Cu+ + 2Cl- = CuCl2- + -log_k 5.50 + -delta_h -0.42 kcal + -gamma 4.0 0 +Cu+ + 3Cl- = CuCl3-2 + -log_k 5.70 + -delta_h 0.26 kcal + -gamma 5.0 0.0 +Cu+2 + CO3-2 = CuCO3 + -log_k 6.73 +Cu+2 + 2CO3-2 = Cu(CO3)2-2 + -log_k 9.83 +Cu+2 + HCO3- = CuHCO3+ + -log_k 2.7 +Cu+2 + Cl- = CuCl+ + -log_k 0.43 + -delta_h 8.65 kcal + -gamma 4.0 0 + -Vm -4.19 0 30.4 0 0 4 0 0 1.94e-2 1 # ref. 2 +Cu+2 + 2Cl- = CuCl2 + -log_k 0.16 + -delta_h 10.56 kcal + -Vm 26.8 0 -136 # ref. 2 +Cu+2 + 3Cl- = CuCl3- + -log_k -2.29 + -delta_h 13.69 kcal + -gamma 4.0 0 +Cu+2 + 4Cl- = CuCl4-2 + -log_k -4.59 + -delta_h 17.78 kcal + -gamma 5.0 0 +Cu+2 + F- = CuF+ + -log_k 1.26 + -delta_h 1.62 kcal +Cu+2 + H2O = CuOH+ + H+ + -log_k -8.0 + -gamma 4.0 0 +Cu+2 + 2 H2O = Cu(OH)2 + 2 H+ + -log_k -13.68 +Cu+2 + 3 H2O = Cu(OH)3- + 3 H+ + -log_k -26.9 +Cu+2 + 4 H2O = Cu(OH)4-2 + 4 H+ + -log_k -39.6 +2Cu+2 + 2H2O = Cu2(OH)2+2 + 2H+ + -log_k -10.359 + -delta_h 17.539 kcal + -analytical 2.497 0.0 -3833.0 +Cu+2 + SO4-2 = CuSO4 + -log_k 2.31 + -delta_h 1.220 kcal + -Vm 5.21 0 -14.6 # ref. 2 +Cu+2 + 3HS- = Cu(HS)3- + -log_k 25.9 +Zn+2 + H2O = ZnOH+ + H+ + -log_k -8.96 + -delta_h 13.4 kcal +Zn+2 + 2 H2O = Zn(OH)2 + 2 H+ + -log_k -16.9 +Zn+2 + 3 H2O = Zn(OH)3- + 3 H+ + -log_k -28.4 +Zn+2 + 4 H2O = Zn(OH)4-2 + 4 H+ + -log_k -41.2 +Zn+2 + Cl- = ZnCl+ + -log_k 0.43 + -delta_h 7.79 kcal + -gamma 4.0 0 + -Vm 14.8 -3.91 -105.7 -2.62 0.203 4 0 0 -5.05e-2 1 # ref. 2 +Zn+2 + 2 Cl- = ZnCl2 + -log_k 0.45 + -delta_h 8.5 kcal + -Vm -10.1 4.57 241 -2.97 -1e-3 # ref. 2 +Zn+2 + 3Cl- = ZnCl3- + -log_k 0.5 + -delta_h 9.56 kcal + -gamma 4.0 0 + -Vm 0.772 15.5 -0.349 -3.42 1.25 0 -7.77 0 0 1 # ref. 2 +Zn+2 + 4Cl- = ZnCl4-2 + -log_k 0.2 + -delta_h 10.96 kcal + -gamma 5.0 0 + -Vm 28.42 28 -5.26 -3.94 2.67 0 0 0 4.62e-2 1 # ref. 2 +Zn+2 + H2O + Cl- = ZnOHCl + H+ + -log_k -7.48 +Zn+2 + 2HS- = Zn(HS)2 + -log_k 14.94 +Zn+2 + 3HS- = Zn(HS)3- + -log_k 16.1 +Zn+2 + CO3-2 = ZnCO3 + -log_k 5.3 +Zn+2 + 2CO3-2 = Zn(CO3)2-2 + -log_k 9.63 +Zn+2 + HCO3- = ZnHCO3+ + -log_k 2.1 +Zn+2 + SO4-2 = ZnSO4 + -log_k 2.37 + -delta_h 1.36 kcal + -Vm 2.51 0 18.8 # ref. 2 +Zn+2 + 2SO4-2 = Zn(SO4)2-2 + -log_k 3.28 + -Vm 10.9 0 -98.7 0 0 0 24 0 -0.236 1 # ref. 2 +Zn+2 + Br- = ZnBr+ + -log_k -0.58 +Zn+2 + 2Br- = ZnBr2 + -log_k -0.98 +Zn+2 + F- = ZnF+ + -log_k 1.15 + -delta_h 2.22 kcal +Cd+2 + H2O = CdOH+ + H+ + -log_k -10.08 + -delta_h 13.1 kcal +Cd+2 + 2 H2O = Cd(OH)2 + 2 H+ + -log_k -20.35 +Cd+2 + 3 H2O = Cd(OH)3- + 3 H+ + -log_k -33.3 +Cd+2 + 4 H2O = Cd(OH)4-2 + 4 H+ + -log_k -47.35 +2Cd+2 + H2O = Cd2OH+3 + H+ + -log_k -9.39 + -delta_h 10.9 kcal +Cd+2 + H2O + Cl- = CdOHCl + H+ + -log_k -7.404 + -delta_h 4.355 kcal +Cd+2 + NO3- = CdNO3+ + -log_k 0.4 + -delta_h -5.2 kcal + -Vm 5.95 0 -1.11 0 2.67 7 0 0 1.53e-2 1 # ref. 2 +Cd+2 + Cl- = CdCl+ + -log_k 1.98 + -delta_h 0.59 kcal + -Vm 5.69 0 -30.2 0 0 6 0 0 0.112 1 # ref. 2 +Cd+2 + 2 Cl- = CdCl2 + -log_k 2.6 + -delta_h 1.24 kcal + -Vm 5.53 # ref. 2 +Cd+2 + 3 Cl- = CdCl3- + -log_k 2.4 + -delta_h 3.9 kcal + -Vm 4.6 0 83.9 0 0 0 0 0 0 1 # ref. 2 +Cd+2 + CO3-2 = CdCO3 + -log_k 2.9 +Cd+2 + 2CO3-2 = Cd(CO3)2-2 + -log_k 6.4 +Cd+2 + HCO3- = CdHCO3+ + -log_k 1.5 +Cd+2 + SO4-2 = CdSO4 + -log_k 2.46 + -delta_h 1.08 kcal + -Vm 10.4 0 57.9 # ref. 2 +Cd+2 + 2SO4-2 = Cd(SO4)2-2 + -log_k 3.5 + -Vm -6.29 0 -93 0 9.5 7 0 0 0 1 # ref. 2 +Cd+2 + Br- = CdBr+ + -log_k 2.17 + -delta_h -0.81 kcal +Cd+2 + 2Br- = CdBr2 + -log_k 2.9 +Cd+2 + F- = CdF+ + -log_k 1.1 +Cd+2 + 2F- = CdF2 + -log_k 1.5 +Cd+2 + HS- = CdHS+ + -log_k 10.17 +Cd+2 + 2HS- = Cd(HS)2 + -log_k 16.53 +Cd+2 + 3HS- = Cd(HS)3- + -log_k 18.71 +Cd+2 + 4HS- = Cd(HS)4-2 + -log_k 20.9 +Pb+2 + H2O = PbOH+ + H+ + -log_k -7.71 +Pb+2 + 2 H2O = Pb(OH)2 + 2 H+ + -log_k -17.12 +Pb+2 + 3 H2O = Pb(OH)3- + 3 H+ + -log_k -28.06 +Pb+2 + 4 H2O = Pb(OH)4-2 + 4 H+ + -log_k -39.7 +2 Pb+2 + H2O = Pb2OH+3 + H+ + -log_k -6.36 +Pb+2 + Cl- = PbCl+ + -log_k 1.6 + -delta_h 4.38 kcal + -Vm 2.8934 -.7165 6.0316 -2.7494 .1281 6 # supcrt +Pb+2 + 2 Cl- = PbCl2 + -log_k 1.8 + -delta_h 1.08 kcal + -Vm 6.5402 8.1879 2.5318 -3.1175 -.0300 # supcrt +Pb+2 + 3 Cl- = PbCl3- + -log_k 1.7 + -delta_h 2.17 kcal + -Vm 11.0396 19.1743 -1.7863 -3.5717 .7356 # supcrt +Pb+2 + 4 Cl- = PbCl4-2 + -log_k 1.38 + -delta_h 3.53 kcal + -Vm 16.4150 32.2997 -6.9452 -4.1143 2.3118 # supcrt +Pb+2 + CO3-2 = PbCO3 + -log_k 7.24 +Pb+2 + 2 CO3-2 = Pb(CO3)2-2 + -log_k 10.64 +Pb+2 + HCO3- = PbHCO3+ + -log_k 2.9 +Pb+2 + SO4-2 = PbSO4 + -log_k 2.75 +Pb+2 + 2 SO4-2 = Pb(SO4)2-2 + -log_k 3.47 +Pb+2 + 2HS- = Pb(HS)2 + -log_k 15.27 +Pb+2 + 3HS- = Pb(HS)3- + -log_k 16.57 +3Pb+2 + 4H2O = Pb3(OH)4+2 + 4H+ + -log_k -23.88 + -delta_h 26.5 kcal +Pb+2 + NO3- = PbNO3+ + -log_k 1.17 +Pb+2 + Br- = PbBr+ + -log_k 1.77 + -delta_h 2.88 kcal +Pb+2 + 2Br- = PbBr2 + -log_k 1.44 +Pb+2 + F- = PbF+ + -log_k 1.25 +Pb+2 + 2F- = PbF2 + -log_k 2.56 +Pb+2 + 3F- = PbF3- + -log_k 3.42 +Pb+2 + 4F- = PbF4-2 + -log_k 3.1 + +PHASES +Calcite + CaCO3 = CO3-2 + Ca+2 + -log_k -8.48 + -delta_h -2.297 kcal + -analytic -171.9065 -0.077993 2839.319 71.595 + -Vm 36.9 cm3/mol # MW (100.09 g/mol) / rho (2.71 g/cm3) +Aragonite + CaCO3 = CO3-2 + Ca+2 + -log_k -8.336 + -delta_h -2.589 kcal + -analytic -171.9773 -0.077993 2903.293 71.595 + -Vm 34.04 +Dolomite + CaMg(CO3)2 = Ca+2 + Mg+2 + 2 CO3-2 + -log_k -17.09 + -delta_h -9.436 kcal + -Vm 64.5 +Siderite + FeCO3 = Fe+2 + CO3-2 + -log_k -10.89 + -delta_h -2.480 kcal + -Vm 29.2 +Rhodochrosite + MnCO3 = Mn+2 + CO3-2 + -log_k -11.13 + -delta_h -1.430 kcal + -Vm 31.1 +Strontianite + SrCO3 = Sr+2 + CO3-2 + -log_k -9.271 + -delta_h -0.400 kcal + -analytic 155.0305 0.0 -7239.594 -56.58638 + -Vm 39.69 +Witherite + BaCO3 = Ba+2 + CO3-2 + -log_k -8.562 + -delta_h 0.703 kcal + -analytic 607.642 0.121098 -20011.25 -236.4948 + -Vm 46 +Gypsum + CaSO4:2H2O = Ca+2 + SO4-2 + 2 H2O + -log_k -4.58 + -delta_h -0.109 kcal + -analytic 68.2401 0.0 -3221.51 -25.0627 + -Vm 73.9 # 172.18 / 2.33 (Vm H2O = 13.9 cm3/mol) +Anhydrite + CaSO4 = Ca+2 + SO4-2 + -log_k -4.36 + -delta_h -1.710 kcal + -analytic 84.90 0 -3135.12 -31.79 # 50 - 160oC, 1 - 1e3 atm, anhydrite dissolution, Blount and Dickson, 1973, Am. Mineral. 58, 323. + -Vm 46.1 # 136.14 / 2.95 +Celestite + SrSO4 = Sr+2 + SO4-2 + -log_k -6.63 + -delta_h -4.037 kcal +# -analytic -14805.9622 -2.4660924 756968.533 5436.3588 -40553604.0 + -analytic -7.14 6.11e-3 75 0 0 -1.79e-5 # Howell et al., 1992, JCED 37, 464. + -Vm 46.4 +Barite + BaSO4 = Ba+2 + SO4-2 + -log_k -9.97 + -delta_h 6.35 kcal + -analytic 136.035 0.0 -7680.41 -48.595 + -Vm 51.9 +Hydroxyapatite + Ca5(PO4)3OH + 4 H+ = H2O + 3 HPO4-2 + 5 Ca+2 + -log_k -3.421 + -delta_h -36.155 kcal + -Vm 128.9 +Fluorite + CaF2 = Ca+2 + 2 F- + -log_k -10.6 + -delta_h 4.69 kcal + -analytic 66.348 0.0 -4298.2 -25.271 + -Vm 15.7 +SiO2(a) + SiO2 + 2 H2O = H4SiO4 + -log_k -2.71 + -delta_h 3.340 kcal + -analytic -0.26 0.0 -731.0 +Chalcedony + SiO2 + 2 H2O = H4SiO4 + -log_k -3.55 + -delta_h 4.720 kcal + -analytic -0.09 0.0 -1032.0 + -Vm 23.1 +Quartz + SiO2 + 2 H2O = H4SiO4 + -log_k -3.98 + -delta_h 5.990 kcal + -analytic 0.41 0.0 -1309.0 + -Vm 22.67 +Gibbsite + Al(OH)3 + 3 H+ = Al+3 + 3 H2O + -log_k 8.11 + -delta_h -22.800 kcal +Al(OH)3(a) + Al(OH)3 + 3 H+ = Al+3 + 3 H2O + -log_k 10.8 + -delta_h -26.500 kcal +Kaolinite + Al2Si2O5(OH)4 + 6 H+ = H2O + 2 H4SiO4 + 2 Al+3 + -log_k 7.435 + -delta_h -35.300 kcal +Albite + NaAlSi3O8 + 8 H2O = Na+ + Al(OH)4- + 3 H4SiO4 + -log_k -18.002 + -delta_h 25.896 kcal +Anorthite + CaAl2Si2O8 + 8 H2O = Ca+2 + 2 Al(OH)4- + 2 H4SiO4 + -log_k -19.714 + -delta_h 11.580 kcal +K-feldspar + KAlSi3O8 + 8 H2O = K+ + Al(OH)4- + 3 H4SiO4 + -log_k -20.573 + -delta_h 30.820 kcal +K-mica + KAl3Si3O10(OH)2 + 10 H+ = K+ + 3 Al+3 + 3 H4SiO4 + -log_k 12.703 + -delta_h -59.376 kcal +Chlorite(14A) + Mg5Al2Si3O10(OH)8 + 16H+ = 5Mg+2 + 2Al+3 + 3H4SiO4 + 6H2O + -log_k 68.38 + -delta_h -151.494 kcal +Ca-Montmorillonite + Ca0.165Al2.33Si3.67O10(OH)2 + 12 H2O = 0.165Ca+2 + 2.33 Al(OH)4- + 3.67 H4SiO4 + 2 H+ + -log_k -45.027 + -delta_h 58.373 kcal +Talc + Mg3Si4O10(OH)2 + 4 H2O + 6 H+ = 3 Mg+2 + 4 H4SiO4 + -log_k 21.399 + -delta_h -46.352 kcal +Illite + K0.6Mg0.25Al2.3Si3.5O10(OH)2 + 11.2H2O = 0.6K+ + 0.25Mg+2 + 2.3Al(OH)4- + 3.5H4SiO4 + 1.2H+ + -log_k -40.267 + -delta_h 54.684 kcal +Chrysotile + Mg3Si2O5(OH)4 + 6 H+ = H2O + 2 H4SiO4 + 3 Mg+2 + -log_k 32.2 + -delta_h -46.800 kcal + -analytic 13.248 0.0 10217.1 -6.1894 +Sepiolite + Mg2Si3O7.5OH:3H2O + 4 H+ + 0.5H2O = 2 Mg+2 + 3 H4SiO4 + -log_k 15.760 + -delta_h -10.700 kcal +Sepiolite(d) + Mg2Si3O7.5OH:3H2O + 4 H+ + 0.5H2O = 2 Mg+2 + 3 H4SiO4 + -log_k 18.66 +Hematite + Fe2O3 + 6 H+ = 2 Fe+3 + 3 H2O + -log_k -4.008 + -delta_h -30.845 kcal +Goethite + FeOOH + 3 H+ = Fe+3 + 2 H2O + -log_k -1.0 + -delta_h -14.48 kcal +Fe(OH)3(a) + Fe(OH)3 + 3 H+ = Fe+3 + 3 H2O + -log_k 4.891 +Pyrite + FeS2 + 2 H+ + 2 e- = Fe+2 + 2 HS- + -log_k -18.479 + -delta_h 11.300 kcal +FeS(ppt) + FeS + H+ = Fe+2 + HS- + -log_k -3.915 +Mackinawite + FeS + H+ = Fe+2 + HS- + -log_k -4.648 +Sulfur + S + 2H+ + 2e- = H2S + -log_k 4.882 + -delta_h -9.5 kcal +Vivianite + Fe3(PO4)2:8H2O = 3 Fe+2 + 2 PO4-3 + 8 H2O + -log_k -36.0 +Pyrolusite # H2O added for surface calc's + MnO2:H2O + 4 H+ + 2 e- = Mn+2 + 3 H2O + -log_k 41.38 + -delta_h -65.110 kcal +Hausmannite + Mn3O4 + 8 H+ + 2 e- = 3 Mn+2 + 4 H2O + -log_k 61.03 + -delta_h -100.640 kcal +Manganite + MnOOH + 3 H+ + e- = Mn+2 + 2 H2O + -log_k 25.34 +Pyrochroite + Mn(OH)2 + 2 H+ = Mn+2 + 2 H2O + -log_k 15.2 +Halite + NaCl = Cl- + Na+ + log_k 1.570 + -delta_h 1.37 + #-analytic -713.4616 -.1201241 37302.21 262.4583 -2106915. + -Vm 27.1 +Sylvite + KCl = K+ + Cl- + log_k 0.900 + -delta_h 8.5 + # -analytic 3.984 0.0 -919.55 + Vm 37.5 +CO2(g) + CO2 = CO2 + -log_k -1.468 + -delta_h -4.776 kcal + -analytic 109.534 1.9913e-2 -6986.04 -40.83 669370 + -T_c 304.2 # critical T, K + -P_c 72.86 # critical P, atm + -Omega 0.225 # acentric factor +H2O(g) + H2O = H2O + -log_k 1.506; delta_h -44.03 kJ + -T_c 647.3 + -P_c 217.60 + -Omega 0.344 + -analytic -16.5066 -2.0013E-3 2710.7 3.7646 0 2.24E-6 + +# Gases from LLNL... +O2(g) + O2 = O2 + -log_k -2.8983 + -analytic -7.5001 7.8981e-3 0.0 0.0 2.0027e5 + -T_c 154.6 + -P_c 49.80 + -Omega 0.021 +### MDL species added just for syntax - without parenthesis +O2g + O2 = O2 + log_k -2.8983 + -analytic -7.5001 7.8981e-3 0.0 0.0 2.0027e+5 + -T_c 154.6 + -P_c 49.80 + -Omega 0.021 +H2(g) + H2 = H2 + -log_k -3.1050 + -delta_h -4.184 kJ + -analytic -9.3114 4.6473e-3 -49.335 1.4341 1.2815e5 + -T_c 33.2 + -P_c 12.80 + -Omega -0.225 +N2(g) + N2 = N2 + -log_k -3.1864 + -analytic -58.453 1.818e-3 3199 17.909 -27460 + -T_c 126.2 + -P_c 33.50 + -Omega 0.039 +H2S(g) + H2S = H+ + HS- + -log_k -7.9759 + -analytic -97.354 -3.1576e-2 1.8285e3 37.44 28.56 + -T_c 373.2 + -P_c 88.20 + -Omega 0.1 +CH4(g) + CH4 = CH4 + -log_k -2.8502 + -analytic -24.027 4.7146e-3 372.27 6.4264 2.3362e5 + -T_c 190.6 + -P_c 45.40 + -Omega 0.008 +NH3(g) + NH3 = NH3 + -log_k 1.7966 + -analytic -18.758 3.3670e-4 2.5113e3 4.8619 39.192 + -T_c 405.6 + -P_c 111.3 + -Omega 0.25 +#Amm(g) +# Amm = Amm +# -log_k 1.7966 +# -analytic -18.758 3.3670e-4 2.5113e3 4.8619 39.192 +# -T_c 405.6 +# -P_c 111.3 +# -Omega 0.25 +# redox-uncoupled gases +Oxg(g) + Oxg = Oxg + -analytic -7.5001 7.8981e-3 0.0 0.0 2.0027e5 + -T_c 154.6 ; -P_c 49.80 ; -Omega 0.021 +Hdg(g) + Hdg = Hdg + -analytic -9.3114 4.6473e-3 -49.335 1.4341 1.2815e5 + -T_c 33.2 ; -P_c 12.80 ; -Omega -0.225 +Ntg(g) + Ntg = Ntg + -analytic -58.453 1.81800e-3 3199 17.909 -27460 + T_c 126.2 ; -P_c 33.50 ; -Omega 0.039 +Mtg(g) + Mtg = Mtg + -analytic -24.027 4.7146e-3 3.7227e2 6.4264 2.3362e5 + -T_c 190.6 ; -P_c 45.40 ; -Omega 0.008 +H2Sg(g) + H2Sg = H+ + HSg- + -analytic -97.354 -3.1576e-2 1.8285e3 37.44 28.56 + -T_c 373.2 ; -P_c 88.20 ; -Omega 0.1 +Melanterite + FeSO4:7H2O = 7 H2O + Fe+2 + SO4-2 + -log_k -2.209 + -delta_h 4.910 kcal + -analytic 1.447 -0.004153 0.0 0.0 -214949.0 +Alunite + KAl3(SO4)2(OH)6 + 6 H+ = K+ + 3 Al+3 + 2 SO4-2 + 6H2O + -log_k -1.4 + -delta_h -50.250 kcal +Jarosite-K + KFe3(SO4)2(OH)6 + 6 H+ = 3 Fe+3 + 6 H2O + K+ + 2 SO4-2 + -log_k -9.21 + -delta_h -31.280 kcal +Zn(OH)2(e) + Zn(OH)2 + 2 H+ = Zn+2 + 2 H2O + -log_k 11.5 +Smithsonite + ZnCO3 = Zn+2 + CO3-2 + -log_k -10.0 + -delta_h -4.36 kcal +Sphalerite + ZnS + H+ = Zn+2 + HS- + -log_k -11.618 + -delta_h 8.250 kcal +Willemite 289 + Zn2SiO4 + 4H+ = 2Zn+2 + H4SiO4 + -log_k 15.33 + -delta_h -33.37 kcal +Cd(OH)2 + Cd(OH)2 + 2 H+ = Cd+2 + 2 H2O + -log_k 13.65 +Otavite 315 + CdCO3 = Cd+2 + CO3-2 + -log_k -12.1 + -delta_h -0.019 kcal +CdSiO3 328 + CdSiO3 + H2O + 2H+ = Cd+2 + H4SiO4 + -log_k 9.06 + -delta_h -16.63 kcal +CdSO4 329 + CdSO4 = Cd+2 + SO4-2 + -log_k -0.1 + -delta_h -14.74 kcal +Cerrusite 365 + PbCO3 = Pb+2 + CO3-2 + -log_k -13.13 + -delta_h 4.86 kcal +Anglesite 384 + PbSO4 = Pb+2 + SO4-2 + -log_k -7.79 + -delta_h 2.15 kcal +Pb(OH)2 389 + Pb(OH)2 + 2H+ = Pb+2 + 2H2O + -log_k 8.15 + -delta_h -13.99 kcal + +RATES +Calcite +-start + 10 moles=0 + 20 IF ((M<=0) and (SI("Calcite")<0)) then goto 200 + 30 R=8.314462 # in J*K-1*mol-1 + 40 deltaT=1/TK-1/298.15 # wird für 40°C berechnet; TK is temp in Kelvin + 50 e=2.718282 # Eulersche Zahl + ## mechanism 1 (acid) + 60 Ea=14400 # Aktivierungsenergie in J/mol => 65.0 in KJ/mol + 70 logK25=-0.3 # Reaktionskonstante 25C mol/m2/s + 90 mech_a=(10^logK25)*(e^(-Ea/R*deltaT))*ACT("H+") ## removed exponent + ## base term (neutral mechanism) + 100 Ea=23500 + 110 logK25=-5.81 + 120 mech_c=(10^logK25)*(e^(-Ea/R*deltaT)) + 130 rate=mech_a+mech_c + 140 IF (SI("Calcite")<0 AND M>0) then moles=parm(1)*rate*(1-SR("Calcite")) # dissolution + ## 145 IF SI("Calcite")>0 then moles=parm(1)*M*rate*(-1+SR("Calcite")) # precipitation + ## 150 moles=parm(1)*rate*(1-SR("Calcite")) # precipitation + 200 save moles*time +-end + +Dolomite +-start + 10 moles=0 + 20 IF ((M<=0) and (SI("Dolomite")<0)) then goto 200 + 30 R=8.314462 # in J*K-1*mol-1 + 40 deltaT=1/TK-1/298.15 # wird für 40°C berechnet; TK is temp in Kelvin + 50 e=2.718282 # Eulersche Zahl + ## mechanism 1 (acid) + 60 Ea=36100 # Aktivierungsenergie in J/mol => 65.0 in KJ/mol + 70 logK25=-3.19 # Reaktionskonstante 25C mol/m2/s + 90 mech_a=(10^logK25)*(e^(-Ea/R*deltaT))*ACT("H+")^0.5 ## removed exponent + ## base term (neutral mechanism) + 100 Ea=52200 + 110 logK25=-7.53 + 120 mech_c=(10^logK25)*(e^(-Ea/R*deltaT)) + 130 rate=mech_a+mech_c + ## 140 IF SI("Dolomite")<0 then moles=parm(1)*rate*(1-SR("Dolomite")) # dissolution + ## 140 IF SI("Dolomite")<0 then moles=parm(1)*rate*(1-SR("Dolomite")) # dissolution + 150 moles=parm(1)*rate*(1-SR("Dolomite")) # precipitation + 200 save moles*time +-end + +END diff --git a/bin/run_poet.sh b/bin/run_poet.sh new file mode 100644 index 000000000..196300e7f --- /dev/null +++ b/bin/run_poet.sh @@ -0,0 +1,19 @@ +#!/bin/bash +#SBATCH --job-name=dolo_proto1_eps01 +#SBATCH --output=dolo_proto1_eps01_%j.out +#SBATCH --error=dolo_proto1_eps01_%j.err +#SBATCH --partition=long +#SBATCH --nodes=6 +#SBATCH --ntasks-per-node=24 +#SBATCH --ntasks=144 +#SBATCH --exclusive +#SBATCH --time=3-00:00:00 + + +source /etc/profile.d/modules.sh +module purge +module load cmake gcc openmpi + +#mpirun -n 144 ./poet dolo_fgcs_3.R dolo_fgcs_3.qs2 dolo_only_pqc +mpirun -n 144 ./poet --interp dolo_fgcs_3.R dolo_fgcs_3.qs2 dolo_proto1_eps01 +#mpirun -n 144 ./poet --interp barite_fgcs_4_new/barite_fgcs_4_new_rt.R barite_fgcs_4_new/barite_fgcs_4_new.qs2 barite \ No newline at end of file