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
% mkdir MOOSE_BUILD % cd MOOSE_BUILD % git clone https://github.com/idaholab/moose.git % 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 PETSCDIR=$PETSC_DIR export CRAYPE_LINK_TYPE=dynamic export CRAY_ADD_RPATH=yes
% source ~/source_me_for_MOOSE % scripts/update_and_rebuild_libmesh.sh > 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, % cd ~/MOOSE_BUILD % 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
- MOOSE Home Page: http://mooseframework.org