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
21
30{
31public:
33
34 GhostBoundary(const GhostBoundary & other);
35
37
38 virtual void operator()(const MeshBase::const_element_iterator & /*range_begin*/,
39 const MeshBase::const_element_iterator & /*range_end*/,
40 processor_id_type p,
41 map_type & coupled_elements) override;
42
43 virtual std::unique_ptr<GhostingFunctor> clone() const override;
44
45 virtual void redistribute() override { this->mesh_reinit(); }
46
47 std::string getInfo() const override;
48
49 virtual bool operator>=(const RelationshipManager & other) const override;
50
51protected:
52 virtual void internalInitWithMesh(const MeshBase &) override;
53
55 const std::vector<BoundaryName> & _boundary_name;
56
58 const CouplingMatrix * const _null_mat = nullptr;
59};
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
Called before this RM is attached.
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()