https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
18
23{
24public:
26
28
29protected:
30 virtual void computeQpElasticityTensor();
31
34
37
39 const unsigned int _op_num;
40
42 const std::vector<const VariableValue *> _vals;
43
46
49
51 std::vector<MaterialProperty<RankFourTensor> *> _D_elastic_tensor;
52
54 const Real _JtoeV;
55};
ComputeElasticityTensorBase the base class for computing elasticity tensors.
Compute an evolving elasticity tensor coupled to a grain growth phase field model.
MaterialProperty< RankTwoTensor > * _crysrot
Crystal Rotation Matrix used to rotate the slip system direction and normal.
const GrainDataTracker< RankFourTensor > & _grain_tracker
Grain tracker object.
std::vector< MaterialProperty< RankFourTensor > * > _D_elastic_tensor
vector of elasticity tensor material properties
const std::vector< const VariableValue * > _vals
Order parameters.
const EulerAngleProvider *const _euler
object providing the Euler angles
const Real _JtoeV
Conversion factor from J to eV.
const unsigned int _op_num
Number of order parameters.
Abstract base class for user objects that implement the Euler Angle provider interface.
GrainTracker derived class template to base objects on which maintain physical parameters for individ...