Beginners > PHREEQC manual examples

Phase boundaries calculation (Example 6) (Re-post)


Re-post due to forum issues:

Original post: (Fotalora)
I'm trying to compute a temperature/pCO2 diagram showing the boundaries between stable phases in alkaline solutions. The attached image shows the kind of plot I want to produce. I've checked the documentation, but up to now, I've only found example 6 on reaction path calculations, that I don't know know how to adapt to my problem since temperature is one of the dimensions of the problem.

I'll appreciate any help in showing how to handle this. Thanks a lot

Response 1: (John Mahoney)
This looks like a good application of PhreePlot, using the MINERALS Option. But I cannot get it to work on short notice.  So I  have contacted David Kinniburgh.  He might be busy also, not sure.  I have other commitments this week.  I might try and deal with it some more this evening.

In any case I am sure he will need more details, so will I if I get back to this.  Can you provide your starting solution composition?  Were you fixing the pH and if so what value. 

Response 2: (John Mahoney)
David Kinniburgh got it to work. But he had troubles uploading his response. He asked me to send in a reply but I have had similar issues.  I wanted to send this short response to check that I can upload. and let you know we have an answer.
if this short response works I will send the longer reply latter today. 

John Mahoney:
David Kinniburgh has come up with a possible method in PhrePlot.  He had troubles uploading his response to the site (I have also had troubles at times with my post not uploading).  So he asked me to forward his efforts.   For these longer texts I prepare in Word.  I think the failure to upload at least in my case is because I take a lot of time to write up the response. 


Yes, In principle PhreePlot can draw diagrams like this but you have to
be able to calculate the speciation over the whole diagram starting from
an initial point and then defining a reaction path to all points in
terms of adjustments of the x- and y-axis variables, here Temperature
and pCO2. In this case, this is straightforward but it is not always so.
You haven't defined your initial chemistry or any constraints so I've
taken the simplest approach: mix 5 mol Na2CO3 in 1 kg water and then
adjust to different temperatures and pCO2's. Then search for the
minerals remaining. You have to choose an appropriate database for the
calculations which in this case needs to be able to deal with high ionic
strengths. So the Pitzer or SIT models seem most appropriate. pitzer.dat
does not have the necessary enthalpies or temperature-dependent log_k's
so that is no use here. I tried sit.dat but could not get it to
precipitate at high temperatures. Then I tried frezchem.dat which seemed
to work well. The final pH's vary from pH 9.2-10.6. You can download
PhreePlot at (removed to expedite posting (google PhreePlot) . I attached the diagram that I
produced and the PhreePlot input file. I am not an expert on these
databases so you should thoroughly check yourself of course!

David Kinniburgh

He is right about the Pitzer database.  I tried rerunning his model using the Pitzer database and I got a completely different plot.  We do get to some pretty high ionic strengths. 

The input file is also attached but included here for quick review.  It is really fairly straightforward.  We use partial pressures of CO2(g) to define the y-axis, and I think the original figure which stated ppm really meant ppm(v) and there are direct conversions.  So you should be able to fix the y-axis if you are so inclined.   So 100 ppmv is log CO2(g) -4.0, which is the -minimum point on your y-axis,  that should get you started. 

  calculationType                      ht2
  calculationMethod                    1
  database                             frezchem.dat
  mainSpecies                          "minerals"
  xmin                                 0
  xmax                                 60
  ymin                                 -4
  ymax                                 -2
  resolution                           500
  plotTitle                            "Na-C-H<sub>2</sub>O phase diagram vs T  using Frezchem.dat"
  xtitle                               "Temperature (C)"
  ytitle                               "log<sub>10 </sub>(p CO<sub>2</sub>")
  text                                 1 35 -3.9 "Database\: frezchem.dat" 2
  colormodel                           b&w 
  png                                  TRUE

include                  # for mineral phase diagrams

   temp      <x_axis>
Na2CO3   5

   CO2(g)   <y_axis>
     -force_equality true
   Nahcolite         0 0
   Natron            0 0
   Trona             0 0

John Mahoney:
here is the figure that goes with the earlier post.


[0] Message Index

Go to full version