https://mooseframework.inl.gov
Loading...
Searching...
No Matches
CZMInterfaceKernelSmallStrain.C
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
11
13
16{
18
20 "CZM Interface kernel to use when using the Small Strain kinematic formulation.");
21
22 return params;
23}
24
29
30Real
32 const unsigned int & component_j, const Moose::DGJacobianType & type) const
33{
34 Real jac = _dtraction_djump_global[_qp](_component, component_j);
35 switch (type)
36 {
37 case Moose::ElementElement: // Residual_sign -1 ddeltaU_ddisp sign -1;
38 jac *= _test[_i][_qp] * _vars[component_j]->phiFace()[_j][_qp];
39 break;
40 case Moose::ElementNeighbor: // Residual_sign -1 ddeltaU_ddisp sign 1;
41 jac *= -_test[_i][_qp] * _vars[component_j]->phiFaceNeighbor()[_j][_qp];
42 break;
43 case Moose::NeighborElement: // Residual_sign 1 ddeltaU_ddisp sign -1;
44 jac *= -_test_neighbor[_i][_qp] * _vars[component_j]->phiFace()[_j][_qp];
45 break;
46 case Moose::NeighborNeighbor: // Residual_sign 1 ddeltaU_ddisp sign 1;
47 jac *= _test_neighbor[_i][_qp] * _vars[component_j]->phiFaceNeighbor()[_j][_qp];
48 break;
49 }
50 return jac;
51}
registerMooseObject("SolidMechanicsApp", CZMInterfaceKernelSmallStrain)
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 small strain formulation.
CZMInterfaceKernelSmallStrain(const InputParameters &parameters)
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]
void addClassDescription(const std::string &doc_string)
DGJacobianType
NeighborNeighbor
ElementElement
NeighborElement
ElementNeighbor