18 params.
addClassDescription(
"Userobject for calculating force and torque acting on a grain");
19 params.
addParam<std::vector<Real>>(
"force",
"force acting on grains");
20 params.
addParam<std::vector<Real>>(
"torque",
"torque acting on grains");
27 _F(getParam<
std::vector<
Real>>(
"force")),
28 _M(getParam<
std::vector<
Real>>(
"torque")),
29 _grain_num(_F.size() / 3),
30 _ncomp(6 * _grain_num),
31 _force_values(_grain_num),
32 _torque_values(_grain_num)
59 const std::vector<RealGradient> &
65 const std::vector<RealGradient> &
71 const std::vector<Real> &
77 const std::vector<std::vector<Real>> &
ConstantGrainForceAndTorque(const InputParameters ¶meters)
std::vector< Real > _M
Applied torque on particles, size should be 3 times no. of grains.
static InputParameters validParams()
This class provides interface for extracting the forces and torques computed in other UserObjects...
virtual const std::vector< std::vector< Real > > & getForceEtaJacobians() const
virtual EquationSystems & es()=0
This class is here to get the force and torque acting on a grain.
virtual const std::vector< Real > & getForceCJacobians() const
virtual void initialize()
std::vector< Real > _F
Applied force on particles, size should be 3 times no. of grains.
std::vector< RealGradient > _torque_values
std::vector< std::vector< Real > > _eta_jacobians
static InputParameters validParams()
virtual const std::vector< RealGradient > & getForceValues() const
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
FEProblemBase & _fe_problem
std::vector< Real > _c_jacobians
virtual const std::vector< RealGradient > & getTorqueValues() const
std::vector< RealGradient > _force_values
providing grain forces, torques and their jacobians w. r. t c
const bool & currentlyComputingJacobian() const
registerMooseObject("PhaseFieldApp", ConstantGrainForceAndTorque)