https://mooseframework.inl.gov
ComputeSimoHughesJ2PlasticityStress.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 
13 #include "GuaranteeConsumer.h"
14 #include "ElasticityTensorTools.h"
16 #include "Function.h"
18 
19 /* This class implements the Simo-Hughes style J2 plasticity */
21  : public DerivativeMaterialInterface<ComputeLagrangianStressPK1>,
23 {
24 public:
26 
28 
29  virtual void initialSetup() override;
30 
31 protected:
32  virtual void initQpStatefulProperties() override;
33 
34  virtual void computeQpPK1Stress() override;
35 
37  virtual Real computeReferenceResidual(const Real & effective_trial_stress,
38  const Real & scalar) override;
39  virtual Real computeResidual(const Real & effective_trial_stress, const Real & scalar) override;
40  virtual Real computeDerivative(const Real & effective_trial_stress, const Real & scalar) override;
41  virtual void
42  preStep(const Real & scalar_old, const Real & residual, const Real & jacobian) override;
44 
45  const MaterialPropertyName _elasticity_tensor_name;
47 
49  const std::string _ep_name;
55 
57  const std::string _flow_stress_name;
61 
62 private:
70 };
const MaterialProperty< RankFourTensor > & _elasticity_tensor
virtual Real computeReferenceResidual(const Real &effective_trial_stress, const Real &scalar) override
The return mapping residual and derivative.
virtual Real computeResidual(const Real &effective_trial_stress, const Real &scalar) override
const MaterialProperty< RankTwoTensor > & _be_old
const MaterialProperty< RankTwoTensor > & _F_old
virtual Real computeDerivative(const Real &effective_trial_stress, const Real &scalar) override
Base class that provides capability for Newton return mapping iterations on a single variable...
virtual void preStep(const Real &scalar_old, const Real &residual, const Real &jacobian) override
ComputeSimoHughesJ2PlasticityStress(const InputParameters &parameters)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
RankFourTensor _d_be_d_F
Helper (dummy) variables for iteratively updating the consistant tangent during return mapping...