Message Boards Message Boards

Solve a metallurgical mass balance (system of 7 equations with 7 unknowns)?

I'm currently trying to solve a mass balance useful in metallurgical processing.

There are 4 ingoing streams (streams "c", "f","h" and "o") and 3 outgoing streams ("m", "e" and "s") and 5 chemical elements: Cu, Fe, S, O, and Si. The components are written as moles/100g of the respective stream.

The compositions of streams "m", "s", "o", "f" and "h" are known, but the Fe, Si and O content of stream "e" is unknown. The O content of it can be obtained by charge balance, given that the oxidation states are: Cu =+1, Fe= x (+2<x<+3), Si=+4, S= -2, O = -2.

Note: The vector "A" is the vector of atomic weights, useful because the dot product of it and the composition vector of any stream must be 1 (i.e the sum of mass % of all components must be 100%). The factor "R" is the (known) iron/silicon ratio of stream "e"

The equation I am trying to solve is the following lineal system:

Fee = Sie*R
Oe = (Cue*1 + Fee*x + Sie*4 - Se*2)/2
m = {Cum, Fem, Sm, Om, Sim }
e = {Cue,  Fee, Se, Oe, Sie }
c = {Cuc, Fec, Sc, Oc, Sic }
f = {Cuf, Fef, Sf, Of, Sif }
h = {Cuh, Feh, Sh, Oh, Sih }
s = {0, 0, Ss, 2 Ss, 0 }
o = {0, 0, 0, Oo, 0 }
A = {ACu,  AFe, AS, AO, ASi }
Solve[{Mm*m + Me*e + Ms*s == Mc*c +Mf*f +Mh*h +Mo*o, 
  Mm + Me + Ms == Mc +Mf +Mh +Mo , e.A == 1}, {Mm, Me, Mf, Mh, Ms, 
  Mo, Sie}, Reals]

Unfortunately, the program does not run, even after a week of trying to symplify/rearrange the equations. I cannot find the mistake, it should run as a system of 7 equations with 7 unknowns. Perhaps there is some (implicit) unknown variable or equation redundant or missing in the system of equations. The unknown variables should be the following:

Mm, Me, Ms, Mo, Mf, Mh = masses Mi of the streams "m", "s", "o", "f" , "h" and "e"

Sie = silicon concentration in stream "e"

Thank you in advance for your help,

Alberto

3 Replies

What I want is to obtain a solution for just 7 unknowns, all the other "variables" are fixed, either assumed or taken from the periodic table. For the purposes of calculation in Mathematica, the ~30 "variables" should be treated as input constants:

The vector A = {ACu, AFe, AS, AO, ASi } contain the fixed atomic weights from the periodic table, and all the concentrations are input data, except the following 3 ones: Oe, Sie and Fee.

What I want is a a general solution so I can copy it to an EXCEL worksheet (after symplifying the resulting expressions, of course). There I could put as input the values of the element concentrations and the other parameters.

Regards,

Alberto

If you don't fill in those other 20-something 'variables' it will need to invert a large symbolic matrix, which is very very complicated (perhaps impossible?). You need those atomic weights and so on filled in.

POSTED BY: Sander Huisman

You're looking for an analytic solution to something with ~30 variables?

POSTED BY: Sander Huisman
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard

Group Abstract Group Abstract