OpenSUSE
Minimum System Requirements
In general, the following is required for MOOSE-based development:
C++11 compliant compiler (GCC 4.8.4, Clang 3.4.0, and Intel 2018 or greater)
(included in any of our redistributable packages if you choose to install one)
Memory: 16 GBs (debug builds)
Processor: 64-bit x86
Disk: 30GB
Prerequisites
Install the following using zypper
sudo -E zypper install gcc-c++ \
gcc-fortran \
make \
libX11-devel \
blas-devel \
lapack-devel \
freeglut-devel \
m4 \
git
Download and install one our redistributable packages according to your version of OpenSUSE.
OpenSuSE Leap: moose-environment-66_openSUSE-42.2_x86_64.rpm
Follow the on-screen instructions about modifying your bash profile, which should be asking you to add the following to the end of your bash_profle:
if [ -f /opt/moose/environments/moose_profile ]; then
. /opt/moose/environments/moose_profile
fi
Once that is complete, close any opened terminals and re-open them.
If you have any opened terminals at this point, you must close and re-open them to use the MOOSE environment. The following instructions will ultimately fail if you do not.
Internal INL Users may obtain our redistributable packages on the following machines:
cone.inl.gov:/archive/MOOSE_ENVIRONMENT_PACKAGES
rod.inl.gov:/raid/PROTOTYPE_PACKAGES
Obtaining and Building MOOSE
Cloning MOOSE
MOOSE is hosted on GitHub and should be cloned directly from there using git. We recommend creating a directory named projects to put all of your MOOSE related work.
To install MOOSE run the following commands in a terminal.
mkdir ~/projects
cd ~/projects
git clone https://github.com/idaholab/moose.git
cd moose
git checkout master
The master branch of MOOSE is the stable branch that will only be updated after all tests are passing. This protects you from the day-to-day changes in the MOOSE repository.
Compile libMesh
MOOSE directly relies on the libMesh finite-element framework. Because of this strong tie MOOSE contains a particular version of libMesh that we have vetted for our users. To pull down and compile this version of libMesh you simply need to run a script in MOOSE:
cd ~/projects/moose
./scripts/update_and_rebuild_libmesh.sh
Do not use sudo
when running update_and_rebuild_libmesh.sh.
Compile and Test MOOSE
After libMesh has compiled the next step is to compile and test MOOSE.
cd ~/projects/moose/test
make -j 4
./run_tests -j 4
If the installation was successful you should see most of the tests passing (some tests will be skipped depending on your system environment).
Create an Application
MOOSE is designed for building custom applications, therefore if you plan on working with MOOSE then you should create an application.
Your application is where code and input files should be created for your particular problem.
To create an application, run the stork.sh script while sitting outside the MOOSE repository with a single argument providing the name you wish to use to name your application:
cd ~/projects
./moose/scripts/stork.sh YourAppName
Running this script will create a folder named "YourAppName" in the projects directory, this application will automatically link against MOOSE. Obviously, the "YourAppName" should be the name you want to give to your application; consider the use of an acronym. We prefer animal names for applications, but you are free to choose whatever name suits your needs.
You should not attempt to run this script while sitting inside the MOOSE repository. Doing so will result in an error.
Compile and Test Your Application
cd ~/projects/YourAppName
make -j4
./run_tests -j4
If your application is working correctly, you should see one passing test. This indicates that your application is ready to be further developed.
Update MOOSE
MOOSE does not use traditional versioning, is under heavy development, and is being updated continuously. Therefore, it is critical that you continue to update MOOSE as you develop your application, we recommend weekly updates.
To update MOOSE use the following commands.
cd ~/projects/moose
git fetch origin
git rebase origin/master
Then return to your application, re-compile, and test.
cd ~/projects/YourAppName
make -j4
./run_tests -j4