82 mooseAssert(grain_id <
_grain_volumes.size(),
"grain_id out of bounds");
98 for (
unsigned int jvar_index = 0; jvar_index <
_op_num; ++jvar_index)
115 const auto force_jac =
_mt / volume * force_jacobian;
116 const auto torque_jac =
135 mooseAssert(grain_id <
_grain_volumes.size(),
"grain_id out of bounds");
const unsigned int _op_num
no. of order parameters
RealGradient _velocity_advection_jacobian
static InputParameters validParams()
unsigned int number() const
const VariablePhiGradient & _grad_phi
RealGradient _velocity_advection
storing the advection velocity and corresponding jacobian entries calculated in userobjects ...
virtual Real computeQpResidual()
static InputParameters validParams()
virtual Real computeQpNonlocalJacobian(dof_id_type)
virtual Real computeQpOffDiagJacobian(unsigned int)
const Real _mr
constant value corresponding to grain rotation
const VariableGradient & _grad_c
Variable gradient for the concentration.
virtual const std::vector< unsigned int > & getVarToFeatureVector(dof_id_type elem_id) const =0
Returns a list of active unique feature ids for a particular element.
MultiGrainRigidBodyMotion(const InputParameters ¶meters)
const VariableTestValue & _test
std::vector< unsigned int > _grain_ids
obtain the active grain ids
const std::vector< unsigned int > _vals_var
const std::vector< std::vector< Real > > & _grain_force_eta_jacobians
const VectorPostprocessorValue & _grain_volumes
The grain volumes.
const std::vector< RealGradient > & _grain_torques
virtual void calculateAdvectionVelocity()
virtual Point getGrainCentroid(unsigned int grain_id) const =0
Returns the centroid for the given grain number.
const std::vector< RealGradient > & _grain_forces
static const unsigned int invalid_id
TypeVector< typename CompareTypes< Real, T2 >::supertype > cross(const TypeVector< T2 > &v) const
unsigned int _total_dofs
get the total no. of dofs in the system
virtual Real computeQpNonlocalOffDiagJacobian(unsigned int, dof_id_type)
const GrainTrackerInterface & _grain_tracker
grain tracker object
registerMooseObject("PhaseFieldApp", MultiGrainRigidBodyMotion)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
unsigned int _c_var
int label for the Concentration
const Real _mt
constant value corresponding to grain translation
const Elem *const & _current_elem
virtual Real computeQpJacobian()
virtual void getUserObjectJacobian(unsigned int jvar, dof_id_type dof_index)
const std::vector< Real > & _grain_force_c_jacobians