https://mooseframework.inl.gov
Loading...
Searching...
No Matches
SCZMInterfaceKernelSmallStrain.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
15template <bool is_ad>
17{
18public:
21
22protected:
25 Real computeQpOffDiagJacobian(Moose::DGJacobianType type, unsigned int jvar) override;
26
27 Real computeDResidualDDisplacement(unsigned int component_j, Moose::DGJacobianType type) const;
29 unsigned int jvar,
30 Moose::DGJacobianType type) const;
31
37
40 std::vector<unsigned int> _disp_var;
41 std::vector<MooseVariable *> _vars;
47
50
53
58 using SCZMInterfaceKernelBaseTempl<is_ad>::_coord;
59 using SCZMInterfaceKernelBaseTempl<is_ad>::_coord_sys;
60 using SCZMInterfaceKernelBaseTempl<is_ad>::_JxW;
61 using SCZMInterfaceKernelBaseTempl<is_ad>::_normals;
62 using SCZMInterfaceKernelBaseTempl<is_ad>::surrogateDistance;
63 using SCZMInterfaceKernelBaseTempl<is_ad>::trueNormal;
65};
66
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
Moose::GenericType< Real, is_ad > GenericReal
Base class for AD and non-AD shifted cohesive zone interface kernels.
const std::string _base_name
Base name of the material system that this kernel applies to.
const unsigned int _component
The displacement component this kernel is operating on (0=x, 1=y, 2=z)
const bool _shifted
True by default; false only when requesting the non-shifted verification baseline.
const unsigned int _ndisp
Number of displacement components.
AD and non-AD shifted cohesive zone interface kernel for the small-strain formulation.
const MaterialProperty< RankTwoTensor > * _dtraction_djump_global
const MaterialProperty< RankFourTensor > * _Jacobian_mult
Real calculateDirectionalCorrectionJacobian(unsigned int ivar, unsigned int jvar, Moose::DGJacobianType type) const
Real computeQpJacobian(Moose::DGJacobianType type) override
GenericReal< is_ad > computeQpResidual(Moose::DGResidualType type) override
const bool _directional_correction
Whether to add the directional correction term.
const GenericMaterialProperty< RankTwoTensor, is_ad > & _stress
The stress tensor on the element and neighbor sides.
Real computeDResidualDDisplacement(unsigned int component_j, Moose::DGJacobianType type) const
std::vector< unsigned int > _disp_var
Non-AD data used by the hand-coded Jacobian.
bool _volumetric_locking_correction
Whether to apply the volumetric locking correction to the directional correction term.
const MaterialProperty< RankFourTensor > * _Jacobian_mult_neighbor
const GenericMaterialProperty< RankTwoTensor, is_ad > & _stress_neighbor
Real computeQpOffDiagJacobian(Moose::DGJacobianType type, unsigned int jvar) override
DGResidualType
DGJacobianType