www.mooseframework.org
ContactSplit.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 // MOOSE includes
13 #include "Split.h"
14 
18 class ContactSplit : public Split
19 {
20 public:
22 
23  ContactSplit(const InputParameters & params);
24  virtual void setup(NonlinearSystemBase & nl, const std::string & prefix = "-") override;
25 
26 protected:
27  const std::vector<std::pair<BoundaryName, BoundaryName>> _contact_pairs;
28  std::vector<int> _contact_displaced;
29  const std::vector<std::pair<BoundaryName, BoundaryName>> _uncontact_pairs;
30  std::vector<int> _uncontact_displaced;
32 };
ContactSplit(const InputParameters &params)
Definition: ContactSplit.C:45
const std::vector< std::pair< BoundaryName, BoundaryName > > _uncontact_pairs
Definition: ContactSplit.h:29
const std::vector< std::pair< BoundaryName, BoundaryName > > _contact_pairs
Definition: ContactSplit.h:27
virtual void setup(NonlinearSystemBase &nl, const std::string &prefix="-") override
Definition: ContactSplit.C:74
static InputParameters validParams()
Definition: ContactSplit.C:18
Split-based preconditioner for contact problems.
Definition: ContactSplit.h:18
bool _include_all_contact_nodes
Definition: ContactSplit.h:31
std::vector< int > _uncontact_displaced
Definition: ContactSplit.h:30
std::vector< int > _contact_displaced
Definition: ContactSplit.h:28