Precipitator3 Model Theory

From SysCAD Documentation
Jump to navigation Jump to search

Navigation: Models -> Alumina Models

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

Theory

A Precipitation stage is modeled 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 two different precipitation models available - the White model and a generic yield model. However, they both 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 for the generic yield model, various liquor impurities.

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 where n is 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 then has the following form:

[math]\hbox{Hydrate Precipitated}\ \ \propto\ \ k_G \times e^{-E/RT} \times \ t_{residence} \times \left( \frac{\hbox{Surface Area}}{\hbox{UnitVolume}} \right) \times \left(\frac{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] 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 eg 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]\mu/[/math]hr are typical. Knowing the actual surface area, we can then predict the rate of mass increase via

[math] \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.

Growthrates.png

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] SurfaceArea = SSA \times SolConc \times V_{tank} [/math] Equation 2

Where

SSA Specific Surface Area (m2/kg)
VTank Volume of Tank (m3). Note VTank is equal to (residence time) times (slurry volumetric flow rate).
SolConc Product Solids Concentration at outlet temperature. (g/L)

Then the Alumina mass precipitation rate is:

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

Where

G Growth Rate (microns per hour). Different methods available, described below.
Rhohydrate Density of hydrate, generally 2420 kg/m3

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 (see 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.

The growth rate (G) in microns per hour given by

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

Where kG is given by

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

Where

gFWhite White tuning factor. The default is 1.0
KWhite Constant. The default value is 2.5*1012 (which is a good initial value for plant conditions, the value from the original paper is 2.83*1013, but this grossly over estimates actual plant precipitation rates).
ERWhite Activation energy / R. The default value is 8500 (Kelvin).
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)
R Gas constant (J/mol.K)
T Temperature (K)

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

Veesler-Boistelle Method

This method uses relative supersaturation [math]\beta = A/A^*[/math] as the driving force:

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

Where

kG Constant kG = KVB. The default value is 1.92*1019 m/s. Field name in SysCAD is K_VB.
ERVB Activation energy / R. The default value is 120700/R (Kelvin).
[math]\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. Field name in SysCAD is Beta.Critical.
g Constant. The exponent [math]g[/math] is nominally 2. Field name in SysCAD is N_VB.
Aout Alumina concentration leaving the precipitator expressed in Al2O3(g/L)
A* Saturated Alumina concentration (g/L)
R Gas constant (J/mol.K)
T Temperature (K)

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

Vb grm.png

See Veesler/Boistelle, Growth kinetics of Hydragillite Al(OH)3 from caustic soda solutions, Journal of Crystal Growth, Vol 142 pp177-183

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]M_{Al_2O_3.3H_2O} = \Delta A/C \times C \times Q_{L25} \times \left(\frac{2 \times \mathcal{M}_{Al[OH]_3}}{\mathcal{M}_{Al_2O_3}}\right)[/math]

where we use an empirical equation for the change in A/C ratio. In this equation C is outlet Caustic concentration at 25°C expressed in Na2CO3 (g/L); and QL25 is outlet liquid volume flowrate at 25°C.

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

All the plant operating experience and laboratory testing indicate that these are the primary factors influencing precipitation rate; the additional kG term allows us to model effects of other liquor conditions as well.

  • The kG term used in this method is:
[math] k_G = K_o \times K_{soda} \times K_F \times K_{TOC} \times K_C[/math]
Where:
[math]K_{0}[/math] General tuning constant. The dimensions of this constant may vary depending on values of other constents in the growth rate term. The default value for K0 is 2.2e11. See notes.
[math]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 modeled as S raised to the ns power. The default value for ns is -1. Using zero for ns will remove the precipitation dependence on soda.
[math]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 modeled as free caustic (expressed as gpl Na2CO3@ 25°C) raised to the nfc power. The default value for nfc is -0.5. Using zero for nfc will remove the precipitation dependence on free caustic.
[math]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, gpl @ 25°C). The default value for nTOC is 0.01. Using zero for n_TOC will remove organics dependence.
[math]K_{C} = C^{n_{C}}[/math] Caustic – additional influence of Caustic concentration (expressed in Na2CO3 at 25°C). The constant nC defaults to zero.
  • The [math]e^{\frac{-E}{RT}}[/math] term
The default value for E/R is 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 are used.
  • The SSA_Term used (Specific Surface Area, SSA).
[math]SSA_{Term} = \frac{THA}{Q_{L}} \times SSA^{n_{ssa}}[/math]
Where:
THA mass of outlet THA solids
[math]Q_{L}[/math] Outlet Liquid Volume at T
SSA [math]SSA = FeedSSA * \left(\frac{Feed Solids Mass}{Product Solids Mass}\right)^{1/3}[/math]
nssa constant with a default value of 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).
  • ResidenceTime term used
[math] T_{Residence} = \frac{V}{Q_{SL}}[/math]
Where:
V Tank Volume
[math]Q_{SL}[/math] Outlet Slurry Volume at T
  • Supersaturation driving force dependence:
[math]\left(\frac{A_{out} - A^*}{C}\right)^{n_{AC}}[/math]
Where:
nAC supersaturation tuning term with a default value of 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 are typically empirical ones, developed for a particular set of units and the engineers who developed these equations were trying to reproduce the broad behavior of a lot of different influences and not necessarily a mathematically rigorous formulation. The various *constants* have the dimensionality to make the whole thing consistent. Any raising a dimensional quantity such as Caustic to some arbitrary power makes equations messy: ideally all such physical quantities should be nondimensionalised first (say by dividing by some reference concentration, say 1gpl) 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] 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. [1]
  5. Care needs to 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. We use [math]\mathcal{M}_{Compound}[/math] to represent the molecular weight.
  7. Note that THA (Trihydrate) 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]\left(\frac{A_o - A^*}{F}\right)^2=\left(\frac{A_o - A^*}{C}\right)^2 \times \frac{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:

Cheat.png
  • 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 1mole of caustic as Na2O will free 1mole 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

Ohkawa, Tsuneizumi and Hirao [5] correlation defines the mass of soda precipitated with the Alumina as:

[math]{{\hbox{OccludedSoda} = \frac{k_{\mathrm{tuneBS}}\times k_{\mathrm{soda}}\left(\frac{A_o-A^*}{C_o}\right)^2 \exp\left(\frac{E_{\mathrm{soda}}}{T_K}\right) \times \left(\Delta \mathrm{THA} \right)}{100} }}[/math]

Where

ksoda the occluded soda factor, 0.00127
ktuneBS extra soda tuning factor, 1.0
Esoda constant, 2535 K-1
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]\Delta[/math]THA the rate of alumina tri-hydrate precipitation expressed in Al2O3
OccludedSoda the 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.

Hunter

Armstrong, Hunter, McCormick and Warren. [7] correlation defines the rate of incorporated soda with the Alumina precipiation as:

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

Where

Ksoda the occluded soda factor, Ksoda = KtuneBS * KFactor
KFactor [math]{{ K_{Factor} = \left[0.000598C_{25} - 0.00036T_{c} + 0.019568\left( \frac{TOOC}{C}\right)_{25} \right]}}[/math]
dS the rate of soda precipitation expressed in Na2O
dA the rate of alumina tri-hydrate 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 The total organic carbon expressed as Na2CO3
[math]TOOC = TOC_{25} \times \frac{\mathcal{M}_{Na_2CO_3}}{\mathcal{M}_{C}}[/math]

NOTE: In SysCAD 9.3 build 137 or earlier, dA was incorrectly implemented as Al[OH]3 basis. This has been corrected in SysCAD 9.3 Build 138 to use dA as Al2O3 basis. See Bound Soda implementation for more information.

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]{{\hbox{BoundSodaFrac} = \frac{dS}{dA}}}[/math]
Bound Soda Precipitation - as NaOH*: [math]{{\hbox{BoundSodaFrac} \times dA \times (1 - \frac{\hbox{BoundSoda OrgPart}(\%)}{100} ) \times \frac{2 \mathcal{M}_{NaOH}}{\mathcal{M}_{Na_2O}}}}[/math]
Bound Organics Precipitation - as Na2C5O7*: [math]{{\hbox{BoundSodaFrac} \times dA \times (\frac{\hbox{BoundSoda OrgPart}(\%)}{100} ) \times \frac{ \mathcal{M}_{Na_2C_5O_7}}{\mathcal{M}_{Na_2O}}}}[/math]

NOTES:

  • 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.

Bound Soda implementation

Hunter Method

  1. Bound Soda Calculation:
    • In SysCAD build 137 or earlier, bound soda calculation was incorrectly implemented by using Yield in terms of Al[OH]3 instead of Al2O3. This has resulted in an over prediction of bound soda by a factor of 1.53.
    • The calculation and documentation has been corrected in SysCAD build 138 to use yield in terms of Al2O3.
  2. Bound Organic Calculation:
    • In SysCAD build 137 or earlier, the bound organic calculation was incorrectly implemented, the mass calculated was based on yield as Al[OH]3 and Bound organics as NaOH instead of organics. As a result, the bound organic calculated was out by a factor of 1.78.
    • The calculation has been corrected in SysCAD build 138 to use yield in terms of Al2O3 and bound organic in terms of Na2C5O7.
  3. To retained results for tuned alumina models, existing projects will not be changed automatically to use the corrected bound soda calculation. To switch over to the new calculation method, user would need to:
    • tick the UseCorrectedBoundSoda option per precipitator unit,
    • then adjust the tuning constants "K_tuneBS" by a factor of 1.53, this should give the same results as before for bound soda.
    • the bound organic formed would not match perfectly with previous results, as it was out by a factor of 1.78.
    • New precipitator units added to the project in SysCAD 138 will use the corrected bound soda calculation method.


Fixed Method

  1. Bound Organic Calculation:
    • In SysCAD build 137 or earlier, the bound organic calculation was incorrectly implemented, the bound organics calculated was in terms of NaOH instead of organics. As a result, the bound organic calculated was out by a factor of 2.725.
    • The calculation has been corrected in SysCAD build 138 to use bound organic in terms of Na2C5O7.
  2. To retained results for tuned alumina models, existing projects will not be changed automatically to use the corrected bound organics calculation. To switch over to the new calculation method, user would need to:
    • tick the UseCorrectedBoundSoda option per precipitator unit,
    • the bound organic formed would not match previous results, as it was out by a factor of 2.725.
    • New precipitator units added to the project in SysCAD build 138 will use the corrected bound organic calculations.

Oxalate

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

Oxalate Precipitation Calculation

McKinnon

McKinnon, Parkinson and Beckham [8] describe the oxalate precipitation rate as:

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

Where

Ox LPO concentration in liquor, g/L Na2C2O4(aq)
Ox* LPO solubility at tank conditions per selected Oxalate Equilibrium Method
KOxalate overall tuning factor (normalised to 1.0 as default)
A pre-exponential factor, 4.677e10
EA activation energy, 106472.9 J/mol
R gas constant, 8.314 J/mol/K
T temperature in K
SSASPO SPO surface area in slurry, m2/m3, calculated by [SPO] kg/m3 × 1000 m2/kg (~1 m2/g per report)
  • This method is available in SysCAD 9.3 Build 138 or later.

References

  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

Solution Methodology

Introduction

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() {
      EvaluatePrecipRates();
      EvaluateThermalLosses();
      UpdateCompositions();
      UpdateTemperatures();
   }

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 - ie 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: ie 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] \Delta X_A = (1-\alpha)\Delta X_A^{(n)} + \alpha\Delta X_A^{(n-1)} [/math]

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

[math] \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]X[/math]. Assume the rate of concentration change is just given by

[math]\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]X_t[/math] is the tank concentration and [math]X_s[/math] is the (constant) saturation concentration.

Then

[math] 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]X_i = 1[/math], [math]X_s = .5[/math], [math]K = 2[/math] so the tank concentration is given by the equation

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

so

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

We can rewrite the rate equation as

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

or substituting the values above and writing [math]x[/math] for [math]X_t[/math]

[math] 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.

Damping.png

As seen in these plots, for [math]\alpha=0.2[/math] we get slow convergence with oscillations. For [math]\alpha=0.5[/math] convergence is very rapid, this is critically damped. For [math]\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.