58 virtual int order()
override {
return 4; }
62 ADReal & ad_u_dotdot)
const override;
63 virtual void solve()
override;
71 template <
typename T,
typename T2>
94 template <
typename T,
typename T2>
Fourth-order diagonally implicit Runge Kutta method (Dirk) with five stages.
static const Real _a[_n_stages][_n_stages]
virtual void computeTimeDerivatives() override
Computes the time derivative and the Jacobian of the time derivative.
LStableDirk4(const InputParameters ¶meters)
DualNumber< Real, DNDerivativeType, true > ADReal
Real & _dt
The current time step size.
virtual void postResidual(NumericVector< Number > &residual) override
Callback to the NonLinearTimeIntegratorInterface called immediately after the residuals are computed ...
virtual int order() override
static const Real _c[_n_stages]
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Base class for time integrators.
NumericVector< Number > * _stage_residuals[_n_stages]
static InputParameters validParams()
static const unsigned int _n_stages
const InputParameters & parameters() const
Get the parameters of the object.
virtual void solve() override
Solves the time step and sets the number of nonlinear and linear iterations.
virtual 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
void computeTimeDerivativeHelper(T &u_dot, const T2 &u_old) const
Helper function that actually does the math for computing the time derivative.
virtual bool overridesSolve() const override