https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
21
27
28{
29public:
31
33
34 virtual void act() override;
35
40 static MooseEnum getModelEnum();
41
47
48protected:
50 std::vector<std::pair<BoundaryName, BoundaryName>> _boundary_pairs;
51
54
56 typedef std::vector<VariableName> CoupledName;
57
59 const bool _verbose;
60
62 const std::vector<SubdomainName> & _blocks;
63
64private:
68 void addNodeFaceContact();
73};
Action class for creating constraints, kernels, and user objects necessary for mechanical contact.
std::vector< std::pair< BoundaryName, BoundaryName > > _boundary_pairs
Primary/Secondary boundary name pairs for mechanical contact.
void addNodeFaceContact()
Generate constraints for node to face contact.
const std::vector< SubdomainName > & _blocks
Restrict contact MooseObjects to these subdomains.
std::vector< VariableName > CoupledName
Type that we use in Actions for declaring coupling.
const ExplicitDynamicsContactModel _model
Contact model type enum.
void addContactPressureAuxKernel()
Add single contact pressure auxiliary kernel for various contact action objects.
static InputParameters commonParameters()
Define parameters used by multiple contact objects.
const bool _verbose
Verbose output, may increase runtime.
static MooseEnum getModelEnum()
Get contact model.