Interface overview

  1. MiningMath Home Page

MiningMath automatically starts on the Home Page, as shown in Figure 1. There are three main information windows:

  • The Recent Projects window allows you to select a project and have an overview of the saved scenarios that will appear right away at the Decision Tree tab.

  • The Decision Trees feature enables you to create new tabs and ways to organize the mining planning strategies by exchanging scenarios between them, if necessary.

  • The Model table discloses the main information regarding your block model and its parameters, so that you can easily review it at any time.

Figure 1: Recent Projects list.

To open any scenario, click on one Recent Project first, and then choose the one you want to work with at the Decision Trees tab by double-clicking with the right button of your mouse, and choosing the option "Open", or just selecting “Open” at the right bottom of this feature. The same path should work to "View" it first in order to validate any parameter.

The home page also allows you to summarize or expand the information of your Model beyond the possibility of modifying it by using the "Edit" button shortcut, which will lead you to the "Calculator", functionality explored further ahead.

2. Model Tab

This window aims to help you to modify your block model accordingly with what is required for your project and also allows you to "Export" the block model to the CSV format to be used with any other software.

This tab starts at the "Parameters" option, showing your previous set up at the importation, similar to Figure 2, and all the existing fields. It also allows you to remove any parameter at any time.

Figure 2: Parameters Model tab

The "Function" option discloses the "Validate your block parameters" table, so that you can choose a single block within your model to verify its values. It also enables MiningMath's internal Calculator to make adjustments and changes to your dataset with the addition of new fields.

Figure 3: Internal Calculator at Function in Model tab

3. Scenario Tab

3.1. General Parameters

MiningMath automatically switches to the Scenario Tab in the General option once a scenario is opened, as shown in Figure 2. The General parameters used in the Marvin cases are summarized below:

    • Densities

        • Field: density

        • Default value: 2.75 t/m³.

    • Slope angles

        • Field: <none>

        • Default value: 45 degrees.

    • Discount rate: 10%.

    • Stockpiling <checked>

        • Fixed mining cost: 0.9 $/t.

        • Rehandling cost: 0.2 $/t.

Figure 4: General tab and general parameters.


Field boxes for density and slope angle allow using data varying by block. You must import such columns and assign them to the proper field type, in order to enable them on the interface. Default values are mandatory fields and will be used in case the field is set to <none> or if there are blocks without information in the selected field.

The Discount rate is an obligatory field that considers a periodic (monthly, yearly, etc.) discount rate to calculate the discounted cash flow for each period. We used a 10% annual discount rate for this example.

Optionally, you can use Stockpiles, which enables two mandatory fields:

    • Fixed mining cost is the average mining cost used for the economic function. This cost is informed to recognize the value used before, and then do reverse engineering to calculate NPV for stocked blocks.

    • Rehandling cost represents the cost to reclaim blocks from the stockpile to the process. This is an additional cost, which should not be present in the economic values.

After entering the required parameters, the destinations option on the toolbar will be enabled and it must be clicked.

3.2. Destinations: Process, Dump, and Stockpile

On the Destinations tab, you will define destinations to where the blocks can be sent. Each target must be mapped with their respective field containing the economic values. MiningMath requires at least one destination for the process and one destination for the dump. For each destination, you have an economic value and recoveries by elements.

3.2.1. Process & Dump

To add destinations, in the bottom corner of the window, click on:

    1. Add Process

    2. Add Dump

Each scenario must contain at least one process and one dump among the destinations imported. The destination of each block will be reported by assigning them with the numbers 1 or 2 (see the numbers beside the Name column), which depends on the order of addition.

3.2.2. Recovery

For each processing stream, the user must inform a process recovery, varying from 0 to 1, to any element/mineral whose column has been imported as a grade.

This value on the interface serves only for the purpose of generating reports, as it has been considered during the economic calculation. Use the following values for the processing stream:

    • Cu: 0.88

    • Au: 0.60

3.2.3. Stockpile

You can also define a tonnage limit for the stockpile if activated in the General tab (see Step 2).

MiningMath considers the tonnage inputted as a cumulative upper limit that will be considered all over the life of mine.

In this example, a limit has not been defined, which implies an <unlimited> capacity to stock. Read more about stockpiles.

Figure 5: Destinations tab, Recoveries for each element/mineral and destination, and Stockpile limit in tonnages.

3.3.4 Economic Value

In the column of Economic value, you must assign each destination to its corresponding economic function. Therefore, use:

    • Destination 1 - Process 1 - Economic Value Process

    • Destination 2 - Dump 1 - Economic Value Waste

Figure 4 zooms in the destination fields, showing how they should look like for this example.

Figure 6: Economic values for each destination.

3.3. Production Inputs

After completing the previous fields, move to the Production tab. You can define limits (in tonnes) for each destination and the total amount of material moved per period and also add different timeframe ranges in the optimization.

For this example, use the following values (as shown in Figure 5):

    • TimeFrame: Years (1)

    • Process 1: 30,000,000 t

    • Dump 1: 50,000,000 t

    • Total: 80,000,000 t

Read more about productions changing over time.

Figure 7: Production tab and production limits for each destination based on an yearly timeframe.

3.4. Geometric Inputs

On the Geometric tab, you can define parameters intending to find mathematical solutions that already consider basic requirements to be operationally feasible.

Figure 6 highlights (1) Operational Fields, which could differ for each period range and timeframe:

As well as (2) Optional Fields:

Figure 8: Operational constraints.

For this example, use the constraints shown in Figure 7, also listed below:

    • Minimum width

        • Mining: 50 m

        • Bottom: 90 m

    • Vertical rate of advance

        • Maximum: 150 m

Figure 9: Operational constraints zoomed in.

3.5.1. Surfaces

On MiningMath, you can force mining and restrict mining using surfaces based on coordinates and defined as a 3D-grid of points in the CSV format. Surfaces are the most important constraints within MiningMath's hierarchy, allowing you to impose one's understanding and take control of prior results and operational aspects.

Using surfaces, you are able to play with geotechnical aspects, force certain regions to allocate waste material, restrict areas to protect the environment, and/or guide operational aspects by importing a designed pit.

Due to the complexity of this subject, surfaces will be treated in a specific section of our tutorial.


When comparing MiningMath with software that works with Lerchs-Grossmann, you will probably need to adopt fair parameters in order to obtain reasonable conclusions. In this case, it is suggested that you use small values for minimum widths and great values for Vertical Rate of Advance on MiningMath, making it less operational as the traditional ones.

3.6. Average

On the Average tab, you are able to define a minimum and/or maximum average grades for any element/mineral imported as grade (Figure 8-1).

Blending constraints can also be defined by period ranges (Figure 8-2) and/or destination (Figure 8-3).

It's worth mentioning that this minimum limit does not represent cut-off values. Since it is based on average parameters, the algorithm can use lower values to respect this parameter and increase the NPV with higher ones. If you wish to input a cut-off, a good way to do it is by filtering these blocks and assigning the the mass as a sum field, as mentioned here.

Figure 10: Blending constraints.

3.7. Sum

On the Sum tab, you are able to consider any summed parameter as a minimum and/or maximum limits for any data imported as other (Figure 9-1).

Other constraints can also be defined by period ranges (Figure 9-2) and/or destination (Figure 9-3).

This feature is available only at the full versions of MiningMath. Read more.

Figure 11: Other constraints.

3.8. Overview

Click on Overview (Figure 12) for a single page summary of all parameters related to the scheduling, as illustrated in figure 12.

The Save as option (Figure 13) can be used to redefine the name, description for an edited scenario, and its decision tree.

You can also decide which files MiningMath will produce as outputs by using the execution options (Figure 14) before clicking on "Run" your scenario.

Figure 12: Overview screen for final verification of inputted parameters.
Figure 13: Save as information.
Figure 14: Execution options.

3. Viewer

After running your scenario, the Mined Blocks file will disclose its results on the 3D viewer, enabling the view of your model from different angles. By selecting “Period Mined”, you are able to view the mining sequence period by period. By selecting a surface, it is possible to identify the topography changes of each period and also modify its opacity, facilitating the visualization.

MiningMath also allows you to import surfaces already created if you place them in the same folder as the other ones, so that you can validate their geometry if necessary.

Click on "Load Scenario" to import multiple scenarios and compare them, in order to extract the best results accordingly with your project constraints.

Figure 15: Viewer

4. Navigating on the User Interface

For further demonstrations, check out this playlist in which we conducted different exercises with varying parameters and explored several functionalities of the software.

Common Issues related to this page.