27 virtual int order()
override {
return 2; }
31 ADReal & ad_u_dotdot)
const override;
45 template <
typename T,
typename T2,
typename T3,
typename T4>
50 template <
typename T,
typename T2,
typename T3,
typename T4>
55 const T4 & u_older)
const 63 u_dot *= 1.0 / (2.0 *
_dt);
74 u_dotdot *= 1.0 / (
_dt *
_dt);
Real & _du_dotdot_du
solution vector for
void computeTimeDerivativeHelper(T &u_dot, T2 &u_dotdot, const T3 &u_old, const T4 &u_older) const
Helper function that actually does the math for computing the time derivative.
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 void computeTimeDerivatives() override
Computes the time derivative and the Jacobian of the time derivative.
static InputParameters validParams()
Implements a truly explicit (no nonlinear solve) Central Difference time integration scheme...
DualNumber< Real, DNDerivativeType, true > ADReal
Real & _dt
The current time step size.
virtual Real duDotDuCoeff() const override
const NumericVector< Number > & _solution_older
The older solution.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const InputParameters & parameters() const
Get the parameters of the object.
Implements a truly explicit (no nonlinear solve) first-order, forward Euler time integration scheme...
CentralDifference(const InputParameters ¶meters)
virtual int order() override
virtual void initialSetup() override
Called to setup datastructures.