www.mooseframework.org
TensorMechanicsPlasticWeakPlaneShear.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 TENSORMECHANICSPLASTICWEAKPLANESHEAR_H
8 #define TENSORMECHANICSPLASTICWEAKPLANESHEAR_H
9 
12 
14 
15 template <>
17 
23 {
24 public:
25  TensorMechanicsPlasticWeakPlaneShear(const InputParameters & parameters);
26 
27  virtual void activeConstraints(const std::vector<Real> & f,
28  const RankTwoTensor & stress,
29  Real intnl,
30  const RankFourTensor & Eijkl,
31  std::vector<bool> & act,
32  RankTwoTensor & returned_stress) const override;
33 
34  virtual std::string modelName() const override;
35 
36 protected:
39 
42 
45 
46  Real yieldFunction(const RankTwoTensor & stress, Real intnl) const override;
47 
48  RankTwoTensor dyieldFunction_dstress(const RankTwoTensor & stress, Real intnl) const override;
49 
50  Real dyieldFunction_dintnl(const RankTwoTensor & stress, Real intnl) const override;
51 
52  RankTwoTensor flowPotential(const RankTwoTensor & stress, Real intnl) const override;
53 
54  RankFourTensor dflowPotential_dstress(const RankTwoTensor & stress, Real intnl) const override;
55 
56  RankTwoTensor dflowPotential_dintnl(const RankTwoTensor & stress, Real intnl) const override;
57 
66  MooseEnum _tip_scheme;
67 
70 
72  Real _cap_start;
73 
75  Real _cap_rate;
76 
78  RankTwoTensor df_dsig(const RankTwoTensor & stress, Real _tan_phi_or_psi) const;
79 
81  virtual Real smooth(const RankTwoTensor & stress) const;
82 
84  virtual Real dsmooth(const RankTwoTensor & stress) const;
85 
87  virtual Real d2smooth(const RankTwoTensor & stress) const;
88 
90  virtual Real cohesion(const Real internal_param) const;
91 
93  virtual Real dcohesion(const Real internal_param) const;
94 
96  virtual Real tan_phi(const Real internal_param) const;
97 
99  virtual Real dtan_phi(const Real internal_param) const;
100 
102  virtual Real tan_psi(const Real internal_param) const;
103 
105  virtual Real dtan_psi(const Real internal_param) const;
106 };
107 
108 #endif // TENSORMECHANICSPLASTICWEAKPLANESHEAR_H
MooseEnum _tip_scheme
The yield function is modified to f = sqrt(s_xz^2 + s_yz^2 + a) + s_zz*_tan_phi - _cohesion where "a"...
InputParameters validParams< TensorMechanicsPlasticWeakPlaneShear >()
RankTwoTensor flowPotential(const RankTwoTensor &stress, Real intnl) const override
The flow potential.
virtual Real dsmooth(const RankTwoTensor &stress) const
returns the da/dstress(2,2) - see doco for _tip_scheme
TensorMechanicsPlasticWeakPlaneShear(const InputParameters &parameters)
virtual void activeConstraints(const std::vector< Real > &f, const RankTwoTensor &stress, Real intnl, const RankFourTensor &Eijkl, std::vector< bool > &act, RankTwoTensor &returned_stress) const override
The active yield surfaces, given a vector of yield functions.
RankTwoTensor dflowPotential_dintnl(const RankTwoTensor &stress, Real intnl) const override
The derivative of the flow potential with respect to the internal parameter.
Rate-independent associative weak-plane tensile failure with hardening/softening. ...
virtual Real d2smooth(const RankTwoTensor &stress) const
returns the d^2a/dstress(2,2)^2 - see doco for _tip_scheme
virtual Real dtan_psi(const Real internal_param) const
d(tan_psi)/d(internal_param);
virtual Real tan_phi(const Real internal_param) const
tan_phi as a function of internal parameter
const TensorMechanicsHardeningModel & _tan_phi
Hardening model for tan(phi)
RankTwoTensor df_dsig(const RankTwoTensor &stress, Real _tan_phi_or_psi) const
Function that&#39;s used in dyieldFunction_dstress and flowPotential.
Real dyieldFunction_dintnl(const RankTwoTensor &stress, Real intnl) const override
The derivative of yield function with respect to the internal parameter.
RankFourTensor dflowPotential_dstress(const RankTwoTensor &stress, Real intnl) const override
The derivative of the flow potential with respect to stress.
Real _cap_start
smoothing parameter dictating when the &#39;cap&#39; will start - see doco for _tip_scheme ...
virtual Real cohesion(const Real internal_param) const
cohesion as a function of internal parameter
const TensorMechanicsHardeningModel & _cohesion
Hardening model for cohesion.
Real yieldFunction(const RankTwoTensor &stress, Real intnl) const override
The following functions are what you should override when building single-plasticity models...
Real _small_smoother2
smoothing parameter for the cone&#39;s tip - see doco for _tip_scheme
Real _cap_rate
dictates how quickly the &#39;cap&#39; degenerates to a hemisphere - see doco for _tip_scheme ...
virtual Real dtan_phi(const Real internal_param) const
d(tan_phi)/d(internal_param);
RankTwoTensor dyieldFunction_dstress(const RankTwoTensor &stress, Real intnl) const override
The derivative of yield function with respect to stress.
Plastic Model base class The virtual functions written below must be over-ridden in derived classes t...
virtual Real tan_psi(const Real internal_param) const
tan_psi as a function of internal parameter
virtual Real smooth(const RankTwoTensor &stress) const
returns the &#39;a&#39; parameter - see doco for _tip_scheme
virtual Real dcohesion(const Real internal_param) const
d(cohesion)/d(internal_param)
const TensorMechanicsHardeningModel & _tan_psi
Hardening model for tan(psi)