https://mooseframework.inl.gov
Loading...
Searching...
No Matches
MortarGenericTraction.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
12
14
17{
19
20 MooseEnum component("x=0 y=1 z=2");
22 "component", component, "The force component constraint that this object is supplying");
24 "Used to apply tangential stresses from frictional contact using lagrange multipliers");
25 params.addRequiredParam<UserObjectName>("cohesive_zone_uo", "The cohesive zone user object.");
26 params.set<bool>("interpolate_normals") = false;
27 params.set<bool>("compute_lm_residual") = false;
28 return params;
29}
30
32 : ADMortarLagrangeConstraint(parameters),
33 _component(getParam<MooseEnum>("component")),
34 _cohesize_zone_uo(const_cast<CohesiveZoneModelBase &>(
35 getUserObject<CohesiveZoneModelBase>("cohesive_zone_uo")))
36{
37}
38
41{
42 switch (type)
43 {
44 case Moose::MortarType::Secondary:
46 case Moose::MortarType::Primary:
48
49 default:
50 return 0;
51 }
52}
DualNumber< Real, DNDerivativeType, true > ADReal
registerMooseObject("ContactApp", MortarGenericTraction)
This class enforces mortar constraints on lower dimensional domains, skipping interior nodes.
static InputParameters validParams()
Base class for mortar-based cohesive zone model.
virtual const ADVariableValue & czmGlobalTraction(unsigned int i) const
unsigned int _qp
unsigned int _i
void addRequiredParam(const std::string &name, const std::string &doc_string)
void addClassDescription(const std::string &doc_string)
T & set(const std::string &name, bool quiet_mode=false)
const std::string & type() const
const VariableTestValue & _test_secondary
const VariableTestValue & _test_primary
const CohesiveZoneModelBase & _cohesize_zone_uo
The cohesive zone user object that provides the surface traction.
MortarGenericTraction(const InputParameters &parameters)
static InputParameters validParams()
const MooseEnum _component
Displacement component on which the residual will be computed.
ADReal computeQpResidual(Moose::MortarType type) final