You are on page 1of 28

-Introduccin

1.1-Contexto:
Tendencias vigentes de la tecnologa

Optimizacin de operaciones metalrgicas

Extensin y detalle del documento

Proyecto de investigacin

Este simulador no es dinmico, se aplica al estado estacionario.

Los clculos dependen del tonelaje de alimentacin fresca y de las dimensiones y parmetros de
operacin del molino as como de las propiedades del mineral.
1.2-Justificacin:
Todos los procesos necesarios en la industria de procesamiento de minerales son importantes debido a
que cada uno contribuye para la obtencin del producto deseado.
Sin embargo los procesos de conminucin de mineral juegan un rol trascendental en la recuperacin de
elementos valiosos desde sus menas. Dentro de ellos la molienda tiene importancia especial, no
solamente por sus altos costos operativos, sino tambin al hecho de que las propiedades fsicas y
mineralgicas del producto molido resultante es determinante en gran medida de la efectividad de las
siguientes etapas. Es por eso que la optimizacin de esta operacin unitaria disminuira
considerablemente los costos de operacin.
1.3-Objetivos:
Desarrollar un simulador de un circuito de molienda-clasificacin directa en Visual Basic.
Se aplicara el mtodo del Punto Fijo para la simulacin.
Obtener los Balance de materia del circuito, carga circulante, potencia del molino, eficiencia del
Hidrocicln.
1.4-Elementos Conceptuales:
El circuito de molienda-clasificacin que se permite simular es el siguiente:

Figura 1
Este sistema tiene tres subsistemas (S1, S2, S3), los cuales nos permitirn realizar los clculos para la
simulacin.
1.4.1-El subsistema (S1) esta conformado por el Hidrocicln, este subsistema nos permitir calcular: El
porcentaje acumulado retenido del Underflow; tonelaje de salida del Underflow,
cuyos modelos matemticos son:

(1)

(2)

(3)

(4)
(5)
(6)

(7)
Donde,
a1, a2, a3, a4, son constantes del Hidrocicln.
Qf, Flujo volumtrico de pulpa en la alimentacin del Hidrocicln, m3/hr.
H, presin en la alimentacin del Hidrocicln, expresada en pies equivalentes en la pulpa de alimentacin,
ft.
, Fraccin slidos por volumen alimentacin del Hidrocicln, %.
DC, dimetro del Hidrocicln, in.

h, altura del Hidrocicln, definida como la distancia del fondo (Vortex) a la parte superior (apex), in.
DI, Dimetro de la entrada de la alimentacin del Hidrocicln (rea equivalente si la entrada es
rectangular), in.
DO, Dimetro del vortex Hidrocicln (Overflow), in.
DU, Dimetro apex Cicln (Underflow), in.
, Tamao Corre del corte de la partcula que permite un cociente de peso 50:50 entre el Overflow y
Underflow.
S, distribucin de los caudales volumtricos (flor split) de rebalse y descarga del Hidrocicln.
m, parmetro de plits nunca es mayor que 4.
, Eficacia Corregida de Clasificacin.
, By_pass finos.
, By_pass del agua.
1.4.2-El subsistema (S2) esta conformado por la unin de flujos del Underflow; del Hidrocicln y la
alimentacin fresca, este subsistema permite realizar el calculo de: El porcentaje acumulado retenido de
la alimentacin al molino, alimentacin total al molino; los modelos matemticos son:

(8 y 9)
Donde
Fj, Flujo seco total de alimentacin fresca al sistema tons/hr.
U, toneladas del Underflow del Hidrocicln, tons/hr.
Fm, flujo total de alimentacin al molino (incluye carga circulante), tons/h.
fm, porcentaje acumulada retenida de slidos en la alimentacin compuesta al molino, %.
fu, porcentaje acumulada retenida de slidos en el Underflow del Hidrocicln,%.
fsf, porcentaje acumulada retenida de slidos en la alimentacin fresca al circuito,%.
1.4.3-El subsistema (S3) esta conformado por el molino, este subsistema permite calcular el porcentaje
acumulado retenido en la descarga del molino; los modelos matemticos son:
(10)
Donde:
fm:= {fi |i=1,2,n} vector producto (descarga) del molino, cuyos elementos representan la distribucin
granulomtrica parcial del producto
fd= { fd |i=1,2,n} vector de alimentacin al molino, cuyos elementos representan la distribucin
granulomtrica parcial de la alimentacin al equipo
T es la matriz triangular inferior (nxn), cuyos elementos Tij estn dados:

Tij =
e
(11)
Donde:
Es la funcin de fractura en su forma acumulada retenida.
Es la funcin de seleccin especfica.
J es la matriz diagonal (nxn), cuyos elementos Jij estn dados por:

Jij =
(12)

(13)

(14)

(15)
(16)

(17)
Donde:
D, Dimetro interior molino,ft.
L, Largo interior molino, ft.
J, Nivel llenado aparente. Carga volumtrica aparente llenado (incluyendo bolas y exceso pulpa sobre
bolas cargadas, mas pulpa en espacios intersticiales entre bolas), porcentaje ocupa carga relacin
volumen interno total molino, %.
m, Densidad Mineral, ton/m3.
ap, Densidad aparente carga molino (incluyendo espacios intersticiales), ton/m3.
Pneta, Potencia Neta Molino, kW.
, Angulo inclinacin superficie carga durante operacin, .
P, Potencia real o total, kW.
Lw, Prdidas potencia, %.
E, Energa por tonelada carga, kWh/ton.
Fm, Flujo seco total alimentacin molino (incluye carga recirculada), tph.
La relacin de las variables entre estos tres subsistemas es el siguiente:

Figura 2
4-DISEO DEL PROGRAMA:
4.1-Algoritmo de la simulacin del circuito molienda-clasificacin.

4.2- PROCEDIMIENTO
En la Figura 3 se indica el esquema seguido en el desarrollo del software:
4.2.1- Variables de Ingreso:
4.2.1.1-Parmetros del Molino

La figura 4 se representan las constante del molino, estas dependen solo del tipo de mineral que se va a
reducir de tamao
, constantes para hallar la funcin de seleccin especifica "SE"
constantes para hallar la funcin de fractura "B(i,j)"
dcrit, dimetro crtico al que se quiere llegar, micrones

Figura 4
La figura 5 se representa datos de operacin del molino
Lw, Prdidas potencia, %, (0100)
, Angulo inclinacin superficie carga durante operacin, , (0180)
, porcentaje velocidad crtica utilizada, %
D, Dimetro interior molino ,ft
L, Largo interior molino, ft
Jp, Nivel llenado pulpa espacios intersticiales %
J, Nivel llenado aparente. Carga volumtrica aparente llenado (incluyendo bolas y exceso pulpa sobre
bolas cargadas, mas pulpa en espacios intersticiales entre bolas), porcentaje ocupa carga relacin
volumen interno total molino, %
fsd, Fraccin peso de los slidos a la descarga del molino, %
JB, Nivel llenado bolas
fv, Fraccin volumtrica espacios intersticiales entre bolas(aprox. 40% volumen aparente ocupado por
carga).
B, Densidad bolas, ton/m3
m, Densidad Mineral, ton/m3

Figura 5
4.2.1.2- Parmetros del Hidrocicln
La figura 6 se representa datos de operacin del Hidrocicln
fus, Fraccin Slidos Underflow Cicln, %.

fos, Fraccin Slidos Overflow Cicln, %.


a1, a2, a3, a4son constantes del Hidrocicln
N, nmero de hidrociclones
DC, dimetro del Hidrocicln, in
h, altura del Hidrocicln, definida como la distancia del fondo (Vortex) a la parte superior (apex), in.
DI, Dimetro de la entrada de la alimentacin del Hidrocicln (rea equivalente si la entrada es
rectangular), in
DO, Dimetro del vortex Hidrocicln (Overflow), in
DU, Dimetro apex Cicln (Underflow), in

Figura 6
4.2.1.3-Alimentacin Fresca
Esta parte de la ventana representa el anlisis granulomtrico % acumulado retenido de la alimentacin
fresca al circuito de molienda clasificacin y el tonelaje seco de alimentacin fresca.
Malla, representa el tipo de malla usada en el anlisis granulomtrico
Abertura, es el dimetro correspondiente al numero de malla en micrones

Figura 7
4.2.2- Proceso de Iteracin.
El Mtodo Numrico que se a empleado en el Programa en Mtodo de Punto Fijo, la variable que se itera
es la carga circulante cci = cc0
Se partir asumiendo una Carga Circulante Inicial = 1, obteniendo la nueva carga circulante la que nos
permite determinar:
La masa en cada malla en la alimentacin al Hidrocicln(c/U)

La masa en cada malla en el overflow al Hidrocicln

La masa en cada malla en el underflow del Hidrocicln

% retenido underflow y overflow del Hidrocicln

Masa total underfloW de cada Hidrocicln

% retenido underflow y overflow de cada malla

calculo de la fraccin de slidos acumulada retenida

calculo de la matriz Tij

calculo de la salida del molino

Nueva Carga Circulante.


El proceso de iteracin termina cuando TM de alimentacin nueva = TM de alimentacin asumida.
4.2.3- Resultados:
Se obtiene los Balances de Matria en cada uno de los subsistemas.

Se genera un Reporte en Excel

, que nos permite evaluar el Proceso del circuito.

5- CONCLUSIONES
Se trabajo con el mtodo numrico de punto fijo el cual da una buena convergencia

Para el criterio de convergencia se usa la variacin de la carga circulante, asumiendo se una


inicial de 1

Se construyo el programa en Visual Basic 6.0, el cual permite predecir el porcentaje acumulado
passing del molino as como tambin el balance de materia del circuito

6- RECOMENDACIONES
Este simulador no es dinmico, se aplica al estado estacionario.

Los clculos dependen del tonelaje de alimentacin fresca y de las dimensiones y parmetros de
operacin del molino as como de las propiedades del mineral.

Es importante saber las constantes del clasificador y del molino ya que este simulador no calcula
las constantes.

7- BIBLIOGRAFIA
JOSE MANZANEDA CABALA "Procesamiento de minerales", Lima-Per 1995

FERNANDO AYRES HIDALGO "Tcnicas matemticas aplicadas al balance de


materia circuitos de Chancado, molienda y flotacin" 1998

JAIME E. SEPULVEDA "Dimensionamiento y optimizacin de plantas concentradoras mediante


tcnicas de modelacin matemtica" Chile, 1986

ANGEL EGAS SAENS "Evaluacin de plantas concentradoras"

JHON M. CURRIE "Operaciones Unitarias en el procesamiento de Minerales"


ANEXO
SIMULACIN DE UN CIRCUITO DE MOLIENDA CLASIFICACIN DIRECTA

I- CODIGO DEL PROGRAMA:


1.
Datos de Ingreso

frm Datos de Ingreso


Private Sub cmdaceptar_Click()
a01 = Val(txta01.Text)
a02 = Val(txta02.Text)
a11 = Val(txta11.Text)
a12 = Val(txta12.Text)
a2 = Val(txta2.Text)
dcrit = Val(txtdcrit.Text)
B00 = Val(txtb00.Text)
B01 = Val(txtb01.Text)
B1 = Val(txtb1.Text)
B2 = Val(txtb2.Text)
lw = Val(txtlw.Text)
angulo = Val(txta.Text)
phy = Val(txtphi.Text)
diametro = Val(txtdiametro.Text)
largo = Val(txtlongitud.Text)
Jp = Val(txtjp.Text)
tonff = Val(txtafrescacircuito.Text)
Jllenado = Val(txtj.Text)
Jbolas = Val(txtjb.Text)
fracv = Val(txtfv.Text)
dbolas = Val(txtdensidadbolas.Text)
dmineral = Val(txtdensidadmineral.Text)
fsd = Val(txtfsd.Text)
Rem hidrociclon
fus = Val(txtfus.Text)
fos = Val(txtfos.Text)
lambda = Val(txtlambda.Text)
ca1 = Val(txtca1.Text)

ca2 = Val(txtca2.Text)
ca3 = Val(txtca3.Text)
ca4 = Val(txtca4.Text)
NH = Val(txtNH.Text)
DCH = Val(txtDC.Text)
HC = Val(txtHC.Text)
DIH = Val(txtDI.Text)
DOH = Val(txtDO.Text)
DUH = Val(txtDU.Text)
cc0 = Val(txtCC0.Text)
'fasumido en la alimentacion del hidrociclon
fasumido(1) = 0: fasumido(10) = 2.971: fasumido(19) = 1
fasumido(2) = 0.632: fasumido(11) = 3.857
fasumido(3) = 1.397: fasumido(12) = 4.842
fasumido(4) = 1.384: fasumido(13) = 6.004
fasumido(5) = 1.272: fasumido(14) = 6.732
fasumido(6) = 1.344: fasumido(15) = 6.771
fasumido(7) = 1.568: fasumido(16) = 6.377
fasumido(8) = 1.857: fasumido(17) = 5.725
fasumido(9) = 2.475: fasumido(18) = 5.023
fasumido(19) = 4.164: fasumido(20) = 35.604
'recuperado los valores % retenido y abertura de las mallas
For i = 1 To 21
abertura(i) = Val(lblopen(i).Caption)
malla(i) = CStr(label1(i).Caption)
If i = 21 Then
Exit For
Else
faf(i) = Val(txtfaf(i).Text)
End If
Next i
Rem calculo del mid size y SE
For i = 2 To 21
If i <> 21 Then
d(i - 1) = Sqr(abertura(i) * abertura(i - 1))
ElseIf i = 21 Then
d(i - 1) = (abertura(i) + abertura(i - 1)) / 2
SE(i - 1) = 0: Exit For
End If
SE(i - 1) = (1 / (1 + a02 / a01)) * ((a01 * ((d(i - 1)) ^ a11) / (1 + (d(i - 1) / dcrit) ^ a2)) + a02 * (d(i - 1)) ^ a12)
Next i
'calulo de la potrencia del molino
Me.Hide
frmprincipal.Show
frmprincipal.cmdcalcular.Visible = True
End Sub
1.2- Hidrociclon

Frm Hidrocicln
Private Sub cmdaceptar_Click()
mdiprincipal.Enabled = True
Unload frmhidrociclon
End Sub
Private Sub Form_Activate()
Rem hidrocilon
TonF = TonFM
'overflow
txtfso.Text = Round(fos, 2) & " " & "%"
txtppo.Text = Round(densidad(fos), 2) & " " & "ton/m3"
txtTonO.Text = Round(Over * NH, 2) & " " & "ton/hr"
'underflow
txtfsu.Text = Round(fus, 2) & " " & "%"
txtppu.Text = Round(densidad(fus), 2) & " " & "ton/m3"
txttonU.Text = Round(TonFM - Over * NH, 2) & " " & "ton/Hr"
'alimentacion
Rem calculo de la fraccion de solidos a la alimentacion
fsf = TonF / (TonO / fos + TonU / fus)
txtfsf.Text = Round(fsf, 2) & " " & "%"
txtppf.Text = Round(densidad(fsf), 2) & " " & "ton/m3"
txtTonF.Text = Round(TonF, 2) & " " & "ton/hr"
txtNH.Text = NH
txtpresion.Text = Round(PHidrociclon / 2.31 * densidad(fsf), 2) & " " & "Psi"
txtbpw.Text = Round(Bpw, 2)
txtbpf = Round(Bpf, 2)
End Sub
Private Sub Timer1_Timer()
imghidrociclon.Visible = Not imghidrociclon.Visible
End Sub

1.3- Molino

Frm Molino
Private Sub cmdaceptar_Click()
mdiprincipal.Enabled = True
Unload frmmolino
End Sub
Private Sub Form_Load()
txtEnergia.Text = Round(E, 2) & " " & "KwHr/Ton"
'calculo del p80
For i = 1 To 19
If pfm(i) > 80 And pfm(i + 1) < 80 Then
P80M = abertura(i + 1) * Exp(Log(80 / pfm(i + 1)) * Log(abertura(i + 1) / abertura(i)) / Log(pfm(i + 1) /
pfm(i)))
End If
Next i
For i = 1 To 19
If pd(i) > 80 And pd(i + 1) < 80 Then
P80D = abertura(i + 1) * Exp(Log(80 / pd(i + 1)) * Log(abertura(i + 1) / abertura(i)) / Log(pd(i + 1) / pd(i)))
End If
Next i
txtp80d.Text = Round(P80D, 2) & " " & "um"
txtp80m.Text = Round(P80M, 2) & " " & "um"
txtppd.Text = Round(densidad(fsd), 2) & " " & "ton/m3"
txtPR.Text = Round(Ereal, 2) & " " & "Kwhr"
txttonD.Text = Round(TonFM, 2) & " " & "ton/hr"
txtTonM.Text = Round(TonFM, 2) & " " & "ton/hr"
txtV.Text = Round(Nc, 2) & " " & "rpm"
txtWi.Text = Round(E / 10 / (1 / P80D ^ 0.5 - 1 / P80M ^ 0.5), 2) & " " & "KwHr/ton"
txtw.Text = Round(TonFM - TonFM / fsd, 2) & " " & "m3/hr"
End Sub

Private Sub Timer1_Timer()


imgtuberia2.Visible = Not imgtuberia2.Visible
imgmolino.Visible = Not imgmolino.Visible
imgsalida.Visible = Not imgsalida.Visible
End Sub
1.4- Frm Pozo
Private Sub cmdaceptar_Click()
mdiprincipal.Enabled = True
Unload frmpozo
End Sub
Private Sub Form_Load()
fsf = Round((TonO + TonU) / (TonO / fos + TonU / fus), 2)
txtd.Text = Round(TonFM, 2) & " " & "ton/hr"
txtpp1.Text = Round(densidad(fsd), 2) & " " & "m3/hr"
txtpp2.Text = Round(densidad(fsf), 2) & " " & "m3/hr"
txtps1.Text = Round(fsd, 2) & " " & "%"
txtps2.Text = Round(fsf, 2) & " " & "%"
txtw.Text = Round(TonFM - TonFM / fsd, 2) & " " & "m3/hr"
End Sub
Private Sub Timer1_Timer()
imgtuberia.Visible = Not imgtuberia.Visible
imgmsalida.Visible = Not imgmsalida.Visible
End Sub
1.5- Principal

Frm Principal
Dim fdescarga(1 To 20) As Double
Private Sub cmdcalcular_Click()
'la variable que se itera es la carga circulante
cci = cc0
ii = 1

For i = 1 To 20
fdescarga(i) = fasumido(i)
Next i
Do While ii < 1000
hidrociclon (cci)
calculos
If Gauss(mat(), inversa()) = True Then
If MULT(T(), Jm(), inversa(), fm(), fd()) = True Then
Else
MsgBox "Ha ocurrido un error." _
& Chr(13) & Chr(13) & "Error : " & Err.Number _
& Chr(13) & "Info : " & Err.Description _
& Chr(13) & "Objeto : " & Err.Source _
& Chr(13) & Chr(13) & "Envie este error a la direccin igorclm[arroba]hotmail.com " _
& "y le indicaran la solucin a su problema.", vbCritical, "Error al"
End If
End If
'calculo de la nueva carga circulante
'hallamos la masa en cada malla en la alimentacion al hidrociclon(c/U)
For i = 1 To 20
mfi(i) = TonFM / NH * fd(i, 1) / 100
Next i
'hallamos la masa en cada malla en el overflow al hidrociclon
For i = 1 To 20
mui(i) = Ei(i) * mfi(i)
Next i
'hallamos la masa en cada malla en el underflow del hidrociclon
For i = 1 To 20
moi(i) = mfi(i) - mui(i)
Next i
'hallamos % retenido underflow y overflow del hidrociclon
For i = 1 To 20
'masa total underflon de cada hidrociclon
smui = smui + mui(i)
smoi = smoi + moi(i)
Next i
For i = 1 To 20
'% retenido underflow y overflow de cada hidrociclon
rfu(i) = mui(i) / smui * 100
rfo(i) = moi(i) / smoi * 100
Next i
cc = smui / smoi
If Abs(cci - cc) < 0.001 Then
mostrarpanel
Exit Sub
Else
cci = cc
End If
For i = 1 To 20
fdescarga(i) = fd(i, 1)
Next i
ii = ii + 1
Loop
End Sub
Sub mostrarpanel()
Pff(1) = 100: pfm(1) = 100: pd(1) = 100: paf(1) = 100
po(1) = 100: pu(1) = 100
For i = 1 To 20

Pff(i + 1) = Round(Pff(i) - faf(i), 2)


pfm(i + 1) = Round(pfm(i) - fm(i, 1), 2)
pd(i + 1) = Round(pd(i) - fd(i, 1), 2)
paf(i + 1) = Round(paf(i) - fd(i, 1), 2)
pu(i + 1) = Round(pu(i) - rfu(i), 2)
po(i + 1) = Round(po(i) - rfo(i), 2)
Next i
txtalifresca.Visible = True
txtover.Visible = True
txtalimolino.Visible = True
txtcc.Visible = True
Label1.Visible = True
Label2.Visible = True
Label3.Visible = True
Label4.Visible = True
lblmolino.Enabled = True
lblpozo.Enabled = True
lblhidrociclon.Enabled = True
cmdreporte.Visible = True
txtalifresca.Text = tonff & " " & "ton/hr"
txtover.Text = TonO & " " & "ton/hr"
txtalimolino.Text = Round(TonFM, 2) & " " & "ton/hr"
txtcc.Text = Round(cc, 4)
End Sub
Sub calculos()
Rem calculo de B0j
For i = 1 To 20
B0j(i) = B00 * (d(i) / d(1)) ^ (-B01)
If B0j(i) > 1 Then
B0j(i) = 1
ElseIf B0j(i) < 1 Then
B0j(i) = B0j(i)
End If
Next i
Rem calculo de Bij fraccion de solidos acumulada pasante
For i = 1 To 20
For j = 1 To 20
If i >= j Then
If i = 20 And j = 20 Then
B(i, j) = B0j(i) * (abertura(i) / abertura(j)) ^ B1 + (1 - B0j(i)) * (abertura(i) / abertura(j)) ^ B2
ElseIf i = j Then
B(i, j) = 1
ElseIf i > j Then
B(i, j) = B0j(i) * (abertura(i) / abertura(j + 1)) ^ B1 + (1 - B0j(i)) * (abertura(i) / abertura(j + 1)) ^ B2
End If
Else
B(i, j) = 0
End If
Next j
Next i
Rem calculo de la fraccion de solidos acumulada retenida baij
For i = 1 To 20
For j = 1 To 20
If i >= j Then
If i = j Then
ba(i, j) = 0
ElseIf i = 20 Then
ba(i, j) = B(i, j)

ElseIf i > j Then


ba(i, j) = B(i, j) - B(i + 1, j)
End If
End If
Next j
Next i
Rem caluculo de la matriz Tij
For j = 1 To 20
For i = 1 To 20
If i < j Then
T(i, j) = 0
ElseIf i = j Then
T(i, j) = 1
ElseIf i > j Then
T(i, j) = suma(i, j)
End If
Next i
Next j
'calculo de la matriz j
For i = 1 To 20
For j = 1 To 20
If i = j Then
Jm(i, j) = 1 / (1 + SE(i) * E / (largo / diametro)) ^ (largo / diametro)
ElseIf i <> j Then
Jm(i, j) = 0
End If
Next j
Next i
Rem calculo de la salida del molino
'creamos una matriz aumentada mat
For i = 1 To 20
For j = 1 To 40
If j = i + 20 And j > 20 Then
mat(i, j) = 1
End If
If j <= 20 Then
mat(i, j) = T(i, j)
End If
If j <> i + 20 And j > 20 Then
mat(i, j) = 0
End If
Next j
Next i
End Sub
Sub hidrociclon(cci)
Rem calculo delos valores
TonO = tonff ' alimentacion fresca
Over = TonO / NH
Under = cci * Over
Feed = Over + Under
Up = Under * 100 / fus 'mas de pulpa tons/hr
Op = Over * 100 / fos ' masa de pulpa tons/hr
Fp = Up + Op 'masa de pulpa tons/hr
Wf = Fp - Feed 'caudal de agua ton/hr
Wo = Op - Over 'caudal de agua ton/hr
Wu = Up - Under 'caudal de agua ton/hr
Qf = Feed / dmineral + Wf 'caudal de pulpa m3/hr
Qo = Over / dmineral + Wo 'caudal de pulpa m3/hr

Qu = Under / dmineral + Wu 'caudal de pulpa m3/hr


fphy = Feed / dmineral / Qf * 100
Bpw = Wu / Wf
Bpf = lambda * Bpw
'Public fus , fos lambda ca1 ca2 ca3 ca4 NH DC HC As Variant
PHidrociclon = ca1 * Qf ^ 1.46 * Exp(-7.63 * fphy / 100 + 10.79 * (fphy / 100) ^ 2) / (DCH ^ 0.2 * HC ^ 0.15
* DIH ^ 0.51 * DOH ^ 1.65 * DUH ^ 0.53)
d50 = ca2 * (DCH ^ 0.44 * DIH ^ 0.58 * DOH ^ 1.91 * Exp(11.12 * fphy / 100)) / (HC ^ 0.37 * DUH ^ 0.8 * Qf
^ 0.44 * (dmineral - 1) ^ 0.5)
Sp = ca3 * (HC ^ 0.19 * (DUH / DOH) ^ 2.64 * Exp(-4.33 * fphy / 100 + 0.77 * (fphy / 100) ^ 2)) / (HC ^ 0.54
* DCH ^ 0.38)
m = Exp(ca4 - 1.58 * (Sp / (1 + Sp))) * (DCH ^ 2 * HC / Qf) ^ 0.15
For i = 1 To 20
Eic(i) = 1 - Exp(-0.693 * (d(i) / d50) ^ m)
Next i
For i = 1 To 20
Ei(i) = Bpf + (1 - Bpf) * Eic(i)
Next i
'hallamos la masa en cada malla en la alimentacion al hidrociclon(c/U)
For i = 1 To 20
mfi(i) = Feed * fdescarga(i) / 100
Next i
'hallamos la masa en cada malla en el overflow al hidrociclon
For i = 1 To 20
mui(i) = Ei(i) * mfi(i)
Next i
'hallamos la masa en cada malla en el underflow al hidrociclon
For i = 1 To 20
moi(i) = mfi(i) - mui(i)
Next i
'hallamos % retenido underflow del hidrociclon
For i = 1 To 20
'masa total underflon de cada hidrociclon
smui = smui + mui(i)
Next i
For i = 1 To 20
'% retenido underflow de cada hidrociclon
fui(i) = mui(i) / smui * 100
Next i
'balance en el nodo de alimentacion del molino TonFM
TonU = smui * NH
TonFM = TonU + tonff
potencia
For i = 1 To 20
fm(i, 1) = (TonU * fui(i) + tonff * faf(i)) / (TonFM)
Next i
End Sub
Sub potencia()
Nc = 76.6 / diametro ^ 0.5 * phy / 100
ppd = densidad(fsd)
Vmolino = pi / 4 * (0.305 * diametro) ^ 2 * (0.305 * largo)
Vc = Vmolino * Jllenado / 100
VBolas = Vmolino * Jbolas / 100
MB = (1 - fracv) * dbolas * VBolas
MPEI = Jp / 100 * fracv * VBolas * ppd
JE = Jllenado - Jbolas
MPE = JE * Vmolino * ppd
pap = (MB + MPEI + MPE) / Vc

pneta = 0.238 * diametro ^ 3.5 * (largo / diametro) * phy / 100 * pap * (Jllenado / 100 - 1.064 * Jllenado ^
2 / 10000) * Sin(angulo * pi / 180)
Ereal = pneta / (1 - lw / 100)
E = pneta / TonFM
End Sub
Private Sub cmdreporte_Click()
'calculo del p80
For i = 1 To 19
If pfm(i) > 80 And pfm(i + 1) < 80 Then
P80M = abertura(i + 1) * Exp(Log(80 / pfm(i + 1)) * Log(abertura(i + 1) / abertura(i)) / Log(pfm(i + 1) /
pfm(i)))
End If
Next i
For i = 1 To 19
If pd(i) > 80 And pd(i + 1) < 80 Then
P80D = abertura(i + 1) * Exp(Log(80 / pd(i + 1)) * Log(abertura(i + 1) / abertura(i)) / Log(pd(i + 1) / pd(i)))
End If
Next i
dialogo.DialogTitle = "Destino - Seleccione el archivo de destino"
dialogo.Filter = "Archivos de Datos (*.csv)|*.csv|Archivos de Excel (*.xls)|*.xls|Todos los archivos (*.*)|*.*"
dialogo.ShowOpen
If dialogo.FileName <> "" Then
Open dialogo.FileName For Output As #1
Print #1, " " & ";" & "Simulador de Molienda de un Circuito Cerrado Convencional"
Print #1, ""
Print #1, " " & ";" & "Datos de la simulacin"
Print #1, "Fecha" & " " & Date
Print #1, "Hora" & " " & Time
Print #1, " Autores" & ";" & "Veronica Charres & igor Caapataa"
Print #1, " " & ";" & "Distribucin de tamaos de particula"
Print #1, "malla" & ";" & "%pass" & ";" & "%pass" & ";" & "%pass" & ";" & "%pass" & ";" & "%pass" & ";" &
"%pass"
Print #1, "Tyler#" & ";" & "Al. Fresca" & ";" & "al. Molino" & ";" & " Des. Molino" & ";" & "Al. Hidrociclon" & ";"
& "Uderflow" & ";" & "Overflow"
For i = 1 To 20
Print #1, malla(i) & ";" & Pff(i) & ";" & pfm(i) & ";" & pd(i) & ";" & paf(i) & ";" & pu(i) & ";" & po(i)
Next i
Print #1, ""
Print #1, "Desempeo del molino de bolas"
Print #1, "Potencia Real" & ";" & Round(Ereal, 2) & "KWH "
Print #1, "Potencia Especifica" & ";" & Round(E, 2) & "KWH/Ton "
Print #1, "Velocidad del molino" & ";" & Round(Nc, 2) & " " & "rpm"
Print #1, "Work Index" & ";" & Round(E / 10 / (1 / P80D ^ 0.5 - 1 / P80M ^ 0.5), 2) & " " & "KwHr/ton"
Print #1, ""
Print #1, "datos del Hidrocilon"
Print #1, "Alimentacin" & ";" & Round(Feed * NH, 2) & " " & "ton/Hr"
Print #1, "Presin" & ";" & Round(PHidrociclon / 2.31 * densidad(fsf), 2) & " " & "Psi"
Print #1, "d50" & ";" & Round(d50, 2) & " " & "micrones"
Print #1, "By-pass Agua" & ";" & Round(Bpw, 2)
Print #1, "By-pass Finos" & ";" & Round(Bpf, 2)
Print #1, "Carga Circulante" & ";" & Round(cc, 2)
Close #1
Dim Error As Integer
Error = ShellExecute(Me.hwnd, "Open", dialogo.FileName, " ", " ", 1)
End If
End Sub
Private Sub Form_Load()
txtalifresca.Visible = False

txtover.Visible = False
txtalimolino.Visible = False
txtcc.Visible = False
Label1.Visible = False
Label2.Visible = False
Label3.Visible = False
Label4.Visible = False
lblmolino.Enabled = False
lblpozo.Enabled = False
lblhidrociclon.Enabled = False
End Sub
Private Sub lblhidrociclon_Click()
mdiprincipal.Enabled = False
frmhidrociclon.Show
End Sub
Private Sub lblmolino_Click()
mdiprincipal.Enabled = False
frmmolino.Show
End Sub
Private Sub lblpozo_Click()
mdiprincipal.Enabled = False
frmpozo.Show
End Sub
Private Sub mdicontenido_Click()
frmayuda.Show
End Sub
Private Sub mdivaringreso_Click()
cmdreporte.Visible = False
frmprincipal.Hide
frmdatosdeingreso.WindowState = 2
frmdatosdeingreso.Show
End Sub
Private Sub Timer1_Timer()
imgmolino.Visible = Not imgmolino.Visible
imgsalida.Visible = Not imgsalida.Visible
imgtuberia.Visible = Not imgtuberia.Visible
imghidrociclon.Visible = Not imghidrociclon.Visible
imgtuberia2.Visible = Not imgtuberia2.Visible
End Sub
1.5- Mdulo Principal
Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal
lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String,
ByVal nShowCmd As Long) As Long
Public Directorio As String
Public abertura(1 To 21) As Variant
Public d(1 To 20)
Public malla(1 To 21) As String
Public SE(1 To 20)
Public fm(1 To 20, 1) As Double
Public faf(1 To 20) As Single
Public B(1 To 20, 1 To 20)
Public B0j(1 To 20)
Public ba(1 To 20, 1 To 20)
Public Jdiag(1 To 20, 1 To 20)
Public T(1 To 20, 1 To 20) As Double
Public Jm(1 To 20, 1 To 20) As Double
Public mat(1 To 20, 1 To 40) As Double
Public dmineral

Public inversa(1 To 20, 1 To 20) As Double


Public fd(1 To 20, 1) As Double
Public E As Single
Public Const pi = 3.141592653589
Rem molino
Public a01 As Variant
Public a02 As Variant
Public a11 As Variant
Public a12 As Variant
Public a2 As Variant
Public dcrit As Variant
Public B00 As Variant
Public B01 As Variant
Public B1 As Variant
Public B2 As Variant
Public lw As Variant
Public angulo As Variant
Public phy As Variant
Public Ereal As Variant
Public diametro As Variant
Public largo As Variant
Public Jp As Variant
Public tonff As Variant
Public TonFM As Variant
Public Jllenado As Variant
Public Jbolas As Variant
Public fracv As Variant
Public dbolas As Variant
Public fsd As Variant
Public Nc As Variant
Rem porcentajes passing
Public Pff(1 To 21)
Public pfm(1 To 21)
Public pd(1 To 21)
Public paf(1 To 21)
Public pu(1 To 21)
Public po(1 To 21)
Public d50 As Single
Rem hicrocilon
'''''''''''''
Public fasumido(1 To 20) As Single
Public Eic(1 To 20) As Single
Public Ei(1 To 20) As Single
'masa en cada malla
Public moi(1 To 20) As Single
Public mui(1 To 20) As Single
Public mfi(1 To 20) As Single
'%retenidos en las mallas
Public fui(1 To 20) As Single
Public foi(1 To 20) As Single
Public ffi(1 To 20) As Single
Public rfo(1 To 20) As Single
Public rfu(1 To 20) As Single
Public TonU As Variant
Public TonO As Variant
Public TonF As Variant
Public PHidrociclon As Variant
'''''''''''''''''

Public fus As Variant


Public fos As Variant
Public fof As Variant
Public lambda As Variant
Public ca1 As Variant
Public ca2 As Variant
Public ca3 As Variant
Public ca4 As Variant
Public NH As Variant
Public DCH As Variant
Public HC As Variant
Public DIH As Variant
Public DOH As Variant
Public DUH As Variant
Public cc0 As Single
Public cc As Single
Public cci As Single
Public Bpw As Single
Public Bpf As Single
Public Under As Single
Public Over As Single
Public Feed As Single
Public ppd As Variant
Public Vmolino As Variant
Public Function MULT(ByRef A() As Double, ByRef B() As Double, ByRef invA() As Double, ByRef f0() As
Double, ByRef f() As Double) As Boolean
Dim i, j, k, m
' On Error GoTo Gauss_Err
n = UBound(A)
'preimera multiplicacion T*J
ReDim c(1 To n, 1 To n) As Single
ReDim U(1 To n, 1 To n) As Single
For i = 1 To n
For j = 1 To n
c(i, j) = 0
For k = 1 To n
c(i, j) = c(i, j) + A(i, k) * B(k, j)
Next k
Next j
Next i
'segunda multiplicacion (T*J)*T-1
For i = 1 To n
For j = 1 To n
U(i, j) = 0
For k = 1 To n
U(i, j) = U(i, j) + c(i, k) * invA(k, j)
Next k
Next j
Next i
'hallando el producto
For i = 1 To n
For j = 1 To 1
f(i, j) = 0
For k = 1 To n
f(i, j) = f(i, j) + U(i, k) * f0(k, j)
Next k
Next j
Next i

MULT = True
Exit Function
Gauss_Err: MULT = False
End Function
Public Function Gauss(ByRef A() As Double, ByRef inv() As Double) As Boolean
Dim Temp As Single, i, j, k, m
On Error GoTo Gauss_Err
n = UBound(inv)
For k = 1 To n
Temp = A(k, k)
For j = 1 To 2 * n
A(k, j) = A(k, j) / Temp
Next j
For i = 1 To n - 1
If i = k Then
For m = i To n - 1
For j = k + 1 To 2 * n
A(m + 1, j) = A(m + 1, j) - A(m + 1, k) * A(i, j)
Next j
Next m
End If
Next i
Next k
Rem sacando elementos de la inversa
k=1
For j = n + 1 To 2 * n
For i = 1 To n
inv(i, k) = A(i, j)
Next i
k=k+1
Next j
Gauss = True
Exit Function
Gauss_Err: Gauss = False
End Function
Public Function suma(i, j)
suma = 0
For k = j To i - 1
suma = suma + (ba(i, k) * SE(k) * T(k, j)) / (SE(i) - SE(j))
Next k
End Function
Public Function densidad(s)
densidad = 1 / (s / 100 * 1 / dmineral + 1 - s / 100)
End Function
II- REPORTE EN EXCEL

Fecha 27/03/2006
Hora 15:33:39
Autores

malla

Tyler#
1'
3/4 '
1/2 '
3/8 '
3
4
6
8
10
14
20
28
35
48
65
100
150
200
270
400

Desempeo del molino de bolas


Potencia Real
Potencia Especifica
Velocidad del molino
Work Index

datos del Hidrocicln


Alimentacin
Presin
d50
By-pass Agua
By-pass Finos
Carga Circulante

Leer ms: http://www.monografias.com/trabajos34/circuito-molienda/circuitomolienda.shtml#ixzz3oOitYKfv

You might also like