19 params.
addParam<std::vector<UserObjectName>>(
21 "List of names of user objects that provides forces and torques applied to grains");
22 params.
addParam<
unsigned int>(
"grain_num",
"Number of grains");
29 _sum_objects(getParam<
std::vector<UserObjectName>>(
"grain_forces")),
30 _num_forces(_sum_objects.size()),
31 _grain_num(getParam<unsigned
int>(
"grain_num")),
32 _sum_forces(_num_forces),
33 _force_values(_grain_num),
34 _torque_values(_grain_num)
74const std::vector<RealGradient> &
80const std::vector<RealGradient> &
86const std::vector<Real> &
92const std::vector<std::vector<Real>> &
registerMooseObject("PhaseFieldApp", GrainForceAndTorqueSum)
void ErrorVector unsigned int
static InputParameters validParams()
This class provides interface for extracting the forces and torques computed in other UserObjects.
This class is here to get the force and torque acting on a grain from different userobjects and sum t...
virtual const std::vector< std::vector< Real > > & getForceEtaJacobians() const
std::vector< const GrainForceAndTorqueInterface * > _sum_forces
unsigned int _num_forces
Total no. of userobjects that provides forces and torques acting on grains.
std::vector< RealGradient > _force_values
providing grain forces, torques and their jacobians w. r. t c
std::vector< UserObjectName > _sum_objects
Vector of userobjects providing forces and torques acting on grains.
static InputParameters validParams()
std::vector< std::vector< Real > > _eta_jacobians
virtual const std::vector< Real > & getForceCJacobians() const
virtual void initialize()
std::vector< Real > _c_jacobians
virtual const std::vector< RealGradient > & getForceValues() const
GrainForceAndTorqueSum(const InputParameters ¶meters)
std::vector< RealGradient > _torque_values
virtual const std::vector< RealGradient > & getTorqueValues() const
const bool & currentlyComputingJacobian() const
virtual libMesh::EquationSystems & es()=0
FEProblemBase & _fe_problem
std::size_t n_dofs() const