surfacearea.ppi

# calculates how the solution concn of As changes as the surface area of Hfo
# (but not the surface properties) is reduced in a closed system.
SPECIATION
  JobTitle                             "Diagenesis"
  calculationType                      custom
  calculationMethod                    1
  xmin                                 10.0                          # minimum surface area, see below
  xmax                                 600.0                         # maximum surface area
  resolution                           100

  numericTags                          <mass> = 1 \
                                       <molecular_wt> = 89 \
                                       <initial_site_density_per_mol> = 0.2 \
                                       <initial_surface_area> = 600 \
                                       <initial_site_density_per_g> = <initial_site_density_per_mol>/<molecular_wt> \
                                       <initial_sites> = <initial_site_density_per_g>*<mass> \
                                       <site_density_per_m2> = <initial_site_density_per_g>/<initial_surface_area> \
                                       <surface_area> = <x_axis> \
                                       <sites> = <surface_area>*<site_density_per_m2>*<mass>
PLOT
  plotTitle                            "As desorption as the surface area decreases"
  xtitle                               "Surface area (m<sup>2</sup> g<sup>-1</sup>)"
  ytitle                               "As (\mg L<sup>-1</sup>)"
  pymax                                5000.0                        # truncate the highest values
  customxColumn                        surface_area
  lines                                As
  lineWidth                            0.6
  lineColor                            red
  legendTextSize                       0.0
  extraText                            "extratextsurfacearea.dat"

CHEMISTRY

PRINT
# -reset false
PHASES
Fix_H+
  H+ = H+
  log_k 0.0

SELECTED_OUTPUT
    -high_precision       true
    -reset                false
USER_PUNCH
-headings   totAs totP
-start
10 totAs=SYS("As",n,n$,t$,c)
20 totP=SYS("P",n,n$,t$,c)
30 punch totAs, totP
-end

# first simulation - set up initial conditions
SOLUTION 1
  temp      25
  pH        7.0
  units     mol/kgw
  density   1
  Na        1e-2
  N(5)      1e-2
# Equilibrate Hfo with low As and P
  As        1 ug/kgw
  P         0 ug/kgw                                                 # P has an important effect
  -water   1 kg

EQUILIBRIUM_PHASES 1
  Fix_H+   -7.0 NaOH 10
   -force_equality true
  O2(g)    -0.67 10

SURFACE 1
  Hfo_w <initial_sites> <initial_surface_area> <mass>
   -equilibrate 1
END


# second simulation - now start reducing surface area always starting from the initial state
USER_PUNCH
  -headings  surface_area As
  -start
  10 As=tot("As")*74.9216*1e6
  20 punch <surface_area> As
  -end

SOLUTION 1
    temp      25
    pH        7.0
    units     mol/kgw
    density   1
    Na        1e-2
    N(5)      1e-2
    As        <totAs>                                                # tag name from selected output file headings above
    P         <totP>                                                 # mol/kgw
    -water    1                                                      # kg

EQUILIBRIUM_PHASES 1
  Fix_H+   -7.0 NaOH 10                                              # keep a constant pH
  O2(g)    -0.67 10

SURFACE 1
  Hfo_w <sites> <surface_area> <mass>
END