Application Development

These documentation pages are meant to be used by developers who are developing MOOSE-based applications.

Documentation

Modules - Physics and numerics modules to include in your application

Syntax - MOOSE syntax documentation

Source Code - MOOSE source documentation

MOOSE Doxygen - MOOSE Doxygen

Modules Doxygen

Utilities

Build System - How the hierarchical make system functions in MOOSE

Test System - How to create/maintain tests for your application

Performance Benchmarking - How to perform benchmarking

Profiling - How to profile your application in order to determine what functions are hogging compute time.

Code Coverage - How to add automatic code coverage to your application, and use it in your development workflow

Utils - General utilities used throughout the Framework and applications

Python Tools - Python tools to support development, verification, and others

Development workflow

Jacobian Definition - How to compute derivatives of your residual statements

Development Tools - Tools that can be helpful for development, like IDEs with MOOSE support

Code Standards - How we expect code to be formatted

Debugging - Tips on how to debug MOOSE-based applications

MOOSE Systems

Actions - Objects used to execute various tasks

Interfaces - Base-classes that allow cross-cutting data retrieval

RelationshipManagers - Telling MOOSE about extra geometric or algebraic information needed in parallel

Moose-Wrapped Apps - Coupling external codes to MOOSE