How to include solid solutions in ORCHESTRA calculations

Hans Meeussen, 1 July 2009

1) Define the solid solution in a text (database) file.

A solid solution with the name "CSH_ss" that we want to make part of the total mineral phase, is defined as follows:

@solid_solution(CSH_ss, min)

The solid_solution class is a standard Orchestra object class that is present in the objects2008.txt file.

Now we define the two (or more) end members as entities in the CSH_ss phase. As formation reaction we can take the pure mineral precipitation reactions, including the solubility product values.

Note that we have to add the solid solution CSH_ss as a reactant in the formation reaction.

@entity(BB_1_67CaO_SiO2_2_1H2O[s], CSH_ss, 1)

@reaction(BB_1_67CaO_SiO2_2_1H2O[s], 1.4791E+13, 1.67, Ca+2, 1.0, H3SiO4-, 2.34, OH-, -0.57, H2O, 1, CSH_ss)

@entity(BB_0_83CaO_SiO2_1_3H2O[s], CSH_ss, 1)

@reaction(BB_0_83CaO_SiO2_1_3H2O[s], 1E+08, 0.83, Ca+2, 1.0, H3SiO4-, 0.66, OH-, -0.53, H2O, 1, CSH_ss)

So the complete file looks as follows:

More end members can be defined if required. Note that the formation reactions in this database file do not have to be defined in the primary entities (components). Any entity or species can be used here. ORCHESTRA will automatically rewrite reactions into chosen primary entities. This allows users to keep reactions conveniently in their original format from literature. (E.g. in literature on cement chemistry Al(OH)4- , OH- and SiO2 are generally used as a primary entities).

The actual calculations involved in the solid solution object can be found in the objects2008.txt file.

2) Include the database file (e.g. solidsolution.txt) to the list of database files in the Orchestra GUI

Fill in the name of the file under the Databases tab, and click Enter and then Export.

This makes the solid solutions available for selection in the user interface.

3) Select CSH_ss as a primary entity, and end members as entities.

Under the primary entities tab select CSH_ss in the CSH_ss phase as primary entity.

with a fixed logactivity of 0.

Fix its log activity at 0.

Under the reactions tab, include the end members in the set of reactions.

By clicking Change View we can switch to text mode and verify that CSH_ss is added as phase, primary entity and the end members are added as entities.

Note that the formation reactions of the solid solution end members have been rewritten in terms of chosen primary entities in this system. In this case H+ is used instead of the original OH-, and formation constants have been adapted accordingly.

4) Select variables for output.

A solid solution object automatically defines a number of variables that can be used for ouput.

CSH_ss.est_sum The amount of solid solution (moles per selected phase, usually mineral phase)

BB_0_83CaO_SiO2_1_3H2O[s].CSH_ss fractions of the end members in the solid solution


Total amount of primary entities in solid solution phase.


Ca+2.CSH_ss is total amount of component in solid solution per mol solid solution. ( times CSH_ss.est_sum gives total amount Ca+2 in mol/l )

5) Run!

In this example we run the calculations with a pH sweep from 8 to 14, using 13 steps.

From the value of CSH_est_sum we can see that the solid solution starts to precipitate at pH 10. The sum of the 2 end member fractions equals 1 when CSH is present, and less than 1 otherwise.

The Ca Si ratio can be calculated by adding the variable CS_ratio and and the required expression to the input file:

The if statement ensures that the CS ratio becomes zero when the amount of Si in the mineral phase equals zero.