www.mooseframework.org
CappedDruckerPragerCosseratStressUpdate.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 
50 {
51 public:
53 
55 
59  bool requiresIsotropicTensor() override { return false; }
60 
61 protected:
63  const Real _shear;
64 
67 
68  virtual void setEppEqq(const RankFourTensor & Eijkl, Real & Epp, Real & Eqq) const override;
69 
70  virtual void setStressAfterReturn(const RankTwoTensor & stress_trial,
71  Real p_ok,
72  Real q_ok,
73  Real gaE,
74  const std::vector<Real> & intnl,
75  const yieldAndFlow & smoothed_q,
76  const RankFourTensor & Eijkl,
77  RankTwoTensor & stress) const override;
78 
79  virtual void consistentTangentOperator(const RankTwoTensor & stress_trial,
80  Real p_trial,
81  Real q_trial,
82  const RankTwoTensor & stress,
83  Real p,
84  Real q,
85  Real gaE,
86  const yieldAndFlow & smoothed_q,
87  const RankFourTensor & Eijkl,
88  bool compute_full_tangent_operator,
89  RankFourTensor & cto) const override;
90 };
const Real _shear
Shear modulus for the host medium.
CappedDruckerPragerCosseratStressUpdate performs the return-map algorithm and associated stress updat...
CappedDruckerPragerCosseratStressUpdate(const InputParameters &parameters)
Struct designed to hold info about a single yield function and its derivatives, as well as the flow d...
RankFourTensor _Ehost
Isotropic elasticity tensor for the host medium.
virtual void setStressAfterReturn(const RankTwoTensor &stress_trial, Real p_ok, Real q_ok, Real gaE, const std::vector< Real > &intnl, const yieldAndFlow &smoothed_q, const RankFourTensor &Eijkl, RankTwoTensor &stress) const override
Sets stress from the admissible parameters.
virtual void consistentTangentOperator(const RankTwoTensor &stress_trial, Real p_trial, Real q_trial, const RankTwoTensor &stress, Real p, Real q, Real gaE, const yieldAndFlow &smoothed_q, const RankFourTensor &Eijkl, bool compute_full_tangent_operator, RankFourTensor &cto) const override
Calculates the consistent tangent operator.
virtual void setEppEqq(const RankFourTensor &Eijkl, Real &Epp, Real &Eqq) const override
Set Epp and Eqq based on the elasticity tensor Derived classes must override this.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
bool requiresIsotropicTensor() override
Does the model require the elasticity tensor to be isotropic?
CappedDruckerPragerStressUpdate performs the return-map algorithm and associated stress updates for p...
const InputParameters & parameters() const