45 virtual int order()
override {
return 2; }
49 ADReal & ad_u_dotdot)
const override;
50 virtual void solve()
override;
58 template <
typename T,
typename T2>
74 template <
typename T,
typename T2>
virtual void computeTimeDerivatives() override
Computes the time derivative and the Jacobian of the time derivative.
LStableDirk2(const InputParameters ¶meters)
static InputParameters validParams()
virtual void solve() override
Solves the time step and sets the number of nonlinear and linear iterations.
DualNumber< Real, DNDerivativeType, true > ADReal
Real & _dt
The current time step size.
void computeADTimeDerivatives(ADReal &ad_u_dot, const dof_id_type &dof, ADReal &ad_u_dotdot) const override
method for computing local automatic differentiation time derivatives
virtual int order() override
NumericVector< Number > * _residual_stage1
Buffer to store non-time residual from first stage solve.
virtual void postResidual(NumericVector< Number > &residual) override
Callback to the NonLinearTimeIntegratorInterface called immediately after the residuals are computed ...
virtual bool overridesSolve() const override
void computeTimeDerivativeHelper(T &u_dot, const T2 &u_old) const
Helper function that actually does the math for computing the time derivative.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Base class for time integrators.
NumericVector< Number > * _residual_stage2
Buffer to store non-time residual from second stage solve.
unsigned int _stage
Indicates the current stage (1 or 2).
const InputParameters & parameters() const
Get the parameters of the object.
Second order diagonally implicit Runge Kutta method (Dirk) with two stages.