https://mooseframework.inl.gov
ComputeBlockOrientationByRotation.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 
13 
18 {
19 public:
21 
23 
27  virtual void initialize() override;
28 
32  virtual void execute() override;
33 
34  virtual void threadJoin(const UserObject & /*y*/) override {};
35 
39  virtual void finalize() override;
40 
41 protected:
49 
50  // updated quaternion
52 
54  unsigned int _bins;
55 
58 
59  // Array of vectors to store quaternions of each grain
60  std::unordered_map<SubdomainID, std::vector<std::tuple<Real, Real, Real, Real>>> _quat;
61 };
const MaterialProperty< RankTwoTensor > & _updated_rotation
const InputParameters & parameters() const
virtual void initialize() override
Clear internal Euler angle and misorientationdata.
unsigned int _bins
number of bins for each quaternion component
EulerAngles computeSubdomainEulerAngles(const SubdomainID &sid)
Compute Quaternion for each subdomain (block), following Markley, F.
Real _L_norm
parameter used to compute the weighting function for the average quaternion calculation ...
virtual void execute() override
Compute the average of the rotation matrix in this element.
Computes the average value of a variable on each block.
subdomain_id_type SubdomainID
Computes the average value of a variable on each block.
ComputeBlockOrientationByRotation(const InputParameters &parameters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Euler angle triplet.
Definition: EulerAngles.h:24
std::unordered_map< SubdomainID, std::vector< std::tuple< Real, Real, Real, Real > > > _quat
virtual void threadJoin(const UserObject &) override
virtual void finalize() override
Gather all Euler angles from this block.