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.");
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
virtual unsigned int getGrainNum() const
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
RankFourTensor _C_ijkl
unrotated elasticity tensor
static InputParameters validParams()
virtual const EulerAngles & getEulerAngles(unsigned int i) const
void mooseError(Args &&... args) const
GrainTrackerElasticity(const InputParameters ¶meters)
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...