Frequently Asked Questions about MMC

1. MMC reports 0 absorption and the normalizor is nan, what is going on?
2. Where is MMC's executable located?
3. How can I see the percentage progress of the simulation?
4. Why I can not find a binary for my platform in the download section?
5. I downloaded the binary for Mac OSX, why the binary is named "mmc_sfmt"?
6. How can I generate a tetrahedral mesh for my problem domain?
7. When running a simulation, mmc stalled, what to do?
8. Any important missing features I need to be aware of?
9. How can I share my changes to the upstream author?

1. MMC reports 0 absorption and the normalizor is nan, what is going on?

This often happens when you fail to set the initial element ID in the input file. An example input file is shown in the Readme. For any new simulation mesh you made, you need to find out which tetrahedron enclosing your initial source position (this can be done with the tsearchn command in Matlab or GNU Octave). Once you have the ID (an integer starting from 1), you need to type it in the input file, right below the session ID.

2. Where is MMC's executable located?

After extracting the downloaded binary package form MMC's website, the main MMC executable is located inside a folder named mmc/src/bin.

3. How can I see the percentage progress of the simulation?

In the command line, you can append "-D P", this will print a progress bar to show the percentage of completion of the simulation.

4. Why I can not find a binary for my platform in the download section?

The maintainer of the software only has access to a limited types of computers and platforms, and it is not possible to make binaries to be exhaustive. Please download the source code package and compile the binary by yourself. It is very straightforward to recompile the code. In most cases, you simply need only one command as "make clean omp" inside the "mmc/src/" folder.

5. I downloaded the binary for Mac OSX, why the binary is named "mmc_sfmt"?

We are still working on porting all the modules to Mac OSX and currently only the SFMT19973 RNG is supported for this platform. Actually, mmc_sfmt is slightly faster than the default GNU RNGs used in the default built of other platforms. So, it is not a bad idea to use mmc_sfmt to run your simulation. If the name is too long, simply rename mmc_sfmt to mmc is perfectly fine.

6. How can I generate a tetrahedral mesh for my problem domain?

You need to use a 3D mesh generator. There are a lot of choices. Here we recommend iso2mesh toolbox, which is designed for simplicity and generality. And it is free.

7. When running a simulation, mmc stalled, what to do?

First of all, please turn on the progress bar by using the "-D P" option. If you see a smooth advancement at the beginning and then it stopped at some point, this may indicate an issue in your input file. Please make sure that you have used the "savemmcmesh()" command to create all the mesh files. If you got the mesh files from somewhere else, please make sure all the mesh elements have consistent orientation (i.e. the 4-point determinant is positive). You can correct this by using the "meshreorient" function in the iso2mesh toolbox.

8. Any important missing features I need to be aware of?

MMC is a work-in-progress. Please read the Known issues section, you will see a list of features that are currently missing or partially tested. We will update this list as time goes.

9. How can I share my changes to the upstream author?

You need to first make a patch for your changes, and then send the patch file to the upstream author.

To create a patch, you need to download and install subversion or svn. Then, you need to download the released source code package or check out the latest code from the official svn repository anonymously. Then make your changes inside the mmc directory structure, recompile the code and test your patch to make sure it works. When you are happy with your changes, cd the root folder of the source code tree, and type "svn diff > yourname_feature_description.patch". Then email this patch file as an attachment to the upstream author. He will review it and patch it to the official svn. Of course, your name will be acknowledged in the AUTHORS.txt file.

Powered by Habitat