www.mooseframework.org
ComputeThermalExpansionEigenstrainBase.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef COMPUTETHERMALEXPANSIONEIGENSTRAINBASE_H
8 #define COMPUTETHERMALEXPANSIONEIGENSTRAINBASE_H
9 
10 #include "ComputeEigenstrainBase.h"
11 #include "DerivativeMaterialInterface.h"
12 
14 class RankTwoTensor;
15 
16 template <>
18 
24  : public DerivativeMaterialInterface<ComputeEigenstrainBase>
25 {
26 public:
27  ComputeThermalExpansionEigenstrainBase(const InputParameters & parameters);
28 
29 protected:
30  virtual void computeQpEigenstrain() override;
31  /*
32  * Compute the total thermal strain relative to the stress-free temperature at
33  * the current temperature, as well as the current instantaneous thermal
34  * expansion coefficient.
35  * param thermal_strain The current total linear thermal strain
36  * (\delta L / L)
37  * param instantaneous_cte The current instantaneous coefficient of thermal
38  * expansion (derivative of thermal_strain wrt
39  * temperature
40  */
41  virtual void computeThermalStrain(Real & thermal_strain, Real & instantaneous_cte) = 0;
42 
43  const VariableValue & _temperature;
44  MaterialProperty<RankTwoTensor> & _deigenstrain_dT;
45  const VariableValue & _stress_free_temperature;
46 };
47 
48 #endif // COMPUTETHERMALEXPANSIONEIGENSTRAINBASE_H
virtual void computeThermalStrain(Real &thermal_strain, Real &instantaneous_cte)=0
ComputeThermalExpansionEigenstrainBase(const InputParameters &parameters)
ComputeThermalExpansionEigenstrainBase is a base class for all models that compute eigenstrains due t...
InputParameters validParams< ComputeThermalExpansionEigenstrainBase >()