https://mooseframework.inl.gov
EulerAngleUpdater.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 
14 // Forward declaration
15 class RotationTensor;
18 
33 {
34 public:
36 
38 
39  virtual void initialize() override;
40  virtual void execute() override {}
41  virtual void finalize() override {}
42 
43  virtual const EulerAngles & getEulerAnglesOld(unsigned int) const;
44 
45 protected:
50 
51  const Real _mr;
53  bool & _first_time;
58  int & _t_step_old;
59 
60  std::vector<EulerAngles> & _angles_old;
61 };
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
const InputParameters & parameters() const
virtual void finalize() override
bool _first_time_recovered
Whether the simulation has recovered once.
std::vector< EulerAngles > & _angles_old
const EulerAngleProvider & _euler
virtual const EulerAngles & getEulerAnglesOld(unsigned int) const
static InputParameters validParams()
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)
std::vector< Real > VectorPostprocessorValue
virtual void initialize() override
virtual void execute() override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
bool & _first_time
Whether this is the first time updating angles, in which case the initial euler angle provider should...
int & _t_step_old
Used to determine whether a timestep is being repeated.
Euler angle triplet.
Definition: EulerAngles.h:24
Abstract base class for user objects that implement the Euler Angle provider interface.