ImplicitEuler

This is the default time integrator in MOOSE. It is first-order in time, and L-stable, making it suitable to integrate stiff equation systems. It is also known as the backwards Euler method.

Description

With , the vector of nonlinear variables, and , a nonlinear operator, we write the PDE of interest as:

Using for the current time step, and for the previous step, the implicit Euler time integration scheme can be written:

This is an implicit system with , the variable to solve for, appearing on both sides of the equation. We solve this system iteratively, usually with a Newton or Newton-Krylov method as described in the non linear system solve documentation.

Contributions to linear systems

For linear systems, on top of creating the time derivatives of the degrees of freedom, this provides contributions to the matrix diagonal and the right hand side. Taking a finite volume system for example, the contributions to the matrix diagonal will be:

where and are the time step size and cell volume, respectively. The contribution to the right hand side is:

Input Parameters

  • variablesA subset of the variables that this time integrator should be applied to

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:A subset of the variables that this time integrator should be applied to

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Unit:(no unit assumed)

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters