Framework Development
The articles attached to this page are useful if you intend on contributing to the MOOSE repository. Information about the repository structure, code standards, testing, and software quality are all available here. If you are new to Git, we've created some information about how to get up and running here as well.
For development of MOOSE-based applications see Application Development.
Overview on contributing
Code Standards - How to format any code that goes into the framework
Git - The revision control system we use
Development Tools - Tools that can be helpful for development, like IDEs with MOOSE support
Documentation
Build Status and Automatic Metrics
Software Quality Assurance Documents
MOOSE Software Quality - Landing page for the MOOSE (and MOOSE Modules) software quality assurance (SQA) pages
Utilities
PerfGraph - How to time sections of code in MOOSE
MooseUtils Namespace - Basic utilities used throughout the framework
Utils - Basic utilities used throughout the framework
System Integrity Checking - Parsing and system integrity checks
MOOSE Internal Systems
Actions - Objects used to execute various tasks
Interfaces - Base-classes that allow cross-cutting data retrieval
MooseVariables - The set of objects that compute and hold variable/field values
Warehouses - Objects that store all of the dynamically built MOOSE objects (Kernels
, BCs
, etc.)
RelationshipManagers - Telling MOOSE about extra geometric or algebraic information needed in parallel