https://mooseframework.inl.gov
ExplicitDynamicsContactAction.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 "Action.h"
13 #include "MooseTypes.h"
14 #include "MooseEnum.h"
15 
17 {
20 };
21 
27 
28 {
29 public:
31 
33 
34  virtual void act() override;
35 
40  static MooseEnum getModelEnum();
41 
47 
48 protected:
50  std::vector<std::pair<BoundaryName, BoundaryName>> _boundary_pairs;
51 
54 
56  typedef std::vector<VariableName> CoupledName;
57 
59  const bool _verbose;
60 
61 private:
65  void addNodeFaceContact();
70 };
void addContactPressureAuxKernel()
Add single contact pressure auxiliary kernel for various contact action objects.
const ExplicitDynamicsContactModel _model
Contact model type enum.
ExplicitDynamicsContactAction(const InputParameters &params)
void addNodeFaceContact()
Generate constraints for node to face contact.
static InputParameters commonParameters()
Define parameters used by multiple contact objects.
std::vector< std::pair< BoundaryName, BoundaryName > > _boundary_pairs
Primary/Secondary boundary name pairs for mechanical contact.
Action class for creating constraints, kernels, and user objects necessary for mechanical contact...
const bool _verbose
Verbose output, may increase runtime.
std::vector< VariableName > CoupledName
Type that we use in Actions for declaring coupling.
static MooseEnum getModelEnum()
Get contact model.