https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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{
21public:
24
25protected:
26 virtual void initQpStatefulProperties() override;
27
28 virtual void computeInterfaceTractionAndDerivatives() override;
29
31 virtual RealVectorValue computeTraction();
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
77 const Real _viscosity;
78
81 {
83 BK
85
86private:
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
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
109 RealVectorValue _dbeta_ddelta;
110 RealVectorValue _ddelta_init_ddelta;
111 RealVectorValue _ddelta_final_ddelta;
112 RealVectorValue _ddelta_m_ddelta;
113 RealVectorValue _dd_ddelta;
114 // @}
115};
Implementation of the mixed mode bilinear traction separation law described in Mixed-Mode Decohesion ...
virtual RankTwoTensor computeTractionDerivatives()
Compute the total traction derivatives w.r.t. the interface displacement jump.
virtual RealVectorValue computeTraction()
The traction-separation law.
virtual void computeInterfaceTractionAndDerivatives() override
Compute the local traction and derivatives. This method should fill the _interface_traction and _dint...
const MaterialProperty< RealVectorValue > & _interface_displacement_jump_old
old interface displacement jump value
const MaterialProperty< Real > & _S
The shear strength.
MaterialProperty< Real > & _d
const Real _viscosity
The viscosity.
const MaterialProperty< Real > & _d_old
const MaterialProperty< Real > & _GII_c
Mode II critical fracture toughness.
MaterialProperty< Real > & _delta_m
enum BiLinearMixedModeTraction::MixedModeCriterion _criterion
MixedModeCriterion
mixed mode propagation criterion
const MaterialProperty< Real > & _N
The normal strength.
MaterialProperty< Real > & _delta_final
const Real _eta
The B-K power law parameter.
MaterialProperty< Real > & _beta
The mode mixity ratio.
static InputParameters validParams()
const MaterialProperty< Real > & _GI_c
Mode I critical fracture toughness.
virtual void initQpStatefulProperties() override
const Real _K
Penalty elastic stiffness.
MaterialProperty< Real > & _delta_init
Base class used to implement traction separetion laws for materials whose beahvior can be described u...
const InputParameters & parameters() const