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
17 
22 {
23 public:
25 
27 
28  virtual void initialize() override;
29  virtual void execute() override {}
30  virtual void finalize() override {}
31 
32  virtual const EulerAngles & getEulerAngles(unsigned int) const override;
33  virtual unsigned int getGrainNum() const override;
34 
35 protected:
37  std::vector<EulerAngles> _angles;
38 
40 };
virtual void initialize() override
This class defines the interface for the GrainTracking objects.
virtual void finalize() override
static InputParameters validParams()
virtual unsigned int getGrainNum() const override
virtual const EulerAngles & getEulerAngles(unsigned int) const override
RandomEulerAngleProvider(const InputParameters &parameters)
Assign random Euler angles to each grains.
virtual void execute() override
Euler angle triplet.
Definition: EulerAngles.h:24
const InputParameters & parameters() const
Abstract base class for user objects that implement the Euler Angle provider interface.
std::vector< EulerAngles > _angles
const GrainTrackerInterface & _grain_tracker