This tutorial is incomplete, but feel free to browse the currently available content. Otherwise, refer back to the Examples & Tutorials page for other helpful training materials or check out the MOOSE Application Development pages for more information.
Tutorial 1: Application Development
In this tutorial, the reader shall work through the steps to create a custom MOOSE-based application to solve real-world physics problems. The instructions begin with defining the problem and converting the governing partial differential equations (PDEs) into an expression compatible with MOOSE. As the tutorial progresses, the core C++ classes that are available to developers for solving problems, as well as the basic systems of MOOSE, will be discussed.
This tutorial is the focus of the live hosted Framework Workshops. New users are encouraged to engage themselves in this training by reading the content carefully and reproducing the steps, without simply copying and pasting code. This tutorial is designed to be an in-depth explanation of creating a complete, custom multiphysics application including the process of using a repository and testing.

Tutorial Contents
- Preface
- Problem Statement
- Step 1: Create a Custom MOOSE Application
- Step 2: Write an Input File
- Step 3: Introduction to MOOSE Objects
- Step 4: Generate a Weak Form
- Step 5: Develop a Kernel Object
- Step 6: Define a Set of Input Parameters
- Step 7: Execute in Parallel
- Step 8: Write a Regression Test
- Step 9: Develop a Material Object
- Step 10: Develop an AuxKernel Object
- Step 11: Develop a Time-dependent Kernel Object