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 
15 
16 template <>
18 
55 {
56 public:
57  static InputParameters validParams();
58 
59  CappedDruckerPragerCosseratStressUpdate(const InputParameters & parameters);
60 
64  bool requiresIsotropicTensor() override { return false; }
65 
66 protected:
68  const Real _shear;
69 
72 
73  virtual void setEppEqq(const RankFourTensor & Eijkl, Real & Epp, Real & Eqq) const override;
74 
75  virtual void setStressAfterReturn(const RankTwoTensor & stress_trial,
76  Real p_ok,
77  Real q_ok,
78  Real gaE,
79  const std::vector<Real> & intnl,
80  const yieldAndFlow & smoothed_q,
81  const RankFourTensor & Eijkl,
82  RankTwoTensor & stress) const override;
83 
84  virtual void consistentTangentOperator(const RankTwoTensor & stress_trial,
85  Real p_trial,
86  Real q_trial,
87  const RankTwoTensor & stress,
88  Real p,
89  Real q,
90  Real gaE,
91  const yieldAndFlow & smoothed_q,
92  const RankFourTensor & Eijkl,
93  bool compute_full_tangent_operator,
94  RankFourTensor & cto) const override;
95 };
MultiParameterPlasticityStressUpdate::yieldAndFlow
Struct designed to hold info about a single yield function and its derivatives, as well as the flow d...
Definition: MultiParameterPlasticityStressUpdate.h:214
validParams< CappedDruckerPragerCosseratStressUpdate >
InputParameters validParams< CappedDruckerPragerCosseratStressUpdate >()
CappedDruckerPragerCosseratStressUpdate
CappedDruckerPragerCosseratStressUpdate performs the return-map algorithm and associated stress updat...
Definition: CappedDruckerPragerCosseratStressUpdate.h:54
CappedDruckerPragerCosseratStressUpdate::CappedDruckerPragerCosseratStressUpdate
CappedDruckerPragerCosseratStressUpdate(const InputParameters &parameters)
Definition: CappedDruckerPragerCosseratStressUpdate.C:34
CappedDruckerPragerStressUpdate
CappedDruckerPragerStressUpdate performs the return-map algorithm and associated stress updates for p...
Definition: CappedDruckerPragerStressUpdate.h:60
CappedDruckerPragerCosseratStressUpdate::setStressAfterReturn
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.
Definition: CappedDruckerPragerCosseratStressUpdate.C:56
CappedDruckerPragerCosseratStressUpdate::setEppEqq
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.
Definition: CappedDruckerPragerCosseratStressUpdate.C:47
CappedDruckerPragerStressUpdate.h
CappedDruckerPragerCosseratStressUpdate::validParams
static InputParameters validParams()
Definition: CappedDruckerPragerCosseratStressUpdate.C:17
CappedDruckerPragerCosseratStressUpdate::consistentTangentOperator
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.
Definition: CappedDruckerPragerCosseratStressUpdate.C:78
CappedDruckerPragerCosseratStressUpdate::requiresIsotropicTensor
bool requiresIsotropicTensor() override
Does the model require the elasticity tensor to be isotropic?
Definition: CappedDruckerPragerCosseratStressUpdate.h:64
CappedDruckerPragerCosseratStressUpdate::_Ehost
RankFourTensor _Ehost
Isotropic elasticity tensor for the host medium.
Definition: CappedDruckerPragerCosseratStressUpdate.h:71
RankFourTensorTempl< Real >
RankTwoTensorTempl< Real >
CappedDruckerPragerCosseratStressUpdate::_shear
const Real _shear
Shear modulus for the host medium.
Definition: CappedDruckerPragerCosseratStressUpdate.h:68