www.mooseframework.org
EshelbyTensor.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 
12 #include "Material.h"
13 #include "DerivativeMaterialInterface.h"
14 
15 template <typename>
18 
19 class EshelbyTensor;
20 
21 template <>
22 InputParameters validParams<EshelbyTensor>();
23 
27 class EshelbyTensor : public DerivativeMaterialInterface<Material>
28 {
29 public:
30  static InputParameters validParams();
31 
32  EshelbyTensor(const InputParameters & parameters);
33 
34  virtual void initQpStatefulProperties() override;
35  virtual void computeQpProperties() override;
36 
37 protected:
38  const std::string _base_name;
39 
40  const MaterialProperty<Real> & _sed;
41  MaterialProperty<RankTwoTensor> & _eshelby_tensor;
42  const MaterialProperty<RankTwoTensor> & _stress;
43  const MaterialProperty<RankTwoTensor> & _stress_old;
44  std::vector<const VariableGradient *> _grad_disp;
45 
46  MaterialProperty<RealVectorValue> & _J_thermal_term_vec;
47  const VariableGradient & _grad_temp;
48  const bool _has_temp;
49  const MaterialProperty<RankTwoTensor> * _total_deigenstrain_dT;
50 };
EshelbyTensor::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: EshelbyTensor.C:73
EshelbyTensor::_base_name
const std::string _base_name
Definition: EshelbyTensor.h:38
EshelbyTensor::_stress
const MaterialProperty< RankTwoTensor > & _stress
Definition: EshelbyTensor.h:42
EshelbyTensor::_J_thermal_term_vec
MaterialProperty< RealVectorValue > & _J_thermal_term_vec
Definition: EshelbyTensor.h:46
EshelbyTensor::computeQpProperties
virtual void computeQpProperties() override
Definition: EshelbyTensor.C:78
EshelbyTensor::validParams
static InputParameters validParams()
Definition: EshelbyTensor.C:19
EshelbyTensor::_eshelby_tensor
MaterialProperty< RankTwoTensor > & _eshelby_tensor
Definition: EshelbyTensor.h:41
validParams< EshelbyTensor >
InputParameters validParams< EshelbyTensor >()
EshelbyTensor::_grad_temp
const VariableGradient & _grad_temp
Definition: EshelbyTensor.h:47
EshelbyTensor::_grad_disp
std::vector< const VariableGradient * > _grad_disp
Definition: EshelbyTensor.h:44
EshelbyTensor::_stress_old
const MaterialProperty< RankTwoTensor > & _stress_old
Definition: EshelbyTensor.h:43
EshelbyTensor::_has_temp
const bool _has_temp
Definition: EshelbyTensor.h:48
EshelbyTensor::_total_deigenstrain_dT
const MaterialProperty< RankTwoTensor > * _total_deigenstrain_dT
Definition: EshelbyTensor.h:49
EshelbyTensor::_sed
const MaterialProperty< Real > & _sed
Definition: EshelbyTensor.h:40
EshelbyTensor
EshelbyTensor defines a strain increment and rotation increment, for finite strains.
Definition: EshelbyTensor.h:27
RankTwoTensor
RankTwoTensorTempl< Real > RankTwoTensor
Definition: EshelbyTensor.h:16
RankTwoTensorTempl
Definition: ACGrGrElasticDrivingForce.h:17
EshelbyTensor::EshelbyTensor
EshelbyTensor(const InputParameters &parameters)
Definition: EshelbyTensor.C:36