18 InputParameters params = validParams<GeneralUserObject>();
19 params.addClassDescription(
"Userobject for summing forces and torques acting on a grain");
20 params.addParam<std::vector<UserObjectName>>(
22 "List of names of user objects that provides forces and torques applied to grains");
23 params.addParam<
unsigned int>(
"grain_num",
"Number of grains");
29 GeneralUserObject(parameters),
30 _sum_objects(getParam<std::vector<UserObjectName>>(
"grain_forces")),
31 _num_forces(_sum_objects.size()),
32 _grain_num(getParam<unsigned int>(
"grain_num")),
33 _sum_forces(_num_forces),
34 _force_values(_grain_num),
35 _torque_values(_grain_num)
55 if (_fe_problem.currentlyComputingJacobian())
57 unsigned int total_dofs = _subproblem.es().n_dofs();
75 const std::vector<RealGradient> &
81 const std::vector<RealGradient> &
87 const std::vector<Real> &
93 const std::vector<std::vector<Real>> &