Using The Andersen Cone Crusher Power Estimation Function in METSIM

The "Andersen Cone Crusher Model" is widely known and used. I'm not sure if it is any good (or any better than other models) at this point - it may be, it may not be - you have to decide for yourself. I am simply using this as a general example of how to use models (or parts of models) in METSIM if you want to.

In his 1988 masters thesis, Andersen provides a power estimation function for cone crushers. According to Andersen (thesis), his power estimation method is a based on the Awachie method (1983) which was a development of the empirical method proposed by Whiten (1972).

If you are interested in modelling mineral systems please get yourself a copy of Whiten's PhD thesis. It will save you many hours of reading decades of re-invention or minor modification of his (and others earlier) work, and it will also save you hundreds of dollars from your library budget. Put it on the shelf beside Taggart, King, Gupta and Yan, Martin Rhodes etc..

The principle of the power prediction method is that the power consumed by a crusher should be a function of the sum of the energy required in getting from the feed to the product size distribution if the size reduction was done in a pendulum test rig (from which the breakage function has been determined for each size and each specific energy level) - and an additional power consumption which is related to the "no load power".

The function provided in the Andersen thesis, equation 8.2 on page 153 is:

Pobs = a_1 x PendPwr + a_2


  • Pobs is the observed power draw during the survey in kW
  • PendPwr is the model-calculated comminution energy in kWh
  • a_1 is a constant
  • a_2 is a constant of value similar to the no-load power of the crusher.

OK, looks simple enough.  Andersen has an example where a_1 has the value 1.4 and a_2 has a value of 80 kW.  Raw data from the surveys is provided.

So now all we need is PendPwr.

Well we can just abstract this to a higher level and consider that Andersen is saying the cone crusher power can be estimated by applying a factor to a size reduction energy estimation method and adding a no load power factor. So PendPwr is established using a specific lab procedure and data analysis algorithm and will result in a value of a_1, but would other methods of estimating the size reduction energy requirements may work just as well but result in a different value for a_1?  I think so.

So for the purposes of this exercise, lets just take the power estimate generated in METSIM, call that TheorPwr, and use that in our function:

KW = a_1 x TheorPwr + a_2

METSIM uses the Rexnord power estimation method, which is equivalent to the Rose and English method, and also equivalent to the Motz method.  These are well described in "Mineral Processing Design and Operations - An Introduction by Gupta and Yan.

So we want to use the value METSIM has calculated for KW, modify it, and put it back so METSIM will use our modified value in operating cost reporting and equipment sizing etc.

So now we are going to poke around in METSIM's innards and look for where KW is being stored.  We are going to try and pick it out, modify it, and put it back and hope we haven't messed anything up - because we didn't understand all the things that really should be done as well.  We will have undoubtedly broken some things.  We will be "stomping" over the power reported in HP, and we should be thinking about using the Power / Drive Efficiency factor in there as well (as METSIM has already applied it to the theoretical power to get the observed power).

But this article is about how to do things - not if you should.

So where is the value for KW stored?  Well ideally we would like to find a neatly labelled system, like a set of filing cabinets, a cabinet for each model, and simply look for the "Parameters" label on the front of one of the drawers for this crusher model, open that one and look for the "KW" label on hanging sleeve, and the current value would be in that.  And that is pretty much how it is done.

We can imagine there is a filing cabinet for each model (and each instance of the crusher model), and each has an identifier - which is the Unit Operation Number.  We can rearrange the flowsheet and that moves the cabinets around, lining them up ready to provide data for the calculation sequence.

The filing cabinets are transparent, you can look into any one using FLS [ OP ; ] (where "OP" is the unit operation number) and you will see the contents laid out as what looks like a just a set of data - a vector.  But the drawers and hanging files are transparent too, so it is not as simple as it looks.  If you reach in for a particular value you can't get it.  You have to open the drawer, shuffle through the hanging files, and then open the right one to get what you want.

But once you know what you are looking at, it is really very easy.

So we are looking for the Parameters Codes list - and it is going to look like this:


And we want the "KW" and we can see that it is the 6th item.  So I would expect that the value for the KW is in the 6th hanging file on the Parameter Values drawer of this filing cabinet.  Now I expect KW is a single value (there is only one motor), but in other cases there may be numerous values in each parameter file (each written on a single piece of paper if you like).

Lets say the vector with the Parameter Codes (OP ME KM etc.) is the 7th item (the 7th drawer) in FLS, then you would probably expect the Parameter Values is the 8th (or next) item of FLS.  And if the code KW is the 6th Parameter Code, then the current value for KW is probably going to be the 6th Parameter Value. 

So we want a simple way to get and replace the contents of 6th hanging folder of the 8th drawer of our crusher model filing cabinet.

There is an APL operator called "pick". And it uses what I call the "Extract" (keyboard combination Alt + X) symbol that looks like a capital U that fell over to the left.

And the expression 6 "Extract" 8 "Extract" FLS [ OP; ] will return the number we want.  It opens the 8th item of FLS [ OP ; ] and then gets the 6th item from that.  And ( 6 "Extract" 8 "Extract" FLS [ OP; ] ) "gets" 10 will replace the current value with our new value (10).  ( 8 6 ) "Extract" FLS [OP ; ] also works.


I hope that was suitably scary, using the capital letters like that.  Many things can destroy your model. A windows update can destroy your computer - or even MS.  But you never have to be scared about doing something wrong in METSIM if you systematically save versions of your model.

But lets not be too hasty and think about this a bit. We are overwriting (or intend to) the calculated value for KW - with our own calculation.  It will be reported in the Op Cost if we are using that module.  It will be inconsistent with the HP value (unless we decide to change that as well).  It will not be changing the output stream in any way and will have no impact on the heat or mass balance.

Yep, sounds good to me, Job Safety Analysis done, lets do it.