Hubbry Logo
search
logo
536404

MOOSE (software)

logo
Community Hub0 Subscribers
Write something...
Be the first to start a discussion here.
Be the first to start a discussion here.
See all
MOOSE (software)

MOOSE (Multiphysics Object Oriented Simulation Environment) is an object-oriented C++ finite element framework for the development of tightly coupled multiphysics solvers from Idaho National Laboratory. MOOSE makes use of the PETSc non-linear solver package and libmesh to provide the finite element discretization.

A key design aspect of MOOSE is the decomposition of weak form residual equations into separate terms that are each represented by compute kernels. The combination of these kernels into complete residuals describing the problem to be solved is performed at run time. This allows modifications such as toggling of mechanisms and the addition of new physics without recompilation. MOOSE comes with an extensive library of kernels providing residual terms for solid mechanics, Navier–Stokes equations, phase-field models and more.

MOOSE uses VTK for visualisation.

The development of MOOSE at Idaho National Laboratory (INL) since May 2008, has resulted in a unique approach to computational engineering that combines computer science with a strong underlying mathematical description in a unique way that allows scientists and engineers to develop engineering simulation tools in a fraction of the time previously required. The heart of MOOSE is the Kernel. A Kernel is a "piece" of physics. To add new physics to an application built using MOOSE, all that is required is to supply a new Kernel that describes the discrete form of the equation. It's usually convenient to think of a Kernel as a mathematical operator, such as a Laplacian or a convection term in a partial differential equation (PDE). Kernels may be swapped or coupled together to achieve different application goals. These Kernels, which now number in the hundreds, allow a scientist or engineer to develop an application rapidly.

For a new application, existing Kernels are selected as-is, or modified as necessary, and "plugged" in. An advection-diffusion-reaction equation is of the same mathematical form no matter what application it is being used for. Typically, only the form of the coefficients or the dependencies on other physics need to be defined; rarely must complete Kernels be constructed from scratch. With MOOSE, only the Kernel development is required from the scientist or engineer (application developer). MOOSE is designed to do everything else for the application developer, such as finite element discretization of the PDEs, the nonlinear solver, and the parallel high performance computing.

The idea of naming MOOSE-based applications after Idaho indigenous animal species is loosely based on Los Alamos National Laboratory's 1970s – 1990s approach to naming their codes after Native American tribes and artifacts, such as APACHE, CONCHAS, and the KIVA series of codes. There are now over twenty MOOSE-based application animals in various stages of development, ranging from recently obtaining preliminary results to being nationally recognized as state-of-the-art efforts (such as BISON and MARMOT for fuels performance modeling & simulation activities).

MOOSE is a development and run-time environment for the solution of multi-physics systems that involve multiple physical models or multiple simultaneous physical phenomena. The systems are generally represented (modeled) as a system of fully coupled nonlinear partial differential equation systems (an example of a multi-physics system is the thermal feedback effect upon neutronics cross-sections where the cross-sections are a function of the heat transfer). Inside MOOSE, the Jacobian-Free Newton Krylov (JFNK) method is implemented as a parallel nonlinear solver that naturally supports effective coupling between physics equation systems (or Kernels). The physics Kernels are designed to contribute to the nonlinear residual, which is then minimized inside of MOOSE. MOOSE provides a comprehensive set of finite element support capabilities (libMesh) and provides for mesh adaptation and parallel execution. The framework heavily leverages software libraries from the Department of Energy (DOE) and the National Nuclear Security Administration (NNSA), such as the nonlinear solver capabilities in either the Portable, Extensible Toolkit for Scientific Computation (PETSc) project or the Trilinos project.

ELK is a library for common Kernels, boundary conditions and material base classes.

See all
User Avatar
No comments yet.