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
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
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
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
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
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.
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:
TMAP8 Issues Page for TMAP8 bugs or feature requests.
TMAP8 Discussion Forum for TMAP8 issues and questions.
MOOSE FAQ page for common MOOSE issues.
MOOSE Discussion Forum for non-TMAP8 issues and questions.
What next?
With installation and testing complete, proceed to Using TMAP8.
References
- 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]