https://mooseframework.inl.gov
CZMInterfaceKernelBase.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 
12 #include "InterfaceKernel.h"
13 #include "JvarMapInterface.h"
14 
19 class CZMInterfaceKernelBase : public JvarMapKernelInterface<InterfaceKernel>
20 {
21 public:
23  CZMInterfaceKernelBase(const InputParameters & parameters);
24 
25 protected:
28  Real computeQpOffDiagJacobian(Moose::DGJacobianType type, unsigned int jvar) override;
29 
31  virtual Real computeDResidualDDisplacement(const unsigned int & component_j,
32  const Moose::DGJacobianType & type) const = 0;
33 
35  const std::string _base_name;
36 
38  const unsigned int _component;
39 
41  const unsigned int _ndisp;
42 
45  std::vector<unsigned int> _disp_var;
46  std::vector<unsigned int> _disp_neighbor_var;
48 
49  // pointer to displacement variables
50  std::vector<MooseVariable *> _vars;
51 
52  // values of the traction and traction derivatives used
57 };
DGResidualType
Base class for implementing DG cohesive zone models (CZM) for 1D,2D, and 3D traction separation laws...
static InputParameters validParams()
Real computeQpOffDiagJacobian(Moose::DGJacobianType type, unsigned int jvar) override
std::vector< unsigned int > _disp_var
Coupled displacement component variable IDs.
Real computeQpResidual(Moose::DGResidualType type) override
const unsigned int _component
the displacement component this kernel is operating on (0=x, 1=y, 2 =z)
std::vector< MooseVariable * > _vars
std::vector< unsigned int > _disp_neighbor_var
const std::string _base_name
Base name of the material system that this kernel applies to.
DGJacobianType
const unsigned int _ndisp
number of displacement components
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const MaterialProperty< RealVectorValue > & _traction_global
const MaterialProperty< RankTwoTensor > & _dtraction_djump_global
CZMInterfaceKernelBase(const InputParameters &parameters)
Real computeQpJacobian(Moose::DGJacobianType type) override
virtual Real computeDResidualDDisplacement(const unsigned int &component_j, const Moose::DGJacobianType &type) const =0
method computing the derivative of residual[_component] w.r.t displacement[component_j] ...