www.mooseframework.org
ProxyRelationshipManager.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 #include "RelationshipManager.h"
13 #include "libmesh/ghosting_functor.h"
14 
15 class MooseMesh;
16 namespace libMesh
17 {
18 class System;
19 }
20 
27 {
28 public:
30 
32 
34 
35  virtual void operator()(const MeshBase::const_element_iterator & /*range_begin*/,
36  const MeshBase::const_element_iterator & /*range_end*/,
38  map_type & coupled_elements) override;
39 
40  virtual std::string getInfo() const override;
41 
42  virtual bool operator>=(const RelationshipManager & /*rhs*/) const override;
43 
48  virtual std::unique_ptr<GhostingFunctor> clone() const override;
49 
50 protected:
51  virtual void internalInitWithMesh(const MeshBase &) override{};
52 
53  System * _other_system;
54 };
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
std::map< const Elem *, const CouplingMatrix *, CompareDofObjectsByPIDAndThenID > map_type
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
virtual void operator()(const MeshBase::const_element_iterator &, const MeshBase::const_element_iterator &, processor_id_type p, map_type &coupled_elements) override
uint8_t processor_id_type
virtual bool operator>=(const RelationshipManager &) const override
Whether this relationship manager provides more or the same amount and type of ghosting as the rhs...
ProxyRelationshipManager(const InputParameters &parameters)
MooseMesh wraps a libMesh::Mesh object and enhances its capabilities by caching additional data and s...
Definition: MooseMesh.h:88
virtual std::unique_ptr< GhostingFunctor > clone() const override
A clone() is needed because GhostingFunctor can not be shared between different meshes.
virtual std::string getInfo() const override
Method for returning relationship manager information (suitable for console output).
RelationshipManagers are used for describing what kinds of non-local resources are needed for an obje...
static InputParameters validParams()
virtual void internalInitWithMesh(const MeshBase &) override
Called before this RM is attached.
const InputParameters & parameters() const
Get the parameters of the object.
Intermediate base class for RelationshipManagers that are simply built using ghosting functors...