mirror of
https://git.gfz-potsdam.de/naaice/iphreeqc.git
synced 2025-12-16 00:28:23 +01:00
git-subtree-dir: phreeqc3-examples git-subtree-mainline: 8de0e98ed90bb2b639659c820168ab18c1062992 git-subtree-split: e977363da4c1ae1708ebddca38d5312b6813a337
171 lines
5.7 KiB
Plaintext
171 lines
5.7 KiB
Plaintext
Input file: ../examples/ex12a
|
|
Output file: ex12a.out
|
|
Database file: ../database/phreeqc.dat
|
|
|
|
------------------
|
|
Reading data base.
|
|
------------------
|
|
|
|
SOLUTION_MASTER_SPECIES
|
|
SOLUTION_SPECIES
|
|
PHASES
|
|
EXCHANGE_MASTER_SPECIES
|
|
EXCHANGE_SPECIES
|
|
SURFACE_MASTER_SPECIES
|
|
SURFACE_SPECIES
|
|
RATES
|
|
END
|
|
------------------------------------
|
|
Reading input data for simulation 1.
|
|
------------------------------------
|
|
|
|
TITLE Example 12a.--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. Compares with analytical solution
|
|
for 20-cell and 60-cell models.
|
|
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 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 1-19 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
|
|
EXCHANGE 1-19
|
|
KX 0.048
|
|
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
|
|
PRINT
|
|
reset false
|
|
status false
|
|
COPY solution 20 58-60 # for 60-cell model
|
|
COPY exchange 20 58-60 # for 60-cell model
|
|
END
|
|
TRANSPORT # Diffuse 24C, NaCl solution from column ends
|
|
cells 20
|
|
shifts 1
|
|
flow_direction diffusion
|
|
boundary_conditions constant closed
|
|
lengths 1.0
|
|
thermal_diffusion 3.0 # Heat is retarded equal to Na
|
|
dispersivities 0.0 # No dispersion
|
|
diffusion_coefficient 0.3e-9 # m^2/s
|
|
time_step 1.0e+10 # 317 years, 19 substeps will be used
|
|
SELECTED_OUTPUT
|
|
WARNING: Cell-lengths were read for 1 cells. Last value is used till cell 20.
|
|
WARNING: Dispersivities were read for 1 cells. Last value is used till cell 20.
|
|
file ex12a.sel
|
|
high_precision true
|
|
reset false
|
|
distance true
|
|
temperature true
|
|
USER_PUNCH
|
|
heading Na_mmol K_mmol Cl_mmol error_Cl error_Na
|
|
10 PUNCH TOT("Na")*1000, TOT("K")*1000, TOT("Cl")*1000
|
|
20 x = DIST
|
|
30 if (x > 8.5 OR SIM_TIME <= 0) THEN END
|
|
40 IF (ABS(x MOD 0.5) > 1e-3) OR (TC <= 0) THEN END
|
|
50 DATA 0.254829592, -0.284496736, 1.421413741, -1.453152027, 1.061405429, 0.3275911
|
|
60 READ a1, a2, a3, a4, a5, a6
|
|
70 REM calculate error in Cl
|
|
80 z = x / (2*SQRT(3e-10 * SIM_TIME / 1.0))
|
|
90 GOSUB 2000 # erfc(z)...
|
|
100 erfc_Cl = erfc
|
|
110 REM calculate error in Na, 3 times retarded
|
|
120 z = z * SQRT(3.0)
|
|
130 GOSUB 2000 # erfc(z)...
|
|
140 erfc_Na = erfc
|
|
150 REM punch results
|
|
160 error_Cl = 0.024 * erfc_Cl - TOT("Cl")
|
|
170 error_Na = 0.024 * erfc_Na - TOT("Na")
|
|
180 PUNCH error_Cl, error_Na
|
|
190 REM store results
|
|
200 j = x - 0.5
|
|
210 PUT(error_Cl, SIM_NO, j, 1)
|
|
220 PUT(error_Na, SIM_NO, j, 2)
|
|
500 END
|
|
2000 REM calculate erfc...
|
|
2050 b = 1 / (1 + a6 * z)
|
|
2060 erfc = b * (a1 + b * (a2 + b * (a3 + b * (a4 + b * a5)))) * EXP(-(z * z))
|
|
2080 RETURN
|
|
END
|
|
SELECTED_OUTPUT
|
|
active false # See also PRINT; selected_output false
|
|
SOLUTION 1-57 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
|
|
EXCHANGE 1-57
|
|
KX 0.048
|
|
END
|
|
TRANSPORT # no need to redefine parameters that don't change from 20 cell model
|
|
cells 60
|
|
lengths 0.33333333333333333
|
|
punch_cells 1-60
|
|
SELECTED_OUTPUT
|
|
WARNING: Cell-lengths were read for 1 cells. Last value is used till cell 60.
|
|
WARNING: No dispersivities were read; disp = 0 assumed.
|
|
active true # See also PRINT; selected_output false
|
|
END
|
|
SOLUTION # Initial solution calculation for pure water
|
|
PRINT
|
|
reset false # Initial solution calculation not printed
|
|
user_print true
|
|
high_precision false # formerly USER_PRINT precision controlled by SELECTED_OUTPUT
|
|
USER_PRINT
|
|
10 PRINT " Error in Cl concentration Error in Na concentration"
|
|
20 PRINT " ------------------------- -------------------------"
|
|
30 PRINT " Distance 20-cell 60-cell 20-cell 60-cell"
|
|
40 PRINT " "
|
|
50 FOR j = 0 TO 8
|
|
60 PRINT j + 0.5, GET(2, j, 1), GET(4, j, 1), GET(2, j, 2), GET(4, j, 2)
|
|
70 NEXT j
|
|
END
|
|
----------------------------------User print-----------------------------------
|
|
|
|
Error in Cl concentration Error in Na concentration
|
|
------------------------- -------------------------
|
|
Distance 20-cell 60-cell 20-cell 60-cell
|
|
|
|
5.0000e-01 4.3817e-06 9.0009e-08 5.0683e-04 3.9986e-05
|
|
1.5000e+00 1.7304e-05 1.0407e-06 5.1271e-04 5.7063e-05
|
|
2.5000e+00 3.5613e-05 3.2028e-06 9.1860e-05 1.6175e-05
|
|
3.5000e+00 4.9599e-05 5.2170e-06 -3.6825e-05 -3.3665e-06
|
|
4.5000e+00 5.0063e-05 5.6393e-06 -1.9684e-05 -2.4769e-06
|
|
5.5000e+00 3.8208e-05 4.4560e-06 -4.0513e-06 -4.9123e-07
|
|
6.5000e+00 2.2627e-05 2.6979e-06 -4.8731e-07 -4.8141e-08
|
|
7.5000e+00 1.0547e-05 1.2626e-06 -3.9008e-08 -2.6645e-09
|
|
8.5000e+00 3.8231e-06 2.9867e-07 -2.2212e-09 -8.8983e-11
|
|
|
|
-------------------------------
|
|
End of Run after 0.619 Seconds.
|
|
-------------------------------
|
|
|