Ralston

Ralston's time integration method.

Ralston's time integration method is second-order accurate in time. It is a two-step explicit method and a special case of the 2nd-order Runge-Kutta method. It is obtained through an error minimization process and has been shown to outperform other 2nd-order explicit Runge-Kutta methods, see Ralston (1962).

Description

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

Ut=A(t,U(t))\dfrac{\partial U}{\partial t} = A(t, U(t))

Using t+Δtt+\Delta t for the current time step and tt for the previous step, Ralston's method can be written:

U(t+Δt)=U(t)+Δt4(A(t,U(t))+3Δt4A(t+2Δt3,U(t)+2Δt3A(t,U(t)))U(t+\Delta t) = U(t) + \dfrac{\Delta t}{4} \left(A(t, U(t)\right) + \dfrac{3\Delta t}{4} A \left(t + \dfrac{2\Delta t}{3},U(t) + \dfrac{2\Delta t}{3} A(t, U(t)) \right)

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

002/32/301/43/4\begin{array}{c|cc} 0 & 0 \\ 2/3 & 2/3 & 0 \\ \hline & 1/4 & 3/4 \end{array}
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

References

  1. Anthony Ralston. Runge-kutta methods with minimum error bounds. Math. Comput., 80:431–437, 1962. doi:10.1090/S0025-5718-1962-0150954-0.[BibTeX]