https://mooseframework.inl.gov
BiLinearMixedModeTraction.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 
20 {
21 public:
24 
25 protected:
26  virtual void initQpStatefulProperties() override;
27 
28  virtual void computeInterfaceTractionAndDerivatives() override;
29 
32 
35 
36  // The damage evolution law
37  virtual void computeDamage();
38 
40  const Real _K;
41 
47 
50 
51  // @{
52  // The parameters in the damage evolution law
56  // @}
57 
60 
63 
66 
69 
71  const Real _eta;
72 
75 
78 
80  enum class MixedModeCriterion
81  {
82  POWER_LAW,
83  BK
84  } _criterion;
85 
86 private:
87  // Compute mode mixity ratio
88  void computeModeMixity();
89 
90  // Compute relative displacement jump at damage initiation
92 
93  // Compute relative displacement jump at full degradation
95 
96  // Compute mixed mode relative displacement
98 
99  // @{
100  // Parameters to improve numerical convergence
101  const bool _lag_mode_mixity;
102  const bool _lag_disp_jump;
103  const Real _alpha;
104  // @}
105 
106  // @{
107  // Intermediate derivatives used in the chain rule for computing the derivative of damage w.r.t.
108  // displacement jumps
114  // @}
115 };
BiLinearMixedModeTraction(const InputParameters &parameters)
static InputParameters validParams()
MaterialProperty< Real > & _delta_final
MaterialProperty< Real > & _d
virtual void initQpStatefulProperties() override
const Real _eta
The B-K power law parameter.
enum BiLinearMixedModeTraction::MixedModeCriterion _criterion
virtual RankTwoTensor computeTractionDerivatives()
Compute the total traction derivatives w.r.t. the interface displacement jump.
Implementation of the mixed mode bilinear traction separation law described in Mixed-Mode Decohesion ...
MixedModeCriterion
mixed mode propagation criterion
const MaterialProperty< Real > & _S
The shear strength.
virtual void computeInterfaceTractionAndDerivatives() override
Compute the local traction and derivatives. This method should fill the _interface_traction and _dint...
virtual RealVectorValue computeTraction()
The traction-separation law.
Base class used to implement traction separetion laws for materials whose beahvior can be described u...
MaterialProperty< Real > & _delta_init
MaterialProperty< Real > & _delta_m
MaterialProperty< Real > & _beta
The mode mixity ratio.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const MaterialProperty< Real > & _d_old
const MaterialProperty< Real > & _GII_c
Mode II critical fracture toughness.
const InputParameters & parameters() const
const MaterialProperty< Real > & _N
The normal strength.
const Real _K
Penalty elastic stiffness.
const MaterialProperty< RealVectorValue > & _interface_displacement_jump_old
old interface displacement jump value
const MaterialProperty< Real > & _GI_c
Mode I critical fracture toughness.
const Real _viscosity
The viscosity.