# Implementation of Basic PSD Processes

The full PSD model implements growth, agglomeration and nucleation mechanisms. The growth equations are identical to those already implemented in the existing yield SSA model, while the Nucleation and Agglomeration equations are (relatively simple) open literature correlations.

The underlying theory was originally developed by Hounslow et al:

M.J. Hounslow, R.L. Ryall, and V.R. Marshall. A discretized population balance for nucleation, growth and aggregation. AIChE. J, 11, 1988.

## Particle Size Definition (PSD)

The precipitation PSD method uses the full Size Distribution (PSD) Quality. The present implementation requires geometrically spaced bins, with a size ratio of $\sqrt[3]{2}$. For further information on configuring this in your project, see the section Setting up the PSD Definition below.

Notes:

• When calculating particle counts within bins (size intervals) the geometric mean is used.
• When specifying mass in each bin, the smallest bin should be empty. When it is not empty the model gives a warning message and moves this mass into the next bin up.

## Growth

The Growth calculation determines the rate at which new material is deposited on the surface of existing seed. Growth calculations generate a growth rate (of the order of 1$\mu$/hr), which is the rate at which the radius of a typical particle will increase. (The diameter increases at twice this rate.)

Please refer to Precipitator3 Model Theory for typical growth rate methods. For the PSD model, the same growth equations have been implemented as the existing alumina precipitator.

For some models (Yield type), growth is not predicted directly, instead, the models predict the rate of change of Alumina concentration or A/C ratio given tank conditions such as temperature and caustic concentration. For these models the growth rate corresponding to the predicted yield is calculated and used in the particle balance calculations. Particle Growth increases the total mass of THA in the tank, without changing particle numbers.

The growth calculations are completely compatible with the existing SSA based growth models, so that if the PSD has a specific surface area equal to that in a model run with SSA alone, the yield calculations will be comparable. (There will be minor differences, since PSD mechanisms change the effective surface area, and this might not quite match what is done with the SSA calculation.)

## Nucleation

The empirical Misra Nucleation Rate Equation (Misra, PhD Thesis, 1970) implemented is

$N = 5.0\times 10^8 \left(\cfrac{A-A^*}C\right)^2\sigma$

where N is the number of particles nucleated per hour, A, A* are alumina and saturation concentrations, C is the Caustic concentration and $\sigma$ is the surface area.

1. If $\sigma$ is specific surface area, (m^2/kg) then N is the number of nucleated particles per kg of slurry.
2. If $\sigma$ is the total surface area, then N is the total number of nucleated particles.

The SysCAD Precipitator3 implementation has $\sigma$ as the surface area per kg of slurry.

NOTES:

• Nucleation is associated with existing particle area - so that if no particles (THA solids) are present, then no nucleation takes place.
• Nucleation increases particle numbers in the smallest sizes. For the present model nucleation places particles in the second smallest bin. Any particles in the smallest bin are ignored - this is intended more as a 'catchall' for particles below the minimum size, and quantifying the distribution of particles in this bin is difficult.

### Bound Soda with Nucleation

The precipitation yield includes Growth Yield and Nucleation Yield. By default, the bound soda is calculated based on the total yield. If user wishes to exclude the Nucleation yield from the soda calculation, please uncheck the SodaWithNucleation option on the PSD Tab.

## Agglomeration

Agglomeration is the tendency of particles to coalesce to form larger particles. Thus there is no total mass change associated with agglomeration, but a reduction in total numbers of particles and shift of the distribution curve - increasing the mean of the curve and changing the skewness and kurtosis (peakiness).

There are a wide range of agglomeration kernels in use in particle size modelling - both in the open literature and proprietary. The original implementation of the model used the Ilievski size independent kernel (Light Metals, 1982). This assumes that all interactions are equally likely to cause an agglomeration event, and the rate is governed by a single equation depending on temperature and liquor properties. We introduce size and shear rate dependent kernels (see below).

The user can optionally specify a maximum size above which agglomeration does not occur.

From Build 139, the agglomeration parameters for kernel, rate and collision have been modularised to allow different combinations. The agglom kernel is a 2-dimensional array of values (typically presented as a triangular matrix or 3D surface) representing the probability of interaction at each particle size combination. The agglom rate represents the "gluing" effect of the liquor and is typically some function of growth rate. The agglom collision represents an adjustment based on the particle density of the slurry. Due to the variety of combinations allowable, the Agglom.Rate.Correction term represents a catch-all multiplicative factor, and may change by many orders of magnitude depending on the selected agglomeration options.

### Implementation of a size dependent kernel

Reference: I Livik, D. Ilievski, A macroscopic agglomeration kernel model for gibbsite precipitation in turbulent and laminar flows.

The combined kernel and agglomeration rate are of the form

$\beta_{ij} = \cfrac G{\beta_4 S_{ij}}$

where $S_{ij}=D_i+D_j$, G is the growth rate and $\beta_4$ is a correction depending on shear rate and temperature.

This gives an explicit strong dependence on temperature for agglomeration rates: the size independent kernel previously implemented has only a weak temperature dependence through the supersaturation term.

Note also that the kernel terms decrease with increasing size, so larger particles are less likely to agglomerate.

The temperature dependence parameter $\beta_4$ can be approximated for high shear rates by a rational curve fit:

Note that data is only available in the range 60-80C, and that using this correlation outside this range is unreliable.
The fit appears to be be smooth for temperatures a few degrees above and below the data limits, but below 50C the denominator vanishes, so we limit the temperature to this range.

The model can use the derived correlation, or you can just specify this parameter by deselecting the Agglom.CalcBeta4 check box:

### Free-in-space vs Restricted-in-space agglomeration forms

In reviewing literature on agglomeration processes, the fundamental equation take two different forms.

In Perry, the equation takes the form

$\cfrac1{2N_t}\int_0^v \beta(v', v-v') n(v', t) n(v-v', t) dv' - \cfrac1{N_t}\int_0^\infty\beta(v',v,t) n(v',t) n(v,t) dv'$

while in all the Alumina literature, the form is:

$\cfrac12\int_0^v \beta(v', v-v') n(v', t) n(v-v', t) dv' - \cfrac12\int_0^\infty\beta(v',v,t) n(v',t) n(v,t) dv'$

In the former case, a particle can only interact with particles in its immediate vicinity, so the number of possible collisions is reduced. In this case Restricted-in-space. Now the number is proportional to the number of one size times the fraction of particles of the other size.

$n(u) f(v) = n(u)\cfrac{n(v)}{N_t}$

In the latter, the rate is proportional to the total number of possible collisions between particles of size u and v. In this case free-in-space, any particle is basically free to collide with any other particle, since paths between particles are not blocked.

The latter is typically very dilute systems such as aerosols, while RIS systems have relatively high concentrations of particulate matter.

The original paper introducing these concepts offered this diagram:

None of the literature attempts to characterize just where the transition between these two systems may lie, but state that there is no particular demarcation between the two.

Both forms have been implemented, these are available through the (initially hidden) tag Agglom.Type:

Here is 1%, 6% and 23% by volume of solids, at 23% by volume solids, which is typical for precipitation tanks, it appears that the system is restricted-in-space rather than free-in-space.

1% 6% 23%

### Agglomeration Cutoff

An option that allows user to select the cut off size for agglomeration. If selected, then particles greater than the user-specified Agglom.Cutoff.Size will not agglomerate.

Agglomeration cut off calculation correction in SysCAD 138:

• Any Probal projects using agglomeration cutoff should be retuned with Agglom.UseCorrectedCutoff selected. (Old projects will retain the original results until this is done)
• This will give a correct size distribution curve and also ensures that the model gives the same results as Dynamic projects with the same parameters when run to steady state.
• If not using agglomeration cutoff, no action is necessary

## Attrition

The PSD models have no direct implementation of attrition processes, however it is straightforward to use other size changing models to implement this.

Suppose we observe quantities of fines being generated in a cyclone and we want to include this in the model. We can use the Crusher model as follows, adding it to the circuit following the cyclone overflow:

We use the Select/Break method for the crusher model: this allows us to select some fraction of particles from each bin and specify which bins they end up after we Break them.

In this simple example, we completely "break" some small fraction of particles in each bin and move them to fines.

• Note that the fines bin is 1.0-1.3 microns, particles in the bin 0-1 micron are coalesced and moved to this bin in the precipitator model.
• We specify the selection (.0001%) and move 100% of these broken particles to bin 1

• This isn't an exact model of attrition, but it is a good approximation for generating small mass fractions (though possibly large numbers) of fine particles.
• A more exact model would conserve total particle numbers in the non-fines bins.
• This could be implemented by moving some of the breakage to the next smaller bin, and some to the fine bin, with the proportions calculated to conserve mass and non-fines numbers.
• Custom calculations like these can be implemented in PGM code in a general controller.
• Another approach is to manipulate the PSD curve directly using the Modify SzDist.Action

## Area Correction

Nonspherical particles can have higher surface area for a given mass. This parameter can be adjusted to correct the surface area available for nucleation and growth due to nonsphericity.

Each of these "particles" has the same volume (and hence mass) but compared to the "spherical" particle on the right, the others have 16% and 58% greater area.

# Using the Full PSD model

Most of the functionality in the existing Precipitator3 model carries over into the full PSD version - so the information in the first two tabs in the access window is still applicable. Growth is defined by the same equations as used in the non PSD part of the model, and this is set on the Precip Tab Page.

The new functionality is available on a separate tab page, titled PSD. There are a number of options and parameters that relate to PSD that the user can change, and there are various results specific to PSD that are displayed on this page. These fields are described in the PSD Tab Page.

Notes on parameters:

1. There are options Growth.On, Agglomeration.On and Nucleation.On which allow for turning the individual mechanisms on and off. A tank can be put into Growth Only mode by turning off Agglomeration.
2. For tuning, there are rate correction factors Growth.Rate.Correction, Agglom.Rate.Correction and Nucl.Rate.Correction.
3. SeedPSD: If no THA solids are found in the incoming stream, then a small quantity will be generated. This is sufficient to seed a tank, and in subsequent iterations, the recycles will take over and provide the necessary solids.
4. See PSD Tab Page for a full description of all fields, including results.

Note that the nucleation yield is generally negligible compared to the growth yield, though nucleation is necessary to spawn new particles that eventually grow and become seed sites for growth.

## Summary of Agglomeration forms and units

Particle numbers in SysCAD are represented as #/kg slurry, while for agglomeration calculations we work with #/m^3 slurry - to convert from #/kg to #/m^3, multiply by the slurry density.

In volume terms, the discretized equations are

$\dot N_i = \sum_j \beta_{ij} N_i N_j$

and

$\dot N_i = \sum_j \beta_{ij} N_i N_j/N_t$

for the FIS and RIS forms. We also separate the kernel $\beta_{ij}=\beta_p \beta_{gij}$ into process related and geometric components - the latter are fixed and can be precalculated, while the former will change as process conditions vary, but is the same for each kernel term. The units for various methods are summarized here.

The agglomeration rate reported in the access window is the process part of the kernel term - for the size independent kernel this is just the same as </beta> since there is no geometric contribution.

## Rate Constants for Agglomeration

In general, determining appropriate rate constants is a matter of tuning. The supplied default constants are suitable for the RIS, size independent kernel (default) and will be unlikely to work for other settings. Note that for the RIS implementation, there is an additional term $1/N_t$ in the agglomeration calculation. Since the number of particles (per cubic meter) is of the ordeof $10^{12}$, our rate "constants" will be very different.

Because different kernel forms and agglomeration calculations will have different interpretations of the units of the rate constant, we do not provide these: using this model you should experiment with values of the constants to determine a suitable rabge,

If the overall rate constant is too high, then all particles will be "agglomerated away" ending up with a distribution having low surface area and little growth. If it is too low, then there will be no agglomeration effects. There will be a fairly narrow window in overall rate over which effective agglomeration will take place.

For the example distributed with SysCAD (Full PSD Precipitation Circuit) we find behavior as follows as we vary the overall agglomeration rate:

The upper and lower curves show the product d50 and total production. As we increase the agglom factor, the product d50 increases and the production drops off. There is some initial increase in production, but this is related to the temperature and hence yield increasing - for low values, large amounts of fine seed is recirculated since growth is not providing a lot of coarse particles. You find the recirculation rates are three or four times the incoming liquor flow.

The key point: Increasing agglomeration decreases total yield since it decreases the surface area available for growth

So for low values of the factor you get high total production and large numbes of fine particles. For high values you get low production and small numbers of coarse particles, since there is little surface area for yield. A given plant will operate somewhere in this range, and you can tune the agglomeration rate to match obsesrved data.

Suppose quality tests have shown that 10% of particles in the product are out of spec (eg below 45 microns) Assuming the rest of the model is perfectly tuned, then an agglomeration constant of 0.1 would lead to 23% of the particles belw 40 micron, while a constant of 1.0 will lead to just 8% being out of spec. The overall constant is probably somewhere in this range and can be tuned accordingly.

NOTE: You should follow these general guidelines in tuning to determine suitable values for the agglomeration parameters - and these will be different for the different kernels and agglomeration methods.

## Adjusting the Full PSD Precipitation parameters

There are hundreds of papers on precipitation rate processes and the various parameters that influence the different mechanisms. For example, the type of agitation or energy dissipation strongly influence the agglomeration rate.

Since there are many possible tank configurations, the SysCAD PSD model provides only the basic framework. The user can account for additional effects by adjusting the core model parameters. In particular, the rate correction parameter is useful in this regard.

So for example if we want to correct for tank agitation rate, and experimental data suggests that the rate has a form

$r = 0.3 + 0.00124 f$

where $f$ is the impeller rate.

A simple example of how to implement this to make the adjustment in the model is shown below: the PGM logic will be added via the General Controller.

TextLabel(,"Tank Parmeters")
REAL ImpellerRate*("pS", "rpm")<0,200><<35>>
REAL [email protected]
...

Sub InitialiseSolution()
AggRateCorrection = 0.3 + 0.00124 * ImpellerRate^1.4
["PC_001.Agglom.Rate.Correction"] = AggRateCorrection
...
End Sub


An extension of the above example to include calculation for display of overall Yield and Production is shown below:

 TextLabel(,"Tank Parmeters") REAL ImpellerRate*("pS", "rpm")<0,200><<35>> REAL [email protected] TextLabel(,"Yield Calculations") REAL MW_Al2O3,MW_Na2CO3 REAL [email protected]("Qm", "t/d") REAL [email protected]("Conc", "g/L") Sub InitialiseSolution() MW_Al2O3 = MW("Al2O3(s)") MW_Na2CO3 = MW("Na2CO3(aq)") AggRateCorrection = 0.3 + 0.00124 * ImpellerRate^1.4 ["PC_001.Agglom.Rate.Correction"] = AggRateCorrection EndSub ;P_012 is product stream and P_011 is pregnant liquor feed stream Production = ["P_012.Qo.SQm (t/d)"] Yield = Production / ["P_011.Qv (kL/d)"] *1000. * MW_Al2O3/MW_Na2CO3 $END OF FILE  ## Implementing new correlations For growth rate you can use the FixedRate method together with your own growth rate correlation calculated in PGM code. Suppose we want to implement the Ilievski correlation, again using some PGM logic in a General Controller model: $G = k_H \cfrac{C/A^* - .608}{C/A -.608}$ We can define a function in the PGM code, so we can reuse it if we want to have the correlation available for a number of tanks:  TextLabel(,"Ilievski Growth Rate") REAL K_H*<<0.1>> REAL [email protected]("Conc", "g/L"){Comment("@25C")} REAL [email protected]("Conc", "g/L"){Comment("@T")} REAL [email protected]("Conc", "g/L"){Comment("@25C")} REAL [email protected]("Ldt", "um/h") Function IlievskiRate(REAL A, REAL ASat, REAL C, REAL kH) Double tmp1 tmp1 = C-0.608*A If (tmp1 <= 0 or ASat <=0) return 0.0 Endif return Range(0.0, kH*A/ASat*(C - 0.608*ASat)/tmp1, 20.0) EndFunct ;Setting the GrowthRate ASat = ["PC_001.QProd.Props.A_Saturation (g/L)"] A = ["PC_001.QProd.Props.AluminaConc (g/L)"] C = ["PC_001.QProd.Props.CausticConc (g/L)"] G = IlievskiRate(A, ASat, C, K_H) ["PC_001.FixedGrowthRate (um/h)"] = G ;...$ END OF FILE  The GC now has fields to enter the Ilievski correlation K, as well as displaying the tank parameters that are used in the correlation. When the model is run, the calculated value of G is copied to the tank FixedGrowthRate field, and used in subsequent calculations:

NOTES:

• We only need to set the Agglomeration Rate correction once (on initialize) since this doesn't change with tank conditions
• However since the tank conditions change as we solve - the alumina and caustic concentrations will vary - then we need to recalculate the rate at each iteration
• When you are implementing your own correlations you are responsible for making sure that the calculation can be done and that resulting numbers are sensible. So it is vital to check that you don't have divide by zeros, and that the final result lies in a proper range.
• The Range function is useful here.

## Sample Circuit

This example shows the essentials of a precipitation circuit, using the full PSD model. This project is distributed with SysCAD and is located with the other Alumina example projects.

Pregnant liquor is introduced to the first tank in the row, along with fine seed. There is also allowance for the possibility of introducing 'charge seed though this is not necessary for the new model. The first three tanks act as agglomeration tanks, and coalesce the fine seed.

Coarse seed is introduced in the fourth tank, and the remainder of the row tanks are growth tanks.

The pumpoff from the final tank is sent to a cyclone, which splits it into fine and coarse streams. The fines are deliquored and passed back to the first tank along with the pregnant liquor. The coarse cut cyclone underflow is split - some fraction is deliquored and sent back as coarse seed to the first growth tank, and the remainder is available as actual product.

We can for example track the PSD down the row

This is not particularly enlightening, but we can track the d50 cuts or the surface area:

A sample Excel SysCAD_TagTable() report is included with the example, and used to generate the data for these plots.

NOTES

In reality circuits are far more complex, with multiple cyclones, filters, classifiers and various splits to different points in the precipitation row. However this example captures the essential features of a precipitation circuit.

The circuit is self seeding - if there are no PSD solids (THA) present in a tank, then trace amounts of fine solids will be added. This is necessary since the pregnant liquor may contain no solids, and in theory nucleation and growth only occur on existing particles. Even a miniscule amount of solids will increase through the row and by feeding back to the start of the circuit, eventually build up to equilibrium conditions.

In other implementations (and in actual startup of a real refinery), some seed is required to charge the circuit. A refinery startup will actually involve trucking or shipping in several thousand tonnes of alumina from another refinery, then charging a number of the tanks to say 100gpl solids during commissioning.

The Charge Seed stream in this flowsheet is thus not necessary (and has no flow in the example), though could be used in a full dynamic model to simulate the startup transient conditions.

## Setting up the PSD Definition

The present implementation requires geometrically spaced bins, with a size ratio of $\sqrt[3]{2}$. The easiest way to specify this sieve series is to use the Q option, with a Q-value of 1.0

Refer to Size Configuration for more detail on sieve series construction.

The Alumina3 models use a particular form for THA (trihydrate alumina) as a species - Al[OH]3(s) - and this should be selected in the Size Distribution tab:

• Mutiple sieve series can be used, but the first one must satisfy these conditions. Other sieve series should be added after this one. For example if you have sizer data for non geometrically spaced bins that you want to convert, add the new sieve series following the first one.

NOTE: The new Distribution needs to be defined in the Size Distribution tab first,
then it can be selected on the Sieve Series tab.

## Sensitivity to Bin numbers

In all the Alumina models we have examined, the particles range in sizes from 1 micron to 1000 micron, however 500 micron is a more typical upper limit.

We examine the results of the model of a full PSD circuit with two different ranges: 4 micron to 406 micron (21 bins) and 1 micron to 512 micron (28 bins). The key parameter is product quality - the results below are for the product.

With Agglomeration                        Without Agglomeration
28 bins            21 bins             28 bins         21 bins
----------------------------------------------------------------------
d50  203.8615321       192.9754881         164.8114539     159.1629558
d80  154.744547        144.6053441         106.4823075     107.4396741
SAM  0.017167115       0.018641902         0.030099571     0.028748622
SAL  41.53447717       45.1024256          72.82220833     69.55330719