www.mooseframework.org
EulerAngleUpdater.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef EULERANGLEUPDATER_H
8 #define EULERANGLEUPDATER_H
9 
10 #include "EulerAngleProvider.h"
11 
12 // Forward declaration
13 class EulerAngleUpdater;
14 class RotationTensor;
17 
18 template <>
19 InputParameters validParams<EulerAngleUpdater>();
20 
35 {
36 public:
37  EulerAngleUpdater(const InputParameters & parameters);
38 
39  virtual void initialize() override;
40  virtual void execute() override {}
41  virtual void finalize() override {}
42 
43  virtual const EulerAngles & getEulerAngles(unsigned int) const override;
44  virtual const EulerAngles & getEulerAnglesOld(unsigned int) const;
45  virtual unsigned int getGrainNum() const override;
46 
47 protected:
51  const VectorPostprocessorValue & _grain_volumes;
52 
53  const Real _mr;
55 
56  std::vector<EulerAngles> _angles;
57  std::vector<EulerAngles> _angles_old;
58 };
59 
60 #endif // EULERANGLEUPDATER_H
virtual const EulerAngles & getEulerAnglesOld(unsigned int) const
const GrainTrackerInterface & _grain_tracker
const GrainForceAndTorqueInterface & _grain_torque
This class defines the interface for the GrainTracking objects.
This class provides interface for extracting the forces and torques computed in other UserObjects...
const VectorPostprocessorValue & _grain_volumes
virtual void finalize() override
InputParameters validParams< EulerAngleUpdater >()
virtual unsigned int getGrainNum() const override
const EulerAngleProvider & _euler
Update Euler angles of each grains after rigid body rotation This class estimates the rotation of pri...
This is a RealTensor version of a rotation matrix It is instantiated with the Euler angles...
EulerAngleUpdater(const InputParameters &parameters)
virtual void initialize() override
virtual void execute() override
std::vector< EulerAngles > _angles_old
Euler angle triplet.
Definition: EulerAngles.h:20
Abstract base class for user objects that implement the Euler Angle provider interface.
std::vector< EulerAngles > _angles
virtual const EulerAngles & getEulerAngles(unsigned int) const override