Processes > Engineering
Calculating several reaction steps of one waterstream
(1/1)
R.Schmidt:
Hi there,
I am a beginner with PhreeqC and am currently trying to use the program to calculate the water quality and parameters of various wastewater streams. Here I am trying to let water go through various reactions, but I don't really succeed. Maybe someone can help me here? :)
The plan is to first let the pure water react with possible contaminants, then to precipitate with Ca(OH)2 and finally to neutralize it (probably with HCl).
My question is, is there a way to display something like this well with PhreeqC? I already learned that SAVE only saves the initial solution and not the solution after the reaction. I tried in vain with RUN_CELLS, but unfortunately didn't get it to work. I understood the TRANSPORT block for 1D flow modeling and therefore haven't tried it yet.
I would be very happy about solutions, ideas and suggestions. Thank you in advance! :)
Best regards,
Robert
PS: Here is an attempt by me to tackle the problem, which, however, does not calculate further than REACTION 1. Sadly I cant solve the problem by myself.
--- Code: ---SOLUTION 1
temp 20
pH 7 charge
pe 4
redox pe
units g/l
density 1
-water 1.00 # kg
REACTION 1
HF 4
HSO4 0.5
HNO3 4
H2SiF6 1.5
REACTION 2
Ca(OH)2 10
1 mole in 20 steps
EQUILIBRIUM_PHASES 2
Fluorite 0 0
Gypsum 0 0
Hemihydrate 0 0
SiO2(a) 0 0
REACTION 3
HCL 2
1 mole in 10 steps
EQUILIBRIUM_PHASES 3
Fluorite 0 0
Gypsum 0 0
Hemihydrate 0 0
SiO2(a) 0 0
RUN_CELLS
cells 1 2 3
SELECTED_OUTPUT 1
-file selected_output_1.sel
-reset true
-totals Alkalinity Ca Cl F N(-3) N(5) S(6) Si
-equilibrium_phases Fluorite Gypsum Hemihydrate SiO2(a)
-active true
-user_punch true
--- End code ---
dlparkhurst:
You need the elusive END statement.
There are defaults for choosing which SOLUTION, REACTION, EQUILIBRIUM_PHASES data block is used in a reaction calculation when multiple data blocks are defined between one END (or the beginning of the file) and the next END (or the end of the file); however, here I am using lots of END statements and explicitly defining the reactions with USE statements.
Note I made a couple of changes. You should use H2SO4 in reaction 1. HSO4 would produce some unexpected redox reactions. Also you must use HCl rather than HCL in reaction 3. HCL would would be interpreted as hydrogen, carbon, and an element L.
--- Code: ---PHASES
hemihydrate
CaSO4(H2O)0.5 = Ca+2 + SO4-2 + 0.5H2O
-Vm 61.73
-analytical_expression 126.983644 0 -4904.135062 -46.116125 0 0 0
-log_K -3.591424
SOLUTION 1
temp 20
pH 7 charge
pe 4
redox pe
units g/l
density 1
-water 1.00 # kg
END
REACTION 1
HF 4
H2SO4 0.5
HNO3 4
H2SiF6 1.5
1 mole
END
USE solution 1
USE reaction 1
SAVE solution 2
END
REACTION 2
Ca(OH)2 10
1 mole in 20 steps
END
EQUILIBRIUM_PHASES 2
Fluorite 0 0
Gypsum 0 0
Hemihydrate 0 0
SiO2(a) 0 0
END
USE solution 2
USE reaction 2
USE equilibrium_phases 2
SAVE solution 3
USER_GRAPH 2
-headings rxn Fluorite Gypsum Hemihydrate SiO2(a) pH
-axis_titles "Ca(OH)2 added, moles" "Moles of precipitate" "pH"
-chart_title "Addition of Ca(OH)2"
-initial_solutions false
-connect_simulations true
-plot_concentration_vs x
-start
10 GRAPH_X RXN
20 GRAPH_Y EQUI("Fluorite"), EQUI("Gypsum"), EQUI("Hemihydrate"), EQUI("SiO2(a)")
30 GRAPH_SY -LA("H+")
-end
-active true
END
USER_GRAPH 2
-active false
END
REACTION 3
HCl 2
1 mole in 10 steps
END
EQUILIBRIUM_PHASES 3
Fluorite 0 0
Gypsum 0 0
Hemihydrate 0 0
SiO2(a) 0 0
END
USE solution 3
USE reaction 3
USE equilibrium_phases 3
USER_GRAPH 3
-headings rxn Fluorite Gypsum Hemihydrate SiO2(a) pH
-axis_titles "HCl added, moles" "Moles of precipitate" "pH"
-chart_title "Addition of HCl following addition of Ca(OH)2"
-initial_solutions false
-connect_simulations true
-plot_concentration_vs x
-start
10 GRAPH_X RXN
20 GRAPH_Y EQUI("Fluorite"), EQUI("Gypsum"), EQUI("Hemihydrate"), EQUI("SiO2(a)")
30 GRAPH_SY -LA("H+")
-end
-active true
END
--- End code ---
R.Schmidt:
Thank you very much for the fast reply. It was very helpful!
Navigation
[0] Message Index
Go to full version