www.mooseframework.org
StressUpdateBase.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 STRESSUPDATEBASE_H
8 #define STRESSUPDATEBASE_H
9 
10 #include "Conversion.h"
11 #include "InputParameters.h"
12 #include "Material.h"
13 #include "RankFourTensor.h"
14 #include "RankTwoTensor.h"
15 
16 // Forward declaration
17 class StressUpdateBase;
18 
19 template <>
20 InputParameters validParams<StressUpdateBase>();
21 
34 class StressUpdateBase : public Material
35 {
36 public:
37  StressUpdateBase(const InputParameters & parameters);
38 
65  virtual void updateState(RankTwoTensor & strain_increment,
66  RankTwoTensor & inelastic_strain_increment,
67  const RankTwoTensor & rotation_increment,
68  RankTwoTensor & stress_new,
69  const RankTwoTensor & stress_old,
70  const RankFourTensor & elasticity_tensor,
71  const RankTwoTensor & elastic_strain_old,
72  bool compute_full_tangent_operator,
73  RankFourTensor & tangent_operator) = 0;
74 
76  void setQp(unsigned int qp);
77 
82  virtual void propagateQpStatefulProperties();
83 
87  virtual bool requiresIsotropicTensor() = 0;
88 
89  virtual Real computeTimeStepLimit();
90 
92  void resetQpProperties() final {}
93  void resetProperties() final {}
95 };
96 
97 #endif // STRESSUPDATEBASE_H
virtual void propagateQpStatefulProperties()
If updateState is not called during a timestep, this will be.
void resetProperties() final
StressUpdateBase is a material that is not called by MOOSE because of the compute=false flag set in t...
void setQp(unsigned int qp)
Sets the value of the global variable _qp for inheriting classes.
virtual bool requiresIsotropicTensor()=0
Does the model require the elasticity tensor to be isotropic?
InputParameters validParams< StressUpdateBase >()
virtual void updateState(RankTwoTensor &strain_increment, RankTwoTensor &inelastic_strain_increment, const RankTwoTensor &rotation_increment, RankTwoTensor &stress_new, const RankTwoTensor &stress_old, const RankFourTensor &elasticity_tensor, const RankTwoTensor &elastic_strain_old, bool compute_full_tangent_operator, RankFourTensor &tangent_operator)=0
Given a strain increment that results in a trial stress, perform some procedure (such as an iterative...
virtual Real computeTimeStepLimit()
void resetQpProperties() final
Retained as empty methods to avoid a warning from Material.C in framework. These methods are unused i...
StressUpdateBase(const InputParameters &parameters)