20 params.
addParam<
bool>(
"random_rotations",
22 "Generate random rotations when the Euler Angle " 23 "provider runs out of data (otherwise error " 25 params.
addRequiredParam<std::vector<Real>>(
"C_ijkl",
"Unrotated stiffness tensor");
29 "Name of Euler angle provider user object");
35 _random_rotations(getParam<bool>(
"random_rotations")),
36 _C_ijkl(getParam<
std::vector<
Real>>(
"C_ijkl"),
54 mooseError(
"GrainTrackerElasticity has run out of grain rotation data.");
virtual unsigned int getGrainNum() const =0
static InputParameters validParams()
const bool _random_rotations
generate random rotations when the Euler Angle provider runs out of data (otherwise error out) ...
registerMooseObject("PhaseFieldApp", GrainTrackerElasticity)
Manage a list of elasticity tensors for the grains.
RankFourTensor newGrain(unsigned int new_grain_id)
implement this method to initialize the data for the new grain
void rotate(const TypeTensor< T > &R)
This is a RealTensor version of a rotation matrix It is instantiated with the Euler angles...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual const EulerAngles & getEulerAngles(unsigned int) const =0
RankFourTensor _C_ijkl
unrotated elasticity tensor
static InputParameters validParams()
GrainTrackerElasticity(const InputParameters ¶meters)
void mooseError(Args &&... args) const
const EulerAngleProvider & _euler
object providing the Euler angles
static MooseEnum fillMethodEnum()
Abstract base class for user objects that implement the Euler Angle provider interface.
GrainTracker derived class template to base objects on which maintain physical parameters for individ...