18 params.
addClassDescription(
"3D Coupled (3DC) cohesive law of Salehani and Irani with no damage");
20 "normal_gap_at_maximum_normal_traction",
21 "The value of normal gap at which maximum normal traction is achieved");
23 "tangential_gap_at_maximum_shear_traction",
24 "The value of tangential gap at which maximum shear traction is achieved");
26 "The maximum normal traction the interface can sustain");
28 "The maximum shear traction the interface can sustain");
34 _delta_u0({getParam<Real>(
"normal_gap_at_maximum_normal_traction"),
35 std::sqrt(2) * getParam<Real>(
"tangential_gap_at_maximum_shear_traction"),
36 std::sqrt(2) * getParam<Real>(
"tangential_gap_at_maximum_shear_traction")}),
37 _max_allowable_traction({getParam<Real>(
"maximum_normal_traction"),
38 getParam<Real>(
"maximum_shear_traction"),
39 getParam<Real>(
"maximum_shear_traction")})
56 RealVectorValue traction_local;
59 Real aa,
x, exp_x, a_i, b_i;
64 for (i = 0; i < 3; i++)
75 for (i = 0; i < 3; i++)
80 aa = std::sqrt(2 * std::exp(1));
84 traction_local(i) = a_i * b_i * exp_x;
87 return traction_local;
115 for (i = 0; i < 3; i++)
122 exp_x = std::exp(-
x);
129 Real dbi_dui, dx_duj;
131 for (i = 0; i < 3; i++)
136 a_i = std::sqrt(2 * std::exp(1));
141 for (j = 0; j < 3; j++)
153 traction_jump_derivatives_local(i, j) =
154 a_i * exp_x * (dbi_dui - b_i * dx_duj);
158 return traction_jump_derivatives_local;
const std::vector< double > x
registerMooseObject("SolidMechanicsApp", SalehaniIrani3DCTraction)
MaterialProperty< RankTwoTensor > & _dinterface_traction_djump
the traction's derivatives wrt the displacement jump in local coordinates
const MaterialProperty< RealVectorValue > & _interface_displacement_jump
The displacment jump in local coordaintes.
MaterialProperty< RealVectorValue > & _interface_traction
the value of the traction in local coordinates
Base class used to implement traction separetion laws for materials whose beahvior can be described u...
static InputParameters validParams()
Implementation of the non-stateful exponential traction separation law proposed by Salehani,...
SalehaniIrani3DCTraction(const InputParameters ¶meters)
RankTwoTensor computeTractionDerivatives()
method computing the total traction derivatives w.r.t. the interface displacement jump
void computeInterfaceTractionAndDerivatives() override
Compute the local traction and derivatives. This method should fill the _interface_traction and _dint...
static InputParameters validParams()
const RealVectorValue _max_allowable_traction
the vector representing the maximum allowed traction in each direction
RealVectorValue computeTraction()
method computing the total traction
const RealVectorValue _delta_u0
the displacement jump associated to the maximum traction