https://mooseframework.inl.gov
LinearViscoelasticityManager.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 
29 {
30 public:
32 
34 
35  virtual void initialSetup() override;
36 
37 protected:
38  virtual void initialize() override {}
39  virtual void execute() override;
40  virtual void threadJoin(const UserObject & /*uo*/) override {}
41  virtual void finalize() override {}
42 
43  std::string _stress_name;
44  /*
45  * The effective stress used for the update of the viscoelastic strain
46  * (typically, the real stress).
47  */
49 
50  std::string _creep_strain_name;
53 
54  std::string _elastic_strain_name;
57 
62 };
This class manages a LinearViscoelasticityBase object.
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.
LinearViscoelasticityBase * _viscoelastic_model
Pointer to the viscoelastic model to update.
This class is a base class for materials consisting of an assembly of linear springs and dashpots...
const InputParameters & parameters() const
LinearViscoelasticityManager(const InputParameters &parameters)
virtual void threadJoin(const UserObject &) override