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