24 "component",
"An integer corresponding to the direction (0 for x, 1 for y, 2 for z)");
26 "The string of displacements suitable for the problem statement");
32 PenaltyInclinedNoDisplacementBCTempl<is_ad>::PenaltyInclinedNoDisplacementBCTempl(
34 : PenaltyInclinedNoDisplacementBCParent<is_ad>(parameters),
35 _component(this->template getParam<unsigned
int>(
"component")),
36 _ndisp(this->coupledComponents(
"displacements")),
37 _disp(this->template coupledGenericValues<is_ad>(
"displacements")),
38 _disp_var(this->coupledIndices(
"displacements")),
39 _penalty(this->template getParam<
Real>(
"penalty"))
45 PenaltyInclinedNoDisplacementBCTempl<is_ad>::computeQpResidual()
48 for (
unsigned int i = 0; i < _ndisp; ++i)
49 v += (*_disp[i])[_qp] * _normals[_qp](i);
51 return _penalty * _test[_i][_qp] *
v * _normals[_qp](_component);
55 PenaltyInclinedNoDisplacementBC::computeQpJacobian()
57 return _penalty * _phi[_j][_qp] * _normals[_qp](_component) * _normals[_qp](_component) *
62 PenaltyInclinedNoDisplacementBC::computeQpOffDiagJacobian(
unsigned int jvar)
64 for (
unsigned int coupled_component = 0; coupled_component < _ndisp; ++coupled_component)
65 if (jvar == _disp_var[coupled_component])
67 return _penalty * _phi[_j][_qp] * _normals[_qp](coupled_component) *
68 _normals[_qp](_component) * _test[_i][_qp];
74 template class PenaltyInclinedNoDisplacementBCTempl<false>;
75 template class PenaltyInclinedNoDisplacementBCTempl<true>;
Moose::GenericType< Real, is_ad > GenericReal
InputParameters validParams()
registerMooseObject("SolidMechanicsApp", PenaltyInclinedNoDisplacementBC)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string v
void ErrorVector unsigned int