PhreeqcUsers Discussion Forum

Registrations currently disabled due to excessive spam. Please email phreeqcusers at gmail.com to request an account.
Welcome Guest
 

  • Forum Home
  • Login
  • Register

  • PhreeqcUsers Discussion Forum »
  • Processes »
  • Surface Complexation »
  • Creating Model Curve to Match Isotherm Points
« previous next »
  • Print
Pages: [1]   Go Down

Author Topic: Creating Model Curve to Match Isotherm Points  (Read 2635 times)

awillou4

  • Frequent Contributor
  • Posts: 16
Creating Model Curve to Match Isotherm Points
« on: 17/12/17 18:02 »
Hello PHREEQC community,

I've created PHREEQC isotherms with 5 different liquid/solid ratios by mixing 5 different solid masses with my solution (simulating my experimental isotherms).  The results allow me to generate 5 pt isotherms.  On top of these isotherms, I'd like to include a model curve showing the range of L/S concentration possibilities.  This curve would naturally include my 5 isotherm points.

To create such a curve I attempted to use the REACTION command to vary all GW constituents within the solution; however I was unable to generate a curve which matched my 5 points.  I next attempted to use the REACTION command to titrate in only one constituent at a time, while leaving other constituents constant in solution.  Still no match.  I also tried adding water to the REACTION command in an attempt to dilute the solution while I titrate in the other constituents.  This doesn't appear to be working yet; however I plan on revisiting my calculations.

I'm now wondering if there is a way to add a SURFACE in the same titration step fashion that the REACTION command adds solutes.  Since this is the parameter I varied to create my isotherms, I imagine such a method would match to my points.

Alternatively, I could also react different volumes of my GW solution with my solid in steps.  Is there a way to accomplish this?

It's quite possible that one of the methods I've already attempted is viable; however I've simply made a calculation error when determining relative stoichiometry within the REACTION command.  I will be double checking everything, but if one of them is viable let me know so I can focus on it.

Thanks in advance for your help!  Below is my input for clarification.  I've also attached my database and a tsv with the 5 isotherm points that the curve should match in case they are helpful.

SOLUTION_SPECIES
#As3  secondary master species   487
   H3AsO4 + H2 = H3AsO3 + H2O
   #log_k   22.5
        log_k   100.
   delta_h   -117.480344   kJ

SOLUTION_SPECIES
#V5  secondary master species   487
   VO2+ + e- + 2H+ = VO+2 + H2O
   #log_k   16.9
        log_k   -100.
   delta_h   -122.7   kJ


SOLUTION 1
    temp      25
    pH        6.27
    pe        4
    redox     pe
    units     ppm
    density   1
#    As(3)     0.403
#    B         0.397
#    C(4)      10
#    Ca        20
#    Cd        0.446
#    Cr        0.516
#    Mg        5
#    Mo        0.389
#    Na        10
#    S(6)      25
#    Se        0.636
#    Tl        0.624
#    V(5)      0.245
    -water    0.2 # kg


REACTION 1
    B          6.83
    CO3-2      30.47
    Ca         92.77
    Cd         0.74
    Cr         1.84
    H3AsO3     1
    Mg         38.25
    Mo         0.75
    Na         80.87
    SO4-2      48.39
#    Se         1.5
    Tl         0.57
    VO2+       0.89
    3 micromoles in 400 steps

SURFACE 1
    Hfo_wOH    1e-006    600       0.000445
    Hfo_sOH    2.50E-08

USER_GRAPH 1 As sorption at fixed pe pH
    -axis_titles            "Dissolved As, in micrograms per kilogram water" "Sorbed As, in micrograms per gram soil" ""
    -chart_title            "Deterministic Aresenic Sorption Model - fixed eh & pH"
    -axis_scale x_axis      0 400 auto auto
    -axis_scale y_axis      0 20 auto auto
    -initial_solutions      true
    -plot_csv_file          Allen AB-29D As Modelled Isotherm.tsv
    -start
10 x = TOT("As") * 74.92e6
20 Hfo_As = (mol("Hfo_wH2AsO3")+mol("Hfo_wH2AsO4")+mol("Hfo_wHAsO4-")+mol("Hfo_wOHAsO4-3"))*74.92e6
30 PLOT_XY x, Hfo_As, color = Black, line_width = 2, symbol = None
    -end
Logged

dlparkhurst

  • Global Moderator
  • *****
  • Posts: 4036
Re: Creating Model Curve to Match Isotherm Points
« Reply #1 on: 17/12/17 19:08 »
First, adding the solution through REACTION is probably not a good idea. REACTION does not consider the charges that you entered for the constituents, only the elements. Unless the REACTION is precisely balanced, you will generate some unusual pH and redox reactions.

You can generate different liquid solid ratios, most simply by using MIX.

SOLUTION 1
...
END
SURFACE 1
...
END
MIX
1 0.5
USE surface 1
END

This would add approximately 0.5 L of solution and react with the surface.

It would be tedious to do this 400 times, but certainly possible. Ten increments might suffice.

Another option is to make the SURFACE related to an amount of a sparingly soluble mineral. You could then use EQUILIBRIUM_PHASES with that mineral and add the mineral as a REACTION in multiple steps. Virtually all of the mineral will precipitate, the SURFACE will increase proportionately.
Logged

awillou4

  • Frequent Contributor
  • Posts: 16
Re: Creating Model Curve to Match Isotherm Points
« Reply #2 on: 22/12/17 20:11 »
Thank you as always Dr. Parkhurst!  The MIX command method was easy enough to generate a curve with.  Have a wonderful holiday.
Logged

  • Print
Pages: [1]   Go Up
« previous next »
  • PhreeqcUsers Discussion Forum »
  • Processes »
  • Surface Complexation »
  • Creating Model Curve to Match Isotherm Points
 

  • SMF 2.0.19 | SMF © 2021, Simple Machines | Terms and Policies
  • XHTML
  • RSS
  • WAP2