32 virtual int order()
override {
return 1; }
35 virtual void solve()
override;
52 virtual void init()
override;
93 template <
typename T,
typename T2,
typename T3,
typename T4>
100 template <
typename T,
typename T2,
typename T3,
typename T4>
105 const T4 & u_older)
const 113 u_dot *= 1.0 / (2.0 *
_dt);
124 u_dotdot *= 1.0 / (
_dt *
_dt);
virtual TagID massMatrixTagID() const override
std::unordered_set< unsigned int > & _vars_second
FEProblemBase & _fe_problem
const NumericVector< Number > & _solution_older
The older solution.
const bool & _constant_mass
Whether we are reusing the mass matrix.
virtual void postSolve() override
const TagName & _mass_matrix
Mass matrix name.
TimeOrder findVariableTimeOrder(unsigned int var_num) const
Retrieve the order of the highest time derivative of a variable.
virtual void postResidual(NumericVector< Number > &residual) override
Implements a form of the central difference time integrator that calculates acceleration directly fro...
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...
virtual void advanceState()
virtual bool overridesSolve() const override
std::unordered_set< unsigned int > & _vars_first
virtual bool advancesProblemState() const override
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.
std::vector< dof_id_type > & _local_second_order_indices
static InputParameters validParams()
virtual void computeTimeDerivatives() override
virtual int order() override
void computeADTimeDerivatives(ADReal &, const dof_id_type &, ADReal &) const override
virtual void init() override
virtual bool performExplicitSolve(SparseMatrix< Number > &mass_matrix) override
void mooseError(Args &&... args) const
const InputParameters & parameters() const
virtual void solve() override
ExplicitMixedOrder(const InputParameters ¶meters)
std::vector< dof_id_type > & _local_first_order_indices