www.mooseframework.org
TensorMechanicsPlasticWeakPlaneShear.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 
14 
16 
17 template <>
19 
25 {
26 public:
27  static InputParameters validParams();
28 
29  TensorMechanicsPlasticWeakPlaneShear(const InputParameters & parameters);
30 
31  virtual void activeConstraints(const std::vector<Real> & f,
32  const RankTwoTensor & stress,
33  Real intnl,
34  const RankFourTensor & Eijkl,
35  std::vector<bool> & act,
36  RankTwoTensor & returned_stress) const override;
37 
38  virtual std::string modelName() const override;
39 
40 protected:
43 
46 
49 
50  Real yieldFunction(const RankTwoTensor & stress, Real intnl) const override;
51 
52  RankTwoTensor dyieldFunction_dstress(const RankTwoTensor & stress, Real intnl) const override;
53 
54  Real dyieldFunction_dintnl(const RankTwoTensor & stress, Real intnl) const override;
55 
56  RankTwoTensor flowPotential(const RankTwoTensor & stress, Real intnl) const override;
57 
58  RankFourTensor dflowPotential_dstress(const RankTwoTensor & stress, Real intnl) const override;
59 
60  RankTwoTensor dflowPotential_dintnl(const RankTwoTensor & stress, Real intnl) const override;
61 
70  MooseEnum _tip_scheme;
71 
74 
76  Real _cap_start;
77 
79  Real _cap_rate;
80 
82  RankTwoTensor df_dsig(const RankTwoTensor & stress, Real _tan_phi_or_psi) const;
83 
85  virtual Real smooth(const RankTwoTensor & stress) const;
86 
88  virtual Real dsmooth(const RankTwoTensor & stress) const;
89 
91  virtual Real d2smooth(const RankTwoTensor & stress) const;
92 
94  virtual Real cohesion(const Real internal_param) const;
95 
97  virtual Real dcohesion(const Real internal_param) const;
98 
100  virtual Real tan_phi(const Real internal_param) const;
101 
103  virtual Real dtan_phi(const Real internal_param) const;
104 
106  virtual Real tan_psi(const Real internal_param) const;
107 
109  virtual Real dtan_psi(const Real internal_param) const;
110 };
TensorMechanicsPlasticWeakPlaneShear::tan_psi
virtual Real tan_psi(const Real internal_param) const
tan_psi as a function of internal parameter
Definition: TensorMechanicsPlasticWeakPlaneShear.C:209
TensorMechanicsPlasticWeakPlaneShear::dflowPotential_dstress
RankFourTensor dflowPotential_dstress(const RankTwoTensor &stress, Real intnl) const override
The derivative of the flow potential with respect to stress.
Definition: TensorMechanicsPlasticWeakPlaneShear.C:140
TensorMechanicsPlasticWeakPlaneShear::flowPotential
RankTwoTensor flowPotential(const RankTwoTensor &stress, Real intnl) const override
The flow potential.
Definition: TensorMechanicsPlasticWeakPlaneShear.C:134
TensorMechanicsPlasticWeakPlaneShear::dyieldFunction_dintnl
Real dyieldFunction_dintnl(const RankTwoTensor &stress, Real intnl) const override
The derivative of yield function with respect to the internal parameter.
Definition: TensorMechanicsPlasticWeakPlaneShear.C:127
TensorMechanicsPlasticWeakPlaneShear::_small_smoother2
Real _small_smoother2
smoothing parameter for the cone's tip - see doco for _tip_scheme
Definition: TensorMechanicsPlasticWeakPlaneShear.h:73
TensorMechanicsPlasticWeakPlaneShear::_cap_start
Real _cap_start
smoothing parameter dictating when the 'cap' will start - see doco for _tip_scheme
Definition: TensorMechanicsPlasticWeakPlaneShear.h:76
TensorMechanicsPlasticWeakPlaneShear::cohesion
virtual Real cohesion(const Real internal_param) const
cohesion as a function of internal parameter
Definition: TensorMechanicsPlasticWeakPlaneShear.C:185
TensorMechanicsPlasticWeakPlaneShear
Rate-independent associative weak-plane tensile failure with hardening/softening.
Definition: TensorMechanicsPlasticWeakPlaneShear.h:24
TensorMechanicsPlasticWeakPlaneShear::_tip_scheme
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"...
Definition: TensorMechanicsPlasticWeakPlaneShear.h:70
TensorMechanicsPlasticWeakPlaneShear::dtan_phi
virtual Real dtan_phi(const Real internal_param) const
d(tan_phi)/d(internal_param);
Definition: TensorMechanicsPlasticWeakPlaneShear.C:203
TensorMechanicsPlasticWeakPlaneShear::dtan_psi
virtual Real dtan_psi(const Real internal_param) const
d(tan_psi)/d(internal_param);
Definition: TensorMechanicsPlasticWeakPlaneShear.C:215
TensorMechanicsPlasticWeakPlaneShear::validParams
static InputParameters validParams()
Definition: TensorMechanicsPlasticWeakPlaneShear.C:19
TensorMechanicsPlasticModel.h
TensorMechanicsPlasticWeakPlaneShear::d2smooth
virtual Real d2smooth(const RankTwoTensor &stress) const
returns the d^2a/dstress(2,2)^2 - see doco for _tip_scheme
Definition: TensorMechanicsPlasticWeakPlaneShear.C:256
TensorMechanicsPlasticWeakPlaneShear::modelName
virtual std::string modelName() const override
Definition: TensorMechanicsPlasticWeakPlaneShear.C:350
validParams< TensorMechanicsPlasticWeakPlaneShear >
InputParameters validParams< TensorMechanicsPlasticWeakPlaneShear >()
TensorMechanicsPlasticWeakPlaneShear::_tan_phi
const TensorMechanicsHardeningModel & _tan_phi
Hardening model for tan(phi)
Definition: TensorMechanicsPlasticWeakPlaneShear.h:45
TensorMechanicsPlasticWeakPlaneShear::_cap_rate
Real _cap_rate
dictates how quickly the 'cap' degenerates to a hemisphere - see doco for _tip_scheme
Definition: TensorMechanicsPlasticWeakPlaneShear.h:79
TensorMechanicsPlasticWeakPlaneShear::_cohesion
const TensorMechanicsHardeningModel & _cohesion
Hardening model for cohesion.
Definition: TensorMechanicsPlasticWeakPlaneShear.h:42
TensorMechanicsPlasticWeakPlaneShear::dflowPotential_dintnl
RankTwoTensor dflowPotential_dintnl(const RankTwoTensor &stress, Real intnl) const override
The derivative of the flow potential with respect to the internal parameter.
Definition: TensorMechanicsPlasticWeakPlaneShear.C:176
RankFourTensorTempl< Real >
TensorMechanicsPlasticWeakPlaneShear::dyieldFunction_dstress
RankTwoTensor dyieldFunction_dstress(const RankTwoTensor &stress, Real intnl) const override
The derivative of yield function with respect to stress.
Definition: TensorMechanicsPlasticWeakPlaneShear.C:120
TensorMechanicsPlasticModel
Plastic Model base class The virtual functions written below must be over-ridden in derived classes t...
Definition: TensorMechanicsPlasticModel.h:42
TensorMechanicsPlasticWeakPlaneShear::smooth
virtual Real smooth(const RankTwoTensor &stress) const
returns the 'a' parameter - see doco for _tip_scheme
Definition: TensorMechanicsPlasticWeakPlaneShear.C:221
TensorMechanicsPlasticWeakPlaneShear::yieldFunction
Real yieldFunction(const RankTwoTensor &stress, Real intnl) const override
The following functions are what you should override when building single-plasticity models.
Definition: TensorMechanicsPlasticWeakPlaneShear.C:85
TensorMechanicsPlasticWeakPlaneShear::TensorMechanicsPlasticWeakPlaneShear
TensorMechanicsPlasticWeakPlaneShear(const InputParameters &parameters)
Definition: TensorMechanicsPlasticWeakPlaneShear.C:62
TensorMechanicsPlasticWeakPlaneShear::dcohesion
virtual Real dcohesion(const Real internal_param) const
d(cohesion)/d(internal_param)
Definition: TensorMechanicsPlasticWeakPlaneShear.C:191
TensorMechanicsPlasticWeakPlaneShear::tan_phi
virtual Real tan_phi(const Real internal_param) const
tan_phi as a function of internal parameter
Definition: TensorMechanicsPlasticWeakPlaneShear.C:197
RankTwoTensorTempl< Real >
TensorMechanicsPlasticWeakPlaneShear::_tan_psi
const TensorMechanicsHardeningModel & _tan_psi
Hardening model for tan(psi)
Definition: TensorMechanicsPlasticWeakPlaneShear.h:48
TensorMechanicsPlasticWeakPlaneShear::df_dsig
RankTwoTensor df_dsig(const RankTwoTensor &stress, Real _tan_phi_or_psi) const
Function that's used in dyieldFunction_dstress and flowPotential.
Definition: TensorMechanicsPlasticWeakPlaneShear.C:94
TensorMechanicsPlasticWeakPlaneShear::dsmooth
virtual Real dsmooth(const RankTwoTensor &stress) const
returns the da/dstress(2,2) - see doco for _tip_scheme
Definition: TensorMechanicsPlasticWeakPlaneShear.C:236
TensorMechanicsHardeningModel.h
TensorMechanicsHardeningModel
Hardening Model base class.
Definition: TensorMechanicsHardeningModel.h:27
TensorMechanicsPlasticWeakPlaneShear::activeConstraints
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.
Definition: TensorMechanicsPlasticWeakPlaneShear.C:278