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>,
22  public GuaranteeConsumer,
24 {
25 public:
27 
29 
30  virtual void initialSetup() override;
31 
32 protected:
33  virtual void initQpStatefulProperties() override;
34 
35  virtual void computeQpPK1Stress() override;
36 
38  virtual Real computeReferenceResidual(const Real & effective_trial_stress,
39  const Real & scalar) override;
40  virtual Real computeResidual(const Real & effective_trial_stress, const Real & scalar) override;
41  virtual Real computeDerivative(const Real & effective_trial_stress, const Real & scalar) override;
42  virtual void
43  preStep(const Real & scalar_old, const Real & residual, const Real & jacobian) override;
45 
46  const MaterialPropertyName _elasticity_tensor_name;
48 
50  const std::string _ep_name;
56 
58  const std::string _flow_stress_name;
62 
63 private:
71 };
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
Add-on class that provides the functionality to check if guarantees for material properties are provi...
RankFourTensor _d_be_d_F
Helper (dummy) variables for iteratively updating the consistant tangent during return mapping...