19 "Calculates the advection velocity of grain due to rigid body translation and rotation");
21 "translation_constant", 1.0,
"constant value characterizing grain translation");
22 params.
addParam<
Real>(
"rotation_constant", 1.0,
"constant value characterizing grain rotation");
23 params.
addParam<UserObjectName>(
"grain_tracker_object",
24 "userobject for getting volume and center of mass of grains");
25 params.
addParam<VectorPostprocessorName>(
"grain_volumes",
26 "The feature volume VectorPostprocessorValue.");
27 params.
addParam<UserObjectName>(
"grain_force",
28 "userobject for getting force and torque acting on grains");
38 _grain_volumes(getVectorPostprocessorValue(
"grain_volumes",
"feature_volumes")),
41 _grain_forces(_grain_force_torque.getForceValues()),
42 _grain_torques(_grain_force_torque.getTorqueValues()),
43 _mt(getParam<
Real>(
"translation_constant")),
44 _mr(getParam<
Real>(
"rotation_constant")),
45 _component(getParam<
MooseEnum>(
"component"))
48 mooseError(
"Advection velocity can be assigned to elemental variables only.");
59 mooseAssert(grain_id <
_grain_volumes.size(),
"grain index is out of bounds");
static InputParameters validParams()
This class defines the interface for the GrainTracking objects.
This class provides interface for extracting the forces and torques computed in other UserObjects...
const Real _mr
constant value corresponding to grain rotation
virtual Real computeValue()
output the component of advection velocity
static const std::string component
const Real _mt
constant value corresponding to grain translation
virtual void precalculateValue()
calculate the advection velocity
virtual Point getGrainCentroid(unsigned int grain_id) const =0
Returns the centroid for the given grain number.
GrainAdvectionAux(const InputParameters ¶meters)
const VectorPostprocessorValue & _grain_volumes
The grain volumes.
Calculates the advection velocity of grain due to rigid body motion Reports the components of the vel...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const GrainTrackerInterface & _grain_tracker
getting userobject for calculating grain centers and volumes
void mooseError(Args &&... args) const
const Elem *const & _current_elem
static InputParameters validParams()
registerMooseObject("PhaseFieldApp", GrainAdvectionAux)
const std::vector< RealGradient > & _grain_torques
RealGradient _velocity_advection
const std::vector< RealGradient > & _grain_forces
virtual Real getEntityValue(dof_id_type entity_id, FeatureFloodCount::FieldType, std::size_t var_index=0) const =0
Accessor for retrieving either nodal or elemental information (unique grains or variable indicies) ...