Go to the documentation of this file.
20 params.addClassDescription(
"Assign random Euler angles for each grain.");
21 params.addRequiredParam<UserObjectName>(
"grain_tracker_object",
22 "The FeatureFloodCount UserObject to get values from.");
23 params.addParam<
unsigned int>(
"seed", 0,
"Seed value for the random number generator");
32 _random.seed(0, getParam<unsigned int>(
"seed"));
40 for (
auto i =
_angles.size(); i < grain_num; ++i)
56 mooseAssert(i <
getGrainNum(),
"Requesting Euler angles for an invalid grain id");
This class defines the interface for the GrainTracking objects.
virtual void initialize() override
registerMooseObject("PhaseFieldApp", RandomEulerAngleProvider)
virtual unsigned int getGrainNum() const override
Assign random Euler angles to each grains.
Abstract base class for user objects that implement the Euler Angle provider interface.
InputParameters validParams< EulerAngleProvider >()
virtual std::size_t getTotalFeatureCount() const =0
Returns a number large enough to contain the largest ID for all grains in use.
const GrainTrackerInterface & _grain_tracker
InputParameters validParams< RandomEulerAngleProvider >()
RandomEulerAngleProvider(const InputParameters ¶meters)
virtual const EulerAngles & getEulerAngles(unsigned int) const override
std::vector< EulerAngles > _angles