En este ejemplo, mostraremos como se puede rebloquear usando MineLink y el impacto que tiene esto en el resultado del pit final.

Caso

Para poder desarrollar este ejercicio se consideró un modelo original con bloques de tamaño regular de 20mx20mx20m. El cuerpo mineralizado tiene forma de manto, con un ancho de 200 metros, un largo de 1000 metros y una profundidad indefinida. Posee un manteo de 45° con respecto al eje vertical y está ubicado a 50 metros bajo la superficie. La ley de la zona mineralizada tiene un valor de 0.7% de Cu distribuida de manera uniforme en los bloques. Para efectos del ejercicio, se asumirá que todos los bloques poseen una densidad de 2.64 t/m³. A continuación se muestra una vista en planta y en perfil del modelo de bloques con la ley de Cu.

Fig. 1. Vista en planta del modelo de bloques de 20mx20mx20m
Fig. 1. Vista en planta del modelo de bloques de 20mx20mx20m
reblock 02
Fig. 2. Vista de perfil del modelo de bloques de 20mx20mx20m

Al rebloquear el modelo original a bloques de 40mx40mx40m se tienen las siguientes vistas de planta y de perfil en el modelo rebloqueado.

reblock 03
Fig. 3. Vista en planta en el modelo rebloqueado
reblock 04
Fig. 4. Vista de perfil en el modelo rebloqueado

Tal como es posible apreciar de las figuras 3 y 4, al rebloquear el modelo original a bloques de 40mx40mx40m se produce una dilución de la ley en los bordes del cuerpo mineralizado. A continuación se muestra una figura esquemática del proceso de rebloqueo para un nivel visto de perfil.

reblock 05
Fig 5. Esquema del proceso de rebloqueo a bloques de 40mx40mx40m

Es importante destacar que la figura 5 corresponde a una visualización en 2 dimensiones del proceso de rebloqueo, ya que cada bloque de 40mx40mx40m contiene 8 bloques de 20mx20mx20m.

Para el proceso de optimización se asumirá un ángulo global de talud de 45° y se considerará un solo proceso metalúrgico.

La siguiente tabla muestra los parámetros económicos y de recuperación metalúrgica.

Tabla 1. Parámetros de costos y recuperación metalúrgica
reblock 06 es

Resultados

A continuación se muestran algunos resultados del experimento de rebloqueo y cálculo de pit final realizado sobre el modelo de bloques mostrado en los párrafos anteriores. Con el propósito de comparar y validar el output de MineLink, se agregan los resultados obtenidos mediante el software Whittle.

Tabla 2. Resumen de Resultados del pit final calculado mediante Whittle y Minelink
reblock 07 es

Por otro lado, fijando una cierta cota es posible verificar la forma que se obtiene mediante ambas metodologías, como se observa en la figura siguiente.

reblock 08 es
Fig 6. Vista en planta de los resultados de pit final para el modelo original (20x20x20 metros) y rebloqueado (40x40x40 metros)
reblock 09 es
Fig 7. Vista longitudinal de los resultados de pit final para el modelo original (20x20x20 metros) y rebloqueado (40x40x40 metros)

Script de Rebloqueo y Pit Final MineLink

En esta sección se muestra el scipt utilizado para el rebloqueo y cálculo de pit final.

from MineLink import *

#Import Original Block Model
bm = BlockModel(file_name = r'C:\Users\MyUser\Reblock\original_blockmodel.txt')


#________________REBLOCKING__________________________

#Reblock Dimensions
dx_reb = 40
dy_reb = 40
dz_reb = 40

#Creating a Reblocker
reg_reb = RegularReblocker(bm,dx_reb,dy_reb,dz_reb,"id")

#Add Attribute Columns to Reblocker
reg_reb.AddSummationColumn("tonnage","tonnage")
reg_reb.AddAvgColumn("density","density")
reg_reb.AddAvgColumn("grade","density","grade")
reg_reb.AddAvgColumn("recovery","density","recovery")
reg_reb.AddMaxColumn("region","region")
reg_reb.AddMaxColumn("rocktype","rocktype")

#Save the Reblocked Model
nbm = reg_reb.ReblockToRegularBlockModel()

#Export Reblocked Block Model to Text File
nbm.SaveToTextFile(r"C:\Users\MyUser\Reblock\reblocked_blockmodel.txt",["tonnage"]+["density"]+["grade"]+["recovery"]+["region"]+["rocktype"])

#______________FINAL PIT CALCULATION______________________

#Import Reblocked Block Model
bm_reb = BlockModel(file_name = r"C:\Users\MyUser\Reblock\reblocked_blockmodel.txt")

#Create Column to value attribute
bm_reb.AddColumn("value",0.0)

#ValueFunction Valorizes the Block Model Given the Attributes, Costs and Copper Price
ValueFunction(bm_reb,value,grade,rec,ton,mine_cost,proc_cost,sell_cost,price)

#Create Slope Precedences Using Rosetta
bm_reb.AddColumn("slope",45)
rosetta = RosettaSlope([360],[45])
prec = RosettaPrecedence(bm_reb,"slope")
prec.AddRosetta(45,rosetta)
prec.CreateArcs(8,dx_reb,dy_reb,dz_reb)

#Create Final Pit Instance and Calculation
names = []
fpi = FinalPitInstance("value",prec)
solver = PseudoFlowFinalPitSolver(fpi)
solver.Run()
bms = solver.FinalPit()
names.append("pit")
bms.StoreAsAttribute("pit")


#Export Reblocked Block Model Including the Pit Results
bm_reb.SaveToTextFile(r"C:\Users\MyUser\Reblock\reblocked_blockmodel_final_pit.txt",["tonnage"]+["density"]+["grade"]+["recovery"]+["region"]+["rocktype"]+["pit"])