Mining Product: MFIRE

Original creation date: September 1977

Authors: L Zhou, L Yuan, G Cole

Software (Windows) - July 2020
Software (Windows) - July 2020

MFIRE source code


2020 July

MFIRE is a software program for modeling fire and contaminant spread in underground mines.

This is an updated version of the DOS-based MFIRE program originally developed by the U.S. Bureau of Mines. It has been completely rewritten in C++ and packaged into a dynamic link library (DLL). The benefits of this restructuring include:

  • Ease of future maintainability and improvement using object-oriented C++.
  • Ventilation network data is obtained via common memory instead of the standard MFIRE data output files.
  • The MFIRE DLL can be easily used by other programs. 

In addition, MFIRE has been restructured to run as a discrete event simulation and now allows user control of execution time. A simple graphical user interface (GUI) is provided to demonstrate the functions available through the new MFIRE DLL. Extensive documentation on the use and structure of the MFIRE DLL is provided in the built-in help of the simple GUI.

Installation Instructions:

  • Download the ZIP archive, unpack into a temporary folder and run MFire Setup.exe.
  • Source files for both the simple graphical user interface and the MFIRE library are also available for download.

New to version 4.0

  • Added T-Squared fire algorithm
    • Including properties of the fire (Tlead, Tmax, Tsteady, Tdecay, Qmax, FumeProConstant)
  • Added Heat Release Rate Curve input lines to config file (see example files)
  • Added SmokeRollback calculations and indicator
    • Including Properties: HasSmokeRollback, LengthOfRollback
  • Added to config file the ability to define a FireType (allows setting which type of fire calculation: Original, HRR Curve, T-Squared)
  • Added ChangeFire event
  • Added x, y coordinates to junctions (and corresponding config files)
  • Updated text config file to handle comments (see new example config files)
  • BUG FIX: Fixed a bug which causes out of boundary index compiling error when TransientState is set to 1
  • BUG FIX: Englarged the size of arrays from +10 to +100 to let a case run through.
  • Updated documentation

Changes for version 3.0.50 (12/2/2016):

  1. Cleaned up VS2015 compiler warnings

Changes for version 3.0.40 (8/22/2016):

  1. Updates to project files to work with Visual Studio 2015 (problems with math.h and requirement for VS 2015 C++ redistributable)
    NOTE:Thanks to Ben Rowland for identifying and reporting this bug.
  2. Move ABS() call to overloaded Math::Abs(x)
  3. BUG - removed 1500 branches limit

Changes for version 3.0.30 (8/12/2015):

  1. Make sure you have updated to using this version.
  2. The 999 and 9999 Junction number and Branch number limits were removed.
  3. Corrected crash condition where only 1 atmosphere junction specified.
  4. Corrected formatting in the Quasi-Equilibrium section of the output.
  5. Minor updates to the help file.

Changes for version 3.0.20 (7/17/2014):

  1. Two units conversion errors were corrected in MFireConvert.h
    NOTE: Thanks to Dewald Steyn for identifying and reporting this unit conversion error.
  2. About dialog for TestApp updated
  3. Disclaimer text in TestApp and install program updated.

Audience: Mining engineers

Software (Windows) - July 2020
Software (Windows) - July 2020

MFIRE source code


2020 July

Page last reviewed: 8/7/2020 Page last updated: 8/7/2020