Loading [MathJax]/extensions/tex2jax.js
https://mooseframework.inl.gov
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends
GhostBoundary.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 // Framework includes
14 #include "RelationshipManager.h"
15 
16 // libMesh includes
17 #include "libmesh/mesh_base.h"
18 
21 using libMesh::Elem;
23 using libMesh::MeshBase;
25 
34 {
35 public:
37 
38  GhostBoundary(const GhostBoundary & other);
39 
41 
42  virtual void operator()(const MeshBase::const_element_iterator & /*range_begin*/,
43  const MeshBase::const_element_iterator & /*range_end*/,
45  map_type & coupled_elements) override;
46 
47  virtual std::unique_ptr<GhostingFunctor> clone() const override;
48 
49  virtual void redistribute() override { this->mesh_reinit(); }
50 
51  std::string getInfo() const override;
52 
53  virtual bool operator>=(const RelationshipManager & other) const override;
54 
55 protected:
56  virtual void internalInitWithMesh(const MeshBase &) override;
57 
59  const std::vector<BoundaryName> & _boundary_name;
60 
62  const CouplingMatrix * const _null_mat = nullptr;
63 };
virtual void mesh_reinit()
std::string getInfo() const override
Method for returning relationship manager information (suitable for console output).
Definition: GhostBoundary.C:52
virtual void operator()(const MeshBase::const_element_iterator &, const MeshBase::const_element_iterator &, processor_id_type p, map_type &coupled_elements) override
Definition: GhostBoundary.C:60
virtual bool operator>=(const RelationshipManager &other) const override
Whether this relationship manager provides more or the same amount and type of ghosting as the rhs...
Definition: GhostBoundary.C:99
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
std::map< const Elem *, const CouplingMatrix *, CompareDofObjectsByPIDAndThenID > map_type
uint8_t processor_id_type
const CouplingMatrix *const _null_mat
null matrix for generating full variable coupling
Definition: GhostBoundary.h:62
uint8_t processor_id_type
int8_t boundary_id_type
virtual std::unique_ptr< GhostingFunctor > clone() const override
virtual void internalInitWithMesh(const MeshBase &) override
Definition: GhostBoundary.C:47
static InputParameters validParams()
Definition: GhostBoundary.C:26
GhostBoundary(const InputParameters &)
Definition: GhostBoundary.C:36
RelationshipManagers are used for describing what kinds of non-local resources are needed for an obje...
virtual void redistribute() override
Definition: GhostBoundary.h:49
GhostBoundary is used to ghost elements on a boundary.
Definition: GhostBoundary.h:33
const std::vector< BoundaryName > & _boundary_name
The boundary for which we will ghost elements.
Definition: GhostBoundary.h:59