18 params.
addClassDescription(
"Calculate residual contribution for balancing the traction across an "
19 "interface (used in the cohesive zone method).");
20 params.
set<std::string>(
"traction_global_name") =
"PK1traction";
27 _dPK1traction_dF(getMaterialPropertyByName<
RankThreeTensor>(_base_name +
"dPK1traction_dF"))
41 jac += _test[_i][_qp] * jacsd *
_vars[component_j]->phiFace()[_j][_qp];
42 jac -= _test[_i][_qp] *
JacLD(component_j,
false);
45 jac -= _test[_i][_qp] * jacsd *
_vars[component_j]->phiFaceNeighbor()[_j][_qp];
46 jac -= _test[_i][_qp] *
JacLD(component_j,
true);
49 jac -= _test_neighbor[_i][_qp] * jacsd *
_vars[component_j]->phiFace()[_j][_qp];
50 jac += _test_neighbor[_i][_qp] *
JacLD(component_j,
false);
53 jac += _test_neighbor[_i][_qp] * jacsd *
_vars[component_j]->phiFaceNeighbor()[_j][_qp];
54 jac += _test_neighbor[_i][_qp] *
JacLD(component_j,
true);
67 phi = 0.5 *
_vars[cc]->gradPhiFaceNeighbor()[_j][_qp];
69 phi = 0.5 *
_vars[cc]->gradPhiFace()[_j][_qp];
71 for (
unsigned int j = 0; j < 3; j++)
74 mooseAssert(std::isfinite(jacld),
"CZMInterfaceKernelTotalLagrangian JacLD is not finite");
registerMooseObject("SolidMechanicsApp", CZMInterfaceKernelTotalLagrangian)
Base class for implementing DG cohesive zone models (CZM) for 1D,2D, and 3D traction separation laws.
std::vector< MooseVariable * > _vars
const unsigned int _component
the displacement component this kernel is operating on (0=x, 1=y, 2 =z)
const MaterialProperty< RankTwoTensor > & _dtraction_djump_global
static InputParameters validParams()
DG cohesive zone model kernel for the Total Lagrangian formulation.
CZMInterfaceKernelTotalLagrangian(const InputParameters ¶meters)
Real JacLD(const unsigned int cc, const bool neighbor) const
method computing the jacobian contribution due to rotations and area changes
static InputParameters validParams()
const MaterialProperty< RankThreeTensor > & _dPK1traction_dF
Real computeDResidualDDisplacement(const unsigned int &component_j, const Moose::DGJacobianType &type) const override
method computing the derivative of residual[_component] w.r.t displacement[component_j]