Precipitator3 Model Theory

From SysCAD Documentation
Jump to navigation Jump to search

Navigation: Models ➔ Alumina Models ➔ Precipitation3 ➔ Model Theory (Growth)

Precipitation3 Model Theory - Growth Model Theory - PSD Model Options Data Sections Dynamic Mode Batch Operations (Probal)

Latest SysCAD Version: 19 March 2024 - SysCAD 9.3 Build 139.35102

Related Links: Alumina 3 Bayer Species Model


A Precipitation stage is modelled as a continuous well-mixed tank reactor. The residence time in a precipitation tank is typically in the order of two hours and the time for feed streams going into the tank to mix with the tank contents is on the order of minutes. Thus all the material in the tank can be assumed to be at the same condition as the tank overflow and those properties used for precipitation calculations.

The precipitation models are empirically based and use a single concerted reaction to represent the precipitation process. There are various precipitation models available which all assume that the driving force for precipitation is the supersaturation of alumina in solution and that the rate is proportional to the product of this, the solid surface area available for growth, residence time and factors to account for the effect of temperature and various liquor impurities where applicable.

The supersaturation driving force is taken as the difference between the actual A/C ratio minus the equilibrium A/C ratio at the outlet conditions to the nth power, usually 2. The surface area per unit volume of liquor is the specific surface area of the gibbsite solids in the slurry (SSA) times the solids concentration divided by the liquor volume to give the surface area per unit volume of liquor. The residence time is the tank volume divided by the outlet slurry volumetric flow rate. The temperature dependence is an Arrhenius type term. The temperature term, rate constant and any liquor impurity effects are incorporated into a Growth Rate Factor, kG.

Assuming particle growth is the only mechanism for alumina precipitation (i.e. no homogeneous nucleation), the rate equation has the following form:

[math]\displaystyle{ \hbox{Hydrate Precipitated}\ \ \propto\ \ k_G \times e^{-E/RT} \times \ t_{residence} \times \left( \frac{\hbox{Surface Area}}{\hbox{UnitVolume}} \right) \times \left(\cfrac{A_o - A^*}{C}\right)^2 }[/math]      (Equation 1)

where kG may be defined using the White-Bateman, Veesler-Boistelle or the SSA Yield GrowthMethod (see equations below).

In SysCAD a GrowthRateFactor is displayed which is simply a product of the first two terms:

[math]\displaystyle{ GrowthRateFactor = k_G \times e^{-E/RT} }[/math]

The saturated Alumina concentration is calculated in the Bayer species model specified by the user. Please refer to the documentation for the relevant Bayer species model, typically Alumina 3 Bayer Species Model.

A number of generic precipitation growth rate calculation methods are available. A "Fixed" method (where the precipitation rate is specified directly) and a "FixedRate" method (where the GrowthRate is specified directly) are also available.

The specific surface area of the seed, SSA, is is user selectable as being either the SSA of the incoming stream or a user specified value (set directly or calculated e.g. in a PGM). This is configured by selecting "Stream SSA" or "User SSA" for the "Precip.Method". See Alumina3 Precip - Full PSD where full PSD is used to calculate SSA.

Growth Rate Methods

These methods assume that material is deposited onto existing solid surface at a calculated rate, growth rates of the order of 1[math]\displaystyle{ \mu/ }[/math]hr are typical. Knowing the actual surface area, we can then predict the rate of mass increase via

[math]\displaystyle{ \dot M = \dot\delta \times A \times \rho }[/math]

There are a wide range of growth rate equations available, most are variants of the White form discussed below: (T.S. Li et al. (2003)[9]).


All basically involve an exponential temperature dependence and a power (quadratic typically) dependence on supersaturation.

The total surface area in the tank available for growth is the surface area per unit mass of solid times the solids concentration at tank conditions times the tank volume:

[math]\displaystyle{ SurfaceArea = SSA \times SolConc \times V_{tank} }[/math]      (Equation 2)


SSA Specific Surface Area (m2/kg)
VTank Volume of Tank (m3). Note VTank is equal to Residence Time multiplied by Slurry Volumetric Flow Rate.
SolConc Product Solids Concentration at outlet temperature (g/L)

Then the Alumina mass precipitation rate is:

[math]\displaystyle{ M_{Al_2O_3.3H_2O} = (G/(3.6\times10^9)) \times SSA \times SolConc \times V_{tank} \times \rho_{hydrate} }[/math]      (Equation 3)


G Growth Rate (microns per hour μm/h, radial/crystal growth rate). Different methods available, described below.
Rhohydrate Density of hydrate, generally 2420 kg/m³

Fixed Method

The GrowthRate (G) is not calculated based on any method. Instead the user can directly specify the amount of hydrate (as a flow rate) to be precipitated. For display purposes, the GrowthRate (G) is back calculated using equation 3.

FixedRate Method

The GrowthRate (G) is specified directly by the user. Equation 3 is then used to determine the amount of hydrate precipitated.

White-Bateman Method

This is a variant of the White method where the growth rate is calculated as below (Ref 4). The equation has been modified for inclusion in SysCAD by the addition of a tuning factor, gF, and by the adjustment of the growth rate constant. In the original equation caustic concentration is expressed as equivalent Na2O and in the SysCAD implementation as equivalent Na2CO3 (thus the original constant 7.4×1012 becomes 2.83×1013). However, the original equation was derived using washed hydrate and pure liquors in small scale (1 litre) batch tests which have much higher precipitation rates than actual plant conditions. The default constant for this equation in SysCAD has been adjusted downwards by a factor of ~12 to give results that are in line with typical plant conditions so that starting with default values will give reasonable estimates of plant performance.

[math]\displaystyle{ G = k_G \times e^{-E/RT} \cfrac{1}{\sqrt{C}} \left(\cfrac{A_{out}-A^*}C\right)^2 }[/math]


[math]\displaystyle{ k_G = gF_{\mathrm{White}} \times {K_{\mathrm{White}}} }[/math]


G Growth rate (μm/h)
gFWhite White tuning factor. Default 1.0
KWhite Constant. Default 2.5×1012 (a good initial value for plant conditions, the value from the original paper is 2.83×1013 but this overestimates actual plant precipitation rates).
E/R Activation Energy / Gas Constant R. Default 8500 Kelvin
T Temperature (K)
Aout Alumina concentration leaving the precipitator expressed in Al2O3(g/L)
A* Saturated Alumina concentration (g/L)
C Caustic concentration leaving the precipitator expressed in Na2CO3(g/L)

Equation 3 is then used to determine the amount of hydrate precipitated.

Veesler-Boistelle Method

Vb grm.png

This method uses relative supersaturation [math]\displaystyle{ \beta = A/A^* }[/math] as the driving force (Ref 7):

[math]\displaystyle{ G = k_G \times e^{-E/RT} \left[\cfrac {A_{out}}{A^*} - \beta_c\right]^g }[/math]


G Growth rate (μm/h)
kG Constant. Default 1.92×1019
E/R Activation Energy / Gas Constant R. Default 120700/R = ~14517 Kelvin
T Temperature (K)
[math]\displaystyle{ \beta_c }[/math] Constant. Nominally 1.0 in pure systems, arises from dead zones at low supersaturation where growth is inhibited (probably by Fe ions). Accordingly it is a critical supersaturation which must be exceeded for growth to occur.
g Constant exponent. Default 2
Aout Alumina concentration leaving the precipitator expressed in Al2O3 (g/L)
A* Saturated alumina concentration (g/L)

The growth rate determined by Equation 3 is then used to determine the amount of hydrate precipitated.

SSA Yield Method

The SysCAD SSA Yield method is a generic variation of the White equation which has adjustable parameters to account for the effects of liquor impurities. The equation has been set up with a number of adjustable constants which should allow most users to configure the generic yield equation to match their own proprietary equations by using the appropriate constants. NB setting any of the exponent constants to zero will remove the effect from the equation (any non-zero number raised to the zero power is one). The default set of constants will give a robust and reasonably accurate estimate of typical precipitation rates.

The amount (mass) of hydrate precipitated is given by:

[math]\displaystyle{ M_{Al_2O_3.3H_2O} \; = \Delta A/C \times C \times Q_{L25} \times \left(\cfrac{2 \times \mathcal{M}_{Al[OH]_3}}{\mathcal{M}_{Al_2O_3}} \; \right) }[/math]


ΔA/C Change in A/C ratio, calculated from empirical equation below.
C Outlet Caustic concentration at 25°C expressed in Na2CO3 (g/L)
QL25 Outlet liquid volume flowrate at 25°C
[math]\displaystyle{ \mathcal{M}_{Compound} }[/math] Molecular weight of specified compound.

[math]\displaystyle{ \Delta A/C = k_G \times e^{-E/RT} \times SSA_{Term} \times T_{Residence} \times \left(\cfrac{A_{out} - A^*}{C}\right)^{n_{AC}} }[/math]

Plant operating experience and laboratory testing indicate that these are the primary factors influencing precipitation rate. The additional kG term allows us to also model effects of other liquor conditions.

  • [math]\displaystyle{ k_G = K_o \times K_{soda} \times K_F \times K_{TOC} \times K_C }[/math]
[math]\displaystyle{ k_{G} }[/math] Overall tuning factor.
[math]\displaystyle{ K_{0} }[/math] General tuning constant. The dimensions of this constant vary depending on values of other contents in the growth rate term. Default 2.2×1011. See notes.
[math]\displaystyle{ K_{soda} = S^{n_{s}} }[/math] Total Soda effect, where Soda is defined as caustic plus sodium carbonate expressed as Na2CO3 at 25°C. The effect is modelled as S raised to the ns power. Default for ns is -1. Using zero for ns will remove the precipitation dependence on soda.
[math]\displaystyle{ K_F = F^{n_{fc}} }[/math] Free Caustic effect, where free caustic is the sodium hydroxide in solution that is not associated with dissolved alumina. The free caustic effect is modelled as free caustic (expressed as g/L Na2CO3@ 25°C) raised to the nfc power. Default for nfc is -0.5. Using zero for nfc will remove the precipitation dependence on free caustic.
[math]\displaystyle{ K_{TOC} = e^{-n_{TOC} \; \times \; TOC \;} }[/math] Organics – the influence of organics is modeled as the exponent of a constant organics (measured as TOC, the concentration of equivalent organic carbon, g/L @ 25°C). Default for nTOC is 0.01. Using zero for n_TOC will remove organics dependence.
[math]\displaystyle{ K_{C} = C^{n_{C}} }[/math] Caustic – additional influence of Caustic concentration (expressed as g/L Na2CO3 at 25°C). Default for nC is zero.
  • Arrhenius term [math]\displaystyle{ e^{\tfrac{-E}{RT} \;} }[/math]
E/R Activation Energy / Gas Constant R. Default 7600 Kelvin
This is typically tuned around this value. Although it is not limited, values for E/R in the range of 6500 to 10000 K are used.
T Temperature (K)
  • [math]\displaystyle{ SSA_{Term} = \cfrac{THA}{Q_{L}} \times SSA^{n_{ssa}} }[/math]
SSATerm Specific Surface Area (m2/g)
THA Mass of outlet THA solids
[math]\displaystyle{ Q_{L} }[/math] Outlet Liquid Volume at Temperature
SSA [math]\displaystyle{ SSA = FeedSSA * \left(\cfrac{Feed Solids Mass}{Product Solids Mass}\right)^{1/3} }[/math]
nssa Constant. Default 1.0 (making precipitation rates linearly proportional to SSA).
This correction accounts for the fact that the effective surface area for precipitation may not scale linearly with SSA (i.e. doubling SSA with all other things being equal may not exactly double precipitation rate).
  • [math]\displaystyle{ T_{Residence} = \cfrac{V}{Q_{SL}} }[/math]
TResidence Tank Residence Time
V Tank Volume
[math]\displaystyle{ Q_{SL} }[/math] Outlet Slurry Volume at Temperature
  • Supersaturation driving force dependence [math]\displaystyle{ \left(\cfrac{A_{out} - A^*}{C}\right)^{n_{AC}} }[/math]
nAC Supersaturation tuning term. Default 2.0
Aout Alumina concentration leaving the precipitator expressed in Al2O3 g/L at 25°C
C Caustic concentration leaving the precipitator expressed in Na2CO3 g/L at 25°C

Notes (for Growth Rate methods):

  1. These equations empirical, developed for a particular set of units and the engineers who developed these equations were trying to reproduce the broad behaviour of a lot of different influences and not necessarily a mathematically rigorous formulation. Various constants have dimensionality to make the whole thing consistent. Raising a dimensional quantity such as Caustic to some arbitrary power makes these equations messy. Ideally, all such physical quantities should be nondimensionalised first (say by dividing by some reference concentration, say 1 g/L) and this is effectively implied in the way the equation is written. (See Empirical Equations.)
  2. In SysCAD a GrowthRateFactor is displayed which is equal to [math]\displaystyle{ k_G \times e^{-E/RT} }[/math]
  3. The SSA Yield method includes the effects of total soda, free caustic, seed surface area and organics on precipitation rate. These effects are included as multipliers to modify the Ko term. These allow more flexibility in adapting the precipitation model to a plant using the user’s data.
  4. The default values given will give a reasonable estimate of precipitation for most plant conditions. The equilibrium A/C ratio is calculated based on the user choice of supersaturation equation in the Bayer Properties model used. The default is the Rosenberg-Healy relation. ( Ref 1)
  5. Care should be taken when changing constants since this may require large changes in Ko to compensate and match plant data. The Ko value can vary over several orders of magnitude depending on the relative values of the other constants. It is also worth noting that using a different Ko for agglomeration tanks and growth tanks in the same row is a common practice and these may be tuned differently to match plant data.
  6. SSA measurement is normally derived from particle size distributions. It is important to note that different measurement techniques and different instruments will give different SSA measurements for the same sample. The difference can be as much as a factor of 10 and this must be taken into account when tuning the Ko value.
  7. Note that THA (trihydrate alumina) can either be given the molecular formula Al[OH]3 or Al2O3.3H2O. So the corrections from molality to mass involving plain Alumina (Al2O3) and back will sometimes have a factor 2, depending on which representation for THA is actually used.
  8. The constants can be used to tune the model to other driving force forms: if the driving force is given in terms of A to Free Caustic, then just set nFC = -2, nC = 2 :
[math]\displaystyle{ \left(\cfrac{A_o - A^*}{F}\right)^2=\left(\cfrac{A_o - A^*}{C}\right)^2 \times \cfrac{C^2}{F^2} }[/math]

SAL - Seed Surface Area

SAL this is the seed solid surface area per unit volume of liquor. The surface area is the mass concentration of seed solids in the slurry times the surface area per unit mass. This is divided by the liquor volume fraction to give the surface area per unit volume of liquor.

The SAL - Seed Surface Area Volume (m2/L) is a required variable in the Precipitator model using the Yield Calculation method. It can be derived from SAM – Seed Surface Area per unit Mass (m2/g) or D – seed particle size (mm), which is normally derived value. However, the user may set the initial value of SAM or D entering the first precipitator to obtain the correct SAL, thus a correct yield in the precipitator. The seed surface area or particle size information can be set in the feed to the precipitator model, if required.

To do so, the FEEDER or PIPE must be using the Bayer3 Species Model, under the section "SSA" located on the Content or Qi tab page respectively; the user MUST tick the SetData box and enter the appropriate values, and either SAM or D is needed. (For documentation on Bayer3 properties, see Alumina 3 Bayer species model)

The equations used in calculating SAL are:

  • In the SysCAD implementation, SSA has the (non SI) unit of m2/g (square meters per gram) and SAL has units of m2/L (square meters per liter), and these invoke an extra factor of 1000 in equations compared to the true SI unit.
  • If the user ticked the SetData box and input value for SAM, SysCAD will use it to calculate the remaining variables, likewise, if the user input value for PartDiam (D), SysCAD will derive SAM and then calculate the remaining variables.

The setting of SAM is only for initialization purposes; therefore it is usually set at the stream entering the first precipitator, whether it is a fresh feed or a recycle stream. Once the SetSAM method is used, the particle size information will be shown in all downstream pipes.

NOTE: It is IMPORTANT to note that solid Al[OH]3(s) (THA) MUST be present in the stream for the above to work properly.

Bound Soda

Bound Soda Species

Bound or Occluded Soda is incorporated into the solid precipitate. While it is included as solid NaOH, it is often useful to treat this as a separate material to solid caustic, thus the symbol NaOH*(s) is used for an identical but differently treated species.

However some modellers prefer to treat bound soda as Na2O(s), which is the form in which it actually measured in the laboratory.

So if the NaOH*(s) species is present in the species database it will be used in that form. Otherwise, bound soda will be as Na2O(s). The species used in the precipitator model is shown in the field "BoundSodaSpecies".

Note that the latter option changes the water very slightly, since precipitating 1 mole of caustic as Na2O will free 1 mole of H2O: compare

  • 2NaOH(l) = Na2O(s) + H2O(l)
  • 2NaOH(l) = 2NaOH*(s)

Bound Soda Calculation

For any of the Growth Method selected, other than "Fixed", the occluded soda is calculated as follows:


Ohkawa, Tsuneizumi and Hirao (Ref 5) correlation defines the mass of soda precipitated with the Alumina as:

[math]\displaystyle{ {{\hbox{OccludedSoda} = \cfrac{K_{\mathrm{Soda}}\left(\cfrac{A_o-A^*}{C_o}\right)^2 \exp\left(\cfrac{E_{\mathrm{Soda}}}{T_K}\right) \times \left(\Delta \mathrm{THA} \right)}{100} }} }[/math]


KSoda Overall occluded soda factor, KSoda = KTuneBS * K1
KTuneBS Tuning factor. Default 1.0
K1 Occluded soda factor. Default 0.00127
ESoda Arrhenius-type constant. Default 2535 Kelvin
Ao Alumina concentration leaving the precipitator expressed in Al2O3 (g/L)
A* Saturated Alumina concentration (g/L)
Co Caustic concentration leaving the precipitator expressed in Na2CO3 (g/L)
[math]\displaystyle{ \Delta }[/math]THA Rate of trihydrate alumina precipitation expressed in Al2O3
OccludedSoda Rate of soda precipitation expressed in Na2O

The occluded soda produced by the Precipitator3 model will be in the form of NaOH* if that species is present in the feed, otherwise as Na2O.


Armstrong, Hunter, McCormick and Warren (Ref 7) correlation defines the rate of incorporated soda with the Alumina precipitation as:

[math]\displaystyle{ {{\cfrac{dS}{dA} = K_{Soda}\left(\cfrac{A_o-A^*}{C_o}\right)^2}} }[/math]


KSoda Overall occluded soda factor, KSoda = KTuneBS * KFactor
KTuneBS Tuning factor. Default 1.0
KFactor [math]\displaystyle{ {{ K_{Factor} = \left[0.000598C_{25} - 0.00036T_{c} + 0.019568\left( \cfrac{TOOC}{C}\right)_{25} \right]}} }[/math]
dS Rate of soda precipitation expressed in Na2O
dA Rate of trihydrate alumina precipitation expressed in Al2O3
Ao Alumina concentration leaving the precipitator expressed in Al2O3 (g/L)
A* Saturated Alumina concentration (g/L)
Co Caustic concentration leaving the precipitator expressed in Na2CO3 (g/L)
Tc Temperature in degrees C
TOOC Total Organic Carbon expressed as Na2CO3
[math]\displaystyle{ TOOC = TOC_{25} \times \cfrac{\mathcal{M}_{Na_2CO_3}}{\mathcal{M}_{C}} }[/math]

Bound Soda / Organic distribution

The Bound soda rate calculated is in terms of Na2O(s), however the soda precipitation will be expressed in terms of NaOH*(s) and the bound organics as Na2C5O7*(s).

BoundSodaFrac: [math]\displaystyle{ {{\hbox{BoundSodaFrac} = \cfrac{dS}{dA}}} }[/math]
Bound Soda Precipitation - as NaOH*: [math]\displaystyle{ {{\hbox{BoundSodaFrac} \times dA \times \left(1 - \cfrac{\hbox{BoundSoda OrgPart}(\%)}{100} \right) \times \cfrac{2 \mathcal{M}_{NaOH}}{\mathcal{M}_{Na_2O}}}} }[/math]
Bound Organics Precipitation - as Na2C5O7*: [math]\displaystyle{ {{\hbox{BoundSodaFrac} \times dA \times \left(\cfrac{\hbox{BoundSoda OrgPart}(\%)}{100} \right) \times \cfrac{ \mathcal{M}_{Na_2C_5O_7}}{\mathcal{M}_{Na_2O}}}} }[/math]


  • BoundSodaFrac is the (total bound soda + bound organics as Na2O) per (THA as Al2O3)
  • For User Species models, the bound organic precipitation will be in term of the user-species-model's bound organic species.
  • If upgrading from outdated models, you may be presented with a UseCorrectedBoundSoda option. Recommend this is checked and the model retuned.


Sodium oxalate may precipitate from liquor phase oxalate (LPO) (Na2C2O4(aq)) to solid phase oxalate (SPO) (Na2C2O4(s)).

Oxalate Precipitation Calculation


The oxalate supersaturation form uses a driving rate proportional to the square of the oxalate supersaturation above an optional metastable value. The Supersaturation method is described as:

If [math]\displaystyle{ {{OxSSat \gt OxSSat_{Reqd}}} }[/math] (else no oxalate precip)

[math]\displaystyle{ {{\cfrac{-dOx}{dt} = K_{OxSSat} \times (OxSSat - OxSSat_{Reqd})^{2}}} }[/math]


OxSSat Oxalate supersaturation fraction Ox / Ox* - 1. Where Ox = oxalate concentration in liquor, and Ox* = oxalate solubility at tank conditions.
OxSSatReqd Oxalate supersaturation required for oxalate precipitation. Represents oxalate metastability. Default value 0.
KOxSSat Overall tuning factor
  • Please note that this is only a made up equation with no theory or experimental data to support it. It is added here so the oxalate precipitation can be varied based on the tank conditions.
  • For users with their own correlation data, it is highly recommended to calculate the rate using general controller or MP file, then set the oxalate precipitation rate using the Fixed Method.


McKinnon, Parkinson and Beckham (Ref 8) describe the oxalate precipitation rate as:

[math]\displaystyle{ {{\cfrac{-dOx}{dt} = K_{Oxalate} \times Ae^{\tfrac{-E_A}{RT}} \times SSA_{SPO} \times \left(\cfrac{Ox-Ox^*}{Ox^*}\right)^{2.45}}} }[/math]


Ox LPO concentration in liquor, g/L Na2C2O4(aq)
Ox* LPO solubility at tank conditions per selected Oxalate Equilibrium Method
KOxalate Overall tuning factor. Default 1.0
A Pre-exponential factor. Default 4.677e10
EA Activation Energy. Default 106472.9 J/mol
R Gas Constant, 8.314 J/mol/K
T Temperature (K)
SSASPO SPO surface area in slurry, m2/m3, calculated by [SPO] kg/m3 × 1000 m2/kg (~1 m2/g per report)


  1. Rosenberg, S.P., Healy, S.J. “A Thermodynamic model for Gibbsite solubility in Bayer liquors”, Fourth International Alumina Quality workshop, June 1996, pp301-310.
  2. White, L.T., Steemson, M., Milne, P. "A Graphical Construction for Predicting the Yield from Continuous Precipitator Trains", Light Metals 1984, pp 223-236.
  3. Cresswell, P.J., Harig, F.E., Johnston, R.R.M, Leigh, G.M. and Thurlby, J.A. "Modelling alumina Trihydrate Precipitation - Prediction of Laboratory Kinetic and Size Data", 6th AusIMM Extractive Metallurgy Conference, Brisbane, 3rd-6th July 1994, pp325-332.
  4. White, E.T. and Bateman, S.H. "Effect of Concentration on the Growth Rate of Al(OH)3 Particles", Light Metals 1988 pp 157–162.
  5. Ohkawa, J,. Tsuneizumi, T., Hirao, T. “Technology of controlling soda pick-up in Alumina Trihydrate precipitation”, Light Metals 1985.
  6. Lyndon Armstrong, J. Hunter, K. McCormick and H. Warren. "Bound soda incorporation during hydrate Precipitation - Effect of Caustic, Temperature and Organics", Light Metals 1996, pp 37-40.
  7. Veesler/Boistelle, Growth kinetics of Hydragillite Al(OH)3 from caustic soda solutions, Journal of Crystal Growth, Vol 142 pp177-183
  8. Mckinnon A., Parkinson G., Beckham K. "A Rate Equation for Crystallisation of Sodium Oxalate under Bayer Conditions", Fifth International Alumina Quality workshop 1999, pp192
  9. Tian S. Li, Iztok Livk, Dean Ilievski. "Supersaturation and temperature dependency of gibbsite growth in laminar and turbulent flows", Journal of Crystal Growth 258 (2003), pp 409–419, Table 1.

Solution Methodology


The nonlinear empirical equations describing alumina precipitation are solved numerically, and the actual tank composition at steady state is determined during the solution. The tank conditions (temperature and composition) determine the precipitation rate, while the precipitation rate determines the tank conditions (since it tells us how much aluminate precipitates, how much reaction heat is released and so on), so that the solution is necessarily an iterative one.

Starting with the tank at inlet conditions, we determine a precipitation rate, which can be very high if the incoming liquor is highly supersaturated. (This is the reason for implementing mass damping, the high precipitation rate can lead to numerical instability by removing too much aluminate from the stream in one go; mass damping prevents this)

We then adjust the mass composition in the tank by precipitating out some THA, adjust temperatures and compositions due to reaction heats, evaporation and cooling and so on. This gives a new tank composition and temperature, which will (hopefully) have a lower precipitation rate than that of the incoming stream. The tank liquor will be at a new composition and temperature, and will have a different precipitation rate to that of the incoming stream.

We then repeat the calculation at the new temperature and composition until the rate of precipitation precisely balances the rate of incoming and outgoing material. Similarly the temperature will adjust so that thermal losses balance incoming and outgoing stream enthalpies and cooling by heat transfer.

So the solution is conceptually very simple:

  while not converged() {

After a few iterations, depending on how out of balance the incoming stream is with the final tank contents, the tank composition and temperature stop changing - i.e. converge and this determines the outgoing stream.

Manual Checking of Solution

When checking the Precipitation tank using first principles (Tank with Reactions and heat loss)

  1. Start by setting a precipitation reaction rate, from this, we have:
    • Delta A/C from the Tank conditions = A/C in - A/C out (X1)
    • Delta A/C calculated using the growth equations using the outlet conditions (X2). (Can do this using PGM)
  2. Compare (X1) and (X2), if they are not the same, then use an adjusted precipitation rate.
    • Repeat the above two calculations.
  3. Continue until a solution is found. (This can be set by PID controller)

Convergence Issues

Convergence issues can arise if the feed stream is a long way from equilibrium: i.e. highly supersaturated, or constants are set such that there would be a very high rate of precipitation from the feed stream.

What can happen is that the precipitation rate is so high that all the aluminate is removed from the feed stream. After the tank conditions are updated, the liquor contains no aluminate, and so the liquor is unsaturated. In that case there is no precipitation, so at the next iteration, the contents are set back to the feed composition! Instead of converging, the program gets into a loop which bounces back and forth between supersaturated and unsaturated.

The problem has arisen because we have tried to jump too far and overshot the actual tank conditions. So instead of converging we get into an oscillating loop.

The solution is to damp out the loop by preventing the large change in composition. Instead of making the change in composition predicted by the supersaturation, we change by a weighted average of the predicted change, and the change from the previous iteration step.

[math]\displaystyle{ \Delta X_A = (1-\alpha)\Delta X_A^{(n)} + \alpha\Delta X_A^{(n-1)} }[/math]

When [math]\displaystyle{ \alpha = 0 }[/math] there is no damping, while for [math]\displaystyle{ \alpha \rightarrow 1 }[/math] the iteration is heavily damped. Once the tank converges

[math]\displaystyle{ \Delta X_A^{(n)} = \Delta X_A^{(n-1)} }[/math]

and the combination of the two terms means the value no longer changes.

Damping should only be necessary for tanks with a high supersaturation. A damping value of 50% to 90% should normally be sufficient to ensure convergence, though some experimentation is necessary. If the damping is high, the solution will converge but very slowly and if excessive the iteration loop (which is limited to a maximum number of iterations) may time out.

Illustrative Example

Let us model a very simple precipitation process, with just a single component, and we specify the concentration of that component by [math]\displaystyle{ X }[/math]. Assume the rate of concentration change is just given by

[math]\displaystyle{ \dot X = \begin{cases} K(X_t - X_s)^2 &\mbox{if} \quad X_t \gt X_s\\ 0 &\mbox{otherwise} \end{cases} }[/math]

where [math]\displaystyle{ X_t }[/math] is the tank concentration and [math]\displaystyle{ X_s }[/math] is the (constant) saturation concentration.


[math]\displaystyle{ X_i - X_t = K(X_t - X_s)^2\, }[/math]

is a very simplified version of the equations that describe precipitation. To illustrate, take [math]\displaystyle{ X_i = 1 }[/math], [math]\displaystyle{ X_s = .5 }[/math], [math]\displaystyle{ K = 2 }[/math] so the tank concentration is given by the equation

[math]\displaystyle{ 1-x = 2(x-0.5)^2 \quad\hbox{or} \quad x^2 -\frac{x}2 - \frac14 = 0 }[/math]


[math]\displaystyle{ x = \frac{1+\sqrt5}4 = 0.809016 }[/math]

We can rewrite the rate equation as

[math]\displaystyle{ X_t = X_i - K(X_t - X_s)^2\, }[/math]

or substituting the values above and writing [math]\displaystyle{ x }[/math] for [math]\displaystyle{ X_t }[/math]

[math]\displaystyle{ x = 1 - 2(x - .5)^2\, }[/math]

Starting with x=1 and iterating this equation we get the series of values 1, .5, 1, .5. If instead of using the previous value, we use a weighted average of the two previous values, the iteration converges.


As seen in these plots, for [math]\displaystyle{ \alpha=0.2 }[/math] we get slow convergence with oscillations. For [math]\displaystyle{ \alpha=0.5 }[/math] convergence is very rapid, this is critically damped. For [math]\displaystyle{ \alpha = 0.9 }[/math] we get slow convergence without oscillations and we are overdamped.

For tuning up a model it is desirable to adjust the mass damping to a value close to the critical damping and minimize the number of iterations to convergence. The damping factor and number of iterations taken to converge can be seen by selecting All Fields in the access window.