This is a MOOSE application wrapping Xolotl a cluster dynamics code.
Here is how to install this application, if you would like to use a conda-based environment:
First setup a conda environment following the steps from here up to "Install MOOSE". Instead, install a lower-level set of packages:
conda create -n coupling_xolotl
conda activate coupling_xolotl
conda install moose-mpi moose-tools moose-wasp mpichThen get the code:
git clone https://github.com/SciDAC-MOOSE-Xolotl-coupling-group/coupling_xolotl.git
cd coupling_xolotl
git submodule init
git submodule updateAfter obtaining the code and downloading the main dependencies, several configuration and build steps need to be performed. In xolotl:
cd xolotl
mkdir build
cd build
cmake -DXolotl_BUILD_PETSC=ON -DXolotl_BUILD_HYPRE=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=~/projects/coupling_xolotl/xolotl/install ../
make
make installThis assumes you have placed your coupling_xolotl app in a ~/projects directory. Next, in MOOSE:
cd ../../moose
export PETSC_DIR=~/projects/coupling_xolotl/xolotl/build/external/petsc_install
MOOSE_JOBS=8 ./scripts/update_and_rebuild_libmesh.sh
./scripts/update_and_rebuild_wasp.shFinally, the coupling_xolotl application can be built:
cd ..
makeTests can then be run by calling the test script:
./run_testsIf your machine has N cores available the installation can go faster by using:
make -j NIf you have your own Boost installation you can define BOOST_ROOT before starting the installation.
Clang and OpenMP
If you use Clang with OpenMP support but still get an error in the build libmesh step stating that your compiler does not support OpenMP, try setting:
export OPENMP_CXXFLAGS='-Xpreprocessor -fopenmp -lomp'
export FFLAGS='-L/usr/local/lib'