Loading [MathJax]/extensions/tex2jax.js
www.mooseframework.org
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
LinearViscoelasticStressUpdate.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 "StressUpdateBase.h"
14 
16 
17 template <>
19 
31 {
32 public:
33  static InputParameters validParams();
34 
35  LinearViscoelasticStressUpdate(const InputParameters & parameters);
36 
41  virtual void updateState(RankTwoTensor & strain_increment,
42  RankTwoTensor & inelastic_strain_increment,
43  const RankTwoTensor & rotation_increment,
44  RankTwoTensor & stress_new,
45  const RankTwoTensor & stress_old,
46  const RankFourTensor & elasticity_tensor,
47  const RankTwoTensor & elastic_strain_old,
48  bool compute_full_tangent_operator,
49  RankFourTensor & tangent_operator) override;
50 
52  virtual void propagateQpStatefulProperties() override;
53 
54  virtual bool requiresIsotropicTensor() override { return false; }
55 
56 protected:
57  virtual void initQpStatefulProperties() override;
58 
60  MaterialProperty<RankTwoTensor> & _creep_strain;
61  const MaterialProperty<RankTwoTensor> & _creep_strain_old;
63 
65  const MaterialProperty<RankTwoTensor> & _apparent_creep_strain;
67  const MaterialProperty<RankFourTensor> & _apparent_elasticity_tensor;
69  const MaterialProperty<RankFourTensor> & _elasticity_tensor_inv;
70 };
LinearViscoelasticStressUpdate::updateState
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) override
Computes the new creep strain, and removes the creep contribution from the elastic strains and stress...
Definition: LinearViscoelasticStressUpdate.C:58
LinearViscoelasticStressUpdate::LinearViscoelasticStressUpdate
LinearViscoelasticStressUpdate(const InputParameters &parameters)
Definition: LinearViscoelasticStressUpdate.C:35
LinearViscoelasticityBase.h
LinearViscoelasticStressUpdate::_elasticity_tensor_inv
const MaterialProperty< RankFourTensor > & _elasticity_tensor_inv
Instantaneous compliance tensor (extracted from a LinearViscoelasticityBase object)
Definition: LinearViscoelasticStressUpdate.h:69
validParams< LinearViscoelasticStressUpdate >
InputParameters validParams< LinearViscoelasticStressUpdate >()
LinearViscoelasticStressUpdate
This class computes a creep strain increment associated with a linear viscoelastic model contained in...
Definition: LinearViscoelasticStressUpdate.h:30
LinearViscoelasticStressUpdate::_creep_strain_old
const MaterialProperty< RankTwoTensor > & _creep_strain_old
Definition: LinearViscoelasticStressUpdate.h:61
LinearViscoelasticStressUpdate::propagateQpStatefulProperties
virtual void propagateQpStatefulProperties() override
Reimplemented from StressUpdateBase.
Definition: LinearViscoelasticStressUpdate.C:52
LinearViscoelasticStressUpdate::_creep_strain
MaterialProperty< RankTwoTensor > & _creep_strain
Creep strain.
Definition: LinearViscoelasticStressUpdate.h:60
LinearViscoelasticStressUpdate::_apparent_elasticity_tensor
const MaterialProperty< RankFourTensor > & _apparent_elasticity_tensor
Apparent elasticity tensor (extracted from a LinearViscoelasticityBase object)
Definition: LinearViscoelasticStressUpdate.h:67
LinearViscoelasticStressUpdate::_apparent_creep_strain
const MaterialProperty< RankTwoTensor > & _apparent_creep_strain
Apparent creep strain (extracted from a LinearViscoelasticityBase object)
Definition: LinearViscoelasticStressUpdate.h:65
RankFourTensorTempl< Real >
StressUpdateBase
StressUpdateBase is a material that is not called by MOOSE because of the compute=false flag set in t...
Definition: StressUpdateBase.h:52
LinearViscoelasticStressUpdate::validParams
static InputParameters validParams()
Definition: LinearViscoelasticStressUpdate.C:17
LinearViscoelasticStressUpdate::requiresIsotropicTensor
virtual bool requiresIsotropicTensor() override
Does the model require the elasticity tensor to be isotropic?
Definition: LinearViscoelasticStressUpdate.h:54
RankTwoTensorTempl
Definition: ACGrGrElasticDrivingForce.h:17
StressUpdateBase.h
LinearViscoelasticStressUpdate::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: LinearViscoelasticStressUpdate.C:46