www.mooseframework.org
CappedDruckerPragerCosseratStressUpdate.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 #ifndef CAPPEDDRUCKERPRAGERCOSSERATSTRESSUPDATE_H
8 #define CAPPEDDRUCKERPRAGERCOSSERATSTRESSUPDATE_H
9 
11 
13 
14 template <>
16 
53 {
54 public:
55  CappedDruckerPragerCosseratStressUpdate(const InputParameters & parameters);
56 
60  bool requiresIsotropicTensor() override { return false; }
61 
62 protected:
64  const Real _shear;
65 
67  RankFourTensor _Ehost;
68 
69  virtual void setEppEqq(const RankFourTensor & Eijkl, Real & Epp, Real & Eqq) const override;
70 
71  virtual void setStressAfterReturn(const RankTwoTensor & stress_trial,
72  Real p_ok,
73  Real q_ok,
74  Real gaE,
75  const std::vector<Real> & intnl,
76  const yieldAndFlow & smoothed_q,
77  const RankFourTensor & Eijkl,
78  RankTwoTensor & stress) const override;
79 
80  virtual void consistentTangentOperator(const RankTwoTensor & stress_trial,
81  Real p_trial,
82  Real q_trial,
83  const RankTwoTensor & stress,
84  Real p,
85  Real q,
86  Real gaE,
87  const yieldAndFlow & smoothed_q,
88  const RankFourTensor & Eijkl,
89  bool compute_full_tangent_operator,
90  RankFourTensor & cto) const override;
91 };
92 
93 #endif // CAPPEDDRUCKERPRAGERCOSSERATSTRESSUPDATE_H
const Real _shear
Shear modulus for the host medium.
CappedDruckerPragerCosseratStressUpdate performs the return-map algorithm and associated stress updat...
CappedDruckerPragerCosseratStressUpdate(const InputParameters &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.
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.
InputParameters validParams< CappedDruckerPragerCosseratStressUpdate >()
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...
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.