Installation

Step One: Install Conda MOOSE Environment

In order to install TMAP8, the MOOSE developer environment must be installed. The installation procedure depends on your operating system, so click on the MOOSE website link below that corresponds to your operating system/platform and follow the instructions until you are done with the step named "Install MOOSE" (note that you do not need to follow the steps from the section titled "Cloning MOOSE" and below). Then, return to this page and continue with Step Two.

Advanced manual installation instructions for this environment are available via the MOOSE website.

If an error or other issue is experienced while using the conda environment, please see the MOOSE troubleshooting guide for Conda

commentnote:Interested in TMAP8 on HPC?

Those users & developers interested in running TMAP8 on an HPC cluster environment can find more information about that user case in our Using TMAP8 on INL HPC Systems instructions.

Step Two: Clone TMAP8

TMAP8 is hosted on GitHub, and should be cloned directly from there using git. As in the MOOSE directions, it is recommended that users create a directory named "projects" to put all of your MOOSE-related work.

To clone TMAP8, run the following commands in Terminal:


mkdir ~/projects
cd ~/projects
git clone https://github.com/idaholab/TMAP8.git
cd TMAP8
git checkout main
commentnote:TMAP8 branches

This sequence of commands downloads TMAP8 from the GitHub server and checks out the "main" code branch. There are two code branches available:

  • "main", which is the current most-tested version of TMAP8 for general usage, and

  • "devel", which is intended for code development (and may be more regularly broken as changes occur in TMAP8 and MOOSE).

Developers wishing to add new features should create a new branch for submission off of the current "devel" branch.

Step Three: Build and Test TMAP8

To compile TMAP8, first make sure that the conda MOOSE environment is activated (and be sure to do this any time that a new Terminal window is opened):


conda activate moose

Then navigate to the TMAP8 clone directory and download the MOOSE submodule:


cd ~/projects/TMAP8
git submodule update --init moose
schooltip:Thermochimica library (optional)

To have access to the optional thermochemistry library Thermochimica Piro et al. (2013) provided within the MOOSE Chemical Reactions Module, check out the corresponding submodule by performing the following before building:


cd ~/projects/TMAP8/moose
git submodule update --init --checkout modules/chemical_reactions/contrib/thermochimica
commentnote

The copy of MOOSE provided with TMAP8 has been fully tested against the current TMAP8 version, and is guaranteed to work with all current TMAP8 tests.

Once all dependencies have been downloaded, TMAP8 can be compiled and tested:


make -j8
./run_tests -j8
commentnote

The -j8 flag in the above commands signifies the number of processor cores used to build the code and run the tests. The number in that flag can be changed to the number of physical and virtual cores on the workstation being used to build TMAP8.

If TMAP8 is working correctly, all active tests will pass. This indicates that TMAP8 is ready to be used and further developed.

Update TMAP8

TMAP8 (and the underlying MOOSE Framework) is under heavy development and is updated on a continuous basis. Therefore, it is important that the local copy of TMAP8 be periodically updated to obtain new capabilities, improvements, and bugfixes. Weekly updates are recommended as, at minimum, the MOOSE submodule within TMAP8 is updated up to several times a week.

commentnote:Always update TMAP8 and the Conda packages together.

There is a tight dependency between the libraries and applications provided by Conda, and the submodules that TMAP8 depends on. Therefore, when you update one, you should always update the other.

To update your conda environment to the newest moose-dev development package release, perform the following commands (assuming that your MOOSE-based development environment is named moose):


conda activate moose
conda update moose-dev

To update your TMAP8 repository as a TMAP8 user, use the following commands, which provide to general users the content of the most stable branch (upstream/main):


cd ~/projects/TMAP8
git checkout main
git fetch upstream
git rebase upstream/main
git submodule update moose

To update your TMAP8 repository as a TMAP8 developer who regularly makes modifications to the code, use the following commands, which provide developers with the devel branch:


cd ~/projects/TMAP8
git checkout devel
git fetch upstream
git rebase upstream/devel
git submodule update moose

Both sets of instructions assume that your copy of TMAP8 is stored in ~/projects and that the idaholab/TMAP8 git remote is labeled upstream. Use git remote -v in the TMAP8 repository location to check for this and change the commands as necessary. Finally, TMAP8 can be re-compiled and re-tested.


make -j8
./run_tests -j8

Troubleshooting

If issues are experienced in installation and testing, several resources are available:

What next?

With installation and testing complete, proceed to Using TMAP8.

References

  1. M.H.A. Piro, S. Simunovic, T.M. Besmann, B.J. Lewis, and W.T. Thompson. The thermochemistry library thermochimica. Computational Materials Science, 67:266–272, 2013. URL: https://www.sciencedirect.com/science/article/pii/S0927025612005502, doi:https://doi.org/10.1016/j.commatsci.2012.09.011.[BibTeX]