Skip to content

Commit

Permalink
add documentation on problems #12002
Browse files Browse the repository at this point in the history
  • Loading branch information
YaqiWang committed Aug 31, 2018
1 parent c3e321d commit e162b60
Showing 1 changed file with 32 additions and 2 deletions.
34 changes: 32 additions & 2 deletions framework/doc/content/syntax/Problem/index.md
@@ -1,4 +1,35 @@
<!-- MOOSE Documentation Stub: Remove this when content is added. -->
# Problem system overview

The Problem class is one of the core extension points in MOOSE. Problems
are designed to hold the `EquationSystems` objects (from libMesh) that
house the numerical systems we are ultimately solving for our computing.

Fortunately when you are first getting started with MOOSE you normally
don't have to worry or do anything special with the Problem object. MOOSE
automatically constructs a suitable Problem for your simulation type
taking into account the other types of objects present in the input file.
Most simulations use the `FEProblem` class, which contains a single
`NonlinearSystem` and single `AuxiliarySystem` or a single `MooseEigenSystem`
and single `AuxiliarySystem`. The `NonlinearSystem` or `MooseEigenSystem`
contains the matrix and vectors used for solving the equations implemented
through a combination of other objects in your simulations (`Kernels`, `BCs`,
etc.). The `AuxiliarySystem` houses the solution vectors use to hold
computed solutions or values.

As your application grows in complexity, you may find it useful or
necessary to create your own problems to extend default behavior provided
by the core MOOSE framework. Common examples include, specialized
convergence tests, etc.

# Automatic Problem Creation

The automatic problem creation is handled for you by MOOSE. In a normal
input file that does not contain a special `[Problem]` block, MOOSE
will create a suitable Problem for you. If however, you need to change
specific system related parameters you may find yourself adding a
`[Problem]` block with name/value pairs. Different types of Problems
may be instantiated by using the `/Problem/type` whose default value is
`FEProblem`.

# Problem System

Expand All @@ -7,4 +38,3 @@
!syntax list /Problem objects=False actions=False subsystems=True

!syntax list /Problem objects=False actions=True subsystems=False

0 comments on commit e162b60

Please sign in to comment.