The Multiphysics Object-Oriented Simulation Environment (MOOSE) is a finite-element, multiphysics framework primarily developed by Idaho National Laboratory. It provides a high-level interface to some of the most sophisticated nonlinear solver technology. MOOSE presents a straightforward API that aligns well with the real-world problems scientists and engineers need to tackle. 

Some of the capabilities of MOOSE are as follows:

  • Fully-coupled, fully-implicit multiphysics solver
  • Dimension independent physics
  • Automatically parallel (up to 100,000 cores!)
  • Modular development simplifies code reuse
  • Built-in mesh adaptivity
  • Continuous and Discontinuous Galerkin (DG)
  • Intuitive parallel multiscale solves
  • Dimension agnostic, parallel geometric search
  • Flexible, plugable graphical user interface
  • ~30 plugable interfaces allow specialization of every part of the solve
  • Physics modules providing general capability for solid mechanics, phase field modeling, Navier-Stokes, heat conduction and more.

How to build MOOSE

Downloading MOOSE using Git

To download the release use:  
	% mkdir MOOSE_BUILD
% git clone
% cd moose
% git checkout master

Creating a file for module environments (i.e., vi ~/source_me_for_MOOSE)

	module swap PrgEnv-cray PrgEnv-gnu
module load vtk
module load cray-hdf5
module load bwpy
module load fftw
module load cray-petsc
module load cray-tpsl
module load boost
export CC=cc
export CXX=CC
export FC=ftn
export CRAYPE_LINK_TYPE=dynamic
export CRAY_ADD_RPATH=yes

Installing MOOSE

	% source ~/source_me_for_MOOSE
% scripts/  > Build_Log
*** It takes around 3 hours.

% cd moose/tutorials/darcy_thermo_mech/step01_diffusion
% make -j 8
*** It takes about 1 hour. 

How to use MOOSE on an interactive mode

% qsub -I -l nodes=1:ppn=32 -q debug -X
*** after starting the interactive mode,

% source ~/source_me_for_MOOSE
% cd moose/tutorials/darcy_thermo_mech/step01_diffusion/problems
% aprun -n 1 ../darcy_thermo_mech-opt -i step1.i

Additional Information / References