www.mooseframework.org
RandomEulerAngleProvider.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "EulerAngleProvider.h"
13 #include "MooseRandom.h"
14 
15 // Forward declaration
18 
19 template <>
21 
26 {
27 public:
28  RandomEulerAngleProvider(const InputParameters & parameters);
29 
30  virtual void initialize() override;
31  virtual void execute() override {}
32  virtual void finalize() override {}
33 
34  virtual const EulerAngles & getEulerAngles(unsigned int) const override;
35  virtual unsigned int getGrainNum() const override;
36 
37 protected:
39  std::vector<EulerAngles> _angles;
40 
41  MooseRandom _random;
42 };
43 
GrainTrackerInterface
This class defines the interface for the GrainTracking objects.
Definition: GrainTrackerInterface.h:24
RandomEulerAngleProvider::_random
MooseRandom _random
Definition: RandomEulerAngleProvider.h:41
EulerAngleProvider.h
RandomEulerAngleProvider::initialize
virtual void initialize() override
Definition: RandomEulerAngleProvider.C:36
RandomEulerAngleProvider::execute
virtual void execute() override
Definition: RandomEulerAngleProvider.h:31
RandomEulerAngleProvider::getGrainNum
virtual unsigned int getGrainNum() const override
Definition: RandomEulerAngleProvider.C:48
RandomEulerAngleProvider
Assign random Euler angles to each grains.
Definition: RandomEulerAngleProvider.h:25
EulerAngleProvider
Abstract base class for user objects that implement the Euler Angle provider interface.
Definition: EulerAngleProvider.h:24
RandomEulerAngleProvider::_grain_tracker
const GrainTrackerInterface & _grain_tracker
Definition: RandomEulerAngleProvider.h:38
validParams< RandomEulerAngleProvider >
InputParameters validParams< RandomEulerAngleProvider >()
Definition: RandomEulerAngleProvider.C:17
EulerAngles
Euler angle triplet.
Definition: EulerAngles.h:22
RandomEulerAngleProvider::finalize
virtual void finalize() override
Definition: RandomEulerAngleProvider.h:32
RandomEulerAngleProvider::RandomEulerAngleProvider
RandomEulerAngleProvider(const InputParameters &parameters)
Definition: RandomEulerAngleProvider.C:27
RandomEulerAngleProvider::getEulerAngles
virtual const EulerAngles & getEulerAngles(unsigned int) const override
Definition: RandomEulerAngleProvider.C:54
RandomEulerAngleProvider::_angles
std::vector< EulerAngles > _angles
Definition: RandomEulerAngleProvider.h:39