www.mooseframework.org
ComputeThermalExpansionEigenstrainBase.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 "ComputeEigenstrainBase.h"
13 #include "DerivativeMaterialInterface.h"
14 
16 template <typename>
19 
20 template <>
22 
28  : public DerivativeMaterialInterface<ComputeEigenstrainBase>
29 {
30 public:
31  static InputParameters validParams();
32 
33  ComputeThermalExpansionEigenstrainBase(const InputParameters & parameters);
34 
35 protected:
36  virtual void computeQpEigenstrain() override;
37  /*
38  * Compute the total thermal strain relative to the stress-free temperature at
39  * the current temperature, as well as the current instantaneous thermal
40  * expansion coefficient.
41  * param thermal_strain The current total linear thermal strain
42  * (\delta L / L)
43  * param instantaneous_cte The current instantaneous coefficient of thermal
44  * expansion (derivative of thermal_strain wrt
45  * temperature
46  */
47  virtual void computeThermalStrain(Real & thermal_strain, Real & instantaneous_cte) = 0;
48 
49  const VariableValue & _temperature;
50  MaterialProperty<RankTwoTensor> & _deigenstrain_dT;
51  const VariableValue & _stress_free_temperature;
52 };
RankTwoTensor
RankTwoTensorTempl< Real > RankTwoTensor
Definition: ComputeThermalExpansionEigenstrainBase.h:17
validParams< ComputeThermalExpansionEigenstrainBase >
InputParameters validParams< ComputeThermalExpansionEigenstrainBase >()
ComputeThermalExpansionEigenstrainBase::_temperature
const VariableValue & _temperature
Definition: ComputeThermalExpansionEigenstrainBase.h:49
ComputeThermalExpansionEigenstrainBase::computeThermalStrain
virtual void computeThermalStrain(Real &thermal_strain, Real &instantaneous_cte)=0
ComputeThermalExpansionEigenstrainBase::_stress_free_temperature
const VariableValue & _stress_free_temperature
Definition: ComputeThermalExpansionEigenstrainBase.h:51
ComputeThermalExpansionEigenstrainBase::computeQpEigenstrain
virtual void computeQpEigenstrain() override
Definition: ComputeThermalExpansionEigenstrainBase.C:38
ComputeEigenstrainBase.h
ComputeThermalExpansionEigenstrainBase::_deigenstrain_dT
MaterialProperty< RankTwoTensor > & _deigenstrain_dT
Definition: ComputeThermalExpansionEigenstrainBase.h:50
ComputeThermalExpansionEigenstrainBase::validParams
static InputParameters validParams()
Definition: ComputeThermalExpansionEigenstrainBase.C:16
RankTwoTensorTempl
Definition: ACGrGrElasticDrivingForce.h:17
ComputeThermalExpansionEigenstrainBase::ComputeThermalExpansionEigenstrainBase
ComputeThermalExpansionEigenstrainBase(const InputParameters &parameters)
Definition: ComputeThermalExpansionEigenstrainBase.C:27
ComputeThermalExpansionEigenstrainBase
ComputeThermalExpansionEigenstrainBase is a base class for all models that compute eigenstrains due t...
Definition: ComputeThermalExpansionEigenstrainBase.h:27