Examples & Tutorials

This page includes various demonstrations intended to introduce the basics of MOOSE for creating custom applications to solve unique and challenging multiphysics problems. Each example or tutorial focuses on different aspects of MOOSE, primarily the fundamental systems that are available to solve multiphysics problems.

Framework Workshops

The MOOSE development team at INL occasionally hosts live training. Registration is typically open for all who wish to attend, although space is usually limited. Below is a recording of a MOOSE training webinar given in Summer 2020, as well as links to the training presentation and other targeted, advanced workshop presentations.

Figure 1: MOOSE training workshop webinar given on June 9–10, 2020.

MOOSE training events will typically be announced on the home page, but be sure to join the mailing list for further updates!

Framework Examples

The MOOSE repository has a directory named examples with several subdirectories. Each subdirectory has code for a MOOSE-based application and input file(s) for running simulations. Each example can be used by running a binary that is first compiled by running make in the applicable subdirectory. The resulting application binary (named e.g. ex01-opt) is used to run input files. A guide explaining what each example demonstrates and how to use it is provided here:

Guided Framework Tutorials

Beyond individual examples, there are also general, guided tutorials that showcase application development, the MOOSE MultiApp system, and verification of calculated solutions.

Physics Module Examples and Tutorials

The Physics Modules provide models based on the MOOSE framework for a variety of physical phenomena. These modules provide capabilities that can either be used by themselves, or serve as the basis for application-specific models tailored to specific problems. Example problems and tutorials are available for some of the individual physics modules as listed below.

C++ Programming References

MOOSE developers need only a basic understanding of computer programming with C++ to get started. If possible, it may be helpful to review the following resources:

Besides checking out the references that are listed above, a strong and clear Google search can go a long way. Remember that you can always find help from our Community.