ex12

TITLE Example 12.--Advective and diffusive transport of heat and solutes.
      Constant boundary condition at one end, closed at other.
      The problem is designed so that temperature should equal Na-conc
      (in mmol/kgw) after diffusion.
EXCHANGE_SPECIES
  Na+ + X- = NaX
    log_k       0.0
    -gamma      4.0     0.075
  H+ + X- = HX
    log_k       -99.
    -gamma      9.0     0.0
  K+ + X- = KX
    log_k       0.0
    -gamma       3.5     0.015
SOLUTION 0   24.0 mM KNO3
    units mol/kgw
    temp  0                 # Incoming solution 0C
    pH    7.0
    pe   12.0   O2(g) -0.67
    K    24.e-3
    N(5) 24.e-3
SOLUTION 1-20   0.001 mM KCl
    units mol/kgw
    temp 25    # Column is at 25C
    pH   7.0
    pe  12.0   O2(g) -0.67
    K    1e-6
    Cl   1e-6
EXCHANGE 1-20
    KX    0.048
TRANSPORT                   # Make column temperature 0C, displace Cl
   -cells   20
   -shifts  19
   -flow_d  forward
   -bcon    flux  flux
   -length  1.0
   -disp    0.0             # No dispersion
   -diffc   0.0             # No diffusion
   -thermal_diffusion   1.0 # No retardation for heat
PRINT
   -reset   false
   -echo    true
END
SOLUTION 0   Fixed temp 24C, and NaCl conc (first type boundary cond) at inlet
    units  mol/kgw
    temp 24
    pH  7.0
    pe  12.0   O2(g) -0.67
    Na  24.e-3
    Cl  24.e-3
SOLUTION 20  Same as soln 0 in cell 20 at closed column end (second type boundary cond)
    units  mol/kgw
    temp 24
    pH  7.0
    pe  12.0   O2(g) -0.67
    Na  24.e-3
    Cl  24.e-3
EXCHANGE 20
    NaX    0.048
TRANSPORT                   # Diffuse 24C, NaCl solution from column end
   -shifts 1
   -flow_d diffusion
   -bcon   constant  closed
   -thermal_diffusion  3.0  # heat is retarded equal to Na
   -diffc  0.3e-9           # m^2/s
   -timest 1.0e+10          # 317 years, 19 substeps will be used
SELECTED_OUTPUT
   -file    ex12.sel
   -high_precision  true
   -reset   false
   -dist    true
   -temp    true
USER_PUNCH
   -head Na_mmol K_mmol Cl_mmol
   10 PUNCH TOT("Na")*1000, TOT("K")*1000, TOT("Cl")*1000
END