Acknowledgement: This software release is made possible with the funding support from NIH/NIGMS under the grant number R01-GM114365. It is also a result of a collaboration with Dr. Xavier Intes's group at Rensselaer Polytechnic Institute (RPI), particularly the contributions from Ruoyang Yao.
Publication: Yao R, Intes X, Fang Q, "Generalized mesh-based Monte Carlo for wide-field illumination and detection via mesh retessellation," Biomed. Optics Express, 7(1), 171-184 (2016)
Mesh-based Monte Carlo, or MMC, is a Monte Carlo simulation package designed for simulating photon transport in 3D heterogeneous media. MMC can use a volumetric mesh to represent a complex domain, making it computationally and memory efficient.
MMC supports multi-threading based parallel computing. You can obtain a nearly linear speed-up when using more CPU cores in your simulation. Starting from version 0.8, MMC also supports the Single-Instruction Multiple-Data (SIMD) parallelism on modern CPUs, allowing MMC to take further advantage in parallel computing.
Starting from this release, a generalized MMC algorithm that can efficiently model complex wide-field sources and detectors is included in the software. Over 10 different commonly used source forms are supported, similarly to our previously released wide-field MCX software.
This is the first release through our new time-based release strategy. We plan to announce 4 releases each year - one release per 3 months.
The download link to this release can be accessed from here.
MMC 1.0-beta is a stable preview to the upcoming milestone, version 1.0, of MMC. It contains significantly improved capability to model complex widefield sources and detectors, as well as a number of fixes to several high priority bugs. Thanks to the contributions from Ruoyang Yao in Dr. Xavier Intes's Lab at RPI, the complex widefield source forms previously supported in MCX have now been successfully ported to Mesh-based MC simulations through an efficient mesh-retessellation algorithm. This collaborative work is reported in our paper appearing on Biomed. Optics Express today [2]
https://www.osapublishing.org/boe/abstract.cfm?uri=boe-7-1-171
The new release of 1.0-beta was significantly improved upon the previous version, v0.9.5, published nearly two years ago. The key changes include:
Pre-compiled MMC binaries are provided for Windows, Linux and Mac OS. In all cases, a binary compiled with SSE4-accelerated ray-tracing algorithms is provided for each platform.
The best simulation speed can be typically achieved by using
mmc -M S -C 0 ....
One can recompile all binaries using an Intel C++ Compiler. It can generate binaries up to 25% faster than the equivalent binaries compiled with GCC.
The detailed change logs can be found in the ChangeLog and Git commit history pages.
The default "SSE4" binaries require your computer to support SSE4 instructions. This can be determined by using the following command on Linux/MacOS
grep 'sse4' /proc/cpuinfo
or using a freeware "CPU-Z" on windows. If you attempt to run the SSE4 on an unsupported computer, you will get an error when executing the binary. In that case, you should switch to the "multicore" binaries.