www.mooseframework.org
ConstitutiveModel.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 
14 #include "SymmElasticityTensor.h"
15 #include "SymmTensor.h"
16 
17 class ConstitutiveModel;
18 
19 template <>
20 InputParameters validParams<ConstitutiveModel>();
21 
22 class ConstitutiveModel : public Material
23 {
24 public:
25  ConstitutiveModel(const InputParameters & parameters);
26 
27  virtual ~ConstitutiveModel() {}
28 
30  void setQp(unsigned int qp);
31 
32  virtual void computeStress(const Elem & /*current_elem*/,
33  const SymmElasticityTensor & elasticityTensor,
34  const SymmTensor & stress_old,
35  SymmTensor & strain_increment,
36  SymmTensor & stress_new);
37 
38  virtual bool modifyStrainIncrement(const Elem & /*elem*/,
39  SymmTensor & strain_increment,
40  SymmTensor & d_strain_dT)
41  {
42  return applyThermalStrain(strain_increment, d_strain_dT);
43  }
44  virtual bool updateElasticityTensor(SymmElasticityTensor & /*elasticityTensor*/) { return false; }
45 
46  virtual bool applyThermalStrain(SymmTensor & strain_increment, SymmTensor & d_strain_dT);
47 
48 protected:
49  const bool _has_temp;
50  const VariableValue & _temperature;
51  const VariableValue & _temperature_old;
52  const Real _alpha;
53  const Function * _alpha_function;
57  Real _ref_temp;
58 
60  bool & _step_zero_cm;
61  bool & _step_one_cm;
63 
64 private:
65  using Material::computeProperties;
66 };
SymmElasticityTensor.h
SymmTensor.h
ConstitutiveModel::modifyStrainIncrement
virtual bool modifyStrainIncrement(const Elem &, SymmTensor &strain_increment, SymmTensor &d_strain_dT)
Definition: ConstitutiveModel.h:38
ConstitutiveModel::_step_one_cm
bool & _step_one_cm
Definition: ConstitutiveModel.h:61
ConstitutiveModel
Definition: ConstitutiveModel.h:22
ConstitutiveModel::_alpha
const Real _alpha
Definition: ConstitutiveModel.h:52
ConstitutiveModel::_mean_alpha_function
bool _mean_alpha_function
Definition: ConstitutiveModel.h:56
ConstitutiveModel::applyThermalStrain
virtual bool applyThermalStrain(SymmTensor &strain_increment, SymmTensor &d_strain_dT)
Definition: ConstitutiveModel.C:106
ConstitutiveModel::updateElasticityTensor
virtual bool updateElasticityTensor(SymmElasticityTensor &)
Definition: ConstitutiveModel.h:44
ConstitutiveModel::_stress_free_temp
Real _stress_free_temp
Definition: ConstitutiveModel.h:55
SymmElasticityTensor
This class defines a basic set of capabilities any elasticity tensor should have.
Definition: SymmElasticityTensor.h:55
ConstitutiveModel::~ConstitutiveModel
virtual ~ConstitutiveModel()
Definition: ConstitutiveModel.h:27
ConstitutiveModel::_ref_temp
Real _ref_temp
Definition: ConstitutiveModel.h:57
ConstitutiveModel::_step_zero_cm
bool & _step_zero_cm
Restartable data to check for the zeroth and first time steps.
Definition: ConstitutiveModel.h:60
SymmTensor
Definition: SymmTensor.h:21
ConstitutiveModel::_temperature_old
const VariableValue & _temperature_old
Definition: ConstitutiveModel.h:51
ConstitutiveModel::_has_stress_free_temp
bool _has_stress_free_temp
Definition: ConstitutiveModel.h:54
ConstitutiveModel::computeStress
virtual void computeStress(const Elem &, const SymmElasticityTensor &elasticityTensor, const SymmTensor &stress_old, SymmTensor &strain_increment, SymmTensor &stress_new)
Definition: ConstitutiveModel.C:95
ConstitutiveModel::_temperature
const VariableValue & _temperature
Definition: ConstitutiveModel.h:50
ConstitutiveModel::_alpha_function
const Function * _alpha_function
Definition: ConstitutiveModel.h:53
ConstitutiveModel::_has_temp
const bool _has_temp
Definition: ConstitutiveModel.h:49
ConstitutiveModel::ConstitutiveModel
ConstitutiveModel(const InputParameters &parameters)
Definition: ConstitutiveModel.C:39
ConstitutiveModel::setQp
void setQp(unsigned int qp)
Sets the value of the variable _qp for inheriting classes.
Definition: ConstitutiveModel.C:89
validParams< ConstitutiveModel >
InputParameters validParams< ConstitutiveModel >()
Definition: ConstitutiveModel.C:16