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. 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.
Fig. 3. Vista en planta en el modelo rebloqueado |
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.
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 |
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 |
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.
Fig 6. Vista en planta de los resultados de pit final para el modelo original (20x20x20 metros) y rebloqueado (40x40x40 metros) |
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"])