ExplicitMidpoint

Time integration using the explicit midpoint method.

The explicit midpoint method is second-order accurate in time. It is a two-step method and a special case of the 2nd-order Runge-Kutta 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 explicit midpoint integration scheme can be written:

This method can be expressed as a Runge-Kutta method with the following Butcher Tableau:

warningwarning

All kernels except time-(derivative)-kernels should have the parameter implicit=false to use this time integrator.

warningwarning

ExplicitRK2-derived TimeIntegrators (ExplicitMidpoint, Heun, Ralston) and other multistage TimeIntegrators are known not to work with Materials/AuxKernels that accumulate 'state' and should be used with caution.

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