14#include "libmesh/numeric_vector.h"
27 _mass_diag(initLumpedMass()),
28 _u_old(_var.nodalValueOld()),
29 _u_dot_old(_var.nodalValueDotOld()),
34 mooseError(
"Time integrator for the variable is not of the right type.");
67const NumericVector<Number> &
71 if (nl.hasVector(
"mass_matrix_diag_inverted"))
72 return nl.
getVector(
"mass_matrix_diag_inverted");
74 mooseError(
"Lumped mass matrix is missing. Make sure ExplicitMixedOrder is being used as the "
ExplicitDirichletBCBase(const InputParameters ¶meters)
const ExplicitMixedOrder * _explicit_integrator
explicit time integrator
static InputParameters validParams()
virtual void timestepSetup() override
ExplicitMixedOrder::TimeOrder _var_time_order
variable time order need for computing BC
virtual Real computeQpResidual() override
const NumericVector< Number > & _mass_diag
The diagonal of the mass matrix.
const NumericVector< Number > & initLumpedMass()
Initialize the lumped mass matrix.
virtual Real computeQpValue()=0
Compute the value of the DirichletBC at the current quadrature point.
Implements a form of the central difference time integrator that calculates acceleration directly fro...
TimeOrder findVariableTimeOrder(unsigned int var_num) const
Retrieve the order of the highest time derivative of a variable.
NonlinearSystemBase & getNonlinearSystemBase(const unsigned int sys_num)
void mooseError(Args &&... args) const
unsigned int number() const
const dof_id_type & nodalDofIndex() const override
MooseVariableFE< Real > * _variable
static InputParameters validParams()
FEProblemBase & _fe_problem
unsigned int number() const
virtual NumericVector< Number > & getVector(const std::string &name)