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