https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
21using libMesh::Elem;
25
34{
35public:
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
55protected:
56 virtual void internalInitWithMesh(const MeshBase &) override;
57
59 const std::vector<BoundaryName> & _boundary_name;
60
62 const CouplingMatrix * const _null_mat = nullptr;
63};
GhostBoundary is used to ghost elements on a boundary.
const std::vector< BoundaryName > & _boundary_name
The boundary for which we will ghost elements.
std::string getInfo() const override
Method for returning relationship manager information (suitable for console output).
static InputParameters validParams()
const CouplingMatrix *const _null_mat
null matrix for generating full variable coupling
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.
virtual void internalInitWithMesh(const MeshBase &) override
virtual void redistribute() override
virtual std::unique_ptr< GhostingFunctor > clone() const override
virtual void operator()(const MeshBase::const_element_iterator &, const MeshBase::const_element_iterator &, processor_id_type p, map_type &coupled_elements) override
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
RelationshipManagers are used for describing what kinds of non-local resources are needed for an obje...
std::map< const Elem *, const CouplingMatrix *, CompareDofObjectsByPIDAndThenID > map_type
virtual void mesh_reinit()
int8_t boundary_id_type
uint8_t processor_id_type