53 virtual int order()
override {
return 2; }
58 DualReal & ad_u_dotdot)
const override;
59 virtual void solve()
override;
66 template <
typename T,
typename T2,
typename T3>
78 template <
typename T,
typename T2,
typename T3>
virtual void computeTimeDerivatives() override
Computes the time derivative and the Jacobian of the time derivative.
void computeTimeDerivativeHelper(T &u_dot, const T2 &u_old, const T3 &u_older) const
Helper function that actually does the math for computing the time derivative.
DualNumber< Real, DNDerivativeType, true > DualReal
virtual int order() override
virtual void preSolve() override
const NumericVector< Number > & _solution_older
The older solution.
NumericVector< Number > & _residual_old
Buffer to store non-time residual from the first stage.
Base class for time integrators.
ExplicitTVDRK2(const InputParameters ¶meters)
virtual void postResidual(NumericVector< Number > &residual) override
Callback to the TimeIntegrator called immediately after the residuals are computed in NonlinearSystem...
const InputParameters & parameters() const
Get the parameters of the object.
Explicit TVD (total-variation-diminishing) second-order Runge-Kutta time integration methods: ...
virtual void solve() override
Solves the time step and sets the number of nonlinear and linear iterations.
static InputParameters validParams()
void computeADTimeDerivatives(DualReal &ad_u_dot, const dof_id_type &dof, DualReal &ad_u_dotdot) const override
method for computing local automatic differentiation time derivatives