Systems overview

There are four types of concrete systems in the MOOSE framework:

  • AuxiliarySystem: This system holds auxiliary variable and degree of freedom information

  • DisplacedSystem: This system wraps either nonlinear or auxiliary systems within a displaced problem context

  • NonlinearEigenSystem: This system is used for solving eigen problems of the form and interfaces with SLEPc.

  • NonlinearSystem: This system is used for solving nonlinear systems of equations and interfaces with PETSc.

Both NonlinearSystem and NonlinearEigenSystem inherit from NonlinearSystemBase which implements systems such as automatic scaling. NonlinearSystemBase, DisplacedSystem, and AuxiliarySystem all inherit from SystemBase which wraps the libMesh System object and provides APIs for accessing system vector and matrix data among other things.