https://mooseframework.inl.gov
Loading...
Searching...
No Matches
ContactSplit.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// MOOSE includes
13#include "Split.h"
14
18class ContactSplit : public Split
19{
20public:
22
23 ContactSplit(const InputParameters & params);
24 virtual void setup(NonlinearSystemBase & nl, const std::string & prefix) override;
25
26protected:
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};
Split-based preconditioner for contact problems.
const std::vector< std::pair< BoundaryName, BoundaryName > > _uncontact_pairs
virtual void setup(NonlinearSystemBase &nl, const std::string &prefix) override
bool _include_all_contact_nodes
std::vector< int > _uncontact_displaced
std::vector< int > _contact_displaced
const std::vector< std::pair< BoundaryName, BoundaryName > > _contact_pairs
static InputParameters validParams()