www.mooseframework.org
LinearViscoelasticityManager.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 LINEARVISCOELASTICITYMANAGER_H
8 #define LINEARVISCOELASTICITYMANAGER_H
9 
10 #include "ElementUserObject.h"
12 #include "RankTwoTensor.h"
13 
15 
16 template <>
18 
31 class LinearViscoelasticityManager : public ElementUserObject
32 {
33 public:
34  LinearViscoelasticityManager(const InputParameters & parameters);
35 
36 protected:
37  virtual void initialize() override;
38  virtual void execute() override;
39  virtual void threadJoin(const UserObject & /*uo*/) override{};
40  virtual void finalize() override{};
41 
42  std::string _stress_name;
43  /*
44  * The effective stress used for the update of the viscoelastic strain
45  * (typically, the real stress).
46  */
47  const MaterialProperty<RankTwoTensor> & _stress;
48 
49  std::string _creep_strain_name;
51  const MaterialProperty<RankTwoTensor> & _creep_strain;
52 
53  std::string _elastic_strain_name;
55  const MaterialProperty<RankTwoTensor> & _elastic_strain;
56 
60  std::shared_ptr<LinearViscoelasticityBase> _viscoelastic_model;
61 };
62 
63 #endif // STRESSTIMESTEPSETUP_H
This class manages a LinearViscoelasticityBase object.
std::shared_ptr< LinearViscoelasticityBase > _viscoelastic_model
Pointer to the viscoelastic model to update.
InputParameters validParams< LinearViscoelasticityManager >()
const MaterialProperty< RankTwoTensor > & _creep_strain
Name of the creep strain variable used for the update of the viscoelastic strain. ...
std::string _viscoelastic_model_name
Name of the viscoelastic model to update.
const MaterialProperty< RankTwoTensor > & _stress
const MaterialProperty< RankTwoTensor > & _elastic_strain
Name of the elastic strain variable used for the update of the viscoelastic strain.
LinearViscoelasticityManager(const InputParameters &parameters)
virtual void threadJoin(const UserObject &) override