Courses and Tutorials

Upcoming group training dates are below. Please check back as courses may be added in other cities as needed. If you’re interested in customised training for your company, please contact us for a quote.

Lima, Peru (presented in Spanish)

  • August 6, 2019– Introduction to Muk3D Formation
  • August 7, 2019 – Conceptual and long range tailings planning with Muk3D Tailings+
  • August 8, 2019– Dambreak and hazard assessment

Calgary, AB

  • July 25-26 2019 – Automation of tailings plans using Muk3D and Python.

Johannesburg, RSA

Perth, Australia

  • November 18 2019 – Introduction to Muk3D Formation
  • November 19 2019 – Conceptual and long range tailings planning with Muk3D Tailings+

  • Nothing currently scheduled

Notes: Please contact us for prices or to enquire about discounts when sending multiple people from your company along. Minimum and maximum course numbers apply. Muk3D licenses will be provided to all attendees for the duration of the course. Includes course notes, coffee, and lunch.

Introduction to Muk3D Formation

Introduction to Muk3D Formation for simple 3D modeling. This session will focus on the basic 3D tools available in Muk3D Formation that are aimed at basic geotechnical, mining, and surface water management tasks.

  • Importing data.
  • Creating surfaces and grids.
  • Basic structure design.
  • Volumetrics.
  • Importing, using, and manipulating aerial photography.
  • Exporting data.
  • Watershed analysis.
  • Dam zonation modelling.
  • Strategies for importing huge datasets.
  • A 20-minute introduction to macros.

A brief introduction to Muk3D Tailings+ will be provided, covering:

  • Measuring and defining beach slopes.
  • Overview of different pond models.
  • Conceptual layout of a TSF
  • Using Dam Templates to raise dams incrementally


The source data will be one of our training datasets for the first part of the day. If there is a suitable client dataset this can be used for the second part of the day.


  • Ability to import datasets (LIDAR, CAD, etc) and create surfaces for modelling in Muk3D.
  • Understanding of the rules relating to the gridding of surfaces (what makes a grid accurate, what is practical).
  • Basic understanding of the tools in Muk3D and have enough knowledge to either use the help or ask good questions to Support.
  • Basic understanding of the deposition models, how they can be applied to different situations, and the limitations of geometric deposition modelling.
  • Understanding of how to use the tools in Muk3D to improve communication of designs and concepts with colleagues, supervisors, and clients. .

Conceptual and long range tailings planning with Muk3D Tailings+

This session covers modelling of TSF's with Tailings+. The primary focus is on long range planning. The examples presented on this day will be based on client supplied data and be focused on active projects.

Topics include

  • Long range planning
  • Tools for short range planning.
  • TSFs with multiple inflow streams
  • Integration with a water balance.


The preference is to work with active client projects for this training.


Participants new to Muk3D Tailings+ will have a broad understanding of the capabilities of the model and have strategies for approaching different tailings deposition problems.

Participants who have experience will Muk3D will have the opportunity to improve their understanding of some of the advanced features of the software.

Macros and scripting with Muk3D

This session is an introduction to macros and scripting with Python in Muk3D.  Python is a high-level language that allows users to customise and automate aspects of Muk3D to simplify repetitive design tasks and automate workflows.

Participants are expected to have at least a basic understanding of the fundamentals of programming (e.g. loops, control structures) and some basic experience in scripting in Excel/VBA or other scripting or programming languages.

By the end of the session participants are expected to be able to record some simple macros in Muk3D, customise them by requesting data from the user, use loops to run different models using different input values, and undertake some basic batch processing of output data using Macros.