www.mooseframework.org
HyperbolicViscoplasticityStressUpdate.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 
13 
14 class HyperbolicViscoplasticityStressUpdate;
15 
16 template <>
18 
33 class HyperbolicViscoplasticityStressUpdate : public RadialReturnStressUpdate
34 {
35 public:
36  static InputParameters validParams();
37 
38  HyperbolicViscoplasticityStressUpdate(const InputParameters & parameters);
39 
40 protected:
41  virtual void initQpStatefulProperties() override;
42  virtual void propagateQpStatefulProperties() override;
43 
44  virtual void computeStressInitialize(const Real effective_trial_stress,
45  const RankFourTensor & elasticity_tensor) override;
46  virtual Real computeResidual(const Real effective_trial_stress, const Real scalar) override;
47  virtual Real computeDerivative(const Real effective_trial_stress, const Real scalar) override;
48  virtual void iterationFinalize(Real scalar) override;
49  virtual void computeStressFinalize(const RankTwoTensor & plasticStrainIncrement) override;
50  virtual Real computeHardeningValue(Real scalar);
51 
53  const std::string _plastic_prepend;
54 
56  const Real _yield_stress;
57  const Real _hardening_constant;
59 
61  const Real _c_alpha;
62  const Real _c_beta;
64 
66  Real _yield_condition;
67 
69  Real _xphir;
70  Real _xphidp;
72 
73  MaterialProperty<Real> & _hardening_variable;
74  const MaterialProperty<Real> & _hardening_variable_old;
75 
77  MaterialProperty<RankTwoTensor> & _plastic_strain;
78 
80  const MaterialProperty<RankTwoTensor> & _plastic_strain_old;
81 };
validParams< HyperbolicViscoplasticityStressUpdate >
InputParameters validParams< HyperbolicViscoplasticityStressUpdate >()
StressUpdateBase::propagateQpStatefulProperties
virtual void propagateQpStatefulProperties()
If updateState is not called during a timestep, this will be.
Definition: StressUpdateBase.C:49
RadialReturnStressUpdate.h
RadialReturnStressUpdate
RadialReturnStressUpdate computes the radial return stress increment for an isotropic elastic-viscopl...
Definition: RadialReturnStressUpdate.h:34
SingleVariableReturnMappingSolution::iterationFinalize
virtual void iterationFinalize(Real)
Finalize internal state variables for a model for a given iteration.
Definition: SingleVariableReturnMappingSolution.h:94
RadialReturnStressUpdate::computeStressInitialize
virtual void computeStressInitialize(const Real, const RankFourTensor &)
Perform any necessary initialization before return mapping iterations.
Definition: RadialReturnStressUpdate.h:108
SingleVariableReturnMappingSolution::computeDerivative
virtual Real computeDerivative(const Real effective_trial_stress, const Real scalar)=0
Compute the derivative of the residual as a function of the scalar variable.
SingleVariableReturnMappingSolution::computeResidual
virtual Real computeResidual(const Real effective_trial_stress, const Real scalar)=0
Compute the residual for a predicted value of the scalar.
RadialReturnStressUpdate::validParams
static InputParameters validParams()
Definition: RadialReturnStressUpdate.C:18
RadialReturnStressUpdate::computeStressFinalize
virtual void computeStressFinalize(const RankTwoTensor &)
Perform any necessary steps to finalize state after return mapping iterations.
Definition: RadialReturnStressUpdate.h:127
RankFourTensorTempl
Definition: ACGrGrElasticDrivingForce.h:20
RadialReturnStressUpdate::initQpStatefulProperties
virtual void initQpStatefulProperties() override
Definition: RadialReturnStressUpdate.C:53
RankTwoTensorTempl< Real >