https://mooseframework.inl.gov
ComputePolycrystalElasticityTensor.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 
13 #include "GrainDataTracker.h"
14 #include "EulerAngleProvider.h"
15 
16 // Forward Declarations
17 class EulerAngleProvider;
18 
23 {
24 public:
26 
28 
29 protected:
30  virtual void computeQpElasticityTensor();
31 
34 
37 
39  const unsigned int _op_num;
40 
42  const std::vector<const VariableValue *> _vals;
43 
45  const EulerAngleProvider * const _euler;
46 
49 
51  std::vector<MaterialProperty<RankFourTensor> *> _D_elastic_tensor;
52 
54  const Real _JtoeV;
55 };
const Real _JtoeV
Conversion factor from J to eV.
MaterialProperty< RankTwoTensor > * _crysrot
Crystal Rotation Matrix used to rotate the slip system direction and normal.
const EulerAngleProvider *const _euler
object providing the Euler angles
ComputeElasticityTensorBase the base class for computing elasticity tensors.
const InputParameters & parameters() const
ComputePolycrystalElasticityTensor(const InputParameters &parameters)
const std::vector< const VariableValue * > _vals
Order parameters.
Compute an evolving elasticity tensor coupled to a grain growth phase field model.
const unsigned int _op_num
Number of order parameters.
std::vector< MaterialProperty< RankFourTensor > * > _D_elastic_tensor
vector of elasticity tensor material properties
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const GrainDataTracker< RankFourTensor > & _grain_tracker
Grain tracker object.
Abstract base class for user objects that implement the Euler Angle provider interface.