PhreeqcUsers Discussion Forum

Processes => Mixing => Topic started by: PrestoConFuoco on August 12, 2018, 12:53:37 AM

Title: Solution speciation with varied pH
Post by: PrestoConFuoco on August 12, 2018, 12:53:37 AM
Hello.
Using Pitzer parameters, i want to get results of solution speciation in system LiCl - MgCl - H2O.
Species in solution are: Li+, Mg+2, Mg(OH)+, Cl-, H+, OH-, H2O. (parameters are in attached database)

This scheme of input
Code: [Select]
SOLUTION 1
-units mol/kgw
-water 1
Li 10
Mg 5
Cl 7 charge
calculates solution speciation only for fixed pH 7. But other program gave pH around 2.6 at equilibrium point.
So, the question is in the name of the topic: how to calculate solution speciation with not fixed pH?
Thanks!
Title: Re: Solution speciation with varied pH
Post by: dlparkhurst on August 12, 2018, 05:25:29 AM
By default you have fixed the pH at 7.0, and then you have allowed Cl to vary to produce charge balance. So, you forced the pH to be 7.0.

There are a range of solutions with different pH and Cl concentration. Perhaps you want to set the Cl concentration and allow the pH to adjust to charge balance. Or, do you want to fix the pH at 2.6 and adjust Cl? They are all physically realistic solutions.

Note that pH is a single-ion activity, which is not measurable without a convention. Buffers are defined on an NIST (NBS) convention, which is not available in PHREEQC. The only options are to scale on the MacInnes convention (gamma Cl- = gamma K+ in equivalent ionic strength KCl solution) or to use Pitzer activity coefficients unscaled. The Pitzer formulation attaches no meaning to its unscaled single-ion activity coefficients.
Title: Re: Solution speciation with varied pH
Post by: PrestoConFuoco on August 12, 2018, 08:09:08 AM
Note that pH is a single-ion activity, which is not measurable without a convention.
I realise that. pH is needed here only for comparing of calculation results of phreeqc and one other program calculations. I calculated solution speciation in PHREEQC for pH 2.6, and results coincided with other program. But i don't see posibility how i could achieve these pH in PHREEQC, if only element composition of solution is known firstly.

By default you have fixed the pH at 7.0, and then you have allowed Cl to vary to produce charge balance. So, you forced the pH to be 7.0.

There are a range of solutions with different pH and Cl concentration. Perhaps you want to set the Cl concentration and allow the pH to adjust to charge balance. Or, do you want to fix the pH at 2.6 and adjust Cl? They are all physically realistic solutions.
I think, that exact element solution composition (10 Li, 5 Mg, 20 Cl (to achieve charge balance)) does not define solution pH equivocally. It's obvious that pH may be varied by varying amounts of Mg+2 and Mg(OH)+ species in equilibrium.

Do you think that fixing pH = 7 in such solution is physically correct? If we carry out an experiment, equilibrium of
Mg+2 <-> Mg(OH)+ will be established so that the minimum of Gibbs energy was reached. But activity  of H+ is not obliged to be 7, is it? (even though we can't measure it).
So fixing pH = 7 is physically incorrent, as i can see.
Title: Re: Solution speciation with varied pH
Post by: dlparkhurst on August 12, 2018, 06:38:53 PM
Assuming you made the solution by dissolving LiCl and MgCl2 in 1 kg water, I think the input file should be as follows:

Code: [Select]
SOLUTION
-units mol/kgw
pH 7 charge
Li 10
Mg 5
Cl 20
END

The pH is calculated to be about 2.6 using your database and no scaling. Your database does not have potassium, so MacInnes scaling cannot be used.

The pH is determined by the database and the choice of scaling. It is true that you could change the log K for MgOH+ (or the Pitzer parameters for constituents), which would affect the Mg/MgOH+ distribution, which in turn would affect the calculated pH. But, assuming the log K in the database, the Pitzer parameters, and the scaling, the pH can be calculated unambiguously.