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"
14 #include "RankTwoTensorForward.h"
15 #include "MooseTypes.h"
16 
20 template <bool is_ad>
22 {
23 public:
25 
27 
28  virtual void initialSetup() override;
29  virtual void initQpStatefulProperties() override;
30  virtual void computeQpProperties() override;
31 
32 protected:
34  const std::string _base_name;
35 
38 
41 
44 
47 
50 
51  std::vector<const VariableGradient *> _grad_disp;
52  std::vector<const VariableGradient *> _grad_disp_old;
53 
56  const bool _has_temp;
58 };
59 
const MaterialProperty< RankTwoTensor > & _stress_old
The old stress tensor.
Definition: EshelbyTensor.h:49
OutputTools< Real >::VariableGradient VariableGradient
MaterialProperty< RankTwoTensor > * _eshelby_tensor_dissipation
Definition: EshelbyTensor.h:43
const GenericMaterialProperty< RankTwoTensor, is_ad > & _stress
The stress tensor.
Definition: EshelbyTensor.h:46
virtual void initQpStatefulProperties() override
EshelbyTensorTempl(const InputParameters &parameters)
Definition: EshelbyTensor.C:42
MaterialProperty< RankTwoTensor > & _eshelby_tensor
Definition: EshelbyTensor.h:42
EshelbyTensor defines a strain increment and rotation increment, for finite strains.
Definition: EshelbyTensor.h:21
virtual void computeQpProperties() override
const OptionalMaterialProperty< RankTwoTensor > & _total_deigenstrain_dT
Definition: EshelbyTensor.h:57
MaterialProperty< RealVectorValue > & _J_thermal_term_vec
Definition: EshelbyTensor.h:54
EshelbyTensorTempl< true > ADEshelbyTensor
Definition: EshelbyTensor.h:61
const std::string _base_name
Base name of the material system.
Definition: EshelbyTensor.h:34
std::vector< const VariableGradient * > _grad_disp_old
Definition: EshelbyTensor.h:52
const MaterialProperty< Real > & _sed
Definition: EshelbyTensor.h:39
static InputParameters validParams()
Definition: EshelbyTensor.C:19
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
const bool _compute_dissipation
Whether to also compute Eshelby tensor&#39;s dissipation for C(t) integral.
Definition: EshelbyTensor.h:37
std::vector< const VariableGradient * > _grad_disp
Definition: EshelbyTensor.h:51
EshelbyTensorTempl< false > EshelbyTensor
Definition: EshelbyTensor.h:60
const MaterialProperty< Real > * _serd
Definition: EshelbyTensor.h:40
const InputParameters & parameters() const
const bool _has_temp
Definition: EshelbyTensor.h:56
const VariableGradient & _grad_temp
Definition: EshelbyTensor.h:55
virtual void initialSetup() override
Definition: EshelbyTensor.C:94