www.mooseframework.org
TensorMechanicsPlasticTensile.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 
33 {
34 public:
35  static InputParameters validParams();
36 
37  TensorMechanicsPlasticTensile(const InputParameters & parameters);
38 
39  virtual std::string modelName() const override;
40 
41 protected:
42  Real yieldFunction(const RankTwoTensor & stress, Real intnl) const override;
43 
44  RankTwoTensor dyieldFunction_dstress(const RankTwoTensor & stress, Real intnl) const override;
45 
46  Real dyieldFunction_dintnl(const RankTwoTensor & stress, Real intnl) const override;
47 
48  RankTwoTensor flowPotential(const RankTwoTensor & stress, Real intnl) const override;
49 
50  RankFourTensor dflowPotential_dstress(const RankTwoTensor & stress, Real intnl) const override;
51 
52  RankTwoTensor dflowPotential_dintnl(const RankTwoTensor & stress, Real intnl) const override;
53 
55 
64  MooseEnum _tip_scheme;
65 
68 
70  Real _cap_start;
71 
73  Real _cap_rate;
74 
76  Real _tt;
77 
79  Real _sin3tt;
80 
83 
85  Real _ccc;
86 
88  Real _bbb;
89 
91  Real _aaa;
92 
94  virtual Real smooth(const RankTwoTensor & stress) const;
95 
97  virtual Real dsmooth(const RankTwoTensor & stress) const;
98 
100  virtual Real d2smooth(const RankTwoTensor & stress) const;
101 
103  virtual Real tensile_strength(const Real internal_param) const;
104 
106  virtual Real dtensile_strength(const Real internal_param) const;
107 };
TensorMechanicsPlasticTensile::dyieldFunction_dintnl
Real dyieldFunction_dintnl(const RankTwoTensor &stress, Real intnl) const override
The derivative of yield function with respect to the internal parameter.
Definition: TensorMechanicsPlasticTensile.C:144
TensorMechanicsPlasticTensile::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: TensorMechanicsPlasticTensile.C:235
TensorMechanicsPlasticTensile::TensorMechanicsPlasticTensile
TensorMechanicsPlasticTensile(const InputParameters &parameters)
Definition: TensorMechanicsPlasticTensile.C:62
TensorMechanicsPlasticTensile::_tip_scheme
MooseEnum _tip_scheme
The yield function is modified to f = s_m + sqrt(a + s_bar^2 K^2) - tensile_strength where "a" depend...
Definition: TensorMechanicsPlasticTensile.h:64
TensorMechanicsPlasticTensile::_lode_cutoff
Real _lode_cutoff
if secondInvariant < _lode_cutoff then set Lode angle to zero. This is to guard against precision-los...
Definition: TensorMechanicsPlasticTensile.h:82
TensorMechanicsPlasticTensile::_strength
const TensorMechanicsHardeningModel & _strength
Definition: TensorMechanicsPlasticTensile.h:54
TensorMechanicsPlasticTensile::d2smooth
virtual Real d2smooth(const RankTwoTensor &stress) const
returns the d^2a/dstress_mean^2 - see doco for _tip_scheme
Definition: TensorMechanicsPlasticTensile.C:288
TensorMechanicsPlasticTensile::dyieldFunction_dstress
RankTwoTensor dyieldFunction_dstress(const RankTwoTensor &stress, Real intnl) const override
The derivative of yield function with respect to stress.
Definition: TensorMechanicsPlasticTensile.C:112
TensorMechanicsPlasticTensile::_bbb
Real _bbb
Abbo et al's B parameter.
Definition: TensorMechanicsPlasticTensile.h:88
TensorMechanicsPlasticTensile::modelName
virtual std::string modelName() const override
Definition: TensorMechanicsPlasticTensile.C:310
TensorMechanicsPlasticTensile::_ccc
Real _ccc
Abbo et al's C parameter.
Definition: TensorMechanicsPlasticTensile.h:85
TensorMechanicsPlasticTensile::_sin3tt
Real _sin3tt
sin(3*_tt) - useful for making comparisons with Lode angle
Definition: TensorMechanicsPlasticTensile.h:79
TensorMechanicsPlasticTensile::_tt
Real _tt
edge smoothing parameter, in radians
Definition: TensorMechanicsPlasticTensile.h:76
TensorMechanicsPlasticModel.h
TensorMechanicsPlasticTensile::_small_smoother2
Real _small_smoother2
Square of tip smoothing parameter to smooth the cone at mean_stress = T.
Definition: TensorMechanicsPlasticTensile.h:67
TensorMechanicsPlasticTensile::smooth
virtual Real smooth(const RankTwoTensor &stress) const
returns the 'a' parameter - see doco for _tip_scheme
Definition: TensorMechanicsPlasticTensile.C:254
TensorMechanicsPlasticTensile::dtensile_strength
virtual Real dtensile_strength(const Real internal_param) const
d(tensile strength)/d(internal_param) as a function of residual value, rate, and internal_param
Definition: TensorMechanicsPlasticTensile.C:248
TensorMechanicsPlasticTensile
FiniteStrainTensile implements rate-independent associative tensile failure with hardening/softening ...
Definition: TensorMechanicsPlasticTensile.h:32
TensorMechanicsPlasticTensile::validParams
static InputParameters validParams()
Definition: TensorMechanicsPlasticTensile.C:19
validParams< TensorMechanicsPlasticTensile >
InputParameters validParams< TensorMechanicsPlasticTensile >()
TensorMechanicsPlasticTensile::dsmooth
virtual Real dsmooth(const RankTwoTensor &stress) const
returns the da/dstress_mean - see doco for _tip_scheme
Definition: TensorMechanicsPlasticTensile.C:269
TensorMechanicsPlasticTensile::tensile_strength
virtual Real tensile_strength(const Real internal_param) const
tensile strength as a function of residual value, rate, and internal_param
Definition: TensorMechanicsPlasticTensile.C:242
TensorMechanicsPlasticTensile::_cap_start
Real _cap_start
smoothing parameter dictating when the 'cap' will start - see doco for _tip_scheme
Definition: TensorMechanicsPlasticTensile.h:70
RankFourTensorTempl< Real >
TensorMechanicsPlasticTensile::flowPotential
RankTwoTensor flowPotential(const RankTwoTensor &stress, Real intnl) const override
The flow potential.
Definition: TensorMechanicsPlasticTensile.C:151
TensorMechanicsPlasticTensile::dflowPotential_dstress
RankFourTensor dflowPotential_dstress(const RankTwoTensor &stress, Real intnl) const override
The derivative of the flow potential with respect to stress.
Definition: TensorMechanicsPlasticTensile.C:158
TensorMechanicsPlasticTensile::yieldFunction
Real yieldFunction(const RankTwoTensor &stress, Real intnl) const override
The following functions are what you should override when building single-plasticity models.
Definition: TensorMechanicsPlasticTensile.C:89
TensorMechanicsPlasticModel
Plastic Model base class The virtual functions written below must be over-ridden in derived classes t...
Definition: TensorMechanicsPlasticModel.h:42
TensorMechanicsPlasticTensile::_aaa
Real _aaa
Abbo et al's A parameter.
Definition: TensorMechanicsPlasticTensile.h:91
RankTwoTensorTempl< Real >
TensorMechanicsPlasticTensile::_cap_rate
Real _cap_rate
dictates how quickly the 'cap' degenerates to a hemisphere - see doco for _tip_scheme
Definition: TensorMechanicsPlasticTensile.h:73
TensorMechanicsHardeningModel.h
TensorMechanicsHardeningModel
Hardening Model base class.
Definition: TensorMechanicsHardeningModel.h:27