https://mooseframework.inl.gov
Loading...
Searching...
No Matches
LinearViscoelasticStressUpdate.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 "StressUpdateBase.h"
14
26{
27public:
29
31
37
38 virtual void updateState(RankTwoTensor & strain_increment,
39 RankTwoTensor & inelastic_strain_increment,
40 const RankTwoTensor & rotation_increment,
41 RankTwoTensor & stress_new,
42 const RankTwoTensor & stress_old,
44 const RankTwoTensor & elastic_strain_old,
45 bool compute_full_tangent_operator,
46 RankFourTensor & tangent_operator) override;
47
49 virtual void propagateQpStatefulProperties() override;
50
51 virtual bool requiresIsotropicTensor() override { return false; }
52
53protected:
54 virtual void initQpStatefulProperties() override;
55
60
67};
This class computes a creep strain increment associated with a linear viscoelastic model contained in...
const MaterialProperty< RankFourTensor > & _apparent_elasticity_tensor
Apparent elasticity tensor (extracted from a LinearViscoelasticityBase object)
const MaterialProperty< RankTwoTensor > & _apparent_creep_strain
Apparent creep strain (extracted from a LinearViscoelasticityBase object)
virtual bool requiresIsotropicTensor() override
Does the model require the elasticity tensor to be isotropic?
virtual void propagateQpStatefulProperties() override
Reimplemented from StressUpdateBase.
const MaterialProperty< RankFourTensor > & _elasticity_tensor_inv
Instantaneous compliance tensor (extracted from a LinearViscoelasticityBase object)
const MaterialProperty< RankTwoTensor > & _creep_strain_old
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
MaterialProperty< RankTwoTensor > & _creep_strain
Creep strain.
const InputParameters & parameters() const
StressUpdateBase is a material that is not called by MOOSE because of the compute=false flag set in t...
virtual void updateState(GR2 &strain_increment, GR2 &inelastic_strain_increment, const GR2 &rotation_increment, GR2 &stress_new, const RankTwoTensor &stress_old, const GR4 &elasticity_tensor, const RankTwoTensor &elastic_strain_old, bool compute_full_tangent_operator=false, RankFourTensor &tangent_operator=StressUpdateBaseTempl< is_ad >::_identityTensor)
Given a strain increment that results in a trial stress, perform some procedure (such as an iterative...
Real elasticity_tensor(unsigned int i, unsigned int j, unsigned int k, unsigned int l)