Conceptual Models > Kinetics and rate controlling factors

kinetic dissolution of multicomponent glass

(1/1)

OLIVIA_RH:
Hello, I have written a script to model the dissolution of a glass as an alkaline solution flows through it. In order to do this, I added a new phase to the LLNL database called MultiGlass. I then input the rate equation for dissolution of this phase and input the parms into the kinetic block, in addition to initial moles of the glass (which has a GFW of ~85 g/mol).
 
Currently the script is failing to converge but i cannot trace the route cause of this. In the manual, i see that "no convergence" may reflect very small concentrations in the system. I have iterated through different values for m0 and parm(10) but this has not resolved the issue. Although i use these parameter values in other softwares and they return a result, I think there must be something wrong with the way i have computed the rate equation in this example.

Any help or direction on resources to help fix this would be greatly appreciated.

Thank you,
Olivia
--- Code: ---DATABASE C:\iCP\ORH Example - Silica Dissolution\phreeqc\LLNL_mod.dat

SOLUTION 0 #boundary water
    temp      100
    pH        11.0
    units     mol/kgw
    density   1
    Si        1e-6
    Cl        1e-6
    Na        0.1 charge
    -water    1 # kg

SOLUTION 1-40
    temp      100
    pH        7
    pe        4
    redox     pe
    units     mol/kgw
    density   1
    Na       1e-6
    Cl        1e-6
    Si       1e-6
    -water    1 # kg

#EQUILIBRIUM_PHASES 1-40
# MultiGlass 0.0 3.5 dissolve_only
   
KINETICS 1-40
MultiGlass
       #-formula
       #-m     
       -m0    1
       -parms 4.03e-4 0.105 45600 80000 0.30 -0.4 8.314 1 1e3 0.085   
       

RATES
MultiGlass
    # parms(1): Aa = 4.03e-4 mol/m2/s
    # parms(2): Ac = 0.105 mol/m2/s
    # parms(3): Eaa = 45600 J/mol
    # parms(4): Eac = 80000 J/mol
    # parms(5): na = 0.30
    # parms(6): nc = -0.4
    # parms(7): R   = 8.314 J/mol/K
    # parms(8): sigma = 1
    # parms(9): spec As = m2/kg
    # parms(10): mass of MultiGlass = kg - for 1 mol = 85 g
-start
1 Aa     = parm(1)
2 Ac     = parm(2)
3 Eaa    = parm(3)
4 Eac    = parm(4)
4 na     = parm(5)
6 nc     = parm(6)
7 Rg     = parm(7)
8 sigma  = parm(8)

9 T = TK       # convert ?C to K
10 Hydrogen = ACT("H+")
       
# pass specific surface in m?/kg:
11 sa = parm(9)

# Compute the saturation ratio for MultiGlass:
13 qok  = SR("MultiGlass") 
       
# Calculate the individual rate contributions:
14 k_a = Aa * (Hydrogen^na) * EXP(-Eaa/(Rg*T))
15 k_c = Ac * (Hydrogen^nc) * EXP(-Eac/(Rg*T))       
16 rateplus = k_a + k_c

17 mass_rock = parm(10)
18 rate = rateplus * (1 - qok^(1/sigma)) * sa * mass_rock * 0.70 * GFW("SiO2") * 1e-3
#19 save rate
20 save rate * TIME
-end


TRANSPORT
-cells 40
-length 0.002
-shifts 120
-time_step 720.0
-flow_direction forward
-boundary_cond flux flux
-diffc 0.0e-9
-dispersivity 0.002
-correct_disp true
-punch 40
END

--- End code ---
and the new phase MultiGlass was added to LLNL.dat:

--- Code: ---MultiGlass
SiO2Al0.1326504481Fe0.0022Fe0.0257Mn0.0037772087Ca0.0027055058Na0.1864276569K0.0765685019(PO4)0.0001(OH)0.7316129321 + 0.7316129321H+ = SiO2(aq) + 0.1326504481Al+3 + 0.0022Fe+3 + 0.0257Fe+2 + 0.0037772087Mn+2 + 0.0027055058Ca+2 + 0.1864276569Na+ +  0.0765685019K+ + 0.0001PO4-3  + 0.7316129321H2O
log_k 6.6731
-delta_H -2.297 kJ/mol # Calculated enthalpy of reaction #from where
# Enthalpy of formation:
        -analytic -623.7513 -0.0768 41744.3699 219.6997 -2695700.6140
#       -Range:  0-300

--- End code ---

dlparkhurst:
Your rate is about 200 mol/s. Use PRINT statements to debug your RATES definition.


--- Code: ---#DATABASE C:\iCP\ORH Example - Silica Dissolution\phreeqc\LLNL_mod.dat
PHASES
MultiGlass
SiO2Al0.1326504481Fe0.0022Fe0.0257Mn0.0037772087Ca0.0027055058Na0.1864276569K0.0765685019(PO4)0.0001(OH)0.7316129321 + 0.7316129321H+ = SiO2(aq) + 0.1326504481Al+3 + 0.0022Fe+3 + 0.0257Fe+2 + 0.0037772087Mn+2 + 0.0027055058Ca+2 + 0.1864276569Na+ +  0.0765685019K+ + 0.0001PO4-3  + 0.7316129321H2O
log_k 6.6731
-delta_H -2.297 kJ/mol # Calculated enthalpy of reaction #from where
# Enthalpy of formation:
        -analytic -623.7513 -0.0768 41744.3699 219.6997 -2695700.6140
#       -Range:  0-300
RATES
MultiGlass
    # parms(1): Aa = 4.03e-4 mol/m2/s
    # parms(2): Ac = 0.105 mol/m2/s
    # parms(3): Eaa = 45600 J/mol
    # parms(4): Eac = 80000 J/mol
    # parms(5): na = 0.30
    # parms(6): nc = -0.4
    # parms(7): R   = 8.314 J/mol/K
    # parms(8): sigma = 1
    # parms(9): spec As = m2/kg
    # parms(10): mass of MultiGlass = kg - for 1 mol = 85 g
-start
1 Aa     = parm(1)
2 Ac     = parm(2)
3 Eaa    = parm(3)
4 Eac    = parm(4)
4 na     = parm(5)
6 nc     = parm(6)
7 Rg     = parm(7)
8 sigma  = parm(8)

9 T = TK       # convert ?C to K
10 Hydrogen = ACT("H+")
       
# pass specific surface in m?/kg:
11 sa = parm(9)

# Compute the saturation ratio for MultiGlass:
13 qok  = SR("MultiGlass")
       
# Calculate the individual rate contributions:
14 k_a = Aa * (Hydrogen^na) * EXP(-Eaa/(Rg*T))
15 k_c = Ac * (Hydrogen^nc) * EXP(-Eac/(Rg*T))       
16 rateplus = k_a + k_c

17 mass_rock = parm(10)
18 rate = rateplus * (1 - qok^(1/sigma)) * sa * mass_rock * 0.70 * GFW("SiO2") * 1e-3
#19 save rate
20 save rate * TIME
30 PRINT rate, sa, mass_rock, (1 - qok^(1/sigma))
-end
END
SOLUTION 0 #boundary water
    temp      100
    pH        11.0
    units     mol/kgw
    density   1
    Si        1e-6
    Cl        1e-6
    Na        0.1 charge
    -water    1 # kg

SOLUTION 1-40
    temp      100
    pH        7
    pe        4
    redox     pe
    units     mol/kgw
    density   1
    Na       1e-6
    Cl        1e-6
    Si       1e-6
    -water    1 # kg

#EQUILIBRIUM_PHASES 1-40
# MultiGlass 0.0 3.5 dissolve_only
   
KINETICS 1-40
MultiGlass
       #-formula
       #-m     
       -m0    1
       -parms 4.03e-4 0.105 45600 80000 0.30 -0.4 8.314 1 1e3 0.085   
-time_step 1
-cvode     
END

--- End code ---

Navigation

[0] Message Index

Go to full version