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.