48 virtual int order()
override {
return 2; }
53 DualReal & ad_u_dotdot)
const override;
54 virtual void solve()
override;
61 template <
typename T,
typename T2>
70 template <
typename T,
typename T2>
NumericVector< Number > & _residual_stage1
Buffer to store non-time residual from the first stage.
Second-order Runge-Kutta (implicit midpoint) time integration.
static InputParameters validParams()
DualNumber< Real, DNDerivativeType, true > DualReal
virtual int order() override
ImplicitMidpoint(const InputParameters ¶meters)
void computeTimeDerivativeHelper(T &u_dot, const T2 &u_old) const
Helper function that actually does the math for computing the time derivative.
virtual void computeTimeDerivatives() override
Computes the time derivative and the Jacobian of the time derivative.
virtual void solve() override
Solves the time step and sets the number of nonlinear and linear iterations.
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
Base class for time integrators.
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.