# MATLAB® tool for determining first order flotation kinetic constants

Ivan Brezani (a) and Fridrich Zelenak

Technical University of Kosice, BERG Faculty, Institute of Montanneous Sciences and Environmental Protection

Last updated: 2010-09-14

## Contents

## 1. Flotation

Flotation is a physico-chemical separation process that utilises the difference in surface properties of the valuable minerals and the unwanted gangue minerals. The theory of froth flotation is complex, involving three phases (solids, water, and froth) with many subprocesses and interactions, and is not completely understood. (Wills, 2005)

Flotation process and its results is affected by many factors involving not just physico-chemical and surface properties of minerals, but also many other factors such as selection and dosing of reagences, pulp pH, air velocity, bubble size, temperature, impeler speed, particle size, ...

This often leads to describing flotation as simplified - first order kinetic phenomenon.

## 2. Flotation kinetics - batch flotation

Many authors presented their equations that should describe flotation kinetics of various minerals. These equations are also present in different forms in mineral processing modeling and simulation software, such as MODSIM™, USIM™ PAC, JKSimFloat, etc. Although many different equations have been proposed over the years, only the selected ones describing batch (laboratory) flotation are implemented in this tool. Namely there are following six models (equation types):

**Classical model****Klimpel model****Kelsall model****Modified Kelsall model****Gamma model****Fully mixed model**

**1. Classical model**

Classical model uses two parameters to describe flotation kinetics:

where:

- recovery of mineral [ ] (dependent variable)

- infinite (equilibrium) recovery - maximum possible recovery of mineral [ ] (parameter 1)

- flotation rate constant [1/min] (parameter 2)

- flotation time [min] (independent variable)

**2. Klimpel model** (Klimpel 1980)

Klimpel model uses two parameters to describe flotation kinetics:

where:

- recovery of mineral [ ] (dependent variable)

- infinite (equilibrium) recovery - maximum possible recovery of mineral [ ] (parameter 1)

- modified first-order rate constant [1/min] (parameter 2)

- flotation time [min] (independent variable)

**3. Kelsall model** (Kelsall 1961)

Kelsall model uses three parameters to describe flotation kinetics:

where:

- recovery of mineral [ ] (dependent variable)

- fraction of flotation components with the slow rate constan [ ] (parameter 1)

- fast flotation rate constant [1/min] (parameter 2)

- slow flotation rate constant [1/min] (parameter 3)

- flotation time [min] (independent variable)

**4. Modified Kelsall model** (Jowett 1974)

Modified version of Kelsall model adds influence of infinite recovery to Kelsall model and brings number of parameters to four:

- recovery of mineral [ ] (dependent variable)

- infinite (equilibrium) recovery - maximum possible recovery of mineral [ ] (parameter 1)

- fast flotation rate constant [1/min] (parameter 2)

- slow flotation rate constant [1/min] (parameter 3)

- fraction of flotation components with the slow rate constan [ ] (parameter 4)

- flotation time [min] (independent variable)

**5. Gamma model** (Loveday 1966; Imaizumi and Inoue 1968),

Gamma model has three parameters and can be simplistically described as being made up of the sum of P exponential distributions:

- recovery of mineral [ ] (dependent variable)

- infinite (equilibrium) recovery - maximum possible recovery of mineral [ ] (parameter 1)

- kinetic constant [min] (parameter 2)

- exponent [ ] (parameter 3)

- flotation time [min] (independent variable)

**6. Fully mixed model** (Imaizumi and Inoue 1965)

This model is simmilar to gamma model and uses two parameters to describe flotation kinetics:

- recovery of mineral [ ] (dependent variable)

- infinite (equilibrium) recovery - maximum possible recovery of mineral [ ] (parameter 1)

- flotation rate constant [min] (parameter 2)

- flotation time [min] (independent variable)

For more information on the above mentioned model equations see (Gupta and Yan 2006) or particular references.

NOTE: In all the equations displayed above, **R** stands for **recovery of mineral** [ ]. In the main GUI window **R** - calculated among other parameters as a single value for the whole data set stands for **regression coefficient**.

## 3. Running the GUI

After running the GUI in MATLAB® command line as:

`>> model`

or as a single executable Fit.exe file if compiled, main GUI screen is displayed (see Fig. 1).

**Fig. 1** Main GUI window.

This window consist of a *Menu*, *Table* (top left) for entering the data, *Graph* (top right) for displaying scatter of the data set and fitted curves, *Flotation Model Selection* part (middle) for choosing first-order flotation models for which to calculate parameters, show interpotated curves in graph and save data and *Buttons* (bottom) for basic operations.

## 4. Entering (loading) data

The simplest method of entering experimental data is to simply type the data into the table (see Fig. 2) as a values of **cumulative recovery of mineral vs. flotation time**.

**Fig. 2** Table for entering / to show calculated values of flotation time vs. cumulative recovery of mineral.

This data must be entered in ascending order (both from lowest to highest). It is not necessary to enter [0, 0] as a first input as this is added automatically while computing, however such an input will not produce any error or warning. Up to ten data pairs can be used.

The second option is to use the ability to load data from different file type formats supported. However, the best compatibility is achieved when the data is not edited externally (loading data saved with this tool), or using the suplied preformatted *data.xls* file for input (see Fig. 3).

**Fig. 3** Sample file *data.xls* included in the package to simplify loading process.

This tool checks for the data in specified cells in the region B3:G28 and is not affected by changing any other cell outside of this region or by formatting (text flushing, color, borders, etc. both inside and outside of this region).

NOTE: In order for this tool to be able to load data from an *xls* file, Microsoft Office Excel must be installed on the machine as MATLAB® uses its COM port for handling spreadsheets.

Four different methods of loading the data are supported as can be seen in Fig. 4.

**Fig. 4** Menu - data loading methods.

`File --> Load Data --> Flotation time vs. cumulative recovery`

In this case data pairs present in the *xls* file in columns C and D are checked for consistency and loaded without any further computation. This method can also be used for loading previously saved data from any other supported file formats (*dat*, *txt*, *csv*).

`File --> Load Data --> Flotation time vs. cumulative mass`

In this case corresponding data pairs of *Flotation time [s]* - column C and *Cumulative mass [g]* - column G are loaded. It is also necessary to specify mass of the sample for flotation [g] - cell E15. Without this value it is not possible to calculate values of cumulative recovery and an error message is displayed. If all the necessary data is present, values of mineral *Mass [g]*, *Recovery []* and *Cumulative recovery []* are silently calculated and stored while only the values of *Flotation Time [s]* vs. *Cumulative Recovery []* are displayed in the table.

`File --> Load Data --> Flotation time vs. non-cumulative recovery`

In this case corresponding data pairs of *Flotation Time [s]* - column C and *Non-cumulative Recovery []* are checked for consistency. From this data, cumulative values of *Recovery []* are calculated and displayed in the table.

`File --> Load Data --> Flotation time vs. non-cumulative mass`

In this case corresponding data pairs of *Flotation Time [s]* - column C and non-cumulative *Mass [g]* - column E, as well as value of sample weight - cell E15 is checked for consistency and loaded. In the next step values of *Cumulative Mass [g]*, *Recovery []* and *Cumulative Recovery []* are calcuĺated and internally stored while only the values of *Flotation Time [s]* vs. *Cumulative Recovery []* are displayed in the table.

NOTE: Internally stored data of *Mass [g]*, *Cumulative Mass [g]* and the value of the sample weight are lost if the data in the table is edited.

**Example**:

Example file *Data - example.xls* is included in the package and can be used as an example for loading data and calculating model parameters. Any from the above mentioned methods can be used to load the data, while all of them should produce the same result shown in Fig. 5.

**Fig. 5** Example data set loaded from *Data - example.xls*

## 5. Calculation and plot

When necessary data is entered (or loaded) and enough data pairs are displayed in the table, one can choose methods to be used for modelling. This is done simply by ticking appropriate checboxes.

Unknown parameters of selected models calculated after the *Calculate & Plot* button is pressed.

NOTE: At least the same amount of data pairs of *Flotation Time [s]* vs. *Cumulative Recovery []* (excluding [0, 0]) as the amount of parameters (R - correlation coefficient is not considered to be a parameter) to be calculated must be entered prior to calculation in order to avoid warnings. Example: for modelling using "Classical" model, at least two data pairs must be entered, for "Modified Kelsall" model it is at least four data pairs, etc.

**Example**:

The above mentioned (example) data set can be used also as an example for calculating and ploting. Result of such an calculation is displayed as Fig. 6.

**Fig. 6** Parameters of selected models calculated from example data set in file *Data - example.xls*.

All parameters of the selected models are calculated immediatelly after pressing the *Calculate & Plot* button. In the graph, scatter created from entered data is approximated by selected curves (equations).

## 6. Editing options

Only the selected options can be edited via GUI menu (see Fig. 7).

**Fig. 7** menu items for editing options.

`Edit --> Use unconstrained optimization (LMA)`

Under normal circumstances, this tool uses constrained optimization for equation fitting (parameter estimation). I. e. the lower bound of infinite recovery is automatically set to maximum value of recovery present in the data set. Although this limitation is correct, in some cases higher values of regression coefficient can be achieved with the lower value of this parameter. Also some other parameters are constrained when optimization is run. This menu item can be used to turn this constrains off and use Levenberg-Marquardt algorith instead.

NOTE: When using unconstrained optimization (LMA), values of some estimated parameters can be unrealistic.

`Edit --> Show grid in graph`

This menu item is similar to MATLAB® `grid on` command.

`Edit --> Show Seconds on X-axis`

Tick this menu item if flotation time is to be displayed in seconds on X-axis instead of minutes (default).

`Edit --> Show % Recovery on Y-axis`

Tick this menu item if cumulative recovery is to be displayed in percent on Y-axis of graph.

## 7. Saving graph and calculated data

**Saving graph**

For saving graph to any supported file format select `File --> Save Graph` item from the menu or use the `Ctrl + P` shortcut. New figure window will pop-up (see Fig. 8).

**Fig. 8** default MATLAB® window for saving figures.

This is MATLAB® default figure window in which the graph can be further edited using standard implemented procedures. If no editing is necessary, graph can by saved into one of the supported file formats (see Tab. 1).

**Tab. 1.** Filetypes supported by MATLAB® for saving figures.

____________________________________________ | Extension | Format | |_____________|_____________________________| | ai | Adobe® Illustrator `88 | | bmp | Windows bitmap | | emf | Enhanced metafile | | eps | EPS Level 1 | | fig | MATLAB figure | | jpg | JPEG image | | m | MATLAB file | | pbm | Portable bitmap | | pcx | Paintbrush 24-bit | | pdf | Portable Document Format | | pgm | Portable Graymap | | png | Portable Network Graphics | | ppm | Portable Pixmap | | tif | TIFF image, compressed | |_____________|_____________________________|

**Saving calculated data**

For saving entered (and calculated) data select `File --> Save Data` item from menu or use the `Ctrl + S` shortcut. For list of supported file types see Tab. 2. Only the parameters of currently selected models are saved.

**Tab. 2** file types supported for saving data

____________________________________________ | Extension | Format | |_____________|_____________________________| | csv | Comma-separated values | | xls | Microsoft Office Excel file | | dat | Generic data file | | txt | Text file | |_____________|_____________________________|

NOTE: In order for this tool to be able to save data to an *xls* file, Microsoft Office Excel must be installed on the machine as MATLAB® uses its COM port for handling spreadsheets.

## 8. Modeling data

Support tool was developed for modeling recovery of up to three minerals simultaneously. It was designed to cooperate with this tool in terms of compatibility with saved files. *Flotation kinetics - modeling* tool (see Fig. 9) is available for download from MATLAB® File Exchange (File ID: #28703):

http://www.mathworks.com/matlabcentral/fileexchange/28703

**Fig. 9** Main GUI of MATLAB® *Flotation kinetics - modeling* tool.

## Acknowledgement

This work was inspired by the wasmflot.xls (Mineral Processing Computations #3 by WA School of Mines, 1997) file previously available for download at http://wasm.curtin.edu.au/yand/downloads.html.

Supported by the Scientific Grant Agency (VEGA) of the Ministry of Education of the Slovak Republic and the Slovak Academy of Sciences, Grant No. 1/0752/10.

## License

Copyright (c) 2010, Ivan Brezani All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

- Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution
- Neither the name of the Technical University of Kosice, Slovakia nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

## References

**Gupta, A., Yan, D. S., 2006.** *Flotation, Mineral Processing Design and Operation.* Elsevier Science, Amsterdam, 2006, Pages 555-603, ISBN 978-0-44-451636-7.

**Imaizumi, T. and Inoue, T., 1965.** _Kinetic consideration of froth flotation. International Mineral Processing Congres, 6th Cannes, 1963 (1965), pp 563–579.

**Imaizumi, T. and Inoue, T., 1968.** *Some aspects of flotation kinetics.* 8th International Mineral Processing Congres, Leningrad, 1968, Paper S-15.

**Jowett, A., 1974.** *Resolution of flotation recovery curves by a differential plot method.* Transactions, American Society of Mining and Metallurgical Engineers, 85, pp. C263–C266.

**Kelsall, D. F., 1961.** *Application of probability assessment of flotation systems.* , Transactions, American Society of Mining and Metallurgical Engineers, 70, pp. 191–204.

**Klimpel, R. R., 1980.** *Selection of chemical reagents for flotation.* In: A. Mular, R. Bhappu Eds.., Mineral Processing Plant Design, 2nd edition. SME, Littleton, CO, pp. 907–934.

**Loveday, B.K., 1966.** *Analysis of froth flotation kinetics.* Transactions, American Society of Mining and Metallurgical Engineers, 75, pp. C219-C225.

**Wills, B. A., Napier-Munn, T. J., 2006.** *WILL'S Mineral Processing Technology*, Seventh Edition, Elsevier Science & Technology Books. ISBN: 0750644508